previndexinfonext

code guessing, round #80 (completed)

started at ; stage 2 at ; ended at

specification

transmit morse code. submissions can be written in any language.

your challenge, given text representable in the International Morse code, is to convert it to some representation of Morse code. as any language is allowed, there is no fixed API.

results

  1. 👑 Dolphy +3 -0 = 3
    1. essaie
    2. seshoumara
    3. LyricLy (was Makefile_dot_in)
    4. kimapr
    5. yeti (was oleander)
    6. Makefile_dot_in (was soup girl)
    7. soup girl (was yeti)
    8. oleander (was LyricLy)
  2. Makefile_dot_in +2 -0 = 2
    1. essaie
    2. seshoumara
    3. LyricLy (was Dolphy)
    4. Dolphy (was kimapr)
    5. yeti (was oleander)
    6. kimapr (was soup girl)
    7. soup girl (was yeti)
    8. oleander (was LyricLy)
  3. soup girl +2 -0 = 2
    1. Dolphy (was essaie)
    2. seshoumara
    3. yeti (was Makefile_dot_in)
    4. LyricLy (was Dolphy)
    5. essaie (was kimapr)
    6. oleander
    7. Makefile_dot_in (was yeti)
    8. kimapr (was LyricLy)
  4. oleander +2 -1 = 1
    1. essaie
    2. seshoumara
    3. soup girl (was Makefile_dot_in)
    4. LyricLy (was Dolphy)
    5. Dolphy (was kimapr)
    6. yeti (was soup girl)
    7. Makefile_dot_in (was yeti)
    8. kimapr (was LyricLy)
  5. LyricLy +1 -0 = 1
    1. Dolphy (was essaie)
    2. seshoumara
    3. soup girl (was Makefile_dot_in)
    4. essaie (was Dolphy)
    5. yeti (was kimapr)
    6. Makefile_dot_in (was oleander)
    7. kimapr (was soup girl)
    8. oleander (was yeti)
  6. kimapr +1 -1 = 0
    1. LyricLy (was essaie)
    2. seshoumara
    3. oleander (was Makefile_dot_in)
    4. Makefile_dot_in (was Dolphy)
    5. soup girl (was oleander)
    6. essaie (was soup girl)
    7. Dolphy (was yeti)
    8. yeti (was LyricLy)
  7. essaie +2 -3 = -1
    1. seshoumara
    2. LyricLy (was Makefile_dot_in)
    3. Makefile_dot_in (was Dolphy)
    4. oleander (was kimapr)
    5. soup girl (was oleander)
    6. kimapr (was soup girl)
    7. yeti
    8. Dolphy (was LyricLy)
  8. yeti +0 -1 = -1
    1. seshoumara +0 -7 = -7
      1. kimapr (was essaie)
      2. LyricLy (was Makefile_dot_in)
      3. oleander (was Dolphy)
      4. soup girl (was kimapr)
      5. Makefile_dot_in (was oleander)
      6. yeti (was soup girl)
      7. Dolphy (was yeti)
      8. essaie (was LyricLy)

    entries

    you can download all the entries

    entry #1

    written by essaie
    submitted at
    1 like

    guesses
    comments 0

    post a comment


    print... for shame...py ASCII text, with very long lines (5118)
    1
    2
    3
    eric = input().lower().split()
    john                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  = " / ,"
    print((lambda O0O0,OO0O:(lambda OOO,OO0,O00,O0O,O0O0,OO0O,O,O0,OO:(lambda OO,OOO:john[:-OO0].join(john[0].join(OOO[O]for[O]in(getattr(OO,O[::O0O])(O0,O0)))for(O0)in eric))({O[-O0O:-OO0]:str(O00),OO[OOO]+O[-O00]*O00:str(O00),O0[OO0]+O[-O00]+OO[OO0]:OO[OO0],O[-O00:]:john[OO0],O0[OO0]+O[-O00]+OO[OO0]+O[-OO0]:OO[OO0]+O[-OO0],O[-O0O0:-OO0O:-OO0]:O[-OO0],O0[::O0O]:O0[OOO]},(lambda OO0,O00:(lambda OO:dict(zip(map(lambda O:chr(O).lower(),range(OO0,O00)),(lambda*O:O[0](*O))(lambda*O:chr(O[O0O0//O0O0]%O0O+OO0//O0O+OO0)+O[O00%OO0O](O[0],O[OO0%O0O0]//O0O)if O[O00//O00]else'',OO).split(john[-OO0//OO0]))))((O00**(O0O**O0O0-(O00//OO0O-OO0O))-(OO0O**O0O-OO0O%O0O)**((OO0O//O0O)**(O0O*O0O-O0O)-(OO0O//O0O)**O0O+OO0%O0O0)-((OO0O//O0O)**OO0O+(OO0O//O0O))**(O00-OO0+O0O*O0O)-(OO0O**O0O+O0O**O0O+OO0O%O0O)**(OO0O**(OO0O//O0O)+(O0O*O0O-O0O0))+((OO0O//O0O)**(O0O**(OO0O//O0O))-(O00//OO0O-OO0O)**(O00//OO0)-OO0%O0O0)**(OO0O**(OO0O//O0O)+(O00//OO0))-((O0O**(O00//OO0)+O0O)**(O00//OO0)+O0O**(OO0O//O0O)+O0O)**((O00//OO0)**(O0O*O0O-O0O)-O0O)-((O00//OO0)**O0O0-(O00//OO0))**((O0O**(OO0O//O0O)+(O00//OO0))**(OO0O//O0O)-(O00//OO0)**O0O+OO0O%O0O)+((O0O*O0O-O0O0)**O0O0-O0O**(OO0O//O0O)-OO0%O0O0)**(OO0O**(OO0O//O0O)-O0O)+((O00//OO0)**(O0O**(OO0O//O0O))+(OO0O//O0O)**O0O0-O0O)**(OO0O**(OO0O//O0O)-O0O)-(OO0O**O0O+(O00//OO0)**(O00//OO0O-OO0O)-OO0O%O0O)**(OO0O**(O00//OO0)-(OO0O//O0O))+(OO0O//O0O)**(OO0O**O0O+OO0O**(OO0O//O0O)+(O00//OO0)**O0O-OO0%O0O0)-O0O**(O0O**(O0O*O0O-O0O0)+(OO0O//O0O)**(O00//OO0))+((O0O*O0O-O0O)**(OO0O//O0O)+(OO0O//O0O)**(OO0O//O0O))**((O00//OO0)**(O00//OO0O-OO0O)+(OO0O//O0O)**O0O)-((O0O**(O00//OO0)+OO0O%O0O)**(O00//OO0)-O0O)**((O00//OO0)**(O0O*O0O-O0O)-(OO0O//O0O)**O0O+OO0%O0O0)-((OO0O//O0O)**((OO0O//O0O)**O0O)+O0O**(OO0O//O0O)+OO0O%O0O)**(OO0O**(OO0O//O0O)-(OO0O//O0O)**(OO0O//O0O))-((O0O*O0O-O0O0)**O0O-(OO0O//O0O))**(OO0O**(OO0O//O0O)+OO0%O0O0)+((OO0O//O0O)**((O00//OO0)**O0O)+(O00//OO0O-OO0O)**(OO0O//O0O)+(O00//OO0))**((O0O*O0O-O0O)**(O00//OO0)+(O0O*O0O-O0O0))+((OO0O//O0O)**(O0O**(OO0O//O0O))+OO0O**(OO0O//O0O)-(O00//OO0))**((O00//OO0O-OO0O)**(OO0O//O0O))-((O00//OO0)**((O00//OO0)**O0O)-(OO0O//O0O))**((O0O*O0O-O0O)**(OO0O//O0O)+O0O0)+(OO0O**O0O+O0O**O0O-OO0O%O0O)**((O00//OO0O-OO0O)**(OO0O//O0O))-((O00//OO0)**OO0O-OO0%O0O0)**(OO0O**(O00//OO0)-(O0O*O0O-O0O))+((O00//OO0O-OO0O)**(OO0O//O0O)-OO0O%O0O)**((O00//OO0)**(O0O*O0O-O0O)-(OO0O//O0O)**O0O+OO0%O0O0)+((O0O**(OO0O//O0O)+(O00//OO0))**(O00//OO0)-O0O**(O00//OO0)-OO0O%O0O)**((O00//OO0O-OO0O)**(OO0O//O0O)+(O0O*O0O-O0O))-(OO0O**O0O+(OO0O//O0O)**(O00//OO0O-OO0O)+(O0O*O0O-O0O0))**((OO0O//O0O)**(O0O*O0O-O0O0))-((O0O**(OO0O//O0O)+O0O)**(OO0O//O0O)+(O00//OO0)**O0O-OO0%O0O0)**((O0O*O0O-O0O)**(O00//OO0)+OO0O%O0O)+((O0O**(OO0O//O0O)+O0O)**(O00//OO0)+(O00//OO0O-OO0O))**((O0O*O0O-O0O)**(OO0O//O0O))+(O0O**O0O0-O0O)**((O00//OO0O-OO0O)**(OO0O//O0O)+O0O0)-((OO0O//O0O)**((OO0O//O0O)**O0O)+(O00//OO0)**O0O0-OO0%O0O0)**((O00//OO0)**(O0O*O0O-O0O0)-(OO0O//O0O))+(((OO0O//O0O)**O0O0-(OO0O//O0O))**(O00//OO0)-O0O0)**((OO0O//O0O)**(O0O*O0O-O0O0)-OO0O%O0O)-(OO0O**O0O+(OO0O//O0O)**O0O-OO0%O0O0)**(O0O**O0O)+(((OO0O//O0O)**O0O0-(O00//OO0))**(O00//OO0)-(O0O*O0O-O0O0))**(O0O**O0O+(OO0O//O0O))+((O0O**(OO0O//O0O)+OO0O%O0O)**(O00//OO0)-OO0%O0O0)**((O00//OO0)**(O0O*O0O-O0O0))+(((OO0O//O0O)**O0O0-(OO0O//O0O))**(O00//OO0)-O0O**(O00//OO0)-OO0O%O0O)**(O0O**O0O)-(O0O*O0O-O0O)**(O0O**O0O0-(O0O*O0O-O0O0))-((O00//OO0)**OO0O+(OO0O//O0O)**O0O)**(O0O**O0O-OO0%O0O0)-((O00//OO0O-OO0O)**(OO0O//O0O)+(O0O*O0O-O0O0))**OO0-((O0O*O0O-O0O)**(OO0O//O0O)+(O00//OO0))**((O00//OO0)**(O0O*O0O-O0O0))+((O00//OO0O-OO0O)**O0O-(O00//OO0)**O0O+OO0O%O0O)**(O00%OO0-O0O0)-((O0O**(OO0O//O0O)+OO0%O0O0)**(OO0O//O0O)+(O00//OO0)**(OO0O//O0O))**(O00%OO0-(OO0O//O0O))-((OO0O//O0O)**(O0O*O0O-O0O)+(O00//OO0)**O0O)**(O00%OO0-(O00//OO0))-((O0O**(OO0O//O0O)+O0O)**(OO0O//O0O)+(OO0O//O0O)**O0O-OO0O%O0O)**((OO0O//O0O)**O0O0+(OO0O//O0O))+(OO0O**(OO0O//O0O)+(O00//OO0O-OO0O))**(O00%OO0-(OO0O//O0O)**(OO0O//O0O))+((OO0O//O0O)**(O0O*O0O-O0O)+O0O)**((OO0O//O0O)**O0O0+O0O)+((OO0O//O0O)**(O00//OO0O-OO0O)-(OO0O//O0O)**(OO0O//O0O))**((OO0O//O0O)**O0O0+(OO0O//O0O))+(O0O*O0O-O0O)**((O00//OO0O-OO0O)**(O00//OO0)+O0O)+((O0O**(OO0O//O0O)+O0O)**(O00//OO0)-(O0O*O0O-O0O))**((O00//OO0)**O0O0-O0O)+((O00//OO0O-OO0O)**(OO0O//O0O)+(O0O*O0O-O0O))**((OO0O//O0O)**O0O0)-((O0O**(OO0O//O0O)+OO0%O0O0)**(OO0O//O0O)+(O00//OO0)**O0O)**(O0O**(O00//OO0)+O0O)-(O0O**(O00//OO0)+OO0O%O0O)**(O00%OO0-(OO0O//O0O))-((O0O**(OO0O//O0O)+OO0%O0O0)**(O00//OO0)-OO0O%O0O)**(O0O**(O00//OO0)+OO0%O0O0)-(OO0O**(OO0O//O0O)+(O0O*O0O-O0O0))**(O0O**(OO0O//O0O)+OO0O%O0O)+((OO0O//O0O)**(O00//OO0O-OO0O)-(OO0O//O0O)**(OO0O//O0O))**((OO0O//O0O)**O0O)+(O00//OO0)**((O0O*O0O-O0O)**(OO0O//O0O)+O0O0)+(O00%OO0-O0O0)**((O00//OO0)**O0O)-OO0**(O00//OO0O-OO0O)-OO0**(O0O*O0O-O0O0)-(O0O**O0O+OO0%O0O0)**O0O0+((O00//OO0)**O0O0-O0O)**O0O0-(O0O*O0O-O0O)**O0O0+(O0O**(O00//OO0)+OO0O%O0O)**(O00//OO0)+OO0%O0O0)))(*(O0O*(O0O0+OO0O),OO0O*(-O0O+O0O0**O00)))))(*O0O0,*OO0O))(*map(map,(lambda _:_.__code__.co_argcount,lambda _:_.__class__.__name__),((lambda:0,lambda O:0,lambda O,O0:O,lambda O,O0,OO:0,lambda O,O0,OO,O00:O,lambda O,O0,OO,O0O,OO0,O00,OOO:0),((()for()in()),b'',())))))
    

    entry #2

    written by seshoumara
    submitted at
    1 like

    guesses
    comments 0

    post a comment


    cg80_Morse_code_decoder.sed ASCII text
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    #!/usr/bin/sed -nrf
    
    :_Problem
        # Morse code
        # https://codeguessing.gay/80/
    :_Restrictions
        # the only characters allowed are [.= S\n]
    
    :main
        1v
        # error handling
        /[^.= S]/{
            =
            s/.*/Error on line number seen above: invalid character found!\nThe only characters allowed are [.= S\\n]./p
            Q 1
        }
        # save current line
        H;x
        s:^\n(.*)$:<IN> \1 <NI><OUT><TUO>:
        x
    b decode
    
    :decode
        :loop
            # get next "character" from current line
            x;h
            /^<IN> <NI>/b print
            s:^(<IN> )[.=S]+ :\1:
            x
            s:^<IN> ([.=S]+).*$:\1:
            # append Morse code table
            s:$:;;S, ;.,E;=,T;..,I;.=,A;=.,N;==,M;...,S;..=,U;.=.,R;.==,W;=..,D;=.=,K;==.,G;===,O;:
            s:$:....,H;...=,V;..=.,F;.=..,L;.==.,P;.===,J;=...,B;=..=,X;=.=.,C;=.==,Y;==..,Z;==.=,Q;:
            s:$:.====,1;..===,2;...==,3;....=,4;.....,5;=....,6;==...,7;===..,8;====.,9;=====,0;:
            # convert "character" and save
            s:^([.=S]+);.*;\1,(.);.*$:\2:
            H;x
            s:(<OUT>.*)(<TUO>)\n(.)$:\1\3\2:
            x
        b loop
        :print
            s:^<IN> <NI><OUT>(.*)<TUO>$:\1:p
            z;x
    b EOS
    
    :EOS
    
    cg80_Morse_code_encoder.sed ASCII text
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    #!/usr/bin/sed -nrf
    
    :_Problem
        # Morse code
        # https://codeguessing.gay/80/
    :_Restrictions
        # the only characters allowed are [0-9A-Z \n]
    
    :main
        1v
        # error handling
        /[^0-9A-Z ]/{
            =
            s/.*/Error on line number seen above: invalid character found!\nThe only characters allowed are [0-9A-Z \\n]./p
            Q 1
        }
        # save current line
        H;x
        s:^\n(.*)$:<IN>\1<NI><OUT><TUO>:
        x
    b encode
    
    :encode
        :loop
            # get next character from current line
            x;h
            /^<IN><NI>/b print
            s:^(<IN>).:\1:
            x
            s:^<IN>(.).*$:\1:
            # append Morse code table
            s:$:; ,S;E,.;T,=;I,..;A,.=;N,=.;M,==;S,...;U,..=;R,.=.;W,.==;D,=..;K,=.=;G,==.;O,===;:
            s:$:H,....;V,...=;F,..=.;L,.=..;P,.==.;J,.===;B,=...;X,=..=;C,=.=.;Y,=.==;Z,==..;Q,==.=;:
            s:$:1,.====;2,..===;3,...==;4,....=;5,.....;6,=....;7,==...;8,===..;9,====.;0,=====;:
            # convert character and save
            s:^(.).*;\1,([.=S]+);.*$:\2:
            H;x
            s:(<OUT>.*)(<TUO>)\n(.*)$:\1 \3\2:
            x
        b loop
        :print
            s:^<IN><NI><OUT> (.*)<TUO>$:\1:p
            z;x
    b EOS
    
    :EOS
    

    entry #3

    written by Makefile_dot_in
    submitted at
    1 like

    guesses
    comments 0

    post a comment


    sdl-ext.vapi ASCII text
    1
    2
    3
    4
    5
    [CCode(cname = "SDL_RenderSetClipRect")]
    static int set_clip_rect(SDL.Video.Renderer renderer, SDL.Video.Rect? rect);
    
    [CCode(cname = "SDL_OpenAudioDevice")]
    static SDL.Audio.AudioDevice open_audio_device(string? device, bool iscapture, ref SDL.Audio.AudioSpec desired, out SDL.Audio.AudioSpec obtained, int allowed_changes);
    
    sitelen-Mosu.vala ASCII text
      1
      2
      3
      4
      5
      6
      7
      8
      9
     10
     11
     12
     13
     14
     15
     16
     17
     18
     19
     20
     21
     22
     23
     24
     25
     26
     27
     28
     29
     30
     31
     32
     33
     34
     35
     36
     37
     38
     39
     40
     41
     42
     43
     44
     45
     46
     47
     48
     49
     50
     51
     52
     53
     54
     55
     56
     57
     58
     59
     60
     61
     62
     63
     64
     65
     66
     67
     68
     69
     70
     71
     72
     73
     74
     75
     76
     77
     78
     79
     80
     81
     82
     83
     84
     85
     86
     87
     88
     89
     90
     91
     92
     93
     94
     95
     96
     97
     98
     99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    358
    359
    360
    361
    362
    363
    364
    365
    366
    367
    368
    369
    370
    371
    372
    373
    374
    375
    376
    377
    378
    379
    380
    381
    382
    383
    384
    385
    386
    387
    388
    389
    390
    391
    392
    393
    394
    395
    396
    397
    398
    399
    400
    401
    402
    403
    404
    405
    406
    407
    408
    409
    410
    411
    412
    413
    414
    415
    416
    417
    418
    419
    420
    421
    422
    423
    424
    425
    426
    427
    428
    429
    430
    431
    432
    433
    434
    435
    436
    437
    438
    439
    440
    441
    442
    443
    444
    445
    446
    447
    448
    449
    450
    451
    452
    453
    454
    455
    456
    457
    458
    459
    460
    461
    462
    463
    464
    465
    466
    467
    468
    469
    470
    471
    472
    473
    474
    475
    476
    477
    478
    479
    480
    481
    482
    483
    484
    485
    486
    487
    488
    489
    490
    491
    492
    493
    494
    495
    496
    497
    498
    499
    500
    501
    502
    503
    504
    505
    506
    #!/usr/bin/env -S vala --pkg sdl2 --pkg json-glib-1.0 --pkg posix sdl-ext.vapi
    // valac --pkg sdl2 --pkg json-glib-1.0 --pkg posix sitelen-Mosu.vala sdl-ext.vapi --Xcc=-lm
    
    using SDL;
    using SDL.Video;
    
    struct Glyph {
        uint16 x;
        uint16 y;
        uint8 width;
        uint8 height;
        uint8 baseline;
        bool extant;
        unichar c;
    
        Glyph(Json.Array data, uint8 baseline, Surface surf, int x, int y, unichar c) {
            this.x = (uint16) x;
            this.y = (uint16) y;
            this.c = c;
            this.baseline = baseline;
            this.width = 0;
            this.height = (uint8) data.get_length();
            this.extant = true;
            for (int dy = 0; dy < data.get_length(); dy++) {
                string row = data.get_string_element(dy);
                this.width = uint8.max(this.width, (uint8) row.length);
                for (int dx = 0; dx < row.length; ++dx) {
                    uint8* ptr = surf.pixels;
                    int rx = x + dx;
                    int ry = y + dy;
                    ptr[ry * surf.pitch + rx / 8] |= (uint8) (row[dx] == '#') << (uint8) (rx % 8);
                }
            }
        }
    
        public Rect get_rect() {
            return Rect() {
                x = x,
                y = y,
                w = width,
                h = height
            };
        }
    }
    
    struct Block {
        Glyph[] characters;
    }
    
    struct Plane {
        Block[] blocks;
    }
    
    class Morse {
        uint8[] long_beep;
        uint8[] short_beep;
        Audio.AudioDevice audio_device;
        Audio.AudioSpec spec;
    
        // generates earrape
        int16[] synthesize_sine(double frequency, double seconds, double amplitude) {
            uint buf_length = (uint) (seconds * (double) spec.freq);
            int16[] res = new int16[buf_length];
            for (uint i = 0; i < buf_length; i++) {
                double t = (double) i / (double) spec.freq;
                res[i] = (int16) ((double) int16.MAX * Math.sin(2 * Math.PI * frequency * t) * amplitude);
                print("res[%u]: %d t: %f\n", i, res[i], t);
            }
    
            return res;
        }
    
        public Morse() {
            spec = Audio.AudioSpec() {
                freq = 44100,
                format = Audio.AudioFormat.S16,
                channels = 1,
                samples = 1024,
                callback = null
            };
            uint32 len;
            Audio.AudioSpec? x = Audio.load("short.wav", ref spec, out short_beep, out len);
            if (x == null)
                error("short load: %s", SDL.get_error());
            x = Audio.load("long.wav", ref spec, out long_beep, out len);
            if (x == null)
                error("long load: %s", SDL.get_error());
            audio_device = open_audio_device(null, false, ref spec, null, 0);
            if (audio_device == 0)
                error("%s", SDL.get_error());
    
        }
    }
    
    class TextEditor {
        private const int MAX_CODEPOINT = 0x10ffff;
        private Plane characters[(MAX_CODEPOINT >> 16) + 1];
        private int line_height;
        private Surface surface;
        public Texture texture;
        public Texture itexture;
        private unowned Renderer renderer;
        private StringBuilder[] lines;
        private int maxcharh;
        private int max_baseline;
        private Color fg;
        private Color bg;
        public Rect bounds { get; set; }
        public int scale { get; set; }
        public int cursor_line { get; set; default = 0; }
        public int cursor_column { get; set; default = 0; }
    
        public Glyph? lookup(unichar codepoint) {
            unowned Plane? p = characters[codepoint >> 16];
            if (p.blocks == null) return null;
            unowned Block? b = p.blocks[codepoint >> 8 & 0xff];
            if (b.characters == null) return null;
            unowned Glyph? g = b.characters[codepoint & 0xff];
            if (!g.extant) return null;
            return g;
        }
    
        void insert(unichar codepoint, Glyph c) {
            Plane* p = &characters[codepoint >> 16];
            if (p->blocks == null)
                p->blocks = new Block[(MAX_CODEPOINT >> 8 & 0xff) + 1];
    
            Block* b = &p->blocks[codepoint >> 8 & 0xff];
            if (b->characters == null)
                b->characters = new Glyph[(MAX_CODEPOINT & 0xff) + 1];
    
            b->characters[codepoint & 0xff] = c;
        }
    
        public int line_width(string s, bool selected) {
            int result = 0;
            int index = 0;
            unichar codepoint;
            bool selected_passed = false;
            bool invert;
            while (next_char(s, selected, ref index, ref selected_passed, out codepoint, out invert)) {
                Glyph? g = lookup(codepoint);
                if (g == null) continue;
                result += (g.width + 2) * scale;
            }
    
            return result;
        }
    
        private bool next_char(string s, bool selected, ref int index, ref bool selected_passed, out unichar codepoint, out bool invert) {
            int oldindex = index;
            bool res = s.get_next_char(ref index, out codepoint);
            invert = false;
            if (selected && !selected_passed && oldindex == cursor_column) {
                selected_passed = true;
                invert = true;
                if (!res) {
                    codepoint = ' ';
                    return true;
                }
            }
    
            return res;
        }
    
        public void render_line(int x, int y, string s, bool selected) {
            int index = 0;
    
            unichar codepoint = 0;
            bool selected_passed = false;
            bool invert;
            while (next_char(s, selected, ref index, ref selected_passed, out codepoint, out invert)) {
                Glyph? g = lookup(codepoint);
                if (g == null) continue;
    
                var outline_rect = Rect() {
                    x = x,
                    y = y - g.baseline * scale,
                    w = (g.width + 2) * scale,
                    h = (g.height + 2) * scale
                };
    
                var target_rect = Rect() {
                    x = outline_rect.x + scale,
                    y = outline_rect.y + scale,
                    w = outline_rect.w - 2 * scale,
                    h = outline_rect.h - 2 * scale
                };
    
                int res;
                if (invert) {
                    renderer.set_draw_color(fg.r, fg.g, fg.b, fg.a);
                    renderer.fill_rect(outline_rect);
                    res = renderer.copy(itexture, g.get_rect(), target_rect);
                } else {
                    renderer.set_draw_color(bg.r, bg.g, bg.b, bg.a);
                    renderer.fill_rect(outline_rect);
                    res = renderer.copy(texture, g.get_rect(), target_rect);
                }
                if (res != 0) error("%s", SDL.get_error());
    
                x += (int) outline_rect.w;
            }
        }
    
        public void render() {
            int scaled_line_diff = scale * (line_height + 2);
            clear_error();
            int e = set_clip_rect(renderer, bounds);
            if (e != 0) error("%s", SDL.get_error());
    
            int nlines = int.min((int) bounds.h / scaled_line_diff + 1, lines.length);
            int y = bounds.y + (int) bounds.h - scale * maxcharh + scale * max_baseline - 50; // mystery factor
            print(@"bounds.y: $(bounds.y) bounds.h: $(bounds.h) maxcharh: $maxcharh max_baseline: $max_baseline ystart: $y\n");
            for (int i = lines.length - 1; i >= lines.length - nlines; i--) {
                int linew = line_width(lines[i].str, i == cursor_line);
                int x;
                if (linew < bounds.w)
                    x = bounds.x;
                else
                    x = bounds.x + (int) bounds.w - linew;
    
                render_line(x, y, lines[i].str, i == cursor_line);
                y -= scaled_line_diff;
            }
    
            e = set_clip_rect(renderer, null);
            if (e != 0) error("%s", SDL.get_error());
        }
    
        public void set_colors(Color fg, Color bg) {
            print("%d\n", surface.format.palette.colors.length);
    
            // int status = surface.format.palette.set_colors({bg, fg}, 0); compiler bug?
            surface.format.palette.colors[0] = bg;
            surface.format.palette.colors[1] = fg;
            texture = Texture.create_from_surface(renderer, surface);
            surface.format.palette.colors[0] = fg;
            surface.format.palette.colors[1] = bg;
            itexture = Texture.create_from_surface(renderer, surface);
    
            this.fg = fg;
            this.bg = bg;
        }
    
        public void on_key(Input.Keycode keycode, out string? line) {
            line = null;
            switch (keycode) {
                case Input.Keycode.BACKSPACE:
                    if (lines.length > 1 && lines[cursor_line].len == 0) {
                        lines.move(cursor_line+1, cursor_line, lines.length - cursor_line - 1);
                        lines.resize(lines.length - 1);
                        --cursor_line;
                        cursor_column = (int) lines[cursor_line].len;
                    } else if (cursor_column != 0) {
                        lines[cursor_line].erase(cursor_column - 1, 1);
                        --cursor_column;
                    }
                    break;
    
                case Input.Keycode.RETURN:
                    int oldlen = lines.length;
                    lines.resize(lines.length + 1);
                    lines.move(cursor_line+1, cursor_line+2, oldlen - (cursor_line + 1));
                    lines[cursor_line + 1] = new StringBuilder(lines[cursor_line].str[cursor_column:]);
                    lines[cursor_line].truncate(cursor_column);
                    line = lines[cursor_line].str;
                    cursor_line++;
                    cursor_column = 0;
                    break;
            }
        }
    
        public void handle(SDL.Event ev, out string? line) {
            line = null;
            switch (ev.type) {
                case EventType.TEXTINPUT:
                    print("line_text %s\n", ev.text.text);
                    lines[cursor_line].insert(cursor_column, ev.text.text);
                    cursor_column += ev.text.text.length;
                    break;
                case EventType.KEYDOWN:
                    on_key(ev.key.keysym.sym, out line);
                    break;
                default:
                    break;
            }
        }
    
        public TextEditor(Renderer r) throws GLib.Error {
            renderer = r;
            max_baseline = 0;
            lines = { new StringBuilder() };
    
            var p = new Json.Parser();
            p.load_from_file("ultlf/ultlf-data/trimmed.json");
            Json.Array data = p.get_root().get_array();
            p.load_from_file("ultlf/ultlf-data/codepoints.json");
            Json.Array codepoints = p.get_root().get_array();
            p.load_from_file("ultlf/ultlf-data/trimmed_baselines.json");
            Json.Array baselines = p.get_root().get_array();
    
            int maxcharw = 0;
            maxcharh = 0;
            for (int i = 0; i < data.get_length(); i++) {
                Json.Array a = data.get_array_element(i);
                maxcharh = int.max(maxcharh, (int)a.get_length());
                for (int y = 0; y < a.get_length(); y++) {
                    string row = a.get_string_element(y);
                    maxcharw = int.max(maxcharw, row.length);
                }
            }
            print("len: %u, maxcharh: %d\n", codepoints.get_length(), maxcharh);
    
            surface = new Surface.rgb_with_format(
                (int)(maxcharw * 32),
                (int)(maxcharh * (codepoints.get_length() / 32)),
                1,
                PixelRAWFormat.INDEX1LSB
            );
    
            Posix.memset(surface.pixels, surface.pitch * surface.h, 0);
    
            print("surfw: %d, surfh: %d\n", surface.w, surface.h);
    
            for (int i = 0; i < codepoints.get_length(); i++) {
                Glyph c = Glyph(
                    data.get_array_element(i),
                    (uint8) baselines.get_int_element(i),
                    surface,
                    (i % 32) * maxcharw,
                    (i / 32) * maxcharh,
                    (unichar)codepoints.get_int_element(i)
                );
                insert((unichar) codepoints.get_int_element(i), c);
                max_baseline = int.max(max_baseline, c.baseline);
            }
    
            line_height = maxcharh + 2;
        }
    }
    
    public string[] morse_alphabet() {
        string[] retval = new string[256];
        retval['A'] = ".-";
        retval['B'] = "-...";
        retval['C'] = "-.-.";
        retval['D'] = "-..";
        retval['E'] = ".";
        retval['F'] = "..-.";
        retval['G'] = "--.";
        retval['H'] = "....";
        retval['I'] = "..";
        retval['J'] = ".---";
        retval['K'] = "-.-";
        retval['L'] = ".-..";
        retval['M'] = "--";
        retval['N'] = "-.";
        retval['O'] = "...";
        retval['P'] = ".--.";
        retval['Q'] = "--.-";
        retval['R'] = ".-.";
        retval['S'] = "...";
        retval['T'] = ".";
        retval['U'] = "..-";
        retval['V'] = "...-";
        retval['W'] = ".--";
        retval['X'] = "-..-";
        retval['Y'] = "-.--";
        retval['Z'] = "--..";
        retval['1'] = ".----";
        retval['2'] = "..---";
        retval['3'] = "...--";
        retval['4'] = "....-";
        retval['5'] = ".....";
        retval['6'] = "-....";
        retval['7'] = "--...";
        retval['8'] = "---..";
        retval['9'] = "----.";
        retval['0'] = "-----";
        return retval;
    }
    
    class MorseShow {
        public unowned Renderer r;
        public unowned MyRenderer myR; // just as about I was about to take my shoes
        public Rect bound;
    
        public void on(int delay) {
            myR.render_normal();
            r.set_draw_color(255, 255, 255, 255);
            r.fill_rect(bound);
            r.present();
            SDL.Timer.delay(100 * delay);
        }
    
        public void off(int delay) {
            myR.render_normal();
            r.set_draw_color(0, 0, 0, 255);
            r.fill_rect(bound);
            r.present();
            SDL.Timer.delay(100 * delay);
        }
    }
    
    class MyRenderer {
        private TextEditor tr;
        private MorseShow morseShow;
        private unowned Renderer renderer;
        private unowned Window window;
        private string morse_line;
        private string[] alphabet;
    
        public MyRenderer(Window w, Renderer r) throws GLib.Error {
            alphabet = morse_alphabet();
            window = w;
            renderer = r;
            morseShow = new MorseShow();
            morseShow.r = r;
            morseShow.myR = this;
            tr = new TextEditor(r);
            tr.set_colors(
                Color() { r = 255, g = 255, b = 255, a = 255 },
                Color() { r = 0, g = 0, b = 0, a = 0 }
            );
            tr.scale = 10;
        }
    
        public void on_event(Event ev) {
            morse_line = null;
            tr.handle(ev, out morse_line);
            render();
        }
    
        public void render_normal() {
            int winw, winh;
            window.get_size(out winw, out winh);
            renderer.set_draw_color(0, 0, 0, 255);
            renderer.clear();
            tr.bounds = Rect() { x = 0, y = 0, w = winw, h = winh - 100 };
            tr.render();
        }
    
        public void render() {
            render_normal();
            renderer.present();
            if (morse_line != null) {
                int winw, winh;
                window.get_size(out winw, out winh);
                morseShow.bound = Rect() { x = 0, y = winh - 100, w = 100, h = 100 };
                int index = 0;
                unichar codepoint;
                while (morse_line.get_next_char(ref index, out codepoint)) {
                    if (codepoint == ' ') {
                        morseShow.off(7);
                        continue;
                    }
                    string? a = alphabet[codepoint.toupper()];
                    if (a == null) continue;
    
                    for (int i = 0; i < a.length; i++) {
                        switch (a[i]) {
                            case '.':
                                morseShow.on(1);
                                break;
                            case '-':
                                morseShow.on(3);
                                break;
                        }
                        morseShow.off(3);
                    }
                }
            }
        }
    }
    
    void main() {
        SDL.init();
        var win = new Window("sitelen Mosu", 0, 0, 400, 400, WindowFlags.RESIZABLE);
        GL.set_attribute(GL.Attributes.CONTEXT_MAJOR_VERSION, 3);
        GL.set_attribute(GL.Attributes.CONTEXT_MINOR_VERSION, 2);
        GL.set_attribute(GL.Attributes.CONTEXT_PROFILE_MASK, GL.ProfileType.CORE);
        var renderer = Renderer.create(win, -1, RendererFlags.ACCELERATED);
        if (renderer == null) {
            printerr("Error initializing SDL renderer");
            return;
        }
    
        MyRenderer myRenderer;
        try {
            myRenderer = new MyRenderer(win, renderer);
        } catch (GLib.Error e) {
            printerr(e.message);
            return;
        }
    
        Event ev;
        while (Event.wait(out ev) != 0 && ev.type != QUIT) {
            myRenderer.on_event(ev);
            // Rect r = g.get_rect();
            // print(@"x: $(r.x) y: $(r.y) w: $(r.w) h: $(r.h) gx: $(g.x) rcp: $(g.c)\n");
            // Glyph? g = tr.lookup(codepoint);
            // renderer.copy(tr.texture, g.get_rect(), null);
        }
        SDL.quit();
    }
    

    entry #4

    written by Dolphy
    submitted at
    1 like

    guesses
    comments 0

    post a comment


    girlcoc.k ASCII text
    1
    2
    3
    input: _"input goes here"
    morse: ("a";"b";"c";"d";"e";"f";"g";"h";"i";"j";"k";"l";"m";"n";"o";"p";"q";"r";"s";"t";"u";"v";"w";"x";"y";"z";" ")!(".-";"-...";"-.-.";"-..";".";"..-.";"--.";"....";"..";".---";"-.-";".-..";"--";"-.";"---";".--.";"--.-";".-.";"...";"-";"..-";"...-";".--";"-..-";"-.--";"--..";"/")
    ` 0:" "/morse @ input
    

    entry #5

    written by kimapr
    submitted at
    2 likes

    guesses
    comments 1
    kimapr known at the time as [cg's #5] ¶

    extra details: set the frequency to 48000 to avoid distortion change the value twelve in the code to try out different tempos


    post a comment


    entry.js Unicode text, UTF-8 text
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    // You can try this online at https://bytebeat.ficial.net/
    // Use Funcbeat playback mode
    
    str="Hello, World!"; // <-- your data here
    
    t=[["A",".-"],["B","-..."],["C","-.-."],["D","-.."],["E","."],
    ["F","..-."],["G","--."],["H","...."],["I",".."],["J",".---"],
    ["K","-.-"],["L",".-.."],["M","--"],["N","-."],["O","---"],
    ["P",".--."],["Q","--.-"],["R",".-."],["S","..."],["T","-"],
    ["U","..-"],["V","...-"],["W",".--"],["X","-..-"],["Y","-.--"],
    ["Z","--.."],["0","-----"],["1",".----"],["2","..---"],
    ["3","...--"],["4","....-"],["5","....."],["6","-...."],
    ["7","--..."],["8","---.."],["9","----."],["&",".-..."],
    ["'",".----."],["@",".--.-."],[")","-.--.-"],["(","-.--."],
    [":","---..."],[",","--..--"],["=","-...-"],["!","-.-.--"],
    [".",".-.-.-"],["-","-....-"],["×","-..-"],["x","-..-"],
    ["%","------..-.-----"],["+",".-.-."],['"',".-..-."],
    ["?","..--.."],["/","-..-."],["\n",".-.-"],[" "," "]];
    t=Object.fromEntries(t.map(([k,v])=>[k,[...v]
    .map(c=>(({'-':'111','.':'1',' ':'0'})[c])).join('0')]));
    l=[...str.toUpperCase()].map(c=>t[c]).join('000');
    return (T,f)=>(d=1/16,i=T*12+d/2,p=min(1,(i)%1/d),
    ((+(l[int(i)-1]??0))*(1-p)+(+(l[int(i)]??0))*(p))
    *(sin(T*440*PI*2)*0.5))
    

    entry #6

    written by oleander
    submitted at
    0 likes

    guesses
    comments 1
    Palaioethos ¶

    chime


    post a comment


    cg80.jl ASCII text, with very long lines (887)
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    morse = Dict('A'=>".-",'B'=>"-...",'C'=>"-.-.",'D'=>"-..",'E'=>".",'F'=>"..-.",'G'=>"--.",'H'=>"....",'I'=>"..",'J'=>".---",'K'=>"-.-",'L'=>".-..",'M'=>"--",'N'=>"-.",'O'=>"---",'P'=>".--.",'Q'=>"--.-",'R'=>".-.",'S'=>"...",'T'=>"-",'U'=>"..-",'V'=>"...-",'W'=>".--",'X'=>"-..-",'Y'=>"-.--",'Z'=>"--..",'a'=>".-",'b'=>"-...",'c'=>"-.-.",'d'=>"-..",'e'=>".",'f'=>"..-.",'g'=>"--.",'h'=>"....",'i'=>"..",'j'=>".---",'k'=>"-.-",'l'=>".-..",'m'=>"--",'n'=>"-.",'o'=>"---",'p'=>".--.",'q'=>"--.-",'r'=>".-.",'s'=>"...",'t'=>"-",'u'=>"..-",'v'=>"...-",'w'=>".--",'x'=>"-..-",'y'=>"-.--",'z'=>"--..",'0'=>"-----",'1'=>".----",'2'=>"..---",'3'=>"...--",'4'=>"....-",'5'=>".....",'6'=>"-....",'7'=>"--...",'8'=>"---..",'9'=>"----.",'.'=>".-.-.-",','=>"--..--",':'=>"---...",';'=>"-.-.-.",'?'=>"..--..",'\''=>".----.",'!'=>"-.-.--",'('=>"-.--.",')'=>"-.--.-",'/'=>"-..-.",'-'=>"-....-",' '=>"  ",)
    println("Enter your message:")
    message = readline()
    translated = ""
    for i in message
    	global translated *= (get(morse, i, "") * " ")
    end
    println(translated)
    for i in translated
    	if i == '.'
    		println(".\007")
    		sleep(.25)
    	elseif i == '-'
    		println("-\007")
    		sleep(.75)
    	elseif i == ' '
    		sleep(1)
    	end
    end
    

    entry #7

    written by soup girl
    submitted at
    0 likes

    guesses
    comments 0

    post a comment


    entry.rkt ASCII text, with very long lines (55813)
    1
    ...... .-.. .- -. --. / .-. .- -.-. -.- . - / -.--. -.--. .-.. .- -- -... -.. .- / -.--. -... -.--.- / -.--. . ...- .- .-.. / -.--. .-. . .- -.. / -.--. --- .--. . -. -....- .. -. .--. ..- - -....- -... -.-- - . ... / -... -.--.- -.--.- / -.--. -- .- -.- . -....- -... .- ... . -....- -. .- -- . ... .--. .- -.-. . -.--.- -.--.- -.--.- / -.--. -... -.-- - . ... / ..... ----. / ...-- ..--- / ....- --... / ....- --... / ...-- ..--- / -.... --... / .---- .---- .---- / .---- ----- ----- / .---- ----- .---- / ...-- ..--- / ----. ---.. / .---- ..--- .---- / ...-- ..--- / ---.. ...-- / .---- .---- .---- / .---- .---- --... / .---- .---- ----- / .---- ----- ----- / --... ----. / .---- ----- ..--- / ---.. ...-- / .---- .---- ..--- / .---- .---- .---- / .---- .---- --... / .---- .---- -.... / .---- ----- ..... / .---- .---- ----- / .---- ----- ...-- / ...-- ..... / ..... ....- / ..... --... / ..... -.... / ....- ---.. / ...-- ..--- / ....- ----- / ---.. ..... / --... ...-- / -.... ---.. / ..... ---.. / ...-- ..--- / ....- ----. / ..... ...-- / ....- ----. / ....- ----. / ..... ..--- / ..... --... / ....- ----. / ..... ..--- / ..... -.... / ..... ....- / ..... .---- / ..... --... / ..... .---- / ..... .---- / ....- ---.. / ..... .---- / ....- ---.. / ..... ..--- / ....- .---- / .---- ----- / .---- ----- / ....- ----- / ----. ---.. / .---- ----- .---- / .---- ----- ...-- / .---- ----- ..... / .---- .---- ----- / .---- ----- / ...-- ..--- / ...-- ..--- / ....- ----- / .---- ----- ----- / .---- ----- .---- / .---- ----- ..--- / .---- ----- ..... / .---- .---- ----- / .---- ----- .---- / ...-- ..--- / ....- ----- / .---- .---- ..... / ----. --... / .---- ..--- .---- / ...-- ..--- / .---- ----- ...-- / .---- ----- .---- / .---- ..--- ----- / ....- .---- / ...-- ..--- / ....- ----- / .---- ----- ----- / .---- ----- ..... / .---- .---- ..... / .---- .---- ..--- / .---- ----- ---.. / ----. --... / .---- ..--- .---- / ...-- ..--- / .---- ----- ...-- / .---- ----- .---- / .---- ..--- ----- / ....- .---- / ...-- ..--- / ....- ----- / .---- ----- ..--- / .---- ----- ---.. / .---- .---- --... / .---- .---- ..... / .---- ----- ....- / ....- ..... / .---- .---- .---- / .---- .---- --... / .---- .---- -.... / .---- .---- ..--- / .---- .---- --... / .---- .---- -.... / ....- .---- / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ....- ----- / .---- ----- ----- / .---- ----- .---- / .---- ----- ..--- / .---- ----- ..... / .---- .---- ----- / .---- ----- .---- / ...-- ..--- / ....- ----- / .---- .---- ----. / ----. --... / .---- ----- ..... / .---- .---- -.... / ....- .---- / ...-- ..--- / ....- ----- / .---- .---- ..... / .---- ----- ---.. / .---- ----- .---- / .---- ----- .---- / .---- .---- ..--- / ...-- ..--- / ....- ---.. / ....- -.... / ....- ----. / ....- .---- / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ....- ----- / .---- ----- ----- / .---- ----- .---- / .---- ----- ..--- / .---- ----- ..... / .---- .---- ----- / .---- ----- .---- / ...-- ..--- / ....- ----- / .---- .---- .---- / .---- .---- ----- / ....- .---- / ...-- ..--- / ....- ----- / .---- .---- ..... / ----. --... / .---- ..--- .---- / ...-- ..--- / ...-- ....- / ----. ..--- / ----. ---.. / ....- -.... / ...-- ....- / ....- .---- / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ....- ----- / .---- ----- ----- / .---- ----- .---- / .---- ----- ..--- / .---- ----- ..... / .---- .---- ----- / .---- ----- .---- / ...-- ..--- / ....- ----- / .---- .---- .---- / .---- ----- ..--- / .---- ----- ..--- / ....- .---- / ...-- ..--- / ....- ----- / .---- .---- ..... / ----. --... / .---- ..--- .---- / ...-- ..--- / ...-- ....- / ----. ..--- / ----. ---.. / ...-- ..--- / ...-- ....- / ....- .---- / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ....- ----- / .---- ----- ----- / .---- ----- .---- / .---- ----- ..--- / .---- ----- ..... / .---- .---- ----- / .---- ----- .---- / ...-- ..--- / ....- ----- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / ...-- ..--- / ....- ----- / .---- .---- .---- / .---- .---- ----- / ....- .---- / ...-- ..--- / ....- ----- / .---- .---- ----. / ----. --... / .---- ----- ..... / .---- .---- -.... / ....- .---- / ...-- ..--- / ....- ----- / .---- .---- .---- / .---- ----- ..--- / .---- ----- ..--- / ....- .---- / ...-- ..--- / ....- ----- / .---- .---- ----. / ----. --... / .---- ----- ..... / .---- .---- -.... / ....- .---- / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ....- ----- / .---- ----- ----- / .---- ----- .---- / .---- ----- ..--- / .---- ----- ..... / .---- .---- ----- / .---- ----- .---- / ...-- ..--- / ....- ----- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- .---- / ...-- ..--- / ....- ----- / .---- .---- .---- / .---- .---- ----- / ....- .---- / ...-- ..--- / ....- ----- / .---- .---- ----. / ----. --... / .---- ----- ..... / .---- .---- -.... / ....- .---- / ...-- ..--- / ....- ----- / .---- .---- ----. / ----. --... / .---- ----- ..... / .---- .---- -.... / ....- .---- / ...-- ..--- / ....- ----- / .---- .---- ----. / ----. --... / .---- ----- ..... / .---- .---- -.... / ....- .---- / ...-- ..--- / ....- ----- / .---- .---- .---- / .---- ----- ..--- / .---- ----- ..--- / ....- .---- / ...-- ..--- / ....- ----- / .---- .---- ----. / ----. --... / .---- ----- ..... / .---- .---- -.... / ....- .---- / ....- .---- / .---- ----- / .---- ----- / ...-- ..--- / ...-- ..--- / ....- ----- / .---- ----- ----- / .---- ----- .---- / .---- ----- ..--- / .---- ----- ..... / .---- .---- ----- / .---- ----- .---- / ...-- ..--- / .---- ----- ----. / .---- .---- .---- / .---- .---- ....- / .---- .---- ..... / .---- ----- .---- / ...-- ..--- / ....- ----- / .---- ----- ----. / ----. --... / .---- ----- --... / .---- ----- .---- / ....- ..... / .---- ----- ....- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- .---- / ....- .---- / .---- ----- / .---- ----- / ...-- ..--- / ...-- ..--- / ....- ----- / .---- ----- ----- / .---- ----- .---- / .---- ----- ..--- / .---- ----- ..... / .---- .---- ----- / .---- ----- .---- / ....- ..... / .---- .---- ..... / .---- ..--- .---- / .---- .---- ----- / .---- .---- -.... / ----. --... / .---- ..--- ----- / ....- ..... / .---- .---- ....- / .---- .---- --... / .---- ----- ---.. / .---- ----- .---- / ...-- ..--- / ....- ----- / .---- ----- ----- / .---- ----- .---- / .---- ----- ..--- / .---- ----- ..... / .---- .---- ----- / .---- ----- .---- / ....- ..... / .---- ----- ----. / .---- .---- .---- / .---- .---- ....- / .---- .---- ..... / .---- ----- .---- / ...-- ..--- / ....- ----- / .---- ----- --... / .---- ----- .---- / .---- ..--- .---- / ...-- ..--- / ----. ----. / .---- .---- .---- / .---- ----- ----- / .---- ----- .---- / ...-- ..--- / ....- -.... / ....- -.... / ....- -.... / ....- .---- / ...-- ..--- / ....- -.... / ....- -.... / ....- -.... / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ----. ---.. / .---- ----- .---- / .---- ----- ...-- / .---- ----- ..... / .---- .---- ----- / ...-- ..--- / ....- ----- / .---- ----- ....- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- ..... / .---- .---- ..... / .---- ----- .---- / .---- .---- -.... / ...-- ...-- / ...-- ..--- / .---- ----- ----. / .---- .---- .---- / .---- .---- ....- / .---- .---- ..... / .---- ----- .---- / ...-- ..--- / .---- ----- --... / .---- ----- .---- / .---- ..--- .---- / ...-- ..--- / ....- ----- / .---- ----- ---.. / ----. --... / .---- ----- ----. / ----. ---.. / .---- ----- ----- / ----. --... / ...-- ..--- / ....- ----- / ....- .---- / ...-- ..--- / ....- ----- / ----. ----. / .---- .---- .---- / .---- ----- ----- / .---- ----- .---- / ....- .---- / ...-- ..--- / ....- -.... / ....- -.... / ....- -.... / ...-- ..--- / ....- ----- / .---- .---- ----. / ----. --... / .---- ----- ..... / .---- .---- -.... / ....- .---- / ...-- ..--- / ....- ----- / .---- .---- ----. / ----. --... / .---- ----- ..... / .---- .---- -.... / ....- .---- / ....- .---- / ....- .---- / ...-- ..--- / ....- -.... / ....- -.... / ....- -.... / ....- .---- / ....- .---- / .---- ----- / .---- ----- / ...-- ..--- / ...-- ..--- / ....- ----- / .---- ----- ----- / .---- ----- .---- / .---- ----- ..--- / .---- ----- ..... / .---- .---- ----- / .---- ----- .---- / ....- ..... / .---- ----- ----. / .---- .---- .---- / .---- .---- ....- / .---- .---- ..... / .---- ----- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / ----. --... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- .---- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / -.... ..... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / ----. ---.. / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / -.... -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / ----. ----. / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / -.... --... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / .---- ----- ----- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / -.... ---.. / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / .---- ----- .---- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / -.... ----. / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / .---- ----- ..--- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / --... ----- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / .---- ----- ...-- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / --... .---- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / --... ..--- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / .---- ----- ..... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / --... ...-- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / .---- ----- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- .---- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / --... ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / .---- ----- --... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- .---- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / --... ..... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / .---- ----- ---.. / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / --... -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / .---- ----- ----. / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- .---- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / --... --... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / .---- .---- ----- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / --... ---.. / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / .---- .---- .---- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- .---- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / --... ----. / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / .---- .---- ..--- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / ---.. ----- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / .---- .---- ...-- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- .---- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / ---.. .---- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / .---- .---- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / ---.. ..--- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / .---- .---- ..... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / ---.. ...-- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- .---- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / ---.. ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / .---- .---- --... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- .---- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / ---.. ..... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / .---- .---- ---.. / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- .---- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / ---.. -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / .---- .---- ----. / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- .---- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / ---.. --... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / .---- ..--- ----- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- .---- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / ---.. ---.. / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / .---- ..--- .---- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- .---- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / ---.. ----. / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / .---- ..--- ..--- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / ----. ----- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / ....- ---.. / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- .---- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / ....- ----. / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / ..... ----- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- .---- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / ..... .---- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / ..... ..--- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- .---- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / ..... ...-- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / ..... ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / ..... ..... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / ..... -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / ..... --... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / ...-- ---.. / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / ...-- ----. / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / -.... ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / ....- ----- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / ....- .---- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- .---- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / ..... ---.. / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / ....- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- .---- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / -.... .---- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / ...-- ...-- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- .---- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / ....- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / ....- ..... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- .---- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / ....- ...-- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / ...-- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / -.... ...-- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / ....- --... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ....- .---- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / ...-- ..--- / ...-- ..--- / .---- .---- ----. / ----. --... / .---- ----- ..... / .---- .---- -.... / ...-- ..--- / .---- .---- ----. / ----. --... / .---- ----- ..... / .---- .---- -.... / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / ...-- ..... / ----. ..--- / ...-- --... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / .---- .---- .---- / .---- .---- -.... / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ...-- ..--- / .---- ----- ----- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- .---- / ....- .---- / .---- ----- / .---- ----- / ...-- ..--- / ...-- ..--- / ....- ----- / .---- ----- ----- / .---- ----- .---- / .---- ----- ..--- / .---- ----- ..... / .---- .---- ----- / .---- ----- .---- / ...-- ..--- / ....- ----- / .---- .---- -.... / .---- .---- ....- / ----. --... / .---- .---- ----- / .---- .---- ..... / .---- ----- ----. / .---- ----- ..... / .---- .---- -.... / ...-- ..--- / .---- ----- ----. / .---- .---- ..... / .---- ----- ...-- / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / .---- .---- ..... / ----. --... / .---- ..--- .---- / ...-- ..--- / ...-- ....- / ---.. ....- / .---- .---- ....- / ----. --... / .---- .---- ----- / .---- .---- ..... / .---- ----- ---.. / ----. --... / .---- .---- -.... / .---- ----- ..... / .---- .---- ----- / .---- ----- ...-- / ...-- ....- / ....- .---- / ...-- ..--- / ....- ----- / .---- .---- ..... / .---- ----- ---.. / .---- ----- .---- / .---- ----- .---- / .---- .---- ..--- / ...-- ..--- / ....- ---.. / ....- -.... / ..... ...-- / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / .---- .---- ..... / ----. --... / .---- ..--- .---- / ...-- ..--- / ...-- ....- / ....- -.... / ...-- ....- / ....- .---- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / .---- .---- ..... / .---- ----- ---.. / .---- ----- .---- / .---- ----- .---- / .---- .---- ..--- / ...-- ..--- / ....- ---.. / ....- -.... / ..... ...-- / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / .---- .---- ..... / ----. --... / .---- ..--- .---- / ...-- ..--- / ...-- ....- / ....- -.... / ...-- ....- / ....- .---- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / .---- .---- ..... / .---- ----- ---.. / .---- ----- .---- / .---- ----- .---- / .---- .---- ..--- / ...-- ..--- / ....- ---.. / ....- -.... / ..... ...-- / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / .---- .---- ..... / ----. --... / .---- ..--- .---- / ...-- ..--- / ...-- ....- / ...-- ..--- / ...-- ....- / ....- .---- / ...-- ..--- / ....- ----- / .---- ----- ..--- / .---- .---- .---- / .---- .---- ....- / ...-- ..--- / ....- ----- / ----. .---- / ----. ----. / ...-- ..--- / ....- ----- / .---- .---- ..... / .---- .---- -.... / .---- .---- ....- / .---- ----- ..... / .---- .---- ----- / .---- ----- ...-- / ....- ..... / -.... ..--- / .---- ----- ---.. / .---- ----- ..... / .---- .---- ..... / .---- .---- -.... / ...-- ..--- / .---- ----- ----. / .---- .---- ..... / .---- ----- ...-- / ....- .---- / ----. ...-- / ....- .---- / ...-- ..--- / ....- ----- / ....- ----- / .---- ----- ....- / ----. --... / .---- .---- ..... / .---- ----- ....- / ....- ..... / .---- .---- ....- / .---- ----- .---- / .---- ----- ..--- / ...-- ..--- / .---- ----- ----. / .---- .---- .---- / .---- .---- ....- / .---- .---- ..... / .---- ----- .---- / ...-- ..--- / ----. ----. / ....- .---- / ....- .---- / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / .---- .---- ..... / .---- ----- ---.. / .---- ----- .---- / .---- ----- .---- / .---- .---- ..--- / ...-- ..--- / ....- ---.. / ....- -.... / ..... ..--- / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / .---- .---- .---- / .---- .---- ----- / ....- .---- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / .---- .---- ..... / .---- ----- ---.. / .---- ----- .---- / .---- ----- .---- / .---- .---- ..--- / ...-- ..--- / ....- ---.. / ....- -.... / ..... ...-- / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / .---- .---- ..... / ----. --... / .---- ..--- .---- / ...-- ..--- / ...-- ....- / -.... ---.. / .---- .---- .---- / .---- .---- ----- / .---- ----- .---- / ...-- ...-- / ...-- ....- / ....- .---- / ...-- ..--- / ....- ----- / .---- .---- ----- / .---- ----- .---- / .---- .---- ----. / .---- ----- ---.. / .---- ----- ..... / .---- .---- ----- / .---- ----- .---- / ....- .---- / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / .---- ----- / ...-- ..--- / ...-- ..--- / ....- ----- / .---- .---- -.... / .---- .---- ....- / ----. --... / .---- .---- ----- / .---- .---- ..... / .---- ----- ----. / .---- ----- ..... / .---- .---- -.... / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / .---- ----- ..--- / .---- .---- .---- / .---- ----- ---.. / .---- ----- ----- / .---- .---- ....- / ...-- ..--- / ....- ----- / .---- ----- ---.. / ----. --... / .---- ----- ----. / ----. ---.. / .---- ----- ----- / ----. --... / ...-- ..--- / ....- ----- / .---- .---- ---.. / ...-- ..--- / .---- ----- ---.. / ....- .---- / ...-- ..--- / ....- ----- / .---- .---- ..... / .---- .---- -.... / .---- .---- ....- / .---- ----- ..... / .---- .---- ----- / .---- ----- ...-- / ....- ..... / ----. --... / .---- .---- ..--- / .---- .---- ..--- / .---- ----- .---- / .---- .---- ----- / .---- ----- ----- / ...-- ..--- / .---- .---- ---.. / ...-- ..--- / ...-- ....- / ...-- ..--- / ...-- ....- / ...-- ..--- / .---- ----- ---.. / ....- .---- / ....- .---- / ...-- ..--- / ...-- ....- / ...-- ....- / .---- ----- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ...-- ..--- / ....- ----- / .---- .---- ---.. / .---- ----- .---- / ----. ----. / .---- .---- -.... / .---- .---- .---- / .---- .---- ....- / ....- ..... / -.... ..--- / .---- ----- ---.. / .---- ----- ..... / .---- .---- ..... / .---- .---- -.... / ...-- ..--- / ....- ----- / ----. ----. / .---- .---- --... / .---- .---- ....- / .---- .---- ....- / .---- ----- .---- / .---- .---- ----- / .---- .---- -.... / ....- ..... / ----. ----. / .---- .---- .---- / .---- ----- ----. / .---- ----- ----. / ----. --... / .---- .---- ----- / .---- ----- ----- / ....- ..... / .---- ----- ---.. / .---- ----- ..... / .---- .---- ----- / .---- ----- .---- / ....- ..... / ----. --... / .---- .---- ....- / .---- ----- ...-- / .---- .---- --... / .---- ----- ----. / .---- ----- .---- / .---- .---- ----- / .---- .---- -.... / .---- .---- ..... / ....- .---- / ....- .---- / ....- .---- / ....- .---- / .---- ----- / ...-- ..--- / ...-- ..--- / ....- .---- / .---- ----- -.--.- -.--.-
    
    readme.macron ASCII text
    1
    -- ..- ... - / -... . / .-.. --- .-- . .-. -.-. .- ... . / --- -... ...- .. --- ..- ... .-.. -.-- .-.-.- / - .-. .- -. ... .-.. .- - . ... / -.-. --- -- -- .- -. -.. / .-.. .. -. . / .- .-. --. ... .-.-.-
    

    entry #8

    written by yeti
    submitted at
    1 like

    guesses
    comments 0

    post a comment


    morse code.nv ASCII text
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    |:input: A|    :input: a
    |:input: B|    :input: b
    |:input: C|    :input: c
    |:input: D|    :input: d
    |:input: E|    :input: e
    |:input: F|    :input: f
    |:input: G|    :input: g
    |:input: H|    :input: h
    |:input: I|    :input: i
    |:input: J|    :input: j
    |:input: K|    :input: k
    |:input: L|    :input: l
    |:input: M|    :input: m
    |:input: N|    :input: n
    |:input: O|    :input: o
    |:input: P|    :input: p
    |:input: Q|    :input: q
    |:input: R|    :input: r
    |:input: S|    :input: s
    |:input: T|    :input: t
    |:input: U|    :input: u
    |:input: V|    :input: v
    |:input: W|    :input: w
    |:input: X|    :input: x
    |:input: Y|    :input: y
    |:input: Z|    :input: z
    |:input: a|    :: write ".- "
    |:input: b|    :: write "-... "
    |:input: c|    :: write "-.-. "
    |:input: d|    :: write "-.. "
    |:input: e|    :: write ". "
    |:input: f|    :: write "..-. "
    |:input: g|    :: write "--. "
    |:input: h|    :: write ".... "
    |:input: i|    :: write ".. "
    |:input: j|    :: write ".--- "
    |:input: k|    :: write "-.- "
    |:input: l|    :: write ".-.. "
    |:input: m|    :: write "-- "
    |:input: n|    :: write "-. "
    |:input: o|    :: write "--- "
    |:input: p|    :: write ".--. "
    |:input: q|    :: write "--.- "
    |:input: r|    :: write ".-. "
    |:input: s|    :: write "... "
    |:input: t|    :: write "- "
    |:input: u|    :: write "..- "
    |:input: v|    :: write "...- "
    |:input: w|    :: write ".-- "
    |:input: x|    :: write "-..- "
    |:input: y|    :: write "-.-- "
    |:input: z|    :: write "--.. "
    |:input: "\n"| :: write "\n"
    |:input: $ch|  :: write ??
    ||             :: input to input
    

    entry #9

    written by LyricLy
    submitted at
    0 likes

    guesses
    comments 0

    post a comment


    original.rb ASCII text
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    # yay, 777!
    print ARGF.read.downcase.chars.join(' ').gsub(/   |[^\n ]/,
        'a' => '.-',
        'b' => '-...',
        'c' => '-.-.',
        'd' => '-..',
        'e' => '.',
        'f' => '..-.',
        'g' => '--.',
        'h' => '....',
        'i' => '..',
        'j' => '.---',
        'k' => '-.-',
        'l' => '.-..',
        'm' => '--',
        'n' => '-.',
        'o' => '---',
        'p' => '.--.',
        'q' => '--.-',
        'r' => '.-.',
        's' => '...',
        't' => '-',
        'u' => '..-',
        'v' => '...-',
        'w' => '.--',
        'x' => '-..-',
        'y' => '-.--',
        'z' => '--..',
        '0' => '-----',
        '1' => '.----',
        '2' => '..---',
        '3' => '...--',
        '4' => '....-',
        '5' => '.....',
        '6' => '-....',
        '7' => '--...',
        '8' => '---..',
        '9' => '----.',
        '   ' => ' / '
    ).squeeze(" ")