From ee32b4d63fdd3dbd76cd229045593c56f79e6a9a Mon Sep 17 00:00:00 2001 From: chenjintao Date: Sat, 10 Oct 2026 11:36:54 +0800 Subject: [PATCH] feat(lcd): animate fortune results with shared GFX layers --- AGENTS.md | 12 +- .../src/runtime/control_plane_factory_cli.c | 14 + components/platform/CMakeLists.txt | 2 + .../assets/lcd_layers/chouqian/back.png | Bin 0 -> 2999 bytes .../assets/lcd_layers/chouqian/edge.png | Bin 0 -> 2957 bytes .../assets/lcd_layers/chouqian/front.png | Bin 0 -> 7579 bytes .../assets/lcd_layers/chouqian/layout.json | 114 + .../assets/lcd_layers/chouqian/pile.png | Bin 0 -> 9594 bytes .../assets/lcd_layers/chouqian/question.png | Bin 0 -> 730 bytes .../assets/lcd_layers/chouqian/rod.png | Bin 0 -> 1584 bytes .../assets/lcd_layers/chouqian/text_buyun.png | Bin 0 -> 2502 bytes .../lcd_layers/chouqian/text_heping.png | Bin 0 -> 2784 bytes .../lcd_layers/chouqian/text_shangshang.png | Bin 0 -> 2132 bytes .../lcd_layers/chouqian/text_xiaoji.png | Bin 0 -> 2091 bytes .../lcd_layers/chouqian/text_zhongshang.png | Bin 0 -> 2094 bytes .../platform/internal/lcd_emote_fortune.h | 32 + .../src/generated/emote_gfx/fortune_assets.c | 1874 +++++++++++++++++ components/platform/src/lcd_direct.c | 207 ++ components/platform/src/lcd_emote_fortune.c | 200 ++ docs/GFX表情显示应用与开发指南.md | 37 +- docs/抽签分层动画开发说明.zh-CN.md | 151 ++ docs/显示与音频资产台账.zh-CN.md | 52 +- main/Kconfig.projbuild | 11 +- tools/prepare_fortune_expression.py | 156 ++ tools/preview_fortune_expression.py | 64 + tools/test_lcd_fortune_gfx.py | 148 ++ 26 files changed, 3063 insertions(+), 11 deletions(-) create mode 100644 components/platform/assets/lcd_layers/chouqian/back.png create mode 100644 components/platform/assets/lcd_layers/chouqian/edge.png create mode 100644 components/platform/assets/lcd_layers/chouqian/front.png create mode 100644 components/platform/assets/lcd_layers/chouqian/layout.json create mode 100644 components/platform/assets/lcd_layers/chouqian/pile.png create mode 100644 components/platform/assets/lcd_layers/chouqian/question.png create mode 100644 components/platform/assets/lcd_layers/chouqian/rod.png create mode 100644 components/platform/assets/lcd_layers/chouqian/text_buyun.png create mode 100644 components/platform/assets/lcd_layers/chouqian/text_heping.png create mode 100644 components/platform/assets/lcd_layers/chouqian/text_shangshang.png create mode 100644 components/platform/assets/lcd_layers/chouqian/text_xiaoji.png create mode 100644 components/platform/assets/lcd_layers/chouqian/text_zhongshang.png create mode 100644 components/platform/internal/lcd_emote_fortune.h create mode 100644 components/platform/src/generated/emote_gfx/fortune_assets.c create mode 100644 components/platform/src/lcd_emote_fortune.c create mode 100644 docs/抽签分层动画开发说明.zh-CN.md create mode 100644 tools/prepare_fortune_expression.py create mode 100644 tools/preview_fortune_expression.py create mode 100644 tools/test_lcd_fortune_gfx.py diff --git a/AGENTS.md b/AGENTS.md index 72db302..9d83bc7 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -234,7 +234,7 @@ Use a clear conventional format: 和预览,不把 tq-cat 的实现或其他目录里的旧文件当成当前工程。 2. 优先查看 `lcd_direct.c`、领域表情目录、平台公共接口、构建列表和 Kconfig。 图层制作还需阅读 `split_idle_expression.py`、`compress_idle_expression.py`。 -3. 当前是待机/listening GFX 与其他 PNG 混合后端;未接入 esp_emote_expression 状态机, +3. 当前是待机/listening/抽签 GFX 与其他 PNG 混合后端;未接入 esp_emote_expression 状态机, 也未整体迁移到 LVGL。不要凭依赖存在或请求优先级字段推断功能已经实现。 ### 必须保持的正确性 @@ -314,6 +314,15 @@ Use a clear conventional format: 22. 实机验收包括待机/表情切换、跨分钟、充电、缓存启动、唤醒与网络并行、 取消和超时。区分源码检查、主机测试、编译、设备日志与用户观感证据。 没有 TE 同步,不能承诺完全无撕裂;用户满意也不等于已量化稳定帧率。 +23. 抽签还需阅读 `docs/抽签分层动画开发说明.zh-CN.md`。共享六图层与五份签文, + 一次只解压共享图层及所选签文;LZ4 与旧四字节 RLE 不是同一格式。 + `prepare_fortune_expression.py --check` 验证生成一致性/往返, + `test_lcd_fortune_gfx.py` 验证实际 C 解码、几何、取消和失败释放。 + 不能把所有结果都常驻或缓存全屏中间帧;退出先解绑 GFX 再释放 PSRAM。 + 动画前准备失败才可 PNG 后备,取消/传输失败不得重播旧六帧。 + 保留原领域结果选择和六步匹配;不得在平台重新随机抽签或改签文语义。 + 保持 `(56,20,208,220)` 安全窗口,覆盖放大爪尖且避开时间/电池; + 图层尺寸或几何变化须同步生成器、预览与测试,不只替换 PNG。 回归命令(仓库根目录): @@ -322,6 +331,7 @@ python3 tools/test_lcd_status_hud.py python3 tools/test_lcd_emote_transport.py python3 tools/test_lcd_emote_timeline.py python3 tools/test_lcd_listening_gfx.py +python3 tools/test_lcd_fortune_gfx.py ``` 提交只包含任务相关文件,遵守主题分支与原有提交规则;不要提交临时补丁脚本、 diff --git a/components/control_plane/src/runtime/control_plane_factory_cli.c b/components/control_plane/src/runtime/control_plane_factory_cli.c index 148af5d..c51a453 100644 --- a/components/control_plane/src/runtime/control_plane_factory_cli.c +++ b/components/control_plane/src/runtime/control_plane_factory_cli.c @@ -659,6 +659,20 @@ static void handle_command_line(char *line) handle_prepare_rotate(key_version); } else if (strcmp(cmd, "lcd_test") == 0) { handle_lcd_test(); + } else if (strcmp(cmd, "lcd_fortune_test") == 0) { + /* 有界、仅显示测试;不调用云抽签、不写 NVS、不改变语义选择映射。 */ + if (argc != 2 || argv[1][0] < '0' || argv[1][0] > '4' || argv[1][1] != '\0') { + cli_write_error("invalid_fortune_index"); + return; + } + const domain_expression_request_t request = { + .id = DOMAIN_EXPRESSION_CHOUQIAN, + .trigger = DOMAIN_EXPRESSION_TRIGGER_FACTORY_LCD_TEST, + .chouqian_result_index_valid = true, + .chouqian_result_index = (size_t)(argv[1][0] - '0'), + }; + if (domain_runtime_request_expression(&request) == ESP_OK) cli_write_ok(); + else cli_write_error("lcd_fortune_test_failed"); } else { cli_write_error("unknown_command"); } diff --git a/components/platform/CMakeLists.txt b/components/platform/CMakeLists.txt index 094f592..d135271 100644 --- a/components/platform/CMakeLists.txt +++ b/components/platform/CMakeLists.txt @@ -31,6 +31,8 @@ if(CONFIG_TQ_LCD_EMOTE_GFX_TEST) list(APPEND platform_srcs "src/lcd_emote_assets.c" "src/lcd_emote_listening.c" + "src/lcd_emote_fortune.c" + "src/generated/emote_gfx/fortune_assets.c" "src/generated/emote_gfx/idle_base.c" "src/generated/emote_gfx/idle_eyes_open.c" "src/generated/emote_gfx/listening_base.c" diff --git a/components/platform/assets/lcd_layers/chouqian/back.png b/components/platform/assets/lcd_layers/chouqian/back.png new file mode 100644 index 0000000000000000000000000000000000000000..759a65d70114b6d11d15d5c1ab61f22af3080caa GIT binary patch literal 2999 zcmV;o3rO^dP)6RQN5I8O{ou)PoO?Cz|0W_D(8f6TsY?|SF$ zb=vte`Z6=?d~@cz_ndRjy%+c&K1ehDXV$G9Te#zM>O}F#+eJBHsA>5cVA&srh%l`>loa*XyrCAjAP`7VxkjL;^){TAa!dta{*0 z96TB&GfMv2MV)lhx}~_K@ADwYRxIXWL1-HAc40gn!}hn%VC@t8%71U`#^v$NaJ z7L@3}zZw&^3%B<5m@=SY@+04>U2_7aG+7f@ThPGsP^Ml_39|F#RYkQ$qgHUO zHl=?c<~(`E%UII5Q@H=5gmdI?T5>Uc)X9E9f+c7-0=^)Xq`PE;)lL)ouC2!Fy<=qob)bUB)C_i6L}8ugV!LTK#&>sBePhw{BccBb^t`Xg@wJ zE=Y!A2T%o!zXKZ{`ATEU7X}}q#G}kwjn~DLg=gWG`j%g}b_pdOWk&jG$8phDsY`yv z4RfaY(j;u3FYhJ>rd*%4wZH!Ao|+nKD$VP}0H$2;Xm6=cp7knC6;)2oqWIS|! zeEQb@ABRRRSj|8C`+>$D-r(-L>4JIwri<6D;BkRRXvrT)!>DfkvxhD?&A+_!WBu{` z(bw0|FJIX^>wNiIV|}th;J@m3`s4YBe{l$EKG$$;t=TkQYpm~w8{RXX##*)PQo3vF zEwftl1INx{@tW6(;q2}1{hyMJn~%+2-@YK>?#K39%igZIp_}gBbQ^r(4p1b4kY9Tt zOmnvZTV6e-t7vK3y#3xo!{o(%XFx?B1Q8%EfsAuNM$leBUIg`UwrLntwfuXM?A2YZ z)o{?_$os<}eolJBM2Z0Cc@Uu$h^B!I2O5uR4@xP`(;6>gB|Q<3r$8wS zIvguMPqHCkl&=|&>&16J`i^}gHfd3<5Eprn5H~$$ieHFS^@2)YOf^=DXaA(<{TvXN zOlkhanFMycGem47Kbp>!Ee=4lyc@Xqg&6VW*FSs6-m$vYKug)e04kPt7=vv$r1@lq z;?KLz5L?OT#^tG+cNn9SHLUq3pZk~nqqJqq>(#s!tR{g=YK+wA(EQ*~#(wg$ly^tt zNCNHtsaaT^nvW&M?I#}$_?*+Yj{=v3K|?tp+-|6DZ}Rm}tJi+=>5ToFFK{eqfCsn` zprj4wCr@mN6$Vc6&XG@NRl^!aG6jN&EAjte zG~*okcyipZuT7YU^YMQX51mUn_}OP=V>K}z*43P!qpkgLJZD(*Zsz=yf`jBULf)|E zX~4ytpOcnPq-4YWIAOcA3{7{?an0v)igV* zhf!zAi;}8!PdfAH<)S4))GSuQrJ9=(7DcW5%LrQKMs)=Tia9&~^!@&bs5;!>sRcmI z>dT{#B{fTx2$V84v8;AJ&sVS#(QC&ugH9JL|N=nX?XIk3y^~0qo&ZT%h6!y7b`Fu{-ygR5_ZT#J(8Xh5?cf;}_ z-Sh4kp9IpaMQ=`P-iqakYinWgLh*-){_%Ys*mKiM#Bs})h@1AsBkdp@0eZCJBU?1D zz|x_cye!N1jHl;$pe>}0=XV7`)ud_7!|M|H7B=9_+EyJApp7rL5$K-uLZ;DtCL_B; zzLYVUytb9CzCB^I7sG|LYOPLItNf^{0I9|apG%ex1Vb|tzmvek3Xn2p+cBERxkEmk z&dh8)Ut=w;m<8|75P3=QHrqk{=|$oCI?)^s_%b0aBt$VbQ2rkg8!`jfOfluPe-0kj{2G^I@hIk8|FUgcQJ5O$yW@$yNXMdvHSh77 z@7MFfDDM67Uf6ko_-%sZ|x_uZttr3yi^Y}~c7uZP~ZW+7HB>qSS{3x*8?Y7X$QP-OwKLU4E>fdhw!@z>p_OqY<( tijBMG_lD^gdfPCTk{s3X{|}wVe*rxNnOf63l@I^`002ovPDHLkV1n}c`r7~i literal 0 HcmV?d00001 diff --git a/components/platform/assets/lcd_layers/chouqian/edge.png b/components/platform/assets/lcd_layers/chouqian/edge.png new file mode 100644 index 0000000000000000000000000000000000000000..36bd432e9acfb870921c231359b283de9a4626d1 GIT binary patch literal 2957 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 literal 0 HcmV?d00001 diff --git a/components/platform/assets/lcd_layers/chouqian/layout.json b/components/platform/assets/lcd_layers/chouqian/layout.json new file mode 100644 index 0000000..e1a7838 --- /dev/null +++ b/components/platform/assets/lcd_layers/chouqian/layout.json @@ -0,0 +1,114 @@ +{ + "canvas": [ + 320, + 240 + ], + "window": [ + 56, + 20, + 208, + 220 + ], + "layers": [ + { + "name": "pile", + "width": 208, + "height": 76, + "x": 56, + "y": 164, + "raw_bytes": 47424, + "lz4_bytes": 9417 + }, + { + "name": "back", + "width": 63, + "height": 113, + "x": 0, + "y": 0, + "raw_bytes": 21357, + "lz4_bytes": 4179 + }, + { + "name": "edge", + "width": 41, + "height": 110, + "x": 0, + "y": 0, + "raw_bytes": 13530, + "lz4_bytes": 4389 + }, + { + "name": "front", + "width": 100, + "height": 190, + "x": 0, + "y": 0, + "raw_bytes": 57000, + "lz4_bytes": 10774 + }, + { + "name": "question", + "width": 27, + "height": 50, + "x": 0, + "y": 0, + "raw_bytes": 4050, + "lz4_bytes": 817 + }, + { + "name": "rod", + "width": 169, + "height": 56, + "x": 0, + "y": 40, + "raw_bytes": 28392, + "lz4_bytes": 2094 + }, + { + "name": "text_buyun", + "width": 48, + "height": 104, + "x": 0, + "y": 0, + "raw_bytes": 14976, + "lz4_bytes": 2638 + }, + { + "name": "text_heping", + "width": 48, + "height": 104, + "x": 0, + "y": 0, + "raw_bytes": 14976, + "lz4_bytes": 2851 + }, + { + "name": "text_shangshang", + "width": 48, + "height": 104, + "x": 0, + "y": 0, + "raw_bytes": 14976, + "lz4_bytes": 2069 + }, + { + "name": "text_xiaoji", + "width": 48, + "height": 104, + "x": 0, + "y": 0, + "raw_bytes": 14976, + "lz4_bytes": 2210 + }, + { + "name": "text_zhongshang", + "width": 48, + "height": 104, + "x": 0, + "y": 0, + "raw_bytes": 14976, + "lz4_bytes": 2109 + } + ], + "note": "黑背景归零;共享爪子,签文字形来自原图;旧 PNG 保留" +} diff --git a/components/platform/assets/lcd_layers/chouqian/pile.png b/components/platform/assets/lcd_layers/chouqian/pile.png new file mode 100644 index 0000000000000000000000000000000000000000..dcd9515c322e652b4dc603a7c5875ab1b0a7933f GIT binary patch literal 9594 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 M07*qoM6N<$g4~u{JOBUy literal 0 HcmV?d00001 diff --git a/components/platform/assets/lcd_layers/chouqian/rod.png b/components/platform/assets/lcd_layers/chouqian/rod.png new file mode 100644 index 0000000000000000000000000000000000000000..02f9b561cdc31825455ad03afb41d35864bbbae7 GIT binary patch literal 1584 zcmV-02G9A4P)>Th(t$(4Qo3n^2drTt)-OQ`~F2qQ8rd7^RQa| z5QOPVAQ7blz%-%VA6c*fV?8!@4k0s3fM<%tP)ajVqn5CClZ{7Cnu1i9FJ)pL57kxq zSX&^*N~Jg{-gn!m2j&46UMZKt>G7j#&u`?U$xLObgjMBdW8I_qD9IN=Db2)uJ6&M3 zxqJWs`%}4`06F^29{4O6vc^T;FzQe0gOPJH` zLxxxgzsrYl9#H>S0rFM3Q13h&(I`oz3532v#@1EJpw&oGEX#^2(*1lXQUkrU= zHsra&u=h`OKCbb`kPDZsPMp4Y3wDnmJ!X5-t||B;KFCSqNR3*;Rw%{TtW{!Zj$qD? z*frq9H|P7{U@Z1iaDp&8?1Dg^Ln56Io~SNhx*{)n?>`h$g86i<75G*T&cAP4giP^4= z8q^f$MU^R=uMOj5+bvpkCpd$>P6#UH$t%(Zt%60HEp09z4xH&hqrpO=Od{G%HeS7# zv7{2|?%Fc;*3-oivt?lQ{dQv~i89F%2zZJAjMJwLE7(h`3Zr@k=5vFE>Xa#fMpw`D zZ+`Z`>!&|_5yQrg#CUvU-^&&3RjnebZ29G-{*>(kT8wP_x;O0f&Lz~i2w=yvC2Z%0 z(untc(PGAdGd(2A6y$}Ee`PX-CgOcZwy1b<%cSd9%GoEID#Lc3`zILoHFe|El|d3_ ziW4kQtK|kliB_YlXE)A&$D3CtZGCSo3$(RyWz2m){Dot!y(G*2Se+jG=7Ow12Qwy1cKx}ZW$^#H*C$vlcZ zhucY<#DZp1E*AypIC27s(Nh|#MK8b-`q+qgPy3-97W5N2L^5>ebGa!wDS>$QmCi=M zBvK-74jN5CU!$vMBvJwk@r3AH{+>ii%sY-DbJX{8)k+Bh@o0Y5=;|4ltHz=^nji>* iAP9mW2!bGpMCCs#Zk~V59$u3G0000gvvB{e5 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 VT)2wYXu$vg002ovPDHLkV1iO#^vnPN literal 0 HcmV?d00001 diff --git a/components/platform/assets/lcd_layers/chouqian/text_zhongshang.png b/components/platform/assets/lcd_layers/chouqian/text_zhongshang.png new file mode 100644 index 0000000000000000000000000000000000000000..2a1da485db121e8fa5db36c1625660aee230be37 GIT binary patch literal 2094 zcmV+}2+{Y6P)Ue35!vFSOb|!qp~d_6Ip1RDg~($7ZaKyWzxbbRVeC3q>ZaB zQZAxsid0%ICRI_z1rk!0iEeR6Ho8sJ;uYUwUp|6>`LX}qjx^Xol8}emIQ`BI7O_AgX9&` zQvy{N`WVSCLR+X$PXZ6G))K4Yu;vz1N`Oh`U?ZIkwB}yH?C3PSZV$X34_Flk0MHoo zk;QSyD=oo^-`{0+6ah@Y^w22GZ=OWeg}#vc^tPJFWuJrO7m=H<$6FsQCj1<1qF?N4SKukma*}-0m&_W>ko+Rd?|i!HgVkRdX7(OE49PFT(pEu=5E$ufAfHTygACD`ujV?_uK=O-d`tW&Fk!Newko>W2p=vD;j?Ynsz{I2Bm}b_!=!)sO z4YGL+QafT&XC$cpf06=a*J^)~K$pNp&gQ5fFa4)(bTkPQLa|`mL zZpDiELjCP#vfck8CLc&+%*UI5o=&P0nG$q0@^s@2o4!X%QCN%F4(vz*yg?VU9oUfs zqU}OyL4f0Pz^c=jfGDg5w$uzV$RL9ZGRPo<7;x|MQBwMzyONm?unmkVP9kXpj=g)I zk^ExH6B;S?Mp+ey#qp{1C7{F!EaegqoGwKPu*n=ut>xtdWqL}$P*$99lzB%;K&8=v zH|Q|fae``o``57Gm7KNrEI1Je0INB8Js#})X>CH;%cK&}6dEBoU6>pgKyRywR+k(Q zoUTA*ZfgeH)v5@eFU#uv@kn*3CYn2-k=K#mrMUs zYD;>ARd|CASsa_5yO11_TNkDDCBX4H@OnJyOF*fpbV_wVNuOv}x<;i_ssm{)0i|_- zO@$69>5-;H2PB_zONdD%r8@Cw7}**PB%g@=C#rGm-TMp>nm5kP*TYa&9H`*3UazBP zcZVSPL`Z%SMF+}Jdbk2F{o2Cxx0}g1Wyi|=67qgf@ST+~2@&XNF;ccR5BX&V{N#6! znBZ~&uiFOz*mJ}bQs8v&@=<#JY#O_=RLIt<(eS4+CU_!T_67KTUX)aphm9G0?e`i? zJe9ar7y1}WTLmrJW&>WQTf#>Y=DFP@INgx^A}Z@&4!F|M(A#RFg|BVk4LTH8 zA5Llu3KEHZ-a21K(UN`L&3dw4ucP4l(rBg1cP>>?ce6gBDn};XOyuL+4^Z-w35BLo z0D#l(gya=4_tgYg6&E2kx=b7^Mb)J;!R|mQF%TXk~sWqypFL@gO%}597W) z5u19folRu_VhAq#9MoDKS!@>8rFE=2mJ`kkY&pC>{J|-jeewNF=QSa&ay-j1 zUjIL7Q3<&-si(zA&p!Jyw!votv{fR*_rWNS3gm6hPtYySy*$cmH4G1h-~`}@d( z4ly0x>3p7s4JP|cpq1A9^i zx_NFlEzit@<8yGRp$;`~|DB0u4>&#thh9B}t;~E<2n=?dr6;%hAo)cUl<$qH7a&+t zSsc5iF1{@h=x;aE%+OPa!Wt@HKOMJQAX{|VK5VAwDIswC;*V%)?3;)okiqv}qvfd? zNL~TU_9Xxa>)ZhT-!mikT*{xvYZsVA+7NwiA>`p@OB-t!YyRHSh+P~Ht~F4+l8ozO zd5ctQ`H;1H>wFn$3Jp+cbO~8iYiARge{+-Bc1JD|bT{isw#X^B#2ZUS2sE%oo9*sq zJ$XGI=!=U|+VqofeqgNsGi=sF*44<9;B+Bdqk&^`2Aj>WrLBSlrwgUk2bCwl8+2Hj zn2f9^ei7$BA*Q)|nW=pJ^rrp7b6-t><8!vumYy(y;_Aa-RUCp3Aw4Zd5}YoSRaXYC zd*z~q(H9qm^$Yj37>QMJD5&`1_E}=Nq$YTu-+kynM1$1T$dj(52yeVU&R9E}X!K(X zw(3eJ1=h|c>TNaAt@CAM?QEi0x>maydHV1)L)-4m4R)L*kRPkgjoJvmXQSY6&9%B= zf!!+r0QtuQUbM(BzE0%8&&C_i8U5QQ0gL+Nc3;fDBN1G=wb|=$eXE&3TLu|qkb$!J YFMgdzo5@;2mjD0&07*qoM6N<$g6~rBjsO4v literal 0 HcmV?d00001 diff --git a/components/platform/internal/lcd_emote_fortune.h b/components/platform/internal/lcd_emote_fortune.h new file mode 100644 index 0000000..0086c61 --- /dev/null +++ b/components/platform/internal/lcd_emote_fortune.h @@ -0,0 +1,32 @@ +#pragma once +#include "lcd_emote_assets.h" + +/* 平台私有图层与几何;领域仍选择资产序列,不引入业务状态机。 */ +enum { LCD_FORTUNE_PILE, LCD_FORTUNE_BACK, LCD_FORTUNE_EDGE, + LCD_FORTUNE_FRONT, LCD_FORTUNE_QUESTION, LCD_FORTUNE_ROD, + LCD_FORTUNE_SHARED_COUNT, LCD_FORTUNE_RESULT_COUNT = 5 }; +#define LCD_FORTUNE_X 56 +#define LCD_FORTUNE_Y 20 +#define LCD_FORTUNE_WIDTH 208U +#define LCD_FORTUNE_HEIGHT 220U +#define LCD_FORTUNE_MOTION_MS 2500U +#define LCD_FORTUNE_TOTAL_MS 4000U +#define LCD_FORTUNE_HOLD_MS 1500U +#define LCD_FORTUNE_STEP_MS 34U +typedef struct { + uint16_t width, height, x, y; + size_t compressed_size; + const uint8_t *data; +} lcd_fortune_asset_t; +extern const lcd_fortune_asset_t lcd_fortune_shared[LCD_FORTUNE_SHARED_COUNT]; +extern const lcd_fortune_asset_t lcd_fortune_text[LCD_FORTUNE_RESULT_COUNT]; +/* 有界 LZ4 block 解码,无动态内存;拒绝截断、无效回指及长度不符。 */ +bool lcd_emote_fortune_decode(const uint8_t *src, size_t size, uint8_t *dst, size_t capacity); +extern const char *const lcd_fortune_result_dirs[LCD_FORTUNE_RESULT_COUNT]; + +/* RGB565 高字节在前 + 独立 A8;所有像素由调用方拥有。 */ +typedef struct { uint16_t width, height; const uint8_t *pixels; } lcd_fortune_texture_t; +/* 输出不透明 RGB565,完整重画固定局部窗口,确保旧轮廓恢复而不残影。 */ +bool lcd_emote_fortune_build_frame(uint8_t *dst, size_t capacity, + const lcd_fortune_texture_t shared[LCD_FORTUNE_SHARED_COUNT], + const lcd_fortune_texture_t *text, uint32_t time_ms); diff --git a/components/platform/src/generated/emote_gfx/fortune_assets.c b/components/platform/src/generated/emote_gfx/fortune_assets.c new file mode 100644 index 0000000..ba9517c --- /dev/null +++ b/components/platform/src/generated/emote_gfx/fortune_assets.c @@ -0,0 +1,1874 @@ +/* Generated by tools/prepare_fortune_expression.py; do not edit. */ +#include "lcd_emote_fortune.h" + +static const uint8_t fortune_pile[] = { + 0x1f, 0x00, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcd, 0xa0, 0x31, 0x42, 0x6a, 0xc5, 0x7b, 0x46, 0x73, 0x26, 0x41, 0xc3, 0x0e, 0x00, 0x0f, + 0x01, 0x00, 0xff, 0x7c, 0xa0, 0xbd, 0x09, 0xfe, 0xcd, 0xfe, 0xcc, 0xfe, 0xcd, 0xfe, 0xac, 0x08, 0x00, 0x40, 0xf6, 0x6c, 0x52, 0x24, 0x16, 0x00, + 0x0f, 0x01, 0x00, 0xff, 0x72, 0x60, 0x29, 0x22, 0xee, 0x2b, 0xfe, 0xcd, 0x96, 0x01, 0x27, 0xfe, 0xee, 0x08, 0x00, 0x30, 0xee, 0x73, 0x26, 0x1e, + 0x00, 0x0f, 0x01, 0x00, 0xff, 0x6e, 0x24, 0x49, 0xe3, 0x34, 0x03, 0x0e, 0x08, 0x00, 0x20, 0x94, 0x07, 0x22, 0x00, 0x08, 0x01, 0x00, 0xe0, 0x73, + 0x26, 0xb4, 0xc9, 0xe6, 0x0b, 0xe6, 0x0b, 0xdd, 0xcb, 0x9c, 0x27, 0x39, 0x83, 0x12, 0x00, 0x0f, 0x01, 0x00, 0xff, 0x4c, 0x22, 0x93, 0xe7, 0x2c, + 0x03, 0x04, 0x34, 0x03, 0x0c, 0x08, 0x00, 0x20, 0x31, 0x42, 0x26, 0x00, 0x02, 0x01, 0x00, 0x26, 0xb4, 0xc9, 0x18, 0x00, 0x02, 0x08, 0x00, 0x20, + 0xac, 0x88, 0x18, 0x00, 0x0f, 0x01, 0x00, 0xff, 0x48, 0x26, 0x52, 0x24, 0x2c, 0x03, 0x0f, 0x08, 0x00, 0x05, 0x00, 0x28, 0x00, 0x44, 0x00, 0x00, + 0x7b, 0x46, 0x10, 0x00, 0x0a, 0x08, 0x00, 0x20, 0xdd, 0xcb, 0x1e, 0x00, 0x0f, 0x01, 0x00, 0xff, 0x44, 0x20, 0x4a, 0x03, 0x04, 0x03, 0x00, 0x66, + 0x01, 0x04, 0x08, 0x00, 0x61, 0xff, 0x0f, 0xff, 0x10, 0xff, 0x52, 0x20, 0x03, 0x01, 0x10, 0x00, 0x00, 0x08, 0x00, 0x66, 0x93, 0xe7, 0x00, 0x00, + 0xc5, 0x2a, 0x10, 0x00, 0x0c, 0x08, 0x00, 0x20, 0xb4, 0xc9, 0x4c, 0x00, 0x0f, 0x01, 0x00, 0xff, 0x42, 0x04, 0x04, 0x03, 0x03, 0x08, 0x00, 0xb0, + 0xcd, 0xff, 0x73, 0xff, 0x33, 0xff, 0x53, 0xff, 0x73, 0xff, 0x73, 0x0e, 0x00, 0x05, 0x18, 0x00, 0x31, 0xac, 0xdd, 0xcb, 0x08, 0x00, 0x04, 0x10, + 0x00, 0x0d, 0x08, 0x00, 0x20, 0x29, 0x22, 0x4e, 0x00, 0x0f, 0x01, 0x00, 0xff, 0x3e, 0x21, 0xcd, 0x6a, 0x28, 0x03, 0x01, 0x04, 0x03, 0xe0, 0xfe, + 0xee, 0xfe, 0xef, 0xff, 0x73, 0xe5, 0xb3, 0xe5, 0xb3, 0xdd, 0x73, 0xe5, 0xf3, 0xa4, 0x01, 0x01, 0x14, 0x00, 0x00, 0x04, 0x00, 0x04, 0x20, 0x00, + 0x0f, 0x08, 0x00, 0x08, 0x20, 0xbd, 0x09, 0x50, 0x00, 0x0f, 0x01, 0x00, 0xff, 0x3c, 0x22, 0x41, 0xc3, 0xfc, 0x02, 0x03, 0x04, 0x03, 0xb0, 0xee, + 0xff, 0x53, 0xdd, 0x52, 0xdd, 0x93, 0xdd, 0x52, 0xe5, 0xb3, 0x08, 0x00, 0x41, 0xee, 0x53, 0xff, 0x10, 0x18, 0x00, 0x04, 0x20, 0x00, 0x07, 0x08, + 0x00, 0x84, 0xee, 0x2f, 0xe6, 0x13, 0xff, 0x13, 0xff, 0x0f, 0x10, 0x00, 0x00, 0x08, 0x00, 0x00, 0x52, 0x00, 0x0f, 0x01, 0x00, 0x91, 0x42, 0xb4, + 0xc9, 0xfe, 0xac, 0x54, 0x02, 0x60, 0xfe, 0xcd, 0xe6, 0x0b, 0x62, 0xa5, 0x14, 0x00, 0x0f, 0x01, 0x00, 0x83, 0x01, 0x3e, 0x03, 0x01, 0xa8, 0x00, + 0x00, 0x02, 0x00, 0x41, 0xff, 0x73, 0xdd, 0x93, 0x3c, 0x03, 0x05, 0x04, 0x00, 0x24, 0xfe, 0xf3, 0xc8, 0x00, 0x07, 0x28, 0x00, 0x34, 0xcc, 0xfe, + 0xd0, 0x28, 0x00, 0x28, 0xe6, 0x13, 0x20, 0x00, 0x0f, 0x70, 0x10, 0x8f, 0x21, 0x29, 0x22, 0xf2, 0x00, 0x07, 0x54, 0x02, 0x00, 0x08, 0x00, 0x28, + 0xdd, 0xeb, 0xa0, 0x0a, 0x0f, 0x01, 0x00, 0x79, 0x02, 0xa0, 0x00, 0x02, 0xa8, 0x00, 0x60, 0xff, 0x73, 0xee, 0x53, 0xdd, 0x93, 0x76, 0x01, 0x00, + 0x3c, 0x03, 0x02, 0x08, 0x00, 0x21, 0xe6, 0x13, 0x7a, 0x01, 0x01, 0x20, 0x00, 0x04, 0x08, 0x00, 0x26, 0xff, 0x10, 0x20, 0x00, 0x44, 0xdd, 0x93, + 0xee, 0x2f, 0x18, 0x00, 0x40, 0xfe, 0xcd, 0x6a, 0xe5, 0x54, 0x00, 0x0f, 0x01, 0x00, 0x87, 0x23, 0x41, 0xa3, 0x4c, 0x02, 0x04, 0x54, 0x02, 0x07, + 0x08, 0x00, 0x0f, 0xa2, 0x01, 0x81, 0x26, 0x6a, 0xc5, 0xa0, 0x00, 0x70, 0xff, 0x0f, 0xff, 0x73, 0xe5, 0xd3, 0xdd, 0x04, 0x00, 0x02, 0x1c, 0x03, + 0x02, 0x08, 0x00, 0x32, 0x93, 0xff, 0x31, 0x20, 0x00, 0x05, 0x28, 0x00, 0x11, 0x31, 0x18, 0x00, 0x04, 0x20, 0x00, 0x32, 0x73, 0xee, 0x53, 0x18, + 0x00, 0x00, 0x20, 0x00, 0x20, 0x83, 0x87, 0x56, 0x00, 0x0f, 0x01, 0x00, 0x85, 0x20, 0x6a, 0xe5, 0x44, 0x02, 0x04, 0x4c, 0x02, 0x0d, 0x08, 0x00, + 0x1f, 0x8c, 0xe0, 0x08, 0x6f, 0xf6, 0x03, 0x41, 0xa3, 0x94, 0x07, 0xbd, 0x09, 0xe6, 0x0b, 0xdd, 0xeb, 0xd5, 0xaa, 0xa4, 0x48, 0x7b, 0x46, 0xd5, + 0xaa, 0xa0, 0x00, 0x44, 0xff, 0x32, 0xff, 0x73, 0x78, 0x06, 0x08, 0x08, 0x00, 0x22, 0xff, 0x32, 0x20, 0x00, 0x03, 0x28, 0x00, 0x32, 0xee, 0xf6, + 0x93, 0x18, 0x00, 0x04, 0x20, 0x00, 0x21, 0xe5, 0xb1, 0x18, 0x00, 0x01, 0x20, 0x00, 0x0f, 0x0a, 0x12, 0x89, 0x20, 0x21, 0x02, 0xbe, 0x00, 0x01, + 0x0e, 0x04, 0x0f, 0x08, 0x00, 0x04, 0x20, 0xee, 0x2b, 0x28, 0x00, 0x0f, 0x01, 0x00, 0x65, 0x42, 0x73, 0x26, 0xf6, 0x8c, 0x88, 0x00, 0x04, 0x90, + 0x00, 0x0a, 0x08, 0x00, 0x00, 0x56, 0x0b, 0x00, 0x10, 0x03, 0x0a, 0x04, 0x00, 0x25, 0xe5, 0xb3, 0xc4, 0x09, 0x01, 0x28, 0x00, 0x40, 0xff, 0x53, + 0xe5, 0xf3, 0x18, 0x00, 0x06, 0x04, 0x00, 0x20, 0xe6, 0x13, 0x18, 0x00, 0x02, 0x20, 0x00, 0x0f, 0x40, 0x03, 0x7b, 0xa0, 0x62, 0xa5, 0xac, 0x88, + 0xb4, 0xc9, 0x94, 0x07, 0x41, 0xa3, 0x0e, 0x00, 0x22, 0xdd, 0xcb, 0x44, 0x02, 0x04, 0x4c, 0x02, 0x67, 0xfe, 0xad, 0xfe, 0xae, 0xfe, 0xad, 0x10, + 0x00, 0x92, 0xcc, 0xfe, 0xcd, 0x8b, 0xc7, 0xac, 0x88, 0xe6, 0x0b, 0x10, 0x00, 0x4f, 0xf6, 0x8c, 0xcd, 0x6a, 0xf4, 0x04, 0x57, 0x20, 0xf6, 0x8c, + 0x80, 0x00, 0x00, 0x78, 0x00, 0x0f, 0x08, 0x00, 0x03, 0x00, 0xde, 0x04, 0x03, 0xbc, 0x09, 0x00, 0x76, 0x01, 0x05, 0x08, 0x00, 0x61, 0xe6, 0x13, + 0xff, 0x73, 0xff, 0x32, 0x24, 0x00, 0x00, 0x64, 0x03, 0x32, 0x0f, 0xff, 0x73, 0x18, 0x00, 0x04, 0x20, 0x00, 0x21, 0xdd, 0x93, 0x40, 0x03, 0x03, + 0x48, 0x00, 0x0f, 0x80, 0x06, 0x77, 0x21, 0xcd, 0x6a, 0x34, 0x02, 0x03, 0x78, 0x05, 0x00, 0x5e, 0x0f, 0x01, 0x08, 0x00, 0x04, 0x10, 0x00, 0x32, + 0xee, 0xe5, 0xd0, 0xa0, 0x05, 0x22, 0xe5, 0xb1, 0x10, 0x00, 0x04, 0x18, 0x00, 0x0c, 0x08, 0x00, 0x40, 0xee, 0x4c, 0x49, 0xe3, 0x50, 0x00, 0x0f, + 0x01, 0x00, 0x49, 0x26, 0x52, 0x44, 0x70, 0x00, 0x0f, 0x08, 0x00, 0x05, 0x20, 0xff, 0x31, 0xa0, 0x01, 0x00, 0x10, 0x03, 0x02, 0xb8, 0x00, 0x04, + 0x08, 0x00, 0x20, 0xf6, 0x93, 0xa8, 0x0e, 0x21, 0xff, 0x53, 0x52, 0x10, 0x10, 0x32, 0x0a, 0x00, 0x02, 0x18, 0x00, 0x04, 0x20, 0x00, 0x32, 0xdd, + 0x73, 0xee, 0x60, 0x03, 0x01, 0x48, 0x00, 0x0f, 0x40, 0x03, 0x73, 0x21, 0x5a, 0x64, 0x30, 0x02, 0x00, 0x04, 0x00, 0x00, 0x58, 0x02, 0x0f, 0x08, + 0x00, 0x00, 0x04, 0x5c, 0x02, 0x01, 0xa0, 0x05, 0x16, 0x91, 0x18, 0x00, 0x0f, 0x08, 0x00, 0x03, 0x0e, 0x1e, 0x16, 0x0f, 0x01, 0x00, 0x3b, 0x04, + 0x68, 0x00, 0x0f, 0x08, 0x00, 0x09, 0x01, 0x86, 0x01, 0x0f, 0x80, 0x06, 0x00, 0x00, 0xa4, 0x0e, 0x09, 0x02, 0x00, 0x02, 0x64, 0x03, 0x05, 0x20, + 0x00, 0x40, 0xe5, 0xb3, 0xf6, 0xd0, 0x40, 0x00, 0x02, 0x48, 0x00, 0x0f, 0x80, 0x06, 0x71, 0x22, 0x7b, 0x46, 0x2c, 0x02, 0x01, 0x96, 0x00, 0x0f, + 0x08, 0x00, 0x02, 0x20, 0xe5, 0x91, 0x58, 0x02, 0x06, 0x04, 0x00, 0x22, 0xf6, 0x4e, 0x18, 0x00, 0x04, 0x20, 0x00, 0x0e, 0x08, 0x00, 0x20, 0xc5, + 0x4a, 0x5a, 0x00, 0x0f, 0x01, 0x00, 0x43, 0x26, 0xfe, 0xad, 0x68, 0x00, 0x01, 0x08, 0x00, 0x04, 0x04, 0x00, 0x04, 0x10, 0x00, 0x00, 0x9e, 0x01, + 0x00, 0xde, 0x04, 0x42, 0x73, 0xff, 0x73, 0xee, 0xbe, 0x04, 0x06, 0x04, 0x00, 0x10, 0xf3, 0x16, 0x00, 0x09, 0x02, 0x00, 0x0b, 0xa4, 0x06, 0x46, + 0xe5, 0xb3, 0xff, 0x0f, 0x48, 0x00, 0x0f, 0xea, 0x0d, 0x6f, 0x0f, 0xa4, 0x09, 0x0c, 0x00, 0x08, 0x00, 0x13, 0xcd, 0x5c, 0x02, 0x00, 0xc2, 0x00, + 0x02, 0x08, 0x00, 0x11, 0xd3, 0x18, 0x00, 0x04, 0x20, 0x00, 0x0f, 0x08, 0x00, 0x02, 0x0f, 0x1c, 0x11, 0x37, 0xa0, 0x31, 0x42, 0x7b, 0x46, 0x6a, + 0xc5, 0x6a, 0xe5, 0x21, 0x02, 0x0e, 0x00, 0x22, 0x83, 0x87, 0x60, 0x00, 0x03, 0x68, 0x00, 0x19, 0xcd, 0x10, 0x03, 0x11, 0x31, 0x14, 0x00, 0x00, + 0xf6, 0x07, 0x00, 0xba, 0x04, 0x00, 0x02, 0x00, 0x02, 0xe2, 0x04, 0x04, 0xb8, 0x00, 0x04, 0xde, 0x04, 0x09, 0x02, 0x00, 0x00, 0x18, 0x00, 0x04, + 0x20, 0x00, 0x21, 0xdd, 0x52, 0x3e, 0x08, 0x06, 0x60, 0x00, 0x00, 0x3c, 0x04, 0x1f, 0xeb, 0x46, 0x03, 0x67, 0x20, 0x20, 0xe1, 0xce, 0x00, 0x01, + 0x80, 0x02, 0x0f, 0x08, 0x00, 0x06, 0x22, 0xff, 0x10, 0x98, 0x05, 0x04, 0xa0, 0x05, 0x00, 0x08, 0x00, 0x26, 0xf6, 0x71, 0x20, 0x00, 0x03, 0x08, + 0x00, 0x04, 0x04, 0x00, 0x04, 0x10, 0x00, 0x30, 0xcc, 0x8b, 0xc7, 0x62, 0x00, 0x0f, 0x01, 0x00, 0x0b, 0x02, 0x18, 0x20, 0x2f, 0x6a, 0xe5, 0x12, + 0x1b, 0x05, 0x03, 0xb8, 0x10, 0x01, 0x50, 0x00, 0x45, 0xfe, 0xee, 0xdd, 0xcb, 0x54, 0x0a, 0x01, 0x10, 0x00, 0x04, 0x26, 0x03, 0x40, 0xff, 0x73, + 0xf6, 0x93, 0xfa, 0x0f, 0x11, 0xee, 0x0c, 0x00, 0x0b, 0x02, 0x00, 0x34, 0x13, 0xe5, 0xf3, 0xb8, 0x00, 0x01, 0x1c, 0x08, 0x0e, 0x02, 0x00, 0x14, + 0x13, 0x20, 0x00, 0x21, 0xdd, 0x93, 0xee, 0x01, 0x14, 0x0f, 0x60, 0x00, 0x07, 0x08, 0x00, 0x30, 0xcd, 0x52, 0x44, 0x90, 0x00, 0x0f, 0x01, 0x00, + 0x5d, 0x22, 0xc5, 0x4a, 0x24, 0x02, 0x03, 0x2c, 0x02, 0x01, 0x78, 0x02, 0x25, 0xfe, 0xef, 0x10, 0x00, 0x01, 0x08, 0x00, 0x22, 0xf6, 0xaf, 0x98, + 0x05, 0x01, 0x64, 0x02, 0x05, 0x08, 0x00, 0x05, 0xa8, 0x12, 0x31, 0xee, 0xff, 0x10, 0xe6, 0x00, 0x00, 0x16, 0x09, 0x00, 0xce, 0x00, 0x05, 0x38, + 0x00, 0x2f, 0xfe, 0xac, 0x20, 0x0d, 0x0d, 0x22, 0xd5, 0xaa, 0x28, 0x00, 0x02, 0x30, 0x00, 0x0c, 0x72, 0x03, 0x22, 0x4a, 0x03, 0x18, 0x00, 0x04, + 0x20, 0x00, 0x01, 0x08, 0x00, 0x04, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x42, 0x0b, 0x00, 0xc4, 0x04, 0x00, 0x24, 0x10, 0x04, 0x98, 0x00, 0x00, + 0xaa, 0x16, 0x01, 0x16, 0x00, 0x07, 0x02, 0x00, 0x10, 0x53, 0x22, 0x00, 0x41, 0xe5, 0xf3, 0xf6, 0xb3, 0x0e, 0x00, 0x0f, 0x02, 0x00, 0x01, 0x54, + 0x33, 0xe5, 0xb3, 0xe5, 0xf3, 0xbe, 0x01, 0x01, 0x90, 0x01, 0x00, 0x60, 0x00, 0x04, 0x68, 0x00, 0x03, 0x08, 0x00, 0x0f, 0x2c, 0x08, 0x5f, 0x21, + 0x31, 0x42, 0x8c, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x30, 0x0c, 0x51, 0x10, 0xe5, 0xd3, 0xe5, 0xf3, 0x88, 0x02, 0x11, 0x53, 0x44, 0x02, 0x04, 0x18, + 0x00, 0x11, 0x53, 0xfa, 0x03, 0x0a, 0x04, 0x00, 0x10, 0xd3, 0xca, 0x00, 0x01, 0x24, 0x09, 0x04, 0x02, 0x00, 0x20, 0x13, 0xf6, 0x3e, 0x04, 0x07, + 0x38, 0x00, 0x00, 0x1a, 0x04, 0x00, 0x66, 0x00, 0x0f, 0x01, 0x00, 0x03, 0x21, 0x73, 0x26, 0xce, 0x01, 0x01, 0x28, 0x00, 0x06, 0x08, 0x00, 0x06, + 0x74, 0x19, 0x20, 0xa4, 0x48, 0x10, 0x00, 0x04, 0x18, 0x00, 0x0f, 0x08, 0x00, 0x01, 0x01, 0x76, 0x00, 0x00, 0x20, 0x03, 0x00, 0x90, 0x00, 0x07, + 0x04, 0x00, 0x01, 0x16, 0x00, 0x0f, 0x02, 0x00, 0x29, 0x12, 0x53, 0x60, 0x00, 0x04, 0x68, 0x00, 0x06, 0x08, 0x00, 0x00, 0x32, 0x1a, 0x0f, 0x01, + 0x00, 0x59, 0x09, 0x00, 0x19, 0x11, 0xae, 0xde, 0x00, 0x01, 0x84, 0x02, 0x00, 0x08, 0x00, 0x01, 0x26, 0x07, 0x02, 0x48, 0x0c, 0x00, 0x02, 0x01, + 0x05, 0x18, 0x00, 0x02, 0x08, 0x00, 0x03, 0xa0, 0x01, 0x05, 0x02, 0x00, 0x22, 0xee, 0x73, 0x18, 0x00, 0x21, 0xdd, 0x92, 0x76, 0x01, 0x00, 0x50, + 0x00, 0x01, 0x58, 0x00, 0x0f, 0x6c, 0x0b, 0x05, 0x22, 0x62, 0xa5, 0x20, 0x00, 0x04, 0x28, 0x00, 0x06, 0x08, 0x00, 0x20, 0xf6, 0x6c, 0x20, 0x00, + 0x24, 0xac, 0x88, 0x10, 0x00, 0x0f, 0x08, 0x00, 0x06, 0x10, 0xee, 0x78, 0x00, 0x10, 0xff, 0x3c, 0x03, 0x00, 0x78, 0x00, 0x03, 0x98, 0x00, 0x00, + 0x08, 0x00, 0x0f, 0x04, 0x08, 0x00, 0x0f, 0x02, 0x00, 0x1d, 0x05, 0x20, 0x0d, 0x07, 0x70, 0x00, 0x01, 0x08, 0x00, 0x00, 0x9c, 0x00, 0x0f, 0x01, + 0x00, 0x57, 0x07, 0x60, 0x05, 0x30, 0xee, 0xdd, 0x92, 0x80, 0x05, 0x00, 0x80, 0x02, 0x04, 0x08, 0x00, 0x41, 0xff, 0x53, 0xff, 0x52, 0xae, 0x00, + 0x04, 0x04, 0x16, 0x03, 0x18, 0x00, 0x00, 0x08, 0x00, 0x01, 0xa8, 0x05, 0x06, 0x02, 0x00, 0x02, 0x86, 0x07, 0x03, 0x20, 0x00, 0x02, 0x50, 0x00, + 0x03, 0x58, 0x00, 0x10, 0x8d, 0x68, 0x00, 0x0c, 0x01, 0x00, 0x25, 0x6a, 0xc5, 0x20, 0x00, 0x0f, 0x08, 0x00, 0x01, 0x31, 0xad, 0x8b, 0xc7, 0x08, + 0x00, 0x04, 0x10, 0x00, 0x0f, 0x08, 0x00, 0x02, 0x02, 0x56, 0x05, 0x26, 0xe6, 0x13, 0x78, 0x00, 0x05, 0x08, 0x00, 0x0f, 0xa0, 0x01, 0x2f, 0x00, + 0x02, 0x00, 0x56, 0x32, 0xff, 0x32, 0xff, 0x0f, 0x70, 0x00, 0x02, 0x08, 0x00, 0x0f, 0x12, 0x04, 0x09, 0x0f, 0x01, 0x00, 0x3d, 0x22, 0x39, 0x83, + 0x14, 0x02, 0x00, 0x1c, 0x02, 0x22, 0xee, 0x2f, 0x7c, 0x02, 0x05, 0xc8, 0x05, 0x01, 0x08, 0x00, 0x01, 0xa8, 0x00, 0x00, 0x7e, 0x07, 0x12, 0xb3, + 0x10, 0x00, 0x04, 0x18, 0x00, 0x04, 0xaa, 0x05, 0x04, 0x02, 0x00, 0x19, 0xee, 0x68, 0x0c, 0x0a, 0x20, 0x0d, 0x0f, 0x58, 0x07, 0x01, 0x00, 0x18, + 0x00, 0x04, 0x20, 0x00, 0x0f, 0x08, 0x00, 0x10, 0x75, 0xcc, 0xff, 0x10, 0xff, 0x10, 0xfe, 0xee, 0x10, 0x00, 0x01, 0x08, 0x00, 0x00, 0x2a, 0x07, + 0x0f, 0xe0, 0x0c, 0x01, 0x00, 0x08, 0x00, 0x00, 0x1a, 0x00, 0x0f, 0x02, 0x00, 0x03, 0x20, 0xf6, 0xb3, 0xd2, 0x01, 0x00, 0x6c, 0x03, 0x2f, 0xe6, + 0x13, 0x90, 0x06, 0x08, 0x02, 0x02, 0x00, 0x03, 0xe6, 0x00, 0x00, 0xda, 0x04, 0x06, 0x78, 0x00, 0x0f, 0x54, 0x07, 0x0d, 0x0f, 0x01, 0x00, 0x37, + 0x22, 0x9c, 0x27, 0x14, 0x02, 0x00, 0x76, 0x00, 0x00, 0xb6, 0x00, 0x01, 0x7c, 0x02, 0x09, 0x04, 0x00, 0x15, 0xf6, 0xc6, 0x04, 0x10, 0xf6, 0x08, + 0x16, 0x01, 0x14, 0x00, 0x00, 0xda, 0x00, 0x00, 0x12, 0x00, 0x08, 0x02, 0x00, 0x03, 0xb8, 0x02, 0x05, 0x04, 0x00, 0x24, 0xf6, 0x8e, 0x58, 0x00, + 0x40, 0xfe, 0xee, 0xd5, 0xaa, 0x6c, 0x00, 0x08, 0x01, 0x00, 0x20, 0xc5, 0x4a, 0x18, 0x00, 0x04, 0x20, 0x00, 0x01, 0xa8, 0x04, 0x00, 0x4e, 0x05, + 0x04, 0x10, 0x00, 0x0c, 0x08, 0x00, 0x12, 0xd0, 0x54, 0x00, 0x24, 0xdd, 0x93, 0xc4, 0x02, 0x02, 0x18, 0x00, 0x01, 0xfc, 0x06, 0x00, 0x7a, 0x05, + 0x00, 0x1c, 0x00, 0x0b, 0x04, 0x00, 0x04, 0x5a, 0x01, 0x0c, 0x02, 0x00, 0x0c, 0xa8, 0x00, 0x1a, 0xee, 0x06, 0x04, 0x07, 0x02, 0x00, 0x04, 0xf0, + 0x00, 0x02, 0xec, 0x00, 0x01, 0x40, 0x03, 0x03, 0x78, 0x00, 0x0f, 0x26, 0x08, 0x57, 0x01, 0x1c, 0x21, 0x01, 0x14, 0x02, 0x22, 0xfe, 0xee, 0x54, + 0x02, 0x00, 0x7c, 0x02, 0x08, 0x08, 0x00, 0x02, 0x9e, 0x00, 0x04, 0x02, 0x00, 0x42, 0xee, 0x53, 0xe6, 0x13, 0x24, 0x1e, 0x0c, 0x02, 0x00, 0x04, + 0x30, 0x00, 0x05, 0x08, 0x00, 0x09, 0x20, 0x0d, 0x00, 0x6c, 0x00, 0x08, 0x01, 0x00, 0x04, 0x18, 0x00, 0x00, 0x08, 0x00, 0x00, 0x22, 0x0b, 0x61, + 0xf6, 0xf3, 0xff, 0x33, 0xf6, 0xd3, 0x96, 0x07, 0x05, 0x18, 0x00, 0x04, 0x08, 0x00, 0x01, 0x3c, 0x0a, 0x03, 0x58, 0x00, 0x08, 0x98, 0x19, 0x21, + 0xfe, 0xac, 0x40, 0x03, 0x10, 0x33, 0x18, 0x00, 0x04, 0x20, 0x00, 0x06, 0x08, 0x00, 0x0f, 0xa4, 0x00, 0x01, 0x11, 0xf6, 0x92, 0x01, 0x02, 0x20, + 0x00, 0x06, 0x08, 0x00, 0x0a, 0xe2, 0x00, 0x04, 0x02, 0x00, 0x24, 0xe5, 0xd3, 0x20, 0x00, 0x00, 0x90, 0x03, 0x46, 0xff, 0x53, 0xff, 0x32, 0x78, + 0x00, 0x4f, 0xdd, 0xeb, 0x6a, 0xc5, 0x82, 0x2a, 0x53, 0x01, 0x5c, 0x29, 0x03, 0x94, 0x02, 0x10, 0xee, 0xa4, 0x09, 0x04, 0xc0, 0x05, 0x07, 0x08, + 0x00, 0x00, 0xae, 0x00, 0x0f, 0x02, 0x00, 0x0f, 0x06, 0x30, 0x00, 0x04, 0x08, 0x00, 0x04, 0x58, 0x00, 0x00, 0x08, 0x00, 0x02, 0x84, 0x0f, 0xa4, + 0x41, 0xc3, 0x73, 0x26, 0x6a, 0xe5, 0x73, 0x26, 0xac, 0x88, 0x18, 0x00, 0x00, 0x3c, 0x03, 0x10, 0xf6, 0x06, 0x01, 0x03, 0x38, 0x00, 0x25, 0xf6, + 0xd3, 0x18, 0x00, 0x04, 0x08, 0x00, 0x10, 0xee, 0x18, 0x00, 0x04, 0x20, 0x00, 0x01, 0x5a, 0x1b, 0x02, 0x18, 0x00, 0x04, 0x80, 0x06, 0x02, 0x40, + 0x03, 0x03, 0x20, 0x00, 0x06, 0x08, 0x00, 0x0e, 0xa0, 0x01, 0x01, 0x9e, 0x01, 0x05, 0x20, 0x00, 0x08, 0x08, 0x00, 0x0e, 0xa2, 0x01, 0x17, 0xe6, + 0x10, 0x0d, 0x01, 0x08, 0x00, 0x11, 0xf3, 0x74, 0x0b, 0x03, 0x78, 0x00, 0x05, 0x08, 0x00, 0x10, 0xcd, 0xe2, 0x23, 0x02, 0x34, 0x0f, 0x0f, 0x01, + 0x00, 0x43, 0x01, 0xa0, 0x16, 0x01, 0x14, 0x02, 0x40, 0xfe, 0xcd, 0xf6, 0xd3, 0x2c, 0x02, 0x04, 0xc0, 0x05, 0x06, 0x08, 0x00, 0x00, 0xb0, 0x00, + 0x0f, 0x02, 0x00, 0x0f, 0x06, 0x30, 0x00, 0x04, 0x08, 0x00, 0x22, 0xed, 0xf0, 0x58, 0x00, 0x00, 0x60, 0x00, 0x23, 0x9c, 0x27, 0x28, 0x0a, 0x00, + 0x04, 0x00, 0x03, 0x70, 0x00, 0x02, 0x08, 0x00, 0x24, 0xe6, 0x13, 0x30, 0x00, 0x02, 0x08, 0x00, 0x22, 0xfe, 0xf1, 0x18, 0x00, 0x0f, 0x20, 0x00, + 0x06, 0x00, 0x1e, 0x01, 0x03, 0x20, 0x00, 0x00, 0x7a, 0x03, 0x0f, 0x80, 0x06, 0x15, 0x22, 0xf6, 0xf3, 0x18, 0x00, 0x04, 0x20, 0x00, 0x0a, 0x08, + 0x00, 0x0a, 0xd6, 0x0e, 0x00, 0x4c, 0x07, 0x02, 0x18, 0x00, 0x06, 0x08, 0x00, 0x26, 0xee, 0x73, 0x78, 0x00, 0x0e, 0x08, 0x00, 0x20, 0x83, 0x66, + 0x4e, 0x01, 0x0f, 0x01, 0x00, 0x3f, 0x23, 0xcd, 0x6a, 0x0c, 0x02, 0x01, 0xea, 0x0d, 0x00, 0x7a, 0x12, 0x01, 0xd2, 0x03, 0x09, 0x04, 0x00, 0x00, + 0xb2, 0x00, 0x0f, 0x02, 0x00, 0x0f, 0x02, 0x2c, 0x00, 0x08, 0x04, 0x00, 0x01, 0x84, 0x1c, 0x00, 0xbe, 0x00, 0x02, 0x60, 0x00, 0x0f, 0x08, 0x00, + 0x03, 0x12, 0xee, 0x2c, 0x00, 0x08, 0x04, 0x00, 0x01, 0xdc, 0x1c, 0x03, 0x20, 0x00, 0x22, 0xff, 0x0f, 0x14, 0x00, 0x06, 0x04, 0x00, 0x20, 0xe5, + 0xd0, 0x18, 0x00, 0x05, 0x20, 0x00, 0x00, 0x8a, 0x04, 0x0b, 0xbc, 0x19, 0x02, 0x04, 0x00, 0x00, 0x1a, 0x00, 0x08, 0x02, 0x00, 0x00, 0x14, 0x00, + 0x0f, 0x04, 0x00, 0x09, 0x08, 0x70, 0x03, 0x00, 0x10, 0x00, 0x0d, 0x04, 0x00, 0x00, 0x10, 0x04, 0x05, 0x78, 0x00, 0x0e, 0x08, 0x00, 0x2f, 0xf6, + 0x6c, 0x36, 0x08, 0x41, 0x26, 0x8b, 0xc7, 0x04, 0x02, 0x00, 0xce, 0x05, 0x01, 0x8a, 0x00, 0x00, 0x34, 0x02, 0x06, 0x08, 0x00, 0x0e, 0xaa, 0x0a, + 0x11, 0x53, 0x02, 0x00, 0x00, 0x0a, 0x00, 0x07, 0x02, 0x00, 0x08, 0xb0, 0x05, 0x02, 0x08, 0x00, 0x01, 0x44, 0x19, 0x07, 0x64, 0x02, 0x0f, 0x08, + 0x00, 0x02, 0x16, 0xae, 0x30, 0x00, 0x04, 0x08, 0x00, 0x43, 0xff, 0x13, 0xff, 0x10, 0x20, 0x00, 0x36, 0xee, 0xff, 0x32, 0x18, 0x00, 0x03, 0x08, + 0x00, 0x18, 0xd3, 0xdc, 0x10, 0x00, 0xb4, 0x00, 0x21, 0xf6, 0xb3, 0x18, 0x00, 0x04, 0x20, 0x00, 0x01, 0x08, 0x00, 0x0c, 0xb2, 0x04, 0x01, 0xa6, + 0x04, 0x07, 0x20, 0x00, 0x0e, 0x08, 0x00, 0x06, 0x28, 0x08, 0x05, 0xc8, 0x0d, 0x01, 0x18, 0x00, 0x06, 0x08, 0x00, 0x01, 0x74, 0x00, 0x00, 0x04, + 0x00, 0x00, 0xb8, 0x00, 0x0f, 0x08, 0x00, 0x02, 0x00, 0xea, 0x04, 0xe0, 0x31, 0x42, 0x83, 0x87, 0xc5, 0x2a, 0xdd, 0xcb, 0xee, 0x2b, 0xc5, 0x2a, + 0x7b, 0x46, 0x64, 0x01, 0x0f, 0x01, 0x00, 0x29, 0x20, 0x41, 0xc3, 0xc4, 0x02, 0x02, 0x04, 0x02, 0x01, 0x0e, 0x09, 0x00, 0x06, 0x11, 0x00, 0x30, + 0x02, 0x04, 0x78, 0x05, 0x18, 0xd3, 0x82, 0x0a, 0x00, 0x1e, 0x08, 0x04, 0x18, 0x00, 0x26, 0xdd, 0x93, 0xda, 0x09, 0x00, 0x02, 0x00, 0x10, 0xee, + 0xca, 0x00, 0x01, 0x18, 0x00, 0x05, 0x08, 0x00, 0x11, 0xf3, 0x5c, 0x00, 0x00, 0x04, 0x00, 0x01, 0x60, 0x00, 0x0f, 0x08, 0x00, 0x01, 0x0c, 0xf8, + 0x1f, 0x00, 0x08, 0x00, 0x03, 0xfc, 0x01, 0x00, 0xfc, 0x07, 0x04, 0x5a, 0x01, 0x01, 0x18, 0x00, 0x04, 0x08, 0x00, 0x10, 0xff, 0x98, 0x03, 0x04, + 0x40, 0x00, 0x01, 0xe2, 0x04, 0x1d, 0xee, 0xc0, 0x19, 0x00, 0x16, 0x00, 0x06, 0x02, 0x00, 0x15, 0xee, 0x18, 0x00, 0x0f, 0x08, 0x00, 0x09, 0x00, + 0x2a, 0x00, 0x00, 0x02, 0x00, 0x01, 0xc8, 0x0a, 0x07, 0x18, 0x00, 0x02, 0x08, 0x00, 0x20, 0xe5, 0xb3, 0x70, 0x00, 0x04, 0x78, 0x00, 0x0f, 0x08, + 0x00, 0x03, 0x28, 0xe6, 0x0b, 0xd0, 0x07, 0x02, 0x08, 0x00, 0x0f, 0xc6, 0x2d, 0x2d, 0x04, 0xfc, 0x01, 0x00, 0x08, 0x00, 0x00, 0x9e, 0x00, 0x22, + 0xf6, 0xd3, 0x70, 0x05, 0x02, 0x78, 0x05, 0x08, 0x3e, 0x03, 0x00, 0x10, 0x00, 0x04, 0x18, 0x00, 0x04, 0x08, 0x00, 0x1f, 0xf6, 0x20, 0x00, 0x0a, + 0x04, 0x58, 0x00, 0x0f, 0x08, 0x00, 0x08, 0x10, 0xf2, 0x28, 0x00, 0x04, 0x30, 0x00, 0x02, 0x08, 0x00, 0x09, 0xf8, 0x01, 0x00, 0x1c, 0x10, 0x03, + 0x18, 0x00, 0x04, 0x08, 0x00, 0x28, 0xe5, 0xd3, 0x08, 0x0d, 0x01, 0x26, 0x00, 0x00, 0x54, 0x01, 0x05, 0x20, 0x00, 0x28, 0xdd, 0x52, 0x54, 0x02, + 0x00, 0xe2, 0x09, 0x04, 0x18, 0x00, 0x0f, 0x08, 0x00, 0x0b, 0x04, 0x84, 0x06, 0x00, 0x2c, 0x03, 0x00, 0x10, 0x00, 0x04, 0x18, 0x00, 0x02, 0x08, + 0x00, 0x09, 0x80, 0x06, 0x9c, 0xee, 0xff, 0x53, 0xff, 0x12, 0xf6, 0x71, 0xf6, 0x71, 0x4c, 0x1e, 0x0f, 0x08, 0x00, 0x01, 0x0e, 0x5e, 0x0c, 0x0f, + 0x01, 0x00, 0x19, 0x21, 0xd5, 0xaa, 0xec, 0x01, 0x00, 0x4e, 0x00, 0x02, 0x10, 0x09, 0x00, 0x70, 0x02, 0x00, 0x90, 0x02, 0x1a, 0x73, 0x4e, 0x14, + 0x01, 0xb6, 0x00, 0x0f, 0x04, 0x00, 0x00, 0x06, 0x4a, 0x04, 0x01, 0x78, 0x02, 0x01, 0x14, 0x00, 0x04, 0x04, 0x00, 0x04, 0x58, 0x00, 0x04, 0x08, + 0x00, 0x04, 0x60, 0x00, 0x04, 0x94, 0x0f, 0x00, 0x9c, 0x10, 0x00, 0x28, 0x00, 0x0a, 0x04, 0x00, 0x03, 0x40, 0x03, 0x03, 0x02, 0x00, 0x00, 0xba, + 0x02, 0x02, 0x18, 0x00, 0x05, 0x04, 0x00, 0x13, 0xf3, 0xde, 0x21, 0x02, 0x58, 0x00, 0x00, 0x3c, 0x0d, 0x00, 0x02, 0x00, 0x11, 0x13, 0x02, 0x15, + 0x0d, 0x76, 0x12, 0x00, 0xd8, 0x16, 0x03, 0x38, 0x00, 0x0f, 0x04, 0x00, 0x0c, 0x04, 0xe2, 0x04, 0x0e, 0xc8, 0x00, 0x00, 0x04, 0x00, 0x01, 0xb4, + 0x00, 0x00, 0x70, 0x00, 0x00, 0xb8, 0x00, 0x17, 0x10, 0x54, 0x1a, 0x1f, 0x92, 0xb8, 0x0d, 0x08, 0x03, 0x08, 0x00, 0x0f, 0x0a, 0x1b, 0x27, 0x0b, + 0xd8, 0x26, 0x04, 0xec, 0x00, 0x0d, 0x02, 0x00, 0x10, 0xee, 0xbe, 0x11, 0x00, 0x4c, 0x02, 0x00, 0x92, 0x00, 0x0c, 0x08, 0x00, 0x01, 0x22, 0x00, + 0x00, 0x22, 0x01, 0x00, 0x0c, 0x00, 0x06, 0x18, 0x00, 0x17, 0xe5, 0x84, 0x1c, 0x04, 0x8a, 0x04, 0x0e, 0x02, 0x00, 0x12, 0xee, 0xbc, 0x1c, 0x07, + 0x38, 0x00, 0x0a, 0xa0, 0x01, 0x00, 0x98, 0x03, 0x02, 0x18, 0x00, 0x06, 0x08, 0x00, 0x01, 0x2e, 0x0e, 0x03, 0x58, 0x00, 0x20, 0xfe, 0xcd, 0xbe, + 0x2b, 0x0f, 0x02, 0x00, 0x09, 0x06, 0x38, 0x00, 0x0f, 0x08, 0x00, 0x0c, 0x01, 0x2e, 0x00, 0x01, 0x92, 0x00, 0x02, 0x10, 0x00, 0x04, 0x18, 0x00, + 0x00, 0xd4, 0x03, 0x00, 0xde, 0x04, 0x04, 0x70, 0x00, 0x13, 0xac, 0x2e, 0x16, 0x05, 0x20, 0x00, 0x01, 0x6e, 0x02, 0x06, 0x90, 0x00, 0x0f, 0x08, + 0x00, 0x00, 0x0f, 0x3c, 0x08, 0x21, 0x20, 0x21, 0x02, 0x92, 0x01, 0x00, 0x82, 0x02, 0x00, 0xe4, 0x01, 0x01, 0x08, 0x00, 0x01, 0x10, 0x09, 0x0f, + 0x02, 0x00, 0x01, 0x06, 0x40, 0x19, 0x0f, 0x08, 0x00, 0x02, 0x03, 0xbc, 0x05, 0x23, 0xf6, 0xd3, 0x10, 0x00, 0x00, 0xf6, 0x02, 0x11, 0xd3, 0x5e, + 0x15, 0x02, 0x58, 0x00, 0x0f, 0x9e, 0x01, 0x06, 0x00, 0xc2, 0x04, 0x02, 0x30, 0x00, 0x05, 0x38, 0x00, 0x07, 0x32, 0x05, 0x02, 0x02, 0x00, 0x01, + 0xc8, 0x0f, 0x05, 0x20, 0x00, 0x03, 0x6c, 0x00, 0x02, 0x84, 0x06, 0x04, 0x60, 0x00, 0x10, 0xee, 0xfc, 0x11, 0x05, 0x9e, 0x03, 0x0a, 0x02, 0x00, + 0x0b, 0x60, 0x00, 0x0f, 0x08, 0x00, 0x09, 0x01, 0x30, 0x00, 0x00, 0xd2, 0x01, 0x12, 0x93, 0x10, 0x00, 0x04, 0x18, 0x00, 0x41, 0xee, 0x73, 0xff, + 0x10, 0x68, 0x00, 0x03, 0x70, 0x00, 0x2a, 0xf6, 0x93, 0x10, 0x01, 0x22, 0xf6, 0xaf, 0x18, 0x00, 0x04, 0x20, 0x00, 0x00, 0x78, 0x0a, 0x00, 0x96, + 0x00, 0x05, 0x10, 0x00, 0x1f, 0xcc, 0xe6, 0x24, 0x21, 0x22, 0xf6, 0x6c, 0xdc, 0x01, 0x04, 0xe4, 0x01, 0x00, 0x4e, 0x00, 0x00, 0x9e, 0x00, 0x0f, + 0x02, 0x00, 0x01, 0x01, 0x2c, 0x02, 0x01, 0x88, 0x05, 0x0f, 0x08, 0x00, 0x03, 0x05, 0xdc, 0x00, 0x10, 0x53, 0xfe, 0x08, 0x02, 0xd8, 0x12, 0x07, + 0x58, 0x00, 0x18, 0xcd, 0x3c, 0x01, 0x10, 0xf6, 0x34, 0x12, 0x07, 0xa2, 0x19, 0x00, 0x58, 0x1b, 0x04, 0x48, 0x00, 0x00, 0x1c, 0x03, 0x0e, 0x02, + 0x00, 0x00, 0x14, 0x07, 0x03, 0x20, 0x00, 0x04, 0x3e, 0x08, 0x02, 0x2e, 0x0e, 0x05, 0x60, 0x00, 0x03, 0x08, 0x00, 0x0f, 0xc0, 0x00, 0x01, 0x0b, + 0x40, 0x0d, 0x0f, 0x08, 0x00, 0x09, 0x01, 0x30, 0x00, 0x01, 0x02, 0x00, 0x14, 0xdd, 0x10, 0x27, 0x73, 0x72, 0xe5, 0xd3, 0xf6, 0xd3, 0xff, 0x31, + 0x60, 0x00, 0x02, 0x68, 0x00, 0x32, 0xee, 0xe5, 0xf3, 0x30, 0x00, 0x04, 0x38, 0x00, 0x21, 0xe5, 0xf3, 0x18, 0x00, 0x02, 0x20, 0x00, 0x01, 0x76, + 0x12, 0x00, 0x4a, 0x09, 0x0a, 0x28, 0x07, 0x00, 0x72, 0x01, 0x0f, 0x01, 0x00, 0x19, 0x01, 0x30, 0x36, 0x00, 0x26, 0x04, 0x02, 0xe4, 0x01, 0x01, + 0x08, 0x00, 0x00, 0x10, 0x06, 0x0f, 0x02, 0x00, 0x03, 0x01, 0x2c, 0x02, 0x0f, 0x04, 0x00, 0x0a, 0x0d, 0xf0, 0x12, 0x16, 0x53, 0x58, 0x00, 0x04, + 0x98, 0x03, 0x01, 0x78, 0x02, 0x03, 0x30, 0x00, 0x04, 0x8e, 0x07, 0x01, 0x02, 0x00, 0x00, 0xc2, 0x07, 0x00, 0x18, 0x00, 0x05, 0x7e, 0x01, 0x0f, + 0x02, 0x00, 0x00, 0x07, 0xd2, 0x01, 0x02, 0x02, 0x00, 0x00, 0x58, 0x00, 0x04, 0x60, 0x00, 0x04, 0x08, 0x00, 0x00, 0x1c, 0x01, 0x0a, 0x02, 0x00, + 0x01, 0x76, 0x0f, 0x00, 0x5c, 0x00, 0x0f, 0x04, 0x00, 0x0f, 0x0d, 0xba, 0x03, 0x03, 0x6e, 0x1c, 0x07, 0x60, 0x00, 0x00, 0x02, 0x00, 0x00, 0xbe, + 0x01, 0x01, 0x30, 0x00, 0x05, 0x04, 0x00, 0x00, 0x94, 0x05, 0x00, 0xb8, 0x01, 0x02, 0xf0, 0x0b, 0x01, 0x88, 0x11, 0x03, 0x18, 0x00, 0x06, 0x38, + 0x00, 0x0f, 0xc6, 0x2d, 0x1d, 0x00, 0xd4, 0x01, 0x01, 0x3e, 0x00, 0x02, 0x08, 0x00, 0x31, 0xef, 0xff, 0x53, 0x20, 0x33, 0x0c, 0x66, 0x01, 0x02, + 0x02, 0x00, 0x02, 0x72, 0x00, 0x00, 0x2c, 0x02, 0x0f, 0x08, 0x00, 0x06, 0x09, 0x70, 0x01, 0x00, 0x02, 0x00, 0x09, 0x24, 0x30, 0x00, 0x12, 0x00, + 0x01, 0x94, 0x02, 0x05, 0x30, 0x00, 0x08, 0x7a, 0x15, 0x03, 0x02, 0x00, 0x0f, 0x7c, 0x00, 0x03, 0x0f, 0x02, 0x00, 0x07, 0x00, 0x20, 0x0a, 0x03, + 0x60, 0x00, 0x05, 0x08, 0x00, 0x0e, 0x42, 0x03, 0x0d, 0xe0, 0x06, 0x0f, 0x08, 0x00, 0x05, 0x0d, 0xa0, 0x01, 0x00, 0x74, 0x01, 0x04, 0x58, 0x00, + 0x05, 0x08, 0x00, 0x20, 0xff, 0x32, 0xd4, 0x04, 0x00, 0x30, 0x00, 0x04, 0x38, 0x00, 0x00, 0x40, 0x03, 0x01, 0x30, 0x00, 0x01, 0x02, 0x00, 0x0a, + 0x08, 0x0e, 0x06, 0x38, 0x00, 0x0f, 0x0c, 0x0d, 0x1b, 0x01, 0x98, 0x0e, 0x04, 0x1c, 0x02, 0x01, 0xd4, 0x00, 0x12, 0xe6, 0xde, 0x07, 0x01, 0x50, + 0x05, 0x04, 0xca, 0x08, 0x05, 0x02, 0x00, 0x00, 0xd0, 0x09, 0x02, 0x34, 0x02, 0x0f, 0x08, 0x00, 0x06, 0x0c, 0x34, 0x00, 0x09, 0x80, 0x05, 0x00, + 0x62, 0x00, 0x07, 0x60, 0x00, 0x04, 0x08, 0x00, 0x00, 0x28, 0x00, 0x0f, 0x02, 0x00, 0x2c, 0x00, 0x3c, 0x09, 0x06, 0x68, 0x00, 0x1e, 0xcc, 0x40, + 0x03, 0x01, 0x32, 0x01, 0x00, 0x04, 0x00, 0x07, 0x78, 0x00, 0x0f, 0x08, 0x00, 0x03, 0x00, 0x2c, 0x00, 0x09, 0x02, 0x00, 0x00, 0xae, 0x15, 0x03, + 0x58, 0x00, 0x04, 0x08, 0x00, 0x2f, 0xff, 0x10, 0xc8, 0x00, 0x01, 0x06, 0xfc, 0x00, 0x00, 0x28, 0x2c, 0x06, 0x18, 0x00, 0x08, 0x08, 0x1b, 0x0f, + 0x60, 0x22, 0x1b, 0x08, 0x78, 0x13, 0x00, 0x58, 0x00, 0x00, 0x5c, 0x04, 0x07, 0x50, 0x05, 0x05, 0xcc, 0x08, 0x03, 0x02, 0x00, 0x02, 0x84, 0x02, + 0x00, 0x18, 0x00, 0x0f, 0x08, 0x00, 0x06, 0x00, 0x72, 0x06, 0x08, 0x02, 0x00, 0x06, 0x60, 0x00, 0x00, 0x74, 0x02, 0x01, 0xf6, 0x03, 0x01, 0x28, + 0x00, 0x04, 0x30, 0x00, 0x00, 0x08, 0x00, 0x0d, 0x42, 0x03, 0x05, 0x02, 0x00, 0x30, 0xf6, 0x93, 0xee, 0xe0, 0x0b, 0x2d, 0x93, 0xf6, 0xce, 0x09, + 0x0d, 0x02, 0x00, 0x00, 0x6c, 0x0b, 0x03, 0x68, 0x00, 0x00, 0x88, 0x1f, 0x01, 0x14, 0x00, 0x09, 0x02, 0x00, 0x01, 0xe2, 0x04, 0x01, 0x70, 0x00, + 0x0f, 0x08, 0x00, 0x09, 0x0c, 0xc0, 0x00, 0x00, 0xba, 0x1f, 0x06, 0x58, 0x00, 0x03, 0x08, 0x00, 0x11, 0xee, 0x2a, 0x01, 0x01, 0x30, 0x00, 0x04, + 0x38, 0x00, 0x00, 0x08, 0x00, 0x01, 0x2e, 0x00, 0x01, 0x02, 0x00, 0x02, 0x10, 0x00, 0x04, 0x18, 0x00, 0x23, 0xe5, 0xb3, 0x38, 0x00, 0x3f, 0xcd, + 0xfe, 0xac, 0xa0, 0x01, 0x1b, 0x01, 0x36, 0x00, 0x00, 0xdc, 0x01, 0x03, 0x3e, 0x03, 0x00, 0x92, 0x01, 0x0c, 0x04, 0x00, 0x00, 0x18, 0x00, 0x03, + 0x02, 0x00, 0x04, 0x20, 0x06, 0x0f, 0x04, 0x00, 0x08, 0x01, 0x28, 0x00, 0x07, 0x02, 0x00, 0x05, 0x60, 0x00, 0x01, 0xd6, 0x00, 0x00, 0x62, 0x00, + 0x02, 0x28, 0x00, 0x08, 0x04, 0x00, 0x0e, 0xac, 0x0c, 0x01, 0x6c, 0x00, 0x00, 0xf0, 0x02, 0x01, 0x20, 0x00, 0x03, 0x04, 0x00, 0x1f, 0xf3, 0x12, + 0x25, 0x01, 0x08, 0x02, 0x00, 0x04, 0x68, 0x00, 0x02, 0x6c, 0x02, 0x0f, 0x02, 0x00, 0x00, 0x02, 0xf4, 0x02, 0x0f, 0x04, 0x00, 0x08, 0x0f, 0x9e, + 0x01, 0x00, 0x04, 0xfa, 0x01, 0x01, 0x58, 0x00, 0x00, 0x08, 0x00, 0x02, 0x84, 0x0a, 0x02, 0x30, 0x00, 0x09, 0x04, 0x00, 0x05, 0xde, 0x04, 0x03, + 0x44, 0x11, 0x07, 0x04, 0x00, 0x02, 0x3c, 0x03, 0x00, 0x40, 0x00, 0x20, 0xe6, 0x0b, 0xfe, 0x11, 0x0f, 0x01, 0x00, 0x15, 0x02, 0xd4, 0x01, 0x01, + 0x76, 0x00, 0x11, 0x31, 0x3e, 0x0b, 0x00, 0x4e, 0x00, 0x00, 0xf4, 0x01, 0x07, 0x08, 0x00, 0x08, 0x52, 0x06, 0x00, 0x10, 0x00, 0x04, 0x18, 0x00, + 0x0f, 0x08, 0x00, 0x01, 0x0e, 0x0a, 0x03, 0x04, 0x60, 0x00, 0x00, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x88, 0x16, 0x06, 0x30, 0x00, 0x02, 0x08, + 0x00, 0x0e, 0xd6, 0x01, 0x01, 0x0a, 0x02, 0x05, 0x20, 0x00, 0x09, 0x08, 0x00, 0x18, 0xf3, 0x90, 0x00, 0x09, 0x02, 0x00, 0x00, 0xe8, 0x02, 0x00, + 0x68, 0x00, 0x03, 0x0c, 0x04, 0x0f, 0x02, 0x00, 0x04, 0x15, 0x13, 0x22, 0x02, 0x02, 0x50, 0x00, 0x05, 0x08, 0x00, 0x06, 0x62, 0x0f, 0x0a, 0x02, + 0x00, 0x01, 0x58, 0x01, 0x03, 0x58, 0x00, 0x01, 0xda, 0x04, 0x01, 0x16, 0x00, 0x0e, 0xc8, 0x00, 0x06, 0xdc, 0x01, 0x0e, 0x60, 0x00, 0x00, 0x9a, + 0x01, 0x02, 0x40, 0x00, 0x00, 0x08, 0x00, 0x20, 0xc5, 0x2a, 0x7c, 0x01, 0x0f, 0x01, 0x00, 0x11, 0x01, 0x7c, 0x00, 0x02, 0xdc, 0x01, 0x11, 0xee, + 0x7e, 0x01, 0x03, 0x30, 0x05, 0x08, 0x08, 0x00, 0x06, 0x56, 0x05, 0x01, 0xc2, 0x01, 0x05, 0x18, 0x00, 0x0e, 0x08, 0x00, 0x0f, 0xe0, 0x02, 0x01, + 0x05, 0x60, 0x00, 0x03, 0xa2, 0x03, 0x01, 0xe2, 0x0e, 0x03, 0x30, 0x00, 0x04, 0x08, 0x00, 0x0e, 0xa0, 0x01, 0x0f, 0x68, 0x00, 0x0b, 0x0f, 0x3a, + 0x25, 0x02, 0x08, 0x28, 0x06, 0x0f, 0xa0, 0x01, 0x09, 0x04, 0x02, 0x00, 0xae, 0x33, 0xf6, 0xd3, 0xee, 0x53, 0xee, 0x73, 0xee, 0x53, 0xf6, 0x74, + 0x0a, 0x09, 0x02, 0x00, 0x06, 0xc0, 0x00, 0x09, 0x38, 0x05, 0x0b, 0xc8, 0x00, 0x08, 0x26, 0x01, 0x00, 0x10, 0x00, 0x04, 0x18, 0x00, 0x00, 0x08, + 0x00, 0x01, 0x76, 0x10, 0x00, 0x40, 0x00, 0x04, 0x48, 0x00, 0x3f, 0xcc, 0xfe, 0xee, 0xaa, 0x0e, 0x13, 0x0a, 0x80, 0x06, 0x02, 0xec, 0x01, 0x00, + 0xd0, 0x02, 0x09, 0x08, 0x00, 0x07, 0x76, 0x01, 0x00, 0x0e, 0x00, 0x05, 0x18, 0x00, 0x0b, 0x08, 0x00, 0x08, 0x84, 0x13, 0x06, 0x02, 0x00, 0x01, + 0x8e, 0x00, 0x01, 0x60, 0x00, 0x21, 0xfe, 0xcc, 0xde, 0x00, 0x0f, 0x88, 0x0c, 0x00, 0x0c, 0xd8, 0x01, 0x00, 0xe4, 0x20, 0x00, 0x18, 0x00, 0x04, + 0x20, 0x00, 0x0f, 0x08, 0x00, 0x01, 0x0f, 0xee, 0x02, 0x00, 0x00, 0x40, 0x03, 0x01, 0x68, 0x00, 0x00, 0xcc, 0x00, 0x0f, 0x02, 0x00, 0x37, 0x00, + 0x50, 0x00, 0x02, 0x58, 0x00, 0x00, 0x40, 0x07, 0x06, 0x02, 0x00, 0x10, 0xf6, 0x88, 0x03, 0x03, 0x90, 0x00, 0x0a, 0x8e, 0x00, 0x06, 0x18, 0x00, + 0x01, 0x08, 0x00, 0x00, 0x14, 0x00, 0x00, 0xa0, 0x01, 0x05, 0x48, 0x00, 0x02, 0x08, 0x00, 0x20, 0x5a, 0x64, 0x82, 0x01, 0x0f, 0x01, 0x00, 0x0b, + 0x20, 0x73, 0x26, 0xcc, 0x01, 0x01, 0x7e, 0x03, 0x3e, 0xcc, 0xfe, 0xee, 0x38, 0x05, 0x00, 0x04, 0x00, 0x08, 0x1a, 0x02, 0x01, 0xc4, 0x0f, 0x03, + 0x18, 0x00, 0x09, 0x04, 0x00, 0x0f, 0x9c, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x42, 0x0f, 0x03, 0x60, 0x00, 0x02, 0x42, 0x03, 0x0d, 0x58, 0x06, + 0x0d, 0x3e, 0x03, 0x00, 0x14, 0x00, 0x0f, 0x04, 0x00, 0x0f, 0x0a, 0x14, 0x01, 0x00, 0x02, 0x00, 0x05, 0x68, 0x00, 0x0f, 0xa0, 0x01, 0x3b, 0x05, + 0xc0, 0x00, 0x0a, 0xa0, 0x01, 0x00, 0x6c, 0x02, 0x00, 0x0e, 0x04, 0x1d, 0xee, 0x8e, 0x0c, 0x00, 0x3a, 0x28, 0x02, 0xa4, 0x00, 0x00, 0x04, 0x00, + 0x00, 0x12, 0x00, 0x01, 0x46, 0x00, 0x05, 0x48, 0x00, 0x04, 0x08, 0x00, 0x20, 0x20, 0xe1, 0x84, 0x01, 0x0f, 0x01, 0x00, 0x0b, 0x02, 0xcc, 0x01, + 0x02, 0xd4, 0x01, 0x20, 0xff, 0x0f, 0x8e, 0x03, 0x02, 0xf4, 0x01, 0x06, 0x08, 0x00, 0x0a, 0xf0, 0x05, 0x06, 0x18, 0x00, 0x06, 0x08, 0x00, 0x0c, + 0x00, 0x03, 0x09, 0x02, 0x00, 0x16, 0x53, 0x60, 0x00, 0x02, 0x38, 0x01, 0x0c, 0xd8, 0x12, 0x0c, 0xdc, 0x01, 0x0c, 0x20, 0x00, 0x0f, 0x08, 0x00, + 0x07, 0x0b, 0xa2, 0x01, 0x00, 0x40, 0x03, 0x07, 0x68, 0x00, 0x0f, 0x02, 0x00, 0x35, 0x00, 0x50, 0x00, 0x02, 0x58, 0x00, 0x01, 0x00, 0x04, 0x0f, + 0x02, 0x00, 0x12, 0x04, 0x48, 0x01, 0x09, 0x7c, 0x02, 0x00, 0xea, 0x29, 0x01, 0x48, 0x00, 0x04, 0x50, 0x00, 0x0f, 0x4e, 0x10, 0x11, 0x0a, 0x80, + 0x26, 0x20, 0xff, 0x0f, 0x2e, 0x05, 0x04, 0x38, 0x05, 0x00, 0x08, 0x00, 0x09, 0x62, 0x00, 0x01, 0x02, 0x00, 0x01, 0xd8, 0x15, 0x04, 0x20, 0x00, + 0x0f, 0x54, 0x09, 0x0e, 0x01, 0x3a, 0x02, 0x06, 0x60, 0x00, 0x01, 0x82, 0x02, 0x00, 0xf4, 0x10, 0x03, 0x40, 0x00, 0x0f, 0x68, 0x13, 0x00, 0x02, + 0x18, 0x00, 0x04, 0x20, 0x00, 0x0f, 0x08, 0x00, 0x0b, 0x09, 0x32, 0x01, 0x0f, 0x80, 0x06, 0x1b, 0x0f, 0x02, 0x00, 0x15, 0x06, 0x3c, 0x10, 0x01, + 0xfe, 0x03, 0x0f, 0x02, 0x00, 0x16, 0x1f, 0x13, 0xbe, 0x1c, 0x00, 0x56, 0x53, 0xff, 0x53, 0xfe, 0xef, 0x50, 0x00, 0x2f, 0xfe, 0xcc, 0x16, 0x1a, + 0x11, 0x21, 0xdd, 0xeb, 0xcc, 0x01, 0x04, 0xd4, 0x01, 0x00, 0xf6, 0x13, 0x02, 0xfc, 0x0e, 0x08, 0x50, 0x13, 0x0c, 0x02, 0x00, 0x00, 0x7e, 0x00, + 0x0a, 0xbe, 0x02, 0x0f, 0x02, 0x00, 0x06, 0x03, 0x58, 0x00, 0x03, 0x60, 0x00, 0x02, 0xb4, 0x00, 0x01, 0xe2, 0x11, 0x00, 0xa0, 0x13, 0x0d, 0x9e, + 0x01, 0x0f, 0xa0, 0x06, 0x01, 0x0f, 0x08, 0x00, 0x08, 0x00, 0x32, 0x00, 0x04, 0x02, 0x00, 0x00, 0xbc, 0x14, 0x02, 0x68, 0x00, 0x0f, 0x4a, 0x01, + 0x1b, 0x0f, 0x02, 0x00, 0x0b, 0x02, 0x08, 0x31, 0x01, 0x58, 0x00, 0x01, 0x10, 0x00, 0x0f, 0x02, 0x00, 0x26, 0x00, 0xec, 0x02, 0x00, 0xb8, 0x00, + 0x08, 0x90, 0x21, 0x0f, 0x42, 0x03, 0x11, 0x23, 0x00, 0x00, 0x2e, 0x00, 0x00, 0xd4, 0x01, 0x01, 0x08, 0x00, 0x01, 0x80, 0x13, 0x0f, 0x22, 0x09, + 0x01, 0x0f, 0x02, 0x00, 0x05, 0x00, 0x2a, 0x02, 0x11, 0x11, 0x06, 0x00, 0x00, 0x0e, 0x00, 0x0c, 0x02, 0x00, 0x00, 0x38, 0x01, 0x01, 0x58, 0x00, + 0x01, 0x08, 0x00, 0x0f, 0xdc, 0x02, 0x0c, 0x01, 0xc6, 0x00, 0x02, 0x44, 0x03, 0x0f, 0x04, 0x00, 0x12, 0x07, 0x26, 0x02, 0x00, 0xe0, 0x04, 0x03, + 0x68, 0x00, 0x01, 0x10, 0x00, 0x0f, 0x02, 0x00, 0x0f, 0x01, 0xce, 0x03, 0x0f, 0x02, 0x00, 0x0b, 0x06, 0x38, 0x06, 0x02, 0xf8, 0x0c, 0x0f, 0x02, + 0x00, 0x00, 0x13, 0x53, 0x70, 0x06, 0x00, 0x0c, 0x04, 0x06, 0x8e, 0x00, 0x0b, 0x02, 0x00, 0x02, 0xf0, 0x03, 0x02, 0x04, 0x00, 0x01, 0x1e, 0x26, + 0x01, 0xa8, 0x00, 0x40, 0xfe, 0xcd, 0x6a, 0xc5, 0x82, 0x01, 0x0f, 0x01, 0x00, 0x0d, 0x01, 0xa2, 0x01, 0x00, 0x04, 0x00, 0x01, 0xd4, 0x01, 0x00, + 0x7c, 0x03, 0x00, 0x54, 0x00, 0x0f, 0x02, 0x00, 0x11, 0xfd, 0x01, 0xfe, 0xd0, 0xed, 0xaa, 0xed, 0xcb, 0xed, 0xaa, 0xf5, 0xeb, 0xed, 0xa9, 0xf5, + 0xcb, 0xf6, 0x0c, 0xf4, 0x00, 0x00, 0xd2, 0x03, 0x06, 0x58, 0x00, 0x0f, 0x5c, 0x09, 0x0e, 0x02, 0x64, 0x02, 0x00, 0xc6, 0x00, 0x0f, 0x08, 0x00, + 0x13, 0x06, 0x72, 0x0d, 0x01, 0xf0, 0x00, 0x02, 0x68, 0x00, 0x0f, 0xbe, 0x00, 0x0b, 0xff, 0x02, 0x53, 0xfe, 0xf1, 0xf6, 0x4d, 0xf6, 0x2c, 0xed, + 0xaa, 0xf5, 0xcb, 0xed, 0xaa, 0xf6, 0x2c, 0xf6, 0x4d, 0x58, 0x02, 0x04, 0x01, 0x02, 0x00, 0x07, 0x7c, 0x16, 0x0f, 0x56, 0x00, 0x00, 0x05, 0xc4, + 0x09, 0x05, 0x90, 0x00, 0x0a, 0x4c, 0x1e, 0x04, 0x02, 0x00, 0x01, 0x9e, 0x01, 0x03, 0x20, 0x00, 0x00, 0xf8, 0x03, 0x01, 0x50, 0x00, 0x01, 0x58, + 0x00, 0x0f, 0xb4, 0x1b, 0x13, 0x40, 0x21, 0x02, 0xee, 0x4c, 0x10, 0x05, 0x01, 0xe4, 0x00, 0x06, 0x08, 0x00, 0x0f, 0x08, 0x16, 0x00, 0x09, 0x02, + 0x00, 0x11, 0x11, 0xe6, 0x00, 0x55, 0xeb, 0xed, 0xaa, 0xfd, 0xeb, 0x08, 0x00, 0x31, 0xcb, 0xfe, 0xd0, 0x1c, 0x00, 0x04, 0x02, 0x00, 0x00, 0xdc, + 0x39, 0x02, 0xc4, 0x09, 0x03, 0x58, 0x00, 0x04, 0xe2, 0x0d, 0x0f, 0x02, 0x00, 0x03, 0x01, 0xca, 0x00, 0x05, 0x60, 0x06, 0x0f, 0x08, 0x00, 0x0f, + 0x07, 0x5e, 0x0a, 0x00, 0x7e, 0x07, 0x02, 0x68, 0x00, 0x0f, 0x4a, 0x01, 0x00, 0x04, 0x02, 0x00, 0x20, 0xfe, 0xaf, 0xb4, 0x00, 0x07, 0xb0, 0x00, + 0x01, 0x08, 0x00, 0x0b, 0xb4, 0x00, 0x07, 0x02, 0x00, 0x01, 0x50, 0x00, 0x01, 0x58, 0x00, 0x0d, 0x7a, 0x02, 0x00, 0xa8, 0x09, 0x05, 0x88, 0x00, + 0x08, 0x08, 0x00, 0x0c, 0xf0, 0x01, 0x01, 0x32, 0x06, 0x07, 0x20, 0x00, 0x30, 0xdd, 0x73, 0xfe, 0xb4, 0x1c, 0x01, 0x58, 0x00, 0x20, 0xe6, 0x0b, + 0x80, 0x01, 0x0f, 0x01, 0x00, 0x11, 0x01, 0x9c, 0x53, 0x01, 0xd4, 0x01, 0x08, 0x08, 0x00, 0x0c, 0x6c, 0x00, 0x06, 0x02, 0x00, 0x20, 0xfe, 0xf0, + 0x34, 0x03, 0x20, 0xed, 0xcb, 0x38, 0x03, 0x09, 0x08, 0x00, 0x10, 0xaa, 0x1e, 0x00, 0x02, 0x02, 0x00, 0x60, 0xfe, 0xef, 0xff, 0x0f, 0xfe, 0xef, + 0x36, 0x1b, 0x04, 0x50, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1a, 0x00, 0x0f, 0x02, 0x00, 0x03, 0x0a, 0x40, 0x20, 0x0f, 0x08, 0x00, 0x11, 0x06, 0x5e, + 0x0a, 0x00, 0x2e, 0x04, 0x02, 0x60, 0x00, 0x01, 0xa4, 0x1b, 0x0f, 0xb8, 0x00, 0x00, 0x03, 0xec, 0x03, 0x04, 0xa8, 0x00, 0x09, 0x08, 0x00, 0x20, + 0xf6, 0x2d, 0x22, 0x00, 0x0e, 0x02, 0x00, 0x01, 0x50, 0x00, 0x01, 0x58, 0x00, 0x0c, 0xac, 0x02, 0x02, 0x0c, 0x03, 0x04, 0x88, 0x00, 0x0a, 0x08, + 0x00, 0x0a, 0x7e, 0x00, 0x06, 0x18, 0x00, 0x04, 0x08, 0x00, 0x03, 0xe2, 0x04, 0x50, 0xcd, 0xfe, 0xac, 0xee, 0x4c, 0x7c, 0x01, 0x0f, 0x01, 0x00, + 0x13, 0x22, 0x83, 0x87, 0xd4, 0x01, 0x01, 0xea, 0x00, 0x04, 0x08, 0x00, 0x0f, 0x8c, 0x02, 0x04, 0x24, 0xfe, 0xf0, 0x7c, 0x02, 0x0e, 0x04, 0x00, + 0x20, 0xff, 0x11, 0x22, 0x00, 0x00, 0xd2, 0x02, 0x00, 0x3c, 0x03, 0x20, 0xff, 0x31, 0x08, 0x00, 0x00, 0xd6, 0x02, 0x01, 0x50, 0x00, 0x00, 0x3e, + 0x01, 0x0d, 0x8a, 0x02, 0x04, 0x02, 0x00, 0x03, 0x62, 0x12, 0x0f, 0x04, 0x00, 0x0b, 0x09, 0x40, 0x0d, 0x06, 0x28, 0x07, 0x06, 0x60, 0x00, 0x01, + 0xa0, 0x01, 0x00, 0x78, 0x00, 0x0b, 0x68, 0x00, 0x00, 0x9c, 0x00, 0x0f, 0x04, 0x00, 0x07, 0x00, 0x22, 0x00, 0x0e, 0x02, 0x00, 0x01, 0x50, 0x00, + 0x01, 0x58, 0x00, 0x0a, 0x74, 0x01, 0x00, 0x7c, 0x00, 0x0f, 0x04, 0x00, 0x07, 0x06, 0x36, 0x02, 0x00, 0x02, 0x00, 0x02, 0x14, 0x00, 0x08, 0x04, + 0x00, 0x06, 0x68, 0x01, 0x0f, 0x36, 0x22, 0x1d, 0x20, 0xfe, 0x8d, 0x2c, 0x02, 0x02, 0xdc, 0x01, 0x01, 0x08, 0x00, 0x0f, 0xa0, 0x01, 0x03, 0x13, + 0x32, 0x3c, 0x03, 0x00, 0xda, 0x00, 0x0d, 0x08, 0x00, 0x20, 0xf6, 0x2c, 0x24, 0x00, 0x01, 0x38, 0x03, 0x08, 0x04, 0x00, 0x00, 0x54, 0x00, 0x00, + 0x04, 0x00, 0x0f, 0x20, 0x06, 0x08, 0x01, 0xbe, 0x00, 0x00, 0x64, 0x02, 0x0f, 0x08, 0x00, 0x14, 0x08, 0x9e, 0x0b, 0x01, 0x5c, 0x00, 0x00, 0x04, + 0x00, 0x13, 0xac, 0xb4, 0x03, 0x13, 0xef, 0xa6, 0x01, 0x11, 0x31, 0xba, 0x08, 0x11, 0x32, 0x3c, 0x03, 0x01, 0xa0, 0x00, 0x0f, 0x08, 0x00, 0x03, + 0x20, 0xfe, 0xf0, 0x46, 0x00, 0x0b, 0x02, 0x00, 0x00, 0x1c, 0x15, 0x02, 0x08, 0x01, 0x08, 0xdc, 0x11, 0x02, 0x86, 0x05, 0x07, 0x88, 0x00, 0x0e, + 0x08, 0x00, 0x00, 0x26, 0x00, 0x03, 0x02, 0x00, 0x00, 0x14, 0x04, 0x05, 0x18, 0x00, 0x00, 0x08, 0x00, 0x08, 0x80, 0x06, 0x20, 0xa4, 0x48, 0x76, + 0x01, 0x0f, 0x01, 0x00, 0x19, 0x20, 0x93, 0xe7, 0x42, 0x01, 0x00, 0x3a, 0x03, 0x00, 0x9e, 0x01, 0x0f, 0xd0, 0x07, 0x03, 0x04, 0x3c, 0x03, 0x00, + 0x08, 0x00, 0x40, 0xf6, 0x2c, 0xff, 0x12, 0x14, 0x00, 0x40, 0xff, 0x73, 0xed, 0xcb, 0x10, 0x00, 0x00, 0x18, 0x00, 0x20, 0xfe, 0x8c, 0x34, 0x03, + 0x01, 0x1e, 0x01, 0x05, 0x08, 0x00, 0x04, 0x50, 0x00, 0x00, 0x04, 0x00, 0x00, 0x2e, 0x00, 0x0f, 0x02, 0x00, 0x01, 0x04, 0xa0, 0x05, 0x0f, 0x08, + 0x00, 0x13, 0x0a, 0xa0, 0x0e, 0x07, 0x60, 0x00, 0x00, 0x5c, 0x1e, 0x05, 0x78, 0x00, 0x00, 0xaa, 0x01, 0x04, 0x98, 0x00, 0x03, 0x08, 0x00, 0x00, + 0x24, 0x07, 0x03, 0x6e, 0x01, 0x26, 0xf6, 0x4d, 0x18, 0x00, 0x04, 0x14, 0x00, 0x08, 0x02, 0x00, 0x01, 0x50, 0x00, 0x01, 0x58, 0x00, 0x00, 0x0e, + 0x00, 0x02, 0x02, 0x00, 0x01, 0xd8, 0x24, 0x07, 0x88, 0x00, 0x0f, 0x08, 0x00, 0x01, 0x06, 0xb8, 0x08, 0x01, 0x76, 0x02, 0x05, 0x18, 0x00, 0x00, + 0x08, 0x00, 0x03, 0xd4, 0x31, 0x01, 0x58, 0x00, 0x0f, 0xc6, 0x43, 0x23, 0x20, 0x29, 0x22, 0xdc, 0x01, 0x03, 0xe4, 0x01, 0x07, 0x9a, 0x00, 0x04, + 0x02, 0x00, 0x01, 0x74, 0x02, 0x01, 0xb8, 0x05, 0x27, 0xf5, 0xeb, 0x46, 0x04, 0x16, 0x12, 0x18, 0x00, 0x20, 0xfe, 0xef, 0xc0, 0x02, 0x05, 0x80, + 0x06, 0x00, 0x08, 0x00, 0x00, 0x94, 0x00, 0x00, 0x50, 0x00, 0x00, 0x8c, 0x02, 0x0f, 0x24, 0x08, 0x04, 0x01, 0x3c, 0x31, 0x07, 0xa8, 0x05, 0x0f, + 0x08, 0x00, 0x09, 0x0c, 0xcc, 0x0a, 0x00, 0x58, 0x00, 0x02, 0x60, 0x00, 0x01, 0x74, 0x00, 0x00, 0x04, 0x00, 0x02, 0x78, 0x00, 0x36, 0xef, 0xf6, + 0x2c, 0x98, 0x00, 0x4a, 0xed, 0xcb, 0xf6, 0x2c, 0xfa, 0x04, 0x01, 0xc8, 0x09, 0x01, 0x20, 0x00, 0x05, 0x98, 0x05, 0x06, 0x02, 0x00, 0x00, 0xb4, + 0x0b, 0x03, 0x58, 0x00, 0x01, 0x10, 0x00, 0x01, 0x02, 0x00, 0x02, 0x80, 0x00, 0x04, 0x88, 0x00, 0x0f, 0x08, 0x00, 0x03, 0x08, 0xda, 0x03, 0x06, + 0x50, 0x0e, 0x00, 0x08, 0x00, 0x08, 0x00, 0x0d, 0x0f, 0x30, 0x22, 0x21, 0x02, 0x01, 0x00, 0x21, 0xc5, 0x4a, 0x50, 0x01, 0x00, 0x46, 0x00, 0x0d, + 0x8e, 0x04, 0x20, 0xfe, 0xf1, 0x74, 0x02, 0x02, 0x04, 0x00, 0x0a, 0xd4, 0x00, 0x00, 0x1c, 0x09, 0x02, 0x18, 0x00, 0x01, 0x06, 0x01, 0x07, 0xc4, + 0x02, 0x00, 0x08, 0x00, 0x04, 0x50, 0x00, 0x00, 0x3c, 0x02, 0x00, 0x2e, 0x00, 0x0e, 0x02, 0x00, 0x0f, 0xe0, 0x13, 0x06, 0x0b, 0x04, 0x00, 0x07, + 0xb6, 0x09, 0x05, 0x02, 0x00, 0x01, 0x58, 0x00, 0x02, 0x60, 0x00, 0x04, 0xda, 0x04, 0x01, 0x78, 0x00, 0x20, 0xfe, 0xef, 0x90, 0x00, 0x02, 0x04, + 0x00, 0x44, 0xfd, 0xeb, 0xfe, 0xef, 0x18, 0x00, 0x22, 0xff, 0x32, 0x30, 0x03, 0x00, 0x36, 0x08, 0x00, 0x1c, 0x00, 0x40, 0xf5, 0xeb, 0xfe, 0xaf, + 0x10, 0x00, 0x09, 0x02, 0x00, 0x00, 0x9e, 0x0e, 0x02, 0x58, 0x00, 0x06, 0xa0, 0x01, 0x00, 0x40, 0x11, 0x03, 0x88, 0x00, 0x0f, 0x04, 0x00, 0x09, + 0x01, 0x2c, 0x00, 0x03, 0x02, 0x00, 0x06, 0x58, 0x07, 0x23, 0xed, 0xf0, 0x50, 0x00, 0x01, 0x58, 0x00, 0x11, 0x39, 0x3e, 0x47, 0x0f, 0x01, 0x00, + 0x21, 0x24, 0x49, 0xe3, 0xe4, 0x01, 0x2c, 0xfe, 0xac, 0xee, 0x02, 0x20, 0xf6, 0x8e, 0xce, 0x00, 0x00, 0x74, 0x02, 0x20, 0xf6, 0x4d, 0x10, 0x00, + 0x06, 0x02, 0x00, 0x01, 0x2e, 0x04, 0x00, 0x8c, 0x02, 0x30, 0xaa, 0xf6, 0x2c, 0x26, 0x01, 0x0a, 0x04, 0x00, 0x01, 0xd2, 0x03, 0x03, 0x3c, 0x02, + 0x00, 0x2e, 0x00, 0x0f, 0x02, 0x00, 0x01, 0x0e, 0x58, 0x19, 0x0c, 0x08, 0x00, 0x0f, 0x34, 0x32, 0x01, 0x00, 0x02, 0x00, 0x02, 0x58, 0x00, 0x00, + 0x60, 0x00, 0x00, 0x94, 0x01, 0x00, 0x70, 0x00, 0x02, 0x04, 0x00, 0x20, 0xf6, 0x2c, 0x90, 0x00, 0x00, 0x98, 0x00, 0x10, 0xf5, 0x9e, 0x01, 0x01, + 0x14, 0x00, 0x03, 0x04, 0x00, 0x00, 0x9a, 0x06, 0x34, 0x73, 0xfe, 0xf0, 0x20, 0x00, 0x20, 0xf6, 0x8e, 0x48, 0x00, 0x08, 0x02, 0x00, 0x00, 0x44, + 0x01, 0x03, 0x58, 0x00, 0x05, 0x52, 0x02, 0x00, 0xa4, 0x04, 0x00, 0x88, 0x00, 0x04, 0x90, 0x00, 0x0f, 0x08, 0x00, 0x05, 0x00, 0x2c, 0x00, 0x07, + 0x02, 0x00, 0x38, 0x53, 0xf6, 0x71, 0x00, 0x01, 0x00, 0x08, 0x00, 0x0f, 0x22, 0x39, 0x2b, 0x05, 0x9c, 0x43, 0x09, 0x7c, 0x05, 0x00, 0x02, 0x00, + 0x06, 0x68, 0x06, 0x00, 0x0e, 0x00, 0x05, 0x02, 0x00, 0x00, 0xc8, 0x46, 0x30, 0x0f, 0xed, 0xcb, 0x18, 0x00, 0x00, 0x08, 0x0d, 0x01, 0xa4, 0x02, + 0x04, 0xac, 0x02, 0x01, 0x08, 0x00, 0x01, 0xa2, 0x01, 0x00, 0x50, 0x00, 0x00, 0xee, 0x00, 0x07, 0x62, 0x04, 0x0b, 0x02, 0x00, 0x00, 0xe2, 0x3e, + 0x01, 0xa8, 0x05, 0x04, 0xb0, 0x05, 0x00, 0xe8, 0x13, 0x00, 0x28, 0x16, 0x0f, 0xec, 0x13, 0x0b, 0x02, 0x58, 0x00, 0x00, 0x60, 0x00, 0x04, 0x70, + 0x00, 0x02, 0x08, 0x00, 0x21, 0xfe, 0xae, 0x90, 0x00, 0x00, 0x20, 0x03, 0x10, 0xae, 0x10, 0x00, 0x04, 0x18, 0x00, 0x01, 0x08, 0x00, 0x00, 0x3a, + 0x00, 0x14, 0x53, 0x20, 0x00, 0x0f, 0x64, 0x0b, 0x00, 0x00, 0x18, 0x18, 0x02, 0x58, 0x00, 0x05, 0xa0, 0x01, 0x01, 0x34, 0x2a, 0x04, 0x98, 0x00, + 0x0f, 0x08, 0x00, 0x08, 0x00, 0x2c, 0x00, 0x08, 0x02, 0x00, 0x03, 0x48, 0x00, 0x04, 0x50, 0x00, 0x30, 0xcd, 0xfe, 0xee, 0x66, 0x01, 0x0f, 0x01, + 0x00, 0x27, 0x20, 0x7b, 0x46, 0xe4, 0x01, 0x02, 0xec, 0x01, 0x09, 0xfc, 0x0b, 0x04, 0xbc, 0x09, 0x31, 0xa9, 0xee, 0x0b, 0x10, 0x00, 0x00, 0x02, + 0x00, 0x10, 0x32, 0x7e, 0x01, 0x00, 0x04, 0x00, 0x00, 0x1c, 0x00, 0x02, 0xd0, 0x05, 0x20, 0xfe, 0x8d, 0x10, 0x00, 0x05, 0xcc, 0x02, 0x02, 0x08, + 0x00, 0x00, 0x38, 0x02, 0x00, 0x04, 0x00, 0x0f, 0xc4, 0x09, 0x08, 0x05, 0x02, 0x00, 0x02, 0xe4, 0x13, 0x00, 0x50, 0x24, 0x00, 0x0e, 0x00, 0x0f, + 0x02, 0x00, 0x0d, 0x00, 0x1e, 0x15, 0x00, 0x58, 0x00, 0x00, 0x9c, 0x03, 0x00, 0x6c, 0x00, 0x00, 0x04, 0x00, 0x02, 0x78, 0x00, 0x10, 0xad, 0x94, + 0x00, 0x00, 0x24, 0x03, 0x03, 0x10, 0x00, 0x04, 0x18, 0x00, 0x00, 0x06, 0x05, 0x00, 0xd8, 0x00, 0x12, 0x11, 0xb0, 0x00, 0x2c, 0xed, 0xa9, 0x0e, + 0x04, 0x03, 0xd4, 0x06, 0x00, 0x04, 0x00, 0x07, 0x44, 0x04, 0x0a, 0xa8, 0x27, 0x0f, 0x08, 0x00, 0x07, 0x00, 0x2c, 0x00, 0x07, 0x02, 0x00, 0x00, + 0x3e, 0x0f, 0x03, 0xa0, 0x00, 0x02, 0x08, 0x00, 0x00, 0x64, 0x01, 0x0f, 0x01, 0x00, 0x2b, 0x06, 0x28, 0x05, 0x0a, 0x4e, 0x01, 0x02, 0x24, 0x03, + 0x25, 0xf5, 0xeb, 0xa0, 0x01, 0x11, 0x53, 0x90, 0x02, 0x00, 0x04, 0x00, 0x32, 0x10, 0xf6, 0x2c, 0x1c, 0x00, 0x40, 0xed, 0xaa, 0xfe, 0x6e, 0x10, + 0x00, 0x04, 0x18, 0x00, 0x02, 0x08, 0x00, 0x05, 0x3c, 0x02, 0x00, 0x46, 0x01, 0x00, 0x3a, 0x00, 0x0f, 0x02, 0x00, 0x37, 0x00, 0x68, 0x16, 0x01, + 0x58, 0x00, 0x0c, 0x80, 0x06, 0x80, 0xff, 0x10, 0xfe, 0xad, 0xfe, 0x8c, 0xee, 0x0b, 0xce, 0x29, 0x01, 0x10, 0x00, 0x04, 0x18, 0x00, 0x00, 0x08, + 0x00, 0x00, 0x2a, 0x05, 0x12, 0x53, 0xb0, 0x00, 0x2f, 0xf5, 0xeb, 0xa0, 0x01, 0x00, 0x05, 0xb0, 0x00, 0x01, 0xca, 0x01, 0x03, 0x02, 0x00, 0x03, + 0x24, 0x03, 0x0f, 0x04, 0x00, 0x0b, 0x0b, 0xa0, 0x01, 0x00, 0x44, 0x01, 0x00, 0x48, 0x00, 0x04, 0x50, 0x00, 0x0f, 0x26, 0x45, 0x05, 0x0f, 0x01, + 0x00, 0x19, 0x24, 0xdd, 0xeb, 0xec, 0x01, 0x09, 0x4e, 0x01, 0x30, 0x53, 0xee, 0x0b, 0xce, 0x00, 0x04, 0xe8, 0x0c, 0x01, 0x46, 0x07, 0x02, 0x94, + 0x02, 0x00, 0xc2, 0x04, 0x11, 0xae, 0x8c, 0x02, 0x00, 0x20, 0x00, 0x10, 0xcb, 0x10, 0x00, 0x0b, 0x04, 0x00, 0x00, 0x9c, 0x00, 0x01, 0x50, 0x00, + 0x0a, 0xf2, 0x00, 0x0f, 0x02, 0x00, 0x30, 0x06, 0x68, 0x1a, 0x02, 0x40, 0x03, 0x02, 0x70, 0x00, 0x06, 0x04, 0x00, 0x0f, 0x14, 0x00, 0x01, 0x01, + 0x66, 0x10, 0x23, 0xf6, 0x8e, 0xb0, 0x00, 0x1e, 0xa9, 0x20, 0x08, 0x01, 0x50, 0x00, 0x01, 0x58, 0x00, 0x01, 0x34, 0x16, 0x04, 0x02, 0x00, 0x02, + 0x22, 0x08, 0x00, 0x2c, 0x03, 0x0f, 0x08, 0x00, 0x06, 0x0b, 0x5e, 0x0a, 0x07, 0x48, 0x0d, 0x00, 0x6c, 0x5b, 0x00, 0x5e, 0x01, 0x0f, 0x01, 0x00, + 0x2f, 0x03, 0x7c, 0x5d, 0x01, 0x44, 0x02, 0x06, 0xe0, 0x03, 0x00, 0xc4, 0x12, 0x03, 0xb0, 0x05, 0x04, 0x50, 0x07, 0x02, 0x8c, 0x02, 0x01, 0x94, + 0x02, 0x01, 0xe2, 0x04, 0x01, 0xd0, 0x05, 0x20, 0xfd, 0xeb, 0x10, 0x00, 0x04, 0x18, 0x00, 0x04, 0x08, 0x00, 0x04, 0x50, 0x00, 0x01, 0xce, 0x02, + 0x08, 0xf4, 0x00, 0x0f, 0x02, 0x00, 0x2d, 0x02, 0x9e, 0x2e, 0x01, 0x58, 0x00, 0x01, 0xfa, 0x07, 0x03, 0x70, 0x00, 0x0f, 0x08, 0x00, 0x08, 0x01, + 0x1e, 0x08, 0x40, 0xff, 0x73, 0xfe, 0x8d, 0xac, 0x00, 0x01, 0xd0, 0x00, 0x0d, 0x86, 0x13, 0x00, 0x50, 0x00, 0x02, 0x58, 0x00, 0x0c, 0x30, 0x07, + 0x03, 0x44, 0x03, 0x07, 0x70, 0x06, 0x09, 0x08, 0x00, 0x07, 0x5e, 0x0b, 0x01, 0x02, 0x00, 0x07, 0xf8, 0x00, 0x00, 0x5a, 0x01, 0x0f, 0x01, 0x00, + 0x35, 0x06, 0xf4, 0x01, 0x0b, 0xe2, 0x04, 0x37, 0xaa, 0xed, 0xcb, 0x4e, 0x07, 0x00, 0x8c, 0x02, 0x00, 0x16, 0x01, 0x01, 0x08, 0x00, 0x05, 0x50, + 0x0c, 0x11, 0xaa, 0x14, 0x00, 0x00, 0x04, 0x00, 0x01, 0x18, 0x00, 0x00, 0x08, 0x00, 0x01, 0x42, 0x03, 0x02, 0x50, 0x00, 0x00, 0x94, 0x02, 0x00, + 0x18, 0x00, 0x18, 0x10, 0xfa, 0x01, 0x0f, 0x02, 0x00, 0x28, 0x04, 0x80, 0x06, 0x00, 0xde, 0x04, 0x00, 0x6c, 0x00, 0x00, 0x04, 0x00, 0x00, 0x60, + 0x00, 0x0f, 0x08, 0x00, 0x05, 0x03, 0x9e, 0x01, 0x00, 0xcc, 0x00, 0x05, 0xb0, 0x00, 0x03, 0x12, 0x00, 0x06, 0x02, 0x00, 0x02, 0xa8, 0x00, 0x00, + 0x58, 0x00, 0x0c, 0xa0, 0x01, 0x00, 0x28, 0x08, 0x03, 0x2c, 0x03, 0x03, 0x70, 0x06, 0x08, 0x08, 0x00, 0x08, 0x9e, 0x0e, 0x00, 0x02, 0x00, 0x00, + 0xd2, 0x04, 0x02, 0x48, 0x00, 0x0f, 0x70, 0x13, 0x19, 0x0f, 0x01, 0x00, 0x0f, 0x08, 0xa0, 0x40, 0x00, 0x68, 0x00, 0x07, 0x02, 0x00, 0x08, 0xcc, + 0x00, 0x15, 0x31, 0x94, 0x02, 0x36, 0x10, 0xff, 0x0f, 0x04, 0x0d, 0x20, 0xfe, 0xae, 0x10, 0x00, 0x04, 0x18, 0x00, 0x21, 0xff, 0x32, 0x30, 0x03, + 0x14, 0x31, 0x50, 0x00, 0x01, 0x14, 0x09, 0x00, 0x18, 0x00, 0x00, 0x20, 0x00, 0x09, 0x32, 0x0e, 0x0f, 0x02, 0x00, 0x22, 0x02, 0x80, 0x06, 0x00, + 0x9e, 0x01, 0x00, 0x50, 0x00, 0x04, 0x58, 0x00, 0x0f, 0x08, 0x00, 0x01, 0x02, 0x88, 0x00, 0x03, 0x02, 0x00, 0x22, 0xf6, 0xd0, 0xac, 0x00, 0x00, + 0x12, 0x0c, 0x00, 0x10, 0x00, 0x09, 0x02, 0x00, 0x00, 0x96, 0x04, 0x00, 0xa8, 0x00, 0x0b, 0x80, 0x06, 0x07, 0x02, 0x00, 0x20, 0x53, 0xee, 0x12, + 0x0c, 0x02, 0x34, 0x03, 0x04, 0x04, 0x00, 0x1e, 0xf3, 0x62, 0x18, 0x01, 0x96, 0x02, 0x01, 0x48, 0x00, 0x0f, 0x32, 0x1d, 0x11, 0x0f, 0x01, 0x00, + 0x17, 0x01, 0x58, 0x44, 0x04, 0x44, 0x02, 0x0f, 0x60, 0x33, 0x09, 0x00, 0x1a, 0x03, 0x02, 0x98, 0x02, 0x30, 0x10, 0xed, 0xcb, 0x8c, 0x02, 0x01, + 0xd0, 0x05, 0x10, 0xae, 0x10, 0x00, 0x21, 0xfe, 0xef, 0x20, 0x45, 0x00, 0x26, 0x00, 0x01, 0x02, 0x00, 0x05, 0x50, 0x00, 0x02, 0xec, 0x02, 0x00, + 0x20, 0x00, 0x04, 0x04, 0x00, 0x0f, 0xa6, 0x01, 0x29, 0x02, 0x80, 0x06, 0x00, 0x62, 0x32, 0x02, 0x4c, 0x00, 0x09, 0x04, 0x00, 0x05, 0x9a, 0x01, + 0x08, 0x56, 0x02, 0x01, 0x02, 0x00, 0x22, 0xf6, 0x4d, 0x3c, 0x03, 0x40, 0xf5, 0xeb, 0xf6, 0x0c, 0x10, 0x00, 0x09, 0x02, 0x00, 0x04, 0x94, 0x03, + 0x0e, 0x9e, 0x02, 0x0f, 0x02, 0x00, 0x01, 0x00, 0x6c, 0x0a, 0x0a, 0x76, 0x06, 0x04, 0x02, 0x00, 0x02, 0xc4, 0x47, 0x01, 0x48, 0x00, 0x0f, 0x20, + 0x2f, 0x1d, 0x0f, 0x01, 0x00, 0x0d, 0x25, 0xfe, 0xad, 0xfc, 0x01, 0x09, 0xe2, 0x04, 0x0d, 0x02, 0x00, 0x11, 0x32, 0xa0, 0x02, 0x10, 0x31, 0x2e, + 0x09, 0x04, 0xd0, 0x05, 0x0e, 0x70, 0x07, 0x00, 0x02, 0x00, 0x06, 0x50, 0x00, 0x01, 0x96, 0x02, 0x02, 0x3a, 0x01, 0x06, 0x08, 0x00, 0x00, 0x0a, + 0x54, 0x0f, 0xa6, 0x01, 0x21, 0x00, 0x80, 0x06, 0x02, 0x50, 0x00, 0x0a, 0x04, 0x00, 0x0f, 0x50, 0x00, 0x0c, 0x02, 0x8c, 0x0a, 0x00, 0xb0, 0x00, + 0x20, 0xfe, 0xf1, 0x10, 0x00, 0x09, 0x02, 0x00, 0x04, 0x94, 0x03, 0x00, 0x80, 0x06, 0x00, 0x10, 0x00, 0x0f, 0x02, 0x00, 0x21, 0x11, 0x53, 0x32, + 0x04, 0x05, 0x48, 0x00, 0x00, 0x54, 0x01, 0x0f, 0x01, 0x00, 0x39, 0x01, 0xfa, 0x45, 0x03, 0xfc, 0x01, 0x0e, 0x7e, 0x02, 0x0d, 0x02, 0x00, 0x01, + 0x10, 0x09, 0x03, 0xd0, 0x05, 0x1f, 0xa9, 0xf6, 0x1a, 0x04, 0x00, 0xf4, 0x0d, 0x01, 0x50, 0x00, 0x00, 0xb4, 0x00, 0x05, 0x10, 0x06, 0x0c, 0x08, + 0x00, 0x00, 0x98, 0x06, 0x00, 0x78, 0x16, 0x00, 0x32, 0x00, 0x0f, 0x02, 0x00, 0x11, 0x13, 0x52, 0xb8, 0x09, 0x00, 0x04, 0x00, 0x01, 0x88, 0x00, + 0x05, 0x04, 0x00, 0x0f, 0x02, 0x00, 0x08, 0x20, 0xf6, 0x0c, 0xa8, 0x00, 0x02, 0xb0, 0x00, 0x0f, 0x2c, 0x00, 0x00, 0x06, 0x2c, 0x44, 0x0f, 0x40, + 0x03, 0x11, 0x0e, 0x02, 0x00, 0x10, 0x53, 0xc6, 0x00, 0x01, 0x96, 0x0f, 0x03, 0x48, 0x00, 0x0f, 0x7e, 0x06, 0x3b, 0x02, 0x01, 0x00, 0x01, 0xfc, + 0x01, 0x00, 0x5e, 0x00, 0x00, 0x30, 0x06, 0x00, 0x76, 0x00, 0x0f, 0x02, 0x00, 0x0d, 0x10, 0x32, 0x3c, 0x03, 0x00, 0x04, 0x00, 0x05, 0xe0, 0x09, + 0x0b, 0x02, 0x00, 0x05, 0x50, 0x00, 0x01, 0xa0, 0x01, 0x01, 0xe8, 0x02, 0x02, 0x3c, 0x03, 0x0f, 0x08, 0x00, 0x03, 0x0f, 0x00, 0x03, 0x0a, 0x05, + 0x02, 0x00, 0x10, 0x32, 0xbe, 0x10, 0x01, 0x30, 0x00, 0x0f, 0x2a, 0x06, 0x03, 0x0f, 0x02, 0x00, 0x01, 0x00, 0x6a, 0x0f, 0x03, 0xac, 0x00, 0x0b, + 0x0c, 0x11, 0x02, 0x02, 0x00, 0x00, 0x3a, 0x21, 0x04, 0xa8, 0x00, 0x00, 0x10, 0x00, 0x0f, 0x02, 0x00, 0x19, 0x00, 0xd8, 0x18, 0x03, 0x90, 0x00, + 0x06, 0xf0, 0x00, 0x20, 0xcd, 0x6a, 0x52, 0x01, 0x0f, 0x01, 0x00, 0x3b, 0x01, 0xd4, 0x5a, 0x00, 0x44, 0x02, 0x09, 0xc4, 0x15, 0x0f, 0x02, 0x00, + 0x07, 0x22, 0xfe, 0xf1, 0xd0, 0x05, 0x0f, 0x90, 0x0f, 0x01, 0x02, 0x02, 0x00, 0x01, 0xea, 0x03, 0x01, 0x50, 0x00, 0x00, 0xca, 0x16, 0x00, 0x2c, + 0x03, 0x0f, 0x04, 0x00, 0x0d, 0x0f, 0xe4, 0x09, 0x10, 0x10, 0x53, 0x28, 0x00, 0x03, 0x04, 0x00, 0x00, 0x10, 0x00, 0x0f, 0x02, 0x00, 0x0e, 0x06, + 0xa8, 0x00, 0x00, 0x08, 0x00, 0x0f, 0x4c, 0x02, 0x02, 0x06, 0xf4, 0x0f, 0x0f, 0xfa, 0x00, 0x11, 0x00, 0x80, 0x03, 0x30, 0x52, 0xff, 0x52, 0xae, + 0x00, 0x03, 0x88, 0x00, 0x02, 0x04, 0x00, 0x00, 0xe0, 0x01, 0x03, 0x48, 0x00, 0x0f, 0xfe, 0x33, 0x1b, 0x0f, 0x01, 0x00, 0x13, 0x09, 0xc8, 0x60, + 0x0f, 0x9c, 0x02, 0x11, 0x12, 0x32, 0xd0, 0x05, 0x0f, 0x90, 0x0f, 0x01, 0x03, 0x02, 0x00, 0x02, 0xb4, 0x00, 0x00, 0xa6, 0x01, 0x00, 0xc2, 0x09, + 0x00, 0x68, 0x02, 0x00, 0x04, 0x00, 0x01, 0x6c, 0x02, 0x0f, 0x08, 0x00, 0x06, 0x0f, 0x7a, 0x00, 0x0d, 0x00, 0x4c, 0x04, 0x00, 0x28, 0x00, 0x00, + 0x30, 0x00, 0x00, 0x10, 0x00, 0x0f, 0x02, 0x00, 0x0e, 0x00, 0x68, 0x0a, 0x02, 0xa8, 0x00, 0x00, 0x08, 0x00, 0x08, 0xd4, 0x09, 0x04, 0x02, 0x00, + 0x00, 0x32, 0x04, 0x05, 0xa8, 0x00, 0x01, 0x12, 0x00, 0x0f, 0x02, 0x00, 0x00, 0x00, 0xde, 0x03, 0x00, 0xc4, 0x00, 0x00, 0x04, 0x00, 0x04, 0x80, + 0x00, 0x0a, 0x08, 0x00, 0x00, 0xe6, 0x01, 0x03, 0x48, 0x00, 0x0f, 0xee, 0x19, 0x23, 0x0f, 0x01, 0x00, 0xff, 0xff, 0xcf, 0x10, 0xff, 0x01, 0x00, + 0x00, 0x09, 0x00, 0x0f, 0x01, 0x00, 0xb2, 0x00, 0xcd, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0xad, 0x00, 0xc8, 0x00, 0x05, + 0x01, 0x00, 0x00, 0x11, 0x00, 0x0f, 0x01, 0x00, 0xab, 0x00, 0xc6, 0x00, 0x07, 0x01, 0x00, 0x00, 0x13, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0c, 0x00, + 0x07, 0x0f, 0x00, 0x0f, 0x01, 0x00, 0x96, 0x00, 0xb5, 0x00, 0x09, 0x01, 0x00, 0x00, 0x15, 0x00, 0x07, 0x16, 0x00, 0x00, 0x0e, 0x00, 0x0f, 0x01, + 0x00, 0x98, 0x00, 0xb3, 0x00, 0x0a, 0x01, 0x00, 0x0c, 0x15, 0x00, 0x00, 0x26, 0x00, 0x0f, 0x01, 0x00, 0x96, 0x00, 0xb1, 0x00, 0x0c, 0x01, 0x00, + 0x0c, 0x15, 0x00, 0x00, 0x28, 0x00, 0x0f, 0x01, 0x00, 0x95, 0x00, 0xb0, 0x00, 0x0f, 0x01, 0x00, 0x0e, 0x00, 0x29, 0x00, 0x0f, 0x01, 0x00, 0x93, + 0x00, 0xae, 0x00, 0x0f, 0x01, 0x00, 0x0f, 0x00, 0x2a, 0x00, 0x0f, 0x01, 0x00, 0x92, 0x00, 0xad, 0x00, 0x0f, 0x01, 0x00, 0x10, 0x00, 0x2b, 0x00, + 0x0f, 0x01, 0x00, 0x3d, 0x00, 0x58, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x36, 0x00, 0x51, 0x00, 0x0f, 0x01, 0x00, 0x11, + 0x00, 0x2c, 0x00, 0x0f, 0x01, 0x00, 0x39, 0x00, 0x54, 0x00, 0x05, 0x01, 0x00, 0x00, 0x11, 0x00, 0x0f, 0x01, 0x00, 0x34, 0x00, 0x4f, 0x00, 0x0f, + 0x01, 0x00, 0x11, 0x00, 0x2c, 0x00, 0x0f, 0x01, 0x00, 0x38, 0x00, 0x53, 0x00, 0x07, 0x01, 0x00, 0x00, 0x13, 0x00, 0x0f, 0x01, 0x00, 0x32, 0x00, + 0x4d, 0x00, 0x0f, 0x01, 0x00, 0x12, 0x00, 0x2d, 0x00, 0x0f, 0x01, 0x00, 0x37, 0x00, 0x52, 0x00, 0x09, 0x01, 0x00, 0x00, 0x15, 0x00, 0x0f, 0x01, + 0x00, 0x29, 0x00, 0x44, 0x00, 0x0f, 0x01, 0x00, 0x1a, 0x00, 0x35, 0x00, 0x0f, 0x01, 0x00, 0x36, 0x00, 0x51, 0x00, 0x0a, 0x01, 0x00, 0x00, 0x16, + 0x00, 0x0f, 0x01, 0x00, 0x27, 0x00, 0x42, 0x00, 0x0f, 0x01, 0x00, 0x1c, 0x00, 0x37, 0x00, 0x0f, 0x01, 0x00, 0x2f, 0x00, 0x4a, 0x00, 0x13, 0xff, + 0x07, 0x00, 0x0f, 0x01, 0x00, 0x03, 0x00, 0x26, 0x00, 0x0f, 0x01, 0x00, 0x1d, 0x00, 0x38, 0x00, 0x0f, 0x01, 0x00, 0x1d, 0x00, 0x38, 0x00, 0x0f, + 0x01, 0x00, 0x2d, 0x00, 0x48, 0x00, 0x0f, 0x01, 0x00, 0x0f, 0x00, 0x2a, 0x00, 0x0f, 0x01, 0x00, 0x19, 0x00, 0x34, 0x00, 0x0f, 0x01, 0x00, 0x1f, + 0x00, 0x3a, 0x00, 0x0f, 0x01, 0x00, 0x2b, 0x00, 0x46, 0x00, 0x0f, 0x01, 0x00, 0x12, 0x00, 0x2d, 0x00, 0x0f, 0x01, 0x00, 0x18, 0x00, 0x33, 0x00, + 0x0f, 0x01, 0x00, 0x1f, 0x00, 0x3a, 0x00, 0x0f, 0x01, 0x00, 0x2a, 0x00, 0x45, 0x00, 0x0f, 0x01, 0x00, 0x14, 0x00, 0x2f, 0x00, 0x0f, 0x01, 0x00, + 0x16, 0x00, 0x31, 0x00, 0x0f, 0x01, 0x00, 0x20, 0x00, 0x3b, 0x00, 0x0f, 0x01, 0x00, 0x29, 0x00, 0x44, 0x00, 0x0f, 0x01, 0x00, 0x16, 0x00, 0x31, + 0x00, 0x0f, 0x01, 0x00, 0x0d, 0x00, 0x28, 0x00, 0x0f, 0x8b, 0x03, 0x0b, 0x0f, 0x01, 0x00, 0x0d, 0x00, 0x46, 0x00, 0x0f, 0x01, 0x00, 0x25, 0x00, + 0x40, 0x00, 0x0f, 0x01, 0x00, 0x18, 0x00, 0x33, 0x00, 0x09, 0x01, 0x00, 0x00, 0x15, 0x00, 0x08, 0x16, 0x00, 0x00, 0x0f, 0x00, 0x0f, 0x01, 0x00, + 0x2f, 0x00, 0x4a, 0x00, 0x0f, 0x01, 0x00, 0x23, 0x00, 0x3e, 0x00, 0x0f, 0x01, 0x00, 0x19, 0x00, 0x34, 0x00, 0x07, 0x01, 0x00, 0x00, 0x13, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x0c, 0x00, 0x07, 0x0f, 0x00, 0x0f, 0x01, 0x00, 0x2e, 0x00, 0x4d, 0x00, 0x0f, 0x01, 0x00, 0x21, 0x00, 0x3c, 0x00, 0x0f, + 0x01, 0x00, 0x1a, 0x00, 0x35, 0x00, 0x05, 0x01, 0x00, 0x00, 0x11, 0x00, 0x04, 0x01, 0x00, 0x0c, 0x10, 0x00, 0x0f, 0x01, 0x00, 0x2c, 0x00, 0x4f, + 0x00, 0x0f, 0x01, 0x00, 0x20, 0x00, 0x3b, 0x00, 0x0f, 0x01, 0x00, 0x1b, 0x00, 0x36, 0x00, 0x03, 0x01, 0x00, 0x00, 0x0f, 0x00, 0x06, 0x01, 0x00, + 0x0c, 0x10, 0x00, 0x0f, 0x01, 0x00, 0x2b, 0x00, 0x60, 0x00, 0x0f, 0x01, 0x00, 0x20, 0x00, 0x3b, 0x00, 0x0f, 0x01, 0x00, 0x1b, 0x00, 0x36, 0x00, + 0x02, 0x01, 0x00, 0x00, 0x0e, 0x00, 0x0f, 0x01, 0x00, 0x47, 0x00, 0x62, 0x00, 0x0f, 0x01, 0x00, 0x1e, 0x00, 0x39, 0x00, 0x0f, 0x01, 0x00, 0x1d, + 0x00, 0x38, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x48, 0x00, 0x63, 0x00, 0x0f, 0x01, 0x00, 0x1d, 0x00, 0x38, 0x00, 0x0f, + 0x01, 0x00, 0x1d, 0x00, 0x38, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x49, 0x00, 0x64, 0x00, 0x0f, 0x01, 0x00, 0x1d, 0x00, + 0x38, 0x00, 0x0f, 0x01, 0x00, 0x1d, 0x00, 0x38, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x4b, 0x00, 0x66, 0x00, 0x0f, 0x01, + 0x00, 0x1b, 0x00, 0x36, 0x00, 0x0f, 0x01, 0x00, 0x1e, 0x0f, 0x37, 0x00, 0x24, 0x0f, 0x01, 0x00, 0x24, 0x00, 0xa7, 0x00, 0x0f, 0x01, 0x00, 0x16, + 0x00, 0x31, 0x00, 0x0f, 0x01, 0x00, 0x8e, 0x00, 0xa9, 0x00, 0x0f, 0x01, 0x00, 0x14, 0x00, 0x2f, 0x00, 0x0f, 0x01, 0x00, 0x90, 0x00, 0xab, 0x00, + 0x0f, 0x01, 0x00, 0x12, 0x00, 0x2d, 0x00, 0x0f, 0x01, 0x00, 0x91, 0x04, 0xa9, 0x00, 0x00, 0xb4, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x00, 0x24, 0x00, + 0x0f, 0x01, 0x00, 0x9b, 0x00, 0xb6, 0x00, 0x0f, 0x01, 0x00, 0x08, 0x00, 0x23, 0x00, 0x0f, 0x01, 0x00, 0x9b, 0x00, 0xb6, 0x00, 0x0f, 0x01, 0x00, + 0x07, 0x00, 0x22, 0x00, 0x0f, 0x01, 0x00, 0x9c, 0x00, 0xb7, 0x00, 0x0f, 0x01, 0x00, 0x05, 0x00, 0x20, 0x00, 0x0f, 0x01, 0x00, 0x9e, 0x00, 0xb9, + 0x00, 0x0f, 0x01, 0x00, 0x02, 0x00, 0x1d, 0x00, 0x0f, 0x01, 0x00, 0xa0, 0x00, 0xbb, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x00, 0x1d, 0x00, 0x0f, 0x01, + 0x00, 0xa0, 0x00, 0xbb, 0x00, 0x0f, 0x01, 0x00, 0x01, 0x00, 0x1c, 0x00, 0x0f, 0x01, 0x00, 0xa2, 0x00, 0xbd, 0x00, 0x0f, 0x01, 0x00, 0x00, 0x00, + 0x1b, 0x00, 0x0f, 0x01, 0x00, 0xa2, 0x00, 0xbd, 0x00, 0x0e, 0x01, 0x00, 0x00, 0x1a, 0x00, 0x0f, 0x01, 0x00, 0xa3, 0x00, 0xbe, 0x00, 0x0e, 0x01, + 0x00, 0x00, 0x1a, 0x00, 0x0f, 0x01, 0x00, 0xa3, 0x00, 0xbe, 0x00, 0x0e, 0x01, 0x00, 0x00, 0x1a, 0x00, 0x0f, 0x01, 0x00, 0xa4, 0x00, 0xbf, 0x00, + 0x0d, 0x01, 0x00, 0x00, 0x19, 0x00, 0x0f, 0x01, 0x00, 0xa5, 0x00, 0xc0, 0x00, 0x0c, 0x01, 0x00, 0x00, 0x18, 0x00, 0x0f, 0x01, 0x00, 0xa7, 0x00, + 0xc2, 0x00, 0x0a, 0x01, 0x00, 0x00, 0x16, 0x00, 0x0f, 0x01, 0x00, 0xa8, 0x00, 0xc3, 0x00, 0x09, 0x01, 0x00, 0x00, 0x15, 0x00, 0x0f, 0x01, 0x00, + 0xa9, 0x00, 0xc4, 0x00, 0x09, 0x01, 0x00, 0x00, 0x15, 0x00, 0x0f, 0x01, 0x00, 0xa8, 0x00, 0xc3, 0x00, 0x09, 0x01, 0x00, 0x00, 0x15, 0x00, 0x0f, + 0x01, 0x00, 0xa9, 0x00, 0xc4, 0x00, 0x09, 0x01, 0x00, 0x00, 0x15, 0x00, 0x0f, 0x01, 0x00, 0xa8, 0x00, 0xc3, 0x00, 0x0a, 0x01, 0x00, 0x00, 0x16, + 0x00, 0x0f, 0x01, 0x00, 0xa8, 0x00, 0xc3, 0x00, 0x0a, 0x01, 0x00, 0x00, 0x16, 0x00, 0x0f, 0x01, 0x00, 0xa7, 0x00, 0xc2, 0x00, 0x0a, 0x01, 0x00, + 0x00, 0x16, 0x00, 0x0f, 0x01, 0x00, 0xa7, 0x00, 0xc2, 0x00, 0x0c, 0x01, 0x00, 0x00, 0x18, 0x00, 0x0f, 0x01, 0x00, 0xa5, 0x00, 0xc0, 0x00, 0x0d, + 0x01, 0x00, 0x00, 0x19, 0x00, 0x0f, 0x01, 0x00, 0xa4, 0x00, 0xbf, 0x00, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x0f, 0x01, 0x00, 0xa2, 0x00, + 0xbd, 0x00, 0x0f, 0x01, 0x00, 0x01, 0x00, 0x1c, 0x00, 0x0f, 0x01, 0x00, 0xa1, 0x00, 0xbc, 0x00, 0x0f, 0x01, 0x00, 0x03, 0x00, 0x1e, 0x00, 0x0f, + 0x01, 0x00, 0x9e, 0x00, 0xb9, 0x00, 0x0f, 0x01, 0x00, 0x05, 0x00, 0x20, 0x00, 0x0f, 0x01, 0x00, 0x9d, 0x00, 0xb8, 0x00, 0x0f, 0x01, 0x00, 0x05, + 0x00, 0x20, 0x00, 0x0f, 0x01, 0x00, 0x9c, 0x00, 0xb7, 0x00, 0x0f, 0x01, 0x00, 0x07, 0x00, 0x22, 0x00, 0x0f, 0x01, 0x00, 0x9a, 0x00, 0xb5, 0x00, + 0x0f, 0x01, 0x00, 0x08, 0x00, 0x23, 0x00, 0x0f, 0x01, 0x00, 0x99, 0x00, 0xb4, 0x00, 0x0f, 0x01, 0x00, 0x0a, 0x00, 0x25, 0x00, 0x0f, 0x01, 0x00, + 0x98, 0x00, 0xb3, 0x00, 0x0f, 0x01, 0x00, 0x0a, 0x00, 0x25, 0x00, 0x0f, 0x01, 0x00, 0x96, 0x00, 0xb1, 0x00, 0x0f, 0x01, 0x00, 0x0c, 0x00, 0x27, + 0x00, 0x0f, 0x01, 0x00, 0x94, 0x00, 0xaf, 0x00, 0x0f, 0x01, 0x00, 0x0f, 0x00, 0x2a, 0x00, 0x0f, 0x01, 0x00, 0x93, 0x00, 0xae, 0x00, 0x0f, 0x01, + 0x00, 0x0f, 0x00, 0x2a, 0x00, 0x0f, 0x01, 0x00, 0x93, 0x00, 0xae, 0x00, 0x0f, 0x01, 0x00, 0x0f, 0x00, 0x2a, 0x00, 0x0f, 0x01, 0x00, 0x93, 0x00, + 0xae, 0x00, 0x0f, 0x01, 0x00, 0x10, 0x00, 0x2b, 0x00, 0x0f, 0x01, 0x00, 0x91, 0x00, 0xac, 0x00, 0x0f, 0x01, 0x00, 0x11, 0x00, 0x2c, 0x00, 0x0f, + 0x01, 0x00, 0x91, 0x00, 0xac, 0x00, 0x0f, 0x01, 0x00, 0x12, 0x00, 0x2d, 0x00, 0x0f, 0x01, 0x00, 0x90, 0x00, 0xab, 0x00, 0x0f, 0x01, 0x00, 0x12, + 0x00, 0x2d, 0x00, 0x0f, 0x01, 0x00, 0x90, 0x00, 0xab, 0x00, 0x0f, 0x01, 0x00, 0x12, 0x00, 0x2d, 0x00, 0x0f, 0x01, 0x00, 0x90, 0x00, 0xab, 0x00, + 0x06, 0x01, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +static const uint8_t fortune_back[] = { + 0x1f, 0x00, 0x01, 0x00, 0xb0, 0xf0, 0x01, 0x73, 0x26, 0xb4, 0xc8, 0xf6, 0x6c, 0xf6, 0x8b, 0xfe, 0xcc, 0xdd, 0xea, 0xb4, 0xc9, 0x5a, 0x84, 0x14, + 0x00, 0x0f, 0x01, 0x00, 0x53, 0xc5, 0x93, 0xe7, 0xfe, 0xcd, 0xfe, 0xcd, 0xfe, 0xee, 0xfe, 0xcc, 0xfe, 0xee, 0x08, 0x00, 0x30, 0x8c, 0x94, 0x07, + 0x1c, 0x00, 0x0f, 0x01, 0x00, 0x31, 0xe0, 0x20, 0xe1, 0x62, 0xa5, 0x8b, 0xc7, 0xbd, 0x09, 0xac, 0x68, 0x8b, 0xc7, 0x39, 0xa3, 0x12, 0x00, 0x04, + 0x01, 0x00, 0xcc, 0x5a, 0x84, 0xf6, 0x6b, 0xfe, 0xcd, 0xfe, 0xac, 0xfe, 0xcd, 0xfe, 0xcc, 0x08, 0x00, 0x40, 0xf6, 0x6c, 0x39, 0x62, 0x24, 0x00, + 0x0f, 0x01, 0x00, 0x29, 0x40, 0x31, 0x42, 0xbd, 0x09, 0x4c, 0x00, 0x01, 0xd8, 0x00, 0x01, 0x08, 0x00, 0x40, 0xf6, 0x8c, 0x9c, 0x27, 0x1a, 0x00, + 0x40, 0x00, 0x00, 0x9c, 0x27, 0x10, 0x00, 0x04, 0x18, 0x00, 0x0f, 0x08, 0x00, 0x01, 0x20, 0x29, 0x22, 0x28, 0x00, 0x0f, 0x01, 0x00, 0x25, 0x21, + 0x39, 0xa3, 0xdc, 0x00, 0x05, 0xd0, 0x00, 0x05, 0x08, 0x00, 0x57, 0xac, 0x4a, 0x03, 0xa4, 0x48, 0x10, 0x00, 0x0f, 0x08, 0x00, 0x05, 0x10, 0xcc, + 0x46, 0x00, 0x0f, 0x01, 0x00, 0x23, 0x21, 0x62, 0xa5, 0xc4, 0x00, 0x00, 0x04, 0x00, 0x04, 0xd0, 0x01, 0x06, 0x08, 0x00, 0x00, 0x5c, 0x00, 0x00, + 0x08, 0x00, 0x04, 0x10, 0x00, 0x0f, 0x08, 0x00, 0x04, 0x20, 0xc5, 0x2a, 0x4a, 0x00, 0x0f, 0x01, 0x00, 0x21, 0x21, 0xf6, 0x8b, 0x64, 0x00, 0x04, + 0xc8, 0x00, 0x0f, 0x08, 0x00, 0x07, 0x04, 0x04, 0x00, 0x04, 0x10, 0x00, 0x08, 0x08, 0x00, 0x30, 0xac, 0x21, 0x02, 0x4c, 0x00, 0x0f, 0x01, 0x00, + 0x1d, 0x21, 0xcd, 0x69, 0x44, 0x00, 0x00, 0xc8, 0x00, 0x02, 0x08, 0x00, 0x00, 0x50, 0x00, 0x00, 0x08, 0x00, 0x04, 0x10, 0x00, 0x04, 0x08, 0x00, + 0x0f, 0x18, 0x00, 0x05, 0x03, 0x08, 0x00, 0x20, 0x6a, 0xc5, 0x4e, 0x00, 0x0f, 0x01, 0x00, 0x1b, 0x21, 0x41, 0xc3, 0x3c, 0x00, 0x02, 0xc0, 0x00, + 0x00, 0x08, 0x00, 0x04, 0x04, 0x00, 0x04, 0x10, 0x00, 0x0f, 0x08, 0x00, 0x16, 0x20, 0xac, 0x88, 0x50, 0x00, 0x0f, 0x01, 0x00, 0x1b, 0x20, 0xcd, + 0x6a, 0xb8, 0x00, 0x06, 0xc0, 0x01, 0x0f, 0x08, 0x00, 0x04, 0x04, 0x04, 0x00, 0x04, 0x10, 0x00, 0x0f, 0x08, 0x00, 0x00, 0x20, 0xd5, 0xaa, 0x50, + 0x00, 0x0f, 0x01, 0x00, 0x1b, 0x20, 0xfe, 0xab, 0xb8, 0x00, 0x04, 0xc0, 0x00, 0x0f, 0x08, 0x00, 0x08, 0x04, 0x04, 0x00, 0x04, 0x10, 0x00, 0x0d, + 0x08, 0x00, 0x20, 0xee, 0x2b, 0x50, 0x00, 0x0f, 0x01, 0x00, 0x19, 0x21, 0x31, 0x42, 0xb8, 0x00, 0x00, 0x44, 0x00, 0x0f, 0x08, 0x00, 0x09, 0x04, + 0xe0, 0x00, 0x04, 0x10, 0x00, 0x0f, 0x08, 0x00, 0x02, 0x20, 0xe6, 0x0b, 0x52, 0x00, 0x0f, 0x01, 0x00, 0x19, 0x22, 0x49, 0xe3, 0xb8, 0x00, 0x04, + 0xc0, 0x00, 0x0f, 0x08, 0x00, 0x20, 0x04, 0x04, 0x00, 0x1f, 0xac, 0x7a, 0x01, 0x1f, 0x25, 0x41, 0xc3, 0xd8, 0x00, 0x0f, 0x08, 0x00, 0x2e, 0x20, + 0xa4, 0x48, 0x52, 0x00, 0x0f, 0x01, 0x00, 0x19, 0x22, 0x49, 0xe3, 0xb8, 0x00, 0x04, 0xc0, 0x00, 0x0f, 0x08, 0x00, 0x29, 0x20, 0x6a, 0xe5, 0x52, + 0x00, 0x0f, 0x01, 0x00, 0x15, 0x61, 0x39, 0x83, 0xb4, 0xc9, 0xf6, 0x4b, 0xb8, 0x00, 0x00, 0x44, 0x00, 0x00, 0x08, 0x00, 0x04, 0xc8, 0x00, 0x04, + 0x10, 0x00, 0x0f, 0x08, 0x00, 0x1a, 0x20, 0x39, 0x83, 0x56, 0x00, 0x0f, 0x01, 0x00, 0x13, 0x21, 0xb4, 0xc8, 0x34, 0x00, 0x03, 0xb8, 0x00, 0x0f, + 0x08, 0x00, 0x31, 0x6f, 0xdd, 0xcb, 0xbd, 0x09, 0x93, 0xe7, 0x84, 0x00, 0x0f, 0x45, 0x5a, 0x64, 0xfe, 0x8c, 0xe8, 0x00, 0x0f, 0x08, 0x00, 0x3e, + 0x2f, 0xee, 0x2b, 0x76, 0x08, 0x09, 0x21, 0x41, 0xc3, 0xe4, 0x03, 0x01, 0xb0, 0x00, 0x0f, 0x08, 0x00, 0x45, 0x20, 0x8b, 0xc7, 0x6a, 0x00, 0x0e, + 0x01, 0x00, 0x23, 0x4a, 0x03, 0x24, 0x00, 0x00, 0xa8, 0x00, 0x0c, 0x08, 0x00, 0x04, 0xc0, 0x00, 0x04, 0x10, 0x00, 0x0f, 0x08, 0x00, 0x0d, 0x0f, + 0x30, 0x00, 0x08, 0x0f, 0x80, 0x00, 0x03, 0x20, 0xee, 0x4b, 0x1c, 0x00, 0x00, 0xa0, 0x00, 0x0f, 0x08, 0x00, 0x34, 0x04, 0x04, 0x00, 0x04, 0x10, + 0x00, 0x04, 0x08, 0x00, 0x1e, 0xab, 0xf4, 0x06, 0x25, 0x9c, 0x27, 0xb0, 0x00, 0x0f, 0x08, 0x00, 0x4e, 0x20, 0xac, 0x68, 0x72, 0x00, 0x08, 0x01, + 0x00, 0x00, 0x86, 0x08, 0x07, 0xa0, 0x00, 0x0f, 0x08, 0x00, 0x4c, 0x00, 0x72, 0x00, 0x06, 0x01, 0x00, 0x23, 0x73, 0x26, 0x98, 0x00, 0x00, 0x1c, + 0x00, 0x0f, 0x08, 0x00, 0x50, 0x0a, 0x7e, 0x03, 0x01, 0xe4, 0x03, 0x03, 0x98, 0x00, 0x0f, 0x08, 0x00, 0x51, 0x0a, 0x7e, 0x00, 0x20, 0xee, 0x4c, + 0x90, 0x01, 0x02, 0x98, 0x00, 0x0f, 0x08, 0x00, 0x48, 0x04, 0x04, 0x00, 0x30, 0xcc, 0x4a, 0x03, 0x76, 0x00, 0x04, 0x01, 0x00, 0x0f, 0xb8, 0x0a, + 0x04, 0x0f, 0x08, 0x00, 0x46, 0x0a, 0xfc, 0x00, 0x01, 0x14, 0x00, 0x00, 0x98, 0x00, 0x0f, 0x08, 0x00, 0x54, 0x20, 0x41, 0xc3, 0x76, 0x00, 0x04, + 0x01, 0x00, 0x26, 0xe6, 0x0a, 0x98, 0x00, 0x0f, 0x08, 0x00, 0x51, 0x0a, 0x64, 0x0c, 0x22, 0xc5, 0x2a, 0x90, 0x01, 0x00, 0x98, 0x00, 0x0f, 0x08, + 0x00, 0x51, 0x00, 0x74, 0x00, 0x06, 0x01, 0x00, 0x26, 0x72, 0xe5, 0x98, 0x00, 0x0f, 0x08, 0x00, 0x4f, 0x20, 0xdd, 0xeb, 0x74, 0x00, 0x06, 0x01, + 0x00, 0x23, 0x29, 0x22, 0x98, 0x00, 0x00, 0x24, 0x00, 0x0f, 0x08, 0x00, 0x4e, 0x0e, 0x6e, 0x08, 0x22, 0xdd, 0xcb, 0x98, 0x00, 0x04, 0xa0, 0x00, + 0x0f, 0x08, 0x00, 0x47, 0x20, 0xf6, 0x6b, 0x70, 0x00, 0x0a, 0x01, 0x00, 0x20, 0x52, 0x44, 0x90, 0x01, 0x01, 0xa0, 0x00, 0x0f, 0x08, 0x00, 0x4c, + 0x20, 0x93, 0xe7, 0x70, 0x00, 0x0c, 0x01, 0x00, 0x26, 0xd5, 0x89, 0xa0, 0x00, 0x0f, 0x08, 0x00, 0x3e, 0x04, 0x04, 0x00, 0x30, 0xac, 0xfe, 0x8c, + 0x6c, 0x00, 0x0e, 0x01, 0x00, 0x23, 0x39, 0x83, 0x2c, 0x00, 0x00, 0xa8, 0x00, 0x02, 0x08, 0x00, 0x00, 0x30, 0x00, 0x00, 0x08, 0x00, 0x04, 0x10, + 0x00, 0x0f, 0x08, 0x00, 0x30, 0x20, 0x62, 0xa5, 0x6c, 0x00, 0x0f, 0x01, 0x00, 0x01, 0x0f, 0xc8, 0x0a, 0x39, 0x0f, 0x08, 0x00, 0x03, 0x20, 0xd5, + 0x89, 0x68, 0x00, 0x0f, 0x01, 0x00, 0x05, 0x21, 0x83, 0x87, 0xa4, 0x00, 0x00, 0x04, 0x00, 0x05, 0xa8, 0x01, 0x0f, 0x08, 0x00, 0x39, 0x0a, 0x66, + 0x04, 0x0e, 0x01, 0x00, 0x82, 0x41, 0xa3, 0xfd, 0xeb, 0xfe, 0x6e, 0xfe, 0x6c, 0xac, 0x00, 0x01, 0x04, 0x00, 0x03, 0xb8, 0x00, 0x0f, 0x08, 0x00, + 0x2f, 0x0f, 0x48, 0x12, 0x11, 0x61, 0x94, 0x07, 0xfe, 0x2c, 0xfe, 0x6e, 0x04, 0x00, 0x02, 0x84, 0x00, 0x00, 0xb8, 0x00, 0x00, 0x44, 0x00, 0x0f, + 0x08, 0x00, 0x2d, 0x10, 0xac, 0x5e, 0x00, 0x0f, 0x01, 0x00, 0x0d, 0x23, 0x62, 0x44, 0x7c, 0x00, 0x1b, 0x0c, 0x08, 0x00, 0x00, 0x86, 0x07, 0x00, + 0xc4, 0x00, 0x08, 0x04, 0x00, 0x31, 0x8c, 0xfe, 0xcd, 0x1c, 0x00, 0x02, 0x04, 0x00, 0x00, 0x64, 0x00, 0x02, 0x18, 0x00, 0x0f, 0x08, 0x00, 0x00, + 0x20, 0x52, 0x24, 0x5e, 0x00, 0x0f, 0x01, 0x00, 0x0d, 0x23, 0x52, 0x04, 0x4c, 0x00, 0x0f, 0x04, 0x00, 0x21, 0x00, 0xe8, 0x00, 0x07, 0xe8, 0x01, + 0x06, 0x08, 0x00, 0x20, 0xdd, 0xcb, 0x5c, 0x00, 0x0f, 0x01, 0x00, 0x0f, 0x21, 0x39, 0xa3, 0xf0, 0x00, 0x11, 0x2c, 0xf4, 0x00, 0x0f, 0x08, 0x00, + 0x1d, 0x03, 0xe8, 0x00, 0x0e, 0x08, 0x00, 0x20, 0x52, 0x44, 0x5c, 0x00, 0x0f, 0x01, 0x00, 0x0f, 0x23, 0x49, 0xe3, 0xc8, 0x00, 0x0f, 0x04, 0x00, + 0x21, 0x00, 0x6c, 0x00, 0x00, 0xf0, 0x00, 0x0b, 0x08, 0x00, 0x20, 0xee, 0x4c, 0x5a, 0x00, 0x0f, 0x01, 0x00, 0x11, 0x01, 0xfc, 0x00, 0x00, 0x4c, + 0x00, 0x00, 0xcc, 0x00, 0x0f, 0x08, 0x00, 0x1b, 0x00, 0x6c, 0x00, 0x07, 0xf0, 0x00, 0x06, 0x08, 0x00, 0x1d, 0x72, 0x58, 0x06, 0x0f, 0x01, 0x00, + 0x05, 0x0f, 0xfc, 0x00, 0x24, 0x00, 0x94, 0x02, 0x01, 0xe8, 0x00, 0x02, 0xe8, 0x01, 0x0a, 0x08, 0x00, 0x20, 0x49, 0xe3, 0x5a, 0x00, 0x0f, 0x01, + 0x00, 0x11, 0x10, 0x41, 0xfc, 0x00, 0x04, 0xc8, 0x01, 0x0f, 0x08, 0x00, 0x15, 0x00, 0x9c, 0x03, 0x03, 0xe8, 0x00, 0x0f, 0x08, 0x00, 0x01, 0x20, + 0x31, 0x42, 0x5a, 0x00, 0x0f, 0x01, 0x00, 0x11, 0x21, 0x4a, 0x03, 0xcc, 0x00, 0x0f, 0x04, 0x00, 0x15, 0x00, 0xf4, 0x00, 0x00, 0x02, 0x00, 0x02, + 0xe8, 0x00, 0x0a, 0x08, 0x00, 0x00, 0x80, 0x00, 0x00, 0x08, 0x00, 0x1a, 0xcd, 0x5a, 0x16, 0x0f, 0x01, 0x00, 0x09, 0x0f, 0xf8, 0x01, 0x18, 0x11, + 0xad, 0xdc, 0x00, 0x00, 0x04, 0x00, 0x00, 0x68, 0x00, 0x0f, 0x08, 0x00, 0x08, 0x0f, 0xac, 0x16, 0x17, 0x21, 0x41, 0xa3, 0x5c, 0x00, 0x0f, 0x04, + 0x00, 0x0b, 0x00, 0x58, 0x00, 0x00, 0xdc, 0x00, 0x00, 0xe8, 0x00, 0x0f, 0x08, 0x00, 0x10, 0x0a, 0xc4, 0x0a, 0x0f, 0x01, 0x00, 0x0b, 0x01, 0xd8, + 0x00, 0x02, 0xd0, 0x01, 0x0e, 0x08, 0x00, 0x11, 0x6c, 0xe0, 0x04, 0x07, 0xd8, 0x00, 0x0f, 0x08, 0x00, 0x11, 0x00, 0x56, 0x00, 0x0f, 0x01, 0x00, + 0x15, 0x01, 0x68, 0x00, 0x02, 0xe4, 0x00, 0x06, 0x04, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x50, 0x00, 0x02, 0xd0, 0x00, 0x0f, 0x08, 0x00, 0x1b, 0x0f, + 0xe2, 0x05, 0x12, 0x04, 0x01, 0x00, 0x21, 0xfe, 0x8c, 0xc4, 0x02, 0x00, 0x04, 0x00, 0x0f, 0xe8, 0x00, 0x20, 0x0d, 0x08, 0x00, 0x30, 0x2c, 0xfe, + 0x2c, 0x56, 0x00, 0x0f, 0x01, 0x00, 0x15, 0x10, 0xf6, 0xbc, 0x11, 0x01, 0xb0, 0x01, 0x0f, 0x08, 0x00, 0x2c, 0x12, 0x8c, 0x38, 0x01, 0x1b, 0xfd, + 0x42, 0x0b, 0x0f, 0x01, 0x00, 0x0b, 0x25, 0xf6, 0x6c, 0xb8, 0x00, 0x0f, 0x08, 0x00, 0x25, 0x00, 0x3e, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x30, 0x02, + 0x0f, 0x7e, 0x00, 0x1b, 0x21, 0xdd, 0xeb, 0x44, 0x00, 0x00, 0xc0, 0x00, 0x0f, 0x08, 0x00, 0x21, 0x00, 0x6c, 0x01, 0x01, 0xf4, 0x00, 0x04, 0x04, + 0x00, 0x20, 0xed, 0x8b, 0x56, 0x00, 0x0f, 0x01, 0x00, 0x15, 0x21, 0xd5, 0xaa, 0x44, 0x00, 0x04, 0xc8, 0x00, 0x0f, 0x08, 0x00, 0x19, 0x00, 0x70, + 0x00, 0x00, 0xf4, 0x00, 0x09, 0x08, 0x00, 0x0f, 0x7e, 0x00, 0x1b, 0x21, 0xc5, 0x29, 0xc8, 0x00, 0x06, 0xc0, 0x01, 0x0f, 0x08, 0x00, 0x0b, 0x02, + 0x7c, 0x00, 0x13, 0x4c, 0x6c, 0x00, 0x0f, 0x04, 0x00, 0x00, 0x1f, 0xdd, 0x9a, 0x19, 0x1a, 0x21, 0xbd, 0x09, 0xc8, 0x00, 0x00, 0x54, 0x00, 0x0f, + 0x08, 0x00, 0x09, 0x00, 0x04, 0x00, 0x31, 0x4c, 0xfe, 0x4c, 0xe4, 0x00, 0x01, 0xe0, 0x01, 0x0f, 0x08, 0x00, 0x05, 0x1f, 0xb4, 0x26, 0x16, 0x1a, + 0x21, 0xac, 0xa8, 0x64, 0x00, 0x04, 0xd8, 0x00, 0x0a, 0x08, 0x00, 0x12, 0x6c, 0xd0, 0x00, 0x0f, 0x04, 0x00, 0x19, 0x20, 0x83, 0x26, 0x56, 0x00, + 0x0f, 0x01, 0x00, 0x15, 0x0f, 0x68, 0x1b, 0x08, 0x00, 0x60, 0x01, 0x00, 0xd4, 0x00, 0x00, 0x58, 0x00, 0x0f, 0x08, 0x00, 0x16, 0x0f, 0x20, 0x15, + 0x09, 0x0e, 0x01, 0x00, 0x21, 0x8b, 0xc7, 0xe8, 0x00, 0x04, 0xd8, 0x01, 0x08, 0x08, 0x00, 0x02, 0x50, 0x00, 0x0f, 0x04, 0x00, 0x1c, 0x0f, 0xe2, + 0x06, 0x17, 0x00, 0x01, 0x00, 0x21, 0x83, 0x66, 0xe8, 0x00, 0x04, 0xf0, 0x00, 0x08, 0x08, 0x00, 0x01, 0xc8, 0x01, 0x00, 0xd0, 0x00, 0x0f, 0x08, + 0x00, 0x19, 0x0f, 0x7e, 0x00, 0x1b, 0x21, 0x6a, 0xc5, 0x6c, 0x00, 0x00, 0xf0, 0x00, 0x0c, 0x08, 0x00, 0x01, 0xcc, 0x00, 0x0f, 0x04, 0x00, 0x1d, + 0x0a, 0x24, 0x12, 0x0f, 0x01, 0x00, 0x0d, 0x21, 0x5a, 0x64, 0xe8, 0x00, 0x04, 0xf0, 0x00, 0x08, 0x08, 0x00, 0x11, 0xac, 0xd0, 0x00, 0x01, 0x54, + 0x00, 0x0f, 0x08, 0x00, 0x17, 0x0f, 0x7e, 0x00, 0x1b, 0x21, 0x49, 0xe3, 0xe8, 0x00, 0x00, 0xe8, 0x01, 0x0f, 0x08, 0x00, 0x01, 0x02, 0x54, 0x04, + 0x0f, 0x04, 0x00, 0x18, 0x0f, 0x58, 0x09, 0x17, 0x00, 0x01, 0x00, 0x05, 0x2c, 0x17, 0x00, 0xec, 0x00, 0x0f, 0x08, 0x00, 0x03, 0x18, 0x6c, 0xc8, + 0x05, 0x0f, 0x08, 0x00, 0x0d, 0x00, 0x54, 0x00, 0x0f, 0x01, 0x00, 0x17, 0x21, 0x49, 0xe3, 0x64, 0x00, 0x02, 0xe8, 0x00, 0x0f, 0x08, 0x00, 0x09, + 0x00, 0x88, 0x00, 0x00, 0x84, 0x03, 0x03, 0xe4, 0x00, 0x0f, 0x04, 0x00, 0x02, 0x1f, 0x4c, 0x5c, 0x08, 0x1b, 0x01, 0x7e, 0x00, 0x00, 0x58, 0x00, + 0x04, 0xe8, 0x00, 0x0f, 0x08, 0x00, 0x11, 0x0f, 0x04, 0x00, 0x05, 0x0f, 0xa8, 0x11, 0x04, 0x0f, 0x01, 0x00, 0x09, 0x01, 0x8c, 0x1b, 0x06, 0xe8, + 0x01, 0x0f, 0x08, 0x00, 0x2d, 0x10, 0xad, 0x54, 0x00, 0x0f, 0x01, 0x00, 0x17, 0x0f, 0x88, 0x1c, 0x30, 0x07, 0x08, 0x00, 0x20, 0xe5, 0xea, 0x54, + 0x00, 0x0f, 0x01, 0x00, 0x17, 0x03, 0xfc, 0x1e, 0x00, 0xb8, 0x00, 0x0f, 0x08, 0x00, 0x2f, 0x1f, 0x6c, 0x60, 0x07, 0x1b, 0x01, 0xfc, 0x00, 0x03, + 0xb8, 0x00, 0x0f, 0x08, 0x00, 0x2a, 0x03, 0x58, 0x09, 0x20, 0xc4, 0xa9, 0x54, 0x00, 0x0f, 0x01, 0x00, 0x17, 0x0f, 0xf0, 0x03, 0x0c, 0x0f, 0x08, + 0x00, 0x11, 0x07, 0x14, 0x04, 0x20, 0xb4, 0xc9, 0x54, 0x00, 0x0f, 0x01, 0x00, 0x17, 0x0f, 0xf0, 0x03, 0x10, 0x0f, 0x08, 0x00, 0x01, 0x00, 0x04, + 0x00, 0x00, 0x08, 0x04, 0x00, 0x74, 0x00, 0x01, 0xe8, 0x03, 0x02, 0x08, 0x00, 0x20, 0x8b, 0x66, 0x54, 0x00, 0x0f, 0x01, 0x00, 0x17, 0x0f, 0xf8, + 0x01, 0x06, 0x00, 0x68, 0x00, 0x00, 0x68, 0x0b, 0x00, 0x08, 0x00, 0x04, 0x10, 0x00, 0x00, 0x74, 0x0b, 0x0f, 0xf4, 0x07, 0x0a, 0x1f, 0x73, 0xde, + 0x07, 0x1a, 0x01, 0x4c, 0x0d, 0x00, 0xc8, 0x00, 0x00, 0x04, 0x00, 0x00, 0x60, 0x00, 0x04, 0x08, 0x00, 0x04, 0x58, 0x04, 0x00, 0xd4, 0x00, 0x0f, + 0x08, 0x00, 0x18, 0x0a, 0x06, 0x19, 0x0f, 0x01, 0x00, 0x11, 0x01, 0xf0, 0x00, 0x00, 0xdc, 0x00, 0x08, 0x08, 0x00, 0x01, 0x4c, 0x00, 0x0f, 0x04, + 0x00, 0x1f, 0x0f, 0xc4, 0x0d, 0x19, 0x02, 0x01, 0x00, 0x0f, 0x90, 0x1d, 0x02, 0x00, 0xcc, 0x00, 0x07, 0xd0, 0x01, 0x0f, 0x08, 0x00, 0x15, 0x0f, + 0x64, 0x06, 0x1b, 0x00, 0x01, 0x00, 0x01, 0x74, 0x00, 0x00, 0xf0, 0x00, 0x08, 0x08, 0x00, 0x07, 0xc8, 0x02, 0x0f, 0x04, 0x00, 0x19, 0x1f, 0x41, + 0x5c, 0x08, 0x1a, 0x00, 0x01, 0x00, 0x01, 0xec, 0x00, 0x00, 0x04, 0x00, 0x00, 0x74, 0x00, 0x06, 0x08, 0x00, 0x11, 0xad, 0x50, 0x00, 0x00, 0xd4, + 0x00, 0x0f, 0x08, 0x00, 0x18, 0x0f, 0xfc, 0x00, 0x22, 0x06, 0xf0, 0x01, 0x0a, 0x08, 0x00, 0x0f, 0xdc, 0x09, 0x1e, 0x0f, 0xfc, 0x00, 0x1f, 0x0f, + 0x60, 0x25, 0x0e, 0x0f, 0xc8, 0x0b, 0x12, 0x02, 0x08, 0x00, 0x00, 0x50, 0x00, 0x0f, 0x01, 0x00, 0x1b, 0x01, 0x64, 0x00, 0x00, 0xf0, 0x00, 0x0f, + 0x08, 0x00, 0x0b, 0x0f, 0xe8, 0x03, 0x0a, 0x03, 0x04, 0x00, 0x0f, 0x5c, 0x08, 0x1c, 0x00, 0x01, 0x00, 0x01, 0x44, 0x04, 0x04, 0xe8, 0x00, 0x0f, + 0x08, 0x00, 0x0d, 0x0f, 0x08, 0x04, 0x0b, 0x0f, 0xfc, 0x00, 0x23, 0x06, 0xe8, 0x01, 0x02, 0x04, 0x00, 0x04, 0x10, 0x00, 0x0f, 0x08, 0x00, 0x05, + 0x08, 0x88, 0x00, 0x07, 0x04, 0x00, 0x1f, 0xf5, 0xa0, 0x15, 0x14, 0x08, 0x01, 0x00, 0x0f, 0x98, 0x1d, 0x2a, 0x09, 0x04, 0x00, 0x0c, 0x7c, 0x1b, + 0x0f, 0x01, 0x00, 0x11, 0x01, 0x4c, 0x00, 0x00, 0xd8, 0x00, 0x0f, 0x08, 0x00, 0x25, 0x00, 0x0c, 0x01, 0x00, 0x08, 0x00, 0x30, 0xcd, 0xc5, 0x4a, + 0x50, 0x00, 0x0f, 0x01, 0x00, 0x1b, 0x10, 0xf6, 0x84, 0x21, 0x00, 0xbc, 0x00, 0x04, 0xd0, 0x00, 0x0f, 0x08, 0x00, 0x26, 0x0f, 0x60, 0x07, 0x1d, + 0x00, 0x01, 0x00, 0x27, 0xee, 0x2b, 0xc0, 0x00, 0x0f, 0x08, 0x00, 0x2a, 0x20, 0x83, 0x87, 0x50, 0x00, 0x0f, 0x01, 0x00, 0x1b, 0x01, 0x8c, 0x20, + 0x05, 0xc0, 0x00, 0x0f, 0x08, 0x00, 0x29, 0x0f, 0xd6, 0x28, 0x21, 0x01, 0x44, 0x0f, 0x00, 0xc0, 0x00, 0x00, 0x44, 0x00, 0x0f, 0x08, 0x00, 0x2a, + 0x0f, 0xe2, 0x06, 0x1f, 0x01, 0xc6, 0x0e, 0x07, 0xc0, 0x00, 0x07, 0x08, 0x00, 0x04, 0x04, 0x00, 0x04, 0x10, 0x00, 0x0f, 0x08, 0x00, 0x0e, 0x0f, + 0xc0, 0x0e, 0x1b, 0x02, 0x01, 0x00, 0x24, 0x73, 0x26, 0xb8, 0x01, 0x01, 0x48, 0x00, 0x03, 0xbc, 0x03, 0x05, 0x04, 0x00, 0x00, 0x18, 0x00, 0x04, + 0x20, 0x00, 0x0f, 0x08, 0x00, 0x0c, 0x00, 0x4e, 0x00, 0x0f, 0x01, 0x00, 0x1d, 0x01, 0x5c, 0x09, 0x00, 0xbc, 0x00, 0x07, 0xb0, 0x05, 0x09, 0x08, + 0x00, 0x04, 0x38, 0x15, 0x00, 0x24, 0x00, 0x0f, 0x08, 0x00, 0x08, 0x1f, 0xdd, 0xcc, 0x0b, 0x1c, 0x02, 0x01, 0x00, 0x2f, 0x39, 0x83, 0xc4, 0x05, + 0x0e, 0x0f, 0xa8, 0x1b, 0x12, 0x0f, 0x56, 0x28, 0x1f, 0x02, 0x01, 0x00, 0x03, 0xe4, 0x00, 0x00, 0x68, 0x00, 0x0f, 0x08, 0x00, 0x05, 0x03, 0xe0, + 0x00, 0x0f, 0x08, 0x00, 0x09, 0x0f, 0x98, 0x17, 0x17, 0x0a, 0x01, 0x00, 0x23, 0xc4, 0xa9, 0x64, 0x00, 0x0f, 0x04, 0x00, 0x07, 0x00, 0x64, 0x00, + 0x00, 0xe8, 0x00, 0x01, 0xe0, 0x01, 0x0f, 0x08, 0x00, 0x01, 0x20, 0xee, 0x4b, 0x4a, 0x00, 0x0f, 0x01, 0x00, 0x21, 0x21, 0x5a, 0x64, 0xe4, 0x00, + 0x04, 0xe8, 0x01, 0x0f, 0x08, 0x00, 0x01, 0x00, 0xe4, 0x00, 0x00, 0x04, 0x00, 0x03, 0xe8, 0x00, 0x01, 0x08, 0x00, 0x04, 0x04, 0x00, 0x01, 0x10, + 0x00, 0x0f, 0xcc, 0x26, 0x03, 0x0f, 0x01, 0x00, 0x13, 0x01, 0x62, 0x00, 0x00, 0xe4, 0x00, 0x0f, 0x04, 0x00, 0x05, 0x00, 0xe0, 0x00, 0x00, 0x6c, + 0x00, 0x0f, 0x08, 0x00, 0x05, 0x30, 0xcd, 0x20, 0xe1, 0x48, 0x00, 0x0f, 0x01, 0x00, 0x23, 0x21, 0x83, 0x05, 0x64, 0x00, 0x00, 0xe8, 0x00, 0x0f, + 0x08, 0x00, 0x03, 0x01, 0xe0, 0x00, 0x04, 0xe8, 0x00, 0x07, 0x04, 0x00, 0x03, 0x10, 0x00, 0x20, 0x83, 0x86, 0x46, 0x00, 0x0f, 0x01, 0x00, 0x27, + 0x23, 0xdd, 0x2a, 0x68, 0x00, 0x0f, 0x04, 0x00, 0x01, 0x16, 0xad, 0xe0, 0x01, 0x0f, 0x08, 0x00, 0x01, 0x0f, 0x7e, 0x1c, 0x17, 0x0f, 0x01, 0x00, + 0x05, 0x47, 0x21, 0x02, 0xf5, 0xcb, 0xe8, 0x01, 0x0a, 0x08, 0x00, 0x01, 0xe0, 0x00, 0x04, 0xe8, 0x00, 0x0d, 0x08, 0x00, 0x1f, 0x8b, 0x00, 0x1c, + 0x17, 0x0f, 0x01, 0x00, 0x07, 0x21, 0x41, 0xc3, 0x0c, 0x20, 0x00, 0xec, 0x00, 0x0a, 0x04, 0x00, 0x00, 0x64, 0x00, 0x00, 0xe8, 0x00, 0x0f, 0x08, + 0x00, 0x03, 0x1f, 0xcc, 0x1c, 0x15, 0x1b, 0x0f, 0x01, 0x00, 0x07, 0x41, 0x39, 0x62, 0xf5, 0xcb, 0x70, 0x00, 0x00, 0xf0, 0x00, 0x06, 0x08, 0x00, + 0x00, 0xe0, 0x00, 0x04, 0xe8, 0x00, 0x0c, 0x08, 0x00, 0x1f, 0xab, 0xd8, 0x06, 0x21, 0x0f, 0x01, 0x00, 0x05, 0x3c, 0x41, 0xc3, 0xf5, 0x00, 0x01, + 0x00, 0xe0, 0x00, 0x03, 0xe0, 0x01, 0x0d, 0x08, 0x00, 0x1f, 0x8c, 0xc0, 0x0b, 0x1f, 0x0f, 0x01, 0x00, 0x0b, 0x45, 0x29, 0x22, 0xdd, 0x2a, 0xf0, + 0x01, 0x11, 0x2c, 0x44, 0x0f, 0x04, 0xe8, 0x00, 0x0b, 0x08, 0x00, 0x2f, 0xd5, 0x89, 0xba, 0x0c, 0x1f, 0x0f, 0x01, 0x00, 0x11, 0x23, 0x93, 0x87, + 0xf8, 0x00, 0x11, 0x6c, 0xe8, 0x00, 0x00, 0x6c, 0x00, 0x0c, 0x08, 0x00, 0x1f, 0xcd, 0xaa, 0x0f, 0x1d, 0x0f, 0x01, 0x00, 0x19, 0x41, 0x20, 0xe1, + 0xc4, 0xa9, 0xdc, 0x06, 0x03, 0xe8, 0x00, 0x08, 0x08, 0x00, 0x2f, 0xe6, 0x0a, 0xd8, 0x04, 0x29, 0x0f, 0x01, 0x00, 0x15, 0x65, 0x41, 0xc3, 0xa4, + 0x48, 0xee, 0x2b, 0xe0, 0x06, 0x7f, 0xac, 0xf6, 0x8c, 0xc5, 0x2a, 0x83, 0x87, 0x6e, 0x01, 0x43, 0x0f, 0x01, 0x00, 0x07, 0x4f, 0x20, 0xe1, 0x41, + 0xc3, 0x74, 0x00, 0x5d, 0x0f, 0x01, 0x00, 0xa3, 0x13, 0xff, 0x01, 0x00, 0x00, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x1e, 0x00, 0x39, 0x00, 0x04, 0x01, + 0x00, 0x00, 0x10, 0x00, 0x0f, 0x01, 0x00, 0x0d, 0x00, 0x28, 0x00, 0x05, 0x2b, 0x00, 0x00, 0x0a, 0x00, 0x08, 0x01, 0x00, 0x00, 0x14, 0x00, 0x0f, + 0x01, 0x00, 0x09, 0x00, 0x24, 0x00, 0x03, 0x01, 0x00, 0x0a, 0x0e, 0x00, 0x03, 0x01, 0x00, 0x00, 0x24, 0x00, 0x0f, 0x01, 0x00, 0x07, 0x00, 0x22, + 0x00, 0x0f, 0x01, 0x00, 0x0a, 0x00, 0x25, 0x00, 0x0f, 0x01, 0x00, 0x06, 0x00, 0x21, 0x00, 0x0f, 0x01, 0x00, 0x0c, 0x00, 0x27, 0x00, 0x0f, 0x01, + 0x00, 0x05, 0x00, 0x20, 0x00, 0x0f, 0x01, 0x00, 0x0d, 0x00, 0x28, 0x00, 0x0f, 0x01, 0x00, 0x03, 0x00, 0x1e, 0x00, 0x0f, 0x01, 0x00, 0x0e, 0x00, + 0x29, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x00, 0x1d, 0x00, 0x0f, 0x01, 0x00, 0x0f, 0x00, 0x2a, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x00, 0x1d, 0x00, 0x0f, + 0x01, 0x00, 0x0f, 0x00, 0x2a, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x00, 0x1d, 0x00, 0x0f, 0x01, 0x00, 0x0f, 0x00, 0x2a, 0x00, 0x0f, 0x01, 0x00, 0x01, + 0x00, 0x1c, 0x00, 0x0f, 0x01, 0x00, 0x10, 0x00, 0x2b, 0x00, 0x0f, 0x01, 0x00, 0x01, 0x00, 0x1c, 0x00, 0x0f, 0x01, 0x00, 0x10, 0x00, 0x2b, 0x00, + 0x0f, 0x01, 0x00, 0x01, 0x00, 0x1c, 0x00, 0x0f, 0x01, 0x00, 0x10, 0x00, 0x2b, 0x00, 0x0f, 0x01, 0x00, 0x01, 0x00, 0x1c, 0x00, 0x0f, 0x01, 0x00, + 0x10, 0x00, 0x2b, 0x00, 0x0e, 0x01, 0x00, 0x00, 0x1a, 0x00, 0x0f, 0x01, 0x00, 0x12, 0x00, 0x2d, 0x00, 0x0d, 0x01, 0x00, 0x00, 0x19, 0x00, 0x0f, + 0x01, 0x00, 0x16, 0x00, 0x31, 0x00, 0x08, 0x01, 0x00, 0x00, 0x14, 0x00, 0x0f, 0x01, 0x00, 0x1a, 0x00, 0x35, 0x00, 0x05, 0x01, 0x00, 0x00, 0x11, + 0x00, 0x0f, 0x01, 0x00, 0x1c, 0x00, 0x37, 0x00, 0x03, 0x01, 0x00, 0x00, 0x0f, 0x00, 0x0f, 0x01, 0x00, 0x1e, 0x00, 0x39, 0x00, 0x02, 0x01, 0x00, + 0x00, 0x0e, 0x00, 0x0f, 0x01, 0x00, 0x1f, 0x00, 0x3a, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x20, 0x00, 0x3b, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x20, 0x00, 0x3b, 0x00, 0x0f, 0x3e, 0x00, 0x27, 0x04, 0x40, 0x00, 0x00, 0x0a, 0x00, 0x0f, 0x01, + 0x00, 0x22, 0x00, 0x3d, 0x00, 0x0f, 0x3f, 0x00, 0xff, 0x24, 0x00, 0x3c, 0x00, 0x0f, 0x3f, 0x00, 0x6e, 0x0f, 0x40, 0x00, 0x24, 0x00, 0x3a, 0x00, + 0x01, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x1f, 0x00, 0x3a, 0x00, 0x02, 0x01, 0x00, 0x00, 0x0e, 0x00, 0x0f, 0x01, 0x00, 0x1d, 0x00, + 0x38, 0x00, 0x03, 0x01, 0x00, 0x00, 0x0f, 0x00, 0x0f, 0x01, 0x00, 0x1d, 0x00, 0x38, 0x00, 0x04, 0x01, 0x00, 0x00, 0x10, 0x00, 0x0f, 0x01, 0x00, + 0x1b, 0x00, 0x36, 0x00, 0x06, 0x01, 0x00, 0x00, 0x12, 0x00, 0x0f, 0x01, 0x00, 0x1a, 0x00, 0x35, 0x00, 0x07, 0x01, 0x00, 0x00, 0x13, 0x00, 0x0f, + 0x01, 0x00, 0x18, 0x00, 0x33, 0x00, 0x09, 0x01, 0x00, 0x00, 0x15, 0x00, 0x0f, 0x01, 0x00, 0x16, 0x00, 0x31, 0x00, 0x0a, 0x01, 0x00, 0x00, 0x16, + 0x00, 0x0f, 0x01, 0x00, 0x16, 0x00, 0x31, 0x00, 0x0a, 0x01, 0x00, 0x00, 0x16, 0x00, 0x0f, 0x01, 0x00, 0x15, 0x00, 0x30, 0x00, 0x0b, 0x01, 0x00, + 0x00, 0x17, 0x00, 0x0f, 0x01, 0x00, 0x15, 0x00, 0x30, 0x00, 0x0b, 0x01, 0x00, 0x00, 0x17, 0x00, 0x0f, 0x01, 0x00, 0x14, 0x00, 0x2f, 0x00, 0x0c, + 0x01, 0x00, 0x00, 0x18, 0x00, 0x0f, 0x01, 0x00, 0x14, 0x00, 0x2f, 0x00, 0x0c, 0x01, 0x00, 0x00, 0x18, 0x00, 0x0f, 0x01, 0x00, 0x14, 0x00, 0x2f, + 0x00, 0x0c, 0x01, 0x00, 0x00, 0x18, 0x00, 0x0f, 0x01, 0x00, 0x14, 0x00, 0x2f, 0x00, 0x0c, 0x01, 0x00, 0x00, 0x18, 0x00, 0x0f, 0x01, 0x00, 0x14, + 0x00, 0x2f, 0x00, 0x0c, 0x01, 0x00, 0x00, 0x18, 0x00, 0x0f, 0x01, 0x00, 0x14, 0x00, 0x2f, 0x00, 0x0c, 0x01, 0x00, 0x00, 0x18, 0x00, 0x0f, 0x01, + 0x00, 0x14, 0x00, 0x2f, 0x00, 0x0d, 0x01, 0x00, 0x00, 0x19, 0x00, 0x0f, 0x01, 0x00, 0x12, 0x00, 0x2d, 0x00, 0x0e, 0x01, 0x00, 0x00, 0x1a, 0x00, + 0x0f, 0x01, 0x00, 0x12, 0x00, 0x2d, 0x00, 0x0e, 0x01, 0x00, 0x00, 0x1a, 0x00, 0x0f, 0x01, 0x00, 0x12, 0x00, 0x2d, 0x00, 0x0e, 0x01, 0x00, 0x00, + 0x1a, 0x00, 0x0f, 0x01, 0x00, 0x12, 0x00, 0x2d, 0x00, 0x0e, 0x01, 0x00, 0x00, 0x1a, 0x00, 0x0f, 0x01, 0x00, 0x12, 0x00, 0x2d, 0x00, 0x0e, 0x01, + 0x00, 0x00, 0x1a, 0x00, 0x0f, 0x01, 0x00, 0x12, 0x00, 0x2d, 0x00, 0x0e, 0x01, 0x00, 0x00, 0x1a, 0x00, 0x0f, 0x01, 0x00, 0x12, 0x00, 0x2d, 0x00, + 0x0e, 0x01, 0x00, 0x00, 0x1a, 0x00, 0x0f, 0x01, 0x00, 0x12, 0x00, 0x2d, 0x00, 0x0e, 0x01, 0x00, 0x00, 0x1a, 0x00, 0x0f, 0x01, 0x00, 0x12, 0x00, + 0x2d, 0x00, 0x0e, 0x01, 0x00, 0x00, 0x1a, 0x00, 0x0f, 0x01, 0x00, 0x12, 0x00, 0x2d, 0x00, 0x0e, 0x01, 0x00, 0x00, 0x1a, 0x00, 0x0f, 0x01, 0x00, + 0x12, 0x00, 0x2d, 0x00, 0x0e, 0x01, 0x00, 0x00, 0x1a, 0x00, 0x0f, 0x01, 0x00, 0x12, 0x00, 0x2d, 0x00, 0x0e, 0x01, 0x00, 0x00, 0x1a, 0x00, 0x0f, + 0x01, 0x00, 0x12, 0x00, 0x2d, 0x00, 0x0e, 0x01, 0x00, 0x00, 0x1a, 0x00, 0x0f, 0x01, 0x00, 0x12, 0x00, 0x2d, 0x00, 0x0e, 0x01, 0x00, 0x00, 0x1a, + 0x00, 0x0f, 0x01, 0x00, 0x12, 0x00, 0x2d, 0x00, 0x0e, 0x01, 0x00, 0x00, 0x1a, 0x00, 0x0f, 0x01, 0x00, 0x12, 0x00, 0x2d, 0x00, 0x0e, 0x01, 0x00, + 0x00, 0x1a, 0x00, 0x0f, 0x01, 0x00, 0x11, 0x00, 0x2c, 0x00, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x0f, 0x01, 0x00, 0x11, 0x00, 0x2c, 0x00, + 0x0f, 0x01, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x0f, 0x01, 0x00, 0x11, 0x00, 0x2c, 0x00, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x0f, 0x01, 0x00, + 0x11, 0x00, 0x2c, 0x00, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x0f, 0x01, 0x00, 0x11, 0x00, 0x2c, 0x00, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x1b, + 0x00, 0x0f, 0x01, 0x00, 0x11, 0x00, 0x2c, 0x00, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x0f, 0x01, 0x00, 0x11, 0x00, 0x2c, 0x00, 0x0f, 0x01, + 0x00, 0x00, 0x00, 0x1b, 0x00, 0x0f, 0x01, 0x00, 0x11, 0x00, 0x2c, 0x00, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x0f, 0x01, 0x00, 0x11, 0x00, + 0x2c, 0x00, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x0f, 0x01, 0x00, 0x11, 0x00, 0x2c, 0x00, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x0f, + 0x01, 0x00, 0x11, 0x00, 0x2c, 0x00, 0x0f, 0x01, 0x00, 0x01, 0x00, 0x1c, 0x00, 0x0f, 0x01, 0x00, 0x10, 0x00, 0x2b, 0x00, 0x0f, 0x01, 0x00, 0x01, + 0x00, 0x1c, 0x00, 0x0f, 0x01, 0x00, 0x10, 0x00, 0x2b, 0x00, 0x0f, 0x01, 0x00, 0x01, 0x00, 0x1c, 0x00, 0x0f, 0x01, 0x00, 0x10, 0x00, 0x2b, 0x00, + 0x0f, 0x01, 0x00, 0x01, 0x00, 0x1c, 0x00, 0x0f, 0x01, 0x00, 0x10, 0x00, 0x2b, 0x00, 0x0f, 0x01, 0x00, 0x01, 0x00, 0x1c, 0x00, 0x0f, 0x01, 0x00, + 0x10, 0x00, 0x2b, 0x00, 0x0f, 0x01, 0x00, 0x01, 0x00, 0x1c, 0x00, 0x0f, 0x01, 0x00, 0x0f, 0x00, 0x2a, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x00, 0x1d, + 0x00, 0x0f, 0x01, 0x00, 0x0f, 0x00, 0x2a, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x00, 0x1d, 0x00, 0x0f, 0x01, 0x00, 0x0f, 0x00, 0x2a, 0x00, 0x0f, 0x01, + 0x00, 0x02, 0x00, 0x1d, 0x00, 0x0f, 0x01, 0x00, 0x0f, 0x00, 0x2a, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x00, 0x1d, 0x00, 0x0f, 0x01, 0x00, 0x0f, 0x00, + 0x2a, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x00, 0x1d, 0x00, 0x0f, 0x01, 0x00, 0x0f, 0x00, 0x2a, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x00, 0x1d, 0x00, 0x0f, + 0x01, 0x00, 0x0f, 0x00, 0x2a, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x00, 0x1d, 0x00, 0x0f, 0x01, 0x00, 0x0f, 0x00, 0x2a, 0x00, 0x0f, 0x01, 0x00, 0x02, + 0x00, 0x1d, 0x00, 0x0f, 0x01, 0x00, 0x0f, 0x00, 0x2a, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x00, 0x1d, 0x00, 0x0f, 0x01, 0x00, 0x0f, 0x00, 0x2a, 0x00, + 0x0f, 0x01, 0x00, 0x02, 0x00, 0x1d, 0x00, 0x0f, 0x01, 0x00, 0x0f, 0x00, 0x2a, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x00, 0x1d, 0x00, 0x0f, 0x01, 0x00, + 0x0e, 0x00, 0x29, 0x00, 0x0f, 0x01, 0x00, 0x03, 0x00, 0x1e, 0x00, 0x0f, 0x01, 0x00, 0x0e, 0x00, 0x29, 0x00, 0x0f, 0x01, 0x00, 0x03, 0x00, 0x1e, + 0x00, 0x0f, 0x01, 0x00, 0x0e, 0x00, 0x29, 0x00, 0x0f, 0x01, 0x00, 0x04, 0x00, 0x1f, 0x00, 0x0f, 0x01, 0x00, 0x0d, 0x00, 0x28, 0x00, 0x0f, 0x01, + 0x00, 0x04, 0x00, 0x1f, 0x00, 0x0f, 0x01, 0x00, 0x0c, 0x00, 0x27, 0x00, 0x0f, 0x01, 0x00, 0x05, 0x00, 0x20, 0x00, 0x0f, 0x01, 0x00, 0x0c, 0x00, + 0x27, 0x00, 0x0f, 0x01, 0x00, 0x06, 0x00, 0x21, 0x00, 0x0f, 0x01, 0x00, 0x0b, 0x00, 0x26, 0x00, 0x0f, 0x01, 0x00, 0x06, 0x00, 0x21, 0x00, 0x0f, + 0x01, 0x00, 0x0a, 0x00, 0x25, 0x00, 0x0f, 0x01, 0x00, 0x08, 0x00, 0x23, 0x00, 0x0f, 0x01, 0x00, 0x08, 0x00, 0x23, 0x00, 0x0f, 0x01, 0x00, 0x09, + 0x00, 0x24, 0x00, 0x0f, 0x01, 0x00, 0x08, 0x00, 0x23, 0x00, 0x0f, 0x01, 0x00, 0x0a, 0x00, 0x25, 0x00, 0x0f, 0x01, 0x00, 0x06, 0x00, 0x21, 0x00, + 0x0f, 0x01, 0x00, 0x0c, 0x00, 0x27, 0x00, 0x0f, 0x01, 0x00, 0x04, 0x00, 0x1f, 0x00, 0x0f, 0x01, 0x00, 0x0e, 0x00, 0x29, 0x00, 0x0f, 0x01, 0x00, + 0x02, 0x00, 0x1d, 0x00, 0x0f, 0x01, 0x00, 0x10, 0x00, 0x2b, 0x00, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x0f, 0x01, 0x00, 0x13, 0x00, 0x2e, + 0x00, 0x0b, 0x01, 0x00, 0x00, 0x17, 0x00, 0x0f, 0x01, 0x00, 0x16, 0x00, 0x31, 0x00, 0x08, 0x01, 0x00, 0x00, 0x14, 0x00, 0x0f, 0x01, 0x00, 0x1a, + 0x00, 0x35, 0x00, 0x04, 0x01, 0x00, 0x00, 0x10, 0x00, 0x0f, 0x01, 0x00, 0x20, 0x0f, 0x3a, 0x00, 0x27, 0x0f, 0x01, 0x00, 0x12, 0x50, 0x00, 0x00, + 0x00, 0x00, 0x00, +}; + +static const uint8_t fortune_edge[] = { + 0x1f, 0x00, 0x01, 0x00, 0xff, 0x13, 0x60, 0x62, 0xa5, 0xa4, 0x48, 0x83, 0x66, 0x0a, 0x00, 0x0f, 0x01, 0x00, 0x27, 0xf0, 0x01, 0x93, 0x87, 0xfe, + 0x2c, 0xfe, 0x0c, 0xfe, 0xad, 0xfe, 0xcc, 0xfe, 0xcd, 0xf6, 0x8b, 0xfe, 0xcd, 0x08, 0x00, 0x40, 0xfe, 0xac, 0x8b, 0xc7, 0x1c, 0x00, 0x0f, 0x01, + 0x00, 0x1f, 0x81, 0x39, 0xa3, 0xfe, 0x0c, 0xfe, 0x6e, 0xfe, 0x2c, 0x04, 0x00, 0x74, 0xee, 0xfe, 0xcd, 0xfe, 0xee, 0xfe, 0xcc, 0x08, 0x00, 0x20, + 0x83, 0x87, 0x22, 0x00, 0x0f, 0x01, 0x00, 0x1b, 0x21, 0x73, 0x26, 0x50, 0x00, 0x11, 0x0c, 0xa4, 0x00, 0x34, 0x6e, 0xfe, 0x6c, 0xa0, 0x00, 0x04, + 0x08, 0x00, 0x0f, 0x54, 0x00, 0x1f, 0x03, 0x9c, 0x00, 0x04, 0x04, 0x00, 0x00, 0x48, 0x00, 0x00, 0xa0, 0x00, 0x07, 0x08, 0x00, 0x20, 0x39, 0x62, + 0x28, 0x00, 0x0f, 0x01, 0x00, 0x09, 0xe1, 0x21, 0x02, 0xb4, 0xc9, 0xee, 0x2b, 0xfe, 0xcd, 0xee, 0x4b, 0xcd, 0x6a, 0xc4, 0xa9, 0xa0, 0x00, 0x00, + 0x4c, 0x00, 0x02, 0x08, 0x00, 0x01, 0x98, 0x00, 0x00, 0x48, 0x00, 0x06, 0x08, 0x00, 0x20, 0xf6, 0x6b, 0x36, 0x00, 0x0f, 0x01, 0x00, 0x05, 0x41, + 0x29, 0x22, 0xe6, 0x0b, 0x28, 0x00, 0x00, 0x80, 0x00, 0x00, 0x30, 0x01, 0x02, 0x4c, 0x00, 0x02, 0x04, 0x00, 0x08, 0x18, 0x00, 0x09, 0x08, 0x00, + 0x20, 0x9c, 0x27, 0x3c, 0x00, 0x0f, 0x01, 0x00, 0x01, 0x24, 0x73, 0x26, 0x78, 0x00, 0x05, 0x08, 0x00, 0x04, 0x40, 0x01, 0x13, 0x0c, 0x10, 0x00, + 0x04, 0x18, 0x00, 0x0b, 0x08, 0x00, 0x00, 0x3e, 0x00, 0x0e, 0x01, 0x00, 0x43, 0x6a, 0xc5, 0xfe, 0x8c, 0x7c, 0x01, 0x00, 0x02, 0x00, 0x00, 0x80, + 0x00, 0x11, 0x6c, 0x9c, 0x00, 0x02, 0x04, 0x00, 0x00, 0x10, 0x00, 0x04, 0x18, 0x00, 0x0d, 0x08, 0x00, 0x20, 0xbd, 0x09, 0x42, 0x00, 0x0a, 0x01, + 0x00, 0x21, 0x29, 0x22, 0x38, 0x00, 0x02, 0x04, 0x00, 0x00, 0x28, 0x00, 0x00, 0x80, 0x00, 0x00, 0x0c, 0x00, 0x00, 0xa0, 0x00, 0x02, 0x68, 0x00, + 0x03, 0x90, 0x00, 0x05, 0x08, 0x00, 0x04, 0x04, 0x00, 0x00, 0x10, 0x00, 0x10, 0xac, 0x44, 0x00, 0x0a, 0x01, 0x00, 0x23, 0xed, 0x8b, 0x40, 0x00, + 0x00, 0x04, 0x00, 0x01, 0x78, 0x00, 0x21, 0xfe, 0xee, 0x0c, 0x00, 0x02, 0x04, 0x00, 0x02, 0x10, 0x00, 0x04, 0x18, 0x00, 0x0f, 0x08, 0x00, 0x00, + 0x20, 0x7b, 0x46, 0x46, 0x00, 0x08, 0x01, 0x00, 0x05, 0x30, 0x01, 0x11, 0x2c, 0xa4, 0x00, 0x00, 0x78, 0x00, 0x00, 0x98, 0x01, 0x00, 0x10, 0x00, + 0x00, 0x18, 0x00, 0x02, 0x10, 0x00, 0x04, 0x18, 0x00, 0x0f, 0x08, 0x00, 0x00, 0x20, 0xf6, 0x8c, 0x46, 0x00, 0x06, 0x01, 0x00, 0x23, 0xc4, 0xa9, + 0x8c, 0x00, 0x00, 0x04, 0x00, 0x00, 0x1e, 0x01, 0x00, 0x28, 0x00, 0x08, 0xa4, 0x00, 0x02, 0x10, 0x00, 0x04, 0x18, 0x00, 0x0f, 0x08, 0x00, 0x02, + 0x20, 0x29, 0x22, 0x4a, 0x00, 0x04, 0x01, 0x00, 0x21, 0xf5, 0xeb, 0x90, 0x00, 0x00, 0x3c, 0x00, 0x00, 0xf4, 0x00, 0x00, 0x28, 0x00, 0x00, 0x80, + 0x00, 0x02, 0x10, 0x00, 0x00, 0x18, 0x00, 0x00, 0x8c, 0x00, 0x00, 0x04, 0x00, 0x02, 0x18, 0x00, 0x0f, 0x08, 0x00, 0x02, 0x20, 0x94, 0x07, 0x4a, + 0x00, 0x04, 0x01, 0x00, 0x03, 0x3c, 0x00, 0x00, 0x04, 0x00, 0x03, 0x18, 0x01, 0x01, 0x08, 0x00, 0x00, 0x10, 0x00, 0x02, 0x04, 0x00, 0x00, 0x86, + 0x00, 0x06, 0x18, 0x00, 0x0f, 0x08, 0x00, 0x02, 0x08, 0xf8, 0x00, 0x25, 0x49, 0xe3, 0x30, 0x01, 0x0a, 0x78, 0x02, 0x00, 0x10, 0x00, 0x02, 0x18, + 0x00, 0x00, 0x54, 0x00, 0x06, 0x18, 0x00, 0x0f, 0x08, 0x00, 0x03, 0x07, 0xf0, 0x01, 0x21, 0x6a, 0xe5, 0x34, 0x00, 0x02, 0x04, 0x00, 0x01, 0x70, + 0x00, 0x01, 0x28, 0x00, 0x11, 0xee, 0xa0, 0x02, 0x00, 0x14, 0x00, 0x00, 0x04, 0x00, 0x00, 0x10, 0x00, 0x04, 0x18, 0x00, 0x0f, 0x08, 0x00, 0x04, + 0x20, 0x4a, 0x03, 0x4e, 0x00, 0x00, 0x01, 0x00, 0x21, 0x39, 0x62, 0x34, 0x00, 0x04, 0x8c, 0x00, 0x00, 0x70, 0x00, 0x04, 0x78, 0x00, 0x06, 0x18, + 0x00, 0x02, 0x4c, 0x01, 0x04, 0x18, 0x00, 0x08, 0x08, 0x00, 0x04, 0x04, 0x00, 0x30, 0xac, 0x93, 0xe7, 0x4e, 0x00, 0x02, 0x01, 0x00, 0x03, 0x34, + 0x00, 0x00, 0x04, 0x00, 0x05, 0x18, 0x01, 0x01, 0x08, 0x00, 0x02, 0x14, 0x00, 0x02, 0x04, 0x00, 0x00, 0x38, 0x00, 0x04, 0x18, 0x00, 0x0f, 0x08, + 0x00, 0x02, 0x20, 0xdd, 0xaa, 0x4c, 0x00, 0x02, 0x01, 0x00, 0x01, 0x3e, 0x02, 0x00, 0x8c, 0x00, 0x0a, 0x48, 0x01, 0x35, 0xcd, 0xfe, 0x8c, 0x18, + 0x00, 0x00, 0x08, 0x00, 0x06, 0x18, 0x00, 0x0f, 0x08, 0x00, 0x04, 0x00, 0x4c, 0x00, 0x02, 0x01, 0x00, 0x23, 0x5a, 0x84, 0x88, 0x00, 0x31, 0x6e, + 0xfe, 0x4c, 0x70, 0x00, 0x00, 0x20, 0x00, 0x00, 0x08, 0x00, 0x08, 0xf0, 0x01, 0x02, 0x04, 0x00, 0x02, 0x18, 0x00, 0x04, 0x20, 0x00, 0x0b, 0x08, + 0x00, 0x00, 0x4c, 0x00, 0x04, 0x01, 0x00, 0x01, 0x84, 0x00, 0x02, 0x34, 0x00, 0x03, 0x70, 0x00, 0x05, 0x08, 0x00, 0x04, 0x18, 0x00, 0x02, 0x08, + 0x00, 0x06, 0x18, 0x00, 0x0f, 0x08, 0x00, 0x00, 0x20, 0x39, 0x83, 0x4c, 0x00, 0x02, 0x01, 0x00, 0x21, 0x73, 0x26, 0x30, 0x00, 0x02, 0x04, 0x00, + 0x01, 0x70, 0x00, 0x05, 0x20, 0x01, 0x02, 0xa0, 0x01, 0x04, 0x04, 0x00, 0x15, 0xad, 0x18, 0x00, 0x0f, 0x08, 0x00, 0x00, 0x20, 0x6a, 0xe5, 0x4c, + 0x00, 0x04, 0x01, 0x00, 0x01, 0x2c, 0x04, 0x0f, 0x30, 0x01, 0x05, 0x00, 0xee, 0x03, 0x00, 0xa4, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x10, 0x00, 0x04, + 0x18, 0x00, 0x0b, 0x08, 0x00, 0x0a, 0x74, 0x07, 0x21, 0x31, 0x42, 0x34, 0x00, 0x00, 0x88, 0x00, 0x00, 0xdc, 0x00, 0x02, 0x78, 0x00, 0x06, 0x08, + 0x00, 0x31, 0x8c, 0xfe, 0xcd, 0xd4, 0x04, 0x04, 0x10, 0x00, 0x0f, 0x08, 0x00, 0x02, 0x20, 0xc5, 0x2a, 0x4a, 0x00, 0x04, 0x01, 0x00, 0x14, 0x83, + 0xf8, 0x00, 0x04, 0x58, 0x00, 0x00, 0x44, 0x00, 0x07, 0x80, 0x00, 0x0f, 0x08, 0x00, 0x11, 0x20, 0xe6, 0x0a, 0x4a, 0x00, 0x04, 0x01, 0x00, 0x01, + 0xdc, 0x00, 0x02, 0x4c, 0x00, 0x04, 0x04, 0x00, 0x10, 0x6c, 0x78, 0x00, 0x00, 0x20, 0x01, 0x0f, 0x08, 0x00, 0x16, 0x07, 0xee, 0x01, 0x20, 0xac, + 0x68, 0x10, 0x00, 0x03, 0x48, 0x01, 0x00, 0xa8, 0x00, 0x02, 0x08, 0x00, 0x02, 0x00, 0x01, 0x01, 0x80, 0x00, 0x0f, 0x08, 0x00, 0x13, 0x00, 0x4c, + 0x00, 0x02, 0x01, 0x00, 0x21, 0xf6, 0x8c, 0x68, 0x00, 0x0f, 0xa8, 0x00, 0x03, 0x00, 0x2c, 0x00, 0x02, 0x88, 0x00, 0x0f, 0x08, 0x00, 0x0e, 0x00, + 0x4c, 0x00, 0x02, 0x01, 0x00, 0x00, 0x60, 0x00, 0x01, 0x18, 0x00, 0x33, 0xcd, 0xfe, 0x4c, 0x4c, 0x00, 0x04, 0xa4, 0x00, 0x04, 0x18, 0x00, 0x0f, + 0x08, 0x00, 0x12, 0x00, 0x4c, 0x00, 0x02, 0x01, 0x00, 0x03, 0x08, 0x01, 0x00, 0x68, 0x00, 0x00, 0x08, 0x00, 0x00, 0x4c, 0x00, 0x02, 0x04, 0x00, + 0x00, 0x14, 0x00, 0x00, 0x04, 0x00, 0x02, 0x18, 0x00, 0x0f, 0x08, 0x00, 0x0e, 0x20, 0x52, 0x24, 0x4e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x60, 0x00, + 0x04, 0x68, 0x00, 0x03, 0x08, 0x00, 0x15, 0x4c, 0x30, 0x02, 0x02, 0x10, 0x00, 0x0f, 0x08, 0x00, 0x0d, 0x00, 0x04, 0x00, 0x30, 0x0c, 0x62, 0xa5, + 0x4e, 0x00, 0x00, 0x01, 0x00, 0x21, 0xfe, 0xac, 0x64, 0x00, 0x00, 0x20, 0x00, 0x00, 0x70, 0x00, 0x0f, 0x08, 0x00, 0x1b, 0x00, 0x38, 0x00, 0x03, + 0x44, 0x06, 0x20, 0x5a, 0x84, 0x4e, 0x00, 0x00, 0x01, 0x00, 0x23, 0xdd, 0xeb, 0xf0, 0x07, 0x00, 0x1c, 0x00, 0x06, 0x04, 0x00, 0x02, 0x2c, 0x00, + 0x0f, 0x08, 0x00, 0x0f, 0x00, 0x3c, 0x00, 0x01, 0x78, 0x01, 0x20, 0x72, 0xc5, 0x4e, 0x00, 0x00, 0x01, 0x00, 0x20, 0x49, 0xe3, 0x10, 0x00, 0x09, + 0x04, 0x00, 0x00, 0x30, 0x00, 0x00, 0x88, 0x00, 0x00, 0x84, 0x00, 0x0f, 0x08, 0x00, 0x0d, 0x00, 0x30, 0x00, 0x01, 0x04, 0x00, 0x15, 0x6a, 0xf6, + 0x00, 0x41, 0x00, 0x00, 0x72, 0xc5, 0x68, 0x00, 0x02, 0x88, 0x02, 0x02, 0x08, 0x00, 0x02, 0x80, 0x00, 0x04, 0x88, 0x00, 0x0f, 0x08, 0x00, 0x09, + 0x02, 0x30, 0x00, 0x38, 0x6e, 0xfe, 0x0c, 0x52, 0x00, 0x42, 0x00, 0x00, 0xac, 0x07, 0x68, 0x00, 0x05, 0x04, 0x00, 0x00, 0x84, 0x00, 0x00, 0x04, + 0x00, 0x04, 0x30, 0x01, 0x0f, 0x08, 0x00, 0x03, 0x09, 0xc4, 0x02, 0x06, 0xf6, 0x00, 0x02, 0x01, 0x00, 0x20, 0x20, 0xe1, 0x68, 0x00, 0x02, 0x1c, + 0x00, 0x01, 0xa4, 0x00, 0x31, 0xee, 0xff, 0x32, 0x34, 0x00, 0x00, 0x04, 0x00, 0x04, 0x90, 0x00, 0x0a, 0x08, 0x00, 0x00, 0x28, 0x00, 0x04, 0x30, + 0x00, 0x49, 0x6e, 0xfe, 0x2c, 0x8b, 0x7e, 0x04, 0x00, 0x01, 0x00, 0x01, 0x1c, 0x00, 0x00, 0x04, 0x00, 0x00, 0x3c, 0x02, 0x30, 0xcd, 0xff, 0x73, + 0x02, 0x00, 0x00, 0x5a, 0x00, 0x01, 0x04, 0x00, 0x02, 0x98, 0x00, 0x08, 0x08, 0x00, 0x09, 0xa0, 0x00, 0x00, 0x04, 0x00, 0x0a, 0x08, 0x08, 0x00, + 0x01, 0x00, 0x21, 0xfe, 0xcc, 0x84, 0x02, 0x50, 0xac, 0xfe, 0xcd, 0xff, 0x31, 0x4e, 0x00, 0x01, 0x02, 0x00, 0x10, 0x31, 0x10, 0x00, 0x01, 0x40, + 0x00, 0x08, 0x08, 0x00, 0x00, 0x30, 0x02, 0x05, 0x40, 0x01, 0x04, 0x08, 0x00, 0x1f, 0xac, 0x52, 0x00, 0x01, 0x00, 0x80, 0x00, 0x31, 0xcd, 0xfe, + 0xcc, 0x4c, 0x00, 0x03, 0x02, 0x00, 0x01, 0x90, 0x00, 0x03, 0x18, 0x00, 0x05, 0x08, 0x00, 0x0d, 0xa0, 0x00, 0x00, 0x04, 0x00, 0x20, 0xb4, 0x48, + 0x46, 0x00, 0x08, 0x01, 0x00, 0x01, 0x7c, 0x00, 0x01, 0x30, 0x00, 0x20, 0xff, 0x52, 0x4c, 0x00, 0x03, 0x02, 0x00, 0x16, 0x31, 0x18, 0x00, 0x05, + 0x08, 0x00, 0x00, 0x94, 0x00, 0x00, 0x48, 0x00, 0x09, 0x08, 0x00, 0x0f, 0x52, 0x00, 0x02, 0x03, 0x90, 0x00, 0x01, 0x4a, 0x00, 0x05, 0x02, 0x00, + 0x06, 0x18, 0x00, 0x03, 0x08, 0x00, 0x04, 0x50, 0x04, 0x0b, 0x04, 0x00, 0x0f, 0xf6, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0x48, 0x01, 0x08, 0xa4, + 0x00, 0x34, 0x73, 0xff, 0x10, 0x18, 0x00, 0x01, 0x08, 0x00, 0x14, 0x6c, 0x38, 0x01, 0x0c, 0x08, 0x00, 0x0f, 0x9a, 0x01, 0x02, 0x00, 0x88, 0x00, + 0x0b, 0x48, 0x01, 0x44, 0xff, 0x73, 0xff, 0x53, 0x18, 0x00, 0x01, 0x08, 0x00, 0x01, 0x90, 0x00, 0x0f, 0x04, 0x00, 0x01, 0x0f, 0x3e, 0x02, 0x00, + 0x05, 0x88, 0x00, 0x0b, 0xa4, 0x00, 0x00, 0xf8, 0x00, 0x01, 0x18, 0x00, 0x01, 0x20, 0x00, 0x00, 0x40, 0x00, 0x00, 0x94, 0x00, 0x04, 0x08, 0x00, + 0x04, 0x04, 0x00, 0x1f, 0x2c, 0x3e, 0x0b, 0x00, 0x04, 0x28, 0x01, 0x0b, 0x48, 0x01, 0x01, 0x9e, 0x01, 0x01, 0x18, 0x00, 0x01, 0x20, 0x00, 0x02, + 0x4c, 0x00, 0x0f, 0x04, 0x00, 0x00, 0x0c, 0x34, 0x03, 0x01, 0x52, 0x00, 0x03, 0x88, 0x00, 0x0c, 0xa4, 0x00, 0x22, 0xff, 0x32, 0x18, 0x00, 0x01, + 0x20, 0x00, 0x05, 0x38, 0x01, 0x0c, 0x08, 0x00, 0x1e, 0x6a, 0x52, 0x00, 0x02, 0x88, 0x00, 0x0e, 0x48, 0x01, 0x06, 0xf8, 0x00, 0x0f, 0xa4, 0x00, + 0x07, 0x3a, 0x4c, 0xfe, 0xcd, 0x2a, 0x04, 0x00, 0x01, 0x00, 0x06, 0x88, 0x00, 0x0d, 0xa4, 0x00, 0x30, 0x73, 0xff, 0x0f, 0x18, 0x00, 0x01, 0x20, + 0x00, 0x00, 0x40, 0x00, 0x00, 0x94, 0x00, 0x08, 0x08, 0x00, 0x01, 0x00, 0x05, 0x0f, 0xa4, 0x00, 0x00, 0x02, 0x28, 0x01, 0x0f, 0x48, 0x01, 0x01, + 0x00, 0xf8, 0x00, 0x00, 0xc0, 0x00, 0x02, 0x20, 0x00, 0x02, 0x44, 0x00, 0x04, 0x04, 0x00, 0x00, 0x84, 0x00, 0x01, 0x18, 0x00, 0x06, 0x16, 0x06, + 0x04, 0x01, 0x00, 0x01, 0x1c, 0x00, 0x01, 0x88, 0x00, 0x0f, 0xa4, 0x00, 0x00, 0x10, 0x73, 0x18, 0x00, 0x04, 0x20, 0x00, 0x01, 0x4c, 0x00, 0x00, + 0x40, 0x01, 0x00, 0x50, 0x00, 0x00, 0x10, 0x00, 0x01, 0x18, 0x00, 0x0f, 0xa4, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x01, 0x30, 0x01, 0x00, 0x42, 0x00, + 0x0c, 0x02, 0x00, 0x02, 0x88, 0x00, 0x02, 0x20, 0x00, 0x01, 0x0c, 0x00, 0x02, 0x08, 0x00, 0x04, 0x10, 0x00, 0x45, 0xcd, 0xfe, 0xcd, 0x62, 0x68, + 0x06, 0x04, 0x01, 0x00, 0x00, 0x68, 0x00, 0x01, 0x20, 0x00, 0x30, 0xcd, 0xff, 0x32, 0x44, 0x00, 0x0b, 0x02, 0x00, 0x16, 0x0f, 0x20, 0x00, 0x0f, + 0x08, 0x00, 0x03, 0x0f, 0xa4, 0x00, 0x00, 0x04, 0x28, 0x01, 0x0f, 0x48, 0x01, 0x01, 0x00, 0xa6, 0x00, 0x05, 0x20, 0x00, 0x0f, 0x08, 0x00, 0x03, + 0x0f, 0x48, 0x01, 0x1d, 0x26, 0xff, 0x53, 0x20, 0x00, 0x0f, 0x08, 0x00, 0x03, 0x0f, 0xa4, 0x00, 0x00, 0x02, 0x70, 0x00, 0x0f, 0x48, 0x01, 0x04, + 0x03, 0xa4, 0x00, 0x01, 0x20, 0x00, 0x0f, 0x08, 0x00, 0x03, 0x0f, 0xa4, 0x00, 0x02, 0x03, 0x70, 0x00, 0x0f, 0x48, 0x01, 0x02, 0x00, 0x9c, 0x01, + 0x03, 0x20, 0x00, 0x0f, 0x08, 0x00, 0x03, 0x0f, 0xa4, 0x00, 0x00, 0x00, 0x84, 0x00, 0x01, 0x70, 0x00, 0x20, 0xff, 0x53, 0x42, 0x00, 0x0c, 0x02, + 0x00, 0x24, 0xfe, 0xee, 0x20, 0x00, 0x0f, 0x08, 0x00, 0x03, 0x0a, 0xc2, 0x0e, 0x00, 0x01, 0x00, 0x00, 0x68, 0x00, 0x02, 0x70, 0x00, 0x07, 0x68, + 0x06, 0x07, 0x02, 0x00, 0x24, 0xfe, 0xef, 0x20, 0x00, 0x0f, 0x08, 0x00, 0x02, 0x10, 0x6c, 0x44, 0x00, 0x0a, 0x01, 0x00, 0x00, 0x68, 0x00, 0x00, + 0x10, 0x01, 0x2f, 0xfe, 0xcc, 0xf6, 0x00, 0x04, 0x14, 0xef, 0x20, 0x00, 0x0f, 0x08, 0x00, 0x00, 0x30, 0x6c, 0xfe, 0x6e, 0x44, 0x00, 0x0a, 0x01, + 0x00, 0x06, 0x70, 0x00, 0x20, 0xff, 0x0f, 0x42, 0x00, 0x0d, 0x02, 0x00, 0x0f, 0x18, 0x07, 0x03, 0x00, 0x08, 0x00, 0x01, 0x28, 0x06, 0x00, 0x44, + 0x00, 0x0a, 0x01, 0x00, 0x04, 0x10, 0x01, 0x41, 0xfe, 0xcd, 0xff, 0x10, 0x42, 0x00, 0x0c, 0x02, 0x00, 0x14, 0x31, 0x20, 0x00, 0x0b, 0x08, 0x00, + 0x00, 0x4c, 0x09, 0x1f, 0x2c, 0xa4, 0x00, 0x04, 0x00, 0x70, 0x00, 0x00, 0x78, 0x00, 0x11, 0xee, 0x42, 0x00, 0x0c, 0x02, 0x00, 0x15, 0x52, 0x20, + 0x00, 0x08, 0x08, 0x00, 0x05, 0x78, 0x06, 0x00, 0x44, 0x00, 0x0a, 0x01, 0x00, 0x21, 0xfe, 0xab, 0x78, 0x00, 0x00, 0x48, 0x01, 0x0f, 0xf6, 0x00, + 0x03, 0x14, 0x52, 0x20, 0x00, 0x07, 0x08, 0x00, 0x07, 0x30, 0x05, 0x00, 0x44, 0x00, 0x0a, 0x01, 0x00, 0x25, 0xfe, 0xcc, 0x78, 0x00, 0x0f, 0x88, + 0x03, 0x05, 0x04, 0x20, 0x00, 0x06, 0x08, 0x00, 0x01, 0x4c, 0x00, 0x0f, 0xa4, 0x00, 0x05, 0x01, 0x34, 0x0c, 0x00, 0x78, 0x00, 0x0f, 0xf6, 0x00, + 0x05, 0x00, 0x14, 0x07, 0x03, 0x20, 0x00, 0x03, 0x08, 0x00, 0x02, 0xd8, 0x04, 0x03, 0x04, 0x00, 0x00, 0x44, 0x00, 0x0a, 0x01, 0x00, 0x23, 0xe6, + 0x0b, 0x78, 0x00, 0x0f, 0xa4, 0x00, 0x07, 0x04, 0x20, 0x00, 0x04, 0x08, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x28, 0x05, 0x0f, 0xa4, 0x00, 0x04, 0x23, + 0xd5, 0x89, 0x78, 0x00, 0x1f, 0xcc, 0xa4, 0x00, 0x08, 0x03, 0x20, 0x00, 0x01, 0x08, 0x00, 0x01, 0x34, 0x02, 0x06, 0x04, 0x00, 0x00, 0x44, 0x00, + 0x0a, 0x01, 0x00, 0x21, 0xbd, 0x09, 0x78, 0x00, 0x00, 0x80, 0x00, 0x0f, 0x2c, 0x04, 0x05, 0x04, 0x20, 0x00, 0x00, 0x08, 0x00, 0x00, 0x34, 0x02, + 0x30, 0x0c, 0xfe, 0x4c, 0x4c, 0x00, 0x01, 0xa4, 0x00, 0x07, 0x74, 0x0d, 0x04, 0x01, 0x00, 0x25, 0x94, 0x07, 0x20, 0x01, 0x0f, 0xa4, 0x00, 0x03, + 0x00, 0xda, 0x03, 0x03, 0x20, 0x00, 0x08, 0xe4, 0x01, 0x01, 0x04, 0x00, 0x30, 0xcc, 0xfe, 0xee, 0x44, 0x00, 0x0a, 0x01, 0x00, 0x25, 0x83, 0x66, + 0x80, 0x00, 0x0f, 0xa4, 0x00, 0x05, 0x05, 0x20, 0x00, 0x0b, 0xb8, 0x07, 0x00, 0x14, 0x00, 0x10, 0x8b, 0x44, 0x00, 0x0a, 0x01, 0x00, 0x21, 0x73, + 0x25, 0x80, 0x00, 0x00, 0x30, 0x00, 0x1f, 0xee, 0x7e, 0x04, 0x06, 0x03, 0x20, 0x00, 0x09, 0x00, 0x09, 0x02, 0x10, 0x0d, 0x0f, 0x48, 0x01, 0x00, + 0x21, 0x83, 0x66, 0x6c, 0x00, 0x00, 0x80, 0x00, 0x1f, 0xac, 0x52, 0x00, 0x04, 0x05, 0x20, 0x00, 0x01, 0x04, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x50, + 0x00, 0x01, 0x0c, 0x00, 0x20, 0xfd, 0xeb, 0x44, 0x00, 0x0a, 0x01, 0x00, 0x21, 0x73, 0x26, 0x6c, 0x00, 0x00, 0x80, 0x00, 0x0f, 0xa4, 0x00, 0x07, + 0x03, 0x20, 0x00, 0x03, 0x08, 0x00, 0x00, 0x60, 0x00, 0x00, 0x08, 0x00, 0x4f, 0x6e, 0xfe, 0x2c, 0xf6, 0x2a, 0x04, 0x00, 0x25, 0x73, 0x26, 0x80, + 0x00, 0x0f, 0x48, 0x01, 0x11, 0x06, 0x08, 0x00, 0x10, 0x4c, 0xac, 0x00, 0x19, 0xdd, 0x56, 0x10, 0x02, 0x01, 0x00, 0x21, 0x62, 0x84, 0x70, 0x00, + 0x00, 0x28, 0x00, 0x1f, 0xee, 0xbc, 0x06, 0x02, 0x00, 0xa4, 0x00, 0x03, 0x20, 0x00, 0x05, 0x08, 0x00, 0x05, 0xf4, 0x01, 0x20, 0xc4, 0xa9, 0x44, + 0x00, 0x0a, 0x01, 0x00, 0x26, 0x20, 0xe1, 0x78, 0x00, 0x0f, 0x74, 0x05, 0x04, 0x05, 0x20, 0x00, 0x05, 0x08, 0x00, 0x02, 0x50, 0x00, 0x1f, 0x0c, + 0x90, 0x0a, 0x01, 0x00, 0x01, 0x00, 0x01, 0x74, 0x00, 0x00, 0x80, 0x00, 0x1f, 0xee, 0x7e, 0x04, 0x03, 0x06, 0x20, 0x00, 0x03, 0x08, 0x00, 0x02, + 0x50, 0x00, 0x01, 0x04, 0x00, 0x20, 0x73, 0x26, 0x42, 0x00, 0x0c, 0x01, 0x00, 0x01, 0x7c, 0x00, 0x00, 0x04, 0x00, 0x0f, 0xd0, 0x04, 0x04, 0x03, + 0x98, 0x00, 0x04, 0xa0, 0x00, 0x10, 0x6c, 0x9c, 0x00, 0x01, 0x90, 0x02, 0x50, 0x0c, 0xfe, 0x6e, 0x62, 0x44, 0x42, 0x00, 0x0c, 0x01, 0x00, 0x01, + 0x78, 0x00, 0x00, 0x30, 0x00, 0x00, 0xc8, 0x05, 0x01, 0x44, 0x00, 0x0b, 0x02, 0x00, 0x00, 0xaa, 0x08, 0x03, 0x20, 0x00, 0x00, 0x98, 0x00, 0x08, + 0x04, 0x00, 0x0e, 0xe2, 0x0a, 0x00, 0x01, 0x00, 0x06, 0x80, 0x19, 0x0f, 0x52, 0x00, 0x03, 0x03, 0x50, 0x00, 0x00, 0x20, 0x00, 0x02, 0x48, 0x00, + 0x00, 0xa4, 0x00, 0x02, 0x08, 0x00, 0x16, 0xcd, 0xb0, 0x0f, 0x08, 0x01, 0x00, 0x23, 0xf6, 0x8c, 0x80, 0x00, 0x0f, 0xa4, 0x00, 0x07, 0x02, 0x20, + 0x00, 0x02, 0xc8, 0x04, 0x06, 0x04, 0x00, 0x00, 0x08, 0x19, 0x07, 0x8a, 0x13, 0x06, 0x01, 0x00, 0x21, 0xcd, 0x69, 0x80, 0x00, 0x01, 0x88, 0x00, + 0x01, 0x42, 0x00, 0x0b, 0x02, 0x00, 0x01, 0x4c, 0x00, 0x00, 0x20, 0x00, 0x00, 0xc8, 0x04, 0x03, 0x40, 0x01, 0x00, 0xa0, 0x00, 0x00, 0x30, 0x00, + 0x00, 0x40, 0x00, 0x0e, 0x01, 0x00, 0x21, 0xac, 0x88, 0x34, 0x00, 0x00, 0x88, 0x00, 0x0f, 0xe4, 0x02, 0x03, 0x04, 0x48, 0x01, 0x06, 0xa4, 0x00, + 0x00, 0xe8, 0x0e, 0x50, 0xcc, 0xfe, 0xee, 0xee, 0x4c, 0x40, 0x00, 0x0e, 0x01, 0x00, 0x21, 0x7b, 0x45, 0x20, 0x00, 0x01, 0x88, 0x00, 0x0f, 0x92, + 0x02, 0x01, 0x01, 0xf2, 0x00, 0x02, 0x20, 0x00, 0x02, 0x50, 0x00, 0x00, 0xb0, 0x00, 0x01, 0x10, 0x00, 0x0f, 0xb0, 0x18, 0x01, 0x00, 0x01, 0x00, + 0x01, 0xd0, 0x04, 0x00, 0x36, 0x00, 0x00, 0xa4, 0x00, 0x0f, 0x36, 0x03, 0x01, 0x00, 0xd0, 0x0d, 0x03, 0x20, 0x00, 0x0a, 0x08, 0x00, 0x20, 0x7b, + 0x45, 0x40, 0x00, 0x0e, 0x01, 0x00, 0x20, 0x73, 0x25, 0x70, 0x00, 0x02, 0x78, 0x00, 0x21, 0xf6, 0x8e, 0x44, 0x00, 0x09, 0x02, 0x00, 0x26, 0xfe, + 0xef, 0x20, 0x00, 0x0a, 0x08, 0x00, 0x20, 0x49, 0xe3, 0x40, 0x00, 0x0e, 0x01, 0x00, 0x23, 0x49, 0xe3, 0x28, 0x01, 0x01, 0x78, 0x00, 0x00, 0x44, + 0x00, 0x0b, 0x02, 0x00, 0x00, 0x1a, 0x0f, 0x04, 0x20, 0x00, 0x09, 0x08, 0x00, 0x00, 0x3e, 0x00, 0x0f, 0x01, 0x00, 0x03, 0x01, 0x20, 0x00, 0x03, + 0x78, 0x00, 0x01, 0x44, 0x00, 0x0a, 0x02, 0x00, 0x00, 0x9a, 0x01, 0x05, 0x20, 0x00, 0x06, 0x08, 0x00, 0x20, 0xf6, 0x4b, 0x3c, 0x00, 0x0f, 0x01, + 0x00, 0x03, 0x21, 0xf6, 0x6b, 0x78, 0x00, 0x01, 0x20, 0x01, 0x01, 0x44, 0x00, 0x0a, 0x02, 0x00, 0x00, 0x0c, 0x11, 0x05, 0x20, 0x00, 0x06, 0x08, + 0x00, 0x20, 0xcd, 0x6a, 0x3c, 0x00, 0x0f, 0x01, 0x00, 0x03, 0x24, 0xcd, 0x6a, 0x78, 0x00, 0x0f, 0xc8, 0x05, 0x02, 0x00, 0xf6, 0x00, 0x05, 0x20, + 0x00, 0x06, 0x08, 0x00, 0x20, 0x73, 0x05, 0x3c, 0x00, 0x0f, 0x01, 0x00, 0x03, 0x21, 0x8b, 0xc7, 0x28, 0x00, 0x00, 0x80, 0x00, 0x0f, 0xa2, 0x09, + 0x02, 0x00, 0x18, 0x00, 0x01, 0x20, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x08, 0x00, 0x01, 0x10, 0x00, 0x20, 0x21, 0x02, 0x3c, 0x00, 0x0f, 0x01, 0x00, + 0x03, 0x21, 0x52, 0x24, 0x2c, 0x00, 0x02, 0x80, 0x00, 0x10, 0xef, 0x44, 0x00, 0x09, 0x02, 0x00, 0x0f, 0x30, 0x0c, 0x03, 0x07, 0x7a, 0x14, 0x0f, + 0x01, 0x00, 0x01, 0x01, 0x78, 0x00, 0x00, 0x84, 0x00, 0x0f, 0xdc, 0x03, 0x02, 0x02, 0x18, 0x00, 0x04, 0x20, 0x00, 0x02, 0x08, 0x00, 0x0f, 0xde, + 0x02, 0x05, 0x04, 0x01, 0x00, 0x21, 0xf6, 0x4b, 0x78, 0x00, 0x01, 0x80, 0x00, 0x0e, 0x4a, 0x01, 0x02, 0x18, 0x00, 0x04, 0x20, 0x00, 0x02, 0x08, + 0x00, 0x0f, 0x8c, 0x02, 0x05, 0x04, 0x01, 0x00, 0x20, 0xc5, 0x4a, 0x78, 0x00, 0x02, 0x20, 0x01, 0x0e, 0x8a, 0x03, 0x01, 0x1a, 0x00, 0x05, 0x20, + 0x00, 0x01, 0x08, 0x00, 0x10, 0xad, 0x36, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x20, 0x73, 0x05, 0x78, 0x00, 0x01, 0x30, 0x00, 0x00, 0x9e, 0x01, 0x01, + 0x48, 0x00, 0x06, 0x02, 0x00, 0x01, 0xe8, 0x00, 0x06, 0x20, 0x00, 0x0f, 0xe8, 0x01, 0x0c, 0x02, 0x01, 0x00, 0x24, 0x21, 0x02, 0x20, 0x01, 0x00, + 0x08, 0x00, 0x0c, 0x88, 0x0c, 0x05, 0xd4, 0x0c, 0x00, 0x04, 0x00, 0x00, 0x28, 0x00, 0x0f, 0x40, 0x09, 0x00, 0x0e, 0x01, 0x00, 0x24, 0xc5, 0x2a, + 0x80, 0x00, 0x00, 0x08, 0x00, 0x09, 0x32, 0x04, 0x00, 0xf0, 0x09, 0x03, 0x18, 0x00, 0x02, 0x08, 0x00, 0x0e, 0xe4, 0x11, 0x0f, 0x01, 0x00, 0x03, + 0x01, 0x80, 0x00, 0x00, 0x38, 0x00, 0x00, 0x08, 0x00, 0x02, 0xa8, 0x00, 0x11, 0x31, 0x82, 0x03, 0x00, 0x10, 0x00, 0x04, 0x18, 0x00, 0x00, 0x08, + 0x00, 0x0f, 0x68, 0x05, 0x04, 0x0e, 0x01, 0x00, 0x22, 0xa4, 0x48, 0x30, 0x00, 0x02, 0x88, 0x00, 0x0f, 0x08, 0x00, 0x07, 0x0e, 0xa4, 0x0f, 0x0f, + 0x01, 0x00, 0x07, 0x21, 0xf6, 0x8b, 0x88, 0x00, 0x06, 0x30, 0x01, 0x0f, 0x08, 0x00, 0x00, 0x20, 0xac, 0xa8, 0x2a, 0x00, 0x0f, 0x01, 0x00, 0x15, + 0x24, 0x29, 0x22, 0x88, 0x00, 0x0f, 0x08, 0x00, 0x05, 0x20, 0xd5, 0x89, 0x28, 0x00, 0x0f, 0x01, 0x00, 0x19, 0x20, 0x5a, 0x84, 0x88, 0x00, 0x03, + 0x30, 0x01, 0x0e, 0x08, 0x00, 0x1f, 0x8c, 0xcc, 0x03, 0x09, 0x0f, 0x01, 0x00, 0x05, 0x41, 0x20, 0xe1, 0xbd, 0x09, 0x40, 0x00, 0x05, 0x98, 0x00, + 0x04, 0x08, 0x00, 0x2e, 0xee, 0x4b, 0xfa, 0x0e, 0x0f, 0x01, 0x00, 0x17, 0xa1, 0x5a, 0x64, 0x6a, 0xe5, 0x73, 0x26, 0x6a, 0xe5, 0x83, 0x87, 0x9c, + 0x00, 0x50, 0xcc, 0xfe, 0xee, 0xcd, 0x69, 0x18, 0x00, 0x0f, 0x01, 0x00, 0x98, 0x30, 0xff, 0xff, 0xff, 0x07, 0x00, 0x0f, 0x01, 0x00, 0x08, 0x17, + 0xff, 0x01, 0x00, 0x00, 0x10, 0x00, 0x0f, 0x01, 0x00, 0x04, 0x00, 0x1f, 0x00, 0x07, 0x01, 0x00, 0x00, 0x13, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x00, + 0x1d, 0x00, 0x09, 0x01, 0x00, 0x00, 0x15, 0x00, 0x0f, 0x01, 0x00, 0x01, 0x00, 0x1c, 0x00, 0x0a, 0x01, 0x00, 0x00, 0x16, 0x00, 0x08, 0x01, 0x00, + 0x00, 0x14, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x00, 0x1d, 0x00, 0x06, 0x01, 0x00, 0x00, 0x12, 0x00, 0x0f, 0x01, 0x00, 0x05, 0x00, 0x20, 0x00, 0x04, + 0x01, 0x00, 0x00, 0x10, 0x00, 0x0f, 0x01, 0x00, 0x06, 0x00, 0x21, 0x00, 0x03, 0x01, 0x00, 0x00, 0x0f, 0x00, 0x0f, 0x01, 0x00, 0x08, 0x00, 0x23, + 0x00, 0x01, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x00, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x0a, + 0x00, 0x25, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x0a, 0x00, 0x25, 0x00, 0x0f, 0x28, 0x00, 0x11, 0x04, 0x2a, 0x00, 0x00, + 0x0a, 0x00, 0x0f, 0x01, 0x00, 0x0c, 0x00, 0x27, 0x00, 0x0f, 0x29, 0x00, 0x17, 0x00, 0x09, 0x00, 0x0f, 0x01, 0x00, 0x0d, 0x00, 0x28, 0x00, 0x0f, + 0x29, 0x00, 0x12, 0x01, 0x2a, 0x00, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x0e, 0x00, 0x29, 0x00, 0x0f, 0x2a, 0x00, 0x12, 0x00, 0x28, 0x00, 0x0f, + 0x29, 0x00, 0x40, 0x0f, 0x2a, 0x00, 0x17, 0x00, 0x09, 0x00, 0x0f, 0x01, 0x00, 0x0d, 0x00, 0x28, 0x00, 0x0f, 0x2a, 0x00, 0x12, 0x00, 0x27, 0x00, + 0x0f, 0x29, 0x00, 0x69, 0x00, 0x09, 0x00, 0x0f, 0x01, 0x00, 0x0d, 0x00, 0x28, 0x00, 0x0f, 0x29, 0x00, 0x64, 0x01, 0x2a, 0x00, 0x00, 0x08, 0x00, + 0x0f, 0x01, 0x00, 0x0e, 0x0f, 0x29, 0x00, 0x6c, 0x0f, 0x2a, 0x00, 0x12, 0x00, 0x28, 0x00, 0x0f, 0x2a, 0x00, 0x12, 0x00, 0x27, 0x00, 0x0f, 0x2a, + 0x00, 0x12, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x0a, 0x00, 0x25, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0c, 0x00, + 0x0f, 0x01, 0x00, 0x0a, 0x00, 0x25, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x0a, 0x00, 0x25, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x0a, 0x00, 0x25, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x0a, 0x00, 0x25, 0x00, 0x00, 0x01, + 0x00, 0x00, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x0a, 0x00, 0x25, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x0a, 0x00, 0x25, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x0a, 0x00, 0x25, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x0a, 0x00, + 0x25, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x0a, 0x00, 0x25, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0c, 0x00, 0x0f, 0x01, 0x00, + 0x0a, 0x00, 0x25, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x0a, 0x00, 0x25, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0c, 0x00, 0x0f, + 0x01, 0x00, 0x0a, 0x00, 0x25, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x0a, 0x00, 0x25, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0c, + 0x00, 0x0f, 0x01, 0x00, 0x0a, 0x00, 0x25, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x0a, 0x00, 0x25, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x0a, 0x00, 0x25, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x0a, 0x00, 0x25, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x0a, 0x00, 0x25, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x0a, 0x00, 0x25, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x0a, 0x00, 0x25, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x09, + 0x00, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x00, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x0f, 0x01, + 0x00, 0x09, 0x00, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x00, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0d, 0x00, + 0x0f, 0x01, 0x00, 0x09, 0x00, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x00, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, + 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x00, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x00, 0x24, 0x00, 0x01, 0x01, + 0x00, 0x00, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x00, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x00, 0x24, 0x00, + 0x01, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x00, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x00, + 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x00, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x0f, 0x01, 0x00, + 0x09, 0x00, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x00, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x0f, + 0x01, 0x00, 0x09, 0x00, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x00, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0d, + 0x00, 0x0f, 0x01, 0x00, 0x09, 0x00, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x00, 0x24, 0x00, 0x02, 0x01, 0x00, + 0x00, 0x0e, 0x00, 0x0f, 0x01, 0x00, 0x08, 0x00, 0x23, 0x00, 0x02, 0x01, 0x00, 0x00, 0x0e, 0x00, 0x0f, 0x01, 0x00, 0x08, 0x00, 0x23, 0x00, 0x02, + 0x01, 0x00, 0x00, 0x0e, 0x00, 0x0f, 0x01, 0x00, 0x08, 0x00, 0x23, 0x00, 0x02, 0x01, 0x00, 0x00, 0x0e, 0x00, 0x0f, 0x01, 0x00, 0x08, 0x00, 0x23, + 0x00, 0x02, 0x01, 0x00, 0x00, 0x0e, 0x00, 0x0f, 0x01, 0x00, 0x08, 0x00, 0x23, 0x00, 0x02, 0x01, 0x00, 0x00, 0x0e, 0x00, 0x0f, 0x01, 0x00, 0x07, + 0x00, 0x22, 0x00, 0x03, 0x01, 0x00, 0x00, 0x0f, 0x00, 0x0f, 0x01, 0x00, 0x07, 0x00, 0x22, 0x00, 0x03, 0x01, 0x00, 0x00, 0x0f, 0x00, 0x0f, 0x01, + 0x00, 0x07, 0x00, 0x22, 0x00, 0x03, 0x01, 0x00, 0x00, 0x0f, 0x00, 0x0f, 0x01, 0x00, 0x07, 0x00, 0x22, 0x00, 0x03, 0x01, 0x00, 0x00, 0x0f, 0x00, + 0x0f, 0x01, 0x00, 0x07, 0x00, 0x22, 0x00, 0x03, 0x01, 0x00, 0x00, 0x0f, 0x00, 0x0f, 0x01, 0x00, 0x06, 0x00, 0x21, 0x00, 0x05, 0x01, 0x00, 0x00, + 0x11, 0x00, 0x0f, 0x01, 0x00, 0x05, 0x00, 0x20, 0x00, 0x05, 0x01, 0x00, 0x00, 0x11, 0x00, 0x0f, 0x01, 0x00, 0x05, 0x00, 0x20, 0x00, 0x05, 0x01, + 0x00, 0x00, 0x11, 0x00, 0x0f, 0x01, 0x00, 0x05, 0x00, 0x20, 0x00, 0x05, 0x01, 0x00, 0x00, 0x11, 0x00, 0x0f, 0x01, 0x00, 0x05, 0x00, 0x20, 0x00, + 0x05, 0x01, 0x00, 0x00, 0x11, 0x00, 0x0f, 0x01, 0x00, 0x04, 0x00, 0x1f, 0x00, 0x07, 0x01, 0x00, 0x00, 0x13, 0x00, 0x0f, 0x01, 0x00, 0x03, 0x00, + 0x1e, 0x00, 0x07, 0x01, 0x00, 0x00, 0x13, 0x00, 0x0f, 0x01, 0x00, 0x03, 0x00, 0x1e, 0x00, 0x07, 0x01, 0x00, 0x00, 0x13, 0x00, 0x0f, 0x01, 0x00, + 0x02, 0x00, 0x1d, 0x00, 0x08, 0x01, 0x00, 0x00, 0x14, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x00, 0x1d, 0x00, 0x08, 0x01, 0x00, 0x00, 0x14, 0x00, 0x0f, + 0x01, 0x00, 0x01, 0x00, 0x1c, 0x00, 0x0a, 0x01, 0x00, 0x00, 0x16, 0x00, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x0b, 0x01, 0x00, 0x00, 0x17, + 0x00, 0x0d, 0x01, 0x00, 0x00, 0x19, 0x00, 0x0c, 0x01, 0x00, 0x00, 0x18, 0x00, 0x0d, 0x01, 0x00, 0x00, 0x19, 0x00, 0x0d, 0x01, 0x00, 0x00, 0x19, + 0x00, 0x0b, 0x01, 0x00, 0x00, 0x17, 0x00, 0x0e, 0x01, 0x00, 0x00, 0x1a, 0x00, 0x0a, 0x01, 0x00, 0x00, 0x16, 0x00, 0x0f, 0x01, 0x00, 0x01, 0x00, + 0x1c, 0x00, 0x09, 0x01, 0x00, 0x00, 0x15, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x00, 0x1d, 0x00, 0x07, 0x01, 0x00, 0x00, 0x13, 0x00, 0x0f, 0x01, 0x00, + 0x06, 0x00, 0x21, 0x00, 0x02, 0x01, 0x00, 0x00, 0x0e, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +static const uint8_t fortune_front[] = { + 0x1f, 0x00, 0x01, 0x00, 0x8c, 0x20, 0xa4, 0x27, 0x06, 0x00, 0x0f, 0x01, 0x00, 0xa7, 0xf0, 0x03, 0x39, 0x83, 0x31, 0x42, 0x29, 0x22, 0x39, 0x83, + 0xac, 0x88, 0x00, 0x00, 0x31, 0x42, 0x00, 0x00, 0x21, 0x01, 0x16, 0x00, 0x0f, 0x01, 0x00, 0x7d, 0x8c, 0x52, 0x24, 0xdd, 0xca, 0xfe, 0xcd, 0xfe, + 0xac, 0x04, 0x00, 0x40, 0xcd, 0x6a, 0x73, 0x26, 0x20, 0x00, 0x00, 0x01, 0x00, 0xe0, 0x49, 0xe3, 0x41, 0xc3, 0x73, 0x26, 0x7b, 0x25, 0x49, 0xe3, + 0x39, 0x82, 0x29, 0x02, 0x12, 0x00, 0x0f, 0x01, 0x00, 0x7b, 0x6f, 0xd5, 0xaa, 0xfe, 0xee, 0xfe, 0xcc, 0x04, 0x00, 0x07, 0x20, 0xcd, 0x6a, 0x26, + 0x00, 0xe0, 0x00, 0x00, 0x39, 0xa3, 0x72, 0xe5, 0xa4, 0x68, 0x9c, 0x28, 0x52, 0x23, 0x39, 0x83, 0x10, 0x00, 0x0f, 0x01, 0x00, 0x77, 0x42, 0x52, + 0x44, 0xfe, 0xcc, 0x78, 0x01, 0x0f, 0x08, 0x00, 0x0d, 0xf0, 0x01, 0xdd, 0xcb, 0x9c, 0x07, 0xe5, 0xeb, 0xf6, 0x6b, 0xfe, 0xac, 0xe5, 0xea, 0x7b, + 0x66, 0x52, 0x24, 0x3e, 0x00, 0x0f, 0x01, 0x00, 0x47, 0xa0, 0x39, 0x83, 0x7b, 0x66, 0x8b, 0xc7, 0xbd, 0x09, 0xfe, 0xcd, 0x48, 0x01, 0x03, 0x04, + 0x00, 0x30, 0xac, 0x7b, 0x66, 0x1c, 0x00, 0x0c, 0x01, 0x00, 0x23, 0x39, 0x83, 0x20, 0x00, 0x0f, 0x04, 0x00, 0x16, 0xf0, 0x09, 0xc5, 0x4a, 0xdd, + 0xcb, 0xcd, 0x6a, 0xa4, 0x48, 0x7b, 0x46, 0x72, 0xe5, 0x6a, 0xe5, 0x6a, 0xe5, 0x73, 0x05, 0x72, 0xe5, 0x31, 0x62, 0x29, 0x22, 0x4e, 0x00, 0x0f, + 0x01, 0x00, 0x39, 0x22, 0xcd, 0x6a, 0x3c, 0x01, 0x0f, 0x04, 0x00, 0x01, 0x00, 0x20, 0x00, 0x0a, 0x01, 0x00, 0x02, 0x18, 0x00, 0x0f, 0x04, 0x00, + 0x1b, 0x80, 0xbd, 0x29, 0xac, 0x88, 0x41, 0xc3, 0x4a, 0x04, 0x40, 0x00, 0x0f, 0x01, 0x00, 0x41, 0x42, 0x39, 0x83, 0x62, 0xa5, 0x34, 0x01, 0x0f, + 0x04, 0x00, 0x0b, 0x20, 0xbd, 0x09, 0xa0, 0x03, 0x42, 0xc5, 0x4a, 0xf6, 0x4d, 0x10, 0x00, 0x0f, 0x04, 0x00, 0x1f, 0x6f, 0xe6, 0x0b, 0x29, 0x22, + 0x31, 0x42, 0x20, 0x03, 0x45, 0x20, 0xf6, 0x8b, 0x40, 0x02, 0x01, 0x34, 0x01, 0x0f, 0x08, 0x00, 0x0e, 0x21, 0x83, 0x86, 0x0c, 0x00, 0x00, 0x04, + 0x00, 0x01, 0x10, 0x00, 0x0f, 0x08, 0x00, 0x1d, 0x00, 0x70, 0x00, 0x0f, 0x01, 0x00, 0x43, 0x00, 0x28, 0x01, 0x0f, 0x04, 0x00, 0x57, 0x20, 0x62, + 0xa5, 0x74, 0x00, 0x0f, 0x01, 0x00, 0x3d, 0x23, 0xee, 0x4b, 0x28, 0x01, 0x0f, 0x04, 0x00, 0x33, 0x01, 0xaa, 0x00, 0xa1, 0xfe, 0xee, 0xfe, 0xcd, + 0xff, 0x31, 0xfe, 0xee, 0xff, 0x0f, 0x14, 0x00, 0x0d, 0x04, 0x00, 0x00, 0x78, 0x00, 0x0f, 0x01, 0x00, 0x3d, 0x01, 0x76, 0x00, 0x0f, 0x04, 0x00, + 0x39, 0x30, 0xcd, 0xfe, 0xee, 0xc2, 0x00, 0x63, 0xff, 0x10, 0xff, 0x10, 0xfe, 0xef, 0x14, 0x00, 0x0b, 0x04, 0x00, 0x20, 0x62, 0xa4, 0x7a, 0x00, + 0x0f, 0x01, 0x00, 0x37, 0x20, 0xdd, 0xcb, 0xb0, 0x02, 0x02, 0x24, 0x01, 0x0f, 0x08, 0x00, 0x2c, 0xf1, 0x0c, 0xee, 0xff, 0x53, 0xff, 0x32, 0xff, + 0x53, 0xff, 0x53, 0xee, 0x33, 0xdd, 0x52, 0xe5, 0xb3, 0xdd, 0x52, 0xdd, 0x93, 0xdd, 0x73, 0xe5, 0xd3, 0xf6, 0x92, 0xf6, 0xb3, 0x20, 0x00, 0x04, + 0x28, 0x00, 0x03, 0x08, 0x00, 0x40, 0x39, 0xa3, 0x49, 0xe3, 0x82, 0x00, 0x0f, 0x01, 0x00, 0x33, 0x22, 0xfe, 0xac, 0x20, 0x01, 0x0f, 0x04, 0x00, + 0x2f, 0x60, 0xff, 0x0f, 0xff, 0x52, 0xff, 0x73, 0xba, 0x00, 0x0a, 0x04, 0x00, 0x40, 0xee, 0x73, 0xf6, 0x92, 0x20, 0x00, 0x0c, 0x04, 0x00, 0x40, + 0x4a, 0x04, 0x41, 0xa3, 0x82, 0x00, 0x0f, 0x01, 0x00, 0x31, 0x21, 0x72, 0xe5, 0x20, 0x01, 0x0f, 0x04, 0x00, 0x03, 0x00, 0x6e, 0x00, 0x00, 0x08, + 0x00, 0x0f, 0x04, 0x00, 0x0d, 0x00, 0x46, 0x02, 0x40, 0xcd, 0xff, 0x73, 0xff, 0xb6, 0x00, 0x00, 0x88, 0x01, 0x10, 0x73, 0x8c, 0x01, 0x0a, 0x08, + 0x00, 0x23, 0xee, 0x31, 0x2c, 0x00, 0x07, 0x04, 0x00, 0x40, 0xd5, 0xaa, 0x9c, 0x28, 0x84, 0x00, 0x0f, 0x01, 0x00, 0x31, 0x00, 0x18, 0x01, 0x0e, + 0x04, 0x00, 0x40, 0xff, 0x52, 0xff, 0x53, 0x98, 0x00, 0x05, 0x02, 0x00, 0x00, 0x0e, 0x00, 0x13, 0x52, 0xb6, 0x03, 0x03, 0x24, 0x00, 0x05, 0x04, + 0x00, 0x11, 0xee, 0x22, 0x00, 0x02, 0xc6, 0x00, 0x10, 0x93, 0x80, 0x01, 0x0f, 0x08, 0x00, 0x03, 0x01, 0x2c, 0x00, 0x0b, 0x04, 0x00, 0x20, 0xc5, + 0x4a, 0x84, 0x00, 0x0f, 0x01, 0x00, 0x2f, 0x20, 0x8b, 0xc7, 0x18, 0x01, 0x04, 0xb0, 0x02, 0x05, 0x08, 0x00, 0x10, 0xcc, 0xb4, 0x00, 0x00, 0x9a, + 0x00, 0x03, 0x02, 0x00, 0x00, 0xd6, 0x00, 0x00, 0xf8, 0x02, 0x10, 0x0f, 0x78, 0x01, 0x07, 0x28, 0x00, 0x01, 0x08, 0x00, 0x21, 0xff, 0x0f, 0x24, + 0x00, 0x01, 0x7c, 0x01, 0x21, 0xdd, 0x93, 0x80, 0x01, 0x0f, 0x08, 0x00, 0x02, 0x04, 0x30, 0x00, 0x08, 0x08, 0x00, 0x0f, 0xc8, 0x00, 0x35, 0x00, + 0x14, 0x01, 0x0f, 0x04, 0x00, 0x01, 0x01, 0xb6, 0x00, 0x31, 0x73, 0xe5, 0xf3, 0x4c, 0x01, 0x01, 0x04, 0x00, 0x8f, 0xf6, 0xb3, 0xff, 0x53, 0xff, + 0x31, 0xfe, 0xcd, 0x90, 0x01, 0x00, 0x11, 0xef, 0xc6, 0x00, 0x03, 0x28, 0x00, 0x0f, 0x04, 0x00, 0x07, 0x01, 0x2c, 0x00, 0x0b, 0x04, 0x00, 0x0f, + 0xc8, 0x00, 0x36, 0x00, 0x1c, 0x01, 0x0a, 0x04, 0x00, 0x00, 0xc6, 0x00, 0x11, 0x73, 0xae, 0x03, 0x01, 0xd8, 0x02, 0x05, 0x04, 0x00, 0x41, 0x52, + 0xe5, 0xb3, 0xee, 0x78, 0x01, 0x01, 0x02, 0x00, 0x11, 0x52, 0x62, 0x02, 0x00, 0x5a, 0x05, 0x01, 0x8e, 0x01, 0x0f, 0x18, 0x03, 0x07, 0x06, 0x08, + 0x00, 0x43, 0xf6, 0x90, 0xfe, 0xad, 0x64, 0x00, 0x05, 0x04, 0x00, 0x20, 0xf6, 0x4d, 0x86, 0x00, 0x0f, 0x01, 0x00, 0x2d, 0x20, 0x41, 0xa3, 0xb6, + 0x00, 0x0a, 0x04, 0x00, 0x00, 0x96, 0x00, 0x20, 0xff, 0x33, 0xd0, 0x02, 0x00, 0x44, 0x01, 0x0c, 0x08, 0x00, 0x10, 0xe5, 0x96, 0x01, 0x00, 0x22, + 0x00, 0x0b, 0x02, 0x00, 0x04, 0x20, 0x00, 0x0f, 0x08, 0x00, 0x0a, 0x32, 0x93, 0xff, 0x10, 0x64, 0x00, 0x07, 0x04, 0x00, 0x0f, 0x0e, 0x07, 0x32, + 0x24, 0xe5, 0xea, 0xa8, 0x02, 0x03, 0x08, 0x00, 0x00, 0x60, 0x01, 0x00, 0x96, 0x00, 0x01, 0xd0, 0x02, 0x00, 0x44, 0x01, 0x0f, 0x08, 0x00, 0x01, + 0x40, 0xf6, 0xf3, 0xf6, 0xb3, 0x26, 0x00, 0x07, 0x02, 0x00, 0x10, 0x33, 0x18, 0x00, 0x04, 0x20, 0x00, 0x0f, 0x08, 0x00, 0x07, 0x23, 0xfe, 0x8e, + 0x68, 0x00, 0x04, 0x70, 0x00, 0x1f, 0xac, 0xc8, 0x00, 0x33, 0x03, 0x14, 0x01, 0x05, 0x04, 0x00, 0x01, 0x2a, 0x02, 0x02, 0x26, 0x02, 0x0f, 0x04, + 0x00, 0x08, 0x40, 0xee, 0x93, 0xf6, 0xf3, 0x26, 0x00, 0x07, 0x02, 0x00, 0x10, 0x53, 0x18, 0x00, 0x0f, 0x04, 0x00, 0x0f, 0x0e, 0x5c, 0x03, 0x20, + 0xf6, 0x8c, 0x88, 0x00, 0x0f, 0x01, 0x00, 0x2d, 0x03, 0x14, 0x01, 0x06, 0x04, 0x00, 0x01, 0x90, 0x01, 0x10, 0xf6, 0x76, 0x00, 0x07, 0xd8, 0x02, + 0x0e, 0x08, 0x00, 0x21, 0xf6, 0xd3, 0xbe, 0x00, 0x05, 0x02, 0x00, 0x13, 0xee, 0x18, 0x00, 0x04, 0x20, 0x00, 0x0f, 0x08, 0x00, 0x05, 0x23, 0xfe, + 0xae, 0x68, 0x00, 0x07, 0x04, 0x00, 0x00, 0x88, 0x00, 0x0f, 0x01, 0x00, 0x2d, 0x02, 0x14, 0x01, 0x06, 0x04, 0x00, 0x00, 0x92, 0x04, 0x01, 0xc6, + 0x00, 0x02, 0xd0, 0x02, 0x0f, 0x08, 0x00, 0x08, 0x00, 0xbe, 0x00, 0x06, 0x02, 0x00, 0x1f, 0xee, 0x20, 0x03, 0x12, 0x42, 0xf6, 0x90, 0xfe, 0xef, + 0x68, 0x00, 0x07, 0x04, 0x00, 0x0f, 0x58, 0x02, 0x33, 0x06, 0xa8, 0x02, 0x01, 0x08, 0x00, 0x40, 0xff, 0x31, 0xff, 0x32, 0xcc, 0x03, 0x04, 0xd0, + 0x02, 0x0f, 0x08, 0x00, 0x07, 0x19, 0xe5, 0x22, 0x03, 0x24, 0xe6, 0x13, 0x18, 0x00, 0x0f, 0x08, 0x00, 0x09, 0x06, 0x68, 0x00, 0x07, 0x08, 0x00, + 0x0f, 0xc8, 0x00, 0x33, 0x02, 0x14, 0x01, 0x05, 0x04, 0x00, 0x61, 0xff, 0x32, 0xff, 0x11, 0xe6, 0x13, 0x40, 0x01, 0x0f, 0x04, 0x00, 0x0e, 0x00, + 0xc0, 0x00, 0x04, 0x02, 0x00, 0x10, 0xf6, 0x3a, 0x02, 0x03, 0x18, 0x00, 0x0f, 0x04, 0x00, 0x07, 0x02, 0x64, 0x00, 0x0a, 0x04, 0x00, 0x20, 0xf6, + 0x6c, 0x88, 0x00, 0x0f, 0x01, 0x00, 0x2d, 0x03, 0x14, 0x01, 0x05, 0x04, 0x00, 0x66, 0xff, 0x10, 0xff, 0x31, 0xdd, 0x93, 0xd0, 0x02, 0x0f, 0x08, + 0x00, 0x09, 0x08, 0xb4, 0x04, 0x44, 0xee, 0x53, 0xee, 0x53, 0x18, 0x00, 0x0f, 0x08, 0x00, 0x05, 0x22, 0xf6, 0xd2, 0x64, 0x00, 0x0a, 0x04, 0x00, + 0x20, 0xe5, 0xeb, 0x88, 0x00, 0x0f, 0x01, 0x00, 0x2d, 0x02, 0x14, 0x01, 0x06, 0x04, 0x00, 0x00, 0x8e, 0x08, 0x42, 0xe6, 0x13, 0xe5, 0xd3, 0xd0, + 0x02, 0x00, 0x44, 0x01, 0x0f, 0x08, 0x00, 0x09, 0x00, 0xc2, 0x00, 0x02, 0x02, 0x00, 0x30, 0xf6, 0xd3, 0xee, 0x14, 0x00, 0x00, 0x04, 0x00, 0x07, + 0x20, 0x00, 0x0a, 0x08, 0x00, 0x22, 0xff, 0x73, 0x64, 0x00, 0x0a, 0x04, 0x00, 0x1f, 0xee, 0x90, 0x01, 0x26, 0x60, 0x21, 0x01, 0x7b, 0x66, 0xc5, + 0x29, 0x00, 0x0e, 0x27, 0xf6, 0x8c, 0xa8, 0x02, 0x02, 0x08, 0x00, 0x50, 0xee, 0xff, 0x0f, 0xe5, 0xf3, 0x5c, 0x01, 0x00, 0xd0, 0x02, 0x00, 0x4c, + 0x01, 0x0f, 0x08, 0x00, 0x09, 0x00, 0xc2, 0x00, 0x02, 0x02, 0x00, 0x64, 0xf6, 0xd3, 0xf6, 0xf3, 0xee, 0x33, 0x18, 0x00, 0x0f, 0x08, 0x00, 0x01, + 0x47, 0xff, 0x13, 0xff, 0x11, 0x68, 0x00, 0x0b, 0x08, 0x00, 0x20, 0xee, 0x4b, 0x9a, 0x00, 0x0f, 0x01, 0x00, 0x17, 0x20, 0xf6, 0x8c, 0x04, 0x01, + 0x0f, 0x04, 0x00, 0x0b, 0x43, 0xff, 0x53, 0xf6, 0xf3, 0x44, 0x01, 0x0f, 0x04, 0x00, 0x0c, 0x00, 0xc2, 0x00, 0x08, 0x02, 0x00, 0x05, 0x7c, 0x01, + 0x0d, 0x04, 0x00, 0x00, 0x1e, 0x00, 0x0f, 0xcc, 0x07, 0x00, 0x0b, 0x04, 0x00, 0x0f, 0xea, 0x15, 0x13, 0x21, 0xd5, 0xaa, 0x00, 0x01, 0x0f, 0x04, + 0x00, 0x0e, 0x01, 0x24, 0x03, 0x10, 0x92, 0x44, 0x01, 0x02, 0xd8, 0x02, 0x0f, 0x08, 0x00, 0x07, 0x01, 0x9e, 0x00, 0x09, 0x02, 0x00, 0x02, 0xec, + 0x04, 0x04, 0x20, 0x00, 0x04, 0x08, 0x00, 0x00, 0x1a, 0x00, 0x23, 0xff, 0x73, 0x28, 0x0b, 0x0f, 0x04, 0x00, 0x0a, 0x20, 0x7b, 0x46, 0xaa, 0x00, + 0x0f, 0x01, 0x00, 0x09, 0x00, 0xf0, 0x00, 0x0f, 0x04, 0x00, 0x13, 0x03, 0xb4, 0x04, 0x04, 0x5c, 0x01, 0x0f, 0x08, 0x00, 0x08, 0x00, 0x9e, 0x00, + 0x0a, 0x02, 0x00, 0x46, 0xf6, 0xd3, 0xe5, 0xb3, 0x20, 0x00, 0x40, 0xe5, 0xb3, 0xee, 0x93, 0x16, 0x00, 0x02, 0x02, 0x00, 0x0f, 0x3c, 0x06, 0x00, + 0x0f, 0x04, 0x00, 0x00, 0x00, 0xac, 0x00, 0x0f, 0x01, 0x00, 0x05, 0x24, 0xd5, 0xaa, 0x88, 0x02, 0x0f, 0x08, 0x00, 0x12, 0x00, 0x0e, 0x05, 0x14, + 0xf3, 0xd8, 0x02, 0x0f, 0x08, 0x00, 0x09, 0x00, 0x9e, 0x00, 0x0f, 0x02, 0x00, 0x17, 0x03, 0x90, 0x01, 0x06, 0x68, 0x00, 0x0f, 0x08, 0x00, 0x04, + 0x40, 0x29, 0x22, 0x31, 0x62, 0xb6, 0x00, 0x0c, 0x01, 0x00, 0x20, 0xee, 0x4b, 0x9a, 0x00, 0x0f, 0x04, 0x00, 0x1a, 0x1f, 0xcd, 0x30, 0x09, 0x11, + 0x20, 0xe6, 0x13, 0x9e, 0x00, 0x0f, 0x02, 0x00, 0x18, 0x0d, 0x5c, 0x09, 0x0f, 0x04, 0x00, 0x05, 0x00, 0x16, 0x19, 0x0c, 0x01, 0x00, 0x01, 0x8c, + 0x01, 0x00, 0xe8, 0x00, 0x0f, 0x04, 0x00, 0x1a, 0x41, 0xff, 0x52, 0xf6, 0xb3, 0x80, 0x04, 0x01, 0xe0, 0x02, 0x0f, 0x08, 0x00, 0x03, 0x01, 0x9c, + 0x00, 0x0f, 0x02, 0x00, 0x19, 0x11, 0x10, 0xdc, 0x0c, 0x01, 0x60, 0x00, 0x0f, 0x04, 0x00, 0x0d, 0x0c, 0x92, 0x01, 0x0f, 0x0c, 0x17, 0x1f, 0x02, + 0x04, 0x00, 0x01, 0x78, 0x00, 0x11, 0x73, 0xb8, 0x04, 0x07, 0x10, 0x03, 0x08, 0x08, 0x00, 0x1c, 0xe5, 0xf2, 0x0a, 0x0f, 0x02, 0x00, 0x11, 0x30, + 0x10, 0xff, 0x32, 0xdc, 0x05, 0x02, 0x64, 0x00, 0x00, 0xf8, 0x01, 0x29, 0xfe, 0xef, 0x10, 0x00, 0x06, 0x04, 0x00, 0x29, 0xef, 0x39, 0x48, 0x11, + 0x00, 0x70, 0x02, 0x00, 0xe0, 0x00, 0x0f, 0x08, 0x00, 0x1a, 0x10, 0xcc, 0x58, 0x02, 0x01, 0x78, 0x00, 0x30, 0x33, 0xf6, 0xd3, 0x08, 0x03, 0x00, + 0x84, 0x01, 0x04, 0x08, 0x00, 0x04, 0x04, 0x00, 0x01, 0x20, 0x00, 0x0f, 0x02, 0x00, 0x1d, 0x11, 0x31, 0x94, 0x01, 0x02, 0x68, 0x00, 0x00, 0x9c, + 0x01, 0x00, 0xb2, 0x00, 0x04, 0x90, 0x11, 0x06, 0x80, 0x00, 0x01, 0x08, 0x00, 0x08, 0x5c, 0x02, 0x23, 0xbc, 0xe9, 0x2a, 0x00, 0x0f, 0x04, 0x00, + 0x02, 0x01, 0x6c, 0x0c, 0x06, 0x04, 0x00, 0x01, 0x14, 0x00, 0x00, 0x04, 0x00, 0x00, 0xd4, 0x07, 0x01, 0x76, 0x00, 0x04, 0x02, 0x00, 0x0d, 0x2c, + 0x03, 0x0f, 0x54, 0x02, 0x20, 0x07, 0x02, 0x00, 0x18, 0xee, 0x50, 0x00, 0x52, 0xf3, 0xe5, 0xf3, 0xff, 0x53, 0x78, 0x00, 0x0a, 0x04, 0x00, 0x04, + 0xbc, 0x1a, 0x00, 0x01, 0x00, 0x00, 0xd8, 0x00, 0x0f, 0x04, 0x00, 0x06, 0x01, 0xd6, 0x01, 0x00, 0xe8, 0x02, 0x01, 0x60, 0x01, 0x02, 0x16, 0x05, + 0x01, 0x24, 0x01, 0x00, 0x40, 0x06, 0x00, 0x70, 0x00, 0x07, 0x02, 0x00, 0x17, 0x33, 0x40, 0x09, 0x2f, 0xd3, 0xff, 0xe0, 0x03, 0x1d, 0x09, 0x02, + 0x00, 0x04, 0x70, 0x00, 0x05, 0x08, 0x00, 0x13, 0xd3, 0xe8, 0x07, 0x0d, 0x04, 0x00, 0x00, 0xc2, 0x00, 0x02, 0x01, 0x00, 0x00, 0x96, 0x00, 0x0d, + 0x04, 0x00, 0x10, 0xee, 0x6e, 0x15, 0x01, 0x52, 0x00, 0x00, 0x10, 0x01, 0x05, 0xf0, 0x02, 0x00, 0x08, 0x00, 0x20, 0xee, 0x33, 0x18, 0x00, 0x0f, + 0x02, 0x00, 0x49, 0x02, 0x68, 0x00, 0x04, 0x70, 0x00, 0x04, 0x08, 0x00, 0x23, 0xf6, 0xd0, 0x9c, 0x00, 0x0a, 0x04, 0x00, 0x03, 0xca, 0x00, 0x21, + 0x8b, 0xc7, 0xd8, 0x00, 0x03, 0x70, 0x02, 0x03, 0x08, 0x00, 0x01, 0xf4, 0x13, 0x44, 0xff, 0x73, 0xee, 0x93, 0xf0, 0x02, 0x04, 0x08, 0x00, 0x04, + 0x04, 0x00, 0x00, 0x1e, 0x00, 0x0f, 0x02, 0x00, 0x13, 0x60, 0xf6, 0xf3, 0xf6, 0xd3, 0xee, 0x53, 0x42, 0x0d, 0x6f, 0xee, 0x53, 0xf6, 0xf3, 0xff, + 0x53, 0xa8, 0x01, 0x0e, 0x10, 0x13, 0x60, 0x00, 0x04, 0x70, 0x00, 0x0a, 0x08, 0x00, 0x01, 0x9c, 0x00, 0x00, 0x10, 0x02, 0x04, 0xa8, 0x00, 0x01, + 0x08, 0x00, 0x00, 0xc6, 0x00, 0x01, 0x56, 0x02, 0x02, 0xd8, 0x00, 0x08, 0x04, 0x00, 0x01, 0x6a, 0x12, 0x01, 0x18, 0x01, 0x0f, 0x04, 0x00, 0x06, + 0x00, 0x20, 0x00, 0x0f, 0x02, 0x00, 0x12, 0x08, 0xe8, 0x02, 0x0f, 0x50, 0x06, 0x10, 0x00, 0x24, 0x00, 0x0f, 0x04, 0x00, 0x05, 0x01, 0x9c, 0x00, + 0x0d, 0x04, 0x00, 0x00, 0xc6, 0x00, 0x01, 0xac, 0x04, 0x00, 0xd8, 0x00, 0x09, 0x04, 0x00, 0x02, 0x88, 0x04, 0x01, 0x98, 0x02, 0x02, 0x80, 0x01, + 0x0f, 0x08, 0x00, 0x02, 0x02, 0x26, 0x00, 0x0f, 0x02, 0x00, 0x0a, 0x10, 0x53, 0x28, 0x00, 0x04, 0x30, 0x00, 0x06, 0x08, 0x00, 0x0f, 0x94, 0x01, + 0x07, 0x20, 0xee, 0x73, 0x20, 0x00, 0x04, 0x28, 0x00, 0x0d, 0x08, 0x00, 0x52, 0x91, 0xfe, 0xaf, 0xf6, 0x4e, 0xa4, 0x00, 0x06, 0x04, 0x00, 0x02, + 0x06, 0x0b, 0x02, 0xd4, 0x00, 0x0a, 0x04, 0x00, 0x00, 0x52, 0x00, 0x01, 0x62, 0x13, 0x10, 0xf3, 0x98, 0x02, 0x01, 0x0c, 0x01, 0x0f, 0x08, 0x00, + 0x02, 0x00, 0x26, 0x00, 0x0f, 0x02, 0x00, 0x09, 0x04, 0x28, 0x00, 0x0e, 0x08, 0x00, 0x0f, 0xcc, 0x04, 0x05, 0x04, 0x20, 0x00, 0x0f, 0x08, 0x00, + 0x05, 0x21, 0xfe, 0xaf, 0x6a, 0x04, 0x03, 0xa8, 0x00, 0x04, 0x04, 0x00, 0x01, 0xc8, 0x00, 0x01, 0xd4, 0x00, 0x00, 0x68, 0x02, 0x05, 0x08, 0x00, + 0x10, 0xef, 0xd6, 0x02, 0x20, 0xe5, 0xf3, 0x04, 0x01, 0x02, 0x98, 0x02, 0x0f, 0x08, 0x00, 0x02, 0x00, 0x1c, 0x17, 0x01, 0x7c, 0x00, 0x0f, 0x02, + 0x00, 0x02, 0x2f, 0x33, 0xf6, 0x40, 0x00, 0x0d, 0x4b, 0x52, 0xe5, 0xf3, 0xff, 0x32, 0x04, 0x0f, 0xb0, 0x09, 0x0f, 0x45, 0xee, 0x31, 0xed, 0xf0, + 0xa8, 0x00, 0x05, 0x08, 0x00, 0x01, 0xc8, 0x00, 0x03, 0xd4, 0x00, 0x07, 0x04, 0x00, 0x11, 0xee, 0x92, 0x0a, 0x01, 0x00, 0x01, 0x0f, 0x04, 0x00, + 0x0d, 0x00, 0x7e, 0x00, 0x0f, 0x02, 0x00, 0x01, 0x01, 0xe4, 0x07, 0x03, 0x24, 0x00, 0x0f, 0x04, 0x00, 0x07, 0x00, 0x2a, 0x00, 0x09, 0x02, 0x00, + 0x12, 0x33, 0x18, 0x00, 0x0f, 0x04, 0x00, 0x08, 0x31, 0x92, 0xf6, 0x92, 0xa4, 0x00, 0x09, 0x04, 0x00, 0x01, 0xc8, 0x00, 0x02, 0xd8, 0x00, 0x07, + 0x04, 0x00, 0x20, 0xff, 0x10, 0x88, 0x00, 0x01, 0x00, 0x01, 0x04, 0x98, 0x02, 0x0f, 0x08, 0x00, 0x06, 0x01, 0x7e, 0x00, 0x0f, 0x02, 0x00, 0x00, + 0x04, 0x20, 0x00, 0x0f, 0x08, 0x00, 0x0d, 0x00, 0xa0, 0x04, 0x00, 0x30, 0x00, 0x02, 0x02, 0x00, 0x01, 0xac, 0x09, 0x01, 0x18, 0x00, 0x0f, 0x08, + 0x00, 0x07, 0x20, 0xe5, 0xb1, 0xa4, 0x00, 0x0a, 0x04, 0x00, 0x01, 0xc8, 0x00, 0x03, 0xd4, 0x00, 0x06, 0x04, 0x00, 0x01, 0x64, 0x13, 0x04, 0x50, + 0x01, 0x03, 0x98, 0x02, 0x0f, 0x08, 0x00, 0x05, 0x0f, 0x92, 0x01, 0x03, 0x06, 0x20, 0x00, 0x0f, 0x08, 0x00, 0x0f, 0x08, 0xc0, 0x04, 0x26, 0xee, + 0x53, 0x18, 0x00, 0x0f, 0x08, 0x00, 0x05, 0x20, 0xee, 0x33, 0xa4, 0x00, 0x0a, 0x04, 0x00, 0x01, 0xc8, 0x00, 0x02, 0xd4, 0x00, 0x01, 0x68, 0x02, + 0x02, 0x08, 0x00, 0x03, 0x90, 0x01, 0x01, 0x04, 0x01, 0x04, 0x98, 0x02, 0x0f, 0x08, 0x00, 0x07, 0x00, 0x80, 0x00, 0x0a, 0x02, 0x00, 0x20, 0xe6, + 0x13, 0x18, 0x00, 0x04, 0x20, 0x00, 0x0f, 0x08, 0x00, 0x0f, 0x00, 0x34, 0x00, 0x02, 0x02, 0x00, 0x00, 0xa8, 0x00, 0x06, 0x18, 0x00, 0x0f, 0x08, + 0x00, 0x03, 0x03, 0x90, 0x01, 0x07, 0xb0, 0x00, 0x0f, 0x90, 0x01, 0x05, 0x01, 0x06, 0x07, 0x11, 0x33, 0xca, 0x00, 0x02, 0x04, 0x01, 0x0f, 0x04, + 0x00, 0x0a, 0x00, 0x80, 0x00, 0x0a, 0x02, 0x00, 0x02, 0x18, 0x00, 0x0f, 0x04, 0x00, 0x17, 0x24, 0xf6, 0xd3, 0xf0, 0x03, 0x1f, 0xee, 0x3c, 0x00, + 0x10, 0x21, 0xf6, 0xd2, 0xa4, 0x00, 0x09, 0x04, 0x00, 0x01, 0xc8, 0x00, 0x02, 0xd8, 0x00, 0x08, 0x04, 0x00, 0x01, 0x90, 0x08, 0x01, 0x58, 0x07, + 0x01, 0x94, 0x01, 0x0f, 0x08, 0x00, 0x0b, 0x0c, 0x8c, 0x16, 0x04, 0x18, 0x00, 0x0f, 0x08, 0x00, 0x19, 0x04, 0x08, 0x16, 0x1f, 0xee, 0x70, 0x06, + 0x04, 0x08, 0x08, 0x00, 0x0f, 0x40, 0x1c, 0x00, 0x02, 0xc8, 0x00, 0x03, 0xd4, 0x00, 0x08, 0x04, 0x00, 0x00, 0x54, 0x00, 0x03, 0xcc, 0x05, 0x00, + 0x04, 0x00, 0x00, 0x08, 0x01, 0x0f, 0x08, 0x00, 0x06, 0x00, 0x2a, 0x00, 0x07, 0x02, 0x00, 0x14, 0x33, 0x18, 0x00, 0x0f, 0x08, 0x00, 0x19, 0x06, + 0xc0, 0x05, 0x02, 0x10, 0x00, 0x04, 0x18, 0x00, 0x0e, 0x08, 0x00, 0x2e, 0xf6, 0xd0, 0x50, 0x11, 0x21, 0x39, 0x82, 0xc8, 0x00, 0x03, 0xd4, 0x00, + 0x09, 0x08, 0x00, 0x03, 0x98, 0x08, 0x01, 0x04, 0x01, 0x01, 0x04, 0x00, 0x06, 0xa0, 0x02, 0x0a, 0x08, 0x00, 0x0c, 0xe8, 0x03, 0x04, 0x18, 0x00, + 0x0f, 0x08, 0x00, 0x1d, 0x00, 0x3c, 0x00, 0x02, 0x02, 0x00, 0x02, 0x10, 0x00, 0x04, 0x18, 0x00, 0x0c, 0x08, 0x00, 0x01, 0x46, 0x09, 0x06, 0xa8, + 0x00, 0x01, 0x08, 0x00, 0x00, 0xc6, 0x00, 0x01, 0x28, 0x0a, 0x03, 0xd8, 0x00, 0x06, 0x04, 0x00, 0x00, 0xea, 0x03, 0x00, 0x02, 0x00, 0x0f, 0xc4, + 0x15, 0x0f, 0x0c, 0x9c, 0x08, 0x00, 0x14, 0x00, 0x0f, 0x04, 0x00, 0x21, 0x00, 0x3c, 0x00, 0x02, 0x02, 0x00, 0x02, 0x10, 0x00, 0x0f, 0x04, 0x00, + 0x03, 0x00, 0x9c, 0x00, 0x0e, 0x04, 0x00, 0x00, 0xc6, 0x00, 0x00, 0x01, 0x00, 0x01, 0xd8, 0x00, 0x0a, 0x04, 0x00, 0x00, 0x5a, 0x02, 0x01, 0x24, + 0x01, 0x00, 0x04, 0x01, 0x02, 0x98, 0x02, 0x0f, 0x08, 0x00, 0x03, 0x00, 0x24, 0x00, 0x06, 0x02, 0x00, 0x24, 0xe5, 0xb3, 0x18, 0x00, 0x0f, 0x08, + 0x00, 0x1d, 0x00, 0x3e, 0x00, 0x03, 0x02, 0x00, 0x00, 0x24, 0x03, 0x05, 0x18, 0x00, 0x08, 0x08, 0x00, 0x0f, 0x80, 0x22, 0x03, 0x20, 0x7b, 0x45, + 0xc4, 0x00, 0x00, 0x01, 0x00, 0x00, 0xd4, 0x00, 0x0c, 0x04, 0x00, 0x01, 0x68, 0x01, 0x00, 0x04, 0x00, 0x01, 0x08, 0x01, 0x06, 0xa0, 0x02, 0x0a, + 0x08, 0x00, 0x04, 0xa0, 0x03, 0x04, 0x02, 0x00, 0x04, 0x18, 0x00, 0x0f, 0x08, 0x00, 0x1f, 0x00, 0x3e, 0x00, 0x04, 0x02, 0x00, 0x01, 0x14, 0x00, + 0x00, 0x04, 0x00, 0x07, 0x20, 0x00, 0x01, 0x38, 0x06, 0x00, 0x16, 0x0d, 0x03, 0xa0, 0x00, 0x06, 0x04, 0x00, 0x00, 0xc2, 0x00, 0x02, 0x01, 0x00, + 0x01, 0x1c, 0x1f, 0x07, 0x70, 0x02, 0x01, 0x08, 0x00, 0x00, 0x08, 0x0e, 0x02, 0xb8, 0x04, 0x00, 0x46, 0x00, 0x00, 0xa0, 0x02, 0x01, 0x14, 0x01, + 0x04, 0xa8, 0x02, 0x00, 0x08, 0x00, 0x08, 0x3e, 0x13, 0x02, 0x02, 0x00, 0x00, 0x30, 0x03, 0x06, 0x20, 0x00, 0x0f, 0x08, 0x00, 0x19, 0x00, 0x3e, + 0x00, 0x07, 0x02, 0x00, 0x04, 0x58, 0x0e, 0x00, 0x20, 0x00, 0x00, 0xc2, 0x0c, 0x30, 0xb3, 0xf6, 0xf3, 0x16, 0x0d, 0x07, 0xa0, 0x00, 0x05, 0x08, + 0x00, 0x00, 0xc2, 0x00, 0x04, 0x01, 0x00, 0x22, 0xcd, 0x6a, 0xdc, 0x00, 0x0e, 0x04, 0x00, 0x01, 0x56, 0x00, 0x00, 0xa2, 0x00, 0x00, 0xce, 0x00, + 0x09, 0x04, 0x00, 0x00, 0x16, 0x00, 0x0c, 0x02, 0x00, 0x00, 0xc8, 0x0a, 0x00, 0x1c, 0x00, 0x0f, 0x04, 0x00, 0x1f, 0x00, 0x3e, 0x00, 0x0f, 0x02, + 0x00, 0x02, 0x1e, 0x53, 0xa0, 0x04, 0x08, 0x04, 0x00, 0x00, 0xbe, 0x00, 0x08, 0x01, 0x00, 0x01, 0xdc, 0x00, 0x0f, 0x04, 0x00, 0x01, 0x01, 0x98, + 0x01, 0x20, 0xfe, 0xcd, 0xf0, 0x1f, 0x01, 0x86, 0x19, 0x00, 0x74, 0x0a, 0x00, 0x60, 0x00, 0x0f, 0x02, 0x00, 0x02, 0x00, 0x26, 0x0d, 0x01, 0x48, + 0x01, 0x01, 0x28, 0x00, 0x0f, 0x08, 0x00, 0x17, 0x0f, 0x2a, 0x0f, 0x02, 0x01, 0xd6, 0x02, 0x05, 0x28, 0x11, 0x0f, 0x04, 0x00, 0x02, 0x20, 0x9c, + 0x07, 0xbc, 0x00, 0x08, 0x01, 0x00, 0x22, 0x62, 0x84, 0xe0, 0x00, 0x0f, 0x04, 0x00, 0x00, 0x00, 0xa8, 0x0f, 0x1d, 0x0f, 0x54, 0x10, 0x0f, 0x02, + 0x00, 0x02, 0x00, 0xc8, 0x02, 0x02, 0x60, 0x01, 0x0f, 0x08, 0x00, 0x1b, 0x0c, 0x4c, 0x07, 0x06, 0x02, 0x00, 0x0f, 0x14, 0x03, 0x03, 0x04, 0x04, + 0x00, 0x0e, 0x7a, 0x17, 0x41, 0x5a, 0x64, 0xbc, 0xe8, 0xe4, 0x00, 0x05, 0x78, 0x02, 0x03, 0x08, 0x00, 0x00, 0x96, 0x02, 0x00, 0x90, 0x01, 0x0f, + 0xc8, 0x00, 0x12, 0x00, 0xe8, 0x09, 0x00, 0x60, 0x01, 0x01, 0xd8, 0x02, 0x0f, 0x08, 0x00, 0x17, 0x21, 0xd3, 0xee, 0x7c, 0x01, 0x0f, 0x02, 0x00, + 0x00, 0x15, 0x53, 0x90, 0x01, 0x04, 0x90, 0x00, 0x09, 0x08, 0x00, 0x00, 0xba, 0x00, 0x0e, 0x01, 0x00, 0x02, 0xe4, 0x00, 0x0f, 0x04, 0x00, 0x05, + 0x0f, 0xca, 0x00, 0x13, 0x0f, 0x20, 0x03, 0x21, 0x00, 0x38, 0x00, 0x0f, 0x02, 0x00, 0x00, 0x10, 0x10, 0x26, 0x27, 0x02, 0x7c, 0x00, 0x0f, 0x04, + 0x00, 0x01, 0x2e, 0x39, 0x83, 0x8e, 0x01, 0x04, 0x01, 0x00, 0x00, 0xe4, 0x00, 0x0f, 0x04, 0x00, 0x06, 0x00, 0x54, 0x06, 0x0f, 0x02, 0x00, 0x10, + 0x01, 0xf4, 0x02, 0x00, 0x04, 0x00, 0x00, 0x70, 0x01, 0x0f, 0x08, 0x00, 0x0e, 0x08, 0xb6, 0x0b, 0x0a, 0x02, 0x00, 0x02, 0x74, 0x00, 0x03, 0x7c, + 0x00, 0x0d, 0x04, 0x00, 0x00, 0xae, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x02, 0xec, 0x00, 0x0f, 0x04, 0x00, 0x03, 0x00, 0x5e, 0x00, 0x0f, 0x02, 0x00, + 0x13, 0x0f, 0xd8, 0x0f, 0x0d, 0x03, 0x08, 0x00, 0x0d, 0xb8, 0x05, 0x07, 0x02, 0x00, 0x12, 0x10, 0x74, 0x00, 0x0f, 0x04, 0x00, 0x03, 0x00, 0xaa, + 0x00, 0x0f, 0x01, 0x00, 0x0d, 0x02, 0xf0, 0x00, 0x02, 0x80, 0x02, 0x09, 0x08, 0x00, 0x0f, 0x90, 0x01, 0x14, 0x03, 0x02, 0x00, 0x12, 0x13, 0xbc, + 0x0a, 0x01, 0x00, 0x03, 0x0d, 0x08, 0x00, 0x0c, 0x40, 0x07, 0x0f, 0x02, 0x00, 0x00, 0x15, 0x10, 0x78, 0x00, 0x0d, 0x08, 0x00, 0x00, 0xa6, 0x00, + 0x0f, 0x01, 0x00, 0x11, 0x02, 0xf4, 0x00, 0x0e, 0x04, 0x00, 0x01, 0x60, 0x00, 0x0f, 0x02, 0x00, 0x14, 0x00, 0x72, 0x13, 0x21, 0xf6, 0xb3, 0x82, + 0x13, 0x03, 0xe4, 0x0d, 0x21, 0xee, 0x53, 0xbe, 0x00, 0x0f, 0x62, 0x05, 0x01, 0x0f, 0x02, 0x00, 0x01, 0x0f, 0x90, 0x01, 0x05, 0x30, 0xac, 0xa4, + 0x48, 0xa4, 0x00, 0x0f, 0x01, 0x00, 0x13, 0x21, 0xac, 0x88, 0xfc, 0x00, 0x0b, 0x04, 0x00, 0x01, 0x60, 0x00, 0x0f, 0x02, 0x00, 0x55, 0x0f, 0x4c, + 0x09, 0x02, 0x00, 0x9c, 0x00, 0x0f, 0x01, 0x00, 0x1b, 0x2e, 0x21, 0x01, 0xe4, 0x07, 0x01, 0x60, 0x00, 0x0f, 0x02, 0x00, 0x54, 0x0e, 0x38, 0x06, + 0x20, 0xd5, 0xaa, 0x98, 0x00, 0x0f, 0x01, 0x00, 0x21, 0x01, 0x04, 0x01, 0x07, 0x98, 0x02, 0x00, 0x60, 0x00, 0x0f, 0x02, 0x00, 0x55, 0x00, 0x42, + 0x02, 0x04, 0x78, 0x00, 0x02, 0x08, 0x00, 0x20, 0x8b, 0xc7, 0x94, 0x00, 0x0f, 0x01, 0x00, 0x21, 0x02, 0x08, 0x01, 0x06, 0x04, 0x00, 0x00, 0x60, + 0x00, 0x0f, 0x02, 0x00, 0x55, 0x01, 0x7e, 0x07, 0x03, 0x78, 0x00, 0x02, 0x04, 0x00, 0x20, 0x93, 0xe7, 0x94, 0x00, 0x0f, 0x01, 0x00, 0x21, 0x05, + 0x0c, 0x01, 0x03, 0x04, 0x00, 0x00, 0x60, 0x00, 0x0f, 0x02, 0x00, 0x55, 0x05, 0x90, 0x01, 0x05, 0x04, 0x00, 0x0f, 0x34, 0x1f, 0x0f, 0x0f, 0x01, + 0x00, 0x05, 0x01, 0x26, 0x0a, 0x01, 0x0c, 0x01, 0x02, 0x04, 0x00, 0x00, 0x60, 0x00, 0x0f, 0x02, 0x00, 0x55, 0x0e, 0x20, 0x03, 0x06, 0x00, 0x36, + 0x0f, 0x01, 0x00, 0x1d, 0x01, 0x90, 0x01, 0x00, 0x04, 0x00, 0x00, 0x10, 0x01, 0x00, 0x20, 0x03, 0x31, 0x31, 0xff, 0x10, 0xa0, 0x2b, 0x00, 0x2c, + 0x0e, 0x0f, 0x02, 0x00, 0x03, 0x1f, 0x53, 0x02, 0x00, 0x28, 0x01, 0xc0, 0x00, 0x04, 0x02, 0x00, 0x05, 0x90, 0x01, 0x05, 0x80, 0x00, 0x20, 0x5a, + 0x64, 0x94, 0x00, 0x0f, 0x01, 0x00, 0x21, 0x20, 0xee, 0x6c, 0x08, 0x01, 0x06, 0x04, 0x00, 0x00, 0x3e, 0x26, 0x01, 0xee, 0x0e, 0x0b, 0x74, 0x00, + 0x0f, 0x02, 0x00, 0x41, 0x0e, 0x20, 0x03, 0x0f, 0x08, 0x32, 0x27, 0x23, 0xbc, 0xe9, 0x0c, 0x01, 0x03, 0x04, 0x00, 0x01, 0xea, 0x1c, 0x31, 0x10, + 0xfe, 0xef, 0xc2, 0x09, 0x00, 0x02, 0x00, 0x1f, 0x10, 0x02, 0x00, 0x02, 0x1f, 0x31, 0x02, 0x00, 0x02, 0x15, 0x32, 0x02, 0x00, 0x00, 0xb8, 0x01, + 0x06, 0x02, 0x00, 0x00, 0x8a, 0x01, 0x0a, 0x02, 0x00, 0x02, 0xc8, 0x00, 0x04, 0x90, 0x01, 0x05, 0x04, 0x00, 0x20, 0x4a, 0x03, 0x94, 0x00, 0x0f, + 0x01, 0x00, 0x21, 0x20, 0x21, 0x01, 0x08, 0x01, 0x07, 0x04, 0x00, 0x00, 0xc2, 0x00, 0x00, 0x02, 0x00, 0x00, 0x8e, 0x0c, 0x0f, 0x02, 0x00, 0x01, + 0x00, 0xa6, 0x00, 0x04, 0x02, 0x00, 0x00, 0xa4, 0x00, 0x0f, 0x02, 0x00, 0x03, 0x00, 0xac, 0x00, 0x0f, 0x02, 0x00, 0x05, 0x01, 0xc4, 0x00, 0x00, + 0x02, 0x00, 0x0e, 0x90, 0x01, 0x0f, 0xee, 0x35, 0x29, 0x00, 0x98, 0x02, 0x00, 0x0c, 0x01, 0x02, 0x08, 0x00, 0x06, 0x90, 0x01, 0x26, 0xfe, 0xef, + 0x02, 0x00, 0x01, 0x9a, 0x01, 0x0f, 0x9c, 0x01, 0x01, 0x11, 0x11, 0xdc, 0x00, 0x0a, 0x02, 0x00, 0x00, 0xe2, 0x00, 0x00, 0x02, 0x00, 0x00, 0xd0, + 0x00, 0x04, 0x02, 0x00, 0x00, 0xc0, 0x00, 0x08, 0x02, 0x00, 0x02, 0xc8, 0x00, 0x04, 0x90, 0x01, 0x05, 0x80, 0x00, 0x0f, 0xec, 0x35, 0x29, 0x00, + 0x08, 0x01, 0x07, 0x04, 0x00, 0x00, 0x90, 0x01, 0x00, 0x8c, 0x01, 0x00, 0xa6, 0x00, 0x08, 0x02, 0x00, 0x0f, 0xb2, 0x00, 0x01, 0x04, 0x02, 0x00, + 0x00, 0xb6, 0x00, 0x02, 0x02, 0x00, 0x00, 0xb4, 0x00, 0x08, 0x02, 0x00, 0x00, 0xb4, 0x00, 0x0e, 0x02, 0x00, 0x01, 0xc6, 0x00, 0x0f, 0x14, 0x27, + 0x01, 0x0f, 0x02, 0x32, 0x29, 0x03, 0x0c, 0x01, 0x03, 0x04, 0x00, 0x06, 0x90, 0x01, 0x01, 0x82, 0x01, 0x0f, 0x84, 0x01, 0x01, 0x00, 0x02, 0x00, + 0x00, 0xbe, 0x00, 0x0e, 0x02, 0x00, 0x00, 0xca, 0x00, 0x02, 0x02, 0x00, 0x00, 0xc4, 0x00, 0x06, 0x02, 0x00, 0x00, 0xbc, 0x00, 0x0a, 0x02, 0x00, + 0x02, 0xc8, 0x00, 0x04, 0x90, 0x01, 0x05, 0x04, 0x00, 0x00, 0xc2, 0x37, 0x0f, 0x01, 0x00, 0x25, 0x00, 0x08, 0x01, 0x07, 0x04, 0x00, 0x00, 0xc2, + 0x00, 0x00, 0x02, 0x00, 0x00, 0x94, 0x01, 0x0f, 0x02, 0x00, 0x01, 0x00, 0xa6, 0x00, 0x04, 0x02, 0x00, 0x00, 0xa4, 0x00, 0x0f, 0x02, 0x00, 0x03, + 0x00, 0xac, 0x00, 0x0f, 0x02, 0x00, 0x05, 0x01, 0xc4, 0x00, 0x00, 0x02, 0x00, 0x0e, 0x20, 0x03, 0x08, 0x82, 0x21, 0x0f, 0x01, 0x00, 0x1d, 0x00, + 0x98, 0x02, 0x00, 0x0c, 0x01, 0x02, 0x08, 0x00, 0x06, 0x90, 0x01, 0x00, 0x18, 0x03, 0x04, 0x02, 0x00, 0x01, 0x9a, 0x01, 0x0f, 0x9c, 0x01, 0x01, + 0x0f, 0x6e, 0x02, 0x01, 0x00, 0xe2, 0x00, 0x00, 0x02, 0x00, 0x00, 0xd0, 0x00, 0x04, 0x02, 0x00, 0x00, 0xc0, 0x00, 0x08, 0x02, 0x00, 0x04, 0xc8, + 0x00, 0x05, 0x78, 0x00, 0x02, 0x08, 0x00, 0x00, 0x90, 0x00, 0x0f, 0x01, 0x00, 0x25, 0x00, 0x08, 0x01, 0x07, 0x04, 0x00, 0x00, 0x90, 0x01, 0x00, + 0x8c, 0x01, 0x00, 0xa6, 0x00, 0x08, 0x02, 0x00, 0x0f, 0xb2, 0x00, 0x01, 0x04, 0x02, 0x00, 0x00, 0xb6, 0x00, 0x02, 0x02, 0x00, 0x00, 0xb4, 0x00, + 0x08, 0x02, 0x00, 0x00, 0xb4, 0x00, 0x0e, 0x02, 0x00, 0x01, 0xc6, 0x00, 0x0f, 0x20, 0x03, 0x01, 0x0f, 0x90, 0x01, 0x2c, 0x00, 0x0c, 0x01, 0x03, + 0x04, 0x00, 0x06, 0x90, 0x01, 0x01, 0x82, 0x01, 0x0f, 0x84, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0xbe, 0x00, 0x0e, 0x02, 0x00, 0x00, 0xca, 0x00, + 0x02, 0x02, 0x00, 0x00, 0xc4, 0x00, 0x06, 0x02, 0x00, 0x00, 0xbc, 0x00, 0x0a, 0x02, 0x00, 0x02, 0xc8, 0x00, 0x0d, 0x20, 0x03, 0x00, 0x90, 0x00, + 0x0f, 0x01, 0x00, 0x25, 0x00, 0x08, 0x01, 0x07, 0x04, 0x00, 0x00, 0x1c, 0x23, 0x00, 0x02, 0x00, 0x00, 0x94, 0x01, 0x0f, 0x02, 0x00, 0x01, 0x00, + 0xa6, 0x00, 0x04, 0x02, 0x00, 0x00, 0xa4, 0x00, 0x0f, 0x02, 0x00, 0x03, 0x00, 0xac, 0x00, 0x0f, 0x02, 0x00, 0x05, 0x01, 0xc4, 0x00, 0x00, 0x02, + 0x00, 0x0e, 0x20, 0x03, 0x00, 0x90, 0x00, 0x0f, 0x01, 0x00, 0x25, 0x01, 0xec, 0x27, 0x02, 0x10, 0x01, 0x00, 0x08, 0x00, 0x10, 0xef, 0x26, 0x2a, + 0x00, 0x90, 0x01, 0x00, 0x18, 0x03, 0x04, 0x02, 0x00, 0x01, 0x9a, 0x01, 0x0f, 0x9c, 0x01, 0x01, 0x0f, 0x6e, 0x02, 0x01, 0x00, 0xe2, 0x00, 0x00, + 0x02, 0x00, 0x00, 0xd0, 0x00, 0x04, 0x02, 0x00, 0x00, 0xc0, 0x00, 0x08, 0x02, 0x00, 0x04, 0xc8, 0x00, 0x06, 0x78, 0x00, 0x01, 0x08, 0x00, 0x00, + 0x90, 0x00, 0x0f, 0x01, 0x00, 0x25, 0x22, 0xe6, 0x0b, 0x0c, 0x01, 0x03, 0x04, 0x00, 0x00, 0x22, 0x03, 0x00, 0x8c, 0x01, 0x00, 0xa6, 0x00, 0x08, + 0x02, 0x00, 0x0f, 0xb2, 0x00, 0x01, 0x04, 0x02, 0x00, 0x00, 0xb6, 0x00, 0x02, 0x02, 0x00, 0x00, 0xb4, 0x00, 0x08, 0x02, 0x00, 0x00, 0xb4, 0x00, + 0x0e, 0x02, 0x00, 0x01, 0xc6, 0x00, 0x0f, 0x20, 0x03, 0x00, 0x0f, 0x5e, 0x10, 0x16, 0x0f, 0x01, 0x00, 0x01, 0x21, 0xdd, 0xcb, 0x0c, 0x01, 0x04, + 0x04, 0x00, 0x00, 0x58, 0x14, 0x01, 0x90, 0x01, 0x01, 0x82, 0x01, 0x0f, 0x84, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0xbe, 0x00, 0x0e, 0x02, 0x00, + 0x00, 0xca, 0x00, 0x02, 0x02, 0x00, 0x00, 0xc4, 0x00, 0x06, 0x02, 0x00, 0x00, 0xbc, 0x00, 0x0a, 0x02, 0x00, 0x02, 0xc8, 0x00, 0x00, 0x70, 0x00, + 0x08, 0x04, 0x00, 0x0f, 0x90, 0x01, 0x2a, 0x21, 0xee, 0x0c, 0x0c, 0x01, 0x04, 0x04, 0x00, 0x00, 0xe8, 0x15, 0x00, 0xaa, 0x00, 0x00, 0x94, 0x01, + 0x0f, 0x02, 0x00, 0x01, 0x00, 0xa6, 0x00, 0x04, 0x02, 0x00, 0x00, 0xa4, 0x00, 0x0f, 0x02, 0x00, 0x03, 0x00, 0xac, 0x00, 0x0f, 0x02, 0x00, 0x05, + 0x01, 0xc4, 0x00, 0x00, 0x02, 0x00, 0x01, 0x70, 0x00, 0x08, 0x04, 0x00, 0x0f, 0x90, 0x01, 0x2a, 0x26, 0xac, 0x88, 0xa0, 0x02, 0x01, 0x90, 0x01, + 0x12, 0xcc, 0x90, 0x01, 0x00, 0x18, 0x03, 0x08, 0x02, 0x00, 0x01, 0x9e, 0x01, 0x02, 0x02, 0x00, 0x00, 0xe8, 0x00, 0x0f, 0x02, 0x00, 0x07, 0x0f, + 0x82, 0x02, 0x09, 0x08, 0x08, 0x01, 0x11, 0x11, 0x70, 0x00, 0x04, 0x78, 0x00, 0x00, 0x08, 0x00, 0x0f, 0xc8, 0x00, 0x2a, 0x01, 0x04, 0x3f, 0x02, + 0x10, 0x01, 0x00, 0x04, 0x00, 0x00, 0xda, 0x19, 0x00, 0x8c, 0x01, 0x00, 0x92, 0x00, 0x0f, 0x02, 0x00, 0x33, 0x00, 0xfa, 0x00, 0x0f, 0x02, 0x00, + 0x01, 0x0d, 0xd8, 0x15, 0x20, 0xf6, 0x8b, 0x90, 0x00, 0x0f, 0x01, 0x00, 0x25, 0x21, 0x62, 0x84, 0x0c, 0x01, 0x06, 0x04, 0x00, 0x03, 0x90, 0x01, + 0x01, 0x6c, 0x00, 0x0f, 0x02, 0x00, 0x19, 0x00, 0xb4, 0x00, 0x0f, 0x02, 0x00, 0x18, 0x00, 0x1a, 0x05, 0x01, 0x70, 0x00, 0x06, 0x04, 0x00, 0x0f, + 0x90, 0x01, 0x2a, 0x20, 0x62, 0xa5, 0x0c, 0x01, 0x08, 0x04, 0x00, 0x00, 0x66, 0x00, 0x01, 0x94, 0x01, 0x0f, 0x02, 0x00, 0x05, 0x31, 0x30, 0xff, + 0x30, 0x24, 0x00, 0x0f, 0x02, 0x00, 0x1f, 0x00, 0xf0, 0x00, 0x04, 0x02, 0x00, 0x10, 0x31, 0x6c, 0x00, 0x08, 0x04, 0x00, 0x0f, 0x00, 0x32, 0x27, + 0x00, 0x01, 0x00, 0x01, 0xa0, 0x2c, 0x02, 0x10, 0x01, 0x00, 0x08, 0x00, 0x10, 0xee, 0x7c, 0x22, 0x00, 0x90, 0x01, 0x00, 0x14, 0x03, 0x0f, 0x02, + 0x00, 0x0d, 0x01, 0x90, 0x00, 0x0c, 0x02, 0x00, 0x00, 0xb0, 0x00, 0x0f, 0x02, 0x00, 0x10, 0x01, 0xbc, 0x00, 0x06, 0x78, 0x00, 0x0f, 0x90, 0x33, + 0x2e, 0x01, 0xc8, 0x00, 0x00, 0x54, 0x00, 0x05, 0x04, 0x00, 0x00, 0x2c, 0x01, 0x00, 0x6a, 0x00, 0x0f, 0x02, 0x00, 0x4c, 0x07, 0x28, 0x2c, 0x02, + 0x04, 0x00, 0x20, 0xbd, 0x29, 0x90, 0x00, 0x0f, 0x01, 0x00, 0x25, 0x20, 0x29, 0x02, 0x0c, 0x01, 0x08, 0x04, 0x00, 0x21, 0xff, 0x73, 0x50, 0x04, + 0x00, 0x6c, 0x00, 0x0f, 0x02, 0x00, 0x48, 0x0e, 0xf8, 0x18, 0x00, 0xae, 0x48, 0x0f, 0x01, 0x00, 0x27, 0x20, 0x29, 0x22, 0x0c, 0x01, 0x08, 0x04, + 0x00, 0x07, 0xe4, 0x05, 0x00, 0xf0, 0x05, 0x0a, 0x02, 0x00, 0x00, 0x1e, 0x06, 0x06, 0x02, 0x00, 0x00, 0xf0, 0x00, 0x02, 0x02, 0x00, 0x00, 0x38, + 0x03, 0x0e, 0x02, 0x00, 0x01, 0xb2, 0x00, 0x0d, 0x02, 0x00, 0x00, 0x7e, 0x02, 0x00, 0xf6, 0x3d, 0x03, 0x70, 0x00, 0x04, 0x04, 0x00, 0x1d, 0x94, + 0xd2, 0x1c, 0x0f, 0x01, 0x00, 0x1b, 0x04, 0xa0, 0x02, 0x04, 0x08, 0x00, 0x03, 0xc0, 0x12, 0x02, 0x02, 0x00, 0x00, 0xbc, 0x00, 0x0e, 0x02, 0x00, + 0x00, 0xc4, 0x00, 0x08, 0x02, 0x00, 0x00, 0xca, 0x00, 0x02, 0x02, 0x00, 0x00, 0xbe, 0x00, 0x0f, 0x02, 0x00, 0x03, 0x11, 0x11, 0xc4, 0x00, 0x05, + 0x02, 0x00, 0x06, 0x70, 0x00, 0x04, 0x08, 0x00, 0x20, 0x8b, 0xa6, 0x8e, 0x00, 0x0f, 0x01, 0x00, 0x25, 0x21, 0x21, 0x01, 0xde, 0x03, 0x03, 0x14, + 0x01, 0x00, 0x04, 0x00, 0x01, 0xc0, 0x12, 0x04, 0x02, 0x00, 0x00, 0xb6, 0x00, 0x0a, 0x02, 0x00, 0x00, 0xb8, 0x00, 0x08, 0x02, 0x00, 0x00, 0xbe, + 0x00, 0x02, 0x02, 0x00, 0x00, 0xae, 0x00, 0x0f, 0x02, 0x00, 0x01, 0x01, 0xb8, 0x00, 0x0c, 0x02, 0x00, 0x02, 0x6c, 0x00, 0x08, 0x04, 0x00, 0x20, + 0x73, 0x05, 0x90, 0x00, 0x0f, 0x01, 0x00, 0x27, 0x00, 0x0c, 0x01, 0x08, 0x04, 0x00, 0x09, 0x9e, 0x2f, 0x00, 0xba, 0x00, 0x0a, 0x02, 0x00, 0x00, + 0xbc, 0x00, 0x08, 0x02, 0x00, 0x00, 0xc2, 0x00, 0x02, 0x02, 0x00, 0x00, 0xb4, 0x00, 0x0f, 0x02, 0x00, 0x01, 0x01, 0xb8, 0x00, 0x0c, 0x02, 0x00, + 0x02, 0x6c, 0x00, 0x08, 0x04, 0x00, 0x20, 0x6a, 0xe5, 0x8e, 0x00, 0x0f, 0x01, 0x00, 0x27, 0x00, 0x0c, 0x01, 0x08, 0x04, 0x00, 0x00, 0x10, 0x20, + 0x01, 0xc4, 0x00, 0x0c, 0xc6, 0x00, 0x00, 0xb6, 0x00, 0x04, 0x02, 0x00, 0x00, 0xb8, 0x00, 0x0f, 0xba, 0x00, 0x01, 0x01, 0xa4, 0x00, 0x09, 0x02, + 0x00, 0x01, 0x0e, 0x03, 0x20, 0xff, 0x0f, 0xa8, 0x05, 0x03, 0x02, 0x00, 0x00, 0x56, 0x0b, 0x00, 0x02, 0x00, 0x03, 0x70, 0x00, 0x04, 0x04, 0x00, + 0x0f, 0x3a, 0x4a, 0x2d, 0x04, 0xa0, 0x02, 0x04, 0x08, 0x00, 0x01, 0xa0, 0x00, 0x00, 0xc6, 0x00, 0x0a, 0xc8, 0x00, 0x00, 0xbe, 0x00, 0x04, 0x02, + 0x00, 0x0f, 0xc4, 0x00, 0x13, 0x01, 0xc0, 0x00, 0x07, 0xc2, 0x00, 0x00, 0xbc, 0x00, 0x06, 0x02, 0x00, 0x05, 0x70, 0x00, 0x02, 0x08, 0x00, 0x40, + 0xf6, 0x6b, 0x41, 0xc3, 0x8e, 0x00, 0x0f, 0x01, 0x00, 0x27, 0x0d, 0x20, 0x03, 0x1f, 0x31, 0x90, 0x01, 0x02, 0x00, 0xc0, 0x00, 0x00, 0x02, 0x00, + 0x00, 0xc4, 0x00, 0x0e, 0xc6, 0x00, 0x00, 0xb8, 0x00, 0x06, 0x02, 0x00, 0x0a, 0xc0, 0x00, 0x0a, 0xc2, 0x00, 0x11, 0xce, 0x78, 0x20, 0x0d, 0x0c, + 0x0e, 0x2a, 0xfe, 0xac, 0x78, 0x33, 0x0f, 0x01, 0x00, 0x1f, 0x01, 0x1c, 0x01, 0x00, 0x18, 0x01, 0x03, 0x04, 0x00, 0x07, 0x20, 0x03, 0x00, 0xc0, + 0x00, 0x06, 0x02, 0x00, 0x00, 0xc6, 0x00, 0x04, 0x02, 0x00, 0x00, 0xcc, 0x00, 0x0e, 0xce, 0x00, 0x0c, 0xd0, 0x00, 0x00, 0x02, 0x00, 0x01, 0xd4, + 0x00, 0x0f, 0xd6, 0x00, 0x00, 0x01, 0x6c, 0x00, 0x06, 0x04, 0x00, 0x2f, 0xee, 0x2b, 0x90, 0x01, 0x2e, 0x02, 0x10, 0x01, 0x05, 0x04, 0x00, 0x0f, + 0x20, 0x03, 0x06, 0x00, 0x02, 0x00, 0x00, 0xc4, 0x00, 0x06, 0x02, 0x00, 0x00, 0xcc, 0x00, 0x02, 0x02, 0x00, 0x00, 0xc4, 0x00, 0x0e, 0x02, 0x00, + 0x00, 0xc8, 0x00, 0x0e, 0x02, 0x00, 0x02, 0xd8, 0x00, 0x01, 0x6c, 0x00, 0x06, 0x04, 0x00, 0x2f, 0xdd, 0xcb, 0x16, 0x15, 0x29, 0x00, 0x01, 0x00, + 0x02, 0x10, 0x01, 0x04, 0xa8, 0x02, 0x01, 0x04, 0x19, 0x11, 0x11, 0xc6, 0x00, 0x0f, 0xc8, 0x00, 0x4b, 0x05, 0x70, 0x00, 0x02, 0x08, 0x00, 0x2f, + 0xa4, 0x48, 0xf6, 0x11, 0x29, 0x00, 0x01, 0x00, 0x02, 0x10, 0x01, 0x06, 0x04, 0x00, 0x01, 0x60, 0x09, 0x00, 0xc6, 0x00, 0x08, 0xc8, 0x00, 0x00, + 0xb6, 0x00, 0x02, 0x02, 0x00, 0x0e, 0xb6, 0x00, 0x0a, 0xfe, 0x0a, 0x02, 0xa6, 0x00, 0x00, 0x40, 0x02, 0x02, 0x02, 0x00, 0x00, 0x44, 0x02, 0x02, + 0x02, 0x00, 0x15, 0xce, 0x1c, 0x03, 0x00, 0x02, 0x00, 0x01, 0x6c, 0x00, 0x06, 0x04, 0x00, 0x0f, 0x16, 0x47, 0x2f, 0x01, 0x14, 0x01, 0x07, 0x04, + 0x00, 0x00, 0xec, 0x0a, 0x01, 0xc6, 0x00, 0x08, 0xc8, 0x00, 0x06, 0xca, 0x00, 0x00, 0xc8, 0x00, 0x0c, 0xca, 0x00, 0x0c, 0x7a, 0x01, 0x0f, 0xcc, + 0x00, 0x07, 0x00, 0xce, 0x00, 0x00, 0xc6, 0x00, 0x03, 0x6c, 0x00, 0x06, 0x04, 0x00, 0x0f, 0xac, 0x1d, 0x27, 0x04, 0x01, 0x00, 0x02, 0x10, 0x01, + 0x06, 0x04, 0x00, 0x01, 0x48, 0x10, 0x00, 0xc6, 0x00, 0x08, 0xc8, 0x00, 0x00, 0xc2, 0x00, 0x02, 0x02, 0x00, 0x0e, 0xc6, 0x00, 0x0f, 0x90, 0x01, + 0x32, 0x0f, 0xac, 0x1d, 0x27, 0x04, 0x01, 0x00, 0x02, 0xa0, 0x02, 0x04, 0xa8, 0x02, 0x03, 0x54, 0x14, 0x00, 0xc6, 0x00, 0x08, 0xc8, 0x00, 0x06, + 0xca, 0x00, 0x00, 0xc8, 0x00, 0x0c, 0xca, 0x00, 0x0f, 0x90, 0x01, 0x23, 0x03, 0x70, 0x00, 0x00, 0xd8, 0x22, 0x2f, 0xfe, 0xcd, 0xe4, 0x1c, 0x27, + 0x04, 0x01, 0x00, 0x20, 0xee, 0x4b, 0x10, 0x01, 0x07, 0x04, 0x00, 0x00, 0x22, 0x03, 0x00, 0xc6, 0x00, 0x08, 0xc8, 0x00, 0x00, 0xc2, 0x00, 0x02, + 0x02, 0x00, 0x0c, 0xc4, 0x00, 0x08, 0x1e, 0x0e, 0x01, 0xc0, 0x00, 0x00, 0x02, 0x00, 0x0d, 0xbe, 0x00, 0x31, 0xee, 0xfe, 0xed, 0xbe, 0x00, 0x02, + 0x02, 0x00, 0x00, 0xba, 0x00, 0x02, 0x6c, 0x00, 0x05, 0x04, 0x00, 0x0f, 0xc8, 0x00, 0x2f, 0x01, 0x84, 0x4c, 0x00, 0x18, 0x01, 0x04, 0x04, 0x00, + 0x00, 0x34, 0x11, 0x00, 0xc6, 0x00, 0x0f, 0xc8, 0x00, 0x05, 0x0e, 0xca, 0x00, 0x00, 0xc4, 0x00, 0x04, 0x02, 0x00, 0x06, 0xc8, 0x00, 0x02, 0x02, + 0x00, 0x00, 0xc4, 0x00, 0x02, 0x02, 0x00, 0x0a, 0x58, 0x02, 0x02, 0x6c, 0x00, 0x05, 0x04, 0x00, 0x0f, 0xac, 0x1d, 0x27, 0x04, 0x01, 0x00, 0x0d, + 0x0c, 0x54, 0x00, 0x92, 0x01, 0x00, 0xc6, 0x00, 0x0f, 0xc8, 0x00, 0x05, 0x00, 0xbc, 0x00, 0x06, 0x02, 0x00, 0x0f, 0x90, 0x01, 0x34, 0x20, 0x62, + 0x84, 0x8c, 0x00, 0x0f, 0x01, 0x00, 0x29, 0x20, 0xac, 0x88, 0x10, 0x01, 0x01, 0xa8, 0x02, 0x02, 0x08, 0x00, 0x00, 0x34, 0x11, 0x00, 0xc6, 0x00, + 0x08, 0xc8, 0x00, 0x06, 0xca, 0x00, 0x00, 0x90, 0x01, 0x0c, 0xcc, 0x00, 0x0f, 0x20, 0x03, 0x2d, 0x3f, 0xac, 0xfe, 0xcd, 0x54, 0x1b, 0x29, 0x02, + 0x01, 0x00, 0x20, 0x9c, 0x28, 0x10, 0x01, 0x0a, 0x04, 0x00, 0x01, 0xc6, 0x00, 0x08, 0xc8, 0x00, 0x00, 0xc2, 0x00, 0x02, 0x02, 0x00, 0x0c, 0xc4, + 0x00, 0x0f, 0x90, 0x01, 0x34, 0x0f, 0xe6, 0x4e, 0x2f, 0x20, 0x7b, 0x66, 0x10, 0x01, 0x07, 0x04, 0x00, 0x00, 0x34, 0x11, 0x00, 0xc6, 0x00, 0x0f, + 0xc8, 0x00, 0x05, 0x0e, 0xca, 0x00, 0x00, 0xc4, 0x00, 0x04, 0x02, 0x00, 0x06, 0xc8, 0x00, 0x02, 0x02, 0x00, 0x00, 0xc4, 0x00, 0x02, 0x02, 0x00, + 0x0f, 0x20, 0x03, 0x0a, 0x0c, 0x68, 0x3e, 0x0f, 0x01, 0x00, 0x1f, 0x20, 0x72, 0xe5, 0x10, 0x01, 0x0a, 0x04, 0x00, 0x01, 0xc6, 0x00, 0x0f, 0xc8, + 0x00, 0x05, 0x00, 0xbc, 0x00, 0x06, 0x02, 0x00, 0x0f, 0x90, 0x01, 0x34, 0x0f, 0x58, 0x02, 0x2f, 0x20, 0x5a, 0x64, 0x10, 0x01, 0x04, 0xa8, 0x02, + 0x02, 0x04, 0x00, 0x01, 0xc6, 0x00, 0x08, 0xc8, 0x00, 0x06, 0xca, 0x00, 0x00, 0x90, 0x01, 0x0c, 0xcc, 0x00, 0x0f, 0x20, 0x03, 0x30, 0x0f, 0xac, + 0x56, 0x2f, 0x20, 0x41, 0xa3, 0x10, 0x01, 0x0a, 0x04, 0x00, 0x01, 0xc6, 0x00, 0x08, 0xc8, 0x00, 0x00, 0xc2, 0x00, 0x02, 0x02, 0x00, 0x0c, 0xc4, + 0x00, 0x0f, 0x90, 0x01, 0x34, 0x00, 0x8a, 0x00, 0x0f, 0x01, 0x00, 0x2b, 0x20, 0x39, 0x83, 0x10, 0x01, 0x07, 0x04, 0x00, 0x0f, 0x20, 0x03, 0x62, + 0x00, 0x8a, 0x00, 0x0f, 0x01, 0x00, 0x2b, 0x0d, 0x64, 0x22, 0x00, 0x90, 0x01, 0x02, 0x34, 0x11, 0x00, 0xc2, 0x00, 0x02, 0x02, 0x00, 0x00, 0xc2, + 0x00, 0x02, 0x02, 0x00, 0x0e, 0xc6, 0x00, 0x06, 0xc8, 0x00, 0x01, 0xc4, 0x00, 0x00, 0x02, 0x00, 0x0b, 0xc2, 0x00, 0x00, 0x02, 0x00, 0x0f, 0x90, + 0x01, 0x4e, 0x01, 0xda, 0x0e, 0x00, 0x14, 0x01, 0x01, 0xa8, 0x02, 0x02, 0x08, 0x00, 0x03, 0x4a, 0x0d, 0x00, 0xc2, 0x00, 0x04, 0x02, 0x00, 0x00, + 0xc4, 0x00, 0x00, 0x02, 0x00, 0x00, 0x90, 0x01, 0x0c, 0xcc, 0x00, 0x0f, 0x20, 0x03, 0x30, 0x00, 0x88, 0x00, 0x0f, 0x01, 0x00, 0x2d, 0x00, 0x10, + 0x01, 0x0a, 0x04, 0x00, 0x03, 0xf2, 0x0a, 0x00, 0xc0, 0x00, 0x02, 0x02, 0x00, 0x00, 0xc2, 0x00, 0x02, 0x02, 0x00, 0x0c, 0xc4, 0x00, 0x0f, 0x90, + 0x01, 0x7f, 0x07, 0x04, 0x00, 0x0f, 0x58, 0x02, 0x0a, 0x0e, 0xca, 0x00, 0x00, 0xc4, 0x00, 0x04, 0x02, 0x00, 0x06, 0xc8, 0x00, 0x02, 0x02, 0x00, + 0x00, 0xc4, 0x00, 0x02, 0x02, 0x00, 0x0f, 0x20, 0x03, 0x08, 0x08, 0x4c, 0x42, 0x0f, 0x01, 0x00, 0x27, 0x00, 0x10, 0x01, 0x0a, 0x04, 0x00, 0x0f, + 0x90, 0x01, 0x5d, 0x0f, 0x7e, 0x0c, 0x2f, 0x00, 0x01, 0x00, 0x02, 0x14, 0x01, 0x02, 0xa8, 0x02, 0x02, 0x08, 0x00, 0x23, 0xff, 0x31, 0xb4, 0x00, + 0x04, 0x02, 0x00, 0x00, 0xb2, 0x00, 0x0a, 0x02, 0x00, 0x00, 0xb8, 0x00, 0x0c, 0x02, 0x00, 0x06, 0xc4, 0x00, 0x04, 0x02, 0x00, 0x00, 0xc2, 0x00, + 0x06, 0x02, 0x00, 0x00, 0x92, 0x01, 0x04, 0x94, 0x01, 0x01, 0x68, 0x00, 0x04, 0x08, 0x00, 0x0f, 0x64, 0x10, 0x2d, 0x02, 0x01, 0x00, 0x02, 0x14, + 0x01, 0x08, 0x04, 0x00, 0x03, 0x5e, 0x38, 0x00, 0x8a, 0x01, 0x02, 0x02, 0x00, 0x00, 0xd6, 0x00, 0x02, 0x02, 0x00, 0x0c, 0xd4, 0x00, 0x0f, 0x90, + 0x01, 0x32, 0x0f, 0x06, 0x07, 0x2f, 0x00, 0x01, 0x00, 0x03, 0x18, 0x01, 0x07, 0x04, 0x00, 0x00, 0x8c, 0x00, 0x02, 0x02, 0x00, 0x01, 0x92, 0x00, + 0x0f, 0x02, 0x00, 0x01, 0x00, 0x9c, 0x00, 0x0f, 0x02, 0x00, 0x07, 0x00, 0x78, 0x01, 0x00, 0x02, 0x00, 0x00, 0xb6, 0x00, 0x0f, 0x02, 0x00, 0x03, + 0x01, 0x68, 0x00, 0x04, 0x04, 0x00, 0x00, 0x86, 0x00, 0x0f, 0x01, 0x00, 0x2f, 0x02, 0x14, 0x01, 0x09, 0x04, 0x00, 0x11, 0xef, 0x6c, 0x01, 0x02, + 0x02, 0x00, 0x06, 0x70, 0x01, 0x06, 0x02, 0x00, 0x01, 0xe4, 0x00, 0x04, 0x02, 0x00, 0x01, 0xd8, 0x00, 0x0f, 0xda, 0x00, 0x03, 0x11, 0xed, 0x02, + 0x00, 0x00, 0xb8, 0x00, 0x08, 0x02, 0x00, 0x0d, 0x90, 0x01, 0x00, 0x86, 0x00, 0x0f, 0x01, 0x00, 0x2f, 0x02, 0x14, 0x01, 0x00, 0xa8, 0x02, 0x04, + 0x08, 0x00, 0x05, 0x9c, 0x00, 0x02, 0x02, 0x00, 0x00, 0x92, 0x00, 0x0f, 0x02, 0x00, 0x19, 0x00, 0x8a, 0x01, 0x08, 0x02, 0x00, 0x00, 0xbc, 0x00, + 0x0c, 0x02, 0x00, 0x01, 0x68, 0x00, 0x04, 0x08, 0x00, 0x00, 0x86, 0x00, 0x0f, 0x01, 0x00, 0x2f, 0x02, 0x14, 0x01, 0x09, 0x04, 0x00, 0x00, 0x7a, + 0x1e, 0x0a, 0x02, 0x00, 0x01, 0x7a, 0x01, 0x02, 0x02, 0x00, 0x01, 0xdc, 0x00, 0x04, 0x02, 0x00, 0x00, 0xb8, 0x00, 0x0f, 0x02, 0x00, 0x03, 0x0e, + 0x88, 0x01, 0x02, 0x02, 0x00, 0x00, 0x8e, 0x01, 0x00, 0x64, 0x00, 0x07, 0x04, 0x00, 0x00, 0x86, 0x00, 0x0f, 0x01, 0x00, 0x2f, 0x03, 0x18, 0x01, + 0x07, 0x04, 0x00, 0x00, 0xae, 0x00, 0x02, 0x02, 0x00, 0x01, 0xac, 0x00, 0x0f, 0x02, 0x00, 0x01, 0x00, 0xaa, 0x00, 0x0f, 0x02, 0x00, 0x07, 0x00, + 0x86, 0x01, 0x00, 0x02, 0x00, 0x00, 0xb8, 0x00, 0x0f, 0x02, 0x00, 0x03, 0x01, 0x68, 0x00, 0x04, 0x04, 0x00, 0x00, 0x86, 0x00, 0x0f, 0x01, 0x00, + 0x2f, 0x02, 0x14, 0x01, 0x09, 0x04, 0x00, 0x00, 0x42, 0x06, 0x04, 0x02, 0x00, 0x0f, 0x20, 0x03, 0xa8, 0x00, 0x5a, 0x02, 0x07, 0x02, 0x00, 0x00, + 0x92, 0x00, 0x0f, 0x02, 0x00, 0x19, 0x00, 0x8a, 0x01, 0x08, 0x02, 0x00, 0x00, 0xbc, 0x00, 0x0c, 0x02, 0x00, 0x02, 0x68, 0x00, 0x03, 0x08, 0x00, + 0x00, 0x86, 0x00, 0x0f, 0x01, 0x00, 0x2f, 0x02, 0x14, 0x01, 0x09, 0x04, 0x00, 0x00, 0x42, 0x06, 0x0a, 0x02, 0x00, 0x01, 0x7a, 0x01, 0x02, 0x02, + 0x00, 0x01, 0xdc, 0x00, 0x04, 0x02, 0x00, 0x00, 0xb8, 0x00, 0x0f, 0x02, 0x00, 0x03, 0x0e, 0x88, 0x01, 0x02, 0x02, 0x00, 0x00, 0x8e, 0x01, 0x00, + 0x64, 0x00, 0x06, 0x04, 0x00, 0x0f, 0x26, 0x0a, 0x32, 0x05, 0x90, 0x01, 0x08, 0x04, 0x00, 0x00, 0x8c, 0x13, 0x01, 0x02, 0x00, 0x01, 0xac, 0x00, + 0x0f, 0x02, 0x00, 0x01, 0x00, 0xaa, 0x00, 0x0f, 0x02, 0x00, 0x07, 0x00, 0x86, 0x01, 0x00, 0x02, 0x00, 0x00, 0xb8, 0x00, 0x0f, 0x02, 0x00, 0x03, + 0x02, 0x68, 0x00, 0x01, 0x04, 0x00, 0x11, 0xf6, 0xbe, 0x47, 0x0f, 0x01, 0x00, 0x2f, 0x01, 0x24, 0x01, 0x00, 0x18, 0x01, 0x06, 0x04, 0x00, 0x00, + 0xa6, 0x3a, 0x04, 0x02, 0x00, 0x0f, 0x20, 0x03, 0x4e, 0x20, 0xdd, 0xcb, 0x86, 0x00, 0x0f, 0x01, 0x00, 0x2f, 0x21, 0xf6, 0x6c, 0x18, 0x01, 0x07, + 0xb0, 0x02, 0x0f, 0x20, 0x03, 0x5b, 0x20, 0x7b, 0x25, 0x86, 0x00, 0x0f, 0x01, 0x00, 0x2f, 0x22, 0xfe, 0x8d, 0x18, 0x01, 0x07, 0x04, 0x00, 0x00, + 0x94, 0x53, 0x0a, 0x02, 0x00, 0x01, 0x7a, 0x01, 0x02, 0x02, 0x00, 0x01, 0xdc, 0x00, 0x04, 0x02, 0x00, 0x00, 0xb8, 0x00, 0x0f, 0x02, 0x00, 0x03, + 0x0e, 0x88, 0x01, 0x02, 0x02, 0x00, 0x00, 0x8e, 0x01, 0x00, 0x64, 0x00, 0x05, 0x04, 0x00, 0x0f, 0x68, 0x30, 0x29, 0x08, 0x01, 0x00, 0x0f, 0x70, + 0x54, 0x01, 0x00, 0xb0, 0x00, 0x00, 0x02, 0x00, 0x01, 0xac, 0x00, 0x0f, 0x02, 0x00, 0x01, 0x00, 0xaa, 0x00, 0x0f, 0x02, 0x00, 0x07, 0x00, 0x86, + 0x01, 0x00, 0x02, 0x00, 0x00, 0xb8, 0x00, 0x0f, 0x02, 0x00, 0x03, 0x03, 0x68, 0x00, 0x00, 0x04, 0x00, 0x00, 0x84, 0x00, 0x0f, 0x01, 0x00, 0x31, + 0x0b, 0x34, 0x2a, 0x01, 0x04, 0x00, 0x01, 0x1a, 0x03, 0x02, 0x02, 0x00, 0x0f, 0x20, 0x03, 0x4e, 0x00, 0x84, 0x00, 0x0f, 0x01, 0x00, 0x31, 0x03, + 0x90, 0x01, 0x05, 0xb0, 0x02, 0x0f, 0x20, 0x03, 0x5d, 0x00, 0x84, 0x00, 0x0f, 0x01, 0x00, 0x31, 0x0e, 0xd8, 0x39, 0x00, 0xde, 0x27, 0x0b, 0x02, + 0x00, 0x01, 0x7a, 0x01, 0x02, 0x02, 0x00, 0x01, 0xdc, 0x00, 0x04, 0x02, 0x00, 0x00, 0xb8, 0x00, 0x0f, 0x02, 0x00, 0x03, 0x0e, 0x88, 0x01, 0x02, + 0x02, 0x00, 0x00, 0x8e, 0x01, 0x01, 0x64, 0x00, 0x03, 0x04, 0x00, 0x0f, 0x06, 0x07, 0x34, 0x41, 0x00, 0x00, 0x94, 0x07, 0x18, 0x01, 0x09, 0x04, + 0x00, 0x00, 0xb0, 0x00, 0x00, 0x02, 0x00, 0x01, 0xac, 0x00, 0x0f, 0x02, 0x00, 0x01, 0x00, 0xaa, 0x00, 0x0f, 0x02, 0x00, 0x07, 0x00, 0x86, 0x01, + 0x00, 0x02, 0x00, 0x00, 0xb8, 0x00, 0x0f, 0x02, 0x00, 0x03, 0x03, 0x68, 0x00, 0x0f, 0x90, 0x01, 0x39, 0x21, 0xa4, 0x48, 0x18, 0x01, 0x09, 0x04, + 0x00, 0x01, 0x1a, 0x03, 0x02, 0x02, 0x00, 0x0f, 0x20, 0x03, 0x4d, 0x0f, 0x90, 0x01, 0x36, 0x03, 0x88, 0x65, 0x05, 0xb0, 0x02, 0x01, 0x08, 0x00, + 0x00, 0x9a, 0x00, 0x04, 0x02, 0x00, 0x00, 0x92, 0x00, 0x0f, 0x02, 0x00, 0x19, 0x00, 0x8a, 0x01, 0x08, 0x02, 0x00, 0x00, 0xbc, 0x00, 0x0c, 0x02, + 0x00, 0x04, 0x68, 0x00, 0x0f, 0x28, 0x2a, 0x2c, 0x08, 0x01, 0x00, 0x21, 0x7b, 0x46, 0x18, 0x01, 0x09, 0x04, 0x00, 0x01, 0x76, 0x01, 0x08, 0x02, + 0x00, 0x01, 0x7a, 0x01, 0x02, 0x02, 0x00, 0x01, 0xdc, 0x00, 0x04, 0x02, 0x00, 0x00, 0xb8, 0x00, 0x0f, 0x02, 0x00, 0x03, 0x0e, 0x88, 0x01, 0x02, + 0x02, 0x00, 0x00, 0x8e, 0x01, 0x01, 0x64, 0x00, 0x02, 0x04, 0x00, 0x0f, 0xb8, 0x2b, 0x2b, 0x08, 0x01, 0x00, 0x43, 0x52, 0x44, 0xf6, 0x6c, 0x1c, + 0x01, 0x06, 0x04, 0x00, 0x00, 0xa4, 0x00, 0x02, 0x02, 0x00, 0x00, 0x94, 0x00, 0x0f, 0x02, 0x00, 0x0f, 0x00, 0x78, 0x01, 0x04, 0x02, 0x00, 0x00, + 0xae, 0x00, 0x0f, 0x02, 0x00, 0x0d, 0x00, 0x64, 0x00, 0x02, 0x04, 0x00, 0x0f, 0x90, 0x01, 0x36, 0x42, 0x62, 0x84, 0xac, 0x88, 0x1c, 0x01, 0x06, + 0x04, 0x00, 0x01, 0x84, 0x01, 0x08, 0x02, 0x00, 0x01, 0x8a, 0x01, 0x02, 0x02, 0x00, 0x01, 0xde, 0x00, 0x04, 0x02, 0x00, 0x00, 0xc4, 0x00, 0x0f, + 0x02, 0x00, 0x03, 0x0f, 0x90, 0x01, 0x14, 0x0f, 0xf0, 0x2a, 0x2b, 0x08, 0x01, 0x00, 0x2f, 0x4a, 0x04, 0x00, 0x48, 0x00, 0x00, 0x8a, 0x00, 0x0f, + 0x02, 0x00, 0x19, 0x00, 0x88, 0x01, 0x0a, 0x02, 0x00, 0x00, 0xb4, 0x00, 0x0f, 0x02, 0x00, 0x07, 0x04, 0x68, 0x00, 0x0f, 0xb8, 0x2b, 0x2c, 0x08, + 0x01, 0x00, 0x2e, 0x52, 0x24, 0xdc, 0x6e, 0x01, 0x84, 0x01, 0x0f, 0x86, 0x01, 0x07, 0x00, 0x02, 0x00, 0x00, 0xbe, 0x00, 0x0f, 0x02, 0x00, 0x05, + 0x0f, 0xa6, 0x04, 0x01, 0x04, 0x02, 0x00, 0x00, 0x8e, 0x01, 0x01, 0x64, 0x00, 0x02, 0x04, 0x00, 0x0f, 0xf0, 0x2a, 0x2b, 0x08, 0x01, 0x00, 0x42, + 0x39, 0x82, 0x6a, 0xe5, 0x1c, 0x01, 0x07, 0x04, 0x00, 0x00, 0xaa, 0x00, 0x02, 0x02, 0x00, 0x00, 0x98, 0x00, 0x0f, 0x02, 0x00, 0x0f, 0x00, 0x82, + 0x01, 0x04, 0x02, 0x00, 0x00, 0xae, 0x00, 0x0f, 0x02, 0x00, 0x0d, 0x00, 0x64, 0x00, 0x01, 0x04, 0x00, 0x20, 0xb4, 0xc9, 0x84, 0x00, 0x0f, 0x01, + 0x00, 0x31, 0x0f, 0x6c, 0x70, 0x01, 0x03, 0x3c, 0x14, 0x02, 0x02, 0x00, 0x00, 0x46, 0x06, 0x08, 0x02, 0x00, 0x0c, 0x52, 0x06, 0x01, 0xb0, 0x01, + 0x00, 0x02, 0x00, 0x01, 0xf8, 0x00, 0x0e, 0xfa, 0x00, 0x0c, 0x9e, 0x01, 0x09, 0x90, 0x01, 0x0f, 0xf0, 0x2a, 0x2b, 0x0a, 0x01, 0x00, 0x26, 0x62, + 0xa5, 0xb0, 0x02, 0x02, 0x08, 0x00, 0x01, 0xb0, 0x00, 0x04, 0x02, 0x00, 0x0c, 0xb8, 0x00, 0x06, 0x02, 0x00, 0x01, 0xbe, 0x00, 0x00, 0x02, 0x00, + 0x01, 0xc0, 0x00, 0x06, 0x02, 0x00, 0x00, 0xbe, 0x00, 0x0c, 0x02, 0x00, 0x00, 0xaa, 0x01, 0x06, 0xac, 0x01, 0x03, 0x68, 0x00, 0x2f, 0xfe, 0xac, + 0x06, 0x40, 0x27, 0x0c, 0x01, 0x00, 0x2f, 0x29, 0x22, 0x90, 0x01, 0x69, 0x0f, 0x5a, 0x22, 0x2f, 0x06, 0x01, 0x00, 0x05, 0xb4, 0x1d, 0x05, 0x04, + 0x00, 0x0c, 0x00, 0x2d, 0x09, 0x02, 0x00, 0x08, 0xb4, 0x00, 0x08, 0x02, 0x00, 0x00, 0xb4, 0x00, 0x0c, 0x02, 0x00, 0x00, 0x84, 0x01, 0x06, 0x86, + 0x01, 0x06, 0x02, 0x00, 0x03, 0x68, 0x00, 0x0f, 0x90, 0x01, 0x39, 0x00, 0xb2, 0x04, 0x02, 0x1c, 0x01, 0x06, 0x04, 0x00, 0x0f, 0x90, 0x01, 0xa3, + 0x01, 0x34, 0x11, 0x03, 0xb0, 0x02, 0x03, 0x08, 0x00, 0x00, 0x90, 0x00, 0x04, 0x02, 0x00, 0x00, 0x8c, 0x00, 0x0f, 0x02, 0x00, 0x19, 0x00, 0x82, + 0x01, 0x08, 0x02, 0x00, 0x00, 0xbc, 0x00, 0x0c, 0x02, 0x00, 0x04, 0x68, 0x00, 0x1f, 0xac, 0xea, 0x23, 0x2f, 0x08, 0x01, 0x00, 0x02, 0x1c, 0x01, + 0x06, 0x04, 0x00, 0x01, 0x68, 0x01, 0x08, 0x02, 0x00, 0x01, 0x70, 0x01, 0x02, 0x02, 0x00, 0x01, 0xdc, 0x00, 0x04, 0x02, 0x00, 0x00, 0xb8, 0x00, + 0x0f, 0x02, 0x00, 0x03, 0x0a, 0x84, 0x01, 0x06, 0x02, 0x00, 0x00, 0x8e, 0x01, 0x01, 0x64, 0x00, 0x02, 0x04, 0x00, 0x0f, 0x48, 0x2d, 0x2d, 0x0a, + 0x01, 0x00, 0x02, 0x1c, 0x01, 0x07, 0x04, 0x00, 0x00, 0x8a, 0x00, 0x08, 0x02, 0x00, 0x00, 0x58, 0x01, 0x0f, 0x5a, 0x01, 0x03, 0x0f, 0x02, 0x00, + 0x23, 0x00, 0x64, 0x00, 0x01, 0x04, 0x00, 0x00, 0x7e, 0x00, 0x0f, 0x01, 0x00, 0x37, 0x02, 0x1c, 0x01, 0x06, 0x04, 0x00, 0x00, 0x78, 0x01, 0x00, + 0x02, 0x00, 0x01, 0x74, 0x01, 0x0a, 0x02, 0x00, 0x00, 0xd6, 0x00, 0x0f, 0x02, 0x00, 0x09, 0x0c, 0x0e, 0x03, 0x0c, 0x02, 0x00, 0x00, 0x8e, 0x01, + 0x01, 0x64, 0x00, 0x02, 0x04, 0x00, 0x00, 0x7e, 0x00, 0x0f, 0x01, 0x00, 0x37, 0x06, 0xb0, 0x02, 0x03, 0x08, 0x00, 0x0f, 0x02, 0x00, 0x4d, 0x04, + 0x68, 0x00, 0x0f, 0x90, 0x01, 0x3c, 0x0f, 0x30, 0x67, 0x00, 0x08, 0x02, 0x00, 0x0f, 0x62, 0x01, 0x0b, 0x0f, 0x02, 0x00, 0x13, 0x00, 0x86, 0x01, + 0x06, 0x02, 0x00, 0x02, 0x64, 0x00, 0x0f, 0xdc, 0x15, 0x36, 0x04, 0x01, 0x00, 0x20, 0xcd, 0x49, 0x1c, 0x01, 0x07, 0x04, 0x00, 0x00, 0x6c, 0x00, + 0x0f, 0x02, 0x00, 0x0d, 0x00, 0x9e, 0x00, 0x0f, 0x02, 0x00, 0x25, 0x00, 0x64, 0x00, 0x00, 0xd8, 0x2e, 0x0f, 0x6e, 0x37, 0x2a, 0x0e, 0x01, 0x00, + 0x23, 0xb4, 0xc9, 0x20, 0x01, 0x06, 0x04, 0x00, 0x0f, 0x02, 0x00, 0x0f, 0x00, 0x90, 0x00, 0x0f, 0x02, 0x00, 0x1b, 0x00, 0xfe, 0x00, 0x02, 0x02, + 0x00, 0x02, 0x64, 0x00, 0x1f, 0xcc, 0x02, 0x20, 0x33, 0x06, 0x01, 0x00, 0x24, 0x7b, 0x45, 0xb0, 0x02, 0x03, 0x08, 0x00, 0x00, 0x6c, 0x00, 0x0e, + 0x02, 0x00, 0x00, 0x8c, 0x00, 0x0f, 0x02, 0x00, 0x33, 0x03, 0x68, 0x00, 0x0f, 0x26, 0x0a, 0x39, 0x00, 0x01, 0x00, 0x22, 0x4a, 0x04, 0x20, 0x01, + 0x07, 0x04, 0x00, 0x0f, 0x02, 0x00, 0x0f, 0x00, 0x90, 0x00, 0x0f, 0x02, 0x00, 0x1b, 0x00, 0x0c, 0x01, 0x02, 0x02, 0x00, 0x02, 0x64, 0x00, 0x30, + 0xcc, 0x52, 0x44, 0x7e, 0x00, 0x0f, 0x01, 0x00, 0x39, 0x01, 0x24, 0x01, 0x06, 0x04, 0x00, 0x0f, 0x02, 0x00, 0x4d, 0x00, 0x64, 0x00, 0x3f, 0xac, + 0xfe, 0xcc, 0xd4, 0x47, 0x27, 0x0f, 0x01, 0x00, 0x05, 0x02, 0x20, 0x01, 0x04, 0x04, 0x00, 0x00, 0x3c, 0x06, 0x00, 0x02, 0x00, 0x01, 0x32, 0x06, + 0x0a, 0x02, 0x00, 0x00, 0x8a, 0x01, 0x0f, 0x02, 0x00, 0x09, 0x0f, 0x40, 0x06, 0x18, 0x2f, 0x8b, 0xc7, 0x96, 0x08, 0x3b, 0x00, 0x01, 0x00, 0x02, + 0xb0, 0x02, 0x00, 0x24, 0x01, 0x01, 0x08, 0x00, 0x0f, 0x02, 0x00, 0x4d, 0x01, 0x68, 0x00, 0x00, 0x78, 0x00, 0x0f, 0x01, 0x00, 0x3d, 0x01, 0x9e, + 0x16, 0x03, 0x28, 0x01, 0x01, 0x04, 0x00, 0x08, 0x02, 0x00, 0x0f, 0x62, 0x01, 0x0b, 0x0f, 0x02, 0x00, 0x13, 0x00, 0x86, 0x01, 0x06, 0x02, 0x00, + 0x01, 0x64, 0x00, 0x00, 0x78, 0x00, 0x0f, 0x01, 0x00, 0x3d, 0x1c, 0x72, 0xa4, 0x0f, 0x0f, 0x02, 0x00, 0x03, 0x00, 0x84, 0x00, 0x0f, 0x02, 0x00, + 0x13, 0x00, 0xbc, 0x00, 0x0f, 0x02, 0x00, 0x07, 0x3f, 0xac, 0xfe, 0xcd, 0x32, 0x38, 0x2d, 0x0f, 0x01, 0x00, 0x03, 0x22, 0x5a, 0x64, 0x24, 0x01, + 0x05, 0x04, 0x00, 0x08, 0x02, 0x00, 0x0f, 0x90, 0x01, 0x42, 0x00, 0x76, 0x00, 0x0f, 0x01, 0x00, 0x41, 0x00, 0x24, 0x01, 0x01, 0x72, 0x01, 0x02, + 0x08, 0x00, 0x0a, 0x02, 0x00, 0x00, 0x7c, 0x00, 0x0f, 0x02, 0x00, 0x11, 0x00, 0xb2, 0x00, 0x0f, 0x02, 0x00, 0x11, 0x1f, 0xac, 0xca, 0x07, 0x3d, + 0x06, 0x01, 0x00, 0x01, 0x74, 0x42, 0x02, 0x8c, 0x01, 0x00, 0x04, 0x00, 0x08, 0x02, 0x00, 0x0f, 0x90, 0x01, 0x40, 0x00, 0x72, 0x00, 0x0f, 0x01, + 0x00, 0x45, 0x01, 0x78, 0x01, 0x00, 0x8c, 0x01, 0x0f, 0x04, 0x00, 0x01, 0x00, 0x6c, 0x46, 0x02, 0x48, 0x2a, 0x0f, 0x02, 0x00, 0x11, 0x00, 0x0a, + 0x3c, 0x02, 0x38, 0x00, 0x0f, 0x04, 0x00, 0x02, 0x20, 0xe5, 0xea, 0x70, 0x00, 0x0f, 0x01, 0x00, 0x45, 0x40, 0x39, 0x83, 0x93, 0xe7, 0x2c, 0x01, + 0x0f, 0x04, 0x00, 0x0a, 0x00, 0x64, 0x0d, 0x00, 0xd0, 0x1d, 0x00, 0xc6, 0x43, 0x00, 0xfc, 0x39, 0x00, 0x70, 0x38, 0x06, 0x08, 0x00, 0x00, 0x3a, + 0x0e, 0x00, 0x26, 0x3f, 0x02, 0x2c, 0x00, 0x0f, 0x04, 0x00, 0x04, 0x2f, 0xf6, 0x8b, 0xca, 0x27, 0x33, 0x0f, 0x01, 0x00, 0x07, 0x03, 0x0c, 0x19, + 0x00, 0x04, 0x00, 0x04, 0x28, 0x03, 0x0c, 0x08, 0x00, 0x00, 0x24, 0x02, 0x00, 0xba, 0x21, 0x00, 0xb4, 0x00, 0x00, 0xfc, 0x39, 0x04, 0x04, 0x00, + 0x00, 0xd6, 0x00, 0x03, 0x7c, 0x7b, 0x01, 0x8c, 0x01, 0x04, 0x30, 0x00, 0x0f, 0x08, 0x00, 0x00, 0x0f, 0x2c, 0x38, 0x2d, 0x0f, 0x01, 0x00, 0x0f, + 0x20, 0x29, 0x02, 0x30, 0x01, 0x0f, 0x04, 0x00, 0x0c, 0x00, 0x62, 0x02, 0x00, 0xb4, 0x0f, 0x00, 0x4c, 0x11, 0x00, 0x84, 0x01, 0x04, 0x8c, 0x01, + 0x00, 0x04, 0x00, 0x00, 0xb6, 0x37, 0x0f, 0x90, 0x01, 0x0c, 0x20, 0x83, 0x86, 0x6a, 0x00, 0x0f, 0x01, 0x00, 0x4d, 0x41, 0x49, 0xe3, 0x4a, 0x04, + 0x38, 0x01, 0x0f, 0x04, 0x00, 0x44, 0x00, 0x64, 0x00, 0x0f, 0x01, 0x00, 0x55, 0x42, 0x39, 0x83, 0xfe, 0xad, 0x3c, 0x01, 0x0f, 0x04, 0x00, 0x3c, + 0x0f, 0xc6, 0x00, 0x5a, 0x00, 0x4c, 0x31, 0x20, 0xee, 0x2b, 0xc8, 0x02, 0x00, 0x40, 0x01, 0x0f, 0x08, 0x00, 0x37, 0x2f, 0xcd, 0x49, 0xae, 0x32, + 0x2f, 0x0f, 0x01, 0x00, 0x21, 0x03, 0x44, 0x01, 0x0f, 0x04, 0x00, 0x34, 0x00, 0x52, 0x00, 0x0f, 0x01, 0x00, 0x65, 0x05, 0x4c, 0x01, 0x0f, 0x04, + 0x00, 0x2d, 0x1f, 0xcc, 0x66, 0x45, 0x2b, 0x0f, 0x01, 0x00, 0x2f, 0x01, 0x88, 0x07, 0x01, 0x50, 0x01, 0x0f, 0x04, 0x00, 0x27, 0x0f, 0x64, 0x0c, + 0x3f, 0x0f, 0x01, 0x00, 0x21, 0x24, 0xa4, 0x48, 0x54, 0x01, 0x0f, 0x08, 0x00, 0x04, 0x04, 0x04, 0x00, 0x0f, 0x10, 0x00, 0x02, 0x02, 0xa2, 0x67, + 0x0f, 0x01, 0x00, 0x73, 0x40, 0x49, 0xe3, 0xbd, 0x09, 0x58, 0x01, 0x0f, 0x04, 0x00, 0x1d, 0x0f, 0x7c, 0x0f, 0x3f, 0x0f, 0x01, 0x00, 0x2b, 0x40, + 0x41, 0xc3, 0xa4, 0x68, 0x08, 0x00, 0x40, 0x00, 0x00, 0xbd, 0x09, 0x64, 0x01, 0x0f, 0x04, 0x00, 0x07, 0x01, 0xb8, 0x7b, 0x50, 0xcd, 0xfe, 0xac, + 0xbd, 0x09, 0x2e, 0x00, 0x0f, 0x01, 0x00, 0x7b, 0x00, 0x56, 0x01, 0x0c, 0x2c, 0x0c, 0x42, 0x31, 0x62, 0xbd, 0x29, 0x74, 0x01, 0x00, 0x04, 0x00, + 0x8f, 0x31, 0x42, 0x62, 0xa5, 0x73, 0x26, 0x62, 0xa5, 0xd8, 0x26, 0x35, 0x0f, 0x01, 0x00, 0xff, 0xe6, 0x10, 0xff, 0x05, 0x00, 0x0f, 0x01, 0x00, + 0x48, 0x10, 0xff, 0x01, 0x00, 0x10, 0x00, 0x02, 0x00, 0x0f, 0x01, 0x00, 0x36, 0x00, 0x52, 0x00, 0x06, 0x01, 0x00, 0x07, 0x12, 0x00, 0x00, 0x0b, + 0x00, 0x0f, 0x01, 0x00, 0x32, 0x00, 0x4d, 0x00, 0x09, 0x01, 0x00, 0x05, 0x14, 0x00, 0x00, 0x1e, 0x00, 0x0f, 0x01, 0x00, 0x30, 0x00, 0x4b, 0x00, + 0x0f, 0x01, 0x00, 0x06, 0x00, 0x21, 0x00, 0x0f, 0x01, 0x00, 0x18, 0x00, 0x33, 0x00, 0x04, 0x01, 0x00, 0x00, 0x10, 0x00, 0x02, 0x01, 0x00, 0x00, + 0x0e, 0x00, 0x0f, 0x01, 0x00, 0x0e, 0x00, 0x29, 0x00, 0x0f, 0x01, 0x00, 0x11, 0x00, 0x2c, 0x00, 0x06, 0x01, 0x00, 0x00, 0x12, 0x00, 0x01, 0x01, + 0x00, 0x00, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x07, 0x00, 0x22, 0x00, 0x0f, 0x01, 0x00, 0x15, 0x00, 0x30, 0x00, 0x0e, 0x01, 0x00, 0x0f, 0x17, 0x00, + 0x04, 0x08, 0x01, 0x00, 0x00, 0x3d, 0x00, 0x0f, 0x01, 0x00, 0x14, 0x00, 0x2f, 0x00, 0x0f, 0x01, 0x00, 0x1f, 0x00, 0x3a, 0x00, 0x0f, 0x01, 0x00, + 0x16, 0x00, 0x31, 0x00, 0x0f, 0x01, 0x00, 0x21, 0x00, 0x3c, 0x00, 0x0f, 0x01, 0x00, 0x13, 0x00, 0x2e, 0x00, 0x0f, 0x01, 0x00, 0x23, 0x00, 0x3e, + 0x00, 0x0f, 0x01, 0x00, 0x13, 0x00, 0x2e, 0x00, 0x0f, 0x01, 0x00, 0x24, 0x00, 0x3f, 0x00, 0x0f, 0x01, 0x00, 0x10, 0x00, 0x2b, 0x00, 0x0f, 0x01, + 0x00, 0x28, 0x00, 0x43, 0x00, 0x0f, 0x01, 0x00, 0x0e, 0x00, 0x29, 0x00, 0x0f, 0x01, 0x00, 0x28, 0x00, 0x43, 0x00, 0x0f, 0x01, 0x00, 0x0d, 0x00, + 0x28, 0x00, 0x0f, 0x01, 0x00, 0x29, 0x00, 0x44, 0x00, 0x0f, 0x01, 0x00, 0x0d, 0x00, 0x28, 0x00, 0x0f, 0x01, 0x00, 0x29, 0x00, 0x44, 0x00, 0x0f, + 0x01, 0x00, 0x0c, 0x00, 0x27, 0x00, 0x0f, 0x01, 0x00, 0x2a, 0x00, 0x45, 0x00, 0x0f, 0x01, 0x00, 0x0c, 0x00, 0x27, 0x00, 0x0f, 0x01, 0x00, 0x2a, + 0x00, 0x45, 0x00, 0x0f, 0x01, 0x00, 0x0c, 0x00, 0x27, 0x00, 0x0f, 0x01, 0x00, 0x2a, 0x00, 0x45, 0x00, 0x0f, 0x01, 0x00, 0x0b, 0x00, 0x26, 0x00, + 0x0f, 0x01, 0x00, 0x2b, 0x00, 0x46, 0x00, 0x0f, 0x01, 0x00, 0x0b, 0x00, 0x26, 0x00, 0x0f, 0x01, 0x00, 0x2b, 0x00, 0x46, 0x00, 0x0f, 0x01, 0x00, + 0x0b, 0x00, 0x26, 0x00, 0x0f, 0x01, 0x00, 0x2b, 0x00, 0x46, 0x00, 0x0f, 0x01, 0x00, 0x0b, 0x00, 0x26, 0x00, 0x0f, 0x01, 0x00, 0x2b, 0x00, 0x46, + 0x00, 0x0f, 0x01, 0x00, 0x0b, 0x00, 0x26, 0x00, 0x0f, 0x01, 0x00, 0x2b, 0x00, 0x46, 0x00, 0x0f, 0x01, 0x00, 0x0b, 0x00, 0x26, 0x00, 0x0f, 0x01, + 0x00, 0x2b, 0x00, 0x46, 0x00, 0x0f, 0x01, 0x00, 0x0b, 0x00, 0x26, 0x00, 0x0f, 0x01, 0x00, 0x2b, 0x00, 0x46, 0x00, 0x0f, 0x01, 0x00, 0x0b, 0x00, + 0x26, 0x00, 0x0f, 0x01, 0x00, 0x2b, 0x00, 0x46, 0x00, 0x0f, 0x01, 0x00, 0x0b, 0x00, 0x26, 0x00, 0x0f, 0x01, 0x00, 0x2b, 0x00, 0x46, 0x00, 0x0f, + 0x01, 0x00, 0x05, 0x00, 0x20, 0x00, 0x0f, 0x01, 0x00, 0x34, 0x00, 0x4f, 0x00, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x0f, 0x01, 0x00, 0x39, + 0x00, 0x54, 0x00, 0x0a, 0x01, 0x00, 0x00, 0x16, 0x00, 0x0f, 0x01, 0x00, 0x3c, 0x00, 0x57, 0x00, 0x08, 0x01, 0x00, 0x00, 0x14, 0x00, 0x0f, 0x01, + 0x00, 0x3d, 0x00, 0x58, 0x00, 0x06, 0x01, 0x00, 0x00, 0x12, 0x00, 0x0f, 0x01, 0x00, 0x42, 0x00, 0x5d, 0x00, 0x02, 0x01, 0x00, 0x00, 0x0e, 0x00, + 0x0f, 0x01, 0x00, 0x43, 0x00, 0x5e, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x45, 0x00, 0x60, 0x00, 0x0f, 0x63, 0x00, 0x4c, + 0x04, 0x65, 0x00, 0x00, 0x0a, 0x00, 0x0f, 0x01, 0x00, 0x47, 0x00, 0x62, 0x00, 0x0f, 0x63, 0x00, 0x4c, 0x0f, 0x64, 0x00, 0xb6, 0x00, 0x65, 0x00, + 0x00, 0x07, 0x00, 0x0f, 0x01, 0x00, 0x4a, 0x0f, 0x64, 0x00, 0xb5, 0x1f, 0xff, 0x64, 0x00, 0xff, 0xff, 0xff, 0xd7, 0x0f, 0x4c, 0x04, 0x51, 0x0f, + 0xdc, 0x05, 0x54, 0x0f, 0x64, 0x00, 0x4d, 0x00, 0x63, 0x00, 0x0f, 0x64, 0x00, 0x52, 0x0f, 0x65, 0x00, 0x4b, 0x00, 0x61, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x45, 0x00, 0x60, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x45, 0x00, 0x60, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x44, 0x00, 0x5f, 0x00, 0x03, 0x01, 0x00, 0x00, 0x0f, 0x00, 0x0f, 0x01, 0x00, 0x42, 0x00, 0x5d, + 0x00, 0x04, 0x01, 0x00, 0x00, 0x10, 0x00, 0x0f, 0x01, 0x00, 0x3e, 0x00, 0x59, 0x00, 0x08, 0x01, 0x00, 0x00, 0x14, 0x00, 0x0f, 0x01, 0x00, 0x3c, + 0x00, 0x57, 0x00, 0x0a, 0x01, 0x00, 0x00, 0x16, 0x00, 0x0f, 0x01, 0x00, 0x3a, 0x00, 0x55, 0x00, 0x0c, 0x01, 0x00, 0x00, 0x18, 0x00, 0x0f, 0x01, + 0x00, 0x39, 0x00, 0x54, 0x00, 0x0d, 0x01, 0x00, 0x00, 0x19, 0x00, 0x0f, 0x01, 0x00, 0x35, 0x00, 0x50, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x00, 0x1d, + 0x00, 0x0f, 0x01, 0x00, 0x33, 0x00, 0x4e, 0x00, 0x0f, 0x01, 0x00, 0x05, 0x00, 0x20, 0x00, 0x0f, 0x01, 0x00, 0x31, 0x00, 0x4c, 0x00, 0x0f, 0x01, + 0x00, 0x05, 0x00, 0x20, 0x00, 0x0f, 0x01, 0x00, 0x31, 0x00, 0x4c, 0x00, 0x0f, 0x01, 0x00, 0x05, 0x00, 0x20, 0x00, 0x0f, 0x01, 0x00, 0x31, 0x00, + 0x4c, 0x00, 0x0f, 0x01, 0x00, 0x05, 0x00, 0x20, 0x00, 0x0f, 0x01, 0x00, 0x31, 0x00, 0x4c, 0x00, 0x0f, 0x01, 0x00, 0x05, 0x00, 0x20, 0x00, 0x0f, + 0x01, 0x00, 0x31, 0x00, 0x4c, 0x00, 0x0f, 0x01, 0x00, 0x05, 0x00, 0x20, 0x00, 0x0f, 0x01, 0x00, 0x31, 0x00, 0x4c, 0x00, 0x0f, 0x01, 0x00, 0x05, + 0x00, 0x20, 0x00, 0x0f, 0x01, 0x00, 0x31, 0x00, 0x4c, 0x00, 0x0f, 0x01, 0x00, 0x05, 0x00, 0x20, 0x00, 0x0f, 0x01, 0x00, 0x31, 0x00, 0x4c, 0x00, + 0x0f, 0x01, 0x00, 0x06, 0x00, 0x21, 0x00, 0x0f, 0x01, 0x00, 0x30, 0x00, 0x4b, 0x00, 0x0f, 0x01, 0x00, 0x06, 0x00, 0x21, 0x00, 0x0f, 0x01, 0x00, + 0x30, 0x00, 0x4b, 0x00, 0x0f, 0x01, 0x00, 0x06, 0x00, 0x21, 0x00, 0x0f, 0x01, 0x00, 0x30, 0x00, 0x4b, 0x00, 0x0f, 0x01, 0x00, 0x06, 0x00, 0x21, + 0x00, 0x0f, 0x01, 0x00, 0x30, 0x00, 0x4b, 0x00, 0x0f, 0x01, 0x00, 0x06, 0x00, 0x21, 0x00, 0x0f, 0x01, 0x00, 0x2f, 0x00, 0x4a, 0x00, 0x0f, 0x01, + 0x00, 0x07, 0x00, 0x22, 0x00, 0x0f, 0x01, 0x00, 0x30, 0x00, 0x4b, 0x00, 0x0f, 0x01, 0x00, 0x06, 0x00, 0x21, 0x00, 0x0f, 0x01, 0x00, 0x2f, 0x00, + 0x4a, 0x00, 0x0f, 0x01, 0x00, 0x07, 0x00, 0x22, 0x00, 0x0f, 0x01, 0x00, 0x2f, 0x00, 0x4a, 0x00, 0x0f, 0x01, 0x00, 0x07, 0x00, 0x22, 0x00, 0x0f, + 0x01, 0x00, 0x2f, 0x00, 0x4a, 0x00, 0x0f, 0x01, 0x00, 0x07, 0x00, 0x22, 0x00, 0x0f, 0x01, 0x00, 0x2f, 0x00, 0x4a, 0x00, 0x0f, 0x01, 0x00, 0x07, + 0x00, 0x22, 0x00, 0x0f, 0x01, 0x00, 0x2f, 0x00, 0x4a, 0x00, 0x0f, 0x01, 0x00, 0x07, 0x00, 0x22, 0x00, 0x0f, 0x01, 0x00, 0x2f, 0x00, 0x4a, 0x00, + 0x0f, 0x01, 0x00, 0x07, 0x00, 0x22, 0x00, 0x0f, 0x01, 0x00, 0x2f, 0x00, 0x4a, 0x00, 0x0f, 0x01, 0x00, 0x07, 0x00, 0x22, 0x00, 0x0f, 0x01, 0x00, + 0x2f, 0x00, 0x4a, 0x00, 0x0f, 0x01, 0x00, 0x07, 0x00, 0x22, 0x00, 0x0f, 0x01, 0x00, 0x2f, 0x00, 0x4a, 0x00, 0x0f, 0x01, 0x00, 0x07, 0x00, 0x22, + 0x00, 0x0f, 0x01, 0x00, 0x2f, 0x00, 0x4a, 0x00, 0x0f, 0x01, 0x00, 0x07, 0x00, 0x22, 0x00, 0x0f, 0x01, 0x00, 0x2f, 0x00, 0x4a, 0x00, 0x0f, 0x01, + 0x00, 0x07, 0x00, 0x22, 0x00, 0x0f, 0x01, 0x00, 0x2f, 0x00, 0x4a, 0x00, 0x0f, 0x01, 0x00, 0x07, 0x00, 0x22, 0x00, 0x0f, 0x01, 0x00, 0x2f, 0x00, + 0x4a, 0x00, 0x0f, 0x01, 0x00, 0x07, 0x00, 0x22, 0x00, 0x0f, 0x01, 0x00, 0x2f, 0x00, 0x4a, 0x00, 0x0f, 0x01, 0x00, 0x08, 0x00, 0x23, 0x00, 0x0f, + 0x01, 0x00, 0x2e, 0x00, 0x49, 0x00, 0x0f, 0x01, 0x00, 0x07, 0x00, 0x22, 0x00, 0x0f, 0x01, 0x00, 0x2f, 0x00, 0x4a, 0x00, 0x0f, 0x01, 0x00, 0x08, + 0x00, 0x23, 0x00, 0x0f, 0x01, 0x00, 0x2e, 0x00, 0x49, 0x00, 0x0f, 0x01, 0x00, 0x08, 0x00, 0x23, 0x00, 0x0f, 0x01, 0x00, 0x2e, 0x00, 0x49, 0x00, + 0x0f, 0x01, 0x00, 0x08, 0x00, 0x23, 0x00, 0x0f, 0x01, 0x00, 0x2e, 0x00, 0x49, 0x00, 0x0f, 0x01, 0x00, 0x08, 0x00, 0x23, 0x00, 0x0f, 0x01, 0x00, + 0x2e, 0x00, 0x49, 0x00, 0x0f, 0x01, 0x00, 0x08, 0x00, 0x23, 0x00, 0x0f, 0x01, 0x00, 0x2e, 0x00, 0x49, 0x00, 0x0f, 0x01, 0x00, 0x08, 0x00, 0x23, + 0x00, 0x0f, 0x01, 0x00, 0x2e, 0x00, 0x49, 0x00, 0x0f, 0x01, 0x00, 0x08, 0x00, 0x23, 0x00, 0x0f, 0x01, 0x00, 0x2e, 0x00, 0x49, 0x00, 0x0f, 0x01, + 0x00, 0x08, 0x00, 0x23, 0x00, 0x0f, 0x01, 0x00, 0x2d, 0x00, 0x48, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x00, 0x24, 0x00, 0x0f, 0x01, 0x00, 0x2d, 0x00, + 0x48, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x00, 0x24, 0x00, 0x0f, 0x01, 0x00, 0x2d, 0x00, 0x48, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x00, 0x24, 0x00, 0x0f, + 0x01, 0x00, 0x2d, 0x00, 0x48, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x00, 0x24, 0x00, 0x0f, 0x01, 0x00, 0x2d, 0x00, 0x48, 0x00, 0x0f, 0x01, 0x00, 0x09, + 0x00, 0x24, 0x00, 0x0f, 0x01, 0x00, 0x2d, 0x00, 0x48, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x00, 0x24, 0x00, 0x0f, 0x01, 0x00, 0x2d, 0x00, 0x48, 0x00, + 0x0f, 0x01, 0x00, 0x09, 0x00, 0x24, 0x00, 0x0f, 0x01, 0x00, 0x2d, 0x00, 0x48, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x00, 0x24, 0x00, 0x0f, 0x01, 0x00, + 0x2d, 0x00, 0x48, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x00, 0x24, 0x00, 0x0f, 0x01, 0x00, 0x2d, 0x00, 0x48, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x00, 0x24, + 0x00, 0x0f, 0x01, 0x00, 0x2d, 0x00, 0x48, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x00, 0x24, 0x00, 0x0f, 0x01, 0x00, 0x2d, 0x00, 0x48, 0x00, 0x0f, 0x01, + 0x00, 0x09, 0x00, 0x24, 0x00, 0x0f, 0x01, 0x00, 0x2c, 0x00, 0x47, 0x00, 0x0f, 0x01, 0x00, 0x0a, 0x00, 0x25, 0x00, 0x0f, 0x01, 0x00, 0x2c, 0x00, + 0x47, 0x00, 0x0f, 0x01, 0x00, 0x0a, 0x00, 0x25, 0x00, 0x0f, 0x01, 0x00, 0x2c, 0x00, 0x47, 0x00, 0x0f, 0x01, 0x00, 0x0b, 0x00, 0x26, 0x00, 0x0f, + 0x01, 0x00, 0x2b, 0x00, 0x46, 0x00, 0x0f, 0x01, 0x00, 0x0b, 0x00, 0x26, 0x00, 0x0f, 0x01, 0x00, 0x2b, 0x00, 0x46, 0x00, 0x0f, 0x01, 0x00, 0x0b, + 0x00, 0x26, 0x00, 0x0f, 0x01, 0x00, 0x2b, 0x00, 0x46, 0x00, 0x0f, 0x01, 0x00, 0x0b, 0x00, 0x26, 0x00, 0x0f, 0x01, 0x00, 0x2b, 0x00, 0x46, 0x00, + 0x0f, 0x01, 0x00, 0x0b, 0x00, 0x26, 0x00, 0x0f, 0x01, 0x00, 0x2b, 0x00, 0x46, 0x00, 0x0f, 0x01, 0x00, 0x0b, 0x00, 0x26, 0x00, 0x0f, 0x01, 0x00, + 0x2b, 0x00, 0x46, 0x00, 0x0f, 0x01, 0x00, 0x0b, 0x00, 0x26, 0x00, 0x0f, 0x01, 0x00, 0x2a, 0x00, 0x45, 0x00, 0x0f, 0x01, 0x00, 0x0c, 0x00, 0x27, + 0x00, 0x0f, 0x01, 0x00, 0x2a, 0x00, 0x45, 0x00, 0x0f, 0x01, 0x00, 0x0c, 0x00, 0x27, 0x00, 0x0f, 0x01, 0x00, 0x2a, 0x00, 0x45, 0x00, 0x0f, 0x01, + 0x00, 0x0c, 0x00, 0x27, 0x00, 0x0f, 0x01, 0x00, 0x2a, 0x00, 0x45, 0x00, 0x0f, 0x01, 0x00, 0x0c, 0x00, 0x27, 0x00, 0x0f, 0x01, 0x00, 0x2a, 0x00, + 0x45, 0x00, 0x0f, 0x01, 0x00, 0x0c, 0x00, 0x27, 0x00, 0x0f, 0x01, 0x00, 0x2a, 0x00, 0x45, 0x00, 0x0f, 0x01, 0x00, 0x0c, 0x00, 0x27, 0x00, 0x0f, + 0x01, 0x00, 0x2a, 0x00, 0x45, 0x00, 0x0f, 0x01, 0x00, 0x0c, 0x00, 0x27, 0x00, 0x0f, 0x01, 0x00, 0x2a, 0x00, 0x45, 0x00, 0x0f, 0x01, 0x00, 0x0c, + 0x00, 0x27, 0x00, 0x0f, 0x01, 0x00, 0x2a, 0x00, 0x45, 0x00, 0x0f, 0x01, 0x00, 0x0c, 0x00, 0x27, 0x00, 0x0f, 0x01, 0x00, 0x2a, 0x00, 0x45, 0x00, + 0x0f, 0x01, 0x00, 0x0c, 0x00, 0x27, 0x00, 0x0f, 0x01, 0x00, 0x2a, 0x00, 0x45, 0x00, 0x0f, 0x01, 0x00, 0x0c, 0x00, 0x27, 0x00, 0x0f, 0x01, 0x00, + 0x2a, 0x00, 0x45, 0x00, 0x0f, 0x01, 0x00, 0x0c, 0x00, 0x27, 0x00, 0x0f, 0x01, 0x00, 0x29, 0x00, 0x44, 0x00, 0x0f, 0x01, 0x00, 0x0d, 0x00, 0x28, + 0x00, 0x0f, 0x01, 0x00, 0x29, 0x00, 0x44, 0x00, 0x0f, 0x01, 0x00, 0x0d, 0x00, 0x28, 0x00, 0x0f, 0x01, 0x00, 0x29, 0x00, 0x44, 0x00, 0x0f, 0x01, + 0x00, 0x0d, 0x00, 0x28, 0x00, 0x0f, 0x01, 0x00, 0x29, 0x00, 0x44, 0x00, 0x0f, 0x01, 0x00, 0x0d, 0x00, 0x28, 0x00, 0x0f, 0x01, 0x00, 0x29, 0x00, + 0x44, 0x00, 0x0f, 0x01, 0x00, 0x0d, 0x00, 0x28, 0x00, 0x0f, 0x01, 0x00, 0x29, 0x00, 0x44, 0x00, 0x0f, 0x01, 0x00, 0x0d, 0x00, 0x28, 0x00, 0x0f, + 0x01, 0x00, 0x29, 0x00, 0x44, 0x00, 0x0f, 0x01, 0x00, 0x0d, 0x00, 0x28, 0x00, 0x0f, 0x01, 0x00, 0x29, 0x00, 0x44, 0x00, 0x0f, 0x01, 0x00, 0x0d, + 0x00, 0x28, 0x00, 0x0f, 0x01, 0x00, 0x29, 0x00, 0x44, 0x00, 0x0f, 0x01, 0x00, 0x0d, 0x00, 0x28, 0x00, 0x0f, 0x01, 0x00, 0x29, 0x00, 0x44, 0x00, + 0x0f, 0x01, 0x00, 0x0d, 0x00, 0x28, 0x00, 0x0f, 0x01, 0x00, 0x29, 0x00, 0x44, 0x00, 0x0f, 0x01, 0x00, 0x0d, 0x00, 0x28, 0x00, 0x0f, 0x01, 0x00, + 0x29, 0x00, 0x44, 0x00, 0x0f, 0x01, 0x00, 0x0d, 0x00, 0x28, 0x00, 0x0f, 0x01, 0x00, 0x29, 0x00, 0x44, 0x00, 0x0f, 0x01, 0x00, 0x0d, 0x00, 0x28, + 0x00, 0x0f, 0x01, 0x00, 0x29, 0x00, 0x44, 0x00, 0x0f, 0x01, 0x00, 0x0e, 0x00, 0x29, 0x00, 0x0f, 0x01, 0x00, 0x28, 0x00, 0x43, 0x00, 0x0f, 0x01, + 0x00, 0x0d, 0x00, 0x28, 0x00, 0x0f, 0x01, 0x00, 0x29, 0x00, 0x44, 0x00, 0x0f, 0x01, 0x00, 0x0e, 0x00, 0x29, 0x00, 0x0f, 0x01, 0x00, 0x28, 0x00, + 0x43, 0x00, 0x0f, 0x01, 0x00, 0x0e, 0x00, 0x29, 0x00, 0x0f, 0x01, 0x00, 0x28, 0x00, 0x43, 0x00, 0x0f, 0x01, 0x00, 0x0f, 0x00, 0x2a, 0x00, 0x0f, + 0x01, 0x00, 0x27, 0x00, 0x42, 0x00, 0x0f, 0x01, 0x00, 0x0f, 0x00, 0x2a, 0x00, 0x0f, 0x01, 0x00, 0x27, 0x00, 0x42, 0x00, 0x0f, 0x01, 0x00, 0x0f, + 0x00, 0x2a, 0x00, 0x0f, 0x01, 0x00, 0x26, 0x00, 0x41, 0x00, 0x0f, 0x01, 0x00, 0x10, 0x00, 0x2b, 0x00, 0x0f, 0x01, 0x00, 0x26, 0x00, 0x41, 0x00, + 0x0f, 0x01, 0x00, 0x10, 0x00, 0x2b, 0x00, 0x0f, 0x01, 0x00, 0x26, 0x00, 0x41, 0x00, 0x0f, 0x01, 0x00, 0x10, 0x00, 0x2b, 0x00, 0x0f, 0x01, 0x00, + 0x26, 0x00, 0x41, 0x00, 0x0f, 0x01, 0x00, 0x10, 0x00, 0x2b, 0x00, 0x0f, 0x01, 0x00, 0x26, 0x00, 0x41, 0x00, 0x0f, 0x01, 0x00, 0x10, 0x00, 0x2b, + 0x00, 0x0f, 0x01, 0x00, 0x26, 0x00, 0x41, 0x00, 0x0f, 0x01, 0x00, 0x10, 0x00, 0x2b, 0x00, 0x0f, 0x01, 0x00, 0x26, 0x00, 0x41, 0x00, 0x0f, 0x01, + 0x00, 0x10, 0x00, 0x2b, 0x00, 0x0f, 0x01, 0x00, 0x26, 0x00, 0x41, 0x00, 0x0f, 0x01, 0x00, 0x11, 0x00, 0x2c, 0x00, 0x0f, 0x01, 0x00, 0x25, 0x00, + 0x40, 0x00, 0x0f, 0x01, 0x00, 0x11, 0x00, 0x2c, 0x00, 0x0f, 0x01, 0x00, 0x25, 0x00, 0x40, 0x00, 0x0f, 0x01, 0x00, 0x11, 0x00, 0x2c, 0x00, 0x0f, + 0x01, 0x00, 0x23, 0x00, 0x3e, 0x00, 0x0f, 0x01, 0x00, 0x13, 0x00, 0x2e, 0x00, 0x0f, 0x01, 0x00, 0x23, 0x00, 0x3e, 0x00, 0x0f, 0x01, 0x00, 0x13, + 0x00, 0x2e, 0x00, 0x0f, 0x01, 0x00, 0x23, 0x00, 0x3e, 0x00, 0x0f, 0x01, 0x00, 0x13, 0x00, 0x2e, 0x00, 0x0f, 0x01, 0x00, 0x22, 0x00, 0x3d, 0x00, + 0x0f, 0x01, 0x00, 0x15, 0x00, 0x30, 0x00, 0x0f, 0x01, 0x00, 0x21, 0x00, 0x3c, 0x00, 0x0f, 0x01, 0x00, 0x15, 0x00, 0x30, 0x00, 0x0f, 0x01, 0x00, + 0x20, 0x00, 0x3b, 0x00, 0x0f, 0x01, 0x00, 0x17, 0x00, 0x32, 0x00, 0x0f, 0x01, 0x00, 0x1f, 0x00, 0x3a, 0x00, 0x0f, 0x01, 0x00, 0x17, 0x00, 0x32, + 0x00, 0x0f, 0x01, 0x00, 0x1f, 0x00, 0x3a, 0x00, 0x0f, 0x01, 0x00, 0x18, 0x00, 0x33, 0x00, 0x0f, 0x01, 0x00, 0x1d, 0x00, 0x38, 0x00, 0x0f, 0x01, + 0x00, 0x19, 0x00, 0x34, 0x00, 0x0f, 0x01, 0x00, 0x1c, 0x00, 0x37, 0x00, 0x0f, 0x01, 0x00, 0x1b, 0x00, 0x36, 0x00, 0x0f, 0x01, 0x00, 0x19, 0x00, + 0x34, 0x00, 0x0f, 0x01, 0x00, 0x1f, 0x00, 0x3a, 0x00, 0x0f, 0x01, 0x00, 0x16, 0x00, 0x31, 0x00, 0x0f, 0x01, 0x00, 0x20, 0x00, 0x3b, 0x00, 0x0f, + 0x01, 0x00, 0x16, 0x00, 0x31, 0x00, 0x0f, 0x01, 0x00, 0x23, 0x00, 0x3e, 0x00, 0x0f, 0x01, 0x00, 0x10, 0x00, 0x2b, 0x00, 0x0f, 0x01, 0x00, 0x27, + 0x00, 0x42, 0x00, 0x0f, 0x01, 0x00, 0x0f, 0x00, 0x2a, 0x00, 0x0f, 0x01, 0x00, 0x28, 0x00, 0x43, 0x00, 0x0f, 0x01, 0x00, 0x0c, 0x00, 0x27, 0x00, + 0x0f, 0x01, 0x00, 0x2b, 0x00, 0x46, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x00, 0x24, 0x00, 0x0f, 0x01, 0x00, 0x2e, 0x00, 0x49, 0x00, 0x0f, 0x01, 0x00, + 0x06, 0x00, 0x21, 0x00, 0x0f, 0x01, 0x00, 0x30, 0x01, 0x49, 0x00, 0x00, 0x50, 0x00, 0x0d, 0x01, 0x00, 0x00, 0x1e, 0x00, 0x0f, 0x01, 0x00, 0x32, + 0x06, 0x75, 0x48, 0x00, 0x57, 0x00, 0x04, 0x01, 0x00, 0x00, 0x10, 0x00, 0x0f, 0x01, 0x00, 0xdb, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +static const uint8_t fortune_question[] = { + 0x1f, 0x00, 0x01, 0x00, 0x38, 0xc0, 0xfe, 0x8e, 0xfe, 0x8d, 0xed, 0xcb, 0xee, 0x0b, 0xed, 0xcb, 0xfe, 0xaf, 0x10, 0x00, 0x0f, 0x01, 0x00, 0x11, + 0x01, 0x30, 0x00, 0x52, 0xca, 0xee, 0x0b, 0xed, 0xaa, 0x08, 0x00, 0x20, 0xf6, 0x6e, 0x16, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x21, 0xf6, 0x2c, 0x2c, + 0x00, 0x38, 0xa9, 0xed, 0xcb, 0x08, 0x00, 0x20, 0xee, 0x2c, 0x1c, 0x00, 0x0f, 0x01, 0x00, 0x05, 0x62, 0xf6, 0x2c, 0xed, 0xca, 0xf6, 0x2c, 0x6c, + 0x00, 0x0a, 0x08, 0x00, 0x00, 0x1e, 0x00, 0x0f, 0x01, 0x00, 0x03, 0x03, 0x5c, 0x00, 0x0f, 0x04, 0x00, 0x02, 0x0f, 0x38, 0x00, 0x05, 0x03, 0x9c, + 0x00, 0x04, 0xd0, 0x00, 0x11, 0xcb, 0x14, 0x00, 0x15, 0x4d, 0x10, 0x00, 0x10, 0xca, 0x10, 0x00, 0x0c, 0x01, 0x00, 0x21, 0xfe, 0x8d, 0x1c, 0x00, + 0x00, 0x58, 0x00, 0x50, 0xaa, 0xee, 0x0b, 0xf6, 0x6d, 0x14, 0x00, 0x00, 0x01, 0x00, 0x03, 0x34, 0x00, 0x50, 0xa9, 0xed, 0xcb, 0xf6, 0x2d, 0x10, + 0x00, 0x0a, 0x01, 0x00, 0x04, 0xc0, 0x00, 0x00, 0x08, 0x00, 0x00, 0x10, 0x00, 0x04, 0x01, 0x00, 0x25, 0xfe, 0xaf, 0x18, 0x00, 0x10, 0x4d, 0x10, + 0x00, 0x08, 0x01, 0x00, 0x00, 0x92, 0x00, 0x00, 0x50, 0x00, 0x0f, 0xc0, 0x00, 0x01, 0x02, 0x18, 0x00, 0x00, 0x84, 0x00, 0x00, 0x0e, 0x00, 0x08, + 0x01, 0x00, 0x00, 0x3c, 0x01, 0x02, 0x8c, 0x00, 0x0e, 0x9c, 0x01, 0x02, 0x18, 0x00, 0x00, 0x20, 0x00, 0x00, 0x0e, 0x00, 0x08, 0x01, 0x00, 0x20, + 0xed, 0xcb, 0x4c, 0x00, 0x00, 0x20, 0x00, 0x00, 0x0e, 0x00, 0x0a, 0x01, 0x00, 0x01, 0x18, 0x00, 0x0f, 0x6c, 0x00, 0x02, 0x00, 0x38, 0x00, 0x00, + 0xc0, 0x00, 0x00, 0x0a, 0x00, 0x0c, 0x01, 0x00, 0x00, 0x18, 0x00, 0x00, 0x6c, 0x00, 0x0a, 0xf0, 0x00, 0x0f, 0x01, 0x00, 0x0d, 0x01, 0x68, 0x00, + 0x01, 0x04, 0x00, 0x00, 0x0e, 0x00, 0x0f, 0x01, 0x00, 0x13, 0x20, 0xfe, 0x8d, 0xb8, 0x00, 0x0f, 0x6c, 0x00, 0x1d, 0x03, 0xfc, 0x01, 0x10, 0xa9, + 0xa6, 0x00, 0x00, 0x10, 0x00, 0x0f, 0x01, 0x00, 0x13, 0x02, 0xf0, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x0e, 0x00, 0x0f, 0x01, 0x00, 0x13, 0x20, 0xfe, + 0xae, 0xd0, 0x00, 0x02, 0x04, 0x00, 0x20, 0xfe, 0xae, 0x12, 0x00, 0x0f, 0x01, 0x00, 0x11, 0x20, 0xfe, 0x8d, 0xa8, 0x01, 0x01, 0xa4, 0x00, 0x0f, + 0x60, 0x01, 0x02, 0x0f, 0x01, 0x00, 0x03, 0x00, 0x64, 0x00, 0x01, 0x34, 0x00, 0x1f, 0xa9, 0x0c, 0x01, 0x17, 0x20, 0xf6, 0x4d, 0xd0, 0x00, 0x02, + 0xd8, 0x00, 0x0f, 0xa0, 0x00, 0x17, 0x02, 0xd0, 0x00, 0x01, 0x04, 0x00, 0x0f, 0x0c, 0x01, 0x16, 0x03, 0x3c, 0x03, 0x01, 0xd8, 0x00, 0x00, 0x10, + 0x00, 0x0f, 0x01, 0x00, 0x13, 0x01, 0x34, 0x00, 0x00, 0x68, 0x00, 0x1f, 0xaa, 0xd4, 0x00, 0x18, 0x12, 0x6d, 0xd0, 0x00, 0x00, 0xd8, 0x00, 0x00, + 0x10, 0x00, 0x0f, 0x01, 0x00, 0x13, 0x03, 0x68, 0x00, 0x00, 0x04, 0x00, 0x0f, 0xd4, 0x00, 0x16, 0x00, 0xdc, 0x03, 0x00, 0xd0, 0x00, 0x00, 0x6c, + 0x00, 0x00, 0x0e, 0x00, 0x0f, 0x01, 0x00, 0x15, 0x04, 0x80, 0x02, 0x0f, 0xa0, 0x00, 0x19, 0x00, 0x01, 0x00, 0x4e, 0xf6, 0x4d, 0xed, 0xcb, 0x2c, + 0x04, 0x0f, 0x01, 0x00, 0xff, 0x86, 0x22, 0xfe, 0x8d, 0x04, 0x00, 0x0f, 0x01, 0x00, 0x19, 0x20, 0xf6, 0x6d, 0x18, 0x02, 0x00, 0xbe, 0x02, 0x00, + 0x0e, 0x00, 0x0f, 0x01, 0x00, 0x15, 0x06, 0x30, 0x04, 0x00, 0x0e, 0x00, 0x0f, 0x01, 0x00, 0x15, 0x05, 0xf8, 0x05, 0x0f, 0x70, 0x05, 0x18, 0x02, + 0x6c, 0x00, 0x02, 0x60, 0x03, 0x00, 0x0e, 0x00, 0x0f, 0x01, 0x00, 0x15, 0x20, 0xfe, 0xae, 0x68, 0x00, 0x0f, 0x5c, 0x03, 0x1b, 0x02, 0x01, 0x00, + 0x2f, 0xf6, 0x4d, 0x26, 0x03, 0x1d, 0x0f, 0x01, 0x00, 0xff, 0x78, 0x11, 0xff, 0x01, 0x00, 0x00, 0x0a, 0x00, 0x0c, 0x01, 0x00, 0x00, 0x18, 0x00, + 0x01, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x08, 0x01, 0x00, 0x00, 0x14, 0x00, 0x04, 0x01, 0x00, 0x00, 0x10, 0x00, 0x06, 0x01, 0x00, 0x00, 0x12, 0x00, + 0x05, 0x01, 0x00, 0x00, 0x11, 0x00, 0x05, 0x01, 0x00, 0x00, 0x11, 0x00, 0x07, 0x01, 0x00, 0x00, 0x13, 0x00, 0x03, 0x01, 0x00, 0x00, 0x0f, 0x00, + 0x00, 0x01, 0x00, 0x04, 0x0a, 0x00, 0x00, 0x14, 0x00, 0x02, 0x01, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x01, 0x00, 0x06, 0x0c, 0x00, 0x00, 0x0a, 0x00, + 0x01, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x04, 0x0f, 0x00, 0x00, 0x0a, 0x00, 0x04, 0x0c, 0x00, 0x0f, 0x0e, 0x00, 0x02, 0x00, 0x09, 0x00, 0x00, 0x01, + 0x00, 0x00, 0x0c, 0x00, 0x0b, 0x0e, 0x00, 0x00, 0x09, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0c, 0x00, 0x05, 0x0d, 0x00, 0x0e, 0x0e, 0x00, 0x00, 0x07, + 0x00, 0x02, 0x01, 0x00, 0x00, 0x1a, 0x00, 0x07, 0x0f, 0x00, 0x08, 0x01, 0x00, 0x00, 0x1a, 0x00, 0x0f, 0x1b, 0x00, 0x03, 0x00, 0x19, 0x00, 0x0f, + 0x1b, 0x00, 0x24, 0x00, 0x09, 0x00, 0x0d, 0x01, 0x00, 0x00, 0x19, 0x00, 0x0f, 0x1c, 0x00, 0x04, 0x00, 0x18, 0x00, 0x0f, 0x1a, 0x00, 0x03, 0x0f, + 0x1b, 0x00, 0x08, 0x00, 0x18, 0x00, 0x0f, 0x1b, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x0c, 0x01, 0x00, 0x00, 0x18, 0x00, 0x0f, 0x1a, 0x00, 0x03, 0x0f, + 0x1b, 0x00, 0x08, 0x00, 0x18, 0x00, 0x0f, 0x1a, 0x00, 0x03, 0x0f, 0x1b, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x0e, 0x01, 0x00, 0x00, 0x1a, 0x00, 0x0f, + 0x1b, 0x00, 0x04, 0x00, 0x1c, 0x00, 0x00, 0x07, 0x00, 0x0f, 0x01, 0x00, 0xbd, 0x2f, 0xff, 0x00, 0xd7, 0x00, 0x05, 0x00, 0x0c, 0x01, 0x0f, 0x1c, + 0x00, 0x04, 0x00, 0x1a, 0x00, 0x0f, 0x1b, 0x00, 0x55, 0x00, 0x1d, 0x00, 0x00, 0x06, 0x00, 0x0f, 0x01, 0x00, 0xad, 0x50, 0x00, 0x00, 0x00, 0x00, + 0x00, +}; + +static const uint8_t fortune_rod[] = { + 0x1f, 0x00, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x95, 0xf2, 0x09, 0x20, 0xe1, 0x00, 0x00, 0x31, 0x42, 0x20, 0xe1, 0x41, 0x62, + 0x6a, 0x24, 0x93, 0x06, 0xab, 0x66, 0xc4, 0x08, 0xc4, 0x08, 0xdc, 0x68, 0xd4, 0x28, 0x04, 0x00, 0x00, 0x02, 0x00, 0x0f, 0x08, 0x00, 0x05, 0x20, + 0xc3, 0xe7, 0x40, 0x00, 0x0f, 0x01, 0x00, 0xe9, 0xe0, 0x21, 0x02, 0x28, 0xe1, 0x49, 0xa3, 0x82, 0xa5, 0xbb, 0xa7, 0xc3, 0xe7, 0xd4, 0x28, 0x18, + 0x01, 0x0f, 0x04, 0x00, 0x25, 0x40, 0x83, 0x05, 0x8b, 0x66, 0x08, 0x00, 0x20, 0x31, 0x02, 0x58, 0x00, 0x0f, 0x01, 0x00, 0xd5, 0x80, 0x31, 0x42, + 0x41, 0x42, 0x72, 0xc5, 0xb3, 0x87, 0x4e, 0x02, 0x0f, 0x02, 0x00, 0x3d, 0x40, 0xac, 0x07, 0x83, 0x26, 0x5c, 0x01, 0x00, 0x68, 0x00, 0x0f, 0x01, + 0x00, 0xc9, 0x80, 0x29, 0x22, 0x59, 0xc3, 0x9b, 0x26, 0xc3, 0xe7, 0xec, 0x00, 0x0f, 0x04, 0x00, 0x1f, 0xf0, 0x03, 0xcc, 0x28, 0xcc, 0x28, 0xbb, + 0xc7, 0xb3, 0x87, 0x93, 0x06, 0x82, 0xa5, 0x51, 0x83, 0x41, 0x42, 0x28, 0xe1, 0x02, 0x00, 0x20, 0x29, 0x22, 0x04, 0x00, 0xa0, 0x20, 0xc1, 0x31, + 0x42, 0x00, 0x00, 0x31, 0x02, 0x20, 0xc1, 0x10, 0x00, 0x60, 0x20, 0xe1, 0x72, 0x64, 0x8b, 0x66, 0x72, 0x00, 0x0f, 0x01, 0x00, 0xc1, 0x60, 0x41, + 0x42, 0x82, 0xa5, 0xbb, 0xc7, 0x38, 0x02, 0x02, 0x18, 0x01, 0x00, 0x02, 0x00, 0x0f, 0x08, 0x00, 0x09, 0xa0, 0xd4, 0x28, 0xcc, 0x28, 0xab, 0x66, + 0x83, 0x05, 0x41, 0x62, 0x1c, 0x01, 0x00, 0x28, 0x01, 0x0f, 0x01, 0x00, 0x21, 0x40, 0x72, 0xc5, 0x83, 0x26, 0x08, 0x00, 0x0f, 0x01, 0x00, 0xb5, + 0x00, 0x46, 0x01, 0x1f, 0xcc, 0x08, 0x05, 0x12, 0xa0, 0xc4, 0x08, 0xab, 0x66, 0x6a, 0x24, 0x41, 0x42, 0x20, 0xc1, 0x80, 0x06, 0x0f, 0x01, 0x00, + 0x37, 0x2f, 0x62, 0x44, 0xa4, 0x02, 0xad, 0x60, 0x21, 0x02, 0x39, 0x22, 0x83, 0x26, 0x84, 0x07, 0x0f, 0x02, 0x00, 0x0d, 0x7f, 0xbb, 0xa7, 0x83, + 0x05, 0x31, 0x42, 0x21, 0x32, 0x06, 0x4c, 0x2f, 0x6a, 0xa5, 0xa4, 0x02, 0xa3, 0x60, 0x31, 0x02, 0x62, 0x03, 0xbb, 0xc7, 0x6c, 0x02, 0x0f, 0x04, + 0x00, 0x09, 0x6f, 0xc4, 0x08, 0x9b, 0x26, 0x41, 0x42, 0xc0, 0x03, 0x25, 0x0f, 0x01, 0x00, 0x23, 0x2f, 0x59, 0xe3, 0xa4, 0x02, 0x99, 0x40, 0x39, + 0x83, 0x72, 0x64, 0x2a, 0x01, 0x02, 0x30, 0x01, 0x00, 0x02, 0x00, 0x0e, 0x08, 0x00, 0x60, 0xd4, 0x28, 0x82, 0xa5, 0x49, 0xa3, 0x2e, 0x00, 0x0f, + 0x01, 0x00, 0x63, 0x0f, 0xa4, 0x02, 0x93, 0x20, 0x62, 0x03, 0x26, 0x0a, 0x00, 0x30, 0x01, 0x0f, 0x04, 0x00, 0x03, 0x6f, 0xc4, 0x08, 0x93, 0x06, + 0x39, 0x22, 0x10, 0x05, 0x3b, 0x0f, 0x01, 0x00, 0x25, 0x2f, 0x62, 0x03, 0xa4, 0x02, 0x87, 0x40, 0x39, 0x22, 0x93, 0x06, 0x30, 0x01, 0x0f, 0x02, + 0x00, 0x05, 0x40, 0xab, 0x66, 0x52, 0x04, 0x28, 0x00, 0x0f, 0x01, 0x00, 0x7b, 0x0f, 0xa4, 0x02, 0x81, 0x42, 0x49, 0xa3, 0x93, 0x06, 0x7c, 0x02, + 0x0e, 0x04, 0x00, 0x5f, 0xd4, 0x28, 0x8a, 0xc5, 0x41, 0x18, 0x05, 0x5a, 0x0f, 0x01, 0x00, 0x1d, 0x0f, 0x48, 0x05, 0x79, 0x40, 0x49, 0xa3, 0xbb, + 0xa7, 0x38, 0x01, 0x00, 0x02, 0x00, 0x0c, 0x08, 0x00, 0x0f, 0x90, 0x02, 0x83, 0x0f, 0x01, 0x00, 0x01, 0x0f, 0xa4, 0x02, 0x71, 0x00, 0xb6, 0x07, + 0x02, 0x3c, 0x01, 0x0c, 0x04, 0x00, 0x5f, 0xcc, 0x28, 0x8a, 0xc5, 0x28, 0x1e, 0x05, 0x72, 0x0f, 0x01, 0x00, 0x17, 0x0f, 0xa4, 0x02, 0x67, 0x00, + 0x18, 0x0e, 0x00, 0x36, 0x01, 0x0f, 0x02, 0x00, 0x01, 0x60, 0xd4, 0x28, 0x6a, 0x24, 0x29, 0x22, 0x26, 0x00, 0x0f, 0x01, 0x00, 0x9f, 0x2f, 0x62, + 0x44, 0xa4, 0x02, 0x5f, 0x40, 0x41, 0x62, 0xab, 0x66, 0x36, 0x01, 0x0e, 0x04, 0x00, 0x2f, 0xb3, 0x87, 0xf8, 0x08, 0x69, 0x0f, 0x01, 0x00, 0x33, + 0x2f, 0x49, 0xa3, 0xa4, 0x02, 0x59, 0x33, 0x72, 0x64, 0xcc, 0x96, 0x02, 0x00, 0x40, 0x01, 0x00, 0x02, 0x00, 0x00, 0x08, 0x00, 0x5f, 0xd4, 0x28, + 0xab, 0x66, 0x39, 0x92, 0x02, 0xa4, 0x0e, 0x01, 0x00, 0x2f, 0x4a, 0x03, 0xa4, 0x02, 0x51, 0x42, 0x28, 0xe1, 0x9b, 0x26, 0x3c, 0x01, 0x0a, 0x04, + 0x00, 0x2f, 0x93, 0x06, 0xb8, 0x07, 0x8b, 0x0f, 0x01, 0x00, 0x21, 0x2f, 0x31, 0x02, 0xa4, 0x02, 0x4b, 0x0f, 0x2c, 0x05, 0x03, 0x40, 0xc3, 0xe7, + 0x59, 0xc3, 0x1e, 0x00, 0x0f, 0x01, 0x00, 0xc3, 0x0f, 0xa4, 0x02, 0x45, 0x22, 0x72, 0x64, 0x88, 0x02, 0x08, 0x04, 0x00, 0x00, 0xbc, 0x07, 0x00, + 0x1c, 0x00, 0x0f, 0x01, 0x00, 0xcb, 0x0f, 0xa4, 0x02, 0x3f, 0x22, 0x8a, 0xc5, 0x40, 0x01, 0x00, 0x02, 0x00, 0x04, 0x08, 0x00, 0x2f, 0xc3, 0xe7, + 0x50, 0x0a, 0x95, 0x0f, 0x01, 0x00, 0x29, 0x44, 0x21, 0xea, 0x65, 0x1c, 0x02, 0x00, 0x1f, 0x11, 0xaa, 0x02, 0x32, 0x22, 0x82, 0xa5, 0x44, 0x01, + 0x08, 0x04, 0x00, 0x2f, 0x93, 0x06, 0xfc, 0x11, 0x5b, 0x0f, 0x01, 0x00, 0x67, 0x00, 0x48, 0x01, 0x08, 0x02, 0x00, 0x0f, 0x54, 0x01, 0x2b, 0x20, + 0x6a, 0x24, 0x8a, 0x02, 0x0a, 0x02, 0x00, 0x20, 0x72, 0x64, 0x1a, 0x00, 0x0f, 0x01, 0x00, 0xd5, 0x20, 0x54, 0x37, 0x46, 0x01, 0x0a, 0x02, 0x00, + 0x00, 0x18, 0x00, 0x0f, 0x01, 0x00, 0x1f, 0x2c, 0x41, 0x62, 0x34, 0x17, 0x40, 0xcc, 0x28, 0x51, 0x83, 0x1a, 0x00, 0x0f, 0x01, 0x00, 0xdb, 0x00, + 0x42, 0x01, 0x00, 0x02, 0x00, 0x08, 0x5a, 0x01, 0x20, 0x21, 0xea, 0x1a, 0x00, 0x0f, 0x01, 0x00, 0x19, 0x02, 0x64, 0x13, 0x00, 0x02, 0x00, 0x04, + 0x08, 0x00, 0x20, 0x62, 0x03, 0x18, 0x00, 0x0f, 0x01, 0x00, 0xdf, 0x08, 0x48, 0x01, 0x08, 0x0c, 0x00, 0x00, 0x1c, 0x00, 0x0f, 0x01, 0x00, 0x13, + 0x20, 0x82, 0xa5, 0x44, 0x01, 0x08, 0x04, 0x00, 0x20, 0x6a, 0x24, 0x18, 0x00, 0x0f, 0x01, 0x00, 0xe5, 0x00, 0x3e, 0x01, 0x0f, 0x02, 0x00, 0x01, + 0x00, 0x1c, 0x00, 0x0f, 0x01, 0x00, 0x0d, 0x24, 0x49, 0xa3, 0xf8, 0x0c, 0x04, 0x02, 0x00, 0x20, 0x93, 0x06, 0x18, 0x00, 0x0f, 0x01, 0x00, 0xeb, + 0x00, 0x3e, 0x01, 0x0f, 0x02, 0x00, 0x01, 0x00, 0x1c, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x0c, 0x64, 0x0a, 0x0f, 0x3e, 0x0e, 0xb9, 0x0f, 0x01, 0x00, + 0x29, 0x20, 0x11, 0x26, 0x3e, 0x01, 0x0f, 0x02, 0x00, 0x01, 0x00, 0x1e, 0x00, 0x0f, 0x01, 0x00, 0x05, 0x02, 0x82, 0x21, 0x00, 0x48, 0x01, 0x00, + 0x02, 0x00, 0x2f, 0xcc, 0x28, 0x60, 0x0a, 0xd1, 0x0f, 0x01, 0x00, 0x15, 0x0f, 0x52, 0x01, 0x1d, 0x20, 0x41, 0x42, 0xbc, 0x1d, 0x00, 0x4c, 0x01, + 0x02, 0x04, 0x00, 0x1f, 0x9b, 0x68, 0x09, 0x2a, 0x0f, 0x01, 0x00, 0xc3, 0x00, 0x3e, 0x01, 0x0f, 0x02, 0x00, 0x01, 0x00, 0x1c, 0x00, 0x0a, 0x01, + 0x00, 0x20, 0x41, 0x42, 0x92, 0x02, 0x06, 0x02, 0x00, 0x0f, 0xcc, 0x07, 0xe5, 0x0f, 0x01, 0x00, 0x0d, 0x00, 0x3e, 0x01, 0x0f, 0x02, 0x00, 0x01, + 0x00, 0x1c, 0x00, 0x06, 0x01, 0x00, 0x22, 0x62, 0x44, 0x94, 0x02, 0x02, 0x04, 0x00, 0x0f, 0xc0, 0x27, 0xef, 0x0f, 0x01, 0x00, 0x09, 0x00, 0x3e, + 0x01, 0x0e, 0x02, 0x00, 0x08, 0x90, 0x0a, 0x20, 0x62, 0x03, 0x92, 0x02, 0x02, 0x4c, 0x01, 0x40, 0xdc, 0x68, 0xbb, 0xc7, 0x14, 0x00, 0x0f, 0x01, + 0x00, 0xff, 0x0a, 0x08, 0x84, 0x0a, 0x06, 0x02, 0x00, 0x00, 0x1a, 0x00, 0x02, 0x01, 0x00, 0x00, 0x48, 0x01, 0x04, 0x04, 0x00, 0x20, 0x82, 0xa5, + 0x12, 0x00, 0x0f, 0x01, 0x00, 0xff, 0x0e, 0x0f, 0x9c, 0x06, 0x03, 0x00, 0x1a, 0x00, 0x02, 0x01, 0x00, 0x00, 0x98, 0x02, 0x00, 0x02, 0x00, 0x0f, + 0x9a, 0x0f, 0xdb, 0x0f, 0x01, 0x00, 0x2b, 0x00, 0x42, 0x01, 0x0a, 0x02, 0x00, 0x08, 0xf4, 0x03, 0x00, 0x9c, 0x02, 0x20, 0x59, 0xe3, 0x0a, 0x00, + 0x0f, 0x01, 0x00, 0xff, 0x1a, 0x00, 0x46, 0x01, 0x08, 0x02, 0x00, 0x00, 0x14, 0x00, 0x04, 0x01, 0x00, 0x0f, 0x86, 0x16, 0x45, 0x0f, 0x01, 0x00, + 0xcb, 0x0a, 0x4c, 0x05, 0x08, 0xa2, 0x02, 0x0f, 0x01, 0x00, 0xff, 0x28, 0x00, 0x4a, 0x01, 0x04, 0x02, 0x00, 0x00, 0x10, 0x00, 0x0f, 0x01, 0x00, + 0xff, 0x32, 0x00, 0x4c, 0x01, 0x00, 0x02, 0x00, 0x20, 0x54, 0x37, 0x0e, 0x00, 0x0f, 0x01, 0x00, 0xff, 0x30, 0x00, 0x4c, 0x01, 0x06, 0x02, 0x00, + 0x00, 0x12, 0x00, 0x0f, 0x01, 0x00, 0xff, 0x2c, 0x0a, 0x48, 0x05, 0x00, 0x02, 0x00, 0x00, 0x16, 0x00, 0x0f, 0x01, 0x00, 0xff, 0x28, 0x00, 0x42, + 0x01, 0x0c, 0x02, 0x00, 0x0f, 0x9e, 0x06, 0xff, 0x2a, 0x08, 0x06, 0x1d, 0x06, 0x02, 0x00, 0x0f, 0x52, 0x01, 0xff, 0x2a, 0x0f, 0x34, 0x0d, 0x0d, + 0x0f, 0x01, 0x00, 0xff, 0x22, 0x48, 0x11, 0x26, 0x21, 0xea, 0x94, 0x02, 0x0f, 0x5c, 0x1e, 0x2b, 0x0f, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x85, 0x3f, 0xff, 0x00, 0xff, 0x01, 0x00, 0x08, 0x00, 0x22, 0x00, 0x0f, 0x01, 0x00, 0x69, 0x00, 0x84, 0x00, + 0x0f, 0x01, 0x00, 0x13, 0x00, 0x2e, 0x00, 0x0f, 0x01, 0x00, 0x5f, 0x00, 0x7a, 0x00, 0x0f, 0x01, 0x00, 0x1b, 0x00, 0x36, 0x00, 0x0f, 0x01, 0x00, + 0x59, 0x00, 0x74, 0x00, 0x0f, 0x01, 0x00, 0x18, 0x04, 0x30, 0x00, 0x00, 0x3b, 0x00, 0x0f, 0x01, 0x00, 0x55, 0x00, 0x70, 0x00, 0x0f, 0x01, 0x00, + 0x09, 0x00, 0x24, 0x00, 0x0f, 0x01, 0x00, 0x04, 0x0f, 0x1d, 0x00, 0x0a, 0x0f, 0x01, 0x00, 0x38, 0x00, 0x87, 0x00, 0x0f, 0x01, 0x00, 0x04, 0x00, + 0x1f, 0x00, 0x0f, 0x01, 0x00, 0x0f, 0x0f, 0x28, 0x00, 0x15, 0x0f, 0x01, 0x00, 0x26, 0x00, 0x8b, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x00, 0x1d, 0x00, + 0x0f, 0x01, 0x00, 0x18, 0x0f, 0x31, 0x00, 0x1e, 0x0f, 0x01, 0x00, 0x18, 0x00, 0x8f, 0x00, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x0f, 0x01, + 0x00, 0x1f, 0x0f, 0x38, 0x00, 0x25, 0x0f, 0x01, 0x00, 0x0c, 0x00, 0x91, 0x00, 0x0d, 0x01, 0x00, 0x00, 0x19, 0x00, 0x0f, 0x01, 0x00, 0x26, 0x0f, + 0x3f, 0x00, 0x2c, 0x0f, 0x01, 0x00, 0x01, 0x00, 0x94, 0x00, 0x0c, 0x01, 0x00, 0x00, 0x18, 0x00, 0x0f, 0x01, 0x00, 0x2b, 0x0f, 0x44, 0x00, 0x31, + 0x06, 0x01, 0x00, 0x00, 0x94, 0x00, 0x0a, 0x01, 0x00, 0x00, 0x16, 0x00, 0x0f, 0x01, 0x00, 0x32, 0x0f, 0x4b, 0x00, 0x37, 0x00, 0x97, 0x00, 0x09, + 0x01, 0x00, 0x00, 0x15, 0x00, 0x0f, 0x01, 0x00, 0x37, 0x0f, 0x50, 0x00, 0x33, 0x00, 0x98, 0x00, 0x08, 0x01, 0x00, 0x00, 0x14, 0x00, 0x0f, 0x01, + 0x00, 0x3c, 0x0f, 0x55, 0x00, 0x2f, 0x00, 0x99, 0x00, 0x08, 0x01, 0x00, 0x00, 0x14, 0x00, 0x0f, 0x01, 0x00, 0x40, 0x0f, 0x59, 0x00, 0x2a, 0x00, + 0x98, 0x00, 0x09, 0x01, 0x00, 0x00, 0x15, 0x00, 0x0f, 0x01, 0x00, 0x44, 0x0f, 0x5d, 0x00, 0x27, 0x00, 0x99, 0x00, 0x07, 0x01, 0x00, 0x00, 0x13, + 0x00, 0x0f, 0x01, 0x00, 0x49, 0x0f, 0x62, 0x00, 0x24, 0x00, 0x9b, 0x00, 0x06, 0x01, 0x00, 0x00, 0x12, 0x00, 0x0f, 0x01, 0x00, 0x4d, 0x0f, 0x66, + 0x00, 0x20, 0x00, 0x9b, 0x00, 0x06, 0x01, 0x00, 0x00, 0x12, 0x00, 0x0f, 0x01, 0x00, 0x51, 0x0f, 0x6a, 0x00, 0x1d, 0x00, 0x9c, 0x00, 0x05, 0x01, + 0x00, 0x00, 0x11, 0x00, 0x0f, 0x01, 0x00, 0x56, 0x0f, 0x6e, 0x00, 0x19, 0x00, 0x9d, 0x00, 0x04, 0x01, 0x00, 0x00, 0x10, 0x00, 0x0f, 0x01, 0x00, + 0x5a, 0x0f, 0x72, 0x00, 0x16, 0x00, 0x9e, 0x00, 0x04, 0x01, 0x00, 0x00, 0x10, 0x00, 0x0f, 0x01, 0x00, 0x5a, 0x00, 0x75, 0x00, 0x0f, 0x78, 0x00, + 0x12, 0x00, 0x26, 0x00, 0x04, 0x01, 0x00, 0x00, 0x10, 0x00, 0x0f, 0x01, 0x00, 0x5c, 0x00, 0x77, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x0f, + 0x01, 0x00, 0x07, 0x00, 0x22, 0x00, 0x03, 0x01, 0x00, 0x00, 0x0f, 0x00, 0x0f, 0x01, 0x00, 0x5f, 0x00, 0x7a, 0x00, 0x02, 0x01, 0x00, 0x00, 0x0e, + 0x00, 0x0f, 0x01, 0x00, 0x04, 0x00, 0x1f, 0x00, 0x03, 0x01, 0x00, 0x00, 0x0f, 0x00, 0x0f, 0x01, 0x00, 0x62, 0x00, 0x7d, 0x00, 0x03, 0x01, 0x00, + 0x00, 0x0f, 0x00, 0x0f, 0x01, 0x00, 0x01, 0x00, 0x1c, 0x00, 0x02, 0x01, 0x00, 0x00, 0x0e, 0x00, 0x0f, 0x01, 0x00, 0x64, 0x00, 0x7f, 0x00, 0x04, + 0x01, 0x00, 0x00, 0x10, 0x00, 0x0d, 0x01, 0x00, 0x00, 0x19, 0x00, 0x02, 0x01, 0x00, 0x00, 0x0e, 0x00, 0x0f, 0x01, 0x00, 0x67, 0x00, 0x82, 0x00, + 0x04, 0x01, 0x00, 0x00, 0x10, 0x00, 0x0a, 0x01, 0x00, 0x00, 0x16, 0x00, 0x02, 0x01, 0x00, 0x00, 0x0e, 0x00, 0x0f, 0x01, 0x00, 0x6a, 0x00, 0x85, + 0x00, 0x04, 0x01, 0x00, 0x00, 0x10, 0x00, 0x08, 0x01, 0x00, 0x00, 0x14, 0x00, 0x02, 0x01, 0x00, 0x00, 0x0e, 0x00, 0x0f, 0x01, 0x00, 0x6b, 0x00, + 0x86, 0x00, 0x05, 0x01, 0x00, 0x00, 0x11, 0x00, 0x06, 0x01, 0x00, 0x00, 0x12, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x6e, + 0x00, 0x89, 0x00, 0x05, 0x01, 0x00, 0x00, 0x11, 0x00, 0x03, 0x01, 0x00, 0x00, 0x0f, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x0f, 0x01, 0x00, + 0x72, 0x00, 0x8d, 0x00, 0x04, 0x01, 0x00, 0x00, 0x10, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x0f, 0x01, + 0x00, 0x74, 0x00, 0x8f, 0x00, 0x04, 0x01, 0x00, 0x00, 0x10, 0x00, 0x07, 0x13, 0x00, 0x00, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x77, 0x00, 0x92, 0x00, + 0x04, 0x01, 0x00, 0x00, 0x10, 0x00, 0x05, 0x11, 0x00, 0x00, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x79, 0x00, 0x94, 0x00, 0x03, 0x01, 0x00, 0x00, 0x0f, + 0x00, 0x04, 0x10, 0x00, 0x00, 0x0b, 0x00, 0x0f, 0x01, 0x00, 0x7b, 0x00, 0x96, 0x00, 0x03, 0x01, 0x00, 0x00, 0x0f, 0x00, 0x02, 0x10, 0x00, 0x00, + 0x09, 0x00, 0x0f, 0x01, 0x00, 0x7e, 0x00, 0x99, 0x00, 0x02, 0x01, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x07, 0x00, 0x0f, 0x01, 0x00, + 0x81, 0x00, 0xa4, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0c, 0x00, 0x0f, 0x9a, 0x0a, 0x18, 0x0f, 0x01, 0x00, 0x5f, 0x00, 0xa5, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x8b, 0x00, 0xa6, 0x00, 0x0f, 0xa8, 0x00, 0x91, 0x03, 0xaa, 0x00, 0x00, 0x09, 0x00, 0x0f, 0x01, 0x00, 0x8c, + 0x00, 0xa7, 0x00, 0x0f, 0xaa, 0x00, 0x91, 0x00, 0xa5, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x88, 0x00, 0xa3, 0x00, 0x03, + 0x01, 0x00, 0x00, 0x0f, 0x00, 0x0f, 0x01, 0x00, 0x86, 0x00, 0xa1, 0x00, 0x04, 0x01, 0x00, 0x00, 0x10, 0x00, 0x0f, 0x01, 0x00, 0x86, 0x00, 0xa1, + 0x00, 0x03, 0x01, 0x00, 0x00, 0x0f, 0x00, 0x0f, 0x01, 0x00, 0x88, 0x04, 0xa2, 0x00, 0x02, 0x06, 0x00, 0x0f, 0x01, 0x00, 0xff, 0xff, 0xff, 0xe2, + 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +static const uint8_t fortune_text_buyun[] = { + 0x1f, 0x00, 0x01, 0x00, 0xe0, 0x20, 0xcc, 0xa9, 0x06, 0x00, 0x0f, 0x01, 0x00, 0x2f, 0x40, 0xaa, 0xc2, 0xa2, 0x40, 0x08, 0x00, 0x0a, 0x01, 0x00, + 0x40, 0xaa, 0xe2, 0xaa, 0xa1, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x2f, 0x60, 0xbb, 0x64, 0xa2, 0x61, 0xa2, 0x20, 0x0a, 0x00, 0x08, 0x01, 0x00, 0x2e, + 0xb3, 0x44, 0x14, 0x00, 0x0f, 0x01, 0x00, 0x25, 0x60, 0xbb, 0xa5, 0xaa, 0xa1, 0xa2, 0x61, 0x0a, 0x00, 0x06, 0x01, 0x00, 0x60, 0xbb, 0xa5, 0xa2, + 0x81, 0xcc, 0x68, 0x0a, 0x00, 0x0f, 0x01, 0x00, 0x2f, 0x40, 0xcc, 0x67, 0xa2, 0x20, 0xc4, 0x00, 0x40, 0xaa, 0xe2, 0xcc, 0x67, 0x10, 0x00, 0x00, + 0x01, 0x00, 0x60, 0xc4, 0x26, 0xa2, 0x20, 0xc4, 0x26, 0x0a, 0x00, 0x0f, 0x01, 0x00, 0x2b, 0xa2, 0xaa, 0xa1, 0xaa, 0xa1, 0xa2, 0x40, 0xa2, 0x81, + 0xa2, 0x20, 0x08, 0x00, 0x04, 0x62, 0x00, 0x60, 0xcc, 0x67, 0xaa, 0xa1, 0xbb, 0x64, 0x0a, 0x00, 0x0f, 0x01, 0x00, 0x27, 0x40, 0xb3, 0x23, 0xa2, + 0x20, 0x5a, 0x00, 0x20, 0xc3, 0xe5, 0x0e, 0x00, 0x02, 0xb4, 0x00, 0x20, 0xb3, 0x23, 0x0a, 0x00, 0x00, 0x01, 0x00, 0x08, 0x0c, 0x00, 0x0f, 0x01, + 0x00, 0x23, 0x2a, 0xaa, 0xe2, 0x42, 0x00, 0x46, 0xd4, 0xe8, 0xaa, 0xa1, 0x12, 0x00, 0x2f, 0xa2, 0x81, 0x42, 0x02, 0x35, 0x04, 0x01, 0x00, 0x28, + 0xbb, 0x64, 0x74, 0x01, 0x00, 0xdc, 0x00, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x37, 0x00, 0x80, 0x01, 0x00, 0x08, 0x00, 0x02, 0x01, 0x00, 0x00, + 0x90, 0x01, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x35, 0x00, 0x44, 0x02, 0x04, 0x8a, 0x01, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x20, 0xbb, 0x85, + 0x0a, 0x00, 0x0f, 0x01, 0x00, 0x31, 0x46, 0xa2, 0x61, 0xa2, 0x81, 0x7c, 0x01, 0x00, 0x01, 0x00, 0x40, 0xa2, 0x81, 0xa2, 0x40, 0xc4, 0x00, 0x20, + 0xb3, 0x44, 0x0e, 0x00, 0x0f, 0x01, 0x00, 0x29, 0x02, 0x00, 0x03, 0x20, 0xaa, 0xe2, 0x0c, 0x00, 0x06, 0x01, 0x00, 0x00, 0x14, 0x00, 0x20, 0xbb, + 0xc6, 0x60, 0x02, 0x00, 0x7c, 0x00, 0x00, 0x12, 0x00, 0x0f, 0x01, 0x00, 0x23, 0x20, 0xb3, 0x44, 0x78, 0x01, 0x0a, 0xbc, 0x00, 0x00, 0x01, 0x00, + 0x00, 0xbc, 0x00, 0x00, 0x08, 0x00, 0x01, 0xa2, 0x04, 0x1f, 0x81, 0xae, 0x02, 0x23, 0x20, 0xaa, 0xe2, 0x3a, 0x00, 0x00, 0xbc, 0x03, 0x02, 0x58, + 0x03, 0x40, 0xd4, 0xc8, 0xcc, 0x87, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, 0x18, 0x00, 0x00, 0x08, 0x00, 0x02, 0x01, 0x00, 0x20, 0xaa, 0xe3, 0x10, + 0x00, 0x20, 0xc4, 0x27, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x15, 0x02, 0x60, 0x01, 0xa2, 0xc4, 0x26, 0xb3, 0x23, 0xaa, 0xa1, 0xc4, 0x26, 0xd4, 0xa8, + 0x10, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x08, 0x00, 0x06, 0x01, 0x00, 0x0c, 0x42, 0x01, 0x0f, 0x01, 0x00, 0x0d, + 0x22, 0xb3, 0x23, 0x30, 0x02, 0x00, 0xb8, 0x03, 0x00, 0xc4, 0x00, 0x40, 0xa2, 0x81, 0xbb, 0xc6, 0x10, 0x00, 0x02, 0x01, 0x00, 0x00, 0x14, 0x00, + 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x2f, 0x20, 0xc4, 0x26, 0x26, 0x01, 0x0c, 0xae, 0x03, 0x08, 0xcc, 0x00, 0x0f, 0x01, 0x00, 0x2b, 0x20, 0xd4, + 0xca, 0xbc, 0x00, 0x28, 0xa2, 0x20, 0xbe, 0x00, 0x0f, 0xc0, 0x00, 0x39, 0x01, 0xac, 0x00, 0x3f, 0x81, 0xaa, 0xe2, 0x80, 0x01, 0x0d, 0x0f, 0x01, + 0x00, 0x27, 0x00, 0xc0, 0x00, 0x00, 0x08, 0x00, 0x20, 0xd4, 0xca, 0x06, 0x00, 0x02, 0x01, 0x00, 0x0f, 0xc0, 0x00, 0x39, 0x00, 0x1e, 0x01, 0x00, + 0x08, 0x00, 0x08, 0x01, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x31, 0x00, 0x08, 0x03, 0x00, 0x08, 0x00, 0x08, 0x01, 0x00, + 0x40, 0xa2, 0x20, 0xaa, 0xe3, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x33, 0x2a, 0xa2, 0x40, 0xde, 0x01, 0x00, 0xd4, 0x00, 0x20, 0xb3, 0x03, 0x08, 0x00, + 0x0f, 0x01, 0x00, 0x33, 0x2c, 0xa2, 0x61, 0xce, 0x01, 0x0c, 0x50, 0x02, 0x0f, 0x01, 0x00, 0x3d, 0x08, 0xec, 0x01, 0x0f, 0x01, 0x00, 0xff, 0xff, + 0xff, 0x88, 0x20, 0xbb, 0xa5, 0x06, 0x00, 0x22, 0xb3, 0x23, 0xde, 0x07, 0x0f, 0x01, 0x00, 0x3f, 0x40, 0xa2, 0x20, 0xb3, 0x44, 0xe6, 0x0a, 0x0f, + 0xba, 0x07, 0x1d, 0x0f, 0x01, 0x00, 0x15, 0x02, 0xd4, 0x08, 0x2f, 0xd4, 0xa8, 0xa4, 0x09, 0x2f, 0x0f, 0x01, 0x00, 0x01, 0x24, 0xaa, 0xc2, 0xc4, + 0x04, 0x40, 0xa2, 0x20, 0xd4, 0xe8, 0x08, 0x00, 0x01, 0x0a, 0x06, 0x03, 0x4c, 0x08, 0x0a, 0x08, 0x00, 0x00, 0x1c, 0x00, 0x0f, 0x01, 0x00, 0x1d, + 0x04, 0x5c, 0x0a, 0x00, 0x00, 0x09, 0x02, 0x8a, 0x01, 0x00, 0x92, 0x01, 0x00, 0x84, 0x07, 0x00, 0x04, 0x00, 0x00, 0x80, 0x07, 0x00, 0xba, 0x09, + 0x24, 0xb3, 0x23, 0xc8, 0x08, 0x0f, 0x01, 0x00, 0x21, 0x4f, 0xaa, 0xa1, 0xaa, 0xc2, 0x96, 0x09, 0x1b, 0x0f, 0x01, 0x00, 0x1d, 0x0f, 0xdc, 0x01, + 0x45, 0x0f, 0x01, 0x00, 0x79, 0x4f, 0xd4, 0xc9, 0xc3, 0xe5, 0x2e, 0x07, 0x31, 0xa0, 0xbb, 0xc6, 0xbb, 0xc6, 0xb3, 0x23, 0xb3, 0x03, 0xa2, 0x61, + 0x34, 0x02, 0x0c, 0x04, 0x00, 0x0f, 0x92, 0x10, 0x21, 0x60, 0xcc, 0xa9, 0xbb, 0xc6, 0xc4, 0x06, 0x0a, 0x00, 0x01, 0x84, 0x0b, 0x01, 0x88, 0x0a, + 0x01, 0x3c, 0x02, 0x03, 0x08, 0x00, 0x80, 0xaa, 0xa1, 0xbb, 0x85, 0xbb, 0xc6, 0xcc, 0xc9, 0x20, 0x00, 0x0f, 0x01, 0x00, 0x1f, 0x00, 0x80, 0x02, + 0x00, 0x9c, 0x00, 0x20, 0xaa, 0xc2, 0x0e, 0x00, 0x04, 0x01, 0x00, 0x01, 0xec, 0x0b, 0x09, 0x4c, 0x0b, 0x0f, 0x01, 0x00, 0x23, 0x20, 0xbb, 0xc6, + 0xbe, 0x0f, 0x20, 0xcc, 0xa9, 0xf0, 0x02, 0x00, 0x10, 0x00, 0x04, 0x01, 0x00, 0x00, 0xf8, 0x02, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x2d, 0x22, + 0xc4, 0x27, 0xf4, 0x08, 0x00, 0xc8, 0x0f, 0x00, 0x08, 0x00, 0x02, 0x01, 0x00, 0x00, 0xd0, 0x00, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x37, 0x26, + 0xa2, 0x81, 0x1e, 0x0a, 0x2a, 0xaa, 0xc2, 0xcc, 0x00, 0x00, 0x01, 0x00, 0x2f, 0xb3, 0x03, 0x24, 0x03, 0x2b, 0x00, 0x1c, 0x02, 0x00, 0x08, 0x00, + 0x00, 0x01, 0x00, 0x2c, 0xa2, 0x81, 0x76, 0x0a, 0x20, 0xa2, 0x40, 0x20, 0x00, 0x0f, 0x3c, 0x02, 0x21, 0x04, 0x01, 0x00, 0x06, 0x80, 0x01, 0x04, + 0x32, 0x01, 0x02, 0x01, 0x00, 0x42, 0xcc, 0xa9, 0xb3, 0x23, 0x44, 0x02, 0x0e, 0x20, 0x12, 0x0f, 0x01, 0x00, 0x19, 0x06, 0xfc, 0x0e, 0x20, 0xc4, + 0x06, 0xfa, 0x02, 0x60, 0xc4, 0x06, 0xb3, 0x44, 0xaa, 0xc2, 0x88, 0x01, 0x00, 0xa6, 0x02, 0x00, 0x9c, 0x02, 0x2f, 0xbb, 0x85, 0x04, 0x0f, 0x27, + 0x46, 0xcc, 0x68, 0xa2, 0x40, 0xe2, 0x04, 0x01, 0xac, 0x00, 0x03, 0x00, 0x03, 0x02, 0x1e, 0x06, 0x02, 0x01, 0x00, 0x24, 0xaa, 0xe3, 0xe4, 0x00, + 0x0f, 0x01, 0x00, 0x1d, 0x00, 0x9c, 0x00, 0x0f, 0x0a, 0x13, 0x35, 0x0f, 0x01, 0x00, 0x01, 0x4f, 0xc4, 0x26, 0xa2, 0x40, 0x80, 0x07, 0x43, 0x00, + 0x60, 0x01, 0x40, 0xb3, 0x23, 0xaa, 0xc2, 0x74, 0x01, 0x00, 0x10, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x4f, 0xd4, 0xc9, 0xa2, 0x81, 0x50, 0x11, 0x1d, + 0x00, 0xf8, 0x02, 0x00, 0x68, 0x01, 0x04, 0x70, 0x01, 0x00, 0xb8, 0x03, 0xc0, 0xaa, 0xe2, 0xbb, 0xa5, 0xbb, 0xa5, 0xc4, 0x26, 0xc3, 0xe5, 0xc4, + 0x26, 0x0a, 0x00, 0x00, 0xfc, 0x07, 0x04, 0x20, 0x00, 0x0f, 0x82, 0x01, 0x23, 0x00, 0x48, 0x00, 0x04, 0x88, 0x04, 0x00, 0x78, 0x04, 0x0f, 0x08, + 0x00, 0x02, 0x50, 0x40, 0xbb, 0xa5, 0xd4, 0xa8, 0x2e, 0x00, 0x0f, 0x01, 0x00, 0x31, 0xa4, 0xcc, 0x87, 0xd4, 0xc8, 0xcc, 0x67, 0xcc, 0x87, 0xcc, + 0x67, 0xf6, 0x07, 0x0f, 0x01, 0x00, 0xff, 0xff, 0xff, 0xf0, 0x06, 0x36, 0x17, 0x0c, 0x01, 0x00, 0x0f, 0x1a, 0x06, 0x2d, 0x01, 0x3c, 0x14, 0x05, + 0x80, 0x07, 0x08, 0x01, 0x00, 0x40, 0xcc, 0x87, 0xa2, 0x61, 0x54, 0x05, 0x0f, 0x62, 0x00, 0x29, 0x20, 0xaa, 0xe2, 0x1c, 0x05, 0x0f, 0x5e, 0x06, + 0x01, 0x00, 0x14, 0x09, 0x0f, 0x1a, 0x0c, 0x2d, 0x20, 0xd4, 0xe8, 0x9e, 0x0c, 0x00, 0x0a, 0x00, 0x04, 0x01, 0x00, 0x42, 0xcc, 0x67, 0xa2, 0x81, + 0x22, 0x16, 0x0c, 0x5e, 0x12, 0x20, 0xbb, 0xc6, 0x28, 0x1b, 0x04, 0x50, 0x0d, 0x0f, 0x01, 0x00, 0x13, 0x00, 0x38, 0x17, 0xa2, 0xbb, 0x64, 0xcc, + 0x87, 0xcc, 0x87, 0xbb, 0xa5, 0xbb, 0x64, 0xe8, 0x08, 0x04, 0x2a, 0x01, 0x00, 0xf8, 0x05, 0x00, 0x1e, 0x01, 0x00, 0x08, 0x00, 0x00, 0x18, 0x00, + 0x00, 0xbe, 0x06, 0x0f, 0xce, 0x00, 0x1f, 0x03, 0x9c, 0x06, 0x01, 0x70, 0x0d, 0x24, 0xaa, 0xe2, 0x48, 0x0b, 0x00, 0x01, 0x00, 0x40, 0xd4, 0xca, + 0xb3, 0x44, 0xb8, 0x08, 0x20, 0xaa, 0xe3, 0x24, 0x00, 0x0f, 0x5a, 0x00, 0x1f, 0x06, 0x01, 0x00, 0x21, 0xd4, 0xc8, 0x78, 0x19, 0x07, 0x5c, 0x00, + 0x0c, 0x01, 0x00, 0x00, 0xbc, 0x00, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x27, 0x00, 0x5c, 0x01, 0x00, 0x08, 0x00, 0x60, 0x00, 0x00, 0xcc, 0xc9, + 0xaa, 0xe3, 0x88, 0x07, 0x08, 0xca, 0x07, 0x2f, 0xcc, 0x68, 0x5c, 0x09, 0x25, 0x06, 0x01, 0x00, 0x02, 0xaa, 0x0e, 0x0a, 0x88, 0x07, 0x06, 0x16, + 0x01, 0x00, 0xc4, 0x09, 0x0f, 0x01, 0x00, 0x2d, 0x02, 0x08, 0x0c, 0x02, 0x68, 0x00, 0x00, 0x52, 0x00, 0x00, 0x94, 0x01, 0x0f, 0xc2, 0x1b, 0x2d, + 0x06, 0x01, 0x00, 0x01, 0xb4, 0x0c, 0x1a, 0x61, 0x26, 0x0b, 0x00, 0x04, 0x03, 0x0c, 0x14, 0x00, 0x0f, 0x01, 0x00, 0x21, 0x10, 0xcc, 0x3c, 0x09, + 0x14, 0x20, 0xba, 0x00, 0x08, 0x01, 0x00, 0x20, 0xcc, 0x68, 0xa6, 0x02, 0x04, 0xfe, 0x0a, 0x0f, 0x01, 0x00, 0x23, 0x20, 0xbb, 0xc6, 0x70, 0x01, + 0x0f, 0x06, 0x04, 0x07, 0x20, 0xaa, 0xe3, 0x20, 0x00, 0x00, 0xe8, 0x0d, 0x00, 0x0e, 0x00, 0x0f, 0x01, 0x00, 0x1d, 0x20, 0xbb, 0x85, 0x00, 0x03, + 0x00, 0x0a, 0x00, 0x00, 0x01, 0x00, 0x00, 0x4e, 0x0e, 0x20, 0xbb, 0x64, 0xaa, 0x09, 0x04, 0x18, 0x03, 0x02, 0x70, 0x03, 0x22, 0xbb, 0xa5, 0x10, + 0x00, 0x06, 0xf2, 0x01, 0x0f, 0x01, 0x00, 0x13, 0x01, 0x80, 0x04, 0x01, 0xdc, 0x02, 0x00, 0xa4, 0x00, 0x0f, 0x04, 0x00, 0x01, 0x08, 0xe4, 0x16, + 0x0f, 0xe4, 0x00, 0x07, 0x0f, 0x01, 0x00, 0x03, 0x00, 0x8e, 0x02, 0x04, 0x2a, 0x0e, 0x4f, 0xb3, 0x03, 0xbb, 0xa5, 0x9e, 0x00, 0x09, 0x0f, 0x7a, + 0x04, 0x1b, 0x02, 0x01, 0x00, 0x2a, 0xa2, 0x61, 0xde, 0x04, 0x0f, 0x01, 0x00, 0x07, 0x0f, 0x6c, 0x18, 0x29, 0x0c, 0xb6, 0x00, 0x00, 0x68, 0x01, + 0x0c, 0x78, 0x00, 0x0f, 0x80, 0x0d, 0x29, 0x00, 0x44, 0x05, 0x00, 0x08, 0x00, 0x02, 0x01, 0x00, 0x00, 0x74, 0x01, 0x20, 0xaa, 0xa1, 0xc0, 0x03, + 0x00, 0x0e, 0x00, 0x02, 0x01, 0x00, 0x0f, 0xa0, 0x04, 0x0d, 0x0f, 0x01, 0x00, 0x0b, 0x00, 0x2c, 0x02, 0x00, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x5a, 0x00, 0x00, 0x08, 0x00, 0x28, 0xc4, 0x27, 0x76, 0x00, 0x00, 0x3c, 0x02, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x23, 0x20, 0xc4, 0x27, 0xc4, + 0x06, 0x00, 0x0a, 0x00, 0x00, 0x7c, 0x13, 0x04, 0x56, 0x06, 0x22, 0xb3, 0x03, 0x6a, 0x00, 0x01, 0x06, 0x02, 0x0f, 0xb8, 0x0c, 0x1c, 0x0c, 0x01, + 0x00, 0x20, 0xb3, 0x44, 0xc4, 0x00, 0x00, 0x78, 0x01, 0x08, 0x48, 0x00, 0x20, 0xa2, 0x81, 0xd2, 0x03, 0x01, 0xdc, 0x03, 0x01, 0x7e, 0x00, 0x0f, + 0x01, 0x00, 0x29, 0x00, 0x4e, 0x06, 0x2a, 0xaa, 0xe3, 0x84, 0x02, 0x02, 0xf8, 0x01, 0x00, 0x90, 0x01, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x29, + 0x83, 0xcc, 0xa9, 0xcc, 0xa9, 0xc4, 0x27, 0xc4, 0x27, 0x5e, 0x12, 0x10, 0x44, 0x86, 0x0d, 0x02, 0x3c, 0x08, 0x00, 0x98, 0x04, 0x06, 0x08, 0x00, + 0x0f, 0xe4, 0x01, 0x1d, 0x00, 0xbe, 0x04, 0x00, 0x3a, 0x00, 0x00, 0xa4, 0x00, 0x0f, 0x08, 0x00, 0x11, 0x04, 0x9c, 0x01, 0x0f, 0x01, 0x00, 0xff, + 0xff, 0xff, 0x1c, 0x10, 0xff, 0x05, 0x00, 0x0f, 0x01, 0x00, 0x0c, 0x16, 0xff, 0x25, 0x00, 0x07, 0x0b, 0x00, 0x0f, 0x01, 0x00, 0x07, 0x16, 0xff, + 0x26, 0x00, 0x06, 0x0a, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x06, 0x31, 0x00, 0x06, 0x0a, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x11, 0xff, 0x01, 0x00, 0x03, + 0x0a, 0x00, 0x00, 0x07, 0x00, 0x0f, 0x01, 0x00, 0x0a, 0x00, 0x2c, 0x00, 0x01, 0x01, 0x00, 0x02, 0x0c, 0x00, 0x00, 0x13, 0x00, 0x0f, 0x01, 0x00, + 0x08, 0x00, 0x29, 0x00, 0x00, 0x24, 0x00, 0x02, 0x06, 0x00, 0x0f, 0xc1, 0x00, 0x0f, 0x04, 0x21, 0x00, 0x0f, 0x30, 0x00, 0x15, 0x04, 0x01, 0x00, + 0x0f, 0x30, 0x00, 0x1f, 0x00, 0x06, 0x00, 0x04, 0x07, 0x00, 0x0f, 0x01, 0x00, 0x0e, 0x03, 0x5f, 0x00, 0x05, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x0c, + 0x05, 0x27, 0x00, 0x00, 0xfe, 0x00, 0x03, 0x0b, 0x00, 0x0f, 0x01, 0x00, 0x07, 0x07, 0x24, 0x00, 0x00, 0x0b, 0x00, 0x06, 0x0e, 0x00, 0x0f, 0x01, + 0x00, 0x03, 0x08, 0x21, 0x00, 0x01, 0x0a, 0x00, 0x08, 0x11, 0x00, 0x0d, 0x01, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x04, 0x00, 0x04, + 0x06, 0x00, 0x01, 0x15, 0x00, 0x00, 0x08, 0x00, 0x0e, 0x01, 0x00, 0x00, 0x1a, 0x00, 0x03, 0x01, 0x00, 0x02, 0x0f, 0x00, 0x00, 0x06, 0x00, 0x00, + 0x09, 0x00, 0x00, 0x05, 0x00, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x08, 0x00, 0x03, 0x0f, 0x00, 0x0f, 0x01, 0x00, + 0x0e, 0x05, 0x2e, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x06, 0x00, 0x0f, 0x01, 0x00, 0x0c, 0x00, 0x30, 0x00, 0x03, 0x28, 0x00, 0x04, 0x08, 0x00, 0x0f, + 0x01, 0x00, 0x0b, 0x00, 0x30, 0x00, 0x02, 0x2a, 0x00, 0x02, 0x06, 0x00, 0x0f, 0x01, 0x00, 0x0d, 0x00, 0x26, 0x00, 0x02, 0x29, 0x00, 0x00, 0x0a, + 0x00, 0x0f, 0x01, 0x00, 0x0f, 0x06, 0x26, 0x00, 0x06, 0x0a, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x06, 0x26, 0x00, 0x06, 0x0a, 0x00, 0x0f, 0x01, 0x00, + 0x0a, 0x05, 0x27, 0x00, 0x05, 0x09, 0x00, 0x0f, 0x01, 0x00, 0x0b, 0x05, 0x27, 0x00, 0x05, 0x09, 0x00, 0x0f, 0x01, 0x00, 0x14, 0x0f, 0x2f, 0x00, + 0x1c, 0x0f, 0x01, 0x00, 0xff, 0x91, 0x00, 0xcb, 0x02, 0x0f, 0xd6, 0x01, 0x19, 0x00, 0x2a, 0x03, 0x0f, 0x30, 0x00, 0x1a, 0x00, 0x33, 0x00, 0x00, + 0x09, 0x00, 0x0f, 0x01, 0x00, 0x13, 0x01, 0x2c, 0x00, 0x03, 0x05, 0x00, 0x06, 0x01, 0x00, 0x00, 0x1a, 0x00, 0x0f, 0x01, 0x00, 0x03, 0x00, 0x1c, + 0x00, 0x02, 0x21, 0x00, 0x00, 0x28, 0x00, 0x04, 0x01, 0x00, 0x00, 0x1a, 0x00, 0x0f, 0x01, 0x00, 0x05, 0x0f, 0x1f, 0x00, 0x0c, 0x0e, 0x01, 0x00, + 0x0f, 0x2f, 0x00, 0x1c, 0x0f, 0x01, 0x00, 0x30, 0x0f, 0xa3, 0x00, 0x11, 0x00, 0xe7, 0x00, 0x08, 0x01, 0x00, 0x00, 0x14, 0x00, 0x0f, 0x01, 0x00, + 0x02, 0x02, 0x1c, 0x00, 0x00, 0x23, 0x00, 0x06, 0x01, 0x00, 0x00, 0x18, 0x00, 0x0f, 0x01, 0x00, 0x04, 0x00, 0x1f, 0x00, 0x03, 0x20, 0x00, 0x06, + 0x0a, 0x00, 0x0f, 0x01, 0x00, 0x07, 0x00, 0x24, 0x00, 0x04, 0x26, 0x00, 0x04, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x00, 0x24, 0x00, 0x00, 0x04, + 0x00, 0x03, 0x0b, 0x00, 0x0f, 0x01, 0x00, 0x12, 0x02, 0x29, 0x00, 0x02, 0x06, 0x00, 0x00, 0x01, 0x00, 0x06, 0x0a, 0x00, 0x0f, 0x01, 0x00, 0x03, + 0x02, 0x20, 0x00, 0x02, 0x06, 0x00, 0x01, 0x09, 0x00, 0x05, 0x0b, 0x00, 0x0f, 0x01, 0x00, 0x03, 0x01, 0x1f, 0x00, 0x01, 0x05, 0x00, 0x00, 0x07, + 0x00, 0x01, 0x01, 0x00, 0x00, 0x0b, 0x00, 0x0f, 0x01, 0x00, 0x06, 0x01, 0x1f, 0x00, 0x00, 0x26, 0x00, 0x03, 0x01, 0x00, 0x00, 0x0c, 0x00, 0x00, + 0x18, 0x00, 0x0f, 0x01, 0x00, 0x04, 0x03, 0x1e, 0x00, 0x00, 0x2a, 0x00, 0x03, 0x0b, 0x00, 0x02, 0x42, 0x00, 0x0f, 0x01, 0x00, 0x05, 0x04, 0x25, + 0x00, 0x0f, 0x01, 0x00, 0x15, 0x0f, 0x30, 0x00, 0x1a, 0x00, 0x83, 0x00, 0x0e, 0x30, 0x00, 0x0f, 0x14, 0x00, 0x01, 0x02, 0x01, 0x00, 0x00, 0x1a, + 0x00, 0x0f, 0x01, 0x00, 0x02, 0x00, 0x1d, 0x00, 0x0f, 0x01, 0x00, 0x03, 0x00, 0x1e, 0x00, 0x0d, 0x01, 0x00, 0x00, 0x19, 0x00, 0x0f, 0x01, 0x00, + 0x0d, 0x00, 0x28, 0x00, 0x0f, 0x2a, 0x00, 0x13, 0x0f, 0x01, 0x00, 0xff, 0xcd, 0x09, 0x04, 0x02, 0x09, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x00, 0x09, + 0x34, 0x02, 0x00, 0x0d, 0x00, 0x06, 0x0e, 0x00, 0x0f, 0x01, 0x00, 0x01, 0x09, 0x21, 0x00, 0x09, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x05, 0x21, + 0x00, 0x01, 0x09, 0x00, 0x00, 0x04, 0x00, 0x00, 0x01, 0x00, 0x0f, 0x38, 0x00, 0x07, 0x00, 0x1a, 0x00, 0x03, 0x01, 0x00, 0x0d, 0x0e, 0x00, 0x0f, + 0x01, 0x00, 0x02, 0x00, 0x1c, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0c, 0x00, 0x0a, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x05, 0x0d, 0x21, 0x00, 0x0b, 0x0f, + 0x00, 0x0e, 0x01, 0x00, 0x01, 0x21, 0x00, 0x00, 0x37, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x06, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x01, + 0xeb, 0x00, 0x02, 0x01, 0x00, 0x03, 0x0f, 0x00, 0x0f, 0x01, 0x00, 0x0c, 0x03, 0x2a, 0x00, 0x03, 0x07, 0x00, 0x0f, 0x01, 0x00, 0x0e, 0x06, 0x28, + 0x00, 0x06, 0x0a, 0x00, 0x0f, 0x01, 0x00, 0x07, 0x09, 0x24, 0x00, 0x09, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x0c, 0x22, 0x00, 0x00, 0x10, 0x00, + 0x09, 0x11, 0x00, 0x0a, 0x01, 0x00, 0x03, 0x1d, 0x00, 0x00, 0x25, 0x00, 0x02, 0x01, 0x00, 0x03, 0x0c, 0x00, 0x00, 0x15, 0x00, 0x0f, 0x01, 0x00, + 0x00, 0x01, 0x1a, 0x00, 0x00, 0x20, 0x00, 0x05, 0x01, 0x00, 0x00, 0x16, 0x00, 0x0f, 0x23, 0x01, 0x06, 0x02, 0x20, 0x00, 0x02, 0x06, 0x00, 0x06, + 0x01, 0x00, 0x0a, 0x0e, 0x00, 0x08, 0x01, 0x00, 0x0b, 0x29, 0x00, 0x02, 0x01, 0x00, 0x0f, 0x15, 0x00, 0x02, 0x05, 0x01, 0x00, 0x04, 0x1d, 0x00, + 0x06, 0x65, 0x00, 0x05, 0x09, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x03, 0x1e, 0x00, 0x00, 0xbb, 0x00, 0x05, 0x0a, 0x00, 0x00, 0x07, 0x00, 0x0f, 0x01, + 0x00, 0x05, 0x02, 0x1e, 0x00, 0x00, 0x06, 0x00, 0x03, 0x29, 0x00, 0x02, 0x06, 0x00, 0x0f, 0x01, 0x00, 0x06, 0x01, 0x26, 0x00, 0x01, 0x05, 0x00, + 0x02, 0x2a, 0x00, 0x02, 0x0b, 0x00, 0x0f, 0x01, 0x00, 0x08, 0x00, 0x89, 0x00, 0x03, 0x24, 0x00, 0x0f, 0x4d, 0x07, 0x0e, 0x01, 0x01, 0x00, 0x05, + 0x2f, 0x00, 0x00, 0xfc, 0x00, 0x04, 0x0b, 0x00, 0x0f, 0x01, 0x00, 0x07, 0x00, 0x2f, 0x00, 0x0d, 0x01, 0x00, 0x00, 0x19, 0x00, 0x0f, 0x01, 0x00, + 0x00, 0x00, 0x1b, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x00, 0x1d, 0x00, 0x0f, 0x01, 0x00, 0xff, 0x41, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +static const uint8_t fortune_text_heping[] = { + 0x1f, 0x00, 0x01, 0x00, 0x26, 0x20, 0xb3, 0x44, 0x06, 0x00, 0x60, 0x00, 0x00, 0xaa, 0xe2, 0xcc, 0xa9, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x3d, 0x20, + 0xa2, 0x60, 0x06, 0x00, 0x60, 0x00, 0x00, 0xa2, 0x81, 0xcc, 0x68, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x3d, 0x80, 0xc4, 0x27, 0xbb, 0xa6, 0xb3, 0x44, + 0xa2, 0x81, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x45, 0x2f, 0xc3, 0xe6, 0xbc, 0x00, 0x2b, 0xcf, 0xd4, 0xc8, 0xbb, 0xc5, 0xb3, 0x02, 0xa2, 0x20, 0xa2, + 0x60, 0xa2, 0x20, 0xaa, 0x00, 0x3d, 0xa0, 0xa2, 0x81, 0xaa, 0xa1, 0xa2, 0x40, 0xaa, 0xa1, 0xa2, 0x60, 0x08, 0x00, 0x40, 0xb3, 0x23, 0xbb, 0xc5, + 0x16, 0x00, 0x0f, 0x01, 0x00, 0x35, 0xe0, 0xbb, 0xc5, 0xa2, 0x60, 0xa2, 0x40, 0xbb, 0x64, 0xb3, 0x02, 0xa2, 0x60, 0xb3, 0x23, 0x12, 0x00, 0x04, + 0x01, 0x00, 0xf0, 0x01, 0xb3, 0x02, 0xd4, 0xa8, 0xcc, 0x67, 0xb3, 0x03, 0xaa, 0xc2, 0xa2, 0x40, 0xbb, 0x85, 0xcc, 0xca, 0x14, 0x00, 0x0f, 0x01, + 0x00, 0x27, 0x60, 0xd4, 0xa8, 0xa2, 0x40, 0xc3, 0xe6, 0x0a, 0x00, 0x02, 0x01, 0x00, 0x22, 0xc3, 0xe6, 0xd4, 0x00, 0x25, 0xa2, 0x81, 0x08, 0x00, + 0x03, 0x48, 0x02, 0x0f, 0x01, 0x00, 0x23, 0x60, 0xcc, 0x26, 0xa2, 0x81, 0xbb, 0x84, 0x0a, 0x00, 0x02, 0x01, 0x00, 0x66, 0xb3, 0x23, 0xa2, 0x81, + 0xa2, 0x20, 0x72, 0x00, 0x2f, 0xc4, 0x27, 0x62, 0x00, 0x2b, 0x60, 0xcc, 0x87, 0xa2, 0x60, 0xbb, 0x64, 0x0a, 0x00, 0x02, 0x01, 0x00, 0x2c, 0xbb, + 0x64, 0x4e, 0x00, 0x60, 0xbb, 0xa6, 0xaa, 0xa1, 0xc4, 0x27, 0x0a, 0x00, 0x0f, 0x01, 0x00, 0x21, 0x00, 0x88, 0x01, 0x44, 0xaa, 0xa1, 0xa2, 0x81, + 0x64, 0x00, 0x0f, 0xae, 0x00, 0x01, 0x40, 0xa2, 0x20, 0xaa, 0xc2, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x21, 0x40, 0xcc, 0x26, 0xa2, 0x40, 0x08, 0x00, + 0x22, 0xb3, 0x23, 0xe6, 0x01, 0x00, 0x4c, 0x02, 0x00, 0x08, 0x00, 0x08, 0x01, 0x00, 0x2e, 0xaa, 0xc2, 0x74, 0x00, 0x0f, 0x01, 0x00, 0x0b, 0x44, + 0xcc, 0x87, 0xb3, 0x23, 0xf8, 0x02, 0x22, 0xb3, 0x23, 0x70, 0x01, 0x6f, 0xaa, 0xa1, 0xa2, 0x20, 0xd4, 0xa8, 0x08, 0x03, 0x01, 0x2f, 0xb3, 0x23, + 0x60, 0x00, 0x1d, 0x02, 0x1c, 0x02, 0x00, 0xac, 0x00, 0x22, 0xaa, 0xa1, 0x10, 0x00, 0x00, 0x3a, 0x02, 0x40, 0xaa, 0xa1, 0xbb, 0xc5, 0x18, 0x00, + 0x00, 0x12, 0x00, 0x08, 0x01, 0x00, 0x00, 0x54, 0x02, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x19, 0x20, 0xd4, 0xc8, 0x06, 0x00, 0x22, 0xc3, 0xe6, + 0x16, 0x01, 0x60, 0xb3, 0x23, 0xcc, 0x26, 0xc3, 0xe6, 0x84, 0x01, 0x00, 0xd4, 0x00, 0x00, 0x12, 0x00, 0x08, 0x01, 0x00, 0x2e, 0xbb, 0xa6, 0xd4, + 0x00, 0x0f, 0x01, 0x00, 0x13, 0x00, 0xb8, 0x01, 0x20, 0xbb, 0x64, 0x5a, 0x00, 0x00, 0xf0, 0x02, 0x00, 0x12, 0x00, 0x04, 0x08, 0x00, 0x08, 0x01, + 0x00, 0x2e, 0xc3, 0xe6, 0x74, 0x00, 0x0f, 0x01, 0x00, 0x0f, 0x40, 0xb3, 0x23, 0xaa, 0xc2, 0x22, 0x01, 0x0a, 0x00, 0x03, 0x0f, 0x80, 0x01, 0x33, + 0x00, 0x01, 0x00, 0x40, 0xc3, 0xe6, 0xd4, 0xc8, 0x16, 0x01, 0x40, 0xa2, 0x60, 0xcc, 0x87, 0x10, 0x00, 0x02, 0x01, 0x00, 0x0f, 0x80, 0x01, 0x01, + 0x2e, 0xb3, 0x02, 0xd4, 0x00, 0x0f, 0x01, 0x00, 0x0d, 0x00, 0xca, 0x01, 0x01, 0x1e, 0x01, 0x50, 0x84, 0xa2, 0x60, 0xcc, 0x26, 0x12, 0x00, 0x02, + 0x01, 0x00, 0x0f, 0x80, 0x01, 0x01, 0x0f, 0xd4, 0x00, 0x01, 0x0f, 0x01, 0x00, 0x0d, 0x04, 0x30, 0x05, 0x00, 0x1c, 0x02, 0x08, 0x00, 0x07, 0x00, + 0xd6, 0x04, 0x00, 0x08, 0x00, 0x08, 0x01, 0x00, 0x40, 0xaa, 0xa1, 0xbb, 0xa6, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x19, 0x20, 0xcc, 0x67, 0xf4, 0x02, + 0x02, 0x1c, 0x02, 0x40, 0xb3, 0x23, 0xc4, 0x27, 0xae, 0x02, 0x00, 0x10, 0x00, 0x2c, 0xaa, 0xc2, 0xac, 0x00, 0x00, 0x18, 0x03, 0x00, 0x08, 0x00, + 0x0f, 0x01, 0x00, 0x1b, 0x00, 0xb4, 0x00, 0x00, 0x9c, 0x05, 0x00, 0x70, 0x01, 0x00, 0xe6, 0x01, 0x40, 0xaa, 0xa1, 0xaa, 0xe2, 0x18, 0x00, 0x00, + 0x90, 0x01, 0x00, 0x08, 0x00, 0x04, 0x01, 0x00, 0x00, 0xdc, 0x01, 0x02, 0xc4, 0x02, 0x0f, 0x01, 0x00, 0x1d, 0x40, 0xc4, 0x27, 0xbb, 0x85, 0x2c, + 0x05, 0x00, 0x84, 0x05, 0x06, 0x06, 0x07, 0x00, 0xca, 0x00, 0x00, 0x70, 0x01, 0x20, 0xa2, 0x20, 0xb8, 0x00, 0x01, 0x08, 0x00, 0x0f, 0x7c, 0x04, + 0x26, 0x00, 0x01, 0x00, 0x46, 0xc4, 0x27, 0xa2, 0x40, 0x5e, 0x00, 0x00, 0x01, 0x00, 0x00, 0xcc, 0x00, 0x00, 0x74, 0x00, 0x00, 0x08, 0x00, 0x2a, + 0xaa, 0xc2, 0x1c, 0x00, 0x0f, 0x01, 0x00, 0x1f, 0x4a, 0xcc, 0x68, 0xa2, 0x81, 0xbe, 0x01, 0x2f, 0xa2, 0x81, 0xb4, 0x06, 0x2d, 0x0a, 0x01, 0x00, + 0x2f, 0xa2, 0x60, 0xde, 0x05, 0x27, 0x0f, 0x01, 0x00, 0x11, 0x0f, 0x60, 0x00, 0x4d, 0x0f, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0x0b, 0x60, 0xcc, + 0x87, 0xd4, 0xa8, 0xcc, 0x26, 0xca, 0x06, 0xf0, 0x0d, 0xcc, 0x26, 0xbb, 0xc5, 0xc3, 0xe6, 0xbb, 0x84, 0xbb, 0xc5, 0xbb, 0x84, 0xc3, 0xe6, 0xbb, + 0xc5, 0xcc, 0x67, 0xcc, 0x26, 0xcc, 0x87, 0xcc, 0x67, 0xd4, 0xc8, 0xd4, 0xa8, 0x2a, 0x00, 0x0f, 0x01, 0x00, 0x1f, 0x20, 0xbb, 0xc5, 0xe0, 0x05, + 0x04, 0xe8, 0x05, 0x0f, 0x08, 0x00, 0x0b, 0x00, 0x30, 0x00, 0x0f, 0x01, 0x00, 0x1f, 0x20, 0xbb, 0xc5, 0xe4, 0x07, 0x20, 0xbb, 0xc5, 0xa4, 0x08, + 0x00, 0xb0, 0x00, 0x40, 0xd4, 0xa8, 0xaa, 0xe2, 0x0c, 0x07, 0x07, 0xd4, 0x00, 0x00, 0xd0, 0x00, 0x12, 0x64, 0x08, 0x08, 0x0f, 0x01, 0x00, 0x31, + 0x60, 0xcc, 0x67, 0xa2, 0x40, 0xcc, 0x67, 0x0a, 0x00, 0x0f, 0x01, 0x00, 0x43, 0x01, 0xcc, 0x0c, 0x03, 0x08, 0x0c, 0x0f, 0x01, 0x00, 0x43, 0x28, + 0xa2, 0x60, 0x2c, 0x0a, 0x0f, 0x01, 0x00, 0x3f, 0x22, 0xa2, 0x60, 0xa6, 0x08, 0x0f, 0x01, 0x00, 0x33, 0x00, 0xf8, 0x08, 0x00, 0x08, 0x00, 0x06, + 0x01, 0x00, 0x02, 0x34, 0x02, 0x00, 0x18, 0x00, 0x00, 0x08, 0x00, 0x02, 0x82, 0x09, 0x0f, 0x01, 0x00, 0x27, 0x0a, 0x7e, 0x02, 0x00, 0xaa, 0x08, + 0x00, 0xf0, 0x08, 0x04, 0x00, 0x09, 0x02, 0x08, 0x00, 0x00, 0x88, 0x09, 0x0f, 0x01, 0x00, 0x27, 0x02, 0x62, 0x00, 0x00, 0xac, 0x00, 0x06, 0x08, + 0x00, 0x00, 0x18, 0x00, 0x02, 0x01, 0x00, 0x00, 0xb0, 0x02, 0x2f, 0xa2, 0x81, 0xfe, 0x07, 0x2b, 0x24, 0xaa, 0xe2, 0xac, 0x00, 0x40, 0xaa, 0xa1, + 0xb3, 0x03, 0x08, 0x00, 0x00, 0x16, 0x00, 0x04, 0x01, 0x00, 0x4f, 0xbb, 0x85, 0xa2, 0x20, 0x92, 0x01, 0x39, 0x00, 0xc4, 0x00, 0x00, 0x08, 0x00, + 0x06, 0x01, 0x00, 0x0f, 0x20, 0x01, 0x2b, 0x0c, 0x01, 0x00, 0x00, 0xcc, 0x00, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x45, 0x00, 0x70, 0x01, 0x00, + 0x08, 0x00, 0x0f, 0x01, 0x00, 0x2d, 0xf0, 0x01, 0xb3, 0x44, 0xaa, 0xe2, 0xb3, 0x44, 0xb3, 0x03, 0xbb, 0x85, 0xb3, 0x44, 0xbb, 0xa6, 0xbb, 0x85, + 0x04, 0x00, 0x40, 0xc3, 0xe6, 0xb3, 0x44, 0x80, 0x01, 0x01, 0x14, 0x00, 0xb0, 0x85, 0xb3, 0x23, 0xbb, 0x85, 0xb3, 0x03, 0xb3, 0x23, 0xaa, 0xe2, + 0x92, 0x10, 0x20, 0xb3, 0x03, 0x36, 0x00, 0x0f, 0x01, 0x00, 0x17, 0x00, 0x68, 0x01, 0x06, 0xe8, 0x02, 0x0f, 0x08, 0x00, 0x11, 0x00, 0x36, 0x00, + 0x0f, 0x01, 0x00, 0x25, 0x00, 0x30, 0x0b, 0x00, 0xc8, 0x01, 0x20, 0xcc, 0xa9, 0x80, 0x01, 0x20, 0xcc, 0x68, 0x10, 0x00, 0x0f, 0x01, 0x00, 0x43, + 0x0f, 0x80, 0x01, 0x35, 0x0f, 0x01, 0x00, 0x05, 0x00, 0x80, 0x01, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x45, 0x00, 0x70, 0x01, 0x00, 0x08, 0x00, + 0x0f, 0x01, 0x00, 0x45, 0x00, 0x80, 0x01, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x2f, 0x00, 0x28, 0x0e, 0x00, 0x58, 0x12, 0x02, 0xb0, 0x06, 0x00, + 0x84, 0x02, 0x00, 0xbc, 0x00, 0x00, 0x80, 0x01, 0x00, 0xda, 0x07, 0x00, 0x1a, 0x00, 0x40, 0xa2, 0x40, 0xbb, 0x84, 0x06, 0x11, 0x21, 0xc3, 0xe6, + 0x68, 0x0e, 0x0f, 0x26, 0x04, 0x18, 0x20, 0xaa, 0xc2, 0x30, 0x11, 0x00, 0x0a, 0x00, 0x00, 0xc0, 0x0f, 0x00, 0x5a, 0x12, 0x02, 0x22, 0x10, 0x20, + 0xd4, 0xc8, 0x80, 0x01, 0x06, 0xc4, 0x06, 0x00, 0x5e, 0x11, 0x25, 0xaa, 0xe2, 0x2a, 0x00, 0x03, 0x16, 0x00, 0x0f, 0x01, 0x00, 0x29, 0x00, 0xd4, + 0x00, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x2b, 0x00, 0xd4, 0x08, 0x01, 0x92, 0x11, 0x10, 0x20, 0x52, 0x12, 0x00, 0xd8, 0x07, 0x00, 0xc4, 0x12, + 0x00, 0x10, 0x15, 0x00, 0x16, 0x01, 0x00, 0xb8, 0x00, 0x20, 0xaa, 0xc2, 0x10, 0x00, 0x20, 0xb3, 0x02, 0x00, 0x09, 0x00, 0x4a, 0x01, 0x0f, 0x96, + 0x13, 0x01, 0x0f, 0x01, 0x00, 0x07, 0x20, 0xbb, 0x64, 0x86, 0x08, 0x00, 0x0a, 0x00, 0x01, 0x4c, 0x00, 0x32, 0xe2, 0xbb, 0x84, 0x20, 0x01, 0x00, + 0xe2, 0x07, 0x44, 0xbb, 0x64, 0xaa, 0xe2, 0xb8, 0x06, 0x01, 0x46, 0x13, 0x14, 0x23, 0x0e, 0x00, 0x04, 0xb0, 0x17, 0x0f, 0x01, 0x00, 0xff, 0xff, + 0xff, 0x1e, 0x04, 0x5e, 0x04, 0x0e, 0x01, 0x00, 0x0f, 0x5a, 0x12, 0x2e, 0x10, 0x26, 0x58, 0x07, 0x0f, 0x70, 0x04, 0x01, 0x00, 0x14, 0x18, 0x00, + 0x4c, 0x05, 0x0f, 0x62, 0x00, 0x29, 0x00, 0x74, 0x05, 0x0f, 0x4e, 0x0c, 0x03, 0x00, 0x8c, 0x04, 0x2f, 0xaa, 0xc2, 0x16, 0x0a, 0x2b, 0x00, 0x4a, + 0x06, 0x0a, 0x16, 0x14, 0x42, 0xcc, 0x67, 0xaa, 0xa1, 0x86, 0x04, 0x0a, 0x90, 0x19, 0x00, 0xc2, 0x14, 0x0f, 0x00, 0x18, 0x20, 0x30, 0x67, 0xa2, + 0x20, 0xd6, 0x04, 0x20, 0xcc, 0x87, 0x62, 0x0d, 0x20, 0xa2, 0x60, 0xf8, 0x05, 0x04, 0x2a, 0x01, 0x02, 0x58, 0x05, 0x01, 0x34, 0x05, 0x00, 0x54, + 0x05, 0x00, 0x4c, 0x0b, 0x0f, 0xe2, 0x12, 0x20, 0x00, 0x1c, 0x0b, 0x02, 0x80, 0x01, 0x00, 0x9c, 0x06, 0x0a, 0xb2, 0x00, 0x00, 0x68, 0x09, 0x20, + 0xaa, 0xe2, 0x02, 0x00, 0x2f, 0xa2, 0x40, 0x5a, 0x00, 0x1f, 0x06, 0x01, 0x00, 0x6f, 0xd4, 0xa8, 0xbb, 0x64, 0xa2, 0x20, 0x42, 0x02, 0x07, 0x01, + 0xcc, 0x00, 0x0f, 0xb0, 0x08, 0x2c, 0x06, 0x5c, 0x01, 0x20, 0xcc, 0xca, 0xf4, 0x01, 0x40, 0xaa, 0xc2, 0xbb, 0x85, 0x0e, 0x00, 0x02, 0x01, 0x00, + 0x00, 0xbe, 0x14, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x29, 0x02, 0x38, 0x06, 0x00, 0x78, 0x16, 0x01, 0x6c, 0x01, 0x01, 0x04, 0x00, 0x06, 0x16, + 0x01, 0x0f, 0xcc, 0x09, 0x31, 0x20, 0xcc, 0xa9, 0x88, 0x01, 0x04, 0x50, 0x02, 0x20, 0xcc, 0xca, 0x98, 0x01, 0x0f, 0xce, 0x07, 0x31, 0x02, 0x01, + 0x00, 0x01, 0x48, 0x1a, 0x0b, 0x68, 0x0d, 0x00, 0x04, 0x03, 0x0c, 0x14, 0x00, 0x0f, 0x01, 0x00, 0x21, 0x01, 0xd2, 0x0a, 0x12, 0x40, 0x22, 0x01, + 0x0a, 0x01, 0x00, 0x20, 0xcc, 0x68, 0xd4, 0x00, 0x0f, 0xf6, 0x08, 0x19, 0x0e, 0x01, 0x00, 0x20, 0xbb, 0xa6, 0xe0, 0x02, 0x0f, 0x06, 0x04, 0x07, + 0x00, 0xc4, 0x02, 0x00, 0x0c, 0x03, 0x08, 0xf2, 0x01, 0x0f, 0x01, 0x00, 0x17, 0x20, 0xbb, 0x85, 0xfc, 0x02, 0x00, 0x0a, 0x00, 0x00, 0x01, 0x00, + 0x80, 0xcc, 0xa9, 0xbb, 0xa6, 0xbb, 0x64, 0xaa, 0xa1, 0x14, 0x00, 0x00, 0x80, 0x01, 0x00, 0x0a, 0x00, 0x00, 0x18, 0x00, 0x03, 0x40, 0x1c, 0x0f, + 0x08, 0x03, 0x1e, 0x01, 0x9c, 0x00, 0x01, 0x7c, 0x02, 0x00, 0xa4, 0x00, 0x00, 0x34, 0x02, 0x0c, 0x08, 0x00, 0x04, 0xf0, 0x01, 0x00, 0x01, 0x00, + 0x0f, 0xe4, 0x00, 0x07, 0x0f, 0x01, 0x00, 0x03, 0x00, 0x8e, 0x02, 0x04, 0x38, 0x18, 0x4f, 0xb3, 0x03, 0xbb, 0xa6, 0x9e, 0x00, 0x09, 0x0f, 0xa2, + 0x02, 0x21, 0x00, 0xe8, 0x11, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x0f, 0x00, 0xea, 0x0a, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x21, 0x0c, 0xb6, + 0x00, 0x00, 0x68, 0x01, 0x0c, 0x78, 0x00, 0x00, 0x90, 0x01, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x21, 0x28, 0xa2, 0x20, 0x9a, 0x02, 0x00, 0x78, + 0x01, 0x00, 0x74, 0x19, 0x02, 0xd8, 0x01, 0x02, 0x01, 0x00, 0x00, 0xa0, 0x04, 0x0a, 0xfc, 0x04, 0x0f, 0x01, 0x00, 0x19, 0x08, 0x9c, 0x00, 0x00, + 0xbc, 0x00, 0x00, 0x08, 0x00, 0x00, 0xf8, 0x02, 0x06, 0xbc, 0x03, 0x04, 0x04, 0x02, 0x0f, 0x01, 0x00, 0x23, 0x01, 0x2c, 0x1a, 0x01, 0x62, 0x00, + 0x44, 0xaa, 0xe2, 0xa2, 0x20, 0x86, 0x19, 0x00, 0xbc, 0x03, 0x00, 0x08, 0x00, 0x01, 0x16, 0x00, 0x1f, 0x60, 0xfc, 0x02, 0x23, 0x04, 0x01, 0x00, + 0x20, 0xb3, 0x44, 0xc4, 0x00, 0x00, 0xbc, 0x00, 0x08, 0x48, 0x00, 0x02, 0x8c, 0x04, 0x01, 0x88, 0x04, 0x01, 0x7e, 0x00, 0x0f, 0x01, 0x00, 0x29, + 0x20, 0xcc, 0xca, 0xc8, 0x0f, 0x0a, 0x84, 0x02, 0x02, 0xf8, 0x01, 0x00, 0x04, 0x03, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x29, 0x60, 0xcc, 0xa9, + 0xcc, 0xa9, 0xc4, 0x27, 0xca, 0x22, 0x80, 0xbb, 0xa6, 0xb3, 0x23, 0xbb, 0x64, 0xaa, 0xc2, 0xb0, 0x11, 0x00, 0x14, 0x06, 0x00, 0x98, 0x04, 0x00, + 0xc0, 0x00, 0x01, 0x08, 0x00, 0x1f, 0xc2, 0xe4, 0x01, 0x1d, 0x22, 0xcc, 0x68, 0xa4, 0x03, 0x00, 0x34, 0x02, 0x0f, 0x08, 0x00, 0x11, 0x0f, 0x60, + 0x00, 0x1d, 0x0f, 0x01, 0x00, 0xff, 0xff, 0x96, 0x10, 0xff, 0x04, 0x00, 0x00, 0x05, 0x00, 0x0f, 0x01, 0x00, 0x14, 0x00, 0x2b, 0x00, 0x0f, 0x30, + 0x00, 0x1a, 0x1f, 0xff, 0x2e, 0x00, 0x19, 0x00, 0x01, 0x00, 0x0f, 0x30, 0x00, 0x0d, 0x00, 0x52, 0x00, 0x0f, 0x55, 0x00, 0x17, 0x00, 0x2b, 0x00, + 0x01, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x0f, 0x00, 0x2a, 0x00, 0x05, 0x2d, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0c, + 0x00, 0x0f, 0x01, 0x00, 0x08, 0x04, 0x22, 0x00, 0x00, 0x2b, 0x00, 0x02, 0x01, 0x00, 0x00, 0x0e, 0x00, 0x0f, 0x01, 0x00, 0x07, 0x04, 0x21, 0x00, + 0x04, 0x2a, 0x00, 0x03, 0x07, 0x00, 0x0f, 0x01, 0x00, 0x06, 0x04, 0x20, 0x00, 0x03, 0x07, 0x00, 0x00, 0x09, 0x00, 0x04, 0x0a, 0x00, 0x0f, 0x01, + 0x00, 0x02, 0x00, 0x58, 0x00, 0x00, 0x21, 0x00, 0x01, 0x05, 0x00, 0x01, 0x01, 0x00, 0x06, 0x0a, 0x00, 0x0f, 0x01, 0x00, 0x01, 0x00, 0x1e, 0x00, + 0x04, 0x04, 0x00, 0x02, 0x01, 0x00, 0x06, 0x0a, 0x00, 0x0b, 0x01, 0x00, 0x00, 0x5a, 0x00, 0x01, 0x01, 0x00, 0x02, 0x0a, 0x00, 0x00, 0x13, 0x00, + 0x00, 0x01, 0x00, 0x06, 0x0a, 0x00, 0x0b, 0x01, 0x00, 0x00, 0x25, 0x00, 0x00, 0x1d, 0x00, 0x0f, 0x30, 0x00, 0x15, 0x00, 0x5f, 0x02, 0x00, 0x1d, + 0x00, 0x01, 0x2d, 0x00, 0x00, 0x09, 0x00, 0x02, 0x01, 0x00, 0x06, 0x0a, 0x00, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x2f, 0x00, 0x07, + 0x26, 0x00, 0x06, 0x0a, 0x00, 0x0d, 0x01, 0x00, 0x00, 0x2b, 0x00, 0x03, 0x1f, 0x00, 0x03, 0x07, 0x00, 0x09, 0x0a, 0x00, 0x0d, 0x01, 0x00, 0x00, + 0x2e, 0x00, 0x03, 0x1f, 0x00, 0x03, 0x07, 0x00, 0x09, 0x0a, 0x00, 0x0c, 0x01, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x04, 0x00, 0x00, 0x01, 0x00, 0x03, + 0x07, 0x00, 0x09, 0x0a, 0x00, 0x0c, 0x01, 0x00, 0x00, 0x1a, 0x00, 0x0f, 0x30, 0x00, 0x20, 0x01, 0x33, 0x00, 0x00, 0x04, 0x00, 0x01, 0x01, 0x00, + 0x05, 0x09, 0x00, 0x0e, 0x01, 0x00, 0x01, 0x8e, 0x00, 0x01, 0x01, 0x00, 0x06, 0x27, 0x00, 0x01, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x05, 0x00, 0x2b, + 0x00, 0x03, 0x21, 0x00, 0x00, 0x08, 0x00, 0x02, 0x01, 0x00, 0x00, 0x0e, 0x00, 0x0f, 0x01, 0x00, 0x07, 0x05, 0x21, 0x00, 0x00, 0x2b, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x08, 0x05, 0x22, 0x00, 0x04, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x0d, 0x0f, 0x28, 0x00, 0x15, 0x04, + 0x01, 0x00, 0x0f, 0x30, 0x00, 0x1d, 0x0f, 0x01, 0x00, 0xff, 0xfb, 0x00, 0xc1, 0x02, 0x0b, 0x01, 0x00, 0x00, 0x17, 0x00, 0x0f, 0x01, 0x00, 0x04, + 0x00, 0x1f, 0x00, 0x0e, 0x01, 0x00, 0x00, 0x1a, 0x00, 0x0f, 0x01, 0x00, 0x04, 0x00, 0x1f, 0x00, 0x0d, 0x01, 0x00, 0x00, 0x19, 0x00, 0x0f, 0x01, + 0x00, 0x0d, 0x0f, 0x27, 0x00, 0x14, 0x05, 0x01, 0x00, 0x0f, 0x30, 0x00, 0x1d, 0x0f, 0x36, 0x03, 0x1e, 0x0f, 0x30, 0x00, 0x14, 0x05, 0x27, 0x00, + 0x00, 0xe9, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x08, 0x03, 0x22, 0x00, 0x00, 0x2a, 0x00, 0x04, 0x01, 0x00, 0x00, 0x10, + 0x00, 0x0f, 0x01, 0x00, 0x07, 0x00, 0x22, 0x00, 0x02, 0x01, 0x00, 0x00, 0x0e, 0x00, 0x01, 0x0f, 0x00, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x07, + 0x00, 0x22, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x01, 0x0f, 0x00, 0x00, 0x07, 0x00, 0x0f, 0x01, 0x00, 0x0e, 0x05, 0x27, 0x00, 0x04, 0x08, + 0x00, 0x0f, 0x01, 0x00, 0x0c, 0x05, 0x30, 0x00, 0x0f, 0x01, 0x00, 0x14, 0x0f, 0x30, 0x00, 0x11, 0x00, 0xb6, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x00, + 0x1d, 0x00, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x00, 0x1d, 0x00, 0x0f, 0x01, 0x00, 0x07, 0x10, 0xff, 0x02, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x15, 0x0f, 0x2e, 0x00, 0x1b, 0x0f, 0x30, 0x00, 0x74, 0x00, 0xe5, 0x00, 0x01, 0x1b, 0x07, + 0x07, 0x01, 0x00, 0x01, 0x0e, 0x00, 0x00, 0x1d, 0x00, 0x0d, 0x01, 0x00, 0x02, 0x18, 0x00, 0x02, 0x1f, 0x00, 0x00, 0x06, 0x00, 0x06, 0x0e, 0x00, + 0x0f, 0x15, 0x02, 0x10, 0x01, 0x27, 0x00, 0x0f, 0x01, 0x00, 0x0b, 0x02, 0x7b, 0x00, 0x03, 0x06, 0x00, 0x06, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x1f, 0x00, 0x0d, 0x01, 0x00, 0x02, 0x18, 0x00, 0x03, 0x1f, 0x00, 0x0b, 0x07, 0x00, 0x00, 0x20, 0x00, 0x0f, 0x01, 0x00, 0xff, 0x84, 0x09, 0x9b, + 0x01, 0x09, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x00, 0x03, 0xcf, 0x01, 0x02, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x06, 0x0e, 0x00, 0x0f, 0x01, 0x00, 0x01, + 0x09, 0x21, 0x00, 0x09, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x03, 0x04, 0x21, 0x00, 0x01, 0x2a, 0x00, 0x00, 0x04, 0x00, 0x00, 0x01, 0x00, 0x01, 0x0d, + 0x00, 0x0f, 0x01, 0x00, 0x02, 0x00, 0x52, 0x00, 0x03, 0x01, 0x00, 0x0d, 0x0e, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x00, 0x1c, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x0c, 0x00, 0x05, 0x0e, 0x00, 0x00, 0x0b, 0x00, 0x0f, 0x01, 0x00, 0x06, 0x0d, 0x21, 0x00, 0x0b, 0x0f, 0x00, 0x0e, 0x01, 0x00, 0x01, 0x21, + 0x00, 0x00, 0x37, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x06, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x01, 0xeb, 0x00, 0x02, 0x01, 0x00, 0x03, + 0x0f, 0x00, 0x0f, 0x01, 0x00, 0x0c, 0x03, 0x2a, 0x00, 0x03, 0x07, 0x00, 0x0f, 0x01, 0x00, 0x0e, 0x06, 0x28, 0x00, 0x06, 0x0a, 0x00, 0x0f, 0x01, + 0x00, 0x07, 0x09, 0x24, 0x00, 0x09, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x0c, 0x22, 0x00, 0x00, 0x10, 0x00, 0x09, 0x11, 0x00, 0x0a, 0x01, 0x00, + 0x03, 0x1d, 0x00, 0x00, 0x25, 0x00, 0x02, 0x01, 0x00, 0x03, 0x0c, 0x00, 0x00, 0x15, 0x00, 0x0f, 0x01, 0x00, 0x00, 0x01, 0x1a, 0x00, 0x00, 0x20, + 0x00, 0x05, 0x01, 0x00, 0x00, 0x16, 0x00, 0x0f, 0x23, 0x01, 0x06, 0x02, 0x20, 0x00, 0x02, 0x06, 0x00, 0x06, 0x01, 0x00, 0x0a, 0x0e, 0x00, 0x08, + 0x01, 0x00, 0x0b, 0x29, 0x00, 0x02, 0x01, 0x00, 0x0f, 0x15, 0x00, 0x02, 0x05, 0x01, 0x00, 0x04, 0x1d, 0x00, 0x06, 0x65, 0x00, 0x05, 0x09, 0x00, + 0x0f, 0x01, 0x00, 0x02, 0x03, 0x1e, 0x00, 0x00, 0xbb, 0x00, 0x05, 0x0a, 0x00, 0x00, 0x07, 0x00, 0x0f, 0x01, 0x00, 0x05, 0x02, 0x1e, 0x00, 0x00, + 0x06, 0x00, 0x03, 0x29, 0x00, 0x02, 0x06, 0x00, 0x0f, 0x01, 0x00, 0x06, 0x01, 0x26, 0x00, 0x01, 0x05, 0x00, 0x02, 0x2a, 0x00, 0x02, 0x0b, 0x00, + 0x0f, 0x01, 0x00, 0x08, 0x00, 0x89, 0x00, 0x03, 0x24, 0x00, 0x02, 0xd3, 0x05, 0x00, 0x0a, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x05, 0x2f, 0x00, 0x00, + 0xfc, 0x00, 0x04, 0x0b, 0x00, 0x0f, 0x01, 0x00, 0x07, 0x00, 0x2f, 0x00, 0x0d, 0x01, 0x00, 0x00, 0x19, 0x00, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x1b, + 0x00, 0x0f, 0x01, 0x00, 0x02, 0x00, 0x1d, 0x00, 0x0f, 0x01, 0x00, 0xff, 0x41, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +static const uint8_t fortune_text_shangshang[] = { + 0x1f, 0x00, 0x01, 0x00, 0xd2, 0x20, 0xcc, 0x67, 0x06, 0x00, 0x0f, 0x01, 0x00, 0x45, 0x60, 0xd4, 0xc8, 0xa2, 0x60, 0xcc, 0x87, 0x0a, 0x00, 0x0f, + 0x01, 0x00, 0x43, 0x60, 0xd4, 0xc8, 0xa2, 0x81, 0xbb, 0x64, 0x0a, 0x00, 0x0f, 0x01, 0x00, 0x45, 0x40, 0xa2, 0x40, 0xb3, 0x24, 0x08, 0x00, 0x0f, + 0x01, 0x00, 0x45, 0x40, 0xa2, 0x81, 0xa2, 0x20, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x45, 0x40, 0xa2, 0x60, 0xa2, 0x81, 0x08, 0x00, 0x0f, 0x01, 0x00, + 0x45, 0x2f, 0xb3, 0x02, 0xc0, 0x00, 0x4b, 0x40, 0xbb, 0x64, 0xaa, 0xa1, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x45, 0x46, 0xc4, 0x26, 0xa2, 0x20, 0xa2, + 0x02, 0xf0, 0x03, 0xcc, 0x67, 0xbb, 0xc6, 0xb3, 0x24, 0xb3, 0x24, 0xaa, 0xa1, 0xaa, 0xa1, 0xa2, 0x20, 0xa2, 0x60, 0xc3, 0xe6, 0x16, 0x00, 0x0f, + 0x01, 0x00, 0x29, 0xf0, 0x01, 0xcc, 0x67, 0xa2, 0x81, 0xaa, 0xc2, 0xbb, 0x85, 0xa2, 0x81, 0xa2, 0x81, 0xa2, 0x40, 0xaa, 0xa1, 0x90, 0x01, 0x06, + 0x08, 0x00, 0x20, 0xc4, 0x26, 0x24, 0x00, 0x0f, 0x01, 0x00, 0x2b, 0x20, 0xa2, 0x20, 0x44, 0x02, 0x00, 0x04, 0x00, 0x40, 0xb3, 0x03, 0xbb, 0xc6, + 0x12, 0x00, 0x0f, 0x01, 0x00, 0x3b, 0x00, 0x0c, 0x01, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x45, 0x40, 0xa2, 0x20, 0xaa, 0xc2, 0x08, 0x00, 0x0f, + 0x01, 0x00, 0x45, 0x00, 0x7a, 0x01, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x45, 0x00, 0x7c, 0x01, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x45, 0x00, + 0x2c, 0x02, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x45, 0x00, 0xe8, 0x02, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x45, 0x00, 0xe8, 0x02, 0x00, 0x08, + 0x00, 0x0f, 0x01, 0x00, 0x45, 0x0f, 0x80, 0x01, 0xaf, 0x0f, 0x00, 0x03, 0x4e, 0x0f, 0x80, 0x01, 0x3a, 0x20, 0xbb, 0xc6, 0x1c, 0x05, 0x80, 0xaa, + 0xc2, 0xc4, 0x27, 0x00, 0x00, 0xcc, 0xca, 0x78, 0x04, 0x24, 0xa2, 0x81, 0x2a, 0x05, 0x40, 0xc4, 0x27, 0xaa, 0xe2, 0x10, 0x00, 0x02, 0x34, 0x07, + 0x20, 0xc4, 0x27, 0x7c, 0x03, 0x0f, 0x3e, 0x04, 0x19, 0x60, 0xbb, 0x64, 0xb3, 0x24, 0xcc, 0xca, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x60, 0xb3, 0x02, + 0xbb, 0x85, 0xcc, 0x89, 0x0c, 0x00, 0x82, 0x00, 0x00, 0xc3, 0xe6, 0xbb, 0x85, 0xb3, 0x02, 0x66, 0x00, 0x84, 0x00, 0x00, 0xcc, 0x68, 0xb3, 0x03, + 0xbb, 0x64, 0x3e, 0x05, 0x20, 0xb3, 0x03, 0x06, 0x00, 0x0f, 0x01, 0x00, 0x75, 0x21, 0xc3, 0xe6, 0xe0, 0x05, 0x10, 0x81, 0x20, 0x01, 0x40, 0x00, + 0x00, 0xb3, 0x24, 0x80, 0x01, 0x00, 0x02, 0x06, 0x00, 0x0e, 0x00, 0x20, 0xcc, 0x68, 0x1a, 0x00, 0x22, 0xa2, 0x40, 0x0e, 0x00, 0xa0, 0xc3, 0xe5, + 0xaa, 0xc2, 0xa2, 0x60, 0xaa, 0xe2, 0xd4, 0xa8, 0x0e, 0x00, 0x0f, 0x01, 0x00, 0x11, 0x60, 0xb3, 0x02, 0xbb, 0x64, 0xcc, 0x68, 0x0a, 0x00, 0x00, + 0x88, 0x01, 0x00, 0xaa, 0x06, 0x00, 0x0a, 0x00, 0x00, 0x01, 0x00, 0x20, 0xcc, 0x68, 0x0e, 0x00, 0x04, 0x00, 0x06, 0x64, 0xc4, 0x26, 0xb3, 0x24, + 0xb3, 0x02, 0x20, 0x01, 0x0f, 0x22, 0x09, 0x4b, 0x0f, 0x01, 0x00, 0xff, 0xff, 0xcd, 0x04, 0x44, 0x03, 0x0f, 0x01, 0x00, 0x43, 0x00, 0x1e, 0x0a, + 0x0f, 0x62, 0x00, 0x4b, 0x40, 0xa2, 0x60, 0xc3, 0xe5, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x45, 0x00, 0xde, 0x0a, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, + 0x45, 0x00, 0x4c, 0x05, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x45, 0x00, 0xc0, 0x06, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x45, 0x2f, 0xaa, 0xe2, + 0x9e, 0x08, 0x4b, 0x2f, 0xbb, 0xc6, 0xc0, 0x00, 0x4b, 0x60, 0xc4, 0x27, 0xaa, 0xa1, 0xcc, 0xa9, 0x0a, 0x00, 0x02, 0x01, 0x00, 0x80, 0xbb, 0xc6, + 0xbb, 0x85, 0xb3, 0x03, 0xb3, 0x02, 0xd8, 0x07, 0x22, 0xa2, 0x60, 0xe4, 0x06, 0x0f, 0x01, 0x00, 0x29, 0x60, 0xcc, 0xca, 0xa2, 0x20, 0xb3, 0x02, + 0x72, 0x0d, 0x00, 0x88, 0x0a, 0x00, 0x3c, 0x08, 0x08, 0x08, 0x00, 0x02, 0x28, 0x07, 0x0f, 0x01, 0x00, 0x2b, 0x00, 0x70, 0x07, 0x00, 0xac, 0x00, + 0x4f, 0xa2, 0x81, 0xb3, 0x02, 0xb0, 0x00, 0x2f, 0x0e, 0x01, 0x00, 0x00, 0x0c, 0x09, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x45, 0x2f, 0xaa, 0xa1, + 0x60, 0x00, 0x4b, 0x2f, 0xa2, 0x20, 0x62, 0x03, 0x4e, 0x0f, 0x80, 0x0a, 0x3a, 0x0c, 0x01, 0x00, 0x00, 0x2c, 0x02, 0x00, 0x08, 0x00, 0x0f, 0x01, + 0x00, 0x45, 0x00, 0x3c, 0x02, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x45, 0x00, 0xe8, 0x02, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x45, 0x0f, 0x80, + 0x01, 0xaf, 0x0f, 0xa0, 0x02, 0x4c, 0x0f, 0x80, 0x01, 0x3c, 0x40, 0xc3, 0xe5, 0xa2, 0x60, 0xe6, 0x0b, 0x02, 0x5a, 0x15, 0x00, 0x78, 0x04, 0x42, + 0xa2, 0x40, 0xaa, 0xe2, 0xca, 0x04, 0x20, 0xcc, 0x87, 0x1a, 0x00, 0x00, 0x00, 0x0c, 0x20, 0xd4, 0xc8, 0x2a, 0x0c, 0x60, 0xb3, 0x02, 0xa2, 0x60, + 0xb3, 0x02, 0x1a, 0x00, 0x0f, 0x01, 0x00, 0x13, 0x26, 0xaa, 0xe2, 0xf6, 0x0c, 0x01, 0x88, 0x05, 0x14, 0x03, 0xbc, 0x12, 0x40, 0xc4, 0x26, 0xb3, + 0x02, 0x14, 0x0d, 0x00, 0x0c, 0x00, 0x00, 0x84, 0x00, 0x45, 0xb3, 0x03, 0xaa, 0xe2, 0x2a, 0x00, 0x03, 0x16, 0x00, 0x0f, 0x01, 0x00, 0x6f, 0x00, + 0xf6, 0x00, 0x20, 0xbb, 0x64, 0xdc, 0x05, 0x20, 0xaa, 0xa1, 0x12, 0x01, 0x40, 0xcc, 0x67, 0xb3, 0x24, 0x80, 0x01, 0x00, 0x12, 0x01, 0x00, 0xca, + 0x00, 0x01, 0x12, 0x0d, 0x10, 0x20, 0x14, 0x01, 0x40, 0xd4, 0xc8, 0xd4, 0xc8, 0x4a, 0x01, 0x00, 0x5c, 0x0e, 0x00, 0x3a, 0x00, 0x0f, 0x01, 0x00, + 0x13, 0x00, 0x40, 0x0e, 0x04, 0x4e, 0x0d, 0x20, 0xc3, 0xe5, 0x76, 0x01, 0x00, 0x56, 0x00, 0x00, 0x01, 0x00, 0x46, 0xc4, 0x26, 0xbb, 0x64, 0x12, + 0x01, 0x64, 0xcc, 0x87, 0xb3, 0x03, 0xb3, 0x24, 0x1a, 0x09, 0x0f, 0x20, 0x01, 0x77, 0x0f, 0x01, 0x00, 0xff, 0xff, 0x9b, 0x04, 0x4c, 0x03, 0x0e, + 0x01, 0x00, 0x04, 0xa2, 0x10, 0x0f, 0x01, 0x00, 0x25, 0x40, 0xc4, 0x26, 0xaa, 0xa1, 0xb4, 0x09, 0x00, 0x0c, 0x00, 0x0a, 0x01, 0x00, 0x21, 0xcc, + 0x87, 0x5c, 0x05, 0x1f, 0x60, 0x62, 0x00, 0x29, 0x00, 0x74, 0x05, 0x22, 0xa2, 0x40, 0x9e, 0x05, 0x0a, 0x01, 0x00, 0x00, 0x8c, 0x04, 0x02, 0xd8, + 0x12, 0x0f, 0x01, 0x00, 0x29, 0x2a, 0xa2, 0x81, 0x90, 0x12, 0x42, 0xcc, 0x67, 0xaa, 0xa1, 0x86, 0x04, 0x24, 0xa2, 0x40, 0xa0, 0x11, 0x02, 0x01, + 0x00, 0x20, 0xbb, 0xc6, 0x00, 0x12, 0x00, 0x0a, 0x00, 0x0f, 0x01, 0x00, 0x17, 0xe1, 0xcc, 0x67, 0xa2, 0x20, 0xbb, 0x64, 0xcc, 0x87, 0xcc, 0x87, + 0xc3, 0xe5, 0xbb, 0x64, 0x20, 0x05, 0x05, 0xc0, 0x09, 0x02, 0x0c, 0x00, 0x02, 0x14, 0x00, 0x03, 0x04, 0x00, 0x03, 0x86, 0x12, 0x0f, 0x01, 0x00, + 0x19, 0x00, 0x20, 0x01, 0x02, 0x80, 0x01, 0x00, 0x9c, 0x12, 0x04, 0x72, 0x13, 0x02, 0x01, 0x00, 0x00, 0x72, 0x00, 0x8f, 0xaa, 0xe2, 0xb3, 0x02, + 0xaa, 0xe2, 0xa2, 0x40, 0x5a, 0x00, 0x1f, 0x06, 0x01, 0x00, 0x6f, 0xd4, 0xc8, 0xbb, 0x64, 0xa2, 0x20, 0x42, 0x02, 0x07, 0x01, 0xcc, 0x00, 0x0f, + 0x56, 0x08, 0x2c, 0x06, 0x5c, 0x01, 0x21, 0xcc, 0xa9, 0xd4, 0x00, 0x03, 0x84, 0x13, 0x02, 0x01, 0x00, 0x2f, 0xcc, 0x68, 0x60, 0x00, 0x2d, 0x00, + 0x0e, 0x01, 0x00, 0x06, 0x00, 0x23, 0xaa, 0xc2, 0x6c, 0x01, 0x01, 0x04, 0x00, 0x06, 0x16, 0x01, 0x04, 0xc8, 0x14, 0x0f, 0x01, 0x00, 0x29, 0x20, + 0xcc, 0x89, 0x88, 0x01, 0x04, 0xe6, 0x13, 0x20, 0xcc, 0xca, 0x98, 0x01, 0x02, 0x76, 0x00, 0x0f, 0x01, 0x00, 0x31, 0x00, 0xbc, 0x1b, 0x24, 0xa2, + 0x81, 0x62, 0x15, 0x02, 0x01, 0x00, 0x00, 0x04, 0x03, 0x0c, 0x14, 0x00, 0x0f, 0x01, 0x00, 0x21, 0x21, 0xcc, 0xa9, 0xe8, 0x08, 0x0f, 0xac, 0x00, + 0x00, 0x20, 0xcc, 0x68, 0xd4, 0x00, 0x20, 0xaa, 0xe2, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x25, 0x20, 0xbb, 0xc6, 0x6c, 0x01, 0x0f, 0x06, 0x04, 0x07, + 0x00, 0xa0, 0x0e, 0x00, 0x0c, 0x03, 0x08, 0xf2, 0x01, 0x0f, 0x01, 0x00, 0x17, 0x20, 0xbb, 0x85, 0xfc, 0x02, 0x00, 0x0a, 0x00, 0x00, 0x01, 0x00, + 0x40, 0xd4, 0xa9, 0xbb, 0xc6, 0x86, 0x1c, 0x00, 0x14, 0x00, 0x00, 0x80, 0x01, 0x00, 0x0a, 0x00, 0x00, 0x18, 0x00, 0x22, 0xbb, 0x85, 0x10, 0x00, + 0x06, 0xf2, 0x01, 0x0f, 0x01, 0x00, 0x13, 0x20, 0xaa, 0xe2, 0xa2, 0x03, 0x00, 0x0a, 0x00, 0x06, 0xe8, 0x0e, 0x0a, 0x08, 0x00, 0x04, 0xf0, 0x01, + 0x00, 0x01, 0x00, 0x0f, 0xe4, 0x00, 0x07, 0x0f, 0x01, 0x00, 0x03, 0x00, 0x8e, 0x02, 0x04, 0x5c, 0x01, 0x00, 0x10, 0x1c, 0x0f, 0x9e, 0x00, 0x1d, + 0x0f, 0x01, 0x00, 0x0d, 0x04, 0xdc, 0x17, 0x0f, 0x01, 0x00, 0x0f, 0x00, 0xea, 0x0a, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x21, 0x0c, 0xb6, 0x00, + 0x00, 0x68, 0x01, 0x0a, 0x56, 0x05, 0x01, 0x14, 0x00, 0x05, 0xa4, 0x01, 0x0f, 0x01, 0x00, 0x1d, 0x00, 0x44, 0x05, 0x00, 0x08, 0x00, 0x02, 0x01, + 0x00, 0x00, 0x78, 0x01, 0x00, 0x80, 0x10, 0x02, 0xd8, 0x01, 0x02, 0x01, 0x00, 0x00, 0xa0, 0x04, 0x0a, 0xfc, 0x04, 0x0f, 0x01, 0x00, 0x19, 0x08, + 0x9c, 0x00, 0x00, 0xbc, 0x00, 0x00, 0x08, 0x00, 0x28, 0xc4, 0x27, 0x10, 0x03, 0x04, 0x04, 0x02, 0x0f, 0x01, 0x00, 0x23, 0x01, 0x5a, 0x19, 0x01, + 0x62, 0x00, 0x00, 0x70, 0x19, 0x04, 0x56, 0x06, 0x24, 0xb3, 0x03, 0x0c, 0x12, 0x00, 0x76, 0x12, 0x0f, 0xfc, 0x02, 0x23, 0x04, 0x01, 0x00, 0x00, + 0xf2, 0x02, 0x02, 0xe0, 0x02, 0x08, 0x48, 0x00, 0x02, 0x8c, 0x04, 0x01, 0x88, 0x04, 0x01, 0x7e, 0x00, 0x0f, 0x01, 0x00, 0x29, 0x4c, 0xcc, 0xca, + 0xbb, 0x64, 0xd4, 0x01, 0x02, 0xf8, 0x01, 0x00, 0x04, 0x03, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x29, 0xa0, 0xcc, 0xa9, 0xcc, 0xa9, 0xc4, 0x27, + 0xc4, 0x27, 0xbb, 0xc6, 0x28, 0x19, 0x00, 0xfc, 0x0b, 0x00, 0x14, 0x01, 0x00, 0x14, 0x06, 0x00, 0x98, 0x04, 0x00, 0xc0, 0x00, 0x01, 0x08, 0x00, + 0x1f, 0xc2, 0xe4, 0x01, 0x1d, 0x22, 0xcc, 0x68, 0xa4, 0x03, 0x0f, 0x04, 0x00, 0x15, 0x04, 0x9c, 0x01, 0x0f, 0x01, 0x00, 0xff, 0xff, 0xff, 0x15, + 0x10, 0xff, 0x05, 0x00, 0x0f, 0x01, 0x00, 0x17, 0x2f, 0xff, 0xff, 0x31, 0x00, 0x1b, 0x0f, 0x30, 0x00, 0x1d, 0x1f, 0x00, 0x30, 0x00, 0xdf, 0x01, + 0x31, 0x00, 0x14, 0xff, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x00, 0x24, 0x00, 0x08, 0x01, 0x00, 0x00, 0x14, 0x00, 0x0f, 0x01, + 0x00, 0x0a, 0x00, 0x25, 0x00, 0x0f, 0x28, 0x00, 0x11, 0x04, 0x01, 0x00, 0x0f, 0x2b, 0x00, 0x18, 0x01, 0x01, 0x00, 0x0f, 0x30, 0x00, 0xff, 0xc6, + 0x00, 0x35, 0x02, 0x12, 0xff, 0x06, 0x00, 0x14, 0xff, 0x0e, 0x00, 0x01, 0x07, 0x00, 0x00, 0x1d, 0x00, 0x0d, 0x01, 0x00, 0x02, 0x18, 0x00, 0x03, + 0x1f, 0x00, 0x0b, 0x07, 0x00, 0x00, 0x20, 0x00, 0x0f, 0x01, 0x00, 0x2f, 0x00, 0x4e, 0x00, 0x03, 0x82, 0x00, 0x0d, 0x07, 0x00, 0x0e, 0x01, 0x00, + 0x02, 0x17, 0x00, 0x02, 0x06, 0x00, 0x00, 0x07, 0x00, 0x00, 0x08, 0x00, 0x04, 0x07, 0x00, 0x00, 0x13, 0x00, 0x0f, 0x01, 0x00, 0xff, 0x87, 0x0f, + 0x9e, 0x01, 0x1c, 0x02, 0xd3, 0x01, 0x0f, 0x01, 0x00, 0x18, 0x0f, 0x30, 0x00, 0xff, 0x10, 0x02, 0x31, 0x00, 0x00, 0x2d, 0x03, 0x00, 0x01, 0x00, + 0x00, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x00, 0x24, 0x00, 0x08, 0x01, 0x00, 0x00, 0x14, 0x00, 0x0f, 0x01, 0x00, 0x0a, 0x00, 0x25, 0x00, 0x0f, + 0x28, 0x00, 0x11, 0x04, 0x01, 0x00, 0x0f, 0x2b, 0x00, 0x18, 0x01, 0x01, 0x00, 0x0f, 0x30, 0x00, 0xff, 0xc6, 0x00, 0x35, 0x02, 0x06, 0xf2, 0x05, + 0x00, 0x06, 0x00, 0x03, 0x9f, 0x06, 0x00, 0x1d, 0x00, 0x0d, 0x01, 0x00, 0x02, 0x18, 0x00, 0x03, 0x1f, 0x00, 0x0b, 0x07, 0x00, 0x00, 0x20, 0x00, + 0x0f, 0x01, 0x00, 0x2d, 0x02, 0x7b, 0x00, 0x03, 0x06, 0x00, 0x06, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, 0x1f, 0x00, 0x0d, 0x01, 0x00, 0x02, 0x18, + 0x00, 0x03, 0x1f, 0x00, 0x0b, 0x07, 0x00, 0x00, 0x20, 0x00, 0x0f, 0x01, 0x00, 0xff, 0x84, 0x09, 0x9b, 0x01, 0x09, 0x0d, 0x00, 0x0f, 0x01, 0x00, + 0x00, 0x03, 0xcf, 0x01, 0x02, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x06, 0x0e, 0x00, 0x0f, 0x01, 0x00, 0x01, 0x09, 0x21, 0x00, 0x09, 0x0d, 0x00, 0x0f, + 0x01, 0x00, 0x03, 0x04, 0x21, 0x00, 0x01, 0x2a, 0x00, 0x00, 0x04, 0x00, 0x00, 0x01, 0x00, 0x01, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x00, 0x52, + 0x00, 0x03, 0x01, 0x00, 0x0d, 0x0e, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x00, 0x1c, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0c, 0x00, 0x05, 0x0e, 0x00, 0x00, + 0x0b, 0x00, 0x0f, 0x01, 0x00, 0x06, 0x0d, 0x21, 0x00, 0x0b, 0x0f, 0x00, 0x0e, 0x01, 0x00, 0x01, 0x21, 0x00, 0x00, 0x37, 0x00, 0x00, 0x08, 0x00, + 0x00, 0x0a, 0x00, 0x00, 0x06, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x01, 0xeb, 0x00, 0x02, 0x01, 0x00, 0x03, 0x0f, 0x00, 0x0f, 0x01, 0x00, 0x0c, 0x03, + 0x2a, 0x00, 0x03, 0x07, 0x00, 0x0f, 0x01, 0x00, 0x0e, 0x06, 0x28, 0x00, 0x06, 0x0a, 0x00, 0x0f, 0x01, 0x00, 0x07, 0x09, 0x24, 0x00, 0x09, 0x0d, + 0x00, 0x0f, 0x01, 0x00, 0x02, 0x0c, 0x22, 0x00, 0x00, 0x10, 0x00, 0x09, 0x11, 0x00, 0x0a, 0x01, 0x00, 0x03, 0x1d, 0x00, 0x00, 0x25, 0x00, 0x02, + 0x01, 0x00, 0x03, 0x0c, 0x00, 0x00, 0x15, 0x00, 0x0f, 0x01, 0x00, 0x00, 0x01, 0x1a, 0x00, 0x00, 0x20, 0x00, 0x05, 0x01, 0x00, 0x00, 0x16, 0x00, + 0x0f, 0x23, 0x01, 0x06, 0x02, 0x20, 0x00, 0x02, 0x06, 0x00, 0x0f, 0x01, 0x00, 0x11, 0x0f, 0x29, 0x00, 0x02, 0x0f, 0x15, 0x00, 0x02, 0x05, 0x01, + 0x00, 0x04, 0x1d, 0x00, 0x06, 0x65, 0x00, 0x05, 0x09, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x03, 0x1e, 0x00, 0x00, 0xbb, 0x00, 0x05, 0x0a, 0x00, 0x00, + 0x07, 0x00, 0x0f, 0x01, 0x00, 0x05, 0x02, 0x1e, 0x00, 0x00, 0x06, 0x00, 0x03, 0x29, 0x00, 0x02, 0x06, 0x00, 0x0f, 0x01, 0x00, 0x06, 0x01, 0x26, + 0x00, 0x01, 0x05, 0x00, 0x02, 0x2a, 0x00, 0x02, 0x0b, 0x00, 0x0f, 0x01, 0x00, 0x08, 0x00, 0x89, 0x00, 0x03, 0x24, 0x00, 0x02, 0xd3, 0x05, 0x00, + 0x0a, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x06, 0x23, 0x00, 0x01, 0x6a, 0x00, 0x00, 0x09, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x00, 0x5e, 0x00, 0x0d, 0x01, + 0x00, 0x00, 0x19, 0x00, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x00, 0x1d, 0x00, 0x0f, 0x01, 0x00, 0xff, 0x41, 0x50, + 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +static const uint8_t fortune_text_xiaoji[] = { + 0x1f, 0x00, 0x01, 0x00, 0xd8, 0x20, 0xc3, 0xe6, 0x06, 0x00, 0x0f, 0x01, 0x00, 0x45, 0x60, 0xcc, 0x26, 0xaa, 0x81, 0xb3, 0x43, 0x0a, 0x00, 0x0f, + 0x01, 0x00, 0x45, 0x40, 0xa2, 0x20, 0xa2, 0x61, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x45, 0x40, 0xaa, 0x81, 0xa2, 0x40, 0x08, 0x00, 0x0f, 0x01, 0x00, + 0x45, 0x60, 0xbb, 0x64, 0xa2, 0x61, 0xbb, 0xa5, 0x0a, 0x00, 0x0f, 0x01, 0x00, 0x45, 0x40, 0xa2, 0x40, 0xaa, 0xc2, 0x08, 0x00, 0x0f, 0x01, 0x00, + 0x45, 0x2f, 0xa2, 0x61, 0x22, 0x01, 0x4b, 0x40, 0xa2, 0x40, 0xaa, 0x81, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x37, 0x40, 0xb3, 0x43, 0xaa, 0xe2, 0x08, + 0x00, 0x02, 0x01, 0x00, 0x60, 0xb3, 0x03, 0xa2, 0x20, 0xd4, 0xa8, 0x0a, 0x00, 0x01, 0xcc, 0x00, 0x0f, 0x4e, 0x02, 0x2e, 0x2a, 0xbb, 0xa5, 0x34, + 0x02, 0x00, 0x10, 0x00, 0x04, 0xe2, 0x01, 0x60, 0xaa, 0x81, 0xaa, 0x81, 0xbb, 0x64, 0x0a, 0x00, 0x0f, 0x01, 0x00, 0x25, 0x20, 0xd4, 0xe8, 0x70, + 0x01, 0x20, 0xd4, 0xe8, 0x0c, 0x00, 0x02, 0x01, 0x00, 0x46, 0xcc, 0x87, 0xa2, 0x40, 0xd0, 0x00, 0x00, 0x10, 0x03, 0x20, 0xcc, 0x68, 0x0a, 0x00, + 0x0f, 0x01, 0x00, 0x23, 0x4c, 0xaa, 0xc2, 0xa2, 0x40, 0x14, 0x04, 0x0a, 0xd0, 0x00, 0x0f, 0x90, 0x01, 0x29, 0x46, 0xc3, 0xe6, 0xa2, 0x20, 0xac, + 0x00, 0x04, 0x01, 0x00, 0x00, 0xb4, 0x00, 0x00, 0x08, 0x00, 0x02, 0x01, 0x00, 0x00, 0x24, 0x00, 0x08, 0x10, 0x00, 0x0f, 0x01, 0x00, 0x19, 0x0f, + 0x9c, 0x00, 0x03, 0x0a, 0xc0, 0x00, 0x01, 0x74, 0x03, 0x07, 0x32, 0x01, 0x0f, 0x01, 0x00, 0x17, 0x4f, 0xb3, 0x43, 0xa2, 0x61, 0xce, 0x04, 0x01, + 0x2c, 0xa2, 0x40, 0xb0, 0x00, 0x4f, 0xaa, 0xe2, 0xa2, 0x20, 0x76, 0x03, 0x1f, 0x0c, 0xa8, 0x00, 0x04, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x08, + 0x00, 0x08, 0x01, 0x00, 0x2e, 0xaa, 0xe2, 0x14, 0x00, 0x0f, 0x01, 0x00, 0x0b, 0x4f, 0xbb, 0xa5, 0xa2, 0x20, 0x7c, 0x02, 0x03, 0x2c, 0xaa, 0x81, + 0xc0, 0x00, 0x0f, 0x01, 0x00, 0x21, 0x2f, 0xa2, 0x61, 0x7c, 0x01, 0x01, 0x00, 0x01, 0x00, 0x2f, 0xb3, 0x43, 0xac, 0x00, 0x1d, 0x0f, 0x01, 0x00, + 0x1b, 0x2f, 0xb3, 0x03, 0xf4, 0x02, 0x2b, 0x0f, 0x01, 0x00, 0x0d, 0x00, 0x30, 0x02, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x45, 0x0f, 0x76, 0x04, + 0x31, 0x0f, 0x01, 0x00, 0x09, 0x0f, 0x58, 0x02, 0x05, 0x0f, 0x01, 0x00, 0x33, 0x2f, 0xcc, 0x68, 0x4e, 0x03, 0x23, 0x0f, 0x01, 0x00, 0x09, 0x20, + 0xc4, 0x48, 0xb4, 0x00, 0x40, 0xc3, 0xe6, 0xc4, 0x07, 0x7c, 0x01, 0x0f, 0x58, 0x02, 0x05, 0x0f, 0x01, 0x00, 0x29, 0x40, 0xaa, 0xc2, 0xa2, 0x61, + 0x68, 0x04, 0x00, 0x04, 0x00, 0x20, 0xcc, 0x89, 0x12, 0x00, 0x0f, 0x01, 0x00, 0x41, 0x20, 0xc4, 0x48, 0x06, 0x00, 0x0f, 0x01, 0x00, 0xff, 0xff, + 0xff, 0xb0, 0x04, 0x1e, 0x0a, 0x0f, 0x01, 0x00, 0x43, 0x40, 0xaa, 0xc2, 0xa2, 0x20, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x45, 0x0f, 0x40, 0x05, 0x43, + 0x06, 0x01, 0x00, 0x2f, 0xa2, 0x61, 0xea, 0x08, 0x1f, 0x0f, 0x01, 0x00, 0x03, 0x00, 0xe8, 0x08, 0x00, 0xf8, 0x05, 0x0e, 0x04, 0x00, 0xf0, 0x03, + 0xaa, 0x81, 0xaa, 0xe2, 0xaa, 0xc2, 0xb3, 0x43, 0xb3, 0x43, 0xbb, 0xa5, 0xbb, 0xa5, 0xcc, 0x26, 0xcc, 0x87, 0x30, 0x00, 0x0f, 0x01, 0x00, 0x1d, + 0x20, 0xaa, 0xe2, 0x46, 0x00, 0x40, 0xaa, 0xe2, 0xaa, 0x81, 0xfe, 0x05, 0x04, 0x6e, 0x00, 0x02, 0x04, 0x06, 0x0e, 0x04, 0x00, 0x20, 0xcc, 0x26, + 0x34, 0x00, 0x0f, 0x01, 0x00, 0x2d, 0x4f, 0xd4, 0xe8, 0xa2, 0x40, 0xae, 0x00, 0x23, 0x0f, 0x01, 0x00, 0x13, 0x60, 0xc4, 0x48, 0xa2, 0x61, 0xcc, + 0xa9, 0x0a, 0x00, 0x0f, 0x01, 0x00, 0x43, 0x2f, 0xcc, 0x89, 0x3c, 0x08, 0x49, 0x01, 0x96, 0x0a, 0x0f, 0xbc, 0x09, 0x38, 0x20, 0xc4, 0x07, 0xd2, + 0x01, 0x0f, 0x04, 0x00, 0x11, 0x00, 0x2e, 0x00, 0x0f, 0x01, 0x00, 0x21, 0x00, 0x6c, 0x01, 0x81, 0xcc, 0x68, 0xcc, 0x89, 0xc4, 0x07, 0xc4, 0x48, + 0xa0, 0x08, 0xb1, 0xc6, 0xc3, 0xe6, 0xbb, 0xa5, 0xc3, 0xe6, 0xbb, 0x64, 0xbb, 0xc6, 0x08, 0x00, 0x50, 0xc6, 0xc4, 0x07, 0xc4, 0x07, 0x2a, 0x00, + 0x0f, 0x01, 0x00, 0x8d, 0x80, 0xcc, 0x68, 0xaa, 0x81, 0xb3, 0x03, 0xb3, 0x03, 0xb2, 0x00, 0x00, 0x10, 0x00, 0x0f, 0x01, 0x00, 0x3b, 0x22, 0xc4, + 0x07, 0x68, 0x01, 0x08, 0x04, 0x00, 0x20, 0xbb, 0xc6, 0x1a, 0x00, 0x0f, 0x01, 0x00, 0x2f, 0x20, 0xaa, 0xe2, 0xa0, 0x03, 0x40, 0xa2, 0x61, 0xb3, + 0x03, 0x68, 0x00, 0x20, 0xc3, 0xe6, 0x00, 0x0c, 0x00, 0x10, 0x00, 0x00, 0xcc, 0x03, 0x0f, 0x8c, 0x04, 0x2f, 0x02, 0xac, 0x00, 0x2e, 0xb3, 0x03, + 0x16, 0x0a, 0x00, 0xc8, 0x0c, 0x00, 0x1c, 0x00, 0x00, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x25, 0x00, 0xa8, 0x00, 0x0f, 0x90, 0x05, 0x09, 0x00, 0x9a, + 0x04, 0x0f, 0x62, 0x00, 0x27, 0x20, 0xaa, 0xc2, 0x2a, 0x05, 0x00, 0x0a, 0x00, 0x0f, 0x01, 0x00, 0x07, 0x0f, 0x80, 0x00, 0x0b, 0x0f, 0x01, 0x00, + 0x0b, 0x00, 0x68, 0x01, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x4f, 0xb3, 0x03, 0xa2, 0x40, 0x52, 0x02, 0x25, 0x00, 0x60, 0x01, 0x0f, 0x78, + 0x05, 0x0d, 0x01, 0x24, 0x00, 0x0d, 0x9c, 0x01, 0x0f, 0x01, 0x00, 0x13, 0x00, 0x98, 0x0f, 0x0f, 0xc4, 0x0f, 0x03, 0x02, 0x01, 0x00, 0x00, 0x24, + 0x0f, 0x0f, 0xe4, 0x00, 0x11, 0x0f, 0x01, 0x00, 0x07, 0x04, 0x24, 0x02, 0x00, 0x64, 0x06, 0xc2, 0xc3, 0xe6, 0xc3, 0xe6, 0xcc, 0x87, 0xcc, 0x26, + 0xcc, 0x26, 0xbb, 0xa5, 0xc8, 0x0c, 0x02, 0x04, 0x00, 0x08, 0xbe, 0x11, 0x0f, 0x01, 0x00, 0x21, 0x00, 0xb0, 0x0f, 0x01, 0xa8, 0x00, 0x04, 0xbc, + 0x06, 0x07, 0x08, 0x00, 0x0f, 0x00, 0x03, 0x2f, 0x04, 0x01, 0x00, 0x21, 0xcc, 0x87, 0xd6, 0x04, 0x32, 0x64, 0xaa, 0xe2, 0x78, 0x07, 0x0c, 0x16, + 0x12, 0x0f, 0x01, 0x00, 0xff, 0xff, 0xff, 0xea, 0x0f, 0xa2, 0x05, 0x07, 0x0f, 0xca, 0x09, 0x2d, 0x00, 0x30, 0x1a, 0x00, 0x24, 0x05, 0x00, 0x0c, + 0x00, 0x0a, 0x01, 0x00, 0x20, 0xcc, 0x87, 0xb8, 0x06, 0x2f, 0xa2, 0x40, 0x62, 0x00, 0x29, 0x01, 0x38, 0x08, 0x0f, 0x8e, 0x0b, 0x02, 0x20, 0xb3, + 0x43, 0xb0, 0x15, 0x0f, 0xb6, 0x06, 0x25, 0x02, 0x01, 0x00, 0x20, 0xd4, 0xe8, 0x50, 0x09, 0x00, 0x0a, 0x00, 0x04, 0x01, 0x00, 0x00, 0xce, 0x00, + 0x02, 0x6e, 0x00, 0x00, 0xcc, 0x12, 0x00, 0x08, 0x00, 0x04, 0x01, 0x00, 0x20, 0xbb, 0xc6, 0x7e, 0x0c, 0x00, 0x0a, 0x00, 0x0f, 0x01, 0x00, 0x17, + 0xa2, 0xcc, 0x26, 0xa2, 0x40, 0xbb, 0x64, 0xcc, 0x87, 0xcc, 0x87, 0x4e, 0x06, 0x00, 0xcc, 0x00, 0x04, 0x2a, 0x01, 0x00, 0x00, 0x06, 0x00, 0x52, + 0x00, 0x00, 0x08, 0x00, 0x00, 0x18, 0x00, 0x00, 0x52, 0x14, 0x0f, 0x7c, 0x12, 0x1f, 0x00, 0x54, 0x16, 0x00, 0x64, 0x01, 0x01, 0x04, 0x00, 0x1a, + 0xe2, 0xb2, 0x00, 0x00, 0xfc, 0x16, 0x01, 0x40, 0x0d, 0x1f, 0xe2, 0xde, 0x07, 0x27, 0x00, 0x01, 0x00, 0x6f, 0xd4, 0xa8, 0xbb, 0x64, 0xa2, 0x20, + 0x42, 0x00, 0x09, 0x00, 0xde, 0x06, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x27, 0x00, 0x0a, 0x01, 0x00, 0x08, 0x00, 0x00, 0xae, 0x0b, 0x00, 0xb0, + 0x00, 0x24, 0xaa, 0xc2, 0x80, 0x19, 0x00, 0x01, 0x00, 0x00, 0xf8, 0x0a, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x29, 0x02, 0x48, 0x17, 0x01, 0xac, + 0x09, 0x04, 0x70, 0x01, 0x07, 0xd4, 0x00, 0x00, 0x24, 0x0c, 0x0f, 0x01, 0x00, 0x2d, 0x00, 0x78, 0x0d, 0x06, 0x3c, 0x1d, 0x20, 0xcc, 0xa9, 0x94, + 0x01, 0x02, 0x76, 0x00, 0x0f, 0x01, 0x00, 0x31, 0x00, 0xf4, 0x1a, 0x0c, 0xf8, 0x14, 0x00, 0x04, 0x03, 0x0c, 0x14, 0x00, 0x0f, 0x01, 0x00, 0x21, + 0x02, 0xac, 0x00, 0x04, 0xba, 0x00, 0x08, 0x01, 0x00, 0x02, 0xd4, 0x00, 0x0f, 0xa0, 0x0a, 0x0d, 0x0f, 0x01, 0x00, 0x0b, 0x20, 0xbb, 0xc6, 0x70, + 0x01, 0x0f, 0x06, 0x04, 0x07, 0x02, 0xe4, 0x03, 0x0a, 0xf2, 0x01, 0x0f, 0x01, 0x00, 0x17, 0x20, 0xbb, 0x64, 0xbc, 0x00, 0x00, 0x0a, 0x00, 0x00, + 0x01, 0x00, 0x40, 0xcc, 0x89, 0xbb, 0xc6, 0x12, 0x00, 0x00, 0x50, 0x02, 0x00, 0x18, 0x00, 0x00, 0x88, 0x10, 0x00, 0x18, 0x00, 0x20, 0xbb, 0xa5, + 0x0c, 0x00, 0x2f, 0xa2, 0x40, 0x62, 0x03, 0x1d, 0x01, 0x9c, 0x00, 0x01, 0xdc, 0x02, 0x00, 0x30, 0x02, 0x0f, 0x04, 0x00, 0x01, 0x08, 0x40, 0x04, + 0x0f, 0xe4, 0x00, 0x07, 0x0f, 0x01, 0x00, 0x03, 0x08, 0xfc, 0x0b, 0x46, 0xb3, 0x03, 0xbb, 0xa5, 0x90, 0x02, 0x0f, 0x01, 0x00, 0x33, 0x0f, 0x38, + 0x0b, 0x09, 0x0a, 0x01, 0x00, 0x00, 0x18, 0x03, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x21, 0x0c, 0xb6, 0x00, 0x00, 0x68, 0x01, 0x08, 0x16, 0x01, + 0x00, 0x01, 0x00, 0x0f, 0x22, 0x04, 0x29, 0x0a, 0x04, 0x1b, 0x00, 0x74, 0x01, 0x20, 0xaa, 0x81, 0x04, 0x00, 0x00, 0x0e, 0x00, 0x02, 0x01, 0x00, + 0x00, 0xa0, 0x04, 0x0a, 0xfc, 0x04, 0x0f, 0x01, 0x00, 0x19, 0x00, 0x2c, 0x02, 0x00, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, 0xbc, 0x00, 0x00, 0x08, + 0x00, 0x28, 0xc4, 0x48, 0xbc, 0x03, 0x00, 0x3c, 0x02, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x23, 0x20, 0xc4, 0x07, 0xe0, 0x02, 0x00, 0x0a, 0x00, + 0x00, 0xda, 0x04, 0x04, 0x52, 0x0f, 0x00, 0xd0, 0x03, 0x00, 0x08, 0x00, 0x01, 0x16, 0x00, 0x16, 0x61, 0x6c, 0x00, 0x0f, 0x01, 0x00, 0x21, 0x00, + 0xf2, 0x02, 0x00, 0xa4, 0x00, 0x28, 0xa2, 0x40, 0x44, 0x03, 0x02, 0x8c, 0x04, 0x02, 0xdc, 0x03, 0x00, 0x10, 0x00, 0x0f, 0x01, 0x00, 0x2b, 0x2c, + 0xbb, 0x64, 0xd4, 0x01, 0x02, 0xf8, 0x01, 0x00, 0x90, 0x01, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x29, 0x22, 0xcc, 0x89, 0x9e, 0x11, 0x80, 0xbb, + 0xc6, 0xbb, 0xc6, 0xb3, 0x43, 0xbb, 0x64, 0xf2, 0x13, 0x00, 0x18, 0x0d, 0x02, 0xd4, 0x00, 0x05, 0x04, 0x00, 0x0f, 0xee, 0x07, 0x1e, 0x00, 0xe8, + 0x1a, 0x00, 0xa0, 0x00, 0x00, 0x80, 0x01, 0x0f, 0x08, 0x00, 0x11, 0x0f, 0x44, 0x02, 0x27, 0x0f, 0x01, 0x00, 0xff, 0xff, 0xe5, 0x10, 0xff, 0x05, + 0x00, 0x0f, 0x01, 0x00, 0x17, 0x2f, 0xff, 0xff, 0x31, 0x00, 0x1e, 0x00, 0x06, 0x00, 0x0f, 0x01, 0x00, 0x17, 0x0f, 0x30, 0x00, 0x1f, 0x0f, 0x31, + 0x00, 0x1e, 0x00, 0x06, 0x00, 0x0f, 0x01, 0x00, 0x17, 0x0f, 0x30, 0x00, 0x46, 0x03, 0x29, 0x00, 0x02, 0xc1, 0x00, 0x01, 0x05, 0x00, 0x0f, 0x01, + 0x00, 0x0a, 0x02, 0x28, 0x00, 0x04, 0x08, 0x00, 0x02, 0x06, 0x00, 0x0f, 0x01, 0x00, 0x08, 0x14, 0xff, 0x22, 0x00, 0x03, 0x08, 0x00, 0x03, 0x07, + 0x00, 0x0f, 0x01, 0x00, 0x06, 0x06, 0x20, 0x00, 0x03, 0x09, 0x00, 0x03, 0x07, 0x00, 0x0f, 0x01, 0x00, 0x04, 0x06, 0x2f, 0x00, 0x04, 0x29, 0x00, + 0x07, 0x12, 0x00, 0x0f, 0x01, 0x00, 0x00, 0x07, 0x1d, 0x00, 0x04, 0x0b, 0x00, 0x0f, 0x31, 0x00, 0x09, 0x08, 0x1c, 0x00, 0x05, 0x0b, 0x00, 0x08, + 0x15, 0x00, 0x0b, 0x01, 0x00, 0x08, 0x1a, 0x00, 0x06, 0x0c, 0x00, 0x06, 0x0a, 0x00, 0x0b, 0x01, 0x00, 0x09, 0x4a, 0x00, 0x08, 0x0c, 0x00, 0x0f, + 0x01, 0x00, 0x04, 0x09, 0x23, 0x00, 0x09, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x10, 0x09, 0x6d, 0x00, 0x0f, 0x01, 0x00, 0x10, 0x0f, 0x2f, 0x00, 0x1c, + 0x0f, 0x30, 0x00, 0x4d, 0x0f, 0xbf, 0x00, 0x17, 0x00, 0x73, 0x02, 0x00, 0x01, 0x00, 0x00, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x12, 0x00, 0x2d, 0x00, + 0x0f, 0x30, 0x00, 0x19, 0x00, 0x33, 0x00, 0x00, 0x05, 0x00, 0x0f, 0x01, 0x00, 0xff, 0xcc, 0x0f, 0xe3, 0x01, 0x1c, 0x0f, 0x40, 0x02, 0x1b, 0x0f, + 0x30, 0x00, 0x44, 0x00, 0xc7, 0x02, 0x0e, 0x01, 0x00, 0x00, 0x1a, 0x00, 0x0f, 0x01, 0x00, 0x03, 0x00, 0x1e, 0x00, 0x0f, 0x01, 0x00, 0x01, 0x00, + 0x1c, 0x00, 0x0f, 0x01, 0x00, 0x0b, 0x0f, 0x25, 0x00, 0x12, 0x07, 0x01, 0x00, 0x0f, 0x30, 0x00, 0x1f, 0x00, 0x06, 0x00, 0x0f, 0x01, 0x00, 0x17, + 0x0f, 0x60, 0x00, 0x14, 0x00, 0xdd, 0x00, 0x0d, 0x01, 0x00, 0x00, 0x19, 0x00, 0x0f, 0x01, 0x00, 0x05, 0x1e, 0xff, 0x33, 0x00, 0x00, 0x17, 0x00, + 0x0f, 0x01, 0x00, 0x3b, 0x00, 0x56, 0x00, 0x0f, 0x58, 0x00, 0x18, 0x00, 0x2d, 0x00, 0x03, 0x01, 0x00, 0x00, 0x0f, 0x00, 0x0f, 0x01, 0x00, 0x0c, + 0x00, 0x27, 0x00, 0x07, 0xc6, 0x00, 0x00, 0x13, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x00, 0x24, 0x00, 0x05, 0x25, 0x00, 0x08, 0x0c, 0x00, 0x0f, 0x01, + 0x00, 0x03, 0x0c, 0x21, 0x00, 0x0c, 0x10, 0x00, 0x0b, 0x01, 0x00, 0x0e, 0x1f, 0x00, 0x0d, 0x11, 0x00, 0x09, 0x01, 0x00, 0x0e, 0x1e, 0x00, 0x0e, + 0x42, 0x00, 0x08, 0x01, 0x00, 0x0e, 0x1e, 0x00, 0x0e, 0x12, 0x00, 0x08, 0x01, 0x00, 0x0c, 0xe1, 0x00, 0x0c, 0x10, 0x00, 0x0d, 0x01, 0x00, 0x00, + 0x21, 0x00, 0x0b, 0x01, 0x00, 0x00, 0x17, 0x00, 0x0f, 0x01, 0x00, 0x08, 0x00, 0x23, 0x00, 0x07, 0x01, 0x00, 0x00, 0x13, 0x00, 0x0f, 0x01, 0x00, + 0x0d, 0x00, 0x28, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0xff, 0xee, 0x09, 0x05, 0x02, 0x09, 0x0d, 0x00, 0x0f, 0x01, 0x00, + 0x00, 0x09, 0x35, 0x02, 0x00, 0x0d, 0x00, 0x06, 0x0e, 0x00, 0x0f, 0x01, 0x00, 0x01, 0x09, 0x21, 0x00, 0x09, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x02, + 0x05, 0x21, 0x00, 0x01, 0x09, 0x00, 0x00, 0x04, 0x00, 0x00, 0x01, 0x00, 0x01, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x00, 0x52, 0x00, 0x03, 0x01, + 0x00, 0x0d, 0x0e, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x00, 0x1c, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0c, 0x00, 0x05, 0x0e, 0x00, 0x00, 0x0b, 0x00, 0x0f, + 0x01, 0x00, 0x06, 0x0d, 0x21, 0x00, 0x0b, 0x0f, 0x00, 0x0e, 0x01, 0x00, 0x01, 0x21, 0x00, 0x00, 0x37, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0a, 0x00, + 0x00, 0x06, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x01, 0xeb, 0x00, 0x02, 0x01, 0x00, 0x03, 0x0f, 0x00, 0x0f, 0x01, 0x00, 0x0c, 0x03, 0x2a, 0x00, 0x03, + 0x07, 0x00, 0x0f, 0x01, 0x00, 0x0e, 0x06, 0x28, 0x00, 0x06, 0x0a, 0x00, 0x0f, 0x01, 0x00, 0x07, 0x09, 0x24, 0x00, 0x09, 0x0d, 0x00, 0x0f, 0x01, + 0x00, 0x02, 0x0c, 0x22, 0x00, 0x00, 0x10, 0x00, 0x09, 0x11, 0x00, 0x0a, 0x01, 0x00, 0x03, 0x1d, 0x00, 0x00, 0x25, 0x00, 0x02, 0x01, 0x00, 0x03, + 0x0c, 0x00, 0x00, 0x15, 0x00, 0x0f, 0x01, 0x00, 0x00, 0x01, 0x1a, 0x00, 0x00, 0x20, 0x00, 0x05, 0x01, 0x00, 0x00, 0x16, 0x00, 0x0f, 0x23, 0x01, + 0x06, 0x02, 0x20, 0x00, 0x02, 0x06, 0x00, 0x0f, 0x01, 0x00, 0x11, 0x0f, 0x29, 0x00, 0x02, 0x0f, 0x15, 0x00, 0x02, 0x05, 0x01, 0x00, 0x04, 0x1d, + 0x00, 0x06, 0x65, 0x00, 0x05, 0x09, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x03, 0x1e, 0x00, 0x00, 0xbb, 0x00, 0x05, 0x0a, 0x00, 0x00, 0x07, 0x00, 0x0f, + 0x01, 0x00, 0x05, 0x02, 0x1e, 0x00, 0x00, 0x06, 0x00, 0x03, 0x29, 0x00, 0x02, 0x06, 0x00, 0x0f, 0x01, 0x00, 0x06, 0x01, 0x26, 0x00, 0x01, 0x05, + 0x00, 0x02, 0x2a, 0x00, 0x02, 0x0b, 0x00, 0x0f, 0x01, 0x00, 0x08, 0x00, 0x89, 0x00, 0x03, 0x24, 0x00, 0x02, 0xb7, 0x07, 0x00, 0x0a, 0x00, 0x0f, + 0x01, 0x00, 0x0a, 0x05, 0x23, 0x00, 0x01, 0x6a, 0x00, 0x00, 0x09, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x00, 0x5e, 0x00, 0x0d, 0x01, 0x00, 0x00, 0x19, + 0x00, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x00, 0x1d, 0x00, 0x0f, 0x01, 0x00, 0xff, 0x41, 0x50, 0x00, 0x00, 0x00, + 0x00, 0x00, +}; + +static const uint8_t fortune_text_zhongshang[] = { + 0x1f, 0x00, 0x01, 0x00, 0xda, 0x20, 0xcc, 0x67, 0x06, 0x00, 0x0f, 0x01, 0x00, 0x47, 0x40, 0xa2, 0x40, 0xbb, 0xc5, 0x08, 0x00, 0x0f, 0x01, 0x00, + 0x43, 0x60, 0xd4, 0xc8, 0xa2, 0x61, 0xbb, 0x84, 0x0a, 0x00, 0x0f, 0x01, 0x00, 0x45, 0x40, 0xa2, 0x40, 0xc4, 0x26, 0x08, 0x00, 0x0f, 0x01, 0x00, + 0x43, 0x4f, 0xcc, 0x67, 0xa2, 0x61, 0x20, 0x01, 0x43, 0xf0, 0x05, 0xd4, 0xc8, 0xcc, 0x67, 0xb3, 0x03, 0xaa, 0xa2, 0xa2, 0x40, 0xa2, 0x61, 0xa2, + 0x61, 0xb3, 0x03, 0xb3, 0x44, 0xc4, 0x27, 0x18, 0x00, 0x0f, 0x01, 0x00, 0x31, 0x6f, 0xbb, 0x84, 0xa2, 0x20, 0xa2, 0x61, 0x04, 0x00, 0x03, 0x20, + 0xc3, 0xe6, 0x22, 0x00, 0x0f, 0x01, 0x00, 0x27, 0x20, 0xaa, 0xe2, 0xb4, 0x00, 0x22, 0xaa, 0xa2, 0x16, 0x01, 0x60, 0xbb, 0xc5, 0xa2, 0x40, 0xd4, + 0xc8, 0x0a, 0x00, 0x00, 0x01, 0x00, 0x80, 0xb3, 0x44, 0xa2, 0x61, 0xa2, 0x40, 0xaa, 0xe2, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x23, 0x00, 0x0c, 0x01, + 0x20, 0xaa, 0xa2, 0x0a, 0x00, 0x02, 0x01, 0x00, 0x60, 0xbb, 0x84, 0xa2, 0x61, 0xcc, 0x87, 0x0a, 0x00, 0x04, 0x01, 0x00, 0x20, 0xbb, 0xc5, 0xc8, + 0x00, 0x00, 0x0a, 0x00, 0x0f, 0x01, 0x00, 0x1f, 0x00, 0xbc, 0x00, 0x20, 0xb3, 0x44, 0x0a, 0x00, 0x04, 0x01, 0x00, 0x40, 0xc3, 0xe6, 0xa2, 0x40, + 0x08, 0x00, 0x08, 0x01, 0x00, 0x00, 0xd4, 0x00, 0x0f, 0xb4, 0x02, 0x21, 0x00, 0xec, 0x02, 0x20, 0xb3, 0x02, 0x0a, 0x00, 0x06, 0x01, 0x00, 0x2f, + 0xb3, 0x03, 0xac, 0x00, 0x01, 0x00, 0x88, 0x01, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x1b, 0x0f, 0xac, 0x00, 0x02, 0x1e, 0x84, 0x14, 0x00, 0x00, + 0xe8, 0x00, 0x0f, 0x76, 0x00, 0x01, 0x0f, 0x01, 0x00, 0x0d, 0x00, 0x8a, 0x02, 0x00, 0x08, 0x00, 0x08, 0x01, 0x00, 0x0f, 0x4a, 0x00, 0x03, 0x2f, + 0xb3, 0x44, 0xc0, 0x00, 0x21, 0x00, 0x1c, 0x02, 0x00, 0x08, 0x00, 0x08, 0x01, 0x00, 0x2e, 0xb3, 0x03, 0x14, 0x00, 0x00, 0x2a, 0x00, 0x08, 0x04, + 0x02, 0x0f, 0x01, 0x00, 0x15, 0x00, 0xac, 0x00, 0x0c, 0xde, 0x02, 0x00, 0x50, 0x02, 0x00, 0x08, 0x00, 0x08, 0x01, 0x00, 0x2f, 0xc4, 0x27, 0x60, + 0x00, 0x23, 0x00, 0x22, 0x01, 0x0c, 0x38, 0x00, 0x00, 0x0c, 0x03, 0x00, 0x08, 0x00, 0x06, 0x01, 0x00, 0x4e, 0xbb, 0x84, 0xaa, 0xa2, 0x74, 0x00, + 0x0f, 0x01, 0x00, 0x13, 0x20, 0xcc, 0x67, 0xdc, 0x02, 0x08, 0xa2, 0x02, 0x00, 0x10, 0x00, 0x00, 0x08, 0x00, 0x02, 0x01, 0x00, 0x00, 0x02, 0x02, + 0x0f, 0xd2, 0x00, 0x01, 0x0f, 0x01, 0x00, 0x19, 0x01, 0x42, 0x00, 0x30, 0x40, 0xaa, 0xa2, 0x0a, 0x03, 0x20, 0xb3, 0x44, 0xc0, 0x00, 0x20, 0xbb, + 0x84, 0x18, 0x03, 0x04, 0x18, 0x00, 0x08, 0x7e, 0x00, 0x0f, 0x01, 0x00, 0x25, 0x20, 0xc3, 0xe6, 0xb8, 0x00, 0x0c, 0x04, 0x00, 0x20, 0xb3, 0x03, + 0x1c, 0x00, 0x0f, 0x01, 0x00, 0x3b, 0x00, 0xb4, 0x00, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x45, 0x00, 0xb8, 0x00, 0x00, 0x08, 0x00, 0x0f, 0x01, + 0x00, 0x45, 0x00, 0x78, 0x01, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x45, 0x0f, 0xc0, 0x00, 0x4d, 0x0f, 0x4a, 0x03, 0x25, 0x0f, 0x01, 0x00, 0x15, + 0x2f, 0xa2, 0x20, 0x90, 0x02, 0x31, 0x0f, 0x01, 0x00, 0xff, 0xff, 0xff, 0xc4, 0x0f, 0xf6, 0x0b, 0x49, 0x01, 0x8a, 0x07, 0x1f, 0x61, 0x62, 0x00, + 0x4b, 0x0f, 0x78, 0x0d, 0x4b, 0x0f, 0x9a, 0x05, 0x50, 0x0d, 0x0c, 0x09, 0x0f, 0x01, 0x00, 0x3b, 0x00, 0x34, 0x08, 0x00, 0x08, 0x00, 0x0f, 0x01, + 0x00, 0x45, 0x00, 0x2e, 0x0a, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x45, 0x00, 0xa8, 0x0c, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x45, 0x60, 0xc4, + 0x27, 0xaa, 0xa2, 0xcc, 0xa9, 0x0a, 0x00, 0x02, 0x01, 0x00, 0x60, 0xbb, 0xc5, 0xbb, 0xc5, 0xb3, 0x03, 0x70, 0x0c, 0x00, 0x54, 0x08, 0x0f, 0x4c, + 0x0e, 0x2f, 0x61, 0xcc, 0xca, 0xa2, 0x20, 0xb3, 0x02, 0x22, 0x0a, 0x03, 0xc0, 0x09, 0x08, 0x04, 0x00, 0x20, 0xbb, 0x85, 0x24, 0x00, 0x0f, 0x01, + 0x00, 0x2b, 0x00, 0xbc, 0x09, 0x00, 0xac, 0x00, 0x00, 0x36, 0x0d, 0x20, 0xcc, 0x68, 0x12, 0x00, 0x0f, 0x01, 0x00, 0x3b, 0x2f, 0xa2, 0x20, 0xa2, + 0x02, 0x4b, 0x2f, 0xaa, 0xa2, 0xea, 0x0e, 0x29, 0x0f, 0x01, 0x00, 0x0f, 0x0f, 0xc0, 0x00, 0x4d, 0x00, 0x80, 0x01, 0x00, 0x08, 0x00, 0x0f, 0x01, + 0x00, 0x45, 0x00, 0x28, 0x02, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x45, 0x00, 0x3c, 0x02, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x45, 0x0f, 0xc0, + 0x00, 0x4d, 0x0f, 0x80, 0x01, 0xaf, 0x0f, 0xa0, 0x02, 0x4c, 0x0f, 0xc0, 0x00, 0x3c, 0x00, 0x3e, 0x0f, 0x00, 0x9c, 0x0f, 0x02, 0x52, 0x15, 0x00, + 0x78, 0x04, 0x00, 0xac, 0x12, 0x02, 0x86, 0x07, 0x20, 0xcc, 0x87, 0x1a, 0x00, 0x00, 0x0c, 0x0f, 0x20, 0xd4, 0xe8, 0x2a, 0x00, 0x4c, 0xb3, 0x02, + 0xa2, 0x40, 0xcc, 0x11, 0x0f, 0x01, 0x00, 0x09, 0x44, 0xaa, 0xe2, 0xb3, 0x44, 0x30, 0x08, 0x20, 0xbb, 0x84, 0x88, 0x05, 0x04, 0xb6, 0x12, 0x64, + 0xc4, 0x26, 0xb3, 0x02, 0xb3, 0x03, 0x50, 0x12, 0x66, 0xc3, 0xe6, 0xb3, 0x03, 0xaa, 0xe2, 0x2a, 0x00, 0x00, 0x06, 0x00, 0x0f, 0x01, 0x00, 0x71, + 0x00, 0xc4, 0x13, 0x00, 0x6c, 0x13, 0x00, 0x74, 0x04, 0x00, 0x12, 0x01, 0x20, 0xcc, 0x67, 0xe4, 0x11, 0x01, 0x12, 0x01, 0x10, 0xc5, 0xca, 0x00, + 0x22, 0xc3, 0xe6, 0x08, 0x06, 0x60, 0xb3, 0x02, 0xd4, 0xe8, 0xd4, 0xc8, 0x4a, 0x01, 0x0f, 0x88, 0x10, 0x1b, 0x00, 0x14, 0x01, 0x20, 0xd4, 0xa8, + 0x0a, 0x00, 0x01, 0x4c, 0x00, 0x30, 0xe2, 0xbb, 0x84, 0x56, 0x00, 0x00, 0x01, 0x00, 0x46, 0xc4, 0x26, 0xb3, 0x44, 0x12, 0x01, 0x20, 0xcc, 0x87, + 0x0a, 0x15, 0x04, 0xc6, 0x11, 0x0f, 0xfc, 0x0d, 0xff, 0xff, 0xff, 0x26, 0x04, 0x4c, 0x03, 0x0e, 0x01, 0x00, 0x0f, 0x66, 0x09, 0x2d, 0x20, 0xc4, + 0x26, 0x12, 0x04, 0x0f, 0xf6, 0x05, 0x01, 0x22, 0xcc, 0x87, 0x78, 0x0a, 0x0f, 0x62, 0x00, 0x29, 0x20, 0xb3, 0x02, 0x5e, 0x00, 0x02, 0x9e, 0x05, + 0x0a, 0x01, 0x00, 0x00, 0x8c, 0x04, 0x2f, 0xaa, 0xa2, 0xd4, 0x0a, 0x2d, 0x0c, 0x82, 0x14, 0x42, 0xcc, 0x67, 0xaa, 0xa2, 0x86, 0x04, 0x24, 0xa2, + 0x40, 0x72, 0x04, 0x02, 0x01, 0x00, 0x20, 0xbb, 0xc5, 0xcc, 0x00, 0x00, 0x0a, 0x00, 0x0f, 0x01, 0x00, 0x17, 0x00, 0xbc, 0x15, 0x00, 0xd6, 0x04, + 0x40, 0xcc, 0x87, 0xbb, 0xc5, 0x96, 0x17, 0x02, 0x4c, 0x05, 0x00, 0x1a, 0x00, 0x00, 0x7a, 0x00, 0x00, 0x0c, 0x00, 0x02, 0x14, 0x00, 0x03, 0x04, + 0x00, 0x1f, 0x61, 0xce, 0x00, 0x1f, 0x00, 0x94, 0x06, 0x00, 0x22, 0x01, 0x00, 0x4a, 0x00, 0x28, 0xaa, 0xe2, 0xb2, 0x00, 0x20, 0xcc, 0xca, 0x7a, + 0x19, 0x6f, 0xaa, 0xe2, 0xb3, 0x02, 0xaa, 0xe2, 0xfc, 0x0b, 0x2b, 0x20, 0xd4, 0xc8, 0x3c, 0x1a, 0x0f, 0x42, 0x02, 0x07, 0x01, 0xcc, 0x00, 0x0f, + 0xf8, 0x05, 0x18, 0x0f, 0x01, 0x00, 0x01, 0x00, 0xa4, 0x00, 0x00, 0x08, 0x00, 0x40, 0x00, 0x00, 0xcc, 0xa9, 0xd4, 0x00, 0x28, 0xaa, 0xa2, 0x4e, + 0x0c, 0x2f, 0xcc, 0x68, 0x60, 0x00, 0x2d, 0x00, 0x30, 0x02, 0x00, 0x06, 0x00, 0x01, 0xd2, 0x07, 0x00, 0x6c, 0x01, 0x01, 0x04, 0x00, 0x06, 0x16, + 0x01, 0x08, 0x36, 0x0d, 0x0f, 0x01, 0x00, 0x25, 0x20, 0xcc, 0xa9, 0xb8, 0x00, 0x02, 0x68, 0x00, 0x00, 0x80, 0x01, 0x00, 0x94, 0x01, 0x0f, 0xce, + 0x07, 0x37, 0x20, 0xb3, 0x02, 0xb4, 0x00, 0x0a, 0xa8, 0x00, 0x00, 0x04, 0x03, 0x0c, 0x14, 0x00, 0x0f, 0x01, 0x00, 0x21, 0x20, 0xcc, 0xa9, 0x44, + 0x02, 0x04, 0xba, 0x00, 0x08, 0x01, 0x00, 0x02, 0xd4, 0x00, 0x0f, 0xd4, 0x0c, 0x2b, 0x20, 0xc3, 0xe6, 0x6c, 0x01, 0x0f, 0x06, 0x04, 0x07, 0x01, + 0xe4, 0x03, 0x00, 0x64, 0x08, 0x07, 0xf2, 0x01, 0x0f, 0x01, 0x00, 0x17, 0x28, 0xbb, 0x85, 0x7e, 0x02, 0x20, 0xcc, 0xa9, 0x6a, 0x03, 0x00, 0x86, + 0x0a, 0x04, 0x18, 0x03, 0x02, 0x70, 0x03, 0x00, 0xc0, 0x1b, 0x00, 0x10, 0x00, 0x06, 0xf2, 0x01, 0x0f, 0x01, 0x00, 0x13, 0x00, 0x12, 0x10, 0x02, + 0x5e, 0x00, 0x00, 0xa4, 0x00, 0x0f, 0x04, 0x00, 0x01, 0x08, 0x40, 0x04, 0x0f, 0xe4, 0x00, 0x07, 0x0f, 0x01, 0x00, 0x03, 0x00, 0x8e, 0x02, 0x04, + 0x5c, 0x01, 0x4f, 0xb3, 0x03, 0xbb, 0xc5, 0x9e, 0x00, 0x09, 0x20, 0xcc, 0xca, 0x06, 0x00, 0x0f, 0x01, 0x00, 0x1b, 0x0c, 0xde, 0x04, 0x0f, 0x01, + 0x00, 0x07, 0x00, 0x8a, 0x00, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x21, 0x0c, 0xb6, 0x00, 0x00, 0x7c, 0x01, 0x0c, 0x78, 0x00, 0x0f, 0x60, 0x00, + 0x29, 0x0a, 0xf0, 0x17, 0x00, 0x74, 0x01, 0x02, 0x78, 0x0a, 0x00, 0x0e, 0x00, 0x02, 0x01, 0x00, 0x00, 0xa0, 0x04, 0x08, 0xfc, 0x04, 0x0f, 0x01, + 0x00, 0x1b, 0x00, 0xb0, 0x00, 0x00, 0x08, 0x00, 0x00, 0x01, 0x00, 0x04, 0x0c, 0x00, 0x28, 0xcc, 0x68, 0xbc, 0x03, 0x00, 0x3c, 0x02, 0x00, 0x08, + 0x00, 0x0f, 0x01, 0x00, 0x23, 0x00, 0x5c, 0x1c, 0x02, 0x56, 0x00, 0x40, 0xaa, 0xe2, 0xa2, 0x20, 0x4a, 0x0b, 0x00, 0x01, 0x00, 0x24, 0xb3, 0x03, + 0x0c, 0x12, 0x00, 0x64, 0x02, 0x0f, 0xfc, 0x02, 0x23, 0x04, 0x01, 0x00, 0x01, 0x92, 0x11, 0x01, 0xe0, 0x02, 0x08, 0x48, 0x00, 0x02, 0x36, 0x1c, + 0x24, 0xcc, 0xca, 0xc2, 0x02, 0x0f, 0x01, 0x00, 0x29, 0x00, 0x4e, 0x06, 0x2a, 0xb3, 0x03, 0x84, 0x02, 0x02, 0xf8, 0x01, 0x00, 0x90, 0x01, 0x00, + 0x08, 0x00, 0x0f, 0x01, 0x00, 0x29, 0x81, 0xcc, 0xa9, 0xcc, 0xa9, 0xc4, 0x27, 0xc4, 0x27, 0xb0, 0x12, 0x00, 0x82, 0x1c, 0x10, 0xe2, 0x14, 0x01, + 0x04, 0xd4, 0x00, 0x06, 0x08, 0x00, 0x02, 0x72, 0x00, 0x0f, 0x01, 0x00, 0x17, 0x20, 0xcc, 0x68, 0x28, 0x02, 0x0f, 0x04, 0x00, 0x17, 0x0f, 0x44, + 0x02, 0x27, 0x0f, 0x01, 0x00, 0xff, 0xff, 0xe6, 0x10, 0xff, 0x05, 0x00, 0x0f, 0x01, 0x00, 0x18, 0x1f, 0xff, 0x31, 0x00, 0x1b, 0x1f, 0xff, 0x30, + 0x00, 0x1c, 0x0f, 0x60, 0x00, 0x4a, 0x15, 0xff, 0x01, 0x00, 0x00, 0x0e, 0x00, 0x0f, 0x01, 0x00, 0x0d, 0x00, 0x28, 0x00, 0x07, 0x01, 0x00, 0x00, + 0x13, 0x00, 0x0f, 0x01, 0x00, 0x08, 0x00, 0x23, 0x00, 0x11, 0xff, 0x07, 0x00, 0x04, 0x0e, 0x00, 0x00, 0x08, 0x00, 0x0f, 0x01, 0x00, 0x06, 0x04, + 0x20, 0x00, 0x04, 0x08, 0x00, 0x06, 0x09, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x05, 0x1e, 0x00, 0x04, 0x08, 0x00, 0x00, 0x0a, 0x00, 0x05, 0x0b, 0x00, + 0x0d, 0x01, 0x00, 0x06, 0x1c, 0x00, 0x05, 0x09, 0x00, 0x09, 0x0b, 0x00, 0x0c, 0x01, 0x00, 0x06, 0x1b, 0x00, 0x06, 0x0a, 0x00, 0x08, 0x0b, 0x00, + 0x0c, 0x01, 0x00, 0x06, 0x1b, 0x00, 0x06, 0x0a, 0x00, 0x08, 0x0b, 0x00, 0x0c, 0x01, 0x00, 0x06, 0x1b, 0x00, 0x06, 0x0a, 0x00, 0x08, 0x0b, 0x00, + 0x0c, 0x01, 0x00, 0x0f, 0xc0, 0x00, 0x01, 0x06, 0x14, 0x00, 0x0f, 0x01, 0x00, 0x00, 0x05, 0x1c, 0x00, 0x07, 0x09, 0x00, 0x04, 0x0a, 0x00, 0x0f, + 0x01, 0x00, 0x01, 0x05, 0xa0, 0x01, 0x05, 0x07, 0x00, 0x03, 0x09, 0x00, 0x0f, 0x01, 0x00, 0x06, 0x00, 0x22, 0x00, 0x09, 0x01, 0x00, 0x00, 0x15, + 0x00, 0x0f, 0x01, 0x00, 0x0a, 0x00, 0x25, 0x00, 0x04, 0x01, 0x00, 0x00, 0x10, 0x00, 0x0f, 0x01, 0x00, 0x12, 0x0f, 0x2b, 0x00, 0x18, 0x01, 0x01, + 0x00, 0x0f, 0x30, 0x00, 0xdd, 0x0f, 0x01, 0x00, 0xff, 0xcb, 0x0f, 0x0c, 0x02, 0x1c, 0x0f, 0x58, 0x03, 0x19, 0x01, 0x01, 0x00, 0x0f, 0x30, 0x00, + 0xff, 0x10, 0x02, 0x31, 0x00, 0x00, 0xb2, 0x04, 0x00, 0x01, 0x00, 0x00, 0x0c, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x00, 0x24, 0x00, 0x08, 0x01, 0x00, + 0x00, 0x14, 0x00, 0x0f, 0x01, 0x00, 0x0a, 0x00, 0x25, 0x00, 0x0f, 0x28, 0x00, 0x11, 0x04, 0x01, 0x00, 0x0f, 0x2b, 0x00, 0x18, 0x01, 0x01, 0x00, + 0x0f, 0x30, 0x00, 0xff, 0xc6, 0x00, 0x35, 0x02, 0x02, 0x5d, 0x09, 0x05, 0x07, 0x00, 0x11, 0xff, 0x07, 0x00, 0x00, 0x1d, 0x00, 0x0d, 0x01, 0x00, + 0x02, 0x18, 0x00, 0x03, 0x1f, 0x00, 0x0b, 0x07, 0x00, 0x00, 0x20, 0x00, 0x0f, 0x01, 0x00, 0x2d, 0x02, 0x7b, 0x00, 0x03, 0x06, 0x00, 0x06, 0x08, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x1f, 0x00, 0x0d, 0x01, 0x00, 0x02, 0x18, 0x00, 0x03, 0x1f, 0x00, 0x0b, 0x07, 0x00, 0x00, 0x20, 0x00, 0x0f, 0x01, + 0x00, 0xff, 0x84, 0x09, 0x9b, 0x01, 0x09, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x00, 0x03, 0xcf, 0x01, 0x02, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x06, 0x0e, + 0x00, 0x0f, 0x01, 0x00, 0x01, 0x09, 0x21, 0x00, 0x09, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x03, 0x04, 0x21, 0x00, 0x01, 0x2a, 0x00, 0x00, 0x04, 0x00, + 0x00, 0x01, 0x00, 0x01, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x00, 0x52, 0x00, 0x03, 0x01, 0x00, 0x0d, 0x0e, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x00, + 0x1c, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0c, 0x00, 0x0a, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x05, 0x0d, 0x21, 0x00, 0x0b, 0x0f, 0x00, 0x0e, 0x01, 0x00, + 0x01, 0x21, 0x00, 0x00, 0x37, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x06, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x01, 0xeb, 0x00, 0x02, 0x01, + 0x00, 0x03, 0x0f, 0x00, 0x0f, 0x01, 0x00, 0x0c, 0x03, 0x2a, 0x00, 0x03, 0x07, 0x00, 0x0f, 0x01, 0x00, 0x0e, 0x06, 0x28, 0x00, 0x06, 0x0a, 0x00, + 0x0f, 0x01, 0x00, 0x07, 0x09, 0x24, 0x00, 0x09, 0x0d, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x0c, 0x22, 0x00, 0x00, 0x10, 0x00, 0x09, 0x11, 0x00, 0x0a, + 0x01, 0x00, 0x03, 0x1d, 0x00, 0x00, 0x25, 0x00, 0x02, 0x01, 0x00, 0x03, 0x0c, 0x00, 0x00, 0x15, 0x00, 0x0f, 0x01, 0x00, 0x00, 0x01, 0x1a, 0x00, + 0x00, 0x20, 0x00, 0x05, 0x01, 0x00, 0x00, 0x16, 0x00, 0x0f, 0x23, 0x01, 0x06, 0x02, 0x20, 0x00, 0x02, 0x06, 0x00, 0x06, 0x01, 0x00, 0x0a, 0x0e, + 0x00, 0x08, 0x01, 0x00, 0x0b, 0x29, 0x00, 0x02, 0x01, 0x00, 0x0f, 0x15, 0x00, 0x02, 0x05, 0x01, 0x00, 0x04, 0x1d, 0x00, 0x06, 0x65, 0x00, 0x05, + 0x09, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x03, 0x1e, 0x00, 0x00, 0xbb, 0x00, 0x05, 0x0a, 0x00, 0x00, 0x07, 0x00, 0x0f, 0x01, 0x00, 0x05, 0x02, 0x1e, + 0x00, 0x00, 0x06, 0x00, 0x03, 0x29, 0x00, 0x02, 0x06, 0x00, 0x0f, 0x01, 0x00, 0x06, 0x01, 0x26, 0x00, 0x01, 0x05, 0x00, 0x02, 0x2a, 0x00, 0x02, + 0x0b, 0x00, 0x0f, 0x01, 0x00, 0x08, 0x00, 0x89, 0x00, 0x03, 0x24, 0x00, 0x02, 0xd3, 0x05, 0x00, 0x0a, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x05, 0x2f, + 0x00, 0x00, 0xfc, 0x00, 0x04, 0x0b, 0x00, 0x0f, 0x01, 0x00, 0x07, 0x00, 0x2f, 0x00, 0x0d, 0x01, 0x00, 0x00, 0x19, 0x00, 0x0f, 0x01, 0x00, 0x00, + 0x00, 0x1b, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x00, 0x1d, 0x00, 0x0f, 0x01, 0x00, 0xff, 0x41, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +const lcd_fortune_asset_t lcd_fortune_shared[LCD_FORTUNE_SHARED_COUNT] = { + {208, 76, 56, 164, sizeof(fortune_pile), fortune_pile}, + {63, 113, 0, 0, sizeof(fortune_back), fortune_back}, + {41, 110, 0, 0, sizeof(fortune_edge), fortune_edge}, + {100, 190, 0, 0, sizeof(fortune_front), fortune_front}, + {27, 50, 0, 0, sizeof(fortune_question), fortune_question}, + {169, 56, 0, 40, sizeof(fortune_rod), fortune_rod}, +}; +const lcd_fortune_asset_t lcd_fortune_text[LCD_FORTUNE_RESULT_COUNT] = { + {48, 104, 0, 0, sizeof(fortune_text_buyun), fortune_text_buyun}, + {48, 104, 0, 0, sizeof(fortune_text_heping), fortune_text_heping}, + {48, 104, 0, 0, sizeof(fortune_text_shangshang), fortune_text_shangshang}, + {48, 104, 0, 0, sizeof(fortune_text_xiaoji), fortune_text_xiaoji}, + {48, 104, 0, 0, sizeof(fortune_text_zhongshang), fortune_text_zhongshang}, +}; +const char *const lcd_fortune_result_dirs[LCD_FORTUNE_RESULT_COUNT] = { + "chouqian_buyun", "chouqian_heping", "chouqian_shangshang", "chouqian_xiaoji", "chouqian_zhongshang", +}; diff --git a/components/platform/src/lcd_direct.c b/components/platform/src/lcd_direct.c index 9ba398c..998bd03 100644 --- a/components/platform/src/lcd_direct.c +++ b/components/platform/src/lcd_direct.c @@ -38,6 +38,7 @@ #include "gfx.h" #include "lcd_emote_assets.h" #include "lcd_emote_listening.h" +#include "lcd_emote_fortune.h" #endif #define LCD_DIRECT_SPI_HOST SPI2_HOST @@ -970,6 +971,7 @@ static esp_err_t lcd_direct_listening_prepare(void) static esp_err_t lcd_direct_emote_select_face(bool listening) { const lcd_emote_rle_asset_t *base = listening ? &listening_base_rle_asset : &idle_base_rle_asset; + ESP_RETURN_ON_ERROR(gfx_obj_set_visible(s_emote_background, true), TAG, "show face base failed"); ESP_RETURN_ON_ERROR(gfx_img_set_src(s_emote_background, listening ? &s_listening_base_image : &s_emote_base_image), TAG, "switch face base failed"); ESP_RETURN_ON_ERROR(gfx_obj_set_pos(s_emote_background, base->x, base->y), TAG, "switch face position failed"); @@ -1166,6 +1168,203 @@ static esp_err_t lcd_direct_play_emote_face_until_pending(const lcd_direct_reque } return result != ESP_OK ? result : lock_err; } + +typedef struct { + lcd_fortune_texture_t shared[LCD_FORTUNE_SHARED_COUNT], text; + uint8_t *pixels[LCD_FORTUNE_SHARED_COUNT + 1], *frame; + gfx_image_dsc_t image, rod_image; + gfx_obj_t *object; +} lcd_direct_fortune_scene_t; +/* 极端锁/解绑故障保留已绑定资源到重启,不能释放给 GFX 的悬空指针。 */ +static lcd_direct_fortune_scene_t *s_fortune_orphan; + +static int lcd_direct_fortune_sequence_index(const lcd_direct_request_t *request) +{ + if (request == NULL || request->step_count != 6) return -1; + for (size_t i = 0; i < 6; ++i) { + const platform_lcd_presentation_step_t *step = &request->steps[i]; + if (step->asset_dir == NULL || step->frame_index != i % 3 || + step->icon_id != PLATFORM_LCD_PRESENTATION_NO_ICON || + step->delay_ms != (i == 5 ? 1500U : 500U)) return -1; + if (i < 3 && strcmp(step->asset_dir, "chouqian_qianzhi") != 0) return -1; + if (i >= 3 && strcmp(step->asset_dir, request->steps[3].asset_dir) != 0) return -1; + } + for (size_t i = 0; i < LCD_FORTUNE_RESULT_COUNT; ++i) + if (strcmp(request->steps[3].asset_dir, lcd_fortune_result_dirs[i]) == 0) return (int)i; + return -1; /* 不匹配的通用步骤仍使用原 PNG 播放,不偷换其他动作。 */ +} + +static void lcd_direct_fortune_free(lcd_direct_fortune_scene_t *scene) +{ + if (scene == NULL) return; + for (size_t i = 0; i <= LCD_FORTUNE_SHARED_COUNT; ++i) free(scene->pixels[i]); + free(scene->frame); + free(scene); +} + +static lcd_direct_fortune_scene_t *lcd_direct_fortune_prepare(size_t index) +{ + if (index >= LCD_FORTUNE_RESULT_COUNT) return NULL; + lcd_direct_fortune_scene_t *scene = heap_caps_calloc(1, sizeof(*scene), MALLOC_CAP_SPIRAM | MALLOC_CAP_8BIT); + if (scene == NULL) return NULL; + for (size_t i = 0; i <= LCD_FORTUNE_SHARED_COUNT; ++i) { + const lcd_fortune_asset_t *asset = i < LCD_FORTUNE_SHARED_COUNT ? + &lcd_fortune_shared[i] : &lcd_fortune_text[index]; + size_t bytes = (size_t)asset->width * asset->height * 3; + scene->pixels[i] = heap_caps_malloc(bytes, MALLOC_CAP_SPIRAM | MALLOC_CAP_8BIT); + if (scene->pixels[i] == NULL || !lcd_emote_fortune_decode(asset->data, + asset->compressed_size, scene->pixels[i], bytes)) { + lcd_direct_fortune_free(scene); + return NULL; + } + lcd_fortune_texture_t texture = {asset->width, asset->height, scene->pixels[i]}; + if (i < LCD_FORTUNE_SHARED_COUNT) scene->shared[i] = texture; + else scene->text = texture; + } + const size_t bytes = LCD_FORTUNE_WIDTH * LCD_FORTUNE_HEIGHT * 2; + scene->frame = heap_caps_malloc(bytes, MALLOC_CAP_SPIRAM | MALLOC_CAP_8BIT); + if (scene->frame == NULL) {lcd_direct_fortune_free(scene); return NULL;} + scene->image = (gfx_image_dsc_t) { + .header.cf = GFX_COLOR_FORMAT_RGB565, .header.magic = C_ARRAY_HEADER_MAGIC, + .header.w = LCD_FORTUNE_WIDTH, .header.h = LCD_FORTUNE_HEIGHT, + .data_size = bytes, .data = scene->frame, + }; + const lcd_fortune_asset_t *rod = &lcd_fortune_shared[LCD_FORTUNE_ROD]; + scene->rod_image = (gfx_image_dsc_t) { + .header.cf = GFX_COLOR_FORMAT_RGB565A8, .header.magic = C_ARRAY_HEADER_MAGIC, + .header.w = rod->width, .header.h = rod->height, + .data_size = (size_t)rod->width * rod->height * 3, + .data = scene->pixels[LCD_FORTUNE_ROD], + }; + return scene; +} + +/* 同一任务持锁退出并解绑对象,然后才能释放一次性 PSRAM 图层。 */ +static esp_err_t lcd_direct_fortune_detach(lcd_direct_fortune_scene_t *scene) +{ + esp_err_t err = gfx_emote_lock(s_emote_handle); + if (err != ESP_OK) return err; + portENTER_CRITICAL(&s_state_lock); + s_emote_active = false; + portEXIT_CRITICAL(&s_state_lock); + err = lcd_direct_emote_select_face(false); + if (scene->object != NULL) { + esp_err_t deleted = gfx_obj_delete(scene->object); + if (deleted == ESP_OK) scene->object = NULL; + if (err == ESP_OK) err = deleted; + } + esp_err_t unlock_err = gfx_emote_unlock(s_emote_handle); + return err != ESP_OK ? err : unlock_err; +} + +static esp_err_t lcd_direct_play_fortune(size_t index) +{ + if (s_fortune_orphan != NULL || s_emote_transfer_fault) return ESP_ERR_INVALID_STATE; + if (lcd_direct_should_stop_idle()) return ESP_ERR_INVALID_STATE; + const int64_t prepare_start_us = esp_timer_get_time(); + lcd_direct_fortune_scene_t *scene = lcd_direct_fortune_prepare(index); + if (scene == NULL) return ESP_ERR_NOT_SUPPORTED; + esp_err_t result = gfx_emote_lock(s_emote_handle); + if (result != ESP_OK) {lcd_direct_fortune_free(scene); return result;} + bool started = false; + bool rod_hidden = false; + if (lcd_direct_should_stop_idle()) result = ESP_ERR_INVALID_STATE; + if (result == ESP_OK) { + scene->object = gfx_img_create(s_emote_disp); + result = scene->object != NULL ? ESP_OK : ESP_ERR_NO_MEM; + } + if (result == ESP_OK) result = gfx_obj_set_visible(s_emote_eyes_open, false); + if (result == ESP_OK) result = gfx_obj_set_visible(s_emote_closed_eyes, false); + if (result == ESP_OK && s_emote_cached_eyes != NULL) result = gfx_obj_set_visible(s_emote_cached_eyes, false); + if (result == ESP_OK && s_listening_eyes != NULL) result = gfx_obj_set_visible(s_listening_eyes, false); + if (result == ESP_OK) result = gfx_img_set_src(s_emote_background, &scene->rod_image); + if (result == ESP_OK) result = gfx_obj_set_pos(s_emote_background, 0, 40); + if (result == ESP_OK) result = gfx_obj_set_visible(s_emote_background, true); + if (result == ESP_OK) result = gfx_obj_set_pos(scene->object, LCD_FORTUNE_X, LCD_FORTUNE_Y); + if (result == ESP_OK) result = gfx_img_set_src(scene->object, &scene->image); + if (result == ESP_OK) result = lcd_direct_emote_update_hud(true, NULL); + esp_err_t unlock_err = gfx_emote_unlock(s_emote_handle); + if (result == ESP_OK) result = unlock_err; + size_t pixel_bytes = scene->image.data_size; + for (size_t i = 0; i < LCD_FORTUNE_SHARED_COUNT; ++i) + pixel_bytes += (size_t)scene->shared[i].width * scene->shared[i].height * 3; + pixel_bytes += (size_t)scene->text.width * scene->text.height * 3; + ESP_LOGI(TAG, "Fortune layers asset=%s pixels_psram=%u scene_bytes=%u prepare_us=%llu", + lcd_fortune_result_dirs[index], (unsigned)pixel_bytes, (unsigned)sizeof(*scene), + (unsigned long long)(esp_timer_get_time() - prepare_start_us)); + const int64_t start_us = esp_timer_get_time(); +#if CONFIG_TQ_LCD_EMOTE_FPS_LOG + uint32_t frames = 0, draw_attempts = 0, late = 0, max_draw_us = 0; + uint64_t total_draw_us = 0; +#endif + for (uint32_t ms = 0; result == ESP_OK;) { + if (lcd_direct_should_stop_idle()) {result = ESP_ERR_INVALID_STATE; break;} + const int64_t draw_start_us = esp_timer_get_time(); + result = gfx_emote_lock(s_emote_handle); + if (result != ESP_OK) break; + if (!lcd_emote_fortune_build_frame(scene->frame, scene->image.data_size, + scene->shared, &scene->text, ms)) result = ESP_ERR_INVALID_SIZE; + if (result == ESP_OK) result = gfx_img_set_src(scene->object, &scene->image); + if (result == ESP_OK && ms >= 600 && !rod_hidden) { + result = gfx_obj_set_visible(s_emote_background, false); + rod_hidden = result == ESP_OK; + } + if (result == ESP_OK) result = lcd_direct_emote_update_hud(false, NULL); + if (result == ESP_OK) { + portENTER_CRITICAL(&s_state_lock); + s_emote_active = true; + portEXIT_CRITICAL(&s_state_lock); + if (!started) gfx_disp_refresh_all(s_emote_disp); + started = true; + result = lcd_direct_emote_refresh(); + } + unlock_err = gfx_emote_unlock(s_emote_handle); + if (result == ESP_OK) result = unlock_err; +#if CONFIG_TQ_LCD_EMOTE_FPS_LOG + uint32_t draw_us = (uint32_t)(esp_timer_get_time() - draw_start_us); + total_draw_us += draw_us; + ++draw_attempts; + if (draw_us > max_draw_us) max_draw_us = draw_us; + if (draw_us >= LCD_FORTUNE_STEP_MS * 1000) ++late; + if (result == ESP_OK) ++frames; +#else + (void)draw_start_us; +#endif + if (result != ESP_OK) break; + if (ms == LCD_FORTUNE_MOTION_MS) break; + uint32_t next_ms = ms + LCD_FORTUNE_STEP_MS; + if (next_ms > LCD_FORTUNE_MOTION_MS) next_ms = LCD_FORTUNE_MOTION_MS; + result = lcd_direct_emote_wait_until(start_us + (int64_t)next_ms * 1000); + ms = next_ms; + } +#if CONFIG_TQ_LCD_EMOTE_FPS_LOG + if (started && frames > 0) { + uint64_t motion_us = esp_timer_get_time() - start_us; + uint64_t fps100 = lcd_direct_emote_fps_x100(frames, motion_us); + ESP_LOGI(TAG, "fortune_fps result=%s frames=%u motion_us=%llu update_fps=%llu.%02llu " + "draw_avg_us=%llu draw_max_us=%u late_frames=%u status=%s", + lcd_fortune_result_dirs[index], (unsigned)frames, (unsigned long long)motion_us, + (unsigned long long)(fps100 / 100), (unsigned long long)(fps100 % 100), + (unsigned long long)(total_draw_us / draw_attempts), (unsigned)max_draw_us, (unsigned)late, + esp_err_to_name(result)); + } +#endif + /* 运动仍锚定同一起点;迟到不能吞掉用户阅读签文所需的末帧停留。 */ + if (result == ESP_OK) result = lcd_direct_emote_wait_until( + esp_timer_get_time() + (int64_t)LCD_FORTUNE_HOLD_MS * 1000); + esp_err_t detach_err = lcd_direct_fortune_detach(scene); + if (detach_err == ESP_OK) lcd_direct_fortune_free(scene); + else { + s_fortune_orphan = scene; + s_emote_transfer_fault = true; + ESP_LOGE(TAG, "Fortune detach failed; bound pixels retained, restart required"); + } + if (result == ESP_OK) result = detach_err; + if (result == ESP_OK && !lcd_direct_should_stop_idle()) lcd_direct_signal_completion(); + if (!started && detach_err == ESP_OK && result != ESP_ERR_INVALID_STATE) + return ESP_ERR_NOT_SUPPORTED; + return result; +} #endif static uint16_t lcd_direct_swap_color(uint16_t color) @@ -2457,6 +2656,14 @@ static esp_err_t lcd_direct_play_step_sequence(const lcd_direct_request_t *reque ESP_ERR_INVALID_ARG, TAG, "invalid step sequence"); +#if CONFIG_TQ_LCD_EMOTE_GFX_TEST + int fortune = lcd_direct_fortune_sequence_index(request); + if (fortune >= 0 && s_emote_ready && LCD_DIRECT_WIDTH == 320 && LCD_DIRECT_HEIGHT == 240) { + esp_err_t err = lcd_direct_play_fortune((size_t)fortune); + if (err != ESP_ERR_NOT_SUPPORTED) return err; + ESP_LOGW(TAG, "Fortune layers unavailable; using PNG fallback"); + } +#endif for (size_t i = 0; i < request->step_count; ++i) { (void)lcd_direct_service_preheat(); diff --git a/components/platform/src/lcd_emote_fortune.c b/components/platform/src/lcd_emote_fortune.c new file mode 100644 index 0000000..9145868 --- /dev/null +++ b/components/platform/src/lcd_emote_fortune.c @@ -0,0 +1,200 @@ +#include "lcd_emote_fortune.h" +#include +#include +#include + +typedef struct { float x, y, u, v; } vertex_t; +static bool read_length(const uint8_t *src,size_t size,size_t *pos,size_t *length) +{ + if (*length!=15) return true; + unsigned value; + do { + if (*pos>=size || *length>SIZE_MAX-255) return false; + value=src[(*pos)++]; *length+=value; + } while (value==255); + return true; +} +bool lcd_emote_fortune_decode(const uint8_t *src,size_t size,uint8_t *dst,size_t capacity) +{ + if (!src || !size || !dst || !capacity) return false; + size_t pos=0,written=0; + while (pos>4; + if (!read_length(src,size,&pos,&literals) || literals>size-pos || literals>capacity-written) return false; + memcpy(dst+written,src+pos,literals);written+=literals;pos+=literals; + if (pos==size) return written==capacity && (token&15)==0; + if (size-pos<2) return false; + size_t offset=src[pos]|((size_t)src[pos+1]<<8);pos+=2; + size_t match=token&15; + if (!offset || offset>written || !read_length(src,size,&pos,&match) || + match>SIZE_MAX-4 || match+4>capacity-written) return false; + match+=4; + for (size_t i=0;ipixels[i*2]<<8) | t->pixels[i*2+1]; } +static void blend(uint8_t *dst, int x, int y, uint16_t color, unsigned alpha) +{ + x -= LCD_FORTUNE_X; y -= LCD_FORTUNE_Y; + if (x < 0 || y < 0 || x >= LCD_FORTUNE_WIDTH || y >= LCD_FORTUNE_HEIGHT || !alpha) return; + size_t i = ((size_t)y*LCD_FORTUNE_WIDTH+x)*2; + uint16_t old = ((uint16_t)dst[i]<<8) | dst[i+1]; + unsigned r = (((color>>11)&31)*alpha + ((old>>11)&31)*(255-alpha)+127)/255; + unsigned g = (((color>>5)&63)*alpha + ((old>>5)&63)*(255-alpha)+127)/255; + unsigned b = ((color&31)*alpha + (old&31)*(255-alpha)+127)/255; + uint16_t out = (r<<11)|(g<<5)|b; + dst[i] = out>>8; dst[i+1] = out; +} +/* 双线性采样在预乘 Alpha 空间,避免黑色透明边缘造成轮廓暗边。 */ +static void sample(uint8_t *dst, int x, int y, const lcd_fortune_texture_t *t, + float u, float v, unsigned opacity) +{ + if (u < 0 || v < 0 || u > 1 || v > 1 || !opacity) return; + float sx = u*(t->width-1), sy = v*(t->height-1); + int x0 = (int)sx, y0 = (int)sy; + int x1 = x0+1 < t->width ? x0+1 : x0, y1 = y0+1 < t->height ? y0+1 : y0; + float fx = sx-x0, fy = sy-y0; + const size_t indices[4] = {(size_t)y0*t->width+x0, (size_t)y0*t->width+x1, + (size_t)y1*t->width+x0, (size_t)y1*t->width+x1}; + const float weights[4] = {(1-fx)*(1-fy), fx*(1-fy), (1-fx)*fy, fx*fy}; + float a=0, r=0, g=0, b=0; + size_t count = (size_t)t->width*t->height; + for (int i=0; i<4; ++i) { + float aw = weights[i]*t->pixels[count*2+indices[i]]; + uint16_t c = color_at(t, indices[i]); + a += aw; r += ((c>>11)&31)*aw; g += ((c>>5)&63)*aw; b += (c&31)*aw; + } + if (a < 0.5f) return; + float inv_a = 1/a; + uint16_t c = ((unsigned)(r*inv_a+0.5f)<<11)|((unsigned)(g*inv_a+0.5f)<<5)|(unsigned)(b*inv_a+0.5f); + blend(dst,x,y,c,(unsigned)(a*opacity/255+0.5f)); +} +static void blit(uint8_t *dst, const lcd_fortune_texture_t *t, int x, int y, unsigned opacity) +{ + size_t count=(size_t)t->width*t->height; + for (int sy=0; syheight; ++sy) for (int sx=0; sxwidth; ++sx) { + size_t i=(size_t)sy*t->width+sx; + unsigned a=t->pixels[count*2+i]*opacity/255; + if (a) blend(dst,x+sx,y+sy,color_at(t,i),a); + } +} +static void triangle(uint8_t *dst, const lcd_fortune_texture_t *t, + vertex_t a, vertex_t b, vertex_t c, bool include_shared) +{ + float det=(b.x-a.x)*(c.y-a.y)-(c.x-a.x)*(b.y-a.y); + if (fabsf(det)<0.01f) return; + int left=(int)floorf(fminf(a.x,fminf(b.x,c.x))), right=(int)ceilf(fmaxf(a.x,fmaxf(b.x,c.x))); + int top=(int)floorf(fminf(a.y,fminf(b.y,c.y))), bottom=(int)ceilf(fmaxf(a.y,fmaxf(b.y,c.y))); + if (leftLCD_FORTUNE_X+LCD_FORTUNE_WIDTH) right=LCD_FORTUNE_X+LCD_FORTUNE_WIDTH; + if (bottom>LCD_FORTUNE_Y+LCD_FORTUNE_HEIGHT) bottom=LCD_FORTUNE_Y+LCD_FORTUNE_HEIGHT; + float inv=1/det; + for (int y=top; y=0 && wc>=0 && (include_shared ? wb+wc<=1 : wb+wc<1)) sample(dst,x,y,t, + a.u+wb*(b.u-a.u)+wc*(c.u-a.u), a.v+wb*(b.v-a.v)+wc*(c.v-a.v),255); + } +} +static vertex_t project(float u, float v, float width, float height, float theta, + float cx, float cy, bool side, bool front) +{ + float c=cosf(theta), s=sinf(theta), roll=0.025f*s; + float x=side?0:(front?0.5f-u:u-0.5f)*width; + float z=side?(u-0.5f)*10:0; + float X=x*c-z*s, Z=x*s+z*c, k=320/(320+Z); + float xx=X*k, yy=(v-0.5f)*height*k; + return (vertex_t){cx+xx*cosf(roll)-yy*sinf(roll),cy+xx*sinf(roll)+yy*cosf(roll),u,v}; +} +static void paw(uint8_t *dst, const lcd_fortune_texture_t *t, float width, float height, + float theta, float cx, float cy, bool side, bool front) +{ + /* 16 条纵向纹理带近似透视;每带仅两个三角形,非三维模型。 */ + for (int i=0; i<16; ++i) { + float u0=i/16.0f,u1=(i+1)/16.0f; + vertex_t a=project(u0,0,width,height,theta,cx,cy,side,front); + vertex_t b=project(u1,0,width,height,theta,cx,cy,side,front); + vertex_t c=project(u0,1,width,height,theta,cx,cy,side,front); + vertex_t d=project(u1,1,width,height,theta,cx,cy,side,front); + triangle(dst,t,a,b,c,true); triangle(dst,t,d,c,b,false); + } +} +static void flip_question(uint8_t *dst,const lcd_fortune_texture_t *t,float theta,float cx,float cy) +{ + /* 小问号与签的正面共用透视平面;正面展开时不突然贴出平面图案。 */ + vertex_t a=project(0.30f,0.43f,60,114,theta,cx,cy,false,true); + vertex_t b=project(0.70f,0.43f,60,114,theta,cx,cy,false,true); + vertex_t c=project(0.30f,0.816f,60,114,theta,cx,cy,false,true); + vertex_t d=project(0.70f,0.816f,60,114,theta,cx,cy,false,true); + /* 正面 local X 反向,因此按屏幕方向摆放 UV,签文不镜像。 */ + a.u=c.u=0; b.u=d.u=1; a.v=b.v=0; c.v=d.v=1; + triangle(dst,t,a,b,c,true);triangle(dst,t,d,c,b,false); +} +static void overlay(uint8_t *dst,const lcd_fortune_texture_t *t, + float left,float top,float width,float height,float reveal) +{ + for (int y=(int)floorf(top); y<(int)ceilf(top+height*reveal); ++y) + for (int x=(int)floorf(left); x<(int)ceilf(left+width); ++x) + sample(dst,x,y,t,(x+0.5f-left)/width,(y+0.5f-top)/height,255); +} +static void stars(uint8_t *dst,float progress) +{ + static const uint8_t points[][3]={{89,62,4},{232,91,6},{75,132,5},{251,145,4}, + {119,195,5},{229,211,6},{198,40,4},{79,191,4}}; + unsigned alpha=(unsigned)(255*progress); + for (size_t i=0;ipixels || + !text->width || !text->height || text->width>320 || text->height>240) return false; + for (int i=0;i320 || shared[i].height>240) return false; + memset(dst,0,bytes); + if (time_ms>LCD_FORTUNE_MOTION_MS) time_ms=LCD_FORTUNE_MOTION_MS; + float zoom=smooth(((float)time_ms-1900)/600); + if (time_ms<600) blit(dst,&shared[LCD_FORTUNE_ROD],lcd_fortune_shared[LCD_FORTUNE_ROD].x, + lcd_fortune_shared[LCD_FORTUNE_ROD].y,255); + float width=60+40*zoom,height=114+76*zoom,cx=160,cy=94+25*zoom; + if (time_ms<600) { + cy=212-118*smooth(time_ms/600.0f); + paw(dst,&shared[LCD_FORTUNE_BACK],60,110,0,cx,cy,false,false); + } else if (time_ms<1200) { + float theta=3.14159265f*smooth((time_ms-600)/600.0f), c=cosf(theta), s=sinf(theta); + bool side=fabsf(c)<0.17f,front=c<0; + const lcd_fortune_texture_t *t=&shared[side?LCD_FORTUNE_EDGE:front?LCD_FORTUNE_FRONT:LCD_FORTUNE_BACK]; + paw(dst,t,60,side?110:114,theta,cx+4*s,cy-3*s,side,front); + if (front && !side) flip_question(dst,&shared[LCD_FORTUNE_QUESTION],theta,cx+4*s,cy-3*s); + } else { + paw(dst,&shared[LCD_FORTUNE_FRONT],width,height,3.14159265f,cx,cy,false,true); + } + if (time_ms>=1200 && time_ms<1600) + overlay(dst,&shared[LCD_FORTUNE_QUESTION],cx-12,cy-8,24,44,1); + if (time_ms>=1600) { + float left=cx-width/2,top=cy-height/2; + overlay(dst,text,left+width*0.26f,top+height*70/190,width*0.48f,height*104/190, + smooth((time_ms-1600)/300.0f)); + } + /* 下方爪子遮挡抽出时的签底;放大阶段淡出,最终背景纯黑。 */ + blit(dst,&shared[LCD_FORTUNE_PILE],lcd_fortune_shared[LCD_FORTUNE_PILE].x, + lcd_fortune_shared[LCD_FORTUNE_PILE].y,(unsigned)(255*(1-zoom))); + if (zoom>0) stars(dst,zoom); + return true; +} diff --git a/docs/GFX表情显示应用与开发指南.md b/docs/GFX表情显示应用与开发指南.md index d285b2c..7639b76 100644 --- a/docs/GFX表情显示应用与开发指南.md +++ b/docs/GFX表情显示应用与开发指南.md @@ -1,6 +1,6 @@ # GFX 表情显示应用与开发指南 -本文面向本项目的开发者,说明当前 `esp_emote_gfx` 的具体应用及后续开发方法。正文使用中文,代码、路径和日志字段保留原名以便检索。适用基线为 2026 年 10 月 9 日的工作区实现;资源和性能数字随代码变化而变化。 +本文面向本项目的开发者,说明当前 `esp_emote_gfx` 的具体应用及后续开发方法。正文使用中文,代码、路径和日志字段保留原名以便检索。适用基线包含 2026 年 10 月 10 日的抽签分层动画;资源和性能数字随代码变化而变化。 ## 一、当前方案与边界 @@ -8,9 +8,9 @@ - 底层为 ESP32-S3、ST7789P3、单线 SPI,当前像素时钟为 40 MHz,逻辑画布为 320×240。 - 当前使用 `esp_emote_gfx` 3.0.5,由 `platform` 私有依赖。没有接入 `esp_emote_expression` 状态管理组件,也没有把当前表情绘制建立在 LVGL 上。依赖目录中存在其他库不等于当前显示链路使用它们。 -- 待机基础表情与 listening 采用 GFX;其他表情仍走原 PNG 或步骤序列,不是所有资产都已经迁移。listening 缓存失败时单独回退旧 PNG,不影响待机。 +- 待机基础表情、listening 与五种抽签结果采用 GFX 图层;其他表情仍走原 PNG 或步骤序列,不是所有资产都已经迁移。listening 缓存失败时单独回退旧 PNG,不影响待机。抽签只在开始画面前准备失败时回退,播放途中取消/传输失败不从头重播 PNG。 - 屏幕目前未使用 TE 同步。软件预合成和连续传输能改善撕裂观感,但不能保证面板扫描与写入完全同步。 -- 用户已确认待机缓存/固定时间轴以及新 listening 版本的观感满意。两者最终版本尚无新的配套量化日志,不能写成“稳定达到 30 FPS”或“全部实机验收完成”。 +- 用户已确认待机缓存/固定时间轴以及新 listening 版本的观感满意。2026-10-10 启动样本中的待机眨眼约 410 ms、步骤约 29.26/s、实际眼型更新约 21.95/s;不是 listening/抽签帧率或全负载验证,不能写成“全部实机验收完成”。 已安装组件提供图片、网格图片、运动、动画、标签、二维码和按钮等接口。但本项目仅实际使用图片、网格、显示刷新及相关对象控制;通用中文文本、按钮、触摸和复杂布局不属于当前已实现能力。 @@ -63,6 +63,11 @@ esp_err_t err = domain_runtime_request_expression(&request); | `components/platform/internal/lcd_emote_listening.h` | 平台私有插值接口,不向领域或控制层泄漏 GFX 类型 | | `tools/prepare_listening_expression.py` | 拆分旧 listening、编码往返校验、生成四个 C 资产及同算法动画预览 | | `tools/test_lcd_listening_gfx.py` | 实际资产、全闭合参数、缓存分配失败、GFX 对象失败、静态像素恢复与切换回归 | +| `components/platform/src/lcd_emote_fortune.c` | 抽签 LZ4 有界解码、轻透视纹理光栅、签文展开、放大与星光 | +| `components/platform/internal/lcd_emote_fortune.h` | 抽签私有图层/纹理/固定窗口契约 | +| `components/platform/src/generated/emote_gfx/fortune_assets.c` | 六个共享图层、五种签文 LZ4 压缩载荷 | +| `tools/prepare_fortune_expression.py` / `tools/preview_fortune_expression.py` | 拆分/压缩与实际 C 算法预览;均不进设备固件 | +| `tools/test_lcd_fortune_gfx.py` | 五签、损坏输入、几何边界、时间轴、取消和释放回归 | `/tmp` 下修改过程中生成的补丁脚本不是工程运行依赖,不应提交或作为正式资源流程使用。 @@ -178,6 +183,7 @@ RLE(游程长度编码)把连续相同像素写成“数量+像素值” | --- | --- | --- | --- | | 普通 PNG 与 GFX 失败后备 | `lcd_source/*.png` | `lcd_optimized/*.png` 经素材包链接入应用 | 原 PNG 解码/缓存链路 | | 新待机/listening GFX | 原 PNG 与拆分图层 PNG | 六个实际参与编译的 RLE C 资产 | 初始化解压,生成 PSRAM 眼型缓存,之后切换缓存 | +| 五种抽签 GFX | 抽签源 PNG 与 `lcd_layers/chouqian` 拆分层 | 十一图层的 LZ4 block C 数组 | 动作开始解压六个共享层及所选签文,实时局部纹理光栅,结束/取消解绑后释放 | | 离线预览 | 图层与实际插值算法 | 不入固件 | 在电脑上检查造型,不能模拟 LCD 扫描 | RLE 的编码往返对转换后的 RGB565+A8 数据无损,不等于原 PNG 的所有 RGB888 @@ -195,6 +201,7 @@ components/platform/assets/ lcd_layers/ jichubiaoqing/ 待机可编辑拆分图层、布局及预览 listening/ 聆听可编辑拆分图层、布局及预览 + chouqian/ 抽签共享图层、五种原签文及布局 components/platform/src/generated/emote_gfx/ idle_base.c 实际编译的底图压缩数据 idle_eyes_open.c 实际编译的睁眼压缩数据 @@ -202,6 +209,7 @@ components/platform/src/generated/emote_gfx/ listening_eyes_open.c 实际编译的聆听睁眼关键图 listening_eyes_half.c 实际编译的聆听半闭关键图 listening_eyes_closed.c 实际编译的聆听闭眼关键图 + fortune_assets.c 实际编译的抽签 LZ4;不是 RLE ``` 半闭眼、闭眼源图及对应历史生成文件不代表当前参与编译;以构建列表为准,不把目录里的全部文件自动加入固件,也不擅自删除旧资源。 @@ -290,7 +298,7 @@ PSRAM 外部内存充足当成内部 DMA 安全。当前 listening 的已接受 ## 八、性能日志如何读 -通过 `menuconfig` 搜索 `TQ_LCD_EMOTE_GFX_TEST` 和 `TQ_LCD_EMOTE_FPS_LOG`。前者控制 GFX 待机及 listening 路径;后者控制性能统计,默认关闭,当前本地测量配置开启。关闭统计不应改变动画节奏。 +通过 `menuconfig` 搜索 `TQ_LCD_EMOTE_GFX_TEST` 和 `TQ_LCD_EMOTE_FPS_LOG`。前者控制 GFX 待机、listening 及抽签路径;后者控制性能统计,默认关闭,当前本地测量配置开启。关闭统计不应改变动画节奏。抽签使用 `fortune_fps`,只计算运动段、不含最后停留,详见抽签开发说明。 每轮完整眨眼输出一次 `emote_fps` 和 `emote_cost`,不在逐帧传输中打印: @@ -366,7 +374,25 @@ python3 tools/test_lcd_listening_gfx.py 固定窗口/锚点变化需同步脚本与测试。需要手工保留眉毛等素材编辑时,不要直接重新 拆分覆盖;当前生成脚本不是所有角色通用的热替换工具。 -### 接入更多表情 +### 已接入的五种抽签结果(2026-10-10) + +统一抽出、轻透视翻面、问号、签文展开、放大/闪光与回待机。领域仍选择旧六步 +序列和所选结果,平台只对完整匹配的资产序列优化;其他步骤序列不受影响。 +纹理光栅由平台私有 C 完成,GFX 使用普通图片承接局部合成及 HUD,不是完整 +三维引擎或 LVGL 动画。六图层共享,一次只载入一份签文,不建立五套缓存。 +旧十八张 PNG 完整保留。详见 [抽签开发说明](抽签分层动画开发说明.zh-CN.md)。 + +新载荷 43,547 B,应用实际净增 51,856 B(本次构建 3,157,728 B);运动期 +像素 PSRAM 278,249 B,加场景描述 148 B,正常结束/取消释放;临时图片对象 +普通堆请求 96 B(不含分配器开销);静态可写 RAM 增量 4 B,无新 DMA/任务。 +动画前分配失败后备 PNG;已开始后不因错误重播 PNG;解绑异常保留绑定资源 +直到重启,不能假装完整释放。不是新格式一定最省 Flash,比较详见资产台账。 + +本次主机测试、ESP-IDF 5.5.4、日志/GFX 关闭编译及应用烧录校验通过。 +启动日志确认待机/listening 缓存成功,短时显示日志无传输/锁/崩溃错误; +尚未捕获实机抽签播放日志,不宣称已测得抽签 FPS 或五签观感已验收。 + +### 接入更多表情(逐个评估) 先逐个迁移,保留未迁移 PNG 路径。每个表情准备静态层、动态图层、锚点、时间线、缓存预算及结束行为。固定短动作适合预生成缓存;大量不同动作或连续交互需要考虑按需生成、共享缓存和生命周期,不应给每个表情无上限常驻一份整屏缓存。 @@ -397,6 +423,7 @@ python3 tools/test_lcd_status_hud.py python3 tools/test_lcd_emote_transport.py python3 tools/test_lcd_emote_timeline.py python3 tools/test_lcd_listening_gfx.py +python3 tools/test_lcd_fortune_gfx.py ``` 这些脚本在电脑上从实际源码提取 C 函数,使用 Clang 与内存、未定义行为检查器。需要 Python 和 Clang;不是固件代码,不占设备 Flash 或 RAM。测试使用模拟接口,不能证明屏幕无撕裂、实时帧率或设备像素完全一致。 diff --git a/docs/抽签分层动画开发说明.zh-CN.md b/docs/抽签分层动画开发说明.zh-CN.md new file mode 100644 index 0000000..9cc2eca --- /dev/null +++ b/docs/抽签分层动画开发说明.zh-CN.md @@ -0,0 +1,151 @@ +# 抽签分层动画开发说明 + +## 当前实现 + +2026-10-10 将五种结果接入同一动作:卜运签(保留原素材中的“补运签”字形)、 +和平签、上上签、小吉签、中上签。领域结果目录及云端结果索引未改变,不在平台 +重新随机,不改抽签请求、语音或联网流程。 + +领域继续下发原六步:前三步 `chouqian_qianzhi` 的 0/1/2,后三步所选结果 +的 0/1/2,间隔 500/500/500/500/500/1500 ms。平台只有在完整匹配六步、 +无附加图标、原间隔及 320×240、GFX 就绪时使用新动画。修改步骤/间隔会回到 +普通 PNG,不静默覆盖通用步骤序列。 + +| 时间 | 动作 | +| --- | --- | +| 0~600 ms | 背面爪签从下方爪堆中抽出;爪堆遮挡签底,保留钓线/鱼 | +| 600~1200 ms | 轻透视翻面;背面缩窄,近 90° 用侧面厚度关键层,正面展开 | +| 1200~1600 ms | 正面问号保持;问号在翻面后半段已经随正面透视展开 | +| 1600~1900 ms | 所选原签文自上往下展开,不使用完整图片交叉淡化 | +| 1900~2500 ms | 爪签连续放大,爪堆淡出,程序金色星光出现 | +| 运动末帧后 1500 ms | 保持结果,变化的时间/电池可刷新,最后正常完成并守卫回待机 | + +名义总长约 4 秒;若运动因负载迟到,仍保留完整 1500 ms 末帧阅读时间。 +共同起点固定时间轴,目标运动步间隔 34 ms,75 张绘制(含起始与末端),不 +画完再等 34 ms、不跳动作、不忙等。实际调度可迟到;目标不是实测 FPS。 +取消以 20 ms 等待片轮询加当前绘制/传输时间为边界,不视为成功完成。 +保留统一待机 guard,旧动画完成不能覆盖新 pending 请求。 + +## 图层和渲染 + +六个共享层:下方爪堆、背面、侧面、空白正面、问号、钓线/鱼;另有五个原签文。 +保留源图,背景抖动杂点归零,清除背面裁剪内的钓线,将正面原签文区恢复签底, +保留肉垫与外轮廓;程序星光代替分散的原星光。属于小幅性能适配,并非原 PNG +逐像素不变。签文轮廓/颜色来自旧素材,不使用另加中文字体。 + +`lcd_emote_fortune.c` 在 PSRAM 的 `(56,20,208,220)` 局部不透明 RGB565 窗口 +完成光栅:16 条纹理带近似透视、前后近远缩放、微小姿态变化;仅近侧面时使用 +厚度层,避免半翻面时浮出一条不属于轮廓的金线。正面 UV 补偿反向,文字不镜像。 +双线性采样在预乘 Alpha 空间进行,边缘不会把透明黑混出暗边。 + +每步完整恢复同一局部窗口并画新轮廓,防止旧轮廓残影。图片位置/尺寸固定, +无需以错误的“只更新新轮廓”留下旧像素。钓线在窗口外部分借用现有背景对象, +翻面开始只隐藏一次;不逐帧让不变的钓线失效。窗口顶部覆盖放大爪尖但避开 +左上时间和右上电池;源图/几何变化需同步边界及预览。 + +GFX 负责普通图片图层、共享 HUD、区域合成及既有安全传输,不是使用 GFX +三维引擎,也没有 LVGL GUI。复用 153,600 B GFX 合成缓冲、10,240 B DMA +暂存区、ISR 完成等待和故障锁存;新增 91,520 B 是局部光栅缓冲,不是第二个 +整屏换帧缓冲。屏幕无 TE,不能承诺完全无撕裂。 + +## 制作与测试 + +```text +components/platform/assets/lcd_source/chouqian_*.png 原十八张 PNG,保留 +components/platform/assets/lcd_optimized/chouqian_*.png 旧 PNG 后备,仍入包 +components/platform/assets/lcd_layers/chouqian/ 六共享图层、五签文、layout +components/platform/src/generated/emote_gfx/fortune_assets.c 实际编译压缩资产 +components/platform/internal/lcd_emote_fortune.h 平台私有描述 +components/platform/src/lcd_emote_fortune.c 解码与几何 +components/platform/src/lcd_direct.c 匹配、准备、播放、解绑、测量 +``` + +生成文件不要手改。以下需要 Pillow 和 Clang,生成会覆盖本次拆分图层及 C, +先保存手工美术修改;旧十八张源/优化 PNG 不改,不把拆分 PNG 重复入资源包。 + +```bash +python3 tools/prepare_fortune_expression.py +python3 tools/prepare_fortune_expression.py --check +python3 tools/test_lcd_fortune_gfx.py +python3 tools/preview_fortune_expression.py --output /tmp/lucky-fortune-preview --result 2 +``` + +新压缩编码为 LZ4 block:字面量加 16-bit 回指,用有界、自包含解码器直接恢复 +RGB565 高字节在前+独立 A8,不引入新解码任务/库,不在每帧解压。解码拒绝 +越界回指、截断和输出长度错误。与旧四字节像素 RLE 不能互换。往返相对转换后 +的 RGB565+A8 无损;转换/拆分并非 RGB888 原画无损。Alpha 全平面校验保留。 + +主机测试实际 C 解码和几何,五种结果共 1180 个采样时刻、空间不足/损坏输入、 +九次分配失败、75 个取消点、4 秒时间轴、解绑/传输失败;日志开/关均覆盖。 +预览也调用实际 C,另比较 C 解压与图层 PNG 转换后的像素及 Alpha。 +仍需执行原四个显示回归和 IDF 5.5.4,并对 LCD 源文件验证日志/GFX 关闭条件编译。 + +替换资源不是只改 PNG:当前拆分坐标、尺寸、问号、原签文区域、锚点、放大 +比例和窗口耦合。要调整生成器与几何,并用实际 C 预览检查翻面镜像、爪尖/签底 +裁剪、字形缺笔、Alpha 暗边、HUD 遮挡及返回待机。 + +## 资源与生命周期 + +新载荷 43,547 B,十一张优化图层 PNG 37,046 B,原十八 PNG 372,012 B、 +旧优化十八 PNG 136,226 B。不是相同图层数量的无损压缩比例对比;新方案 +只保留少量关键素材而实时计算过渡。新 LZ4 比其十一 PNG 大 6,501 B,选择 +它是为有界直接解压与减少 PNG 解码暂存,不是保证最小 Flash。 + +| 新增项 | 数值 | +| --- | ---: | +| 十一图层原始 RGB565+A8 | 246,633 B(含五签文,不全解压到运行内存) | +| 编译资产对象只读段(含描述/目录名) | 43,831 B;data/BSS 0 | +| 应用镜像 | 3,157,728 B,较上一提交 3,105,872 B 净增 51,856 B | +| 单 OTA 槽余量 | 1,560,864 B | +| 六共享图层解压像素 | 171,753 B | +| 本次所选一份签文 | 14,976 B | +| 局部光栅缓冲 | 91,520 B | +| 播放期像素 PSRAM 峰值 | 278,249 B | +| 场景状态/描述 | 148 B PSRAM;峰值明确请求合计 278,397 B | +| 临时 GFX 图片对象/状态/链节点 | 80+8+8=96 B 普通堆,不含管理开销 | +| 静态可写数据 | LCD 文件增加 4 B 指针 | +| 新内部/DMA 暂存区、任务 | 0 | +| 正常完成/取消后新增 PSRAM/对象常驻 | 0,解绑释放 | + +数据来自目标编译器及本次构建,不包含分配器管理、局部栈和绘制临时开销。 +旧 PNG 后备保留,包仍是 820,125 B、75 PNG/32 Opus,所以完整固件不会按 +新旧素材差额减少。成本在本次提出的额外 Flash 80 KiB、像素 PSRAM 300 KiB +预算内;不要将此预算自动授权给后续更大缓存或新内部/DMA 缓冲。 + +播放准备失败释放部分成果;创建/绑定失败且安全解绑后才回退 PNG;开始绘制 +后取消/失败不从头重播。每次动作只解压六共享层与一签文、申请一局部缓冲和 +一个图片对象,正常退出持同任务 GFX 锁,背景重新绑定待机,再删除临时对象, +释放像素/场景。若锁/解绑异常,保留已绑定资源到重启,禁止再次创建该场景, +不能宣称此异常下已完成释放;既有强制删任务异常路径也不作为正常释放保证。 + +## 设备测试与日志 + +工厂 UART0 增加仅显示的测试命令,不调用云端,不写 NVS: + +```text +lcd_fortune_test 0 +lcd_fortune_test 1 +lcd_fortune_test 2 +lcd_fortune_test 3 +lcd_fortune_test 4 +``` + +每条结束后等至少 4 秒再发下一条;新命令会中断当前画面,不能当排队命令。 +0~4 映射与上面顺序一致;仅接受单字符索引,缺失/越界/多参数拒绝。 +`OK` 仅代表请求入队,完成/显示仍以日志及屏幕为准。当前 USB Serial/JTAG +是次级日志输出,CLI 读取 UART0,不能假设向 USB 日志口发送命令就会被执行。 +正常抽签仍可通过既有 SW2/云端流程触发,不需要该测试命令。 + +开启 `CONFIG_TQ_LCD_EMOTE_FPS_LOG` 时每次运动段输出 `fortune_fps`: +`frames` 仅计成功绘制/传输;`motion_us` 为实际运动墙钟,排除最后保持; +`update_fps` 使用相同时间分母;`draw_avg_us/max_us` 含锁、光栅、GFX、DMA +复制及传输等待,平均分母是绘制尝试数(包括失败尝试);`late_frames` 是绘制 +达到 34 ms 的次数,不是面板丢帧。 +这些是任务墙钟,不能当纯 CPU,也不等于面板扫描率。开始日志另有解压/准备 +时间、像素 PSRAM 及场景描述字节。 + +本次五签主机/条件编译/IDF 5.5.4 构建通过;当前设备 ota_0 有效,经读取 OTA +选择区确认后只用 app-flash 写 ota_0 应用,镜像校验成功,NVS/模型/选择区未改。 +启动采样 25 秒:最终应用 SHA 前缀 06e65e4a0、待机/listening 缓存成功,采样内 +无显示锁/传输/崩溃错误。未捕获抽签运动日志,未完成五签 LCD 观感及并行负载 +验收,不写成实测稳定 30 FPS。启动期间的内存最低值不能代表抽签运行期最低值。 diff --git a/docs/显示与音频资产台账.zh-CN.md b/docs/显示与音频资产台账.zh-CN.md index 31fe348..4bd5c37 100644 --- a/docs/显示与音频资产台账.zh-CN.md +++ b/docs/显示与音频资产台账.zh-CN.md @@ -419,7 +419,57 @@ PNG 包仍为 820,125 B、75 PNG/32 Opus;只读资产已包含于整个应用 内部/DMA 专用缓冲及静态可写数据均为 0;复用既有 HUD 和行缓冲。 局部栈、CPU 耗时和设备最低内存尚未新增实机测量,不应写成整体资源零成本。 -## 维护与后续清理 +## 新增抽签分层资产(2026-10-10) + +以下新增项不合并进上面的历史目录汇总。旧抽签十八张源 PNG 共 372,012 B、 +优化 PNG 共 136,226 B,全部保留且后备仍入包。PNG 包仍 820,125 B,不重复 +加入本次拆分层。生成器使用优化 PNG 保存拆分层,但实际编译 LZ4,不是 RLE。 + +图层目录:`components/platform/assets/lcd_layers/chouqian/`。 + +| 图层 | 尺寸 | 优化 PNG B | 本机分配 B | RGB565+A8 B | LZ4 载荷 B | +| --- | --- | ---: | ---: | ---: | ---: | +| `pile.png` | 208×76 | 9,594 | 12,288 | 47,424 | 9,417 | +| `back.png` | 63×113 | 2,999 | 4,096 | 21,357 | 4,179 | +| `edge.png` | 41×110 | 2,957 | 4,096 | 13,530 | 4,389 | +| `front.png` | 100×190 | 7,579 | 8,192 | 57,000 | 10,774 | +| `question.png` | 27×50 | 730 | 4,096 | 4,050 | 817 | +| `rod.png` | 169×56 | 1,584 | 4,096 | 28,392 | 2,094 | +| `text_buyun.png` | 48×104 | 2,502 | 4,096 | 14,976 | 2,638 | +| `text_heping.png` | 48×104 | 2,784 | 4,096 | 14,976 | 2,851 | +| `text_shangshang.png` | 48×104 | 2,132 | 4,096 | 14,976 | 2,069 | +| `text_xiaoji.png` | 48×104 | 2,091 | 4,096 | 14,976 | 2,210 | +| `text_zhongshang.png` | 48×104 | 2,094 | 4,096 | 14,976 | 2,109 | +| 合计 | 十一图层 | 37,046 | 57,344 | 246,633 | 43,547 | + +`layout.json` 1,929 B、分配 4,096 B,不入固件;目录共十二文件 38,975 B、 +分配 61,440 B。预览工具默认输出 `/tmp/lucky-fortune-preview`,不是编译资产。 +源十八 PNG 与本次拆分层不是相同数量的无损比较;背景/几何做了小幅性能适配。 +LZ4 对转换后的 RGB565+A8 无损且完整保留 Alpha,但比拆分 PNG 多 6,501 B, +不能称为压得最小。生成器及实际 C 解码均做往返校验,原旧 PNG 不覆盖。 + +生成 C:`components/platform/src/generated/emote_gfx/fortune_assets.c`,文本 +270,251 B、分配 270,336 B;目标对象只读段总计 43,831 B(载荷、176 B 资产 +描述、20 B 目录指针、88 B 目录名),可写 data/BSS 为 0。生成 C 不手改。 + +本次完整应用 3,157,728 B,较 HUD 提交 3,105,872 B 增加 51,856 B,包含 +资产、几何/解码、播放与 UART 显示测试命令的代码及对齐;单 OTA 槽余量 +1,560,864 B。所有只读资源已经包含在应用里,不能再相加。 + +六共享层解压 171,753 B、一次仅选一份签文 14,976 B、208×220 RGB565 +局部光栅缓冲 91,520 B,像素峰值合计 278,249 B PSRAM;目标编译器场景 +描述 148 B 也在 PSRAM,明确申请峰值 278,397 B,不含堆管理。 +正常结束/取消后释放,新增常驻像素为 0。临时 GFX 图片对象/状态/链节点 +普通堆请求合计 96 B,不含分配器;LCD 静态可写数据增加 4 B 指针, +无新增内部/DMA 缓冲、合成整屏缓冲或任务;局部栈/CPU/实际最低余量另测。 +解绑故障时保留绑定资源到重启,不冒充完整释放。 + +五签主机回归、IDF 5.5.4、日志关闭/GFX 关闭编译与应用烧录校验通过。 +设备启动确认缓存成功、25 秒采样无显示锁/传输/崩溃错误;未捕获抽签运动 +日志,FPS/五签观感/并行负载最低内存仍待实机验收。详见 +[抽签开发说明](抽签分层动画开发说明.zh-CN.md)。 + +## 维护与后续清理(通用) 1. PNG 新增/替换按 [图片优化流程](lcd-image-asset-optimization.zh-CN.md) 生成并验证, 不能编辑优化产物代替修改源图。GFX 新增/替换使用对应压缩脚本和编码往返测试。 diff --git a/main/Kconfig.projbuild b/main/Kconfig.projbuild index ffaf3bc..1587a3e 100644 --- a/main/Kconfig.projbuild +++ b/main/Kconfig.projbuild @@ -639,7 +639,7 @@ menu "TQ Cat Configuration" Stack size in bytes for the control-plane LCD render worker. config TQ_LCD_EMOTE_GFX_TEST - bool "Use esp_emote_gfx for idle and listening expressions (experimental)" + bool "Use esp_emote_gfx for idle, listening and fortune animations (experimental)" default n depends on TQ_SCREEN_ENABLE help @@ -647,18 +647,21 @@ menu "TQ Cat Configuration" RGB565A8 eye layer. Only the eye region is refreshed while blinking. Listening uses three compressed key shapes to generate a local eye-frame cache once. Both expressions share the display, - DMA staging and clock/battery overlay. Other presentations use + DMA staging and clock/battery overlay. Fortune sequences share + layered paw textures and five original result texts, decoded + only for one playback and freed afterward. Other presentations use the existing PNG renderer; listening falls back to PNG if its cache allocation fails. config TQ_LCD_EMOTE_FPS_LOG - bool "Log measured GFX blink FPS" + bool "Log measured GFX animation FPS" depends on TQ_LCD_EMOTE_GFX_TEST default n help Log once per completed blink: measured step FPS, actual eye update FPS, draw time and deadline overruns. Excludes the idle - open-eye pause. This does not measure panel scan rate. + open-eye pause. Fortune logs once per motion segment, excluding + the final hold. This does not measure panel scan rate. config TQ_SCREEN_COLOR_ORDER_BGR bool "Use BGR color order" diff --git a/tools/prepare_fortune_expression.py b/tools/prepare_fortune_expression.py new file mode 100644 index 0000000..45f6b70 --- /dev/null +++ b/tools/prepare_fortune_expression.py @@ -0,0 +1,156 @@ +#!/usr/bin/env python3 +"""从保留的抽签源 PNG 拆分共享图层、五个签文,生成 LZ4;--check 不写文件。 + +会覆盖 lcd_layers/chouqian 和生成 C;先保存手工美术编辑。背景杂点归零、 +清除背面残留钓线、抽取并共享正面;RGB565+A8 编码往返无损不等于拆分原画无损。 +""" +import argparse +from collections import deque +import json +from pathlib import Path +from PIL import Image +from compress_idle_expression import pixels565 + +def compress(raw): + """LZ4 block:字面量和 16-bit 回指;编码器自包含,不下载库。""" + out=bytearray();table={};anchor=pos=0 + def length(value): + while value>=255: out.append(255);value-=255 + out.append(value) + while pos+12<=len(raw): + key=raw[pos:pos+4];previous=table.get(key);table[key]=pos + if previous is None or pos-previous>65535: + pos+=1;continue + size=4 + while pos+size=15: length(literals-15) + out.extend(raw[anchor:pos]);offset=pos-previous;out.extend((offset&255,offset>>8)) + if match>=15: length(match-15) + end=pos+size + for p in range(pos+1,end): + if p+4<=len(raw):table[raw[p:p+4]]=p + pos=anchor=end + literals=len(raw)-anchor;out.append(min(literals,15)<<4) + if literals>=15:length(literals-15) + out.extend(raw[anchor:]) + assert decompress(out)==raw + return out + +def decompress(data): + out=bytearray();pos=0 + def length(value): + nonlocal pos + if value==15: + while True: + v=data[pos];pos+=1;value+=v + if v!=255:break + return value + while pos>4) + out.extend(data[pos:pos+literals]);pos+=literals + if pos==len(data):break + offset=data[pos]|data[pos+1]<<8;pos+=2;match=length(token&15)+4 + assert 035 and a} + components=[] + while candidates: + seed=candidates.pop(); queue=deque([seed]); group={seed} + while queue: + x,y=queue.popleft() + for nx in range(max(0,x-1),min(image.width,x+2)): + for ny in range(max(0,y-1),min(image.height,y+2)): + if (nx,ny) in candidates: + candidates.remove((nx,ny));group.add((nx,ny));queue.append((nx,ny)) + if len(group)>=8: components.append(group) + selected=max(components,key=len) if largest else set().union(*components) + image.putdata([(r,g,b,a) if (i%image.width,i//image.width) in selected else (0,0,0,0) + for i,(r,g,b,a) in enumerate(pixels)]) + return image + +def text_layer(name): + image=Image.open(SOURCE/f"chouqian_{name}2.png").convert("RGBA").crop((136,94,184,198)) + # 只保留原签文橙红笔画及边缘,不把黄色签底一起叠加。 + image.putdata([(r,g,b,a) if r>150 and g<175 and b<100 and r>g*1.35 else (0,0,0,0) + for r,g,b,a in image.getdata()]) + assert image.getbbox(), name + return image + +def layers(): + pile=clean("chouqian_qianzhi1.png",(56,164,264,240)) + back=clean("chouqian_qianzhi1.png",(130,37,193,150),True) + for y in range(18,32): + for x in range(8): + r,g,b,a=back.getpixel((x,y)) + if r>g*1.3 and g>b*1.5: back.putpixel((x,y),(0,0,0,0)) + edge=clean("chouqian_qianzhi2.png",(139,38,180,148),True) + front=clean("chouqian_shangshang2.png",(110,24,210,214),True) + # 原签文所在内部签底做逐行双色插值;边框、肉垫、外轮廓保持原图。 + for y in range(70,174): + l=front.getpixel((26,y));r=front.getpixel((73,y)) + assert l[3] and r[3], y + for x in range(26,74): + f=(x-26)/47 + front.putpixel((x,y),tuple(round(l[c]*(1-f)+r[c]*f) for c in range(3))+(255,)) + question=Image.open(SOURCE/"chouqian_shangshang0.png").convert("RGBA").crop((147,83,174,133)) + question.putdata([(r,g,b,a) if r>150 and g<215 and b<170 and r>g*1.10 else (0,0,0,0) + for r,g,b,a in question.getdata()]) + assert question.getbbox() + rod=clean("chouqian_qianzhi0.png",(0,40,169,96)) + return [("pile",pile,56,164),("back",back,0,0),("edge",edge,0,0), + ("front",front,0,0),("question",question,0,0),("rod",rod,0,40)] + [ + ("text_"+name,text_layer(name),0,0) for name in RESULTS] + +def main(): + args=argparse.ArgumentParser();args.add_argument("--check",action="store_true");args=args.parse_args() + items=layers(); out=['/* Generated by tools/prepare_fortune_expression.py; do not edit. */', + '#include "lcd_emote_fortune.h"',''] + entries=[]; report=[] + if not args.check: LAYERS.mkdir(parents=True,exist_ok=True) + for name,image,x,y in items: + pixels=pixels565(image) + raw=bytes(v for hi,lo,a in pixels for v in (hi,lo))+bytes(a for hi,lo,a in pixels) + data=compress(raw) # 对 RGB565 高低字节与独立 A8 平面逐字节往返检查。 + out += [f'static const uint8_t fortune_{name}[] = {{'] + out += [' '+', '.join(f'0x{v:02x}' for v in data[i:i+24])+',' for i in range(0,len(data),24)] + out += ['};',''] + entries.append(f' {{{image.width}, {image.height}, {x}, {y}, sizeof(fortune_{name}), fortune_{name}}},') + report.append(dict(name=name,width=image.width,height=image.height,x=x,y=y, + raw_bytes=image.width*image.height*3,lz4_bytes=len(data))) + if args.check: + with Image.open(LAYERS/f"{name}.png") as old: + assert old.convert("RGBA").tobytes()==image.tobytes(), name + else: image.save(LAYERS/f"{name}.png",optimize=True) + out += ['const lcd_fortune_asset_t lcd_fortune_shared[LCD_FORTUNE_SHARED_COUNT] = {',*entries[:6],'};', + 'const lcd_fortune_asset_t lcd_fortune_text[LCD_FORTUNE_RESULT_COUNT] = {',*entries[6:],'};', + 'const char *const lcd_fortune_result_dirs[LCD_FORTUNE_RESULT_COUNT] = {', + ' '+', '.join('"chouqian_'+s+'"' for s in RESULTS)+',','};',''] + source='\n'.join(out) + metadata=json.dumps(dict(canvas=[320,240],window=[56,20,208,220],layers=report, + note="黑背景归零;共享爪子,签文字形来自原图;旧 PNG 保留"),ensure_ascii=False,indent=2)+'\n' + if args.check: + assert GENERATED.read_text()==source + assert (LAYERS/"layout.json").read_text()==metadata + else: + GENERATED.write_text(source);(LAYERS/"layout.json").write_text(metadata) + total=sum(s["lz4_bytes"] for s in report) + peak=208*220*2+sum(s["raw_bytes"] for s in report[:6])+max(s["raw_bytes"] for s in report[6:]) + assert total<70*1024, ("为代码/描述保留10 KiB预算",total) + assert peak<300*1024,peak + print(json.dumps(dict(layers=report,payload_bytes=total,pixel_psram_peak=peak),ensure_ascii=False,indent=2)) + +if __name__=="__main__": main() diff --git a/tools/preview_fortune_expression.py b/tools/preview_fortune_expression.py new file mode 100644 index 0000000..caf8409 --- /dev/null +++ b/tools/preview_fortune_expression.py @@ -0,0 +1,64 @@ +#!/usr/bin/env python3 +"""调用实际固件 C 解码与光栅函数生成 GIF/五签预览;不模拟 SPI 或扫描撕裂。""" +import argparse +import ctypes as C +from pathlib import Path +import subprocess +import tempfile +from PIL import Image +from compress_idle_expression import pixels565 +ROOT=Path(__file__).resolve().parents[1] +class Asset(C.Structure): + _fields_=[("width",C.c_uint16),("height",C.c_uint16),("x",C.c_uint16),("y",C.c_uint16), + ("size",C.c_size_t),("data",C.POINTER(C.c_uint8))] +class Texture(C.Structure): + _fields_=[("width",C.c_uint16),("height",C.c_uint16),("pixels",C.POINTER(C.c_uint8))] +def image565(raw,width,height): + pixels=[] + for i in range(0,len(raw),2): + c=raw[i]<<8|raw[i+1];r=(c>>11)&31;g=(c>>5)&63;b=c&31 + pixels.append(((r<<3)|(r>>2),(g<<2)|(g>>4),(b<<3)|(b>>2))) + image=Image.new("RGB",(width,height));image.putdata(pixels);return image +def main(): + parser=argparse.ArgumentParser();parser.add_argument("--output",type=Path,default=Path("/tmp/lucky-fortune-preview")) + parser.add_argument("--result",type=int,choices=range(5),default=2);args=parser.parse_args() + args.output.mkdir(parents=True,exist_ok=True) + with tempfile.TemporaryDirectory(prefix="fortune-preview-") as tmp: + library=Path(tmp)/"fortune.dylib" + subprocess.run(["clang","-std=c11","-shared","-fPIC","-O2","-I",str(ROOT/"components/platform/internal"), + str(ROOT/"components/platform/src/lcd_emote_fortune.c"), + str(ROOT/"components/platform/src/generated/emote_gfx/fortune_assets.c"),"-o",str(library)],check=True) + lib=C.CDLL(str(library));shared=(Asset*6).in_dll(lib,"lcd_fortune_shared");texts=(Asset*5).in_dll(lib,"lcd_fortune_text") + decode=lib.lcd_emote_fortune_decode;decode.argtypes=[C.POINTER(C.c_uint8),C.c_size_t,C.POINTER(C.c_uint8),C.c_size_t];decode.restype=C.c_bool + build=lib.lcd_emote_fortune_build_frame;build.argtypes=[C.POINTER(C.c_uint8),C.c_size_t,C.POINTER(Texture),C.POINTER(Texture),C.c_uint32];build.restype=C.c_bool + buffers=[] + def texture(a,name): + count=a.width*a.height;buffer=(C.c_uint8*(count*3))();buffers.append(buffer) + assert decode(a.data,a.size,buffer,len(buffer)) + pixels=pixels565(Image.open(ROOT/"components/platform/assets/lcd_layers/chouqian"/(name+".png"))) + expected=bytes(v for hi,lo,alpha in pixels for v in (hi,lo))+bytes(alpha for hi,lo,alpha in pixels) + assert bytes(buffer)==expected,name # 验证 C 解压与图层完整 A8 一致。 + return Texture(a.width,a.height,buffer) + names=("pile","back","edge","front","question","rod") + textures=(Texture*6)(*(texture(a,n) for a,n in zip(shared,names))) + results=("buyun","heping","shangshang","xiaoji","zhongshang") + text_textures=[texture(a,"text_"+n) for a,n in zip(texts,results)] + dst=(C.c_uint8*(208*220*2))() + rod=Image.open(ROOT/"components/platform/assets/lcd_layers/chouqian/rod.png").convert("RGBA") + def frame(ms,index): + assert build(dst,len(dst),textures,C.byref(text_textures[index]),ms) + image=Image.new("RGB",(320,240)) + if ms<600:image.paste(rod,(0,40),rod) + image.paste(image565(bytes(dst),208,220),(56,20));return image + frames=[frame(t,args.result) for t in range(0,2500,40)]+[frame(2500,args.result)] + frames[0].save(args.output/"preview.gif",save_all=True,append_images=frames[1:],duration=[40]*(len(frames)-1)+[1500],loop=0) + sheet=Image.new("RGB",(320*5,240)) + for i in range(5): + f=frame(2500,i);sheet.paste(f,(320*i,0));f.save(args.output/(results[i]+".png")) + sheet.save(args.output/"results.png") + phases=(0,600,750,900,1050,1200,1800,2200,2500) + stages=Image.new("RGB",(320*3,240*3)) + for i,t in enumerate(phases):stages.paste(frame(t,args.result),(i%3*320,i//3*240)) + stages.save(args.output/"stages.png") + print("PASS: actual C decode == RGB565+A8 inputs; actual C GIF, five results and motion stages:",args.output) +if __name__=="__main__":main() diff --git a/tools/test_lcd_fortune_gfx.py b/tools/test_lcd_fortune_gfx.py new file mode 100644 index 0000000..62bfb20 --- /dev/null +++ b/tools/test_lcd_fortune_gfx.py @@ -0,0 +1,148 @@ +#!/usr/bin/env python3 +"""抽签实际 C 解码/几何、五种资源、分配失败/取消/释放主机回归,非设备 FPS。""" +from pathlib import Path +import re +import subprocess +import tempfile +ROOT=Path(__file__).resolve().parents[1] +SRC=(ROOT/"components/platform/src/lcd_direct.c").read_text() +def extract(name): + match=re.search(r"static [^;{}]+\b"+name+r"\([^;{}]*\)\s*\{",SRC) + assert match,name + start=match.start();end=SRC.index("{",start)+1;depth=1 + while depth: + if SRC[end]=="{":depth+=1 + if SRC[end]=="}":depth-=1 + end+=1 + return SRC[start:end] +PREFIX=r''' +#include +#include +#include +#include +#include "lcd_emote_fortune.h" +#define ESP_OK 0 +#define ESP_ERR_INVALID_STATE 1 +#define ESP_ERR_NO_MEM 2 +#define ESP_ERR_INVALID_SIZE 3 +#define ESP_ERR_NOT_SUPPORTED 4 +#define ESP_ERR_TIMEOUT 5 +#define PLATFORM_LCD_PRESENTATION_NO_ICON 255 +#define MALLOC_CAP_SPIRAM 1 +#define MALLOC_CAP_8BIT 2 +#define GFX_COLOR_FORMAT_RGB565 0 +#define GFX_COLOR_FORMAT_RGB565A8 1 +#define C_ARRAY_HEADER_MAGIC 0 +#define ESP_LOGI(...) ((void)0) +#define ESP_LOGE(...) ((void)0) +#define portENTER_CRITICAL(x) ((void)0) +#define portEXIT_CRITICAL(x) ((void)0) +typedef int esp_err_t; +typedef struct {const char *asset_dir;unsigned frame_index,icon_id,delay_ms;} platform_lcd_presentation_step_t; +typedef struct {size_t step_count;platform_lcd_presentation_step_t steps[6];} lcd_direct_request_t; +typedef struct { struct {int cf,magic,w,h;} header;size_t data_size;const uint8_t *data;} gfx_image_dsc_t; +typedef struct {bool visible;int x,y;const gfx_image_dsc_t *src;} gfx_obj_t; +static void *s_emote_handle=(void*)1,*s_emote_disp=(void*)1; +static gfx_obj_t mesh,closed,cache,listening,bg,scene_obj; +static gfx_obj_t *s_emote_eyes_open=&mesh,*s_emote_closed_eyes=&closed,*s_emote_cached_eyes=&cache; +static gfx_obj_t *s_listening_eyes=&listening,*s_emote_background=&bg; +static bool s_emote_active,s_emote_transfer_fault,stop; +static int lock_depth,allocs,live,fail_alloc,fail_obj,fail_lock,fail_unlock,fail_delete; +static int completions,waits,cancel_wait,refreshes,fail_refresh; +static int64_t now,deadlines[100]; +static int64_t esp_timer_get_time(void){return now;} +static bool lcd_direct_should_stop_idle(void){return stop;} +static void *heap_caps_malloc(size_t n,int cap){assert(cap==3);if(++allocs==fail_alloc)return NULL;void *p=malloc(n);if(p)++live;return p;} +static void *heap_caps_calloc(size_t n,size_t s,int cap){void *p=heap_caps_malloc(n*s,cap);if(p)memset(p,0,n*s);return p;} +static void test_free(void *p){if(p)--live;free(p);} +#define free test_free +static int gfx_emote_lock(void *h){if(fail_lock){--fail_lock;return 5;}assert(!lock_depth);++lock_depth;return 0;} +static int gfx_emote_unlock(void *h){assert(lock_depth==1);--lock_depth;if(fail_unlock){--fail_unlock;return 5;}return 0;} +static gfx_obj_t *gfx_img_create(void *d){assert(lock_depth==1);return fail_obj?NULL:&scene_obj;} +static int gfx_obj_delete(gfx_obj_t *o){assert(lock_depth==1);if(fail_delete)return 5;o->src=NULL;return 0;} +static int gfx_img_set_src(gfx_obj_t *o,void *src){assert(lock_depth==1);o->src=src;return 0;} +static int gfx_obj_set_pos(gfx_obj_t *o,int x,int y){assert(lock_depth==1);o->x=x;o->y=y;return 0;} +static int gfx_obj_set_visible(gfx_obj_t *o,bool v){assert(lock_depth==1);o->visible=v;return 0;} +static int lcd_direct_emote_update_hud(bool force,bool *change){assert(lock_depth==1);return 0;} +static int lcd_direct_emote_select_face(bool face){assert(lock_depth==1);bg.src=NULL;return 0;} +static void gfx_disp_refresh_all(void *d){assert(lock_depth==1);} +static int lcd_direct_emote_refresh(void){assert(lock_depth==1 && s_emote_active);++refreshes;now+=13000;return refreshes==fail_refresh?5:0;} +static int lcd_direct_emote_wait_until(int64_t deadline){assert(!lock_depth && waits<100);deadlines[waits++]=deadline; + if(waits==cancel_wait){stop=true;return 1;} if(nowshared,&s->text,ms)); + assert(guard[0]==0xa5 && guard[bytes+1]==0xa5); + } + assert(!lcd_emote_fortune_build_frame(guard+1,bytes-1,s->shared,&s->text,0)); + assert(!lcd_emote_fortune_build_frame(NULL,bytes,s->shared,&s->text,0)); + assert(!lcd_emote_fortune_build_frame(guard+1,bytes,NULL,&s->text,0)); + lcd_emote_fortune_build_frame(guard+1,bytes,s->shared,&s->text,4000); + lcd_emote_fortune_build_frame(s->frame,bytes,s->shared,&s->text,2500); + assert(!memcmp(guard+1,s->frame,bytes)); + /* 最终签文输出供回归查看;五种结果不能全都变成同一张。 */ + char path[100];snprintf(path,sizeof(path),"/tmp/lucky-fortune-%zu.rgb565",r); + FILE *f=fopen(path,"wb");assert(f);fwrite(s->frame,1,bytes,f);fclose(f); + /* 截断输入和不足的解压空间不允许写越界。 */ + for(size_t i=0;i<6;++i){const lcd_fortune_asset_t *a=&lcd_fortune_shared[i];size_t n=(size_t)a->width*a->height*3; + uint8_t *bad=malloc(n+2);bad[0]=bad[n+1]=0xa5; + assert(!lcd_emote_fortune_decode(a->data,a->compressed_size-1,bad+1,n)); + assert(!lcd_emote_fortune_decode(a->data,a->compressed_size,bad+1,n-1)); + assert(bad[0]==0xa5 && bad[n+1]==0xa5); + /* 普通测试内存不计入设备分配追踪。 */ + ++live;free(bad); + } + ++live;free(guard);lcd_direct_fortune_free(s);assert(live==0); + lcd_direct_request_t req={.step_count=6}; + for(size_t i=0;i<6;++i)req.steps[i]=(platform_lcd_presentation_step_t){i<3?"chouqian_qianzhi":lcd_fortune_result_dirs[r],i%3,255,i==5?1500:500}; + assert(lcd_direct_fortune_sequence_index(&req)==r); + req.steps[4].delay_ms=100;assert(lcd_direct_fortune_sequence_index(&req)==-1); + req.steps[4].delay_ms=500;req.steps[3].asset_dir=NULL;assert(lcd_direct_fortune_sequence_index(&req)==-1); + reset();assert(lcd_direct_play_fortune(r)==0 && live==0 && completions==1 && !s_emote_active); + assert(waits==75 && refreshes==75 && now==4013000 && deadlines[74]==4013000); + for(int i=0;i<73;++i)assert(deadlines[i]==(i+1)*34000); + assert(deadlines[73]==2500000); + } + for(int n=1;n<=9;++n){reset();fail_alloc=n;assert(lcd_direct_play_fortune(0)==4 && !live && !completions);} + reset();fail_obj=1;assert(lcd_direct_play_fortune(0)==4 && !live); + reset();fail_lock=1;assert(lcd_direct_play_fortune(0)==5 && !live); + for(int n=1;n<=75;++n){reset();cancel_wait=n;assert(lcd_direct_play_fortune(0)==1 && !live && !completions && !s_emote_active);} + reset();fail_refresh=3;assert(lcd_direct_play_fortune(0)==5 && !live && !completions); + reset();fail_delete=1;assert(lcd_direct_play_fortune(0)==5 && s_fortune_orphan && live==9 && !completions); + assert(lcd_direct_play_fortune(0)==1);fail_delete=0; + assert(!lcd_direct_fortune_detach(s_fortune_orphan));lcd_direct_fortune_free(s_fortune_orphan);s_fortune_orphan=NULL; + reset();s_emote_transfer_fault=true;assert(lcd_direct_play_fortune(0)==1 && !live); + puts("PASS: five assets/results, LZ4 corruption/bounds, 1180 geometry frames, nine allocation failures, 75 cancellation points, anchored 4s playback, cleanup/transfer fault"); +} +''' +start=SRC.index("typedef struct {\n lcd_fortune_texture_t shared") +end=SRC.index("static int lcd_direct_fortune_sequence_index",start) +names=["lcd_direct_fortune_sequence_index","lcd_direct_fortune_free","lcd_direct_fortune_prepare", + "lcd_direct_fortune_detach","lcd_direct_play_fortune"] +with tempfile.TemporaryDirectory(prefix="fortune-test-") as tmp: + path=Path(tmp);c=path/"test.c";exe=path/"test" + c.write_text(PREFIX+SRC[start:end]+"\n"+"\n".join(extract(n) for n in names)+TEST) + for profile in (0,1): + subprocess.run(["clang","-std=c11","-O1","-g","-fsanitize=address,undefined", + f"-DCONFIG_TQ_LCD_EMOTE_FPS_LOG={profile}","-I",str(ROOT/"components/platform/internal"), + str(c),str(ROOT/"components/platform/src/lcd_emote_fortune.c"), + str(ROOT/"components/platform/src/generated/emote_gfx/fortune_assets.c"),"-o",str(exe)],check=True) + subprocess.run([str(exe)],check=True) +assert "DOMAIN_EXPRESSION_" not in (ROOT/"components/platform/src/lcd_emote_fortune.c").read_text() +assert "if (err != ESP_ERR_NOT_SUPPORTED) return err;" in SRC