aboutsummaryrefslogtreecommitdiff
path: root/assets/manual_img/Bildschirmfoto_2016-09-17_09-58-20.png
blob: 5bc3da20dd41ae7fccae6bf6403183a30240d001 (plain)
ofshex dumpascii
0000 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 00 00 01 59 00 00 00 c1 08 06 00 00 00 65 b0 c3 .PNG........IHDR...Y.........e..
0020 41 00 00 00 04 73 42 49 54 08 08 08 08 7c 08 64 88 00 00 20 00 49 44 41 54 78 9c ed 9d 6b 8c 23 A....sBIT....|.d.....IDATx...k.#
0040 d9 79 9e 5f de 59 24 bb 79 e9 2b a7 67 a6 e7 7e d9 d9 99 d9 cb ac 56 1a 49 76 64 04 f9 13 0b 50 .y._.Y$.y.+.g..~......V.Ivd....P
0060 62 59 31 20 c8 40 60 41 48 76 01 c1 01 e4 24 88 e0 00 51 12 23 51 a0 e4 4f bc 32 0c 1b 36 6c c7 bY1..@`AHv....$...Q.#Q..O.2..6l.
0080 88 01 c7 fa 19 44 7f 6c c3 da 5d c8 bb b3 a3 dd d9 b9 ae 76 ba 7b a6 bb d9 f7 26 9b 64 b1 8a 97 .....D.l..]........v.{....&.d...
00a0 62 7e 54 9d c3 53 d5 ec de 6e 36 ab 2f 3b ef 03 0c a6 48 56 17 d9 d5 75 5e 7e f5 7e df f9 4e e0 b~T..S...n6./;....HV...u^~.~..N.
00c0 c6 8d 1b 6d 10 42 08 f1 85 e0 41 7f 00 42 08 f9 34 43 91 25 84 10 1f a1 c8 12 42 88 8f 84 d5 07 ...m.B....A..B..4C.%......B.....
00e0 d3 53 b3 07 f5 39 f6 95 53 a7 8f ef 6a 7f 9e 97 ee f0 bc 10 f2 c9 84 bd 4f 24 53 b1 83 f8 1c fb .S...9..S...j...........O$S.....
0100 46 b5 62 f6 f4 73 3c 2f dd e1 79 21 64 7b 68 17 10 42 88 8f 50 64 09 21 c4 47 28 b2 84 10 e2 23 F.b..s</..y!d{h..B..Pd.!.G(....#
0120 14 59 42 08 f1 11 8a 2c 21 84 f8 08 45 96 10 42 7c 84 22 4b 08 21 3e 42 91 25 84 10 1f a1 c8 12 .YB....,!...E..B|."K.!>B.%......
0140 42 88 8f 50 64 09 21 c4 47 28 b2 84 10 e2 23 14 59 42 08 f1 11 8a 2c 21 84 f8 08 45 96 10 42 7c B..Pd.!.G(....#.YB....,!...E..B|
0160 84 22 4b 08 21 3e 42 91 25 84 10 1f a1 c8 12 42 88 8f 50 64 09 21 c4 47 28 b2 84 10 e2 23 14 59 ."K.!>B.%......B..Pd.!.G(....#.Y
0180 42 08 f1 91 4d 0b 29 92 fd e3 e3 fb 1b 72 3b f4 6e 7d cb fd 4e 7d 63 78 3f 3e 0e 21 c4 07 18 c9 B...M.)......r;.n}..N}cx?>.!....
01a0 12 42 88 8f 50 64 09 21 c4 47 68 17 ec 23 aa 3d e0 a5 75 23 ba e5 6b d3 7f ba e2 7a 4c fb 80 90 .B..Pd.!.Gh..#.=..u#..k....zL...
01c0 a3 03 23 59 42 08 f1 11 8a 2c 21 84 f8 08 45 96 10 42 7c 84 9e ac cf 6c e7 c3 6e 57 b6 a5 7a b4 ..#YB....,!...E..B|....l..nW..z.
01e0 5e bf 56 f5 68 e9 cf 12 72 b8 61 24 4b 08 21 3e 42 91 25 84 10 1f a1 5d d0 67 fa 61 0f 7c 12 ea ^.V.h...r.a$K.!>B.%....].g.a.|..
0200 be de f2 2e 15 5a 09 84 1c 3c 8c 64 09 21 c4 47 28 b2 84 10 e2 23 14 59 42 08 f1 11 7a b2 7d a0 .....Z...<.d.!.G(....#.YB...z.}.
0220 57 1f 76 bb fd 76 ea d1 7a f7 53 8f c3 e9 b8 84 1c 3c 8c 64 09 21 c4 47 28 b2 84 10 e2 23 b4 0b W.v..v..z.S......<.d.!.G(....#..
0240 fa c0 4e 2d 81 dd 94 69 f5 e3 98 bb 79 3f 42 88 3f 30 92 25 84 10 1f a1 c8 12 42 88 8f 50 64 09 ..N-...i....y?B.?0.%......B..Pd.
0260 21 c4 47 e8 c9 f6 81 ed 4a a3 d4 32 aa 9d fa ac bb 61 bb 63 9e bd 3c d8 f7 f7 23 84 ec 0e 46 b2 !.G.....J..2.....a.c..<...#...F.
0280 84 10 e2 23 14 59 42 08 f1 11 da 05 3e b3 d3 59 56 db 75 d3 ea c7 f1 09 21 07 03 23 59 42 08 f1 ...#.YB.....>..YV.u.....!..#YB..
02a0 11 8a 2c 21 84 f8 08 45 96 10 42 7c 84 9e ec 21 81 de 2a 21 9f 4e 18 c9 12 42 88 8f 50 64 09 21 ..,!...E..B|...!..*!.N...B..Pd.!
02c0 c4 47 28 b2 84 10 e2 23 14 59 42 08 f1 11 8a 2c 21 84 f8 08 45 96 10 42 7c 64 53 09 57 b5 62 1e .G(....#.YB....,!...E..B|dS.W.b.
02e0 c4 e7 38 f4 f0 bc 74 87 e7 85 90 ed 09 dc b8 71 a3 7d d0 1f 82 10 42 3e ad d0 2e 20 84 10 1f a1 ..8...t........q.}....B>........
0300 c8 12 42 88 8f 50 64 09 21 c4 47 28 b2 84 10 e2 23 14 59 42 08 f1 11 57 09 d7 f4 d4 ec 41 7d 8e ..B..Pd.!.G(....#.YB...W.....A}.
0320 7d e5 d4 e9 e3 bb da 9f e7 a5 3b 3c 2f 64 37 3c ab d7 cb a6 3a d9 64 2a b6 6f 1f e6 20 e8 b5 ae }.........;</d7<....:.d*.o......
0340 93 e7 a5 3b 3c 2f 64 37 3c 8b d7 0b ed 02 42 08 f1 11 36 ed 3e 64 7c e7 37 bf 8d 5c 2e 0b 00 98 ...;</d7<.....B...6.>d|.7..\....
0360 9d 9d c3 1b bf ff 07 07 fc 89 08 39 7a 1c a6 71 44 91 3d 24 7c fd 6b bf 2a b7 ff fe 9d 5b 00 80 ...........9z..qD.=$|.k.*....[..
0380 63 f9 71 bc f6 ad 6f 02 00 c5 96 90 1d f0 ee ff 9d 01 00 fc ef ff 77 78 c6 91 6b 5a ed f4 d4 ec c.q...o...............wx..kZ....
03a0 33 e1 99 f4 92 e0 f1 eb bc a8 e2 fa e1 bd 7b 72 7b 78 b8 b3 1c cd c5 0b e7 e5 b6 5f 17 c9 61 3b 3.............{r{x........._..a;
03c0 2f 87 85 5e ce 0b e9 8e 9f d7 8b 10 57 2f ff e6 bf fe ba dc 3e a8 71 44 91 dd 01 7e 9c 97 d7 be /..^........W/......>.qD...~....
03e0 f5 4d d4 0c 03 00 70 ef fe 03 f9 7c 2a 99 44 a5 5a 95 8f f3 e3 e3 00 00 d3 30 70 fa f4 29 00 80 .M....p....|*.D.Z........0p..)..
0400 d5 6a e1 f7 fe f0 8f fa fa 79 0e cb 79 39 6c 50 64 fb c7 7e 8c a3 df fd de ff e9 ba df 7f 7a e3 .j.......y..y9lPd..~..........z.
0420 75 00 07 33 8e 28 b2 3b a0 9f e7 e5 d7 be fa 2b 00 80 5c 2e 8b 87 8f 3e 02 00 97 a8 a6 92 49 b4 u..3.(.;.......+..\....>......I.
0440 db f6 9f a4 aa eb f2 f9 5c 26 83 68 cc fe 0c f9 b1 51 f9 7c bf 2e 92 83 3e 2f 87 15 8a 6c ff d8 ........\&.h.....Q.|....>/...l..
0460 cf 71 b4 95 d8 fe f6 7f ff 8d 7d 1f 47 14 d9 1d d0 8f f3 f2 ca cb 2f c9 ed d5 d5 55 b9 7d fa d4 .q........}.G........./....U.}..
0480 29 b9 ad 5e 24 c9 44 42 6e b7 2d ab eb 31 d5 db 9f bd 5e 24 14 d9 ee 50 64 fb c7 41 8c a3 ad c4 )..^$.DBn.-..1....^$...Pd..A....
04a0 f6 b7 7e e7 eb 72 db ef 71 44 91 dd 01 7b 39 2f bf f4 8b bf 80 4b 17 2f 00 00 da ed 36 de fb d9 ..~..r..qD...{9/.....K./....6...
04c0 fb 00 80 50 28 84 85 85 05 b9 df a9 c9 c9 ce 67 74 22 d8 44 3c ee 7a 4e 15 5e c1 60 3a 2d bf 91 ...P(..........gt".D<.zN.^.`:-..
04e0 0d d3 c4 1f ff d9 9f f7 f4 39 29 b2 dd a1 c8 f6 8f 83 1c 47 ff ed df fd af ae c7 15 62 eb e7 38 .........9)........G........b..8
0500 a2 c8 ee 80 5e ce cb 97 be f8 05 00 40 20 d8 29 45 be 78 e1 bc 8c 4a 3f b8 7b 0f 8d 46 03 80 fb ....^.......@..)E.x...J?.{..F...
0520 1b f9 d4 e4 a4 2b 72 1d 4c a7 01 00 85 42 41 3e a7 8a ad 78 1d 00 b2 99 34 e2 ce ad d0 6e bf 91 .....+r.L....BA>...x....4....n..
0540 29 b2 dd a1 c8 f6 8f bd 5c 2f 5f f9 f2 3f c6 c6 46 19 c0 de c6 d1 6f bf fe 46 d7 e3 ff c7 df 7d ).......\/_..?..F.....o..F.....}
0560 4d 6e f7 7b 1c 51 64 77 c0 6e ce cb 67 94 db 99 6e 91 27 00 4c 4e 9e 94 db 77 95 a4 57 a5 5c 91 Mn.{.Qdw.n..g...n.'.LN...w..W.\.
0580 db e3 8a 5f a4 a2 fa b4 f9 7c be eb 3e bd 78 4d 14 d9 ee 1c 75 91 15 fe be 4a 20 10 38 80 4f b2 ..._.....|..>.xM....u....J..8.O.
05a0 77 91 5d 5d 5d 03 00 84 43 21 00 7b 1b 47 5b 45 b6 aa d8 f6 6b 1c 51 64 77 c0 4e ce cb 57 be fc w.]]]...C!.{.G[E....k.Qdw.N..W..
05c0 cb d8 d8 d8 90 8f 07 07 07 e5 f6 fc fc 3c 00 c0 34 4d e4 b2 76 81 74 20 18 c4 c9 13 f6 e7 68 d4 .............<..4M..v.t.......h.
05e0 1b 98 7a f2 c4 de 6e 34 e4 45 12 08 06 70 e1 7c c7 2f 52 8f af 32 30 30 00 00 28 97 cb 72 7b a3 ..z...n4.E...p.|./R..200..(..r{.
0600 54 da 95 d7 44 91 ed ce 51 15 59 55 5c 2d 25 a2 0b 3a 77 56 07 21 b4 7b b9 5e fe e1 97 fe 01 0a T...D...Q.YU\-%..:wV.!.{.^......
0620 0b 8b c8 65 33 f2 b9 70 28 b4 e7 71 f4 fd 7f fb a7 5d df 4f 88 6d 3f c6 11 45 76 07 6c 77 5e ae ...e3..p(..q.....].O.m?..Ev.lw^.
0640 5c be 04 00 38 7f ee 1c ca 65 fb 76 a6 dd 6e cb 8b 58 88 1e 00 4c 4d 4d c9 ed a1 a1 21 b9 9d 1f \...8....e.v..n..X...LMM....!...
0660 1b 43 a9 64 ff e1 17 57 96 e5 40 28 97 cb 30 9c f2 94 6b 57 af 62 20 95 02 00 cc 39 a2 2d 7f 27 .C.d...W..@(..0...kW.b.....9.-.'
0680 27 ba f5 26 cb d2 19 fb 82 1c 1f 1d c1 7a a9 04 00 f8 8b bf fc ab ae bf 07 45 b6 3b 47 5d 64 2d '..&.........z...........E.;G]d-
06a0 cb 82 65 59 b8 72 e5 0a 00 e0 ee dd bb 08 06 83 07 22 b6 fd 10 59 00 30 8c 1a 8e 29 77 71 91 48 ..eY.r..........."...Y.0...)wq.H
06c0 04 c0 de c6 d1 56 62 fb 5b bf f3 f5 3d 8f 23 8a ec 0e e8 76 5e 5e 7d e5 86 dc b6 5a 4a a4 10 ea .....Vb.[...=.#....v^^}....ZJ...
06e0 78 b0 a2 c6 d5 4b 41 31 ea 85 30 03 6e 41 0e 39 b7 44 00 5c c6 fe e7 3f f7 39 b9 ad 5e 24 aa 8d x....KA1..0.nA.9.D.\...?.9..^$..
0700 a0 a2 7e 36 28 e3 e9 9d 5b ef b9 f6 a3 c8 76 e7 a8 8a 6c ab d5 02 60 8b 6c ab d5 c2 b5 6b d7 00 ..~6(...[.....v...l...`.l....k..
0720 00 1f 7c f0 01 42 a1 10 c2 e1 ce 64 cf fd 12 da bd 5c 2f 2f 5f bf 8e 27 b3 b3 18 1d 1d 85 61 d4 ..|..B.....d.....\//_..'......a.
0740 10 8f 6b 00 80 5c 36 23 bd d7 b5 62 11 c0 de c6 d1 56 62 fb 2f bf fb 4f 3a 0f 76 39 8e 38 ad b6 ..k..\6#...b.....Vb./..O:.v9.8..
0760 47 f2 e3 63 00 80 a5 e5 15 84 42 21 db 7c 6f db a2 a6 d7 74 a4 52 29 29 a6 aa d8 96 cb 65 a4 92 G..c......B!.|o....t.R)).....e..
0780 49 34 1a 4d cc ce d9 ad df 86 86 86 e4 b7 f1 f5 ab cf 63 78 28 07 00 98 9d 2f e0 de fd 07 18 19 I4.M..............cx(..../......
07a0 19 81 65 59 28 cc 17 f0 d7 7f f3 b7 00 80 1b 37 5e c6 e0 e0 a0 bc f5 11 51 ac 10 db e5 e5 65 f9 ..eY(..........7^.......Q.....e.
07c0 9e 43 43 43 f2 5b bd 58 2c f9 73 42 c8 a1 45 08 2e 00 29 b6 77 ef de 05 00 19 d5 1e 94 4f bb 5b .CCC.[.X,.sB..E...).w........O.[
07e0 96 96 96 10 8d 46 a5 c8 2e 2d 2d 21 1c 89 20 9b 4e 23 e7 44 9c 16 7a 1f 47 ff fa bf 7c 03 c0 66 .....F...--!....N#.D..z.G...|..f
0800 b1 fd e1 7f fe 11 00 e0 f5 7f 6f d7 e7 ee 66 1c 51 64 7b a4 52 a9 22 95 4a 22 e4 88 57 03 ee 28 ..........o...f.Qd{.R.".J"..W..(
0820 56 44 a8 03 03 03 ae 6d 91 21 d5 34 0d 23 23 23 00 ec 68 e3 fa d5 e7 e5 cf be f9 f6 4f 01 d8 c6 VD.....m.!.4.###..h.........O...
0840 fe 4b 2f 5c 07 00 bc fb de 6d 4c 1c 9f 00 00 cc cd ce e1 fd 0f 3e 00 60 d7 07 8a 6f f2 40 30 e8 .K/\.....mL..........>.`...o.@0.
0860 8a 8c c7 1d 71 6f 34 1a 98 c8 8f 63 a3 5c 46 b1 58 42 30 78 34 06 14 d9 3b c2 2e f0 a2 0a 6f 30 ....qo4....c.\F.XB0x4...;.....o0
0880 18 74 59 5c 87 91 5b ef db 25 5b 23 8e cd 56 74 a2 d6 54 d2 0e 2e d6 4b 25 e8 ba 8e 89 7c 1e 41 .tY\..[..%[#..Vt..T....K%....|.A
08a0 00 77 ee 7c 28 27 1d f4 32 8e 7e fd 5f fd 23 00 c0 9f fc 8f 1f bb 3e 47 2f e3 88 22 bb 07 2a 95 .w.|('..2.~._.#.......>G/.."..*.
08c0 2a d6 d6 8b c8 65 33 b2 e4 a3 65 59 48 3b e5 22 c5 62 11 e5 72 19 e5 72 19 81 40 00 0b 8b b6 a7 *....e3...eYH;.".b..r..r..@.....
08e0 94 4e a7 d1 6c 35 11 0a 85 70 f3 b3 af ca e3 fd fc e3 c7 00 20 bf 59 67 66 6c 13 ff e2 85 f3 b8 .N..l5...p............Ygfl......
0900 f1 d2 8b 00 80 f7 ef 7c 88 93 4e 56 b5 50 28 60 6a 7a 1a 40 c7 e3 4d 24 12 88 46 a3 f2 98 e3 a3 .......|..NV.P(`jz.@..M$..F.....
0920 23 72 fb e9 ec 3c 05 96 00 e8 44 b4 80 db a7 3d cc 42 0b 00 67 ce 9c 02 00 cc ce da b7 f8 95 aa #r...<....D....=.B..g...........
0940 8e 68 34 82 84 73 27 37 e7 94 3a 4e e4 f3 a8 54 ec c4 d7 5e c6 d1 b7 ff c3 d7 00 ec 6d 1c 51 64 .h4..s'7..:N...T...^........m.Qd
0960 7b 64 7d 6d 1d 59 a7 95 da bc f3 87 3d 96 cf cb c8 d6 30 4d 24 93 49 04 83 41 2c 2e 2e 01 00 c6 {d}m.Y......=.....0M$.I..A,.....
0980 c6 46 a5 47 74 f1 c2 79 c4 63 31 54 ab 55 14 16 16 5d 3e 6d 7e 7c 5c 56 27 6c 6c 6c e0 e1 a3 8f .F.Gt..y.c1T.U...]>m~|\V'lll....
09a0 50 d5 75 bc 78 ed 2a ae 5d 79 0e c9 d4 00 7e f2 d6 5b 18 1d b5 8f 77 ff c1 03 14 4b 25 5c be 74 P.u.x.*.]y....~..[....w....K%\.t
09c0 09 ad 56 0b ad 56 0b 13 f9 8e 45 b1 e2 94 be 08 2c 6b 73 59 0f 21 47 81 68 24 da f5 79 dd 93 93 ..V..V....E.....,ksY.!G.h$..y...
09e0 10 09 aa 64 22 81 ba 69 37 d2 3e a8 71 44 91 dd 03 eb 6b eb 58 5a 5a c2 e0 a0 6d b4 af ad 17 d1 ...d"..i7.>.qD....k.XZZ...m.....
0a00 6c d4 31 3a 3a 8a 98 e3 b1 36 5a 2d 8c 8c 74 3a 6a 9d 3c de 31 c5 c5 ac 95 fc f8 38 52 c9 24 00 l.1::....6Z-..t:j.<.1......8R.$.
0a20 7b 4a a0 ea e5 0a b1 ad ea 3a 6e 7f 70 07 00 f0 85 9b 37 e5 ed cf fb 77 3e c4 b9 b3 67 e5 31 87 {J.......:n.p.....7....w>...g.1.
0a40 87 72 88 39 91 ec f2 ca 1a 2a 95 4e 59 57 b1 54 44 26 dd 29 81 21 04 e8 58 07 47 c1 36 10 c4 e3 .r.9.....*.NYW.TD&.).!..X.G.6...
0a60 f6 9d a3 61 98 a8 d7 1b 88 46 23 5d f7 ab ea 3a aa 00 b2 e9 34 ea a6 89 48 28 b4 ef e3 88 22 db ...a.....F#]...:....4...H(....".
0a80 07 0c c3 fe a6 ec 66 c6 47 42 21 20 14 82 70 c5 9e cc ce a2 54 ea 98 e6 6a 82 2c 95 4c 4a b1 05 ......f.GB!...p.....T...j.,.LJ..
0aa0 dc 95 07 aa 08 ff e4 ad b7 00 00 5f fc fc 4d 69 37 3c 7e fc 18 66 bd 0e c0 be 28 54 96 57 56 5c ..........._..Mi7<~..f....(T.WV\
0ac0 8f c3 11 fe d9 49 07 35 19 76 d8 6d 03 61 01 08 e2 f1 18 da ed 36 4c d3 be f6 85 d8 ea ba 2e 2d .....I.5.v.m.a.......6L........-
0ae0 04 a0 13 d9 ca 31 09 ec db 38 e2 68 db 23 aa ff e9 35 e3 55 7f 48 a4 c4 1a ad 16 52 4e 9d 5e a5 .....1...8.h.#...5.U.H.....RN.^.
0b00 52 91 17 cd 4b 2f bc 20 8f 33 af 4c a1 15 54 aa 55 e4 c7 c7 65 22 ad 52 ad e2 ef de 7c cb 75 3b R...K/...3.L..T.U...e".R....|.u;
0b20 b3 b1 e1 be 00 ab 7a d5 35 ad 17 a0 c0 92 ad f1 46 b4 c0 c1 cd 0e db 8a 85 a5 25 8c 8f 8e 62 69 ......z.5.......F.........%...bi
0b40 c9 ae 9e 19 75 bc d2 58 cc 1e 87 ed 76 1b 89 44 62 93 7d 20 98 2b 14 90 48 24 91 4d 0f c2 34 4d ....u..X....v..Db.}..+..H$.M..4M
0b60 2c 2e 2d f9 3e 8e 38 e2 7a 24 1c ed 9c 3a f5 d6 05 e8 98 f1 02 fb 0f 9b 40 36 9d 46 db b2 10 8d ,.-.>.8.z$...:..........@6.F....
0b80 44 d0 68 b5 e4 37 ad ae eb 78 f3 ed b7 01 d8 f5 7b ea 0c 2e 15 35 e2 55 2f 8a a9 e9 19 a4 52 03 D.h..7...x......{....5.U/.....R.
0ba0 ae 7d ab 7a 15 84 ec 06 6f 44 0b e0 50 46 b5 0b 4b 4b 32 39 2c c4 56 b5 e4 44 14 ab 46 b3 b5 5a .}.z....oD..PF..KK29,.V..D..F..Z
0bc0 cd 75 8c f5 d2 06 d6 d6 d6 80 00 f0 e4 e9 53 4c e4 c7 7d 1b 47 14 d9 3e 60 18 26 e2 f1 98 fc 36 .u............SL..}.G..>`.&....6
0be0 15 b7 2e 5e c4 2d 4b 54 b1 11 44 64 9b 4a a5 50 2e 97 71 eb f6 6d 00 c0 85 f3 e7 3b 53 64 37 36 ...^.-KT..Dd.J.P..q..m.....;Sd76
0c00 64 1d 6c 56 29 be 9e 9a ee de 0d 5e a0 5e 58 9a a6 21 56 a5 f0 92 4f e6 30 97 77 9d 3b 73 06 3f d.lV)......^.^X..!V...O.0.w.;s.?
0c20 7f 6c 57 e1 64 9c ba d8 62 b1 88 e5 65 fb 56 7e 78 d8 ae 0e b0 05 36 89 5a cd 1d d1 06 02 01 14 .lW.d...b...e.V~x.....6.Z.......
0c40 8b 45 f9 b3 c1 80 fd 65 b2 dd 58 da eb 38 a2 c8 f6 88 37 cb 29 a2 d8 58 2c 8a 58 2c ba a9 31 87 .E.....e..X..8....7.)..X,.X,..1.
0c60 fa ad da cd 1f b2 60 5f 34 8d 46 03 d5 6a 15 8f 3e b2 1b 11 8f 8f d9 93 1e b2 ca 9c 6d af 57 04 ......`_4.F..j..>...........m.W.
0c80 00 95 4a 59 7e 0b 57 f5 aa bc 30 34 4d 73 ed 67 29 03 88 f8 8f 3a bd 75 3f 69 36 9b f2 fd 77 fb ..JY~.W...04Ms.g)....:.u?i6...w.
0ca0 de 87 bd bc eb dc 99 33 68 a3 8d 99 99 a7 00 80 d4 80 63 bf 95 2b 72 92 40 26 63 97 51 6a 5a 02 .......3h.........c..+r.@&c.QjZ.
0cc0 5a 3c 8e b5 75 f7 98 29 16 8b a8 54 2a ae 1e 23 80 3f e3 88 22 db 23 95 4a 05 a9 54 6a 93 55 a0 Z<..u..)...T*..#.?..".#.J..Tj.U.
0ce0 1a f0 a6 29 84 d7 de a7 9b 19 af 16 50 57 74 1d 91 48 c4 f5 0d ed 12 d7 e5 15 d4 eb 75 44 b6 28 ...)........PWt..H..........uD.(
0d00 63 51 6f 6d bc 17 45 db b2 10 77 9e 0b 2a 53 0d 89 ff a8 13 02 f6 4b 6c 85 b8 b7 5a ad 3d bd e7 cQom..E...w..*S.......Kl...Z.=..
0d20 61 ab 3c 98 9b 9f c7 c4 b1 63 00 80 49 a7 31 cc c7 4e 8d 6b 6a 20 85 70 28 8c 4a c5 16 db d2 c6 a.<......c..I.1..N.kj..p(.J.....
0d40 06 f2 e3 76 8f 83 5c d6 9e fd b5 b6 be 86 58 2c 2a c7 a9 d5 de 7c 6e fa 3d 8e 82 9f bc 0b d9 8a ...v..\.......X,*....|n.=.......
0d60 4a a5 22 3d 21 d5 2e 10 64 9d 8e 5b a6 69 4a c1 ed c6 5c a1 80 75 a7 b1 45 a3 d1 c0 d4 f4 34 5e J."=!...d..[.iJ...\..u..E.....4^
0d80 bc 7e 0d 97 2f 5d 04 00 4c 4f 3f 91 b7 43 f6 fb 96 51 a9 74 fc da 5a cd 40 ad 66 6c 79 7c 61 2f .~../]..LO?..C...Q.t..Z.@.fly|a/
0da0 3c 7d fa 94 02 4b 8e 3c 73 f3 f3 98 9f ef 24 87 4f 4c 4c e0 c4 c4 84 7c 1c d7 e2 88 6b 76 c3 fb <}...K.<s.....$.OLL....|....kv..
0dc0 27 4f 9e e0 e1 a3 47 f2 35 4d 4b 40 d3 12 88 c5 a2 2e 1f 17 b0 eb 60 fd 18 47 8c 64 7b 44 64 39 'O....G.5MK@..........`..G.d{Dd9
0de0 01 b8 cc 77 35 cb 09 d8 42 ab eb ba 14 da 40 20 20 bf 1d 6b b5 1a 02 81 80 dc 57 4c 5a 10 0d 28 ...w5...B.....@....k......WLZ..(
0e00 54 61 05 3a 25 24 62 76 99 7a 41 24 92 ee de b5 6a c9 d7 9c a7 5a a1 d9 68 f6 f8 5b 93 9d a2 da Ta.:%$bv.zA$....j....Z..h..[....
0e20 04 cd 66 13 57 af 5e 3d e0 4f d4 1b 87 ad bc 4b ad 7a 10 d7 f5 88 b3 b2 f3 89 89 09 b4 9a 2d cc ..f.W.^=.O.....K.z............-.
0e40 2f da 09 62 2d ae 21 99 48 a2 58 2c e2 e1 a3 47 68 36 9b 38 73 e6 8c eb 58 5a 3c 8e 62 a9 24 27 /..b-.!.H.X,...Gh6.8s...XZ<.b.$'
0e60 1a f8 31 8e 28 b2 7b 40 cd 72 02 1d 51 14 df 90 aa 3d 10 57 96 92 f1 66 3a 85 19 2f 08 06 82 b2 ..1.(.{@.r..Q....=.W...f:../....
0e80 65 1b 00 e8 35 1d 7a ad 7b 49 8a a6 c5 5d 8f c7 9c 7e 08 55 5d c7 87 77 ef b9 4a 4d ce 9c 39 43 e...5.z.{I...]...~.U]..w..JM..9C
0ea0 81 dd 67 84 c8 1e 75 0e 9b 6d 60 d7 c6 9a 88 c5 62 58 5e 59 41 20 10 c0 b0 33 25 36 33 e0 cc 96 ..g...u..m`.....bX^YA....3%63...
0ec0 74 ca 23 85 ef ba b6 b6 86 c7 4e d2 2c ef 54 e7 b4 db 6d c4 a2 9b 3b 83 f5 73 1c d1 2e e8 91 73 t.#.......N.,.T...m...;..s.....s
0ee0 ca 37 62 26 93 91 3e 2a 60 8b ad 30 e0 45 96 b3 1b a6 59 77 55 22 a8 75 b3 00 30 3b 37 87 d9 b9 .7b&..>*`..0.E....YwU".u..0;7...
0f00 39 f9 58 d3 34 97 47 24 1a cc 00 f6 37 ae b8 30 7e fa ce bb f8 f0 ee 3d f9 da 50 2e 87 a1 5c 4e 9.X.4.G$....7..0~......=..P...\N
0f20 3e 56 17 a3 23 64 27 5c bb 76 0d 57 ae 5c d9 f7 04 9e 17 af f5 66 9a 26 2a 15 db 43 5d 59 5d c5 >V..#d'\.v.W.\.......f.&*..C]Y].
0f40 7a a9 e8 da ff ea 95 cb 72 3b 93 cd 20 e7 8c 83 a5 e5 65 d7 e4 02 e1 9b fb 31 8e 18 c9 ee 81 ed z.......r;........e......1......
0f60 b2 9c 40 a7 1d 5a 22 91 84 a6 89 7a bd 4e 44 2a 0c 78 6f c9 97 d5 b6 5c ad 0a 13 5a 02 6d b4 9d ..@..Z"....z.ND*.xo....\...Z.m..
0f80 9f af 49 bb 00 70 f7 ce 7c cf e9 54 24 18 1b 1b 45 30 14 92 99 d0 4b e7 cf 6f 32 f2 89 bf 6c d5 ..I..p..|..T$...E0....K..o2...l.
0fa0 05 8b ec 8d 44 22 89 44 22 89 75 a7 6a a0 ec 8c b9 81 81 14 16 57 ec b1 a3 39 33 30 8f 1f b7 13 ....D".D".u.j........W...930....
0fc0 65 4f 9e da ad 45 73 b9 1c 82 c1 20 d6 8b eb 58 5e 59 41 55 d7 71 6c bc d3 04 bc df e3 88 22 db eO...Es........X^YAU.ql.......".
0fe0 23 a2 d1 ef b1 63 f9 6d b3 9c 00 50 58 28 a0 51 6f e0 e4 c9 93 ae 2c 27 80 6d 6b 6b 63 8a 98 7a #....c.m...PX(.Qo.....,'.mkkc..z
1000 2d 06 00 72 3e f5 f4 cc 8c 9c 0a 08 d8 11 ae da 25 e8 a5 17 ed ce 43 46 ad 26 eb 70 c9 fe a0 ae -..r>...........%.....CF.&.p....
1020 42 70 94 b9 7d fb 36 c2 e1 b0 ab d9 f7 41 a0 da 6e 00 90 75 c6 d3 d2 92 9d cf 30 cd 3a 1a f5 06 Bp..}.6......A..n..u......0.:...
1040 22 d1 08 82 c1 a0 b4 0c 00 e0 ec 99 d3 00 80 a9 29 bb 26 36 3d 68 97 79 55 75 5d fe 8d 1e 3a a5 "...............).&6=h.yUu]...:.
1060 93 40 ff c6 11 45 76 8f cc cf 17 d0 6e b7 31 91 cf cb 0c e7 53 e7 16 5f 64 38 c5 ed cd 93 27 a2 .@...Ev.....n.1.....S.._d8....'.
1080 e5 da 05 e4 b2 39 d4 0c 43 46 b6 b1 58 14 91 68 04 8d 7a 03 e1 90 fb cf a2 fa b1 9a a6 c9 2c e7 .....9..CF..X..h..z...........,.
10a0 ca ea 1a 56 d7 3a f5 7f 62 fd 30 d1 1d e8 b9 4b 97 d0 76 4a 54 de a3 b8 92 3d 10 0a 85 0e c5 17 ...V.:..b.0....K..vJT....=......
10c0 86 a6 25 50 ab e9 a8 d5 74 04 02 01 d9 2f 64 d4 49 42 8b dc 46 a3 de 40 33 66 fb a6 22 57 72 ec ..%P....t..../d.IB..F..@3f.."Wr.
10e0 98 1d ad 9e 3e 3d 09 58 6d 4c 39 2d 10 8f 1f 9b 40 b3 d5 94 e3 ae df e3 88 22 db 23 de b9 dd 6a ....>=.XmL9-....@........".#...j
1100 a6 73 bb 2c 27 00 dc bd 67 fb 3c 6a a6 53 10 71 a6 e3 46 a2 ee 72 30 f5 f6 c4 db 72 2d 99 4c 62 .s.,'...g.<j.S.q..F..r0....r-.Lb
1120 60 70 50 de ce 3c ff 5c c7 87 ba ff f0 91 6b df 84 d6 7d 05 5d e2 0f c1 60 10 e1 70 18 b7 9d c1 `pP..<.\......k...}.]...`..p....
1140 b9 5f d6 81 b7 2e f7 d5 57 5f dd 6e f7 2d b9 75 eb 16 22 91 88 14 59 e0 e0 fb 19 68 5a 02 86 61 ._......W_.n.-.u.."...Y....hZ..a
1160 df d9 a9 4b d1 00 76 29 65 38 9c b3 a7 cc 2a fb d7 6a ba 2c fb 12 62 7b e9 a2 5d 22 29 26 fe 34 ...K..v)e8....*..j.,..b{..]")&.4
1180 5b 4d 0c 0f 0f f7 7d 1c 51 64 f7 88 9a e5 04 6c f3 1d 00 b2 e9 cc a6 2c 67 26 93 81 65 59 f2 02 [M....}.Qd.....l.......,g&..eY..
11a0 78 fc f8 31 42 e1 10 46 47 46 64 96 d3 ac bb eb 69 c5 1f b3 8d b6 b4 28 c4 6c b3 44 22 e1 ba 9d x..1B..FGFd.....i......(.l.D"...
11c0 39 ab 88 f6 d4 8c 7b 9a 60 42 4b 20 99 4c a0 5a ed 5e a5 40 c8 51 60 61 61 41 ae f8 e1 ed 7e a7 9.....{.`BK..L.Z.^.@.Q`aaA....~.
11e0 92 cb e5 5c 55 1d 6a 4e 64 7e be 00 d3 ac 4b 91 9d 9c 3c 81 78 2c 8e bb f7 ef 03 e8 ff 38 a2 c8 ...\U.jNd~....K...<.x,.......8..
1200 f6 88 77 36 97 69 9a 68 34 9a 18 70 92 5f eb a5 22 8a a5 12 c6 86 ed 4c e5 d5 2b 97 71 e7 ae fd ..w6.i.h4..p._.."......L..+.q...
1220 47 cc 38 b3 b8 8a eb 76 64 bb e4 24 b9 06 52 03 88 45 63 b0 2c 0b b1 58 54 0a ec ec 7c a7 c2 00 G.8....vd..$..R..Ec.,..XT...|...
1240 00 06 d3 b6 78 ab 65 24 9f 7d e5 06 16 97 96 37 75 f0 1a 19 1e 76 5d 10 5b 95 82 91 fe 22 a2 3d ....x.e$.}.....7u....v].[....".=
1260 11 c9 8a 28 f0 20 66 7c d5 eb dd 7b 69 ec 04 11 c5 0a 2f f6 a0 a3 58 c0 16 da 68 34 aa ac 5b 67 ...(..f|...{i...../...X...h4..[g
1280 8f a3 4c 26 83 78 5c c3 da da 9a ec 8e 17 8f c5 51 2c ce c8 ea 1f 21 b6 a6 59 c7 83 87 0f 01 38 ..L&.x\.........Q,....!..Y.....8
12a0 f6 01 80 2b 97 2f 63 f2 e4 89 be 8f 23 8a 6c 8f c4 e3 71 18 86 b1 6d 96 13 b0 97 26 4e 3a 25 5c ...+./c.....#.l...q...m....&N:%\
12c0 57 af 5c c6 ea fa 7a d7 2c 27 00 2c 2c d9 cb d3 88 4c a7 57 5c bd 8d 82 87 b2 59 59 b2 52 2c 96 W.\...z.,'.,,....L.W\.....YY.R,.
12e0 5c 17 86 da 97 56 20 4a 56 58 61 b0 bf a8 3e e6 7e 79 9a 22 8a 53 6f f3 77 8a b0 08 bc 3f 7f 18 \....V.JVXa...>.~y.".So.w....?..
1300 04 56 24 be d4 aa 0d 55 6c c5 34 f7 7a bd ee 4a d2 a9 42 2c fe 37 8c 1a 0c c3 94 89 b0 cb 97 2e .V$....Ul.4.z..J..B,.7..........
1320 fa 32 8e 28 b2 7b 20 1e 8f a3 56 d3 a1 69 89 6d b3 9c 00 b6 cd 72 66 33 59 58 96 25 57 9a 0d 06 .2.(.{....V..i.m.....rf3YX.%W...
1340 dd 93 11 86 87 87 5d 51 eb 71 67 cd f9 72 b9 b2 69 7a 9f f7 a2 50 bf 7d d5 52 30 b2 3f 08 61 0a ......]Q.qg..r..iz...P.}.R0.?.a.
1360 1d d0 74 e6 66 b3 b9 6b 91 15 d1 2b 80 43 15 c1 aa 84 c3 61 34 5b 4d a0 0d 18 86 81 36 da b2 64 ..t.f..k...+.C.....a4[M.....6..d
1380 4b 44 ee e1 70 18 86 69 20 93 c9 48 91 f5 8a 6d 3c 1e 43 3c ae a1 58 2c e2 fe 83 87 f8 ec 67 5e KD..p..i...H...m<.C<..X,......g^
13a0 01 d0 df 71 44 91 ed 11 61 a6 03 90 26 7c 3c ae 6d 9b e5 04 dc 99 4e 91 e5 9c 71 22 db e3 c7 3a ...qD...a...&|<.m.....N...q"...:
13c0 f3 af 81 4e 96 53 70 ee ac 2d ce cd 46 13 cb ab ab 58 59 59 c1 80 d2 45 48 bd 30 c4 b7 2d 13 5d ...N.Sp..-..F....XYY...EH.0..-.]
13e0 64 a7 74 4b 72 01 87 4b 60 45 82 59 f6 2a 08 38 c1 8e 51 93 ff 02 e8 7c de 46 a3 01 c0 1d b9 02 d.tKr..K`E.Y.*.8..Q....|.F......
1400 9d 31 2b 10 11 30 d0 ff 71 44 91 dd 03 6a 96 d3 4b b7 2c a7 8a cc 74 8e 8f 63 f2 c4 71 c4 e2 9a .1+..0..qD...j..K.,...t..c..q...
1420 2b cb f9 74 76 4e 26 b5 2e 9e 3b 2b eb 60 0b 0b 8b ae e3 78 a7 f7 a9 b3 58 bc 17 46 32 99 40 85 +..tvN&...;+.`.....x....X..F2.@.
1440 3d 65 c9 16 78 fd 57 e0 70 09 ac 8a 28 93 cc 8f db ad 40 85 25 57 d5 ab 30 9c 7c 89 98 d2 2e 02 =e..x.W.p...(.....@.%W..0.|.....
1460 1e 3b 6a dd 3c 85 56 b5 19 04 fd 1c 47 14 d9 1e f9 a4 2c 67 3c ae a1 52 a9 6c 9b e5 04 20 6b f5 .;j.<.V.....G.....,g<..R.l....k.
1480 2e 5d bc 88 c9 c9 13 00 80 8f 1f 4f 01 b0 eb f3 00 a0 dd b6 a4 28 8b 65 30 6a b5 1a cc 7a 5d 1e .].........O.........(.e0j...z].
14a0 4f d3 b4 2d bf 75 93 9e a6 17 2b 9e b5 8a c8 b3 cd 61 2c d3 da 29 22 e8 10 91 6d 2c 16 83 16 d7 O..-.u....+......a,..)"...m,....
14c0 50 2c 95 60 59 16 ea ca 24 1f c3 30 91 1f 1f 97 39 10 15 31 86 fd 18 47 14 d9 3d b0 5d 96 13 e8 P,.`Y...$..0....9..1...G..=.]...
14e0 78 43 c1 60 10 f1 98 98 a9 62 4f b5 55 b3 9c 00 5c 99 ce 2b 97 2f 23 9d 1e 04 da 76 09 49 5b c9 xC.`.....bO.U...\..+./#....v.I[.
1500 48 17 8b 45 d7 4c 30 b5 84 4b 74 23 12 fe d1 a8 d3 a8 46 78 bd d3 33 5b 77 7f 27 cf 2e 87 b1 82 H..E.L0..Kt#......Fx..3[w.'.....
1520 60 b7 78 23 db 4c 3a 2d 7b c5 1a 86 dd ad 4e 24 cd b2 19 db 86 13 62 1b 8f c7 a4 c8 02 fd 1f 47 `.x#.L:-{.....N$......b........G
1540 14 d9 1e d9 69 96 53 3c 6f 98 86 53 4e b2 39 cb 29 7e 06 e8 24 c3 c6 c6 46 5d ef 57 da d8 70 3d ....i.S<o..SN.9.)~..$...F].W..p=
1560 4e 68 09 44 23 51 d4 1b 75 04 43 21 d7 b4 5b bd a6 e3 d4 c9 93 f2 b1 7a 51 74 3c 5c 77 e5 02 21 Nh.D#Q..u.C!..[........zQt<\w..!
1580 9f 06 44 64 3b e1 24 87 57 56 d7 64 25 90 61 18 98 9a 9e c6 e9 53 a7 00 74 ee 3c 0d a3 26 a7 b7 ..Dd;.$.WV.d%.a......S..t.<..&..
15a0 fb 31 8e 28 b2 7b 64 a7 59 4e 00 ae 4c e7 76 59 4e 95 b6 65 b9 fa c6 1e 9f 98 90 df b0 86 69 ba .1.(.{d.YN..L.vYN..e..........i.
15c0 5a b0 79 97 2c be f7 e0 01 0c d3 44 2c 1a c5 c0 e0 20 db 1c 12 c9 ad 5b b7 00 e0 c8 da 04 9f 84 Z.y.,......D,..........[........
15e0 37 41 26 82 22 21 b4 f5 7a 1d 27 1d 01 8d c7 35 57 e3 a6 dd 8c a3 6f 7c e3 1b f8 de f7 be 87 d3 7A&."!..z.'....5W.....o|........
1600 a7 4f 6f f9 59 28 b2 3d d2 4b 96 53 d4 1e aa 4b d6 78 13 67 22 0b da f6 14 ad 1f 57 3a bf 0b 6f .Oo.Y(.=.K.S...K.x.g"......W:..o
1620 48 35 df d5 06 31 ba ae e3 de 83 07 00 ec 0a 05 b5 cc eb ee bd fb bd fd c2 e4 53 85 5a 07 7b 94 H5...1....................S.Z.{.
1640 6d 82 4f 42 d8 08 22 b2 8d 3a 11 6b bd 5e 47 61 c1 1e c3 79 a5 03 d7 6e c6 51 32 99 c4 ff fc dd m.OB.."..:.k.^Ga...y...n.Q2.....
1660 37 00 c0 b5 38 a3 17 8a ec 1e d9 4d 96 b3 d1 68 b8 ac 04 6f 46 b3 db 1f 6a 60 60 c0 d5 ce 50 c5 7...8......M...h...oF...j``...P.
1680 30 6a 48 45 3a af a9 6b cd 7b a7 1a 52 5c 9f 4d bc 4d 5d d4 24 97 78 1d f8 74 0a ac 8a 08 8a c4 0jHE:..k.{..R\.M.M].$.x..t......
16a0 38 1d 1c 1c 44 30 18 44 55 af 4a b1 cd a4 ed ae 5c 3b 1d 47 af bf fe 3a be ff fd ef e3 8d 37 de 8...D0.DU.J.....\;.G...:......7.
16c0 d8 f6 bd 8f 7e 0f b6 43 42 61 61 d1 b5 3c 45 2c 16 93 7f b4 6e 59 4e d5 68 57 29 16 8b 30 0c 13 ....~..CBaa..<E,....nYN.hW)..0..
16e0 b5 9a 21 c5 d5 3b 4f ba 5a d5 5d cf 59 ad 96 34 f7 13 89 84 6b b1 c6 fb 0f 1f 51 60 9f 71 d4 89 ..!..;O.Z.].Y..4....k.....Q`.q..
1700 10 6a 92 4b 4c f7 fd b4 0b ac 4a 61 61 d1 55 06 99 4c 24 65 22 b9 58 2a ed 78 1c e5 f3 79 5c bf .j.KL.....Jaa.U..L$e".X*.x...y\.
1720 7e 1d 3f fa d1 8f 3e f1 3d 19 c9 f6 99 ed b2 9c 75 b3 0e c3 30 b6 cd 72 02 9d 72 12 61 07 08 db ~.?...>.=.......u...0..r..r.a...
1740 c1 5b 5a 52 ab 19 f2 42 28 2c 2e ba 2e 0a b5 2f 26 79 f6 f0 ce f2 ba 73 e7 0e 80 cd d3 6c 9f 25 .[ZR...B(,...../&y.....s.....l.%
1760 81 55 f1 da 7d e2 0e 74 a7 e3 e8 3b df f9 0e 7e f8 c3 1f ca 65 79 b6 83 22 eb 13 dd b2 9c 02 f1 .U..}..t...;...~....ey..".......
1780 6d 29 c8 66 b2 a8 19 86 f4 67 63 b1 a8 6b 41 37 ef 1a 5f cb 2b 9d 55 13 44 cf cb a0 13 ac 78 5b m).f.....gc..kA7.._.+.U.D.....x[
17a0 b2 91 67 13 b5 41 8d 57 70 9f 55 61 ed 86 08 8a d4 d5 6e 81 ed c7 d1 73 cf 3d 87 53 a7 4e e1 c7 ..g..A.Wp.Ua......n....s.=.S.N..
17c0 3f fe b1 ab 9c 72 2b 28 b2 3e b3 93 2c e7 c5 0b 17 9c d7 c4 2a b6 b6 a0 aa 89 33 c0 f6 8a 44 77 ?....r+(.>..,.......*.....3...Dw
17e0 25 4d 4b 20 99 4c 4a 91 a5 25 40 ba a1 ae 86 2c 1e 93 cd 08 b1 c5 dc 27 97 64 7d f7 bb df c5 0f %MK..LJ..%@....,.......'.d}.....
1800 7e f0 03 58 96 b5 a3 95 22 28 b2 fb 84 37 cb 19 8f c7 61 b5 2d d4 eb 75 3c 7c f4 08 91 68 c4 95 ~..X...."(...7....a.-..u<|...h..
1820 e5 4c 25 93 d2 77 b5 ac b6 8c 72 bd 25 24 b4 05 08 d9 5f 6e de bc 89 9b 37 6f ba 9e 5b 5f 5f 87 .L%..w....r.%$...._n....7o..[__.
1840 ae eb 38 35 79 6e d3 fe 14 d9 7d 46 44 b6 42 6c c5 72 c5 35 a3 b6 29 cb a9 96 68 a9 3e 11 40 71 ..85yn....}FD.Bl.r.5..)...h.>.@q
1860 25 3b 87 d1 6b 7f 39 7d fa b4 ab 9e 7d 7d 7d 1d 59 a7 99 53 a3 b1 b9 5f 30 45 f6 80 f0 8a 6d 32 %;..k.9}....}}}.Y..S..._0E....m2
1880 91 44 b3 d5 84 69 9a 28 96 4a 68 b5 5a 88 c7 35 84 23 61 57 e4 4a 5b 80 90 83 a7 5b 4d 6c 26 93 .D...i.(.Jh.Z..5.#aW.J[....[Ml&.
18a0 41 b5 b2 b9 6a 88 22 7b c0 78 3d db 58 2c 86 70 28 6c 2f 2d a3 94 de 30 a1 45 c8 e1 64 bb d9 5e A...j."{.x=.X,.p(l/-...0.E..d..^
18c0 00 45 f6 d0 e0 2d fd 12 30 72 25 e4 f0 b3 d5 6c 2f 80 22 7b e8 f0 f6 8b 25 84 1c 6d 38 e3 8b 10 .E...-..0r%....l/."{....%..m8...
18e0 42 7c 64 53 24 db cd b8 25 3c 2f 5b c1 f3 42 76 c3 b3 78 bd 04 6e dc b8 c1 95 f5 08 21 c4 27 68 B|dS$...%</[..Bv..x..n......!.'h
1900 17 10 42 88 8f 50 64 09 21 c4 47 28 b2 84 10 e2 23 14 59 42 08 f1 11 8a 2c 21 84 f8 88 ab 84 6b ..B..Pd.!.G(....#.YB....,!.....k
1920 7a 6a f6 a0 3e c7 be 72 ea f4 f1 5d ed cf f3 d2 1d 9e 17 42 3e 99 4d 75 b2 c9 d4 27 37 a1 3d ca zj..>..r...].......B>.Mu...'7.=.
1940 f4 5a a7 c7 f3 d2 1d 9e 17 42 b6 87 76 01 21 84 f8 08 7b 17 1c 32 be f3 9b df 46 2e 67 f7 a6 9c .Z.......B..v.!...{..2....F.g...
1960 9d 9d c3 1b bf ff 07 07 fc 89 08 21 7b 81 22 7b 48 f8 fa d7 7e 55 6e ff fd 3b b7 00 00 c7 f2 e3 ...........!{."{H...~Un..;......
1980 78 ed 5b df 04 00 8a 2d 21 47 14 8a ec 01 a3 8a eb 87 f7 ee e1 c3 7b f7 00 00 c3 c3 c3 78 58 2e x.[....-!G............{......xX.
19a0 03 00 2e 5e 38 4f b1 25 e4 88 42 91 3d 20 5e fb d6 37 51 73 56 ad bd 77 ff 01 00 20 ae 69 48 25 ...^8O.%..B.=.^..7QsV..w.....iH%
19c0 93 a8 54 ab 72 e9 99 fc f8 38 e6 0b 0b 30 0d 03 a7 4f 9f c2 6b df fa 26 ac 56 0b bf f7 87 7f 74 ..T.r....8...0...O..k..&.V.....t
19e0 40 9f 9c 10 b2 1b 28 b2 fb cc af 7d f5 57 e4 f6 93 27 4f bb ee 93 74 d6 f3 aa ea 3a 0a 0b 0b 00 @.....(....}.W...'O...t....:....
1a00 80 5c 26 83 b9 79 7b 15 85 fc d8 28 fe c5 6f fc 73 00 a0 d8 12 72 c8 a1 c8 ee 13 af bc fc 12 00 .\&..y{....(..o.s....r..........
1a20 e0 e3 a9 29 ac ae ae ca e7 4f 9f 3a 85 54 32 09 00 ae 08 36 99 48 48 b1 6d 5b 16 0c c3 80 e1 44 ...).....O.:.T2....6.HH.m[.....D
1a40 be 1b a5 12 00 db 46 a0 d8 12 72 b8 a1 c8 fa cc 2f fd e2 2f e0 d2 c5 0b 00 80 76 bb 8d f7 7e f6 ......F...r...../../......v...~.
1a60 3e 46 46 46 10 0a 85 b0 b0 b0 80 a9 e9 69 00 c0 a9 c9 49 57 04 5b d5 75 24 e2 71 79 9c aa ae cb >FFF.........i....IW.[.u$.qy....
1a80 d7 05 0f 1f 7d 84 c1 74 5a 46 b6 86 69 e2 8f ff ec cf f7 e7 17 23 84 ec 08 8a ac 4f 7c e9 8b 5f ....}..tZF..i........#.....O|.._
1aa0 90 db 0f 9c 45 10 2f 5e 38 8f 17 af 5d 05 00 7c 70 f7 1e 86 86 86 00 00 ab ab ab 98 9e 99 01 60 ....E./^8...]..|p..............`
1ac0 8b ad 2a ae 83 ce f2 e0 42 78 01 6c 12 db c2 e2 12 00 20 9b 49 33 b2 25 e4 90 41 91 ed 33 9f 71 ..*.....Bx.l........I3.%..A..3.q
1ae0 6c 01 11 79 b6 ad ce 3a ec 0f 1e 3c 04 00 4c 4e 9e c4 85 73 67 01 00 77 ef 3f 90 62 5b 29 57 50 l..y...:...<..LN...sg..w.?.b[)WP
1b00 28 d8 1e ec f8 d8 28 80 8e 35 e0 8d 72 01 20 ef 2c 27 2e 58 2f da fb d2 b3 25 e4 f0 40 91 ed 13 (.....(..5..r...,'.X/....%..@...
1b20 5f f9 f2 2f 63 63 63 43 3e 1e 1c 1c 94 db f3 f3 f3 00 00 d3 34 91 cb 66 31 33 f3 04 81 60 10 27 _../cccC>...........4..f13...`.'
1b40 4f 1c c7 95 cb 97 d0 a8 37 30 f5 e4 09 b2 b9 2c 1a 8d 06 2a e5 0a 16 16 97 10 08 06 70 e1 fc 79 O.......70.....,...*........p..y
1b60 79 9c 8d 8d 0d a4 52 29 f9 b8 ec 94 78 0d 0c 0c c8 c7 03 03 03 28 2c 2e 61 a3 54 a2 67 4b c8 21 y.....R)....x........(,.a.T.gK.!
1b80 80 22 bb 47 ae 5c be 24 b7 03 81 00 00 db 7b 55 05 f0 d8 b1 63 00 80 a9 a9 29 ac ad af 03 00 86 .".G.\.$......{U....c....)......
1ba0 86 86 f0 e4 a9 dd 60 25 3f 36 86 5c da 5e 52 78 71 65 19 83 69 5b a0 cb e5 32 3e b8 73 07 00 70 ......`%?6.\.^Rxqe..i[...2>.s..p
1bc0 ed ea 55 4c 38 c7 99 73 44 5b b0 b0 68 af 70 9b 4c 24 e4 fb 02 c0 c2 d2 32 00 60 7c 74 04 ff ec ..UL8..sD[..h.p.L$......2.`|t...
1be0 ab ff 14 00 f0 17 7f f9 57 7d f9 bd 09 21 3b c3 b5 c6 d7 f4 d4 ec 33 d1 f0 a3 97 6e 53 de f3 f2 ........W}...!;.......3....nS...
1c00 ea 2b 37 e4 b6 d5 ea 58 02 c1 50 a7 1d 44 7e 7c bc eb f1 44 59 16 00 97 28 8a 88 14 00 42 a1 90 .+7....X..P..D~|...DY...(....B..
1c20 dc 5e 50 f6 ff fc e7 3e 27 b7 55 b1 15 16 82 17 f5 b3 21 d0 d9 7c e7 d6 7b ae fd fa 75 5e 3e 6d .^P....>'.U.......!..|..{...u^>m
1c40 f4 72 5e 08 51 61 24 db 23 f9 f1 31 00 c0 d2 f2 0a 42 a1 10 1a 8d 06 d0 b6 45 4d af e9 48 a5 52 .r^.Qa$.#..1.....B.......EM..H.R
1c60 52 4c 55 b1 2d 97 cb 48 25 93 68 34 9a 98 9d b3 23 d9 a1 a1 21 44 22 11 00 c0 f5 ab cf 63 78 28 RLU.-..H%.h4....#...!D"......cx(
1c80 07 00 98 9d 2f e0 de fd 07 18 19 19 81 65 59 28 cc 17 f0 d7 7f f3 b7 00 80 1b 37 5e c6 e0 e0 a0 ..../........eY(..........7^....
1ca0 b4 28 54 cf 16 00 96 97 97 e5 7b 0e 0d 0d 21 18 b4 c5 bf e8 f8 b6 84 90 fd 81 22 db 23 95 4a 15 .(T.......{...!...........".#.J.
1cc0 a9 54 12 21 47 bc 1a 70 47 b1 aa 5d a0 6e 6f 6c d8 db 9a a6 61 64 64 04 00 60 59 16 ae 5f 7d 5e .T.!G..pG..].nol....add..`Y.._}^
1ce0 fe ec 9b 6f ff 14 80 9d 20 7b e9 85 eb 00 80 77 df bb 8d 89 e3 13 00 80 b9 d9 39 bc ff c1 07 00 ...o.....{.....w..........9.....
1d00 ec 3a 5b 91 5c 0b 04 83 ae c8 78 dc 11 f7 46 a3 81 89 fc 38 36 ca 65 14 8b 25 04 83 4a 48 4b 08 .:[.\.....x...F....86.e..%..JHK.
1d20 f1 15 8a ec 1e a8 54 aa 58 5b 2f 22 97 cd 20 1e b3 6f 9b 5b 96 85 b4 53 76 55 2c 16 51 2e 97 51 ......T.X[/".....o.[...SvU,.Q..Q
1d40 2e 97 11 08 04 a4 77 9a 4e a7 d1 6c 35 11 0a 85 70 f3 b3 af ca e3 fd fc e3 c7 00 20 23 d4 99 99 ......w.N..l5...p...........#...
1d60 27 00 ec d2 af 1b 2f bd 08 00 78 ff ce 87 38 39 79 12 00 50 28 14 64 9d ad a8 50 48 24 12 88 46 '...../...x...89y..P(.d...PH$..F
1d80 a3 f2 98 e3 a3 23 72 fb e9 ec 3c 05 96 90 7d 86 22 db 23 eb 6b eb c8 3a 2d 09 e7 0b f6 74 d7 63 .....#r...<...}.".#.k..:-....t.c
1da0 f9 bc 8c 6c 0d d3 44 32 99 44 30 18 c4 a2 53 c7 3a 36 36 2a bd d6 8b 17 ce 23 1e 8b a1 5a ad a2 ...l..D2.D0...S.:66*.....#...Z..
1dc0 b0 b0 e8 f2 69 f3 e3 e3 b2 3a 61 63 63 03 0f 1f 7d 84 aa ae e3 c5 6b 57 71 ed ca 73 48 a6 06 f0 ....i....:acc...}.....kWq..sH...
1de0 93 b7 de c2 e8 a8 7d bc fb 0f 1e a0 58 2a e1 f2 a5 4b 68 b5 5a 68 b5 5a 98 c8 77 2c 8a 95 d5 35 ......}.....X*...Kh.Zh.Z..w,...5
1e00 d7 67 b7 ac 36 08 21 fb 03 45 76 0f ac af ad 63 69 69 09 83 83 76 c2 6a 6d bd 88 66 a3 8e d1 d1 .g..6.!..Ev....cii...v.jm..f....
1e20 51 c4 1c 8f b5 d1 6a 61 64 64 58 fe cc c9 e3 9d 24 ca 7b 3f 7b 1f 80 2d aa ea d4 5a d5 cb 15 62 Q.....jaddX.....$.{?{..-...Z...b
1e40 5b d5 75 dc fe c0 ae 34 f8 c2 cd 9b d2 46 78 ff ce 87 38 77 f6 ac 3c e6 f0 50 0e 31 27 92 5d 5e [.u....4.....Fx...8w..<..P.1'.]^
1e60 59 43 a5 52 96 09 b5 62 a9 88 8c 53 c5 40 08 d9 1f 28 b2 7d c0 30 ec 25 4a e2 71 0d 00 b0 b4 b4 YC.R...b...S.@...(.}.0.%J.q.....
1e80 84 70 24 82 6c 3a 8d 48 28 04 84 42 10 39 fe 27 b3 b3 28 95 3a c9 27 35 41 96 4a 26 a5 d8 02 ee .p$.l:.H(..B.9.'..(.:.'5A.J&....
1ea0 ca 03 55 84 7f f2 d6 5b 00 80 2f 7e fe a6 b4 1b 1e 3f 7e 0c b3 5e 07 60 8b ab ca f2 ca 8a eb 71 ..U....[../~.....?~..^.`.......q
1ec0 38 c2 3f 3b 21 fb 05 47 db 1e 51 fd cf 62 b1 08 00 48 25 ed 4c ff 9c 63 23 4c e4 f3 72 9d 9f 46 8.?;!..G..Q..b...H%.L..c#L..r..F
1ee0 ab 25 27 14 54 2a 15 54 2a 15 00 c0 4b 2f bc 20 8f 23 ec 07 95 4a b5 8a fc f8 b8 4c a4 55 aa 55 .%'.T*.T*...K/...#...J.....L.U.U
1f00 fc dd 9b 6f b9 6c 81 8d 8d 8a eb 67 aa 7a 15 81 a0 7b 85 21 0a 2c 21 fb 0b 47 5c 8f 84 a3 9d 53 ...o.l.....g.z...{.!.,!..G\....S
1f20 17 8f db 49 2f 11 d1 56 aa 3a a2 d1 88 7c 7d ae 50 40 22 91 40 36 9d 46 db b2 10 8d 44 d0 68 b5 ...I/..V.:...|}.P@".@6.F....D.h.
1f40 90 70 ca ae 74 5d c7 9b 6f bf 0d c0 ae 83 55 67 70 a9 a8 11 af 2a ae 53 d3 33 48 a5 06 5c fb 56 .p..t]..o.....Ugp....*.S.3H..\.V
1f60 f5 6a 5f 7e 4f 42 c8 de a0 c8 f6 01 c3 30 11 8f c7 10 8b d9 51 ad 69 d6 bb ee b7 ee d8 04 51 c5 .j_~OB.......0......Q.i.......Q.
1f80 46 10 91 6d 2a 95 42 b9 5c c6 ad db b7 01 00 17 ce 9f 97 62 bb b1 b1 21 eb 60 b3 d9 8c 2c d9 9a F..m*.B.\..........b...!.`...,..
1fa0 9a 9e d9 f6 73 d5 6a 35 b9 ad 69 1a 62 55 0a 2f 21 fb 0d 45 b6 47 a2 91 a8 eb b1 88 62 63 b1 28 ....s.j5..i.bU./!..E.G......bc.(
1fc0 62 b1 28 da 6d 77 06 5f d7 75 19 b9 0a b1 95 9e 2d 00 0b 40 26 93 41 a3 d1 40 b5 5a c5 a3 8f 3e b.(.mw._.u......-..@&.A..@.Z...>
1fe0 02 00 8c 8f d9 93 1e b2 d9 4e c2 ca eb b9 02 40 a5 52 96 d1 6c 55 af 4a 81 d5 34 cd b5 9f d5 6a .........N.....@.R..lU.J..4....j
2000 ed fe 97 25 84 f4 0c 45 b6 47 2a 95 0a 52 a9 d4 26 ab 40 44 b1 d1 68 04 a6 29 84 d7 de 47 15 5a ...%...E.G*..R..&.@D..h..)...G.Z
2020 c0 16 5b 5d d7 a5 67 5b d1 75 44 22 11 64 32 b6 a0 16 8b 45 b7 b8 2e af a0 b3 d3 6f a0 00 00 08 ..[]..g[.uD".d2....E.......o....
2040 32 49 44 41 54 5e af 23 e2 11 78 81 6a 11 78 c5 b5 6d 59 88 3b cf 05 95 29 bb 84 10 7f 09 7e f2 2IDAT^.#..x.j.x..mY.;...).....~.
2060 2e 64 2b 2a 95 0a 96 9c 26 2c aa 5d 20 c8 66 ed 3a 5a d3 34 a5 e0 76 63 ae 50 c0 7a c9 9e 1e db .d+*....&,.]..f.:Z.4..vc.P.z....
2080 68 34 30 35 3d 8d 17 af 5f c3 e5 4b 17 01 00 d3 d3 4f b0 bc dc a9 10 a8 54 ca a8 54 3a 7e 6d ad h405=..._..K.....O......T..T:~m.
20a0 66 a0 56 33 b6 3c be b0 17 9e 3e 7d 4a 81 25 64 9f 61 24 db 23 0b 4b 4b 18 1f b5 7b be 0a a1 1d f.V3.<....>}J.%d.a$.#.KK...{....
20c0 19 19 96 42 2b ec 82 6c 36 0b 5d d7 a5 d0 06 02 01 19 65 d6 6a 35 04 02 01 b9 af 98 b4 20 1a b9 ...B+..l6.].......e.j5..........
20e0 a8 c2 0a 74 4a b1 c4 ec 32 55 58 13 49 77 23 6f b5 e4 6b ce 53 ad d0 6c 34 7b fc ad 09 21 bb 85 ...tJ...2UX.Iw#o..k.S..l4{...!..
2100 22 bb 07 16 96 96 5c 4d 5a 84 28 8a c9 07 aa 3d 10 57 56 3b 50 13 52 80 dd 22 51 94 7f 01 40 30 ".....\MZ.(....=.WV;P.R.."Q...@0
2120 10 44 a9 d4 e9 4d ab d7 74 e8 b5 ee 5d b6 34 2d ee 7a 3c e6 f4 43 a8 ea 3a 3e bc 7b cf 55 b2 75 .D...M..t...].4-.z<..C..:>.{.U.u
2140 e6 cc 19 0a 2c 21 fb 0c 45 b6 47 ce 9d 39 83 9f 3f b6 7b 0d a8 1e 2a 60 8b 6d 38 1c 46 26 93 76 ....,!..E.G..9..?.{...*`.m8.F&.v
2160 84 36 89 5a 17 91 14 fe ad 88 7e 45 cd ac 98 e5 35 3b 37 e7 bc 6e 47 ae 22 02 16 b7 ff 23 23 23 .6.Z......~E....5;7..nG."....###
2180 d2 36 48 25 93 b2 02 e1 a7 ef bc eb 7a 9f a1 5c ce f5 f8 95 97 5f c2 43 27 b1 46 08 f1 17 8a ec .6H%........z..\....._.C'.F.....
21a0 1e 38 77 e6 0c da 68 63 66 c6 5e da 3b 35 e0 4c 32 28 db 62 29 da 0a 26 12 49 68 9a 2d 80 aa d8 .8w...hcf.^.;5.L2(.b)..&.Ih.-...
21c0 c6 62 51 98 66 7d 53 c9 97 d5 b6 5c ad 0a 13 5a 02 6d b4 9d 9f af 49 bb 00 70 f7 a0 7d ef fd f7 .bQ.f}S....\...Z.m....I..p..}...
21e0 5d c7 19 1b 1b 45 30 14 92 15 05 97 ce 9f df 94 10 23 84 f8 0b 45 b6 47 44 c3 ec 63 c7 f2 98 3c ]....E0..........#...E.GD..c...<
2200 61 f7 23 f8 d8 e9 88 95 1a 48 21 1c 0a cb c8 b4 b0 50 40 a3 de c0 c9 93 27 91 cb da 51 e5 da ba a.#......H!......P@.....'...Q...
2220 5d 86 b5 5d 6d 6d 4c 11 53 af c5 00 40 f6 25 98 9e 99 91 53 6a 01 3b c2 55 bb 6d bd f4 a2 dd c1 ]..]mmL.S...@.%....Sj.;.U.m.....
2240 cb a8 d5 64 1d 2e 21 64 7f a0 c8 ee 91 f9 f9 02 da ed 36 26 f2 79 9c 98 b0 fb bd 3e 75 6e f3 e3 ...d..!d..........6&.y.....>un..
2260 8e 5f 2a 2a 0b 9e 3c 11 ad 0b 2f 20 97 cd a1 66 18 32 b2 8d c5 a2 88 44 23 68 d4 1b 08 87 dc 7f ._**..<.../....f.2.....D#h......
2280 16 d5 8f d5 34 4d da 05 2b ab 6b 58 5d eb d4 cc e6 9c 6a 06 d1 65 eb b9 4b 97 d0 6e db fb be 47 ....4M..+.kX].....j..e..K..n...G
22a0 71 25 e4 40 a0 c8 f6 88 a8 08 10 eb 7a 89 0c fe c8 f0 30 4e 4c 4c a0 d5 6c 61 7e d1 9e 06 ab c5 q%.@........z.....0NLL..la~.....
22c0 35 24 13 49 e9 d9 de bd 77 0f 80 9d 88 f2 12 71 a6 e3 46 a2 ee 72 30 f5 36 df db ba 30 99 4c 62 5$.I....w......q..F..r0.6...0.Lb
22e0 60 70 50 da 02 cf 3f 77 59 be 76 df 59 8e 5c 90 d0 dc 55 08 84 10 7f a1 c8 ee 91 76 bb 0d d3 34 `pP...?wY.v.Y.\...U........v...4
2300 e5 ad fd ca ea 2a 00 20 9b ce 20 33 e0 f4 84 75 6c 83 4c 26 03 cb b2 b0 e6 44 9f 8f 1f 3f 46 28 .....*.....3...ul.L&.....D...?F(
2320 1c c2 e8 c8 08 da ed 36 62 d1 18 cc ba bb 9e 56 88 62 1b 6d 69 51 88 d9 66 89 44 c2 65 0b 9c 55 .......6b......V.b.miQ..f.D.e..U
2340 44 7b 6a c6 3d e5 36 a1 25 90 4c 26 50 ad 76 af 52 20 84 f8 03 27 23 f4 88 77 82 81 69 9a a8 54 D{j.=.6.%.L&P.v.R....'#..w..i..T
2360 3a 33 ae d6 4b 45 2c ae 74 92 57 57 af 74 a2 cb 4c 36 83 8c 32 93 6b 69 79 59 d6 c0 c6 a2 31 58 :3..KE,.t.WW.t..L6..2.kiyY....1X
2380 96 85 58 2c 2a 05 76 76 7e ce b5 68 e2 60 7a 50 ae 68 2b f8 ac b3 b0 e3 7c a1 e0 12 d8 91 e1 61 ..X,*.vv~..h.`zP.h+.....|......a
23a0 57 f4 ba 5d 39 18 21 a4 ff 50 64 7b 44 d4 bd 26 12 49 64 b3 9d 12 a9 72 b9 82 72 b9 d3 72 70 71 W..]9.!..Pd{D..&.Id....r..r..rpq
23c0 65 59 2e 62 78 f5 ca 65 1c 3f 7e 4c be 96 cb e5 90 cd 64 e5 e3 85 a5 45 2c 2c 2d ca c7 b3 f3 73 eY.bx..e.?~L......d....E,,-....s
23e0 98 9d 9f 93 8f 33 e9 8c ab e9 f6 50 b6 f3 b3 c5 62 c9 d5 22 d1 db 9b 16 e8 4c 66 60 85 01 21 fb .....3.....P....b..".....Lf`..!.
2400 07 ed 82 3d 10 8f c7 51 ab e9 d0 b4 84 14 da a5 25 7b d6 96 69 d6 d1 a8 37 a4 c7 2a 2c 03 00 38 ...=...Q........%{..i...7..*,..8
2420 7b e6 34 00 60 6a ca 8e 38 b3 99 2c 2c cb 92 2b cd 06 83 ee c9 08 c3 c3 c3 ae 49 04 c7 f3 79 00 {.4.`j..8..,,..+..........I...y.
2440 b6 a0 7b a7 c9 7a 85 55 b5 07 d4 52 30 42 c8 fe 40 91 ed 11 4d 4b c8 ca 00 c3 b0 cb ab e2 71 0d ..{..z.U...R0B..@...MK........q.
2460 a3 ce 54 5b 91 e4 6a d4 1b 68 c6 3a 02 29 66 85 1d 3b 96 c7 e9 d3 93 80 d5 c6 cc 53 7b 69 f0 e3 ..T[..j..h.:.)f..;.........S{i..
2480 c7 26 5c ef 91 53 22 55 00 38 77 d6 16 e7 66 a3 89 e5 d5 55 ac ac ac 60 60 b0 63 1b a8 02 2b a2 .&\..S"U.8w...f....U...``.c...+.
24a0 56 26 ba 08 39 58 28 b2 7b 40 d3 12 52 60 bd c4 e3 31 84 c3 39 99 e4 f2 32 3f ef 2c be 38 3e 8e V&..9X(.{@..R`...1..9...2?.,.8>.
24c0 c9 13 c7 11 8b 6b b2 bd 61 b3 d5 c4 d3 d9 39 99 d4 ba 78 ee ac ac 83 2d 2c 2c ba 8e e3 9d 26 ab .....k..a.....9...x....-,,....&.
24e0 2e 35 e3 15 d8 64 32 81 0a 7b ca 12 b2 af 50 64 7b 64 61 61 01 e3 e3 f6 ea 04 de 35 be c4 76 a5 .5...d2..{....Pd{daa.......5..v.
2500 52 41 2e 97 43 b3 d9 11 42 ef cc af 29 67 d9 ef 4b 17 2f 62 72 f2 04 00 e0 e3 c7 53 00 ec 3a 57 RA..C...B...)g..K./br......S..:W
2520 00 68 b7 2d 29 ca 62 39 99 5a ad 06 b3 5e 97 c7 d3 34 6d cb e8 35 e9 69 1e b3 e2 59 f3 8b 10 e2 .h.-).b9.Z...^...4m..5.i...Y....
2540 1f 14 d9 3d b0 b0 b0 80 68 34 2a 13 5b c2 22 10 bd 0c ea 4e f4 19 0c 06 11 8f 89 46 2e f6 54 5b ...=....h4*.[."....N.......F..T[
2560 21 8e 62 a6 d7 83 87 0f 01 00 a7 4f 4f e2 ca e5 cb 48 a7 07 81 b6 5d 8a 25 26 1f 88 f7 50 67 82 !.b........OO....H....].%&...Pg.
2580 a9 25 5c 23 c3 76 63 1a e1 c3 8e 3a 8d 6a 84 d7 3b 3d b3 fd 4a 0a 84 90 fe 43 91 ed 11 51 5d 60 .%\#.vc....:.j..;=..J....C...Q]`
25a0 59 16 2c 47 04 55 b1 15 cd bc c5 f3 86 69 20 1e 8b 6f 12 62 6f 73 19 91 0c 1b 1b 1b 75 bd 5f 69 Y.,G.U.......i...o.bos......u._i
25c0 63 c3 f5 38 a1 25 10 8d 44 51 6f d4 11 0c 85 5c d3 6e f5 9a 8e 53 27 4f ca c7 aa b8 76 3c dc 4e c..8.%..DQo....\.n...S'O....v<.N
25e0 d5 02 21 c4 3f 28 b2 7b 24 1c 0e a3 d9 6a 02 6d c0 30 0c b4 d1 86 e6 d8 06 22 92 0d 87 ed d3 6c ..!.?(.{$....j.m.0.......".....l
2600 98 06 32 99 0c 8a c5 e2 26 b1 8d c7 63 88 c7 35 57 cb 43 c0 ee b8 a5 f6 8d 3d 3e 31 21 23 55 c3 ..2.....&...c..5W.C......=>1!#U.
2620 34 5d ad 0c bd 4b 7f df 7b f0 00 86 69 22 16 8d 62 60 70 90 6d 0e 09 39 00 28 b2 3d 22 a6 d1 8a 4]...K..{...i"..b`p.m..9.(.="...
2640 7e 05 08 38 25 5d 46 4d fe 0b a0 73 2b df 68 34 10 89 d8 e5 5c ea 92 35 de c4 59 26 93 81 61 d4 ~..8%]FM...s+.h4....\..5..Y&..a.
2660 5c 16 01 60 8b ab 40 78 ac 6a 12 4b 6d 10 a3 eb 3a ee 3d 78 00 c0 ae 50 50 cb bc ee de bb df db \..`..@x.j.Km...:.=x...PP.......
2680 2f 4c 08 e9 09 8a ec 1e 11 cd 60 f2 e3 f6 82 87 c9 84 5d 46 55 d5 ab 30 9c 19 61 a2 71 77 a3 d1 /L........`.......]FU..0..a.qw..
26a0 70 59 09 aa a5 00 d8 96 81 88 6c 05 03 03 03 ae 76 86 2a 86 51 43 2a d2 79 4d d7 3b 35 b1 6a 12 pY........l.....v.*.QC*.yM.;5.j.
26c0 0e a0 b8 12 72 50 50 64 fb 84 28 ad 12 91 6d 2c 16 83 16 d7 50 2c 95 60 59 16 ea 66 1d 51 a7 ad ....rPPd..(...m,....P,.`Y..f.Q..
26e0 61 a7 1a 21 b6 e9 38 c2 2e 88 84 23 18 1d 75 56 39 a8 ea ae 0a 01 6f ff 01 ab d5 82 61 d8 96 82 a..!..8....#..uV9.....o.....a...
2700 10 74 d1 89 cb db 20 86 10 b2 bf 50 64 fb 8c 37 b2 cd a4 d3 b0 9c 76 83 75 b3 0e c3 30 64 d2 4c .t.........Pd..7......v.u...0d.L
2720 4c a9 5d 2f ae 03 c0 a6 95 6f 85 1d 20 6c 07 6f 89 56 ad 66 48 51 2d 2c 2e ba 56 c2 e5 ca 07 84 L.]/.....o...l.o.V.fHQ-,..V.....
2740 1c 0e 28 b2 3e 21 22 db 09 67 0a ac da 9e 50 44 9d 82 6c 26 8b 9a 61 48 7f 36 16 8b ba 16 46 f4 ..(.>!"..g....PD..l&..aH.6....F.
2760 36 75 59 56 1a cf 88 88 35 e8 d8 ae 8c 5c 09 39 5c 50 64 7d c6 9b 20 13 51 ac 61 18 98 9a 9e 46 6uYV....5....\.9\Pd}....Q.a....F
2780 bd 5e c7 c5 0b 17 9c d7 c4 2a b6 b6 a0 aa 89 33 c0 f6 5c 45 1f 5b 4d 4b 20 99 4c 4a 91 a5 e7 4a .^.......*.....3..\E.[MK..LJ...J
27a0 c8 e1 84 22 bb 4f 08 1b 41 44 b6 f1 78 1c 56 db 42 bd 5e c7 c3 47 8f 10 89 46 90 1f cf cb fd 53 ...".O..AD..x.V.B.^..G...F.....S
27c0 c9 a4 f4 5e 2d ab 2d a3 5c 6f 29 16 6d 01 42 0e 37 14 d9 7d 46 44 b6 42 6c c5 ca b4 35 a3 86 c2 ...^-.-.\o).m.B.7..}FD.Bl...5...
27e0 82 fd 5a 26 9d 06 e0 2e d1 52 fd 56 80 e2 4a c8 51 81 22 7b 40 78 c5 36 99 48 a2 d9 6a c2 34 4d ..Z&.....R.V..J.Q."{@x.6.H..j.4M
2800 14 4b 25 b4 5a 2d c4 e3 1a c2 91 b0 2b 72 a5 2d 40 c8 d1 82 22 7b c0 78 3d db 58 2c 86 70 28 6c .K%.Z-......+r.-@..."{.x=.X,.p(l
2820 2f 2d a3 4c 22 60 42 8b 90 a3 09 45 f6 90 e0 2d fd 12 30 72 25 e4 68 43 91 3d 64 78 fb c5 12 42 /-.L"`B....E...-..0r%.hC.=dx...B
2840 8e 36 5c e3 8b 10 42 7c 64 53 24 5b ad 98 dd f6 7b e6 e1 79 e9 0e cf 0b 21 db 13 b8 71 e3 06 57 .6\...B|dS$[....{..y....!...q..W
2860 d6 23 84 10 9f a0 5d 40 08 21 3e 42 91 25 84 10 1f f9 ff 98 62 17 4c 9f 76 60 f8 00 00 00 00 49 .#....]@.!>B.%......b.L.v`.....I
2880 45 4e 44 ae 42 60 82 END.B`.
an class="hl opt">->np, p.X, 0.5, p.Y, 0.5, seed); float terrain_higher = NoisePerlin2DPosOffset(noise_terrain_higher->np, p.X, 0.5, p.Y, 0.5, seed); float steepness = NoisePerlin2DPosOffset(noise_steepness->np, p.X, 0.5, p.Y, 0.5, seed); float height_select = NoisePerlin2DNoTxfmPosOffset(noise_height_select->np, p.X, 0.5, p.Y, 0.5, seed); return baseTerrainLevel(terrain_base, terrain_higher, steepness, height_select); } float MapgenV6::baseTerrainLevelFromMap(v2s16 p) { int index = (p.Y - node_min.Z) * ystride + (p.X - node_min.X); return baseTerrainLevelFromMap(index); } float MapgenV6::baseTerrainLevelFromMap(int index) { if (flags & MG_FLAT) return water_level; float terrain_base = noise_terrain_base->result[index]; float terrain_higher = noise_terrain_higher->result[index]; float steepness = noise_steepness->result[index]; float height_select = noise_height_select->result[index]; return baseTerrainLevel(terrain_base, terrain_higher, steepness, height_select); } s16 MapgenV6::find_ground_level_from_noise(u64 seed, v2s16 p2d, s16 precision) { return baseTerrainLevelFromNoise(p2d) + AVERAGE_MUD_AMOUNT; } int MapgenV6::getGroundLevelAtPoint(v2s16 p) { return baseTerrainLevelFromNoise(p) + AVERAGE_MUD_AMOUNT; } //////////////////////// Noise functions float MapgenV6::getMudAmount(v2s16 p) { int index = (p.Y - node_min.Z) * ystride + (p.X - node_min.X); return getMudAmount(index); } bool MapgenV6::getHaveBeach(v2s16 p) { int index = (p.Y - node_min.Z) * ystride + (p.X - node_min.X); return getHaveBeach(index); } BiomeType MapgenV6::getBiome(v2s16 p) { int index = (p.Y - node_min.Z) * ystride + (p.X - node_min.X); return getBiome(index, p); } float MapgenV6::getHumidity(v2s16 p) { /*double noise = noise2d_perlin( 0.5+(float)p.X/500, 0.5+(float)p.Y/500, seed+72384, 4, 0.66); noise = (noise + 1.0)/2.0;*/ float noise = NoisePerlin2D(np_humidity, p.X, p.Y, seed); if (noise < 0.0) noise = 0.0; if (noise > 1.0) noise = 1.0; return noise; } float MapgenV6::getTreeAmount(v2s16 p) { /*double noise = noise2d_perlin( 0.5+(float)p.X/125, 0.5+(float)p.Y/125, seed+2, 4, 0.66);*/ float noise = NoisePerlin2D(np_trees, p.X, p.Y, seed); float zeroval = -0.39; if (noise < zeroval) return 0; else return 0.04 * (noise-zeroval) / (1.0-zeroval); } bool MapgenV6::getHaveAppleTree(v2s16 p) { /*is_apple_tree = noise2d_perlin( 0.5+(float)p.X/100, 0.5+(float)p.Z/100, data->seed+342902, 3, 0.45) > 0.2;*/ float noise = NoisePerlin2D(np_apple_trees, p.X, p.Y, seed); return noise > 0.2; } float MapgenV6::getMudAmount(int index) { if (flags & MG_FLAT) return AVERAGE_MUD_AMOUNT; /*return ((float)AVERAGE_MUD_AMOUNT + 2.0 * noise2d_perlin( 0.5+(float)p.X/200, 0.5+(float)p.Y/200, seed+91013, 3, 0.55));*/ return noise_mud->result[index]; } bool MapgenV6::getHaveBeach(int index) { // Determine whether to have sand here /*double sandnoise = noise2d_perlin( 0.2+(float)p2d.X/250, 0.7+(float)p2d.Y/250, seed+59420, 3, 0.50);*/ float sandnoise = noise_beach->result[index]; return (sandnoise > freq_beach); } BiomeType MapgenV6::getBiome(int index, v2s16 p) { // Just do something very simple as for now /*double d = noise2d_perlin( 0.6+(float)p2d.X/250, 0.2+(float)p2d.Y/250, seed+9130, 3, 0.50);*/ float d = noise_biome->result[index]; if (d > freq_desert) return BT_DESERT; if ((spflags & MGV6_BIOMEBLEND) && (d > freq_desert - 0.10) && ((noise2d(p.X, p.Y, seed) + 1.0) > (freq_desert - d) * 20.0)) return BT_DESERT; return BT_NORMAL; } u32 MapgenV6::get_blockseed(u64 seed, v3s16 p) { s32 x=p.X, y=p.Y, z=p.Z; return (u32)(seed%0x100000000ULL) + z*38134234 + y*42123 + x*23; } //////////////////////// Map generator void MapgenV6::makeChunk(BlockMakeData *data) { assert(data->vmanip); assert(data->nodedef); assert(data->blockpos_requested.X >= data->blockpos_min.X && data->blockpos_requested.Y >= data->blockpos_min.Y && data->blockpos_requested.Z >= data->blockpos_min.Z); assert(data->blockpos_requested.X <= data->blockpos_max.X && data->blockpos_requested.Y <= data->blockpos_max.Y && data->blockpos_requested.Z <= data->blockpos_max.Z); this->generating = true; this->vm = data->vmanip; this->ndef = data->nodedef; // Hack: use minimum block coords for old code that assumes a single block v3s16 blockpos = data->blockpos_requested; v3s16 blockpos_min = data->blockpos_min; v3s16 blockpos_max = data->blockpos_max; // Area of central chunk node_min = blockpos_min*MAP_BLOCKSIZE; node_max = (blockpos_max+v3s16(1,1,1))*MAP_BLOCKSIZE-v3s16(1,1,1); // Full allocated area full_node_min = (blockpos_min-1)*MAP_BLOCKSIZE; full_node_max = (blockpos_max+2)*MAP_BLOCKSIZE-v3s16(1,1,1); central_area_size = node_max - node_min + v3s16(1,1,1); assert(central_area_size.X == central_area_size.Z); int volume_blocks = (blockpos_max.X - blockpos_min.X + 1) * (blockpos_max.Y - blockpos_min.Y + 1) * (blockpos_max.Z - blockpos_max.Z + 1); volume_nodes = volume_blocks * MAP_BLOCKSIZE * MAP_BLOCKSIZE * MAP_BLOCKSIZE; // Create a block-specific seed blockseed = get_blockseed(data->seed, full_node_min); // Make some noise calculateNoise(); c_stone = ndef->getId("mapgen_stone"); c_dirt = ndef->getId("mapgen_dirt"); c_dirt_with_grass = ndef->getId("mapgen_dirt_with_grass"); c_sand = ndef->getId("mapgen_sand"); c_water_source = ndef->getId("mapgen_water_source"); c_lava_source = ndef->getId("mapgen_lava_source"); c_gravel = ndef->getId("mapgen_gravel"); c_cobble = ndef->getId("mapgen_cobble"); c_desert_sand = ndef->getId("mapgen_desert_sand"); c_desert_stone = ndef->getId("mapgen_desert_stone"); c_mossycobble = ndef->getId("mapgen_mossycobble"); c_sandbrick = ndef->getId("mapgen_sandstonebrick"); c_stair_cobble = ndef->getId("mapgen_stair_cobble"); c_stair_sandstone = ndef->getId("mapgen_stair_sandstone"); if (c_desert_sand == CONTENT_IGNORE) c_desert_sand = c_sand; if (c_desert_stone == CONTENT_IGNORE) c_desert_stone = c_stone; if (c_mossycobble == CONTENT_IGNORE) c_mossycobble = c_cobble; if (c_sandbrick == CONTENT_IGNORE) c_sandbrick = c_desert_stone; if (c_stair_cobble == CONTENT_IGNORE) c_stair_cobble = c_cobble; if (c_stair_sandstone == CONTENT_IGNORE) c_stair_sandstone = c_sandbrick; // Maximum height of the stone surface and obstacles. // This is used to guide the cave generation s16 stone_surface_max_y; // Generate general ground level to full area stone_surface_max_y = generateGround(); generateExperimental(); const s16 max_spread_amount = MAP_BLOCKSIZE; // Limit dirt flow area by 1 because mud is flown into neighbors. s16 mudflow_minpos = -max_spread_amount + 1; s16 mudflow_maxpos = central_area_size.X + max_spread_amount - 2; // Loop this part, it will make stuff look older and newer nicely const u32 age_loops = 2; for (u32 i_age = 0; i_age < age_loops; i_age++) { // Aging loop // Make caves (this code is relatively horrible) if (flags & MG_CAVES) generateCaves(stone_surface_max_y); // Add mud to the central chunk addMud(); // Add blobs of dirt and gravel underground addDirtGravelBlobs(); // Flow mud away from steep edges if (spflags & MGV6_MUDFLOW) flowMud(mudflow_minpos, mudflow_maxpos); } // Add dungeons if (flags & MG_DUNGEONS) { DungeonParams dp; dp.np_rarity = nparams_dungeon_rarity; dp.np_density = nparams_dungeon_density; dp.np_wetness = nparams_dungeon_wetness; dp.c_water = c_water_source; if (getBiome(0, v2s16(node_min.X, node_min.Z)) == BT_NORMAL) { dp.c_cobble = c_cobble; dp.c_moss = c_mossycobble; dp.c_stair = c_stair_cobble; dp.diagonal_dirs = false; dp.mossratio = 3.0; dp.holesize = v3s16(1, 2, 1); dp.roomsize = v3s16(0, 0, 0); dp.notifytype = GENNOTIFY_DUNGEON; } else { dp.c_cobble = c_sandbrick; dp.c_moss = c_sandbrick; // should make this 'cracked sandstone' later dp.c_stair = c_stair_sandstone; dp.diagonal_dirs = true; dp.mossratio = 0.0; dp.holesize = v3s16(2, 3, 2); dp.roomsize = v3s16(2, 5, 2); dp.notifytype = GENNOTIFY_TEMPLE; } DungeonGen dgen(this, &dp); dgen.generate(blockseed, full_node_min, full_node_max); } // Add top and bottom side of water to transforming_liquid queue updateLiquid(&data->transforming_liquid, full_node_min, full_node_max); // Grow grass growGrass(); // Generate some trees, and add grass, if a jungle if (flags & MG_TREES) placeTreesAndJungleGrass(); // Generate the registered decorations for (unsigned int i = 0; i != emerge->decorations.size(); i++) { Decoration *deco = emerge->decorations[i]; deco->placeDeco(this, blockseed + i, node_min, node_max); } // Generate the registered ores for (unsigned int i = 0; i != emerge->ores.size(); i++) { Ore *ore = emerge->ores[i]; ore->placeOre(this, blockseed + i, node_min, node_max); } // Calculate lighting if (flags & MG_LIGHT) calcLighting(node_min - v3s16(1, 1, 1) * MAP_BLOCKSIZE, node_max + v3s16(1, 0, 1) * MAP_BLOCKSIZE); this->generating = false; } void MapgenV6::calculateNoise() { int x = node_min.X; int z = node_min.Z; // Need to adjust for the original implementation's +.5 offset... if (!(flags & MG_FLAT)) { noise_terrain_base->perlinMap2D( x + 0.5 * noise_terrain_base->np->spread.X, z + 0.5 * noise_terrain_base->np->spread.Z); noise_terrain_base->transformNoiseMap(); noise_terrain_higher->perlinMap2D( x + 0.5 * noise_terrain_higher->np->spread.X, z + 0.5 * noise_terrain_higher->np->spread.Z); noise_terrain_higher->transformNoiseMap(); noise_steepness->perlinMap2D( x + 0.5 * noise_steepness->np->spread.X, z + 0.5 * noise_steepness->np->spread.Z); noise_steepness->transformNoiseMap(); noise_height_select->perlinMap2D( x + 0.5 * noise_height_select->np->spread.X, z + 0.5 * noise_height_select->np->spread.Z); noise_mud->perlinMap2D( x + 0.5 * noise_mud->np->spread.X, z + 0.5 * noise_mud->np->spread.Z); noise_mud->transformNoiseMap(); } noise_beach->perlinMap2D( x + 0.2 * noise_beach->np->spread.X, z + 0.7 * noise_beach->np->spread.Z); noise_biome->perlinMap2D( x + 0.6 * noise_biome->np->spread.X, z + 0.2 * noise_biome->np->spread.Z); } int MapgenV6::generateGround() { //TimeTaker timer1("Generating ground level"); MapNode n_air(CONTENT_AIR), n_water_source(c_water_source); MapNode n_stone(c_stone), n_desert_stone(c_desert_stone); int stone_surface_max_y = -MAP_GENERATION_LIMIT; u32 index = 0; for (s16 z = node_min.Z; z <= node_max.Z; z++) for (s16 x = node_min.X; x <= node_max.X; x++, index++) { // Surface height s16 surface_y = (s16)baseTerrainLevelFromMap(index); // Log it if (surface_y > stone_surface_max_y) stone_surface_max_y = surface_y; BiomeType bt = getBiome(index, v2s16(x, z)); // Fill ground with stone v3s16 em = vm->m_area.getExtent(); u32 i = vm->m_area.index(x, node_min.Y, z); for (s16 y = node_min.Y; y <= node_max.Y; y++) { if (vm->m_data[i].getContent() == CONTENT_IGNORE) { if (y <= surface_y) { vm->m_data[i] = (y > water_level && bt == BT_DESERT) ? n_desert_stone : n_stone; } else if (y <= water_level) { vm->m_data[i] = n_water_source; } else { vm->m_data[i] = n_air; } } vm->m_area.add_y(em, i, 1); } } return stone_surface_max_y; } void MapgenV6::addMud() { // 15ms @cs=8 //TimeTaker timer1("add mud"); MapNode n_dirt(c_dirt), n_gravel(c_gravel); MapNode n_sand(c_sand), n_desert_sand(c_desert_sand); MapNode addnode; u32 index = 0; for (s16 z = node_min.Z; z <= node_max.Z; z++) for (s16 x = node_min.X; x <= node_max.X; x++, index++) { // Randomize mud amount s16 mud_add_amount = getMudAmount(index) / 2.0 + 0.5; // Find ground level s16 surface_y = find_stone_level(v2s16(x, z)); /////////////////optimize this! // Handle area not found if (surface_y == vm->m_area.MinEdge.Y - 1) continue; BiomeType bt = getBiome(index, v2s16(x, z)); addnode = (bt == BT_DESERT) ? n_desert_sand : n_dirt; if (bt == BT_DESERT && surface_y + mud_add_amount <= water_level + 1) { addnode = n_sand; } else if (mud_add_amount <= 0) { mud_add_amount = 1 - mud_add_amount; addnode = n_gravel; } else if (bt == BT_NORMAL && getHaveBeach(index) && surface_y + mud_add_amount <= water_level + 2) { addnode = n_sand; } if (bt == BT_DESERT && surface_y > 20) mud_add_amount = MYMAX(0, mud_add_amount - (surface_y - 20) / 5); // If topmost node is grass, change it to mud. It might be if it was // flown to there from a neighboring chunk and then converted. u32 i = vm->m_area.index(x, surface_y, z); if (vm->m_data[i].getContent() == c_dirt_with_grass) vm->m_data[i] = n_dirt; // Add mud on ground s16 mudcount = 0; v3s16 em = vm->m_area.getExtent(); s16 y_start = surface_y + 1; i = vm->m_area.index(x, y_start, z); for (s16 y = y_start; y <= node_max.Y; y++) { if (mudcount >= mud_add_amount) break; vm->m_data[i] = addnode; mudcount++; vm->m_area.add_y(em, i, 1); } } } void MapgenV6::flowMud(s16 &mudflow_minpos, s16 &mudflow_maxpos) { // 340ms @cs=8 TimeTaker timer1("flow mud"); // Iterate a few times for(s16 k = 0; k < 3; k++) { for (s16 z = mudflow_minpos; z <= mudflow_maxpos; z++) for (s16 x = mudflow_minpos; x <= mudflow_maxpos; x++) { // Invert coordinates every 2nd iteration if (k % 2 == 0) { x = mudflow_maxpos - (x - mudflow_minpos); z = mudflow_maxpos - (z - mudflow_minpos); } // Node position in 2d v2s16 p2d = v2s16(node_min.X, node_min.Z) + v2s16(x, z); v3s16 em = vm->m_area.getExtent(); u32 i = vm->m_area.index(p2d.X, node_max.Y, p2d.Y); s16 y = node_max.Y; while(y >= node_min.Y) { for(;; y--) { MapNode *n = NULL; // Find mud for(; y >= node_min.Y; y--) { n = &vm->m_data[i]; if (n->getContent() == c_dirt || n->getContent() == c_dirt_with_grass || n->getContent() == c_gravel) break; vm->m_area.add_y(em, i, -1); } // Stop if out of area //if(vmanip.m_area.contains(i) == false) if (y < node_min.Y) break; if (n->getContent() == c_dirt || n->getContent() == c_dirt_with_grass) { // Make it exactly mud n->setContent(c_dirt); // Don't flow it if the stuff under it is not mud { u32 i2 = i; vm->m_area.add_y(em, i2, -1); // Cancel if out of area if(vm->m_area.contains(i2) == false) continue; MapNode *n2 = &vm->m_data[i2]; if (n2->getContent() != c_dirt && n2->getContent() != c_dirt_with_grass) continue; } } v3s16 dirs4[4] = { v3s16(0,0,1), // back v3s16(1,0,0), // right v3s16(0,0,-1), // front v3s16(-1,0,0), // left }; // Check that upper is air or doesn't exist. // Cancel dropping if upper keeps it in place u32 i3 = i; vm->m_area.add_y(em, i3, 1); if (vm->m_area.contains(i3) == true && ndef->get(vm->m_data[i3]).walkable) continue; // Drop mud on side for(u32 di=0; di<4; di++) { v3s16 dirp = dirs4[di]; u32 i2 = i; // Move to side vm->m_area.add_p(em, i2, dirp); // Fail if out of area if (vm->m_area.contains(i2) == false) continue; // Check that side is air MapNode *n2 = &vm->m_data[i2]; if (ndef->get(*n2).walkable) continue; // Check that under side is air vm->m_area.add_y(em, i2, -1); if (vm->m_area.contains(i2) == false) continue; n2 = &vm->m_data[i2]; if (ndef->get(*n2).walkable) continue; // Loop further down until not air bool dropped_to_unknown = false; do { vm->m_area.add_y(em, i2, -1); n2 = &vm->m_data[i2]; // if out of known area if(vm->m_area.contains(i2) == false || n2->getContent() == CONTENT_IGNORE) { dropped_to_unknown = true; break; } } while (ndef->get(*n2).walkable == false); // Loop one up so that we're in air vm->m_area.add_y(em, i2, 1); n2 = &vm->m_data[i2]; bool old_is_water = (n->getContent() == c_water_source); // Move mud to new place if (!dropped_to_unknown) { *n2 = *n; // Set old place to be air (or water) if(old_is_water) *n = MapNode(c_water_source); else *n = MapNode(CONTENT_AIR); } // Done break; } } } } } } void MapgenV6::addDirtGravelBlobs() { if (getBiome(v2s16(node_min.X, node_min.Z)) != BT_NORMAL) return; PseudoRandom pr(blockseed + 983); for (int i = 0; i < volume_nodes/10/10/10; i++) { bool only_fill_cave = (myrand_range(0,1) != 0); v3s16 size( pr.range(1, 8), pr.range(1, 8), pr.range(1, 8) ); v3s16 p0( pr.range(node_min.X, node_max.X) - size.X / 2, pr.range(node_min.Y, node_max.Y) - size.Y / 2, pr.range(node_min.Z, node_max.Z) - size.Z / 2 ); MapNode n1((p0.Y > -32 && !pr.range(0, 1)) ? c_dirt : c_gravel); for (int z1 = 0; z1 < size.Z; z1++) for (int y1 = 0; y1 < size.Y; y1++) for (int x1 = 0; x1 < size.X; x1++) { v3s16 p = p0 + v3s16(x1, y1, z1); u32 i = vm->m_area.index(p); if (!vm->m_area.contains(i)) continue; // Cancel if not stone and not cave air if (vm->m_data[i].getContent() != c_stone && !(vm->m_flags[i] & VMANIP_FLAG_CAVE)) continue; if (only_fill_cave && !(vm->m_flags[i] & VMANIP_FLAG_CAVE)) continue; vm->m_data[i] = n1; } } } void MapgenV6::placeTreesAndJungleGrass() { //TimeTaker t("placeTrees"); if (node_max.Y < water_level) return; PseudoRandom grassrandom(blockseed + 53); content_t c_junglegrass = ndef->getId("mapgen_junglegrass"); // if we don't have junglegrass, don't place cignore... that's bad if (c_junglegrass == CONTENT_IGNORE) c_junglegrass = CONTENT_AIR; MapNode n_junglegrass(c_junglegrass); v3s16 em = vm->m_area.getExtent(); // Divide area into parts s16 div = 8; s16 sidelen = central_area_size.X / div; double area = sidelen * sidelen; // N.B. We must add jungle grass first, since tree leaves will // obstruct the ground, giving us a false ground level for (s16 z0 = 0; z0 < div; z0++) for (s16 x0 = 0; x0 < div; x0++) { // Center position of part of division v2s16 p2d_center( node_min.X + sidelen / 2 + sidelen * x0, node_min.Z + sidelen / 2 + sidelen * z0 ); // Minimum edge of part of division v2s16 p2d_min( node_min.X + sidelen * x0, node_min.Z + sidelen * z0 ); // Maximum edge of part of division v2s16 p2d_max( node_min.X + sidelen + sidelen * x0 - 1, node_min.Z + sidelen + sidelen * z0 - 1 ); // Amount of trees, jungle area u32 tree_count = area * getTreeAmount(p2d_center); float humidity; bool is_jungle = false; if (spflags & MGV6_JUNGLES) { humidity = getHumidity(p2d_center); if (humidity > 0.75) { is_jungle = true; tree_count *= 4; } } // Add jungle grass if (is_jungle) { u32 grass_count = 5 * humidity * tree_count; for (u32 i = 0; i < grass_count; i++) { s16 x = grassrandom.range(p2d_min.X, p2d_max.X); s16 z = grassrandom.range(p2d_min.Y, p2d_max.Y); s16 y = findGroundLevelFull(v2s16(x, z)); ////////////////optimize this! if (y < water_level || y < node_min.Y || y > node_max.Y) continue; u32 vi = vm->m_area.index(x, y, z); // place on dirt_with_grass, since we know it is exposed to sunlight if (vm->m_data[vi].getContent() == c_dirt_with_grass) { vm->m_area.add_y(em, vi, 1); vm->m_data[vi] = n_junglegrass; } } } // Put trees in random places on part of division for (u32 i = 0; i < tree_count; i++) { s16 x = myrand_range(p2d_min.X, p2d_max.X); s16 z = myrand_range(p2d_min.Y, p2d_max.Y); s16 y = findGroundLevelFull(v2s16(x, z)); ////////////////////optimize this! // Don't make a tree under water level // Don't make a tree so high that it doesn't fit if(y < water_level || y > node_max.Y - 6) continue; v3s16 p(x,y,z); // Trees grow only on mud and grass { u32 i = vm->m_area.index(p); MapNode *n = &vm->m_data[i]; if (n->getContent() != c_dirt && n->getContent() != c_dirt_with_grass) continue; } p.Y++; // Make a tree if (is_jungle) { treegen::make_jungletree(*vm, p, ndef, myrand()); } else { bool is_apple_tree = (myrand_range(0, 3) == 0) && getHaveAppleTree(v2s16(x, z)); treegen::make_tree(*vm, p, is_apple_tree, ndef, myrand()); } } } //printf("placeTreesAndJungleGrass: %dms\n", t.stop()); } void MapgenV6::growGrass() { for (s16 z = full_node_min.Z; z <= full_node_max.Z; z++) for (s16 x = full_node_min.X; x <= full_node_max.X; x++) { // Find the lowest surface to which enough light ends up to make // grass grow. Basically just wait until not air and not leaves. s16 surface_y = 0; { v3s16 em = vm->m_area.getExtent(); u32 i = vm->m_area.index(x, node_max.Y, z); s16 y; // Go to ground level for (y = node_max.Y; y >= full_node_min.Y; y--) { MapNode &n = vm->m_data[i]; if (ndef->get(n).param_type != CPT_LIGHT || ndef->get(n).liquid_type != LIQUID_NONE) break; vm->m_area.add_y(em, i, -1); } surface_y = (y >= full_node_min.Y) ? y : full_node_min.Y; } u32 i = vm->m_area.index(x, surface_y, z); MapNode *n = &vm->m_data[i]; if (n->getContent() == c_dirt && surface_y >= water_level - 20) n->setContent(c_dirt_with_grass); } } void MapgenV6::generateCaves(int max_stone_y) { float cave_amount = NoisePerlin2D(np_cave, node_min.X, node_min.Y, seed); int volume_nodes = (node_max.X - node_min.X + 1) * (node_max.Y - node_min.Y + 1) * MAP_BLOCKSIZE; cave_amount = MYMAX(0.0, cave_amount); u32 caves_count = cave_amount * volume_nodes / 50000; u32 bruises_count = 1; PseudoRandom ps(blockseed + 21343); PseudoRandom ps2(blockseed + 1032); if (ps.range(1, 6) == 1) bruises_count = ps.range(0, ps.range(0, 2)); if (getBiome(v2s16(node_min.X, node_min.Z)) == BT_DESERT) { caves_count /= 3; bruises_count /= 3; } for (u32 i = 0; i < caves_count + bruises_count; i++) { bool large_cave = (i >= caves_count); CaveV6 cave(this, &ps, &ps2, large_cave); cave.makeCave(node_min, node_max, max_stone_y); } }