| line | stmt | bran | cond | sub | pod | time | code | 
| 1 |  |  |  |  |  |  | package Faker::Plugin; | 
| 2 |  |  |  |  |  |  |  | 
| 3 | 149 |  |  | 149 |  | 118658 | use 5.018; | 
|  | 149 |  |  |  |  | 541 |  | 
| 4 |  |  |  |  |  |  |  | 
| 5 | 149 |  |  | 149 |  | 820 | use strict; | 
|  | 149 |  |  |  |  | 314 |  | 
|  | 149 |  |  |  |  | 3099 |  | 
| 6 | 149 |  |  | 149 |  | 728 | use warnings; | 
|  | 149 |  |  |  |  | 346 |  | 
|  | 149 |  |  |  |  | 4578 |  | 
| 7 |  |  |  |  |  |  |  | 
| 8 | 149 |  |  | 149 |  | 931 | use Venus::Class 'attr', 'with'; | 
|  | 149 |  |  |  |  | 426 |  | 
|  | 149 |  |  |  |  | 3483 |  | 
| 9 |  |  |  |  |  |  |  | 
| 10 |  |  |  |  |  |  | with 'Venus::Role::Buildable'; | 
| 11 |  |  |  |  |  |  | with 'Venus::Role::Optional'; | 
| 12 |  |  |  |  |  |  |  | 
| 13 |  |  |  |  |  |  | # VERSION | 
| 14 |  |  |  |  |  |  |  | 
| 15 |  |  |  |  |  |  | our $VERSION = '1.17'; | 
| 16 |  |  |  |  |  |  |  | 
| 17 |  |  |  |  |  |  | # ATTRIBUTES | 
| 18 |  |  |  |  |  |  |  | 
| 19 |  |  |  |  |  |  | attr 'faker'; | 
| 20 |  |  |  |  |  |  |  | 
| 21 |  |  |  |  |  |  | # DEFAULTS | 
| 22 |  |  |  |  |  |  |  | 
| 23 |  |  |  |  |  |  | sub coerce_faker { | 
| 24 | 8985 |  |  | 8985 | 0 | 4201862 | return 'Faker'; | 
| 25 |  |  |  |  |  |  | } | 
| 26 |  |  |  |  |  |  |  | 
| 27 |  |  |  |  |  |  | sub default_faker { | 
| 28 | 448 |  |  | 448 | 0 | 2065602 | return {}; | 
| 29 |  |  |  |  |  |  | } | 
| 30 |  |  |  |  |  |  |  | 
| 31 |  |  |  |  |  |  | # METHODS | 
| 32 |  |  |  |  |  |  |  | 
| 33 |  |  |  |  |  |  | sub execute { | 
| 34 | 1 |  |  | 1 | 1 | 11266 | my ($self, $data) = @_; | 
| 35 |  |  |  |  |  |  |  | 
| 36 | 1 |  |  |  |  | 7 | return ''; | 
| 37 |  |  |  |  |  |  | } | 
| 38 |  |  |  |  |  |  |  | 
| 39 |  |  |  |  |  |  | sub process { | 
| 40 | 5 |  |  | 5 | 1 | 7396 | my ($self, $data, @types) = @_; | 
| 41 |  |  |  |  |  |  |  | 
| 42 | 5 |  |  |  |  | 38 | return $self->process_format($self->process_markers($data, @types)); | 
| 43 |  |  |  |  |  |  | } | 
| 44 |  |  |  |  |  |  |  | 
| 45 |  |  |  |  |  |  | sub process_format { | 
| 46 | 292 |  |  | 292 | 1 | 21398 | my ($self, $data) = @_; | 
| 47 |  |  |  |  |  |  |  | 
| 48 | 292 | 100 |  |  |  | 1290 | $data = join ' ', @$data if ref $data eq 'ARRAY'; | 
| 49 |  |  |  |  |  |  |  | 
| 50 | 292 |  |  |  |  | 2545 | $data =~ s/\{\{\s?([#\.\w]+)\s?\}\}/$self->resolve($1)/eg; | 
|  | 637 |  |  |  |  | 96731 |  | 
| 51 |  |  |  |  |  |  |  | 
| 52 | 292 |  |  |  |  | 80480 | return $data; | 
| 53 |  |  |  |  |  |  | } | 
| 54 |  |  |  |  |  |  |  | 
| 55 |  |  |  |  |  |  | sub process_markers { | 
| 56 | 188 |  |  | 188 | 1 | 47741 | my ($self, $data, @types) = @_; | 
| 57 |  |  |  |  |  |  |  | 
| 58 | 188 | 100 |  |  |  | 1137 | my @methods = map "process_markers_for_${_}", ( | 
| 59 |  |  |  |  |  |  | @types ? @types : qw(letters newlines numbers) | 
| 60 |  |  |  |  |  |  | ); | 
| 61 |  |  |  |  |  |  |  | 
| 62 | 188 |  |  |  |  | 527 | for my $method (@methods) { | 
| 63 | 255 |  |  |  |  | 1144 | $data = $self->$method($data); | 
| 64 |  |  |  |  |  |  | } | 
| 65 |  |  |  |  |  |  |  | 
| 66 | 188 |  |  |  |  | 1395 | return $data; | 
| 67 |  |  |  |  |  |  | } | 
| 68 |  |  |  |  |  |  |  | 
| 69 |  |  |  |  |  |  | sub process_markers_for_letters { | 
| 70 | 41 |  |  | 41 | 0 | 130 | my ($self, $data) = @_; | 
| 71 |  |  |  |  |  |  |  | 
| 72 | 41 |  |  |  |  | 165 | my $random = $self->faker->random; | 
| 73 |  |  |  |  |  |  |  | 
| 74 | 41 |  |  |  |  | 250 | $data =~ s/\?/$random->letter/eg; | 
|  | 12 |  |  |  |  | 141 |  | 
| 75 |  |  |  |  |  |  |  | 
| 76 | 41 |  |  |  |  | 894 | return $data; | 
| 77 |  |  |  |  |  |  | } | 
| 78 |  |  |  |  |  |  |  | 
| 79 |  |  |  |  |  |  | sub process_markers_for_newlines { | 
| 80 | 48 |  |  | 48 | 0 | 175 | my ($self, $data) = @_; | 
| 81 |  |  |  |  |  |  |  | 
| 82 | 48 |  |  |  |  | 168 | $data =~ s/\\n/\n/g; | 
| 83 |  |  |  |  |  |  |  | 
| 84 | 48 |  |  |  |  | 135 | return $data; | 
| 85 |  |  |  |  |  |  | } | 
| 86 |  |  |  |  |  |  |  | 
| 87 |  |  |  |  |  |  | sub process_markers_for_numbers { | 
| 88 | 166 |  |  | 166 | 0 | 453 | my ($self, $data) = @_; | 
| 89 |  |  |  |  |  |  |  | 
| 90 | 166 |  |  |  |  | 554 | my $random = $self->faker->random; | 
| 91 |  |  |  |  |  |  |  | 
| 92 | 166 |  |  |  |  | 1055 | $data =~ s/\#/$random->digit/eg; | 
|  | 802 |  |  |  |  | 6180 |  | 
| 93 | 166 |  |  |  |  | 1720 | $data =~ s/\%/$random->nonzero('digit')/eg; | 
|  | 27 |  |  |  |  | 124 |  | 
| 94 |  |  |  |  |  |  |  | 
| 95 | 166 |  |  |  |  | 1111 | return $data; | 
| 96 |  |  |  |  |  |  | } | 
| 97 |  |  |  |  |  |  |  | 
| 98 |  |  |  |  |  |  | sub resolve { | 
| 99 | 640 |  |  | 640 | 1 | 36129 | my ($self, $method) = @_; | 
| 100 |  |  |  |  |  |  |  | 
| 101 | 640 |  |  |  |  | 2092 | return $self->faker->$method; | 
| 102 |  |  |  |  |  |  | } | 
| 103 |  |  |  |  |  |  |  | 
| 104 |  |  |  |  |  |  | sub transliterate { | 
| 105 | 13 |  |  | 13 | 0 | 721 | my ($self, $data) = @_; | 
| 106 |  |  |  |  |  |  |  | 
| 107 | 13 |  |  |  |  | 1934 | state $table = { | 
| 108 |  |  |  |  |  |  | "'" => '', | 
| 109 |  |  |  |  |  |  | '/' => '', | 
| 110 |  |  |  |  |  |  | 'À' => 'A', | 
| 111 |  |  |  |  |  |  | 'Á' => 'A', | 
| 112 |  |  |  |  |  |  | 'Â' => 'A', | 
| 113 |  |  |  |  |  |  | 'Ã' => 'A', | 
| 114 |  |  |  |  |  |  | 'Ä' => 'A', | 
| 115 |  |  |  |  |  |  | 'Å' => 'A', | 
| 116 |  |  |  |  |  |  | 'Æ' => 'A', | 
| 117 |  |  |  |  |  |  | 'Ç' => 'C', | 
| 118 |  |  |  |  |  |  | 'È' => 'E', | 
| 119 |  |  |  |  |  |  | 'É' => 'E', | 
| 120 |  |  |  |  |  |  | 'Ê' => 'E', | 
| 121 |  |  |  |  |  |  | 'Ë' => 'E', | 
| 122 |  |  |  |  |  |  | 'Ì' => 'I', | 
| 123 |  |  |  |  |  |  | 'Í' => 'I', | 
| 124 |  |  |  |  |  |  | 'Î' => 'I', | 
| 125 |  |  |  |  |  |  | 'Ï' => 'I', | 
| 126 |  |  |  |  |  |  | 'Ð' => 'D', | 
| 127 |  |  |  |  |  |  | 'Ñ' => 'N', | 
| 128 |  |  |  |  |  |  | 'Ò' => 'O', | 
| 129 |  |  |  |  |  |  | 'Ó' => 'O', | 
| 130 |  |  |  |  |  |  | 'Ô' => 'O', | 
| 131 |  |  |  |  |  |  | 'Õ' => 'O', | 
| 132 |  |  |  |  |  |  | 'Ö' => 'O', | 
| 133 |  |  |  |  |  |  | 'Ø' => 'O', | 
| 134 |  |  |  |  |  |  | 'Ù' => 'U', | 
| 135 |  |  |  |  |  |  | 'Ú' => 'U', | 
| 136 |  |  |  |  |  |  | 'Û' => 'U', | 
| 137 |  |  |  |  |  |  | 'Ü' => 'U', | 
| 138 |  |  |  |  |  |  | 'Ý' => 'Y', | 
| 139 |  |  |  |  |  |  | 'Þ' => 'T', | 
| 140 |  |  |  |  |  |  | 'ß' => 's', | 
| 141 |  |  |  |  |  |  | 'à' => 'a', | 
| 142 |  |  |  |  |  |  | 'á' => 'a', | 
| 143 |  |  |  |  |  |  | 'â' => 'a', | 
| 144 |  |  |  |  |  |  | 'ã' => 'a', | 
| 145 |  |  |  |  |  |  | 'ä' => 'a', | 
| 146 |  |  |  |  |  |  | 'å' => 'a', | 
| 147 |  |  |  |  |  |  | 'æ' => 'a', | 
| 148 |  |  |  |  |  |  | 'ç' => 'c', | 
| 149 |  |  |  |  |  |  | 'è' => 'e', | 
| 150 |  |  |  |  |  |  | 'é' => 'e', | 
| 151 |  |  |  |  |  |  | 'ê' => 'e', | 
| 152 |  |  |  |  |  |  | 'ë' => 'e', | 
| 153 |  |  |  |  |  |  | 'ì' => 'i', | 
| 154 |  |  |  |  |  |  | 'í' => 'i', | 
| 155 |  |  |  |  |  |  | 'î' => 'i', | 
| 156 |  |  |  |  |  |  | 'ï' => 'i', | 
| 157 |  |  |  |  |  |  | 'ð' => 'd', | 
| 158 |  |  |  |  |  |  | 'ñ' => 'n', | 
| 159 |  |  |  |  |  |  | 'ò' => 'o', | 
| 160 |  |  |  |  |  |  | 'ó' => 'o', | 
| 161 |  |  |  |  |  |  | 'ô' => 'o', | 
| 162 |  |  |  |  |  |  | 'õ' => 'o', | 
| 163 |  |  |  |  |  |  | 'ö' => 'o', | 
| 164 |  |  |  |  |  |  | 'ø' => 'o', | 
| 165 |  |  |  |  |  |  | 'ù' => 'u', | 
| 166 |  |  |  |  |  |  | 'ú' => 'u', | 
| 167 |  |  |  |  |  |  | 'û' => 'u', | 
| 168 |  |  |  |  |  |  | 'ü' => 'u', | 
| 169 |  |  |  |  |  |  | 'ý' => 'y', | 
| 170 |  |  |  |  |  |  | 'þ' => 't', | 
| 171 |  |  |  |  |  |  | 'ÿ' => 'y', | 
| 172 |  |  |  |  |  |  | 'Ā' => 'A', | 
| 173 |  |  |  |  |  |  | 'ā' => 'a', | 
| 174 |  |  |  |  |  |  | 'Ă' => 'A', | 
| 175 |  |  |  |  |  |  | 'ă' => 'a', | 
| 176 |  |  |  |  |  |  | 'Ą' => 'A', | 
| 177 |  |  |  |  |  |  | 'ą' => 'a', | 
| 178 |  |  |  |  |  |  | 'Ć' => 'C', | 
| 179 |  |  |  |  |  |  | 'ć' => 'c', | 
| 180 |  |  |  |  |  |  | 'Ĉ' => 'C', | 
| 181 |  |  |  |  |  |  | 'ĉ' => 'c', | 
| 182 |  |  |  |  |  |  | 'Ċ' => 'C', | 
| 183 |  |  |  |  |  |  | 'ċ' => 'c', | 
| 184 |  |  |  |  |  |  | 'Č' => 'C', | 
| 185 |  |  |  |  |  |  | 'č' => 'c', | 
| 186 |  |  |  |  |  |  | 'Ď' => 'D', | 
| 187 |  |  |  |  |  |  | 'ď' => 'd', | 
| 188 |  |  |  |  |  |  | 'Đ' => 'D', | 
| 189 |  |  |  |  |  |  | 'đ' => 'd', | 
| 190 |  |  |  |  |  |  | 'Ē' => 'E', | 
| 191 |  |  |  |  |  |  | 'ē' => 'e', | 
| 192 |  |  |  |  |  |  | 'Ĕ' => 'E', | 
| 193 |  |  |  |  |  |  | 'ĕ' => 'e', | 
| 194 |  |  |  |  |  |  | 'Ė' => 'E', | 
| 195 |  |  |  |  |  |  | 'ė' => 'e', | 
| 196 |  |  |  |  |  |  | 'Ę' => 'E', | 
| 197 |  |  |  |  |  |  | 'ę' => 'e', | 
| 198 |  |  |  |  |  |  | 'Ě' => 'E', | 
| 199 |  |  |  |  |  |  | 'ě' => 'e', | 
| 200 |  |  |  |  |  |  | 'Ĝ' => 'G', | 
| 201 |  |  |  |  |  |  | 'ĝ' => 'g', | 
| 202 |  |  |  |  |  |  | 'Ğ' => 'G', | 
| 203 |  |  |  |  |  |  | 'ğ' => 'g', | 
| 204 |  |  |  |  |  |  | 'Ġ' => 'G', | 
| 205 |  |  |  |  |  |  | 'ġ' => 'g', | 
| 206 |  |  |  |  |  |  | 'Ģ' => 'G', | 
| 207 |  |  |  |  |  |  | 'ģ' => 'g', | 
| 208 |  |  |  |  |  |  | 'Ĥ' => 'H', | 
| 209 |  |  |  |  |  |  | 'ĥ' => 'h', | 
| 210 |  |  |  |  |  |  | 'Ħ' => 'H', | 
| 211 |  |  |  |  |  |  | 'ħ' => 'h', | 
| 212 |  |  |  |  |  |  | 'Ĩ' => 'I', | 
| 213 |  |  |  |  |  |  | 'ĩ' => 'i', | 
| 214 |  |  |  |  |  |  | 'Ī' => 'I', | 
| 215 |  |  |  |  |  |  | 'ī' => 'i', | 
| 216 |  |  |  |  |  |  | 'Ĭ' => 'I', | 
| 217 |  |  |  |  |  |  | 'ĭ' => 'i', | 
| 218 |  |  |  |  |  |  | 'Į' => 'I', | 
| 219 |  |  |  |  |  |  | 'į' => 'i', | 
| 220 |  |  |  |  |  |  | 'İ' => 'I', | 
| 221 |  |  |  |  |  |  | 'ı' => 'i', | 
| 222 |  |  |  |  |  |  | 'IJ' => 'I', | 
| 223 |  |  |  |  |  |  | 'ij' => 'i', | 
| 224 |  |  |  |  |  |  | 'Ĵ' => 'J', | 
| 225 |  |  |  |  |  |  | 'ĵ' => 'j', | 
| 226 |  |  |  |  |  |  | 'Ķ' => 'K', | 
| 227 |  |  |  |  |  |  | 'ķ' => 'k', | 
| 228 |  |  |  |  |  |  | 'ĸ' => 'k', | 
| 229 |  |  |  |  |  |  | 'Ĺ' => 'K', | 
| 230 |  |  |  |  |  |  | 'ĺ' => 'l', | 
| 231 |  |  |  |  |  |  | 'Ļ' => 'K', | 
| 232 |  |  |  |  |  |  | 'ļ' => 'l', | 
| 233 |  |  |  |  |  |  | 'Ľ' => 'K', | 
| 234 |  |  |  |  |  |  | 'ľ' => 'l', | 
| 235 |  |  |  |  |  |  | 'Ŀ' => 'K', | 
| 236 |  |  |  |  |  |  | 'ŀ' => 'l', | 
| 237 |  |  |  |  |  |  | 'Ł' => 'L', | 
| 238 |  |  |  |  |  |  | 'ł' => 'l', | 
| 239 |  |  |  |  |  |  | 'Ń' => 'N', | 
| 240 |  |  |  |  |  |  | 'ń' => 'n', | 
| 241 |  |  |  |  |  |  | 'Ņ' => 'N', | 
| 242 |  |  |  |  |  |  | 'ņ' => 'n', | 
| 243 |  |  |  |  |  |  | 'Ň' => 'N', | 
| 244 |  |  |  |  |  |  | 'ň' => 'n', | 
| 245 |  |  |  |  |  |  | 'ʼn' => 'n', | 
| 246 |  |  |  |  |  |  | 'Ŋ' => 'N', | 
| 247 |  |  |  |  |  |  | 'ŋ' => 'n', | 
| 248 |  |  |  |  |  |  | 'Ō' => 'O', | 
| 249 |  |  |  |  |  |  | 'ō' => 'o', | 
| 250 |  |  |  |  |  |  | 'Ŏ' => 'O', | 
| 251 |  |  |  |  |  |  | 'ŏ' => 'o', | 
| 252 |  |  |  |  |  |  | 'Ő' => 'O', | 
| 253 |  |  |  |  |  |  | 'ő' => 'o', | 
| 254 |  |  |  |  |  |  | 'Œ' => 'O', | 
| 255 |  |  |  |  |  |  | 'œ' => 'o', | 
| 256 |  |  |  |  |  |  | 'Ŕ' => 'R', | 
| 257 |  |  |  |  |  |  | 'ŕ' => 'r', | 
| 258 |  |  |  |  |  |  | 'Ŗ' => 'R', | 
| 259 |  |  |  |  |  |  | 'ŗ' => 'r', | 
| 260 |  |  |  |  |  |  | 'Ř' => 'R', | 
| 261 |  |  |  |  |  |  | 'ř' => 'r', | 
| 262 |  |  |  |  |  |  | 'Ś' => 'S', | 
| 263 |  |  |  |  |  |  | 'ś' => 's', | 
| 264 |  |  |  |  |  |  | 'Ŝ' => 'S', | 
| 265 |  |  |  |  |  |  | 'Ş' => 'S', | 
| 266 |  |  |  |  |  |  | 'ş' => 's', | 
| 267 |  |  |  |  |  |  | 'Š' => 'S', | 
| 268 |  |  |  |  |  |  | 'š' => 's', | 
| 269 |  |  |  |  |  |  | 'Ţ' => 'T', | 
| 270 |  |  |  |  |  |  | 'ţ' => 't', | 
| 271 |  |  |  |  |  |  | 'Ť' => 'T', | 
| 272 |  |  |  |  |  |  | 'ť' => 't', | 
| 273 |  |  |  |  |  |  | 'Ŧ' => 'T', | 
| 274 |  |  |  |  |  |  | 'Ũ' => 'U', | 
| 275 |  |  |  |  |  |  | 'ũ' => 'u', | 
| 276 |  |  |  |  |  |  | 'Ū' => 'U', | 
| 277 |  |  |  |  |  |  | 'ū' => 'u', | 
| 278 |  |  |  |  |  |  | 'Ŭ' => 'U', | 
| 279 |  |  |  |  |  |  | 'ŭ' => 'u', | 
| 280 |  |  |  |  |  |  | 'Ů' => 'U', | 
| 281 |  |  |  |  |  |  | 'ů' => 'u', | 
| 282 |  |  |  |  |  |  | 'Ű' => 'U', | 
| 283 |  |  |  |  |  |  | 'ű' => 'u', | 
| 284 |  |  |  |  |  |  | 'Ų' => 'U', | 
| 285 |  |  |  |  |  |  | 'ų' => 'u', | 
| 286 |  |  |  |  |  |  | 'Ŵ' => 'W', | 
| 287 |  |  |  |  |  |  | 'ŵ' => 'w', | 
| 288 |  |  |  |  |  |  | 'Ŷ' => 'Y', | 
| 289 |  |  |  |  |  |  | 'ŷ' => 'y', | 
| 290 |  |  |  |  |  |  | 'Ÿ' => 'Y', | 
| 291 |  |  |  |  |  |  | 'Ź' => 'Z', | 
| 292 |  |  |  |  |  |  | 'ź' => 'z', | 
| 293 |  |  |  |  |  |  | 'Ż' => 'Z', | 
| 294 |  |  |  |  |  |  | 'ż' => 'z', | 
| 295 |  |  |  |  |  |  | 'Ž' => 'Z', | 
| 296 |  |  |  |  |  |  | 'ž' => 'z', | 
| 297 |  |  |  |  |  |  | 'ſ' => 's', | 
| 298 |  |  |  |  |  |  | 'ƒ' => 'f', | 
| 299 |  |  |  |  |  |  | 'ơ' => 'o', | 
| 300 |  |  |  |  |  |  | 'ư' => 'u', | 
| 301 |  |  |  |  |  |  | 'Ș' => 'S', | 
| 302 |  |  |  |  |  |  | 'ș' => 's', | 
| 303 |  |  |  |  |  |  | 'Ț' => 'T', | 
| 304 |  |  |  |  |  |  | 'ț' => 't', | 
| 305 |  |  |  |  |  |  | 'ʼ' => "'", | 
| 306 |  |  |  |  |  |  | '̧' => '', | 
| 307 |  |  |  |  |  |  | 'Ά' => 'A', | 
| 308 |  |  |  |  |  |  | 'Έ' => 'E', | 
| 309 |  |  |  |  |  |  | 'Ή' => 'I', | 
| 310 |  |  |  |  |  |  | 'Ί' => 'I', | 
| 311 |  |  |  |  |  |  | 'Ό' => 'O', | 
| 312 |  |  |  |  |  |  | 'Ύ' => 'Y', | 
| 313 |  |  |  |  |  |  | 'Ώ' => 'O', | 
| 314 |  |  |  |  |  |  | 'ΐ' => 'i', | 
| 315 |  |  |  |  |  |  | 'Α' => 'A', | 
| 316 |  |  |  |  |  |  | 'Β' => 'B', | 
| 317 |  |  |  |  |  |  | 'Γ' => 'G', | 
| 318 |  |  |  |  |  |  | 'Δ' => 'D', | 
| 319 |  |  |  |  |  |  | 'Ε' => 'E', | 
| 320 |  |  |  |  |  |  | 'Ζ' => 'Z', | 
| 321 |  |  |  |  |  |  | 'Η' => 'I', | 
| 322 |  |  |  |  |  |  | 'Θ' => 'T', | 
| 323 |  |  |  |  |  |  | 'Ι' => 'I', | 
| 324 |  |  |  |  |  |  | 'Κ' => 'K', | 
| 325 |  |  |  |  |  |  | 'Λ' => 'L', | 
| 326 |  |  |  |  |  |  | 'Μ' => 'M', | 
| 327 |  |  |  |  |  |  | 'Ν' => 'N', | 
| 328 |  |  |  |  |  |  | 'Ξ' => 'K', | 
| 329 |  |  |  |  |  |  | 'Ο' => 'O', | 
| 330 |  |  |  |  |  |  | 'Π' => 'P', | 
| 331 |  |  |  |  |  |  | 'Ρ' => 'R', | 
| 332 |  |  |  |  |  |  | 'Σ' => 'S', | 
| 333 |  |  |  |  |  |  | 'Τ' => 'T', | 
| 334 |  |  |  |  |  |  | 'Υ' => 'Y', | 
| 335 |  |  |  |  |  |  | 'Φ' => 'F', | 
| 336 |  |  |  |  |  |  | 'Χ' => 'X', | 
| 337 |  |  |  |  |  |  | 'Ψ' => 'P', | 
| 338 |  |  |  |  |  |  | 'Ω' => 'O', | 
| 339 |  |  |  |  |  |  | 'Ϊ' => 'I', | 
| 340 |  |  |  |  |  |  | 'Ϋ' => 'Y', | 
| 341 |  |  |  |  |  |  | 'ά' => 'a', | 
| 342 |  |  |  |  |  |  | 'έ' => 'e', | 
| 343 |  |  |  |  |  |  | 'ή' => 'i', | 
| 344 |  |  |  |  |  |  | 'ί' => 'i', | 
| 345 |  |  |  |  |  |  | 'ΰ' => 'y', | 
| 346 |  |  |  |  |  |  | 'α' => 'a', | 
| 347 |  |  |  |  |  |  | 'β' => 'b', | 
| 348 |  |  |  |  |  |  | 'γ' => 'g', | 
| 349 |  |  |  |  |  |  | 'δ' => 'd', | 
| 350 |  |  |  |  |  |  | 'ε' => 'e', | 
| 351 |  |  |  |  |  |  | 'ζ' => 'z', | 
| 352 |  |  |  |  |  |  | 'η' => 'i', | 
| 353 |  |  |  |  |  |  | 'θ' => 't', | 
| 354 |  |  |  |  |  |  | 'ι' => 'i', | 
| 355 |  |  |  |  |  |  | 'κ' => 'k', | 
| 356 |  |  |  |  |  |  | 'λ' => 'l', | 
| 357 |  |  |  |  |  |  | 'μ' => 'm', | 
| 358 |  |  |  |  |  |  | 'ν' => 'n', | 
| 359 |  |  |  |  |  |  | 'ξ' => 'k', | 
| 360 |  |  |  |  |  |  | 'ο' => 'o', | 
| 361 |  |  |  |  |  |  | 'π' => 'p', | 
| 362 |  |  |  |  |  |  | 'ρ' => 'r', | 
| 363 |  |  |  |  |  |  | 'ς' => 's', | 
| 364 |  |  |  |  |  |  | 'σ' => 's', | 
| 365 |  |  |  |  |  |  | 'τ' => 't', | 
| 366 |  |  |  |  |  |  | 'υ' => 'y', | 
| 367 |  |  |  |  |  |  | 'φ' => 'f', | 
| 368 |  |  |  |  |  |  | 'χ' => 'x', | 
| 369 |  |  |  |  |  |  | 'ψ' => 'p', | 
| 370 |  |  |  |  |  |  | 'ω' => 'o', | 
| 371 |  |  |  |  |  |  | 'ϊ' => 'i', | 
| 372 |  |  |  |  |  |  | 'ϋ' => 'y', | 
| 373 |  |  |  |  |  |  | 'ό' => 'o', | 
| 374 |  |  |  |  |  |  | 'ύ' => 'y', | 
| 375 |  |  |  |  |  |  | 'ώ' => 'o', | 
| 376 |  |  |  |  |  |  | 'Ё' => 'E', | 
| 377 |  |  |  |  |  |  | 'А' => 'A', | 
| 378 |  |  |  |  |  |  | 'Б' => 'B', | 
| 379 |  |  |  |  |  |  | 'В' => 'V', | 
| 380 |  |  |  |  |  |  | 'Г' => 'G', | 
| 381 |  |  |  |  |  |  | 'Д' => 'D', | 
| 382 |  |  |  |  |  |  | 'Е' => 'E', | 
| 383 |  |  |  |  |  |  | 'Ж' => 'Z', | 
| 384 |  |  |  |  |  |  | 'З' => 'Z', | 
| 385 |  |  |  |  |  |  | 'И' => 'I', | 
| 386 |  |  |  |  |  |  | 'Й' => 'I', | 
| 387 |  |  |  |  |  |  | 'К' => 'K', | 
| 388 |  |  |  |  |  |  | 'Л' => 'L', | 
| 389 |  |  |  |  |  |  | 'М' => 'M', | 
| 390 |  |  |  |  |  |  | 'Н' => 'N', | 
| 391 |  |  |  |  |  |  | 'О' => 'O', | 
| 392 |  |  |  |  |  |  | 'П' => 'P', | 
| 393 |  |  |  |  |  |  | 'Р' => 'R', | 
| 394 |  |  |  |  |  |  | 'С' => 'S', | 
| 395 |  |  |  |  |  |  | 'Т' => 'T', | 
| 396 |  |  |  |  |  |  | 'У' => 'U', | 
| 397 |  |  |  |  |  |  | 'Ф' => 'F', | 
| 398 |  |  |  |  |  |  | 'Х' => 'K', | 
| 399 |  |  |  |  |  |  | 'Ц' => 'T', | 
| 400 |  |  |  |  |  |  | 'Ч' => 'C', | 
| 401 |  |  |  |  |  |  | 'Ш' => 'S', | 
| 402 |  |  |  |  |  |  | 'Щ' => 'S', | 
| 403 |  |  |  |  |  |  | 'Ы' => 'Y', | 
| 404 |  |  |  |  |  |  | 'Э' => 'E', | 
| 405 |  |  |  |  |  |  | 'Ю' => 'Y', | 
| 406 |  |  |  |  |  |  | 'Я' => 'Y', | 
| 407 |  |  |  |  |  |  | 'а' => 'A', | 
| 408 |  |  |  |  |  |  | 'б' => 'B', | 
| 409 |  |  |  |  |  |  | 'в' => 'V', | 
| 410 |  |  |  |  |  |  | 'г' => 'G', | 
| 411 |  |  |  |  |  |  | 'д' => 'D', | 
| 412 |  |  |  |  |  |  | 'е' => 'E', | 
| 413 |  |  |  |  |  |  | 'ж' => 'Z', | 
| 414 |  |  |  |  |  |  | 'з' => 'Z', | 
| 415 |  |  |  |  |  |  | 'и' => 'I', | 
| 416 |  |  |  |  |  |  | 'й' => 'I', | 
| 417 |  |  |  |  |  |  | 'к' => 'K', | 
| 418 |  |  |  |  |  |  | 'л' => 'L', | 
| 419 |  |  |  |  |  |  | 'м' => 'M', | 
| 420 |  |  |  |  |  |  | 'н' => 'N', | 
| 421 |  |  |  |  |  |  | 'о' => 'O', | 
| 422 |  |  |  |  |  |  | 'п' => 'P', | 
| 423 |  |  |  |  |  |  | 'р' => 'R', | 
| 424 |  |  |  |  |  |  | 'с' => 'S', | 
| 425 |  |  |  |  |  |  | 'т' => 'T', | 
| 426 |  |  |  |  |  |  | 'у' => 'U', | 
| 427 |  |  |  |  |  |  | 'ф' => 'F', | 
| 428 |  |  |  |  |  |  | 'х' => 'K', | 
| 429 |  |  |  |  |  |  | 'ц' => 'T', | 
| 430 |  |  |  |  |  |  | 'ч' => 'C', | 
| 431 |  |  |  |  |  |  | 'ш' => 'S', | 
| 432 |  |  |  |  |  |  | 'щ' => 'S', | 
| 433 |  |  |  |  |  |  | 'ы' => 'Y', | 
| 434 |  |  |  |  |  |  | 'э' => 'E', | 
| 435 |  |  |  |  |  |  | 'ю' => 'Y', | 
| 436 |  |  |  |  |  |  | 'я' => 'Y', | 
| 437 |  |  |  |  |  |  | 'ё' => 'E', | 
| 438 |  |  |  |  |  |  | 'ա' => 'a', | 
| 439 |  |  |  |  |  |  | 'բ' => 'b', | 
| 440 |  |  |  |  |  |  | 'գ' => 'g', | 
| 441 |  |  |  |  |  |  | 'դ' => 'd', | 
| 442 |  |  |  |  |  |  | 'ե' => 'e', | 
| 443 |  |  |  |  |  |  | 'զ' => 'z', | 
| 444 |  |  |  |  |  |  | 'է' => 'e', | 
| 445 |  |  |  |  |  |  | 'ը' => 'y', | 
| 446 |  |  |  |  |  |  | 'թ' => 't', | 
| 447 |  |  |  |  |  |  | 'ժ' => 'zh', | 
| 448 |  |  |  |  |  |  | 'ի' => 'i', | 
| 449 |  |  |  |  |  |  | 'լ' => 'l', | 
| 450 |  |  |  |  |  |  | 'խ' => 'kh', | 
| 451 |  |  |  |  |  |  | 'ծ' => 'ts', | 
| 452 |  |  |  |  |  |  | 'կ' => 'k', | 
| 453 |  |  |  |  |  |  | 'հ' => 'h', | 
| 454 |  |  |  |  |  |  | 'ձ' => 'dz', | 
| 455 |  |  |  |  |  |  | 'ղ' => 'gh', | 
| 456 |  |  |  |  |  |  | 'ճ' => 'ch', | 
| 457 |  |  |  |  |  |  | 'մ' => 'm', | 
| 458 |  |  |  |  |  |  | 'յ' => 'y', | 
| 459 |  |  |  |  |  |  | 'ն' => 'n', | 
| 460 |  |  |  |  |  |  | 'շ' => 'sh', | 
| 461 |  |  |  |  |  |  | 'ո' => 'o', | 
| 462 |  |  |  |  |  |  | 'ու' => 'u', | 
| 463 |  |  |  |  |  |  | 'չ' => 'ch', | 
| 464 |  |  |  |  |  |  | 'պ' => 'p', | 
| 465 |  |  |  |  |  |  | 'ջ' => 'j', | 
| 466 |  |  |  |  |  |  | 'ռ' => 'r', | 
| 467 |  |  |  |  |  |  | 'ս' => 's', | 
| 468 |  |  |  |  |  |  | 'վ' => 'v', | 
| 469 |  |  |  |  |  |  | 'տ' => 't', | 
| 470 |  |  |  |  |  |  | 'ր' => 'r', | 
| 471 |  |  |  |  |  |  | 'ց' => 'ts', | 
| 472 |  |  |  |  |  |  | 'փ' => 'p', | 
| 473 |  |  |  |  |  |  | 'ք' => 'q', | 
| 474 |  |  |  |  |  |  | 'օ' => 'o', | 
| 475 |  |  |  |  |  |  | 'ֆ' => 'f', | 
| 476 |  |  |  |  |  |  | 'և' => 'ev', | 
| 477 |  |  |  |  |  |  | 'ა' => 'a', | 
| 478 |  |  |  |  |  |  | 'ბ' => 'b', | 
| 479 |  |  |  |  |  |  | 'გ' => 'g', | 
| 480 |  |  |  |  |  |  | 'დ' => 'd', | 
| 481 |  |  |  |  |  |  | 'ე' => 'e', | 
| 482 |  |  |  |  |  |  | 'ვ' => 'v', | 
| 483 |  |  |  |  |  |  | 'ზ' => 'z', | 
| 484 |  |  |  |  |  |  | 'თ' => 't', | 
| 485 |  |  |  |  |  |  | 'ი' => 'i', | 
| 486 |  |  |  |  |  |  | 'კ' => 'k', | 
| 487 |  |  |  |  |  |  | 'ლ' => 'l', | 
| 488 |  |  |  |  |  |  | 'მ' => 'm', | 
| 489 |  |  |  |  |  |  | 'ნ' => 'n', | 
| 490 |  |  |  |  |  |  | 'ო' => 'o', | 
| 491 |  |  |  |  |  |  | 'პ' => 'p', | 
| 492 |  |  |  |  |  |  | 'ჟ' => 'z', | 
| 493 |  |  |  |  |  |  | 'რ' => 'r', | 
| 494 |  |  |  |  |  |  | 'ს' => 's', | 
| 495 |  |  |  |  |  |  | 'ტ' => 't', | 
| 496 |  |  |  |  |  |  | 'უ' => 'u', | 
| 497 |  |  |  |  |  |  | 'ფ' => 'p', | 
| 498 |  |  |  |  |  |  | 'ქ' => 'k', | 
| 499 |  |  |  |  |  |  | 'ღ' => 'g', | 
| 500 |  |  |  |  |  |  | 'ყ' => 'q', | 
| 501 |  |  |  |  |  |  | 'შ' => 's', | 
| 502 |  |  |  |  |  |  | 'ჩ' => 'c', | 
| 503 |  |  |  |  |  |  | 'ც' => 't', | 
| 504 |  |  |  |  |  |  | 'ძ' => 'd', | 
| 505 |  |  |  |  |  |  | 'წ' => 't', | 
| 506 |  |  |  |  |  |  | 'ჭ' => 'c', | 
| 507 |  |  |  |  |  |  | 'ხ' => 'k', | 
| 508 |  |  |  |  |  |  | 'ჯ' => 'j', | 
| 509 |  |  |  |  |  |  | 'ჰ' => 'h', | 
| 510 |  |  |  |  |  |  | 'Ḑ' => 'D', | 
| 511 |  |  |  |  |  |  | 'ḑ' => 'd', | 
| 512 |  |  |  |  |  |  | 'Ḩ' => 'H', | 
| 513 |  |  |  |  |  |  | 'ḩ' => 'h', | 
| 514 |  |  |  |  |  |  | 'ạ' => 'a', | 
| 515 |  |  |  |  |  |  | 'ả' => 'a', | 
| 516 |  |  |  |  |  |  | 'ầ' => 'a', | 
| 517 |  |  |  |  |  |  | 'ậ' => 'a', | 
| 518 |  |  |  |  |  |  | 'ắ' => 'a', | 
| 519 |  |  |  |  |  |  | 'ằ' => 'a', | 
| 520 |  |  |  |  |  |  | 'ẵ' => 'a', | 
| 521 |  |  |  |  |  |  | 'ế' => 'e', | 
| 522 |  |  |  |  |  |  | 'ề' => 'e', | 
| 523 |  |  |  |  |  |  | 'ệ' => 'e', | 
| 524 |  |  |  |  |  |  | 'ỉ' => 'i', | 
| 525 |  |  |  |  |  |  | 'ị' => 'i', | 
| 526 |  |  |  |  |  |  | 'ồ' => 'o', | 
| 527 |  |  |  |  |  |  | 'ộ' => 'o', | 
| 528 |  |  |  |  |  |  | 'ừ' => 'u', | 
| 529 |  |  |  |  |  |  | 'ἀ' => 'a', | 
| 530 |  |  |  |  |  |  | 'ἁ' => 'a', | 
| 531 |  |  |  |  |  |  | 'ἂ' => 'a', | 
| 532 |  |  |  |  |  |  | 'ἃ' => 'a', | 
| 533 |  |  |  |  |  |  | 'ἄ' => 'a', | 
| 534 |  |  |  |  |  |  | 'ἅ' => 'a', | 
| 535 |  |  |  |  |  |  | 'ἆ' => 'a', | 
| 536 |  |  |  |  |  |  | 'ἇ' => 'a', | 
| 537 |  |  |  |  |  |  | 'Ἀ' => 'A', | 
| 538 |  |  |  |  |  |  | 'Ἁ' => 'A', | 
| 539 |  |  |  |  |  |  | 'Ἂ' => 'A', | 
| 540 |  |  |  |  |  |  | 'Ἃ' => 'A', | 
| 541 |  |  |  |  |  |  | 'Ἄ' => 'A', | 
| 542 |  |  |  |  |  |  | 'Ἅ' => 'A', | 
| 543 |  |  |  |  |  |  | 'Ἆ' => 'A', | 
| 544 |  |  |  |  |  |  | 'Ἇ' => 'A', | 
| 545 |  |  |  |  |  |  | 'ἐ' => 'e', | 
| 546 |  |  |  |  |  |  | 'ἑ' => 'e', | 
| 547 |  |  |  |  |  |  | 'ἒ' => 'e', | 
| 548 |  |  |  |  |  |  | 'ἓ' => 'e', | 
| 549 |  |  |  |  |  |  | 'ἔ' => 'e', | 
| 550 |  |  |  |  |  |  | 'ἕ' => 'e', | 
| 551 |  |  |  |  |  |  | 'Ἐ' => 'E', | 
| 552 |  |  |  |  |  |  | 'Ἑ' => 'E', | 
| 553 |  |  |  |  |  |  | 'Ἒ' => 'E', | 
| 554 |  |  |  |  |  |  | 'Ἓ' => 'E', | 
| 555 |  |  |  |  |  |  | 'Ἔ' => 'E', | 
| 556 |  |  |  |  |  |  | 'Ἕ' => 'E', | 
| 557 |  |  |  |  |  |  | 'ἠ' => 'i', | 
| 558 |  |  |  |  |  |  | 'ἡ' => 'i', | 
| 559 |  |  |  |  |  |  | 'ἢ' => 'i', | 
| 560 |  |  |  |  |  |  | 'ἣ' => 'i', | 
| 561 |  |  |  |  |  |  | 'ἤ' => 'i', | 
| 562 |  |  |  |  |  |  | 'ἥ' => 'i', | 
| 563 |  |  |  |  |  |  | 'ἦ' => 'i', | 
| 564 |  |  |  |  |  |  | 'ἧ' => 'i', | 
| 565 |  |  |  |  |  |  | 'Ἠ' => 'I', | 
| 566 |  |  |  |  |  |  | 'Ἡ' => 'I', | 
| 567 |  |  |  |  |  |  | 'Ἢ' => 'I', | 
| 568 |  |  |  |  |  |  | 'Ἣ' => 'I', | 
| 569 |  |  |  |  |  |  | 'Ἤ' => 'I', | 
| 570 |  |  |  |  |  |  | 'Ἥ' => 'I', | 
| 571 |  |  |  |  |  |  | 'Ἦ' => 'I', | 
| 572 |  |  |  |  |  |  | 'Ἧ' => 'I', | 
| 573 |  |  |  |  |  |  | 'ἰ' => 'i', | 
| 574 |  |  |  |  |  |  | 'ἱ' => 'i', | 
| 575 |  |  |  |  |  |  | 'ἲ' => 'i', | 
| 576 |  |  |  |  |  |  | 'ἳ' => 'i', | 
| 577 |  |  |  |  |  |  | 'ἴ' => 'i', | 
| 578 |  |  |  |  |  |  | 'ἵ' => 'i', | 
| 579 |  |  |  |  |  |  | 'ἶ' => 'i', | 
| 580 |  |  |  |  |  |  | 'ἷ' => 'i', | 
| 581 |  |  |  |  |  |  | 'Ἰ' => 'I', | 
| 582 |  |  |  |  |  |  | 'Ἱ' => 'I', | 
| 583 |  |  |  |  |  |  | 'Ἲ' => 'I', | 
| 584 |  |  |  |  |  |  | 'Ἳ' => 'I', | 
| 585 |  |  |  |  |  |  | 'Ἴ' => 'I', | 
| 586 |  |  |  |  |  |  | 'Ἵ' => 'I', | 
| 587 |  |  |  |  |  |  | 'Ἶ' => 'I', | 
| 588 |  |  |  |  |  |  | 'Ἷ' => 'I', | 
| 589 |  |  |  |  |  |  | 'ὀ' => 'o', | 
| 590 |  |  |  |  |  |  | 'ὁ' => 'o', | 
| 591 |  |  |  |  |  |  | 'ὂ' => 'o', | 
| 592 |  |  |  |  |  |  | 'ὃ' => 'o', | 
| 593 |  |  |  |  |  |  | 'ὄ' => 'o', | 
| 594 |  |  |  |  |  |  | 'ὅ' => 'o', | 
| 595 |  |  |  |  |  |  | 'Ὀ' => 'O', | 
| 596 |  |  |  |  |  |  | 'Ὁ' => 'O', | 
| 597 |  |  |  |  |  |  | 'Ὂ' => 'O', | 
| 598 |  |  |  |  |  |  | 'Ὃ' => 'O', | 
| 599 |  |  |  |  |  |  | 'Ὄ' => 'O', | 
| 600 |  |  |  |  |  |  | 'Ὅ' => 'O', | 
| 601 |  |  |  |  |  |  | 'ὐ' => 'y', | 
| 602 |  |  |  |  |  |  | 'ὑ' => 'y', | 
| 603 |  |  |  |  |  |  | 'ὒ' => 'y', | 
| 604 |  |  |  |  |  |  | 'ὓ' => 'y', | 
| 605 |  |  |  |  |  |  | 'ὔ' => 'y', | 
| 606 |  |  |  |  |  |  | 'ὕ' => 'y', | 
| 607 |  |  |  |  |  |  | 'ὖ' => 'y', | 
| 608 |  |  |  |  |  |  | 'ὗ' => 'y', | 
| 609 |  |  |  |  |  |  | 'Ὑ' => 'Y', | 
| 610 |  |  |  |  |  |  | 'Ὓ' => 'Y', | 
| 611 |  |  |  |  |  |  | 'Ὕ' => 'Y', | 
| 612 |  |  |  |  |  |  | 'Ὗ' => 'Y', | 
| 613 |  |  |  |  |  |  | 'ὠ' => 'o', | 
| 614 |  |  |  |  |  |  | 'ὡ' => 'o', | 
| 615 |  |  |  |  |  |  | 'ὢ' => 'o', | 
| 616 |  |  |  |  |  |  | 'ὣ' => 'o', | 
| 617 |  |  |  |  |  |  | 'ὤ' => 'o', | 
| 618 |  |  |  |  |  |  | 'ὥ' => 'o', | 
| 619 |  |  |  |  |  |  | 'ὦ' => 'o', | 
| 620 |  |  |  |  |  |  | 'ὧ' => 'o', | 
| 621 |  |  |  |  |  |  | 'Ὠ' => 'O', | 
| 622 |  |  |  |  |  |  | 'Ὡ' => 'O', | 
| 623 |  |  |  |  |  |  | 'Ὢ' => 'O', | 
| 624 |  |  |  |  |  |  | 'Ὣ' => 'O', | 
| 625 |  |  |  |  |  |  | 'Ὤ' => 'O', | 
| 626 |  |  |  |  |  |  | 'Ὥ' => 'O', | 
| 627 |  |  |  |  |  |  | 'Ὦ' => 'O', | 
| 628 |  |  |  |  |  |  | 'Ὧ' => 'O', | 
| 629 |  |  |  |  |  |  | 'ὰ' => 'a', | 
| 630 |  |  |  |  |  |  | 'ὲ' => 'e', | 
| 631 |  |  |  |  |  |  | 'ὴ' => 'i', | 
| 632 |  |  |  |  |  |  | 'ὶ' => 'i', | 
| 633 |  |  |  |  |  |  | 'ὸ' => 'o', | 
| 634 |  |  |  |  |  |  | 'ὺ' => 'y', | 
| 635 |  |  |  |  |  |  | 'ὼ' => 'o', | 
| 636 |  |  |  |  |  |  | 'ᾀ' => 'a', | 
| 637 |  |  |  |  |  |  | 'ᾁ' => 'a', | 
| 638 |  |  |  |  |  |  | 'ᾂ' => 'a', | 
| 639 |  |  |  |  |  |  | 'ᾃ' => 'a', | 
| 640 |  |  |  |  |  |  | 'ᾄ' => 'a', | 
| 641 |  |  |  |  |  |  | 'ᾅ' => 'a', | 
| 642 |  |  |  |  |  |  | 'ᾆ' => 'a', | 
| 643 |  |  |  |  |  |  | 'ᾇ' => 'a', | 
| 644 |  |  |  |  |  |  | 'ᾈ' => 'A', | 
| 645 |  |  |  |  |  |  | 'ᾉ' => 'A', | 
| 646 |  |  |  |  |  |  | 'ᾊ' => 'A', | 
| 647 |  |  |  |  |  |  | 'ᾋ' => 'A', | 
| 648 |  |  |  |  |  |  | 'ᾌ' => 'A', | 
| 649 |  |  |  |  |  |  | 'ᾍ' => 'A', | 
| 650 |  |  |  |  |  |  | 'ᾎ' => 'A', | 
| 651 |  |  |  |  |  |  | 'ᾏ' => 'A', | 
| 652 |  |  |  |  |  |  | 'ᾐ' => 'i', | 
| 653 |  |  |  |  |  |  | 'ᾑ' => 'i', | 
| 654 |  |  |  |  |  |  | 'ᾒ' => 'i', | 
| 655 |  |  |  |  |  |  | 'ᾓ' => 'i', | 
| 656 |  |  |  |  |  |  | 'ᾔ' => 'i', | 
| 657 |  |  |  |  |  |  | 'ᾕ' => 'i', | 
| 658 |  |  |  |  |  |  | 'ᾖ' => 'i', | 
| 659 |  |  |  |  |  |  | 'ᾗ' => 'i', | 
| 660 |  |  |  |  |  |  | 'ᾘ' => 'I', | 
| 661 |  |  |  |  |  |  | 'ᾙ' => 'I', | 
| 662 |  |  |  |  |  |  | 'ᾚ' => 'I', | 
| 663 |  |  |  |  |  |  | 'ᾛ' => 'I', | 
| 664 |  |  |  |  |  |  | 'ᾜ' => 'I', | 
| 665 |  |  |  |  |  |  | 'ᾝ' => 'I', | 
| 666 |  |  |  |  |  |  | 'ᾞ' => 'I', | 
| 667 |  |  |  |  |  |  | 'ᾟ' => 'I', | 
| 668 |  |  |  |  |  |  | 'ᾠ' => 'o', | 
| 669 |  |  |  |  |  |  | 'ᾡ' => 'o', | 
| 670 |  |  |  |  |  |  | 'ᾢ' => 'o', | 
| 671 |  |  |  |  |  |  | 'ᾣ' => 'o', | 
| 672 |  |  |  |  |  |  | 'ᾤ' => 'o', | 
| 673 |  |  |  |  |  |  | 'ᾥ' => 'o', | 
| 674 |  |  |  |  |  |  | 'ᾦ' => 'o', | 
| 675 |  |  |  |  |  |  | 'ᾧ' => 'o', | 
| 676 |  |  |  |  |  |  | 'ᾨ' => 'O', | 
| 677 |  |  |  |  |  |  | 'ᾩ' => 'O', | 
| 678 |  |  |  |  |  |  | 'ᾪ' => 'O', | 
| 679 |  |  |  |  |  |  | 'ᾫ' => 'O', | 
| 680 |  |  |  |  |  |  | 'ᾬ' => 'O', | 
| 681 |  |  |  |  |  |  | 'ᾭ' => 'O', | 
| 682 |  |  |  |  |  |  | 'ᾮ' => 'O', | 
| 683 |  |  |  |  |  |  | 'ᾯ' => 'O', | 
| 684 |  |  |  |  |  |  | 'ᾰ' => 'a', | 
| 685 |  |  |  |  |  |  | 'ᾱ' => 'a', | 
| 686 |  |  |  |  |  |  | 'ᾲ' => 'a', | 
| 687 |  |  |  |  |  |  | 'ᾳ' => 'a', | 
| 688 |  |  |  |  |  |  | 'ᾴ' => 'a', | 
| 689 |  |  |  |  |  |  | 'ᾶ' => 'a', | 
| 690 |  |  |  |  |  |  | 'ᾷ' => 'a', | 
| 691 |  |  |  |  |  |  | 'Ᾰ' => 'A', | 
| 692 |  |  |  |  |  |  | 'Ᾱ' => 'A', | 
| 693 |  |  |  |  |  |  | 'Ὰ' => 'A', | 
| 694 |  |  |  |  |  |  | 'ᾼ' => 'A', | 
| 695 |  |  |  |  |  |  | 'ῂ' => 'i', | 
| 696 |  |  |  |  |  |  | 'ῃ' => 'i', | 
| 697 |  |  |  |  |  |  | 'ῄ' => 'i', | 
| 698 |  |  |  |  |  |  | 'ῆ' => 'i', | 
| 699 |  |  |  |  |  |  | 'ῇ' => 'i', | 
| 700 |  |  |  |  |  |  | 'Ὲ' => 'E', | 
| 701 |  |  |  |  |  |  | 'Ὴ' => 'I', | 
| 702 |  |  |  |  |  |  | 'ῌ' => 'I', | 
| 703 |  |  |  |  |  |  | 'ῐ' => 'i', | 
| 704 |  |  |  |  |  |  | 'ῑ' => 'i', | 
| 705 |  |  |  |  |  |  | 'ῒ' => 'i', | 
| 706 |  |  |  |  |  |  | 'ῖ' => 'i', | 
| 707 |  |  |  |  |  |  | 'ῗ' => 'i', | 
| 708 |  |  |  |  |  |  | 'Ῐ' => 'I', | 
| 709 |  |  |  |  |  |  | 'Ῑ' => 'I', | 
| 710 |  |  |  |  |  |  | 'Ὶ' => 'I', | 
| 711 |  |  |  |  |  |  | 'ῠ' => 'y', | 
| 712 |  |  |  |  |  |  | 'ῡ' => 'y', | 
| 713 |  |  |  |  |  |  | 'ῢ' => 'y', | 
| 714 |  |  |  |  |  |  | 'ῤ' => 'r', | 
| 715 |  |  |  |  |  |  | 'ῥ' => 'r', | 
| 716 |  |  |  |  |  |  | 'ῦ' => 'y', | 
| 717 |  |  |  |  |  |  | 'ῧ' => 'y', | 
| 718 |  |  |  |  |  |  | 'Ῠ' => 'Y', | 
| 719 |  |  |  |  |  |  | 'Ῡ' => 'Y', | 
| 720 |  |  |  |  |  |  | 'Ὺ' => 'Y', | 
| 721 |  |  |  |  |  |  | 'Ῥ' => 'R', | 
| 722 |  |  |  |  |  |  | 'ῲ' => 'o', | 
| 723 |  |  |  |  |  |  | 'ῳ' => 'o', | 
| 724 |  |  |  |  |  |  | 'ῴ' => 'o', | 
| 725 |  |  |  |  |  |  | 'ῶ' => 'o', | 
| 726 |  |  |  |  |  |  | 'ῷ' => 'o', | 
| 727 |  |  |  |  |  |  | 'Ὸ' => 'O', | 
| 728 |  |  |  |  |  |  | 'Ὼ' => 'O', | 
| 729 |  |  |  |  |  |  | 'ῼ' => 'O', | 
| 730 |  |  |  |  |  |  | '‘' => "'", | 
| 731 |  |  |  |  |  |  | '’' => "'", | 
| 732 |  |  |  |  |  |  | }; | 
| 733 |  |  |  |  |  |  |  | 
| 734 | 13 |  |  |  |  | 29426 | $data =~ s/$_/$$table{$_}/gue for keys %$table; | 
|  | 4 |  |  |  |  | 3606 |  | 
| 735 |  |  |  |  |  |  |  | 
| 736 | 13 |  |  |  |  | 376 | return $data; | 
| 737 |  |  |  |  |  |  | } | 
| 738 |  |  |  |  |  |  |  | 
| 739 |  |  |  |  |  |  | 1; | 
| 740 |  |  |  |  |  |  |  | 
| 741 |  |  |  |  |  |  |  | 
| 742 |  |  |  |  |  |  |  | 
| 743 |  |  |  |  |  |  | =head1 NAME | 
| 744 |  |  |  |  |  |  |  | 
| 745 |  |  |  |  |  |  | Faker::Plugin - Fake Data Plugin | 
| 746 |  |  |  |  |  |  |  | 
| 747 |  |  |  |  |  |  | =cut | 
| 748 |  |  |  |  |  |  |  | 
| 749 |  |  |  |  |  |  | =head1 ABSTRACT | 
| 750 |  |  |  |  |  |  |  | 
| 751 |  |  |  |  |  |  | Fake Data Plugin Base | 
| 752 |  |  |  |  |  |  |  | 
| 753 |  |  |  |  |  |  | =cut | 
| 754 |  |  |  |  |  |  |  | 
| 755 |  |  |  |  |  |  | =head1 VERSION | 
| 756 |  |  |  |  |  |  |  | 
| 757 |  |  |  |  |  |  | 1.17 | 
| 758 |  |  |  |  |  |  |  | 
| 759 |  |  |  |  |  |  | =cut | 
| 760 |  |  |  |  |  |  |  | 
| 761 |  |  |  |  |  |  | =head1 SYNOPSIS | 
| 762 |  |  |  |  |  |  |  | 
| 763 |  |  |  |  |  |  | package main; | 
| 764 |  |  |  |  |  |  |  | 
| 765 |  |  |  |  |  |  | use Faker::Plugin; | 
| 766 |  |  |  |  |  |  |  | 
| 767 |  |  |  |  |  |  | my $plugin = Faker::Plugin->new; | 
| 768 |  |  |  |  |  |  |  | 
| 769 |  |  |  |  |  |  | # bless(..., "Faker::Plugin") | 
| 770 |  |  |  |  |  |  |  | 
| 771 |  |  |  |  |  |  | # my $result = $plugin->execute; | 
| 772 |  |  |  |  |  |  |  | 
| 773 |  |  |  |  |  |  | # "" | 
| 774 |  |  |  |  |  |  |  | 
| 775 |  |  |  |  |  |  | =cut | 
| 776 |  |  |  |  |  |  |  | 
| 777 |  |  |  |  |  |  | =head1 DESCRIPTION | 
| 778 |  |  |  |  |  |  |  | 
| 779 |  |  |  |  |  |  | This distribution provides a library of fake data generators and a framework | 
| 780 |  |  |  |  |  |  | for extending the library via plugins. | 
| 781 |  |  |  |  |  |  |  | 
| 782 |  |  |  |  |  |  | =encoding utf8 | 
| 783 |  |  |  |  |  |  |  | 
| 784 |  |  |  |  |  |  | =cut | 
| 785 |  |  |  |  |  |  |  | 
| 786 |  |  |  |  |  |  | =head1 ATTRIBUTES | 
| 787 |  |  |  |  |  |  |  | 
| 788 |  |  |  |  |  |  | This package has the following attributes: | 
| 789 |  |  |  |  |  |  |  | 
| 790 |  |  |  |  |  |  | =cut | 
| 791 |  |  |  |  |  |  |  | 
| 792 |  |  |  |  |  |  | =head2 faker | 
| 793 |  |  |  |  |  |  |  | 
| 794 |  |  |  |  |  |  | faker(Object $data) (Object) | 
| 795 |  |  |  |  |  |  |  | 
| 796 |  |  |  |  |  |  | The faker attribute holds the L object. | 
| 797 |  |  |  |  |  |  |  | 
| 798 |  |  |  |  |  |  | I> | 
| 799 |  |  |  |  |  |  |  | 
| 800 |  |  |  |  |  |  | =over 4 | 
| 801 |  |  |  |  |  |  |  | 
| 802 |  |  |  |  |  |  | =item faker example 1 | 
| 803 |  |  |  |  |  |  |  | 
| 804 |  |  |  |  |  |  | # given: synopsis | 
| 805 |  |  |  |  |  |  |  | 
| 806 |  |  |  |  |  |  | package main; | 
| 807 |  |  |  |  |  |  |  | 
| 808 |  |  |  |  |  |  | my $faker = $plugin->faker; | 
| 809 |  |  |  |  |  |  |  | 
| 810 |  |  |  |  |  |  | # bless(..., "Faker") | 
| 811 |  |  |  |  |  |  |  | 
| 812 |  |  |  |  |  |  | =back | 
| 813 |  |  |  |  |  |  |  | 
| 814 |  |  |  |  |  |  | =over 4 | 
| 815 |  |  |  |  |  |  |  | 
| 816 |  |  |  |  |  |  | =item faker example 2 | 
| 817 |  |  |  |  |  |  |  | 
| 818 |  |  |  |  |  |  | # given: synopsis | 
| 819 |  |  |  |  |  |  |  | 
| 820 |  |  |  |  |  |  | package main; | 
| 821 |  |  |  |  |  |  |  | 
| 822 |  |  |  |  |  |  | my $faker = $plugin->faker({}); | 
| 823 |  |  |  |  |  |  |  | 
| 824 |  |  |  |  |  |  | # bless(..., "Faker") | 
| 825 |  |  |  |  |  |  |  | 
| 826 |  |  |  |  |  |  | =back | 
| 827 |  |  |  |  |  |  |  | 
| 828 |  |  |  |  |  |  | =over 4 | 
| 829 |  |  |  |  |  |  |  | 
| 830 |  |  |  |  |  |  | =item faker example 3 | 
| 831 |  |  |  |  |  |  |  | 
| 832 |  |  |  |  |  |  | # given: synopsis | 
| 833 |  |  |  |  |  |  |  | 
| 834 |  |  |  |  |  |  | package main; | 
| 835 |  |  |  |  |  |  |  | 
| 836 |  |  |  |  |  |  | use Faker; | 
| 837 |  |  |  |  |  |  |  | 
| 838 |  |  |  |  |  |  | my $faker = $plugin->faker(Faker->new); | 
| 839 |  |  |  |  |  |  |  | 
| 840 |  |  |  |  |  |  | # bless(..., "Faker") | 
| 841 |  |  |  |  |  |  |  | 
| 842 |  |  |  |  |  |  | =back | 
| 843 |  |  |  |  |  |  |  | 
| 844 |  |  |  |  |  |  | =cut | 
| 845 |  |  |  |  |  |  |  | 
| 846 |  |  |  |  |  |  | =head1 INTEGRATES | 
| 847 |  |  |  |  |  |  |  | 
| 848 |  |  |  |  |  |  | This package integrates behaviors from: | 
| 849 |  |  |  |  |  |  |  | 
| 850 |  |  |  |  |  |  | L | 
| 851 |  |  |  |  |  |  |  | 
| 852 |  |  |  |  |  |  | L | 
| 853 |  |  |  |  |  |  |  | 
| 854 |  |  |  |  |  |  | =cut | 
| 855 |  |  |  |  |  |  |  | 
| 856 |  |  |  |  |  |  | =head1 METHODS | 
| 857 |  |  |  |  |  |  |  | 
| 858 |  |  |  |  |  |  | This package provides the following methods: | 
| 859 |  |  |  |  |  |  |  | 
| 860 |  |  |  |  |  |  | =cut | 
| 861 |  |  |  |  |  |  |  | 
| 862 |  |  |  |  |  |  | =head2 execute | 
| 863 |  |  |  |  |  |  |  | 
| 864 |  |  |  |  |  |  | execute(HashRef $data) (Str) | 
| 865 |  |  |  |  |  |  |  | 
| 866 |  |  |  |  |  |  | The execute method should be overridden by a plugin subclass, and should | 
| 867 |  |  |  |  |  |  | generate and return a random string. | 
| 868 |  |  |  |  |  |  |  | 
| 869 |  |  |  |  |  |  | I> | 
| 870 |  |  |  |  |  |  |  | 
| 871 |  |  |  |  |  |  | =over 4 | 
| 872 |  |  |  |  |  |  |  | 
| 873 |  |  |  |  |  |  | =item execute example 1 | 
| 874 |  |  |  |  |  |  |  | 
| 875 |  |  |  |  |  |  | # given: synopsis | 
| 876 |  |  |  |  |  |  |  | 
| 877 |  |  |  |  |  |  | package main; | 
| 878 |  |  |  |  |  |  |  | 
| 879 |  |  |  |  |  |  | my $data = $plugin->execute; | 
| 880 |  |  |  |  |  |  |  | 
| 881 |  |  |  |  |  |  | # "" | 
| 882 |  |  |  |  |  |  |  | 
| 883 |  |  |  |  |  |  | =back | 
| 884 |  |  |  |  |  |  |  | 
| 885 |  |  |  |  |  |  | =cut | 
| 886 |  |  |  |  |  |  |  | 
| 887 |  |  |  |  |  |  | =head2 new | 
| 888 |  |  |  |  |  |  |  | 
| 889 |  |  |  |  |  |  | new(HashRef $data) (Plugin) | 
| 890 |  |  |  |  |  |  |  | 
| 891 |  |  |  |  |  |  | The new method returns a new instance of the class. | 
| 892 |  |  |  |  |  |  |  | 
| 893 |  |  |  |  |  |  | I> | 
| 894 |  |  |  |  |  |  |  | 
| 895 |  |  |  |  |  |  | =over 4 | 
| 896 |  |  |  |  |  |  |  | 
| 897 |  |  |  |  |  |  | =item new example 1 | 
| 898 |  |  |  |  |  |  |  | 
| 899 |  |  |  |  |  |  | package main; | 
| 900 |  |  |  |  |  |  |  | 
| 901 |  |  |  |  |  |  | use Faker::Plugin; | 
| 902 |  |  |  |  |  |  |  | 
| 903 |  |  |  |  |  |  | my $plugin = Faker::Plugin->new; | 
| 904 |  |  |  |  |  |  |  | 
| 905 |  |  |  |  |  |  | # bless(... "Faker::Plugin") | 
| 906 |  |  |  |  |  |  |  | 
| 907 |  |  |  |  |  |  | =back | 
| 908 |  |  |  |  |  |  |  | 
| 909 |  |  |  |  |  |  | =over 4 | 
| 910 |  |  |  |  |  |  |  | 
| 911 |  |  |  |  |  |  | =item new example 2 | 
| 912 |  |  |  |  |  |  |  | 
| 913 |  |  |  |  |  |  | package main; | 
| 914 |  |  |  |  |  |  |  | 
| 915 |  |  |  |  |  |  | use Faker::Plugin; | 
| 916 |  |  |  |  |  |  |  | 
| 917 |  |  |  |  |  |  | my $plugin = Faker::Plugin->new({faker => ['en-us', 'es-es']}); | 
| 918 |  |  |  |  |  |  |  | 
| 919 |  |  |  |  |  |  | # bless(... "Faker::Plugin") | 
| 920 |  |  |  |  |  |  |  | 
| 921 |  |  |  |  |  |  | =back | 
| 922 |  |  |  |  |  |  |  | 
| 923 |  |  |  |  |  |  | =over 4 | 
| 924 |  |  |  |  |  |  |  | 
| 925 |  |  |  |  |  |  | =item new example 3 | 
| 926 |  |  |  |  |  |  |  | 
| 927 |  |  |  |  |  |  | package main; | 
| 928 |  |  |  |  |  |  |  | 
| 929 |  |  |  |  |  |  | use Faker::Plugin; | 
| 930 |  |  |  |  |  |  |  | 
| 931 |  |  |  |  |  |  | my $plugin = Faker::Plugin->new({faker => Faker->new('ja-jp')}); | 
| 932 |  |  |  |  |  |  |  | 
| 933 |  |  |  |  |  |  | # bless(... "Faker::Plugin") | 
| 934 |  |  |  |  |  |  |  | 
| 935 |  |  |  |  |  |  | =back | 
| 936 |  |  |  |  |  |  |  | 
| 937 |  |  |  |  |  |  | =cut | 
| 938 |  |  |  |  |  |  |  | 
| 939 |  |  |  |  |  |  | =head2 process | 
| 940 |  |  |  |  |  |  |  | 
| 941 |  |  |  |  |  |  | process(Str $data) (Str) | 
| 942 |  |  |  |  |  |  |  | 
| 943 |  |  |  |  |  |  | The process method accepts a data template and calls L and | 
| 944 |  |  |  |  |  |  | L with the arguments provided and returns the result. | 
| 945 |  |  |  |  |  |  |  | 
| 946 |  |  |  |  |  |  | I> | 
| 947 |  |  |  |  |  |  |  | 
| 948 |  |  |  |  |  |  | =over 4 | 
| 949 |  |  |  |  |  |  |  | 
| 950 |  |  |  |  |  |  | =item process example 1 | 
| 951 |  |  |  |  |  |  |  | 
| 952 |  |  |  |  |  |  | # given: synopsis | 
| 953 |  |  |  |  |  |  |  | 
| 954 |  |  |  |  |  |  | package main; | 
| 955 |  |  |  |  |  |  |  | 
| 956 |  |  |  |  |  |  | $plugin->faker->locales(['en-us']); | 
| 957 |  |  |  |  |  |  |  | 
| 958 |  |  |  |  |  |  | my $process = $plugin->process('@?{{person_last_name}}####'); | 
| 959 |  |  |  |  |  |  |  | 
| 960 |  |  |  |  |  |  | # "\@ZWilkinson4226" | 
| 961 |  |  |  |  |  |  |  | 
| 962 |  |  |  |  |  |  | =back | 
| 963 |  |  |  |  |  |  |  | 
| 964 |  |  |  |  |  |  | =cut | 
| 965 |  |  |  |  |  |  |  | 
| 966 |  |  |  |  |  |  | =head2 process_format | 
| 967 |  |  |  |  |  |  |  | 
| 968 |  |  |  |  |  |  | process_format(Str $data) (Str) | 
| 969 |  |  |  |  |  |  |  | 
| 970 |  |  |  |  |  |  | The process_format method accepts a data template replacing any tokens found | 
| 971 |  |  |  |  |  |  | with the return value from L. | 
| 972 |  |  |  |  |  |  |  | 
| 973 |  |  |  |  |  |  | I> | 
| 974 |  |  |  |  |  |  |  | 
| 975 |  |  |  |  |  |  | =over 4 | 
| 976 |  |  |  |  |  |  |  | 
| 977 |  |  |  |  |  |  | =item process_format example 1 | 
| 978 |  |  |  |  |  |  |  | 
| 979 |  |  |  |  |  |  | # given: synopsis | 
| 980 |  |  |  |  |  |  |  | 
| 981 |  |  |  |  |  |  | package main; | 
| 982 |  |  |  |  |  |  |  | 
| 983 |  |  |  |  |  |  | my $process_format = $plugin->process_format('Version {{software_version}}'); | 
| 984 |  |  |  |  |  |  |  | 
| 985 |  |  |  |  |  |  | # "Version 0.78" | 
| 986 |  |  |  |  |  |  |  | 
| 987 |  |  |  |  |  |  | =back | 
| 988 |  |  |  |  |  |  |  | 
| 989 |  |  |  |  |  |  | =cut | 
| 990 |  |  |  |  |  |  |  | 
| 991 |  |  |  |  |  |  | =head2 process_markers | 
| 992 |  |  |  |  |  |  |  | 
| 993 |  |  |  |  |  |  | process_markers(Str $data, Str @types) (Str) | 
| 994 |  |  |  |  |  |  |  | 
| 995 |  |  |  |  |  |  | The process_markers method accepts a string with markers, replaces the markers | 
| 996 |  |  |  |  |  |  | (i.e. special symbols) and returns the result. This method also, optionally, | 
| 997 |  |  |  |  |  |  | accepts a list of the types of replacements to be performed. The markers are: | 
| 998 |  |  |  |  |  |  | C<#> (see L), C<%> (see L), C> | 
| 999 |  |  |  |  |  |  | (see L), and C<\n>. The replacement types are: | 
| 1000 |  |  |  |  |  |  | I<"letters">, I<"numbers">, and I<"newlines">. | 
| 1001 |  |  |  |  |  |  |  | 
| 1002 |  |  |  |  |  |  | I> | 
| 1003 |  |  |  |  |  |  |  | 
| 1004 |  |  |  |  |  |  | =over 4 | 
| 1005 |  |  |  |  |  |  |  | 
| 1006 |  |  |  |  |  |  | =item process_markers example 1 | 
| 1007 |  |  |  |  |  |  |  | 
| 1008 |  |  |  |  |  |  | # given: synopsis | 
| 1009 |  |  |  |  |  |  |  | 
| 1010 |  |  |  |  |  |  | package main; | 
| 1011 |  |  |  |  |  |  |  | 
| 1012 |  |  |  |  |  |  | my $process_markers = $plugin->process_markers('Version %##'); | 
| 1013 |  |  |  |  |  |  |  | 
| 1014 |  |  |  |  |  |  | # "Version 342" | 
| 1015 |  |  |  |  |  |  |  | 
| 1016 |  |  |  |  |  |  | =back | 
| 1017 |  |  |  |  |  |  |  | 
| 1018 |  |  |  |  |  |  | =over 4 | 
| 1019 |  |  |  |  |  |  |  | 
| 1020 |  |  |  |  |  |  | =item process_markers example 2 | 
| 1021 |  |  |  |  |  |  |  | 
| 1022 |  |  |  |  |  |  | # given: synopsis | 
| 1023 |  |  |  |  |  |  |  | 
| 1024 |  |  |  |  |  |  | package main; | 
| 1025 |  |  |  |  |  |  |  | 
| 1026 |  |  |  |  |  |  | my $process_markers = $plugin->process_markers('Version %##', 'numbers'); | 
| 1027 |  |  |  |  |  |  |  | 
| 1028 |  |  |  |  |  |  | # "Version 185" | 
| 1029 |  |  |  |  |  |  |  | 
| 1030 |  |  |  |  |  |  | =back | 
| 1031 |  |  |  |  |  |  |  | 
| 1032 |  |  |  |  |  |  | =over 4 | 
| 1033 |  |  |  |  |  |  |  | 
| 1034 |  |  |  |  |  |  | =item process_markers example 3 | 
| 1035 |  |  |  |  |  |  |  | 
| 1036 |  |  |  |  |  |  | # given: synopsis | 
| 1037 |  |  |  |  |  |  |  | 
| 1038 |  |  |  |  |  |  | package main; | 
| 1039 |  |  |  |  |  |  |  | 
| 1040 |  |  |  |  |  |  | my $process_markers = $plugin->process_markers('Dept. %-??', 'letters', 'numbers'); | 
| 1041 |  |  |  |  |  |  |  | 
| 1042 |  |  |  |  |  |  | # "Dept. 6-EL" | 
| 1043 |  |  |  |  |  |  |  | 
| 1044 |  |  |  |  |  |  | =back | 
| 1045 |  |  |  |  |  |  |  | 
| 1046 |  |  |  |  |  |  | =over 4 | 
| 1047 |  |  |  |  |  |  |  | 
| 1048 |  |  |  |  |  |  | =item process_markers example 4 | 
| 1049 |  |  |  |  |  |  |  | 
| 1050 |  |  |  |  |  |  | # given: synopsis | 
| 1051 |  |  |  |  |  |  |  | 
| 1052 |  |  |  |  |  |  | package main; | 
| 1053 |  |  |  |  |  |  |  | 
| 1054 |  |  |  |  |  |  | my $process_markers = $plugin->process_markers('root\nsecret', 'newlines'); | 
| 1055 |  |  |  |  |  |  |  | 
| 1056 |  |  |  |  |  |  | # "root\nsecret" | 
| 1057 |  |  |  |  |  |  |  | 
| 1058 |  |  |  |  |  |  | =back | 
| 1059 |  |  |  |  |  |  |  | 
| 1060 |  |  |  |  |  |  | =cut | 
| 1061 |  |  |  |  |  |  |  | 
| 1062 |  |  |  |  |  |  | =head2 resolve | 
| 1063 |  |  |  |  |  |  |  | 
| 1064 |  |  |  |  |  |  | resolve(Str $name) (Str) | 
| 1065 |  |  |  |  |  |  |  | 
| 1066 |  |  |  |  |  |  | The resolve method replaces tokens from L with the return | 
| 1067 |  |  |  |  |  |  | value from their corresponding plugins. | 
| 1068 |  |  |  |  |  |  |  | 
| 1069 |  |  |  |  |  |  | I> | 
| 1070 |  |  |  |  |  |  |  | 
| 1071 |  |  |  |  |  |  | =over 4 | 
| 1072 |  |  |  |  |  |  |  | 
| 1073 |  |  |  |  |  |  | =item resolve example 1 | 
| 1074 |  |  |  |  |  |  |  | 
| 1075 |  |  |  |  |  |  | # given: synopsis | 
| 1076 |  |  |  |  |  |  |  | 
| 1077 |  |  |  |  |  |  | package main; | 
| 1078 |  |  |  |  |  |  |  | 
| 1079 |  |  |  |  |  |  | my $color_hex_code = $plugin->resolve('color_hex_code'); | 
| 1080 |  |  |  |  |  |  |  | 
| 1081 |  |  |  |  |  |  | # "#adfc4b" | 
| 1082 |  |  |  |  |  |  |  | 
| 1083 |  |  |  |  |  |  | =back | 
| 1084 |  |  |  |  |  |  |  | 
| 1085 |  |  |  |  |  |  | =over 4 | 
| 1086 |  |  |  |  |  |  |  | 
| 1087 |  |  |  |  |  |  | =item resolve example 2 | 
| 1088 |  |  |  |  |  |  |  | 
| 1089 |  |  |  |  |  |  | # given: synopsis | 
| 1090 |  |  |  |  |  |  |  | 
| 1091 |  |  |  |  |  |  | package main; | 
| 1092 |  |  |  |  |  |  |  | 
| 1093 |  |  |  |  |  |  | my $internet_ip_address = $plugin->resolve('internet_ip_address'); | 
| 1094 |  |  |  |  |  |  |  | 
| 1095 |  |  |  |  |  |  | # "edb6:0311:c3e3:fdc1:597d:115c:c179:3998" | 
| 1096 |  |  |  |  |  |  |  | 
| 1097 |  |  |  |  |  |  | =back | 
| 1098 |  |  |  |  |  |  |  | 
| 1099 |  |  |  |  |  |  | =over 4 | 
| 1100 |  |  |  |  |  |  |  | 
| 1101 |  |  |  |  |  |  | =item resolve example 3 | 
| 1102 |  |  |  |  |  |  |  | 
| 1103 |  |  |  |  |  |  | # given: synopsis | 
| 1104 |  |  |  |  |  |  |  | 
| 1105 |  |  |  |  |  |  | package main; | 
| 1106 |  |  |  |  |  |  |  | 
| 1107 |  |  |  |  |  |  | my $color_name = $plugin->resolve('color_name'); | 
| 1108 |  |  |  |  |  |  |  | 
| 1109 |  |  |  |  |  |  | # "MintCream" | 
| 1110 |  |  |  |  |  |  |  | 
| 1111 |  |  |  |  |  |  | =back | 
| 1112 |  |  |  |  |  |  |  | 
| 1113 |  |  |  |  |  |  | =cut | 
| 1114 |  |  |  |  |  |  |  | 
| 1115 |  |  |  |  |  |  | =head1 FEATURES | 
| 1116 |  |  |  |  |  |  |  | 
| 1117 |  |  |  |  |  |  | This package provides the following features: | 
| 1118 |  |  |  |  |  |  |  | 
| 1119 |  |  |  |  |  |  | =cut | 
| 1120 |  |  |  |  |  |  |  | 
| 1121 |  |  |  |  |  |  | =over 4 | 
| 1122 |  |  |  |  |  |  |  | 
| 1123 |  |  |  |  |  |  | =item subclass-feature | 
| 1124 |  |  |  |  |  |  |  | 
| 1125 |  |  |  |  |  |  | This package is meant to be subclassed. | 
| 1126 |  |  |  |  |  |  |  | 
| 1127 |  |  |  |  |  |  | B | 
| 1128 |  |  |  |  |  |  |  | 
| 1129 |  |  |  |  |  |  | package Faker::Plugin::UserId; | 
| 1130 |  |  |  |  |  |  |  | 
| 1131 |  |  |  |  |  |  | use base 'Faker::Plugin'; | 
| 1132 |  |  |  |  |  |  |  | 
| 1133 |  |  |  |  |  |  | sub execute { | 
| 1134 |  |  |  |  |  |  | my ($self) = @_; | 
| 1135 |  |  |  |  |  |  |  | 
| 1136 |  |  |  |  |  |  | return $self->process('####-####'); | 
| 1137 |  |  |  |  |  |  | } | 
| 1138 |  |  |  |  |  |  |  | 
| 1139 |  |  |  |  |  |  | package main; | 
| 1140 |  |  |  |  |  |  |  | 
| 1141 |  |  |  |  |  |  | use Faker; | 
| 1142 |  |  |  |  |  |  |  | 
| 1143 |  |  |  |  |  |  | my $faker = Faker->new; | 
| 1144 |  |  |  |  |  |  |  | 
| 1145 |  |  |  |  |  |  | # bless(..., "Faker") | 
| 1146 |  |  |  |  |  |  |  | 
| 1147 |  |  |  |  |  |  | my $result = $faker->user_id; | 
| 1148 |  |  |  |  |  |  |  | 
| 1149 |  |  |  |  |  |  | # "8359-6325" | 
| 1150 |  |  |  |  |  |  |  | 
| 1151 |  |  |  |  |  |  | =back |