module Text.Highlighter.Lexers.Python3 (lexer) where

import Text.Regex.PCRE.Light
import Text.Highlighter.Types

lexer :: Lexer
lexer = Lexer
    { lName = "\80\121\116\104\111\110\32\51"
    , lAliases = ["\112\121\116\104\111\110\51", "\112\121\51"]
    , lExtensions = []
    , lMimetypes = ["\116\101\120\116\47\120\45\112\121\116\104\111\110\51", "\97\112\112\108\105\99\97\116\105\111\110\47\120\45\112\121\116\104\111\110\51"]
    , lStart = root'
    , lFlags = [multiline, utf8]
    }

tsqs' :: TokenMatcher
tsqs' =
    [ tokNext "\39\39\39" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103") Pop
    , anyOf strings'
    , anyOf nl'
    ]

sqs' :: TokenMatcher
sqs' =
    [ tokNext "\39" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103") Pop
    , tok "\92\92\92\92\124\92\92\39\124\92\92\92\110" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\69\115\99\97\112\101")
    , anyOf strings'
    ]

backtick' :: TokenMatcher
backtick' =
    [ 
    ]

classname' :: TokenMatcher
classname' =
    [ tokNext "\91\65\45\90\95\97\45\122\170\181\186\192\45\214\216\45\246\248\45\442\443\444\45\447\448\45\451\452\45\577\592\45\687\688\45\705\710\45\721\736\45\740\750\902\904\45\906\908\910\45\929\931\45\974\976\45\1013\1015\45\1153\1162\45\1230\1232\45\1273\1280\45\1295\1329\45\1366\1369\1377\45\1415\1488\45\1514\1520\45\1522\1569\45\1594\1600\1601\45\1610\1646\45\1647\1649\45\1747\1749\1765\45\1766\1774\45\1775\1786\45\1788\1791\1808\1810\45\1839\1869\45\1901\1920\45\1957\1969\2308\45\2361\2365\2384\2392\45\2401\2429\2437\45\2444\2447\45\2448\2451\45\2472\2474\45\2480\2482\2486\45\2489\2493\2510\2524\45\2525\2527\45\2529\2544\45\2545\2565\45\2570\2575\45\2576\2579\45\2600\2602\45\2608\2610\45\2611\2613\45\2614\2616\45\2617\2649\45\2652\2654\2674\45\2676\2693\45\2701\2703\45\2705\2707\45\2728\2730\45\2736\2738\45\2739\2741\45\2745\2749\2768\2784\45\2785\2821\45\2828\2831\45\2832\2835\45\2856\2858\45\2864\2866\45\2867\2869\45\2873\2877\2908\45\2909\2911\45\2913\2929\2947\2949\45\2954\2958\45\2960\2962\45\2965\2969\45\2970\2972\2974\45\2975\2979\45\2980\2984\45\2986\2990\45\3001\3077\45\3084\3086\45\3088\3090\45\3112\3114\45\3123\3125\45\3129\3168\45\3169\3205\45\3212\3214\45\3216\3218\45\3240\3242\45\3251\3253\45\3257\3261\3294\3296\45\3297\3333\45\3340\3342\45\3344\3346\45\3368\3370\45\3385\3424\45\3425\3461\45\3478\3482\45\3505\3507\45\3515\3517\3520\45\3526\3585\45\3632\3634\3648\45\3653\3654\3713\45\3714\3716\3719\45\3720\3722\3725\3732\45\3735\3737\45\3743\3745\45\3747\3749\3751\3754\45\3755\3757\45\3760\3762\3773\3776\45\3780\3782\3804\45\3805\3840\3904\45\3911\3913\45\3946\3976\45\3979\4096\45\4129\4131\45\4135\4137\45\4138\4176\45\4181\4256\45\4293\4304\45\4346\4348\4352\45\4441\4447\45\4514\4520\45\4601\4608\45\4680\4682\45\4685\4688\45\4694\4696\4698\45\4701\4704\45\4744\4746\45\4749\4752\45\4784\4786\45\4789\4792\45\4798\4800\4802\45\4805\4808\45\4822\4824\45\4880\4882\45\4885\4888\45\4954\4992\45\5007\5024\45\5108\5121\45\5740\5743\45\5750\5761\45\5786\5792\45\5866\5870\45\5872\5888\45\5900\5902\45\5905\5920\45\5937\5952\45\5969\5984\45\5996\5998\45\6000\6016\45\6067\6103\6108\6176\45\6210\6211\6212\45\6263\6272\45\6312\6400\45\6428\6480\45\6509\6512\45\6516\6528\45\6569\6593\45\6599\6656\45\6678\7424\45\7467\7468\45\7521\7522\45\7543\7544\7545\45\7578\7579\45\7615\7680\45\7835\7840\45\7929\7936\45\7957\7960\45\7965\7968\45\8005\8008\45\8013\8016\45\8023\8025\8027\8029\8031\45\8061\8064\45\8116\8118\45\8124\8126\8130\45\8132\8134\45\8140\8144\45\8147\8150\45\8155\8160\45\8172\8178\45\8180\8182\45\8188\8305\8319\8336\45\8340\8450\8455\8458\45\8467\8469\8472\8473\45\8477\8484\8486\8488\8490\45\8493\8494\8495\45\8497\8499\45\8500\8501\45\8504\8505\8508\45\8511\8517\45\8521\8544\45\8579\11264\45\11310\11312\45\11358\11392\45\11492\11520\45\11557\11568\45\11621\11631\11648\45\11670\11680\45\11686\11688\45\11694\11696\45\11702\11704\45\11710\11712\45\11718\11720\45\11726\11728\45\11734\11736\45\11742\12293\12294\12295\12321\45\12329\12337\45\12341\12344\45\12346\12347\12348\12353\45\12438\12445\45\12446\12447\12449\45\12538\12540\45\12542\12543\12549\45\12588\12593\45\12686\12704\45\12727\12784\45\12799\13312\45\19893\19968\45\40891\40960\45\40980\40981\40982\45\42124\43008\45\43009\43011\45\43013\43015\45\43018\43020\45\43042\44032\45\55203\63744\45\64045\64048\45\64106\64112\45\64217\64256\45\64262\64275\45\64279\64285\64287\45\64296\64298\45\64310\64312\45\64316\64318\64320\45\64321\64323\45\64324\64326\45\64433\64467\45\64605\64612\45\64829\64848\45\64911\64914\45\64967\65008\45\65017\65137\65139\65143\65145\65147\65149\65151\45\65276\65313\45\65338\65345\45\65370\65382\45\65391\65392\65393\45\65437\65440\45\65470\65474\45\65479\65482\45\65487\65490\45\65495\65498\45\65500\93\91\48\45\57\65\45\90\95\97\45\122\170\181\183\186\192\45\214\216\45\246\248\45\442\443\444\45\447\448\45\451\452\45\577\592\45\687\688\45\705\710\45\721\736\45\740\750\768\45\879\902\904\45\906\908\910\45\929\931\45\974\976\45\1013\1015\45\1153\1155\45\1158\1162\45\1230\1232\45\1273\1280\45\1295\1329\45\1366\1369\1377\45\1415\1425\45\1465\1467\45\1469\1471\1473\45\1474\1476\45\1477\1479\1488\45\1514\1520\45\1522\1552\45\1557\1569\45\1594\1600\1601\45\1610\1611\45\1630\1632\45\1641\1646\45\1647\1648\1649\45\1747\1749\1750\45\1756\1759\45\1764\1765\45\1766\1767\45\1768\1770\45\1773\1774\45\1775\1776\45\1785\1786\45\1788\1791\1808\1809\1810\45\1839\1840\45\1866\1869\45\1901\1920\45\1957\1958\45\1968\1969\2305\45\2306\2307\2308\45\2361\2364\2365\2366\45\2368\2369\45\2376\2377\45\2380\2381\2384\2385\45\2388\2392\45\2401\2402\45\2403\2406\45\2415\2429\2433\2434\45\2435\2437\45\2444\2447\45\2448\2451\45\2472\2474\45\2480\2482\2486\45\2489\2492\2493\2494\45\2496\2497\45\2500\2503\45\2504\2507\45\2508\2509\2510\2519\2524\45\2525\2527\45\2529\2530\45\2531\2534\45\2543\2544\45\2545\2561\45\2562\2563\2565\45\2570\2575\45\2576\2579\45\2600\2602\45\2608\2610\45\2611\2613\45\2614\2616\45\2617\2620\2622\45\2624\2625\45\2626\2631\45\2632\2635\45\2637\2649\45\2652\2654\2662\45\2671\2672\45\2673\2674\45\2676\2689\45\2690\2691\2693\45\2701\2703\45\2705\2707\45\2728\2730\45\2736\2738\45\2739\2741\45\2745\2748\2749\2750\45\2752\2753\45\2757\2759\45\2760\2761\2763\45\2764\2765\2768\2784\45\2785\2786\45\2787\2790\45\2799\2817\2818\45\2819\2821\45\2828\2831\45\2832\2835\45\2856\2858\45\2864\2866\45\2867\2869\45\2873\2876\2877\2878\2879\2880\2881\45\2883\2887\45\2888\2891\45\2892\2893\2902\2903\2908\45\2909\2911\45\2913\2918\45\2927\2929\2946\2947\2949\45\2954\2958\45\2960\2962\45\2965\2969\45\2970\2972\2974\45\2975\2979\45\2980\2984\45\2986\2990\45\3001\3006\45\3007\3008\3009\45\3010\3014\45\3016\3018\45\3020\3021\3031\3046\45\3055\3073\45\3075\3077\45\3084\3086\45\3088\3090\45\3112\3114\45\3123\3125\45\3129\3134\45\3136\3137\45\3140\3142\45\3144\3146\45\3149\3157\45\3158\3168\45\3169\3174\45\3183\3202\45\3203\3205\45\3212\3214\45\3216\3218\45\3240\3242\45\3251\3253\45\3257\3260\3261\3262\3263\3264\45\3268\3270\3271\45\3272\3274\45\3275\3276\45\3277\3285\45\3286\3294\3296\45\3297\3302\45\3311\3330\45\3331\3333\45\3340\3342\45\3344\3346\45\3368\3370\45\3385\3390\45\3392\3393\45\3395\3398\45\3400\3402\45\3404\3405\3415\3424\45\3425\3430\45\3439\3458\45\3459\3461\45\3478\3482\45\3505\3507\45\3515\3517\3520\45\3526\3530\3535\45\3537\3538\45\3540\3542\3544\45\3551\3570\45\3571\3585\45\3632\3633\3634\45\3635\3636\45\3642\3648\45\3653\3654\3655\45\3662\3664\45\3673\3713\45\3714\3716\3719\45\3720\3722\3725\3732\45\3735\3737\45\3743\3745\45\3747\3749\3751\3754\45\3755\3757\45\3760\3761\3762\45\3763\3764\45\3769\3771\45\3772\3773\3776\45\3780\3782\3784\45\3789\3792\45\3801\3804\45\3805\3840\3864\45\3865\3872\45\3881\3893\3895\3897\3902\45\3903\3904\45\3911\3913\45\3946\3953\45\3966\3967\3968\45\3972\3974\45\3975\3976\45\3979\3984\45\3991\3993\45\4028\4038\4096\45\4129\4131\45\4135\4137\45\4138\4140\4141\45\4144\4145\4146\4150\45\4151\4152\4153\4160\45\4169\4176\45\4181\4182\45\4183\4184\45\4185\4256\45\4293\4304\45\4346\4348\4352\45\4441\4447\45\4514\4520\45\4601\4608\45\4680\4682\45\4685\4688\45\4694\4696\4698\45\4701\4704\45\4744\4746\45\4749\4752\45\4784\4786\45\4789\4792\45\4798\4800\4802\45\4805\4808\45\4822\4824\45\4880\4882\45\4885\4888\45\4954\4959\4969\45\4977\4992\45\5007\5024\45\5108\5121\45\5740\5743\45\5750\5761\45\5786\5792\45\5866\5870\45\5872\5888\45\5900\5902\45\5905\5906\45\5908\5920\45\5937\5938\45\5940\5952\45\5969\5970\45\5971\5984\45\5996\5998\45\6000\6002\45\6003\6016\45\6067\6070\6071\45\6077\6078\45\6085\6086\6087\45\6088\6089\45\6099\6103\6108\6109\6112\45\6121\6155\45\6157\6160\45\6169\6176\45\6210\6211\6212\45\6263\6272\45\6312\6313\6400\45\6428\6432\45\6434\6435\45\6438\6439\45\6440\6441\45\6443\6448\45\6449\6450\6451\45\6456\6457\45\6459\6470\45\6479\6480\45\6509\6512\45\6516\6528\45\6569\6576\45\6592\6593\45\6599\6600\45\6601\6608\45\6617\6656\45\6678\6679\45\6680\6681\45\6683\7424\45\7467\7468\45\7521\7522\45\7543\7544\7545\45\7578\7579\45\7615\7616\45\7619\7680\45\7835\7840\45\7929\7936\45\7957\7960\45\7965\7968\45\8005\8008\45\8013\8016\45\8023\8025\8027\8029\8031\45\8061\8064\45\8116\8118\45\8124\8126\8130\45\8132\8134\45\8140\8144\45\8147\8150\45\8155\8160\45\8172\8178\45\8180\8182\45\8188\8255\45\8256\8276\8305\8319\8336\45\8340\8400\45\8412\8417\8421\45\8427\8450\8455\8458\45\8467\8469\8472\8473\45\8477\8484\8486\8488\8490\45\8493\8494\8495\45\8497\8499\45\8500\8501\45\8504\8505\8508\45\8511\8517\45\8521\8544\45\8579\11264\45\11310\11312\45\11358\11392\45\11492\11520\45\11557\11568\45\11621\11631\11648\45\11670\11680\45\11686\11688\45\11694\11696\45\11702\11704\45\11710\11712\45\11718\11720\45\11726\11728\45\11734\11736\45\11742\12293\12294\12295\12321\45\12329\12330\45\12335\12337\45\12341\12344\45\12346\12347\12348\12353\45\12438\12441\45\12442\12445\45\12446\12447\12449\45\12538\12540\45\12542\12543\12549\45\12588\12593\45\12686\12704\45\12727\12784\45\12799\13312\45\19893\19968\45\40891\40960\45\40980\40981\40982\45\42124\43008\45\43009\43010\43011\45\43013\43014\43015\45\43018\43019\43020\45\43042\43043\45\43044\43045\45\43046\43047\44032\45\55203\63744\45\64045\64048\45\64106\64112\45\64217\64256\45\64262\64275\45\64279\64285\64286\64287\45\64296\64298\45\64310\64312\45\64316\64318\64320\45\64321\64323\45\64324\64326\45\64433\64467\45\64605\64612\45\64829\64848\45\64911\64914\45\64967\65008\45\65017\65024\45\65039\65056\45\65059\65075\45\65076\65101\45\65103\65137\65139\65143\65145\65147\65149\65151\45\65276\65296\45\65305\65313\45\65338\65343\65345\45\65370\65382\45\65391\65392\65393\45\65437\65438\45\65439\65440\45\65470\65474\45\65479\65482\45\65487\65490\45\65495\65498\45\65500\93\42" (Arbitrary "\78\97\109\101" :. Arbitrary "\67\108\97\115\115") Pop
    ]

stringescape' :: TokenMatcher
stringescape' =
    [ tok "\92\92\40\91\92\92\97\98\102\110\114\116\118\34\92\39\93\124\92\110\124\78\123\46\42\63\125\124\117\91\97\45\102\65\45\70\48\45\57\93\123\52\125\124\85\91\97\45\102\65\45\70\48\45\57\93\123\56\125\124\120\91\97\45\102\65\45\70\48\45\57\93\123\50\125\124\91\48\45\55\93\123\49\44\51\125\41" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\69\115\99\97\112\101")
    ]

numbers' :: TokenMatcher
numbers' =
    [ tok "\40\92\100\43\92\46\92\100\42\124\92\100\42\92\46\92\100\43\41\40\91\101\69\93\91\43\45\93\63\91\48\45\57\93\43\41\63" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\78\117\109\98\101\114" :. Arbitrary "\70\108\111\97\116")
    , tok "\48\91\111\79\93\91\48\45\55\93\43" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\78\117\109\98\101\114" :. Arbitrary "\79\99\116")
    , tok "\48\91\98\66\93\91\48\49\93\43" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\78\117\109\98\101\114" :. Arbitrary "\66\105\110")
    , tok "\48\91\120\88\93\91\97\45\102\65\45\70\48\45\57\93\43" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\78\117\109\98\101\114" :. Arbitrary "\72\101\120")
    , tok "\92\100\43" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\78\117\109\98\101\114" :. Arbitrary "\73\110\116\101\103\101\114")
    ]

keywords' :: TokenMatcher
keywords' =
    [ tok "\40\97\115\115\101\114\116\124\98\114\101\97\107\124\99\111\110\116\105\110\117\101\124\100\101\108\124\101\108\105\102\124\101\108\115\101\124\101\120\99\101\112\116\124\102\105\110\97\108\108\121\124\102\111\114\124\103\108\111\98\97\108\124\105\102\124\108\97\109\98\100\97\124\112\97\115\115\124\114\97\105\115\101\124\114\101\116\117\114\110\124\116\114\121\124\119\104\105\108\101\124\121\105\101\108\100\124\97\115\124\119\105\116\104\124\84\114\117\101\124\70\97\108\115\101\124\78\111\110\101\41\92\98" (Arbitrary "\75\101\121\119\111\114\100")
    ]

nl' :: TokenMatcher
nl' =
    [ tok "\92\110" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103")
    ]

builtins' :: TokenMatcher
builtins' =
    [ tok "\40\63\60\33\92\46\41\40\95\95\105\109\112\111\114\116\95\95\124\97\98\115\124\97\108\108\124\97\110\121\124\98\105\110\124\98\111\111\108\124\98\121\116\101\97\114\114\97\121\124\98\121\116\101\115\124\99\104\114\124\99\108\97\115\115\109\101\116\104\111\100\124\99\109\112\124\99\111\109\112\105\108\101\124\99\111\109\112\108\101\120\124\100\101\108\97\116\116\114\124\100\105\99\116\124\100\105\114\124\100\105\118\109\111\100\124\101\110\117\109\101\114\97\116\101\124\101\118\97\108\124\102\105\108\116\101\114\124\102\108\111\97\116\124\102\111\114\109\97\116\124\102\114\111\122\101\110\115\101\116\124\103\101\116\97\116\116\114\124\103\108\111\98\97\108\115\124\104\97\115\97\116\116\114\124\104\97\115\104\124\104\101\120\124\105\100\124\105\110\112\117\116\124\105\110\116\124\105\115\105\110\115\116\97\110\99\101\124\105\115\115\117\98\99\108\97\115\115\124\105\116\101\114\124\108\101\110\124\108\105\115\116\124\108\111\99\97\108\115\124\109\97\112\124\109\97\120\124\109\101\109\111\114\121\118\105\101\119\124\109\105\110\124\110\101\120\116\124\111\98\106\101\99\116\124\111\99\116\124\111\112\101\110\124\111\114\100\124\112\111\119\124\112\114\105\110\116\124\112\114\111\112\101\114\116\121\124\114\97\110\103\101\124\114\101\112\114\124\114\101\118\101\114\115\101\100\124\114\111\117\110\100\124\115\101\116\124\115\101\116\97\116\116\114\124\115\108\105\99\101\124\115\111\114\116\101\100\124\115\116\97\116\105\99\109\101\116\104\111\100\124\115\116\114\124\115\117\109\124\115\117\112\101\114\124\116\117\112\108\101\124\116\121\112\101\124\118\97\114\115\124\122\105\112\41\92\98" (Arbitrary "\78\97\109\101" :. Arbitrary "\66\117\105\108\116\105\110")
    , tok "\40\63\60\33\92\46\41\40\115\101\108\102\124\69\108\108\105\112\115\105\115\124\78\111\116\73\109\112\108\101\109\101\110\116\101\100\41\92\98" (Arbitrary "\78\97\109\101" :. Arbitrary "\66\117\105\108\116\105\110" :. Arbitrary "\80\115\101\117\100\111")
    , tok "\40\63\60\33\92\46\41\40\65\114\105\116\104\109\101\116\105\99\69\114\114\111\114\124\65\115\115\101\114\116\105\111\110\69\114\114\111\114\124\65\116\116\114\105\98\117\116\101\69\114\114\111\114\124\66\97\115\101\69\120\99\101\112\116\105\111\110\124\66\117\102\102\101\114\69\114\114\111\114\124\66\121\116\101\115\87\97\114\110\105\110\103\124\68\101\112\114\101\99\97\116\105\111\110\87\97\114\110\105\110\103\124\69\79\70\69\114\114\111\114\124\69\110\118\105\114\111\110\109\101\110\116\69\114\114\111\114\124\69\120\99\101\112\116\105\111\110\124\70\108\111\97\116\105\110\103\80\111\105\110\116\69\114\114\111\114\124\70\117\116\117\114\101\87\97\114\110\105\110\103\124\71\101\110\101\114\97\116\111\114\69\120\105\116\124\73\79\69\114\114\111\114\124\73\109\112\111\114\116\69\114\114\111\114\124\73\109\112\111\114\116\87\97\114\110\105\110\103\124\73\110\100\101\110\116\97\116\105\111\110\69\114\114\111\114\124\73\110\100\101\120\69\114\114\111\114\124\75\101\121\69\114\114\111\114\124\75\101\121\98\111\97\114\100\73\110\116\101\114\114\117\112\116\124\76\111\111\107\117\112\69\114\114\111\114\124\77\101\109\111\114\121\69\114\114\111\114\124\78\97\109\101\69\114\114\111\114\124\78\111\116\73\109\112\108\101\109\101\110\116\101\100\69\114\114\111\114\124\79\83\69\114\114\111\114\124\79\118\101\114\102\108\111\119\69\114\114\111\114\124\80\101\110\100\105\110\103\68\101\112\114\101\99\97\116\105\111\110\87\97\114\110\105\110\103\124\82\101\102\101\114\101\110\99\101\69\114\114\111\114\124\82\117\110\116\105\109\101\69\114\114\111\114\124\82\117\110\116\105\109\101\87\97\114\110\105\110\103\124\83\116\111\112\73\116\101\114\97\116\105\111\110\124\83\121\110\116\97\120\69\114\114\111\114\124\83\121\110\116\97\120\87\97\114\110\105\110\103\124\83\121\115\116\101\109\69\114\114\111\114\124\83\121\115\116\101\109\69\120\105\116\124\84\97\98\69\114\114\111\114\124\84\121\112\101\69\114\114\111\114\124\85\110\98\111\117\110\100\76\111\99\97\108\69\114\114\111\114\124\85\110\105\99\111\100\101\68\101\99\111\100\101\69\114\114\111\114\124\85\110\105\99\111\100\101\69\110\99\111\100\101\69\114\114\111\114\124\85\110\105\99\111\100\101\69\114\114\111\114\124\85\110\105\99\111\100\101\84\114\97\110\115\108\97\116\101\69\114\114\111\114\124\85\110\105\99\111\100\101\87\97\114\110\105\110\103\124\85\115\101\114\87\97\114\110\105\110\103\124\86\97\108\117\101\69\114\114\111\114\124\86\77\83\69\114\114\111\114\124\87\97\114\110\105\110\103\124\87\105\110\100\111\119\115\69\114\114\111\114\124\90\101\114\111\68\105\118\105\115\105\111\110\69\114\114\111\114\41\92\98" (Arbitrary "\78\97\109\101" :. Arbitrary "\69\120\99\101\112\116\105\111\110")
    ]

name' :: TokenMatcher
name' =
    [ tok "\64\91\97\45\122\65\45\90\48\45\57\95\93\43" (Arbitrary "\78\97\109\101" :. Arbitrary "\68\101\99\111\114\97\116\111\114")
    , tok "\91\65\45\90\95\97\45\122\170\181\186\192\45\214\216\45\246\248\45\442\443\444\45\447\448\45\451\452\45\577\592\45\687\688\45\705\710\45\721\736\45\740\750\902\904\45\906\908\910\45\929\931\45\974\976\45\1013\1015\45\1153\1162\45\1230\1232\45\1273\1280\45\1295\1329\45\1366\1369\1377\45\1415\1488\45\1514\1520\45\1522\1569\45\1594\1600\1601\45\1610\1646\45\1647\1649\45\1747\1749\1765\45\1766\1774\45\1775\1786\45\1788\1791\1808\1810\45\1839\1869\45\1901\1920\45\1957\1969\2308\45\2361\2365\2384\2392\45\2401\2429\2437\45\2444\2447\45\2448\2451\45\2472\2474\45\2480\2482\2486\45\2489\2493\2510\2524\45\2525\2527\45\2529\2544\45\2545\2565\45\2570\2575\45\2576\2579\45\2600\2602\45\2608\2610\45\2611\2613\45\2614\2616\45\2617\2649\45\2652\2654\2674\45\2676\2693\45\2701\2703\45\2705\2707\45\2728\2730\45\2736\2738\45\2739\2741\45\2745\2749\2768\2784\45\2785\2821\45\2828\2831\45\2832\2835\45\2856\2858\45\2864\2866\45\2867\2869\45\2873\2877\2908\45\2909\2911\45\2913\2929\2947\2949\45\2954\2958\45\2960\2962\45\2965\2969\45\2970\2972\2974\45\2975\2979\45\2980\2984\45\2986\2990\45\3001\3077\45\3084\3086\45\3088\3090\45\3112\3114\45\3123\3125\45\3129\3168\45\3169\3205\45\3212\3214\45\3216\3218\45\3240\3242\45\3251\3253\45\3257\3261\3294\3296\45\3297\3333\45\3340\3342\45\3344\3346\45\3368\3370\45\3385\3424\45\3425\3461\45\3478\3482\45\3505\3507\45\3515\3517\3520\45\3526\3585\45\3632\3634\3648\45\3653\3654\3713\45\3714\3716\3719\45\3720\3722\3725\3732\45\3735\3737\45\3743\3745\45\3747\3749\3751\3754\45\3755\3757\45\3760\3762\3773\3776\45\3780\3782\3804\45\3805\3840\3904\45\3911\3913\45\3946\3976\45\3979\4096\45\4129\4131\45\4135\4137\45\4138\4176\45\4181\4256\45\4293\4304\45\4346\4348\4352\45\4441\4447\45\4514\4520\45\4601\4608\45\4680\4682\45\4685\4688\45\4694\4696\4698\45\4701\4704\45\4744\4746\45\4749\4752\45\4784\4786\45\4789\4792\45\4798\4800\4802\45\4805\4808\45\4822\4824\45\4880\4882\45\4885\4888\45\4954\4992\45\5007\5024\45\5108\5121\45\5740\5743\45\5750\5761\45\5786\5792\45\5866\5870\45\5872\5888\45\5900\5902\45\5905\5920\45\5937\5952\45\5969\5984\45\5996\5998\45\6000\6016\45\6067\6103\6108\6176\45\6210\6211\6212\45\6263\6272\45\6312\6400\45\6428\6480\45\6509\6512\45\6516\6528\45\6569\6593\45\6599\6656\45\6678\7424\45\7467\7468\45\7521\7522\45\7543\7544\7545\45\7578\7579\45\7615\7680\45\7835\7840\45\7929\7936\45\7957\7960\45\7965\7968\45\8005\8008\45\8013\8016\45\8023\8025\8027\8029\8031\45\8061\8064\45\8116\8118\45\8124\8126\8130\45\8132\8134\45\8140\8144\45\8147\8150\45\8155\8160\45\8172\8178\45\8180\8182\45\8188\8305\8319\8336\45\8340\8450\8455\8458\45\8467\8469\8472\8473\45\8477\8484\8486\8488\8490\45\8493\8494\8495\45\8497\8499\45\8500\8501\45\8504\8505\8508\45\8511\8517\45\8521\8544\45\8579\11264\45\11310\11312\45\11358\11392\45\11492\11520\45\11557\11568\45\11621\11631\11648\45\11670\11680\45\11686\11688\45\11694\11696\45\11702\11704\45\11710\11712\45\11718\11720\45\11726\11728\45\11734\11736\45\11742\12293\12294\12295\12321\45\12329\12337\45\12341\12344\45\12346\12347\12348\12353\45\12438\12445\45\12446\12447\12449\45\12538\12540\45\12542\12543\12549\45\12588\12593\45\12686\12704\45\12727\12784\45\12799\13312\45\19893\19968\45\40891\40960\45\40980\40981\40982\45\42124\43008\45\43009\43011\45\43013\43015\45\43018\43020\45\43042\44032\45\55203\63744\45\64045\64048\45\64106\64112\45\64217\64256\45\64262\64275\45\64279\64285\64287\45\64296\64298\45\64310\64312\45\64316\64318\64320\45\64321\64323\45\64324\64326\45\64433\64467\45\64605\64612\45\64829\64848\45\64911\64914\45\64967\65008\45\65017\65137\65139\65143\65145\65147\65149\65151\45\65276\65313\45\65338\65345\45\65370\65382\45\65391\65392\65393\45\65437\65440\45\65470\65474\45\65479\65482\45\65487\65490\45\65495\65498\45\65500\93\91\48\45\57\65\45\90\95\97\45\122\170\181\183\186\192\45\214\216\45\246\248\45\442\443\444\45\447\448\45\451\452\45\577\592\45\687\688\45\705\710\45\721\736\45\740\750\768\45\879\902\904\45\906\908\910\45\929\931\45\974\976\45\1013\1015\45\1153\1155\45\1158\1162\45\1230\1232\45\1273\1280\45\1295\1329\45\1366\1369\1377\45\1415\1425\45\1465\1467\45\1469\1471\1473\45\1474\1476\45\1477\1479\1488\45\1514\1520\45\1522\1552\45\1557\1569\45\1594\1600\1601\45\1610\1611\45\1630\1632\45\1641\1646\45\1647\1648\1649\45\1747\1749\1750\45\1756\1759\45\1764\1765\45\1766\1767\45\1768\1770\45\1773\1774\45\1775\1776\45\1785\1786\45\1788\1791\1808\1809\1810\45\1839\1840\45\1866\1869\45\1901\1920\45\1957\1958\45\1968\1969\2305\45\2306\2307\2308\45\2361\2364\2365\2366\45\2368\2369\45\2376\2377\45\2380\2381\2384\2385\45\2388\2392\45\2401\2402\45\2403\2406\45\2415\2429\2433\2434\45\2435\2437\45\2444\2447\45\2448\2451\45\2472\2474\45\2480\2482\2486\45\2489\2492\2493\2494\45\2496\2497\45\2500\2503\45\2504\2507\45\2508\2509\2510\2519\2524\45\2525\2527\45\2529\2530\45\2531\2534\45\2543\2544\45\2545\2561\45\2562\2563\2565\45\2570\2575\45\2576\2579\45\2600\2602\45\2608\2610\45\2611\2613\45\2614\2616\45\2617\2620\2622\45\2624\2625\45\2626\2631\45\2632\2635\45\2637\2649\45\2652\2654\2662\45\2671\2672\45\2673\2674\45\2676\2689\45\2690\2691\2693\45\2701\2703\45\2705\2707\45\2728\2730\45\2736\2738\45\2739\2741\45\2745\2748\2749\2750\45\2752\2753\45\2757\2759\45\2760\2761\2763\45\2764\2765\2768\2784\45\2785\2786\45\2787\2790\45\2799\2817\2818\45\2819\2821\45\2828\2831\45\2832\2835\45\2856\2858\45\2864\2866\45\2867\2869\45\2873\2876\2877\2878\2879\2880\2881\45\2883\2887\45\2888\2891\45\2892\2893\2902\2903\2908\45\2909\2911\45\2913\2918\45\2927\2929\2946\2947\2949\45\2954\2958\45\2960\2962\45\2965\2969\45\2970\2972\2974\45\2975\2979\45\2980\2984\45\2986\2990\45\3001\3006\45\3007\3008\3009\45\3010\3014\45\3016\3018\45\3020\3021\3031\3046\45\3055\3073\45\3075\3077\45\3084\3086\45\3088\3090\45\3112\3114\45\3123\3125\45\3129\3134\45\3136\3137\45\3140\3142\45\3144\3146\45\3149\3157\45\3158\3168\45\3169\3174\45\3183\3202\45\3203\3205\45\3212\3214\45\3216\3218\45\3240\3242\45\3251\3253\45\3257\3260\3261\3262\3263\3264\45\3268\3270\3271\45\3272\3274\45\3275\3276\45\3277\3285\45\3286\3294\3296\45\3297\3302\45\3311\3330\45\3331\3333\45\3340\3342\45\3344\3346\45\3368\3370\45\3385\3390\45\3392\3393\45\3395\3398\45\3400\3402\45\3404\3405\3415\3424\45\3425\3430\45\3439\3458\45\3459\3461\45\3478\3482\45\3505\3507\45\3515\3517\3520\45\3526\3530\3535\45\3537\3538\45\3540\3542\3544\45\3551\3570\45\3571\3585\45\3632\3633\3634\45\3635\3636\45\3642\3648\45\3653\3654\3655\45\3662\3664\45\3673\3713\45\3714\3716\3719\45\3720\3722\3725\3732\45\3735\3737\45\3743\3745\45\3747\3749\3751\3754\45\3755\3757\45\3760\3761\3762\45\3763\3764\45\3769\3771\45\3772\3773\3776\45\3780\3782\3784\45\3789\3792\45\3801\3804\45\3805\3840\3864\45\3865\3872\45\3881\3893\3895\3897\3902\45\3903\3904\45\3911\3913\45\3946\3953\45\3966\3967\3968\45\3972\3974\45\3975\3976\45\3979\3984\45\3991\3993\45\4028\4038\4096\45\4129\4131\45\4135\4137\45\4138\4140\4141\45\4144\4145\4146\4150\45\4151\4152\4153\4160\45\4169\4176\45\4181\4182\45\4183\4184\45\4185\4256\45\4293\4304\45\4346\4348\4352\45\4441\4447\45\4514\4520\45\4601\4608\45\4680\4682\45\4685\4688\45\4694\4696\4698\45\4701\4704\45\4744\4746\45\4749\4752\45\4784\4786\45\4789\4792\45\4798\4800\4802\45\4805\4808\45\4822\4824\45\4880\4882\45\4885\4888\45\4954\4959\4969\45\4977\4992\45\5007\5024\45\5108\5121\45\5740\5743\45\5750\5761\45\5786\5792\45\5866\5870\45\5872\5888\45\5900\5902\45\5905\5906\45\5908\5920\45\5937\5938\45\5940\5952\45\5969\5970\45\5971\5984\45\5996\5998\45\6000\6002\45\6003\6016\45\6067\6070\6071\45\6077\6078\45\6085\6086\6087\45\6088\6089\45\6099\6103\6108\6109\6112\45\6121\6155\45\6157\6160\45\6169\6176\45\6210\6211\6212\45\6263\6272\45\6312\6313\6400\45\6428\6432\45\6434\6435\45\6438\6439\45\6440\6441\45\6443\6448\45\6449\6450\6451\45\6456\6457\45\6459\6470\45\6479\6480\45\6509\6512\45\6516\6528\45\6569\6576\45\6592\6593\45\6599\6600\45\6601\6608\45\6617\6656\45\6678\6679\45\6680\6681\45\6683\7424\45\7467\7468\45\7521\7522\45\7543\7544\7545\45\7578\7579\45\7615\7616\45\7619\7680\45\7835\7840\45\7929\7936\45\7957\7960\45\7965\7968\45\8005\8008\45\8013\8016\45\8023\8025\8027\8029\8031\45\8061\8064\45\8116\8118\45\8124\8126\8130\45\8132\8134\45\8140\8144\45\8147\8150\45\8155\8160\45\8172\8178\45\8180\8182\45\8188\8255\45\8256\8276\8305\8319\8336\45\8340\8400\45\8412\8417\8421\45\8427\8450\8455\8458\45\8467\8469\8472\8473\45\8477\8484\8486\8488\8490\45\8493\8494\8495\45\8497\8499\45\8500\8501\45\8504\8505\8508\45\8511\8517\45\8521\8544\45\8579\11264\45\11310\11312\45\11358\11392\45\11492\11520\45\11557\11568\45\11621\11631\11648\45\11670\11680\45\11686\11688\45\11694\11696\45\11702\11704\45\11710\11712\45\11718\11720\45\11726\11728\45\11734\11736\45\11742\12293\12294\12295\12321\45\12329\12330\45\12335\12337\45\12341\12344\45\12346\12347\12348\12353\45\12438\12441\45\12442\12445\45\12446\12447\12449\45\12538\12540\45\12542\12543\12549\45\12588\12593\45\12686\12704\45\12727\12784\45\12799\13312\45\19893\19968\45\40891\40960\45\40980\40981\40982\45\42124\43008\45\43009\43010\43011\45\43013\43014\43015\45\43018\43019\43020\45\43042\43043\45\43044\43045\45\43046\43047\44032\45\55203\63744\45\64045\64048\45\64106\64112\45\64217\64256\45\64262\64275\45\64279\64285\64286\64287\45\64296\64298\45\64310\64312\45\64316\64318\64320\45\64321\64323\45\64324\64326\45\64433\64467\45\64605\64612\45\64829\64848\45\64911\64914\45\64967\65008\45\65017\65024\45\65039\65056\45\65059\65075\45\65076\65101\45\65103\65137\65139\65143\65145\65147\65149\65151\45\65276\65296\45\65305\65313\45\65338\65343\65345\45\65370\65382\45\65391\65392\65393\45\65437\65438\45\65439\65440\45\65470\65474\45\65479\65482\45\65487\65490\45\65495\65498\45\65500\93\42" (Arbitrary "\78\97\109\101")
    ]

dqs' :: TokenMatcher
dqs' =
    [ tokNext "\34" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103") Pop
    , tok "\92\92\92\92\124\92\92\34\124\92\92\92\110" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\69\115\99\97\112\101")
    , anyOf strings'
    ]

root' :: TokenMatcher
root' =
    [ tok "\92\110" (Arbitrary "\84\101\120\116")
    , tok "\94\40\92\115\42\41\40\34\34\34\40\63\58\46\124\92\110\41\42\63\34\34\34\41" (ByGroups [(Arbitrary "\84\101\120\116"), (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\68\111\99")])
    , tok "\94\40\92\115\42\41\40\39\39\39\40\63\58\46\124\92\110\41\42\63\39\39\39\41" (ByGroups [(Arbitrary "\84\101\120\116"), (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\68\111\99")])
    , tok "\91\94\92\83\92\110\93\43" (Arbitrary "\84\101\120\116")
    , tok "\35\46\42\36" (Arbitrary "\67\111\109\109\101\110\116")
    , tok "\91\93\123\125\58\40\41\44\59\91\93" (Arbitrary "\80\117\110\99\116\117\97\116\105\111\110")
    , tok "\92\92\92\110" (Arbitrary "\84\101\120\116")
    , tok "\92\92" (Arbitrary "\84\101\120\116")
    , tok "\40\105\110\124\105\115\124\97\110\100\124\111\114\124\110\111\116\41\92\98" (Arbitrary "\79\112\101\114\97\116\111\114" :. Arbitrary "\87\111\114\100")
    , tok "\33\61\124\61\61\124\60\60\124\62\62\124\91\45\126\43\47\42\37\61\60\62\38\94\124\46\93" (Arbitrary "\79\112\101\114\97\116\111\114")
    , anyOf keywords'
    , tokNext "\40\100\101\102\41\40\40\63\58\92\115\124\92\92\92\115\41\43\41" (ByGroups [(Arbitrary "\75\101\121\119\111\114\100"), (Arbitrary "\84\101\120\116")]) (GoTo funcname')
    , tokNext "\40\99\108\97\115\115\41\40\40\63\58\92\115\124\92\92\92\115\41\43\41" (ByGroups [(Arbitrary "\75\101\121\119\111\114\100"), (Arbitrary "\84\101\120\116")]) (GoTo classname')
    , tokNext "\40\102\114\111\109\41\40\40\63\58\92\115\124\92\92\92\115\41\43\41" (ByGroups [(Arbitrary "\75\101\121\119\111\114\100" :. Arbitrary "\78\97\109\101\115\112\97\99\101"), (Arbitrary "\84\101\120\116")]) (GoTo fromimport')
    , tokNext "\40\105\109\112\111\114\116\41\40\40\63\58\92\115\124\92\92\92\115\41\43\41" (ByGroups [(Arbitrary "\75\101\121\119\111\114\100" :. Arbitrary "\78\97\109\101\115\112\97\99\101"), (Arbitrary "\84\101\120\116")]) (GoTo import')
    , anyOf builtins'
    , anyOf backtick'
    , tokNext "\40\63\58\91\114\82\93\124\91\117\85\93\91\114\82\93\124\91\114\82\93\91\117\85\93\41\34\34\34" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103") (GoTo tdqs')
    , tokNext "\40\63\58\91\114\82\93\124\91\117\85\93\91\114\82\93\124\91\114\82\93\91\117\85\93\41\39\39\39" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103") (GoTo tsqs')
    , tokNext "\40\63\58\91\114\82\93\124\91\117\85\93\91\114\82\93\124\91\114\82\93\91\117\85\93\41\34" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103") (GoTo dqs')
    , tokNext "\40\63\58\91\114\82\93\124\91\117\85\93\91\114\82\93\124\91\114\82\93\91\117\85\93\41\39" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103") (GoTo sqs')
    , tokNext "\91\117\85\93\63\34\34\34" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103") (Combined [stringescape', tdqs'])
    , tokNext "\91\117\85\93\63\39\39\39" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103") (Combined [stringescape', tsqs'])
    , tokNext "\91\117\85\93\63\34" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103") (Combined [stringescape', dqs'])
    , tokNext "\91\117\85\93\63\39" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103") (Combined [stringescape', sqs'])
    , anyOf name'
    , anyOf numbers'
    ]

funcname' :: TokenMatcher
funcname' =
    [ tokNext "\91\65\45\90\95\97\45\122\170\181\186\192\45\214\216\45\246\248\45\442\443\444\45\447\448\45\451\452\45\577\592\45\687\688\45\705\710\45\721\736\45\740\750\902\904\45\906\908\910\45\929\931\45\974\976\45\1013\1015\45\1153\1162\45\1230\1232\45\1273\1280\45\1295\1329\45\1366\1369\1377\45\1415\1488\45\1514\1520\45\1522\1569\45\1594\1600\1601\45\1610\1646\45\1647\1649\45\1747\1749\1765\45\1766\1774\45\1775\1786\45\1788\1791\1808\1810\45\1839\1869\45\1901\1920\45\1957\1969\2308\45\2361\2365\2384\2392\45\2401\2429\2437\45\2444\2447\45\2448\2451\45\2472\2474\45\2480\2482\2486\45\2489\2493\2510\2524\45\2525\2527\45\2529\2544\45\2545\2565\45\2570\2575\45\2576\2579\45\2600\2602\45\2608\2610\45\2611\2613\45\2614\2616\45\2617\2649\45\2652\2654\2674\45\2676\2693\45\2701\2703\45\2705\2707\45\2728\2730\45\2736\2738\45\2739\2741\45\2745\2749\2768\2784\45\2785\2821\45\2828\2831\45\2832\2835\45\2856\2858\45\2864\2866\45\2867\2869\45\2873\2877\2908\45\2909\2911\45\2913\2929\2947\2949\45\2954\2958\45\2960\2962\45\2965\2969\45\2970\2972\2974\45\2975\2979\45\2980\2984\45\2986\2990\45\3001\3077\45\3084\3086\45\3088\3090\45\3112\3114\45\3123\3125\45\3129\3168\45\3169\3205\45\3212\3214\45\3216\3218\45\3240\3242\45\3251\3253\45\3257\3261\3294\3296\45\3297\3333\45\3340\3342\45\3344\3346\45\3368\3370\45\3385\3424\45\3425\3461\45\3478\3482\45\3505\3507\45\3515\3517\3520\45\3526\3585\45\3632\3634\3648\45\3653\3654\3713\45\3714\3716\3719\45\3720\3722\3725\3732\45\3735\3737\45\3743\3745\45\3747\3749\3751\3754\45\3755\3757\45\3760\3762\3773\3776\45\3780\3782\3804\45\3805\3840\3904\45\3911\3913\45\3946\3976\45\3979\4096\45\4129\4131\45\4135\4137\45\4138\4176\45\4181\4256\45\4293\4304\45\4346\4348\4352\45\4441\4447\45\4514\4520\45\4601\4608\45\4680\4682\45\4685\4688\45\4694\4696\4698\45\4701\4704\45\4744\4746\45\4749\4752\45\4784\4786\45\4789\4792\45\4798\4800\4802\45\4805\4808\45\4822\4824\45\4880\4882\45\4885\4888\45\4954\4992\45\5007\5024\45\5108\5121\45\5740\5743\45\5750\5761\45\5786\5792\45\5866\5870\45\5872\5888\45\5900\5902\45\5905\5920\45\5937\5952\45\5969\5984\45\5996\5998\45\6000\6016\45\6067\6103\6108\6176\45\6210\6211\6212\45\6263\6272\45\6312\6400\45\6428\6480\45\6509\6512\45\6516\6528\45\6569\6593\45\6599\6656\45\6678\7424\45\7467\7468\45\7521\7522\45\7543\7544\7545\45\7578\7579\45\7615\7680\45\7835\7840\45\7929\7936\45\7957\7960\45\7965\7968\45\8005\8008\45\8013\8016\45\8023\8025\8027\8029\8031\45\8061\8064\45\8116\8118\45\8124\8126\8130\45\8132\8134\45\8140\8144\45\8147\8150\45\8155\8160\45\8172\8178\45\8180\8182\45\8188\8305\8319\8336\45\8340\8450\8455\8458\45\8467\8469\8472\8473\45\8477\8484\8486\8488\8490\45\8493\8494\8495\45\8497\8499\45\8500\8501\45\8504\8505\8508\45\8511\8517\45\8521\8544\45\8579\11264\45\11310\11312\45\11358\11392\45\11492\11520\45\11557\11568\45\11621\11631\11648\45\11670\11680\45\11686\11688\45\11694\11696\45\11702\11704\45\11710\11712\45\11718\11720\45\11726\11728\45\11734\11736\45\11742\12293\12294\12295\12321\45\12329\12337\45\12341\12344\45\12346\12347\12348\12353\45\12438\12445\45\12446\12447\12449\45\12538\12540\45\12542\12543\12549\45\12588\12593\45\12686\12704\45\12727\12784\45\12799\13312\45\19893\19968\45\40891\40960\45\40980\40981\40982\45\42124\43008\45\43009\43011\45\43013\43015\45\43018\43020\45\43042\44032\45\55203\63744\45\64045\64048\45\64106\64112\45\64217\64256\45\64262\64275\45\64279\64285\64287\45\64296\64298\45\64310\64312\45\64316\64318\64320\45\64321\64323\45\64324\64326\45\64433\64467\45\64605\64612\45\64829\64848\45\64911\64914\45\64967\65008\45\65017\65137\65139\65143\65145\65147\65149\65151\45\65276\65313\45\65338\65345\45\65370\65382\45\65391\65392\65393\45\65437\65440\45\65470\65474\45\65479\65482\45\65487\65490\45\65495\65498\45\65500\93\91\48\45\57\65\45\90\95\97\45\122\170\181\183\186\192\45\214\216\45\246\248\45\442\443\444\45\447\448\45\451\452\45\577\592\45\687\688\45\705\710\45\721\736\45\740\750\768\45\879\902\904\45\906\908\910\45\929\931\45\974\976\45\1013\1015\45\1153\1155\45\1158\1162\45\1230\1232\45\1273\1280\45\1295\1329\45\1366\1369\1377\45\1415\1425\45\1465\1467\45\1469\1471\1473\45\1474\1476\45\1477\1479\1488\45\1514\1520\45\1522\1552\45\1557\1569\45\1594\1600\1601\45\1610\1611\45\1630\1632\45\1641\1646\45\1647\1648\1649\45\1747\1749\1750\45\1756\1759\45\1764\1765\45\1766\1767\45\1768\1770\45\1773\1774\45\1775\1776\45\1785\1786\45\1788\1791\1808\1809\1810\45\1839\1840\45\1866\1869\45\1901\1920\45\1957\1958\45\1968\1969\2305\45\2306\2307\2308\45\2361\2364\2365\2366\45\2368\2369\45\2376\2377\45\2380\2381\2384\2385\45\2388\2392\45\2401\2402\45\2403\2406\45\2415\2429\2433\2434\45\2435\2437\45\2444\2447\45\2448\2451\45\2472\2474\45\2480\2482\2486\45\2489\2492\2493\2494\45\2496\2497\45\2500\2503\45\2504\2507\45\2508\2509\2510\2519\2524\45\2525\2527\45\2529\2530\45\2531\2534\45\2543\2544\45\2545\2561\45\2562\2563\2565\45\2570\2575\45\2576\2579\45\2600\2602\45\2608\2610\45\2611\2613\45\2614\2616\45\2617\2620\2622\45\2624\2625\45\2626\2631\45\2632\2635\45\2637\2649\45\2652\2654\2662\45\2671\2672\45\2673\2674\45\2676\2689\45\2690\2691\2693\45\2701\2703\45\2705\2707\45\2728\2730\45\2736\2738\45\2739\2741\45\2745\2748\2749\2750\45\2752\2753\45\2757\2759\45\2760\2761\2763\45\2764\2765\2768\2784\45\2785\2786\45\2787\2790\45\2799\2817\2818\45\2819\2821\45\2828\2831\45\2832\2835\45\2856\2858\45\2864\2866\45\2867\2869\45\2873\2876\2877\2878\2879\2880\2881\45\2883\2887\45\2888\2891\45\2892\2893\2902\2903\2908\45\2909\2911\45\2913\2918\45\2927\2929\2946\2947\2949\45\2954\2958\45\2960\2962\45\2965\2969\45\2970\2972\2974\45\2975\2979\45\2980\2984\45\2986\2990\45\3001\3006\45\3007\3008\3009\45\3010\3014\45\3016\3018\45\3020\3021\3031\3046\45\3055\3073\45\3075\3077\45\3084\3086\45\3088\3090\45\3112\3114\45\3123\3125\45\3129\3134\45\3136\3137\45\3140\3142\45\3144\3146\45\3149\3157\45\3158\3168\45\3169\3174\45\3183\3202\45\3203\3205\45\3212\3214\45\3216\3218\45\3240\3242\45\3251\3253\45\3257\3260\3261\3262\3263\3264\45\3268\3270\3271\45\3272\3274\45\3275\3276\45\3277\3285\45\3286\3294\3296\45\3297\3302\45\3311\3330\45\3331\3333\45\3340\3342\45\3344\3346\45\3368\3370\45\3385\3390\45\3392\3393\45\3395\3398\45\3400\3402\45\3404\3405\3415\3424\45\3425\3430\45\3439\3458\45\3459\3461\45\3478\3482\45\3505\3507\45\3515\3517\3520\45\3526\3530\3535\45\3537\3538\45\3540\3542\3544\45\3551\3570\45\3571\3585\45\3632\3633\3634\45\3635\3636\45\3642\3648\45\3653\3654\3655\45\3662\3664\45\3673\3713\45\3714\3716\3719\45\3720\3722\3725\3732\45\3735\3737\45\3743\3745\45\3747\3749\3751\3754\45\3755\3757\45\3760\3761\3762\45\3763\3764\45\3769\3771\45\3772\3773\3776\45\3780\3782\3784\45\3789\3792\45\3801\3804\45\3805\3840\3864\45\3865\3872\45\3881\3893\3895\3897\3902\45\3903\3904\45\3911\3913\45\3946\3953\45\3966\3967\3968\45\3972\3974\45\3975\3976\45\3979\3984\45\3991\3993\45\4028\4038\4096\45\4129\4131\45\4135\4137\45\4138\4140\4141\45\4144\4145\4146\4150\45\4151\4152\4153\4160\45\4169\4176\45\4181\4182\45\4183\4184\45\4185\4256\45\4293\4304\45\4346\4348\4352\45\4441\4447\45\4514\4520\45\4601\4608\45\4680\4682\45\4685\4688\45\4694\4696\4698\45\4701\4704\45\4744\4746\45\4749\4752\45\4784\4786\45\4789\4792\45\4798\4800\4802\45\4805\4808\45\4822\4824\45\4880\4882\45\4885\4888\45\4954\4959\4969\45\4977\4992\45\5007\5024\45\5108\5121\45\5740\5743\45\5750\5761\45\5786\5792\45\5866\5870\45\5872\5888\45\5900\5902\45\5905\5906\45\5908\5920\45\5937\5938\45\5940\5952\45\5969\5970\45\5971\5984\45\5996\5998\45\6000\6002\45\6003\6016\45\6067\6070\6071\45\6077\6078\45\6085\6086\6087\45\6088\6089\45\6099\6103\6108\6109\6112\45\6121\6155\45\6157\6160\45\6169\6176\45\6210\6211\6212\45\6263\6272\45\6312\6313\6400\45\6428\6432\45\6434\6435\45\6438\6439\45\6440\6441\45\6443\6448\45\6449\6450\6451\45\6456\6457\45\6459\6470\45\6479\6480\45\6509\6512\45\6516\6528\45\6569\6576\45\6592\6593\45\6599\6600\45\6601\6608\45\6617\6656\45\6678\6679\45\6680\6681\45\6683\7424\45\7467\7468\45\7521\7522\45\7543\7544\7545\45\7578\7579\45\7615\7616\45\7619\7680\45\7835\7840\45\7929\7936\45\7957\7960\45\7965\7968\45\8005\8008\45\8013\8016\45\8023\8025\8027\8029\8031\45\8061\8064\45\8116\8118\45\8124\8126\8130\45\8132\8134\45\8140\8144\45\8147\8150\45\8155\8160\45\8172\8178\45\8180\8182\45\8188\8255\45\8256\8276\8305\8319\8336\45\8340\8400\45\8412\8417\8421\45\8427\8450\8455\8458\45\8467\8469\8472\8473\45\8477\8484\8486\8488\8490\45\8493\8494\8495\45\8497\8499\45\8500\8501\45\8504\8505\8508\45\8511\8517\45\8521\8544\45\8579\11264\45\11310\11312\45\11358\11392\45\11492\11520\45\11557\11568\45\11621\11631\11648\45\11670\11680\45\11686\11688\45\11694\11696\45\11702\11704\45\11710\11712\45\11718\11720\45\11726\11728\45\11734\11736\45\11742\12293\12294\12295\12321\45\12329\12330\45\12335\12337\45\12341\12344\45\12346\12347\12348\12353\45\12438\12441\45\12442\12445\45\12446\12447\12449\45\12538\12540\45\12542\12543\12549\45\12588\12593\45\12686\12704\45\12727\12784\45\12799\13312\45\19893\19968\45\40891\40960\45\40980\40981\40982\45\42124\43008\45\43009\43010\43011\45\43013\43014\43015\45\43018\43019\43020\45\43042\43043\45\43044\43045\45\43046\43047\44032\45\55203\63744\45\64045\64048\45\64106\64112\45\64217\64256\45\64262\64275\45\64279\64285\64286\64287\45\64296\64298\45\64310\64312\45\64316\64318\64320\45\64321\64323\45\64324\64326\45\64433\64467\45\64605\64612\45\64829\64848\45\64911\64914\45\64967\65008\45\65017\65024\45\65039\65056\45\65059\65075\45\65076\65101\45\65103\65137\65139\65143\65145\65147\65149\65151\45\65276\65296\45\65305\65313\45\65338\65343\65345\45\65370\65382\45\65391\65392\65393\45\65437\65438\45\65439\65440\45\65470\65474\45\65479\65482\45\65487\65490\45\65495\65498\45\65500\93\42" (Arbitrary "\78\97\109\101" :. Arbitrary "\70\117\110\99\116\105\111\110") Pop
    ]

import' :: TokenMatcher
import' =
    [ tok "\40\92\115\43\41\40\97\115\41\40\92\115\43\41" (ByGroups [(Arbitrary "\84\101\120\116"), (Arbitrary "\75\101\121\119\111\114\100"), (Arbitrary "\84\101\120\116")])
    , tok "\92\46" (Arbitrary "\78\97\109\101" :. Arbitrary "\78\97\109\101\115\112\97\99\101")
    , tok "\91\65\45\90\95\97\45\122\170\181\186\192\45\214\216\45\246\248\45\442\443\444\45\447\448\45\451\452\45\577\592\45\687\688\45\705\710\45\721\736\45\740\750\902\904\45\906\908\910\45\929\931\45\974\976\45\1013\1015\45\1153\1162\45\1230\1232\45\1273\1280\45\1295\1329\45\1366\1369\1377\45\1415\1488\45\1514\1520\45\1522\1569\45\1594\1600\1601\45\1610\1646\45\1647\1649\45\1747\1749\1765\45\1766\1774\45\1775\1786\45\1788\1791\1808\1810\45\1839\1869\45\1901\1920\45\1957\1969\2308\45\2361\2365\2384\2392\45\2401\2429\2437\45\2444\2447\45\2448\2451\45\2472\2474\45\2480\2482\2486\45\2489\2493\2510\2524\45\2525\2527\45\2529\2544\45\2545\2565\45\2570\2575\45\2576\2579\45\2600\2602\45\2608\2610\45\2611\2613\45\2614\2616\45\2617\2649\45\2652\2654\2674\45\2676\2693\45\2701\2703\45\2705\2707\45\2728\2730\45\2736\2738\45\2739\2741\45\2745\2749\2768\2784\45\2785\2821\45\2828\2831\45\2832\2835\45\2856\2858\45\2864\2866\45\2867\2869\45\2873\2877\2908\45\2909\2911\45\2913\2929\2947\2949\45\2954\2958\45\2960\2962\45\2965\2969\45\2970\2972\2974\45\2975\2979\45\2980\2984\45\2986\2990\45\3001\3077\45\3084\3086\45\3088\3090\45\3112\3114\45\3123\3125\45\3129\3168\45\3169\3205\45\3212\3214\45\3216\3218\45\3240\3242\45\3251\3253\45\3257\3261\3294\3296\45\3297\3333\45\3340\3342\45\3344\3346\45\3368\3370\45\3385\3424\45\3425\3461\45\3478\3482\45\3505\3507\45\3515\3517\3520\45\3526\3585\45\3632\3634\3648\45\3653\3654\3713\45\3714\3716\3719\45\3720\3722\3725\3732\45\3735\3737\45\3743\3745\45\3747\3749\3751\3754\45\3755\3757\45\3760\3762\3773\3776\45\3780\3782\3804\45\3805\3840\3904\45\3911\3913\45\3946\3976\45\3979\4096\45\4129\4131\45\4135\4137\45\4138\4176\45\4181\4256\45\4293\4304\45\4346\4348\4352\45\4441\4447\45\4514\4520\45\4601\4608\45\4680\4682\45\4685\4688\45\4694\4696\4698\45\4701\4704\45\4744\4746\45\4749\4752\45\4784\4786\45\4789\4792\45\4798\4800\4802\45\4805\4808\45\4822\4824\45\4880\4882\45\4885\4888\45\4954\4992\45\5007\5024\45\5108\5121\45\5740\5743\45\5750\5761\45\5786\5792\45\5866\5870\45\5872\5888\45\5900\5902\45\5905\5920\45\5937\5952\45\5969\5984\45\5996\5998\45\6000\6016\45\6067\6103\6108\6176\45\6210\6211\6212\45\6263\6272\45\6312\6400\45\6428\6480\45\6509\6512\45\6516\6528\45\6569\6593\45\6599\6656\45\6678\7424\45\7467\7468\45\7521\7522\45\7543\7544\7545\45\7578\7579\45\7615\7680\45\7835\7840\45\7929\7936\45\7957\7960\45\7965\7968\45\8005\8008\45\8013\8016\45\8023\8025\8027\8029\8031\45\8061\8064\45\8116\8118\45\8124\8126\8130\45\8132\8134\45\8140\8144\45\8147\8150\45\8155\8160\45\8172\8178\45\8180\8182\45\8188\8305\8319\8336\45\8340\8450\8455\8458\45\8467\8469\8472\8473\45\8477\8484\8486\8488\8490\45\8493\8494\8495\45\8497\8499\45\8500\8501\45\8504\8505\8508\45\8511\8517\45\8521\8544\45\8579\11264\45\11310\11312\45\11358\11392\45\11492\11520\45\11557\11568\45\11621\11631\11648\45\11670\11680\45\11686\11688\45\11694\11696\45\11702\11704\45\11710\11712\45\11718\11720\45\11726\11728\45\11734\11736\45\11742\12293\12294\12295\12321\45\12329\12337\45\12341\12344\45\12346\12347\12348\12353\45\12438\12445\45\12446\12447\12449\45\12538\12540\45\12542\12543\12549\45\12588\12593\45\12686\12704\45\12727\12784\45\12799\13312\45\19893\19968\45\40891\40960\45\40980\40981\40982\45\42124\43008\45\43009\43011\45\43013\43015\45\43018\43020\45\43042\44032\45\55203\63744\45\64045\64048\45\64106\64112\45\64217\64256\45\64262\64275\45\64279\64285\64287\45\64296\64298\45\64310\64312\45\64316\64318\64320\45\64321\64323\45\64324\64326\45\64433\64467\45\64605\64612\45\64829\64848\45\64911\64914\45\64967\65008\45\65017\65137\65139\65143\65145\65147\65149\65151\45\65276\65313\45\65338\65345\45\65370\65382\45\65391\65392\65393\45\65437\65440\45\65470\65474\45\65479\65482\45\65487\65490\45\65495\65498\45\65500\93\91\48\45\57\65\45\90\95\97\45\122\170\181\183\186\192\45\214\216\45\246\248\45\442\443\444\45\447\448\45\451\452\45\577\592\45\687\688\45\705\710\45\721\736\45\740\750\768\45\879\902\904\45\906\908\910\45\929\931\45\974\976\45\1013\1015\45\1153\1155\45\1158\1162\45\1230\1232\45\1273\1280\45\1295\1329\45\1366\1369\1377\45\1415\1425\45\1465\1467\45\1469\1471\1473\45\1474\1476\45\1477\1479\1488\45\1514\1520\45\1522\1552\45\1557\1569\45\1594\1600\1601\45\1610\1611\45\1630\1632\45\1641\1646\45\1647\1648\1649\45\1747\1749\1750\45\1756\1759\45\1764\1765\45\1766\1767\45\1768\1770\45\1773\1774\45\1775\1776\45\1785\1786\45\1788\1791\1808\1809\1810\45\1839\1840\45\1866\1869\45\1901\1920\45\1957\1958\45\1968\1969\2305\45\2306\2307\2308\45\2361\2364\2365\2366\45\2368\2369\45\2376\2377\45\2380\2381\2384\2385\45\2388\2392\45\2401\2402\45\2403\2406\45\2415\2429\2433\2434\45\2435\2437\45\2444\2447\45\2448\2451\45\2472\2474\45\2480\2482\2486\45\2489\2492\2493\2494\45\2496\2497\45\2500\2503\45\2504\2507\45\2508\2509\2510\2519\2524\45\2525\2527\45\2529\2530\45\2531\2534\45\2543\2544\45\2545\2561\45\2562\2563\2565\45\2570\2575\45\2576\2579\45\2600\2602\45\2608\2610\45\2611\2613\45\2614\2616\45\2617\2620\2622\45\2624\2625\45\2626\2631\45\2632\2635\45\2637\2649\45\2652\2654\2662\45\2671\2672\45\2673\2674\45\2676\2689\45\2690\2691\2693\45\2701\2703\45\2705\2707\45\2728\2730\45\2736\2738\45\2739\2741\45\2745\2748\2749\2750\45\2752\2753\45\2757\2759\45\2760\2761\2763\45\2764\2765\2768\2784\45\2785\2786\45\2787\2790\45\2799\2817\2818\45\2819\2821\45\2828\2831\45\2832\2835\45\2856\2858\45\2864\2866\45\2867\2869\45\2873\2876\2877\2878\2879\2880\2881\45\2883\2887\45\2888\2891\45\2892\2893\2902\2903\2908\45\2909\2911\45\2913\2918\45\2927\2929\2946\2947\2949\45\2954\2958\45\2960\2962\45\2965\2969\45\2970\2972\2974\45\2975\2979\45\2980\2984\45\2986\2990\45\3001\3006\45\3007\3008\3009\45\3010\3014\45\3016\3018\45\3020\3021\3031\3046\45\3055\3073\45\3075\3077\45\3084\3086\45\3088\3090\45\3112\3114\45\3123\3125\45\3129\3134\45\3136\3137\45\3140\3142\45\3144\3146\45\3149\3157\45\3158\3168\45\3169\3174\45\3183\3202\45\3203\3205\45\3212\3214\45\3216\3218\45\3240\3242\45\3251\3253\45\3257\3260\3261\3262\3263\3264\45\3268\3270\3271\45\3272\3274\45\3275\3276\45\3277\3285\45\3286\3294\3296\45\3297\3302\45\3311\3330\45\3331\3333\45\3340\3342\45\3344\3346\45\3368\3370\45\3385\3390\45\3392\3393\45\3395\3398\45\3400\3402\45\3404\3405\3415\3424\45\3425\3430\45\3439\3458\45\3459\3461\45\3478\3482\45\3505\3507\45\3515\3517\3520\45\3526\3530\3535\45\3537\3538\45\3540\3542\3544\45\3551\3570\45\3571\3585\45\3632\3633\3634\45\3635\3636\45\3642\3648\45\3653\3654\3655\45\3662\3664\45\3673\3713\45\3714\3716\3719\45\3720\3722\3725\3732\45\3735\3737\45\3743\3745\45\3747\3749\3751\3754\45\3755\3757\45\3760\3761\3762\45\3763\3764\45\3769\3771\45\3772\3773\3776\45\3780\3782\3784\45\3789\3792\45\3801\3804\45\3805\3840\3864\45\3865\3872\45\3881\3893\3895\3897\3902\45\3903\3904\45\3911\3913\45\3946\3953\45\3966\3967\3968\45\3972\3974\45\3975\3976\45\3979\3984\45\3991\3993\45\4028\4038\4096\45\4129\4131\45\4135\4137\45\4138\4140\4141\45\4144\4145\4146\4150\45\4151\4152\4153\4160\45\4169\4176\45\4181\4182\45\4183\4184\45\4185\4256\45\4293\4304\45\4346\4348\4352\45\4441\4447\45\4514\4520\45\4601\4608\45\4680\4682\45\4685\4688\45\4694\4696\4698\45\4701\4704\45\4744\4746\45\4749\4752\45\4784\4786\45\4789\4792\45\4798\4800\4802\45\4805\4808\45\4822\4824\45\4880\4882\45\4885\4888\45\4954\4959\4969\45\4977\4992\45\5007\5024\45\5108\5121\45\5740\5743\45\5750\5761\45\5786\5792\45\5866\5870\45\5872\5888\45\5900\5902\45\5905\5906\45\5908\5920\45\5937\5938\45\5940\5952\45\5969\5970\45\5971\5984\45\5996\5998\45\6000\6002\45\6003\6016\45\6067\6070\6071\45\6077\6078\45\6085\6086\6087\45\6088\6089\45\6099\6103\6108\6109\6112\45\6121\6155\45\6157\6160\45\6169\6176\45\6210\6211\6212\45\6263\6272\45\6312\6313\6400\45\6428\6432\45\6434\6435\45\6438\6439\45\6440\6441\45\6443\6448\45\6449\6450\6451\45\6456\6457\45\6459\6470\45\6479\6480\45\6509\6512\45\6516\6528\45\6569\6576\45\6592\6593\45\6599\6600\45\6601\6608\45\6617\6656\45\6678\6679\45\6680\6681\45\6683\7424\45\7467\7468\45\7521\7522\45\7543\7544\7545\45\7578\7579\45\7615\7616\45\7619\7680\45\7835\7840\45\7929\7936\45\7957\7960\45\7965\7968\45\8005\8008\45\8013\8016\45\8023\8025\8027\8029\8031\45\8061\8064\45\8116\8118\45\8124\8126\8130\45\8132\8134\45\8140\8144\45\8147\8150\45\8155\8160\45\8172\8178\45\8180\8182\45\8188\8255\45\8256\8276\8305\8319\8336\45\8340\8400\45\8412\8417\8421\45\8427\8450\8455\8458\45\8467\8469\8472\8473\45\8477\8484\8486\8488\8490\45\8493\8494\8495\45\8497\8499\45\8500\8501\45\8504\8505\8508\45\8511\8517\45\8521\8544\45\8579\11264\45\11310\11312\45\11358\11392\45\11492\11520\45\11557\11568\45\11621\11631\11648\45\11670\11680\45\11686\11688\45\11694\11696\45\11702\11704\45\11710\11712\45\11718\11720\45\11726\11728\45\11734\11736\45\11742\12293\12294\12295\12321\45\12329\12330\45\12335\12337\45\12341\12344\45\12346\12347\12348\12353\45\12438\12441\45\12442\12445\45\12446\12447\12449\45\12538\12540\45\12542\12543\12549\45\12588\12593\45\12686\12704\45\12727\12784\45\12799\13312\45\19893\19968\45\40891\40960\45\40980\40981\40982\45\42124\43008\45\43009\43010\43011\45\43013\43014\43015\45\43018\43019\43020\45\43042\43043\45\43044\43045\45\43046\43047\44032\45\55203\63744\45\64045\64048\45\64106\64112\45\64217\64256\45\64262\64275\45\64279\64285\64286\64287\45\64296\64298\45\64310\64312\45\64316\64318\64320\45\64321\64323\45\64324\64326\45\64433\64467\45\64605\64612\45\64829\64848\45\64911\64914\45\64967\65008\45\65017\65024\45\65039\65056\45\65059\65075\45\65076\65101\45\65103\65137\65139\65143\65145\65147\65149\65151\45\65276\65296\45\65305\65313\45\65338\65343\65345\45\65370\65382\45\65391\65392\65393\45\65437\65438\45\65439\65440\45\65470\65474\45\65479\65482\45\65487\65490\45\65495\65498\45\65500\93\42" (Arbitrary "\78\97\109\101" :. Arbitrary "\78\97\109\101\115\112\97\99\101")
    , tok "\40\92\115\42\41\40\44\41\40\92\115\42\41" (ByGroups [(Arbitrary "\84\101\120\116"), (Arbitrary "\79\112\101\114\97\116\111\114"), (Arbitrary "\84\101\120\116")])
    , tokNext "" (Arbitrary "\84\101\120\116") Pop
    ]

tdqs' :: TokenMatcher
tdqs' =
    [ tokNext "\34\34\34" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103") Pop
    , anyOf strings'
    , anyOf nl'
    ]

strings' :: TokenMatcher
strings' =
    [ tok "\91\94\92\92\92\39\34\37\92\110\93\43" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103")
    , tok "\91\92\39\34\92\92\93" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103")
    , tok "\37" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103")
    ]

fromimport' :: TokenMatcher
fromimport' =
    [ tokNext "\40\92\115\43\41\40\105\109\112\111\114\116\41\92\98" (ByGroups [(Arbitrary "\84\101\120\116"), (Arbitrary "\75\101\121\119\111\114\100")]) Pop
    , tok "\92\46" (Arbitrary "\78\97\109\101" :. Arbitrary "\78\97\109\101\115\112\97\99\101")
    , tok "\91\65\45\90\95\97\45\122\170\181\186\192\45\214\216\45\246\248\45\442\443\444\45\447\448\45\451\452\45\577\592\45\687\688\45\705\710\45\721\736\45\740\750\902\904\45\906\908\910\45\929\931\45\974\976\45\1013\1015\45\1153\1162\45\1230\1232\45\1273\1280\45\1295\1329\45\1366\1369\1377\45\1415\1488\45\1514\1520\45\1522\1569\45\1594\1600\1601\45\1610\1646\45\1647\1649\45\1747\1749\1765\45\1766\1774\45\1775\1786\45\1788\1791\1808\1810\45\1839\1869\45\1901\1920\45\1957\1969\2308\45\2361\2365\2384\2392\45\2401\2429\2437\45\2444\2447\45\2448\2451\45\2472\2474\45\2480\2482\2486\45\2489\2493\2510\2524\45\2525\2527\45\2529\2544\45\2545\2565\45\2570\2575\45\2576\2579\45\2600\2602\45\2608\2610\45\2611\2613\45\2614\2616\45\2617\2649\45\2652\2654\2674\45\2676\2693\45\2701\2703\45\2705\2707\45\2728\2730\45\2736\2738\45\2739\2741\45\2745\2749\2768\2784\45\2785\2821\45\2828\2831\45\2832\2835\45\2856\2858\45\2864\2866\45\2867\2869\45\2873\2877\2908\45\2909\2911\45\2913\2929\2947\2949\45\2954\2958\45\2960\2962\45\2965\2969\45\2970\2972\2974\45\2975\2979\45\2980\2984\45\2986\2990\45\3001\3077\45\3084\3086\45\3088\3090\45\3112\3114\45\3123\3125\45\3129\3168\45\3169\3205\45\3212\3214\45\3216\3218\45\3240\3242\45\3251\3253\45\3257\3261\3294\3296\45\3297\3333\45\3340\3342\45\3344\3346\45\3368\3370\45\3385\3424\45\3425\3461\45\3478\3482\45\3505\3507\45\3515\3517\3520\45\3526\3585\45\3632\3634\3648\45\3653\3654\3713\45\3714\3716\3719\45\3720\3722\3725\3732\45\3735\3737\45\3743\3745\45\3747\3749\3751\3754\45\3755\3757\45\3760\3762\3773\3776\45\3780\3782\3804\45\3805\3840\3904\45\3911\3913\45\3946\3976\45\3979\4096\45\4129\4131\45\4135\4137\45\4138\4176\45\4181\4256\45\4293\4304\45\4346\4348\4352\45\4441\4447\45\4514\4520\45\4601\4608\45\4680\4682\45\4685\4688\45\4694\4696\4698\45\4701\4704\45\4744\4746\45\4749\4752\45\4784\4786\45\4789\4792\45\4798\4800\4802\45\4805\4808\45\4822\4824\45\4880\4882\45\4885\4888\45\4954\4992\45\5007\5024\45\5108\5121\45\5740\5743\45\5750\5761\45\5786\5792\45\5866\5870\45\5872\5888\45\5900\5902\45\5905\5920\45\5937\5952\45\5969\5984\45\5996\5998\45\6000\6016\45\6067\6103\6108\6176\45\6210\6211\6212\45\6263\6272\45\6312\6400\45\6428\6480\45\6509\6512\45\6516\6528\45\6569\6593\45\6599\6656\45\6678\7424\45\7467\7468\45\7521\7522\45\7543\7544\7545\45\7578\7579\45\7615\7680\45\7835\7840\45\7929\7936\45\7957\7960\45\7965\7968\45\8005\8008\45\8013\8016\45\8023\8025\8027\8029\8031\45\8061\8064\45\8116\8118\45\8124\8126\8130\45\8132\8134\45\8140\8144\45\8147\8150\45\8155\8160\45\8172\8178\45\8180\8182\45\8188\8305\8319\8336\45\8340\8450\8455\8458\45\8467\8469\8472\8473\45\8477\8484\8486\8488\8490\45\8493\8494\8495\45\8497\8499\45\8500\8501\45\8504\8505\8508\45\8511\8517\45\8521\8544\45\8579\11264\45\11310\11312\45\11358\11392\45\11492\11520\45\11557\11568\45\11621\11631\11648\45\11670\11680\45\11686\11688\45\11694\11696\45\11702\11704\45\11710\11712\45\11718\11720\45\11726\11728\45\11734\11736\45\11742\12293\12294\12295\12321\45\12329\12337\45\12341\12344\45\12346\12347\12348\12353\45\12438\12445\45\12446\12447\12449\45\12538\12540\45\12542\12543\12549\45\12588\12593\45\12686\12704\45\12727\12784\45\12799\13312\45\19893\19968\45\40891\40960\45\40980\40981\40982\45\42124\43008\45\43009\43011\45\43013\43015\45\43018\43020\45\43042\44032\45\55203\63744\45\64045\64048\45\64106\64112\45\64217\64256\45\64262\64275\45\64279\64285\64287\45\64296\64298\45\64310\64312\45\64316\64318\64320\45\64321\64323\45\64324\64326\45\64433\64467\45\64605\64612\45\64829\64848\45\64911\64914\45\64967\65008\45\65017\65137\65139\65143\65145\65147\65149\65151\45\65276\65313\45\65338\65345\45\65370\65382\45\65391\65392\65393\45\65437\65440\45\65470\65474\45\65479\65482\45\65487\65490\45\65495\65498\45\65500\93\91\48\45\57\65\45\90\95\97\45\122\170\181\183\186\192\45\214\216\45\246\248\45\442\443\444\45\447\448\45\451\452\45\577\592\45\687\688\45\705\710\45\721\736\45\740\750\768\45\879\902\904\45\906\908\910\45\929\931\45\974\976\45\1013\1015\45\1153\1155\45\1158\1162\45\1230\1232\45\1273\1280\45\1295\1329\45\1366\1369\1377\45\1415\1425\45\1465\1467\45\1469\1471\1473\45\1474\1476\45\1477\1479\1488\45\1514\1520\45\1522\1552\45\1557\1569\45\1594\1600\1601\45\1610\1611\45\1630\1632\45\1641\1646\45\1647\1648\1649\45\1747\1749\1750\45\1756\1759\45\1764\1765\45\1766\1767\45\1768\1770\45\1773\1774\45\1775\1776\45\1785\1786\45\1788\1791\1808\1809\1810\45\1839\1840\45\1866\1869\45\1901\1920\45\1957\1958\45\1968\1969\2305\45\2306\2307\2308\45\2361\2364\2365\2366\45\2368\2369\45\2376\2377\45\2380\2381\2384\2385\45\2388\2392\45\2401\2402\45\2403\2406\45\2415\2429\2433\2434\45\2435\2437\45\2444\2447\45\2448\2451\45\2472\2474\45\2480\2482\2486\45\2489\2492\2493\2494\45\2496\2497\45\2500\2503\45\2504\2507\45\2508\2509\2510\2519\2524\45\2525\2527\45\2529\2530\45\2531\2534\45\2543\2544\45\2545\2561\45\2562\2563\2565\45\2570\2575\45\2576\2579\45\2600\2602\45\2608\2610\45\2611\2613\45\2614\2616\45\2617\2620\2622\45\2624\2625\45\2626\2631\45\2632\2635\45\2637\2649\45\2652\2654\2662\45\2671\2672\45\2673\2674\45\2676\2689\45\2690\2691\2693\45\2701\2703\45\2705\2707\45\2728\2730\45\2736\2738\45\2739\2741\45\2745\2748\2749\2750\45\2752\2753\45\2757\2759\45\2760\2761\2763\45\2764\2765\2768\2784\45\2785\2786\45\2787\2790\45\2799\2817\2818\45\2819\2821\45\2828\2831\45\2832\2835\45\2856\2858\45\2864\2866\45\2867\2869\45\2873\2876\2877\2878\2879\2880\2881\45\2883\2887\45\2888\2891\45\2892\2893\2902\2903\2908\45\2909\2911\45\2913\2918\45\2927\2929\2946\2947\2949\45\2954\2958\45\2960\2962\45\2965\2969\45\2970\2972\2974\45\2975\2979\45\2980\2984\45\2986\2990\45\3001\3006\45\3007\3008\3009\45\3010\3014\45\3016\3018\45\3020\3021\3031\3046\45\3055\3073\45\3075\3077\45\3084\3086\45\3088\3090\45\3112\3114\45\3123\3125\45\3129\3134\45\3136\3137\45\3140\3142\45\3144\3146\45\3149\3157\45\3158\3168\45\3169\3174\45\3183\3202\45\3203\3205\45\3212\3214\45\3216\3218\45\3240\3242\45\3251\3253\45\3257\3260\3261\3262\3263\3264\45\3268\3270\3271\45\3272\3274\45\3275\3276\45\3277\3285\45\3286\3294\3296\45\3297\3302\45\3311\3330\45\3331\3333\45\3340\3342\45\3344\3346\45\3368\3370\45\3385\3390\45\3392\3393\45\3395\3398\45\3400\3402\45\3404\3405\3415\3424\45\3425\3430\45\3439\3458\45\3459\3461\45\3478\3482\45\3505\3507\45\3515\3517\3520\45\3526\3530\3535\45\3537\3538\45\3540\3542\3544\45\3551\3570\45\3571\3585\45\3632\3633\3634\45\3635\3636\45\3642\3648\45\3653\3654\3655\45\3662\3664\45\3673\3713\45\3714\3716\3719\45\3720\3722\3725\3732\45\3735\3737\45\3743\3745\45\3747\3749\3751\3754\45\3755\3757\45\3760\3761\3762\45\3763\3764\45\3769\3771\45\3772\3773\3776\45\3780\3782\3784\45\3789\3792\45\3801\3804\45\3805\3840\3864\45\3865\3872\45\3881\3893\3895\3897\3902\45\3903\3904\45\3911\3913\45\3946\3953\45\3966\3967\3968\45\3972\3974\45\3975\3976\45\3979\3984\45\3991\3993\45\4028\4038\4096\45\4129\4131\45\4135\4137\45\4138\4140\4141\45\4144\4145\4146\4150\45\4151\4152\4153\4160\45\4169\4176\45\4181\4182\45\4183\4184\45\4185\4256\45\4293\4304\45\4346\4348\4352\45\4441\4447\45\4514\4520\45\4601\4608\45\4680\4682\45\4685\4688\45\4694\4696\4698\45\4701\4704\45\4744\4746\45\4749\4752\45\4784\4786\45\4789\4792\45\4798\4800\4802\45\4805\4808\45\4822\4824\45\4880\4882\45\4885\4888\45\4954\4959\4969\45\4977\4992\45\5007\5024\45\5108\5121\45\5740\5743\45\5750\5761\45\5786\5792\45\5866\5870\45\5872\5888\45\5900\5902\45\5905\5906\45\5908\5920\45\5937\5938\45\5940\5952\45\5969\5970\45\5971\5984\45\5996\5998\45\6000\6002\45\6003\6016\45\6067\6070\6071\45\6077\6078\45\6085\6086\6087\45\6088\6089\45\6099\6103\6108\6109\6112\45\6121\6155\45\6157\6160\45\6169\6176\45\6210\6211\6212\45\6263\6272\45\6312\6313\6400\45\6428\6432\45\6434\6435\45\6438\6439\45\6440\6441\45\6443\6448\45\6449\6450\6451\45\6456\6457\45\6459\6470\45\6479\6480\45\6509\6512\45\6516\6528\45\6569\6576\45\6592\6593\45\6599\6600\45\6601\6608\45\6617\6656\45\6678\6679\45\6680\6681\45\6683\7424\45\7467\7468\45\7521\7522\45\7543\7544\7545\45\7578\7579\45\7615\7616\45\7619\7680\45\7835\7840\45\7929\7936\45\7957\7960\45\7965\7968\45\8005\8008\45\8013\8016\45\8023\8025\8027\8029\8031\45\8061\8064\45\8116\8118\45\8124\8126\8130\45\8132\8134\45\8140\8144\45\8147\8150\45\8155\8160\45\8172\8178\45\8180\8182\45\8188\8255\45\8256\8276\8305\8319\8336\45\8340\8400\45\8412\8417\8421\45\8427\8450\8455\8458\45\8467\8469\8472\8473\45\8477\8484\8486\8488\8490\45\8493\8494\8495\45\8497\8499\45\8500\8501\45\8504\8505\8508\45\8511\8517\45\8521\8544\45\8579\11264\45\11310\11312\45\11358\11392\45\11492\11520\45\11557\11568\45\11621\11631\11648\45\11670\11680\45\11686\11688\45\11694\11696\45\11702\11704\45\11710\11712\45\11718\11720\45\11726\11728\45\11734\11736\45\11742\12293\12294\12295\12321\45\12329\12330\45\12335\12337\45\12341\12344\45\12346\12347\12348\12353\45\12438\12441\45\12442\12445\45\12446\12447\12449\45\12538\12540\45\12542\12543\12549\45\12588\12593\45\12686\12704\45\12727\12784\45\12799\13312\45\19893\19968\45\40891\40960\45\40980\40981\40982\45\42124\43008\45\43009\43010\43011\45\43013\43014\43015\45\43018\43019\43020\45\43042\43043\45\43044\43045\45\43046\43047\44032\45\55203\63744\45\64045\64048\45\64106\64112\45\64217\64256\45\64262\64275\45\64279\64285\64286\64287\45\64296\64298\45\64310\64312\45\64316\64318\64320\45\64321\64323\45\64324\64326\45\64433\64467\45\64605\64612\45\64829\64848\45\64911\64914\45\64967\65008\45\65017\65024\45\65039\65056\45\65059\65075\45\65076\65101\45\65103\65137\65139\65143\65145\65147\65149\65151\45\65276\65296\45\65305\65313\45\65338\65343\65345\45\65370\65382\45\65391\65392\65393\45\65437\65438\45\65439\65440\45\65470\65474\45\65479\65482\45\65487\65490\45\65495\65498\45\65500\93\42" (Arbitrary "\78\97\109\101" :. Arbitrary "\78\97\109\101\115\112\97\99\101")
    ]