|
1.STM32 Bootloader与APP IROM中可以分成两个区域,起始代码运行地址为0x08000000,这是基本固定的,可以将IROM的0x08000000 ~ 0x08002000这8KB的空间存放Bootloader代码,而0x08002000 ~ 上限的位置存放APP代码。 需要实现两个工程,分别为bootloader工程与app工程。
# ?# H3 f' b9 N* \) |2 ` 1.1 先说bootloader工程,以IAR为例 建立基本stm32工程需要的工程文件等,工程的建立这里不去说明,有了工程后,需要将该工程代码的链接地址配置为0x08000000 ~ 0x08002000,对于IAR可以在icf文件中进行修改参数达到效果,也可在工程配置中修改达到效果,中断向量表的地址为程序运行起始地址就行。 1.1.1 在icf中修改链接地址,__ICFEDIT_intvec_start__是中断向量表位置,按照上面说的bootloader地址范围,这里要填起始地址0x08000000,__ICFEDIT_region_ROM_start和__ICFEDIT_region_ROM_end__是配置这部分bootloader代码在IROM中的位置,根据上面说的划分区域,这里start应是0x08000000、end应是0x08002000,后面的RAM_Start与RAM_end是内存的起始地址与结束地址,IROM和RAM的范围应该能根据实际芯片手册去划分修改。修改后到时编译好程序,链接脚本就会将程序链接到对应IROM中。 直接通过icf文件修改,其实就是一个链接脚本
8 K' L9 T- \/ }; K
" v" ^/ [1 x0 p
直接通过工程修改,Vector Table是设置向量表的位置 ) _8 h+ j% b( F+ g6 o" a
6 ^6 l% F# N$ c, u3 s" Z6 e
1.1.2 之后就可以开始撸起bootloader代码了,看你的需求是什么,普遍bootloader的需求都是起到一个搬运工的作用,当发现有app的升级文件需要升级时,从一个存放的介质中搬运到IROM中对应的APP代码位置,然后跳转到APP代码位置进行运行。 先贴代码 头文件 - #ifndef __TOTOAL_H__' ]' f. k% G. x! H' v% }0 l
- #define __TOTOAL_H__7 Z& ~: n7 f! Q5 t G
3 e4 D4 g# L' C6 h$ n2 ~- #include <stdio.h>, W* Y% O1 t, @' e/ K* K" R
- #include <string.h>
2 g$ o$ c4 g: p9 F: H/ a - #include <stdlib.h>
* _7 e9 B/ `; B, B* y
6 A$ g, w* |, M8 ^/ v) h9 I( `. ~5 L- ! _) w: ]( u7 E2 t3 y
- /****************ST*********************/" o9 E7 ? m" \/ g2 ]5 H) `
- #include "stm32l1xx.h"
, S2 C3 k) d$ S U; F! X; E" S - #include "misc.h"
9 Q1 H5 h. W% K - #include "stm32l1xx_flash.h"
! u0 B" A' `5 R - #include "stm32l1xx_usart.h") w6 V q8 R3 x" U% [& T
- #include "stm32l1xx_gpio.h"/ C8 w9 R; }4 h5 z9 w
- #include "stm32l1xx_rcc.h"
1 L( ~) ^. ~) t: l, [2 v% N - #include "stm32l1xx_syscfg.h"7 B0 v' Y- f$ p( [. _3 e! x) ~
- /**************************************/( A" c# C9 a/ K* i
- $ q+ G, N# [/ o# l# W
: ?' y8 X* @3 a4 E8 ?- /*****************SELF********************/
. b' s8 a8 C, b/ `& Z - #include "bsp.h"
' x, A; T- b7 k! E2 a& c; i" Z - #include "spi.h"
# G& @* J7 U1 L$ L' ? - #include "flash.h"5 M, F+ g. v; `. l( I
- #include "USART.h"
+ {0 g7 X3 n6 |; Z1 ]- J; J. ` - /***************************************/
; B4 j8 H; {0 G: S& G4 n
9 B3 K! }6 D' q- #define CONFIG_RELASE 0
. j& `% d& p* {
6 x G* Y7 Q# @- #if (CONFIG_RELASE == 0)2 P* _: K: M2 c. L! O9 V) V, F
- #define Debug(fmt,arg...) printf(fmt,##arg)
' c# J5 H, }- m) J$ ]: A; Y: V - #else
$ [% G' T+ E5 |. g, O - #define Debug(fmt,arg...)+ u- N+ g. Y1 V! |
- #endif* m F1 M9 p3 [' j9 _( j' p# P( k
. g, G/ k N9 g* A( M3 c8 ?- #define u8 unsigned char: a0 I. D% g* H b/ A+ S3 I
- #define u16 unsigned short
5 a: x3 Y: B) @/ }6 W' t6 K" t* j - #define u32 unsigned int, L f+ b4 b/ x. R$ o
, C0 h( @2 u( \7 @) s: K- #define SPIFLASHBUF_MAX_LEN (4096) //spi flash最大缓冲
" S* ?! c. F, N6 f - - v/ j; N2 c! [, L4 F, ~
- #define APPLICATIONADDRESS (0x08002000)
2 g5 Y) P3 S3 I p$ r
8 ^4 k, @0 ^3 v. J& T$ W
4 ^% \$ w# m( E2 {3 L7 _- extern unsigned char SPI_FLASH_BUF[]; //Spi Flash使用的临时缓冲
. n% M6 R6 [; S
2 V1 v, t" ]3 i( b& Y8 y; w- #endif //__TOTOAL_H__
复制代码 , C- |+ l c3 y9 i! R' z
" t/ F; G# D( q9 Z" `& ]- {6 L C文件 - #include "total.h"7 w, z6 h5 p) I, L3 I% O- ] g" r
9 d1 H. O, S6 r, c$ c8 c& Y
9 u* v; D1 z, R, W# t6 e' @- unsigned char SPI_FLASH_BUF[4096]; //Spi Flash使用的临时缓冲
) }; F. e0 O8 B) B0 [) O) a
8 T# H( e. U- |1 A3 c* K6 p, o4 O& T
' O0 N2 M6 }' Q0 Q+ G# E. O# O1 T/ y- typedef void (*pFunction)(void);
' K& S- _( E) `9 N o; Q - pFunction Jump_To_Application;0 s1 w5 s! H& k o* v6 Y# x9 P
- unsigned int JumpAddress;8 S- @' }; x4 g/ x3 j2 u% ~/ M/ c
; ?% N) S, M# k p5 i& S. B* ?- * `* o) U# O# e
- extern int LoopCount;* N1 U7 G- F0 l
, Z, N- ]2 M8 B0 z2 [6 h9 C- /*************************************
2 Z+ I7 c; l `3 F9 H8 ` s - *
* B0 {: J5 f( a/ ^ - * Funciton Name : System_Initializes( h* Z4 J+ @, c) T
- * Function : d k5 y6 b6 k) B
- *3 Y! s( |9 B2 \# a
- *************************************/8 B5 X: R0 E' z. W% i, S1 g% `( `
- void System_Initializes(void)
1 G" I7 W" `( ] - {
# t' |8 j* S; T - unsigned int UpdateFileLogo = 0;, j, P' X( [# ]7 m5 D2 s
- unsigned int WriteUpdateFileLogo = 0x00000000;
+ W: }* l R( j( T; T7 k, { `, [+ o - 0 H4 p; U0 ~7 ?2 _+ u" O' [- b
- memset(SPI_FLASH_BUF, 0, sizeof(SPI_FLASH_BUF));
, `( y0 {) [! m; d$ r
- q5 W E8 L, O& Z+ ^- BSP_Initializes();3 |1 L' A6 g: s9 \1 t
- ) N9 g7 a R: [7 m- N% J2 ` I
- Debug("----[Boot]BootLoader Running... \r\n");# m# Y0 T3 F0 L$ E, j' s
- $ T; K' D* p: a" s+ D5 f
- SysTick_Config(36000000 / 1000);
/ g1 U9 q+ U: K1 p* k* d! F& E, E4 b - ; i8 h; L5 k* z* C9 A
- // 读取外部flash有无升级文件需要更新
/ V7 Y: o+ g8 C. h4 M) @ - SPI_Flash_Read((unsigned char *)&UpdateFileLogo, CONFIG_UPDATE_FILE_ADDR_LOGO, 4);+ [ ^2 o6 j% ^7 s7 ~0 Y& r' p' u
9 l9 W8 g$ h; i' g1 C) _" d- // 是否有未更新的升级文件在外部flash中
$ A6 T) n, K' D! V, I* O. Q - if ( UpdateFileLogo == 0x98765432 )2 j$ ?/ z% x2 r
- {5 H5 t; V* i6 D$ q/ Z
- unsigned int i = 0;) l6 f G# l# p2 P
- unsigned int FalshData = 0x0;& G; @. y( W1 p4 N. |$ W3 v
- ' a" G; u( W5 j* M
- FLASH_Unlock();
7 l8 Q6 g3 O. n+ b8 e5 J - - ~+ `& I+ D( c( k8 F( R7 t0 C
- //擦除内部app程序flash位置/ m {* p2 M4 B: d1 b! |
- for ( i = 0; i < 100; i++ )- b! T `! `) }# @4 u' H4 {: U8 n! a
- {
5 V$ i( W8 l0 p8 }+ y - FLASH_ErasePage(0x8002000 + (0x400 * i)); //1K 1K擦8 T. U- k9 n& T4 R
- }
, N! N% n: e' G4 v; Q6 W3 F
z+ v- c3 L" C0 h7 R* m- // 将外部flash存储升级文件的数据,复制到IROM中的APP区域,,升级包的校验什么的都应该去做处理计算 0x19000 100KB
: m7 @. v) l6 z$ | - for ( i = 0; i < 0x19000 / 4; i++ )& m, A# q5 ^! ~. T' m! J
- {
' L4 ?+ f5 g/ N) e - SPI_Flash_Read((unsigned char *)&FalshData, CONFIG_FLASH_SAVE_UPDATE_INDEX + i * 4, 4);
5 {! a1 W/ }: H* Y1 H7 H8 {
& Z# l& Q) T/ s2 B6 @. d9 p# O" Y- FLASH_FastProgramWord(0x8002000 + i * 4, FalshData);
& r2 M; C0 Z$ H/ v9 d! i - }
8 A& ^: v% @) M2 T, j- x - * T# j: \0 I# C0 E" O5 E
- FLASH_Lock();% e( [5 m: n/ d5 |2 f+ y) G
7 |. a# p3 P; X# U& }- a- // 更新完毕,将外部flash代表有无未更新的升级标志变为无更新
+ T3 i: J1 U0 e* I [4 m& ~ - SPI_Flash_Write((unsigned char *)&WriteUpdateFileLogo, CONFIG_UPDATE_FILE_ADDR_LOGO, 4);
# j; }! y1 |) a+ U8 R/ y. W3 ^
) B; }+ L- q+ B+ b* U- w- NVIC_SystemReset(); //复位 U1 f* P9 ^/ J* d2 W3 |: u2 q
- }
, j( p: x9 B$ c5 s5 X0 Y" h - ( y3 n( V3 z" [$ m- p
- while ( LoopCount > 0 );9 `( G9 z% c% c Z
- " J& {7 R) N. s& |- v: D
- __disable_irq();
# E1 n: a, q0 L5 [/ {: G
7 m% R/ j+ F; ^* `/ d# z- /* Test if user code is programmed starting from address "ApplicationAddress" */ ?- k2 P. q* l/ O& p
- if (((*(__IO uint32_t*)APPLICATIONADDRESS) & 0x2FFE0000 ) == 0x20000000)
/ B1 O( c7 ?' X - {
/ z- m. W2 Q8 G: m. ? - 7 ]6 x7 U$ i2 s) u( C
- Debug("----[Boot]Jump_To_Application!!!\r\n");
- W% M; T5 d3 I3 y7 M - 7 t+ z& A" @2 f8 ]9 `6 K
- /* Jump to user application */
; q$ }: @( H# y - JumpAddress = *(__IO uint32_t*) (APPLICATIONADDRESS + 4);2 O% p2 g2 E2 |2 e0 _- d$ e
- Jump_To_Application = (pFunction) JumpAddress;
9 x! q! C% H7 C! C: [' e - /* Initialize user application's Stack Pointer */$ p9 E" a* d/ W, h- Z& `$ U" J
- __set_MSP(*(__IO uint32_t*) APPLICATIONADDRESS);
% g7 R9 {+ G# _5 n. @. ? x - Jump_To_Application();) K. h I/ o3 A5 o
- }' ~0 M G# N- s! ^1 _
- else
8 Q$ w ^' O( @9 v - {
Q9 q" T, A4 Q7 w - Debug("----[Boot]APPLICATIONADDRESS is ERROR!!!\r\n");
G% t9 h o* Z; g, N) V - }
* U0 ^$ M, @$ p! x! d$ W - }
( {4 g8 @5 [6 m: v. F1 m0 B
$ i& m5 @( l# @! y- int main(void)
* S( h# u; Q: H - {+ @( u A+ d3 X4 d; t2 ]! ]
- System_Initializes();9 R/ _4 z" n- k2 x8 R. \
5 o9 l9 W t2 T+ v3 I8 k. G: V- , z0 O' o, a* z7 z
- while (1);
3 h! q* U2 Q7 }$ u- A4 c( t - }
复制代码
( |- }* I# F; ^) y1 u8 d
; l6 O4 }* l1 A 说明:主要就是判断介质中是否有升级文件需要升级,如果有则擦除IROM中APP代码对应的位置,然后将介质中的APP升级文件搬运到IROM中的APP位置去,没问题后,定义一个函数指针指向APP应用程序代码段的地址,就是链接地址0x08002000,然后调用函数指针直接到这个代码段运行,运行之前设置一下APP链接地址数的堆栈。栈顶设置为起始地址的前4个字节,函数指针指向的其实是这个起始地址的后4个字节,表示中断向量表的复位中断向量位置。所以起始地址+4,然后运行。
: {" M8 F3 A! O* H+ J, Y l* `& j 1.2 APP工程,APP的工程搭建好后,同样的要修改链接位置,将程序代码链接到指定的位置去,同样的可以通过icf文件修改,也可以直接通过工程修改,这里就不在进行说明,IROM链接的起始地址为0x08002000,上限就是IROM的上限即可。配置好链接地址后,就可以撸起你的代码了,但如果想要让bootloader跳转到app能够成功,则必须在app代码的开始设置好中断向量的表偏移,因为app的代码是在0x08002000开始,所以中断向量表的位置设置为0x08002000即可。 - 1 /* 设置中断向量表位置 0x08002000 */
5 r" i' X i: L! m - 2 NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x2000);
复制代码 7 D+ R: P' t& \* B% g6 z7 p0 S
如此就完成了bootloader与app工程。一般bootloader写好后是不需要重复的更改的,而只会该应用程序,可以将bootloader代码编译成bin文件,因为bin文件全都是数据,所以可以转换成一个数组,表示一个代码段,然后将这个数据放入到APP的工程中,将这个bootloader的数组指定到一个IROM的位置,这样就可以达到一次烧写两个工程的效果。 如何将bootloader的数组指定到固定的IROM中,使用#pragma loation = 0Xxxxxxxxx __root 就可以指定,我是这么指定的,指定到了0x08000000位置。同时APP的工程链接地址要为0x08002000,因为按照上面说的对IROM的划分,应该要如此划分。 - #pragma location = 0x08000000
& A* I" W2 ^& K- Y# j - __root const unsigned char STM32L15_BootLoader[]={200,20,0,32,117,20,0,8,5,18,0,8,7,18,0,8,9 d; q5 D# Y0 C z. K
- 9,18,0,8,11,18,0,8,13,18,0,8,0,0,0,0,4 x7 n- F; o- O% Y
- 0,0,0,0,0,0,0,0,0,0,0,0,145,20,0,8,$ f/ G, ` k, c4 W
- 15,18,0,8,0,0,0,0,149,20,0,8,17,18,0,8,6 j* F- Y z' K4 M4 \
- 153,20,0,8,157,20,0,8,161,20,0,8,209,18,0,8,4 [9 {2 \( ^) ]
- 165,20,0,8,169,20,0,8,173,20,0,8,177,20,0,8,
( Z* _/ a+ {3 T2 c2 {$ M! G - 181,20,0,8,185,20,0,8,189,20,0,8,193,20,0,8,. k9 k7 F+ ?* p! @9 d
- 197,20,0,8,201,20,0,8,205,20,0,8,209,20,0,8,7 k% \8 A P! c+ `+ B( n
- 213,20,0,8,217,20,0,8,221,20,0,8,225,20,0,8,) o1 \, z. A/ i0 X
- 229,20,0,8,233,20,0,8,237,20,0,8,241,20,0,8,' b, F1 W1 A& \4 O0 V& N9 N
- 245,20,0,8,249,20,0,8,253,20,0,8,1,21,0,8,% F$ ^! }+ E+ `, ?
- 5,21,0,8,205,18,0,8,9,21,0,8,13,21,0,8,
# K* w8 q7 ] }: a* t - 17,21,0,8,21,21,0,8,25,21,0,8,29,21,0,8,3 V3 z4 G3 q$ G
- 33,21,0,8,37,21,0,8,41,21,0,8,45,21,0,8,) _+ t/ @& H* o2 g/ _: V1 q
- 207,18,0,8,49,21,0,8,53,21,0,8,57,21,0,8,, y/ ~: i1 c; \& H, {5 U9 T+ v0 K Z* e
- 61,21,0,8,56,181,0,36,79,244,128,81,223,248,204,2,& M1 O& ~8 @$ b
- 0,240,223,249,5,32,0,240,100,250,255,32,0,240,97,250,
3 U& s b8 S( L. } - 5,0,79,244,128,81,223,248,180,2,0,240,208,249,40,0,- d5 y& {4 m; x! c9 i
- 192,178,50,189,128,181,79,244,128,81,223,248,160,2,0,240,
% C; R+ g: I3 |# v* ^/ g4 v - 200,249,6,32,0,240,77,250,79,244,128,81,223,248,140,2,
$ R9 d( [4 u* N: j# p1 { - 0,240,189,249,1,189,45,233,240,65,4,0,13,0,22,0,
; F/ k2 w: l5 i# }; Q! @ - 0,39,79,244,128,81,223,248,116,2,0,240,178,249,3,32,
. X: R' e) D3 J8 l V - 0,240,55,250,40,0,0,12,192,178,0,240,50,250,40,0,0 q( g( H" W) k$ Y+ L
- 0,10,192,178,0,240,45,250,40,0,192,178,0,240,41,250,5 w7 u5 v$ a) w0 F3 B/ I$ G; U
- 95,240,0,8,64,70,49,0,128,178,137,178,136,66,8,210,
C- m1 A0 P0 r6 P0 ^6 `$ ` - 255,32,0,240,30,250,65,70,137,178,96,84,24,241,1,8,
, Z1 e0 B2 V* P2 G - 240,231,79,244,128,81,223,248,36,2,0,240,136,249,189,232,3 J' _+ k( j$ J/ a; V4 }
- 240,129,248,181,4,0,13,0,22,0,255,247,179,255,79,244,
# p( Q. Y% _0 I% ~1 `4 o - 128,81,130,72,0,240,125,249,2,32,0,240,2,250,40,0,
0 C2 c. c2 }% z7 i9 n/ J - 0,12,192,178,0,240,253,249,40,0,0,10,192,178,0,240,- }9 u" w5 J% X: c! V9 y0 B
- 248,249,40,0,192,178,0,240,244,249,0,39,56,0,49,0,
$ `$ r* A- w6 K# s* @+ Y) } - 128,178,137,178,136,66,6,210,56,0,128,178,32,92,0,240,
. j& v. n% J2 u4 m& A$ ?) ` - 232,249,127,28,242,231,79,244,128,81,112,72,0,240,87,249,
% T2 c, E* T2 c% U+ n6 x/ S, q - 0,240,214,248,241,189,248,181,4,0,13,0,22,0,21,240,
8 D; x3 y& q4 r - 255,7,215,245,128,119,56,0,49,0,128,178,137,178,136,66,% I: @$ ]. _7 L& T; T2 h
- 0,211,55,0,58,0,146,178,41,0,32,0,255,247,185,255,
- Q! r8 Q: J! W/ c+ | - 48,0,57,0,128,178,137,178,136,66,18,208,56,0,128,178,
* I6 X8 N/ A/ _/ v! D) I8 E1 { - 4,68,56,0,128,178,69,25,246,27,48,0,128,178,64,242,' q: y% s2 s# j) B4 Y3 _
- 1,17,136,66,3,219,79,244,128,112,7,0,226,231,55,0,& U! O$ `5 u/ l. F: }7 s' K* e
- 224,231,241,189,45,233,240,71,4,0,13,0,22,0,47,0,
3 U l" u9 {1 n" F( y: |, e - 63,11,168,70,95,234,8,88,95,234,24,88,216,245,128,89,
4 L: N$ X2 `+ U3 o6 U9 t# W - 72,70,49,0,128,178,137,178,136,66,0,211,177,70,79,244,
* H0 I$ S1 |5 e) B - 128,82,79,244,128,81,1,251,7,241,73,72,255,247,75,255,8 P+ L3 I2 i: u, B
- 0,32,130,70,80,70,73,70,128,178,137,178,136,66,11,210,, V) ^& ?' c: j8 K, F
- 67,73,66,70,146,178,80,70,128,178,130,24,136,92,255,40,' k& _6 j$ S5 l
- 2,209,26,241,1,10,237,231,80,70,73,70,128,178,137,178,2 O& A- ~' U. s* M2 j2 B
- 136,66,33,210,56,0,0,240,68,248,0,32,130,70,80,70,
% d5 C& R4 \9 P Z& z& p! \! y - 73,70,128,178,137,178,136,66,12,210,80,70,128,178,33,92,
7 B/ s: a4 g& D( x - 51,74,83,70,155,178,64,70,128,178,195,24,209,84,26,241,
1 @% t- h8 w% e6 ]' z - 1,10,236,231,79,244,128,82,79,244,128,81,1,251,7,241,
^! `+ \* k! {1 h - 43,72,255,247,120,255,5,224,74,70,146,178,41,0,32,0,% {' W/ X3 A' i; {7 p, T
- 255,247,113,255,48,0,73,70,128,178,137,178,136,66,22,208,- l8 ~. r, p# e8 A% o
- 127,28,0,32,128,70,72,70,128,178,4,68,72,70,128,178,4 O1 J$ B, B: c
- 69,25,182,235,9,6,48,0,128,178,65,242,1,1,136,66,
) f" `9 a" [( o% C- v( l - 3,219,79,244,128,80,129,70,153,231,177,70,151,231,189,232,
' j5 _& z _) z7 \) E' |0 U* d - 240,135,16,181,4,0,79,244,128,80,68,67,255,247,210,254,
* Q( {2 z$ L3 @, H! t7 x - 0,240,30,248,79,244,128,81,16,72,0,240,154,248,32,32,
! c @+ L$ R1 Y# D% v - 0,240,31,249,32,0,0,12,192,178,0,240,26,249,32,0,& f" e( M% s. r! o! _% R
- 0,10,192,178,0,240,21,249,32,0,192,178,0,240,17,249,
8 w7 j3 ]9 i3 e$ U. T0 h0 Y) B - 79,244,128,81,5,72,0,240,130,248,0,240,1,248,16,189,: Q+ x8 u3 K! T, j0 C, @, t0 b6 c
- 128,181,255,247,151,254,192,7,251,212,1,189,0,4,2,64,
& h* w# Z& ~ D. u+ X$ g7 d5 Y' W - 104,0,0,32,240,180,0,34,0,35,0,36,0,39,0,37,
/ N- v: Z4 @. H1 D - 16,45,92,210,1,34,170,64,19,0,10,104,26,64,20,0,; s( w$ f# g' g' |" x R& c
- 156,66,82,209,6,104,95,240,3,12,42,0,210,178,82,0,1 K6 D* m. |9 o+ v3 y: e6 g
- 28,250,2,252,54,234,12,6,145,248,4,192,42,0,210,178,# n7 ^4 u, d( j3 I
- 82,0,28,250,2,252,92,234,6,6,6,96,10,121,1,42,3 C5 h/ C* x: I+ a1 W S- N
- 2,208,10,121,2,42,36,209,135,104,95,240,3,12,42,0,% t8 l( `% q E' r( {$ a2 q
- 210,178,82,0,28,250,2,252,55,234,12,7,145,248,5,192,
, t8 ?: M' L' t9 x( k4 a - 42,0,210,178,82,0,28,250,2,252,92,234,7,7,135,96,$ C6 C& z7 `9 z9 a
- 130,136,95,240,1,12,28,250,5,252,50,234,12,2,145,248,3 `6 R4 B( l8 [
- 6,192,28,250,5,252,31,250,140,252,92,234,2,2,22,0,
8 j0 e% a+ @- ]8 w3 @ V, P - 134,128,194,104,95,240,3,12,47,0,255,178,127,0,28,250,. ]2 t% E3 ^' T+ d* `
- 7,247,50,234,7,7,145,248,7,192,42,0,210,178,82,0,
6 u9 U7 ~" a- A - 28,250,2,252,92,234,7,7,199,96,109,28,160,231,240,188,6 S9 t8 i/ g {1 e
- 112,71,16,180,2,0,0,35,16,138,12,0,164,178,32,66,
+ G) @, ~* U+ u+ }2 c: L G - 1,208,1,32,0,224,0,32,192,178,16,188,112,71,1,131,
& q% C# l$ X9 s) F0 |) a6 E# E - 112,71,65,131,112,71,240,181,0,36,0,37,19,0,219,178,* i# r) @' a8 j
- 17,240,7,6,246,178,182,0,19,250,6,246,11,0,155,178,
/ z+ x2 J2 d# F: i - 219,16,0,235,131,7,11,0,155,178,219,16,0,235,131,3,4 C x/ T# L% h# C* Q. `
- 211,248,32,192,95,240,15,14,17,240,7,3,219,178,155,0,/ Z. G) H+ S: Z" j" V! x) C7 N% j
- 30,250,3,254,60,234,14,12,199,248,32,192,11,0,155,178,
8 K* ?" v- Q) c4 W, x/ L9 m - 219,16,0,235,131,3,27,106,51,67,15,0,191,178,255,16,0 K# {" e! E& \
- 0,235,135,7,59,98,240,189,224,181,79,244,0,96,0,144,, ~# n) z0 s" y2 W
- 1,32,141,248,4,0,0,32,141,248,6,0,1,32,141,248,
- O. j" q( e! g% m3 P - 5,0,105,70,65,72,255,247,69,255,79,244,0,97,63,72,1 Q# }7 B, a4 J' Q& s" J7 {+ K& D
- 255,247,181,255,79,244,32,64,0,144,1,32,141,248,5,0,# m) V: q% V# m8 U" s8 Y
- 1,32,141,248,4,0,0,32,141,248,6,0,105,70,55,72,
8 D, ^. v$ ]% T+ S* I) U; K - 255,247,48,255,79,244,128,80,0,144,105,70,51,72,255,247,
" r4 A" h! g2 h. H; ` - 41,255,79,244,128,112,0,144,105,70,49,72,255,247,34,255,
. g& j/ a( d2 V" h7 V - 79,244,128,64,0,144,0,32,141,248,7,0,0,32,141,248,* o# ]$ m9 I0 I0 I4 r: V
- 4,0,105,70,41,72,255,247,21,255,7,189,128,181,255,247,7 }; P' G0 G5 a( X" N- r+ c8 z4 s
- 187,255,79,244,128,81,37,72,255,247,129,255,79,244,128,113,
6 Y$ m. P! V# Z, k! `6 ? l0 E- V - 35,72,255,247,124,255,79,244,0,81,32,72,255,247,121,255,& P" I* F4 u, h4 z! S# M9 ^
- 1,189,56,181,4,0,0,32,0,37,40,0,192,178,8,40,4 K/ g6 T8 k! D4 f0 @& X$ \' @
- 43,218,79,244,0,81,25,72,255,247,107,255,32,6,5,213,
$ U: h3 x1 o Z, k8 S' H' Q - 79,244,0,65,21,72,255,247,98,255,4,224,79,244,0,65,
( e) i! }7 C2 X) {- K l - 18,72,255,247,94,255,79,244,0,81,16,72,255,247,87,255,
) d' W2 @7 L1 W. U - 100,0,0,191,0,191,0,191,0,191,79,244,128,65,11,72,( |! Y$ v6 k8 i: c' X( n' M
- 255,247,63,255,0,40,1,208,84,240,1,4,79,244,0,81,
6 Z8 Q8 i& v1 Y3 ^ - 6,72,255,247,70,255,109,28,207,231,79,244,0,81,3,72,4 d l% c, H3 d; H6 e4 d, ^
- 255,247,63,255,32,0,192,178,50,189,0,0,0,4,2,64,
. v9 T+ {/ N6 F - 0,0,2,64,16,180,2,0,82,178,0,42,9,213,10,1,
& y! u5 @6 G* r: _8 |! K - 83,75,4,0,100,178,20,240,15,4,35,68,3,248,4,44,
; d, k5 L ]8 C: F4 q2 e - 4,224,10,1,79,75,4,0,100,178,26,85,16,188,112,71,0 }' i& O7 g0 F7 q# x5 E# S4 r; ~
- 191,243,79,143,76,72,1,104,17,244,224,97,75,72,1,67,8 Z8 V K5 K& C. p1 M$ z3 `9 B
- 73,72,1,96,191,243,79,143,254,231,16,181,4,0,96,30,/ U; \/ R3 B4 D& p* n
- 176,241,128,127,1,211,1,32,14,224,96,30,68,73,8,96,
, X1 E/ Q) f9 d( v$ Y2 K. p - 15,33,95,240,255,48,255,247,205,255,0,32,65,73,8,96,5 D* B! ^; U9 z) q$ \, z
- 7,32,65,73,8,96,0,32,16,189,127,181,0,32,1,144,5 X: e; I! w Z
- 0,32,2,144,79,244,128,84,0,37,60,78,42,0,33,0,
+ V9 w9 H6 a! m8 l* ~$ k' n - 48,0,0,240,141,248,0,240,4,249,57,72,0,240,34,249,
! q$ K9 Q4 X% @: N - 72,246,160,64,255,247,209,255,4,34,95,244,80,1,1,168,4 w8 ? Q" k/ u! a' x) H$ A8 U
- 255,247,33,253,1,152,51,73,136,66,45,209,0,36,0,32,
& h- w5 Y; e; R$ p0 ~2 X& g4 b - 0,144,0,240,35,249,0,37,100,45,8,210,79,244,128,96,
3 j7 Y$ `6 w3 w+ p% Y - 45,73,0,251,5,16,0,240,53,249,109,28,244,231,0,36,1 Z6 d# X" g& _+ i
- 180,245,200,79,14,210,4,34,161,0,17,245,80,1,104,70,
% i3 E: t; T5 s T3 ]' v. A, c" A! L - 255,247,1,253,0,153,36,72,16,235,132,0,0,240,88,249,
7 b' s; D* `. i q: P% x8 e" [ - 100,28,237,231,0,240,21,249,4,34,95,244,80,1,2,168,
3 l* l* e9 I* A4 V% z: S - 255,247,136,253,255,247,140,255,28,72,0,104,1,40,251,218,0 I. W1 s: e% \
- 114,182,25,72,1,104,26,72,1,64,177,241,0,95,18,209,8 W8 ~1 V- m0 c) w5 a+ u
- 24,72,0,240,215,248,24,72,0,104,24,73,8,96,23,72,
( R3 m6 B+ b Z. A3 p7 v - 0,104,23,73,8,96,16,72,0,104,128,243,8,136,20,72,- y9 F. |# Z/ h( p7 _" c# |7 r
- 0,104,128,71,2,224,19,72,0,240,196,248,127,189,0,0,
- L7 }% k% X' {* @ - 24,237,0,224,0,228,0,224,12,237,0,224,4,0,250,5,! F1 L- B" p: e" a- D% W
- 20,224,0,224,24,224,0,224,16,224,0,224,104,0,0,32,
3 K9 W( j+ S! ?% W) e4 c; ^) O4 a - 160,19,0,8,50,84,118,152,0,32,0,8,0,0,0,32,
. G+ A& x j, Y7 r I& b: K - 0,0,254,47,196,19,0,8,4,32,0,8,188,16,0,32," a' }7 _: u# A7 z6 v
- 184,16,0,32,76,19,0,8,128,181,255,247,102,255,254,231,
6 w, }0 X9 D l - 98,243,15,34,98,243,31,66,64,24,16,240,3,3,8,208, G( Y. c$ D2 e) D4 G4 ?% w
- 201,26,31,211,219,7,72,191,0,248,1,45,40,191,32,248,
- y5 t* N) f) T F, Q% ~# p5 H - 2,45,19,0,48,180,20,70,21,70,16,57,40,191,32,233,+ m h: l6 V; I( e, k" F$ @
- 60,0,250,216,73,7,40,191,32,233,12,0,72,191,64,248,7 @1 q ]- l9 S) v& v5 e1 h' u5 k0 d
- 4,45,137,0,40,191,32,248,2,45,72,191,0,248,1,45,
+ {0 @* d3 [2 P) _ - 48,188,112,71,201,24,24,191,0,248,1,45,203,7,40,191,
4 J# a( _' `3 }1 t* v! @6 ^; @ - 0,248,1,45,112,71,0,0,128,181,1,33,15,32,0,240,
+ V, E" u8 I o: F H - 215,249,1,33,79,244,128,64,0,240,226,249,1,189,224,181,# S( d/ H( K$ x8 V5 b# Z7 |3 M" d
- 128,32,0,144,1,32,141,248,4,0,0,32,141,248,6,0,2 w: [; P1 W7 c% U6 b$ [# E$ i+ d. v
- 1,32,141,248,5,0,105,70,34,72,255,247,155,253,128,33,! d8 U7 l# m2 T
- 32,72,255,247,12,254,7,189,224,181,79,244,0,80,0,144,( `) j& E @# u* U/ v; ~
- 1,32,141,248,4,0,0,32,141,248,6,0,1,32,141,248,0 v) }2 I: g' l: L v0 S+ ^2 c9 a
- 5,0,105,70,24,72,255,247,133,253,16,32,0,144,1,32,( Q" O* Y/ e8 h9 ]4 Y
- 141,248,4,0,0,32,141,248,6,0,1,32,141,248,5,0,( w* O" W% H2 f7 I
- 105,70,18,72,255,247,118,253,16,33,16,72,255,247,231,253,
+ G0 j8 }/ V0 b" j3 z" j2 s - 7,189,128,181,255,247,184,255,255,247,193,255,255,247,212,255,
~1 `( N) V$ C3 W2 s! ]' ] - 79,244,0,81,8,72,255,247,218,253,1,32,0,144,0,35,$ d- @4 x! G/ f% i) {
- 8,34,95,244,225,49,6,72,0,240,195,249,255,247,70,254,
) z& [: l2 {, C7 c1 Z, B - 1,189,0,0,0,4,2,64,0,8,2,64,0,0,2,64,
, E4 C8 E7 K& Q - 0,56,1,64,14,180,192,181,2,70,3,168,0,33,1,144,. p' d: l$ y$ V( {
- 0,145,1,171,1,33,4,72,120,68,12,48,0,240,42,250,
/ |3 r& Y D; ]. L0 V - 6,188,93,248,16,251,0,191,249,10,0,0,128,181,223,248,
5 T$ U8 v; g2 d, m' I - 28,1,0,104,128,7,11,213,0,240,96,248,223,248,16,1,
' y4 ~/ Z* x2 ^5 P5 p" d - 223,248,16,17,8,96,223,248,16,1,223,248,8,17,8,96,
; A, v- r! W* m z$ H% n8 d - 1,189,223,248,248,0,0,104,80,240,2,0,223,248,236,16,
: I9 {% B( }* _( J - 8,96,112,71,112,181,4,0,4,38,79,244,0,64,0,240,
9 [. s! t, H- ?( K - 125,248,5,0,40,0,192,178,4,40,38,209,223,248,204,0,
2 K% {3 r3 V" a7 J" A$ B - 0,104,80,244,0,112,223,248,196,16,8,96,223,248,188,0,4 B- }/ g; ]% N# W$ ?
- 0,104,80,240,8,0,223,248,180,16,8,96,0,32,32,96,6 y4 b* j- L" g- z. p/ ]6 c
- 79,244,0,64,0,240,98,248,5,0,223,248,160,0,0,104,# f+ s0 {3 } X: c5 ~/ b- p
- 48,240,8,0,223,248,148,16,8,96,223,248,144,0,0,104,
2 M0 w3 }6 i# } - 48,244,0,112,223,248,132,16,8,96,40,0,192,178,112,189,9 ^- T' A/ r$ w C
- 248,181,4,0,13,0,4,38,79,244,0,64,0,240,70,248,
L& S* P, F0 h/ ?! F2 z* G0 o - 7,0,56,0,192,178,4,40,5,209,37,96,79,244,0,64,
, Y' C2 H$ u3 P - 0,240,60,248,7,0,56,0,192,178,242,189,223,248,76,0,9 ]$ x9 \1 V, c1 ?8 o
- 0,104,192,7,9,213,223,248,84,0,223,248,84,16,8,96,
. R0 U9 i/ t6 Y$ E& c4 _ - 223,248,80,0,223,248,72,16,8,96,112,71,4,33,18,72,* j" h, z& p7 Y3 i3 Z
- 0,104,192,7,1,213,1,32,13,224,15,72,0,104,192,5,
) \) l, u& q3 y* ?4 ~& D - 1,213,2,32,7,224,12,72,0,104,16,244,240,95,1,208,6 J9 U! p( y2 P M
- 3,32,0,224,4,32,192,178,112,71,0,0,4,60,2,64,: ?+ P( p5 u: N, C- G0 k* K
- 191,174,157,140,16,60,2,64,22,21,20,19,239,205,171,137,
3 z9 `9 N" P% Z, F l7 y - 12,60,2,64,5,4,3,2,24,60,2,64,28,181,4,0,$ \3 g( _+ C* X- O# y/ |
- 4,32,141,248,0,0,255,247,209,255,141,248,0,0,157,248,) e9 a; ~; G0 C9 t% E
- 0,0,1,40,7,209,0,44,5,208,255,247,199,255,141,248,1 v7 T; b, j& w" u
- 0,0,100,30,243,231,0,44,2,209,5,32,141,248,0,0,! R; V0 F; Q$ Z' Z
- 157,248,0,0,22,189,0,0,45,233,240,79,0,34,0,35,. J8 K" \# w3 D k
- 0,36,0,33,0,37,0,38,223,248,116,113,63,104,23,240,- y/ h/ ~. h9 A3 E8 e1 O
- 12,7,188,70,188,241,0,15,9,208,188,241,4,15,24,208,5 S" D/ c6 e2 t) X3 ]( q
- 188,241,8,15,25,208,188,241,12,15,26,208,67,224,223,248,8 \: B% G) `& M& W8 L
- 84,33,18,104,194,243,66,50,22,0,95,240,1,12,114,28, h9 R# l/ ^3 W4 m3 `6 N
- 28,250,2,252,79,244,0,66,2,251,12,252,192,248,0,192,5 h3 p2 u5 \' R. k3 L+ r
- 65,224,223,248,52,33,2,96,61,224,223,248,48,33,2,96,
9 ]5 [$ R9 _- r- p- |' W3 H% t: d, t - 57,224,71,74,18,104,18,244,112,18,223,248,20,193,220,248,1 p* _9 e9 S; j
- 0,192,28,244,64,12,223,248,24,225,146,12,30,248,2,32,
( _3 P) Q4 _/ W* b9 u% r - 19,0,95,234,156,92,28,241,1,12,100,70,60,74,18,104,
( }0 V* `9 a* A$ A- R - 18,244,128,50,17,0,0,41,6,209,59,74,2,251,3,242,
1 ?4 B% }( u6 p, m2 t; I4 o - 178,251,244,242,2,96,5,224,56,74,2,251,3,242,178,251,
% [. a" V& t) X0 `' s" d# S - 244,242,2,96,15,224,51,74,18,104,194,243,66,50,22,0,/ p9 ]" Q8 q5 v# u
- 95,240,1,12,114,28,28,250,2,252,79,244,0,66,2,251,
# z" `3 _# O% b* H4 ?- A, E$ d - 12,252,192,248,0,192,42,74,18,104,18,240,240,2,18,9,
! w- _- t1 F' z. E - 223,248,176,192,28,248,2,192,208,248,0,224,62,250,12,254,
0 B. ?2 H+ j1 S - 192,248,4,224,223,248,136,224,222,248,0,224,30,244,224,110,
9 t7 ]# _4 V: U; f, p - 95,234,30,46,223,248,140,128,24,248,14,128,208,248,4,144,2 Z( y( ?4 M7 O j9 p
- 57,250,8,249,192,248,8,144,223,248,100,144,217,248,0,144,
0 ^2 n. h+ I6 d; i- h( g9 _+ M1 N - 25,244,96,89,95,234,217,41,223,248,104,160,26,248,9,160,0 `" \- K8 h* q# `
- 208,248,4,176,59,250,10,251,192,248,12,176,189,232,240,143,, z# u# c$ h4 Q- |/ A
- 10,0,210,178,0,42,5,208,19,74,18,104,2,67,18,75, r8 Z" ^# W2 j6 F. }
- 26,96,4,224,16,74,18,104,130,67,15,75,26,96,112,71,
. ?1 d% m, P5 G+ r/ h: g - 10,0,210,178,0,42,5,208,12,74,18,104,2,67,11,75,
- d8 ]4 c. u- l, j2 d( w8 x3 N - 26,96,4,224,9,74,18,104,130,67,8,75,26,96,112,71,- x% A: Z/ H9 R+ w
- 8,56,2,64,4,56,2,64,0,36,244,0,0,18,122,0,
7 O0 ^8 F% Z' ?; p5 Z O* G, I' X# W# J - 4,0,0,32,16,0,0,32,28,56,2,64,32,56,2,64,' N' W8 j5 |) ~+ l
- 56,181,4,0,13,0,33,0,201,178,137,178,60,72,0,240,
9 a8 E5 ?2 G& F7 D) x - 152,249,128,33,58,72,0,240,208,249,0,40,249,208,32,0,9 O+ \; U$ o0 i1 l! r) D& ]
- 50,189,248,181,134,176,4,0,13,0,22,0,31,0,79,244,. [9 u# a/ |8 m! L
- 0,112,0,144,2,32,141,248,4,0,0,32,141,248,6,0,' [1 N; D; ]$ a/ q' n% `
- 3,32,141,248,5,0,1,32,141,248,7,0,105,70,45,72,
' |3 r2 ]: y1 o- O6 ? h7 @ } - 255,247,128,251,79,244,128,96,0,144,105,70,41,72,255,247,, X; y" o) R6 P3 T9 I* F. i
- 121,251,7,34,9,33,39,72,255,247,237,251,7,34,10,33,( E7 }- d4 n. L$ F
- 36,72,255,247,232,251,2,149,0,32,173,248,14,0,56,0,
# o9 v! @" k. o; E - 192,178,0,40,6,209,0,32,173,248,12,0,0,32,173,248,
8 ^+ G7 f$ l' d: g f3 `. e2 d$ P2 y+ k - 16,0,31,224,56,0,192,178,1,40,8,209,79,244,128,80,
1 \, K8 m4 L$ u - 173,248,12,0,79,244,192,96,173,248,16,0,18,224,56,0,
, n9 t6 L) b9 j( s- `1 M/ i+ j - 192,178,2,40,8,209,79,244,128,80,173,248,12,0,79,244,
' b( P/ I) |; P/ H - 128,96,173,248,16,0,5,224,0,32,173,248,12,0,0,32,# { T7 ?1 v" x; c% q3 d3 M- A* N
- 173,248,16,0,0,32,173,248,20,0,12,32,173,248,18,0,
# W0 j* f" n; B* G- C - 2,169,7,72,0,240,178,248,1,34,64,242,37,81,4,72,
) r: K: n/ |. x E7 j& t - 0,240,43,249,1,33,2,72,0,240,20,249,7,176,240,189,
( c' B/ k8 l6 } - 0,56,1,64,0,0,2,64,112,181,28,0,5,70,22,70,
9 r* E9 _$ m" ~" L: [( | - 6,208,8,70,22,248,1,27,168,71,100,30,250,209,1,70,
# \, _9 ] C; g! S* g$ _ - 8,70,112,189,45,233,252,67,131,176,129,70,136,70,23,70,
3 e/ n6 e/ p# r- S1 [8 [7 C) |3 U - 29,70,7,224,1,35,58,70,65,70,72,70,255,247,228,255,( S% b% S$ ]9 A
- 128,70,127,28,56,120,224,177,37,40,243,209,121,120,191,28,
) [6 e8 H3 p% S4 w# z* O2 S& x - 37,41,18,208,88,41,90,208,99,41,21,208,100,41,24,191,) f( N! @: Z, D
- 105,41,24,208,111,41,82,208,112,41,86,208,115,41,91,208,
3 D) @- { o7 d+ b% c0 k - 117,41,24,191,120,41,74,208,228,231,64,70,200,71,128,70," d# [9 O* D; a% t& Y* D
- 224,231,5,176,189,232,240,131,40,104,40,96,80,248,4,27,
! u. b5 D5 @, i' i1 [8 ] - 40,96,201,178,241,231,40,104,40,96,80,248,4,107,40,96,
% H3 W! U! S( T- p( o" [ - 0,46,3,213,45,33,64,70,200,71,128,70,100,33,111,41,$ a# h8 E8 e/ v4 _: _5 P
- 8,191,8,34,5,208,65,240,32,0,120,40,20,191,10,34,
' @% h4 v$ b; {2 Y, |- m% r* g - 16,34,11,36,100,41,48,70,2,209,0,46,72,191,64,66,
3 B! i! j( O0 h, @( X- i - 176,251,242,252,2,251,28,0,48,48,100,30,195,178,58,43,
5 q, j1 n. a0 W* |4 u2 p4 B - 164,191,161,241,81,3,24,24,13,248,4,0,95,234,12,0,
# k( F8 K* N7 N4 ` - 1,208,0,44,236,220,13,235,4,6,212,241,11,4,64,70,- R# D+ t t% _! f) H
- 189,208,22,248,1,27,200,71,100,30,250,209,183,231,40,104,
% `8 [- b' e# j2 a. W8 l- A - 40,96,80,248,4,107,40,96,201,231,40,104,40,96,120,33,
1 @; m3 Z: m2 a) Q: e2 H0 t - 80,248,4,107,40,96,194,231,40,104,40,96,80,248,4,107,+ X1 b, d5 Q1 R( B* N
- 40,96,48,70,0,240,208,248,4,0,64,70,159,208,22,248,
, K8 A. ], Z: ?9 u2 `- F1 j - 1,27,200,71,100,30,250,209,153,231,0,0,45,233,240,79,/ K" f7 J7 w8 M/ X+ Q' _8 ~) ^: b
- 133,176,4,0,13,0,0,38,0,39,95,240,0,8,95,240,
; B' N% O$ ^$ ~ - 0,9,168,137,0,40,33,138,49,244,64,81,232,136,1,67,4 C5 f: z. z2 W* Z# `$ ]
- 0,145,0,152,32,130,180,248,12,160,41,72,16,234,10,10,8 T# P7 [0 n& I4 k! P- K
- 169,136,40,137,1,67,104,137,1,67,81,234,10,10,164,248,$ Y- _- C9 \1 R5 n, \
- 12,160,180,248,20,176,59,244,64,123,168,137,80,234,11,11,8 ]6 S9 l' D/ `. o" A x
- 164,248,20,176,1,168,255,247,215,253,28,72,132,66,1,209,
' Q& Q+ [: ]- M& o - 4,153,0,224,3,153,160,137,0,4,7,213,25,32,0,251,
7 r* i# P* t$ M4 Q - 1,240,42,104,82,0,176,251,242,242,6,224,25,32,0,251,
' q1 F! `+ C, E0 O8 A - 1,240,42,104,146,0,176,251,242,242,100,32,178,251,240,246,
, ?- Y- y; ^/ y% D5 R5 ~ - 54,1,51,0,27,9,100,32,0,251,19,35,160,137,0,4,4 h( ^9 p( U) \% d
- 8,213,216,0,50,48,100,39,176,251,247,240,16,240,7,0,
3 a. c9 U+ r3 f) H$ B - 6,67,7,224,24,1,50,48,100,39,176,251,247,240,16,240,4 {( l, T5 \( N& h4 h5 f0 H
- 15,0,6,67,38,129,5,176,189,232,240,143,0,56,1,64,' D" R1 p& h Y& N, l6 L
- 243,233,255,255,10,0,210,178,0,42,4,208,130,137,82,244,
- ~# _# y; z) o: L4 q' G4 r, d& K" U - 0,82,130,129,4,224,131,137,77,246,255,114,19,64,131,129,. L; ]$ k5 W; {* G' g9 u' M4 t
- 112,71,202,5,210,13,130,128,112,71,45,233,240,65,0,35,
+ g( z w7 P! O2 a2 [/ s# t - 0,37,0,39,95,240,0,14,12,0,164,178,64,246,106,22,
: W1 g1 F, F3 h+ Q0 I - 180,66,128,70,12,0,228,178,100,9,228,178,14,0,182,178,
! j4 U- ^9 h: X' z- ^ c, R - 22,240,31,6,95,240,1,12,28,250,6,252,1,44,2,209,
0 {+ e/ N% W+ ] - 24,241,12,8,6,224,2,44,2,209,24,241,16,8,1,224,
! u* I' Y4 o0 B - 24,241,20,8,19,0,219,178,0,43,6,208,216,248,0,48,! Q) }; `/ [, d+ H- g
- 92,234,3,3,200,248,0,48,5,224,216,248,0,48,51,234,: X3 p/ s5 w+ z. C2 {
- 12,3,200,248,0,48,189,232,240,129,2,0,0,35,8,0,
+ j8 r$ P& L3 D2 J+ ^; u* d - 128,178,176,245,0,127,16,136,8,66,1,208,1,32,0,224,6 g" Y% k) w4 Q6 K: V9 F X
- 0,32,192,178,112,71,0,0,0,241,1,3,129,7,4,208,- Q3 V$ u( u7 f
- 16,248,1,27,137,177,129,7,250,209,2,104,178,241,1,49,
0 n# O. F. }- Q* Y% o4 D - 145,67,17,240,128,63,4,191,80,248,4,47,246,231,16,248,6 R( ]# ], E G) X5 ~" O$ R E' E
- 1,27,17,177,16,248,1,27,251,231,192,26,112,71,0,0,8 L7 `, d H& g3 k' T' i
- 128,181,82,72,0,104,80,244,128,112,80,73,8,96,80,72,; Y; q, G0 I( o0 D. w0 S" H3 P1 B
- 1,104,80,72,1,64,78,72,1,96,76,72,1,104,78,72,
) X0 J7 [7 U$ w - 1,64,74,72,1,96,73,72,0,104,48,244,128,32,71,73,! y$ \& L3 @$ F2 ^, b
- 8,96,71,72,0,104,48,244,125,0,69,73,8,96,0,32,
- H' u6 \! Z, b - 70,73,8,96,0,240,5,248,95,240,0,96,68,73,8,96," b0 [6 s4 F0 {% V
- 1,189,130,176,0,32,1,144,0,32,0,144,59,72,0,104,
, W/ O; F! }$ j9 _, ^ k - 80,244,128,48,57,73,8,96,56,72,0,104,16,244,0,48,
: x9 w( F: m9 @$ ^ - 0,144,1,152,64,28,1,144,0,152,0,40,3,209,1,152,1 h3 r* h! s# k1 ?5 M* `+ n
- 176,245,160,79,240,209,49,72,0,104,128,3,2,213,1,32,) @4 F8 Z) D: ~9 T4 H
- 0,144,1,224,0,32,0,144,0,152,1,40,83,209,49,72,
Z# e- U% y& F5 z6 b/ D& y - 0,104,80,240,4,0,47,73,8,96,46,72,0,104,80,240,
& v! A. b% f a' @( l4 m: k - 2,0,44,73,8,96,43,72,0,104,80,240,1,0,41,73,
: x1 z' o5 ]: `1 Z; t" T! [ - 8,96,41,72,0,104,80,240,128,80,39,73,8,96,79,244,
0 x J$ N+ ]7 Q n+ q6 j d - 0,96,38,73,8,96,38,72,0,104,192,6,251,212,28,72,
- k9 I W0 ]: } ~$ ` - 0,104,27,73,8,96,26,72,0,104,25,73,8,96,24,72,
) w' g8 I( U+ a) w) Q! h: j- Q9 y# \ - 0,104,23,73,8,96,22,72,0,104,48,244,125,0,20,73,
& k R$ ^" S' [4 F. D: f. h - 8,96,19,72,0,104,80,244,17,0,17,73,8,96,15,72,
) {4 I l# ?0 }0 x* \ - 0,104,80,240,128,112,13,73,8,96,12,72,0,104,128,1,
# G8 v, T7 }9 ^ - 251,213,11,72,0,104,128,8,128,0,9,73,8,96,8,72,
, w; L/ r7 J" T# S* d# O$ P - 0,104,80,240,3,0,6,73,8,96,5,72,0,104,16,240,
3 f0 [- D/ m4 X4 t: w7 q/ b - 12,0,12,40,249,209,2,176,112,71,0,0,0,56,2,64,; l, L' b, A( W' [- F! J6 g
- 8,56,2,64,12,192,255,136,254,255,254,238,12,56,2,64,3 Y! W& _' j2 F5 n; _# l$ R- H( o
- 8,237,0,224,0,60,2,64,36,56,2,64,0,112,0,64,: y% Z* f9 o2 e+ ]* W- [$ x
- 4,112,0,64,112,71,254,231,254,231,254,231,254,231,112,71,
, Q8 G$ C' f* a - 128,181,43,72,0,104,65,28,41,74,17,96,64,242,245,17,
$ W/ q" |7 c8 k7 f( O6 | - 136,66,7,211,0,32,38,73,8,96,38,72,0,104,64,30,4 j6 G" ^) c! ` s6 S7 G
- 36,73,8,96,34,72,0,104,50,40,4,210,128,33,34,72,3 i. D8 V6 e" a! j
- 255,247,63,249,59,224,30,72,0,104,100,40,4,210,128,33,. q6 E; S' S0 E2 B
- 29,72,255,247,52,249,50,224,25,72,0,104,150,40,4,210,
" g. q* M) o. s; }$ x0 h - 128,33,25,72,255,247,45,249,41,224,21,72,0,104,200,40,
7 B5 u2 X) ?$ p& D! Y2 j - 4,210,128,33,20,72,255,247,34,249,32,224,16,72,0,104,
% G1 \7 V5 q2 A9 c0 g - 250,40,4,210,128,33,16,72,255,247,27,249,23,224,12,72,
1 l1 I! P) D& Z8 ^: t, C - 0,104,176,245,150,127,4,210,128,33,11,72,255,247,15,249,
9 ]4 Y" P& o; ?( ^: v$ }' K4 F) Y5 U - 13,224,7,72,0,104,176,245,175,127,4,210,128,33,6,72,
2 `$ I& p% o3 W X/ f3 G# r - 255,247,7,249,3,224,128,33,3,72,255,247,0,249,1,189,7 M, X1 o/ ^- `( y/ v# U
- 192,16,0,32,0,0,0,32,0,4,2,64,112,71,112,71,
) k" H. Q, P; T- x - 112,71,25,224,80,248,4,43,211,7,68,191,169,241,1,3,9 i* X m% q1 n# i6 ~' N, a" A+ d$ y( e
- 154,24,9,31,0,35,4,41,66,248,4,59,249,210,95,234,
* P" ?2 _. o% a8 ~+ H& i - 129,124,19,70,4,213,79,240,0,12,162,248,0,192,155,28,- V3 R0 G7 z/ m
- 201,7,68,191,0,33,25,112,80,248,4,27,0,41,225,209,
5 G( u* H& u' x0 K Q8 p) D - 112,71,48,181,1,104,132,104,66,24,65,104,2,235,81,3,8 e# n1 Y5 G) h( \5 _& G& Z6 L3 z$ K2 a
- 201,7,11,213,76,68,9,224,18,249,1,27,18,248,1,91,- _# c/ l8 P5 _& N- r
- 0,41,4,248,1,91,5,213,73,28,249,209,154,66,243,209,, m' n+ m: s1 x3 O) m3 w
- 12,48,48,189,73,30,241,213,248,231,0,0,45,45,45,45,0 K& g( v& c2 w1 W1 y$ B# c8 s) Q
- 91,66,111,111,116,93,65,80,80,76,73,67,65,84,73,79,
9 c3 ^4 S7 |. G3 e) y3 \5 A3 U - 78,65,68,68,82,69,83,83,32,105,115,32,69,82,82,79,
* o& W1 K z6 P' P- F - 82,33,33,33,13,10,0,0,16,181,7,73,121,68,24,49,+ R, A$ l6 V. F
- 6,76,124,68,22,52,4,224,10,104,8,29,17,68,136,71,- g7 F, a+ {% ] O% @, |9 A
- 1,70,161,66,248,209,16,189,80,0,0,0,108,0,0,0,
V0 Z) w* i6 u/ H - 45,45,45,45,91,66,111,111,116,93,66,111,111,116,76,111,8 s0 o0 M/ [& Q% |+ q4 e
- 97,100,101,114,32,82,117,110,110,105,110,103,46,46,46,32,4 s0 r+ _3 h: X6 W6 s
- 13,10,0,0,45,45,45,45,91,66,111,111,116,93,74,117, ]5 s, J! K5 m) V! v4 W
- 109,112,95,84,111,95,65,112,112,108,105,99,97,116,105,111,2 b; b ^' d( D/ B! }. S
- 110,33,33,33,13,10,0,0,235,254,255,255,92,16,0,0,- x9 q3 \$ D! `# U6 d) o
- 104,0,0,32,0,0,0,0,27,255,255,255,68,1,0,0,
* F/ a- Q# r% n+ \ o' @/ ?& K - 138,0,0,0,0,0,0,32,0,240,13,248,0,40,1,208,
8 G5 }* @8 `% Q2 }# Y - 255,247,178,255,175,243,0,128,0,32,175,243,0,128,255,247,
. B5 B: e' q, B: p" i - 235,249,0,240,2,248,1,32,112,71,0,240,1,184,0,0, ]& i0 |. |4 ^( K
- 7,70,56,70,0,240,2,248,251,231,0,0,128,181,175,243,) R# P, K8 v0 ~4 e6 |1 }
- 0,128,2,74,17,0,24,32,171,190,251,231,38,0,2,0,
; R! f; ]* W% J - 56,181,4,70,13,70,40,70,0,240,6,248,168,66,24,191,
, G. \! `1 X7 F# ` - 0,36,32,70,50,189,0,0,1,73,255,247,9,188,0,191,
( B; B5 d4 l& r: p - 32,0,0,32,1,72,128,71,1,72,0,71,145,16,0,8,- e& ]* L# s8 ^& s, y
- 133,20,0,8,175,243,0,128,175,243,0,128,255,247,188,255,
# S4 h5 D" _! J$ V2 ?0 p - 255,247,254,191,255,247,254,191,255,247,254,191,255,247,254,191,: `' y8 T8 |1 \3 ~
- 255,247,254,191,255,247,254,191,255,247,254,191,255,247,254,191,
0 H! J: c3 O, `% f - 255,247,254,191,255,247,254,191,255,247,254,191,255,247,254,191,
: k8 G2 ~6 a( ^, g: s: z7 i - 255,247,254,191,255,247,254,191,255,247,254,191,255,247,254,191,1 {% f3 V6 @0 z8 P
- 255,247,254,191,255,247,254,191,255,247,254,191,255,247,254,191,
' _) L9 ]) C/ x* F& w" w) P - 255,247,254,191,255,247,254,191,255,247,254,191,255,247,254,191,) j- J) r; R, E* N( h% m& k) y1 `
- 255,247,254,191,255,247,254,191,255,247,254,191,255,247,254,191,
1 h! X8 ^" w5 u" ^! J - 255,247,254,191,255,247,254,191,255,247,254,191,255,247,254,191,
( A; a! v5 f7 U6 S: U- Q - 255,247,254,191,255,247,254,191,255,247,254,191,255,247,254,191,2 M$ W2 _$ }7 F; s% w
- 255,247,254,191,255,247,254,191,255,247,254,191,255,247,254,191,( M2 o2 n$ H9 l. |3 r; G6 j5 O
- 255,247,254,191,255,247,254,191,255,247,254,191,255,247,254,191,/ u6 e! b- e# K$ q% u1 W, m
- 0,10,253,0,8,3,4,6,8,12,16,24,32,48,249,0,$ x( v' y8 `3 ^3 ^
- 31,1,2,3,4,1,2,3,4,6,7,8,9,2,4,1,
0 o' O9 F2 K! C3 _4 M; K - 1,104,16,0,32,184,16,0,32,104,16,0,32,104,16,0," Y. v; K3 t2 _. e+ S D
- 32,252,0,3,104,16,0,32,252,0,7,100,0,0,32,80,
& m: d8 z+ T% {& |7 H6 G - 0,0,32,224,0};
复制代码 5 P* k2 B/ Z8 @! s& b! b
( b) M) \/ O) z# @7 j |