github.com/dolthub/go-mysql-server@v0.18.0/sql/encodings/cp1256.go (about)

     1  // Copyright 2023 Dolthub, Inc.
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  package encodings
    16  
    17  // Cp1256 represents the `cp1256` character set encoding.
    18  var Cp1256 Encoder = &RangeMap{
    19  	inputEntries: [][]rangeMapEntry{
    20  		{
    21  			{
    22  				inputRange:  rangeBounds{{0, 127}},
    23  				outputRange: rangeBounds{{0, 127}},
    24  				inputMults:  []int{1},
    25  				outputMults: []int{1},
    26  			},
    27  			{
    28  				inputRange:  rangeBounds{{128, 128}},
    29  				outputRange: rangeBounds{{226, 226}, {130, 130}, {172, 172}},
    30  				inputMults:  []int{1},
    31  				outputMults: []int{1, 1, 1},
    32  			},
    33  			{
    34  				inputRange:  rangeBounds{{129, 129}},
    35  				outputRange: rangeBounds{{217, 217}, {190, 190}},
    36  				inputMults:  []int{1},
    37  				outputMults: []int{1, 1},
    38  			},
    39  			{
    40  				inputRange:  rangeBounds{{130, 130}},
    41  				outputRange: rangeBounds{{226, 226}, {128, 128}, {154, 154}},
    42  				inputMults:  []int{1},
    43  				outputMults: []int{1, 1, 1},
    44  			},
    45  			{
    46  				inputRange:  rangeBounds{{131, 131}},
    47  				outputRange: rangeBounds{{198, 198}, {146, 146}},
    48  				inputMults:  []int{1},
    49  				outputMults: []int{1, 1},
    50  			},
    51  			{
    52  				inputRange:  rangeBounds{{132, 132}},
    53  				outputRange: rangeBounds{{226, 226}, {128, 128}, {158, 158}},
    54  				inputMults:  []int{1},
    55  				outputMults: []int{1, 1, 1},
    56  			},
    57  			{
    58  				inputRange:  rangeBounds{{133, 133}},
    59  				outputRange: rangeBounds{{226, 226}, {128, 128}, {166, 166}},
    60  				inputMults:  []int{1},
    61  				outputMults: []int{1, 1, 1},
    62  			},
    63  			{
    64  				inputRange:  rangeBounds{{134, 135}},
    65  				outputRange: rangeBounds{{226, 226}, {128, 128}, {160, 161}},
    66  				inputMults:  []int{1},
    67  				outputMults: []int{2, 2, 1},
    68  			},
    69  			{
    70  				inputRange:  rangeBounds{{136, 136}},
    71  				outputRange: rangeBounds{{203, 203}, {134, 134}},
    72  				inputMults:  []int{1},
    73  				outputMults: []int{1, 1},
    74  			},
    75  			{
    76  				inputRange:  rangeBounds{{137, 137}},
    77  				outputRange: rangeBounds{{226, 226}, {128, 128}, {176, 176}},
    78  				inputMults:  []int{1},
    79  				outputMults: []int{1, 1, 1},
    80  			},
    81  			{
    82  				inputRange:  rangeBounds{{139, 139}},
    83  				outputRange: rangeBounds{{226, 226}, {128, 128}, {185, 185}},
    84  				inputMults:  []int{1},
    85  				outputMults: []int{1, 1, 1},
    86  			},
    87  			{
    88  				inputRange:  rangeBounds{{140, 140}},
    89  				outputRange: rangeBounds{{197, 197}, {146, 146}},
    90  				inputMults:  []int{1},
    91  				outputMults: []int{1, 1},
    92  			},
    93  			{
    94  				inputRange:  rangeBounds{{141, 141}},
    95  				outputRange: rangeBounds{{218, 218}, {134, 134}},
    96  				inputMults:  []int{1},
    97  				outputMults: []int{1, 1},
    98  			},
    99  			{
   100  				inputRange:  rangeBounds{{142, 142}},
   101  				outputRange: rangeBounds{{218, 218}, {152, 152}},
   102  				inputMults:  []int{1},
   103  				outputMults: []int{1, 1},
   104  			},
   105  			{
   106  				inputRange:  rangeBounds{{144, 144}},
   107  				outputRange: rangeBounds{{218, 218}, {175, 175}},
   108  				inputMults:  []int{1},
   109  				outputMults: []int{1, 1},
   110  			},
   111  			{
   112  				inputRange:  rangeBounds{{145, 146}},
   113  				outputRange: rangeBounds{{226, 226}, {128, 128}, {152, 153}},
   114  				inputMults:  []int{1},
   115  				outputMults: []int{2, 2, 1},
   116  			},
   117  			{
   118  				inputRange:  rangeBounds{{147, 148}},
   119  				outputRange: rangeBounds{{226, 226}, {128, 128}, {156, 157}},
   120  				inputMults:  []int{1},
   121  				outputMults: []int{2, 2, 1},
   122  			},
   123  			{
   124  				inputRange:  rangeBounds{{149, 149}},
   125  				outputRange: rangeBounds{{226, 226}, {128, 128}, {162, 162}},
   126  				inputMults:  []int{1},
   127  				outputMults: []int{1, 1, 1},
   128  			},
   129  			{
   130  				inputRange:  rangeBounds{{150, 151}},
   131  				outputRange: rangeBounds{{226, 226}, {128, 128}, {147, 148}},
   132  				inputMults:  []int{1},
   133  				outputMults: []int{2, 2, 1},
   134  			},
   135  			{
   136  				inputRange:  rangeBounds{{153, 153}},
   137  				outputRange: rangeBounds{{226, 226}, {132, 132}, {162, 162}},
   138  				inputMults:  []int{1},
   139  				outputMults: []int{1, 1, 1},
   140  			},
   141  			{
   142  				inputRange:  rangeBounds{{155, 155}},
   143  				outputRange: rangeBounds{{226, 226}, {128, 128}, {186, 186}},
   144  				inputMults:  []int{1},
   145  				outputMults: []int{1, 1, 1},
   146  			},
   147  			{
   148  				inputRange:  rangeBounds{{156, 156}},
   149  				outputRange: rangeBounds{{197, 197}, {147, 147}},
   150  				inputMults:  []int{1},
   151  				outputMults: []int{1, 1},
   152  			},
   153  			{
   154  				inputRange:  rangeBounds{{157, 158}},
   155  				outputRange: rangeBounds{{226, 226}, {128, 128}, {140, 141}},
   156  				inputMults:  []int{1},
   157  				outputMults: []int{2, 2, 1},
   158  			},
   159  			{
   160  				inputRange:  rangeBounds{{160, 160}},
   161  				outputRange: rangeBounds{{194, 194}, {160, 160}},
   162  				inputMults:  []int{1},
   163  				outputMults: []int{1, 1},
   164  			},
   165  			{
   166  				inputRange:  rangeBounds{{161, 161}},
   167  				outputRange: rangeBounds{{216, 216}, {140, 140}},
   168  				inputMults:  []int{1},
   169  				outputMults: []int{1, 1},
   170  			},
   171  			{
   172  				inputRange:  rangeBounds{{162, 169}},
   173  				outputRange: rangeBounds{{194, 194}, {162, 169}},
   174  				inputMults:  []int{1},
   175  				outputMults: []int{8, 1},
   176  			},
   177  			{
   178  				inputRange:  rangeBounds{{171, 185}},
   179  				outputRange: rangeBounds{{194, 194}, {171, 185}},
   180  				inputMults:  []int{1},
   181  				outputMults: []int{15, 1},
   182  			},
   183  			{
   184  				inputRange:  rangeBounds{{186, 186}},
   185  				outputRange: rangeBounds{{216, 216}, {155, 155}},
   186  				inputMults:  []int{1},
   187  				outputMults: []int{1, 1},
   188  			},
   189  			{
   190  				inputRange:  rangeBounds{{187, 190}},
   191  				outputRange: rangeBounds{{194, 194}, {187, 190}},
   192  				inputMults:  []int{1},
   193  				outputMults: []int{4, 1},
   194  			},
   195  			{
   196  				inputRange:  rangeBounds{{191, 191}},
   197  				outputRange: rangeBounds{{216, 216}, {159, 159}},
   198  				inputMults:  []int{1},
   199  				outputMults: []int{1, 1},
   200  			},
   201  			{
   202  				inputRange:  rangeBounds{{193, 214}},
   203  				outputRange: rangeBounds{{216, 216}, {161, 182}},
   204  				inputMults:  []int{1},
   205  				outputMults: []int{22, 1},
   206  			},
   207  			{
   208  				inputRange:  rangeBounds{{215, 215}},
   209  				outputRange: rangeBounds{{195, 195}, {151, 151}},
   210  				inputMults:  []int{1},
   211  				outputMults: []int{1, 1},
   212  			},
   213  			{
   214  				inputRange:  rangeBounds{{216, 219}},
   215  				outputRange: rangeBounds{{216, 216}, {183, 186}},
   216  				inputMults:  []int{1},
   217  				outputMults: []int{4, 1},
   218  			},
   219  			{
   220  				inputRange:  rangeBounds{{220, 223}},
   221  				outputRange: rangeBounds{{217, 217}, {128, 131}},
   222  				inputMults:  []int{1},
   223  				outputMults: []int{4, 1},
   224  			},
   225  			{
   226  				inputRange:  rangeBounds{{224, 224}},
   227  				outputRange: rangeBounds{{195, 195}, {160, 160}},
   228  				inputMults:  []int{1},
   229  				outputMults: []int{1, 1},
   230  			},
   231  			{
   232  				inputRange:  rangeBounds{{225, 225}},
   233  				outputRange: rangeBounds{{217, 217}, {132, 132}},
   234  				inputMults:  []int{1},
   235  				outputMults: []int{1, 1},
   236  			},
   237  			{
   238  				inputRange:  rangeBounds{{226, 226}},
   239  				outputRange: rangeBounds{{195, 195}, {162, 162}},
   240  				inputMults:  []int{1},
   241  				outputMults: []int{1, 1},
   242  			},
   243  			{
   244  				inputRange:  rangeBounds{{227, 230}},
   245  				outputRange: rangeBounds{{217, 217}, {133, 136}},
   246  				inputMults:  []int{1},
   247  				outputMults: []int{4, 1},
   248  			},
   249  			{
   250  				inputRange:  rangeBounds{{231, 235}},
   251  				outputRange: rangeBounds{{195, 195}, {167, 171}},
   252  				inputMults:  []int{1},
   253  				outputMults: []int{5, 1},
   254  			},
   255  			{
   256  				inputRange:  rangeBounds{{236, 237}},
   257  				outputRange: rangeBounds{{217, 217}, {137, 138}},
   258  				inputMults:  []int{1},
   259  				outputMults: []int{2, 1},
   260  			},
   261  			{
   262  				inputRange:  rangeBounds{{238, 239}},
   263  				outputRange: rangeBounds{{195, 195}, {174, 175}},
   264  				inputMults:  []int{1},
   265  				outputMults: []int{2, 1},
   266  			},
   267  			{
   268  				inputRange:  rangeBounds{{240, 243}},
   269  				outputRange: rangeBounds{{217, 217}, {139, 142}},
   270  				inputMults:  []int{1},
   271  				outputMults: []int{4, 1},
   272  			},
   273  			{
   274  				inputRange:  rangeBounds{{244, 244}},
   275  				outputRange: rangeBounds{{195, 195}, {180, 180}},
   276  				inputMults:  []int{1},
   277  				outputMults: []int{1, 1},
   278  			},
   279  			{
   280  				inputRange:  rangeBounds{{245, 246}},
   281  				outputRange: rangeBounds{{217, 217}, {143, 144}},
   282  				inputMults:  []int{1},
   283  				outputMults: []int{2, 1},
   284  			},
   285  			{
   286  				inputRange:  rangeBounds{{247, 247}},
   287  				outputRange: rangeBounds{{195, 195}, {183, 183}},
   288  				inputMults:  []int{1},
   289  				outputMults: []int{1, 1},
   290  			},
   291  			{
   292  				inputRange:  rangeBounds{{248, 248}},
   293  				outputRange: rangeBounds{{217, 217}, {145, 145}},
   294  				inputMults:  []int{1},
   295  				outputMults: []int{1, 1},
   296  			},
   297  			{
   298  				inputRange:  rangeBounds{{249, 249}},
   299  				outputRange: rangeBounds{{195, 195}, {185, 185}},
   300  				inputMults:  []int{1},
   301  				outputMults: []int{1, 1},
   302  			},
   303  			{
   304  				inputRange:  rangeBounds{{250, 250}},
   305  				outputRange: rangeBounds{{217, 217}, {146, 146}},
   306  				inputMults:  []int{1},
   307  				outputMults: []int{1, 1},
   308  			},
   309  			{
   310  				inputRange:  rangeBounds{{251, 252}},
   311  				outputRange: rangeBounds{{195, 195}, {187, 188}},
   312  				inputMults:  []int{1},
   313  				outputMults: []int{2, 1},
   314  			},
   315  			{
   316  				inputRange:  rangeBounds{{253, 254}},
   317  				outputRange: rangeBounds{{226, 226}, {128, 128}, {142, 143}},
   318  				inputMults:  []int{1},
   319  				outputMults: []int{2, 2, 1},
   320  			},
   321  		},
   322  		nil,
   323  		nil,
   324  		nil,
   325  	},
   326  	outputEntries: [][]rangeMapEntry{
   327  		{
   328  			{
   329  				inputRange:  rangeBounds{{0, 127}},
   330  				outputRange: rangeBounds{{0, 127}},
   331  				inputMults:  []int{1},
   332  				outputMults: []int{1},
   333  			},
   334  		},
   335  		{
   336  			{
   337  				inputRange:  rangeBounds{{129, 129}},
   338  				outputRange: rangeBounds{{217, 217}, {190, 190}},
   339  				inputMults:  []int{1},
   340  				outputMults: []int{1, 1},
   341  			},
   342  			{
   343  				inputRange:  rangeBounds{{131, 131}},
   344  				outputRange: rangeBounds{{198, 198}, {146, 146}},
   345  				inputMults:  []int{1},
   346  				outputMults: []int{1, 1},
   347  			},
   348  			{
   349  				inputRange:  rangeBounds{{136, 136}},
   350  				outputRange: rangeBounds{{203, 203}, {134, 134}},
   351  				inputMults:  []int{1},
   352  				outputMults: []int{1, 1},
   353  			},
   354  			{
   355  				inputRange:  rangeBounds{{140, 140}},
   356  				outputRange: rangeBounds{{197, 197}, {146, 146}},
   357  				inputMults:  []int{1},
   358  				outputMults: []int{1, 1},
   359  			},
   360  			{
   361  				inputRange:  rangeBounds{{141, 141}},
   362  				outputRange: rangeBounds{{218, 218}, {134, 134}},
   363  				inputMults:  []int{1},
   364  				outputMults: []int{1, 1},
   365  			},
   366  			{
   367  				inputRange:  rangeBounds{{142, 142}},
   368  				outputRange: rangeBounds{{218, 218}, {152, 152}},
   369  				inputMults:  []int{1},
   370  				outputMults: []int{1, 1},
   371  			},
   372  			{
   373  				inputRange:  rangeBounds{{144, 144}},
   374  				outputRange: rangeBounds{{218, 218}, {175, 175}},
   375  				inputMults:  []int{1},
   376  				outputMults: []int{1, 1},
   377  			},
   378  			{
   379  				inputRange:  rangeBounds{{156, 156}},
   380  				outputRange: rangeBounds{{197, 197}, {147, 147}},
   381  				inputMults:  []int{1},
   382  				outputMults: []int{1, 1},
   383  			},
   384  			{
   385  				inputRange:  rangeBounds{{160, 160}},
   386  				outputRange: rangeBounds{{194, 194}, {160, 160}},
   387  				inputMults:  []int{1},
   388  				outputMults: []int{1, 1},
   389  			},
   390  			{
   391  				inputRange:  rangeBounds{{161, 161}},
   392  				outputRange: rangeBounds{{216, 216}, {140, 140}},
   393  				inputMults:  []int{1},
   394  				outputMults: []int{1, 1},
   395  			},
   396  			{
   397  				inputRange:  rangeBounds{{162, 169}},
   398  				outputRange: rangeBounds{{194, 194}, {162, 169}},
   399  				inputMults:  []int{1},
   400  				outputMults: []int{8, 1},
   401  			},
   402  			{
   403  				inputRange:  rangeBounds{{171, 185}},
   404  				outputRange: rangeBounds{{194, 194}, {171, 185}},
   405  				inputMults:  []int{1},
   406  				outputMults: []int{15, 1},
   407  			},
   408  			{
   409  				inputRange:  rangeBounds{{186, 186}},
   410  				outputRange: rangeBounds{{216, 216}, {155, 155}},
   411  				inputMults:  []int{1},
   412  				outputMults: []int{1, 1},
   413  			},
   414  			{
   415  				inputRange:  rangeBounds{{187, 190}},
   416  				outputRange: rangeBounds{{194, 194}, {187, 190}},
   417  				inputMults:  []int{1},
   418  				outputMults: []int{4, 1},
   419  			},
   420  			{
   421  				inputRange:  rangeBounds{{191, 191}},
   422  				outputRange: rangeBounds{{216, 216}, {159, 159}},
   423  				inputMults:  []int{1},
   424  				outputMults: []int{1, 1},
   425  			},
   426  			{
   427  				inputRange:  rangeBounds{{193, 214}},
   428  				outputRange: rangeBounds{{216, 216}, {161, 182}},
   429  				inputMults:  []int{1},
   430  				outputMults: []int{22, 1},
   431  			},
   432  			{
   433  				inputRange:  rangeBounds{{215, 215}},
   434  				outputRange: rangeBounds{{195, 195}, {151, 151}},
   435  				inputMults:  []int{1},
   436  				outputMults: []int{1, 1},
   437  			},
   438  			{
   439  				inputRange:  rangeBounds{{216, 219}},
   440  				outputRange: rangeBounds{{216, 216}, {183, 186}},
   441  				inputMults:  []int{1},
   442  				outputMults: []int{4, 1},
   443  			},
   444  			{
   445  				inputRange:  rangeBounds{{220, 223}},
   446  				outputRange: rangeBounds{{217, 217}, {128, 131}},
   447  				inputMults:  []int{1},
   448  				outputMults: []int{4, 1},
   449  			},
   450  			{
   451  				inputRange:  rangeBounds{{224, 224}},
   452  				outputRange: rangeBounds{{195, 195}, {160, 160}},
   453  				inputMults:  []int{1},
   454  				outputMults: []int{1, 1},
   455  			},
   456  			{
   457  				inputRange:  rangeBounds{{225, 225}},
   458  				outputRange: rangeBounds{{217, 217}, {132, 132}},
   459  				inputMults:  []int{1},
   460  				outputMults: []int{1, 1},
   461  			},
   462  			{
   463  				inputRange:  rangeBounds{{226, 226}},
   464  				outputRange: rangeBounds{{195, 195}, {162, 162}},
   465  				inputMults:  []int{1},
   466  				outputMults: []int{1, 1},
   467  			},
   468  			{
   469  				inputRange:  rangeBounds{{227, 230}},
   470  				outputRange: rangeBounds{{217, 217}, {133, 136}},
   471  				inputMults:  []int{1},
   472  				outputMults: []int{4, 1},
   473  			},
   474  			{
   475  				inputRange:  rangeBounds{{231, 235}},
   476  				outputRange: rangeBounds{{195, 195}, {167, 171}},
   477  				inputMults:  []int{1},
   478  				outputMults: []int{5, 1},
   479  			},
   480  			{
   481  				inputRange:  rangeBounds{{236, 237}},
   482  				outputRange: rangeBounds{{217, 217}, {137, 138}},
   483  				inputMults:  []int{1},
   484  				outputMults: []int{2, 1},
   485  			},
   486  			{
   487  				inputRange:  rangeBounds{{238, 239}},
   488  				outputRange: rangeBounds{{195, 195}, {174, 175}},
   489  				inputMults:  []int{1},
   490  				outputMults: []int{2, 1},
   491  			},
   492  			{
   493  				inputRange:  rangeBounds{{240, 243}},
   494  				outputRange: rangeBounds{{217, 217}, {139, 142}},
   495  				inputMults:  []int{1},
   496  				outputMults: []int{4, 1},
   497  			},
   498  			{
   499  				inputRange:  rangeBounds{{244, 244}},
   500  				outputRange: rangeBounds{{195, 195}, {180, 180}},
   501  				inputMults:  []int{1},
   502  				outputMults: []int{1, 1},
   503  			},
   504  			{
   505  				inputRange:  rangeBounds{{245, 246}},
   506  				outputRange: rangeBounds{{217, 217}, {143, 144}},
   507  				inputMults:  []int{1},
   508  				outputMults: []int{2, 1},
   509  			},
   510  			{
   511  				inputRange:  rangeBounds{{247, 247}},
   512  				outputRange: rangeBounds{{195, 195}, {183, 183}},
   513  				inputMults:  []int{1},
   514  				outputMults: []int{1, 1},
   515  			},
   516  			{
   517  				inputRange:  rangeBounds{{248, 248}},
   518  				outputRange: rangeBounds{{217, 217}, {145, 145}},
   519  				inputMults:  []int{1},
   520  				outputMults: []int{1, 1},
   521  			},
   522  			{
   523  				inputRange:  rangeBounds{{249, 249}},
   524  				outputRange: rangeBounds{{195, 195}, {185, 185}},
   525  				inputMults:  []int{1},
   526  				outputMults: []int{1, 1},
   527  			},
   528  			{
   529  				inputRange:  rangeBounds{{250, 250}},
   530  				outputRange: rangeBounds{{217, 217}, {146, 146}},
   531  				inputMults:  []int{1},
   532  				outputMults: []int{1, 1},
   533  			},
   534  			{
   535  				inputRange:  rangeBounds{{251, 252}},
   536  				outputRange: rangeBounds{{195, 195}, {187, 188}},
   537  				inputMults:  []int{1},
   538  				outputMults: []int{2, 1},
   539  			},
   540  		},
   541  		{
   542  			{
   543  				inputRange:  rangeBounds{{128, 128}},
   544  				outputRange: rangeBounds{{226, 226}, {130, 130}, {172, 172}},
   545  				inputMults:  []int{1},
   546  				outputMults: []int{1, 1, 1},
   547  			},
   548  			{
   549  				inputRange:  rangeBounds{{130, 130}},
   550  				outputRange: rangeBounds{{226, 226}, {128, 128}, {154, 154}},
   551  				inputMults:  []int{1},
   552  				outputMults: []int{1, 1, 1},
   553  			},
   554  			{
   555  				inputRange:  rangeBounds{{132, 132}},
   556  				outputRange: rangeBounds{{226, 226}, {128, 128}, {158, 158}},
   557  				inputMults:  []int{1},
   558  				outputMults: []int{1, 1, 1},
   559  			},
   560  			{
   561  				inputRange:  rangeBounds{{133, 133}},
   562  				outputRange: rangeBounds{{226, 226}, {128, 128}, {166, 166}},
   563  				inputMults:  []int{1},
   564  				outputMults: []int{1, 1, 1},
   565  			},
   566  			{
   567  				inputRange:  rangeBounds{{134, 135}},
   568  				outputRange: rangeBounds{{226, 226}, {128, 128}, {160, 161}},
   569  				inputMults:  []int{1},
   570  				outputMults: []int{2, 2, 1},
   571  			},
   572  			{
   573  				inputRange:  rangeBounds{{137, 137}},
   574  				outputRange: rangeBounds{{226, 226}, {128, 128}, {176, 176}},
   575  				inputMults:  []int{1},
   576  				outputMults: []int{1, 1, 1},
   577  			},
   578  			{
   579  				inputRange:  rangeBounds{{139, 139}},
   580  				outputRange: rangeBounds{{226, 226}, {128, 128}, {185, 185}},
   581  				inputMults:  []int{1},
   582  				outputMults: []int{1, 1, 1},
   583  			},
   584  			{
   585  				inputRange:  rangeBounds{{145, 146}},
   586  				outputRange: rangeBounds{{226, 226}, {128, 128}, {152, 153}},
   587  				inputMults:  []int{1},
   588  				outputMults: []int{2, 2, 1},
   589  			},
   590  			{
   591  				inputRange:  rangeBounds{{147, 148}},
   592  				outputRange: rangeBounds{{226, 226}, {128, 128}, {156, 157}},
   593  				inputMults:  []int{1},
   594  				outputMults: []int{2, 2, 1},
   595  			},
   596  			{
   597  				inputRange:  rangeBounds{{149, 149}},
   598  				outputRange: rangeBounds{{226, 226}, {128, 128}, {162, 162}},
   599  				inputMults:  []int{1},
   600  				outputMults: []int{1, 1, 1},
   601  			},
   602  			{
   603  				inputRange:  rangeBounds{{150, 151}},
   604  				outputRange: rangeBounds{{226, 226}, {128, 128}, {147, 148}},
   605  				inputMults:  []int{1},
   606  				outputMults: []int{2, 2, 1},
   607  			},
   608  			{
   609  				inputRange:  rangeBounds{{153, 153}},
   610  				outputRange: rangeBounds{{226, 226}, {132, 132}, {162, 162}},
   611  				inputMults:  []int{1},
   612  				outputMults: []int{1, 1, 1},
   613  			},
   614  			{
   615  				inputRange:  rangeBounds{{155, 155}},
   616  				outputRange: rangeBounds{{226, 226}, {128, 128}, {186, 186}},
   617  				inputMults:  []int{1},
   618  				outputMults: []int{1, 1, 1},
   619  			},
   620  			{
   621  				inputRange:  rangeBounds{{157, 158}},
   622  				outputRange: rangeBounds{{226, 226}, {128, 128}, {140, 141}},
   623  				inputMults:  []int{1},
   624  				outputMults: []int{2, 2, 1},
   625  			},
   626  			{
   627  				inputRange:  rangeBounds{{253, 254}},
   628  				outputRange: rangeBounds{{226, 226}, {128, 128}, {142, 143}},
   629  				inputMults:  []int{1},
   630  				outputMults: []int{2, 2, 1},
   631  			},
   632  		},
   633  		nil,
   634  	},
   635  	toUpper: map[rune]rune{
   636  		84:  116,
   637  		93:  95,
   638  		97:  65,
   639  		98:  66,
   640  		99:  67,
   641  		100: 68,
   642  		101: 69,
   643  		102: 70,
   644  		103: 71,
   645  		104: 72,
   646  		105: 73,
   647  		106: 74,
   648  		107: 75,
   649  		108: 76,
   650  		109: 77,
   651  		110: 78,
   652  		111: 79,
   653  		112: 80,
   654  		113: 81,
   655  		114: 82,
   656  		115: 83,
   657  		117: 85,
   658  		118: 86,
   659  		119: 87,
   660  		120: 88,
   661  		121: 89,
   662  		122: 90,
   663  		125: 127,
   664  		339: 338,
   665  	},
   666  	toLower: map[rune]rune{
   667  		65:  97,
   668  		66:  98,
   669  		67:  99,
   670  		68:  100,
   671  		69:  101,
   672  		70:  102,
   673  		71:  103,
   674  		72:  104,
   675  		73:  105,
   676  		74:  106,
   677  		75:  107,
   678  		76:  108,
   679  		77:  109,
   680  		78:  110,
   681  		79:  111,
   682  		80:  112,
   683  		81:  113,
   684  		82:  114,
   685  		83:  115,
   686  		85:  117,
   687  		86:  118,
   688  		87:  119,
   689  		88:  120,
   690  		89:  121,
   691  		90:  122,
   692  		116: 84,
   693  		338: 339,
   694  	},
   695  }