| line | stmt | bran | cond | sub | pod | time | code | 
| 1 |  |  |  |  |  |  | package App::Followme::Initialize; | 
| 2 | 2 |  |  | 2 |  | 1301 | use 5.008005; | 
|  | 2 |  |  |  |  | 19 |  | 
| 3 | 2 |  |  | 2 |  | 16 | use strict; | 
|  | 2 |  |  |  |  | 4 |  | 
|  | 2 |  |  |  |  | 75 |  | 
| 4 | 2 |  |  | 2 |  | 29 | use warnings; | 
|  | 2 |  |  |  |  | 5 |  | 
|  | 2 |  |  |  |  | 59 |  | 
| 5 | 2 |  |  | 2 |  | 10 | use lib '../..'; | 
|  | 2 |  |  |  |  | 9 |  | 
|  | 2 |  |  |  |  | 14 |  | 
| 6 |  |  |  |  |  |  |  | 
| 7 | 2 |  |  | 2 |  | 351 | use IO::File; | 
|  | 2 |  |  |  |  | 4 |  | 
|  | 2 |  |  |  |  | 341 |  | 
| 8 | 2 |  |  | 2 |  | 1097 | use MIME::Base64  qw(decode_base64); | 
|  | 2 |  |  |  |  | 1370 |  | 
|  | 2 |  |  |  |  | 128 |  | 
| 9 | 2 |  |  | 2 |  | 14 | use File::Spec::Functions qw(splitdir catfile); | 
|  | 2 |  |  |  |  | 5 |  | 
|  | 2 |  |  |  |  | 306 |  | 
| 10 |  |  |  |  |  |  |  | 
| 11 | 2 |  |  | 2 |  | 16 | use App::Followme::FIO; | 
|  | 2 |  |  |  |  | 4 |  | 
|  | 2 |  |  |  |  | 168 |  | 
| 12 | 2 |  |  | 2 |  | 506 | use App::Followme::NestedText; | 
|  | 2 |  |  |  |  | 4 |  | 
|  | 2 |  |  |  |  | 251 |  | 
| 13 |  |  |  |  |  |  |  | 
| 14 |  |  |  |  |  |  | our $VERSION = "2.03"; | 
| 15 |  |  |  |  |  |  |  | 
| 16 |  |  |  |  |  |  | require Exporter; | 
| 17 |  |  |  |  |  |  | our @ISA = qw(Exporter); | 
| 18 |  |  |  |  |  |  | our @EXPORT_OK = qw(initialize); | 
| 19 |  |  |  |  |  |  |  | 
| 20 |  |  |  |  |  |  | our $var = {}; | 
| 21 | 2 |  |  | 2 |  | 24 | use constant CMD_PREFIX => '#>>>'; | 
|  | 2 |  |  |  |  | 5 |  | 
|  | 2 |  |  |  |  | 2323 |  | 
| 22 |  |  |  |  |  |  |  | 
| 23 |  |  |  |  |  |  | #---------------------------------------------------------------------- | 
| 24 |  |  |  |  |  |  | # Initialize a new web site | 
| 25 |  |  |  |  |  |  |  | 
| 26 |  |  |  |  |  |  | sub initialize { | 
| 27 | 1 |  |  | 1 | 0 | 684 | my ($directory) = @_; | 
| 28 |  |  |  |  |  |  |  | 
| 29 | 1 | 50 |  |  |  | 12 | chdir($directory) if defined $directory; | 
| 30 | 1 |  |  |  |  | 3 | my ($read, $unread) = data_readers(); | 
| 31 |  |  |  |  |  |  |  | 
| 32 | 1 |  |  |  |  | 3 | while (my ($command, $lines) = next_command($read, $unread)) { | 
| 33 | 14 |  |  |  |  | 46 | my @args = split(' ', $command); | 
| 34 | 14 |  |  |  |  | 25 | my $cmd = shift @args; | 
| 35 |  |  |  |  |  |  |  | 
| 36 | 14 | 50 | 33 |  |  | 64 | write_error("Missing lines after command", $command) | 
| 37 |  |  |  |  |  |  | if $cmd eq 'copy' && @$lines == 0; | 
| 38 |  |  |  |  |  |  |  | 
| 39 | 14 | 50 | 33 |  |  | 30 | write_error("Unexpected lines after command", $command) | 
| 40 |  |  |  |  |  |  | if $cmd ne 'copy' && @$lines > 0; | 
| 41 |  |  |  |  |  |  |  | 
| 42 | 14 | 50 |  |  |  | 25 | if ($cmd  eq 'copy') { | 
| 43 | 14 |  |  |  |  | 28 | write_file($lines, @args); | 
| 44 |  |  |  |  |  |  |  | 
| 45 |  |  |  |  |  |  | } else { | 
| 46 | 0 |  |  |  |  | 0 | write_error("Error in command name", $command); | 
| 47 |  |  |  |  |  |  | } | 
| 48 |  |  |  |  |  |  | } | 
| 49 |  |  |  |  |  |  |  | 
| 50 | 1 |  |  |  |  | 8 | return; | 
| 51 |  |  |  |  |  |  | } | 
| 52 |  |  |  |  |  |  |  | 
| 53 |  |  |  |  |  |  | #---------------------------------------------------------------------- | 
| 54 |  |  |  |  |  |  | # Copy a binary file | 
| 55 |  |  |  |  |  |  |  | 
| 56 |  |  |  |  |  |  | sub copy_binary { | 
| 57 | 2 |  |  | 2 | 0 | 7 | my($file, $lines, @args) = @_; | 
| 58 | 2 | 50 |  |  |  | 61 | return if -e $file; | 
| 59 |  |  |  |  |  |  |  | 
| 60 | 2 | 50 |  |  |  | 19 | my $out = IO::File->new($file, 'w') or die "Couldn't write $file: $!\n"; | 
| 61 | 2 |  |  |  |  | 329 | binmode($out); | 
| 62 |  |  |  |  |  |  |  | 
| 63 | 2 |  |  |  |  | 5 | foreach my $line (@$lines) { | 
| 64 | 150 |  |  |  |  | 381 | print $out decode_base64($line); | 
| 65 |  |  |  |  |  |  | } | 
| 66 |  |  |  |  |  |  |  | 
| 67 | 2 |  |  |  |  | 59 | close($out); | 
| 68 | 2 |  |  |  |  | 13 | return; | 
| 69 |  |  |  |  |  |  | } | 
| 70 |  |  |  |  |  |  |  | 
| 71 |  |  |  |  |  |  | #---------------------------------------------------------------------- | 
| 72 |  |  |  |  |  |  | # Copy a configuration file | 
| 73 |  |  |  |  |  |  |  | 
| 74 |  |  |  |  |  |  | sub copy_configuration { | 
| 75 | 2 |  |  | 2 | 0 | 5 | my ($file, $lines, @args) = @_; | 
| 76 |  |  |  |  |  |  |  | 
| 77 | 2 |  |  |  |  | 3 | my $config; | 
| 78 | 2 |  |  |  |  | 13 | my %old_config = nt_parse_almost_yaml_string(join('', @$lines)); | 
| 79 |  |  |  |  |  |  |  | 
| 80 | 2 | 100 |  |  |  | 47 | if (-e $file) { | 
| 81 | 1 |  |  |  |  | 6 | my $page = fio_read_page($file); | 
| 82 |  |  |  |  |  |  |  | 
| 83 | 1 | 50 |  |  |  | 7 | if ($page =~ /:[ \n]/) { | 
| 84 | 1 |  |  |  |  | 11 | my %new_config = nt_parse_almost_yaml_string($page); | 
| 85 | 1 |  |  |  |  | 6 | $config = nt_merge_items(\%old_config, \%new_config); | 
| 86 |  |  |  |  |  |  |  | 
| 87 |  |  |  |  |  |  | } else { | 
| 88 | 0 |  |  |  |  | 0 | my $new_file = $file; | 
| 89 | 0 |  |  |  |  | 0 | $new_file =~ s/\.*$/ocfg/; | 
| 90 | 0 |  |  |  |  | 0 | rename($file, $new_file); | 
| 91 | 0 |  |  |  |  | 0 | $config = \%old_config; | 
| 92 |  |  |  |  |  |  | } | 
| 93 |  |  |  |  |  |  |  | 
| 94 |  |  |  |  |  |  | } else { | 
| 95 | 1 |  |  |  |  | 2 | $config = \%old_config; | 
| 96 |  |  |  |  |  |  | } | 
| 97 |  |  |  |  |  |  |  | 
| 98 | 2 |  |  |  |  | 11 | nt_write_almost_yaml_file($file, %$config); | 
| 99 | 2 |  |  |  |  | 9 | return; | 
| 100 |  |  |  |  |  |  | } | 
| 101 |  |  |  |  |  |  |  | 
| 102 |  |  |  |  |  |  | #---------------------------------------------------------------------- | 
| 103 |  |  |  |  |  |  | # Copy a text file | 
| 104 |  |  |  |  |  |  |  | 
| 105 |  |  |  |  |  |  | sub copy_text { | 
| 106 | 14 |  |  | 14 | 0 | 39 | my ($file, $lines, @args) = @_; | 
| 107 | 14 | 50 |  |  |  | 257 | return if -e $file; | 
| 108 |  |  |  |  |  |  |  | 
| 109 | 14 | 50 |  |  |  | 216 | my $out = IO::File->new($file, 'w') or die "Couldn't write $file: $!\n"; | 
| 110 | 14 |  |  |  |  | 2049 | foreach my $line (@$lines) { | 
| 111 | 477 |  |  |  |  | 761 | print $out $line; | 
| 112 |  |  |  |  |  |  | } | 
| 113 |  |  |  |  |  |  |  | 
| 114 | 14 |  |  |  |  | 469 | close($out); | 
| 115 | 14 |  |  |  |  | 82 | return; | 
| 116 |  |  |  |  |  |  | } | 
| 117 |  |  |  |  |  |  |  | 
| 118 |  |  |  |  |  |  | #---------------------------------------------------------------------- | 
| 119 |  |  |  |  |  |  | # Check path and create directories as necessary | 
| 120 |  |  |  |  |  |  |  | 
| 121 |  |  |  |  |  |  | sub create_dirs { | 
| 122 | 18 |  |  | 18 | 0 | 29 | my ($file) = @_; | 
| 123 |  |  |  |  |  |  |  | 
| 124 | 18 |  |  |  |  | 56 | my @dirs = splitdir($file); | 
| 125 | 18 |  |  |  |  | 103 | pop @dirs; | 
| 126 |  |  |  |  |  |  |  | 
| 127 | 18 |  |  |  |  | 33 | my @path; | 
| 128 | 18 |  |  |  |  | 41 | while (@dirs) { | 
| 129 | 36 |  |  |  |  | 79 | push(@path, shift(@dirs)); | 
| 130 | 36 |  |  |  |  | 133 | my $path = catfile(@path); | 
| 131 |  |  |  |  |  |  |  | 
| 132 | 36 | 100 | 100 |  |  | 551 | if ($path && ! -d $path) { | 
| 133 | 4 | 50 |  |  |  | 212 | mkdir($path, 0755) or die "Couldn't create $path: $!\n"; | 
| 134 |  |  |  |  |  |  | } | 
| 135 |  |  |  |  |  |  | } | 
| 136 |  |  |  |  |  |  |  | 
| 137 | 18 |  |  |  |  | 61 | return; | 
| 138 |  |  |  |  |  |  | } | 
| 139 |  |  |  |  |  |  |  | 
| 140 |  |  |  |  |  |  | #---------------------------------------------------------------------- | 
| 141 |  |  |  |  |  |  | # Return closures to read the data section of this file | 
| 142 |  |  |  |  |  |  |  | 
| 143 |  |  |  |  |  |  | sub data_readers { | 
| 144 | 1 |  |  | 1 | 0 | 3 | my @pushback; | 
| 145 |  |  |  |  |  |  |  | 
| 146 |  |  |  |  |  |  | my $read = sub { | 
| 147 | 653 | 100 |  | 653 |  | 1037 | if (@pushback) { | 
| 148 | 13 |  |  |  |  | 33 | return pop(@pushback); | 
| 149 |  |  |  |  |  |  | } else { | 
| 150 | 640 |  |  |  |  | 1745 | return <DATA>; | 
| 151 |  |  |  |  |  |  | } | 
| 152 | 1 |  |  |  |  | 6 | }; | 
| 153 |  |  |  |  |  |  |  | 
| 154 |  |  |  |  |  |  | my $unread = sub { | 
| 155 | 13 |  |  | 13 |  | 21 | my ($line) = @_; | 
| 156 | 13 |  |  |  |  | 22 | push(@pushback, $line); | 
| 157 | 1 |  |  |  |  | 4 | }; | 
| 158 |  |  |  |  |  |  |  | 
| 159 | 1 |  |  |  |  | 4 | return ($read, $unread); | 
| 160 |  |  |  |  |  |  | } | 
| 161 |  |  |  |  |  |  |  | 
| 162 |  |  |  |  |  |  | #---------------------------------------------------------------------- | 
| 163 |  |  |  |  |  |  | # Is the line a command? | 
| 164 |  |  |  |  |  |  |  | 
| 165 |  |  |  |  |  |  | sub is_command { | 
| 166 | 653 |  |  | 653 | 0 | 3051 | my ($line) = @_; | 
| 167 |  |  |  |  |  |  |  | 
| 168 | 653 |  |  |  |  | 876 | my $command; | 
| 169 | 653 |  |  |  |  | 831 | my $prefix = CMD_PREFIX; | 
| 170 |  |  |  |  |  |  |  | 
| 171 | 653 | 100 |  |  |  | 1656 | if ($line =~ s/^$prefix//) { | 
| 172 | 28 |  |  |  |  | 48 | $command = $line; | 
| 173 | 28 |  |  |  |  | 63 | chomp $command; | 
| 174 |  |  |  |  |  |  | } | 
| 175 |  |  |  |  |  |  |  | 
| 176 | 653 |  |  |  |  | 1460 | return $command; | 
| 177 |  |  |  |  |  |  | } | 
| 178 |  |  |  |  |  |  |  | 
| 179 |  |  |  |  |  |  | #---------------------------------------------------------------------- | 
| 180 |  |  |  |  |  |  | # Get the name and contents of the next file | 
| 181 |  |  |  |  |  |  |  | 
| 182 |  |  |  |  |  |  | sub next_command { | 
| 183 | 15 |  |  | 15 | 0 | 32 | my ($read, $unread) = @_; | 
| 184 |  |  |  |  |  |  |  | 
| 185 | 15 |  |  |  |  | 30 | my $line = $read->(); | 
| 186 | 15 | 100 |  |  |  | 39 | return unless defined $line; | 
| 187 |  |  |  |  |  |  |  | 
| 188 | 14 |  |  |  |  | 27 | my $command = is_command($line); | 
| 189 | 14 | 50 |  |  |  | 29 | die "Command not supported: $line" unless $command; | 
| 190 |  |  |  |  |  |  |  | 
| 191 | 14 |  |  |  |  | 19 | my @lines; | 
| 192 | 14 |  |  |  |  | 26 | while ($line = $read->()) { | 
| 193 | 637 | 100 |  |  |  | 971 | if (is_command($line)) { | 
| 194 | 13 |  |  |  |  | 29 | $unread->($line); | 
| 195 | 13 |  |  |  |  | 23 | last; | 
| 196 |  |  |  |  |  |  |  | 
| 197 |  |  |  |  |  |  | } else { | 
| 198 | 624 |  |  |  |  | 1192 | push(@lines, $line); | 
| 199 |  |  |  |  |  |  | } | 
| 200 |  |  |  |  |  |  | } | 
| 201 |  |  |  |  |  |  |  | 
| 202 | 14 |  |  |  |  | 54 | return ($command, \@lines); | 
| 203 |  |  |  |  |  |  | } | 
| 204 |  |  |  |  |  |  |  | 
| 205 |  |  |  |  |  |  | #---------------------------------------------------------------------- | 
| 206 |  |  |  |  |  |  | # Die with error | 
| 207 |  |  |  |  |  |  |  | 
| 208 |  |  |  |  |  |  | sub write_error { | 
| 209 | 0 |  |  | 0 | 0 | 0 | my ($msg, $line) = @_; | 
| 210 | 0 |  |  |  |  | 0 | die "$msg: " . substr($line, 0, 30) . "\n"; | 
| 211 |  |  |  |  |  |  | } | 
| 212 |  |  |  |  |  |  |  | 
| 213 |  |  |  |  |  |  | #---------------------------------------------------------------------- | 
| 214 |  |  |  |  |  |  | # Write a copy of the input file | 
| 215 |  |  |  |  |  |  |  | 
| 216 |  |  |  |  |  |  | sub write_file { | 
| 217 | 18 |  |  | 18 | 0 | 3160 | my ($lines, @args) = @_; | 
| 218 |  |  |  |  |  |  |  | 
| 219 | 2 |  |  | 2 |  | 18 | no strict; | 
|  | 2 |  |  |  |  | 5 |  | 
|  | 2 |  |  |  |  | 198 |  | 
| 220 | 18 |  |  |  |  | 32 | my $type = shift(@args); | 
| 221 | 18 |  |  |  |  | 28 | my $file = shift(@args); | 
| 222 |  |  |  |  |  |  |  | 
| 223 | 18 |  |  |  |  | 42 | create_dirs($file); | 
| 224 |  |  |  |  |  |  |  | 
| 225 | 18 |  |  |  |  | 140 | my $sub = "copy_$type"; | 
| 226 | 18 |  |  |  |  | 72 | &$sub($file, $lines, @args); | 
| 227 |  |  |  |  |  |  |  | 
| 228 | 18 |  |  |  |  | 104 | return; | 
| 229 |  |  |  |  |  |  | } | 
| 230 |  |  |  |  |  |  |  | 
| 231 |  |  |  |  |  |  | 1; | 
| 232 |  |  |  |  |  |  | __DATA__ | 
| 233 |  |  |  |  |  |  | #>>> copy binary banner.jpg | 
| 234 |  |  |  |  |  |  | /9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAAeAAD/4QMraHR0cDov | 
| 235 |  |  |  |  |  |  | L25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENl | 
| 236 |  |  |  |  |  |  | aGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4 | 
| 237 |  |  |  |  |  |  | OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjAtYzA2MCA2MS4xMzQ3NzcsIDIwMTAvMDIvMTItMTc6 | 
| 238 |  |  |  |  |  |  | MzI6MDAgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5 | 
| 239 |  |  |  |  |  |  | OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHht | 
| 240 |  |  |  |  |  |  | bG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6 | 
| 241 |  |  |  |  |  |  | Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUu | 
| 242 |  |  |  |  |  |  | Y29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBo | 
| 243 |  |  |  |  |  |  | b3Rvc2hvcCBDUzUgTWFjaW50b3NoIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjBGMTg3OEQy | 
| 244 |  |  |  |  |  |  | OTA5MjExRTE5OTJDQjgwQkE4RTNCQTdGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjBGMTg3 | 
| 245 |  |  |  |  |  |  | OEQzOTA5MjExRTE5OTJDQjgwQkE4RTNCQTdGIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmlu | 
| 246 |  |  |  |  |  |  | c3RhbmNlSUQ9InhtcC5paWQ6QjQ3NDNDNDk5MDkxMTFFMTk5MkNCODBCQThFM0JBN0YiIHN0UmVm | 
| 247 |  |  |  |  |  |  | OmRvY3VtZW50SUQ9InhtcC5kaWQ6QjQ3NDNDNEE5MDkxMTFFMTk5MkNCODBCQThFM0JBN0YiLz4g | 
| 248 |  |  |  |  |  |  | PC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9 | 
| 249 |  |  |  |  |  |  | InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAAQCwsLDAsQDAwQFw8NDxcbFBAQFBsfFxcXFxcfHhca | 
| 250 |  |  |  |  |  |  | GhoaFx4eIyUnJSMeLy8zMy8vQEBAQEBAQEBAQEBAQEBAAREPDxETERUSEhUUERQRFBoUFhYUGiYa | 
| 251 |  |  |  |  |  |  | GhwaGiYwIx4eHh4jMCsuJycnLis1NTAwNTVAQD9AQEBAQEBAQEBAQED/wAARCAH0A8ADASIAAhEB | 
| 252 |  |  |  |  |  |  | AxEB/8QAegABAQEBAQEBAAAAAAAAAAAAAAEEAgMFBgEBAQAAAAAAAAAAAAAAAAAAAAEQAQACAQID | 
| 253 |  |  |  |  |  |  | AwYMBgIDAQAAAAABAgMRBCExElFxsUGRwXITBWGBodEiMlIjUxQkFUKCkrIzNOHSYkNzohEBAAAA | 
| 254 |  |  |  |  |  |  | AAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8A/YRyCOQKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | 
| 255 |  |  |  |  |  |  | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | 
| 256 |  |  |  |  |  |  | AAAAAAAAE8gnkBHISOSgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | 
| 257 |  |  |  |  |  |  | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE8hJ5ARyVI5AKIAo | 
| 258 |  |  |  |  |  |  | gCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiA | 
| 259 |  |  |  |  |  |  | KIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAq | 
| 260 |  |  |  |  |  |  | TyCeQEchI5KIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | 
| 261 |  |  |  |  |  |  | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE8hJ5ARyVI5AKIAogCiAKIAo | 
| 262 |  |  |  |  |  |  | gCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiA | 
| 263 |  |  |  |  |  |  | KIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAqTyCeQJHJ | 
| 264 |  |  |  |  |  |  | UjkAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIA | 
| 265 |  |  |  |  |  |  | ogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCi | 
| 266 |  |  |  |  |  |  | AKIAogCpPIJ5ARyCOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | 
| 267 |  |  |  |  |  |  | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATyCeQJHIIAAAAAAAA | 
| 268 |  |  |  |  |  |  | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | 
| 269 |  |  |  |  |  |  | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACeQSCQqQAogCiAKIAogCiAKIAogCiAKIAogCiAKIAog | 
| 270 |  |  |  |  |  |  | CiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAK | 
| 271 |  |  |  |  |  |  | IAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCpISBAkAKIAogCiAKIAogCiAKIAogCiA | 
| 272 |  |  |  |  |  |  | KIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAo | 
| 273 |  |  |  |  |  |  | gCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIApKEgQJACiAKIAogCiAKIA | 
| 274 |  |  |  |  |  |  | ogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCi | 
| 275 |  |  |  |  |  |  | AKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAKShIECQoAAA | 
| 276 |  |  |  |  |  |  | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | 
| 277 |  |  |  |  |  |  | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIkgQJCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | 
| 278 |  |  |  |  |  |  | RE2mK1jWZ5QAO/YZ/wAOx7DP+HYHA6nDmrGs47adziJ1BR1XFltHVWk2jthzMTW01tGlo5xIAAAA | 
| 279 |  |  |  |  |  |  | A6riy2jqrSbR2w5tW1J6bxNZnjpIAAALWtrzpSs27o1BB6RtdxPLHPniPSlsGevPHPxcfAHAnl05 | 
| 280 |  |  |  |  |  |  | T2O4w5bRFq0mYnlMA5HfsM/4dj2Gf8OwOBb48mOIm9ZrEzpEz2la2vOlY1nsgEFvjyUjW9ZrHLWU | 
| 281 |  |  |  |  |  |  | AB1GHLaItWkzE8pgHIcYmYnhMcJgAFrS9/qVm3dD0/K7n8P5Y+cHkOr4stI1vSYjt01j5HETqCg7 | 
| 282 |  |  |  |  |  |  | jBmmImKTMTykHAmvyKADquLLeNaVm0ctYByO/YZ/w7HsM/4dgcBatqfXrNe+NAAI1mdI5zyd+wz/ | 
| 283 |  |  |  |  |  |  | AIdgcDv2Gf8ADsewz/h2BwFotW3TaNLdkuq48l41pWbRy4A5HfsM/wCHY9hn/DsDgLVtT69Zr3xo | 
| 284 |  |  |  |  |  |  | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEiSBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPTb/AOxj | 
| 285 |  |  |  |  |  |  | 7/Q83e3/AM+Pv9APo589MGK2W+s1rprpz4zozfuu3+zfzR86+8Z/R376/wB0MMadMA+ng3mHPaa0 | 
| 286 |  |  |  |  |  |  | 1i0cdLRpwZ/eGOtenNWNJmem3w6+U2eG0X9rMaREaR8Op7zvHsqY/wCK1o4fBAPfZT+njvnxYdxP | 
| 287 |  |  |  |  |  |  | 63N/L/bVs2U6beO+fFiz/wC7m/l/tgEAAWIm0xWOczpCNGzp1ZJvPKnLvkG2vRix1rrpEaViZ7Z4 | 
| 288 |  |  |  |  |  |  | fLLN7xx9WKMsc8c8fVnm8PeeWbWx4Kzp/HbT4PqtmLJGfDE249UaWj5JB86J1jUTpnHe2KedJ0+L | 
| 289 |  |  |  |  |  |  | yEg07Xbxlnrv9SPJ2y15M2Db0ibzFK8oj5ohMMdGKleyI875WS87jcXy241iZrSOysA2z71xa/Rx | 
| 290 |  |  |  |  |  |  | 3mO3SI9K196YZ+tS9fhmImPklj0gB3uMlcm5m9J6qTEaS37Sf09Pj8ZfN0iOT6O0n9PT4/EHnk95 | 
| 291 |  |  |  |  |  |  | 4aZLY5peZpOkzERp/cn7rh/Dyeav/ZkyRb8zmnSeNp46Gk9k+YHpu95Tc0rSlb1mtotM2iNNNJjy | 
| 292 |  |  |  |  |  |  | TPa62f8AsV7peHLnGj22n+xXukHt7zn7ivrx4SyRyaveWs4K6Rr9OOXdLLETpynzAPo7Sf09Pj8Z | 
| 293 |  |  |  |  |  |  | fO49k+Z9Dazpt6a/D4g+daf1Gb17eLTtdvGWeq/1I8nbLLaf1Gb17eL6eCOjDSPg1nvniDrLnw7a | 
| 294 |  |  |  |  |  |  | kTeYrXlWI8vdEM37ri14Y7zHbw+djy2nPub5Lca1ma0j4I+ddAfSwbzDnnprM1t9m3CXjvNtHTOb | 
| 295 |  |  |  |  |  |  | FGlq8bVjlMMcxpMWjhaOMT8L6mPJ7THW/wBqImQfL11rrD62GfuqerHg+Rp0XyY/JS0xHdrwfVxT | 
| 296 |  |  |  |  |  |  | 91T1Y8AfJxzxt60+Lt54+dvWnxegDdsJ+5n1p8IYW3Yz9zPrT6AXP7wxYMs4rUva0RE61iNOPfMO | 
| 297 |  |  |  |  |  |  | I964fw8kfDpH/Zm3f+7b1auAfUxbjDuKz0TFu2s8/jiWPebeMX3uPhTXS1ezXywz1mcd4yV51+WO | 
| 298 |  |  |  |  |  |  | x9TJEZcVqeS8THnB82k/Tp60eL6mTJGPHbJbjFIm0xHPSI1fI29teifhjxfT3PHbZYjjM0t4SDwj | 
| 299 |  |  |  |  |  |  | 3tgmNYx5PNX/ALL+64fw8nmr/wBmLHE9EfRnzOtJ7J8wGXLGfcTlrE1rMRGlufDu1bthP3VvXnwh | 
| 300 |  |  |  |  |  |  | gbdjP3VvWnwgHeffYdvkjHeLTaY6voxrGkzMdvwPP902/wBm/mj52ffcd5X/AOceNnnpAPq1viz4 | 
| 301 |  |  |  |  |  |  | 9Y0tS0eV8zJT2We+LyRxr3TxbtrSceGK24TMzOnZqwZ7xk3eS1eMRpXXu5gAAAAAAAAAAAAAAAAA | 
| 302 |  |  |  |  |  |  | AAAAAAAAAAAAAEhIJAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPTB/mp3+h5u8P+anf6AaPeE/pL | 
| 303 |  |  |  |  |  |  | 99f7oeeytSIt16RppMTLrfT+lv31/uhk6YtWNQbcvvDBThSfaW8kV5efkxTOTNknLl58ojyRHYRS | 
| 304 |  |  |  |  |  |  | scodA27SfuI758WPN/uZv5f7YatrP3Md8+LJmn9Xl/l/tgANTUBvw1jFiiJ4Tzsx4KdeSInlHGXr | 
| 305 |  |  |  |  |  |  | v8vTh6I+tknp+LygzY4ybnLkzVjXWeHwRyhs2tM2KbVvGlJ4xxjmzYdxG3x9MUm0zxmYd/uPbitp | 
| 306 |  |  |  |  |  |  | 3wDrf00tTNHq29DPPJvyVrlxTTyWjhPhL59JnSa24WjhMfDAPq1n6Mdz5GGNK6TzidJfQ22TqxR2 | 
| 307 |  |  |  |  |  |  | 1+jPxMufFbFkteI1x3nWZ7JnmDkTWJXUBu2s/cU+PxYWzbT9xX4/EFtvttW00m+lqzpMaTz8yfn9 | 
| 308 |  |  |  |  |  |  | r+J8k/MwTETny6/bnxXpr2A9d3nx5r4vZW6or1dXCY56drraz9/HdLxiIjk9dtP30d0g2Zc+PDXr | 
| 309 |  |  |  |  |  |  | yz01mdNdJnj8Ty/cNp9uf6bfM8/ePHDX148JZ4iNOQNn7htPtz/Tb5nvjy1yUi9J1rPKeXi+ZpHY | 
| 310 |  |  |  |  |  |  | 27adMFfj8QYbf5s3r28X1Mdvu690eD5c/wCfL68+LbtcnViiPLXhPoBhxcOqJ5xM6+d26z45xZbW | 
| 311 |  |  |  |  |  |  | /wDXeddeyZ5udQG/bTpgp3MNK2vbprz8s9jdrXHTjwrSPkgHz7z+ozetL6WKfuqerHg+VjmbdWSe | 
| 312 |  |  |  |  |  |  | d5m3nfTxT93T1Y8AfNx/xd8+Lt54p+t3z4vTUBs2U/dT60+hjatpP3c+tPoBn3M/rLd0OTcT+rt3 | 
| 313 |  |  |  |  |  |  | QagTyl9Ks9NIifJHFgw45yWif4I5z6GjdZfZ4L28sx01754Aw7adYpPbaPF9W+StKze06VrGsy+X | 
| 314 |  |  |  |  |  |  | hjpikfDHi27uf02X1ZBfz+1/E+SfmPz+1/E+SfmYKVr0xwXpr2As3682S8TrWZ1iW3ZT93b1p8IY | 
| 315 |  |  |  |  |  |  | o0jk17Sfu7et6IB4byY/O115dFde7qs20x4qcaVjv5/Kw7vju49SPGz12ubT7m38k+gHO53uS1rY | 
| 316 |  |  |  |  |  |  | MMTSY4WvPP8Al+d4UpFK6Q1bvD1R7WkfTrzjthmi2sawCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE | 
| 317 |  |  |  |  |  |  | hIIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7xT97Tv8AQ4SY1jSQad7aJ214iYmda/3Qz15Q4jFS | 
| 318 |  |  |  |  |  |  | J1iHYAANW2tEYo1mI4z4uprgmZtMUm085mI1YbY625w59jj7AfQ6cH2aeaHhu/Z1xxNIrE9URw05 | 
| 319 |  |  |  |  |  |  | cWb2OPsWMVInWIBs22ladUzETbj8TLnv7XczP8OP6Md/lc2x0txmHVaxWNIBQAadtljo6LTpNOWv | 
| 320 |  |  |  |  |  |  | Y8NxWK5uuvGt+enbDztWLc4SuOteUA9KZL4rdVeOvOva003eG/O3TPZbgypNYnnANvs8NuPTWfhj | 
| 321 |  |  |  |  |  |  | Qn8vj4z0V+GdIfPnDjnyEYcceQHplyRk3FrUnWukRq17e0RhrEzEc/FjiIjk5tjpbnAN/Tg1memm | 
| 322 |  |  |  |  |  |  | s8ZnSDpwfZp5ofP9jj7D2OPsBq3fs64taRWJ1jlo428/e1meyXjGKkTrEOpiJjSQe++tE4qxE6/T | 
| 323 |  |  |  |  |  |  | jwl4xycRipE6xDsBr29ojDWJmI5+LI4tjrbjMAv/ALss/wDlPi7re+O3XXj2x2w5rWKxpCg1U3WG | 
| 324 |  |  |  |  |  |  | 8aTMVny1twdeywzxitfiYprWecOJwY58gN9s2DDHG1ax2R80MmfcW3P0KRNcXlmedv8AhxGKkcod | 
| 325 |  |  |  |  |  |  | RwA00rpDdjtWMdeMco8GJxOKlp1mAb+jbx/DTzQdOD7NPND5/scfYexx9gPfddNclIpERExOuj22 | 
| 326 |  |  |  |  |  |  | tojHOs6fSlkrjrXlBalbc4BumuG09VorNu2YjU6cHZTzQ+f7HH2HscfYDdfdbfHHG8TP2a8Z+Rjy | 
| 327 |  |  |  |  |  |  | ZL7m8WtHTSv1a+mSMdI5Q6BY+tXvjxbZmlomtpiYnnE6MPN5zhxz5AfQ6MH2aeaDpwfZp5ofP9jj | 
| 328 |  |  |  |  |  |  | 7D2OPsB7biaxuIrSIivTE8O3WXvtbRFLazp9L0QyVpWvKC1K25wD03M67qJjjHRHjZzOvOOExxiX | 
| 329 |  |  |  |  |  |  | NaVryh0DXhzxkprMxFo4Wj4WbPSMd+qmk0tziPJLztStucJGKlZ1iAdgAAAAAAAAAAAAAAAAAAAA | 
| 330 |  |  |  |  |  |  | AAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | 
| 331 |  |  |  |  |  |  | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAA | 
| 332 |  |  |  |  |  |  | AAAAAAAAAAAAAAAAAAAAAAAAAAAA98G2tni01tFemdOLwbvds/Ryd8eAMufFODJGO0xMzGvDzOtv | 
| 333 |  |  |  |  |  |  | trZ+rptFenTn8K+8p/V09T0y9vds/wCX+X0g8Nzt77eK2tMWradNY8kvF9bc4oz4bY/LMfRnsmOT | 
| 334 |  |  |  |  |  |  | 49JmY0nhMcJj4QdOqVm960rztOkOWz3fj1tbLPKv0a9/lBzfYZKUteb10rEzPPyMtbaxq+vuZ/T5 | 
| 335 |  |  |  |  |  |  | fUt4Pi4vqQDt6YMNs9+is6aRrMy830dhj6MPXP1snH4vIDPl2OXHjtfqi3TGuka68GaJiY1fXw58 | 
| 336 |  |  |  |  |  |  | eetppOsVtNJ74fJy4/YZ74vJE609WeQID0wYvbZYpyjnafggDHhy5Z0x1105z5Givu7JP1rxXuiZ | 
| 337 |  |  |  |  |  |  | +ZrtfFt8U2nSmOkPn39657z9xjitfJa/GfNGgPafdtvJlif5f+Xhn2ubBScltJpGmsxPbOnlSPeG | 
| 338 |  |  |  |  |  |  | +j7E/BpPzmffZM+3thvj6bW00tWeHCYnlPcCYMM57zSsxExGustH7bl+3XzS493cM8+pPjV7+8N1 | 
| 339 |  |  |  |  |  |  | l21KWxRWZtbSeqJnhpr5JgHn+25ft180n7bl+3XzS8f3Le/Zx+a3/Y/ct79nH5rf9geFbRKuaV6Y | 
| 340 |  |  |  |  |  |  | dAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAioAogCiAKIAogCiAKIAogCiAKIAo | 
| 341 |  |  |  |  |  |  | gCiAKIAogCiAKIAogCiAKIAogCiAKIAogCiAK2+7p+jk748GFs2E/Ryd8A8feP8At09T0y9/d0/5 | 
| 342 |  |  |  |  |  |  | Pi9LP7wn9VT1PTL22E/5Pi9INH5jTeTgnlOOL179bRLFvcfstz1R9XLx/m8qbzJOP3hjyRzrSPNr | 
| 343 |  |  |  |  |  |  | bVq3eOM+3np42j6dPi+cGHnwjnPJvy3jZ7K0x9ateHw3n/ll2NYyZIv/AA04/H5E955eu9MEcq/T | 
| 344 |  |  |  |  |  |  | t38oBvzT+lvr+HPg+Ti+pD6maf01/UnwfKxfUgHtjpOTJWkfxTx7vK37zN+X21rV4W06ad88I8zw | 
| 345 |  |  |  |  |  |  | 2NPrZZ9WvpeO+vOfdU29eVOfrW+aAX3bf2N/Zz9XJH/6h7e8seta54504W9Wf+U/IaTExk0mOMTp | 
| 346 |  |  |  |  |  |  | 2fG1XrF6TS3GLRpPxg+VEtnu6I6slvLGkeLFETS1sdvrUnSWzYW0nJHdPiDn3rebTiw/wzM2t8XC | 
| 347 |  |  |  |  |  |  | PFmiIiHv7yj73DfyaTE/JLwBRcVYtkrW3K06S991t8WHBbJXXWNNNZ7ZiANh/nn1J8Ye2/wZM9KR | 
| 348 |  |  |  |  |  |  | jiJmttZ1nThoz7Cfvpn/AMJ8YaN3u/y0Uno6+udOegM/5PcdkedLbTPWs2mI0iNZ49jr90t+DP8A | 
| 349 |  |  |  |  |  |  | V/wl/eNr0tT2Mx1RMa9XbHcDwiYmNVcUjSsQ6BRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAU | 
| 350 |  |  |  |  |  |  | QBRAFEAUQBRAFEAUQBRAFQABAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEA | 
| 351 |  |  |  |  |  |  | UQBRAFEAUQBWrYzwv3wyPbb7jHhi3tJmNZ4aRqCb7/ap6npl7bGf8nxell3GWmbPW+PWYiuk6xpx | 
| 352 |  |  |  |  |  |  | 1l6bfPjw9XtJmNdNNI1BN9x3kf8Azjxs1bPJ1YuiedOHxeRiz5aZtxGSms1isRxjTjrLrDljDk6p | 
| 353 |  |  |  |  |  |  | +rMaWBux48eCtunhEzNp+N8vqnLe+af451ju8jRut5jy4bY8UzNr8J1iY4eV4RGldAfTzT+mv6k+ | 
| 354 |  |  |  |  |  |  | D5mKJmtYjnPCGrJvME4rY4meqazEcJ56PDbXx4pi2SdIrHDhrxB9HWuDDrP1cddZ+J8vDfJFpzxp | 
| 355 |  |  |  |  |  |  | 7S0zPHjze273VM+OMWLXjP09Y04Q8ojSNAen5vefajzNOz3GTJFq5ZibxxjThwY3VLzjyVvHk59w | 
| 356 |  |  |  |  |  |  | PXfU6clc0crfRt3xycYMsYssWn6s8LO8+722XHbHrOs8p6Z5xyZ68a8QfSz4q58c0nh5az2T2sNs | 
| 357 |  |  |  |  |  |  | OanC1Zn4a8YMW5y4Y6dOukco8sd0vePeGCfrdVe+NfDUHlhrf21J6Z0ieM6S0e8J/SX76/3Q5n3h | 
| 358 |  |  |  |  |  |  | tY5WmfgitvmZ9zvK58c4qUtpbTW08OU6g9Nj/l/knxh17wre8Yums20mddImfI8dvlphv1X4R06d | 
| 359 |  |  |  |  |  |  | vlho/cNt2z/TIM3s8n2Lf0yezyfYt/TLR+4bbtn+mV/cNt2z/TIMnoVxWdbWt5JtMx3TLoFEAUQB | 
| 360 |  |  |  |  |  |  | RAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQAEAUQBRAFEAUQBRAFEAUQ | 
| 361 |  |  |  |  |  |  | BRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFQANAANFQA0hUANIAA0hUAUQA0hUAVNIA | 
| 362 |  |  |  |  |  |  | DSOwAFTSOwANI7DSOwAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAU | 
| 363 |  |  |  |  |  |  | QBRAFEABAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEA | 
| 364 |  |  |  |  |  |  | UQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBR | 
| 365 |  |  |  |  |  |  | AFEAUQBRAFEAUQAEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | 
| 366 |  |  |  |  |  |  | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAA | 
| 367 |  |  |  |  |  |  | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | 
| 368 |  |  |  |  |  |  | AAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | 
| 369 |  |  |  |  |  |  | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARUAU | 
| 370 |  |  |  |  |  |  | QBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRA | 
| 371 |  |  |  |  |  |  | FEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAU | 
| 372 |  |  |  |  |  |  | QBUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | 
| 373 |  |  |  |  |  |  | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAA | 
| 374 |  |  |  |  |  |  | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | 
| 375 |  |  |  |  |  |  | AAAAAAAAAAAAAAAAAEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAU | 
| 376 |  |  |  |  |  |  | QBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRA | 
| 377 |  |  |  |  |  |  | FEAUQBRAFEAUQBRAFEAUQBRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | 
| 378 |  |  |  |  |  |  | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | 
| 379 |  |  |  |  |  |  | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | 
| 380 |  |  |  |  |  |  | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | 
| 381 |  |  |  |  |  |  | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | 
| 382 |  |  |  |  |  |  | AAAEAH//2Q== | 
| 383 |  |  |  |  |  |  | #>>> copy text followme.cfg | 
| 384 |  |  |  |  |  |  | run_before: | 
| 385 |  |  |  |  |  |  | - App::Followme::FormatPage | 
| 386 |  |  |  |  |  |  | - App::Followme::ConvertPage | 
| 387 |  |  |  |  |  |  | #>>> copy text index.html | 
| 388 |  |  |  |  |  |  | <!doctype html> | 
| 389 |  |  |  |  |  |  | <html lang="en"> | 
| 390 |  |  |  |  |  |  | <head> | 
| 391 |  |  |  |  |  |  | <meta charset="utf-8"> | 
| 392 |  |  |  |  |  |  | <meta name="viewport" content="width=device-width,initial-scale=1"> | 
| 393 |  |  |  |  |  |  | <!-- section meta --> | 
| 394 |  |  |  |  |  |  | <title>Your Site</title> | 
| 395 |  |  |  |  |  |  | <!-- endsection meta --> | 
| 396 |  |  |  |  |  |  | <link rel="stylesheet" id="css_style" href="theme.css"> | 
| 397 |  |  |  |  |  |  | </head> | 
| 398 |  |  |  |  |  |  | <body> | 
| 399 |  |  |  |  |  |  | <header> | 
| 400 |  |  |  |  |  |  | <div><img src="banner.jpg"></div> | 
| 401 |  |  |  |  |  |  | <span class= "title"><a href="#">Your Title Here</a></span> | 
| 402 |  |  |  |  |  |  | <div class="dropdown" style="float:right;"> | 
| 403 |  |  |  |  |  |  | <button class="dropbtn">☰</button> | 
| 404 |  |  |  |  |  |  | <nav class="dropdown-content"> | 
| 405 |  |  |  |  |  |  | <a href="essays/index.html">Essays</a> | 
| 406 |  |  |  |  |  |  | <a href="photos/index.html">Photos</a> | 
| 407 |  |  |  |  |  |  | </nav> | 
| 408 |  |  |  |  |  |  | </div> | 
| 409 |  |  |  |  |  |  | </header> | 
| 410 |  |  |  |  |  |  | <article> | 
| 411 |  |  |  |  |  |  | <section id="primary"> | 
| 412 |  |  |  |  |  |  | <!-- section primary --> | 
| 413 |  |  |  |  |  |  | <h2>Followme</h2> | 
| 414 |  |  |  |  |  |  |  | 
| 415 |  |  |  |  |  |  | <p>Usage: followme [file or directory]</p> | 
| 416 |  |  |  |  |  |  |  | 
| 417 |  |  |  |  |  |  | <p>Update a static website after changes. Constant portions of each page are | 
| 418 |  |  |  |  |  |  | updated to match, text files are converted to html, and indexes are created | 
| 419 |  |  |  |  |  |  | for new files in the archive.</p> | 
| 420 |  |  |  |  |  |  |  | 
| 421 |  |  |  |  |  |  | <p>The script is run on the directory or file passed as its argument. If no | 
| 422 |  |  |  |  |  |  | argument is given, it is run on the current directory.</p> | 
| 423 |  |  |  |  |  |  |  | 
| 424 |  |  |  |  |  |  | <p>If a file is passed, the script is run on the directory the file is in. In | 
| 425 |  |  |  |  |  |  | addition, the script is run in quick mode, meaning that only the directory | 
| 426 |  |  |  |  |  |  | the file is in is checked for changes. Otherwise not only that directory, but | 
| 427 |  |  |  |  |  |  | all directories below it are checked.</p> | 
| 428 |  |  |  |  |  |  |  | 
| 429 |  |  |  |  |  |  | <p>Followme can be downloaded from CPAN as App::Followme.</p> | 
| 430 |  |  |  |  |  |  |  | 
| 431 |  |  |  |  |  |  | <p>This file is used as a template for the site. Any markup outside the section | 
| 432 |  |  |  |  |  |  | comments will be shared between all pages. Modify it to get the desired look for | 
| 433 |  |  |  |  |  |  | your site. The subdirectories show some of the capabilities of this application. | 
| 434 |  |  |  |  |  |  | Keep or modify them as you wish.</p> | 
| 435 |  |  |  |  |  |  |  | 
| 436 |  |  |  |  |  |  | <p>See <a href="help/index.html">help</a> for more information about this | 
| 437 |  |  |  |  |  |  | script.</p> | 
| 438 |  |  |  |  |  |  |  | 
| 439 |  |  |  |  |  |  | <!-- endsection primary--> | 
| 440 |  |  |  |  |  |  | <section id="secondary"> | 
| 441 |  |  |  |  |  |  | <!-- section secondary --> | 
| 442 |  |  |  |  |  |  | <!-- endsection secondary--> | 
| 443 |  |  |  |  |  |  | </section> | 
| 444 |  |  |  |  |  |  | </article> | 
| 445 |  |  |  |  |  |  | <footer> | 
| 446 |  |  |  |  |  |  | <nav class="footer-content"> | 
| 447 |  |  |  |  |  |  | <a href="essays/index.html">Essays</a> | 
| 448 |  |  |  |  |  |  | <a href="photos/index.html">Photos</a> | 
| 449 |  |  |  |  |  |  | </nav> | 
| 450 |  |  |  |  |  |  | </footer> | 
| 451 |  |  |  |  |  |  | </body> | 
| 452 |  |  |  |  |  |  | </html> | 
| 453 |  |  |  |  |  |  | #>>> copy text theme.css | 
| 454 |  |  |  |  |  |  | /* | 
| 455 |  |  |  |  |  |  | Global styles | 
| 456 |  |  |  |  |  |  | *****************/ | 
| 457 |  |  |  |  |  |  | body { | 
| 458 |  |  |  |  |  |  | font-family: helvetica, arial, sans-serif; | 
| 459 |  |  |  |  |  |  | line-height: 1.5; | 
| 460 |  |  |  |  |  |  | margin: 0 auto; | 
| 461 |  |  |  |  |  |  | max-width: 50em; | 
| 462 |  |  |  |  |  |  | padding: 0 1em; | 
| 463 |  |  |  |  |  |  | } | 
| 464 |  |  |  |  |  |  | h1, h2, h3, h4, h5, h6 { | 
| 465 |  |  |  |  |  |  | margin: 1em 0 0.5em 0; | 
| 466 |  |  |  |  |  |  | line-height: 1.2em; | 
| 467 |  |  |  |  |  |  | } | 
| 468 |  |  |  |  |  |  | img { | 
| 469 |  |  |  |  |  |  | max-width: 100%; | 
| 470 |  |  |  |  |  |  | } | 
| 471 |  |  |  |  |  |  | figure { | 
| 472 |  |  |  |  |  |  | margin: 1em 0; | 
| 473 |  |  |  |  |  |  | text-align: center; | 
| 474 |  |  |  |  |  |  | } | 
| 475 |  |  |  |  |  |  | figcaption { | 
| 476 |  |  |  |  |  |  | font-size: small; | 
| 477 |  |  |  |  |  |  | } | 
| 478 |  |  |  |  |  |  | pre, code, samp, kbd { | 
| 479 |  |  |  |  |  |  | color: #009; | 
| 480 |  |  |  |  |  |  | font-family: monospace, monospace; | 
| 481 |  |  |  |  |  |  | font-size: 0.9em; | 
| 482 |  |  |  |  |  |  | } | 
| 483 |  |  |  |  |  |  | pre code, pre samp, pre kbd { | 
| 484 |  |  |  |  |  |  | font-size: 1em; | 
| 485 |  |  |  |  |  |  | } | 
| 486 |  |  |  |  |  |  | pre kbd { | 
| 487 |  |  |  |  |  |  | color: #060; | 
| 488 |  |  |  |  |  |  | } | 
| 489 |  |  |  |  |  |  | pre { | 
| 490 |  |  |  |  |  |  | background: #eee; | 
| 491 |  |  |  |  |  |  | padding: 0.5em; | 
| 492 |  |  |  |  |  |  | overflow: auto; | 
| 493 |  |  |  |  |  |  | } | 
| 494 |  |  |  |  |  |  | blockquote { | 
| 495 |  |  |  |  |  |  | background: #eee; | 
| 496 |  |  |  |  |  |  | border-left: medium solid #ccc; | 
| 497 |  |  |  |  |  |  | margin: 1em 0; | 
| 498 |  |  |  |  |  |  | padding: 0.5em; | 
| 499 |  |  |  |  |  |  | } | 
| 500 |  |  |  |  |  |  | blockquote :first-child { | 
| 501 |  |  |  |  |  |  | margin-top: 0; | 
| 502 |  |  |  |  |  |  | } | 
| 503 |  |  |  |  |  |  | blockquote :last-child { | 
| 504 |  |  |  |  |  |  | margin-bottom: 0; | 
| 505 |  |  |  |  |  |  | } | 
| 506 |  |  |  |  |  |  | /* | 
| 507 |  |  |  |  |  |  | Header | 
| 508 |  |  |  |  |  |  | *****************/ | 
| 509 |  |  |  |  |  |  | header { | 
| 510 |  |  |  |  |  |  | padding: 0; | 
| 511 |  |  |  |  |  |  | background: #222; | 
| 512 |  |  |  |  |  |  | border-radius: 6px; | 
| 513 |  |  |  |  |  |  | } | 
| 514 |  |  |  |  |  |  | .title { | 
| 515 |  |  |  |  |  |  | padding: 16px; | 
| 516 |  |  |  |  |  |  | font-size: 1.75em; | 
| 517 |  |  |  |  |  |  | } | 
| 518 |  |  |  |  |  |  | .title a { | 
| 519 |  |  |  |  |  |  | text-decoration: none; | 
| 520 |  |  |  |  |  |  | color: #aaa; | 
| 521 |  |  |  |  |  |  | } | 
| 522 |  |  |  |  |  |  | .title a:hover { | 
| 523 |  |  |  |  |  |  | color: #fff; | 
| 524 |  |  |  |  |  |  | } | 
| 525 |  |  |  |  |  |  | /* | 
| 526 |  |  |  |  |  |  | Footer | 
| 527 |  |  |  |  |  |  | *****************/ | 
| 528 |  |  |  |  |  |  | footer { | 
| 529 |  |  |  |  |  |  | padding: 8px; | 
| 530 |  |  |  |  |  |  | background: #222; | 
| 531 |  |  |  |  |  |  | border-radius: 6px; | 
| 532 |  |  |  |  |  |  | } | 
| 533 |  |  |  |  |  |  | .footer-content a { | 
| 534 |  |  |  |  |  |  | padding: 16px; | 
| 535 |  |  |  |  |  |  | text-decoration: none; | 
| 536 |  |  |  |  |  |  | color: #aaa; | 
| 537 |  |  |  |  |  |  | } | 
| 538 |  |  |  |  |  |  | .footer-content a:hover { | 
| 539 |  |  |  |  |  |  | color: #fff; | 
| 540 |  |  |  |  |  |  | } | 
| 541 |  |  |  |  |  |  | /* | 
| 542 |  |  |  |  |  |  | Menu | 
| 543 |  |  |  |  |  |  | *****************/ | 
| 544 |  |  |  |  |  |  | .dropbtn { | 
| 545 |  |  |  |  |  |  | font-size: 1.75em; | 
| 546 |  |  |  |  |  |  | background-color: #222; | 
| 547 |  |  |  |  |  |  | color: #aaa; | 
| 548 |  |  |  |  |  |  | border: none; | 
| 549 |  |  |  |  |  |  | cursor: pointer; | 
| 550 |  |  |  |  |  |  | } | 
| 551 |  |  |  |  |  |  | .dropdown { | 
| 552 |  |  |  |  |  |  | position: relative; | 
| 553 |  |  |  |  |  |  | display: inline-block; | 
| 554 |  |  |  |  |  |  | } | 
| 555 |  |  |  |  |  |  | .dropdown-content { | 
| 556 |  |  |  |  |  |  | display: none; | 
| 557 |  |  |  |  |  |  | position: absolute; | 
| 558 |  |  |  |  |  |  | right: 0; | 
| 559 |  |  |  |  |  |  | background-color: #222; | 
| 560 |  |  |  |  |  |  | min-width: 160px; | 
| 561 |  |  |  |  |  |  | border-radius: 6px; | 
| 562 |  |  |  |  |  |  | z-index: 1; | 
| 563 |  |  |  |  |  |  | } | 
| 564 |  |  |  |  |  |  | .dropdown-content a { | 
| 565 |  |  |  |  |  |  | color: #aaa; | 
| 566 |  |  |  |  |  |  | padding: 12px 16px; | 
| 567 |  |  |  |  |  |  | border-radius: 6px; | 
| 568 |  |  |  |  |  |  | text-decoration: none; | 
| 569 |  |  |  |  |  |  | display: block; | 
| 570 |  |  |  |  |  |  | } | 
| 571 |  |  |  |  |  |  | .dropdown-content a:hover { | 
| 572 |  |  |  |  |  |  | color: #fff; | 
| 573 |  |  |  |  |  |  | } | 
| 574 |  |  |  |  |  |  | .dropdown:hover .dropdown-content { | 
| 575 |  |  |  |  |  |  | display: block; | 
| 576 |  |  |  |  |  |  | } | 
| 577 |  |  |  |  |  |  | .dropdown:hover .dropbtn { | 
| 578 |  |  |  |  |  |  | color:#fff; | 
| 579 |  |  |  |  |  |  | background-color: #222; | 
| 580 |  |  |  |  |  |  | border-color: #222; | 
| 581 |  |  |  |  |  |  | } | 
| 582 |  |  |  |  |  |  | /* | 
| 583 |  |  |  |  |  |  | Photo Gallery | 
| 584 |  |  |  |  |  |  | *****************/ | 
| 585 |  |  |  |  |  |  | #gallery { | 
| 586 |  |  |  |  |  |  | display: grid; | 
| 587 |  |  |  |  |  |  | grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); | 
| 588 |  |  |  |  |  |  | grid-gap: 10px; | 
| 589 |  |  |  |  |  |  | align-items: start; | 
| 590 |  |  |  |  |  |  | } | 
| 591 |  |  |  |  |  |  |  | 
| 592 |  |  |  |  |  |  | .thumb { | 
| 593 |  |  |  |  |  |  | border: 1px solid #ccc; | 
| 594 |  |  |  |  |  |  | box-shadow: 2px 2px 6px 0px  rgba(0,0,0,0.3); | 
| 595 |  |  |  |  |  |  | max-width: 100%; | 
| 596 |  |  |  |  |  |  | } | 
| 597 |  |  |  |  |  |  |  | 
| 598 |  |  |  |  |  |  | .lightbox { | 
| 599 |  |  |  |  |  |  | position: fixed; | 
| 600 |  |  |  |  |  |  | z-index: 999; | 
| 601 |  |  |  |  |  |  | height: 0; | 
| 602 |  |  |  |  |  |  | width: 0; | 
| 603 |  |  |  |  |  |  | text-align: center; | 
| 604 |  |  |  |  |  |  | top: 0; | 
| 605 |  |  |  |  |  |  | left: 0; | 
| 606 |  |  |  |  |  |  | background: rgba(0, 0, 0, 0.8); | 
| 607 |  |  |  |  |  |  | opacity: 0; | 
| 608 |  |  |  |  |  |  | } | 
| 609 |  |  |  |  |  |  |  | 
| 610 |  |  |  |  |  |  | .lightbox img { | 
| 611 |  |  |  |  |  |  | max-width: 90%; | 
| 612 |  |  |  |  |  |  | max-height: 80%; | 
| 613 |  |  |  |  |  |  | margin-top: 2%; | 
| 614 |  |  |  |  |  |  | opacity: 0; | 
| 615 |  |  |  |  |  |  | } | 
| 616 |  |  |  |  |  |  |  | 
| 617 |  |  |  |  |  |  | .lightbox:target { | 
| 618 |  |  |  |  |  |  | /** Remove default browser outline */ | 
| 619 |  |  |  |  |  |  | outline: none; | 
| 620 |  |  |  |  |  |  | width: 100%; | 
| 621 |  |  |  |  |  |  | height: 100%; | 
| 622 |  |  |  |  |  |  | opacity: 1 !important; | 
| 623 |  |  |  |  |  |  |  | 
| 624 |  |  |  |  |  |  | } | 
| 625 |  |  |  |  |  |  |  | 
| 626 |  |  |  |  |  |  | .lightbox:target img { | 
| 627 |  |  |  |  |  |  | border: solid 17px rgba(77, 77, 77, 0.8); | 
| 628 |  |  |  |  |  |  | opacity: 1; | 
| 629 |  |  |  |  |  |  | webkit-transition: opacity 0.6s; | 
| 630 |  |  |  |  |  |  | transition: opacity 0.6s; | 
| 631 |  |  |  |  |  |  | } | 
| 632 |  |  |  |  |  |  |  | 
| 633 |  |  |  |  |  |  | .light-btn { | 
| 634 |  |  |  |  |  |  | color: #fafafa; | 
| 635 |  |  |  |  |  |  | background-color: #333; | 
| 636 |  |  |  |  |  |  | border: solid 3px #777; | 
| 637 |  |  |  |  |  |  | padding: 5px 15px; | 
| 638 |  |  |  |  |  |  | border-radius: 1px; | 
| 639 |  |  |  |  |  |  | text-decoration: none; | 
| 640 |  |  |  |  |  |  | cursor: pointer; | 
| 641 |  |  |  |  |  |  | vertical-align: middle; | 
| 642 |  |  |  |  |  |  | position: absolute; | 
| 643 |  |  |  |  |  |  | top: 45%; | 
| 644 |  |  |  |  |  |  | z-index: 99; | 
| 645 |  |  |  |  |  |  | } | 
| 646 |  |  |  |  |  |  |  | 
| 647 |  |  |  |  |  |  | .light-btn:hover { | 
| 648 |  |  |  |  |  |  | background-color: #111; | 
| 649 |  |  |  |  |  |  | } | 
| 650 |  |  |  |  |  |  |  | 
| 651 |  |  |  |  |  |  | .btn-prev { | 
| 652 |  |  |  |  |  |  | left: 7%; | 
| 653 |  |  |  |  |  |  | } | 
| 654 |  |  |  |  |  |  |  | 
| 655 |  |  |  |  |  |  | .btn-next { | 
| 656 |  |  |  |  |  |  | right: 7%; | 
| 657 |  |  |  |  |  |  | } | 
| 658 |  |  |  |  |  |  |  | 
| 659 |  |  |  |  |  |  | .btn-close { | 
| 660 |  |  |  |  |  |  | position: absolute; | 
| 661 |  |  |  |  |  |  | right: 2%; | 
| 662 |  |  |  |  |  |  | top: 2%; | 
| 663 |  |  |  |  |  |  | color: #fafafa; | 
| 664 |  |  |  |  |  |  | background-color: #92001d; | 
| 665 |  |  |  |  |  |  | border: solid 5px #ef4036; | 
| 666 |  |  |  |  |  |  | padding: 10px 15px; | 
| 667 |  |  |  |  |  |  | border-radius: 1px; | 
| 668 |  |  |  |  |  |  | text-decoration: none; | 
| 669 |  |  |  |  |  |  | } | 
| 670 |  |  |  |  |  |  |  | 
| 671 |  |  |  |  |  |  | .btn-close:hover { | 
| 672 |  |  |  |  |  |  | background-color: #740404; | 
| 673 |  |  |  |  |  |  | } | 
| 674 |  |  |  |  |  |  | #>>> copy text _templates/convert_page.htm | 
| 675 |  |  |  |  |  |  | <html> | 
| 676 |  |  |  |  |  |  | <head> | 
| 677 |  |  |  |  |  |  | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | 
| 678 |  |  |  |  |  |  | <!-- section meta --> | 
| 679 |  |  |  |  |  |  | <base href="$site_url/" /> | 
| 680 |  |  |  |  |  |  | <title>$title</title> | 
| 681 |  |  |  |  |  |  | <meta name="date" content="$mdate" /> | 
| 682 |  |  |  |  |  |  | <meta name="description" content="$description" /> | 
| 683 |  |  |  |  |  |  | <meta name="keywords" content="$keywords" /> | 
| 684 |  |  |  |  |  |  | <meta name="author" content="$author" /> | 
| 685 |  |  |  |  |  |  | <!-- endsection meta --> | 
| 686 |  |  |  |  |  |  | </head> | 
| 687 |  |  |  |  |  |  | <body> | 
| 688 |  |  |  |  |  |  | <header> | 
| 689 |  |  |  |  |  |  | <h1>Site Title</h1> | 
| 690 |  |  |  |  |  |  | </header> | 
| 691 |  |  |  |  |  |  | <article> | 
| 692 |  |  |  |  |  |  | <section id="primary"> | 
| 693 |  |  |  |  |  |  | <!-- section primary --> | 
| 694 |  |  |  |  |  |  | <h2>$title</h2> | 
| 695 |  |  |  |  |  |  | $body | 
| 696 |  |  |  |  |  |  | <!-- endsection primary--> | 
| 697 |  |  |  |  |  |  | </section> | 
| 698 |  |  |  |  |  |  | <section id="secondary"> | 
| 699 |  |  |  |  |  |  | <!-- section secondary --> | 
| 700 |  |  |  |  |  |  | <!-- endsection secondary--> | 
| 701 |  |  |  |  |  |  | </section> | 
| 702 |  |  |  |  |  |  | </article> | 
| 703 |  |  |  |  |  |  | </body> | 
| 704 |  |  |  |  |  |  | </html> | 
| 705 |  |  |  |  |  |  | #>>> copy text _templates/create_gallery.htm | 
| 706 |  |  |  |  |  |  | <html> | 
| 707 |  |  |  |  |  |  | <head> | 
| 708 |  |  |  |  |  |  | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | 
| 709 |  |  |  |  |  |  | <!-- section meta --> | 
| 710 |  |  |  |  |  |  | <base href="$site_url/" /> | 
| 711 |  |  |  |  |  |  | <title>$title</title> | 
| 712 |  |  |  |  |  |  | <meta name="date" content="$mdate" /> | 
| 713 |  |  |  |  |  |  | <meta name="description" content="$description" /> | 
| 714 |  |  |  |  |  |  | <meta name="keywords" content="$keywords" /> | 
| 715 |  |  |  |  |  |  | <meta name="author" content="$author" /> | 
| 716 |  |  |  |  |  |  | <!-- endsection meta --> | 
| 717 |  |  |  |  |  |  | <link rel="stylesheet" id="css_style" href="theme.css"> | 
| 718 |  |  |  |  |  |  | </head> | 
| 719 |  |  |  |  |  |  | <body> | 
| 720 |  |  |  |  |  |  | <header> | 
| 721 |  |  |  |  |  |  | <h1>Site Title</h1> | 
| 722 |  |  |  |  |  |  | </header> | 
| 723 |  |  |  |  |  |  | <article> | 
| 724 |  |  |  |  |  |  | <section id="primary"> | 
| 725 |  |  |  |  |  |  | <!-- section primary --> | 
| 726 |  |  |  |  |  |  | <!-- endsection primary--> | 
| 727 |  |  |  |  |  |  | </section> | 
| 728 |  |  |  |  |  |  | <section id="secondary"> | 
| 729 |  |  |  |  |  |  | <!-- section secondary --> | 
| 730 |  |  |  |  |  |  | <section id="gallery"> | 
| 731 |  |  |  |  |  |  | <!-- for @files --> | 
| 732 |  |  |  |  |  |  | <a href="$index_url#$target"> | 
| 733 |  |  |  |  |  |  | <!-- for @thumb_file --> | 
| 734 |  |  |  |  |  |  | <img class="thumb" src="$url"> | 
| 735 |  |  |  |  |  |  | <!-- endfor --> | 
| 736 |  |  |  |  |  |  | </a> | 
| 737 |  |  |  |  |  |  | <div class="lightbox" id="$target"> | 
| 738 |  |  |  |  |  |  | <a href="$index_url#$target_previous" class="light-btn btn-prev">prev</a> | 
| 739 |  |  |  |  |  |  | <a href="$index_url#_" class="btn-close">X</a> | 
| 740 |  |  |  |  |  |  | <img src="$url"> | 
| 741 |  |  |  |  |  |  | <a href="$index_url#$target_next" class="light-btn btn-next">next</a> | 
| 742 |  |  |  |  |  |  | </div> | 
| 743 |  |  |  |  |  |  | <!-- endfor --> | 
| 744 |  |  |  |  |  |  | </section> | 
| 745 |  |  |  |  |  |  | <!-- endsection secondary--> | 
| 746 |  |  |  |  |  |  | </section> | 
| 747 |  |  |  |  |  |  | </article> | 
| 748 |  |  |  |  |  |  | </body> | 
| 749 |  |  |  |  |  |  | </html> | 
| 750 |  |  |  |  |  |  | #>>> copy text _templates/create_index.htm | 
| 751 |  |  |  |  |  |  | <html> | 
| 752 |  |  |  |  |  |  | <head> | 
| 753 |  |  |  |  |  |  | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | 
| 754 |  |  |  |  |  |  | <!-- section meta --> | 
| 755 |  |  |  |  |  |  | <base href="$site_url/" /> | 
| 756 |  |  |  |  |  |  | <title>$title</title> | 
| 757 |  |  |  |  |  |  | <meta name="date" content="$mdate" /> | 
| 758 |  |  |  |  |  |  | <meta name="description" content="$description" /> | 
| 759 |  |  |  |  |  |  | <meta name="keywords" content="$keywords" /> | 
| 760 |  |  |  |  |  |  | <meta name="author" content="$author" /> | 
| 761 |  |  |  |  |  |  | <!-- endsection meta --> | 
| 762 |  |  |  |  |  |  | </head> | 
| 763 |  |  |  |  |  |  | <body> | 
| 764 |  |  |  |  |  |  | <header> | 
| 765 |  |  |  |  |  |  | <h1>Site Title</h1> | 
| 766 |  |  |  |  |  |  | </header> | 
| 767 |  |  |  |  |  |  | <article> | 
| 768 |  |  |  |  |  |  | <section id="primary"> | 
| 769 |  |  |  |  |  |  | </section> | 
| 770 |  |  |  |  |  |  | <section id="secondary"> | 
| 771 |  |  |  |  |  |  | <!-- section secondary --> | 
| 772 |  |  |  |  |  |  | <h2>$title</h2> | 
| 773 |  |  |  |  |  |  |  | 
| 774 |  |  |  |  |  |  | <ul> | 
| 775 |  |  |  |  |  |  | <!-- for @files_by_title --> | 
| 776 |  |  |  |  |  |  | <li><a href="$url">$title</a></li> | 
| 777 |  |  |  |  |  |  | <!-- endfor --> | 
| 778 |  |  |  |  |  |  | </ul> | 
| 779 |  |  |  |  |  |  | <!-- endsection secondary--> | 
| 780 |  |  |  |  |  |  | </section> | 
| 781 |  |  |  |  |  |  | </article> | 
| 782 |  |  |  |  |  |  | </body> | 
| 783 |  |  |  |  |  |  | </html> | 
| 784 |  |  |  |  |  |  | #>>> copy text _templates/create_news.htm | 
| 785 |  |  |  |  |  |  | <html> | 
| 786 |  |  |  |  |  |  | <head> | 
| 787 |  |  |  |  |  |  | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | 
| 788 |  |  |  |  |  |  | <!-- section meta --> | 
| 789 |  |  |  |  |  |  | <base href="$site_url/" /> | 
| 790 |  |  |  |  |  |  | <title>$title</title> | 
| 791 |  |  |  |  |  |  | <meta name="date" content="$mdate" /> | 
| 792 |  |  |  |  |  |  | <meta name="description" content="$description" /> | 
| 793 |  |  |  |  |  |  | <meta name="keywords" content="$keywords" /> | 
| 794 |  |  |  |  |  |  | <meta name="author" content="$author" /> | 
| 795 |  |  |  |  |  |  | <!-- endsection meta --> | 
| 796 |  |  |  |  |  |  | </head> | 
| 797 |  |  |  |  |  |  | <body> | 
| 798 |  |  |  |  |  |  | <header> | 
| 799 |  |  |  |  |  |  | <h1>Site Title</h1> | 
| 800 |  |  |  |  |  |  | </header> | 
| 801 |  |  |  |  |  |  | <article> | 
| 802 |  |  |  |  |  |  | <section id="primary"> | 
| 803 |  |  |  |  |  |  | </section> | 
| 804 |  |  |  |  |  |  | <section id="secondary"> | 
| 805 |  |  |  |  |  |  | <!-- section secondary --> | 
| 806 |  |  |  |  |  |  | <!-- for @top_files_by_mdate_reversed --> | 
| 807 |  |  |  |  |  |  | <p>$summary</p> | 
| 808 |  |  |  |  |  |  | <p><a href="$url">More ...</a></p> | 
| 809 |  |  |  |  |  |  |  | 
| 810 |  |  |  |  |  |  | <!-- endfor --> | 
| 811 |  |  |  |  |  |  | <h3>Archive</h3> | 
| 812 |  |  |  |  |  |  | <p>Other essays can be found in the following sections:</p> | 
| 813 |  |  |  |  |  |  | <p> | 
| 814 |  |  |  |  |  |  | <!-- for @folders --> | 
| 815 |  |  |  |  |  |  | <a href="$url">$title</a>   | 
| 816 |  |  |  |  |  |  | <!-- endfor --> | 
| 817 |  |  |  |  |  |  | </p> | 
| 818 |  |  |  |  |  |  | <!-- endsection secondary--> | 
| 819 |  |  |  |  |  |  | </section> | 
| 820 |  |  |  |  |  |  | </article> | 
| 821 |  |  |  |  |  |  | </body> | 
| 822 |  |  |  |  |  |  | </html> | 
| 823 |  |  |  |  |  |  | #>>> copy text essays/followme.cfg | 
| 824 |  |  |  |  |  |  | run_before: | 
| 825 |  |  |  |  |  |  | - App::Followme::CreateIndex | 
| 826 |  |  |  |  |  |  | template_file: create_news.htm | 
| 827 |  |  |  |  |  |  | #>>> copy text essays/index.md | 
| 828 |  |  |  |  |  |  | ---- | 
| 829 |  |  |  |  |  |  | title: Essays Directory | 
| 830 |  |  |  |  |  |  | description: A collection of short essays on various topics | 
| 831 |  |  |  |  |  |  | keywords: essays | 
| 832 |  |  |  |  |  |  | ---- | 
| 833 |  |  |  |  |  |  | This folder is configured (via followme.cfg) to contain short essays | 
| 834 |  |  |  |  |  |  | on various topics. To use it, create subdirectories for each topic. | 
| 835 |  |  |  |  |  |  | write your essay in Markdown format, and save the file in the appropriate | 
| 836 |  |  |  |  |  |  | subdirectory. You can also include metadata for the essay, such as the | 
| 837 |  |  |  |  |  |  | title at the top of the file, just as has been done in this file. | 
| 838 |  |  |  |  |  |  |  | 
| 839 |  |  |  |  |  |  | When followme is run, it will create an index for files in the current directory | 
| 840 |  |  |  |  |  |  | and its subdirectories that contain the text of the most recently modified files | 
| 841 |  |  |  |  |  |  | together with links to the files. It can also be used to create a basic weblog. | 
| 842 |  |  |  |  |  |  | #>>> copy text essays/archive/followme.cfg | 
| 843 |  |  |  |  |  |  | run_before: | 
| 844 |  |  |  |  |  |  | - App::Followme::CreateIndex | 
| 845 |  |  |  |  |  |  | template_file: create_index.htm | 
| 846 |  |  |  |  |  |  | #>>> copy text essays/archive/index.md | 
| 847 |  |  |  |  |  |  | ---- | 
| 848 |  |  |  |  |  |  | title: Archive Directory | 
| 849 |  |  |  |  |  |  | description: Archive of short essays | 
| 850 |  |  |  |  |  |  | keywords: essays, archive | 
| 851 |  |  |  |  |  |  | ---- | 
| 852 |  |  |  |  |  |  | This folder is configured (via followme.cfg) to contain an archive of | 
| 853 |  |  |  |  |  |  | previously written essays. When followme is run, it will create an index | 
| 854 |  |  |  |  |  |  | for files in the current directory  containing a link to each essay in the | 
| 855 |  |  |  |  |  |  | archive. | 
| 856 |  |  |  |  |  |  | #>>> copy text photos/followme.cfg | 
| 857 |  |  |  |  |  |  | run_before: | 
| 858 |  |  |  |  |  |  | - App::Followme::CreateGallery | 
| 859 |  |  |  |  |  |  | target_prefix: img | 
| 860 |  |  |  |  |  |  | #>>> copy text photos/index.md | 
| 861 |  |  |  |  |  |  | ---- | 
| 862 |  |  |  |  |  |  | title: Photo Gallery | 
| 863 |  |  |  |  |  |  | description: A collection of photos of interest | 
| 864 |  |  |  |  |  |  | ---- | 
| 865 |  |  |  |  |  |  | This folder is configured (via followme.cfg) to contain a photo | 
| 866 |  |  |  |  |  |  | gallery. If you add or subtract photos from this folder and run | 
| 867 |  |  |  |  |  |  | followme, it will update the gallery. Each photo must have a | 
| 868 |  |  |  |  |  |  | thumbnail whose name is related to the photo like this: | 
| 869 |  |  |  |  |  |  | photo-thumb.jpg. The suffix (-thumb) can be set in the configuration | 
| 870 |  |  |  |  |  |  | file. |