– юнвD8в~t(<в~<2]R÷{Flashing nand 800 20000imagesscript flash.scrФT #JikeAP_CM520 if test "x$verbose" = "x"; then failedmsg='[failed]' else failedmsg='######################################## Failed' fi if test "$machid" = "8010000"; then nand device 0 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then echo \\c'Flashing mibib: ' setenv stdout nulldev else echo '######################################## Flashing mibib: Started' fi imxtract $imgaddr mibib-fb94cca75b16a5a04cae01227af254a0e9039bf8 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00100000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00100000 0x00040000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing mibib: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing sbl1: ' setenv stdout nulldev else echo '######################################## Flashing sbl1: Started' fi imxtract $imgaddr sbl1-73fb8022f5abb040c722a5d4674591b6463cfa1a || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00000000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00000000 0x00025000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing sbl1: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing bootconfig: ' setenv stdout nulldev else echo '######################################## Flashing bootconfig: Started' fi imxtract $imgaddr bootconfig-edbe2cef0dba170b6e26c35da75dfa03a0029b15 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00200000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00200000 0x00020000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing bootconfig: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing bootconfig1: ' setenv stdout nulldev else echo '######################################## Flashing bootconfig1: Started' fi imxtract $imgaddr bootconfig1-5f41d69eb70dd8899ad9589d64bc288d2b7ba876 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00600000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00600000 0x00020000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing bootconfig1: Done' fi if test "$machid" = "8010000"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK01.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK01.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK01.1-C1-83e72383e2f86b9fb0226ad6cc2f731af84437b4 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK01.1-C1: Done' fi fi if test "$machid" = "8010100"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK01.1-C2: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK01.1-C2: Started' fi imxtract $imgaddr ddr-AP-DK01.1-C2-06af26df7e3d51fe22e3756662d65ba23c78cfd6 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK01.1-C2: Done' fi fi if test "$machid" = "8010001"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C1-44f7cf880531f125fc2394a28013813eb1a756e5 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C1: Done' fi fi if test "$machid" = "8010301"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C4: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C4: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C4-4d33ff4efaf9fbfaf034b26a5d83ea16d3b03354 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C4: Done' fi fi if test "$machid" = "8010101"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C2: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C2: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C2-0a890c2c2b1383e9953df84ed8aafb2dc012e772 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C2: Done' fi fi if test "$machid" = "8010201"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C3: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C3: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C3-0a61918a0287a5b74aa9d16f6934c82cad8ec013 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C3: Done' fi fi if test "$machid" = "8010005"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK06.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK06.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK06.1-C1-0f2d0b541a6d3a410b79365ec5e0b65cfd5a50e3 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK06.1-C1: Done' fi fi if test "$machid" = "8010006"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK07.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK07.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK07.1-C1-6c75a0cbea7ee84af621a2e4a8c332fb0d2f7708 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK07.1-C1: Done' fi fi if test "$machid" = "8010106"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK07.1-C2: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK07.1-C2: Started' fi imxtract $imgaddr ddr-AP-DK07.1-C2-13794b6ad6ce2e3289f86215a3d99cd6e0a9bc97 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK07.1-C2: Done' fi fi if test "$machid" = "8010206"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK07.1-C3: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK07.1-C3: Started' fi imxtract $imgaddr ddr-AP-DK07.1-C3-3eaf0486b69ee342b79138ad7b276914021e6f1d || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK07.1-C3: Done' fi fi if test "$machid" = "1010002"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-DB-DK01.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-DB-DK01.1-C1: Started' fi imxtract $imgaddr ddr-DB-DK01.1-C1-d47190c2b262ebea452b6fcf2c1190088b3fafad || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-DB-DK01.1-C1: Done' fi fi if test "$machid" = "1010003"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-DB.DK02.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-DB.DK02.1-C1: Started' fi imxtract $imgaddr ddr-DB.DK02.1-C1-9f6ccc17d47e323cc84791833e54b55794f55c7b || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-DB.DK02.1-C1: Done' fi fi if test "x$verbose" = "x"; then echo \\c'Flashing tz: ' setenv stdout nulldev else echo '######################################## Flashing tz: Started' fi imxtract $imgaddr tz-7fb7fc3700e39853414a46c5956c80067bd3af08 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00300000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00300000 0x00059800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing tz: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing u-boot: ' setenv stdout nulldev else echo '######################################## Flashing u-boot: Started' fi imxtract $imgaddr u-boot-ee4297641e8ac05e0faa79f61de22344c4258284 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00700000 0x00200000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00700000 0x00079000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing u-boot: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing ubi: ' setenv stdout nulldev else echo '######################################## Flashing ubi: Started' fi imxtract $imgaddr ubi-2113e3f3cc2a94e31f40d2c220669cca1b7e2845 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00b80000 0x04100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00b80000 0x00c80000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ubi: Done' fi exit 0 fi #JikeAP_CM520 if test "x$verbose" = "x"; then failedmsg='[failed]' else failedmsg='######################################## Failed' fi if test "$machid" = "8010001"; then nand device 0 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then echo \\c'Flashing mibib: ' setenv stdout nulldev else echo '######################################## Flashing mibib: Started' fi imxtract $imgaddr mibib-fb94cca75b16a5a04cae01227af254a0e9039bf8 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00100000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00100000 0x00040000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing mibib: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing sbl1: ' setenv stdout nulldev else echo '######################################## Flashing sbl1: Started' fi imxtract $imgaddr sbl1-73fb8022f5abb040c722a5d4674591b6463cfa1a || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00000000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00000000 0x00025000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing sbl1: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing bootconfig: ' setenv stdout nulldev else echo '######################################## Flashing bootconfig: Started' fi imxtract $imgaddr bootconfig-edbe2cef0dba170b6e26c35da75dfa03a0029b15 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00200000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00200000 0x00020000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing bootconfig: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing bootconfig1: ' setenv stdout nulldev else echo '######################################## Flashing bootconfig1: Started' fi imxtract $imgaddr bootconfig1-5f41d69eb70dd8899ad9589d64bc288d2b7ba876 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00600000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00600000 0x00020000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing bootconfig1: Done' fi if test "$machid" = "8010000"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK01.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK01.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK01.1-C1-83e72383e2f86b9fb0226ad6cc2f731af84437b4 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK01.1-C1: Done' fi fi if test "$machid" = "8010100"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK01.1-C2: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK01.1-C2: Started' fi imxtract $imgaddr ddr-AP-DK01.1-C2-06af26df7e3d51fe22e3756662d65ba23c78cfd6 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK01.1-C2: Done' fi fi if test "$machid" = "8010001"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C1-44f7cf880531f125fc2394a28013813eb1a756e5 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C1: Done' fi fi if test "$machid" = "8010301"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C4: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C4: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C4-4d33ff4efaf9fbfaf034b26a5d83ea16d3b03354 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C4: Done' fi fi if test "$machid" = "8010101"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C2: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C2: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C2-0a890c2c2b1383e9953df84ed8aafb2dc012e772 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C2: Done' fi fi if test "$machid" = "8010201"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C3: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C3: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C3-0a61918a0287a5b74aa9d16f6934c82cad8ec013 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C3: Done' fi fi if test "$machid" = "8010005"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK06.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK06.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK06.1-C1-0f2d0b541a6d3a410b79365ec5e0b65cfd5a50e3 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK06.1-C1: Done' fi fi if test "$machid" = "8010006"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK07.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK07.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK07.1-C1-6c75a0cbea7ee84af621a2e4a8c332fb0d2f7708 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK07.1-C1: Done' fi fi if test "$machid" = "8010106"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK07.1-C2: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK07.1-C2: Started' fi imxtract $imgaddr ddr-AP-DK07.1-C2-13794b6ad6ce2e3289f86215a3d99cd6e0a9bc97 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK07.1-C2: Done' fi fi if test "$machid" = "8010206"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK07.1-C3: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK07.1-C3: Started' fi imxtract $imgaddr ddr-AP-DK07.1-C3-3eaf0486b69ee342b79138ad7b276914021e6f1d || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK07.1-C3: Done' fi fi if test "$machid" = "1010002"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-DB-DK01.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-DB-DK01.1-C1: Started' fi imxtract $imgaddr ddr-DB-DK01.1-C1-d47190c2b262ebea452b6fcf2c1190088b3fafad || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-DB-DK01.1-C1: Done' fi fi if test "$machid" = "1010003"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-DB.DK02.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-DB.DK02.1-C1: Started' fi imxtract $imgaddr ddr-DB.DK02.1-C1-9f6ccc17d47e323cc84791833e54b55794f55c7b || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-DB.DK02.1-C1: Done' fi fi if test "x$verbose" = "x"; then echo \\c'Flashing tz: ' setenv stdout nulldev else echo '######################################## Flashing tz: Started' fi imxtract $imgaddr tz-7fb7fc3700e39853414a46c5956c80067bd3af08 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00300000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00300000 0x00059800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing tz: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing u-boot: ' setenv stdout nulldev else echo '######################################## Flashing u-boot: Started' fi imxtract $imgaddr u-boot-ee4297641e8ac05e0faa79f61de22344c4258284 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00700000 0x00200000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00700000 0x00079000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing u-boot: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing ubi: ' setenv stdout nulldev else echo '######################################## Flashing ubi: Started' fi imxtract $imgaddr ubi-2113e3f3cc2a94e31f40d2c220669cca1b7e2845 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00b80000 0x04100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00b80000 0x00c80000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ubi: Done' fi exit 0 fi #JikeAP_CM520 if test "x$verbose" = "x"; then failedmsg='[failed]' else failedmsg='######################################## Failed' fi if test "$machid" = "8010101"; then nand device 0 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then echo \\c'Flashing mibib: ' setenv stdout nulldev else echo '######################################## Flashing mibib: Started' fi imxtract $imgaddr mibib-fb94cca75b16a5a04cae01227af254a0e9039bf8 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00100000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00100000 0x00040000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing mibib: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing sbl1: ' setenv stdout nulldev else echo '######################################## Flashing sbl1: Started' fi imxtract $imgaddr sbl1-73fb8022f5abb040c722a5d4674591b6463cfa1a || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00000000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00000000 0x00025000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing sbl1: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing bootconfig: ' setenv stdout nulldev else echo '######################################## Flashing bootconfig: Started' fi imxtract $imgaddr bootconfig-edbe2cef0dba170b6e26c35da75dfa03a0029b15 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00200000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00200000 0x00020000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing bootconfig: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing bootconfig1: ' setenv stdout nulldev else echo '######################################## Flashing bootconfig1: Started' fi imxtract $imgaddr bootconfig1-5f41d69eb70dd8899ad9589d64bc288d2b7ba876 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00600000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00600000 0x00020000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing bootconfig1: Done' fi if test "$machid" = "8010000"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK01.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK01.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK01.1-C1-83e72383e2f86b9fb0226ad6cc2f731af84437b4 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK01.1-C1: Done' fi fi if test "$machid" = "8010100"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK01.1-C2: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK01.1-C2: Started' fi imxtract $imgaddr ddr-AP-DK01.1-C2-06af26df7e3d51fe22e3756662d65ba23c78cfd6 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK01.1-C2: Done' fi fi if test "$machid" = "8010001"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C1-44f7cf880531f125fc2394a28013813eb1a756e5 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C1: Done' fi fi if test "$machid" = "8010301"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C4: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C4: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C4-4d33ff4efaf9fbfaf034b26a5d83ea16d3b03354 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C4: Done' fi fi if test "$machid" = "8010101"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C2: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C2: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C2-0a890c2c2b1383e9953df84ed8aafb2dc012e772 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C2: Done' fi fi if test "$machid" = "8010201"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C3: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C3: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C3-0a61918a0287a5b74aa9d16f6934c82cad8ec013 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C3: Done' fi fi if test "$machid" = "8010005"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK06.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK06.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK06.1-C1-0f2d0b541a6d3a410b79365ec5e0b65cfd5a50e3 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK06.1-C1: Done' fi fi if test "$machid" = "8010006"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK07.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK07.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK07.1-C1-6c75a0cbea7ee84af621a2e4a8c332fb0d2f7708 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK07.1-C1: Done' fi fi if test "$machid" = "8010106"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK07.1-C2: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK07.1-C2: Started' fi imxtract $imgaddr ddr-AP-DK07.1-C2-13794b6ad6ce2e3289f86215a3d99cd6e0a9bc97 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK07.1-C2: Done' fi fi if test "$machid" = "8010206"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK07.1-C3: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK07.1-C3: Started' fi imxtract $imgaddr ddr-AP-DK07.1-C3-3eaf0486b69ee342b79138ad7b276914021e6f1d || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK07.1-C3: Done' fi fi if test "$machid" = "1010002"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-DB-DK01.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-DB-DK01.1-C1: Started' fi imxtract $imgaddr ddr-DB-DK01.1-C1-d47190c2b262ebea452b6fcf2c1190088b3fafad || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-DB-DK01.1-C1: Done' fi fi if test "$machid" = "1010003"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-DB.DK02.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-DB.DK02.1-C1: Started' fi imxtract $imgaddr ddr-DB.DK02.1-C1-9f6ccc17d47e323cc84791833e54b55794f55c7b || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-DB.DK02.1-C1: Done' fi fi if test "x$verbose" = "x"; then echo \\c'Flashing tz: ' setenv stdout nulldev else echo '######################################## Flashing tz: Started' fi imxtract $imgaddr tz-7fb7fc3700e39853414a46c5956c80067bd3af08 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00300000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00300000 0x00059800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing tz: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing u-boot: ' setenv stdout nulldev else echo '######################################## Flashing u-boot: Started' fi imxtract $imgaddr u-boot-ee4297641e8ac05e0faa79f61de22344c4258284 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00700000 0x00200000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00700000 0x00079000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing u-boot: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing ubi: ' setenv stdout nulldev else echo '######################################## Flashing ubi: Started' fi imxtract $imgaddr ubi-2113e3f3cc2a94e31f40d2c220669cca1b7e2845 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00b80000 0x04100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00b80000 0x00c80000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ubi: Done' fi exit 0 fi #JikeAP_CM520 if test "x$verbose" = "x"; then failedmsg='[failed]' else failedmsg='######################################## Failed' fi if test "$machid" = "8010201"; then nand device 0 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then echo \\c'Flashing mibib: ' setenv stdout nulldev else echo '######################################## Flashing mibib: Started' fi imxtract $imgaddr mibib-fb94cca75b16a5a04cae01227af254a0e9039bf8 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00100000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00100000 0x00040000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing mibib: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing sbl1: ' setenv stdout nulldev else echo '######################################## Flashing sbl1: Started' fi imxtract $imgaddr sbl1-73fb8022f5abb040c722a5d4674591b6463cfa1a || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00000000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00000000 0x00025000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing sbl1: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing bootconfig: ' setenv stdout nulldev else echo '######################################## Flashing bootconfig: Started' fi imxtract $imgaddr bootconfig-edbe2cef0dba170b6e26c35da75dfa03a0029b15 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00200000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00200000 0x00020000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing bootconfig: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing bootconfig1: ' setenv stdout nulldev else echo '######################################## Flashing bootconfig1: Started' fi imxtract $imgaddr bootconfig1-5f41d69eb70dd8899ad9589d64bc288d2b7ba876 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00600000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00600000 0x00020000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing bootconfig1: Done' fi if test "$machid" = "8010000"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK01.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK01.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK01.1-C1-83e72383e2f86b9fb0226ad6cc2f731af84437b4 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK01.1-C1: Done' fi fi if test "$machid" = "8010100"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK01.1-C2: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK01.1-C2: Started' fi imxtract $imgaddr ddr-AP-DK01.1-C2-06af26df7e3d51fe22e3756662d65ba23c78cfd6 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK01.1-C2: Done' fi fi if test "$machid" = "8010001"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C1-44f7cf880531f125fc2394a28013813eb1a756e5 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C1: Done' fi fi if test "$machid" = "8010301"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C4: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C4: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C4-4d33ff4efaf9fbfaf034b26a5d83ea16d3b03354 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C4: Done' fi fi if test "$machid" = "8010101"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C2: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C2: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C2-0a890c2c2b1383e9953df84ed8aafb2dc012e772 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C2: Done' fi fi if test "$machid" = "8010201"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C3: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C3: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C3-0a61918a0287a5b74aa9d16f6934c82cad8ec013 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C3: Done' fi fi if test "$machid" = "8010005"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK06.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK06.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK06.1-C1-0f2d0b541a6d3a410b79365ec5e0b65cfd5a50e3 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK06.1-C1: Done' fi fi if test "$machid" = "8010006"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK07.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK07.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK07.1-C1-6c75a0cbea7ee84af621a2e4a8c332fb0d2f7708 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK07.1-C1: Done' fi fi if test "$machid" = "8010106"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK07.1-C2: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK07.1-C2: Started' fi imxtract $imgaddr ddr-AP-DK07.1-C2-13794b6ad6ce2e3289f86215a3d99cd6e0a9bc97 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK07.1-C2: Done' fi fi if test "$machid" = "8010206"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK07.1-C3: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK07.1-C3: Started' fi imxtract $imgaddr ddr-AP-DK07.1-C3-3eaf0486b69ee342b79138ad7b276914021e6f1d || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK07.1-C3: Done' fi fi if test "$machid" = "1010002"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-DB-DK01.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-DB-DK01.1-C1: Started' fi imxtract $imgaddr ddr-DB-DK01.1-C1-d47190c2b262ebea452b6fcf2c1190088b3fafad || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-DB-DK01.1-C1: Done' fi fi if test "$machid" = "1010003"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-DB.DK02.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-DB.DK02.1-C1: Started' fi imxtract $imgaddr ddr-DB.DK02.1-C1-9f6ccc17d47e323cc84791833e54b55794f55c7b || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-DB.DK02.1-C1: Done' fi fi if test "x$verbose" = "x"; then echo \\c'Flashing tz: ' setenv stdout nulldev else echo '######################################## Flashing tz: Started' fi imxtract $imgaddr tz-7fb7fc3700e39853414a46c5956c80067bd3af08 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00300000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00300000 0x00059800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing tz: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing u-boot: ' setenv stdout nulldev else echo '######################################## Flashing u-boot: Started' fi imxtract $imgaddr u-boot-ee4297641e8ac05e0faa79f61de22344c4258284 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00700000 0x00200000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00700000 0x00079000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing u-boot: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing ubi: ' setenv stdout nulldev else echo '######################################## Flashing ubi: Started' fi imxtract $imgaddr ubi-2113e3f3cc2a94e31f40d2c220669cca1b7e2845 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00b80000 0x04100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00b80000 0x00c80000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ubi: Done' fi exit 0 fi #JikeAP_CM520 if test "x$verbose" = "x"; then failedmsg='[failed]' else failedmsg='######################################## Failed' fi if test "$machid" = "8010301"; then nand device 0 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then echo \\c'Flashing mibib: ' setenv stdout nulldev else echo '######################################## Flashing mibib: Started' fi imxtract $imgaddr mibib-fb94cca75b16a5a04cae01227af254a0e9039bf8 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00100000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00100000 0x00040000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing mibib: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing sbl1: ' setenv stdout nulldev else echo '######################################## Flashing sbl1: Started' fi imxtract $imgaddr sbl1-73fb8022f5abb040c722a5d4674591b6463cfa1a || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00000000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00000000 0x00025000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing sbl1: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing bootconfig: ' setenv stdout nulldev else echo '######################################## Flashing bootconfig: Started' fi imxtract $imgaddr bootconfig-edbe2cef0dba170b6e26c35da75dfa03a0029b15 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00200000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00200000 0x00020000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing bootconfig: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing bootconfig1: ' setenv stdout nulldev else echo '######################################## Flashing bootconfig1: Started' fi imxtract $imgaddr bootconfig1-5f41d69eb70dd8899ad9589d64bc288d2b7ba876 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00600000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00600000 0x00020000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing bootconfig1: Done' fi if test "$machid" = "8010000"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK01.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK01.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK01.1-C1-83e72383e2f86b9fb0226ad6cc2f731af84437b4 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK01.1-C1: Done' fi fi if test "$machid" = "8010100"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK01.1-C2: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK01.1-C2: Started' fi imxtract $imgaddr ddr-AP-DK01.1-C2-06af26df7e3d51fe22e3756662d65ba23c78cfd6 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK01.1-C2: Done' fi fi if test "$machid" = "8010001"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C1-44f7cf880531f125fc2394a28013813eb1a756e5 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C1: Done' fi fi if test "$machid" = "8010301"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C4: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C4: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C4-4d33ff4efaf9fbfaf034b26a5d83ea16d3b03354 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C4: Done' fi fi if test "$machid" = "8010101"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C2: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C2: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C2-0a890c2c2b1383e9953df84ed8aafb2dc012e772 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C2: Done' fi fi if test "$machid" = "8010201"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C3: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C3: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C3-0a61918a0287a5b74aa9d16f6934c82cad8ec013 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C3: Done' fi fi if test "$machid" = "8010005"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK06.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK06.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK06.1-C1-0f2d0b541a6d3a410b79365ec5e0b65cfd5a50e3 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK06.1-C1: Done' fi fi if test "$machid" = "8010006"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK07.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK07.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK07.1-C1-6c75a0cbea7ee84af621a2e4a8c332fb0d2f7708 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK07.1-C1: Done' fi fi if test "$machid" = "8010106"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK07.1-C2: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK07.1-C2: Started' fi imxtract $imgaddr ddr-AP-DK07.1-C2-13794b6ad6ce2e3289f86215a3d99cd6e0a9bc97 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK07.1-C2: Done' fi fi if test "$machid" = "8010206"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK07.1-C3: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK07.1-C3: Started' fi imxtract $imgaddr ddr-AP-DK07.1-C3-3eaf0486b69ee342b79138ad7b276914021e6f1d || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK07.1-C3: Done' fi fi if test "$machid" = "1010002"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-DB-DK01.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-DB-DK01.1-C1: Started' fi imxtract $imgaddr ddr-DB-DK01.1-C1-d47190c2b262ebea452b6fcf2c1190088b3fafad || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-DB-DK01.1-C1: Done' fi fi if test "$machid" = "1010003"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-DB.DK02.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-DB.DK02.1-C1: Started' fi imxtract $imgaddr ddr-DB.DK02.1-C1-9f6ccc17d47e323cc84791833e54b55794f55c7b || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-DB.DK02.1-C1: Done' fi fi if test "x$verbose" = "x"; then echo \\c'Flashing tz: ' setenv stdout nulldev else echo '######################################## Flashing tz: Started' fi imxtract $imgaddr tz-7fb7fc3700e39853414a46c5956c80067bd3af08 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00300000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00300000 0x00059800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing tz: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing u-boot: ' setenv stdout nulldev else echo '######################################## Flashing u-boot: Started' fi imxtract $imgaddr u-boot-ee4297641e8ac05e0faa79f61de22344c4258284 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00700000 0x00200000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00700000 0x00079000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing u-boot: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing ubi: ' setenv stdout nulldev else echo '######################################## Flashing ubi: Started' fi imxtract $imgaddr ubi-2113e3f3cc2a94e31f40d2c220669cca1b7e2845 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00b80000 0x04100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00b80000 0x00c80000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ubi: Done' fi exit 0 fi #JikeAP_CM520 if test "x$verbose" = "x"; then failedmsg='[failed]' else failedmsg='######################################## Failed' fi if test "$machid" = "8010005"; then nand device 0 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then echo \\c'Flashing mibib: ' setenv stdout nulldev else echo '######################################## Flashing mibib: Started' fi imxtract $imgaddr mibib-fb94cca75b16a5a04cae01227af254a0e9039bf8 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00100000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00100000 0x00040000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing mibib: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing sbl1: ' setenv stdout nulldev else echo '######################################## Flashing sbl1: Started' fi imxtract $imgaddr sbl1-73fb8022f5abb040c722a5d4674591b6463cfa1a || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00000000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00000000 0x00025000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing sbl1: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing bootconfig: ' setenv stdout nulldev else echo '######################################## Flashing bootconfig: Started' fi imxtract $imgaddr bootconfig-edbe2cef0dba170b6e26c35da75dfa03a0029b15 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00200000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00200000 0x00020000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing bootconfig: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing bootconfig1: ' setenv stdout nulldev else echo '######################################## Flashing bootconfig1: Started' fi imxtract $imgaddr bootconfig1-5f41d69eb70dd8899ad9589d64bc288d2b7ba876 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00600000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00600000 0x00020000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing bootconfig1: Done' fi if test "$machid" = "8010000"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK01.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK01.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK01.1-C1-83e72383e2f86b9fb0226ad6cc2f731af84437b4 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK01.1-C1: Done' fi fi if test "$machid" = "8010100"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK01.1-C2: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK01.1-C2: Started' fi imxtract $imgaddr ddr-AP-DK01.1-C2-06af26df7e3d51fe22e3756662d65ba23c78cfd6 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK01.1-C2: Done' fi fi if test "$machid" = "8010001"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C1-44f7cf880531f125fc2394a28013813eb1a756e5 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C1: Done' fi fi if test "$machid" = "8010301"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C4: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C4: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C4-4d33ff4efaf9fbfaf034b26a5d83ea16d3b03354 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C4: Done' fi fi if test "$machid" = "8010101"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C2: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C2: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C2-0a890c2c2b1383e9953df84ed8aafb2dc012e772 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C2: Done' fi fi if test "$machid" = "8010201"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C3: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C3: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C3-0a61918a0287a5b74aa9d16f6934c82cad8ec013 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C3: Done' fi fi if test "$machid" = "8010005"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK06.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK06.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK06.1-C1-0f2d0b541a6d3a410b79365ec5e0b65cfd5a50e3 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK06.1-C1: Done' fi fi if test "$machid" = "8010006"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK07.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK07.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK07.1-C1-6c75a0cbea7ee84af621a2e4a8c332fb0d2f7708 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK07.1-C1: Done' fi fi if test "$machid" = "8010106"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK07.1-C2: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK07.1-C2: Started' fi imxtract $imgaddr ddr-AP-DK07.1-C2-13794b6ad6ce2e3289f86215a3d99cd6e0a9bc97 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK07.1-C2: Done' fi fi if test "$machid" = "8010206"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK07.1-C3: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK07.1-C3: Started' fi imxtract $imgaddr ddr-AP-DK07.1-C3-3eaf0486b69ee342b79138ad7b276914021e6f1d || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK07.1-C3: Done' fi fi if test "$machid" = "1010002"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-DB-DK01.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-DB-DK01.1-C1: Started' fi imxtract $imgaddr ddr-DB-DK01.1-C1-d47190c2b262ebea452b6fcf2c1190088b3fafad || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-DB-DK01.1-C1: Done' fi fi if test "$machid" = "1010003"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-DB.DK02.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-DB.DK02.1-C1: Started' fi imxtract $imgaddr ddr-DB.DK02.1-C1-9f6ccc17d47e323cc84791833e54b55794f55c7b || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-DB.DK02.1-C1: Done' fi fi if test "x$verbose" = "x"; then echo \\c'Flashing tz: ' setenv stdout nulldev else echo '######################################## Flashing tz: Started' fi imxtract $imgaddr tz-7fb7fc3700e39853414a46c5956c80067bd3af08 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00300000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00300000 0x00059800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing tz: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing u-boot: ' setenv stdout nulldev else echo '######################################## Flashing u-boot: Started' fi imxtract $imgaddr u-boot-ee4297641e8ac05e0faa79f61de22344c4258284 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00700000 0x00200000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00700000 0x00079000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing u-boot: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing ubi: ' setenv stdout nulldev else echo '######################################## Flashing ubi: Started' fi imxtract $imgaddr ubi-2113e3f3cc2a94e31f40d2c220669cca1b7e2845 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00b80000 0x04100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00b80000 0x00c80000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ubi: Done' fi exit 0 fi #JikeAP_CM520 if test "x$verbose" = "x"; then failedmsg='[failed]' else failedmsg='######################################## Failed' fi if test "$machid" = "8010006"; then nand device 0 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then echo \\c'Flashing mibib: ' setenv stdout nulldev else echo '######################################## Flashing mibib: Started' fi imxtract $imgaddr mibib-fb94cca75b16a5a04cae01227af254a0e9039bf8 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00100000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00100000 0x00040000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing mibib: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing sbl1: ' setenv stdout nulldev else echo '######################################## Flashing sbl1: Started' fi imxtract $imgaddr sbl1-73fb8022f5abb040c722a5d4674591b6463cfa1a || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00000000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00000000 0x00025000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing sbl1: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing bootconfig: ' setenv stdout nulldev else echo '######################################## Flashing bootconfig: Started' fi imxtract $imgaddr bootconfig-edbe2cef0dba170b6e26c35da75dfa03a0029b15 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00200000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00200000 0x00020000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing bootconfig: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing bootconfig1: ' setenv stdout nulldev else echo '######################################## Flashing bootconfig1: Started' fi imxtract $imgaddr bootconfig1-5f41d69eb70dd8899ad9589d64bc288d2b7ba876 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00600000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00600000 0x00020000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing bootconfig1: Done' fi if test "$machid" = "8010000"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK01.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK01.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK01.1-C1-83e72383e2f86b9fb0226ad6cc2f731af84437b4 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK01.1-C1: Done' fi fi if test "$machid" = "8010100"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK01.1-C2: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK01.1-C2: Started' fi imxtract $imgaddr ddr-AP-DK01.1-C2-06af26df7e3d51fe22e3756662d65ba23c78cfd6 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK01.1-C2: Done' fi fi if test "$machid" = "8010001"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C1-44f7cf880531f125fc2394a28013813eb1a756e5 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C1: Done' fi fi if test "$machid" = "8010301"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C4: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C4: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C4-4d33ff4efaf9fbfaf034b26a5d83ea16d3b03354 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C4: Done' fi fi if test "$machid" = "8010101"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C2: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C2: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C2-0a890c2c2b1383e9953df84ed8aafb2dc012e772 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C2: Done' fi fi if test "$machid" = "8010201"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C3: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C3: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C3-0a61918a0287a5b74aa9d16f6934c82cad8ec013 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C3: Done' fi fi if test "$machid" = "8010005"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK06.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK06.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK06.1-C1-0f2d0b541a6d3a410b79365ec5e0b65cfd5a50e3 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK06.1-C1: Done' fi fi if test "$machid" = "8010006"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK07.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK07.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK07.1-C1-6c75a0cbea7ee84af621a2e4a8c332fb0d2f7708 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK07.1-C1: Done' fi fi if test "$machid" = "8010106"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK07.1-C2: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK07.1-C2: Started' fi imxtract $imgaddr ddr-AP-DK07.1-C2-13794b6ad6ce2e3289f86215a3d99cd6e0a9bc97 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK07.1-C2: Done' fi fi if test "$machid" = "8010206"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK07.1-C3: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK07.1-C3: Started' fi imxtract $imgaddr ddr-AP-DK07.1-C3-3eaf0486b69ee342b79138ad7b276914021e6f1d || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK07.1-C3: Done' fi fi if test "$machid" = "1010002"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-DB-DK01.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-DB-DK01.1-C1: Started' fi imxtract $imgaddr ddr-DB-DK01.1-C1-d47190c2b262ebea452b6fcf2c1190088b3fafad || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-DB-DK01.1-C1: Done' fi fi if test "$machid" = "1010003"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-DB.DK02.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-DB.DK02.1-C1: Started' fi imxtract $imgaddr ddr-DB.DK02.1-C1-9f6ccc17d47e323cc84791833e54b55794f55c7b || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-DB.DK02.1-C1: Done' fi fi if test "x$verbose" = "x"; then echo \\c'Flashing tz: ' setenv stdout nulldev else echo '######################################## Flashing tz: Started' fi imxtract $imgaddr tz-7fb7fc3700e39853414a46c5956c80067bd3af08 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00300000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00300000 0x00059800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing tz: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing u-boot: ' setenv stdout nulldev else echo '######################################## Flashing u-boot: Started' fi imxtract $imgaddr u-boot-ee4297641e8ac05e0faa79f61de22344c4258284 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00700000 0x00200000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00700000 0x00079000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing u-boot: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing ubi: ' setenv stdout nulldev else echo '######################################## Flashing ubi: Started' fi imxtract $imgaddr ubi-2113e3f3cc2a94e31f40d2c220669cca1b7e2845 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00b80000 0x04100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00b80000 0x00c80000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ubi: Done' fi exit 0 fi #JikeAP_CM520 if test "x$verbose" = "x"; then failedmsg='[failed]' else failedmsg='######################################## Failed' fi if test "$machid" = "8010106"; then nand device 0 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then echo \\c'Flashing mibib: ' setenv stdout nulldev else echo '######################################## Flashing mibib: Started' fi imxtract $imgaddr mibib-fb94cca75b16a5a04cae01227af254a0e9039bf8 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00100000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00100000 0x00040000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing mibib: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing sbl1: ' setenv stdout nulldev else echo '######################################## Flashing sbl1: Started' fi imxtract $imgaddr sbl1-73fb8022f5abb040c722a5d4674591b6463cfa1a || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00000000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00000000 0x00025000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing sbl1: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing bootconfig: ' setenv stdout nulldev else echo '######################################## Flashing bootconfig: Started' fi imxtract $imgaddr bootconfig-edbe2cef0dba170b6e26c35da75dfa03a0029b15 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00200000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00200000 0x00020000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing bootconfig: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing bootconfig1: ' setenv stdout nulldev else echo '######################################## Flashing bootconfig1: Started' fi imxtract $imgaddr bootconfig1-5f41d69eb70dd8899ad9589d64bc288d2b7ba876 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00600000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00600000 0x00020000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing bootconfig1: Done' fi if test "$machid" = "8010000"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK01.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK01.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK01.1-C1-83e72383e2f86b9fb0226ad6cc2f731af84437b4 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK01.1-C1: Done' fi fi if test "$machid" = "8010100"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK01.1-C2: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK01.1-C2: Started' fi imxtract $imgaddr ddr-AP-DK01.1-C2-06af26df7e3d51fe22e3756662d65ba23c78cfd6 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK01.1-C2: Done' fi fi if test "$machid" = "8010001"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C1-44f7cf880531f125fc2394a28013813eb1a756e5 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C1: Done' fi fi if test "$machid" = "8010301"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C4: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C4: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C4-4d33ff4efaf9fbfaf034b26a5d83ea16d3b03354 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C4: Done' fi fi if test "$machid" = "8010101"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C2: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C2: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C2-0a890c2c2b1383e9953df84ed8aafb2dc012e772 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C2: Done' fi fi if test "$machid" = "8010201"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C3: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C3: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C3-0a61918a0287a5b74aa9d16f6934c82cad8ec013 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C3: Done' fi fi if test "$machid" = "8010005"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK06.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK06.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK06.1-C1-0f2d0b541a6d3a410b79365ec5e0b65cfd5a50e3 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK06.1-C1: Done' fi fi if test "$machid" = "8010006"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK07.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK07.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK07.1-C1-6c75a0cbea7ee84af621a2e4a8c332fb0d2f7708 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK07.1-C1: Done' fi fi if test "$machid" = "8010106"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK07.1-C2: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK07.1-C2: Started' fi imxtract $imgaddr ddr-AP-DK07.1-C2-13794b6ad6ce2e3289f86215a3d99cd6e0a9bc97 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK07.1-C2: Done' fi fi if test "$machid" = "8010206"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK07.1-C3: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK07.1-C3: Started' fi imxtract $imgaddr ddr-AP-DK07.1-C3-3eaf0486b69ee342b79138ad7b276914021e6f1d || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK07.1-C3: Done' fi fi if test "$machid" = "1010002"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-DB-DK01.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-DB-DK01.1-C1: Started' fi imxtract $imgaddr ddr-DB-DK01.1-C1-d47190c2b262ebea452b6fcf2c1190088b3fafad || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-DB-DK01.1-C1: Done' fi fi if test "$machid" = "1010003"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-DB.DK02.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-DB.DK02.1-C1: Started' fi imxtract $imgaddr ddr-DB.DK02.1-C1-9f6ccc17d47e323cc84791833e54b55794f55c7b || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-DB.DK02.1-C1: Done' fi fi if test "x$verbose" = "x"; then echo \\c'Flashing tz: ' setenv stdout nulldev else echo '######################################## Flashing tz: Started' fi imxtract $imgaddr tz-7fb7fc3700e39853414a46c5956c80067bd3af08 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00300000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00300000 0x00059800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing tz: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing u-boot: ' setenv stdout nulldev else echo '######################################## Flashing u-boot: Started' fi imxtract $imgaddr u-boot-ee4297641e8ac05e0faa79f61de22344c4258284 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00700000 0x00200000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00700000 0x00079000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing u-boot: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing ubi: ' setenv stdout nulldev else echo '######################################## Flashing ubi: Started' fi imxtract $imgaddr ubi-2113e3f3cc2a94e31f40d2c220669cca1b7e2845 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00b80000 0x04100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00b80000 0x00c80000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ubi: Done' fi exit 0 fi #JikeAP_CM520 if test "x$verbose" = "x"; then failedmsg='[failed]' else failedmsg='######################################## Failed' fi if test "$machid" = "8010206"; then nand device 0 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then echo \\c'Flashing mibib: ' setenv stdout nulldev else echo '######################################## Flashing mibib: Started' fi imxtract $imgaddr mibib-fb94cca75b16a5a04cae01227af254a0e9039bf8 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00100000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00100000 0x00040000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing mibib: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing sbl1: ' setenv stdout nulldev else echo '######################################## Flashing sbl1: Started' fi imxtract $imgaddr sbl1-73fb8022f5abb040c722a5d4674591b6463cfa1a || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00000000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00000000 0x00025000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing sbl1: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing bootconfig: ' setenv stdout nulldev else echo '######################################## Flashing bootconfig: Started' fi imxtract $imgaddr bootconfig-edbe2cef0dba170b6e26c35da75dfa03a0029b15 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00200000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00200000 0x00020000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing bootconfig: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing bootconfig1: ' setenv stdout nulldev else echo '######################################## Flashing bootconfig1: Started' fi imxtract $imgaddr bootconfig1-5f41d69eb70dd8899ad9589d64bc288d2b7ba876 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00600000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00600000 0x00020000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing bootconfig1: Done' fi if test "$machid" = "8010000"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK01.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK01.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK01.1-C1-83e72383e2f86b9fb0226ad6cc2f731af84437b4 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK01.1-C1: Done' fi fi if test "$machid" = "8010100"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK01.1-C2: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK01.1-C2: Started' fi imxtract $imgaddr ddr-AP-DK01.1-C2-06af26df7e3d51fe22e3756662d65ba23c78cfd6 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK01.1-C2: Done' fi fi if test "$machid" = "8010001"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C1-44f7cf880531f125fc2394a28013813eb1a756e5 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C1: Done' fi fi if test "$machid" = "8010301"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C4: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C4: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C4-4d33ff4efaf9fbfaf034b26a5d83ea16d3b03354 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C4: Done' fi fi if test "$machid" = "8010101"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C2: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C2: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C2-0a890c2c2b1383e9953df84ed8aafb2dc012e772 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C2: Done' fi fi if test "$machid" = "8010201"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C3: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C3: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C3-0a61918a0287a5b74aa9d16f6934c82cad8ec013 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C3: Done' fi fi if test "$machid" = "8010005"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK06.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK06.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK06.1-C1-0f2d0b541a6d3a410b79365ec5e0b65cfd5a50e3 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK06.1-C1: Done' fi fi if test "$machid" = "8010006"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK07.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK07.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK07.1-C1-6c75a0cbea7ee84af621a2e4a8c332fb0d2f7708 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK07.1-C1: Done' fi fi if test "$machid" = "8010106"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK07.1-C2: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK07.1-C2: Started' fi imxtract $imgaddr ddr-AP-DK07.1-C2-13794b6ad6ce2e3289f86215a3d99cd6e0a9bc97 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK07.1-C2: Done' fi fi if test "$machid" = "8010206"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK07.1-C3: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK07.1-C3: Started' fi imxtract $imgaddr ddr-AP-DK07.1-C3-3eaf0486b69ee342b79138ad7b276914021e6f1d || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK07.1-C3: Done' fi fi if test "$machid" = "1010002"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-DB-DK01.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-DB-DK01.1-C1: Started' fi imxtract $imgaddr ddr-DB-DK01.1-C1-d47190c2b262ebea452b6fcf2c1190088b3fafad || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-DB-DK01.1-C1: Done' fi fi if test "$machid" = "1010003"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-DB.DK02.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-DB.DK02.1-C1: Started' fi imxtract $imgaddr ddr-DB.DK02.1-C1-9f6ccc17d47e323cc84791833e54b55794f55c7b || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-DB.DK02.1-C1: Done' fi fi if test "x$verbose" = "x"; then echo \\c'Flashing tz: ' setenv stdout nulldev else echo '######################################## Flashing tz: Started' fi imxtract $imgaddr tz-7fb7fc3700e39853414a46c5956c80067bd3af08 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00300000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00300000 0x00059800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing tz: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing u-boot: ' setenv stdout nulldev else echo '######################################## Flashing u-boot: Started' fi imxtract $imgaddr u-boot-ee4297641e8ac05e0faa79f61de22344c4258284 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00700000 0x00200000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00700000 0x00079000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing u-boot: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing ubi: ' setenv stdout nulldev else echo '######################################## Flashing ubi: Started' fi imxtract $imgaddr ubi-2113e3f3cc2a94e31f40d2c220669cca1b7e2845 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00b80000 0x04100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00b80000 0x00c80000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ubi: Done' fi exit 0 fi #JikeAP_CM520 if test "x$verbose" = "x"; then failedmsg='[failed]' else failedmsg='######################################## Failed' fi if test "$machid" = "1010002"; then nand device 0 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then echo \\c'Flashing mibib: ' setenv stdout nulldev else echo '######################################## Flashing mibib: Started' fi imxtract $imgaddr mibib-fb94cca75b16a5a04cae01227af254a0e9039bf8 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00100000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00100000 0x00040000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing mibib: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing sbl1: ' setenv stdout nulldev else echo '######################################## Flashing sbl1: Started' fi imxtract $imgaddr sbl1-73fb8022f5abb040c722a5d4674591b6463cfa1a || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00000000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00000000 0x00025000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing sbl1: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing bootconfig: ' setenv stdout nulldev else echo '######################################## Flashing bootconfig: Started' fi imxtract $imgaddr bootconfig-edbe2cef0dba170b6e26c35da75dfa03a0029b15 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00200000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00200000 0x00020000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing bootconfig: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing bootconfig1: ' setenv stdout nulldev else echo '######################################## Flashing bootconfig1: Started' fi imxtract $imgaddr bootconfig1-5f41d69eb70dd8899ad9589d64bc288d2b7ba876 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00600000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00600000 0x00020000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing bootconfig1: Done' fi if test "$machid" = "8010000"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK01.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK01.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK01.1-C1-83e72383e2f86b9fb0226ad6cc2f731af84437b4 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK01.1-C1: Done' fi fi if test "$machid" = "8010100"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK01.1-C2: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK01.1-C2: Started' fi imxtract $imgaddr ddr-AP-DK01.1-C2-06af26df7e3d51fe22e3756662d65ba23c78cfd6 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK01.1-C2: Done' fi fi if test "$machid" = "8010001"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C1-44f7cf880531f125fc2394a28013813eb1a756e5 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C1: Done' fi fi if test "$machid" = "8010301"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C4: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C4: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C4-4d33ff4efaf9fbfaf034b26a5d83ea16d3b03354 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C4: Done' fi fi if test "$machid" = "8010101"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C2: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C2: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C2-0a890c2c2b1383e9953df84ed8aafb2dc012e772 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C2: Done' fi fi if test "$machid" = "8010201"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C3: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C3: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C3-0a61918a0287a5b74aa9d16f6934c82cad8ec013 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C3: Done' fi fi if test "$machid" = "8010005"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK06.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK06.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK06.1-C1-0f2d0b541a6d3a410b79365ec5e0b65cfd5a50e3 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK06.1-C1: Done' fi fi if test "$machid" = "8010006"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK07.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK07.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK07.1-C1-6c75a0cbea7ee84af621a2e4a8c332fb0d2f7708 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK07.1-C1: Done' fi fi if test "$machid" = "8010106"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK07.1-C2: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK07.1-C2: Started' fi imxtract $imgaddr ddr-AP-DK07.1-C2-13794b6ad6ce2e3289f86215a3d99cd6e0a9bc97 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK07.1-C2: Done' fi fi if test "$machid" = "8010206"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK07.1-C3: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK07.1-C3: Started' fi imxtract $imgaddr ddr-AP-DK07.1-C3-3eaf0486b69ee342b79138ad7b276914021e6f1d || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK07.1-C3: Done' fi fi if test "$machid" = "1010002"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-DB-DK01.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-DB-DK01.1-C1: Started' fi imxtract $imgaddr ddr-DB-DK01.1-C1-d47190c2b262ebea452b6fcf2c1190088b3fafad || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-DB-DK01.1-C1: Done' fi fi if test "$machid" = "1010003"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-DB.DK02.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-DB.DK02.1-C1: Started' fi imxtract $imgaddr ddr-DB.DK02.1-C1-9f6ccc17d47e323cc84791833e54b55794f55c7b || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-DB.DK02.1-C1: Done' fi fi if test "x$verbose" = "x"; then echo \\c'Flashing tz: ' setenv stdout nulldev else echo '######################################## Flashing tz: Started' fi imxtract $imgaddr tz-7fb7fc3700e39853414a46c5956c80067bd3af08 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00300000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00300000 0x00059800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing tz: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing u-boot: ' setenv stdout nulldev else echo '######################################## Flashing u-boot: Started' fi imxtract $imgaddr u-boot-ee4297641e8ac05e0faa79f61de22344c4258284 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00700000 0x00200000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00700000 0x00079000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing u-boot: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing ubi: ' setenv stdout nulldev else echo '######################################## Flashing ubi: Started' fi imxtract $imgaddr ubi-2113e3f3cc2a94e31f40d2c220669cca1b7e2845 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00b80000 0x04100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00b80000 0x00c80000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ubi: Done' fi exit 0 fi #JikeAP_CM520 if test "x$verbose" = "x"; then failedmsg='[failed]' else failedmsg='######################################## Failed' fi if test "$machid" = "1010003"; then nand device 0 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then echo \\c'Flashing mibib: ' setenv stdout nulldev else echo '######################################## Flashing mibib: Started' fi imxtract $imgaddr mibib-fb94cca75b16a5a04cae01227af254a0e9039bf8 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00100000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00100000 0x00040000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing mibib: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing sbl1: ' setenv stdout nulldev else echo '######################################## Flashing sbl1: Started' fi imxtract $imgaddr sbl1-73fb8022f5abb040c722a5d4674591b6463cfa1a || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00000000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00000000 0x00025000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing sbl1: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing bootconfig: ' setenv stdout nulldev else echo '######################################## Flashing bootconfig: Started' fi imxtract $imgaddr bootconfig-edbe2cef0dba170b6e26c35da75dfa03a0029b15 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00200000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00200000 0x00020000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing bootconfig: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing bootconfig1: ' setenv stdout nulldev else echo '######################################## Flashing bootconfig1: Started' fi imxtract $imgaddr bootconfig1-5f41d69eb70dd8899ad9589d64bc288d2b7ba876 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00600000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00600000 0x00020000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing bootconfig1: Done' fi if test "$machid" = "8010000"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK01.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK01.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK01.1-C1-83e72383e2f86b9fb0226ad6cc2f731af84437b4 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK01.1-C1: Done' fi fi if test "$machid" = "8010100"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK01.1-C2: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK01.1-C2: Started' fi imxtract $imgaddr ddr-AP-DK01.1-C2-06af26df7e3d51fe22e3756662d65ba23c78cfd6 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK01.1-C2: Done' fi fi if test "$machid" = "8010001"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C1-44f7cf880531f125fc2394a28013813eb1a756e5 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C1: Done' fi fi if test "$machid" = "8010301"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C4: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C4: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C4-4d33ff4efaf9fbfaf034b26a5d83ea16d3b03354 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C4: Done' fi fi if test "$machid" = "8010101"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C2: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C2: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C2-0a890c2c2b1383e9953df84ed8aafb2dc012e772 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C2: Done' fi fi if test "$machid" = "8010201"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C3: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C3: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C3-0a61918a0287a5b74aa9d16f6934c82cad8ec013 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C3: Done' fi fi if test "$machid" = "8010005"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK06.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK06.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK06.1-C1-0f2d0b541a6d3a410b79365ec5e0b65cfd5a50e3 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK06.1-C1: Done' fi fi if test "$machid" = "8010006"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK07.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK07.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK07.1-C1-6c75a0cbea7ee84af621a2e4a8c332fb0d2f7708 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK07.1-C1: Done' fi fi if test "$machid" = "8010106"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK07.1-C2: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK07.1-C2: Started' fi imxtract $imgaddr ddr-AP-DK07.1-C2-13794b6ad6ce2e3289f86215a3d99cd6e0a9bc97 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK07.1-C2: Done' fi fi if test "$machid" = "8010206"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK07.1-C3: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK07.1-C3: Started' fi imxtract $imgaddr ddr-AP-DK07.1-C3-3eaf0486b69ee342b79138ad7b276914021e6f1d || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK07.1-C3: Done' fi fi if test "$machid" = "1010002"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-DB-DK01.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-DB-DK01.1-C1: Started' fi imxtract $imgaddr ddr-DB-DK01.1-C1-d47190c2b262ebea452b6fcf2c1190088b3fafad || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-DB-DK01.1-C1: Done' fi fi if test "$machid" = "1010003"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-DB.DK02.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-DB.DK02.1-C1: Started' fi imxtract $imgaddr ddr-DB.DK02.1-C1-9f6ccc17d47e323cc84791833e54b55794f55c7b || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-DB.DK02.1-C1: Done' fi fi if test "x$verbose" = "x"; then echo \\c'Flashing tz: ' setenv stdout nulldev else echo '######################################## Flashing tz: Started' fi imxtract $imgaddr tz-7fb7fc3700e39853414a46c5956c80067bd3af08 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00300000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00300000 0x00059800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing tz: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing u-boot: ' setenv stdout nulldev else echo '######################################## Flashing u-boot: Started' fi imxtract $imgaddr u-boot-ee4297641e8ac05e0faa79f61de22344c4258284 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00700000 0x00200000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00700000 0x00079000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing u-boot: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing ubi: ' setenv stdout nulldev else echo '######################################## Flashing ubi: Started' fi imxtract $imgaddr ubi-2113e3f3cc2a94e31f40d2c220669cca1b7e2845 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00b80000 0x04100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00b80000 0x00c80000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ubi: Done' fi exit 0 fi #JikeAP_CM520 if test "x$verbose" = "x"; then failedmsg='[failed]' else failedmsg='######################################## Failed' fi if test "$machid" = "1010004"; then nand device 0 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then echo \\c'Flashing mibib: ' setenv stdout nulldev else echo '######################################## Flashing mibib: Started' fi imxtract $imgaddr mibib-fb94cca75b16a5a04cae01227af254a0e9039bf8 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00100000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00100000 0x00040000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing mibib: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing sbl1: ' setenv stdout nulldev else echo '######################################## Flashing sbl1: Started' fi imxtract $imgaddr sbl1-73fb8022f5abb040c722a5d4674591b6463cfa1a || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00000000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00000000 0x00025000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing sbl1: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing bootconfig: ' setenv stdout nulldev else echo '######################################## Flashing bootconfig: Started' fi imxtract $imgaddr bootconfig-edbe2cef0dba170b6e26c35da75dfa03a0029b15 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00200000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00200000 0x00020000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing bootconfig: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing bootconfig1: ' setenv stdout nulldev else echo '######################################## Flashing bootconfig1: Started' fi imxtract $imgaddr bootconfig1-5f41d69eb70dd8899ad9589d64bc288d2b7ba876 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00600000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00600000 0x00020000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing bootconfig1: Done' fi if test "$machid" = "8010000"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK01.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK01.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK01.1-C1-83e72383e2f86b9fb0226ad6cc2f731af84437b4 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK01.1-C1: Done' fi fi if test "$machid" = "8010100"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK01.1-C2: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK01.1-C2: Started' fi imxtract $imgaddr ddr-AP-DK01.1-C2-06af26df7e3d51fe22e3756662d65ba23c78cfd6 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK01.1-C2: Done' fi fi if test "$machid" = "8010001"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C1-44f7cf880531f125fc2394a28013813eb1a756e5 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C1: Done' fi fi if test "$machid" = "8010301"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C4: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C4: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C4-4d33ff4efaf9fbfaf034b26a5d83ea16d3b03354 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C4: Done' fi fi if test "$machid" = "8010101"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C2: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C2: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C2-0a890c2c2b1383e9953df84ed8aafb2dc012e772 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C2: Done' fi fi if test "$machid" = "8010201"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK04.1-C3: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK04.1-C3: Started' fi imxtract $imgaddr ddr-AP-DK04.1-C3-0a61918a0287a5b74aa9d16f6934c82cad8ec013 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK04.1-C3: Done' fi fi if test "$machid" = "8010005"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK06.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK06.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK06.1-C1-0f2d0b541a6d3a410b79365ec5e0b65cfd5a50e3 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK06.1-C1: Done' fi fi if test "$machid" = "8010006"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK07.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK07.1-C1: Started' fi imxtract $imgaddr ddr-AP-DK07.1-C1-6c75a0cbea7ee84af621a2e4a8c332fb0d2f7708 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK07.1-C1: Done' fi fi if test "$machid" = "8010106"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK07.1-C2: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK07.1-C2: Started' fi imxtract $imgaddr ddr-AP-DK07.1-C2-13794b6ad6ce2e3289f86215a3d99cd6e0a9bc97 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK07.1-C2: Done' fi fi if test "$machid" = "8010206"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-AP-DK07.1-C3: ' setenv stdout nulldev else echo '######################################## Flashing ddr-AP-DK07.1-C3: Started' fi imxtract $imgaddr ddr-AP-DK07.1-C3-3eaf0486b69ee342b79138ad7b276914021e6f1d || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-AP-DK07.1-C3: Done' fi fi if test "$machid" = "1010002"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-DB-DK01.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-DB-DK01.1-C1: Started' fi imxtract $imgaddr ddr-DB-DK01.1-C1-d47190c2b262ebea452b6fcf2c1190088b3fafad || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-DB-DK01.1-C1: Done' fi fi if test "$machid" = "1010003"; then if test "x$verbose" = "x"; then echo \\c'Flashing ddr-DB.DK02.1-C1: ' setenv stdout nulldev else echo '######################################## Flashing ddr-DB.DK02.1-C1: Started' fi imxtract $imgaddr ddr-DB.DK02.1-C1-9f6ccc17d47e323cc84791833e54b55794f55c7b || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00500000 0x00080000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00500000 0x00000800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ddr-DB.DK02.1-C1: Done' fi fi if test "x$verbose" = "x"; then echo \\c'Flashing tz: ' setenv stdout nulldev else echo '######################################## Flashing tz: Started' fi imxtract $imgaddr tz-7fb7fc3700e39853414a46c5956c80067bd3af08 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00300000 0x00100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00300000 0x00059800 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing tz: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing u-boot: ' setenv stdout nulldev else echo '######################################## Flashing u-boot: Started' fi imxtract $imgaddr u-boot-ee4297641e8ac05e0faa79f61de22344c4258284 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00700000 0x00200000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00700000 0x00079000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing u-boot: Done' fi if test "x$verbose" = "x"; then echo \\c'Flashing ubi: ' setenv stdout nulldev else echo '######################################## Flashing ubi: Started' fi imxtract $imgaddr ubi-2113e3f3cc2a94e31f40d2c220669cca1b7e2845 || setenv stdout serial && echo "$failedmsg" && exit 1 nand erase 0x00b80000 0x04100000 || setenv stdout serial && echo "$failedmsg" && exit 1 nand write $fileaddr 0x00b80000 0x00c80000 || setenv stdout serial && echo "$failedmsg" && exit 1 if test "x$verbose" = "x"; then setenv stdout serial echo '[ done ]' setenv stdout nulldev setenv stdout serial else echo '######################################## Flashing ubi: Done' fi exit 0 fi scriptarmnonehash@1,Т4Чg'crc32mibib-fb94cca75b16a5a04cae01227af254a0e9039bf8"nand-system-partition-ipq40xx.bin ђЯVюzЌ€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€™sоUџљ^г0:SBL1€€0:MIBIB€€0:BOOTCONFIG€€0:QSEE€€0:QSEE_1 €€0:CDT(€€0:CDT_1,€€0:BOOTCONFIG10€€0:APPSBLENV4€€0:APPSBL8€€0:APPSBL_1H€€0:ARTX€€rootfs\€€rootfs_1dШ€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€Ъ}™ЉH}0:SBL1€€€0:MIBIB€€€0:BOOTCONFIG€€€0:QSEE€€€0:QSEE_1€€€0:CDT€€€0:CDT_1€€€0:BOOTCONFIG1€€€0:APPSBLENV€€€0:APPSBL€€€0:APPSBL_1€€€0:ART€€€rootfs€€€rootfs_1»€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€°ЊAЭк“ёсО?Г€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ђЯVюzЌ€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€™sоUџљ^г0:SBL1€€0:MIBIB€€0:BOOTCONFIG€€0:QSEE€€0:QSEE_1 €€0:CDT(€€0:CDT_1,€€0:BOOTCONFIG10€€0:APPSBLENV4€€0:APPSBL8€€0:APPSBL_1H€€0:ARTX€€rootfs\€€rootfs_1dШ€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€Ъ}™ЉH}0:SBL1€€€0:MIBIB€€€0:BOOTCONFIG€€€0:QSEE€€€0:QSEE_1€€€0:CDT€€€0:CDT_1€€€0:BOOTCONFIG1€€€0:APPSBLENV€€€0:APPSBL€€€0:APPSBL_1€€€0:ART€€€rootfs€€€rootfs_1»€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€°ЊAЭк“ёс….€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ firmwarearmnonehash@1,==§£'crc32sbl1-73fb8022f5abb040c722a5d4674591b6463cfa1asbl1_nand.mbn.paddedP —№KД4„sZC }€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€—№KД4„sZC }€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€—№KД4„sZC }€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€—№KД4„sZC }€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ELF(М 44 (4РBЗРBЗ( ®ы``x%x% !0`0`∞мЁ  ®–Ч М М љљАЁ`П `П `®ы@З@ЗшИ@((†BЗ(°BЗ(°BЗ»hYеќ∆?≤ WOѕ“?÷Ітнџ.qЇbQ;5«%»MZ∞ТлЃ8™ПЎxвГ}ф[Я ’т‘f:њ_H—М"±?JїP7вiмKбIЕ;Aм>6Љр—c0Ёr…4 {е«~њw£ гЅ∆ ЮКубtєУ‘lз6еsyуhе|Ю’щЖ#™°B∆ДgЁєlё@5ЃЏпMZ+БКА¶¶г!ƒкЬк{-кЬкЭк®&к~#кькd)р#Вx)рZВs)рИЗ pGp@-й@†бP†б0†б †бTгј†ј†пoбОвј†б?а~а~ФJSгoo?qq`QаТJvRУZ NвPг5†—јМ—ЯПв,ќ†б^г ЅСз аNВ `nвHКЬБа0N†б†б†бБбpвaвA2ЬБајМаЬБа0N†б†б†бБбpвaвA2SгЬБајМа ЬБа0N†б†б†бБбpвaвA2ЬБајМаЬАа†гЬ°а0†бF†бАб1†бРeДа RаСE$а0√аSгR1pАљ8ЬBЖа@†гЬc§а јnв6n†б<†б`Жб0†г4N†бЦеМаРа°а BаRбpАљ8Рв°в BајRа †!∞в°вјRа †!∞в°вpАљиЬАа†гЬ°а†б0n†бБб `nвaв†бpвA2ЬБајМаЬАа†гЬ°а†б0n†бБб `nвaв†бpвA2ЬБајМајLвЬАа†гЬ°а1†бРeБа RаР!а0√аSбR†3pАљ8ЬbБа`†гЬ¶а†г6n†бЦеМаАа RаЦƒ.а0√аSбRpАљ8Ав Rа0√аpАљи -й†г†г–ъ|Аљи†г†гpАљи аfв†г†гF†б5ќ†бV†б @ДбаRај”а†а 0†! †!`VвpАљ8§@∞бeP†бх€€кррррг8Оге5Ф„ћћћћ√0 √ҐЛ.Ї»B≤™™™™= „£ЭЎЙЭн%іЧТ$IТЋ=НИИИИB!ДА≤с  ’¬с ъс ъуърAкpGъсOрpGі|µ ™Р– D@K{DiFРШрШэF± iFр•э(F|Љ]шыi pµFЕihЅ’0&а &ј–pљ‘й!0FРG jс bmх’pљpµFЕihј—pљ‘й! РG jс bmх’pљpµF F*–(hА’кi#а#а[УB“а\(щ—®iжј®a(jD(b(F€чЇ€а’й!ш РGіBш”(F€ч∆€pљ-йрAАF&hu)AF•–ѓуА(Џјс•аЎшК’•аI’•&аѓуА$с$арPн019Ud(ш—3F*F!F@FљирAрІЉ-+ pµF F!FhѓуА!h ’JzDаJzD2!с$арOкЦ]^Tс(х—F h’p-– ±2# Fљиp@рrЉ÷і-йр_FЙFOр яшx±ыDјш † FбhИG(u–%(–‘й!РG j@ bсз&_F FбhИG (Fџ1-“лш ±Cрз∞’&рƒш†'ƒш†*- –(Fрю8≥лЗ0=»шPаYш FлЗСaбhИG/F—аi( Џ&р аЎшлАл@08»ш FбhИGFрёэ(о—/ –.-— FбhИGF/Fр ƒџ†i(Џ@BFр†aр–&рl- –h- –L-9–j-5–t-5–z-3–а8абh/F FИGЄBF —l/&–OфА`бhC FИGFаl/–OфАpC ≥•сA(Ў 5FфfJF)F F&`NF€ч∆ьА±( –ц&рс Uз@ дзА Ўз ÷зс Lз(FQз jљирЯ®і р>ьѓуА рШы@ ≤шКB–)щ— pG@кµЫ—* ”»…ЬBш– ЇЇИBў љOр€0љ±”–Rа љш;шK—ш;шK—Тс—FљBашi±Бъ—Oр3»√ъQс)ъ–А –јpGАpG –АpG ь–@pG0Абp@-йгЎ`Я Rг:0Рд@Сд Bву_fжUг €в€в@аРбpАљs€жt€ж@аРбpАљ€√г€ƒг@аРб# †$ @pАљиSбд€€ 3њж4њжPбаУ†ГpАљиRг†pАљ0–д@—дSг Sб  Rв 0–д@—дSг Sб Rвп€€CаpАљи@-йлАљиRг*Ъјв 0—д\г Вај—Ф0јд0—4јјФ Bв0ј40вZ  Rв:ј1зSг К,4†бј±е Rв <Гб0Адщ€€*Бвк,8†бј±е Rв 8Гб0Адщ€€*Бвк,<†бј±е Rв 4Гб0Адщ€€*Бв†бВ/∞б0—$ј—$ —D0ј$јј$ јD€/б0PаR!«€€ЪRгАаБа%Ъг0q B0`гъ€€0вI  Rв:ј1зSг:К 8†бј1е Rв,8Гб0 ещ€€*Бвк <†бј1е Rв,4Гб0 ещ€€*Бвк 4†бј1е Rв,<Гб0 ещ€€*Бв†бВ/∞б0q%јq% QE0`%ј`% @E€/б@-й Rв:P±и RвP†иP±иP†ищ€€*ќ∞бP±(P†(±H†H@љиѕ∞б0С$0А$€/В/∞б≤0—  —D≤0ј  јD€/б0PаR!г€€ЪАагБа B0q0`гъ€€ Rв:@-йP1й RвP йы€€*@љиВ>∞б1) )01E0 Eг€/В/∞б≤0q! QE≤0`! @E€/бр€FµCк"BкBр шљр€Cк"BкBрЄOр)јрАр рАћс Љсњш+®њ ш+°л р Є_кЅ|$њш+ш+Hњш+pGOрµFФFЦF 9"њ†и P†и P±с њфчѓ (њ†и PHњ ј]шлЙ(њ@ш+њpGHњ ш+рАOњш+pGг@-йДаЯе Рд0СдјBајћбО√аRш€€ @љи †б Pа€†бPа€ †бPа€S`†€/б –д0—дRгR! –д0—дRгR!х€€ Bа€/бBxxГxјxAк!AкAAк`pGOк"pJpOкBКpOкb ppG0Рб!J ∞г†0qа: 2qа: 4qа:ј†г к†3qаБ@  ≤а 3qа@  ≤а†2qаБ@  ≤а 2qа@  ≤а†1qаБ@  ≤а 1qа@  ≤а†0qаБ@  ≤аPа†1Ґа€/б!вaB@ј2а`" 2qа: 4qа:†б 4qа?#Вг :†б 4qа?&Вг:†б 4qа?)Вг†!?,В#0qв*!†!†3qаБ@  ≤а 3qа@  ≤а†2qаБ@  ≤а 2qа@  ≤а†1qаБ@  ≤а 1qа@  ≤ал€€*†0qаБ@  ≤аPа†1Ґаћѕ∞б`Ba"€/бћѕ∞б`B@-й∞гъАљиI Ђяюз&рµЄр≥Є-йрG FFТFЩFс$hИ’аi!р!`а ®BЁ†ла'°iлл °л†a hј‘ F€ч±ъ&а‘й!шРG j@v bNEфџ hј ’ F€чЮъа‘й!0 РG j@ b8Ісф№а‘й!шРG j@ b(•су№ F€чЩъ h’ љирЗ ызiJaxpGµП∞Ќй1!СIyDЌйFhF€ч!ы∞ље€€€ hш `pG—й#ЪB“S `ppGµCi±ѓуАа€чvъ љhс$ p"Jp"нзhOр€2йзF рє @в @а Аа Аа Аа††б!АаВQаАR БB€/бpGµ ршљF ршЄ ∞г 1qаW€€:†2qаL€€: 4qаA€€:ј†г`€€к€/ба†б€/бо€/бxGјFOрхoрх†гоOрхoрх€/бOрхoрх†гоOрхoрх€/бOрхoрх†гоOрхoрх€/бо Аго†г€/б€_-йOрхoрхо АгоOрхoрх€Яљи€_-йПл†гOрхoрхојгоOрхoрх—€€л€ЯљиOрх€/бЯеБе€/бOрх00о4в£;†б ††г™ Ка0†бвQгЇѓ@оoрх0о в Вв€Cг°Aа_oб€г°vаР†бµКб≤Лб^њоРYвъ€€™pWвч€€™†Кв Sбе€€ ††гѓ@оOрхoрх€/б€_-й@†бP†бQгЏАаAв0?о#8†б0в † †#†б0BвјбЅб>о>оАаPб*ъ€€кOрхOрхoрх€Яљи€_-й@†бP†бQгЏАаAв`†б0?о#8†б0в † †#†б0BвјбPб>ЅбQб>66оАаPб*ъ€€кOрхOрхoрх€Яљи€_-й@†бP†бQгЏАаAв0?о#8†б0в † †#†б0BвјбЅб:о:оАаPб*ъ€€кOрхOрхoрх€Яљи€_-йOрхoрхГ€€л†гоOрхoрх€Яљи€_-йOрхoрхz€€лOрхoрхојг јгоOрхoрх†гоOрхoрх€Яљи€_-йP†бв€€л†гоPо†бо†г о†гоOрхoрхоАгоOрхoрх€_љи€/б€_-йOрхoрх†бовАбоOрхoрхо’оOрхoрх€_љи€/бр го †б†б€/боOрхoрх€/б†С xGјF€0в†б$Гб(Вбк€0в$Гб(Вбк †г0в Qг:р-й0†б@†бP†б`†бp†бА†бР†б Qвь†( Q"ь†( Q"ъ€€*∞б<†( †H∞б†(рљи€/!†бБ†б\јЯеЅ†б0Ре 0а ј¬б 0Гб0Ае€/б@аБаQв0јЯеГ1†б√†б0aBГ1†A√†A<√†A0Ре 0√б ја 0Гб0Ад–€€ €/б€€€€€G-йА†бІᆆб Zг™Zг €Зљи€єи€®и †Jв Zгъ€€™ц€€Їєи®и†JвZгъ€€ т€€Џ”р!гp†б№Яе оЎЯе–†б“р!г–†б—р!г–†бџр!гјЯе–†б„р!гЄЯе–†б”р!г†бђQЯе5€/бHл@-й`бА-й”р!гФqЯеpЧеЗеЗе Зе 0Зе@ЗеPЗе АЗе$РЗе(†Зе,∞Зе0јЗе8аЗе4–ЗеOб<ЗеTЯе@Зеяр!гH–ЗеLаЗе“р!гP–ЗеTаЗеOбXЗе„р!г\–Зе`аЗеOбdЗеџр!гh–ЗеlаЗеOбpЗе—р!гtАЗеxРЗе|†ЗеА∞ЗеДјЗеИ–ЗеМаЗеOбРЗер!бD`Зељи ЗељиЗе`†бp†б€/б†г†г †г0†г@†гP†г`†гp†гА†гІㆆг∞†гј†гю€€кДPЯекАPЯек|PЯе€€€кpбpвT`ЯWгH`Я p†бVб5€/XPЯе5€/бБ†гoрх–oоoрхроoрх€/б вбЅбр#б€/бМ АП †П јП fН Д TМ =ґМ QЪМ mqМ iШМ рере`рех `xGјFTю€кxGјFTю€к@тЙ,јц` `Gре’`реў`xGјFЈ€€креэ!`реЩ`реu`ре`рее`реЭ`@т-lјц` `Gре`рес`ре `рен`ре`ре`реэ`ре—`Aцщ\јц` `Gре`реЁ`ре`реЌ`AцэLјц` `Gрещ`рех`ре `ре`рей`рее`xGјFЛю€к-йшOFOрOр €ч€щFс€чъщF Рm± €чущ–>±®– OOкБF,а љишП хз$„ш@ы’єс–(hа")FhFрћъШ8aрЌъ-d,й”$„шы’лДj0`рЊъ6d,с”с–E’”„шј—ГFрѓъXF»з†гpµOр– M(hсE€чЃщhhсI€ч©щ®hсM€ч§щиhсQ€чЯщрПъ0Fpљ pљ Ґг-йрAOр–(x(–(– љирБN÷шAрvъ†щ’÷шРсb€ч|щ÷шФсf€чvщрfъ$лДлДB1–ш€чjщd,у”рWъ8F„з†г-йрO:HЗ∞hРГFOрOр Р–8F€чEщ`±F8€ч@щрOк–$ с а$Mа8F€ч2щлA\ шdд≤іBу”®– $O$ВFа щз„ш@ы’Їс–(hа")FhFр ъШ8aр ъ-dілИи”Ц±$≠„ш@ы’"hFлДрфщШ8aрхщd,о”„шAрощ†щ’„шј—БFрещLFЩYE–рМы∞ FљирП§ †г-йрGOр Oр–FN'∆шrр…щ∆шsр≈щФшКБAрФшЙ±а љирЗEфАe(—EфАe x±(—EрФшЛ±EфАE∆шRсМВF€ч§ш∆шрЭщ∆шrрЩщPF€чЩшFAF€ч0к±Ѕсxа8F∆шрИщ®Oр-’сE€чГшхv0`сI€ч|шp`сM€чwш∞`сQ€чrшр`Є0a¶хvрhщФшЛИєяшHА%лЕ@€ч`шHш%m-х”рVщФшЛ± H`а∆ш qрLщ÷шјуГ$рFщ,ч–HFЖз†г–гјг-йр_OрOр £F–яш№АҐFVFGF»шҐр)щ«шcр%щ(x(–(– љирЯ&'а'@т&Хшk`±FфА6 алДB0€чшлДЅшdЉBу”рщGF»шcрюшсbючэ€«шРсfючч€«шФрршсlFючшрзш«ш£ргш Fючг€FIF€чz鱩л`а F«шр“ш «ш рЌш„шјуГ$р«ш,ч–XF£з†г pG pGpµF Ёйe,–, –,–,—аг±ё±!pає±Р*—љиp@F€чЋЊ{±Р. ”F€чсэР!)`pљ1± *”F€чОэ !хз pљpµF Ёйe,–, –,–,—аг±ё±!pає±z*—љиp@F€ч9њ{±z. ”F€чеэz!)`pљ1±*”F€чю!хз pљ Iµ±(– љ@т а@т. `hју@ф` `рLш љ§гµЗ∞ с #ђи!С®Ќй " F ©€чx€∞љµЕ∞"Ќй!С® FЌй ©€чХ€∞љ pG€ч]њ€ч]њ!pFpG±(– pGHаH` pGuМ М pGµючн љµ€чй љ FFFµючWю љ-йрAFF"Щ)–)–FљирБючзюFючгюF0FючяюF FючџюFюч„юF Fюч”ю+F2F9FљирA€чЦњюч ююч»юF FючƒюFючјюF FючЉю*F1FљирA€чlњµрш љJ!лГB—л »sаI)у” pG,@Зµрш љ")“IаK +“Iлџ{+–л` »sаR*с”*” pG9±хШщЎI`1` pG\ ,@З€чKњ-йрGF FF≥ючfю–ё±0юч`ю(—0Fюч[ю–-—t±8xЄF(–(–а'а 'ючIюЄB“ љирЗ FючAюF юч=юяшdРFўш ФB ў#)F@Fр5ыXєўш$Dр—а#"F)F@Fр(ы0Fюч!юючюсB:F€ч€ —1 ючю0Fючю8Fючю FƒзP  µ– hh±ючю€чI€!h ючю h€чB€ `љ љ-йуOГ∞ЙFЃOрШЌшА≥ючеэ–єс– сюч№э(—HFюч„э– x(–(–а а ВFюч»эPE“ ∞љирПФшx(2—7O„шQ€чґю®щ’%4OЂFаДшx∞1FДшyА8jWш ючіэ8j1лАiюч≠эЪ1FШр щ± ‘з8jр@8bmxj®BЁЎ«ш$∞Дшx∞ДшyАсЇFючЖэЎ±@(ў%/а@( “јс@сzD!€чyю#—0Fючrэ#Fсz Fрoъ—HFючfэючdэсBRF€чWю — сючcэHFючUэPFюч\э(FЙз†г@З-йрA)F FOр–-—& F!&`€чЬю!hЩ± юч@э hЊ!€чУю'h8Fюч-эP±Њ"!€ч*ю-–-– љирБ8F€чhюшз hючэсbF ючэ сfючэ сЇючэЊ" F!€чюсj-HOр,Oр¶sжsЖbOршji€ччэ-–-–Dа$HсB&pючхь"HсFючрьHсJјCючкьHсNјCючдьHсR'а pHсBючўьHсFюч‘ьHсJючѕьHсNюч ьHсRюч≈ьHсVючјьHсZючїьHс^ючґь@FЕз@ЗgE#пЌЂЙ√“брj жgїgЃЕЎФшx( —cHh€чЏь®‘Фшj(?фeѓШюч”ы@(“сz:FDAF€ч¬ь"—Щ@ ючѕы#Fсz FрЅш—Фшx(—џш лKш"са ааџш лВaЈB∞ў%}аЇс—©с@ Oр@ ¶л RFADсz€чНьl—ЩPFючЪыФшx(—!Ћш(џш лKш"џш лВјшРФшx(—.Hh€чqь∞-’єс5–яшђ†NFяшЬРGDOрЏш ЦB ў–F9F Fрbш"—Ўш6DФшx(—џш Kш!pџш  лБaўшБ€чDь_кИp‘ –ж2F9F FрAшFа.ѕ—Фшx(—џш$IЋш$џш IрЋш !Ћш(Фшy(—Дшx(Fђж@З†г°гP  µ€чты(— Hx)є!p€чь(—hF€чжы(—Эш€чЫыљP  -йрGО∞ЙFЪFFOрЧ8–єс5–&Їс5–ДшkpсlFючоъ с!F#z" Ќйx€чGы(—(–рјсDHF ѓЌйv9Fюч‘ъ9(Fюч–ъ ©ЌйсBюч…ъ x( –( –а ∞љирЗДшk`»зЩ  аЩ юч≥ъ®€чЖы(л—Эш©€чДы(д—Э©®#FRFЦ®G(џ—z!СФшx ±Фшk *“—"#FЌй F€чръ…з pGpµF L"F I*`"FрJы —I F!aIјйрръ4,`0Fpљ8{ < ЏЏ№ґН Аh€чЏњАhр8ЄАhр'ЉАhрfєАhрiєАhрlєАhрsєАhрмєАhрпєАhрЇАhрЇOфА3K`АhрЈЇµFАh¬hсPhрBэ†hљи@р ЄАhр®ЇАhрІЇOр€0pG pG pGµ–шЬ ± рAhIiИG љ-йрCЙ∞F с†FРЙFРРbHрэ"HFЂ`°р7эЭ"ЂHFb°р0эЯ"ЂHFe°р)эWHсЬЁш А@рyю(_–®†и†"HFЂa°рэЩ"ШЂDР`°HFр эЩ"ШЂDРa°HFрэЩШDЩРh hЩ_H h≈у1°хCР;—\I@ C≈у1°хCА;—@XHC Fс|рѕщсp*F FрSщсА*F FрЭщсД*F Fрqщсx*F F FрЉшсt:F Fрщ oР± аTшЬ™)FрЩ€ h™9FрФ€TшЬ ™AFрО€Рз"HFЂ:°рІь8єШ)F gрїшOфА0аg8I "oQш00ЪB—лјNhа@(ф”(—&1IлFлАТhƒшИ "Qш сМрьщ ∞ љирГoHWREVNUM_PHYS_ADDRSOC_HW_VERSION_PHYS_ADDRFOUNDRY_PHYS_ADDRHWREVNUM_OFFSETSOC_HW_VERSION_OFFSETFOUNDRY_OFFSET€рРЧАЧChipIdOverrideР \ЈН јhјhАo` pGјhјho` pGµјh FЅhFМ1рТщ љјhјhјo` pG8µ$ FiFр~шЩ F±хС“ JRш00ЛB—лјLhа@(ф”(—$IлDлА@h(`8љР \ЈН #0µ∞хС“ L"Tш2PЕB—л¬ChаR*ф”*—#JлCлА@h`0љ ызР \ЈН юµ†0 F °F"kFFрЄыЮ" °kF8Fр±ыШ4@ƒ@,” (`юљd,`юљFOUNDRY_BMSKFOUNDRY_SHIFTјhјh@o` pGјhјh–шИ` pG8µ FiFр%ш J ЩRш00ЛB—лјIh!`а@(у”(— `8љј јhјh–шД` pGјhјh–шА` pGюµ†0F °F"kFFрTыЬ"°kF8FрMыШ%@≈@5`юљPARTNUM_BMSKPARTNUM_SHFTюµ†0F °F"kFFр.ыЬ"°kF8Fр'ыШ%@≈@5`юљVERSION_ID_BMSKVERSION_ID_SHFT-йюC†0ИF°F"kFБFрыЭ"°kFHFрыЮ"°kFHFрщъЯ"°kFHFртъкЩр@— <@ћ@DкA»шљиюГMAJOR_VERSION_BMSKMAJOR_VERSION_SHFTMINOR_VERSION_BMSKMINOR_VERSION_SHFT pG pG pGЅh hR `Ѕh…hJiRJahI`FpG-йрGБFИFFFрNшс'–`hAF р@к``аh@ –,` hју†хAƒ9–`hА‘O&с а*hP– hAFЂh8@рXшv5†i∞BсЎHFљирЗ*h F!FHFр|шБх—,`тзр€-йрG%БFТFF,FOрFрBш≥hсXасhыqIhIE—OрFаєOрF@d£BнЎЄс–Єс–Oр€0љирЗ"арhKF*F1Fыpрш"рhыqPFрш кз¬h*—`B`Ѕ`pGµ$јй!јйCљ0іi)—" Fјй!са¬hы2IT`ВhКBчЎh)–0ЉG0ЉpG0±ВiКBўл0pG pGpµ Oр рOр€4–j±%&`X±Nh1@Fh^`Жiё`@iaа Fpљ\`№`aAр`Xh√йR р"F√йсэчкэ pљр€-йр_FFOррh€Oр€1П±Ж±phЇi≥iр ЪB ”2iR–:iR–єс–аFљирЯxhсяш`∞ср аЇс—єс–Hh†хQp9—Ђh*h0hIFк рb€*h hВB–Ђh°hрыю54с±iAE№Ў ќз£h"h8hезр€8  pµFјh!hјh1±AiOрIAa–а pљi±aAh±ИGаhhI`—аhE`≈`Е`≈b h@ `к—е`pљ-йрALАF FFOр€6аhєрBшpє(–5%ррьH± h!Ґi рDщ0FљирБ!@Fр£ю—)FрЮю–BF)Fр€±<`&рьззР Cannot lock in DALGLBCTXT_AllocCtxt: lock:0x%xpµ)I" Oр€5рjщ%N>∞hрoщрh±%&аBт@тФр;ъ–ph(єI"@ рРш –хАP  !`0hє h D0`рHэX±0h!Ґi рЏш∞hрBщ(Fpљ0h "°эчљъH±0hAтэчъь0h !Ґр®юрLэ р`їзШ Cannot lock in DALGLBCTXT_Init: lock:0x%xdalspinlockАhјhјhp0р4љАhјhјhp0рfљp0рЊАhјhјhp0рЊАhјhјhp0р.ЊАhјhјhp0р0Њр{ї(µ–( –( –Oр€0љFFэчґпаFFэчопаFFэчxп љ pGOр€3:±1±А’! ` `pGFpGOр€0pGIµ hR ` рѓш љX  рљ|µ% J FiFХХрнщ±%`e`|љ®р шШ `ШАh`` |љђ§Н I h`pGђ§Н H@hpGђ§Н р љ0 рDµL!р ± a4 ƒљƒыз`  IH`pG4  \  )—эчЎщpGµ F(± рvъ `± љэчћщ0р –Bi `ВiJ`¬hК`¬h `hJ@a pGOр€0pGр€-йьGАFF#Oр€:Ёй @FБF_кH #`‘K0F –#W–'ХCкG+—а#фз'хзiF€чЉ€±Ш€чc€ХЩ FЫ[±ЌйBF1FHFрь± ` љиьЗPFыз± ` pGH`ъз8 pGpG-йшCDNF%∞h(}–ph©F8єAI3 OфА2рўшШєphjFЅ– рF"Hh«j ЄGаAhЛk!ШGШ1(–р€щ∞хИ–ръщ†хАq9 —аh/°-K0" ааh0°*K0"ааh"'K0°0€ч3€(A—$O$/IяшЉАЄh`0а±hлƒш(ЯБшРЄhPш%сјуА2JpјуЅ2Кpју@RКqј°с(’(1 FрMшръ∞hлƒСш.P±(1 FрAш±hлƒСш.рUъdЎшДB ” аа±hbљишГ od~ tlmm_sleep_4018tlmm_sleep8926tlmm_sleepp | р pјуА2JpјуЅ2КpјуC@»ppGју xbуJxр@кВ0Кx…xрр@к¬0@кA@@рPpGpµ F F!рfы—(hЅ —Бh…h h)—рqщ–(hрIш (` FpљрµЛ∞FFFрш%±%` ∞рљ h("iFрRщOр€7±8FузЩ0 ∞лO– hр'ш%`уз ззpµFF&FF`р%ы± Hpљ hЅ—Бh…h h) —р/щ– hрш(F&`pљ pљАµР±Ѕ р—Аhјhh(—ah F…hИGah FIhИG љOр€0љ-йрGВFИFW–кhВ≥ЇсR–ђh,OўЄсL–PFAтQалA@Dx+ш— #ал@л∆ЦYОB–@ДBхЎДB2–л@!лјQX9±#ЙFлј$X"а#алј+аPFэч&шFVш$йhл@Qш0эчшЗB—PFэчшVш$FиhлAPш1PFэч*и0±dLEёџOр€0љирЗVш$йhл@лј»ш тз8µL iPєI сOфА2€ч)€± 8љ ijFЅ– рF"Hhƒj †GаAhЛk!ШGШ8љh o8µL hHєI OфА2#F€ч€± 8љ hjFЅ– рF"Hhƒj †GаAhЋj!ШGШ8љP o8µLаhPєI с OфА2€чЁю± 8љаhjFЅ– рF"Hhƒj †GаAhЋj!ШGШ8љh o8µL hHєI OфА2#F€чЄю± 8љ hjFЅ– рF"Hhƒj †GаAhЋj!ШGШ8љ o рChЫiG рAhЙhGChџjGpµM®h€чЭэрЧщ–®h€чЧэ FpљР µрѓщHАhљи@€чКљР (0і–ДiМBў+–0ЉргЊ0ЉpG0µFју Hh®BўƒуCP(–(–а!а! Fр9шрƒуЅ1AкАфр@к— фАA@кQ(Fљи0@рЄ0љ$ (–Ih `@hH`pG$ Kµ[hXМC@!CPљ$ JhГBўRhл0`pG$ Kју hУB ўју "л2H)@hБX–рБPpGрAршз$ –ш∞ ¬у B–КCјш∞ pG–ш№р И@pG–шіјуpG–ш§ју pG@l рpG0!јш®pG!јш®pG !јш®pGh±BрАа"рА`pGµDhфшdDкAкВCA`љ±@та@т!јш®pGјш†pG¬kр<±Bр а"р ЅcpG–шЄ р±Bра"рјшЄpGBh¬у ±BрАа"рАA`pGh±Bр@а"р@`pG ±!а!јш®pG¬kр<±Bр а"р ЅcpG¬kр<Т’IаOр€2лСbpG±@тQа@тaјш®pGВiрр@CoркБCБapG ±!а!јш®pG!рAdpG¬kр<±Bра"рЅcpG¬kр<“‘ЙЅapGAcpGpµFјl#elЖ р0C%р(ВBЎFаќ\[ƒшa@щ“ ±™Bў!а© F€ч÷€Fpљ0µЗ∞ FOр€4Р±Н±iF р6ьP±!*FhF рСэ!*FhFрN€$∞ F0љ$ъз-йьAM$@тф&F@ти7(hi(±DEЁOр€0љиьБ)h a шзЦdhh!Ђ:FРhF€ч%ыжзР I hapGР Hi@– pG`  -йрAFр;шOр€6ї€чJъ`iOфА2#F≈с4†€чтщxє' h 0ѕ'iОј h+FaicF hҐi40 ргэ Fрюш(–0FљирБDAL_PLATFORM_INFOµрш(–Oр€0љ-йьA;NF F0x(–Oр€8≈±hx``©xиx@к@†`(x(”(yа`'(x([”hy`aи±јс€чы ±@FљиьБ ыз" а‘шјл@ЛyLш00£iлј …y@Cш aiБBоЎ!jF Fрuш±ph± аШ t.аK IOфА2€ч-ь± аph™Ѕ– рF"Hh≈j ®GаAhЛk!ШGШ (–#(– а`h(–а`h(–(—аh(—'t7p≠зд opµF L"F I*`"F€чш —I F!aIјйюч¬€4,`0Fpљz Љ ЏЏ™Н pG pGАh€чыЄOфА0H` pG pG pG pG pG pG pGpµOр€5Т±Di# аЖiVш3`ОB—Аi!л√@X` pљ[ЬBпЎ(Fpљ±@h` pGOр€0pGµA±i Ѕй@ Ѕй#љOр€0љшµ`!FЙ рzы–`!ьчfю ?I " `с рП€=HiF€чeы±[аOр€0шљШ"Ѕ– рF"Hh∆j ∞GаAhЋj!ШGШсЅ– рF"Hh∆j ∞GаAhKj!ШGШс,Ѕ– рF"Hh∆j ∞GаAh k!ШGШс0Ѕ– рF"Hh∆j ∞GаAhЛj!ШGШс\Ѕ– рF"Hh∆j ∞GаAh l!ШG oрCFлј@ј≤(Ѕй2ч”hh`c®h†cиh d(|аc шљвЪН o-йшO FOр F–m±®–рјсF$`Oф9лЦа љишПIFHhјь–hР(ы–†Eў"iF8Fрqы? а®–ра"iF8FрeыdілЦа”PF№зр Єµр шI"J`MцЁR `љ! pG pGpµ F –]±€чй€(—)F F€ч•€љиp@€ч№њ pљ `@pG pGµ#F™ршљ-йр_ВFјh FFFOр€4–шА€чЯщяшђРяшђА≥-—$Oр аVш$ўшју НB“€чьЎш±л≈Аш,∞dЉBл”$Џш –шА€чzщ FљирЯ$'аVш$ју ўшЕB“ЎшЎ±л≈(F(1€чъГFЎшVш$л≈Рш. PFр}щXF€ч№ыЎш!л≈Аш,dЉB’”»зh  pµ L `F I"F HючNю —I F!aIјйючфэ4,`0FpљT{ р ЏЏ ЈН Аh€чjњАh€чiњАh€чmњАhр,ЄАhюч#њАhр6єOрK`Аhр7єµFАh¬hсPh€чSш†hљи@рЄАhр(єАhр(єАhрOєАhрNєАhрkєOр€0pGµјh–шА€чш(–Oр€0љ-йрATO%Ж∞FOр€8(F9x)o—PNСС!лА@(Fш"ш”бh сXА1€чґш(:—аh–шА€чєшаhс@h€чш(-—€чgъ1(–€чѓъ∞хИ–€ч™ъ†хАq9 —аh9°kF0" ааh<°kF0"ааh"=°kF0€ч шPєШ"xa=°РkFаh0ючю€±@F∞љирБШ"Р8°аhkF0ючр€(±аh!7Ґ@h€чшЩ"ШkFDРаhA°0ючё€ш±#а,алБmFш ЩлАQш%mA`ЩQш%mБ`ЩQш%mЅ`ЩQш%maxh@x`ШPш%H№—®€чпъ 8pаh–шА€ч5ш ѓзh ∞{ tlmm_total_gpio_4018tlmm_total_gpio8926tlmm_total_gpiotlmm_basetlmm_offsetTLMM_DeviceInit: Failed to retrieve the register base offset.tlmm_ports pG pGFµ—≤€чЂъ љ pG pGpµFючNюOр€4јє H0! KOфА2@iлј †ючтэ`єN1hI±jє(Fючµ€1h Hb pљ Fpљh  DALTLMM pG Hpµ FF@iБB“ M)hq±лƒF(1€ч@ш)h∆у@PлƒБш. pљOр€0pљh  -йрA)F FFOр€7“HлДPш!(–иh–шАючm€ IлДлА±Ћа”йi€чъиh'–шАючZ€8FљирБ∞{ -йрA АFFOр€4M–(Oxxєрgш(F–Єс –Єс@—$аUш$€чЅщdіBш”$5аЄhї€чиш1(–€ч0щ∞хИ–€ч+щ†хАq9—K"°аK"°аK"°H0ючОю@– HАhЄ`$ аUш$єhју Qш Aк€чКщdіBс”«з FљирБh §{ tlmm_sleep_4018tlmm_sleep8926tlmm_sleepµЕ∞I» РHюч*юH"°kFючLю@єШ"Р°HkFючCю± ∞љЩШDР®€чrщ€чјш∞хИ–€чїш†хАq9—"kF°а"kF°Hюч#юI 9Hp№зА tlmm_basetlmm_offsettlmm_sleep_4018tlmm_sleepючЫљµ@j$0± I\эчи8± љ"#Fµ!ФФа#ФЉ!FФ рУы љ\™Н |µL%FаКB–4"h*щ— аb±sj ± +ў"Хя!Х рvыubа"+FЎ!ХХ а H0Ѕ\`hьчвп± |љХ"Хз!#h р]ы |љL™Н -йьG'ЄF†±Fy–±1H’йСьчьл@лАFHF€ч)щpCDлЖF а#@тtFЌшАЌшАа#@т{FЌшАЌшА р*ы љиьЗ0F€чv€іBў0Fа F$%–HF€чъшр’DF(FЕшА€чf€H±#@тЕ FФФры'(FрZщH±#@тЛ FФФръъ'8FЌз#ЌшАљ!F ЌшАрнъ”з@BµИ∞ючЬ€$∞хИ–ючЦ€†хАq9 —©†ючэЄ±#@тFФФ а©†ючшьX±#@тFФФ р¬ъ ∞љ$®"F°Ђюч эI± ` сзШ`ъз/core/buses/uart_40x8/core/buses/uartUartMainPortPhy` µ©Fhючґь`± @т"FFРР ръ ∞љ#с°® рчэ#с °® ррэ#с°® рйэ#с°® рвэ#с°® рџэ#с °® р‘э#с°® рЌэ#с$°® р∆э √зIsLoopbackBitRateUartBaseGpioTxDataGpioRxDataGpioRfrNGpioCtsNClockIdIndex|µ FOр –.`€ч€(–Љ±"#F@т»ЦЦ а#@тҐFЦЦа#@т™FЦЦ рпщ:а L y(– hИ± ` q F¶b€чP€А±#@тќFЦЦез ,`|љ"3F@тњЦЦџз Fр•€0±#@т”FЦЦ а Fр@шh±#@тЏFЦЦ рґщ F€ч[ю |љ Fр“щ‘зd µjЗ∞"Ђ ±"СЅi±Cш"RAi±Cш"RАi±Cш"RF €чэ( – @тKFFРР рГщ ∞љµjЖ∞"Ђ ±"СЅi±Cш"RAi±Cш"RБi±Cш"RCi$Ы±БiЙ± ©€чдь( –#@тsFФФ рUщ ∞љАi"Ќй@тjтзµ#@±q±≤±yі±∞љи@рMљУ@т7!У#FаУ@т=!У#F р/щ љУ@тG!У#Fуз-й€AFF!F ЬШXє$ iFючМы± ∞љирБШOрA≈уҐхCƒ;`ШhAр`— J@ JC)C!рАA`јйdDaIДaјй ±«aџзыч;эр€0  ∞-йрAFHОF#h`—шјаLh Tш#@fh а•hUш PљB—#h9FpFљирAG@ЖBсЎ[ЬEиЎOр€0љирБ\  шµ$F F'FhFФюч€ъША±Ai алƒТi≤B—(`лƒјih` шљd°BрЎ/`Oр€0o`шљ-й€OГ∞АFOр ЩFVFOр€;Ќш†ЎйP,’≥ћ≥ ©€ч €±&"F#HFF рФэўш$∞с€/–#"FhFF рИэЁйШ$'i±jh(DDыч4пH± аЮєЎш&йiDўзРB—'W±/”—"F)FHFрЕщ∞љирПаўшју(–№( –( –(—а(–(–XF@µ—XFдз$ а xАј≤DБ–рјсDPFмз р=љ-йрAFHFAтh№±а~±0Fыч¶ь (“0Fыч°ьа 1FF ычnь`± h-D h±-з—єљB“ љирБ FызР 0µLЕ∞†h(—%Х©(FХючъ"kF °®юч?ъШ±@h `" °kF®Хюч4ъШ`` †`∞0љ8  TargetCfgDalEnv0і FFF KШB–(–K–<± K;ШB — 0Љюч≠є»—Иј– хз уз0ЉpG@ pµ%FF "ƒй•`F е`рq€%aеapљ-й€OИFяш|±$FсOр€<ЎшаГ∞°F&FВF!F,аhZ'–ВhD≤BJЎс—Ўш МFR—»ш0\FЉ±MKh ;[h≥с_ ўKOџш 0їB–”–$ГhDџ–$к –$I0rFОEѕЎ≥$≥ )Fэч≥€Ўшh`Ўш!h@ahDи`Ўш(aаh(`Oр hhсЩWF р FCh`Vаoр∞љирПШOр0р–…h±B“юч4щЧ®Ќй3FOр€6$H1F2Fюч±щ±0FвзЎш )FШэчr€ћз8hA –t±0`8hџш џшАDp`аЄh∞`шhр`а)iл 0`йhл p`єhЙDїh≥`шhр`ШHєhhА‘ I(h2h@Щ€ч€76 с ЎшQE ЎШ§зD  @ @ (р€-йшCFh&Oр'Oр ју(X–№(–(&–(—а(;–(&–Oр€0љишГ# FFhFЦ рњыЩ®h)DD†`ыч0ы`` `Iа#сF рЃы ƒй?аш '`@ƒй8а# FFhFЦ рЬыиhAШ@D†`ш @ƒйp%а# FFhFЦ рЙы(iAШD†`Pш @ƒйРаFючґшЦ –#:FFhF рqыШUш ƒшРƒйА ЯзHCт4@т8!h†ШGюзђ boot_error_handler.cюз08 (“ pG pGрµ'C–Oр а№ш c@1*iR*adhҐBў*i *ќ”@FљирБ-йьAHhЦOрmFDFGFЌшАI"(Fычъ ±dm<,хџ/± †рФшЕшАа †рОшШ∞B–љиьA€чaњљиьБ§ Canary foundCanary NOT found-й€A'HhЦ'HAx1±&I"®ычҐк® аБxY±!H"!IјычШкHјыч2о†аЅx1±I"'HычКк&†аy©± mFFFР"I(Fычіщ ±dm<,хџ±$†а'†р3ш аAy ±HшзАy±€ч|€)†тзШ∞B–љи€A€чыЊљи€Б§ А  ЉМ TEST FAILURE. DEP did not prevent execution.нН TEST FAILURE. Code overwrittenCanary foundTEST FAILURE. Canary not foundTEST FAILURE. Canary overwrittenµL€чP€ x(ъ–љА  pµ#F F а(FmршF Fdр шЖB–Xpљ[УBпџ pљ рА hјЅ@»≤pG рАµјh€$Д@Б@£C C`љ-йрA$F1HFрtъ-V–®h(S–)hй≥hhЎ≥`’йA`(Fђhръ‘шЄсЄБB@—`n±сpр ъ jрйщ±±†hрюN%/F > а∞hPш%†B—∞h@ш%pаmрэ®BсЎсlр6ъ†nрсщ‘шј±рмщаа‘шИ±сxрещ Fращ0h@0`—∞hрўщЈ`$Hръ FљирБМ  µL`h± љр–щH 0ръ ``фзА  -йуO$FЙ∞†F!®ычЅъяш≥°FNF Fџш( –’йр©ь– Р®h ±а ∞љирП’й"Ќй РЄiРF®р•щШ(м–Ш®`8|€( –®i€(–™H 0р¬щџшP≥mа®h$&€!р∞ь0єЧ!’й#®hрqэЄhј–(FрMь±$xi±–шa®hр`э)i"@к®h1Fрy€®рTщ F≤зрnьАрYщЋш8±рfьБџшычPъ3а®р?щИH 0рАщЩзџшPш&јЉс–№й’й#P@Y@C—џшйhPш&јhИBy—№ш©iИBщ—№шiiИBф—Єh@l’dF аЄс—лЖvр*ь∞BѕЎXк]– рщ_к w–)i…ш Ш ± Щ—й!…й!М±®рушсlFр0щсЄIF рши≥0Fр*щЕа– рншn––!ычйщсlрщсЄƒшЄƒшЉ "F)F F»ш@ыч0й"©сxыч*й'bЄhј%‘8FрФш(±сЧ»рєь jс$|†hрьиї FрРша аFа±(FрЙы`jАрђш†fh≥ajЙычІщиh@±Oр ƒшd†(i±Oр@ fIF0F р£€»єа:аўш#i0к –C#a n"@р@ f j|†hрШюаh8єиh(±а`аа `fВF0FрЃш…ш@џш@Ћш"аєс–HFрYшd±‘шЄсЄБB—†n±рNш FрKшЄс– »шШ±®рBшOр LF FH 0ршЇс–Jсpбh#Fр9шHFОжА  YМ pGБhрB—|±@iє’ pG pGjЙh…–kєјj(ў pG pG ±(–(—а а эчbЉpGэчМЉ(–i(–эчrЉpGpG pGpGµiFэч—ь± љШљ0µ FЗ∞–%сiЌй‘йC–"hа F Hэч„ь±%a∞0љ i©эчєь!ШƒйШ†`Ша`рз@ (ычђЊ pGpG pGpGpµ0–%hu≥сlF€чт€ i@‘(j|†m ≥"ah®hржы©n bhAш"bh!(nС@ИC(f‘шИ±сА€чТ€сt€чќ€сx€ч €`}(–а pљ"ўз n€ч}€ F€чz€0F€чЊ€ pљ-йрA#–%hсlF€чѓ€сtF€ч™€ i@‘(jвhah|®hр†ыbh!(nС@ИC(f8F€чЪ€0F€чЧ€ љирБ ыз-йшCOр–%hсlАF€чГ€сtF€ч~€ i@‘(jс|Ргhah®hрїы–а љишГah®hрЛыƒш№ аf!†f gƒшЎbh(nС@C(f8F€чY€@F€чV€0Fгз-йрOOрF±FЗ∞Oр ≤F–Чш (– F«ш†а%n5ѕ±Еш ∞«ш†сxР€ч1€сtР€ч,€ hahn ътB–АhрbыАFfаЕш †жзШ€ч€Ка‘шј_кМ’ЄсƒшlА–AFа°j†i9ƒшp† "D!абn†i"oDChъГт"gсвf£jЪB—ƒшl†ChOкRR’_кМb’≈ш∞а -’_кћr*–"j`–й ≈й аm(`»"nл@л hiaQF"nлјш† o(aƒшp†/±Чш (—vаv"n лFлЕш бnAE –аh(Щ—‘йАhрhы(Т—±‘шXРШ€ч©юєс–'OралG!nл hF"съчЄоЌ»GЈBо”Ш∞љирO€чЛЊ-йшO$FFШFА±Аhp±n±Fl0ГF€чyюOр )n ъщк ~—а љишПhjЄBwўи €ч1ю–и!ъч-€0h@‘(jЄс|Р–#а#®h2F9FрЫъиї®h9Fрpъƒш№H"ƒйWс1Fъчfосt€ч?юсx€ч;ю_к–hЎшƒш †ƒй(n@к (fpy(—†jл@ј€чмэ fh±°jлA …ъчдюOр€0`f®n@ш'@а'а iOр@‘†i®є÷йсАOрДи#±iб`§сАсА€чќэ‘шРP±‘шИ†a°jа аъчШюƒш»Pа n€ч•э F€чҐэ$XF€чеэ Fpзpµ FР∞ –\±Фш ((F–€чВю ∞pљ ызђm Ѓ©(F€чwюШ(с–,ц–"1FhFъчвн с Љи†GШ(й—бз€чbю`h(№— џз-йшCFF –%hсlБF€чҐэсtАF€чЭэаh±а љишГ±ah®hрƒщƒйgЧ3F(jah|®hрЄъ@F€чИэHF€чЕэ жз-йюOFFЁй xЁш0†–`}†±сtБF€чoэЌш†*FЌйx3F FрoыFHF€чeэ FљиюП ызpµF‘йрш–hix±†h)FръPє†h)Fр¬ъ(є†h)Fрхъ(– pљ K"pµhМ±аE@K@C—лBpљRлB”йSUк–€*о” pљD  JµPh(—h,–а@P`л@—й1 C–€(х”а€(” P`љD  pµ# F€"FAтрыъБ)Ў ( “†с)Ў(“†с ) Ў#(”€,–Cт #Bл1а#"!(Fрџъ(– pљ-йрA FАF|–Aт#)F€"р ъБ)” 9)” 9)x“Aт``#9F€"@FрЄъ#Lт9F `@Fр∞ъ#@цr)F†c@Fр®ъ#)F†`@Fр°ъ#)FOрBа`@FрЩъ#)FOф" a@FрСъ#)FOфА"`a@FрЙъ#)FOф2†a@FрБъ#)F:аa@Fрzъ#)FOфА b@Fрrъ#)FOфј`b@Fрjъ#Hт)F†b@Fрbъ#Dт)Fаb@FрZъ #)F c@FЪа арQъ1F`c@F€чH€± љирБ ызµ!# FСFрBъљјipG-йшC'F#FЬИFСF:FFЧр1ъ Р"FF(Fр)ъ†h#!Oфј"@у@@Р(Fръ#(F"Ч!ръЃ`бhйgЄс –!|€)—!KF∞(F"љирCрдєљишГ pGxµ&F Fz±H!л0)P"Cтл1#FҐ@(FЦрлщOфШ0Цл1(F#"рбщ xљ0J#µл1OфАрѕщрљ(0FHл0XKл1PPpG0OфЬ2л1Oц€r#р≥є-йшCF4H FFЁш РШFл1w 8`€чҐы 8`Єс– hCFJF)FР0Fр…ш y#РOфШ0л70F"9FрНщ`y# "9FР0FрЕщ h#"9Fју@Р0Fр{щH°Лл01PH!i 8л01P†i#РOц€rH8л10Fрdщ"j)F0Fр…ш 9F"FР0FрWщ#9F"0FрMщ± љишГ ыз0(8J#µл1Oфp"р9щ@у@@љ(0-йуOС∞ |ИF©Ш€чRюаїяшЬ∞$Oр DаЎшлh!л%PшР2ар,–Bт Ф#"лЕШрщШ≥џшpп±_к…p–Ўш !лCXаЎш л#XГ@Ўш л X)FШЄG± ∞љирПmvOкY Ш®Bў.«—dШ†BЈЎ нз@  ¬кBKл1BPpG8шµ$F FCтЭл1ът≥3FР8FрЊши–$®’Dрh’Dр(’Dри’Dр®’Dр IDрјл1xPа 3FР8FрЪш шљ0µ#ТOфШ2л1OфшрЛш љшµ F –d±Hh^±`i–ш1X–"(F!∞G± шљ`i&Bт3F"9F–шР(Fрgш#9FА"(FЦр`ш†h‘ 9F #:FР(FрUш шљ@  -йрGР∞ |ВFИF©€чlэШ(”&OрА Bт Ўш лЖ$ X аи–#PFш"ЦлДр.шdmШ†Bў-о—v .д”∞ љирЗ8µFCтл1FXJ±"Т#F Fрш•aеaа"Т#F Fрш 8љ@X@Ў@pGDµhЬСCЬ@ C`љ-йр_ЖnFАjFЁй •Ёш0∞6∞BШFOр Ў&аn∞BK–( ’`nA–°iD@hрј_@–h>‘и’фРo9–(’и5‘ hАh€ч«эє_кp-—9FҐnhуGф`jу`уW†iDјй†n`f"nOк–л@лјш∞(¶f‘Ґj °i€чTщ€чЮщ‘й#2FАh€чЅю€чХщOр HFљирЯ-йьO*o“hлЅBт!лEXOр нo–хАT$j %µлo“$а$ФEX6I @Bт!л'AXOр1LЄFяшƒРфFЕB'h“o!†ЄGюзN4h , ”ал√zhВBЎњh:D™B“[ЬBуЎЬB —лƒP`0hлјБ`0h@0` љирБТ!†ЄGюзђ boot_clobber_prot.cь" KpµМCт>hМB“z!*F †ШGюзp±h, “лƒY`hлЅК`hI` pљН!*F†ШGюзђ boot_clobber_prot_local.c-йрAFCт>gI ІB h“Њ!†®GюзяшPа!ёшј алЅ÷й6D¶BўЯBў I±МEсЎ(——!†®GюзљирБђ boot_clobber_prot.cь" K"pµFFhГ±h є]he±Y±e•B” а°BЎл¬vh1D©B” pљRSш2)р—л¬vh.л—(т—HCт>@тЉh†ШGюзH  ђ boot_clobber_prot.c-йрA FIFCт> h0±g”†@тШGюз€!†ШGюзh!алЅSh£BЎТhDїB”™B” љирБIОBоЎ)F F€чЦ€)F FљирA€чVњђ boot_clobber_prot_local.cpµH$OфАр'ш M(h(–алƒJh!ъч§лd)hQш4(у—лƒRh*о—pљ@ЗH  I`pGH  (–!`pGK"pµFFhC±h є]h%±±e•B”а pљ°B Ўл¬vh1D©B”л¬ H`рзRSш2)н—л¬vh.и—pљH  *µ–p±hc±л√TшLМB—Pш3СB—[`љH’!Cт>h†ШGюзђ boot_clobber_prot_local.cpµFHЪ∞hФрь†рQырЧьHMh(`Hh`(FрҐь0haрЊы`!FҐhFщчы†iFрЕьШ†B–∞љиp@юч Ї∞pљ§ boot_config_data_table_init, Start| d  | (%d Bytes)boot_config_data_table_init, Deltapµ F– ±Fа HCт @т…h†ШGюз©B—!F0Fршd4!h)х—pљђ boot_config.c-йрOF≠HІ∞ h&РБFЂOOрCт Х –бj0FрфщakY±0FИG(–а;hУ!Ґ†RFШGюзea l±€чрюpiјлјл iEш pi@paрkыръ РЩ†рЭъ`iCтU (P—аhP±(M–(J–;hО†ZF@тdШGюзр€ь8≥†h(—†kp±АFрƒш@hБj@FИG†h©рPш†i(–а;hЌ!~†RFШGю箈ч’ь!i0F€чГь–;hё!w†ШGюз j"°iЦЌй†k#ih®рі€0FрюP"Fс рљы!Ш≈йkарЇь(`lB–Ѕ≤†iј≤рЪэ†k0±©р9ъ†i(–а;h^†RF@тШGю箈чУьрџэр[ы!i0F€ч=ь–;hT†@тШGюз р™шрxэр≤€!Fрlэ0Fр…эP"Fс рwыр°э≈йрЧэ"а(—рћю j"°iЦЌй†k#ih®рN€ рљю0Fр¶эP"Fс рTырОю!≈йрЗюh`аkА±рRъ`!F8Ґ®щчШщбk™ Шрщаi(–а;h(†RF@тhШGюз jАє`i( —†i(–;h!†ZF@тГШGюзajI±0FИG!k0Fрџш j(–а;h†RF@тЖШGюзаiАє`i( —†i(–;h†ZF@тЪШGюз°jI±0FИG&ЩIE –'∞љирOюч]Є;h†RF@тЭШGюз'∞љирП§ ђ boot_config.cImage Load, Start(%d Bytes)(–)–ИB– р∆ЇpG!аB@I(ъ—FpG†Cт*@т!рлюboot_error_handler.cpGJ IhИB —Qh)–Рh(–“h≤хјЎ рХЇpGHw`TZDII—шр–—ш рЅш pG–УHhј’ pG pG—УHhAр`pG—Уµр€– а`ъч4и Fљи@рpљHg!Cт h†ШGюзђ sbl1_target.cHhOрhaу`FъчqЇ—Уpµ–)– F аH[!Cт h†ШGюз(FИG$!h)щ—pљђ boot_mc.cµ РhFр“э@± HCт.@тh†ШGюзШ ± HАx± љ љђ boot_elf_loader.c  шµO$шhРа8x(–IлDЌ±( –оh(FрБы±1F(FрZщiF FрnюdЄИДBе”шљ JƒлƒлЅдзHCт@т!h†ШGюзЃiЁз  ®Ґ@З(ѓ@Зђ boot_elf_loader.c|µM FCт.РиhР$а(x(–HлDБiЅуa)–рЛщ© Fр+юhFрNэp± H2F@тж1h †ШGюзHƒлƒлЅAhвзd®ИДB„”|љ  ®Ґ@Зђ boot_elf_loader.c(ѓ@З-йу_яш†°$ј≥Щ±≥рРърьР≥яшРБШш(?–bH¬iЄшЎш,FHCЎш$Ж≤Ўш2F0€ч ыЎш$3FЎш*FрОъCт8 8≥Ўш2FЎш$0€ч?ьрю±ръЄш 0аааЏш0K†Cт@т‘QШGюзЏш0F†Cт9@т№QШGюзBH80jљзЏш0@†ZF@тлQШGюзШш(–@H'лDБF–йQFhЅу`(–dФBм”љиьЯ8HƒлƒлЅБF–й–й WлзЎш("Щ0€ч™ъЩ(#Ўш2Fр-ъ†±Ўш("Щ0€чбыJт IЄA“Џш0†ZF@тaШGюзЏш0†ZF@тaШGюзры»шJтЎш0"FF3F€чwъЎшHFр*шЎш"FЎш0€ч∞ыЎшс(»ш Шш)°—»йЮзђ   ≈@Зboot_elf_loader.c®Ґ@З(ѓ@З-йр_яшƒАКFX±0I x+–BhOрСF—–йVаЎш0*†Cт@т8ШGюз–й$озiOр—–й 'аBiOрИhЛFFQFс€ч¬ъ≥Tк–Uк –`wл”џш+FJFQFрРщ»±(ЊA“л“bOрщчЬо!FPFљир_€чієЎш0 †Cт>@тCШGюзЎш0†Cт8@тRШGюзђ   boot_elf_loader.c-йрOЕ∞!OфАС≥fI x)(––ш∞"–ш †СFТF–йДСрХщ(}–Ш C^–Xк [–ШілJFРAU”FFFЌш†MаUHCт@тДhS†ШGюз–饖ш∞Т–йВ–й AСF’зqwс“5FHHЩ+FZFАhрщ®±DJл Ш@РРivgсAБBЎ>HCт.@т≤h<†ШGюз:HCт8@тЂh8†ШGюз®СaрZы@±3HCт.@тЈh1†ШGюзVк¬—ЪЄлyлJ“ШлЪ@л Јл РA@”яшР∞"FQFџш0€чищи±Юа7аіл8F!Ffл щч‘нџш!*FсВ±A”HCт.@т”h†ШGюзHCт>@т…h†ШGюз(Ћш®ры@± HCт.@тЎh†ШGюз!FPF€ч¬ш∞љирП  ђ boot_elf_loader.c-йрG$рЛы(MF™j)j р%€©Икj®jJCij0D р€"OOр©FІхHj4аЩш(–рpы лDJhD»`iHaИiјуb*– арaыƒлƒл¬—йV@FсЅй—йЅй Hhјуc+ —Gш2А@р†`H`аЅшА@р†`ИadєшМB∆”љирЗ  (ѓ@ЗpµFFрєър°ы@hБj FИG(L(M†h@є&рЦы@hh0FИG†`P≥#I0@"€чyш!I@#†h"рэ€0≥†h@"I0€ч≤щIy p(#–°с8%b4"(FҐb рЯюH@"!щчьмhНаb®Н†АH`bpљ+h†Cт @тQШGюз+h †Cт8@т*QШGюз!b@ †b»ОаbП†А Hдз  ђ @≈@З®Ґ@Зboot_elf_loader.c(ѓ@Зµ0±Khx* —@h аHCтOриh †ШGюзАi) —Ѕ ‘јуBQ)–ју`(–)– љ љ  ђ boot_elf_loader.cHµ@x(—HCт@т§Ah†ШGюзљ  ђ boot_elf_loader.cJРpQppG  -йрALM LLиp(j#hX±®ИCт:±d( ўH†BF@т1ШGюзE†Cт6@тэ!ШGюзрФш(–#h?†Cт9@т1ШGюз@Hh@Hр’шCт.0±#h7†:F@т 1ШGюз€ч≥ы(D–рш(–#h/†:F@т1ШGюз2H™j)jреш0±#h)†:F@т1ШGюз™ИиjijBC*Hр÷ш0±#h!†:F@т1ШGюз%N&I#H2hрBш0±#h†:F@т$1ШGюз2hHйhэчmь8±#h†Cт<@т,1ШGюз иp(x( –р?щ(–#h †BF@т;1ШGюзрдш(–#h†BF@т71ШGюзљирБ  ђ boot_elf_loader.c<  †Ґ@З@  А≈@З"Hx(–(–;а Hx)7—AxE)4—БxL)1—ЅxF).—y)+—Бy)(—Н4)%—AН )"—АНаd(Ў pGH80x)—AxE)—БxL)—ЅxF)—y) —Бy)—БО@)—ЅО8)—П(ё— pG  ≈@З-йуOяшј†FБ∞Ъш(–‘шА'‘йeрG€яш®Р(Cт. –ўш0'†ZF@т>!ШGюз‘шА¶i‘йWйзЪш(–ўш0†ZF@тC!ШGюз»у`(,–(*– F€чrю(%–Uк"–L*FK1F hРHhрK€8±ўш0 †ZF@тT!ШGюз"hHЩэчПы(–ўш0†Cт<@т]!ШGюзљиюП  ђ boot_elf_loader.c@  А≈@З<  -йрG%яшРА©F=а#I≈л≈лј F€ч%юР≥‘й C/–‘й!Rк*–‘й0ёC«CЦqл “ЎйvЈл vл ”ЫHAыЖA”‘й`фC√Cqл“ЎйCІsл”≤HA°ГA“Oр а€зmЄш8®BљЎHFљирЗ@≈@З(ѓ@З-йрA%N/F!аHлE F€чЎэ»±`iЄ± i®±бh CРB“≤iКB”DСB Ў°h CРB“≤iКB”DРBў'аm∞Н®BЏЎ8FљирБ≈@З®Ґ@ЗµF р5щJ!—p±(" FщчnкH4"!щчhкH@"!80щчbк H!@цАBщч\к H!AтаRщчVкр4юљи@!JтщчKЇ  ≈@З®Ґ@З(ѓ@ЗHCт/@т«h†ШGюзђ boot_error_handler.cБF%ИFFщчькN∞h@∞`(.ЎL( –л@лА±h!a)†иА–аHҐ;F@тшчющHр3ъH°` Hб`из4hа‘йИG§hm ±-ч”рЧь±HhАGюз щчєыъз† §С Boot error ocuured!. Error code: %lx ь! § BOOTИ јПв€/бHCт-@т!h†ШGюзђ boot_error_handler.cChЫlGр=єµFрш@hБj Fљи@GChnGµFрш@hБh Fљи@G pGHµ@h(—H*!Cт h†ШGюзљL  ђ boot_flash_dev_if.cHµAh±!pљH*!Cт h†ШGюзL  ђ boot_flash_dev_if.cIµ xє±H`љH*!Cт h†ШGюзL  ђ boot_flash_dev_if.cHµ@h(—H4!Cт h†ШGюзљф  ђ boot_flash_dev_nand_if.cIµ xє±H`љH4!Cт h†ШGюзф  ђ boot_flash_dev_nand_if.c-йрCLHџ∞_кЙFhZХJNV–KL!IH `JH``J†ртю(†`R––шИИGрмF†h–шМИGр м8D`a F€чx€ F€ч≥€»G( aB– РР∞"†h!oДh®щчЉи∞"!.®щчЄи,N–аh(K–2H∞#"© р¬э(C–/H∞#".© рЇэ(;–®iFр™ъ©F.®р•ъ.–( –-а3h%†Cт@тЗ!ШGюз3h!†Cт=@тФ!ШGюз3h†Cт @т£!ШGюз(—ЁйИBў©а.© Fр§€аh–ш–)±Ўш∞"јj ръZШ®B–[∞љирCьчdњ[∞љирГ§ ђ ьЪН $ X  0:MIBIB<  P  boot_flash_dev_nand.c8µ @тР1Ср√€ MCтX±iF€чГюШ( —+h•!†"FШGюз+hЯ!†"FШGюз8љђ boot_flash_dev_nand.cµF€ч|ю@hh Fљи@GCh[kGpµHFOрh–0xCт$0( –R!†ШGюзQ!Cт†ШGюзpx:(–S!†ШGюзƒлƒ1FлА0шчил±d ,у”а ,“ƒлƒлА0pљ pљђ boot_flash_partition.cChџjGµF†рб€р'щ Fр(шљи@†р!єboot_flash_init, Startboot_flash_init, DeltaBhТjG0іDh§m§F0Љ`Gµ –р€щБ)“яир  H\!Cтh†ШGюз I"F€чyюръ(–љи@€чуљљђ boot_flash_target.cЕЕМ 0і@h FFh F0ЉGIpµ h†±M!hCт/ЅлAлЖ6іB—)DСшД@\±"БшД `pљ †Cт@т1ШGюз†@т"1ШGюзI)аџ†@т+1ШGюзђ , boot_flash_trans_nand.cIxHєHJ` B`А0"q pHpGƒ  ЫН , pµ$ FIF F ХшДPM±@(шџ|±F Fр&ш Fpљјл@DлД4%АшДPозHCтD@тщ!h†ШGюз, ђ boot_flash_trans_nand.c-йрA"MFF0–!H `!H``€чэ@hјjАGаdh≥%ДшXP–шМИG`fрвй†fаl–шИИGрЏй°nDаeаl–шДИG fсючыHаfOр@ƒйgp4aƒљирБ+h †Cт@тҐ!ШGюз+h†Cт=@т™!ШGюзђ ЫН –  IqМ boot_flash_trans_nand.c-й€OЗ∞ЅlШFС}IЮ h –л ”z†Cт=@тHШGюзw†Cт=@т8ШGюзсBF1FРючMъ(± Щ(Fрd€РћаkHCт=@тMhi†ШGюз©(Fр€–hmј±)mЪDлБB“_HCт=@т_h]†ШGюз[HCт=@тZhY†ШGюзШ†E®g Щig Щ!D СAF“ F®лЌйd©n ъы ът∞л 5–ХшX°±†л Р¶л ШLD1F"Fюччщ0їCHCт=@тСhA†ШGюзin°л ІBў'FШBJYF–шђ0ШG@I:F0FID рq€Єс—ЉB`–Шд>D8DР с ®nХшX$ъщ ъъa±ҐE “ с 1F ъфШҐF"Fючїщ®±єс#– РШ3FJFYF–ш–pЄGИ±HCт=@тƒh†ШGюзHCт=@тљh†ШGюзЩ§л VDл РЋDt±ШYFJ–шђ0ШGI"F0F р€Ш&D DРлn;±ЁйШШGЩШDРЄсф8ѓ ЕшX ∞ љирПђ boot_flash_trans_nand.c†Б µ±јй љHCт=@тK!h†ШGюзђ boot_flash_trans_nand.cpµ0±%АшXPљиp@€ч«ЊHCт=@т!h†ШGюзђ boot_flash_trans_nand.c-йрAF FFFрЖэah F;F2F h)F†G–8FрДэ FљирБ0іDhдl§F0Љ`GOкјcHµOкЅ2AhL!@A`ЅhфАAк1Ѕ`Ѕh…ь’i¬уфАCai…ь’AhJR@AрA`AhрAрAA`!`љ†JАoб`в€/б-йрAяшМАFOр`5–в{с£{Cк"”Ўш0»!†CтШGюзлБ Fшч€шIИB—µB“hx)xAк ±B”@тCШB“йx™xRк! –BВBўЪB“9`hx)xAк —Ўш0я!†Cт ШGюзљирБђ boot_config_data.cCDTHµx(–HCтU@тh†ШGюзHљp  ђ boot_ddr_info.c() pµFOр€5@–р2шA–†B”(FpљHxpG  Hx(–H!АipGI81—йpG  ≈@ЗJтpGHpG†@ЗHxpG4  HpGА) µрІыFHhA –рЅыK"р8ърОы,–!i@љ0 H@8µ H$iFФъчбь@єШAhЙkИGєШъч8э± F8љ 8љ -йьA FFFFЯhFрhш( —2F)FhFрПш(—:F!FhFршљиьБ-йчAF)HН∞ИFh Ч Ѓ$1FЌй`®шчш1 шчш}±Єс –(xCт.Щ( –( –(–(—аCт"а) ” а )” РhhiFэч©э±4FаШччз€ЪF@F р$э "!®шчВл(эчФээчРэ(й— ЩєB–ьч{ъ∞ FљирБ§ шµOр–H)–) –Cт7аCта!Нш!а!Нш !Б`эчpэCт.@єЭш )ph`(эчaэ±4F Fшљ8  -йьAFnF$FFOр1FччЫ€18FччЧ€U±hhBF1FэчFэ±Cт. FљиьБCтщзрГЉрСЉрЯЉpGH!µэчXэ( –HCт.@тr!0h†ШGюзљ§ boot_error_handler.cµFрОъ(–"ВaBa!i± iaљaљµ8±2±¬йHhС``љHCт@тД 0h†ШGюз† boot_error_handler.cјПв€/бHCт,@т!h†ШGюзђ boot_error_handler.cFHµCт.h± РGє$ Fљ–) -йр_1JDтЩBOр Ў¬ш∞¬ш∞љирЯ°хАAРFхАFЛ u¬йcЎш hZ±хАaBFНB»шфЎ¬ш∞»ш∞дзF@ц€I3а'hш/–Ўшк CF0≥@X`hЗB$ў@тJ9FRF ръы"QF8FшчXк hЎшк !к CAF `hhb±хА``ЕBчЎЅш∞»ш∞∞з»ш∞≠з$іB…”љир_шчHЄt pµL%`x( –юч–щ†hx± рзш Hеp0€чЖш•`pљ•aючЙэючънзHCт@т,Ah†ШGюз  ђ boot_elf_loader.cH@hpGь  -йрA FМ∞Oр—ђ€чбщ5MРP±€ч\ш@h!Fi0FРGCт/8±&а+hЄ!.†Cт ШGюзШ("!F0эч4эШ(#"!F€чЄь. –± h∞B–+h–!!†BFШGюзШ("!F0эчbюІh(7#iЫ±ajCт`iDбiDБ–р@ГB–+hп!†ШGюз+hё!†CтШGюзГB–+hк! †ШGюзбh:FШ€ч{ь(±hFючу€ ∞љирБ+hэ!†BFШGюзђ boot_loader.cHАxpGь  µIЪ∞ hФшчBл@ти1ччbп`!F ҐhFччYщ#hFS"YрщщШ†B–∞љи@ьч]Є∞љ§ Core 0 Frequency, %d MHzpµHЪ∞hФOфЉ јjју HАh`!Ґр?hFчч%щ#hF^S"1Fрƒщ`!+FҐhFччщ#1FS"hFрЄщШ†B–∞љиp@ьчЄ∞pљ§ PБBoot Config, 0x%08xReset status Config, 0x%08x-йрGFFFЁйШ–,±єс– ±ЄEўHCт @тШh†ШGюз"F F рxъBFIF0F рsъ!ІллшчќиІ`&`’й@0D``љирЗђ boot_logger_ram.cµHЪ∞hФшчИк@ти1чч§о`!F ҐhFччЫш#hFS"Yр;щШ†B–∞љи@ычЯњ∞љ§ DDR Frequency, %d MHz"ѓуАpµ FF€ч4ьD"F3FF(FрљшD"3F!F(Fрщ FpљpGIИB—юзpG£≥¬—HhpGD  €чNЉ0µHЩ∞hФ`!KҐhFччIш#hF]S")FришK`!ҐhFчч<ш#)FS"hFр№шK`! ҐhFчч0ш#)FS"hFр–шШ†B–∞љи0@ыч4њ∞0љ§ $ЪН %sPЪН oЪН IµFАh` Fрш F€чэр;ш€ч≥€€чЌюљи@ €чЦЊD  µF€чЮ€(&–ahЕ)#ўБ`!h`!#hC`Ѕ`!bhFччцп H!рщ H;!јр щH!рщHD!C0рщљи@H!рыЄљФ  H!рє4  !ѓуАpµF F€чЇыB"F#FF0Fр ш#F)F0Fљиp@B"рgЄ-й€GВFИFF€чM€&F_к ±F7F–рЌшF±(Fр»шБFс– 'ЄА ±HDј,0–бh)-—‘йRDҐhРB”a`!®р™шH!р¶шс–@Fр∞ш H!рЬш_к –1FрЦш=±H!рСшIF(FрНшH!јрИшљи€ЗЧ  -йрAF FFF€чҐ€;F2F)F FљирAѓуА-й€GOрF_к FDFb–рkшБF±(FрfшАFp– $LD§ ±DDд*O8xає!xр√ш;!срЊш!xрЇшD!сLрµш!xр±шIЕ"шhрfш 8pH!@т"ччпH!Є`®рЮшH!рЩшp–0FрҐшH!рПшIFPFрЛшE± H!рЕшAF(FрБшH!@р|шI"Fшhр1шљи€З(  * pµF F€чuюF@h*F1F рuш`h(D``pљpµI %ИB“N$ !ччЊмс01Udч’ !™а1T@3\0+—РBшЁH)FаH !љиp@€чЌњ Ъ;*   |µFЁйVЌйV€ч®эH`|љD  I`pGD  I h)–apGD  ртЊ!ѓуАpµF Fр|€D"F+FF0F€чњюD"+F!F0F€ч€ FpљpµL F FF†h рш†h(D†`pљ(  pµI %ИB“N$ !ччPмс01Udч’ !™а1T@3\0+—РBшЁH)FаH !љиp@€чѕњ Ъ;* є  -йрGFF!Oр FAтUш$p€–IdДBч”ЩBўOр'аO$@тJБF«й#Uш$Fш$Uш$Ѕ–Б 8hRFЙ рђ€8hUш$FхА`aу Fш$ 8`xh†сx`сLEё”@FљирЗt -йрA%F F а„h/–/— Vш#0џ—@ 2Sh\р—JRhРBЎ Fааh`±( –!F0Fр\ш 4`h@у—ччала!F0Fр+шуз%(FљирБt µЋh"$C±+–Kh Pш#0џ–арша"K[hЪBЎр2шччЇл Fљ$ызt ччxњHµјj(—Hј!Cтh†ШGюзљ®! ђ boot_pbl_v1.cHµјj±hљHЮ!Cтh†ШGюз®! ђ boot_pbl_v1.c(µ–T"FH р€ љ®! µ iFРHkn РGШљ®! -йрGN$Oс4яшDРяшDА(hрыь2F;Fр э"KFрэрƒь#FXш$B"€чЋэd-,з”љирЗТтАЯ^V>АД.A| -й€G@ц@тТр®ь%P±)IИB ў)JцСBЎ!aа!а!яшРАF)є$±ыч@ь&PїаЎш0†Cт@@т!ШGюз! F#НиbЏOрaычь®єяшpРOр€0™'FIFР FрЁэ ЩЌй¬IF#Р8Fычыы@±Ўш0 †CтA@т!ШGюз H ` Hƒйљи€ЗаЗиЗђ boot_ram_partition.c@З®а•ЭвƒЮѓ†Cт)@тюючyъboot_error_handler.cµрш(—љи@ рoњљ рШЊ р§Њ рhњ рЄµF‘йБB–Ґh рю!‘йччxм љјПв€/бHCт+@т !h†ШGюзђ boot_error_handler.c-йрA$F@i&F'F±h©i@)j°± "≤л° “сађ± hэчы$D(j†BцЎ(jhhj@8FэчыЕ Fэч ы(DљирБHЎ!Cт h†ШGюзђ boot_rollback_version.cpµ% Fрш– HАh(—0FрRш±0F€чђ€а `аCтX(Fpљt  Ipµ hЉ±Mh≠±"алB!лSш!`ЖB—лBлpљI)у”R™Bл” pљt  Hµјй0€ч)щ(–HCт.@тh†ШGюзљt  ђ boot_rollback_version.cF —h)– hiB– pGpµ& F€чЂ€ –HАh( — F€чж€0±аj®B“еbаCтX0Fpљt  ( —» ‘ЅуBP(–Ѕуa)–(– pG pGрµ#FсF!алCСih€чб€»±PiЄ±i©±–h∆C±B“¶iЖB”D∞B ЎРh¬CСB“ҐiВB”DРBў%а[†НШBЏЎ(FрљpµL aры–рншрwь!бeaq°q(Fpљј µ L†kАhАG`{!(–(– (– (–°c as`pљј  pGHјi@lpGј 8µ" )Т—Ah )– аLАhajИB– рzш8љ"‘й рЉы‘й jFрЈъЩ)–± мз кз°jИB– ез `s8љј 8µL!M Р "ƒйhj†`®jа` FрУыahjF FрОъFШ(–± а а`hИB– р7ш8љ®j(ы– hs8љx(GЗј 8µL MР ` ``(j†`"ah FрdыahjF Fр_ъFШ( –(п—`hИBм—(j(—€ч_€8љ hsр|€x(GЗј шµLFO FР ` ``"xihƒй8iF` Fahр2ыahjF Fр-ъFШ(–± %а%а`hИB– %.C– xs-–8iE`рF€шљx(GЗј шµL0!M &Рƒйaйk°`)lб`±!a)jƒйаa b`b†bаb"ah FрфъahjF FрпщFШ(с– ( –(н—`hИBк—†ns€чXъшљ®k@hАGбзx(GЗј Sahara: Hello pkt sentшµ0)–)–"(аBh0*ъ—аВh*ц—iъє–й#ЪB“"а&MлkЪBЎ+lЪB“"а)–@i( “(bа(j(–(–љиш@рSЉ"F а®x8±hkhАG±љиш@рbЄ љиш@€чAњL! Р &F Fƒйaр~ъahjF FрyщFШ(–± а а`hИB– €ч"€шљnsшљј x(GЗшµ"F)Т—`h(– аMс»nk6i∞G0±mkс»mi®G± €чэюшљ!ijF†hр?щFШ(–± рз оз‘й#Q@Cл– ззј 8µL MР `hk@hАG ``hkАhАG†`hkјhАGа`"ah FръahjF FрщFШ(–± а а`hИBOр –€чґю8љhs8љx(GЗј -йшC"F)FТ—`h(– а,O#‘йykiF∞Gh±yk#‘йЄFNiF∞GР≥‘йvAт .а €чЗюљишГLF¶BЎ4FЎш4!FВi8FРG»ш0є%(F€чtюЎш0jF!FрґшFШ(–± %а%а°B– %а6'D±(F“за.”—–з‘йjFрЫшFШ(з–(г—аhИBж—Ѕзј 8µL F!С!!`!ƒй2ƒй" Fр~щahjF FрyшFШ(–± а а`hИB– €ч"ю8љx(GЗ-йшOяшЄРВF FFЁш(∞Fўш8АiАGЉBFOр Ўўш8АnАGhє)F FцчМо ±hDЉBў ∆шАљишПOр…шLА…шPАMFЙшА3FЌш∞!Fўш8JiPFЄGhzP±иmВh’йРGЕш Аа®kјhАGиx(щ– I’й@КE0`–! FрЫэ®kАnАG(—({(—иnиf F√зј Е≠М ≠ё€€pµ LF"beҐe"q+FҐkViJ∞Gа†kјhАG y(щ–‘й)`pљј UЃМ -йрA[M$(iа≥Бhў≥i»≥ia®cЙh©≥AhЩ≥БhЙ≥Ѕhy≥ii≥AiY≥БiI≥Ѕi9≥j)≥Aj≥Бj ≥Ѕjщ±kк±BkЏ±Вk ±¬kЇ±l™±BlЪ±ВlК±¬lz±mj±@nX±ИGii&Hs*iSiлeC±џi3±ааа$kа$lа”h+a—'8±Hh(–±аoqаѓqРihc∞±hу≥Chг≥i”≥Гh√≥√h≥≥Ci£≥АiР≥ѓpHh8±(––h(>—2аЃpхзИh®a`@h≥®kАkАG©kF®iKk@h аИhиaБk©±@ј©k4"Kk!ШGиi"∆c©kKk!@0ШG®k"!CkиiD0ШGааиi@цФB©kАkKk!ШG(iБhsјh(bnsnp®k@hАG±$(i±±F` FљирБ)i$ H`шзј 0µF Ёй 4’≤- —¬у%E-—¬уEL-—F*– 0љ ≤*ъ—ЅуA)ц—Щ≤4)у— )р—! н–d)лЎ0љpµ Lcld+”#cd NxлГ[Fш PлАe{qјй°laIƒй1pљј x,GЗpµ L%bld*”edcl NлГ[Fш"PлВe{q¬й†la@ƒй0pљј x,GЗ-йрA$юч эOАFшi)FВНЖk@F рЯш)НjНл©НJCщiЙk1 рФш'аючрьлDКiDbHjИb»jјуb*—Oa@р†`»bd®Н†BйЎљирБј I Йz)— pGј -йьA\M'OрЧђа@тAYH& FЂЧ€ч ю–"FTH€чl€RHxА(}“яирККК КК>КN`КВКFh{(q—IH!F€чМьzаh{({—EH,—@h(– ]а€ч‘ыЕшАjаh{(–(– (– (h—:H,м—@h(й—7L!Ч" F!`€ч.€ahjF F€ч)юрWыh{ (M—.H!F€ч*эDаh{ (E—*H!F€чґь<аh{ (– (;—%H ,¬—Ah )њ—Аh(“(bЕш А*аh{ (+—N ,Ч—ph (– Р а©kjF∞hKjI(1ШGиb∞hhbШ(±€чҐыа ааа€ч@ыаh{ ( — H!F€чыа±h{(—аh{(– дз€чњыhx(?фOѓosљиьБј x(GЗ-й€OГ∞УF ЪFРр}юЩЛEk”Ш FрыБF4HАkАjАGF>FPаљBўFБFAF0Fцч(л1±®лDЊB“$&аhih®kIE–nАGрє$аj1FШРGP±Ы2F9FPF€ч€–,– а®knАG@єёз®y(±иmЅiXFИGє%$ FљишП hsрящј x(GЗ-йрOжHН∞Oр€9∆iµk6$ Ф ФАkАiАG Рm±яO яK4!@тBxs Р€ч ю—а$ОбЄk4"„Ik0FШG$"hFсцчиЦи€чQэ∞±щi@цАB∞iHd xsфi Ф±НpНACсГFFЎF F€ч†ю„—а$dбюч-ы±€чЦэЅH !(`ЅHh` ®`∞Ни`∞i(aЇHAsAyАzCB–яш№В'а лGАiју`(—Ўш8єF@nАGЎш»cєсЏ∞НЄBйЎєсЏ#$/б лIAh ССЎшiЇF8F—ш<А Щцч^к!± ШAКDЇE”Јх Oў$б7±ШCFRF9F€чEюF,•—ХOxyј± шqщm@F…iИGx±ЄkАkАGъm@DйhУiZFШG)F0Fр°щМ—а!$паHF€чYэД—ЕH!¬i—dБf!sАkАnАG(—йh ™~Mсl®kƒnXF†G—кn"±hi Щh€ч9ы'њаєE—tHAyАzC}— лG©i(h€чrш(v–hh РиhР’ш† Щ–FPFцчой!± ШAИD–E$”eHAFАkjШРGи±hi(Z–Їсc–^H@yX±®iју`(–ZLаm@hАG`± rЫBF ШQF€чњэ—а$~а"$|аяш@БЎшЅk1є©iЅуa)—ЩЅcШшh≥®iју`(.–Шш(д—Шш (—Ўш\ВhЎйРGЎш\јhАG(»ш`“–Ўш8 ©o8FРGFЎш\ ЩiЎш`РG(¬–аааа ИшИш ! рЉш’й±л(–йhBFD!цчvл!@Fр≠ша®iјуBQ)–)h)–Q±аHx ±$а!pјid ају`(—HAy±јy(З—∞НЄBў,?ф:ѓI s»rЉ±M®kАnАG( –а Ђ F8FЦ€чЗъйnиfа O&йn)р—,– ∞ FљирП hsр шј x(GЗё≠Њп2TvШ≠ё€€HАkƒiючў€†Gюзј J¬й –p )—j(—РkАmGpGј IИrpGј -йьGO%FЙFХЄkАnАG($—8{(!—Єnа±яшH†4Oра"FPFЂFЌшА€ч+ъЩ)–± %а%а†Bў%а$,и—л Єf(FљиьЗј ≠ё€€ K"µ№z,—!±)–)–аoаFаo gЎiЅlDЅdљј J¬й q )—j(—РkАmGpGј рµOЙ∞FOрьq1–$"hFсхч нХи€чы0≥шm@hАG≥шm4!Вh(FРG–±рhAшmВhсРGР±шmјhАGp±щm i!РGH±1F(Fючзю0± шq ∞ Fрљ"$ъз$шзј pG"Fµ¬л¬л§iМB—¬л¬л√iаR*п”Fљ"Fµ¬л¬л§iМB—¬л¬лjаR*п”Fљ"Fµ¬л¬л§iМB—¬л¬л(3аR*п”FљµHCт.р ш(єH8р шє$ Fљи) рРЇ р*Љµ РhFэчR€8± HM!Cт.h †ШGюзHhJ@`h J@`Oр qOр``љђ boot_secure_watchdog.c@Б€€я€€п-йрAO F9x)–Iл@АFЖiiьч?щ(.–шhO!h:hВх BСBЎБB“HCтU@тЧ1h†ШGюзјлјHлЅАFFhjёз@Fьч-юр’m:h !hл0ыа h9hD `љирБ  ®Ґ@З@  ђ boot_elf_loader.c(ѓ@Зµp±h`±АhP± I–й#Аh `Ѕй0I pљHд!Cтh†ШGюз() p  ђ boot_ddr_info.cJ!(–(–Cт^FpGP` аP` Р`цз8  IppG4  -йрA(|–OLсАјйC#` h#е±&ƒйV—йE–йvл∆йEhЕhhл,`%hЖhThл>D∆йEhd`Lh ≥–йv%л>D∆йE—йE–йvл∆йEhЕhФhл,`%hЖh‘hл>D∆йEhd`Мh ≥–йv%л>D∆йE—йE–йvл∆йEhЕhiл,`%hЖhTiл>D∆йEhd`ћh,#––йv%л>D∆йE—й Eаа–йaлЅйEhДhСiл!`$hБh“iлDЅй$hI`љирБHЭ!Cт h†ШGюз(( ђ boot_ddr_info.cpGpµM(h( –Lh°B–»"°цч|и(h!јйApљl  @џшЅ рdє р6Ї рDЇ€чъњpµ€чщ€эчFэ MCтA0±+h †"F@тLШGюз эч:э0±+h†"F@тPШGюзљиp@эч*љђ boot_smem.c-йрG$@тё!F р.щВF!F@тя р(щF!F@та р"щF!F@тб рщАF!F@тв рщБF.HЇсCт 3–Е≥Ж≥Єс@–єсC–(H!рю–‘шИИG‘шМF FИGGC»шp F‘шДИGЎшHC…ш FрҐ€ючVъh ш h)$– (`0`љирЗа аh†@т ШGюзh†@т ШGюзh †@т ШGюзh †@тШGюзh†@тШGюзБi)`iЎзђ (  boot_smem.cµ∞!F@тд рІш@±!h…j) –љи@∞"рGєHО!Cт h†ШGюзљђ boot_smem.cµэч-€(–I hAa!Бaљ0 HhI`pG0 d -йрAFHhL!h@ р/€ K" р¶эF`hF р&€*F3F рнь рую``†h8D†`аh8Dа`љирБ0 d H@HјhpGd pµHЬ∞hЦ#HEhДh=±4±@ти0)F`Cхч8нF`!ЌйE Ґ®фч-€#S"Y®эчЌ€Ш∞B–∞љиp@щч1Њ∞pљ§ d Flash Throughput, %d KB/s (%d Bytes, %d us)I »`pGd µ$эчЪю–±Бi)—!Бa I h@iB–J –ИB Ў р©юK" р э рvюFаOр€4 Fљ0 H@pGFаI x*ы—pGјПв€/бHCт(@тчh†ШGюзђ boot_error_handler.cщчмєщч±ЇHCт'@ттh†ШGюзђ boot_error_handler.cµH± I(0И` hDИa iDaљHCт@тфh†ШGюз@) ђ boot_authenticator.c-йюOяшМСOрАFРР,–hhP≥р щ(}–]Lьч‘ь@hБj FИG$ьчЌь@hh FИG(Рl–UI06"ычѓщSI6#Ш"эч3щяшD°(Cт] –Џш(–Заўш0q!K†Cт ШGюзM†эчaюўш0Т!E†ZFШGюзШ6"@I0ычћъ>HхчБъJIИB –I†эчKюўш0Ю!:†ZFШGюз6L4`x!xQк'/`–ЈхАo ”G†эч6юўш0©!0†ZFШGюз&Fаhh"!F0DрЩ€hh™AFэч4щРбxШ£x0Cк"ЩычJщаx°xа6аAк#`x!xAк"Ёйэч∆ш( –Џш(—†эчюўш0…!†ZFШGюзбxШ£x0Cк"ЩычiъаxсҐx$)h6Bк D(`ЊBґ”ђьч%ь@hБh FИGљиюПђ Љ ћ7 4  boot_config_emmc.cError: eMMC read failCDTError: CDT is not programmedError: Platform ID is not programmedрќЄрЏЄр4єрhєрЃЇр∆Їµ$эч÷€А(“яир$ Fљ Ipµ h,–%hDц1#@ти2†ыфчИл"h#RЛAщ”pљЄ  pµI†чч£ь±Oр€0pљK"H°ччњьL" I#F †h`°HччіьH"•h°#Fчч≠ь†h?!лЕd pљЉ  QTimer9 QTIMER_BASEQTIMER_FRAMEQTIMER_AC_BASEOфі –шР…–PшР@цюr@` pG pG-йьAJ%√hFаЩB– 2h)щ—аЙ±“йg F1FшчГюx±"3FЪ!ХХ ръ љиьБ"ХТ!Хфз†h9Fшчш тзђ©Н µ аPш"0Qш"@£B“Oр€0љўOрљRр“ љ-йчOИ∞АF!ЛFКFЙFFС ал@ ШлA!FлG лј–й#ЦFУCz–WкD–лA|Т л√3|ЪB—÷й%Ќй%÷йCЌйC]A–й2\@U@,C–ЭлjAЁй5c@U@+C–IЫлA л¬t–й4¬й4–й0¬й0аЁйSЬлcA∆йS–й Ёй4”pл“∆й ША≥Ўш ТлA л¬)аЎш ал”йV“й4]ФіA”%лл‘йVЬ[іA“Ўш 0л”йCФ$лЫFл”й£ЩFа#а@ЫГB“ЎЫГB–Ы“й@гpл “Ш¬й “й0“йE÷F@лЇлyл“Њлiл¬й4/€фRѓЎшИB”I" алA# лјItјй3јй3)т”Ш@РЎшБB?ц/ѓ ∞љирПFµ–JаHCт/@т1h†ШGюзшK9ДкdЙ≤Rш$@Дк )у“)–x KOкbаРкOк@’X@R °сЙ≤у—љl≤Н ђ crc.cЈЅ"µFF] рУщ Fљи@!рmЄpµ"F\ FрЖщ! Fръ%Дш,P(F ръщ g dДш¶PpљpµF»y FЙyQк – xј ЕшЬ xр–( –($— а€ тз!F(Fр}ъа!F(Fрьа!F(Fрbы(ЁOрjkF(Fа —jk(FOрOрљиp@р\єЏ xOррOрe рNьљиp@!F р6Їpљ"µFF^ р&щ Fљи@!ѓуАpµF F F! р^юci#±)F Fљиp@Gљиp@и"!! р$Љшµƒh FFOр€6Д±`hp± F!рьш`hБx©B%—јxЄB"—дh%а@таah°±ПxХKy yш …xрBк#рF8FрCъ$h,к— шљ@т!! рмы0Fшљ-йрOП∞ГF%КF®FЁш`АF.FхчМм ±/–/а,–,–,–(аЮЭ%аЮЭ"аЁй%Ю ЫqЪA“5FЁйа,–,–,–аЮ Э аЮ Э аЁй % Ю ЫqЪA“5FЁйОяшиР6–qJF8£…ш0B–а [а)” B– UаяшЎј©№ш0ЩBNў№шНB“№шI№шPv_к A–)–)*–їс:—0аv$(°`Їс–Їс1F(F–ры†±а1F(Fрбш(±1F(FрFш± а$а$арЊщє$а$ Fаv+FЌйh"F9FPFр!ъаv+FЌйh"F9FPFр щ…ш(±(– ∞љирП ъзш) Testing Memory Map.Р  Testing DDR Read/Write.рµ°∞F FhFА!фч«э&J†`Ђ mFFаTш `Eш!`∆CDш `@IШBфў hРOр€0 `!FаTш!`ѕCЊB–лБР`»C–` !∞рљUш `Dш!`I@ЩBкў†`Ш ` пзTesting DDR Read/Write: Entering Address lines.ш) Testing DDR Read/Write: Exiting Address lines.шµ#FFFТ"€чµю»±#1F"(FФ€ч≠юИ±#1FF(FФ€ч•юH±#1F"(FФ€чЭю± шљ шљpµL Ґ"`КhPш"`!`ЋC@ш"0hЛB–†`б` pљIт—°!``@ш"` pљTesting DDR Read/Write: Entering Data lines.ш) Testing DDR Read/Write: Exiting Data lines.-йр_ MF†FЁй ЂРFЩF(`Nаd†(`AF8Fхч‘к'†(` "@R≤Bы”А@ (ц”.†(`ZFAF8Fхч∆к,г—QFHFрoш± љирЯ ызTesting DDR Deep Power Down.ш) бхTesting DDR Deep Power Down: Entering deep power down.Testing DDR Deep Power Down: In deep power down.Testing DDR Deep Power Down: Exiting deep power down.юз)J£0µ`Л!а@ш!IЩBъў! аPш!@МB–лБР`—`аIЩBуў!аћC@ш!@IЩBщў! аPш!@ЌCђB–лБР`»C–` 0љIЩBрў†` 0љTesting DDR Read/Write: Entering Own-address algorithm.ш) Testing DDR Read/Write: Exiting Own-address algorithm.-йр_*OЙFFТFЁй  †F8`'†О8` аDш @∞Bъўяш∞А-–m*†8`ZFQFHFхч¬й4†8` BF!@IСBы”@@ (ц”8†8`ZFQFHFхч≤йаз@†8` аTш БB–лАє`ш` љирЯ@∞Bсў шзTesting DDR Self Refresh.ш) Testing DDR Self Refresh: Write pass.бхTesting DDR Self Refresh: Entering self refresh.Testing DDR Self Refresh: In self refresh.Testing DDR Self Refresh: Exiting self refresh.Testing DDR Self Refresh: Read pass.pµ%MҐ*`М##°)`"Fа@ш"I—!RҐBчў-°)`"F аPш"`ОB–лВ®`й` pљI—!RҐBпў[џ—0†(` pљTesting DDR Read/Write: Entering Walking-ones algorithm.ш) Testing DDR Read/Write: Walking-ones algorithm : Write Pass.Testing DDR Read/Write: Walking-ones algorithm : Read Pass.Testing DDR Read/Write: Exiting Walking-ones algorithm.pGpGµ L!iIhIhИG†hр%ю(–HCт=@тxh†ШGюзљ$ ђ boot_flash_dev_nand.cµ±I`љHCт@т%!h†ШGюзT  ђ boot_flash_dev_nand.cHАhpG$ pG pG Hµhh±!р=ь I(И`–i"љи@Fыч ЊHCт@тh†ШGюзљT  $ ђ boot_flash_dev_nand.cpµMИ±LFвhFычыэР±Biaii iљиp@К@ъсычЩЊ+h †Cт@тJШGюз+h†Cт%@тQШGюзђ $ boot_flash_dev_nand.c-йрAОhFRhАF FOр€0ЦB”z—ah+hЩBv“Q–#B±ЦB–`hFс а0F а*h*f–‘йAс#учрл)h#h†ы,!Ъ"`aлgh ±л ihbсы†ыќBс≥л aс±лqƒй1’$а"h!.hсТ"`fhaлkh"Oкб~уbлYa`Bлл°`_к д—ahjhСBаЎ—!h*hСBџЎа"h!+h†с“"`fhIAkh"Oкб|уRAYa`°hBл Й°`и—»ш љирБ-йр_MАFFЁй ЂЁш(РlhPFуч€FXFуч€/!“(“,“IлДлƒ&рлАш А)рQFƒй "с р0ъ"YFс р*ъhh@h`љирЯі Р!GЗ-й€A+O%+H@ц@тHR)F}`фчюм=pр>щ&M(Ґ&K!F(Fучзьјхd,DЁ!Fа!(F$Ґучџь.$%алЕл≈HлБXh 3,Ќй0Ё!Fа!0F#Ґуч√ь$mDxhЕBе”,№$0F+Ґ!Fучµь HучМю!(Ґ*£ЌйЌй2J F€чl€љи€Бі Р!GЗРGЗвЪН ; Build ID: %s ; Time Stamp unavailable from boot loader. if OS.FILE(%s) ( d.load.binary %s 0x%lx /noclear ) load.cmmCMM ScriptHµьч–€ј≤љи -йрAДяш\АAлdCEс€5"–"uл”K"”шаал„йc∞л qл ”„й«л {AvCс€36ЂA” љирБRrEе” шзЎ&GЗі I -йрAM x"±Hh4!HCљирБ$ИFас лДлƒлАс уч’эDvс учѕэ0D@dЎшМBж”азР!GЗі I ppGі 8µM$hFФьч;щ@± HCт.@тѕ!h †ШGюзШ(—(FьчI€є(FьчG€±$ F8љи ђ boot_dload_debug.cHpGР!GЗ-йрCН∞LI$ "®учто€чљ€€чO€0± РРРРрщ≠ а–йЌй!@h FЌй €чSюdлh*н—:°AJ=†Ќй! FЌй €ч@ю р№ъ:J;°:`=†Ќй! FЌй €ч/ю=H@ц рЎы;°:J>†Ќй!@ц FЌй €чю&ычхюFOр 4аhhлh лЈсO@XOкX'—4°:F6†Ќй! FЌйБ€чээ$GDаhhл hЧB— л/£@X1°Ќй! FЌй €чеэd(h†BжЎv(h∞B«Ў ∞љирГЪН PMIC_PON.BINPmic PON statР@ЗRST_STAT.BINReset Status RegionРGЗDDR_DATA.BINDDR Training DataDDRCS0.BIN DDR CS0 MemoryDDRCS1.BIN DDR CS1 Memory -йрAДяш`АAлdCEс€5%–"uл!”K"”шаалВл¬лЖ №ш0«qс ”№шp&џvA[Fс€6ЃA” љирБRrEв” шзР!GЗі ьчЊoр|BСB”oрpGIi±лБRш,*ч–лБ"Pш  –аOр€0pG"—2—Г—АТ(џR¬лA@pG0µL!F#h+ Ў JлБлЕ’шQ-–I)фџ0љлБ%лА[јшQ#`0љд  §, pµM$hiрошf±4Fиiриш±4F®iргш±4F(i ±!шч¬ъ±4F(h&±цчБщ.` FnaоaЃa.apљД -й€A%FFРFhFрльЬа°h hрбы 4Щ(FmИBх”Ь%а°h hрћы 4Щ(FmИBх”BF9F0Fр5щFа°h hр√ы 4Щ(FmИBх”∞0FљирБ-йьGCN$рh± љиьЗOр@тp'=H}∆й8Ќй;H)F*FцчЭщ±(F7`йз8I0hцчщ6H"6I@т*Р8єFјйјй !«aјйFшч√ъ0aє,F+O-Hp?8`)HЗшАІш†«ш Аhє`Ah «й∞ ЄaЗшР4є 9FрTшpaє,FЄh∞"Oр` ∞0Є`„йАсAсҐиЗшР<єI p9р:шрaє,FЄh`!`0Є`„й«ш†ABс«йЗшА<єI p9р"ш∞aє,F€ч€ F}зД @ (pБ @Ш9pµ$Fшч§ьf±4F(Fшч[ь±4F Fpљpµ F FF H#iшчЅэ–*h!шчХює Fшч∞ь± pљ FpљД -йрG$БFHF(!учъьMOр€8HOh`аIHFшчDюHєxh(–(–(–(—аDFаxi∞B–hh@h`з—аhh(є! ҐцчҐшDF FљирЗHБ †ЖД Flash-BAM: BAM Tranfer Failed!юµ h%FFа`h# А≤Ни#"h8Fшч^ю±Oр€0юљ4mph®Bм“ юљ-йрAFF –hhH±L)F`i€ч„€_±yhI± ±аOр€0љирБ†i9F€ч €>±qh)±(ф—аi1F€чЅ€(о—2F9F(FљирAрЄД pµ LFAhF`i€чd€.±qh±є†i€ч]€- –ih)–(—аiљиp@€чQњpљД J F0і(±Qh±hh°Bў `0ЉpG` FRh0Љччoљђ хчЙњµFoщчЗъ oщчВъ Fр[€ љFHµ$h(—Fхчю±d Fљшz pµƒhOр€5‘шЉЙhИG є lхч{€(–(Fpљ-йрA«hOр€6АF5F 4Fсс@цч+шxєxh†сpP8–п(–р(—а а р≥щF` – h(є а@FИG–$±!h)ц—±0FљирБ ыз pG pG FF хч њ FF хчњАhхч√Љшµ%FШ FiFХхчР€ —ШШ!учґыI8FЪхчюьШ–хч+€ FшљIјйI@ш€чў€ IЪ9с0`hє `лзF–шФ)ъ—јшФ ¬шФPбзp lґН ЏЏµАhOр€2√h”шЉ0џi ±ШGFFљµАhOр€3ƒh‘шЉ@дj ±†GFFљµАhOр€3ƒh‘шЉ@§j ±†GFFљFOр€0Йh h“шЉ Rh*–FGpGµАhOр€3ƒh‘шЉ@dl ±†GFFљАh€ч(њpµFАhхчЗэ JF†hhq±ИB——шФ`аF—шФ ВBъ—“шФЅшФє†hхч•ю(Fpљh µАhOр€3ƒh‘шЉ@§i ±†GFFљpµАhOр€4≈h’шЉPнl ±®GF FpљFOр€0Йh h“шЉ Rj*–FGpGFOр€0Йh h“шЉ j*–FGpGOфА0H` pGµАhOр€3ƒh‘шЉ@$i ±†GFFљFOр€0Йh h“шЉ Ri*–FGpGpµАhOр€4≈h’шЉP≠l ±®GF FpљµАhOр€3ƒh‘шЉ@$h ±†GFFљOр€0pGµFАhЅhHh1хч4ю†hљи@€чЩЊ pGµАhOр€2√h”шЉ0џh ±ШGFFљpµАhOр€4≈h’шЉPнk ±®GF FpљµАhOр€3ƒh‘шЉ@$l ±†GFFљµАhOр€2√h”шЉ0m ±ШGFFљoрpGpµАhOр€4≈h’шЉP-k ±®GF FpљµАhOр€3ƒh‘шЉ@dk ±†GFFљpµF H$Fh(–` FpљF(h F1FхчKы(`@ф—ƒтзшz ( “яир @ц@pGAтаpG pGHpGH0pG pG@ pGHpGOр€0pG§ Ji*–GpGР{ J“h*–GpGР{ (µ —L F‘ш§ИG Fљи@р«Єљh} #`# `I `р\єh} лА¬лАHлВс(“шЄ Gh} лА√лАHлГс(”шЉ0Gh} µFуч`о Fљµ@кF§–*єашKRшKCк§–*ф—а…√*ъ“"єљшKшKRщ“љµ#F…≤абT[УBы”љ0ілАƒлАLлА–шƒ@§F0Љ`Gh} 0іM$,`лАƒлАLлА–ш№@§F0Љ`G, h} 0іM$,`лАƒлАLлА–шћ@§F0Љ`G, h} 0іM$,`лАƒлАLлА–ш–@§F0Љ`G, h} 0іM$,`лАƒлАLлА–шЎ@§F0Љ`G, h} 0іM$,`лАƒлАLлА–ш‘@§F0Љ`G, h} лА√лАHлГјйpGh} µFыр рзьJK рцьJK р™ъ р∞ьлДЅлД I@лВрюА—шђ@)–љи@Gљь©с“MbP?Ќћћћћћм?h} лА¬лАHлВc!АшФpGh} лА¬лАHлВБc!АшФpGh} лА¬лАHлВAc!АшФpGh} лА¬лАHлВЅc!АшФpGh} µ J( L “яир  H` HP`љ Hа H¬йљС`љ—`љaљР{ -ЎМ pМ М й„М Ё„М лА¬лАHлВd!АшФpGh} 0і L##`лА√лАKлА–ши0 ±0ЉG `0ЉpG, h} -йр_ГFЙF(I ЬТF"ШFшчЦю!@FшчРю#NCт %–≈шР!`hи`@FшчГю≥јш†"ahOр€3Ѕ`_к »ш Oр!–)–їс—‘йQC©`вhahQCБ`љирЯ3hu!†:FШGюз3h{! †:FШGюзahдhaCБ`+`™`кз‘йaC©``В`гз∞/ ђ boot_flash_dev_dal.c K µYh) —I"лА@лД(ƒш!цџZ`љд  §, 8µo$jFъчNъєШ(— F8љ@lpGАlpGµБi$)Ё§!хчВщ Fљpµ–йcl$ЫЂ@•* –ЩB“ОЮBЎАjC @ЩБBў,F FpљЩBъ“ъз>µ–й4cCЛBўУBЎOр€0>љСB–Ќй!Сo FiFъчъ >љ@kpG0pGhpGАhpGµ"С!С©СiFoъчЪы∞љI`pGр F o±“m `pGOр€0pGµo#4±Дm `Бm@lD`аOр€3Fљ@mpG-йрAFАmOрzlљlDИBЎ љирБыц$а18Fр ш ±dђBч”@FпзOръз0µЕ∞Fјl%K*FС!С©Р(FХСao€ч юH!шчfэ`±hЂA`)F J oъчЃы@ – ∞0љHCт @тЏh†ШGюз тз∞/ ђ boot_flash_dev_dal.c pGkpGјlpG0µFFЕ∞ с гl%ђи.©СK*FF(F€чДю JЂ o)Fъчoы( –!hс)–0±а(–Oр€0∞0љoръз∞/ 0µFFЕ∞Ђвl%С!&√©СK*FF(F€чXю JЂ o)FъчCы( –!hс)–0±а(–Oр€0∞0љoръз∞/ pµЖ∞F FFF Щ гlЌй1! KЌйQ©С1F€ч*юJ! oЂъчы(–!h)—@–Oр€0∞pљ∞/ 0µЕ∞F %ЪЌй® KНи#!(F€чюJЂ o)Fъчсъ(–!h)—@–Oр€0∞0љ∞/ pµЖ∞F F&ЌйK0FЌй©С!€чбэH!шч}ь`±Е`Ђ J1F oъч∆ъ(–!h) – аHCт @тЖ!h†ШGюз@–Oр€0∞pљ∞/ ђ boot_flash_dev_dal.cmpG0µFFЕ∞Ђвl%С!&√©СK*FF(F€чЬэJЂ o)Fъчэ∞0љ∞/ pµЖ∞F FFF Щ гlЌй1! KЌйQ©С1F€ч~эJ! oЂъччь(–Oр€0∞pљ∞/ 0µЙ∞F€ч—эючЛ€?M(и`– шчьйhµFF"kFфч…ю±%`>љШ `>љ-йрA«lF hFјmƒ@аd(n†Bў„шЬ !F8FРG(ф—(n†BЎ љирБйmър1hБB“0`dиmД@0h рз-йрAРFДF" Д»ш@№шаа лВ3&”йEЃA ””йg§}Aduс”Yj »шљирБRЦEеЎщз8µFm FРho†BЎ ©oС Dhg аlg аiF(F€чЭ€X±†Bў FЩ$DС,с—Ш®g8љHц!Cт=h†ШGюзђ boot_flash_trans_nand.cpµ$F F алД"лА0F 1тчВи(±d®h†BсЎ pљлДлАјipљлВрµ†сЁйFhh¶ы†ы#OрЙ@A"RA•ыјBс@BсА@кВТЂRс–Oр€0рљ-йчOЇ∞ј!<Штч?ъ б 9Рј!FhFтч6ъ%@а:Ш0Ђ*FAi8ШQш :Шiхч№шЭшјИ≥6Ш∞≥;ШИ±:ШЁй2!Аi–й6Z@q@ C—Ёй4–й0Y@B@C–8Шл@hFлA9ШB9ТЁй2#л@лјјй#Ёй4јй7Щ)–)–!tm:Ш@h®BЇЎ Єа€з8Шл@<ШлA Fdџз!лз £а8ШiFл@7Рл@0Шл@лј‘йC~– Йа7Ш<Щл@лHлј3Х’й ЖFPк x–’й2РлAл КF6Р‘й4Ч‘й6ЫFЋ±FwA5Ч÷`лC—Њл lл ≈й 4а2Я4Юzл4“Ёй5Ъ∞A/“с)F"0Fтчжи‘й’й#Й`л≈й‘й÷й#Й`л‘й#КXA÷й1Ъaлс∆й! »"hQXA∆й ƒйƒйа2Ш4ЫH@КкC—їлyл “2Ыл Jл ≈йаа’й‘й#Й`л≈йЏзсАF:ШAhAE?цpѓ0Ш@9Щ0РИB€фWѓ1Ш@9Щ1РИB€фNѓ8Ш@8Р:Шh8ШБB?цйЃ=∞љирП-йрALFFШF'1h!`rhb` – 1!рлАлАƒйJ•`-d:k“йi КD рcыи– 5%р•a0h 5(»ш±hИBў '8FљирБ‘~ -й€GДFТF ` с( F№ш® FF FРGбj’й7NЋ’шАЅсъу…¶хАyC»@ўшK`HaOцјqаk@раc i(†k кH–@фИ`†c`k(I фаp@`c©h@кA рр``c†k@фА0†c`k р`P`c‘й D@кЅ``c Fрmыўш 2 P`OрBўш,B`ЂhBкBB`ўш\"јшА©h%БАAhЅусAA`Ќй0h©РphРhFюч~ъ(±=`љи€З@ф®`µзЏш:F FрУшузp €ш€-йрCDMWh)хюtш§сь– 7'рh_кјl– 0 рOр ƒйДшРOр hOр’ш§ЅІл ’ш®ЅgD``'ЗАGh«ус@gG`Oh’ш§ЅІл ’ш®ЅgD@ш†шаGh«усgG`Пj’ш§ЅІл ’ш®ЅgD@ш†шАGh«усgG`ѕh’ш§ЅІл ’ш®ЅgD@ш†шаGh«усјWG`Йh’ш§q’ш®Q…)D@ш†шАAhЅу°смAA`h0@`а`†h0` ∆й  р`hСhИBў љирГ ызp~ H!oрыЉp~ -йрCЗ∞F ИFс(FРOр `Hh(–√шР∞љирГWш®/(NF FРG:i© FРG¶с†ЇhЌшРЎшсF Fрfъ kak@!фаqAкА р`P`c‘й D@кЅ``c Fр`ъаh(–4 9i#FH`®Р@FъmЩрfъ0h"Р©phРшmРШР®юч{щ ±≈шР≤з3 вз*F1F Fр‘ш™з -йшOСFeL@i!"ЫFўш`хжsOкP,£хЦuр– 6&рўш«– 0 рOр АFOр √йЖх“t phс'h¶лgh>D»ш`Oр`®ш`Ўш`∆ус@f»ш`Vh'h¶лgh>D»ш`®ш аЎш `∆усf»ш `Цj'h¶лgh§х“t>D»ш`®ш†Ўш`∆усf»ш`LађсЦ±B—Цj‘ш§q¶л‘ш®qс>D`†ш†VFFh∆усfF`с÷h‘ш§q¶л‘ш®q>D`†шаFh∆усјVF`Цh‘ш§qлA¶л‘ш®q>D@шo†шаFh∆усfF`∆у—¶смFасfF`ссaE∞џўшAЋш†лў`Щhј≈й ®`и`џшўшБBў љишП ызp~ IOт?рµ%`—й4kOр IаhNк7к ЊB–ц’!а&hv ’m$I)лЏk®B— `рљ!`цзp~ -й€A FРF!`–ш® с(FF(FРGиj‘й6N¬јсътјCЅ@∞hB`Aahk фаp р`Qic†hAкј`hc(Fрщ1i4 OрBH`∞i'IA`hрAх@1§1`!AaiрAх@1ђ1aIAbjрAх@1§1b!AckрAх@1ђ1cрjaiBкAA`÷ш@"Р÷шDРрm!i`ai$БАAhЅусAA`Ќй©hFэчю€±<`љи€БЎш:F(Fр№шцзp~ мр0р-йрCgIШFVhхtух†u– 6&рhя– 3#рOр ƒй6х“qДшРhOр Oр h¶лOh>D`Oр`ЮА^h∆ус@f^`Fhh¶лOh>DCшo£ша^h∆усf^`Fih¶лOh>DCшo£шј^h∆усf^`Fihс¶лOh>DCшo£шј^h∆усf^`Жjh¶лOh>DCшo£шј^h∆усf^`∆hh¶лOh>DCшo£ша^h∆усјV^`Жhh¶лOh>DCшo£шј^h∆усf^`Fihс ¶лOh>DCшo£шј^h∆усf^`@ihIhс0†лDCш£шјXhју†см@X`hс£л»ша`†h(`Oр ≈й Oри`ЎшСhИBў љирГ ызp~ H!oр5Їp~ -йьA FРF!`–ш® с(FF FРGаj!N’йЅ¬јс≥h ътј C,ъсZ`Ya`kI фаp@ р`Qac®hAкј``c Fр≠€1i "H`pihрAх@1@1`)iA`F÷ш`Р÷шdРhFэчЋю± 8`љиьБЎш:F FрФшцзp~ €ш€-йрADMWh)х tш§сћ– 7'рh_кјl– 0 рOрƒйДшАOр h’ш§ЅІл ’ш®ЅgD``'ЗАGh«ус@gG`Oh’ш§ЅІл ’ш®ЅgD@ш†шаGh«усgG`ѕh’ш§ЅІл ’ш®ЅgD@ш†шаGh«усјWG`Пh’ш§ЅІл ’ш®ЅgDOр @ш†шјGh«усgG` i’ш§q’ш®Q…)D@ш†шјAhЅу°смAA`h0@`а`†h0` ∆й р`hСhИBў љирБ ызp~ H!oрIєp~ -йюCИFСF!`–ш® с(FF FРG+M'!™hЧсF Fр«ю`k&I фаp@ р`P@р``c Fр«ю)i "H`©ihр@х@0ђ0` lH`iр@х@0a Hajр@х@00ЅйhihрAх@1@1`ЎшA`F’ш Р’ш$Р®эч э±7`љиюГўш2F FрЏшцзp~ €ш€-йрCgIШFVhхtухРu– 6&рhя– 3#рOр ƒй6х“qДшРhOр Oр h¶лOh>D`Oр`ЮА^h∆ус@f^`Fhh¶лOh>DCшo£ша^h∆усf^`Fih¶лOh>DCшo£шј^h∆усf^`∆hh¶лOh>DCшo£ша^h∆усјV^`Жhh¶лOh>DCшo£шј^h∆усf^`Fihс¶лOh>DCшo£шј^h∆усf^`Fihс ¶лOh>DCшo£шј^h∆усјV^`Жhh¶лOhс >DCшo£шј^h∆усf^`ihIh†лDCш£шјXhју†см@X`hс£л»ша`†h(`Oр ≈й Oри`ЎшСhИBў љирГ ызp~ H!oрЄp~ 0µ$Oт?`аh@ -–h@ј’ а `0љI)ъ–,м–0љрµ(NWh5хqш°сЉ– 7'рh_кјl– 0 рOрЅйБшапj÷ш§ЅІл ÷ш®ЅgD``'ЗАGh«ус@gG`нj÷ш§q÷ш®aн`55D@ш_%ЕАEh≈у•смEE`h0@`»`Иh ` ƒй а`hСhИBў рљ рљp~ –ш»)–GpGpµ" `@т"¬dБh)–@тBe–йB"Df¬k"р0√cВk#фшSBрbВc—CфаcаCфc√c√hOцјu+–++–+=–аCk)N#ррcCрs3@CфБ#Cc√kOкvf3@)Cрs√c–!eЅkHт@C™C!рЅckIBлAллБCБcpљ!кз) –OрAk!ррaAк√QAc—Oр№зOртзOр÷з√kBфА2"кCрBфИb)јй#Ak!ррa–AрАaAcpљAрРaъз€ш€рµ" `@т"¬dБh)–RBek)EiлВлГf√k#р0CрƒcГkCрcГc—$фшTDф`dƒcƒhOцјv,–,*–,<–аDk(O$ррdDрАt<@DфБ$DcƒkOкwg<@)Dрtƒc–!eoрД≥CJCлВHт@RлБCБcЅk!рЅcрљ !лз) –OрAk!ррaAкƒQAc—OрЁзOртзOр„з¬k)Bр¬cCфА2"кBф®bВcAk!ррa–Aр@qAcрљAр`qъз€ш€pµJ% `FbEbh`cPh†cУhгc“hbfbiR "c""dҐh*—@р†c i( F –€ч№ю‘й `kD р`P@кЅ``cДшlPpљ€чP€рз0 рВЄѓуА IAb IБb IЅb Ic IAc IБc IЅc!bIБdpGйъМ еъМ 9уМ aсМ °оМ ’лМ ЭйМ QН J!јйБ`с Ѕ`pGЉА #`Ci@цГB –≥хА_—)–@тdPACц8Q`pG)–@т‘ HCц№`pG@ци1сз" `¬h*–Ci≥хo –≥хА_ —i(–*– Jлј`pGi(–*– уз*– пз нз лз*– зз ез гз@ pGµэчгъ± љHhAєJ!`JhCрC`` љА Ы pµFFс(""`с†)h`ihMY`!Щ`!bYb.h^cmhЭc%dM√й’]a@т%ЁdYe%Ё`Гшl g@!Yg IБ` IA` IБa IЅa IЅ`€ч-€€чѓ€ `pљ0 µшМ °цМ ЅщМ БщМ %Н pG-й€GFh FF(ЩF– а 8O!!`(6(a—hhЂ«ш†иh«ш®®h«ш§®hРиhР(iРpi2i@ АFFhFючшюЩ!`Ъ DТЪ DТЪRТ«ш∞Ўї™AFhFрCш"hЩ D"`Ъ DТЪ DТЪRТ«ші0ї™AFhFръ"hЩ D"`Ъ DТЪ DТЪRТ«шЄИє1i@FрVш1i@Fр ъЂjF)F0FрЪщ!hЪD!`!h«шђє!1g…шљи€Зp~ рµ Fh&FF»– 1!рHс`¬й 4ƒ`лCDa 4a 4ДaхАtƒa4Дb 4ƒb 4‘b–йip4Dc рьща– 4$р(h 8`©hИBў &0Fрљp~ -йрAҐL%®F"AF#Fghэp}`>hрFх@6 6>`nЊ`эt}a„шј рL х@< с$ «шјЊah 7щpy`„шј рL х@< с( «шјЊ`щtya„шј рL х@< с( «шјЊaOр h@7щp«шј„шј рL х@< си «шјЊ`Oр щt«шј„шј рL х@< си «шјЊaWhщpy`„шј рL х@< с «шјЊ`щtya9iЊaрAх@119a”шtј‘ш§qoђл‘ш®ЅџСh'л cDаѕp—шј рL х@< с ЅшјЅй61ѕp—шј рL х@< см ЅшјЅйF1$mЕBё”iCF«pјшАhЖ`рAх@1@1`–hАшАјшАhЖ`рAх@1`–hАшАGaiЖaрAх@11aPi!I√pC`hЖ`рD`0)ф”Pj8L√pC`hЖ`рAх@1D1`√tCaiЖaрAх@11aРj,I√pA`hЖ`dу`√tAaiЖadуa–j√phЖ`рAх@1p1`√tiЖaрAх@1t1aАш#0jЖbрAх@1x1bАш30kЖcрAх@1|1cАшC0lЖdрAх@1А1dАшS0mЖeрAх@1Д1eАшc0nЖfрAх@1И1fљирБp~ В ѓуА-й€OЙ∞I'FЪF=FС>FIиFСIЧСIСIСIЌй‘йєаЁй Ђ"FаG!hШD!`ahDDa`°h°л°`—mXш%јЉсж— 3FJFYFрcш ш` ∞8FљирП©мМ ©кМ фМ тМ ©пМ щхМ pµh%№– 3#р LгeлhлЮ`#fh…`АhБBў %(Fpљp~ Jpµ$”o%F“йа `НАNh∆усFN``1ХАVh∆усАFV`2dіл@й” A@(√ы”pљp~ JQh!фьAк@@P`pG0 µLл@лАхpјљp~ |µ `FJ)k– h+—Kh$d@ЋF`0h¶BшЎ“шАР“шД"FРhFьчy€(—(`|љp~ pµHhFx±Вx; a!р÷ *FрМ€1F(F\±рПш а!@т÷"! рЪъOр€0pљрѓщ pљ-йрA x$eFИF*C–№* –*—а*@т![–*%–!( р^€yа4h$±%x!# *F]а!@т§! рjъфзph(±Dh<±бx†x@к%!*F$ Jа!@тЈ! рWъфз0h¬xГxCк ИBўрh ±Dhаx°xAк%!*F% 1аyy:yx∞hBк!аЙКB—ВzЪB–h(ц—±Dh<±%xxy9yAк"!& а!@тџ! р#ъсзЦш ( “Цшђ H ±@т!AАx! L' *Fрцю-џ|±шyєyAк ®BЏFЦшЬ+F"F0FљирAрњ(FљирБd -йрAFHx& F(Oр€8q–№7F “яир5 M r§(g– ({–0(}–1(y–Ґi*w– FљирAGиyЙyAк (m”†k@т!рч`ьФш (–°kФш§@p†k!x* рҐюФшЬ#ҐkУа†kpсзиx©xAк ( –( –FFиx©xAк"!+ аДш§pхзДшІpƒш®pрзиx©xAк !( –(–FFиx©xAк"!, рpю0FљирБДшІhy)yAк ју ƒш®йз@аEаДш§дзФш-ИєиxЙxAк ј≤ш,рѕю"x!- рLюаEааа+аиy©yAк#+O—ФшЬ FҐkрYюиy©yAк"!. р3юрўы њз"/ F№з"0 Fр&ю)F FљирA€ч®Њ"1 Fрю(аиyЙyQк #–†k!Фш- p2 р юФшЬ#Ґk FљирAр"Њиx©xAк ¬≤!3 рыэиx©xAк Ѕ≤ FљирAрЙЊ@Fз-йрAFHy F y&Oр€7Aк" k±јh±јhаЄ"аЊ"!! рсш аAh!±ЙxСB—Fаh(х—>єФш- ±hy)yQк m—hx®±(9–(G– (`–.f–рh(c–"B Fр±этh)F0FљирAGиy©yAк (O”†kа≥@т!рчNыhy)yQк –&±°k0iјуp†k!x> рОэФшЬ#Ґk Fр•эF/аиx©xQк *—6±"? Fрzэ"а@т2аиx©xQк —n±"@ Fрjэ"1F FааљирA€ч«љ@т(2!! рuша"A FрUэ8FљирБ@т:2пз-йрAFkF±≈hаy"!! р\ш%px@т!Oр€7(D–№∞±(—9а (Q– (h–-|–(i(y–": Fр'э*i1F(FљирAG-l–рy≤yBк (f”†kрч≈ъФш (—Фш§(†kx –Aрp†k!x5 рэФшЬ#Ґk0аAррз"6 FрцьBарx±xQк =—py1yAк !ју@"Дш§ 7 рдь љирБm≥рy≤yRк (–†kрчЗъ†k!*}p8 р—ьФшЬ#Ґk FљирAржЉ$kЬ±"9 FрЅьрx±xAк 1y¬≤pyAк Ѕ≤ FљирAыч®ї8FћзHА!µрчZъљи@IА"Hр¶ї ; МЪН pµ$@т’е)Fрx€±)Fрчeъ$ Fpљ0µ°∞F ©@т’р ш-M(`0± Ш∞хА_– !∞0љ ыз ,” чзА!hFрчEъ$H=!пчф€kFOрH±AаIЎрhыH=!пчж€ сKOр±AаIFрYыH=!пч„€ЂOр ±AаIFрKы(h !лƒ Fрч$м01Нш !рчм01Нш: iFА"НшНш_(FрчЖи ђз<  $ЪН PЪН oЪН hЅй h±Q`` pGOр€0pG0µ$!"FCB– DD[IR *цџ F0љKhЪB—K–шђ ЪB– pG@h` pG†°Ґ£∞±≤≥pGµ$†шчюd ,щџљDENTAL PLAN!00µ# руч ъ LH±`i•iB™B ЎbaвiQбa0љ`h•hB™BўF0љb`вhQб`0љ`  pµFFШBFўFFF(Fрчи FpљpµJhЛhт€3 лУ% hoуа—йF4CќiC4CОi4CDр@ш"@ќh.—Dф$@ш"@RхА™Bз”pљрµJh$ Pш"0Ё–oу h Hhју5ИhјлР ®B%”`E#“—йg>CПiC>CFраO}h- –;hћiЮ ґFр4C@ш"@ќh.—Dр@ш"@$mхА`«йћзєBр7Cш `@€(хАRЌўрљt -й€OЗ∞ЛFOр€:ЁшPАЁйuЄс0” ЩBFXFычhш()Џ ШлИPш А"– Ш9FьчъБ–AOрOкИТ–ш± р РЩС©hЌй Шh€чтюјс Шhы сI–PF ∞љирПШFрчЋшШ`аШYFрчи пз ЪCFШYFр"щЪВFЌйЙ ЫFШрЉш@к  Ы Oр™2аSш кA к  –иhРЌйЙ ЫЁй!р•шCа@ЄBк”рл–`A ШPш!р»@р(–©'Qш аЩ'ґ3арл–`B ШPш"р–@р а(hИB—hh FЌйЙ ЫВFрqшCQF/п№їс–(hИB—hh FЌйЙF Ы®Pш+F8FрYшC9Fґ'.…ЏЌшРCF ЪШр шPк–Ёйрч<ш(Fgз-йрGFСFЪШFЁш †пчКпOр !а#h"ўшFы угы!аTш!P Yш!p≠@AгыPFлБI@ш\AEо”лБ с @ш,ƒE@FЏ”%FIF Fъчk€(џBFIF FрDщF(FљирЗ-й€_БFШБHFпчп€Oр –F=аШ$Щўш0Pш(∞ h!Шлы1ытШhвы4 аЫOрЭSш `Yш 0Uш p%F[Nллы1лNл лАвы4@Eш<ЫШBв”"  лАRAл Bс @шсШАEЊ”_к –ЪHFЩрлшл –Oр€0∞љирЯ-йрOЗ∞ГFТFFЪпчко лЕOр€0F@тm~Cя )лЧsл£6“а4аяир3 6а;6аZ6аx6аЧ6 аµ6 а‘6 ау6атахШvахІv±)ўvvР@л@ лјјллАјллАрљ рљF ±±Лh3єа pG hhСBъ– pGpµ"А±y±ДhД±hs±ЭB ”FhµBЎx+Ў,–а" а ±"аЛ`h[ `Аh@H`FpљOрµ–±Ъh* —а љh*±TФB”[hЬBў љx±" pљрµOр(F –3hS±J±#`3h\ЬB”МBў рљ рљx'’р,ф–[,с–OфА”ЩИB;Ў" Р© ®€ч!щ(ї"iF®€чщшєШа±аШ@РШ@Р–Шx(ф–Ш∞хЎШ"®`iFШh`®€ч€шєШ±аааШ@РШ@Р–Шx(ф–Ш(ў зШ©(aШи` ®ючЪ€0є (`©0FючУ€±$ Flз’•Н pµ FК∞Oр–,±"©€ч«шШїа ∞pљ"iF®€чљшHї"©®€чЈшїШ (*—ЩFHнч_щ(≥Ш (!—FHЩ 0нчUщ±Ш (–а аFHЩ0нчHщ ±Ш (– аа аF HЩ0нч:щH± `©0Fюч;€±%(Fєз фзё•Н pµ FЖ∞Oр–,±сь€чЪ€Єєа ∞pљ‘шь(” %!абiИB —"iF0F€чZш є©hFюч€±%аЁй2аR[±x(щ–#b≤хҐbў „зƒй@2(F”з>µ$ FiF€ч8ш(“(є)FhFючщю±$ F>љ-йюC FOр–-±"iF€ч!шHїа љиюГс@hF"ИF€чшс<±(–,а"а"AFhF€чшАє"9F@Fючc€PєсPhF"Fючъ€L5±(–а"а"9FhFючо€Pє")F8FючI€ єiF0FючЬю±$ Fјз>µ% FP±L±†"iFюч÷€0± `%(F>љ >љ"hF!юч…€(у—аh(р—`hx `(лЎлз-йшCFF РFFFРа(hjF9F€чдш±& а)hШDИBш”ЄB(`хЎdDEм”0FљишГ-йь_FАh&ЛFТFFРрчћщбhАFHнчТм@лАOк@ ы рD)аШ л*FрчiъDЇл!–ћє +F"Рр!Р р≈ыаEE@FўFа/Fы ч8Fсч шЉBЎ'Fд–ШрчМщјк–-”—0FљиьЯ@BрµF F3–ђB1–1“EкА–ЕкА—.“FарјсцW±(FmсчЌюF Fdсч–юф—∞–Ќ@ƒы—р –(FmсчєюF FdсчЉюvф—рљНДEкА–ЕкА—.ЎFарцW±m(FсчЫюdF FсчЮюф—∞–Uш@Dшщ—р÷–m(FсчЕюdF FсчИюvф—рљ8µ$FhFхчBыШ±®i(—$ F8љБl…–Аi(– pG pG-йрAHL!И∞FG†F°`ƒйхчыэхчA€нч8нH†хч>€р†ырэJHh ±учзь нчИ€с!АFччrы!ƒй!@FччVы†`‘й?MC—+h>†Cт @тЋШGюз( –(–+h8†Cт=@тѕШGюз9HiFРР@т`Р Р0 Р@тЌйЧ0h@jхчЅ€`±! хчВш†h( –!h@FИG∞љирБ+h#†CтU@тбШGюз‘йOр€3 YРA“+h†Cт`@тсШGюзOфЄ @m@‘+h†Cтb@тхШGюз hAFнч<п“з»5`QSEE Execution, StartQSEE Execution, Delta ђ sbl1_config.cиЗ-йрC6HЛ∞h Ч8†5L5M6Iрчщ(V— )F`"Р Ђхч*щ`є.I "®`1счuэ(є "!F®счoэр±/M$яшЬРяш∞АnB`л@ лAрлAPш1 лЅТБh1≥BE“ D(FВBўСа$лƒAh)±Uш4oу нчХшd ,тџаШ@E“D®B ”Ъ(FВB“D1Dа®нч£шd,≈џ ШЄB– ∞љирCсчєї ∞љирГ§ Д`јьЗ@8 /dev/icbcfg/boot@ЗPЗHAi@т )–Сш )—@pGƒ  OфАpGpµ L% )F"xрЏ€!x±)–)— †pр№шF(Fpљƒ  |µLF!*Fс !aбp`q рЉ€ рѓю р†юHс(ЌйKJHрҐэ`aарш`iРш¶(ш– аp" FрЬ€∞" Fљиp@рФњƒ  5?Н e?Н ?Н є<Н pµL&`iрјъ`y%( — y(—Ґi± !0FРG•aeq%q`x(–рћш(– xP±(–(—"љиp@≈ Fр5љ pep!•pљиp@р8їpљƒ  -йрGFF ЩF F F!рI€єс;–$≥&O!Єx(≥єpИFЄhДB“Љ`!Їh р6€J!Fїh0Fьч,юЇh≤х “5±! р'€!Єh®G«шА«шА৫шАDOфАДBўF!"F р€!F0Fр«э…ш± љирЗ ±љaxqчзL 4 q€чs€ y(ъ— hозƒ  9 " Fµрою H@т!р£э–"Ј FрґьаHx)є!ApLтP0рJш Fљ 9 ƒ  -йрGOр –" Fр«ю`h%[O( –(,–4аљирGў"! рМЉ†iXє" Fр±юљp&xx± 8p}p€чіюF†iнч@й)±ъi&! рЭю†iщiBъa!}q рФюа" FрОюxx±&}p‘йяшрАРBс –ё≥єxЩ±Т±! рzю†iщiЇi!РGљa†iшaЄ`шh@ш`љирЗРB—€чsюF`iнчйi±Єiа≥ъi! р[ю„й !РGљa}q а8x( –€чmю(я–Їi:≥ !шiРGљaэa„заЄiр±!ъi азВBўъi!љирG р5ЊЖ‘шР!2F р-ю°iл OфАОBўF1Fа арЏь(∞–Їi2±!шiРGљaэa}qІзщi»шИшP«зƒ  " Fµрюљи@ѓуА µр`щ рхыреырэљи@рьї-йрG'FЙFFАFF 9F`реэ!JF раэNа€чRюрx(ъ–IF@Fрпьа0y(–€чEю0i(ч––шА@h(–" Fр¬э7a (`±)h@F†G@FљирЗ !7q)`% ±(F†Gрїь(Fтз7aлзƒ  "µFF р°э±Haљ"љи@ Fрjїƒ  µ L "F q рЛэаx± аpљ€чx€љи@ €чµљƒ  µ!FF рuэHƒpљƒ  рљµ@±–шДIИB— љ љP"!« р2ычз )Cqµ@±–шИIИB— љ љu"!« рычзtSФa KD0µЭИИл≈•шHИdАЩИлЅБш ШИлјјш (ШИ@ј≤ША0љ∞g -йрAFFOр€5±с<асlF)Oр– €чќ€`h(–ƒйv FрJюЏ(FљирБ оз0Fщз"µFFa рыь Oр€Dш!!qOрА t`a`t§сddДшHOрdg!dаeсИш ``Dш"u`u°u§сИ wаw†wHDшP хpDшT Tшx љи@JрТЊд` p (–ршЊpGµFр ы¬≤Дш !` ріь Fљи@!ччHЊ-йрAF F F!€ч_€Фш-Oр€7± ±®B—®B7–Ё±-Ўfhа&^±р*шXєрh"@hБx0Fчч:ю(Џ8FљирБДш-P &cДш¶а&Дш-`%&c!(FрUш!(FрQщ!(FрMш!(FрIщmн≤-л”Дш¶`$р≤ъ( “яир @тDа@т$а@$а$ FрЫ€!"F рHь Њзpµ$Fb "F!Fр>ь Nа(F€чu€d(l(—0hДBх”!(F€чА€рҐ€ Eш!ЕшК)q(tpљ` -й€AFHИFлGл†hX±F! :Fрь†h%@h( –а"Ѕ FрЎщH∞љирБЃ±@ц@jFAFХХЌйP8F≠ш`рtщ ±"Њ Fрјщ°h H`†hEw бзрd пЊ≠ё-й€AF@т@$ F-OрЌй@AкG!FлGФ`у]aС— FfуU@Р!фА`)F@ф@pРШcуЌ рppbуBРШjF рР8Fр2щ ±"Љ Fр~щ@т@jF)FФФЌй@DF8F≠шАрщ ±"Љ FрjщIhі@C `љи€Б «†J(I– ±аh@аh@`h J@`hJ@`Hh!ф@QAфQ`pGш€€«†ь€€€њЅ†-йрA/MF$(h@ф`(`Oрdр^щ’ш∞@р@≈ш∞d рUщ’ш∞ р@≈ш∞d рLщ’ш∞ фА ≈ш∞d рCщ’шрI@@р@≈шрd р8щ’шрI@≈шрd р/щ(h ф`(`d р(щO8hI@@рА@8`@ти58h@’ р щdђBц”ђB—!@т"Ї рџш0FљирA€чvњЅ†€њ€э€њ€}«†юуя-йсO"h FД∞рръШ(q–QL%OH*FХ)FХХХƒйi ряъKHh!h`h`hрAAрр`h`&ШjF1F р 0@фА`Р(FрCш ±"њ FрПш$@тJ'@т+Oф8@тIDкF(FЌш †jFaу]`ЌйP@FЩkуЌ рAф†aЌйШ!F рР0Fрш ±"њ FрcшЌйYjF!F0FХХ≠шpрш ±"њ FрRшL± а€зш"!√ рJш∞љирПШрШшd,ї”IG `H0h!`HhAт€кAф`a` Hh JкAф`h JкAраa`’з@`Ш ƒ†«†Ѕ†«†юяюујріh±a±Вh$%ТшЭ`.“яир рЉ!@цЦ√ рщњ а@i(± ВшЭ@pрЉpGВшЭP pщз pчзHhр†A`hJ@`pGИѓ@pµ$F@ти6а0FччUщdђBщ”pљччOєнчСЄ pG I hр†BBфА ` hK@BрАR `(—H 0h`pGИѓPP±!АшЭ€!АшЬ#"F€ч§Љ!@т<"√ рЪњHI`IКh!B`j рЉє@`Ш јѓHhју∆pG«†Hµh!рБ "Fр§щ Fљ «†-й€G:Hh-[–9Hh"FрЕш o рПщХш *ў!М р[€1Hh!рј`OрOр Oф94F7F@тHDкF8Faу]`ЌйШЌйpШ@ф†`РХш (0–(1–@!HFjFaуЌ!F рpp рРШ рРШ р@@с@Р0Fрѕю ±"ј Fр€dд≤, ”Хш ( –а!@туB√ р €љи€З@т!ќз!ћзHh`(F≈ш†€чjьпз® «†Ѕ†0Иѓ-йрG–8h%яшЉСјуDрIјуГ∆лQр€hI* h –*V–!< ПаљирG!@т}2√ р–ЊФшЭ)–)–)1–)4–)2–;а ДшЭ8h!ју2I €чЯы8Fр™щўшSIBh FљирGGфpO –ју2!K €чЛы8FрЦщ ДшЭљирЗ FДшЭPљирG€чкЊ!ју2W Hају2!J €чqы8Fр|щйзДшЭPTаФшЭ)–)–)-–)5–)р—ју2*J–!U €чVызз!2FM шзју2*–*–а!2FN €чEыФшЬ ≤B— ДшЭ6а!O ;а!P ёз!Y ају2*ш—!X љирG€ч*їју2*–!R  з!2FQ €чы.–шЬ/!S €чыep@FљирG!рЉ!2FT €ч ыФшЬ ≤B–1F@FљирGрJЉ!V €чьъЩш(К–qз® Д 0g µ– h!ју"m р,ш hју! );“яир& ;:?:C:G@т«""аљи@рДєљи@€чtЊIју@ hЬ±рДшЮ !r ршФшЮh±(—аi(—љи@рє@тІR!√ а†j(—рЩщHhAтч"@`љљи@рОєљи@рXЄ"Е Fа"Ж Fљи@рЂљ® «†0±h√уD*“€ч™Њ!@тС"√ !а√уГ)–)–)–)—рRјлR ≤* “( “√уAKлBлАhAwpGрmЄ!є рuљрd µ"Д FрШ€ РР НшШ@фА`РhFр«ьљ"H"pµFhs рВ€Ь≥Hh!јуГEq *Fрx€-ДшЮP.— †bФш§((—H@hi FИGIHH`HhAт€"@Aр`d €чTэ H8hJ@AфАq`љиp@ €чGљљиp@!@тиR√ рљpљ® «†Д Ї№ЌЂјѓуя0іИ±hјуDXр¬лPЅ≤)“* ”!@тTBЖ а!@тKB√ аHлAлАhP±Lr±лБлBBiЙhЅуа"¬ F0ЉрџЉM+ў+ “BiЂh аYаQБa!A`j) –0ЉGBiлhлБЪBЙhЅул”мз0ЉpGрd 0g Д !H"-йрAhp Fрўю&±Цш (–аљирA!@тXR√ рЯЉHhJ@Aр†`яшTА%$лEлАh±!F(F€чЦъdд≤,у”mн≤-м” Жш рa Жш•H@hЅh0FљирAG® «†уярd Д H"-йрAhn FрЛю≥яшXА FЗшЭ$лEлАh±!F(F€чYъ!F(Fрcыdд≤,п”mн≤-и” H@hh8FљирAGљирA!@тЄB√ р2Љ® рd Д H"µFht рPю,±ФшЮ )– а!@т*bљи@√ рЉДшЮIH`†bљ® јѓ-йрA'Ff FF:F9Fр+юd±]±(FMh`H@ш&@рєщH± љирБЮ"!√ рмыHцз€чьр8ы€чьФшђ(–(x±рщар €рІэФшђ€чЫъ F€чы р[щФшђ€чь8F”зД ® пЊ≠ёpµFF±±sє!F± рµы аPш$ :±V–Qш$``dЬBф”!*Fѓ р§ы"Fљиp@!∞ рЭї-йшCO8h$ –NOр÷й@YРЅ–рю–јуF!ї рГыр!(мчHиq`$8h«шАж—љишГhF€чќэпзhF€чfэлз ƒ†Ш -йшOВFИFKI&KHFлJ Эляш$блКУ ≥FлHLFћйРoр@ГB“Fƒш∞ƒш∞-ƒш∞YFƒш ∞–"-ƒйr –а№ш "`"b``у-°`–аЄс—ёш РB“bуа`у°`аЄс–!рA°`!)JDeу AфАa@б`с–.ї– Ш(–/аёш №зёш !Г wFр+эєhШлчƒп єШPєЇс—Єс—щhШлчґпЩє I л2Feу @фА`@ƒш∞ƒш∞!ƒй∞~ рэаh р@р@ф`а`љишПрd 0g Д €?ј"pµ≥ FрјъL h@т5(@@фАp `d €чиъ h(@@р `d €чаъ h(@@р `d €чЎъ h@т!@ `pљИѓµ!FFu рЅьKhH@@тш0кƒC`љ«†ь€µ!FFВ рЂьIіхАoМ`–@ »`љ@т ъзД µ!FFk рЧьI hH@Cкƒp`љ«†юу_-йрA"А FрГь O%$лEлАh±!F(F€чVшdд≤,у”mн≤-м” љирБрd Iµi@—Jсh` `i IИB —"!Р рSь"С FрNь љ"Р FрGь љД јѓпЌЂ-й€AFH F"F!hv р3ьOV±,“- ”!@тФbƒ рыща!@тПb√ чз@т@jF#)FУЌй0 FУрЧщF HлDлЅhAрЅ`є0F€ч/ъ∞8FљирБ® пЊ≠ёрd pµF F| лD!юч≠ю,“-”!@цеƒ рљщHpљ)F Fр шJ!лDлТhQ`pљпЊ≠ёрd µJh$KФл@л“hЌй4#bу#CфАbТjF≠ш@р?щ(–"љ FрКщH∞љ«†рd пЊ≠ё-йьGFСFFЁй ДFOрOрz–рЬыґсА”!2FЗ аючMюхз-“/”!@цbƒ р\щ љиьЗЌйД3FJF9F(F€чзэњу_П,–,—9F(F€чЭ€ йзюµ– {р∆ - ў юљ!@ц√ р3щHюљ}± НшЭш Ќй‘й#1F(F€чҐ€x±$а© F€ч щ.м—‘й!H Fыч<ъH aгз-“.“Эш)ў!а!a`!°aI@9лEлМ`юљ!a`юљпЊ≠ё0e µLF "hлC!Щ@КC"`љ «†-й€A'FFFw 9Fры-“.“HлEлаhА ’@т@jF#1FУЌй0(FУрrшFаh ра`а!@тйbƒ рЄшO∞8FљирБрd пЊ≠ёHµnрAIfL`j `bd €ч”ш`j `bљВаБ-йрAOOр–N0h@’"И FрИшhhЅ≤ )“яир  !@тЇ√ рvшаI(h `hh0`а¬≤!Й рiш љирБ0hфА`@‘ цзd €чПшdd,т”8FозпЊ≠ё«†-йрAяшФАOр–л@∆≤"Hл8h@’!2FК р<шиhју *“яир  !@тl√ р*ш"аIhh9л`I®h л`иh8`а!Л рш љирБ8hфА`@‘ цзd €ч<шdd,т”@FозпЊ≠ё »†KD0µ№ИИлƒхАT%БИdАўИлЅхАQИrЎИлјхАP¬`ЎИ@р?ЎА0љ∞g -й€_FИF"ЩFЦ FЁй¶рющTM•хвtЕшђ`±.–а@т `А а@т `АMH†сAP`LHјйЄс–®hјшА!EN(>¶х±pхЭ{1`ЋшјЋш8тГp`†с Iт»ш `Б!tрщ,`7H»ш `ючљь¶х№vШ∞`±w`єс–∆ш РЇс–∆ш†€чEэ/IН`џш0Ыx s°хАc a#Ka$K` w)L bqxБ≥яшША!&JёFс`Aт с` лAл•`ёшpњx's л7ƒй|I#w…≤£a)"bл”≥юч≥€HючЈьючЊ€Еш,!Hючјьpx(–а€з L04•`џшЙx!s#aca#w I£a!bёз†hр2щ∞HљирЯ< П  М; $@ Э]Н -\Н с[Н -йрALF§ F F!р<щ FAh) —NАFHючoь0x(–Ўш(х–!:F• ƒйWр%щ Fр`ъ љирБ 0pпзT@ \  < µ!FF© рщHDpљ\  µ!FFҐ рщ<±!@тѕ"љи@І €чќЊHaљ< "Ы Fµрошљи@Hюч£Љ< -йрALАF£ F F!р№шM&аHючь(x( –`h(ц–!:F ƒйЗр…ш Fръа.pтз(x( –Hючщы`h(ц–H aљирБ.pщз$@ \  < $< -йрA&%4Fюч5ыp±OPш$Gш$d#,шџHюч+ыL@±8hаљирA"∆ F€чbЊIт`БHюч.ы'Є±I J  tt2аPUmWUmvИ]±А.Џю-фџHpАhВbљирБ"∆ F€ч=ю'tцзШ; x  < HpGxu`HµЅh!фЅ`L†kр?@р†cd ючSю†kр?@р†cd ючJю†kр;†cd ючCю I #"°с0€чIъd юч9ю†kр/†cљ∞ФаБ|©Н pµFHAh) –Ak) –!лAлҐiR±I)цџpљHючKыХш-(ч– FрFщ(у—pљД@ < KD0µ]ИИл≈,БИdАYИлЅИrXИлј¬`XИ@ј≤XА0љ∞g pµF –"У F€чЁ€PM.y“яирx(x xХГљиp@!@т«¶ €ч†љ"!Ь €ч«€hx(— F€чЫ€йh)]– а"Ь F€чЈ€йh)S– љиp@GФш !Э €ч™€@&Фш 6J!у@т%x±(–(—а@! аГp а+ Еp√ph∆qаFТшђ(hу—пзh #@тA√q@т3Гp √p"K P;XhqEqШiq Aqс(Фш Pс†хќt- –†х±u]`нЭa†тkC` ;K``»`pљMv5]` 5Эa•сC` ;сз"Ю F€чP€(i(м– J!)p!Q`02Q`љиp@G"љиp@Я F€ч<њ\  < $@ µ–Ґi!† €ч.€bi!° €ч)€I FЙhљи@G!@тt"љи@¶ €чпЉ\  "µFF™ €ч€D±†h€чзюI FЙhљи@G!@тЁ2љи@¶ €ч”Љ\  "і Fµ€ч ьL†kр?@р †cd ючуьI#"°с@€чщшHBh*”!≤ €ч±ь а H #H8хДqPш" И0€чжшd юч÷ь†kр†c љаБ ®Н † Iµ`!A`БaБh)±Сш-Yє{ –"B`!c €чВьOр€0љљи@€ч7їQURB HµБj ± љЅjрAрЅb"!’ €чУю љ pµ!FF” €чЗюL†jєаj@ ‘"“ F€ч|ю°j)ь—аjр@раbHI`?!d•bаjр@раbpљ l№ "µFFФ €чYюL± `aHAh) – Fљи@G"љи@¶ F€чЉљ\  шµ FF!FFСтчQщ@hБj FИG$тчJщ@hh FИG(Р#–0:F)Fрч,юЬхчAыah F;F2F—шј)FаG–8Fхч>ыШ:F)F0рч\€D±lFтч$щ@hБh FИG шљHCт/@тP!h†ШGюзђ boot_flash_dev_nand.cpµЕhF(Fнч™э#F"(F!нчЌэ!(Fнч‘э0Fр;ъOр€62FрcьръF(Fнч:ю!(Fнчќэ!(Fнч6ю!(Fнчщэ!(FнчҐэ!(Fнчбэ!i(Fнч“э1F(Fнчkэ!(Fнчю!(Fнчєэ!(Fнч!ю!(Fнчдэ(Fнч{э(Fнч|э(Fнчqэ!(Fнч≈э!(Fнчцэ Fљиp@ѓуАpµЕhAтF1F(Fнчю!(Fнчќэfcpљ †µучNъH°@hучХщхч…ъучaщ Hp0уч§щ Hh(–Аhљи@учЬєљSBL1, EndSBL1, Delta l  !0µфч∆€±љи@учXљHCт @тбAh†ШGюзђ sbl1_mc.cµЭ∞лч∞ллч‘лhFлч÷л8"iF®кчн †учщщуч?ы†уч>ылч л(—счашєлч»ллчФллч»л∞љpm_driver_init, Startpm_driver_init, DeltaрµЭ∞F Р0†учƒщ5HhрMщ4K"рƒ€рщF h!™i@hтчƒьЪF-LCтU≤хАoЎБ±+O8FэчыЩ8FлчЖл( –#h&†*F@тёШGюз#h#†*F@т’ШGюзhFлчbл8"iF®кчЬм†учЖщучћъ †учЋъ#†уч~щучƒъШлчbл(–#h†*F@тшШGюз!†учЈъ'°0Fучµш∞рљsbl1_ddr_set_params, Start0 H@ђ @v`sbl1_hw.ccpr_init, Startcpr_init, DeltaPre_DDR_clock_init, StartPre_DDR_clock_init, Deltasbl1_ddr_set_params, DeltaHµучZьHљи@0учTЉH Iµh@`(—IHсч+шљи@рчщњМ D Є µлчЎк(–HCтU@т(h†ШGюзљђ sbl1_hw.cлчƒЇHhpGР µрчЭылчјк†уч∆шуч ъ †уч ърчѓыHБhр/Б`љpm_device_init, Startpm_device_init, DeltaPБJpµРhIр?`I h±Hb Р`рчБ€†учМшуч“щлчВкL(CтU–#h†*F@тАШGюзлчxк(–#h†*F@тВШGюзљиp@ †учґєPБР l  clock_init, Startђ sbl1_hw.cclock_init, Delta0µI°∞ hХ!С™hi@hтчOы"–d"!®лч и#yвx°x`xНи#xd!J®йчт€®уч'шI ЂOфА2рч(ъ0єШ!Fрч/ъШрч"ъШ®B–!∞љи0@очкЊ!∞0љ§ јЩН 9µ!™Сhi@hтчы–I OфА2kFрчющ(—Ш!FрчъШрччщљ9pµF F!@тh0кчґп HP"†`)F Hа` aс0эчGщ! bHƒй `i@`apљФ=GќЇ7≤<М шµ LF OрCтUР–µхoў#h†2F@тА1ШGюзHсчЎэ счn€Р®±0*F9Fрч’ъШ"+F9FтчYъИ±Ш*F9F0рчьhFсчЋэшљ#h†Cт @тИ1ШGюз#h†2F@тХ1ШGюзђ sbl1_mc.c∞  рµF*HЫ∞hХ FРхч5ш'†тчj€уч∞ш!сфчёь(–(—а$Lа$L%HсчГэ сч€Рh±"NCтUм±"@ц!Fтчъи±hFсч}эфчњ€`!FҐ®йч€©†учЖшШ®B–∞љир@оч Њ3h†:F@тя1ШGюз3h†:F@тй1ШGюз∞рљ§ Image Load, Start рЗ фЗƒ  ђ (%d Bytes)SEC Image Loaded, Deltasbl1_mc.c-йрAF\Hhрzю[K"рсьрGюYL``@тлчNиOрU0кч¶олчёиTHTIhКBь–тчОыRHфчюNH40учъPN(CтU–3hN†:F@т!QШGюзрчУщ0±3hI†:F@т&QШGюзIH"OфА1рч©ш рч®шЌйK*F!F0FтчҐюKp3p√|љ HCтU@т¬!h †ШGюз АFЗјFЗАFЗ†≈@ЗТ –С @шMЗђ sbl1_mc.cpµ!– kш±HT"!FьчЄюI"х p†хЄu`(`BabiBbҐiВbFтч†€!kP"х–pьчҐю)h•сЉ»bpљHй!Cт h†ШGюз® ђ sbl1_mc.cµ Р Hсч=ы сч”ьР±hFсчBыљHCт @т"Ah†ШGюз∞  ђ sbl1_mc.cµтчѕш(—HCтU@тЩAh†ШGюзљђ sbl1_mc.c-йрCХ∞#M$FЙFhFкчао ®кчвоH ™iFфчfы1hHИ`0Fфчытч.шOFCтUаphлh)`hi`)FАhА®`HFтч≈юА±d0h†BмЎIHFтчЖю( —;h †BF@тV!ШGюз;h†BF@тO!ШGюз∞љирГ ђ ђ јШН sbl1_mc.cµ–тч—ю(–(–(A— hƒjФ≥†!Fчч§эOрH±IаHС!Cтh†ШGюзIHьч’э†!FччПэOр±IаIH8ьч«э†!FччБэ±I"аI"Hљи@0ьчЈљI"Hьч≤э H"I8ьчђэлзљ0:QSEEм  ђ sbl1_config.cЎ  ® 0:APPSBLЬ  И  0:CDT   µ Ркчжн('—рчыъ(#—†тчьтчJэкчFккчо( —кч@кhFкчоШ±ЩЙ±€чЏю кчПэ кчо кч о кч∆н†тч-эљHCт @тo!h†ШGюзsbl1_wait_for_ddr_training, Startsbl1_wait_for_ddr_training, Deltaђ sbl1_hw.c pGHµx(–LHс` IDш<  Dш8 HC#gScg Kђи#£gгgьч€ьl4ћьчыьљи@кч©љљ RRE@З@З`ПpПµ$пчёэ H@h(—сч"€фчҐь H8–йпчВэ(± фчцщрша фчрщ$ FљИ µтчЮю љµ$рч.ъ±$ Fљµпчc€ фч÷щLаk0±счню!Fаkкч л†k ±!@цФBкчл H!@тРкчл4"! кчъкљи@H!@тBкчрЇT4GЗGЗx(GЗpµ$FFсч ю( —e±HPш&Hh(FочMы±±а$ыз€чЄ€ FpљGЗ@  %K-йрAh$d)ШF”"†Cт:@тc!ШGюз#K&h4аGх GїBЎГB“†CFCтU@тl!ШGюзOGш&0Чi_к«,’iЋ±['л3ыDа«уg/ —_OрУшјЉс—[їBч”Њс–,Dv 2ОB»”љирБђ sbl1_sahara.c@  GЗ-йрA+MFFЪЁй≈й•сК`Ѕй€ч?€сЄср`– р`,–H8®`G`кчјйH0тчэюICт/@≥ph(+– h†@тЎAШGюзL ђ`фчэшсчюFсчю!*Fкч4к@цФE!*FсPкч,к4"! кч(к•dсP†cћз h†@т„AШGюзљирБИ ђ sbl1_sahara.cT4GЗ8µ$F9±(– `$ H,`8љ$ъзOфЄ Аh"РH `iFьчТыкч^йнзH4GЗHIµh°цм@сч ю±€ч«ю љHљ@  8AGЗ@jpG@ipG( pGјhpGhpGipGАhpGјipGHpGШ pGHµ$hHсчOю±€чЮюа$ Fљ<  L4GЗHµhр€–тчLьј≤љt Oрµ–±хА_ЎH FFьч7ыHљGЗHµ@h±€чюљи@ кчUїШ фч ЉHh(–(–(–(– pG pGИ µфчьрчЧшљи@ кч6ї FFµH$сч#ю±€чDюа$ FљL4GЗ-йрA$FFF€чО€X±9F0F€чг€0±€ч\€±)F€чZюF FљирБрµ≠тMFFFH±ХJFhСB–#@т`Р)а тMрљф±н± hЎ±ahDБBў†h®±бhDБBў ix±aiBВB ў±хXOЎ†i0±бiBВBў±х ў#@т+`!FР0Fр∆ь—зP!Fйчдь®@т|1йчяь(!ц®йчџь@!ж®йч„ьqH(`Цшx±Цшh8±ж™9F0Fрѓь(≤—а@"с8ж®йчмуЂЋНи‘й™ычЈы –@тN`Р‘й#0FрЛь Цз#j шШ–∞лO–Щ≤ИB–@тe`аШB –@тp`РЁйш0Fрrь }зщШ!cjјЙA “@т}`РЁйш0Fрbь mзу®Р‘йЂ0Fрмщ(Ћ—ж™0F©рSэ(ƒ—рШРєЁйъЁйо2X@Q@C –@тЫ`РъЩFоЪ0Fр<ь GзсьШ"FЌйЁйшЌйЁйоЌй©0Fр€(Ы—Ёйш≈йЁйо≈й!©aцЩ"Qк –БрC –БрC–#@тЅ`FР аБрC —сЫчЪУB –@тќ`F#Р0Fрщы з©a"юЩQк –БрC–#@тд`FР аБрC —сЫ€ЪУB –@тс`F#Р0Fр„ы вж©dажBSBPP-йрC≠х}F®FРFFЁй¶I@т!йчвы ЮР@!О®йч№ыЭ±Ф±"hВ±(hp±иh`±®hP±hh@±Ю©8FРG0± х}љирГ щзЮШ( –xєv±∞i`±рiP±0i@±pi0±*h©HFРG–'а$%аЮШИєО®1Fрdш—8"hFР©йчькЁйО#йh®ИG —ђh®CF2F9F†G–ЮШє ,—$ih®ИGєF Fїзшµ$FFР(±%±ЖB” HБBў шљ (`"1FhFьчјш ± ,т–,`шљdд≤,рўлзо€µ(±@т!йч_ы љ љH±I`IБ`IA`IЅ` pG pGizН %qН ©tН {Н pµЖ∞FOр FРЌй–(i®±®iШ± ! Fйч2ыДш0`™¶bжbfc¶cжc’й€чЯ€ ± ∞pљ ызШ(ў!acАаc!hi" FЌй(iIР®рPы(ж—Ёйƒй азpЫН -йрOњ∞FFШFOрЁйJЂЁш С6Р –O±Єс– hАG(± ?∞љирП ъз*H•hЕB—Ў!hFйчяъ9®Ќшд–6Р6®1F®Gаї:≠8F&)FйчSы)@FйчOы<ѓPFЌй7v9FйчHы9XFйчDыєс–#i2F6Ш)FШGрєаІi7Ђ6Ш2F)FЄGа)FHFйч/ыIШ)йч+ы#i2F6Ш)FШG@єbi7©6ШРGєбh6®ИG±%а%`hАG±%(F§зЌ!М -й€OЕ∞ВF% FF/FЁшHАХЇс%–$≥Ш!°B ”ю±÷шx@®B4—ЎшOр ≥ЧЎш¬≤®ычЄ€!–@тµ QFРFЎш0р<ъ ∞љирП@тЦ QF3F"FРFр/ъ сзлЕ"FлEлј–шдј$аШ:F†л алЕлEлј–шь) –) –@т  Р÷шx3*FPFр ъ Ћз!а!–шајЙF–ш№ лЕлE слј # Р хДqЃи сcFIF€ч €P±@т№!СKF*FFPFрящ °зџшд DЎш)—'F÷шxm©B?цnѓТзшµFFOрХ–†±Я±OфЉ&лЗ kЅу!i±I "ичШ€Ш±iF8Fрщ—а% аOфА0` аШ ± FрхшFа÷шА `(Fшљ ¶Н h±IБ`IA`IaIЅ`I`IAa pG pGOxН !yН ЌyН гyН zН ПxН "Q±H±OфЉ#лАkју`FpG pG8µOрТ–±±®±OфЉ#џo%#рpCƒй5ƒй#jF€чМ€(—‘йЫCƒй8љ 8љшµ FFOрЧ(–>≥5≥(≥iF€ч√€(—Щ≥OфЄ! kЅуГAI)`)– Fрµш(—!h…≤р)–!1`!hЙ±Бк“C –'` /`шљ шљ7`'`/`шљр!`*hСBп“шљ!0±OфЄ"Rj`FpG pG-й€AOрF ЦЦЦЦ–/±©€чy€@—а%=аШ0≥ЦOфЄ&ЩлЅPш®/Т@h" рю@РЅлЅ D©ичДпЪRТ*й”÷ш»"©Рсичvпфчш(–аOфЉ лЗkрР (” ∞љирБI "л@ Fдз%(Fуз ¶Н Oр–OфЄ"Тh `pG pGF I±B±OфЉ#лВk¬уА `pG pG#µQ±H±OфЉ$лАk¬у@ `± а љ(–(—аjју `FљpµOр – M)h°хB€: — F€ч]€(—!h)`pљ pљ!`pљX  pµ F–@т& F1Fйч{шH bЁ±(hШ±hhИ±®hx±(ih±hiX±иhH±®i8±")F ичЊпа pљ1F Fйч^ш pљ H`` H†` Hа` H a H`a H†a Hаa Дшx H ` pљP5&М БМ Ќ!М Q М A#М } М ЕМ BSBPіµ`±@"F80©ичЖп Дшx Љ]шы ъзµ(Ь–Db(0јљшµFFOр–@!FйчшЦшhр± " Fс8ич`пс !F8F€чoю–@тzP:F#Р5а#@т\PFFР0F€чЌ€%.а!F8F€чЅюа–@тjPззс(8F€ч€–@тВPЁзс,€ч€–@тКP‘зс48Fс<€чXюH±@тХPР‘й !гk0F€чЭ€%(Fшљ-й€_0HИ∞ТFЁйxhЮРР$Ш%F£F°FФ(± Ш±±Wк—$;а uс” Ъл Eлbuл “…pл“ Щ0RFичIэh≥dEсбuла”єс–±E”1IEў!®ичx€"IF®ичшн"#®ршЛFРШ$Ъјй+ЩШБB–нчВъ ∞ FљирЯ0†с ‘з§ -йрGOрСF_кЪF&F%F–<'а FљирЗл–x†сA*Ў78а08 (Ўр:Fp!ич-ыЖMA?d іл pл б”0F)F№з&5Fщз-йрCOрРF_к FЕ∞4F –E±Єс–’шxs/”/ ў@т0 FIFCFРF€чаю&Kа @тРС©Р(FъчЧь –#@т-0FРHF€ч…ю &4а’шx(—I "хVpичЭьЄє’ш$(—I"х p9ичСьXє' аb#F)FHFрш± &аdЉBу”vє’шx "лАл@AFлј 8ичtь ± &∞0FљирГ&щзT•Н -йрGВF≠ц-РFЩFOр–Єс“єс ”@тzKFBFРPF€чqю ц-љирЗлИлHлј’шм∆¶х`∞хo ў@тХKFBF1FРPF€чUюьа’шртВ®рHы–@т†fа’й=рщ –@т≠KFBF!FРPF€ч:ю$аасф т @’й!р*ы–@тЄHа лЙлIлј х¬`„й@ры–@т≈7а„шь) –) –@т‘KFBFРPF€ч ю$≤а%а%- –- –"хДq црцъ–@таа"тз "рз®@т!ичюВЂ т B х¬a®р≤ъ –@тнKFBFРPF€ч№э$Ва-–-–"© цич∞ыP±@тY KFBF!FР а"рз "оз- –- – !DOр€1лVА™а !фз сзRш 0[ –@т!СRш 0аPF€ч§э $Jа@ИBн”мїRш!#HБB–@т$ Ра-–-–@тO KFBF)FРвзIШИB —IШИB—IШИB—I ШИB"–Щ@т9 РKFBFЋзI Ш 1ИB—I ШИB —I ШИB —I ШИB—Iаа ШИB– Щ@тH Раз Fдж€€+ 0!0eHЖ`  010"…±ј±аRКB“Г\+щ–SЛB—Г\+ –”ЛB—Б\)—DAxєАx(– pG pG-йрOАFуH≠цђ- FFhЁшдzЌш$ Ќш§ ! ц, ич1э ! цl ич,э ! цL ич'э Ќш† &Oр6 ЄсOр\ ЌшФ ЌшШ ЌшЬ Ќш( –,±%±±кiР —а@т†0;F*F!FР а‘шмВB –@тѓ0Р‘шм#@F€ч÷ь$НбЁша (—&’й # ц,"Ни’й#с1F€чбщ–@тƒ0Qа®h.8`иhx` –. –"Ї` * ўF@т“0 "Р!ѕз"уз "сз ц,!с ичм х-c ЌшМ ЌшР цМ'Ћ<;√43ЋL;√ ;єF…yБк 9T@(ц”.Oр цl'–.– 1F ц,"#Ќй ЌйzсJF€чОщ –@тс0РЂh@F*h€чdь$б дз вз JF цЬ,ЌшМ ЌшР ђл…yБк T@(ц”. цL"–.– Ч©#°и цМ"1Fс€чZщ–@т @ з мз кз‘шрС±‘шм ИИB ў@т)JE Ў‘шш0±‘шф0«ЗBў+ў#@т @!FРаЕ®р щ–см@т+@Р9F‘й2 а‘й=€чјю`±сф@т8@Р9F‘й2@F€чцы$≠а‘й=! хГ`риш –сф@тD@Р‘й2@F€чвы$Ща’й т`р‘ш–@тO@Р’й#мз.–.–" цL! х`рЅш – #@т[@ цL"РЎз"оз "мз®IFичўыЕЂ хГb тa®рzш–#@тf@FРјз.–.– р©XхАp –# Щ@тu@FР&а пз нз. –. – "лР‘шмТлРFа уз сзQш"@d—RВBш”Ёш(JT±@тИCУQш"F@F€чiы $ аQш JСB–@тРBТFрз.–.–"© х`ич3щP±#@тЯ@ !FРёз"рз "оз$Ёш§*Ёш$КB–мчВю цђ- FљирП§ €€pµ≠хmђ%Ќш HГђЌшH т DЌшH т dЌшH—шBаAш$Pd”шb¶Bш№јшb ц “шR”шBНиpшчъ(– хmpљ-йрAFFOр–?±6±@т!ОBў љирБ ызичыp‘OкЕq:\Oк—aът%рсcXC@bPп’ц∞а@ƒш(ЁлАQш)ф– „зJ*–(ЎрЬЄ pG"рЄШ  -йрG(F FРFЎAHCт/@т`h?†ШGюз?N0єр-ъіхтўпчЮьн %рр∆ыphлЙF h #5OOр )Oр$–Єс:–ъhХBHЎЄс7–єhҐлл «й¬лГX„шјCк ГPлБP л≈POр…ш@'—рh'а лAX©B —лAXЙл@X–yhасhDа$ рАыпчNьа1hКh¬з3hYhл √шјҐлЪ`ћзАXyhDа$ рhыпч6ьичкм рaы FљирЗђ smem.cШ  $8 pµF FрKърoъN,–"@те±hа-—рhBт–аR1ш2ШB–†Bш—А≤†B— л¬X®B– pљ FрьшсhDpљШ  µръ рршI hDH` wљШ  -йрGр ърvш6LFаhичащ рЎшбhOрOр Oр Cc`"°F§hF@теа лZQ лјлжY^QлЅш†@бY D4ш0qEл— р±шўш LFD…шич^мр щрър°щ JI w рЋъєпчЧы!@т£€ч ю—пчОы @тФ!ƒй@т§€чљю—пчБы Aл@лј@лВ(—aх”љирGичyњШ  €€ рDєрTє-йрG(FFЎрЬшF0` FљирG€ч3њ&O8єр№шіхтўпчMы рxъxhл hOр Oр ) –%∆шР рjъU≥yhлX∞±$а!л@Xл0`xhAXКOрл@X– IIhащhEяз€ч≥€щh©BDЎЕB“1h)DБB”%∆шР(FљирЗШ  $8 µр/щHјhљШ  FHpµ$@теАh%!FалЅIВXD0ш1 ≤B–ЪBф—H0ш1ШB–пчвъ FpљШ  ЫН µL i@– iљ€чi€ aљШ  µL`i(—€ч_€`aљШ  J!µТhаI)Ў2ш10ГBш—2ш1†хАsе;—HCт/@т9!h†ШGюз лЅXљШ  ђ smem.cpµ €чШ€MйhD(`hh–шА(–пчЛъ(hh) –ihQшД/IhTD`€ч€(hБ`!`pљШ  µL (0–рЫшрњш €чl€бhD``р£ш €чd€бhD†a hh(–пчYърІш €чV€бh"D!р}щичлJ I wрwщ(—љи@пч@ЇљШ  €€ ѓуАpGHhI—IJh h`hpGL  –У pGµ€чн€8±A–JhСB—АhљHљSIIIаЗµ€чџ€8±A–JhСB—@hљOф љSIIIµ€ччюF€ч,€!°хАQ "Иhл@лј р 0∞хА_ўпчзщI"!`Oф!a`IƒйI `J`љSIIIаЗ–УpµLаh@—€ч€юF€чою)F€чП€а`pљШ  µL h@—аh@– €чєюбhD `љШ  pGµL h(—€чБ€ `љР  -йрGЖ∞Aт ©NFT†кчNы0є"kFV°®кчmы±пчОщЭ"U°kF®кчcы±пчДщЁшА$!FdлAIhDz*–@z(у—MO8hАh∞B“пчmщлDOр NF л∞Bўпчbщ8hєFВhҐхАRВ`ъhChАhDл ?Hћш@ћй9h с JhЙhDјй!ћш(!ђш,"ђш.Fћш0 лБI)bщ”#<аўш лCлC лХhPш m≠Х`UhТh*DAш /h%J`BhК`zКБBz Б¬h a*FлВлВRёш`*>bёш`5Dт”Jhr±ўш hDJ `zКАBz Аh@Ѕй a[£Bј”∞љирЗ/core/mproc/smemsmem_toc_verssmem_partitionsШ  $TOC$PRTpGpGpG-йрA& F(F–†сk)”&аА!€ччы—пчїшаi=@(Cаaичlй Tш 9@–©B–& @ (ф”0FљирБ0µ F— аш[ш[±dш—а4є ±"pш (ы—X@0љрµF FFаUш#јлFсQш#`§`сEш#@∆[УBо”рљ>µ*ЁйT2“ФLЌй5 #лВ#h±іш2ЂB“K#`@т#§ш2Ы≤[§ш2#hD%` M`ШАўАiFБішXБіш@§ш 3 аQш @@ј≤√РBш”>љT ЌЂ4µСкHњГрCсFГДqл “Cл aл яш$бOкT§л\кCњЮкD_s–#к№с !кQCфА2”"ъ юл#ъ юAлћс ъюлQс±хАћс 2“лQътљи@XњpG@8њ_кBњpG(њ рAсOкAх8њpG°сјAржЇ*Cлђс №с2њOр#ъ улAлQіл_––°лQхАI_к0лQ”Pс8њъю—љи@…з@8њ_кB —√зљи@OкAх8њpG°сјAрЃЇЮкD_–к^љи@њрA pGљи@pµрOъњdыЊ>а€IOррГїњш-йјA0іяш†¬<књ<крмАБккDк’tњкр«А§лOрEEкЅ!Eк√#AкPQCкRSсtЩBх4Oкј Oк¬"њРBрЬАOкeт@v]OкEыч«сАwычOк„7ІыhvB»хА8Іыќ8њ®сыжOр¶ыМжыќ№с ќсN8њЃс¶ы XOрOржыЗ°ы∆†ыќлEсбыeсаN~њ§хА4_кFmAсАEсOк'OкfGкg¶сёFґсА_Oк%ў8F$р лƒqЉсюoл ЎрЉљиБ$B\њхАЮкƒ‘рЉљиБ$B8‘рЉ°сјAљиAрнєOк“"BкCROк”#ІыЖOк– @кAPыfкOк—!ыfXњ¶лVґлVOкRNк√~лVлSљ’л^AUсґзOфАOрOрOр≠зрЉOрсјAрAљиБк  к– ак р%АOррЉБкрAљиБрЉљиAБкрШєрЉљиApµрDщ ~ь>рЄБкOррApGБкрГєрЉљиAOр!IpG€эыщчхфтронлйиждгбаёЁџЏЎ„’‘”—–ѕЌћЋ »«∆≈ƒ¬ЅјњЊљЉїЇєЄЈґµі≥≤±∞ѓЃ≠ђЂ™©®®І¶•§££Ґ°†ЯЯЮЭЬЬЫЪЩЩШЧЧЦХХФУУТССРППООНММЛЛКЙЙИИЗЗЖЕЕДДГГВВББА€шOкS£хАc”с®њ”с џOрBBкЅ"RкPR2ърpG B ‘+ƒњ pGхx|Љс€?–Oр€0pGOрpGpµр√шњIТ$А pGрз∞ъАуъс –√схАcOкAPOкRл—!pGOрpGяшHЅpµкњкЮк Хк рoАБк#кLNк‘~!кLAфАCфАЃD°ыL†ыeЃс~6Uл °ыLLс†ыл eASс BњFрф —Oк1Oк04AкQ@кPoр аOк√!Oк≈ фAкUQ@кVPoрл.BлUЕкќq –_кD њ$рDPсAс к‘p@тю|bE“pљ®BњOрАDOр@D.њ$ЊсАo®њ°сјAљиp@АтВАOрсјAрApGЮк  књХк –OрБкрApљршЙ>рЄр ЄOкC _к\\–Бкр[ЄOкA _к\\ц—OрIpG€шс.р^шk6B‘*CлхЎ(Aл х Ў—Oк—|х лL с њLл”|аOр аOк”| лL&ъцрґс “лЖ љиp@Lр `Gяи р OрAOр°х!pљFF(Qлњ‘хДњ рApљ†хOк1pGµСкHњГрC?хЇђДqл “МрLCл aл яш§бOкT§л\кCњЮкD_р∞А#кnRB!кQ√лn8њ[№с %”"ъ юлCъ юAлћс ъюлQсћс )‘ътлQљи@XњpG@њ≤сOpG( њI рpGлCлњOрNкBђс №сTўCъ юлQс€1ћс’’съю@AAллD\_к\\ўлёpлQ8њЊсOљи@њpG( њI рpG0“Oк‘,х$фd–±ъБт :§§“с С@0ъуCР@лћq,лQљи@®њpGсјAOррApG∞ъАуъс—љдГрAFpGа€ р +њ рYА + –+њpGњр@ –OрOрpGр@њOр@pGр– рpCрBBк”OкCppGр`@!рBBкр@@кrppGOр€ LфаlкSњЬк ФE¬њЏBлQpG+ –Љс–*рA§њAраAAрaOрpGрAOрpGPк3OрЫ њLрАlфђpGфА–фа/–oкћ1IpGOр@PпуВ"рpBBкВуИpGOрpGМ М Ў  `П `П Ш0 АА ``  @0`0`0@€€€€€€€€@З@З0АFЗАFЗ 0@GЗGЗЊ0@аЗаЗ иЗиЗ0ЗЗ0АА €€€€€€€€CDT version:%d,Platform ID:%d,Major ID:%d,Minor ID:%d,Subtype:%d`А=ЇН DЇН QC_IMAGE_VERSION_STRING=BOOT.BF.3.1.1-00120IMAGE_VARIANT_STRING=DAACANAZAOEM_IMAGE_VERSION_STRING=CRMOEM_IMAGE_UUID_STRING=Q_SENTINEL_{A05D6EC9-5F72-469E-8BB9-88C72771460E}_20170914_223540xxA-DAACANAZA-40000000%їН L9їН LOїН Ls@М T  @А » еHW_ID\HP||§P№?аo9 icb_config_datanum_channelsnum_segmentsmap_ddr_region_countmap_ddr_regionsbimc_hal_infochannel_mapsafe_reset_segpmic_arb_base_addrownerUartMainPortPhyGpioRxDataGpioTxDataUartBaseIsLoopbackBitRateClockIdIndexGpioRfrNGpioCtsNDalEnvTargetCfgsmem_toc_verssmem_partitionsDEFAULT_FREQUENCYQTIMER_BASEQTIMER_FRAMEQTIMER_AC_BASEChipIdOverrideHWREVNUM_PHYS_ADDRHWREVNUM_OFFSETPARTNUM_BMSKPARTNUM_SHFTVERSION_ID_BMSKVERSION_ID_SHFTQUALCOMM_MFG_ID_BMSKQUALCOMM_MFG_ID_SHFTSOC_HW_VERSION_PHYS_ADDRSOC_HW_VERSION_OFFSETMAJOR_VERSION_BMSKMAJOR_VERSION_SHFTMINOR_VERSION_BMSKMINOR_VERSION_SHFTFOUNDRY_PHYS_ADDRFOUNDRY_OFFSETFOUNDRY_BMSKFOUNDRY_SHFTtlmm_basetlmm_offsettlmm_total_gpio_4018tlmm_total_gpiotlmm_sleep_4018tlmm_sleeptlmm_ports/core/buses/uart_40x8/1/core/buses/uart/1@p @@@@@А@@@@@@@@@@@@@@@@А@А@А@E@@@@@А@А@А@@@@@@@@`А@А@@A@@А@AА@А@А@@`А@А@А@@@А@А@А@А@@@@@@@AА@А@А@А@А@А@А@А@А@А@А@А@А@@@@@@@@@@@@@@@@А@А@А@А@А@А@@@А@А@€€€€*?O]i€€xЛ€€С€€С€€°Б ђЅ ЈрКјЋ¬”€€°СА ђБј а±ј й°А ЈЛјЋ¬”€€°¬Г ђ“√ ЈрКјЋ¬”€€тщ€€€€€€€€!ш$3 ?L €€[ќj}Нр€Ъ ІрЈ«ю№сР – €3F€YlА~ НАЪ€€€€І±љF“Fв тXэt€€сїН √SюНЅїН ЪR"ƒlЂїН мфhИЉН ўЬnNШЕїН Y=Й§®ШїН Z=Й§фmїН ,µvXўїН nљ•$јкїН чZь дxЫН   ‘£Н @ШАр€€@pАр€€@ИАа€ЃЊkрc&Љz8}М:в9^аќћ1S®УУЫР–-;ш≤>ТдRюцb«IШBЏ‘*8U#UUUUUU$U%U SHA1DEBUGSW_IDHW_IDSHA256+++++*ЖHЖч *ЖHЖч *ЖHЖч *ЖHЖч *ЖHЖч  +В7 `ЖHЖшBCRASH_DUMPћ1S®УУЫР–-;ш≤>ТдRюцb«IШBЏ‘*8 сe±gR”щчQ`omm C;К%≤[ЧyЬяѕ√pЋNюY^IіТЯ"]ї:÷ѓтѓO7'†÷fсљ3ѓ.¬СyXгb√£Бo|бэаrъ8Ђѕm¬dR[≤5 Ў†•Зc/.≤ГZС%x !њ†iƒЦє|}§о*Ч√АC$Т–/ …c»Qі’ЮўПщмptЁЃЛЌ»бgьB<ўYЮРЫ©з  wѓвh*ФyfЧ№МЫ@z46пҐШ—ЁN§ЂЕe;ь'pёєф`TV¬Шѓ#$фА>єжшзб TТsMЎJЦ_в~џ юнSЕы@kфФЃЮR±ЖС<ссСШbЧ«wN Ю^Іє…К&Жз>C|ЩЕ™2ф±¬s=іЇ‘±а(>ТҐ’÷eкR`Ї14V=Ь«tЛ¬G ѓЭ,ОIHЪзIцыЉ©/Ґ 5Q∞M "1234567890ABCDEF` ` ` ` ` $` 0` `§P АБ÷№ґmџґmГ ы8222G¬ €й”М Ь e'М і Ѕ=М Є Ѕ=М >М >М >М >М >М >М !>М %>М ы1М 2М п1М Ё1М —1М ]AМ H  «є0 I Q ОsaU-У ТФ£з¬џ^т mг!™Z&$)GгРw!8ќЕ€wµ!q‘!ґљд"Џ∆-TµLУ |"HRОПлЊ"Шя"∆!пpЬ Ј%;#9VZ#юпj%±Ш#в®l{…Ђ¬щ#эG $:ю:іН[s4k$®jЩo”©$ᆻ$&шР§W,%ўnM%„}≈ЙП%0њМCёKъо%а8'Б'&©тF&nKvµД&rђіья’;fе&Нџ'Jb1ƒP®`'ЎцТOҐ'С<√'VЕу=6$(ъПtьu≥EE(hЈѓҐЗ(!—ж(жh÷P’2 Чl)c)ё¶S ш°)¬AС L2р ЛЛј) I9 зр *iГh*Ѓ:X ud™*≤ЁЪ <Ѓы ыЋ*M™/+К `~ √ўN+ЗЉ я>М+QMн+ЦфЁ јq. »,Йї,NO Х\љ,RеН №Цм /№,≠Т8-j+ дXi #бY-шњЂ ?Ы-±uъ-vћ  Ё3.ЈФƒbS}R.И#†OЪР.Ѕйс.PЅ∞н%wT/щ't/>ЮDејґ/"yЖђ зk≥„/љ’x0zlHф)3¶0ишл/Aџ0°2Ї0fЛК–6nП^1Щь?1^EЕэ1BҐЌћ—ђ hЬ1†™egU2й`42.ўхЗц22>∆ЉMІ{фЧ2ЌIs3 рCДГ"C:3Шdа_Ё–3—Ѓ±3Б@ТrЗ+B4 X#4ќбњб4“—\u∞ЫћА4-qd5к»Tdї5£5x\чње«51Ц¶5ц/Ц]нo6ЪT_'>”Ю6јьѕyћ6A ≠6Ж≥Э0yчЈI7yƒ(7Њ}e#к7ҐЪЏ,йїлPЛ7Аг\GZl8…) 8Р=’ќѕ8w€ЬЮ[љЃ8нJ9*єz§ cs+9Є-ўФй9сзИ96^ЄЭЬA:Z%q‘Vп :»±“в:Б{Г:F¬≥рW7∆g;єµ;~ 6•Rƒ;bлфмШХ+!•;}§V<Їf4nу„7<(Й≈п0х)>о®*5цЎ>тOи|<ЙїЕє> 8]? БmDт ГK2.QpЯ€ЊпЁяьѕњ:ѓYЯxПИС©Б ±л° —-ЅNсoбА°¬0г P%@Fpg`єГШУы£Џ≥=√”г^у±Ру"“25BRwbVrкµЋ•®ХЙЕnхOе,’ ≈в4√$†БftGd$TDџІъЈЩЗЄЧ_з~ч«<„”&т6С∞WfvvF4VLўm…щ/й»ЩйЙКєЂ©DXeHx'hјбВ8£(}Ћ\џ?лыщЛЎЫїЂЪїuJTZ7jzс –≥*Т:.энlЁMЌ™љЛ≠иЭ…Н&|ld\ELҐ<Г,аЅ п>€]ѕ|яЫѓЇњўПшЯn6~UNt^У.≤>—рЙ#Ы2$F≠W6eњtHМЅЭZѓ”Њl еџ~йчшБУ3"•V,GЈu>d…Ь@НџњRЃнЏdЋ€щvи!Л0Щ&gѓv4DљUJ≠√ЉXО—Яnлзъ|»хўГ1 СІw.fµTбЈр@…R+џ:dNн_vm€|ЙФЕЫЈ¶≠“$√њс6аЅH ”;Z*е^lOч}~l •ГіЖСЧ.гІт<јµ—B)Ћ8P ўfoп~tLэ]Лµ§ЩЦЗѓу&вљ–4Ѕ√9J(—X зnnх\|M ∆Е„еЧф(А°С:£≥≤DJЌ[Viяx` йr/ы>Н÷«Яхд©Р Бї≥2Ґ≈ZLK„y^hбh у?z.зЗцƒХ’*°£∞8В±УFkѕzTHЁYb-лбCл€еЪЌЉи-–}мwpЖ4јmG0K=ЃV≈9ЂВ'C#≈=.r Ѕ*ѕЭОxАO°¶ їЌлК§цK}– Ќ… ЂЧx∞ґV|iРqёН‘uџЁУklјRoµжbы–fњFЯ^[^Z—}Wf`№Sc0ЫM‘-ZI DЇЎ@Ч∆•ђ џd®щэ'•Nаж°K∞°њь≠`ї%Л#ґТЦв≤/+≠КШ6lОA/Гц оЗу]©ЩD@hЭЭf+Р*{кФзіаPuдЙ&6й>;чн;k∞уМvqчUP2ъвMую_рЉ∆ин}¬1Ћ>ѕЖ÷€ЋГЖЄ’4Ыy—нљ:№Z†ыЎоа iYэЌmАџО`7∆Od2ЦzЕЛ…~\≠Кsл∞KwV Oб≈K86ЖFП+GBК{\=fЅXд@ВUS]CQЮ;%)&№!рЯ,G^(BM6хPЎ2,vЫ?ЫkZ;&÷СЋ‘HнЧ €рVъ†Mљ–ФЫУ#ЖRV/сєKох`m≠ш„plь“ +вe=кжЉ©л hпґї'„¶ж”ЎА•ёoЭdЏjЌ#ƒЁ–вјц°Ќ≥л`…~Н>љ…Р€єґЉіІЂ}∞Ґы:Ѓжы™ћјЄІ{Ёy£∆`6Ыq}чЯ®[іТFuЦ2И≠ уМt-∞Б√0qЕЩРК].НKYчЂT@ґ…PEжОNтыOJ+Ё GЬјЌC!}В{Ц`COFrш[Ѕvэ ЖhJGlУ0a$-≈eйKЫ^VZЗp0mЎ5=ЯВ ^[ м№Q¶У7жїR3?Э>ИА–:Н–Ч$:ЌV гл-Tц‘)y&©≈ќ;hЅ+ћ†к»•P≠÷Ml“Ћk/я|vоџЅЋ°гv÷`зѓр#кнвољ•р™†dфsЖ'щƒЫжэ эЄЙЊаyНg∆:А–џыД’ЛЉЪbЦ}Юї∞>У ≠€Ч±∞ѓ qЂя+2¶h6уҐmfіЉЏ{uЄ]6µі@ч±й”М н‘М ÷М з‘М +÷М ≥‘М Щ’М с’М ÷М б”М /÷М £’М љ’М 1’М e‘М ’М e’М Щ‘М ‘М Э÷М Ј÷М Ч÷М I÷М c÷М Ќ‘М „’М K’М }÷М e'М ±'М у'М Ђ'М (М •'М з'М (М (М …'М б'М љ'М џ'М √'М Ј'М ’'М ѕ'М ]AМ єAМ —AМ ≥AМ нAМ °AМ ≈AМ щAМ BМ ІAМ ≠AМ њAМ BМ €AМ уAМ цЉН nЉН 4€ОЉН 5€оЉН 5€vЉН 5жЉН 5~ЉН 5€ЖЉН 5€&ЉН 6€.ЉН 6€6ЉН 6€>ЉН 6€FЉН 6€NЉН 4—№KД4„s∆TЛ‘^ЉН 4€VЉН 4€fЉН 4€ќЉН :€ЃЉН :€ЦЉН :€ґЉН :€ЊЉН :€∆ЉН :€ЮЉН @÷ЉН @¶ЉН @ёЉН @АаЪEрEАБаБ––јјјјјјАаЪEрEАБаБ––јјјјјјффффдд дд 0123456789ABCDEF@0X0123456789abcdef@0xQSEE Image Loaded, DeltaAPPSBL Image Loaded, DeltaOCIMEMOCIMEM.BINPBL, DeltaPBL, EndPBL, Startbootable_media_detect_success, Startauth_hash_seg_exit, Startauth_hash_seg_entry, Startelf_loader_entry, Startbootable_media_detect_entry, Startelf_segs_hash_verify_entry, Startboot_flash_dev_nandboot_flash_trans_nandboot_flash_trans_nand_factory/core/buses/uart_40x8/1/core/buses/uart/1/core/buses/uart/2/core/buses/uart_40x8DALDEVICEID_SPMI_DEVICE/core/mproc/smemQTimer/dev/icbcfg/boot/core/buses/uart/core/buses/uart/0MDM9240MDM9340MDM9640MDM9245MDM9645APQ8016MSM8116MSM8216MSM8616MSM8916APQ8036MSM8236MSM8636MSM8936MSM8208IPQ4018IPQ4028MSM8209MDM9209MDM9309MDM9609MSM8909IPQ4019IPQ4029APQ8039MSM8939UNKNOWN @® (s@З†≈GЗXAТ ј–С @‘@ЗIrМ 0:APPSBL0:QSEE0:CDTхЃМ 5ДМ хjН ImМ ≈bН mcН i`Н н_Н ХqМ IhН ЁkН ЕhН µ_Н ЩqМ °ѓМ eН ≠iМ —≤М ’≤М 1ГМ 5іМ %≥М сcН Х≤М eЩМ jН 3hМ sНМ UbН –  ® ЇН  с7Н Ф "ЇН CDThRDD€€®( ^`Ѓ ю@XШШ<KЦ<Ц2Ц< ¬KА ddрЦЦЦГ€€€€€€4јјю€€€€€€4јјр€ €€€€€€4ј$јр€ €€€€€€4ј$јр €€€€€€4јјь€$ј€€€А И і ( H UmН еЄМ ЁЄМ ЭpН йЄМ ’ЄМ БpН =kМ СoН ўЄМ EpН е6Н ®М эoН pН pН pН щoН хoН pН pН ЅpН pН °pН iЛМ ©lН !pН ’pН ЌoН —mН хpН nН mН ЌЋМ Х…М )ћМ eЋМ ќМ щ М ]pН cЇН аЇН nЇН »ЇН ≠ЇН УЇН їН ZЇН OЇН QМ ’НМ  A«М Э«М •∆М •∆М 9«М =«М ЕАМ ЕАМ £∆М °∆М с∆М -«М 0:APPSBL0:APPSBL_10:DDRPARAMS0:SBL10:QSEE0:QSEE_10:CDT0:CDT_10:MIBIB0:BOOTCONFIG0:BOOTCONFIG1∞t` - Format: Log Type - Time(microsec) - Message - Optional InfoLog Type: B - Since Boot(Power On Reset), D - Delta, S - Statistic OVERFLOW - * Format: Log Type - Time(microsec) - Message - Optional InfoLog Type: B - Since Boot(Power On Reset), D - Delta, S - Statistic OVERFLOW±ЕМ ЕМ ўЖМ 9ЙМ эИМ €€€€0 €€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ ЫН €€€€€€€€€€€€QUSB__BULK  $  @ ƒ©Н ЫН д©Н р©Н ь©Н @™Н   ј§Н €€€€ь€€€€€@∆Р  €  † €€€Б@@ ,† €€€Б00   , м < , 0 М; СZН  >Qualcomm CDMA Technologies MSM< м H р T †ІН ф @ЈЉМ еЉМ я@Н ЭЉМ wљМ €€€€ТDрр0EВ@€р€р¬@€р€рA€р€рBA€р€рВA€р€рА¬A€р€рB€р€рpВ@€€€€2tВ@€€€€2И@€€И@€€€€d$И@€€€€ќ€(И@€€€€Ь€@И@АААГ@€€И@€€юA€€A€€€€d$A€€€€ќ€(A€€€€Ь€@AАААA€€A€€ю @€€ @€€€€€€€€`` @€€€€€€€€''@ @ @ђ А@KАЉН ¬P?@o9й1М )>М X +…”М ≈”М ЎA(М )(М X-DМ )DМ ИйН нН ќ й п р с т уQ кR лP мU нT очшщ ъ` хa b e f g x y = ќйпрстукл м н о ч шщъх  †ЄН јЄН ь MT29F4G08Vtio,№@@d€ь TC58NYG1S3HBAI6Ш™@Аd€ь MT29F2G08ABD,™@@d€ь TC58NYG0S3HBAI6Ш°@Аd€ь K9F4G08U0Eм№@@d€ь MT29F1G08,с@@d€( м TА BєН аЄН DєН єН АєН XєН ЉєН ФєН †Ж÷р!гФЯе†бБвБв БеБв0БеБв@БеБвPБеБв`БеБвpБеБвАБеБвРБеБв†БеБв∞БеБвјБеБвс–БеБваБеБвсјOбјБеБв–БеБваБеБвсјOбјБеБв–БеБваБеБвсјOбјБеБв–БеБваБеБвсјOбјБеБв–БеБваБеБвсpOбpБеБвАБеБвРБеБв†БеБв∞БеБвјБеБв–БеБваБеБвБвсјOбјБеБв–БеБваБеБвБвсP/оР?о†б БеБв0Бе–ЯеPЯе5€/б€€€л€/бШ2`®5`ў`HAhрAIA`БhJ@AрБ`lрAIdpG0ВАрpµFHLАhј ’OфАhА‘Oр ph!р` I `€ч”€Dц0рБэ†h(–"h(Fљиp@G h)Fљиp@р9Є»5`PБ∞JPоАгOрхP оoрхOрх€/бPоБгOрхP оoрхOрхoрхр гю€€к о€/бxGјFт€€кHhJ@`юз@Б€€њµ F IB– Hv!Cтah†ШGюз I@рH`€чЉп Fљи@€чЏњы€юфђ boot_a53.c ре$ М реЙ5М реI6М реs М рењ5М реФМ Kц јцМ,`Gре|М ре)ШМ реµјМ ре1ЊМ Lт—,јцМ,`GреИ М реP М -йрAy$+-Ўh’ша*ihCтv±C@тvк# CБh±IрC√hk±i≥B “Ђ`–йcЫџCл`@iјC(aAфQ`Nр(`@ти6 а Fd∞B” љирБ рэ(hјт— хз-йрA$±4Mйh…– љирБ2I iOршRЅу1°хcy;;–°хCР;7–=)5–iкa¬i“≤AкABiАiAкaрC)b@тп0(aBц™ha H®a H®ac (`(hN0@@фАP(` р÷ь(hI@(`(h0@@р(`OAцX6иh8@ј— аiкa¬i“≤AкABiАi@Aкa«з ріьdіBж”іB” Яз» р™ьЪзаВ√х(√х(€?1€/1с??-йрA$(±$Mйh$N1@…– љирБiOршRCткa¬i“≤AкABiАiк2Cк C)b(hO8@@р(`(h8@@фАP(` рjь(hI@(`(h8@@р (`Cт∞gиh0@ј— рXьdЉBх”ЉB” Ѕз» рNьЉзрВс????Oр–)–)—H€чЯњ pGH88€чњИ0`µLрВь†хАq9–р|ь∞хР—L Fљ4A I f HhЅуAфАq`HhЅуAр@` pGВ`АpА(µ–(– љH!аH!р4ь љ< А,0АµЗ∞ I"hF€чVо HАjр@‘hF€чЙю( –H!(0рьH!00рь ∞љ`%`аБOр–)–)—I…h…– pGIшзрВаВµрш(– Hh J@`hТ@`hR@`hJь:@` љ`Аы€8µ iFР H€чоxє Ih@р`Ш"ICh[jШGFШ€чън ± 8љ 8љ ар∆a  pG-йрGF FрръэKhр—hфБp@`,}–$-{–% €ч€ €ч€(Fрџъ(p– Fры(k–ръ(g–рТълL! FрЕыкM!(FрАы.!0Fр{ы7!8FрvыяшИГ!с@Fрnыяш|У!HFрhыЁIOр€0`№I`!№Hр^ыЏH!рYыЎH!80рTы÷H!рPы‘H!рKы“H! 0рFы–H!рBыќH!0р=ыЌH!р9ыћH!р5ыЋH!р1ы H!р-ы! Fр)ы«H!а¶бІбlбр!ы√H!0рыјH! 0рыњH!рыљH!рыїH!р ыєH!рыЈH!0рыіH! 0рыъ≤H!0рцъѓH!0рсъЃH!рнъђH!риъ™H!рдъ®H!ряъ¶H!0рЏъ!(Fр÷ъ!0Fр“ъ!8Fрќъ!@Fр ъЬH!р∆ъЪH!рЅъШH!0рЉъХH!0рЈъУH! 0р≤ъРH!$0р≠ъПH!р©ъНH!р§ъЛH!р†ъЙH!рЫъvH!L8рЦъsH!H8рСъqH!@8рМъnH!<8рЗъlH!,8рВъiH!(8р}ъgH! 8рxъdH! 8рsъ!©срnъ!HFрjъ! срeъ[H! 0р`ъXH!0р[ъVH!0рVъSH!$0рQъQH!,0рLъNH!40рGъLH!<0рBъIH!D0р=ъGH!L0р8ъDH!T0р3ъBH!\0р.ъ?H!d0р)ъ=H!l0р$ъ:H!t0ръ8H!Р0ръ5H!Ш0ръ3H!Ь0ръBH!р ъAH!ръ?H!ръ=H!0рющ:H!0рщщ8H! 0рфщ5H!,0рпщ3H!80ркщ0H!<0рещ.H!@0ращ,H!р№щ+H!рЎщ)H!р”щ'H!0рќщ$H! 0р…щ"H!0рƒщH!0рњщH!рїщH!рЈщ љирЗJ Б–Б\В`АpА А 0А @АААРА†АаАpБ АБ †Б ∞БјБ аБ рБ В В0В @ВPВ`ВX $Ўе%ўе HhЅуAр`hЅуAр`hЅуAр` pG`А H Jh K@C`hЅуAф1`hЅуAр@`pGИh`АwЧµМ∞!hF€ч|л!®€чxлр|шF НшНшР РРРOрЅpРhF€чХыHРhF€чРы HРhF€чЛы Р HРhF€чДы"хq®€чB뮈ч{ы ∞ љрБ БаБѓуАHhJ@Aф∞1` pG`А€ЯH!µрушH!№0рошH! 0рйшH! 0рдшH!и0ряш H!д0рЏш H!р÷шH!р—шH!0рћшHh!`љВ(аБ∞АHpGP0`pµЖ∞F€чч€,” ∞pљлDлЅсpс–с†`y€чЩь(о–0F€ч ы(й–(F€чы(д– F€чы(я– H!Р Нш НшРЌйРhF€чоъ(Ќ– ЋзP pGpµF€чЄ€,” pљлDлЅхАuhy€ч_ь(у–(F€ч–ъ(о–05hy€чTь(и–(F€ч≈ъ(г–х∞t`y€чHь(№– F€чєъ(„– pљ0µЗ∞F FhF!€ч|к€чА€-“хшqhF"€чfкЭш€ч(ь(–,–,– ∞0љHРhF€чРъ(ц–I `F H8 а HРhF€чВъ(и–H!8ршHhЅуAфАa` ЏзD АJ40А`А)” pGh)–"р` pGBр`h)ьџцзpGpGpG8µL hHєI OфА2#F€чк± 8љ hjFЅ– рF"Hhƒj †GаAhЋj!ШGШ8љL0`o-йуO ≠хG}рщOфА@n¬Р»o“J@»gHh—J@@ф`H`HhCтќJ@«Ък2CH`«Ш х@y JлА√®ƒР(h рs фајР(`Oр »oр. — @ти3@ШB(Ў o¬уАB*ч–$ хzOрFєјШ фш0 фАpјРўш(`'OфА oѓH@@BфАp»gрЩэ(x–«Щ¬Шр+ю(–@±жа!ЄсJш'–ИFа Jш'јЪ¬у0(—–‘.–xЅР`у"јуD`у2јТ¬у јC`у"ƒШ√Тh(`¬з#FЮFЬFFZш p/–!@@(ч”'ЅЧќуќуDЄсћућуD/–Oр F±&аIЛBиЎ†л FДFгз`уpDcуEр? ≈ЯЌш√nуaуEр?≈ЧDІл K`ѓ ©Gш$јAш$0A@®@ш$ Mш$аuаMш$pјШју(—¬у( –`∆Р`ујуЅ`ујТўш(`dRзїс–OфА»o…oјуPЅуBјЩ`у1bу!!рs@јРўш(`CаOрN±&lF1F0FTш *{–в≥а$oF`Ѓ!F FWш * —Vш ЪBўFF!Fа—Fс (н”`@Wш —± ©@™рQш јуЅRш »Ш(,—Зшo8K[@@ршg @ти<@`Eў хI}љирП@аыo√уАC+с–шoыoјуPИB√уCЎ—УBў@рара јЫaу3bу#fуdу`уSјУўш(`OфАаoII@@фАpаg`hI@``«Щ¬Шрфы–±!а€з!є!Fа)–@ (€фvѓШ ©@@™рQш јуЅRш ƒзFрз«ШлАPшА!роA` Ъз21э??а?аА@?7а0µOфАch@кAM@р@йC+@@Cc`"FPh(ьџ0љј€€-йрA$Fр@€/FOфА–! €чџ€®h(#–! €ч‘€! €ч–€! €чћ€®h(–аphI@@рА@p`хАа hј*— hАщ’,а! €чі€! €ч∞€! €чђ€pj фА0@фАppb! €чҐ€!F€чЮ€! €чЪ€хА`h@ь‘а hј– љирБ hАц’ шз??а0µЩ∞F0!hFюч¬п$(Fр„юF ®р9€0"hF ©юч®пЁйDA аId)ыЎрЋ€ј@@к!hn("–("– Aк®h(– Oр€2AкА(nл–C HC H@OфАВh KџC@CБ`AЅ`IЅb∞0љ Ёз џз язА€€€-йуOГ∞FЖHЩючrпOр Р–F Fр}юЭFАkmЩ(DючdпF kЩ(Dюч^пР`kЩ(DючXпГF†iЩ(DючRпF lЩ(DючLпБF iЩ(DючFпFШ2mKBкbBк P@к2Bк OфАCi@ЩCCa‘шФЩ(Dюч,п(“Fа' oЩ(Dюч"п(Ў ЩБFаj(DючпР‘шИ‘шD∞Щ(Dючпбo;CкKbBкPQJ@к!Aк ЩOфА C`2ўш@СCC…шаnЩ(DючфоГFаkЩ(DючооЩF ръOк AAк1AкЩ ріщ»йqєIPAЎДйµЇ¶c“?ќ“Цї;'≈yMcљЎ”АЧ нщВ9@Й!mМ:ћac]§k,Щt3^£~ _÷`•»§*Й≤qъ~¬ђKЛ&ц mЩ™Њ4oMгQ°YJѓІtЩВЩўPoО±"рIућ16B:WЧWPР~Љ6~)Еђc8ЧmMZCЯP2?JvЫ—ЖДе±kUШbјијZV_ёаZЉѓцЃxOзµЪцё;f[gxМ¬щШТЂВ~ъг§g4+;ігЉО[юdуЯеdуЯеdуЯеdуЯеdуЯеdуЯе`уЯе\уЯеP оРп оTЯе0€/бPгЇPоD3Яе0УеSгЖ €€€кOв0ЯеPбю€€(ЯеСе∞о€ в@†бРа∞о€вБаЯе †г!БзЯе∞/о€ в ВвЯСбPгТБPъ€€_рх∞о€ в@†б–Яе!Сз Bв!БзіЯеСе∞о€ в@†бРа∞о€вБа§ЯеСз Се Вв Бе†г†б\7г`8@г Уе Вб ГеpЯеСеБа гJ @г Те Бе”р!г\Яе–†бPЯе Ав@вџр!г–†б„р!г–†б”р!г∞о€ в@†бЯеБаСе†гQг∞о€ в@†бЯеБаСе%0лЯе о†г`г`@гАе∞о€ в@†б‘ЯеБаСећ!Яе!ВаВеЉЯеБа †г БеіЯеБа †г БеЉЯе0€/б-еpЯеСе∞о€ в@†бРа∞о€вБаФ!Яе!Тз0Те0Гв0Вею0єШkF2FAFрvь±$Ш ±®€ч`э±$р-ю±$ Fƒз-йрAF@j' F(FсЏА#BbbCTаBbbGT`j(щџ"h2 Fрlшgb '`а"h2хз! y)T@∞B“(ч”а/T@∞Bы” лА@(OaO`ш”љирБ"Bb`FлБI)Z`щ”pG-йрG%FсFРF©Fа`j(џ"1F Fр1шHFƒш$Р{]AabmГUEEн”љирЗpµFК∞ ƒй™FT@(ыџ!® FЌй‘й€ч0€ —с©Fр6шс1Fр1ш ∞(Fpљ|µOр–лГTш#PRhj@Qш#Pj@Aш# [+с” алГQш# dhb@Aш# [+ф”»#ThЌйh F!F€ччю|љ("!рtєµ x’OрЗ аOр "МЛ\dx[Cк‘ГTR*хџ…{МкAЅsљ#µа‘ Dш [УBч”(–Oр€0љ-йрCЙ∞F$oрЁйУЁшHјY±R±N±єс–+±%(–(–аи љ$рЇрЉ pG pGµFFрПъ ` љµрТъ љµ'рЄн љ FFFµ'рtо љµ€чфю љ ъу`ъсБB–[` pG!p pG pG pG pGДF +µ –+ —ЌшјhChhhAhhрЌыљhChhhAhh∞]шлр„ї!0±OфЄ"Rj`FpG pG-йрGFFOрњ./ O–ЈхИњ JЎ@т!'рFо/ІсЎњ Ё""к(—q\%"hC!`8@∞с€?"Ё©3\%рOк—liъ хTшАл OкБyEк!р•PMшАвXOкўh∞с€?ъсAкбP№№шАƒш(ЁлАQш)њ@у– љирЗ0µ F≠х}њ-–‘ш(џБ(ў х}0љ≤лА8њ ч”В!FhF€чЖ€(р—‘шiFВ(F'ркм х} 0љ-й€OЗ∞АFFOр F ШЁшP∞Ю(Ќш†њШ( –.њЄсЎш(––ш)џБ)ў ∞љирП/–/Q—рещРЎшрщщ1hF°B™њ§с 0`XEAџ Fрuщ_к ;–/Ф®Ф–/ –аЌш†"ЌйРЫYF Ш$рощ—а-њ$–)hЪЌйРЌй!’й# ШYF$рШы—ЌйjЫIFЪ@Fр;щFЪ!HFрчщHFрCщ,њ ¶– ∞ љирП-йрOЗ∞F_к FOр FЁйxЁш@РЌш†њ/–Єсњ, i( ––ш)џБ)Ў.–.–∞ љирПрgщР iр|щ (џHE–∞AтљирПHFршш(Рњ$6– ЌшР©ЫJFЌйYF Fряш —.–.— аЌш†"ЌйxЫЁй$р€ща-њ$ –(hЩЌйxЌй’й#Ёй$рZьFШ!JFрyщШр≈ш∞ FљирП-й€OЕ∞АF FFOрЁйЫЯєсРњШ( –/њЄсЎш(––ш)џБ)ў ∞ љирП-–-њ-L—рлшРЎшр€ш9hВFИBA№рБш=–-Ќш †®–-–-–#аЩ"СYFЌй`ЫHF$рщш#—а,њ$–!hСYFЌй`bhHFЫ$рэ–а0Fр]шNFЌш ∞ Ъ1FЌйpЫ@Fр@ш-F–0FрKш±$ ∞ FљирП-й€OЙ∞Oр F FFўFЁйІЎFЌш∞ЇсЌш∞њШ( –,њ i(––ш)џБ)ў ∞ љирП-–-–- –OарmшБF iрВшЄBАFF—8Fрш(Р@–®ЫЌй :FQF FЧрп€0—ЫїBњ$+—-–-0–->–$а@Fрж€њ$– Ш©ЌшА"ЌйСKFЁй$рcшњЁй РB—Щ(F€чQь(њAт(FрЌ€Шр €±$ ∞ FљирП.њ$т–÷йСЌйРЁйЪ$рbэFжзЩЁй€ч,ь(њAт№з–ш)њлБRш, –2±H 8 сы—pGIлБRш,с— pG–ш#)њлБRш,–В±H†с  сы—рњ ўлQqлбpGIлБRш,з—оз(њ pGµF@т р[€( `њ –@т !'рtл љ(–рUњpGI") ЁшјГ\шјCTRIСBх№pG–ш"Б*(њБ"—ш2Б+(њБ#B±лВ \шћЉсњRх–C±лГ \шћЉсњ[х–ЪB №џҐс≤с€?ЁPш"0Qш"јcEўOрpG“Oр€0pGҐс≤с€?н№ pG±–ш"В±–ш"* ––ш"*№hИBњ ўOрpGэ“Oр€0pG0іh(±–ш"*џБ*ў0Љ pG*OрњлВ \шћ –Љс–RҐс _к,съ—рњ"Oкг|л\sлгҐс–,§с №0Љ pGRлВ \шћЏ—дз"рOкВ|R√XOк№l#ъ уш;д“0Љ pG€чeЉшµLF%/Хџ0]Pє8—!hFрш€Ш(ш–0UЧdUс€5о’шљ pGµИ∞ с $Ёш(јФЃи®"F! FЌй ©€ч<ы∞љµЕ∞"Ќй!С® FЌй ©€ч\ы∞љ pG-й€OБ∞ШБШ'рtк РШOр(lўШ$§FЭ–ш∞ШhШPш#РШйыіhШZF ыъ(OркыЉ.ўШШШШ†с’ш∞Vшл л F@лF©ы®сл NлWшлл JA™ыал EшЉ@л ЄссЏ—Ш!л AлЩлЁшјDсС лАЁш8ј[ЬE@ш,°ЎШ`±ЪЩШрпшЩ@њOр€0∞љирП∞ љирП-й€OБ∞FЪШ'рJй,OрДњaСEўЩ"Ёш8ј, hЩы ь hOрмы2.ўЮрЭ —VшПih'ЙGлмыEшЩK–ohOр ÷ша Fњ’шАIл ЋFмыrVшЯ[лJл мы +еиqд—!FЫ@лБДBAш,єЎЩ%Ш"Fр ш(џЩ"FШрБшF∞(FљирПR”Pш"0Qш"јcE“Oр€0pGўOрpGRр“ pGhD`УB ў)Oр ўPш"0[@ш"0– pGRКBф” pGhЪ`ЪBў)OрўPш"јЉсњ##ђс @ш"ј ± pGRКBо” pGK MшMЁлГрс—Qшћoк AшЌR –QйƒRoк oкAйƒ°су—ўKhJ`СB ў+OрўPш! R@ш! —IЩBц”]шKpGF *ДF0і–h QшKLс lсROка|CшKр—0ЉpGF *ДF0і–h QшKLс $LсOр RCшKр—0ЉpGДF pі+F–Qш[-DсRшKe$@с[Lш[р—pЉpG Oрњ!рOњ1рpOњ р@OњАЙрOњIFpGoр|BСB(њoр)“)(–лБRш,*њIх–лБOрPш  њ"рOњ2рpOњр@OњАТрOњR¬лA@pGOр€0pGрOрOк@0іњ!D"Oр $[BњDDR[BњФDD[Rdс—0Љл pG-йр(њ*%–≤лAўJ –$Oр€9 *2Ўр∆с )ъ х–)њ"K–hУB$ъф`ўGh/@ъ чџЁшd (OрЌшT Ињр|ў х√aЌш0ўшB хВkNFXFOкД QF&рьмЌшF RF1FЌш$JЌшаа х`&рDмЁш$ х`"F€ч{ыЁш0 QF&рвмЌшHQFЁш0 р"ъ∞лД– цlM љирПЁш0 хa"FЌшH€ч5ыFЁш0 "FYF€ч.ы.а№(ёџ х√aKFВ®jF рМщ@їВШВ©(—-ћњCF#Z *ЁQш јЉс —@РBчџkFЪB`ЏQш єлАRhт± ц(!*FВ®€чэър≥/аYа аOр?ЁВ©KF хВbF рWщ`±Ёшh ` цlM љирПАШB÷џ6аВШВ©(—-ћњCF#Z *ЁQш јЉс —@РBчџFjРBЏQш 0єлА[hЫ± ц(!*FааВ®€чєъp±dІBњ№Ёшh ` цlMљирПАРBбџузЁшT Ёшd@ЌшT ИB€ф(ѓЁшh ` цlM љирП-йрGВ∞FOрСF_к ШFЁй vFРРњЄс$–/њ, –.њ.— h(њ((—.–ж±(&– ix±–ш( џБ( Ў.–†h(±–ш(џБ(ў∞ љирЗ(з–(ч— а(ф—бзаh(р––ш(мџБ(кЎ®€чSшєhF€чOш±%RаШJFQF€ч щЩрOк©Ѕшњ@Ѕш.–#iҐhШ рСшX±F8а h(–‘й#Ш рЖш(у— i€чш9hFИBƒњ%8`$№Ш(±–ш)џБ)ў%аЪ FрбшдзючꈆB»њ%№!"F@F<`р"шШючЁ€ :FлШ€чtшШ8±!@т "ршШ€чшШ8±!@т "ршШючъ€∞(FљирЗpµF FF2F)F F&р(лpљ-йрCЗ∞F ИFСFРРРejаjЕBЎњFnЦиFр'€РЄ±8FЦр!€РИ±®Хр€(Рњ%k–с jF@Fр\щ–Yа%Wас iFс8®рЂъM—с(jF@FрGщE—с(iFс@®рЩъ;—©jF®р€шЄ±jFс Fр“шАєjFс FрЋшHєjFс Fрƒш(њ%–™hFс0рящ—с jF®рщ —™hFс(рѕщ—©JF®р£шFШ0±ЩЙ&р–кШр≥юШ0±ЩЙ&р∆кШр™юШ0±ЩЙ&рЊкШр°ю∞(FљирГµFBiЦ∞*y–“ш2@+uЎ+sЁoр лГ”Xр@Ok–hрњВi*d–“ш2@+`Ў+^Ё лГ”Xр@OX–hрњ¬i*Q–“ш"@*MЎj*J–“ш"@*FЎBj*C–“ш"@*?Ў)=–—ш"Б*9ЎЉ≥ЌйФ™hСAhСБhСБh—шСБhСAi—ш СAiСБi—ш СБi СЅi—ш СЅi Сj—шСjСAj—шС©@jРhF€чяюЩј≤ƒш∞љ€з∞ љpµKhFBhЪB«њFF FF`hh`÷й#(h!h€ч7щbhFphВB ў"h+hRш RCш њ!@bhВBтЎFpљ0іДF@hP` LhF,ў№шP hUш#PTш#@,$•B8њ Ињ hEш#@LhсЬBйЎ№ш0!FЛBў№ш0Sш!@#ЬB4њ hDш!0№ш0IЛBоЎ0ЉpG-йрCБF@h FIhГ∞FИBЎњ |ЁАр•эњ u–ўшБ(F&рЊйah Eш!ўшАрТэњOр }–ўшБ0F&р™й‘й0FТ&ръиўшА «шАFbh*ў"hUш!0Rш! ЪУB8њ Ињ ;hCш! bhсКBлЎFИE ўUш!0УB4њ ;hCш! IИEтЎ hh€чпш!h@B hысIњOр L—ўш3FЌй:h(Fўшючвю_к >—bhF*ў"hUш!0Rш! ЪУBа:а8њ Ињ Fш! bhсКBкЎFИE ўUш!0УB4њ Fш! IИEуЎаа8±‘й#8h)F€ч4ъБFа‘й#8h1F€ч,ъБFєсњ`hx`±(Fрюь.њ0FрщьHF∞љирГ-йчOД∞FШAhШ@hDБ(Ињ }ЎЩ%2h,F hРСB–ШhРB—ШАFрќь(Рњ m–9F&рии®РаШБF&раиЦOрШ(6ЁШ@hAСBіњ@FЩс—йsЩ—шј[CEлБ лА»њC F,F%+ђFЁWшїXшй!ЙFКFлы с dIл cE Dо№Щ hAш"ШRВB»џЩH`Ш∞B–ШДШ"Fh0h%рмпШ!Fp`Ш&рРиШрtьphoрP±2hлА“X*аањ@p`у– ∞љирП-йрCЙ∞Oр F FFFЌшРЌшРЌшРЌшРXhАс@Fр@ьРа±@Fр;ьРЄ±@Fр6ьРР±@Fр1ь(Рњ$:–hhbhА(!Ё!р(—а$(а#h!Cш"Рjhch“ВBЁ"h DIАBш#Р‘й# DIBш#Рjhch“ВBо№hh™p`yhhhТЌй+h:h0h!hрчыFШ(њръыШ(њрхыШ(њррыШ(њрлыа≤ ∞љирГ @@xКB–)щ— pG CµЫ—*”»…£Bш–! @—! @—! @—!@љ*–”–Rа љx x@I—x x@I—Тс—љµ рОэљ-йюOяш4§сяш0іoу Ёй Ж Яр€ ЏшOрE[ш)Uш4рърјHс+– ±±∞Gdіхл”ЏшЕB”(ъL# H рЅсTш Л@ЪCDш љиюПєсб–НиCлƒJF—й€чЈ€ўз-йр_*БF FFЪFOр€0-ЎрГыoр&–Aт E≥%/)F"–&ёJ@т#р@фА :л«ўйrлј'рBк  C7C/CќйrЎй'UyA@ШBл”аFљирЯ&џзYF%р,пЇс–YF F–G«H–й Ґ@с»≤oу Bр…й гз0µPш10р –+—*—лЅRhфА— 0љсалЅIUh%фАU`°Bц” 0љ0µOфј рЁш јЬш@кDTCЉш0Э@цьs@©K*C@B@L@"C— 0љ 0љрµ©Oфјp…!кAQC#Л@цьtкГC ±AфА.–Bрјй!рљBрщз-йрGяшHТFШFYш' F%рн"F%ррм$FFYш'ър@FсјGd,ф”љирЗ-й€OЙ∞ТF$ ШРШ(~“ Ш~I–йgЦQш$ 0F9FУF%рёмЫјуС,"рFл¬Сж“ Ъ“йБZF@FЙF%р мZF%р≤мЌйЩ0FZF%рђмГFШСДBz—Ш(z–’йЙрFFIF ±/–/–а/k–Ёй"F€ч8€OрР≈й&—;а,— ШЁй#Р0F€чH€(S—Ёй"F€ч €F Щ ФЌйЁй#(F€чS€± аЁй"Fрнъ®± РЇс–ЁйлЅА!–G Щб±а&б FЩ"FXF€чQ€а РЇс–!(F–G/–/U—, — Щ± ЪXFЩРG/K—,J– Ш"FРIFШЌй∞@F€ч6ю>а~ааmа Р& Щл∆ЧЉF„йАФр F Ќй HPш$ърЁй√@SAF`F€чпюЇс–!Ш–Gєс/–єс – ЩY±HЪPш$ърЅл QA ЪРGv.∆џД≥Шx≥Ш`≥Ш!Fррщ8≥ Рdа≤Р Ш$РзлЗxлЗ$ЇлЗ€`,–– ШРюHЪPш$ърЅл QA"FЌй@F9F€ч≈э з9а€зЪ @т#Rш0р/—@ШBч” з{“*hрa–(–*O—rаЪ≥зJЮ:лƒ“й@Bс€1@@к к ЖкЗк >C — ШР’йЁй#€чIю± ∞љирПЁй"F€чю!FSF"F(F€ч√э(о—jh"рx@h` ЪТш @к¬`h`О±Їс–ЁйлјА!–G Щ)± FЩ"FXF€чSю7аЇс–!(F–G Щy≥ ЪXFЩРG*аШ(Ѕ–!SF"F(F€чОэ(є—jh"рxBj` ШРш Bкјbа!а Ш’йРш #рxFFкјbS@БкC–Їсj`–!(F–G•Iс(hд≤Йhoу @Р,€ф1ѓOр€0Йзµ ±±— –oрљШLƒШH!`Fљ-й€OН∞ГF("F®%рмШ—Шp–oр∞fзOрА@wс”ША—ША –Oфwс”Шј–а!аШј1–!|H8лЅ–йT.OкЫIкywл #”ЁйsµсOкLк|Dс€7 к к\к —ЁймOкNк ~ккSк — 5FLFа!ћз ЂЌйЁйXF€ч≠э(£—ЁйI`лЌйЁйI`AЌйЁйI`AЌйЁй7SкН—КзрµН∞F®FFF("%р|лШ;–oр ∞рљOрАBВqс”ЪТ5–OфАqс”Шј.–$:F 1FЂЌй@(F€чeэ(я—9HЁй√8лƒ—йЉлcлЌй#ЁйC"KAЌй#Ёй2JAЌйЁйPк¬— Њз$—з$ѕзpµ'M &'LAjhл1лQаTш …C–±ъБсл@≥л?“ЅсTш О@2CDш (hл0pљ@ГBў(гџ pљ-йюOhрl–*—)h—BhфАc––йg4 ы≤$й≥)[“J:лЅХ•с’й%R"@Eс€5аxлЗлЗ$ЇлЗ@*CD—@цьr@Ц"фј Pш6pр7–/—)3—л∆~hфА_к+–=h@ць~р€ Oк:кOк :аафј.FЭЗк ’йиOкHкxOклґFЮHлОк/C—Кк Лк Zк – љиюПR *ї” шз-йчOPш1 Б∞рV–*—Ъ*Q—лЅЫ“йv/Jл√= ф≤”й*-Ќш†[Oк Lк|Lс€<+@ к Sк 4—@цьs@Kфјс /аPш3`р&–.—Ю.!—л√ @цьzU№йlOк8 р€ к Ёш† фј ~@Мк Vк Oк8Jл—ИкЙк Xк – ∞Ше[[EЌ”алЅIThDфАT`YEц” оз`лЗpµF%рdлFgHhQ±AhA±Аh0±рДл±cHPш$±(FpљрЫш&рЦм&р4н&рЪмфз-йь_FЙFFЪFЁй K F р€oрИ≥§с(“%р6лPїPO.±8hШ±oрљиьЯ8i†B—$<`|`OрАQЉ`ь`р|ы('џ`«й«йХ їзµ)F“oрљ!рш±Љ ` љoрљpµ*F F“oрpљ! Fр ш(±(F р € ` pљoрpљ FFDHµRhрэ(– љpµ%рікMЉ!F®h%рк©h А HАHPш$ј–Hh@рH`срЋ€®hЉ!љиp@'рOЄлЗ†{нЗэ6иЗNSDFРлЗ–СлЗOрхoрхоАгоOрхoрх€/бOрхoрхојгоOрхoрх€/бoрхов †б€/б€_-й`†бOрх0њ0о4в£;†б ††г™ Ка;†бвQгЇѓ@оoрх0о в Вв€Cг°Aа_oб€г°vаР†бКбАб6€/бРYвъ€€™pWвч€€™Oрх†Кв Sбд€€ ††гѓ@оOрхoрх€Яљиа-е л†гоАљиZо€/ба-еOрхаЯећ€€лАљи^о€/ба-еOрх»Яе≈€€лАљиVо€/ба-еOрх∞ЯеЊ€€лАљиOрх€-й0o0о4в£;†б А†гИ Иа6†бвQгЇП@оoрх0о в Вв€Cг°Aа_oб€г°vаР†бИбАбVоРYвъ€€™pWвч€€™А†гП@оOрхoрх€љи€/бOрх€-й0o0о4в£;†б А†гИ Иа6†бвQгЇП@оoрх0о в Вв€Cг°Aа_oб€г°vаР†бИбАбVоРYвъ€€™pWвч€€™А†гП@оOрхoрх€љи€/бOрх€-й0o0о4в£;†б А†бИ Иа6†бвQгЇП@оoрх0о в Вв€Cг°Aа_oб€г°vаР†бИбАбZоРYвъ€€™pWвч€€™А†гП@оOрхoрх€љи€/бOрх€-й0o0о4в£;†бу€€ А†бИ Иа6†бвQгЇП@оoрх0о в Вв€Cг°Aа_oб€г°vаР†бИбАб^оРYвъ€€™pWвч€€™А†гП@оOрхoрх€љи€/б@-йOрхАа0?о#8†б0в †г#†б0Bвјб>оАаPбы€€ЇOрхАљи@-йOрхАа0?о#8†б0в †г#†б0Bвјб6оАаPбы€€ЇOрхАљи@-йOрхАа0?о#8†б0в †г#†б0Bвјб:оАаPбы€€ЇOрхАљиOрхoрхо АгоOрхoрх€/бOрхoрхо јгоOрхoрх€/бoрхо в †б€/бOрхoрхоOрхoрх€/бOрхoрхPбЪ †б†б†б5оАвPбы€€ЪOрхoрх€/б»9иЗд9иЗ:иЗB±(ЎлС"R(–(– pGР †лPаР†л0@pG "0іњуOПњуoП$л1@ш"@о3R€*цўњуOПњуoПьJ!`hI`0Љ@тA&рИљ-йшOяшЎ£ FFЁш(АFOр Zш$р)–рыoр Є±нHЌшРаoу 8`¬шР√шРИшРCаhр)–hFрсъ(х—XFљишП8`ЁHhI`!ИшZш$ју@BјуCјуј8ју7јуБ.јуј јуА ју@ ј– ± а “BкГ#CкH"BкЗBкBкћCкЙBкAC)`Zш$oу0` ƒз-йрOiЕ∞БhF €чV€"iБF°h €чP€ГF`iр@уј!јујуАIА @А–@т@іNBкAлГ@6лЕj-i+C CIFCк†hрyы°hF h∞л рЕъ®B“oр∞љирП%Иа®Р°h(FЂ™©€чH€(н—}±©сНB—‘й AкQќ≤л Oк!qа‘й @кPј≤из@тњуOПњуoП"РB ЎКB “£h 6ццл CкаЭш0;±ЫЮл33CЮFш"0£h 6цуо3?с€*ўўњуOПњуoПЭш ±Ш@тAаЪ ЙлА€чоЭшЎ±‘й —@сBкPiJЩAрBш њуOПо3њуOПњуoП!лА€чвн°hШ…ръщmME€фtѓ lзµ –‘йOр€3 YРA”‘й YРA1“Oр€0љ"h†h!iC–oрљК—)“oрљјуЅу C–лР!@т€2лР oу oу БB Fўр$ша Fръа€чрю(а—4‘йpкЋ— љµ$М∞ЌйaЌйЌйЌйЌй#hF€ч•€ ∞љ-йрGFАh–јуЅхАН а%!iIOкЕ(OкС)OкЙ)°л л О ±!а!р^ъЇсF–!а!†hАрSъDрcщЄB“oрљирЗ=±ci*F°h h€ч≤€(ф—Їс –†hRFciБ hА€ч•€(з—°h@F"h ciлJFљирGЧз(лЗјнЗ мЗд—кЗрµЏ±ыO#лБ!лCлƒђh-i≠eДBЎ®B“МB “©B ЎлCлј@i` рљOр€0рљДBЎ®B”МB“©BЎoррљ[„—oрuрљ-йрOOр З∞–аN$аOр€0∞sжd,“лDлј–йpку—%алD"лј$р0мdm,“лEлј—й pкл—лEлј–йpк– (э—%≥FлE лЅБF–йpк4–l-алD лЅЎй#–CC&–ўйvЄvл”z@s@C—ўшЎшИB”Їс—"IFhF$рил"AFHF$рдл"iF@F$рёлOр d,ѕ”m-ј” МзµF€ч}€(— Fљи@Кжљµ$М∞ЌйaЌйЌйЌйЌй#hF€ч䈓жµ$М∞ЌйaЌйЌйЌйЌй#hF€чS€јжОHОIшµDОIDОHОIEОHDт$рBмНH&Ца!€чхьhFр1ш(ч—АH8`0€чFю(—ц€tHт% В|H@BF€чѓ€( —ц€u|I∞Hтe( љир@ВF†зшљ@ц~Pш!р(— s°р)љpGhI`)“mHлБ pG pGcH8hјсpG-йрG–шј"Fћу Tш"0√у pET—лВAт oу Uшloу ц@сs@h@CB—R€*дўћуј&ћуА#vћу@%FкCћуВCк≈3ћућу@ кCк 3CкЗ#ћуј CкGKћуАBк BкИBк@OкP OкPC -Cш њуOПо3_њуOПњуoП!лА€чЖл)F FљирGLд6ж-йрGF@iрјујуАју√@уј!А IА–OфА06OWш" @7Wш#0C#CкFCCBкA*i©h €чь’й Dк4'(h&F -њуOПњуoПяшdРаYш$ р+—И АEкIш$!о3хА±€ч€ыdЉBз”њуOПњуoПЄБ лЖљирG&рХє0лЗиЗ®©xxXјнЗ мЗ∞кЗERROR: buffer overflow for memset..д—кЗ0µFM F алSUш#0р+–@RКBу”0љјнЗ †гP/оkАго€/бРЯеРе2 оИЯеРе ооАго€/б0@-й@†бP†бТл†бP†б†боoрх/оoрх0в:†г€?Oг а€?гаАбБе@†гк@аг†б Тл†б0@љи€/ба—кЗ№—кЗ µ р©ю(—Hh!`љи@рcЉљјУoрpGJ#@hСa¬й0pGРлЗµ$iF® р^эЩ±хЎ$)–е) –°хАp 8 –ќ)–Ї)–ї)–б)–в)—р-шр\шШр∆ыFЁй рGэ$р“л Fљ-йрA$F±с_F¬у–±с@_–М@1F8F рdь!8F рВы!8F рь!F8F р=ь8FM±љирA рЂї$р“кД@ез$гзљирA р≠ї-йюCАFFFFЁй Y рѓыiF8p@F р`ьШ(– 0p©@F рdыШ(– p©@F роыШIF(`@F рьљиюГ-йрA*АF FЁйg–!+–$ рь!F@F р/ы1F@F р≈ы9F@F ркы@F=±љирA рXї!жз$ззљирA р\ї рZї рLї! рїµ рxь©hF рјь рqьШ†х@q€9— рBь рPь љ љµ$рXкJMјєJH%рrнOр0`ЌйGHРGHРhF рРъ р ыА рУы рqь рЉъ$! F р„ъА! F рmыd ,ф” (` рNь рGь р0ь рью р8ь рчы∞ pљµ рсыљи@ рэї-йьA$рк$h±)J# Ф(°Фрµщ(–Oр€0љиьБ&&K&Jг Ќйd%°р¶щ'K'°"JFд ЌйdрЭщ@к&M'J#$ ЌйT%°рТщ@кJ#Ф Ф°рИщ@к#J#@т ЌйT!°р}щ@кJ#ќ ЌйT!°рsщ0Cїз ЕGиЗ @ WиЗSGI ResetлЗsиЗSPI XPU SecлЗSPI XPU NonSec@QUиЗSPI WDOG NS BiteЧйЗSPI RPM WDOG BiteSPI RPM Error Ind-йрAъM’й (iDк4лР&$рnй(±љирA ф°рвє$р"кчOАF8h`їючRпхJ F алАRш 0Л`—шМBш @∞Bу”0БлД€чТиа’й#©h(h€чэъ5’йpку—рЄп$рВйx`„шИ$рВй8h@8`@FљирA%рнЊ-йрG”L‘й iFк6лР($рй(±љирG ‘°рУє$р‘й–OБF8h@8`<—ючпЌM0F алАUш ЅшМ ЙhEш @@Eу”®лБлЖ€ч@и4&аBкP!iFлС!аEш `@ИBъ”ИБлВ€ч*и4‘й CCж—рXп$р"й«шИxh$р йHFљирG%рПЊpµ$рИйF$рйF®H@h$рй F$рИй(FpљpµF$рxйF(F$рй Fљиp@%рrЊpµ€ча€F$рhйF F€чй€(FpљpµF€ч”€F(F$рdй Fљиp@Џз-йрAF FF€чƒ€F2F)F F рoюF8F€ч € FљирБpµF€ч≥€F(F рЙюF F€чї€(Fpљ-йрAF FFШF€ч°€FCF2F)F FрлшF8F€ч¶€ FЏз-йрAF FFШF€чМ€FCF2F)F Fр щF8F€чС€ F≈зpµF€ч{€F(Fр™иF F€чГ€(FpљpµFF€чl€FiHҐ!FRhрУъ±$а$(F€чm€ Fpљ-йрAF FF€чT€F2F)F FычLыF8F€чZ€ FОзµ€чE€FрRо Fљи@Mзµ€ч;€FрTо Fљи@Cзµ€ч1€Fрzо Fљи@9зµ€ч'€Fючжн Fљи@/зµ€ч€Fючо Fљи@%зµ€ч€Fючон Fљи@зµ€ч €Fюч÷н Fљи@зpµFF€чэюF1F(Fюч.п Fљиp@зpµFF€чпюF1F(Fючп Fљиp@хжpµFF€чбюF1F(Fюч2п Fљиp@зжµ€ч’юFрън Fљи@ЁжpµF€ч юF(Fрън Fљиp@—жpµF€чЊюF(Fрън Fљиp@≈жИлЗtzbsp_map_in_ext_os()dЇлЗјнЗtzbsp_map_out_ext_os()РлЗµ€чТюF#ршп Fљи@Ъжµ€чИюFюч$п Fљи@Рж-йьGFFСFЪFЁй x€чwюЌйxFSFJF1F Fр…эF(F€чzю FљиьЗ-йьGFFСFЪFЁй x€ч]юЌйxFSFJF1F FрКюF(F€ч`ю Fдз-йшCFFРFЩFЯ€чEюFKFBF1F FЧрXьF(F€чIю FљишГpµFF€ч1юF1F(FрьF F€ч8ю(Fpљ-йрAF FF€чюF2F)F FртыF8F€ч%ю FYж-йрAF FF€ч юF2F)F Fр°ыF8F€чю FFжpµF€чьэF(FрБыF F€чю(FpљpµFF€чнэF1F(Fр≈щF F€чфэ(FpљpµF€чёэF(Fр•щF F€чжэ(Fpљ-йрAF FFШF€чћэFCF2F)F Fр“щF8F€ч—э Fж-йрAF FFШF€чЈэFCF2F)F FръF8F€чЉэ Fре-йшCFFРFЩFЯ€ч°эFKFBF1F FЧрQъF(F€ч•э FZз-йшCFFРFЩFЯ€чКэFKFBF1F FЧрКъF(F€чОэ FCз-йьGFFСFЪFЁй x€чrэЌйxFSFJF1F FычУщF(F€чuэ FщжpµFF€ч^эF1F(Fр»ъF F€чeэ(FpљpµF€чOэF(FычGщF F€чWэ(Fpљ-й€OЕ∞F®КFУF∞иј€ч:эНијЫFZFQF FычЭщF(F€ч=э ∞ FљирПpG#рфняшмУFшNўш0`Oр qчMhOр`рхI hхKк ` – у°рTю@тфHр€а ш°рJююI И`юH`∞FUш$fьOHh@рH`Uш$@рH`ўш»шUш$AhAрB`8xґырсыaUш!IhЙ±°±ыруыUш!IhA±б±ыруыUш @hАєUш$Bр@OрАRA`! рF€Uш$AhхАqA`Uш$AhAр A`¬зКh` hB` iВ`Ji¬`Кia iBa jВaJj¬aКjb jBb kВbJk¬bКkc kBc lВcКld lBdJl¬cJm¬dКme mВd nВeJn¬e mBe nBf oВfКnfКog oBg—шА Вg—шД ¬g—шИ јшА —шМ јшД —шР јшИ Jo¬fJhјшФ hјшШ IhјшРpG≠J0µ—h!фq`kЂI @a”h#фsb“h"фrc¶J”h#фsC`k @Ca”h#фsCb“h"фrBcЯJ”h#фsГ`k @Гa”h#фsГb“h"фrВcШJ”h#фs√`k @√a—h!фqЅb—hOр0d!фqЅc!лБ“шАPлБCш@_“шQ]b“шRЭd“ш#I)ЏfлЁ0љ-йрG ∞F#р∆мФ!FhF#рмФ!%®#рм р≤ь_K|IX` hPш$)o–яшиБNhFEj–*h—Oр ЅшРPш$ЪFЖjс÷ш∞8CqO∆ш∞Wш$±!CnI≈ш†Qш$…–@р≈ш†iHh8єрxм ±gIхјp€ч€hFрЃщiF(F€чью’шШ≈шМаWш$Иє^I(F€чрюWш$PєрZм8±%®рХщ%©хјp€чвюлДUIлƒл€ч1€Uш†R°@р (`ЏшPш$ ¬шАPш$ ¬шРPш$ ИБючRкJ∞љирЗ-йрAАF#р:мMF Uш$H`Uш$$0#р†мNUш$∞hИ`#р~мUш$»`#р|мUш$a#рИмUш$Ha#рЖмUш$яшћјяшћаИa "аUш$0лА\ш @ўQЮшИBу”+HhVаXv`ФлЗpїлЗ@Б€€эWDOG: Rebooting using Secure Watchdog WDOG: Rebooting using PSHOLD PБ∞JђsнЗР €€Р Р Р —УSYDB†{нЗ–СлЗАлЗШРлЗРлЗ ∞ЗTZФsнЗ≠sнЗ§sнЗUш$яшP√яшPг»a `"аUш$0лА\ш @ўQЮшИBу”ћHUш$hg HUш$hHg«HUш$0hИg∞h8±ƒI…hлД√J@јш Uш$AhAрA`рУэUш$AhAрA` рИш@FљирБ-йрAАF#р^лµMF Uш$H`Uш$$0#р∆л±NUш$∞hИ`#рҐлUш$»`#рҐлUш$a#рђлUш$Ha#рђлUш$яш|¬яш|вИa `"аUш$0лА\ш @ўQЮшИBу”ЧHUш$hgФHUш$hHgСHUш$0hИg∞hH±ОI…hОJ@лД¬ш ОI` €ч;юUш$AhAрA`рРшUш$AhAрA`#р–лЕI `#р лUш$AhAрA`0h(ь—@FБзOр pµhр– €чюљи@рjЄ-йрAъч)юvOtN>`#р®лtM(jј)–®jА&—’шGтsp@AфАQ≈ш’ш@Aр@≈шd$а р–ъd–’ш@ц‘d$а р≈ъd–иh@ч’#рzл%=`]O>`#рtлYNP60jј)–∞jА&—÷шCтsq@@фАP∆ш÷ш@@р@∆шd$а рЫъd–÷ш@ц‘d$а рРъd–рh@ч’#рFл=`з-йрGCOяшмАoрFOр–°oр —а>` »ш`ж@т09HE“Fа"6HR!Fhр™ьh±>`%FFOFIF F»ш@#рШй∞h9FючВй(FцеI-йрA 9*H` )H` Oфј `H'M8`#р$к"ъсH``I!H`$NяшАА OалƒјлДлБFш$h©B–№!#р`йVш$`d8xДBкџЧжpGАsнЗђsнЗXw`p €€АpїлЗФлЗQACDrнЗUќђ≈∞_ВPВ∞oВXv`РлЗиЗјцЗTZDILCVS∞З-йьGАFЙF°лFрншOр€60±{H#{J%h± а0FљиьЗ` л@( pщџ л x±@(шџ0FA–лAА#pap!†p /°иА3“яир2+ oрu’з!Ќй"а'ЧЧ ‘й#axрY€Ч Ч‘й#axрQ€Ч Ч‘й#axрI€–%`e`•`е`8F∞зЌй`‘й#ax оз%`e`•`е`£зяш0Б°x‘й#ЎшрJь(Џn"а°xЎшр[ь(ЁЏo" B°р»щаз-йрAFF ШFрeшOр€5±(FљирБ7J&л xC±Лh£B—…hєB—ла@(пџ4F№±`h(–(–рй±Єс –‘й #рRи‘й юч\иax р8€–аoрu зH°xhр"ь(Џp" °рzщ/F&`f`¶`ж`8FЈз0іFЫa±Dц€qoу oу ИB”oр0ЉpGoръз ±0Љ з0ЉТз FFDHµRhр7ы(– љ†лЗАїлЗРлЗ(%u)pµ%,F±FM$ рЇьOфЉ fDf љиp@р∆ЉpµF рђьOфЉ$аnјубf&¶e рґь(F€чџ€ рЫьTшИ ±&`а `љиp@ р§Љ0I/H@рH`pG-Hi-J@apG,H{!A`80?!Б`Ѕ`AaБaЅab!БdЅdeAeБeЅefAfБfЅfgAgБgЅgpGpµFH`$рТлN0h$р†л%u`#р^ишєH!`є!H`H`H`H` I`I`I`I`I`I`Hh!`€ч™€ pљI »p рSЊь?иЗ ш€ ∞{нЗp А А А А   Р Р Р Р §лЗ@-йAЯе‘еPг †гƒе†гь ы †г4РеPазДе†г ъиЯе‘еРеРб†г•!ыФеРб†Аљ†гАљив€€кб€€ка€€кя€€кp@-йЬ@Яе‘еPгP†г†гPƒе№ ы^ †г Рег Р  Ре г Р  Ре гPƒ†г„ ъ‘еpАљи@-йg€€ъ†гАљи,Яе†гБе€/б ЯеРе;ЅгшЅгБгАе€/б§лЗ∞{нЗјР F *µ—FѓуАљ8µшL#h ± (”љи8@£" х°рЏњCш0лј*B`– ъчҐъ Р#h`" F`3рЩь(ЏҐ" и°рј€љи8@ ъчНЇ8љ8µ FFiFр№щ ±Щ±Ch±аoр8љБh!±#`Аh(` 8љoр8љ|µ$F(–©jF€чё€Ёй@ц€p (F€чІ€" ћ°рЙ€д" …°рГ€ F|љµ$)–(–"F€чР€"Ѕ°Fрr€д" Њ°рl€ Fљµ$( –(– (–" ґ°р]€ Fљ$ызµ$(– (–" ѓ°рN€ Fљ$ызµ –(–(– (–}" ¶°р<€Oр€0 `Аљoрљ а ` љ ъз-йшOFБFQкF&–iFHFрHщ–Ш ±%≥$Oц€zа "алДлИAhєBЎАh®B”ѓB –i8Fр'щ0єєс—6ш(QE— љишПdШДBа” " А°рсю тз-йьG(L–©рщOр€9–Ш±яшдБ&<а "3алЖлЗ°h`hIрхшX± i!Р5ш'…р©ь( Џ "а " h°рЅюoрљиьЗ5ш'‘й#ЎшDFр&щ(Џ"а5ш' hр7щ(Џ" Z°р§юHFвзvШЖBЅ” №з-йшCИFiFрЊшOр€9–Ш±%-а"#алЕлЗ`И`±Єс –‘й "р:н‘й эчFн6ш'рWь(Џ"аAH6ш'hр щ(Џ" :°рdюHFљишГmШЕB–” чзµ™iF€чЬю± љ љ-йшC≤с O FoрFOрЎµсO“О" а•B“)—ц€qoу °B–П" !°р2ю0FћзiFрUш#–Ш≥&iFр≤рLш≥ЗB!–Щщ±Ah©BЎВh™B Ў°B“ВhҐB“©BўАh†BЎС" oрm °рюаР" °рюoрЫзv .””Єс—«йT@FСзђлЗ(%u)РлЗOрB`Oр @` pGIH`А!"рЇЉ FF HhрЊњµ( F–"ѓт@ рќэ `љ `HљјьЗђлЗРлЗ0µF# ’OрАD– Fћ–@р@RIА‘–@рА@ћ–@р@[+сџ0љ-йуOН∞F4!hF"рzмШ'ЄFOр |јуРЈа«л« i лЕБ[…s–Щ |…–Oр€0Р i!лЕ "лЕ Pш Pш Й≤А≤€чі€Р iPш Pш €ч™€Р1а!jFлЕ Pш Р !iлЕ Qш Р i0ш% ИрџюЌшА iА[ју Р iА[јуА Р iА[ју@ Р iА[јуј Р iPш Р!iQш Р iВ[“'– "лЕАXOрРлЕ iАXР iВ[Т ’"лЕАXOрРлЕ iАXа9а@FЌшАР iА[B’Ќш0∞!аOр€0РРпз’Ќш0А iА[јуј!Эш,aуAНш,!iЙ[ЅуА!aу√а РЭш, р Нш, ijF0ш% ИрBэ ±Oр€0∞љирП†ЙЄB?чDѓ хз-йрOП∞FFhF4!"р™л0|Oр Oр ј–%WFOр€8Ќш0†а ИjF)Fр?юЌйxЌшАjFЌшА)F Ирэ±@FЋзmph®BиЎа%_FаЧjF Ч)F Ир"юЌйzЌйІЧjF И)Fрть(t—mph®BиЎ0|Oр јm–'eалG i лЖA[…\–0ш&jF ИрээOр€0!лЖЌй† i"лЖ PшPш Й≤А≤€ч£юР iPшPш €чЩюР i@[$’Ќш0∞ i@[јуј!Эш,aуAНш,!iI[ЅуА!aу√Нш,!iI[Ѕу1aуВНш,!iI[Ѕу@1aуНш,а@’Ќш0РаЌш0†jF i0ш& ИрВь(—†ЙЄBЦ№НаДа€з&ЕалF!i лАJ[“|–1ш Т"лАQшС!"iлА Щ–YjF Р ИрБэЌш∞YF i@[ју Р i@[јуА Р i@[ју@ Р i@[јуј Р iPшР iјY РЭш, рНш,"iR[’ С!iI[Ѕу@!aуAНш,!iI[Ѕу!aу√Нш,!iI[Ѕу1aуВНш,!iI[Ѕу@1aуаQ’Ќш0Р!iI[Ѕу@!aуAНш,!iI[Ѕу!aу√Нш,а аЌш0†jF И Щрцы±Oр€0≤жv†Й∞B?чvѓ Ђж-йрCС∞F &hF!"р`к%ХХ!Х®'И"рVк`ИА‘&Oр€9OрЌйЙ†hБ≤`hА≤€ч®эР†h `h €ч°эР"Эш@©Ќш8–@р Нш@8Fрqъ∞ї"рђл!2F8Fр@ьpї!8FFр р9ь8їiF8FХХр—ъ©8FрSьШ©( F–€ч^ю®єа€чКэъз`И@’8Fр$ы"рВл!8FрKэ є!8FрFэ±HF∞љирГ"рrлюI Aш'Ахз-йрG щчаэъN$яшиГOр€91алДлБhИј)–6ш!(— рwю рtю рqю рnюнHhнHкOррzю рwю рtю рqю7±(F€чM€±HFљирЗdЎшДB…” щч†эёIЅш@РЁIЅшР нз8µ!F-$ СщчПэ!jF(FрРь щчЗэШДC– 8љ 8љ-йрGТ∞FКFРF4!ЩFЁйVhF"р~й! ®"рzйЅHOр€7Pш$Ўє ≠ш4@ЧЧщчbэ ®€ч€± щч[э,а,— ≠ш4 ®€чфю(с— щчMэOр ±≤®≤Ќй«€ч±ь1 Р( €чђьР Ќш0јЌйАЌйР"рЊкjFQF FрЊъF"рґк±8F∞Аз ызpµО∞FFhF4!"р*йЩHPш$Ў± !НЌйPХ,РЌйЌй С–"рФкjF1F FрФъF"рМк\±(F∞pљoръз"рДк jF1Fнз тзoрpGoрpG-йрGЪ∞F FРF4!hF"рри!®"рми%! ®"ржиoр ђ≥ .C“uHOр€:Pш&pїsIsOалЕ1ш ≤B—лА@Иј –лЕ#лАF®щчЮьаm8hЕBж”8hЕB—≠шP` щч≠ь®€чLю(Oр–щч§ьRааащчЯь ©0Fрбъ Ш±(— ИЩИB”HF∞жж щчНьЭшDjF!Иј0F7–р7ы Ќй †hБ≤`hА≤€чзыР†h `h €чаыРЭш, рНш,aИЅу@!aуA рНш,aИЅу!aу√+а а Р!ИjF0FрвщF щчQь,≥PFїзр€ъ Р`Ију Р`ИјуА Р`Ију@ Р`Ијуј Р†hР`h РЭш, рЄс рНш,ќ—Ћз ХзoрpGoрpGµИ∞F!hF"р&иiF Fр]ъЭш∞јуљ0µХ∞F FhF4!"ри! ®"ри © FрGъ)F Fры(-— Ш(*—jF)F Fр-ыШБOк@1’) арїлЗ\лЗЄзкЗЎА€?РУ@ФУџ ’а)ъџфј/–Ъ Р°рьш ∞0љ ызpµЦ∞F®F4!!рќп!®!р пМHh(–©(Fрэщ1F(Fр’ъ(–Ъ Е°рЎш∞pљМL†h@†`™1F(FрџъШ+FРҐh Ж°р≈шЪ Р°рјшШј– ТҐЪ°рЄшША’ ЩҐЦ°р∞шШ@’ ЭҐТ°р®шЪ °°р£шШј– £ҐЛ°рЫшША’ •ҐЗ°рУшШ@’ ®ҐГ°рЛшШ’ ™Ґ°рГшШј’ ≠Ґ{°р{шША’ ѓҐw°рsшШ@’ ±Ґs°рkшШ’ ≥Ґo°рcшШј’ µҐk°р[шША’ ґҐg°рSшШ@’ ЄҐc°рKшШ’ ЇҐ_°рCшШј’ ЉҐ[°р;шША’ њҐW°р3шШ@’ ¬ҐS°р+шШ’ ≈ҐO°р#шШј’ »ҐK°ршША’ ЌҐG°ршШ@’ –ҐC°р шШ’ ‘Ґ?°ршЪ Џ°рю€ Ёй#я°рш€ Ёй#ж°рт€ Ёй #н°рм€ Ы Ъф°рж€ Ъ э°рб€1F(FвOverlapping in MPU = %s†лЗXPU ERROR: XPU %s reported no error!!ƒлЗxpu:>>> [%u] XPU error dump, XPU id %u (%s)<<< xpu: uErrorFlags: %08xHAL_XPU2_ERROR_F_CONFIG_PORTxpu: %sHAL_XPU2_ERROR_F_CLIENT_PORTHAL_XPU2_ERROR_F_MULTIPLE uBusFlags: %08xHAL_XPU2_BUS_F_ERROR_ACHAL_XPU2_BUS_F_ERROR_DCDHAL_XPU2_BUS_F_ASHAREDHAL_XPU2_BUS_F_AINNERSHAREDHAL_XPU2_BUS_F_APRIVHAL_XPU2_BUS_F_APROTNSHAL_XPU2_BUS_F_AINSTHAL_XPU2_BUS_F_AWRITEHAL_XPU2_BUS_F_AOOOHAL_XPU2_BUS_F_AFULLHAL_XPU2_BUS_F_ABURSTHAL_XPU2_BUS_F_BURSTLENHAL_XPU2_BUS_F_ARDALLOCATEHAL_XPU2_BUS_F_AEXCLUSIVEHAL_XPU2_BUS_F_ARDBEADNDXENHAL_XPU2_BUS_F_AMSSSELFAUTHHAL_XPU2_BUS_F_SAVERESTORE_IN_PROGHAL_XPU2_BUS_F_MSA_RG_MATCHHAL_XPU2_BUS_F_SECURE_RG_MATCHHAL_XPU2_BUS_F_NONSECURE_RG_MATCH xpu: uPhysicalAddress: %08x xpu: uMasterId: %08x, uAVMID : %08x xpu: uATID : %08x, uABID : %08x xpu: uAPID : %08x, uALen : %08x xpu: uASize : %08x, uAPReqPriority : %08x xpu: uAMemType: %08xрше-йсOOр  _FЂ°ЏFрѕэШђLh0±(– ™°р≈эiа Ѓ°рјэ±M*h ±°"@рєэ(hка ≤°р±эЈM*h ©°"@р™э(hOр кЄсG–яшјТ@FF–±@т)»Eў љирЗ рG€!FшчЩюOф:р]ш(ы–QFHhј!–hШ±?&-Oкb"p“dm– mш+– mш а0FvHE Ўа bp Ґpаp$--Ў—! шчgю р#€GE@FЊЎ8FЉзpµ F–±іхўoрpљH*R)Fhр\эh±!F(F€чЧ€F!F(Fьч8к¶B–oрpљoрpљ pљЖзµ L hј—!рґл`hр@’ љ!рЃл љ!РлЗ0БpGpGpGµ$!р»кЩI \R TШHx а ]*” "FХ°р4ы љdДBт” љИ" Ш°µр'ыШJ Ш°р"ыљи@рањЬK ЪI"xаAш @ШBъ”ШHhQш RAш pGpµѓуАрьУJ СIxAш""рн рiьріюОMA—шч)ю=—ючйщрLй7—рЦю–v"-арЊэ(`р э–x"$а(hр}ы–y"а рwшрюр—шчюрѕю–{"а@т@!рокuHрЮм–З"а€чu€–|" ^°рµъlH!€ч÷ю ±рrп®h!рVъиhH±рщ±"а"’й"р"нљиp@{з-йрG!ркFCH%яшl°.FxДBC“ZO† Gш$€ч@€±|"6а° Gш$рЮы"рИмяш<БҐ Gш$яш,СШш†B–Yш$и≥LHPш$P±.hрЊи£ Gш$ Fр≥ы§ Gш$Шш†B–Yш$9≥рЦы• Gш$Џшрwьh≥x" (°рIър пХ±!р»й7Lл@!hлјјшіP!рЊй!hл@лјјшЄ`(Fа а а"рћмЏш (—(FљирЗ)Hµз!Iш$…з¶ Gш$ры±Л" зѓ Gш$@т@!р:к»з§sнЗђsнЗinit: Invalid CPU state for CPU %d (%u)∞кЗ %s: Stack Check Failed ФsнЗ≠sнЗ®sнЗАsнЗЃsнЗдлЗuЗиЗ∞sнЗњлЗ4лЗрЊлЗHHh(– pG pGpµEL%±ючrй± ƒш(Fpљµ)F“oрљ!рgш(±:H–ш ` љoрљ6H!h`5IA`pG µрКь(±рsьєючHй ±€чƒ€± љ љ µрxь±рaь(– љµ)F“oрљр0ш8± рdьH±рMь0єаoрљрNь±!а!!` љµ)F“oрљрш ±р;ь ` љoрљµючй(–!рРйюзљ FFDHµRhр(ы(– љ—У–УфлЗ ќРлЗ-йрAF FHFOр€’¶qа†yрмъ†q/–h’жqљирБаyрбъаqшзюIF0µ эL hIалАTш" ЪB–лБTш" ЪB—F0љ л“rлbлВTш%PЭBў@FаIFИBяЁOр€00љ|µF р•ы –с £Ќйb!F(FьчЦэ F|љ |љµ—й#Ќй#ЛxJx xьч±эљ-й€OБ∞FУFЭ!рйР’H!р0й®’ аh’Oр@PаOрPАF0F€чЩ€ЋIъЕщBOр€71–j’лАлВi*t—лАфCлАҐИфBЪBi—Aш `§шР)Fƒш∞Ша` FЪ€чV€h’0F€чЧ€ aр≥-џЫ*FAF0Fьчэ'KаЃJh (G“$КFалДZш#±BЎdДBц”ДB “лДлА лБВс р¬олД" лБFВq¬qJш!`†шРјш∞ЩЅ`)FЪ€ч€Щ0Fаа рхщh’0F€чN€ a`±-џЫ*FAF0FьчЊьКHhI`±з!рИиЙH!рћиШ!рrи∞8FљирП-йрGБFFOр€8!р\иВFH!рДиHF€чщюF@L–zHлЕфBлЗ°ИфAСB@—АFPш'ьч эр’HFьчэpOр’¶qжq а†yрњщ†qаyрїщаq†yїHш'`¶Ажq¶`ж`!i1±HF€ч€ iрЯъ&a^N0hAНB “@@слАВ F р0о0h@0`HF р£щOр!риSH!рbиPF!ри@FљирЗ-йрG%БF/F.F ртпВFJH!риHF€чПюяшБF@ –HF рЦщлД&лБ–йWа JF?°рУ€=H!р4иPF рЏп∆±8F®GF р пF6H ртпHF€чgюA–лАлБƒ`0H!ри(F рјп Јз-йрGFFРFF рђпБF'H р‘п0F€чIюA–лА!HлБ†yрщ†qаy±рщар щаq+FBF9F0Fьч’ы р§пH рипHFљирG"рЕЉpµF р~пFH р¶п(F€чюA–лА HлБаyръшаq(Fьч1ь рАпH р∆п0Fљиp@"рbЉшлЗpЉлЗsнЗisr: Stray FIQ: %upµF рJпFpH рrп(F€чиэA–лАlHлБаyрљшаq(Fьчь рNпeH рТп0Fљиp@"р/Љ-йшOF р&пВF^H рNп'яшtБ$яшpСъц-ѓ@алДXш% (”iF рЊ€р≈€(Ш–∞CаЄCРXш%Щ р•€dўшДBг” рпHH рXпPF рюољишП-йшOF рмоВFAH рп'яшБ$яшьРъц-ѓ@алДXш% (”iF рД€рЛ€(Ш–0Cа8CРXш%Щ рk€dўшДBг” рЏо+H рпPF рƒоƒз-йрA*K%(N F)F*FxаVш"pR=DЪBщџ!NOр #O6†±8xOрЕB —"аҐB–≥\єRВBшџ)± F€чe€шАашј9xНB— а2]*–@ИBщџе IH`еµF рЇнF И@ Cј≤љµF р∞н!Б@$кљsнЗpЉлЗшлЗФsнЗ≠sнЗђsнЗрµКB”$аkhЫ’лhFs±≠hµBЎ≥BЎХBЎУBЎНBўУBЎ рљЂhЛBъўчзdл+h[а— рљ–йK±ИB ЎЛB ўРBЎУBў pGИBЎРBщў pGі µ$™Щр э,э—Љ]шыpµ#аМB—lhB–лpљ[л,hfс— pљ#µ аTh§’ФhМBЎ“h ±КBў љ[лhdн— љ-йрAFF≤BF”$ аAhЙ’:F1F€ч¶€± љирБdлhIо— хзрµ$Oр€<УB” аОB—nhц–лВ` л`рљdл.hwо—`Fрљ0µ" аМB—л@h@рX` 0љRлheп—h0љ0µ" аЛB —chџ–л@h р`` 0љRл#h]м—h0љ рГЊµiFр№ю± љШљрYњ-йрA$FїBFFШF” а±B —AhЙ ’BF9F€ч2€± КзdлhJн— ВзЛ FF©Hhџз-йрCяш†Т%л)F©сEл “шАа лЅYш1 #fhґCлЗuл”Зuл “≤лsл “ґлtл ” љирГIAEё” шзрЇ-йрOЕ∞КF!ЇсСQF“F∞љирП"Mал¬Pш2аС%—ш∞QХл УEл2алЅOр Pш10whNFЄF7C&–Ёшј[к —@ш20л IлЉлѓA”Я€tл ”≥лyл”sF@ш20Ы л\`лЅ#@ш10c`аIQE ”QE—ЩIh±ЩIСRREѓ”Ш®зµЖ∞iFј≤р э —ЪA#ЩШыч∞э—рpк F∞љµЖ∞iFј≤рць —Ъ@цЩШычЪэ—рZк Fизpµ$ F€чж€—рNкdд≤,ф—(Fpљ-йрA@I%",F°срtэ(E—;N¶с;h алјVш0Rh D™BўF ±°B“ F@ШBп”hЄF}` –с@В @цFычХю(!—'аOфтзл«Vш7IhBR–К HтBFычАю( —ЎшЗBк”)F FьчMш(Fюч<€ Zж"CBbсСAкУ"взpµF»CДBў pљHej!Fh€ч√э± pљ *F!Fччѓю(ц— *F!Fчч®ю(п— *F!Fчч°ю(и—pљРлЗ лЗµFрLю FрCю Fрьэ Fрю Fрю Fр!ю Fљи@р>Њ&KµF√PhAhFИG F€чЁ€ччяюр-шрJъчч]юрЂ€рyш#" °рЛы љµЙ∞Ќй#"ЂрiърКъ ∞љpµMFFFFЫ-hХ±MЂB—i-h-–¶" °рhыoр6pљ§Fљиp@`GF FF Fљиp@–злЗQSEE version major=%d, minor=%dРлЗр{%d: %x}xGјF†г†г †г0†г@†гP†г`†гp†гА†гІㆆг∞†гј†гю€€кp`бЯегъp`бы€€кРлЗpµщM"Fаhh.” аh¶B—ЖhB–i )ЎpљiлЖ0ШBп”RUш2 ±л¬[h+а— pљpµF FZ±! FрищH± !(F€чЌ€&Pєаoрpљoрpљ(Fрмы±&pа p pљpµ F –!р…щoрш±! Fр¬щ–єаoрpљ!0Fыч§й"1F F рҐи!h) ”`hИBЎ(”0Fр©щ± pљ(Fpљ0µ * FЗ∞M“яир $',2I"®рїш(«—#9H™Fччyш7H8°–й# рЇэ ]з-йрGИF@ц FFHFѓуАЄсoр –(Fьч<юP±(F€чuю4!@Fръ@±а"а" °рХэvа-–" °рНэoрљирЗ4!@FъчrмH≈ллБс0Fркн8Fршщ@FэbрТъOр€4p±:FAF(F€ч≠юP±!" °рfэ8Fргщ=а "хз9F(Fрbы(Џ""нз њлЗ(%u)®лЗ∞кЗglobal_tz_app_id 0x%x, 0x%x 9F(FьчJэ(ЏЕ"Ћз ччшс8AF8FръF цчы€ ±_"їз xc0Fр∆н)FHFѓуА FПз(µ–љи@\з"ѓтИ рэoрљh)—АiЅ ‘јуa)–јуBP(–(– pG pG0µ$F!±с oраZhъзF€чё€±Fа 2”йлADРBс“ F0љ-йь_ГFяшDФ&јл 1Ft5F лИЇF а»hJi†BD” F™BFЎ*FF8F€ч»€п—ц€uXFoу / ?ьчZюP≥©jFXFьчхь–Ч"аЁй 9СBўШ"oрѓтl рЭьа†B–Yш(Бi Бaарhр`1FPF€чФ€ц—а:F!FXFьч3юF(FљиьЯ-йрG@ц БFFPFѓуАHFьч эА±ёN…л лЕс0АFрЎм`kOр€7( –,"$а+"ѓтм р\ьoрЌжHF€чy€±Ц"ас8 Fрџш(Џ-"ѓт! рFь8FЄж!FHFрўщ(Џ."ѓт4! р8ь"а<"а=" ÷°рИъа`i»±°iє± "©щчhщH±@" ќ°рyъ рcэ( –$ Ш∞B–эчA€ F ∞pљ?"№з,Fуз-йрG ВFOрOр€9–’йvw±n±(h 7’йГiPFр£щ( ЏI"аF"аH" µ°рGъ;а(Fрмш(Oр(ЏG"сз .“J"нзhhлD€ч(эА±hhлDCX[± !лDBX !8Fрщ(ЏK"аhh!лD >@Xју`(– 7d®h†B’ЎV±L" Ш°р ъPFрrщHFљирЗ ыз8±j)±Aj±Аj± pG pG-йрC F°∞Oр€9 – р№ь( F–€че€h±аM" а€чя€(r–iF(FьчФъ(k—аN" }°р÷щdаШ@a–`j°j Dц€p6Oк80FOк8®л9FъчЃи-– BF1Fэчfш(ЏP"џзmHт1Fhючь(± j∞хА_ўS"2аt"ћз эчSш2аюч]ь'–‘йрМпаhР iР`iР†iР`jР†jЌй jРШ Рр^ш © Р®рИь-F– эч,ш0Fюч?ьg±U"ЬзT" K°рrщ-»—HF!∞љирГ F€чЅю(ЏV"КзЩ ШИB“ШрЛш±0–a"~з зз-йрG$FOр Oр *аhhлD€ч=ь≥hh лD лDPшВXСBўA" .°р9щOр€0,зV– "лDјYD1Fрипhh1F¬YPшDщчрпd®h†B—Ў зpµFFFKК∞h Х –Q±J± (–C" °р щoр аB" °рщoра Р ЂрћэOр€6±D"а " F©шчў€0±E" °ркш4Fа$ Ш®B–эчµэ FrжилЗ(%u)РлЗ-йрA FFFАFьч£щOр€7±%аW"а F€чєы0±бh`i @FьчТщ0±m 4µBр” љирБX" '°р±ш8Fцзpµ$F€ч“€f(ЏY"а(Fьч≥щ(ЏZ" °рЫш4F Fpљpµ!Fьчщ(Oр€4Џ["а!(Fьчнщ(Џ\" °рВш Fpљ pљpµ!Fьчшш(Oр€4Џ]"а!(Fьч”щ(Џ^" °рhш Fpљ pљ(%u)IIµ h)–HJi”hLИаTHИRi@∞ытуы HА—И@Аљ-йрGлЇс–#RFхіpFхч€аƒшhaƒшla"!с@р)ъƒш§PЌ± ШэMƒш® лАihлА@(—шЉ¬шЉуџ FрЉъ(h@(`(–а љирЯрлоH!0рTъ(h@(`—р л Fоз-йрAжO„й@∞ъАрјсдHл≈0FрUъ± 8–ph∞B— Їh®@ВCЇ` Бш,°B–Hk(№ Hc8h cy`k8` FљирAрШЇљирБpµќM(h@(`(—р–кih& FБш,`HcHi«Iлјс р ъ`iЖ@®hCЃ`€ч∞€(h@(`—љиp@рЃЇpљpµFРш,(–(–ЈM(h@(`(–аoр pљрЮк Дш, Fрьщ€чЉ€(h@(`—рОк pљpµ®MF(h@(`(—рДк р–щ(h@(`—љиp@рtЇpљюзЭI IhБш,eзµЪL h@ `(—рhк€ч[€ h@ `—љи@рYЇљ pGРJ µлј@ (I` `шџКHН°ЛL0@`` Fрњщ"!с@р1щ `a Дш,АH""b!bb0"cрuщ|HD`љpGFyH "@hј0хчЕЊµ ±± )” $а љ FqI"FIhј1хчuю†B”oрљ љ(Џ а(Ё gIIhHapGk†µ€ч”€ €чо€bHAhЅ`љи@зgI`Б`A`!Ѕ`pG-йрAZOFFF8h@8`(—рдйФш,(–oр зс р)щ†kЅhIЅ` †c Дш, Fеcр1щ±€чњю8h@8`—р¬й еж!Foр µ€ч…€(џ љ љpµ FИ∞%–:N qh 1ртшаh!@а`phАш,!јйAh–hFхчqэ8J)FshhFхчlэ€ч"€m–hFхчfэphјk∞pљoр ъз-йрA'FFРFр„ш± 8–иh!@и` Дш,ƒй.±H@hАш,рќш FрЋш±€чYю'8FДж-йрGFFOрOр–аh(Ё H@hАш,Ар≤шOр рҐш± 8р±бhIб`Аш,АјйЧр°шmозxлЗP¬лЗP√лЗbootstrapidle€€©иЗ±-Ё€чю(FљирЗµoр F€чЄ€ `љpµNNFthа")Fхіpшчщ(–§h$ ∞Bт— pљEIFHhаГiУB–АhЛBч— pGpµ=NFthа ")FсјрBп0±§h$ ∞Bу— pљ†ipљµ\0ЁйL†иљ0H8@h\0pG-H8@hх§ppGH±*I9Ihхіq`!q pGOр€0pGBhЅйBh`A`pGhЅй hQ``pG–й`–йJ`!A``pGµDhДB– F€чп€ Fљ љµF@iIлјс €ч”€ai И@ I9КhCИ`љpµ FF@т†рrиH)F `сјљиp@ "хч‘ЉИлЗP¬лЗ€€яш Б%рг€ЎшFF@»ш(—рbиBHDhДB–‘й`‘йA`e`%`а$ єр–€0h@0`—рHи,Џ–5N 5O60`=`£h 4ћШG8`5`Ќз1H0µН∞h Ф хчь" ©-†рЋэ%± Х Х хч ь © РР#ЌйQ%IBЌйхP#IЌй"Х†€чТь€ч_э Ш†B– ∞љи0@ьчнљ ∞0љpµFMсЁй#∆(h@(`(—ршп HhƒйhL`!` HЄ8рi€(h@(`—рдп pљHЄ8–шЄpGxлЗФлЗ®елЗилЗdpcрƒлЗЅЂиЗ-йрA$FFFрTыј±р4й(Fрќ€xє(FрPыX±юI:FQш5л≈Ih h1FШGFа$рй FљирБpµ$Fр2ыЄ±(Fр4ыР±рNл≈`h@hP±рйahVш5IhИGFрйа$а$ FpљµFры(– Fры( –яHлƒIhЙh)–Pш4љи@GљµFрёи Fршъ`± Fръъ@±”HлƒIh…h±Pш4ИGљи@рЇљ-йрA$FFряъј±(FрбъШ±∆Oл≈`hiX±ріиahWш5 i1FРGFрђиа$а$ FЙз-йрA$FFрЉъј±(FрЊъШ±µOл≈`h@iX±рТиahWш5Ji1FРGFрИиа$а$ Ffз-йрA$FFрЩъј±(FрЫъШ±£Oл≈`hАiX±рnиahWш5Кi1FРGFрfиа$а$ FCзpµFрyъ(– Fрzъ(–ТNлƒhhјi( –рLиihVш4…iИGљиp@р4љpљ-йрA$FFрXъј±(FрZъШ±ГOл≈`hjX±р.иahWш5 j1FРGFр$иа$а$ Fз-йрA$FFр5ъј±(Fр7ъШ±qOл≈`h@jX±р иahWш5Jj1FРGFриа$а$ Fяж-йрA$FРFFръ»±(Fръ†±_Oл≈`hАj`±ржпahBFWш5Лj1FШGFр№па$а$ FЇж-йрA$FРFFрмщ»±(Fрощ†±MOл≈`hјj`±р¬пahBFWш5Ћj1FШGFрЄпа$а$ FХж-йрA$FРFFр«щ»±(Fр…щ†±:Oл≈`hk`±рЬпahBFWш5 k1FШGFрТпа$а$ Fpж-йрA$FРFFрҐщ»±(Fр§щ†±(Oл≈`h@k`±рxпahBFWш5Kk1FШGFрnпа$а$ FKж-йрA$FРFFр}щ»±(Fрщ†±Oл≈`hАk`±рRпahBFWш5Лk1FШGFрHпа$а$ F&жpµ FFр[щШ± Fр]щx±HлƒIh k* –Pш4аРжлЗ)Fљиp@G-–®H(`pљpµ FFр<щ(– Fр=щ( –ҐHлƒIh l*–Pш4)Fљиp@Gpљpµ FFр"щ(– Fр#щ( –ХHлƒIhJl*–Pш4)Fљиp@Gpљpµ FFрщ(– Fр щ( –ИHлƒIhКl*–Pш4)Fљиp@Gpљpµ FFFрнш(– Fрош( –zHлƒIhЋl+–Pш42F)Fљиp@Gpљpµ FFFр—ш(– Fр“ш( –lHлƒIh m+–Pш42F)Fљиp@Gpљ-йрA%FFFр≥шx± FрµшX±^HлƒIhKm+±Pш4:F1FШGF(Ffеpµ FFFрЪш(– FрЫш( –QHлƒIhЛm+–Pш42F)Fљиp@Gpљpµ%FFр~шp± FрАшP±DHлƒIh m"±Pш41FРGF(Fpљpµ FFFрfш(– Fрgш( –7HлƒIh n+–Pш42F)Fљиp@Gpљ-йрA$FFрIшј±(FрKшШ±)Oл≈`h@nX±роahWш5Jn1FРGFроа$а$ Fуд-йрAFH$FВBИF(F—€ч—€Fарш»±(Fрш†±Oл≈`hАn`±ртнah2FWш5ЛnAFШGFрина$а$ F∆д (“ pG pGIQш0(– pGю€€РжлЗpµ≈ЙДЙFhр€ Oр€5д≤&±,—Љс–(Fpљ$ `Аh!$ј–``а `` pљ-йюC%рФ€FрЃь∞хАFў рлщжI¶хАV0hИB—$ІхАXалDл 7xhDEEў р‘щЂjF©8F€чі€єШ@рРd∞h†BдЎљиюГpµ F–р\€ `-–рtь(`pљ$TOC-й€_К∞ЇHFЪFЁйЙhЯРР$%F£FЌйD Ш(± Щ±±Xк !—$Bа uс”л Jс"іл ВA“л Jс"Єл ВA” Щ82Fччјыx≥dEсілuл Џ”їс–їE”8XEў!®р†л"YF®рЃк"#®рђшЌйЁй Ш$јйЩШБB–ьч}щ∞ FљирЯ€зл Ђс —з-йрC≠х}АF®FСFFЁй¶G@т!рpл ЮР@!О®рjлЭ±Ф±"hВ±(hp±иh`±®hP±hh@±Ю©@FРG0± х}љирГ щзЮШ( –ЮШxєv±∞i`±рiP±0i@±pi0±*h©8FРG–Pа взЮШРѓ ±О®фчЧ€Ў±%аО®1Fрzш–]°F@т0а8"9FhFрzкЁйО#йh®ИG–F@тЖа8"9FhFрjкЁйО#® р–ыF$±#F@тТW°ађh®KF2FAF†G –ЮШє , –Y°#F@т• ючьih®ИG±а$шзF FСз-йрGOрСF_к ШF&F%F–<'а FљирЗл–x†сA*Ў78а08 (Ўр:Fp!рйЖMA?d іл pлб”0F)F№з&5FщзpµЖ∞FOр FРЌй–(i®±®iШ± ! FрҐкДш0`™¶bжbfc¶cжc’й рhъ ± ∞pљ ызШ(ў!acАаc!hi" FЌй(i%IР®€чСю(ж—Ёйƒй азилЗ(%u)secboot_get_fuse_info_from_image falied %u(%u)secboot_init_fuses falied %u(%u)secboot_authenticate falied %u…∞кЗµрЎк0IјслА <8љµF€чт€Бk!`Aka`h°`Ahб`Бh!aЅhaai°aAiбaБi!bЅiabj°bAjбbБj!cЅjack†cс<љи@рvЄµ€чЋ€IВk `BkJ`hК`Bh `Вh a¬hJaiКaBi aВi b¬iJbjКbBj bВj c¬jJckИcс<љи@рRЄµ€ч£€IJhBc hБcљАлЗћ~лЗI`pG!FрEњoрpGoрpG4w`-йрOЗ∞ВF Oр FFАFўFР"±ТFРhuаoраєс–8∞хА_rўхАTЌшАхАU лР©шчЇоР≥Ъ+аїс–=AтЕBўF лР©шч®о(м—Ш,D СІB0` Ўїс–!а у јхАUжзw`а л©АFшчОо0±BF °ючГъ6ааШЩOк8хАQOк8ИE—Oр аu`єсOр — аШЩOк8хАQOк8ИE –Oр u`ЉB“ШAhШБB ў6@РЉBК”Ш∞љирП€з8(Dp`цзOр€0Ртзtzbsp_vtop(): [%08x]Oрхо—оOрхoрх€/бOрх†гоOрхoрх€/бOрхо—оOрхoрх€/бOрхSо—оOрхoрх€/бOрх3о—оOрхoрх€/бOрх†го—оOрхoрх€/б€_-й±я€л†гOрхо—оOрхoрхојг јгоојго€Яљи@-й†гоOрхо—оOрхoрхоАг АгоOрхoрхоАгоoрхАљи@-йол@-йв€ыPгИя€лРЯељв€лЅв€лOрхо—оOрхoрхUгUEгооАг АгоOрхoрхоАгоoрх†гАљиагАљиојгоoрх€/бOрхoрхоАгоoрхoрх€/бјнЗ0µF F Oф∞$!+—OфЄ$!анMUш1P%DХBЎкMлЅmh%DХB” аI")н”њ0љ-йрAF FFFбHx(<—±єoрљирБ!(Fр¶щ ±! Fр°щєoррз!0F€чЊ€єoриз!(Fччоп ьчАь ьч}ь ьчzь:F)F0FрЉы ` ьчЖь ьчГь ьчАь! Fчч≤п ∆зoр√з-йр_АF FТFF$£FOр ЇHx(}—±Єс—oрљирЯ)F@FрVщ ±!0FрQщєoррзµыщр ыP±oриз(Fьчoы_к —oряз+FBF)FXFфч_ы_F$'алDWш ШєлDлА@h0єлDлААhєаXFьчTы'oрљзлDWш!!€ч8€(єXFьчEы'Єѓзdµыщр†B”Ўњµыщр†BЎXFьч5ы'oрЮз)F@FччTп ьчжы ьчгы ьчаыQFXFрUы0` ьчны ааьчиы ьчеы!0FччпXFьч ы'0hwзoрtз-йрAFFFFlHx(<—±єoрљирБ!(Fрљш ±! FрЄшєoррз9F0F€ч’юєoриз ьчЫы ьчШы ьчХы*F9F0Fр!ъ ` ьч°ы ьчЮы ьчЫы!(Fччќо! Fчч о ∆зoр√з-йрAF FFF! FччЇо ьчlы ьчiы ьчfы:F!F0Fр®ъ(` ьчrы ьчoы ьчlы љирБ-йрAF FFF! FччЦо ьчGы ьчDы ьчAы:F!F0Fр†ъ(` ьчMы ьчJы ьчGы љирБ-йрAFFFF ьч&ы ьч#ы ьч ы:F1F(Fрђщ ` ьч,ы ьч)ы ьч&ы љирБ-йрAFFFFє љирБ)F Fршєoрхз рeъ p)F Fчч@о лз FFDHµRhьчNщ(– љ†лЗDлЗРлЗpµFрэрфюьчpю;HрЄпшчСыщчЬьыч}эXє €ч[ь6I ` ` ` `ьччщрSшычBы рЅщ–"а(FщчюычОэ(єъчь–~" а р—ъ–В"афч—щ–Д" °эч€р»ь Fpљµшч{ьщчю љHhIИB— pG pG pGI p Ip I`IppGoрpGµщчпэщчvьъч щI pљBтAИB— pG pGpGpGАrнЗФw`(%u)–ФђsнЗ≠sнЗ®sнЗЃsнЗ∞лЗ-йрG_к ВFF–яшЉА$!FлDлЕ8FршXш%лƒFш4xhdр€H`л–IF0Fьч≈щ ш љирЗ ыз"`B`r ±Ah аOфА h"р`ЙhЅу!A`)“яир OрqаOрАaаOрa аOрАQ аOрQаOрАAаOрAа!A`hS”+± @т°эчeЊIA`pGРзлЗ(%u)0о@Аг0оoрхOрх†гPоoрх1ојг1оoрхOрхoрх€/бP-й$лPг XЯеСе∞о€ в@†бРа∞о€вБа†г†б0ЯеАеё€€лРљир гТеQгы€€ТеQгш€€ТеQгх€€ ТеQгт€€Oрх€/бю€€кдЯе†гАе€/б@-йс/о1†го†г†гNAм/осАљи@-йc€€ъPг$ЬЯеРеШЯе СеАбPг†гБег @гг@гБгАе_рхЅг@ †г0СеБв Rвы€€г@гБгАе_рхЅг@ †г0СеБв Rвы€€г@гАе_рхАљи\ЈлЗ ЇлЗD≥лЗШsнЗ†sнЗ!µ@±#p"Bp"Вp√pFљ Рю°FF эчhэOр€0љ8µ#F*±pPp FСp‘p8љ#Ф Fш°эчTэOр€08љ-й€OЕ∞Oр_к Oр OрOр€7ЁйFХЁшHР1hСНш –»F ©р…€ј±#ыt`–#Ф}°F эчЕш#*F Ф~°эч~ш(F£зtzbsp_secure_channel_key_gen status %dSSID %d, not supportedinput msg buff overflowInvalid Params: NULL PointersOutput buffer length is not big enoughЉлЗјзлЗnhcsKey material corruptedKey Exchange not initializedKey handle is NULLSetup flow info failedSetup cipher info failedEncryption failedHMAC creation failedјйлЗIV lenght overflow %dtz_secure_message status %dHeader validation failedHMAC validation failedMessage being replayedDecryption failedtz_authenticate_decrypt_message status %dpµ( FOр€4 “Iл@#лјF(Fучъ(” pљ FpљлЗ‘I `pG“I ` pGpµ(ўFа")ўFа !FFрbщ!F(Fр]щOфАFHМB”FКB”FјHAhјK@A`ЅhƒуфАCЅ`Ѕh…ь’i¬уфАCai…ь’AhіJR@AрA`AhрAрAA`!`љиp@р\ЉµOрoр –,—У$ УF F•°ъч$юљУ’ УF F¶°хз! µучїщ"ѓтяF€ч№€Bцаaљи@HКз-йрAFШF®±(—ЭO шbрщF F0FAFрфш 8bEс}b шbљирБ ррпрґпF F0FAFраш EсррпљирA рЉ(±(—ЗI »bpG рьїµ ±(– FљрФпар№шљи@р ЄроїµрИпљи@рЅЄ|µOрoрOр –,—ЌйSF F* p°ъч•э|љЌйSF F o°хз ±(—* ъчXњ ызpG ±(—* ъчњ ызpGUH!`AhTJ@A`р©їQHАh!јуN@кЅ`pG ±(—$ ъч5њ’ ызpG ±(—$ ъчщЊ’ ызpGµFрґнVKh"ът±!к аAк фO–`љµFшч–н±,±€чЅ€аoрљBцаaH€ч√ю љpµ$FшчЉнh±%±BHhBJ@`! €ч±ю,э—`pљoрpљpµ$FFшч§н ±6H-–5±$ Fpљh3J@аh!рAAф1`Oр p`пз…AкPAјА @кБPЙ pGј"0і†ыE#ыQы F0Љ "рjє "0і†ыE#ыQы F0Љј"р\єKYhhZhhКBўFFpG†JАSPI WDOG NS BiteSPI WDog Bark@ QTIMER APCS SECQTIMER CPU SEC‘ @Б€€эµ –Ah!±учзшрґщ Fыч6ш љoрљpµ oр–(±(–(–Fpљ%а%а% ычшOр€6 `X±p !hH` !hr%hрjь@єа0Fpљ)x(уч\щ(ш– h€чњ€узшµ$Foр∞±R±e' )O“яир 2K*."&Iє№" ±°ьч$эа@h!3Fа,F<а@h!3FучYщ(ц—4а@h!3Fцз@h!3Fтз@h !3Fоз@h!3Fкз@h!3Fжз@h!3Fвзx!*“яир !а!Нш#@h!jFѕз!цз!фз8Fшљxrай∞єЏшWF ърC ш`z( —цчґ€xx(–Ўш !ШРGцчы€ F€чO€Фш$(–аNO8h±NIаNIЎш ШРG8h(и—эчПюез F€ч…юўшP,FBH†8ДB¶—@Hўш†8БB— €чы €чћъШљишП-й€OOр F $ИFГ∞Oр€6WFр¶йяшƒ∞≤ яшјјБF с e±- –- –- –-–-–-–а'OP?а&O(?8z(–№ш РB —$XFаdд≤ ,“Pш$СBч—аƒ≤а ¬F[ш СB— , –AE—HFрtйoр∞љирПƒ≤@ (лџ ,M–Ш-ј≤E“яир6:E№ш `ЦB—&э±-–!@F9bр ъ«й аРлЗ‘лЗ†клЗјСлЗШРлЗћ~лЗеЏиЗ Зш$xr8F€ч/юа!@F9bрђъ«й Зш$ озцJ#FЩахJ#FЩЌйф°PFъчшFє&FKш$†HFрй0F£з#FоHFтч{ї#FлHF0тчtїйH@hpGиHАhpGжIJh"кH`pGгIКh"кИ`pGpµ(F–’ а№Lаh†х@s€; —!ф@FF)F €ч#€(џа`pљ F F)Fљиp@зЁз-йрAFFFцч8€FћH2FGк(F€чѕ€F Fцч<€(FљирБ-йрA$@т€6∞BFFф–-т–р®иАF9F(Fъч?ш( џЇH0Pш$©B—@ш$`dд≤ ,х”@FљирAрУљ„з!„зpµFцчэюFHт(F€чќ€ Fљиp@цчњFOр€0+µ“!FOрRрnщ љpµFцчаюF(F€чк€F Fцчию(Fpљ@тµрЮш љpµFцчЋюF(F€чс€F Fцч”ю(Fpљ FF ычцњpµF FцчЈюF"F 1Fычл€(Fљиp@цчЉЊ-йрAoрFFрrпxєр,и#FF1F8F€чrюџ|Hƒ`(Fр(и Feз±!бзpµFFцчЙюF±!а!(F€ч’€F FцчНю(FpљµрFп(—риjIF…h°х@r€:–eHP8€чbэ Fљи@руЉљpµцч`юFр*пxєржпF\Hјh†х@q€9–XH(8€чHэ(Fрвп Fљиp@цчWЊRI P9HrpGPI (9HrpGMI P9HrpGKI (9HrpGµр>щљи@F F €чЪЄpµF Fцч$юF0F)F€чм€ Fљиp@цч*Њ µ€чЅшљи@р,єpµцчюF€чт€F F0Fцчю F)FpљpG€чтЄµцчюэF€чмш Fљи@цчЊючзњµцчсэFючб€ Fљи@цчщљ-йрGАFЙFFFЬ€ч%ьoрИ±1F(F€чь`±HлДPш!@$±3F*FIF@F†G Ѕд8Fњд8µ$Ф€чџ€8љ-йшCFFFШFцчэ M CF:F1FhpР F€ч»€F hpцчNэ FљишГ„ЎиЗхЎиЗEXEC†клЗ‘лЗА -йшCFБFFШFЭF0F€ч’ыoрp±)F@F€чќыH±SHДhD±CF:F1FHFХ†G“з F–з ќзoрpGµJLаh±АG j( –р:о(—цчЉь jАGљи@цчљљµ?L i±АG`j( –р&о(—цчІь`jАGљи@цчрЉљ6HpG5H@0pG4HА0pG2HМ0pG1HШ0pGoрpG µъчъOфЉ ƒo ъчъ Fљpµцч-эF€чо€F Fцч6э(Fpљ µъчкщOфЄ Дh ъчщщ FљpµцчэF€чо€F Fцчэ(FpљoрpGHhъч§Є-йрAF FFцчюьF2F)F F€чп€F8Fцчэ F∆е@ти20µ†ыE#ыQы F0љ#@ти2р–є†клЗизкЗРлЗPг€/lЯе б БеdЯерБи`ЯеБе\ Яе2€/бXЯе0€/б †бPЯе0€/б†бHЯе0€/б00Яе0Уе3€/бPг агЯе Сер/бЯерСи€/б≥лЗ≥лЗ≥лЗHПкЗЩбиЗ©биЗ£биЗpµFрXнF тч°ш(F р†н(FччгьI](є Uцчнъцч1ы тчПш pљdлЗI@h`pGHhјiGJh“hGJhRjGhлЗIјh`pGKh[hGlлЗI@i`pGJhRjG0іL$hdk§F0Љ`GpлЗ Iјj`pGJh“kGJhRlGJh“lGHh@hGtлЗI@j`pGxлЗIјi`pG|лЗI@k`pGАлЗI hРB—Oц€pH`юзpG"… Fµ€ч±€I`љДлЗpµ(±@тH"FdHр|лcM aLcN(`гhајлјлКi*– *–а j)`а j1`@ГBнЎ3h *hW°љиp@ыч'љRHl(– pG pGNHµoј–€чс€± љ љpµSLF xhє%%p ъчКш!0Fрўь±e` ъчЦш`h(– pљpµФ∞F F!Р Р Р Р®рћл®рМэOр€5`ї®рЧь@ї=I" ®рл ъч]ш ъчZш ъчWш ъчTш ©2F®ЂЌй !Fэч)шF ъч[ш ъчXш ъчUш ъчRш±(F∞pљ ыз-йюC$ &F€чЬ€I($–ЙFўш °BўƒлƒOр л–й W(FрrыЄB“9F(Fр√ы(F –f± 2FЌйX°ЧычКьOр€60FљиюГd„з»клЗрлЗмлЗhyp_entry= %u , appsbl_endtry=%uМлЗМикЗrollback ver update failed (%u) %u, %u µ€ч;€X±€ч,€@є€ч!€(єHx(– љ љілЗJ!2ш0ГB— pGIч– pGЎЅкЗ0µ oрpAюKSш КB—@(шџ(–Sш !$ъх*B–I )шџМ@"CCш л@0љOр€00љA )µ “нKр †@Sш! ВCCш! љзK µDFD3лА@(Cш!@лБJ`К` ` aтџљЁK ріFCш @(ъџЏL ЏM&лјDш @(Ѕйfхџ `рЉ—з|µOр€5X≥ьчµщ'–ћJ OцqF2¬йР`–`aFРР Fьч≈щ«I‘шЬ рј hрјC FƒшЬ! рЖ€ аaF Fр ъ |љ(F|љ8µїK!їLF `!h†1СЄI h!рђи!h Ѕш†8љрі±LЮ%h- –%Dш[Oƒ≠Hh–ш†рЉрЁЄрЉpG-йрOБF©HЛ∞F_к h Хoр-Oр Oр€6–, –Ґ°FBF4а BF°°ычYы1аHFрй– !®р.к :FЂIFРXF€чш – KFЧ°BFЧыч>ы Oр€6"л@AqВA“oр;Ќшађа’й`!Oр€<'2IAЉлПA “oр<3FРЫаGаgаBа:аа≥B“Fа1FsD0DГBЎFZЪBўoр=СЕаЋ°№а(h€ч™ь(М—©з(h€ч)ъFычщ`±Dj™с(…ш` –(h!€ч3ъL±…аoр3FЊ°*FЉа’йтз €чCэЉа Ы"FQF(F€ч(юµа€чю≤а+h≥хА_“oр`2Fѓтђ ъчвъ&`’йрЬщ ±’йр/€ЫаhhЂ°Р+hoр**FМа%`СаЎш0± Ѓ°ъч∆ъoр)Жаih±хPўoрN*Fѓт‘ ъчЈъжз(hи≥б≥»йрnщ†±ЎйшчХэЄ±Ц#"Ўйцч/щ∞±Ўй0oрDР*FwзЎшoр'РЎш0хз Ўй#Ш°ъчЛъNа%»шPЎш »ш лЎш»шЌй6#Fрlъ"а6а/F8F р≥€»ш ≥Hт:FЌй#FрXъЎш 9Fр>йЎш "9F рљю»ш PрKэЎшЎшц€p  цчcъ&` аoр8;F*Fѓтф! ъч?ъnзoр& `€чь љиьЯoрW `8Fшз-й€OяшƒБ +Б∞FFFOр Oр »ш8Р“oрQа/“oрR F"FѓтL1аFFр–ш†±Ш9FрЋша±Ўш8≥&@т@»ш`шчљь»ш4Ў±»шРа#FХoр36°"F ъчтщ F∞љирПoр2Ы *F/°Чъчещ(F%`рз»ш`р§и»ш@Oр€0ЎшБ±Щh»ш<`¶хA9 —Ш∞+F"F9FљирOр(єoр!`–зЎш4Р√FяшиАЈх†Ў -ў `ƒзЩ:FHFрҐп!h:»ш_Fah.»ш°h»ш с«й ДW– .U–CF0FХ€ч_эВF„й —й#Йh`јй1PFЫзАЦШ{%x %x %x}{%x :: %x}QSEE Error code %x addr=%x size=%x[app region is already defined]apps region not in DDR %x %x№лЗіплЗCF0FХ рќ€©з FFDHµRhшчы(– љРлЗ-йь_ FnIВFСF Я FOр€;`jIkHЅш†h≥рдпhI`IF(FрЄш»±9F Fр≥ш†±_к –ъчъю–•B“(F аoр]°аoр]° ъчэшXFљиьЯ Foк ©B”щC°Bл ”бЛBЎ FЩBўoр=Р "FP°ъчбш Fвзoр;KFХуз;FФoр<озJF)FPF€ч^ъ_к– oр?°ъч«ш%а∞j@–∆ш(∞#FJF)FPFЧюч7€!АF0FрХь&Hт )FJF#FЌй¶рЮш!F:F#FЌй¶рЦш€чkъ@F°з'IpµFOр€6 h)≥И°хB:"—Eh !(Fр-шр± !(Fючы(FъчАю– `Nц`†А§h! FршP±! F%`ючпъ pљ`ыз&`щз0FpљIµH hИbр юљи@рќЊ FFDHµRhшч=ъ(– љлЗілЗалЗлЗ{%x}{$x}{%x %x %x}€€|лЗРлЗшHhpGчI`pGхIцH`pG-йрA$`ƒCМBoр “ bFр°ъчшаG!лlhМ±оhр –≠hжCЃBл”ДB%DЎѓBЎ(` љирБI)жџ шз-йшCFFFЁш АOр»шF–≈≥Њ≥сшCF1F(F€чЊ€8єL±’JCF1F(F€чґ€± љишГиC∞Boр ”ѕI™hX±HhЙh√CЛB”®BЎDРB”Aа$лƒ—шаШ±—шд√CЛB“ bFљ°щчє€ а®BDЎКBЎI»шЌзd,гџ≥Hє°Ц+Fh щч§€ ЅзрµЕ∞ЄM ЄOЃРµHh h0±Ц#ah:h€чС€–±Ц#‘й:h€чЙ€Р±Ц#‘й:h€чБ€P±Ц#‘й:h€чy€±%h± а(F∞рљъчМэ(±!B\z± )ЏFс$»НиЬHћhDo(F†GззI )кџоз-й€A ФOЃР#РH!hЦ:h F€чI€НM≥Ц#‘й:h€ч@€Ў±Ц#‘й:h€ч8€Ш±Ц#‘й:h€ч0€X±с»НићL$hдo†G∞з(Fыз-йсOЪ∞vNяшаС$uMѓФФЩўш уhс0hУ÷йОяшј°q–8№с<n–№счk–№сэ)g“яирC\`gkµсфt–№сцq–схX—IгсKk–с=ч—цгZK11яшt±)”шјя“яирсрпGGGGоGGGGGGGнмлкйизжTK1)”шјRK”ш∞»“яиркйизжедгвб…аплћ∆є≤`TH9Ё№џ#LFqF@FЧ€ч∞юp±Ч#÷й"h€ч®ю0±0iРќючЇ€F—г,FѕгAFючWючзючфюфз≤бЩглвггAFюч€мзAFюч0€из#AFЧ€чЖю(г–÷йючшш∞гг„вЅг#AFЧ€чwю(‘–÷йючнш°г#AFЧ€чkю(»–÷йючешХг#ЧF€ч_ю0hЩрч¬щЩИB“1h†рФъДг0h,FрчґщЩЌй3h Ъ°щчFюvгЦв лЗпЊ≠ё{%x}dплЗЄнлЗ{SWI:%x,%x,%x}јплЗ≠ёр|лЗ|лЗАлЗxлЗpлЗ%s{SWI strnlen:%x,%x,%x,%x}ЩrF№ш@Ћ≤AFNв#@F!Ч€чю(М–шKќhџh¬а№ш№б№шTўб№ша>бgбРбјбЌббб в_вѕбСвњвЎб-в2в4в аа$а:а=аAаYаyаНаҐа∞а–ааа№ш$АG2з#LF!@FЧ€чќэ(«–Ч#рh!"h€ч≈э(Њ–ЎLќ$hдjв#LF!pFЧ€чЈэ(∞–Ч#рh!"h€чЃэ(І–ћLќ$hdkкб№шD AF~б№шL0rFAFbа#LFqF@FЧ€чЧэ(Р–Ч#÷й"h€чОэ(З–0iРќЏш@ј≤Юб#@F!ЧOF€ч~э(Ѓ–ЏшUF0hј≤ h©РGF8h!ВiШрЛшqh(`^—D(hAjШXа#LFqF@FЧ€ч]э(Н– h!Вi0hрышЏш0÷й[iа#LFqF@FЧ€чHэ(П– h!Вi0hржшЏш0÷йџiШGЦжТi!MFрЏшЏшIjИGF(h!Вi0h.а#@F!ЧOF€ч#э(К–ЏшUF0h j©РGF8h!ВiШр1шqh(`§—D(hAkШИG:вТi!MFр™шЏшIkИGF(h!Вi0hрzш)вЩ#LFpFЧ€чсь(Т– h!Вi0hрПшЏш@6ќдk&бШ#!LFЧ€ч№ь(Т–#тh®FАFпчЛ€Ч#Щ∞h"h€чћь(І– h!Вi0hрjшЏш0÷й\lCF†G#FрhBFFпчn€жб#LFqF@FЧ€чЃь(Й–Ч#0i!"h€ч•ь(≤–Ч#0i"hhрh€чЫь(®– h!Вi0hр9ш1i6СЏш@ќдlќа#LFqF@FЧ€чДь(С–Ч#0i!"h€ч{ь(И–Ч#0i"hhрh€чqь(У– h!Вi0hрш1i6СЏш@ќdm§а#LFqF@FЧ€чZь(М–Ч#÷й"h€чQь(°–0h(–(ф©≠Ч#pi !"h€чBь(Т–÷йЙ≤ЌйЏш@ќдmyаЧ#pi!"hлз#AFЧ€ч+ь(Д–÷йЏш RnРGеЏшј≤…nИGyе#Ч !€чь(С–€чqьoеxлЗ€чґьjеЩ#LFpFЧ€чь(Й–Ч#pi!"h€чэы(К–Ч#pi"hh0i€чуы(Ч–÷йЌй0џш@ »Ѕ≤0hј≤dh'аЩ#LFpFЧ€чЁы(К–Ч#pi!"h€ч‘ы(Р–Ч#pi"hh0i€ч ы(Ж–÷йЌй0џш@ »дhЅ≤0hј≤†Gеџш,АGFСеаџш<аџшDАGёаАIИB—hўаюч,э÷аюч-э€д#LFAFЧ€чЬы(Ф–Ч#÷й"h€чУы(Л–ќпч”юкд#LF!@FЧ€чЖы(З–Ч#0h!"h€ч}ы(И–0h#h РphhРЧF Ш"h€чnы(П–© ®эчЇэ1hF Ш`qhШ`СаZ° щч\ыючщКа#LF!`FЧ€чRы(Ж–0i# !hЧР0h"h€чFы(®–Ч#÷й"h€ч=ы(Я–Ч#Щрh"h€ч4ы(Ц–1iШЌйќрmыЗд#LF!`FЧ€ч#ы(Е–0i# !hЧР0h"h€чы(П–Ч#÷й"h€чы(Ж–Ч#Щрh"h€чы(Ж–1iШЌйќр|ьXд#AFЧ€чцъ(Ж–÷йщчґ€Lд€з#Ч!€чйъ(Х–Ч#ph!ўш ЄFOF€чЁъ(Й–ЌшА#∞h!:h€ч”ъ(Л–ќпчГэIH` РFР!FЪLFўшъч–ш hрeщ∞љирП#Ч!€чµъ(Р–0h рТю д°MзАаapp err fatalпЊ≠ё лЗapp invalid syscallµ!F Hр–охАp–ъч†шр№оHхА`–с€%–сю&–$± Fљи@€чUї °щчrъљи@юч"ЄHiС»эчаюL РAРFF hъчnш hљи@рєљи@рїЄљи@€чжєјплЗ лЗapp abort|лЗpµюLаxpє ччЊэOфЄ @kф% ччЋэ аp±†p†xpљpµуL`ypє чч©эOфЄ @kфА ччґэ `q± q ypљpµйLаypє ччФэOфЄ Аiр чч°э аq±†q†ypљюµ Oц%Р€чд€(+—џH!ЂjFFычGъШOр€40±!"3F ’°щчлща Ёй#’°щчдщШЂ*FiF@рР’HычвщШ8± Ёй#…°щч“щ Fюљ юљ-йюCр¶ъЅLF Р%аzАєњH!ЂjFА0ычъ≈IШB—ƒIШB–•rеrФш А`{hє чч,эњHhрOрчч9эes±%s {6±Єс–± љиюГ ызpµ¶Lа{pє ччэOфЉ @nр ччэ ±†sаs†{pљюµ$FOц&Ф€чI€±эчNь± юљ£H]єd,ъ”,–"+F Т°щчdщhkF$!Д@НHd™0Fыч™щШP±!";Fа" Ф°щчNщoрюљШ§≤©kF CРЙH2F0FычGщШh±";F|°Fщч7щ"#F x°щч1щШюљ-ьў Рюљpµ! (OфЄ$L–№®±(–(– (—'а ( –(–(-–(–oрFpљр щ6а%€ч≈ю0± ччЖь†i@цюq а)Fнз%€чЄю(ш– ччxь†ihI@а%€чђю(м– ччlьаioуа%€ч†ю(а– чч`ь jр”шF ччnь’зррщFЅзFЏ pG— pG *–№J±*—а * –*–oрpGриЄрєр=єрgє3зµ F!`€(–€чВ€ ` љ€чcю@фp чз `pGµF ччьOф∞!—ша !`чч*ь љpµс(F5Hj†∞1Fhччmъ(w–(!0Fтчnп( чч:ыp–(#2FFпч/ы(!hFрRпP! ®рNп( ЦЌй`iР(DРаiРЁйDР`jР Р€ч1€ РЁйтчBпЁйШDц€qoу oу  тч6пЁй%а$лЗјRB {%x %x}fuse_value {%x %x}А А†®лЗRB {%x}р€РлЗтч п ©hFэчы(—(h")ЂычшШ ∞pљаа щз чз!аB@I(ъ—FpG-йрA§L%OфЄ'`xhє ччvыxkф ччЕы `p± pа xИ± ччfыЄiр|@€ч„€Fшiју€ч—€ ччlы(FљирБюµFOц% Р€чЗэ≥`kF&!Ж@ЙHv™ычшШ(—@цюqkFкFЩ*FCВHС©ъчЄ€Ш(— ,ў РюљШюљюµFOц% Р€чZэ≥`kF&!Ж@rHv™ъче€Ш(—pIkF*Fк0ЩClHС©ъчМ€Ш(—,ў РюљШюљюµFOц& Р€ч.э≥`kF%!Е@\Hm™ъчЄ€Ш(—ЩkFXH2FAкЕAС©ъч`€Ш(—,ў РюљШюљюµFOц& Р€чэ(–`kF%!Е@FHm™0ъчЛ€Ш(—Ш©kF2F(CР?H0ъч4€Ш(— ,ў Рюљ-йшO6L`z∞ї ччЭъ ччЪъOфЄ AkфАUAkфVБlфАGБlфHAkфА;Akф2ТБlАlфА)ф* ччСъ ччОъЪ=CFкOрKк `rBк –± ±± r zљишПµ$€ч≤ь±эчЈщ± љH]єd,ъ”,– ччQъOфЄ АjА≤€чЅюF чч\ъ"#Fѓт1 шчњю Fљ"ѓт№! шчЈюOр€0љ$лЗјАр€®лЗnIFµ hјлјлЅ—ш,AФB—Сш*)–@ (рџOр€0љpµbN%,Fph(±1h`цчєь(±8аччJлOр€0pљ0hAтр\н1hXH`Oф@0H`WHxИ` Ѕш$$ »`§ a@тHa@т(Иa@ц,»a@т‘pbшчЙю0h€"А!$0рн0h!ƒлƒdл¬ ,Вш*ц”(Fpљpµ FF€чЭ€@"— Щ†Gяаа0h1`hј≤жжс—oрI0h1`–шАЄс—т/Ёїс—Oр AFа с сШш± EцџИFа Щ†G с ЇEшџOр а с  E№сЩ†GШш(у—ЇEЏїс—Ща Щ†G с ЇEшџСа а а аШ2h3`h*џвFаШ2h3`h с'Oр z±Њс –(–(–аRBOр- оз°а°ЙFяшLј с F≤ырт*ыш0ш9ф—©°л??Їс–_к –рШй?Ш (—їс–аилЗРлЗЬлЗ00x Щ†Gъ’Їс– р€Щ†Gєс—а с Щ†GЩш(ч—Ш0(–а0 Щ†Gъ’ с( с»E–ШшЩ†Gцзїс—а Щ†Gъ’аmm(x(фЃ ЩШБB–∞љирOцчPЄ∞љирП№еµ (F— €ч÷э Fљи@—еµБ∞J!#С©€чџэљ µ€чƒэљи@ ње”йЗpµ$NF0hЅi р÷к1hлјјшAр–к1hлјхДphR`J p±ш*,`( “HAИ AА0hц*∞ш*А ,“H°ла°"F шч$ы! OрАRр]ь FучЄ€љиp@уч¶Љµ€чЇ€ љ µз4лЗілЗ≤лЗ5ЈкЗFatal Error: %sFatal Error: %dюµ FFOр€6 ±±Б—” @тh&°шчзъаFjFF F рсъШP±(–(–(h р”ъ (`0Fюљ юљ-йьA%FnШ ±«ЗB”З–@т^ а'h„шhrІ±Ќй0# F р.ы( –@т` °шч∞ъ h р©ъ0F%`љиьБ@т_сзh h””Oр€0pG рТї(%u)"± (”oрpGoрpGJh¬@рp pGpµF F –HbRhцчbь@±*F!F0Fљиp@№зoрpљoрpљ (”oрpG!Б@HhC` pGЄлЗРлЗµфч–й(–-I+H`љи@ рёЊљ*Hh*J@AфАq`h!рAAф1`%IJhрBRJ`Кh#K@BрК`—шД рBRЅшД JI`I h" `J`"К`h!рAAфА`h!рAAфА`H@!A`@тА`Oр phAр` pGHАhА—HhА‘ pG pGDткЗыгзµ€чёюHљЉлЗ∞З–хлЗSYDBPВUќђ≈∞_В – рSYSDBG—У`≤лЗPБГ I? ИdpGpµ M,hDц1#@ти2†ырьл*h#ЛAщ”pљ @ (Ў pG pG8(Ў pG pG 8∞хwЎ pG pG(–шIh `BhJ`ВhК`јh»`pGуI#µh`CbHh`C`Г`\ hFлА¬шА0¬шАA¬шАB@ (фў лА¬ш4¬ш8@W(цў лА¬ш<@(шўљЁHhhрAр`pGўHhhр`pG’HhhрAр`pG—Hhhр`pGЌKB рhлВ#Г@RшА)–C`pGШCызƒKB µрhлВ#“шА ърB– `љ `љ( –Oр€1ЄJ hлА√шА@ (шўpG!тз≤JA hлБр Р@ЅшpGђJA hлБр Р@ЅшАpG¶JA hлБр —шР@B– pG pGЭJA hлБр Р@ЅшpGЧJA hлБр Р@ЅшАpGСJA hлБр —шР@B– pG pGЙJA hлБр —шР@B– pG pGАK ррhDDАшpG{K рАhD√“шЎ@ј≤`pGtJ@к!AкAAкa hлА√ш@W(шўpGlK ррhDDАшpGfK рАјhD€#“ш(Г@@¬@–≤`pG^J0µFh лАх@dр лB#hР@)–ГC(F€ч[€_к –(F€чI€#`Љс–(Fљи0@4зCмз0љKK µрhлВ#лD“ш,ърB– `љ `љ(Ў є@ф@—OкВ’)Џ@ф а@рАpа)Џ@рpа—≤@к@3I hЅшpG1H@hhрAр`pG,H@hhр`pG)H@hhрAр`pG$H@hhр`pG!IH±(—HhhрAр`pGHhhршзI(Ihh–р@рар`pGIIhJhј≤H`pGIIhИ`pG IH±(—HhhрAр`pGHhhршзI( hj– bpGћлЗ шз%JRh“h¬у ¬у `Р `озAцBкБ!ју CIIhaгзJRhТi¬у ¬у `Р `ЎзIIhIi…≤`“зI hТh¬у2` hКh¬у B`Jh¬уƒ"В`Jh¬уBR¬`Jh¬уА"uIh@ть2рIIaСB∞ўaЃзћлЗ-йюCАF FFoрD' Ншцчуьњє$=аiF@F рЗэF±6аШ рХэF±0а™)FШ рhьF±(аљш рјыFє $ а©љш рдыF±а-є1FШ р"юFа-—1FШ р7юF±аЭш ± рRю±$ањњцчґь FљиюГpµИ∞F FoрD РРРРРРРцчЫьњ є$Fа©0F р/эF±?аШ р=эF±9а’йЌй’йЌй™)FШ рBьF±)а©Ш рmьF±"аjF!0F€чn€F ±$аљш р6ылјBIлА@( —ЩШ@ЩИB—ЩШ@ЩИB–$њњцчUь F∞pљ-йрAFFFoрDцчAьњ рєьF±а1F(F€чМ€Fњњцч:ь рЬь FљирБ-йрAF FFoрFцч$ьњ)F F€чt€Fњцч#ь0FљирБ-йрAFИFoрF$=Fцчьњ рЖьF± аалDлААhI`лDлА@hH`лDUш! I€чH€F±аdлDUш (б—њњњцчмы рNь0FљирБDукЗ№лЗµ р#ъ рИю љµ"#СЌйАh°Jiхчиы(– °ччѓь €чRщ љµF °‘й#ччҐь£h "h°ччЬьгh "h°ччЦь#i "h!°ччРьci "h$°ччКь љ µ€ч*щ љ#HpG5ЯиЗABTABT init error !ABT %s ID: 0x%08xABT %s ADDR0: 0x%08xABT %s ADDR1: 0x%08xABT %s HREADY: 0x%08xABT %s Slaves: %dм{лЗшµ$F F'FhFФччgэША±Бi алƒ“i≤B—(`лƒjh` шљd°BрЎ/`Oр€0o`шљ-йрGИFВF\–йhЙ≥ЇсW–™h*TўЄсQ–AтVалF@x+ш— #ал@лƒ YіB–@ВBхЎВB8–л@"лјQшРєс–"лј$X&а'алј»ш љирЗPFрТйFVш$йhл@Qш0рИйЗB—PFрДйVш$FиhлAPш1PFрй(±dLEёџOр€0ўзVш$йhл@ќз|µ%ДJ FiFХХ€чЛ€±%`he`|љ®чч“ьШ `ШАh`` |љ-йшCFh' F&Oр јуOр(X–№(–('–(— а(<–(X–(&–Oр€0љишГ#hFFЧнч$юЩ®h)DD†`р&й`` `Oа#сFнчю ƒйEаш ƒшР@ƒй=а#hFFЧнчюиhAШ@D†`ш @ƒйР+а#hFFЧнчпэ(iAШD†`Pш @ƒйАа#hFFЧнчЁэШƒшАƒй` а#hFFЧнч—эЩhi)DD†` ƒй Ъз-йюOБFИF'УFЧЪFўй`4ґ≥ђ≥ ©€ч∆ю±'"F#hFFнчЃэЩ ш∞с€/–$Oр!р@_к –rh0DDркйH± аЧєўш'1jD№зXE—%M±-÷—"F1FPF€ч;€љиюПаЏшју(–№(–(–(— а( –(–(–Oр€0@ґ—Oр€0бз$ а xАј≤DБ–рјсD лз8пкЗ0µ°∞F ©@т’рlь5M(`0± Ш∞хА_– !∞0љ ыз ,” чзА!hFр`й,H=!рч\щkFOрH±Aа'IЎнчњэ&H=!рчNщ сKOр±Aа!IFнч∞э H=!рч?щЂOр ±AаIFнчҐэ(h !лƒіысрыB02Нш ∞ыстыА"iF00Нш: НшНш_Fр,и ™зpµ$@т’е)Fргщ±)Fр й$ FpљИuлЗћлЗфлЗлЗIK`јй 0ччњpµFMF(h@(`(—рй ```!†`с ччЎ€(h@(`—љиp@ркЄpљ-йрA8NF%ИF0h@0`(—раи`h'0єс AFчч$€џ†hј–g`0h@0`—р и(FљирБOр€1Ўз-йрA$NF F0h@0`(—рЇи`hШє†hOрЅс –")Fчч'€(№g`а")Fg`ччD€0h@0`—рЬи –зpµMF(h@(`(—рТи ``(h@(`—рИи pљHOр€1h@0Фз@0єзHh@0яз€€xлЗ|лЗIh@`—рnиHhс∞—йИGччпэpµс\‘йD р†mec ``mаc§с\ј–0 а ƒшЬ,=,!(Fр<и H(bƒш†PpљШ0рЄ j†0*–Ш1рЄЊ—ш†рЄЊxлЗ|лЗµ+йЗxGјF–†б†г€]й Эшб€/б,0Mвј†бр√и0Ае–†б†г€]й Эш,0Mвј†бр√и0Аер—и а†б,–Бв€/бxGјF€/б€/б€/б€/б€/б€/б€/бµЖ∞F©†чч6ы± ∞љ!kF®"Fчч.ыpєШ`±HЩ@ш4лƒ IA`°сx±а ез I hJ`!p №з/dev/xpu2РжлЗФuлЗ–ФшµэI$%F F@тџЛhалј@YX D3ш0±B–СBф—фI1ш0РB – Рс°F чч≠ш ючPэ FшљµкL< h(—рьъ `љµеL`i(—нч€€`aљµаL i@– iљнчт€ aљpµџMиh@—€че€F€чл€!FнчЎ€и`pљpµF F€чм€€чћ€–N,– @тџ≤hа-—рhBт–а@2ш0ЩB–°Bш—Й≤°B—!лјX®B– pљ F€чГ€сhDpљљJ*–(ЎЋз pG"рЛЄ-йшC&АF( FF–®сk(”&!аА!@F€чв€ —µ°FBFР чч'ш юч ь h=@(C `рzи Tш 9@–©B–& @ (ф”0FљишГµЭL h@—аh@– €ч6€бhD `љ8µЦL (B–€чo€€чO€ €ч&€бhD``€ча€ €ч€бhD†a hh%( –#Х FЭ°цчЁ€ ючАьр6ъ €ч€бh"D!р'ър*и wЫLЩJ!F€чД€( —#"F ХЦ°цчљ€љи8@ юч^Љ8љ-йшO'F( FРF ЎoI# FP1ЧцчІ€ ючJьhN0є€чЯ€іхн ў#"F ЧР°цчХ€ юч8ьн %ррещphлўш "ТKOр )Oр%–ЄсC–яhљBQЎЄс@–ЩhІллл √й«ЗX”шјGк ЗPлБP лWFQOр…ш@/—рh/а лAX©B —лAXЙл@X–YhасhF/а& рЭщ#"F Чp°цч<€ ючяы а1hПhєз2hQhл ¬шјІлЧ`√зАXYhF а& р}щ +Fn°:FФцч€ ючњырtп рnщ0FљишП8µM$©hаd,Ў1ш4 ВBш—1ш4†хАqџ9 —I FFШ1Р цчцю ючЩы®h!лƒ@X8љ(Ў pG"/зpµ F± ±Б–Oр€0pљ>M!F(`р8щм`,ah` ®`pљvлЗHпкЗInvalid memory type %dsmem_version_set: Unable to allocate version array: type %dCan't initialize heap info€€ smem_init: major version (%d) does not match all procs!Invalid SMEM memory type, %d, requested.цлЗInvalid SMEM buffer size requested for memory %d.Out of shared memory have %d requested %d for %d-йшC(FFЎ€ч€F0` FљишC†еKO8є€чюіхнOр ў#"Fѓт– ЌшАцч ю ючђъ р\шxhл hOр ) –%∆шА рOшU≥yh лX∞±$а!л@X л0`xhAXКOрл@X–-IIhащhEязнч>эщh©BDЎЕB“1h)DБB”%∆шА(FµеpG H8AhєIЙiA`!@h`pGµ€ч.эHјhљµ€ч£эHhљ-йрAOFFшh іхнЎ ры€xh!лEP!лFPл!`8hAh1A`Бh9Б`ринљирA рбњљирБvлЗцлЗ-й€OГ∞OрР.–%he≥Ш@h((—Шh(≥*#—Ш≥(x( –hx(!–( –Ш@h—аШ@h@—hx(—>Hh"≤лo—hф–’шО(ў ∞љирП ъзнчЧэШЮ–шАphР÷ш†БFЎш∞Рjx*—ЎшС+IIh∞ысчы±* — Fрщ(„—QF FрFш(Р–— Еш{ Еш|*аH@hFOє!Еш|qh±ыртыєF≈ш~@≈шЖ@(Ft`»ш@Ўш0rh1hрДшРpєҐD∆ш†£D»ш∞©л ∆шР Еш{““ЩШH`ЩШ hH`нч4эШСз†г(vлЗ-йрO F`IЕ∞—ш†Ќш†Oр Є±hѓ±§±!СС FСС„шО„шТ` *“ј—„шw :±–(”$Фа¬са„шК – а – а – а – арC– аoу– а Ншсg сЛFрvкЭш с„шКOр р[Oкгxш Z@к `FHс€1 CИFOк,с—„шО±А8Vк–@!а!DЭш"CiFНшXFрDкVк4–Oцp0uс“0 @к` pfp(а€ p-“ю `p0@к †p0 @к@аp0 @к` qfqа`p(†p( аp( q0@к eq†q0 @к@аq0 @к` rfrLFШPE–фчйш∞ FљирПилЗ'IpµЖ∞ hХ&`±hT± РРРР‘шw :±–(”$0а¬са‘шК– а– а– а– арC– аoу – а Ншсg срјй"iFсGрЇй4FШ®B–фчЧш∞ FpљилЗµ$нчьIИh±@И`—нчЎыFнчь Fљ(vлЗ-йрGF–±–шАЄс–•±hh(—(hx±* —a±Шш *–*–а'а '@hЄB“ љирЗhLhяшHРўш ФB ў#1F@Fр√ъXєўш$Dр—а#"F1F@Fрґъ(hсc:FhнчЬы(Џ—!i`)hO`’з(vлЗ-йрA& F)F–-—''`!нчxы hА±`ё! hнчqы hh[±ё"F!нч{ы-–-– љирБнчhы'`шз h-h–-–$ас!шIfIAfIБfIЅfIgас!ш If IAf IБf IЅf Ig IAg IБg IЅg0FЋзgE#пЌЂЙШЇ№ю2Tv√“брj жgїgЃЕы ± &∞0FљирГ&щз-йрO≠цЉ-АF(H FFЁшрЇЁшфzhЌш8 ЌшЄ ! х$`рл ! х(`рл ! х&`р л Ќші &Oр6 ЄсOр\ Ќш® Ќшђ Ќш∞ Ќш< –,±%±±кiР#—а@т†0;F*F!FР!а€€+ 0!0eHЖ`  010 8йЗ€їкЗилЗ‘шмВB –@т∞0Р‘шм#@Fр™ы$Мбїс—&’й # х$bНи’й#с1F€чю–@т≈0Rа®h.8`иhx` –. –"Ї` * ўF@т”0 "Р!–з"уз "сз х$aс ржй Ќш† Ќш§ х.` ц®#»88ј00» √; х*bУF…yБк T@(ц”.Oр х(g–.– 1F х$b#Ќй ЌйyсZF€ч э –@тт0РЂh@F*hр8ы$б дз вз ZF х+cЌш† Ќш§ …yБк T@(ч”. х&b–.– Ч©#°и х*b1Fс€чЧэ–@т @Ћз мз кз‘шрЙ±‘шм ИИB ў≤х Ў‘шш0±‘шф0«ЗBў+ў#@т!@!FРаЖ®мч®ы–см@т,@Р9F‘й2 а‘й=€чь`±сф@т9@Р9F‘й2@Fрћъ$Ѓа‘й=! хД`мчЕы –сф@тE@Р‘й2@FрЄъ$Ъа’й х≈`мчqы–@тP@Р’й#мз.–.–" х&a х`мч^ы – #@т\@ х&bРЎз"оз "мз®@т!р¶йЖЂ хДb х≈a® рsю–#@тg@FРњз.–.– р©XхАp –# Щ@тv@FР&а пз нз. –. – "лР‘шмТлРFа уз сзQш"@d—RВBш”Ёшъ $ аQш ыJСB–@тСBТFрз.–.–"© х`очNщP±#@т†@ !FРёз"рз "оз$ЁшЄЁш8 БB–тч#€ цЉ- FЂдшµFFOр–@!Fр йЦшhр± " Fс8рlис !F8Fрuъ–@т{P:F#Р5а#@т]PFFР0Fрдщ%.а!F8Fр ъа–@тkPззс(8Fр÷щ–@тГPЁзс,р¬щ–@тЛP‘зс48Fс<р^ъH±@тЦPР‘й !гk0Fріщ%(Fшљpµ F–@т& F1Fр¬и≤H bЁ±(hШ±hhИ±®hx±(ih±hiX±иhH±®i8±")F риа pљ1F Fр¶и pљ§H``§H†`§Hа`§H a§H`a§H†a§Hаa ДшxҐH ` pљрµ≠тMFFFH±ЭJFhСB–#@т`Р)а тMрљф±н± hЎ±ahDБBў†h®±бhDБBў ix±aiBВB ў±хXOЎ†i0±бiBВBў±х ў#@т,`!FР0Fр5щ—зP!FрLи®@т|1рFи(!ц®рBи@!ж®р>иpH(`Цшx±Цшh8±ж™9F0F€ч€(≤—а@"с8ж®р~пу™  ™Ни ‘йцЂрш –@тO`Р‘й#0Fрщш Хз#j шШ–∞лO–Щ≤ИB–@тf`аШB –@тq`РЁйш0Fраш |зщШ!cjјЙA “@т~`РЁйш0Fр–ш lзу®Р‘йЂ0F€чІы(Ћ—ж™0F©€ч=ь(ƒ—рШРєЁйъЁйо2X@Q@C –@тЬ`РъЩFоЪ0Fр™ш FзсьШ"FЌйЁйшЌйЁйоЌй©0F€чЖь(Ы—Ёйш≈йЁйо≈й!©aцЩ"Qк –БрC –БрC–#@т¬`FР аБрC —сЫчЪУB –@тѕ`F#Р0Fрgш з©a"юЩQк –БрC–#@те`FР аБрC!—сЫ€ЪУB–@тт`F#Р0FрEш бж€€P=йЗI7йЗ 8йЗI иЗщ9йЗo иЗq7йЗBSBP©dЋжµ(±@т!рBп љ љіµ`±@"F80©рМо!Дшx Љ]шы ъзh±ѓтC1`ѓтѕ!Б`ѓтGA`ѓт;Ѕ` pG pGЁшј(–јш$ј(0јpGpµ FК∞Oр–,±"© р∞щШїа ∞pљ"iF® р¶щHї"©® р†щїШ (*—ЩFцHнчшю(≥Ш (!—FтHЩ 0нчою±Ш (–а аFмHЩ0нчбю ±Ш (– аа аFеHЩ0нч”юH± `©0F р\щ±%(Fєз фзpµ FЖ∞Oр–,±сь€чЭ€Єєа ∞pљ‘шь(” %!абiИB —"iF0F рFщ є©hF р®щ±%аЁйа@I± x*щ–!b∞х†bў „зƒй@(F”з-йрC_к FЗ∞Oр–,±"iF рщИїа ∞љирГШ&'Oр€9@±"hF© р щ@±( –,ашTfpDшЬ!а©® рЖщРєаНш`"ДшTp©ЭшДшUhF рош ±( –(– аШ( —Шx eаƒшPРiF@F рћш±%(Fљз-йчOХHЦ∞ТFhРР РРШИ±Шx±Їс– ! йШ"iF рЉш ± РCб$IбШЇсЩA`ШЩЅ`q–Ёш∞$Юб,$”с ГE”zI "0F71нчээА≥`ГE”uI"0FJ9нчуэ8≥rI"0FD9нчмэ(~–nI"0F>9нчдэ(t– ГE”hI"0FO9нчўэ(j–†ГE”cI"0F89нчќэ(t–ƒаа-аOр < »FѓMF РШ•с\xUFA8(Ў°с7а°с0 (ЎxUрxU Ъ!ралл ШAл Рm-№” йШХајаOр < »FѓMF РШ•с\xUFA8(Ў°с7а°с0 (ЎxUрxU Ъ!р≤лл ШAл Рm-№” йШgаа.аZаOр < »FѓMF РШ•с\xUFA8(Ў°с7аLа°с0 (ЎxUрxU Ъ!рВлл ШAл Рm-џ” йШ6аOр < »FѓMF РШ•с\xUFA8(Ў°с7а°с0 (ЎxUрxU Ъ!рTлл ШAл Рm-№” йШ а аЙЉкЗилЗ  шvd£E?цшЃ%а"hF© рЪ€(ф№Ѓ"©® рТ€(ц— Ш" ©@ Р® рИ€(м—" ©® рБ€(е—©® рl€(я—Ш(÷—ШИ±Щ H`Щ»`Щ`ЬЩШБB–тч±ъ∞ FљирПШiF рO€(¬— ШкзюµFOр–± 0`а юљ§"iF F рI€±(”% а"1FhF€чhюFа†h(л—(Fюљpµ FЖ∞Oр–,±"© р,€@єdа —е"iF® р#€±%oаШ(A—ЩFчHнчyь±Ш(–7а h@рIаFрHЩ0нчjь±Ш(–(а h@р:аFйHЩ0нч[ь±Ш(–а h@р+аFбHЩ0нчLь±Ш(– а h@раFЏHЩ 0нч=ь±Ш (– а h@р аF“HЩ_0нч.ь±Ш (—а h@р `Ш(Ш—}єаF»HЩU0нчь(т—нз©0F р£ю(Н—(FWе0µ% FЗ∞0±,±"© р§юРєа ∞0љ®iF р€HєШ8±Шx@ `Ш(– а% аШсРx’ h@р `(Fязpµ$FЖ∞ Fbї]≥ iF"(p0F рsюїА"hF) рmю(“°"hF© рfю±(” ес®€ч€`єВ"hFс  рUю(“iF0F р@ю±$ Fфдрµ$ FУ∞Ш±Х±с±' ©ш)|пpпuпwЕш'p•с± р6ю(“±ва ∞рљ&ЕшД`" © ® р'ю а"© ® р!ю±$ќа"iF® рю(ц—"©® рю`±Нш0p"©® р ю(з—Ш(–Яа ©® рЙю(Ё—нзFgHЩ98нчXы±Ш(–НаЭш0 сИ®€чj€+аF^HЩ68нчEы±Ш(–zаЭш0±$"сЄ® р’э(≤“Еші`oаFQHЩ38нч+ы±Ш( –`асƒЕш»`®€ч€(Ы—ZаFFHЩ$8нчы±Ш(–KасћЕш–`®€чqюйзF=HЩ08нчы±Ш( –8аиm»їЭш0(?фvѓс\®€ч7ю—зF1HЩ-8нчлъ±Ш(– асД®€чVьјзF(HЩ*8нчЏъ∞±Ш(—F#HЩ'8нч–ъ`±Ш(—FHЩ!8нч∆ъ±Эш0Ґз€з|є© ® рLэ(Ы— Ш(ф/ѓ © ® рBэ(С— Fз>µ$ FiF рGэ(“(є)FhF рІэ±$ F>љpµ FТ∞Oр –M±"© р0э(s—аXЉкЗ ∞pљ"©® р"э(e—"iF® рэ(—"©® рэ(x—©® р€ь(r— (`Ш (h—ЩFщHнчcъ(a—"iF® рыь(_— ©hF р\эјї Ш Р ШРЁй D ЩИB>”ЩИB;Ў" Р© ® рбь(ї"iF® рџьшєШа±аШ@РШ@Р–Шx(ф–Ш∞хЎШ"®`iFШh`® рњьєШ±аааШ@РШ@Р–Шx(ф–Ш(ў зШ©(aШи` ® рТь0є (`©0F рЛь±$ Flз-йюC FOр–-±"iF рКьHїа љиюГс@hF"ИF р~ьс<±(–,а"а"AFhF рqьАє"1F@F рэPєсPhF"F рcьL5±(–а"а"1FhF рWьPє")F0F рхь єiF8F р=ь±$ Fјз>µ% FP±L±†"iF р?ь0± `%(F>љ >љ"hF! р2ь(у—аh(р—`hx `(лЎлз-йрAFЖ∞ШFOр–±ОBў ∞љирБ™ р∆ы(i—ШOфА7А≈ш№ЄBa“ЩD≈шдЩИBy”ЄBw“"iF® рьы(p—)FhF€чЃ€(j—"hFс роы(b—сhF€ч+ъиї"hFс,€ч ы∞ї)FhF€чE€Иїс\BFhF€чэъPїсиhF€чТю ї’ши–ї!ЕшДI≈ш‘(h∞±Б"hFсl€чoюРєВ"hFсx€чhюXє(h(—£")FhF€чaэє®iFаа рЦы–єШ∞B”’ш№АИB”@)FЄB≈ша “®€ч.ъ@єиi(” $а® рlы±$ Fkз0±)± h√hЪB––pG pGChHhFнчЎЄpµ F#–≥с,с\€чж€(—ХшИX≥’шФp±ФшіY±‘шј РB —‘шЄ’шМнчЄш(—’ш∞X±ҐiРB– pљ!i’ш®нч©ш(ч—’шШ8±сШс,€чЈ€(м—Фш»0±‘шƒ‘Oр€0pљ pљ"( –K –РшД03±–шƒB–"FpG pGюµFFOр– ±ІB“ юљАЉкЗjF рњъАєШOфА1ИB “H±ЪD0`ИB“ D†B”ЄBў%(Fдз-йшCFF РFFFРа(hjF9F€чЋ€±& а)hШDИBш”ЄB(`хЎdDEм”0FљишГшµ$FFР(±%±ЖB”vHБBў шљ (`"1FhF€чЋ€ ± ,т–,`шљdд≤,рўлз-й€OБ∞F$ЫF'Ёш8†=FЁш@АШЧИ±Ж±y±їс –л БEu”Їс –jF€ч¬€m—а ∞љирПYHБBeЎаШАEN“ЄсKЎ∆шxSЇс —Ш†лЄB—ШIF¬≤®€чБ€L—÷шx[FлАл@IFлјШ*F€чBю<—ЩГF’шдDИB”HEў$1аР÷шx@∆шx™n®kРB—)n(kмчѓ€±/¬”÷шx(з–Їс—Ш®л@АEЎ$а¬≤IF®€ч>€ —аx€)–$@РШHEц” FСз-йрAFOр–&±’шx±$2а €е1hб±∞h†B —лД"FлDлј€ч№юh±t±лДлDлј–ш‘A–@†BЏ'а’шx`БB ўлДлDлјхФp€чtю(м—d’шx†B Ў8F»ео€э€Oфі –шР…–PшР@цюr@` pG pGOр–OфЄ"Тh `pG pGF I±B±OфЉ#лВk¬уА `pG pG"µY±P±OфЉ#лА$kƒу@ ` h± а љ(–(—Ўjју `Fљ-й€AOрF ЧЧЧЧ–.±©ркш@—а%=аШ ≥OфЄ"ЧЩлЅPш®?У@h рю@РЅлЅ D`љш БАЭшБqШ@Р(ж”“ш»Раa€чГ€(–аOфЉ лЖkрР (” ∞љирБ_I "л@ Fр≤ндз%(Fсз8µOрТ–±±®±OфЉ#џo%#рpCƒй5ƒй#jFр`ш(—‘йЫCƒй8љ 8љшµ FFOрЧ(–>≥5≥(≥iFрwш(—Щ≥OфЄ! kЅуГAI)`)– Fкчш€(—!h…≤р)–!1`!hЙ±Бк“C –'` /`шљ шљ7`'`/`шљр!`*hСBп“шљШ±ѓтЅБ`ѓтmA`ѓтяaѓтЌЅ`ѓтЈ`ѓтЭAa pG pGшµFFOрХ–†±Ю±OфЉ'лЖ kЅу!i±I "мчюШ±iF0F€чтю—а% аOфА0` аШ ± F€чўюFа„шА `(Fшљ"Q±H±OфЉ#лАkју`FpG pGЋЉкЗо€/бQм€/бо€/бо€/б2о€/бо€/б3о€/бQм€/б.Qм€/б>Qм€/бNQм€/бо€/бо€/бо€/бо€/б2о€/бо€/б3о€/б.Aм€/б>Aм€/бNAм€/б0µЕ∞%€+ХХХХХНш –"Нш ™Нш0ТjF рFщ±Oр€5∞(F0љ€#бзoрpGрµЛ∞F'hF!рhн ¶N•IлDРРРС Р€ Ќш–Ншш$ (– (—!Нш ©С !Нш#©F р5ш ±Oр€7 ∞8FрљлДih!±*zш$ рЁшjx!ш$ рKщjx!ш$ рEщжзoрpGµМ∞F,!®р н! F рјщ(– "FА°уч6ю ∞љ! F™ р щЪ Е°уч*юЪ З°уч%ю Ёй2И°учю Ёй#Л°учю Ёй#О°учю ШТ°Р Ёй #уч ю! F рЊщѕз-йрGФLБFh'X±УM(–(–(– Р°учфэ>а У°учпэЩHа Ш°учйэ.i&@1–яшPБс0F€чю_кp–3F*hFйчƒь(h#FВ®йчљь €ч[юK–"ЌшР#Х©Ќй2 "3FЌй! BF!Ќй  .а[%u]Alloc 0x%x, size 0x%x [%u]Free 0x%xFailBegin Size 0x%xFailEnd 0цлЗ∆vлЗилЗ€чYю–$(F "!кчнш!2F@Fкчиш@т!@F€чЋэ ЩєB–рчxю F ∞љирЗ€з$уз-йрGFщHО∞ИFh РБF& Ц%≤F7FЦ–(h®±бhЩ±aiЙ±ihрошx±‘йрйшP±‘йрдш(±hh8( —а%\а %Zа iҐiсКB”∞хoў%Oа @т_!€чbэ7– ™F(F€ч6€A—! ®рч{эH≥%i@тu!(F€чNэ#–‘й#)Fйч€ы с ai"ТЂђи  © Ъ ЦР Ќй!!+F:F€чѕэ –!‘йкчdша%а%а`i#Щ ™DFйч÷ыЩ1»ш`iмчдпЄс–»шP"! ®кчFшN± "0F!кч@ш@тР!0F€ч#э'±@тФ!8F€чэ ЪJE–рч э∞(FPз-йрGF§HМ∞Fh РВF РFБF i%†с!–(hш±бhй±aiў±@цРEЎihр>ш®±‘йр9шА±‘йр4шX± i°i8БB”hh8(–%Cа%Aа%?а @тЏ!€чЈь2–™F(F€чЛю1—@тз!@F€ч©ь_к #–‘й#AFйчYыбh# ®лFйчQы≠`i#"с≈ ©Ъ ЦР Ќй!!CFJF€ч"э—а%аєh`iмчHп±}`"! ®йчЃ€N±Ъ!0Fйч®€@т€!0F€чЛь_к –@т1€чДь ЪRE–рч1э(FЈж-йрG_к FFFOрN–-ь–.ъ–/ш–FFр±€(т–1FPFрЂ€(<–Ъш ! Oр *–*Y–*}–*.—(а /Oр)”(p .h`“i`а @тG1€ч"ь_к– !3FRFйч“ъс)F€чэ–l`_кl` –@т[1{а≈шРхз.— /–$tа*pБF@тs1h` €чъы_к–!3FRFйч™ъс@F€чeэ–≈шРа$Xа!i`"@F!йч€@тО1Kа /OрJ”"*p.h`“i`а @т¶1€чћы_к–!3FRFйч|ъ)F@F€ч"ю–l`_кl`+–@тї1&аа$≈шРуз /!”"*p.h`“i`аилЗ @т“1€ч°ы_к–!3FRFйчQъ)F@F€ч°ю–l`@те1@F€чЃы1FPFмчVо9F(FмчRо,±Oр€0Ёе≈шРрз Ўе0µ“шR$≠ `ЭBў ` 0љ©а лГSш<Ї@ш$0dМBф” 0љ-й€G%F ИF Я©СFFР(FцчзщxїШ!;F2Fцчъ@їШ#!т4Bцчъї&Ш!3F™Нш`цчющ∞єШ#!Нш `™цчхщhє@т!ƒшTтT`РШтDCJFAFцчСъЩ±FцчЯщє%∞(Ftе-й€OFщH≠тіmСFhЌш∞ВF(! х–`ржну†&$7F–й∞FЌш®ЌшђЁшЄ®±_к –@тxkўE?”FЁшЄрWюP±’йБрC3– 1—а$єа$Ја(h! с@тxbј(`®hНшђ®h @к`НшЂ®h @к@Нш™®h@к Нш©иhНш®@Fйчцэиh р€—(h@т+XEў $Иа х—`кчъШє тМ`кч€щpє х“`кчъщHє тФ`кчхщ є х”`кчрщ±$mа)h# х’b х–` рРъ(c— €чвъJ–µHЙ©Р[F(i]FЁшР&Р®€ч€юP—ЁшИ& хЗaК®+F€чхюF— тL@ЁшМ& т\a+FГF€чйю:—! т<@рчДъX±Ёш\& %®3FYFХ€чую)—а$&а €ч•ъ – хћ`;F©@тXbЌйP йч щ±$а$аЁшј@тxcBFIF`ЁшЄйчзш&ЁшЄ7FIFмчфмЁшИ@т %8±!*FйчXэЁшИкчЗщЁшМ8±!*FйчMэЁшМкч|щЁшР8±!*FйчBэЁшРкчqщЁшФ8±!*Fйч7эЁшФкчfщЁшШ8±!*Fйч,эЁшШкч[щ&± "0F!йч"э'± "8F!йчэ_к–!@тxbйчэЁш∞&RE–рч®ъ тƒm FљирП-йьGF@тxi%.F/F‘ш8(F)–)u—‘ш@т#ЩBoЎ)m–‘ш )iЎ)g–‘ш4$т4HЪBaЎк≥т"К\* —#Iа"@Тш"єБBшЎk≥‘ш”Ш"!Oр h(“яирч∞[Й.$са$паЄс щ”i`(.ЙF)`n”( @цючЙэh–Ъ(!3Fич:ьyhЂс@тxb€чbъ—Щ≈шР≈й°@ц&∆аа@тDD¶B”Єс“$њаЙF@ц>≈й Fюч^э –Ъ3F£F!Fичь8F€чГы–≈шРа$•а≈ш†!ZF8Fйч~ш@цYШаЄс ”©`.(`“™`Та @цtюч4э–Ъ!3Fичеы„йЂНисxh…€чґь–а7а]а≈ш∞sаЩ≈й@цНjаЄсj”.ЙF≈й%” @цІючэE–Ъ!3FичЄы≈шР„йЌйсxh…€чЌэ—≈ш†@цЅCаЄсC” .≈й“j`=а @цЎючяь_к –Ъ !3FичПы @цаюч“ь–Щш ;FўшJFаBKMKилЗ€чSю– а≈ш∞а≈ш∞а#:FAF(F«ш†ичiы@цхHFючЌь'±@цц8Fюч«ьШ1FлчnпAF(Fлчjп±Oр€0 ∞ћж ыз FFD1HµRhрчtъ(– љ-й€A%F F©FР(FхчыXїШ!;F2Fхч;ы їШ#!т4Bхч3ыає&Ш!3F™Нш`хч)ыРєШ#!Нш `™хч ыHєтT`РтDCFhШхчьЩ±Fхчќъє%∞(FљирБµ–‘ш!В Fичu€ ƒш F@тKaљи@ючSЉљРлЗPг Ѕ †  Б †  гQо†г†1о€/бpµ FF Ёй6D oу –oу хАP@В ¶±,–,–,–,—аCрpаCр0аCрPаCра,–,–,—аCр`аCр аCр@(Fмчщ± °счЌ€учТнpљQSEE Map Region Failed-й€OЕ∞F$ ЩсuФФНшўцLасtAE“уL4 "Fт°сч£€б•≥ШШ≥ !ичы (2“ШтчТэ6 ,–0Fтч~эX≥хЄzхјy)–єс&–еHяшШ≥ с†hБiј0Р FкARш 0ЛB— лј$§Fёш0tк—÷L§√заа”L4Њз“L4їз–L4ЄзѕL4µз\Dк ќш0а@(Ў”( —$#&FFRш p«≥@(щ”(;–Щ@FЅшА!р э5–сTЩ*F8FХр&нЩ "0Fич|ъЈMн (ЏЩ "с ичrъ (џ *F±°сч €!BF0FичTюAF0Fрыь(F ∞љирП€зBш  лјЅй6Ѕз§L 4_зҐLd\зс@4e!Fпч$ы(–ЬL Ь°4"Fсчхю аШ©хчДщ( ЏХLF 48а!BF0FичюRаШ#!RFхчҐщНL 4(ЏР°F"F&аШ#!™хчФщ(ЏН°F"FаШ#!*FхчИщ(ЏЛ°F"Fа®;FРFЁйхч%ъ( ЏxLF 4Ж°"F счђюШхч+щљзШхч'щЪ !KF∞T0T2Ќй 1Fичzщ`±jL j° 4"FсчСюAF0Fрqь FtзШBF1FрvмAF0Fрfь iз-й€OЙ∞ИF' >Ft*єFЧЧНшЎWLdFаШҐсt®B“SL4>а!FТр+ь5–ЪAFрLмяш0°сTР Ш с Р≥ ! Fичґщ (-“ FтчEьъАшЄс%–с !ГFич¶щ ( “XFтч5ьъАъЇс–µ FF©кчоH±л"#F°Р рчъOр€0>љ")F F€чЩ€(ч—Ш")F€чТ€(р—!@ц#*FЌйЩ Fючжщ >љфлЗшлЗьлЗмлЗрлЗƒнлЗ{(%d), %x, %x, %x}{(%d), %x, %x}{%d}илЗдлЗ{(%d), %x}{(%d) %x}|µ-LF‘йфч3ь%Hт#Ќй‘йFюч†щe`•`е`%p5`|љшµFFфчлыN0x( –'Ч!h;F‘й юччэ ±(`шљoр%ъзHIJhp` h±`hJф``DP`кчК€HIhHh†Gкч—€ (`7pшљ0і FFFЫ(– (— F0Љ©з F0ЉЊз0ЉpG№wлЗ»wлЗ‘wлЗЎwлЗРчлЗлЗлЗ-йюCFщHИFhСЙF!С FFСAFЭшP"F8FрtорE@Эшdh@НшЭшНшЭшНшЭшНшЭшh@НшЭш8,НшНшP÷џ jF\ъсC@щ’ЪHкdJE–нчвэ FљиюГF *“яир )— pG)ы–pG)ш–pG)х–pG)т–pG)ь–)ъ–)ш–)ц–)з—pG-й€_Oр√OГFFТFЅFEFЌш АcалЕлАXF!h€ч«€(X– i(U—†hєаh(P– hќ"ґ°+FР рчЅш«шР!«шРЂ`hЃJтч щША±F„йНилЕ÷"лА∞°Ch рч¶ш )а£h8h3к—аhyhИC"–;`г"аhЮ°x`Р рчТш`h"ЩIЂтчєшШИ±F„йНилЕи"лАЪ°Ch рч{ш АFаmUEЩ”∞@FљирЯ-йрOП∞F$ЙF(!%F®†F'F ФрBпяш\≤!БJ ЂXFтч≠шI Ш@±—йС[FЌй @таHhКFј’OрvJ!XF ЂтчХш ШQFP±Jh[FЏшСЌй @т&v°Iаhј’'Єс –G±#@т2 {°рч&ш $ЮаXк – CF|°@т8Чрчш$Са@т@@тE;а +Fn°BFрч шлЕлА8h(-—8i(*— +Ff°ZFпчь€xh!NJ ЂтчHш Шh±РлЕe°@тJлАCh пчи€$`аЏшєЏш@± +FU°@тTпчў€$QаmMEЅ”,L—(!®рђо(!®нчры((F– @тfH°пчЅ€$9а'=F4алЕлАЎш(+—Ўш@ї +F>°@тrпч™€© ЂQш7 л« ш "Ih шЎшIсч≈€ Шh±РлЕ6°@тАлАCh пчК€ $аmME»”("!®жчєю∞ FљирП-йрGF HМ∞СFЪFh РАF+h,H&4FГB—hh*JРBS–hh °@т¶Р пч`€$ аилЗмwлЗFP:Info(0x%8X),(0x%8X),(0x%8X) FP:(0x%8X),(0x%8X),(0x%8X),(0x%8X),(0x%8X) АFP:Info(0x%8X),(0x%8X) FP:(0x%8X),(0x%8X),(0x%8X)  Qr;)o*Ђh+– @тѓ¬°пч €$uалhс0ИBў@тЄУ FѓтPа +–<+“@тЋ#а@т¬ѓтА пчпю$,а пчкю$Tа(kс0(–≠°F @т‘пч№ю$Fа∞h±∞хАoўF@тя§°взqhлА±лВ—с<УB–ЌйҐ°@тм“зпh Ђ)F7Р :FучИыP±+F@тыѓтм Чпчђю $аи "©ичОэ@± ;FМ°@т"пчЭю $а,–L5…шP±h ш ЪBE–нчaы ∞ FљирЗрµЗ∞FНM НO FРЂР*FРF(`h`8Fсч юШp±’йС;FЌй @т5"ѓтЉ пчiю$ЂаhhА’ $¶а.±$±§с0∞хъo ў3F@т@"ѓт† ФпчRю$Фа жчщЂ!F™0F€чЋюF жчщ,Ў—@тU"ѓтиЫ пч9ю очЈщ очіщ оч±щрїэFbHрчTш очљщ очЇщ очЈщ-c— Ёй€ч2э–#@тw"Ф аЁй€чЮэ – , –, –#@тА"ФѓтD! пчю/а Ёй€чэ–#@тЗ"Фнз Ёй€чэ–#@тО"Фбз Ёй€чъь–#@тХ"Ф’з Ёй€чоь–#@тЬ"Ф…з очMщ очJщ очGщрBэ очWщ очTщ очQщ∞ Fрљшµ F@ц– `љ±$Hк)FhнчП€а±!(FйчРм1F(F€ч€1F `(FрXм hшљ шљ+F@т≈"ѓт(1 ЦпчОэ `шљoршљFP:(0x%8X),(0x%8X) FP:(0x%8X),(0x%8X),(0x%8X),(0x%8X) мwлЗА °РлЗюµ F)– очёш очџш очЎш оч’ш!F0FрњэF очвш очяш оч№ш очўшM±‘йЉ"3FНи# п°пч8э(Fюљ™" ш°пч1э юљюµ F– оч©ш оч¶ш оч£ш оч†шhFрњэШ(щ–їа " й°пчэ юљ)h0Fр®э—hFр™эШ(щ–Xєih0рЫэFhFрЮэШ(щ–±$ очЙш очЖш очГш очАшL±’й№"3FНи ’°пчяь Fюљ0µЙ∞OрРР – hP±©€чl€ – ∞0љо"√°аф"’° пч√ьузаh(±Ъch@@ЪB —"i*±Ы•h@@ЂB—%а%Нє£h"iЌйЌй!ЁйbhНи I #h@тпчЬь(Fћз0µЙ∞OрРР– hH±©€ч)€`± Љз£°@таі°@т! пчАьтзбh±Ъ B–"i±ЫB–%а%Хє£h"iЌй ЌйЁйbhНиЂI #h@т2\1пч^ь(FОз-йрAOрFF F— @тDЖ°пчMь љирБdлБ€чh€(ц–!в±Aт“лДUш! *о—лзрµЕ∞$hF!рлfСM7 лƒРhFЌйg€чМ€(–dд≤,с”∞рљpµ#– ```рnш0≥%рщ ≥ Eк@рUщ≥ "#EкА}H€чІ€»± Eкј€ч≈€®±xH"#x8а @тJ"X°пчсыoрpљ%„з ўз Ёз дзmH"#†8€чД€∞±jH"#»8€ч}€x± "EкdH#(0€чs€8± Eк@ ` pљ оз цзpµ Foр–-”YHв!FhнчЬэoр@±)F FнчЪю± Fљиp@Лз0Fpљ-йрG$яш<Б&'FЖ∞Oр ҐFhF!рxклДР§±HFЌшРЌш РРРhF€чЃю+–dд≤іBзў$ЅF АFаHFЌш†Ќш †йз!hFрTк лДРЬ±@FЌшАЌш АРРhF€чќю(Ff–dд≤іBжў/`–bаXаaаSEC read err (%u):(0x%X),(0x%X),(0x%X) - (0x%X) SEC (%u): null pointer SEC write err (%u):(0x%X),(0x%X),(0x%X) - (0x%X) SEC (%u): invalid address РскЗ®јдxлЗРлЗ0а@FЌш†Ќш †Рз€чƒюF(F∞љирЗ-йрC5IЗ∞Oр 2LOр@ти6OF—йЌй!hFр¬й© F€ч∞э± ∞љирГ Р@тФРтчFьF FhF€ч3ю±Oр атч;ь*tл “@aл0wл”Єси–HFўзµH"#Л∞€чTю(—!hFрИй!®рДйHРHР Р H0Р Р РhF€чьэє®€чшэ± ∞љ ызP†ИскЗфwлЗ`аь-йрG≠хКm@т $FИF®ТFЁшpФF!FрPйЖ®!FрLй(! т$@рHйЁшt@тOр€4РBў@т÷KаХш/Fh± т/!AE ў @тфэ°пчOъ@т„9а рзлХш%т/H± )%1®жчЅъ ±@тЎ&а фзЖ®2FAFжчґъ±@тўаЖ®Ќш0®Ќш4 Ќш$ тtAЧјЌш("SFЌйС! т$@жч†ы(–@тЏ Ё°пчъ F хКmљирЗ-йрOЕ∞F F©СFЁйіЁш8†ШFНш Нш ФтчЗьOр€5±@таJаШ!;F2FтчЂь(±Штчeь@тб=аШ#!JFтчЮь(±ШтчXь@тв0аШ#!™тчСь(±ШтчKь@тг#аШ#!™тчДь(±Штч>ь@тда®РШ[FRFAFтчpэ(±Штч/ь@теаШ†BШ –тч&ь@тж •°пчЮщ(F∞љирПтчь шз-йрAFFа$@тЦBOр€5— +–@т¬0аИУB–@т√*а"@тƒ#fал _кМ| —ЪB“Pш