
# line 1 "lib/fb_pokerbot_parser/message_parser.rl"

class FbPokerbotParser::MessageParser

  attr_accessor :command, 
                :status_only,
                :options, 
                :players,
                :actions, 
                :cards, 
                :winners

  attr_reader :_cards, :_curr_seat


  VALID_SEATS = %w| utg utg1 utg2 utg3 lj hj co btn sb bb |

  COMMANDS = {
    "nh"       => :new_hand,
    "new"      => :new_hand,
    "nt"       => :new_tourney_hand,
    "hero"     => :hero,
    "pre"      => :preflop,
    "flop"     => :flop,
    "turn"     => :turn,
    "river"    => :river,
    "show"     => :showdown,
    'w'        => :winner,
    'win'      => :winner,
    "c"        => :set,
    "config"   => :set,
    "set"      => :set
  }

  ACTIONS = {
    'b'     => :bet,
    'bet'   => :bet,
    'c'     => :call,
    'call'  => :call,
    'f'     => :fold,
    'fold'  => :fold,
    'r'     => :raise,
    'raise' => :raise,
    'ch'    => :check,
    'check' => :check,
    'm'     => :muck,
    'muck'  => :muck
  }

  NEW_HAND_OPTIONS = {
    'b' => :button,
    'p' => :players,
    'h' => :hero
  }


# line 233 "lib/fb_pokerbot_parser/message_parser.rl"


  # message object:
  # 
  # msg.to_hash
  # {
  #   command: :new_hand,
  #   players: {
  #     btn : {
  #       cards: [],
  #       stack: 100
  #     },
  #     ...
  #     ...
  #     hero : {
  #       cards: [],
  #       stack: [],
  #       seat: x,

  #     }
  #   },
  #   options: {
  #     sb: 1,
  #     bb: 2,
  #     ante: nil,
  #     players: 9,
  #     btn: 5,
  #     hero: 2
  #   },
  #   cards: [],
  #   flop: [xx,xx,xx],
  #   turn: [xx],
  #   river: [xx],
  #   actions: {
  #     preflop: [
  #       seat: x, action: :bet, amount: 100,
  #       seat: 'all', action: :fold
  #     ],
  #     flop: [
  #       ...,
  #       ...
  #     ],
  #     turn: [],
  #     river: [],
  #     showdown: []
  #   },
  #   winners: []
  # }


  def initialize(data)
    
# line 112 "lib/fb_pokerbot_parser/message_parser.rb"
class << self
	attr_accessor :_pokerbot_actions
	private :_pokerbot_actions, :_pokerbot_actions=
end
self._pokerbot_actions = [
	0, 1, 0, 1, 3, 1, 4, 1, 
	5, 1, 6, 1, 7, 1, 8, 1, 
	9, 1, 10, 1, 11, 1, 12, 1, 
	14, 1, 15, 1, 16, 1, 17, 1, 
	18, 1, 19, 1, 20, 1, 21, 1, 
	22, 1, 23, 1, 24, 1, 25, 1, 
	28, 1, 29, 1, 30, 1, 31, 1, 
	32, 1, 33, 1, 34, 1, 35, 1, 
	36, 1, 37, 1, 38, 1, 41, 1, 
	42, 1, 59, 1, 60, 1, 61, 1, 
	62, 1, 63, 1, 64, 2, 0, 12, 
	2, 0, 48, 2, 1, 47, 2, 1, 
	50, 2, 2, 47, 2, 2, 49, 2, 
	3, 47, 2, 3, 54, 2, 4, 47, 
	2, 4, 55, 2, 5, 47, 2, 5, 
	56, 2, 6, 47, 2, 6, 57, 2, 
	7, 47, 2, 7, 51, 2, 7, 53, 
	2, 8, 47, 2, 8, 51, 2, 8, 
	52, 2, 8, 53, 2, 9, 47, 2, 
	10, 47, 2, 12, 47, 2, 13, 47, 
	2, 17, 47, 2, 17, 58, 2, 18, 
	47, 2, 18, 58, 2, 19, 47, 2, 
	19, 58, 2, 20, 47, 2, 20, 58, 
	2, 21, 47, 2, 21, 58, 2, 22, 
	47, 2, 22, 58, 2, 23, 47, 2, 
	23, 58, 2, 24, 47, 2, 24, 58, 
	2, 39, 40, 2, 42, 0, 2, 42, 
	1, 2, 42, 2, 2, 42, 14, 2, 
	42, 15, 2, 42, 16, 2, 42, 43, 
	2, 42, 44, 2, 42, 45, 2, 42, 
	46, 3, 0, 1, 47, 3, 0, 1, 
	50, 3, 0, 2, 47, 3, 0, 2, 
	49, 3, 0, 12, 47, 3, 0, 26, 
	47, 3, 0, 27, 47, 3, 7, 26, 
	47, 3, 7, 27, 47, 3, 8, 26, 
	47, 3, 8, 27, 47, 3, 42, 0, 
	1, 3, 42, 0, 2
]

class << self
	attr_accessor :_pokerbot_key_offsets
	private :_pokerbot_key_offsets, :_pokerbot_key_offsets=
end
self._pokerbot_key_offsets = [
	0, 0, 1, 2, 3, 4, 5, 12, 
	13, 14, 15, 18, 19, 23, 28, 29, 
	30, 33, 35, 36, 37, 38, 39, 40, 
	41, 42, 45, 46, 47, 50, 55, 56, 
	57, 58, 59, 62, 64, 67, 69, 70, 
	71, 72, 75, 88, 89, 99, 100, 101, 
	102, 103, 104, 105, 106, 107, 108, 109, 
	110, 111, 112, 115, 119, 120, 121, 124, 
	130, 131, 132, 133, 134, 135, 136, 137, 
	138, 139, 140, 141, 142, 143, 144, 145, 
	148, 161, 162, 172, 188, 204, 205, 215, 
	231, 247, 248, 258, 259, 260, 261, 262, 
	263, 264, 265, 266, 267, 270, 283, 284, 
	294, 310, 326, 327, 337, 340, 341, 342, 
	343, 344, 345, 346, 347, 348, 349, 353, 
	362, 363, 364, 367, 373, 374, 375, 376, 
	377, 378, 379, 381, 384, 392, 396, 401, 
	402, 405, 406, 407, 408, 409, 410, 411, 
	415, 416, 417, 418, 419, 420, 421, 422, 
	423, 428, 431, 440, 441, 442, 445, 451, 
	463, 464, 465, 468, 474, 475, 476, 477, 
	478, 480, 483, 491, 495, 500, 501, 504, 
	505, 506, 507, 508, 509, 510, 514, 515, 
	516, 517, 518, 519, 520, 521, 522, 523, 
	524, 529, 531, 534, 542, 546, 551, 552, 
	555, 559, 560, 561, 562, 563, 564, 565, 
	566, 567, 572, 573, 574, 575, 576, 577, 
	578, 579, 580, 581, 584, 585, 586, 589, 
	594, 595, 596, 597, 598, 601, 608, 609, 
	610, 611, 612, 613, 615, 616, 617, 618, 
	619, 620, 621, 622, 623, 624, 625, 626, 
	627, 628, 629, 630, 631, 632, 633, 634, 
	635, 636, 637, 638, 662, 663, 673, 689, 
	705, 706, 716, 732, 748, 749, 759, 760, 
	770, 786, 802, 803, 813, 829, 845, 846, 
	856, 867, 868, 871, 877, 889, 890, 892, 
	895, 903, 907, 912, 913, 916, 917, 918, 
	919, 920, 921, 922, 926, 927, 928, 929, 
	930, 931, 932, 933, 934, 935, 936, 937, 
	938, 939, 940, 945, 956, 957, 960, 966, 
	990, 1001, 1003, 1006, 1014, 1018, 1023, 1024, 
	1027, 1028, 1029, 1030, 1031, 1032, 1033, 1037, 
	1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 
	1046, 1047, 1048, 1049, 1050, 1051, 1056, 1057, 
	1058, 1075, 1092, 1108, 1124, 1125, 1135, 1145, 
	1161, 1177, 1178, 1188, 1198, 1199, 1200, 1210, 
	1213, 1215, 1225, 1228, 1230, 1240, 1243, 1245, 
	1255, 1258, 1260, 1270, 1273, 1275, 1282, 1288, 
	1294, 1298, 1301, 1305, 1310, 1311, 1312, 1315, 
	1316, 1319, 1324, 1325, 1328, 1333, 1340, 1346, 
	1356, 1363, 1369, 1373, 1378, 1379, 1380, 1383, 
	1384, 1387, 1392, 1393, 1396, 1401, 1408, 1414, 
	1424, 1431, 1437, 1441, 1446, 1447, 1448, 1451, 
	1452, 1455, 1460, 1461, 1464, 1469, 1476, 1482, 
	1492, 1499, 1505, 1509, 1514, 1515, 1516, 1519, 
	1520, 1523, 1528, 1529, 1532, 1537, 1544, 1550, 
	1560, 1567, 1573, 1577, 1582, 1583, 1584, 1587, 
	1588, 1591, 1596, 1597, 1600, 1605, 1606, 1618, 
	1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 
	1627, 1628, 1629, 1630, 1631, 1655, 1656, 1666, 
	1690, 1691, 1701, 1712, 1713, 1716, 1722, 1734, 
	1735, 1737, 1740, 1748, 1752, 1757, 1758, 1761, 
	1762, 1763, 1764, 1765, 1766, 1767, 1771, 1772, 
	1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 
	1781, 1782, 1783, 1784, 1785, 1790, 1801, 1802, 
	1805, 1811, 1835, 1846, 1848, 1851, 1859, 1863, 
	1868, 1869, 1872, 1873, 1874, 1875, 1876, 1877, 
	1878, 1882, 1883, 1884, 1885, 1886, 1887, 1888, 
	1889, 1890, 1891, 1892, 1893, 1894, 1895, 1896, 
	1901, 1902, 1903, 1904, 1905, 1914, 1916, 1919, 
	1935, 1936, 1946, 1962, 1978, 1979, 1989, 1990, 
	1991, 1992, 1993, 1994, 1999, 2000, 2001, 2002, 
	2003, 2004, 2028, 2029, 2039, 2063, 2064, 2074, 
	2085, 2086, 2089, 2095, 2107, 2108, 2110, 2113, 
	2121, 2125, 2130, 2131, 2134, 2135, 2136, 2137, 
	2138, 2139, 2140, 2144, 2145, 2146, 2147, 2148, 
	2149, 2150, 2151, 2152, 2153, 2154, 2155, 2156, 
	2157, 2158, 2163, 2174, 2175, 2178, 2184, 2208, 
	2219, 2221, 2224, 2232, 2236, 2241, 2242, 2245, 
	2246, 2247, 2248, 2249, 2250, 2251, 2255, 2256, 
	2257, 2258, 2259, 2260, 2261, 2262, 2263, 2264, 
	2265, 2266, 2267, 2268, 2269, 2274, 2275, 2276, 
	2280, 2289, 2291, 2292, 2293, 2295, 2296, 2297, 
	2298, 2299, 2300, 2301, 2305, 2306, 2307, 2310, 
	2319, 2321, 2323, 2326, 2326, 2328, 2328, 2329, 
	2330, 2331, 2334, 2337, 2340, 2343, 2345, 2345, 
	2346, 2347, 2348, 2350, 2352, 2352, 2353, 2354, 
	2355, 2358, 2363, 2367, 2370, 2374, 2379, 2384, 
	2387, 2391, 2395, 2399, 2405, 2409, 2415, 2417, 
	2418, 2418, 2419, 2419, 2422, 2423, 2423, 2423, 
	2424, 2425, 2426, 2426, 2427, 2427, 2428, 2429, 
	2429, 2430, 2430, 2434, 2437, 2461, 2464, 2467, 
	2472, 2477, 2482, 2485, 2489, 2493, 2497, 2503, 
	2506, 2510, 2514, 2518, 2523, 2528, 2533, 2536, 
	2540, 2544, 2548, 2554, 2557, 2561, 2565, 2569, 
	2572, 2576, 2581, 2583, 2586, 2598, 2601, 2604, 
	2610, 2625, 2628, 2645, 2648, 2654, 2660, 2666, 
	2672, 2678, 2681, 2687, 2693, 2696, 2698, 2700, 
	2702, 2708, 2714, 2717, 2722, 2727, 2732, 2738, 
	2744, 2747, 2752, 2757, 2762, 2768, 2774, 2777, 
	2782, 2787, 2792, 2798, 2804, 2807, 2812, 2817, 
	2822, 2825, 2828, 2831, 2835, 2839, 2843, 2846, 
	2850, 2853, 2853, 2858, 2863, 2868, 2871, 2875, 
	2879, 2883, 2889, 2892, 2896, 2900, 2904, 2909, 
	2914, 2919, 2922, 2926, 2930, 2934, 2940, 2943, 
	2947, 2951, 2955, 2958, 2962, 2971, 2980, 2984, 
	2987, 2991, 2994, 2994, 2999, 3004, 3009, 3012, 
	3016, 3020, 3024, 3030, 3033, 3037, 3041, 3045, 
	3050, 3055, 3060, 3063, 3067, 3071, 3075, 3081, 
	3084, 3088, 3092, 3096, 3099, 3102
]

class << self
	attr_accessor :_pokerbot_trans_keys
	private :_pokerbot_trans_keys, :_pokerbot_trans_keys=
end
self._pokerbot_trans_keys = [
	116, 101, 115, 116, 32, 97, 98, 99, 
	100, 102, 104, 115, 110, 116, 101, 32, 
	9, 13, 97, 32, 110, 9, 13, 32, 
	9, 13, 48, 57, 116, 101, 32, 9, 
	13, 105, 108, 103, 95, 98, 108, 105, 
	110, 100, 32, 9, 13, 98, 98, 32, 
	9, 13, 32, 9, 13, 48, 57, 105, 
	110, 100, 115, 32, 9, 13, 48, 57, 
	47, 48, 57, 48, 57, 97, 114, 100, 
	32, 9, 13, 49, 65, 81, 88, 97, 
	113, 120, 50, 57, 74, 75, 106, 107, 
	48, 72, 83, 88, 104, 115, 120, 67, 
	68, 99, 100, 101, 102, 97, 117, 108, 
	116, 95, 97, 99, 116, 105, 111, 110, 
	32, 9, 13, 97, 99, 102, 109, 108, 
	108, 32, 9, 13, 32, 99, 102, 109, 
	9, 13, 108, 108, 99, 107, 108, 100, 
	108, 111, 112, 45, 99, 97, 114, 100, 
	115, 32, 9, 13, 49, 65, 81, 88, 
	97, 113, 120, 50, 57, 74, 75, 106, 
	107, 48, 72, 83, 88, 104, 115, 120, 
	67, 68, 99, 100, 32, 49, 65, 81, 
	88, 97, 113, 120, 9, 13, 50, 57, 
	74, 75, 106, 107, 32, 49, 65, 81, 
	88, 97, 113, 120, 9, 13, 50, 57, 
	74, 75, 106, 107, 48, 72, 83, 88, 
	104, 115, 120, 67, 68, 99, 100, 32, 
	49, 65, 81, 88, 97, 113, 120, 9, 
	13, 50, 57, 74, 75, 106, 107, 32, 
	49, 65, 81, 88, 97, 113, 120, 9, 
	13, 50, 57, 74, 75, 106, 107, 48, 
	72, 83, 88, 104, 115, 120, 67, 68, 
	99, 100, 111, 108, 101, 45, 99, 97, 
	114, 100, 115, 32, 9, 13, 49, 65, 
	81, 88, 97, 113, 120, 50, 57, 74, 
	75, 106, 107, 48, 72, 83, 88, 104, 
	115, 120, 67, 68, 99, 100, 32, 49, 
	65, 81, 88, 97, 113, 120, 9, 13, 
	50, 57, 74, 75, 106, 107, 32, 49, 
	65, 81, 88, 97, 113, 120, 9, 13, 
	50, 57, 74, 75, 106, 107, 48, 72, 
	83, 88, 104, 115, 120, 67, 68, 99, 
	100, 101, 109, 116, 97, 116, 95, 97, 
	99, 116, 105, 111, 110, 32, 115, 9, 
	13, 97, 98, 99, 102, 104, 108, 109, 
	115, 117, 108, 108, 32, 9, 13, 32, 
	99, 102, 109, 9, 13, 108, 108, 99, 
	107, 108, 100, 98, 116, 32, 9, 13, 
	32, 98, 99, 102, 109, 114, 9, 13, 
	32, 101, 9, 13, 32, 9, 13, 48, 
	57, 116, 32, 9, 13, 108, 108, 99, 
	107, 108, 100, 32, 97, 9, 13, 105, 
	115, 101, 110, 106, 98, 116, 103, 32, 
	9, 13, 49, 51, 32, 9, 13, 97, 
	98, 99, 102, 104, 108, 109, 115, 117, 
	108, 108, 32, 9, 13, 32, 99, 102, 
	109, 9, 13, 32, 97, 98, 99, 102, 
	104, 108, 109, 115, 117, 9, 13, 108, 
	108, 32, 9, 13, 32, 99, 102, 109, 
	9, 13, 108, 100, 99, 107, 98, 116, 
	32, 9, 13, 32, 98, 99, 102, 109, 
	114, 9, 13, 32, 101, 9, 13, 32, 
	9, 13, 48, 57, 116, 32, 9, 13, 
	108, 108, 99, 107, 108, 100, 32, 97, 
	9, 13, 105, 115, 101, 110, 108, 108, 
	106, 98, 116, 103, 32, 9, 13, 49, 
	51, 98, 116, 32, 9, 13, 32, 98, 
	99, 102, 109, 114, 9, 13, 32, 101, 
	9, 13, 32, 9, 13, 48, 57, 116, 
	32, 9, 13, 32, 97, 9, 13, 105, 
	115, 101, 110, 106, 98, 116, 103, 32, 
	9, 13, 49, 51, 97, 108, 108, 95, 
	98, 108, 105, 110, 100, 32, 9, 13, 
	115, 98, 32, 9, 13, 32, 9, 13, 
	48, 57, 97, 116, 117, 115, 32, 9, 
	13, 102, 104, 110, 112, 114, 115, 116, 
	111, 112, 114, 111, 119, 104, 116, 97, 
	110, 100, 111, 117, 114, 110, 101, 121, 
	101, 108, 111, 112, 118, 101, 114, 104, 
	119, 111, 119, 110, 114, 110, 32, 49, 
	65, 81, 88, 97, 98, 99, 102, 104, 
	108, 109, 113, 115, 117, 120, 9, 13, 
	50, 57, 74, 75, 106, 107, 48, 72, 
	83, 88, 104, 115, 120, 67, 68, 99, 
	100, 32, 49, 65, 81, 88, 97, 113, 
	120, 9, 13, 50, 57, 74, 75, 106, 
	107, 32, 49, 65, 81, 88, 97, 113, 
	120, 9, 13, 50, 57, 74, 75, 106, 
	107, 48, 72, 83, 88, 104, 115, 120, 
	67, 68, 99, 100, 32, 49, 65, 81, 
	88, 97, 113, 120, 9, 13, 50, 57, 
	74, 75, 106, 107, 32, 49, 65, 81, 
	88, 97, 113, 120, 9, 13, 50, 57, 
	74, 75, 106, 107, 48, 72, 83, 88, 
	104, 115, 120, 67, 68, 99, 100, 48, 
	72, 83, 88, 104, 115, 120, 67, 68, 
	99, 100, 32, 49, 65, 81, 88, 97, 
	113, 120, 9, 13, 50, 57, 74, 75, 
	106, 107, 32, 49, 65, 81, 88, 97, 
	113, 120, 9, 13, 50, 57, 74, 75, 
	106, 107, 48, 72, 83, 88, 104, 115, 
	120, 67, 68, 99, 100, 32, 49, 65, 
	81, 88, 97, 113, 120, 9, 13, 50, 
	57, 74, 75, 106, 107, 32, 49, 65, 
	81, 88, 97, 113, 120, 9, 13, 50, 
	57, 74, 75, 106, 107, 48, 72, 83, 
	88, 104, 115, 120, 67, 68, 99, 100, 
	72, 83, 88, 104, 108, 115, 120, 67, 
	68, 99, 100, 108, 32, 9, 13, 32, 
	99, 102, 109, 9, 13, 32, 97, 98, 
	99, 102, 104, 108, 109, 115, 117, 9, 
	13, 108, 98, 116, 32, 9, 13, 32, 
	98, 99, 102, 109, 114, 9, 13, 32, 
	101, 9, 13, 32, 9, 13, 48, 57, 
	116, 32, 9, 13, 108, 108, 99, 107, 
	108, 100, 32, 97, 9, 13, 105, 115, 
	101, 110, 108, 108, 99, 107, 108, 100, 
	106, 98, 116, 103, 32, 9, 13, 49, 
	51, 72, 83, 88, 104, 108, 115, 120, 
	67, 68, 99, 100, 108, 32, 9, 13, 
	32, 99, 102, 109, 9, 13, 32, 49, 
	65, 81, 88, 97, 98, 99, 102, 104, 
	108, 109, 113, 115, 117, 120, 9, 13, 
	50, 57, 74, 75, 106, 107, 72, 83, 
	88, 104, 108, 115, 120, 67, 68, 99, 
	100, 98, 116, 32, 9, 13, 32, 98, 
	99, 102, 109, 114, 9, 13, 32, 101, 
	9, 13, 32, 9, 13, 48, 57, 116, 
	32, 9, 13, 108, 108, 99, 107, 108, 
	100, 32, 97, 9, 13, 105, 115, 101, 
	110, 108, 108, 99, 107, 108, 100, 106, 
	98, 116, 103, 32, 9, 13, 49, 51, 
	111, 112, 32, 48, 49, 65, 81, 88, 
	97, 113, 120, 9, 13, 50, 57, 74, 
	75, 106, 107, 32, 48, 49, 65, 81, 
	88, 97, 113, 120, 9, 13, 50, 57, 
	74, 75, 106, 107, 32, 49, 65, 81, 
	88, 97, 113, 120, 9, 13, 50, 57, 
	74, 75, 106, 107, 32, 49, 65, 81, 
	88, 97, 113, 120, 9, 13, 50, 57, 
	74, 75, 106, 107, 48, 72, 83, 88, 
	104, 115, 120, 67, 68, 99, 100, 72, 
	83, 88, 104, 115, 120, 67, 68, 99, 
	100, 32, 49, 65, 81, 88, 97, 113, 
	120, 9, 13, 50, 57, 74, 75, 106, 
	107, 32, 49, 65, 81, 88, 97, 113, 
	120, 9, 13, 50, 57, 74, 75, 106, 
	107, 48, 72, 83, 88, 104, 115, 120, 
	67, 68, 99, 100, 72, 83, 88, 104, 
	115, 120, 67, 68, 99, 100, 114, 111, 
	32, 48, 49, 97, 98, 115, 9, 13, 
	50, 57, 47, 48, 57, 48, 57, 32, 
	48, 49, 97, 98, 115, 9, 13, 50, 
	57, 47, 48, 57, 48, 57, 32, 48, 
	49, 97, 98, 115, 9, 13, 50, 57, 
	47, 48, 57, 48, 57, 32, 48, 49, 
	97, 98, 115, 9, 13, 50, 57, 47, 
	48, 57, 48, 57, 32, 48, 49, 97, 
	98, 115, 9, 13, 50, 57, 47, 48, 
	57, 48, 57, 47, 48, 98, 104, 112, 
	49, 57, 47, 98, 104, 112, 48, 57, 
	32, 49, 9, 13, 50, 57, 48, 98, 
	104, 112, 98, 104, 112, 32, 110, 9, 
	13, 32, 9, 13, 48, 57, 116, 101, 
	32, 9, 13, 98, 32, 9, 13, 32, 
	9, 13, 48, 57, 98, 32, 9, 13, 
	32, 9, 13, 48, 57, 47, 48, 98, 
	104, 112, 49, 57, 47, 98, 104, 112, 
	48, 57, 32, 48, 49, 97, 98, 115, 
	9, 13, 50, 57, 47, 48, 98, 104, 
	112, 49, 57, 47, 98, 104, 112, 48, 
	57, 32, 110, 9, 13, 32, 9, 13, 
	48, 57, 116, 101, 32, 9, 13, 98, 
	32, 9, 13, 32, 9, 13, 48, 57, 
	98, 32, 9, 13, 32, 9, 13, 48, 
	57, 47, 48, 98, 104, 112, 49, 57, 
	47, 98, 104, 112, 48, 57, 32, 48, 
	49, 97, 98, 115, 9, 13, 50, 57, 
	47, 48, 98, 104, 112, 49, 57, 47, 
	98, 104, 112, 48, 57, 32, 110, 9, 
	13, 32, 9, 13, 48, 57, 116, 101, 
	32, 9, 13, 98, 32, 9, 13, 32, 
	9, 13, 48, 57, 98, 32, 9, 13, 
	32, 9, 13, 48, 57, 47, 48, 98, 
	104, 112, 49, 57, 47, 98, 104, 112, 
	48, 57, 32, 48, 49, 97, 98, 115, 
	9, 13, 50, 57, 47, 48, 98, 104, 
	112, 49, 57, 47, 98, 104, 112, 48, 
	57, 32, 110, 9, 13, 32, 9, 13, 
	48, 57, 116, 101, 32, 9, 13, 98, 
	32, 9, 13, 32, 9, 13, 48, 57, 
	98, 32, 9, 13, 32, 9, 13, 48, 
	57, 47, 48, 98, 104, 112, 49, 57, 
	47, 98, 104, 112, 48, 57, 32, 48, 
	49, 97, 98, 115, 9, 13, 50, 57, 
	47, 48, 98, 104, 112, 49, 57, 47, 
	98, 104, 112, 48, 57, 32, 110, 9, 
	13, 32, 9, 13, 48, 57, 116, 101, 
	32, 9, 13, 98, 32, 9, 13, 32, 
	9, 13, 48, 57, 98, 32, 9, 13, 
	32, 9, 13, 48, 57, 119, 32, 48, 
	49, 97, 98, 104, 115, 116, 9, 13, 
	50, 57, 97, 110, 100, 111, 117, 114, 
	110, 101, 121, 101, 108, 111, 112, 32, 
	49, 65, 81, 88, 97, 98, 99, 102, 
	104, 108, 109, 113, 115, 117, 120, 9, 
	13, 50, 57, 74, 75, 106, 107, 48, 
	72, 83, 88, 104, 115, 120, 67, 68, 
	99, 100, 32, 49, 65, 81, 88, 97, 
	98, 99, 102, 104, 108, 109, 113, 115, 
	117, 120, 9, 13, 50, 57, 74, 75, 
	106, 107, 48, 72, 83, 88, 104, 115, 
	120, 67, 68, 99, 100, 72, 83, 88, 
	104, 108, 115, 120, 67, 68, 99, 100, 
	108, 32, 9, 13, 32, 99, 102, 109, 
	9, 13, 32, 97, 98, 99, 102, 104, 
	108, 109, 115, 117, 9, 13, 108, 98, 
	116, 32, 9, 13, 32, 98, 99, 102, 
	109, 114, 9, 13, 32, 101, 9, 13, 
	32, 9, 13, 48, 57, 116, 32, 9, 
	13, 108, 108, 99, 107, 108, 100, 32, 
	97, 9, 13, 105, 115, 101, 110, 108, 
	108, 99, 107, 108, 100, 106, 98, 116, 
	103, 32, 9, 13, 49, 51, 72, 83, 
	88, 104, 108, 115, 120, 67, 68, 99, 
	100, 108, 32, 9, 13, 32, 99, 102, 
	109, 9, 13, 32, 49, 65, 81, 88, 
	97, 98, 99, 102, 104, 108, 109, 113, 
	115, 117, 120, 9, 13, 50, 57, 74, 
	75, 106, 107, 72, 83, 88, 104, 108, 
	115, 120, 67, 68, 99, 100, 98, 116, 
	32, 9, 13, 32, 98, 99, 102, 109, 
	114, 9, 13, 32, 101, 9, 13, 32, 
	9, 13, 48, 57, 116, 32, 9, 13, 
	108, 108, 99, 107, 108, 100, 32, 97, 
	9, 13, 105, 115, 101, 110, 108, 108, 
	99, 107, 108, 100, 106, 98, 116, 103, 
	32, 9, 13, 49, 51, 118, 101, 114, 
	104, 32, 98, 99, 104, 108, 115, 117, 
	9, 13, 98, 116, 32, 9, 13, 32, 
	49, 65, 81, 88, 97, 113, 120, 9, 
	13, 50, 57, 74, 75, 106, 107, 48, 
	72, 83, 88, 104, 115, 120, 67, 68, 
	99, 100, 32, 49, 65, 81, 88, 97, 
	113, 120, 9, 13, 50, 57, 74, 75, 
	106, 107, 32, 49, 65, 81, 88, 97, 
	113, 120, 9, 13, 50, 57, 74, 75, 
	106, 107, 48, 72, 83, 88, 104, 115, 
	120, 67, 68, 99, 100, 111, 106, 98, 
	116, 103, 32, 9, 13, 49, 51, 110, 
	119, 111, 119, 110, 32, 49, 65, 81, 
	88, 97, 98, 99, 102, 104, 108, 109, 
	113, 115, 117, 120, 9, 13, 50, 57, 
	74, 75, 106, 107, 48, 72, 83, 88, 
	104, 115, 120, 67, 68, 99, 100, 32, 
	49, 65, 81, 88, 97, 98, 99, 102, 
	104, 108, 109, 113, 115, 117, 120, 9, 
	13, 50, 57, 74, 75, 106, 107, 48, 
	72, 83, 88, 104, 115, 120, 67, 68, 
	99, 100, 72, 83, 88, 104, 108, 115, 
	120, 67, 68, 99, 100, 108, 32, 9, 
	13, 32, 99, 102, 109, 9, 13, 32, 
	97, 98, 99, 102, 104, 108, 109, 115, 
	117, 9, 13, 108, 98, 116, 32, 9, 
	13, 32, 98, 99, 102, 109, 114, 9, 
	13, 32, 101, 9, 13, 32, 9, 13, 
	48, 57, 116, 32, 9, 13, 108, 108, 
	99, 107, 108, 100, 32, 97, 9, 13, 
	105, 115, 101, 110, 108, 108, 99, 107, 
	108, 100, 106, 98, 116, 103, 32, 9, 
	13, 49, 51, 72, 83, 88, 104, 108, 
	115, 120, 67, 68, 99, 100, 108, 32, 
	9, 13, 32, 99, 102, 109, 9, 13, 
	32, 49, 65, 81, 88, 97, 98, 99, 
	102, 104, 108, 109, 113, 115, 117, 120, 
	9, 13, 50, 57, 74, 75, 106, 107, 
	72, 83, 88, 104, 108, 115, 120, 67, 
	68, 99, 100, 98, 116, 32, 9, 13, 
	32, 98, 99, 102, 109, 114, 9, 13, 
	32, 101, 9, 13, 32, 9, 13, 48, 
	57, 116, 32, 9, 13, 108, 108, 99, 
	107, 108, 100, 32, 97, 9, 13, 105, 
	115, 101, 110, 108, 108, 99, 107, 108, 
	100, 106, 98, 116, 103, 32, 9, 13, 
	49, 51, 114, 110, 32, 105, 9, 13, 
	32, 98, 99, 104, 108, 115, 117, 9, 
	13, 98, 116, 110, 111, 101, 106, 114, 
	106, 98, 116, 103, 110, 32, 110, 9, 
	13, 101, 114, 32, 9, 13, 46, 102, 
	104, 110, 112, 114, 115, 116, 119, 48, 
	57, 48, 57, 47, 48, 57, 97, 104, 
	101, 111, 117, 32, 9, 13, 32, 9, 
	13, 32, 9, 13, 32, 9, 13, 97, 
	104, 101, 111, 117, 48, 57, 97, 104, 
	101, 111, 117, 97, 104, 111, 32, 97, 
	104, 9, 13, 32, 111, 9, 13, 32, 
	9, 13, 32, 117, 9, 13, 32, 9, 
	13, 48, 57, 32, 97, 104, 9, 13, 
	32, 9, 13, 32, 101, 9, 13, 32, 
	111, 9, 13, 32, 117, 9, 13, 32, 
	97, 104, 111, 9, 13, 32, 101, 9, 
	13, 32, 97, 104, 111, 9, 13, 48, 
	57, 108, 101, 101, 104, 116, 32, 116, 
	114, 102, 105, 111, 100, 117, 32, 108, 
	9, 13, 32, 9, 13, 32, 49, 65, 
	81, 88, 97, 98, 99, 102, 104, 108, 
	109, 113, 115, 117, 120, 9, 13, 50, 
	57, 74, 75, 106, 107, 32, 9, 13, 
	32, 9, 13, 32, 97, 104, 9, 13, 
	32, 9, 13, 48, 57, 32, 97, 104, 
	9, 13, 32, 9, 13, 32, 101, 9, 
	13, 32, 111, 9, 13, 32, 117, 9, 
	13, 32, 97, 104, 111, 9, 13, 32, 
	9, 13, 32, 101, 9, 13, 32, 111, 
	9, 13, 32, 117, 9, 13, 32, 97, 
	104, 9, 13, 32, 9, 13, 48, 57, 
	32, 97, 104, 9, 13, 32, 9, 13, 
	32, 101, 9, 13, 32, 111, 9, 13, 
	32, 117, 9, 13, 32, 97, 104, 111, 
	9, 13, 32, 9, 13, 32, 101, 9, 
	13, 32, 111, 9, 13, 32, 117, 9, 
	13, 32, 9, 13, 32, 101, 9, 13, 
	32, 9, 13, 48, 57, 48, 57, 48, 
	49, 57, 72, 83, 88, 104, 115, 120, 
	48, 57, 67, 68, 99, 100, 32, 9, 
	13, 32, 9, 13, 32, 48, 9, 13, 
	49, 57, 32, 72, 83, 88, 104, 115, 
	120, 9, 13, 48, 57, 67, 68, 99, 
	100, 32, 9, 13, 32, 48, 49, 65, 
	81, 88, 97, 113, 120, 9, 13, 50, 
	57, 74, 75, 106, 107, 32, 9, 13, 
	32, 101, 104, 116, 9, 13, 32, 47, 
	9, 13, 48, 57, 32, 47, 9, 13, 
	48, 57, 32, 47, 9, 13, 48, 57, 
	32, 47, 9, 13, 48, 57, 47, 48, 
	57, 32, 98, 104, 112, 9, 13, 32, 
	98, 104, 112, 9, 13, 32, 9, 13, 
	48, 57, 48, 57, 48, 57, 32, 98, 
	104, 112, 9, 13, 32, 98, 104, 112, 
	9, 13, 32, 9, 13, 32, 9, 13, 
	48, 57, 32, 9, 13, 48, 57, 32, 
	9, 13, 48, 57, 32, 98, 104, 112, 
	9, 13, 32, 98, 104, 112, 9, 13, 
	32, 9, 13, 32, 9, 13, 48, 57, 
	32, 9, 13, 48, 57, 32, 9, 13, 
	48, 57, 32, 98, 104, 112, 9, 13, 
	32, 98, 104, 112, 9, 13, 32, 9, 
	13, 32, 9, 13, 48, 57, 32, 9, 
	13, 48, 57, 32, 9, 13, 48, 57, 
	32, 98, 104, 112, 9, 13, 32, 98, 
	104, 112, 9, 13, 32, 9, 13, 32, 
	9, 13, 48, 57, 32, 9, 13, 48, 
	57, 32, 9, 13, 48, 57, 32, 9, 
	13, 32, 9, 13, 32, 9, 13, 32, 
	116, 9, 13, 32, 114, 9, 13, 32, 
	102, 9, 13, 32, 9, 13, 32, 105, 
	9, 13, 32, 9, 13, 32, 97, 104, 
	9, 13, 32, 9, 13, 48, 57, 32, 
	97, 104, 9, 13, 32, 9, 13, 32, 
	101, 9, 13, 32, 111, 9, 13, 32, 
	117, 9, 13, 32, 97, 104, 111, 9, 
	13, 32, 9, 13, 32, 101, 9, 13, 
	32, 111, 9, 13, 32, 117, 9, 13, 
	32, 97, 104, 9, 13, 32, 9, 13, 
	48, 57, 32, 97, 104, 9, 13, 32, 
	9, 13, 32, 101, 9, 13, 32, 111, 
	9, 13, 32, 117, 9, 13, 32, 97, 
	104, 111, 9, 13, 32, 9, 13, 32, 
	101, 9, 13, 32, 111, 9, 13, 32, 
	117, 9, 13, 32, 9, 13, 32, 111, 
	9, 13, 32, 98, 99, 104, 108, 115, 
	117, 9, 13, 32, 98, 99, 104, 108, 
	115, 117, 9, 13, 32, 100, 9, 13, 
	32, 9, 13, 32, 117, 9, 13, 32, 
	9, 13, 32, 97, 104, 9, 13, 32, 
	9, 13, 48, 57, 32, 97, 104, 9, 
	13, 32, 9, 13, 32, 101, 9, 13, 
	32, 111, 9, 13, 32, 117, 9, 13, 
	32, 97, 104, 111, 9, 13, 32, 9, 
	13, 32, 101, 9, 13, 32, 111, 9, 
	13, 32, 117, 9, 13, 32, 97, 104, 
	9, 13, 32, 9, 13, 48, 57, 32, 
	97, 104, 9, 13, 32, 9, 13, 32, 
	101, 9, 13, 32, 111, 9, 13, 32, 
	117, 9, 13, 32, 97, 104, 111, 9, 
	13, 32, 9, 13, 32, 101, 9, 13, 
	32, 111, 9, 13, 32, 117, 9, 13, 
	32, 9, 13, 32, 9, 13, 32, 9, 
	13, 49, 51, 0
]

class << self
	attr_accessor :_pokerbot_single_lengths
	private :_pokerbot_single_lengths, :_pokerbot_single_lengths=
end
self._pokerbot_single_lengths = [
	0, 1, 1, 1, 1, 1, 7, 1, 
	1, 1, 1, 1, 2, 1, 1, 1, 
	1, 2, 1, 1, 1, 1, 1, 1, 
	1, 1, 1, 1, 1, 1, 1, 1, 
	1, 1, 1, 0, 1, 0, 1, 1, 
	1, 1, 7, 1, 6, 1, 1, 1, 
	1, 1, 1, 1, 1, 1, 1, 1, 
	1, 1, 1, 4, 1, 1, 1, 4, 
	1, 1, 1, 1, 1, 1, 1, 1, 
	1, 1, 1, 1, 1, 1, 1, 1, 
	7, 1, 6, 8, 8, 1, 6, 8, 
	8, 1, 6, 1, 1, 1, 1, 1, 
	1, 1, 1, 1, 1, 7, 1, 6, 
	8, 8, 1, 6, 3, 1, 1, 1, 
	1, 1, 1, 1, 1, 1, 2, 9, 
	1, 1, 1, 4, 1, 1, 1, 1, 
	1, 1, 2, 1, 6, 2, 1, 1, 
	1, 1, 1, 1, 1, 1, 1, 2, 
	1, 1, 1, 1, 1, 1, 1, 1, 
	1, 1, 9, 1, 1, 1, 4, 10, 
	1, 1, 1, 4, 1, 1, 1, 1, 
	2, 1, 6, 2, 1, 1, 1, 1, 
	1, 1, 1, 1, 1, 2, 1, 1, 
	1, 1, 1, 1, 1, 1, 1, 1, 
	1, 2, 1, 6, 2, 1, 1, 1, 
	2, 1, 1, 1, 1, 1, 1, 1, 
	1, 1, 1, 1, 1, 1, 1, 1, 
	1, 1, 1, 1, 1, 1, 1, 1, 
	1, 1, 1, 1, 1, 7, 1, 1, 
	1, 1, 1, 2, 1, 1, 1, 1, 
	1, 1, 1, 1, 1, 1, 1, 1, 
	1, 1, 1, 1, 1, 1, 1, 1, 
	1, 1, 1, 16, 1, 6, 8, 8, 
	1, 6, 8, 8, 1, 6, 1, 6, 
	8, 8, 1, 6, 8, 8, 1, 6, 
	7, 1, 1, 4, 10, 1, 2, 1, 
	6, 2, 1, 1, 1, 1, 1, 1, 
	1, 1, 1, 2, 1, 1, 1, 1, 
	1, 1, 1, 1, 1, 1, 1, 1, 
	1, 1, 1, 7, 1, 1, 4, 16, 
	7, 2, 1, 6, 2, 1, 1, 1, 
	1, 1, 1, 1, 1, 1, 2, 1, 
	1, 1, 1, 1, 1, 1, 1, 1, 
	1, 1, 1, 1, 1, 1, 1, 1, 
	9, 9, 8, 8, 1, 6, 6, 8, 
	8, 1, 6, 6, 1, 1, 6, 1, 
	0, 6, 1, 0, 6, 1, 0, 6, 
	1, 0, 6, 1, 0, 5, 4, 2, 
	4, 3, 2, 1, 1, 1, 1, 1, 
	1, 1, 1, 1, 1, 5, 4, 6, 
	5, 4, 2, 1, 1, 1, 1, 1, 
	1, 1, 1, 1, 1, 5, 4, 6, 
	5, 4, 2, 1, 1, 1, 1, 1, 
	1, 1, 1, 1, 1, 5, 4, 6, 
	5, 4, 2, 1, 1, 1, 1, 1, 
	1, 1, 1, 1, 1, 5, 4, 6, 
	5, 4, 2, 1, 1, 1, 1, 1, 
	1, 1, 1, 1, 1, 1, 8, 1, 
	1, 1, 1, 1, 1, 1, 1, 1, 
	1, 1, 1, 1, 16, 1, 6, 16, 
	1, 6, 7, 1, 1, 4, 10, 1, 
	2, 1, 6, 2, 1, 1, 1, 1, 
	1, 1, 1, 1, 1, 2, 1, 1, 
	1, 1, 1, 1, 1, 1, 1, 1, 
	1, 1, 1, 1, 1, 7, 1, 1, 
	4, 16, 7, 2, 1, 6, 2, 1, 
	1, 1, 1, 1, 1, 1, 1, 1, 
	2, 1, 1, 1, 1, 1, 1, 1, 
	1, 1, 1, 1, 1, 1, 1, 1, 
	1, 1, 1, 1, 7, 2, 1, 8, 
	1, 6, 8, 8, 1, 6, 1, 1, 
	1, 1, 1, 1, 1, 1, 1, 1, 
	1, 16, 1, 6, 16, 1, 6, 7, 
	1, 1, 4, 10, 1, 2, 1, 6, 
	2, 1, 1, 1, 1, 1, 1, 1, 
	1, 1, 2, 1, 1, 1, 1, 1, 
	1, 1, 1, 1, 1, 1, 1, 1, 
	1, 1, 7, 1, 1, 4, 16, 7, 
	2, 1, 6, 2, 1, 1, 1, 1, 
	1, 1, 1, 1, 1, 2, 1, 1, 
	1, 1, 1, 1, 1, 1, 1, 1, 
	1, 1, 1, 1, 1, 1, 1, 2, 
	7, 2, 1, 1, 2, 1, 1, 1, 
	1, 1, 1, 2, 1, 1, 1, 9, 
	0, 0, 1, 0, 2, 0, 1, 1, 
	1, 1, 1, 1, 1, 2, 0, 1, 
	1, 1, 0, 2, 0, 1, 1, 1, 
	3, 3, 2, 1, 2, 1, 3, 1, 
	2, 2, 2, 4, 2, 4, 0, 1, 
	0, 1, 0, 3, 1, 0, 0, 1, 
	1, 1, 0, 1, 0, 1, 1, 0, 
	1, 0, 2, 1, 16, 1, 1, 3, 
	1, 3, 1, 2, 2, 2, 4, 1, 
	2, 2, 2, 3, 1, 3, 1, 2, 
	2, 2, 4, 1, 2, 2, 2, 1, 
	2, 1, 0, 1, 6, 1, 1, 2, 
	7, 1, 9, 1, 4, 2, 2, 2, 
	2, 1, 4, 4, 1, 0, 0, 0, 
	4, 4, 1, 1, 1, 1, 4, 4, 
	1, 1, 1, 1, 4, 4, 1, 1, 
	1, 1, 4, 4, 1, 1, 1, 1, 
	1, 1, 1, 2, 2, 2, 1, 2, 
	1, 0, 3, 1, 3, 1, 2, 2, 
	2, 4, 1, 2, 2, 2, 3, 1, 
	3, 1, 2, 2, 2, 4, 1, 2, 
	2, 2, 1, 2, 7, 7, 2, 1, 
	2, 1, 0, 3, 1, 3, 1, 2, 
	2, 2, 4, 1, 2, 2, 2, 3, 
	1, 3, 1, 2, 2, 2, 4, 1, 
	2, 2, 2, 1, 1, 1
]

class << self
	attr_accessor :_pokerbot_range_lengths
	private :_pokerbot_range_lengths, :_pokerbot_range_lengths=
end
self._pokerbot_range_lengths = [
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 1, 0, 1, 2, 0, 0, 
	1, 0, 0, 0, 0, 0, 0, 0, 
	0, 1, 0, 0, 1, 2, 0, 0, 
	0, 0, 1, 1, 1, 1, 0, 0, 
	0, 1, 3, 0, 2, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 1, 0, 0, 0, 1, 1, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 1, 
	3, 0, 2, 4, 4, 0, 2, 4, 
	4, 0, 2, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 1, 3, 0, 2, 
	4, 4, 0, 2, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 1, 0, 
	0, 0, 1, 1, 0, 0, 0, 0, 
	0, 0, 0, 1, 1, 1, 2, 0, 
	1, 0, 0, 0, 0, 0, 0, 1, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	2, 1, 0, 0, 0, 1, 1, 1, 
	0, 0, 1, 1, 0, 0, 0, 0, 
	0, 1, 1, 1, 2, 0, 1, 0, 
	0, 0, 0, 0, 0, 1, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	2, 0, 1, 1, 1, 2, 0, 1, 
	1, 0, 0, 0, 0, 0, 0, 0, 
	0, 2, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 1, 0, 0, 1, 2, 
	0, 0, 0, 0, 1, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 4, 0, 2, 4, 4, 
	0, 2, 4, 4, 0, 2, 0, 2, 
	4, 4, 0, 2, 4, 4, 0, 2, 
	2, 0, 1, 1, 1, 0, 0, 1, 
	1, 1, 2, 0, 1, 0, 0, 0, 
	0, 0, 0, 1, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 2, 2, 0, 1, 1, 4, 
	2, 0, 1, 1, 1, 2, 0, 1, 
	0, 0, 0, 0, 0, 0, 1, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 2, 0, 0, 
	4, 4, 4, 4, 0, 2, 2, 4, 
	4, 0, 2, 2, 0, 0, 2, 1, 
	1, 2, 1, 1, 2, 1, 1, 2, 
	1, 1, 2, 1, 1, 1, 1, 2, 
	0, 0, 1, 2, 0, 0, 1, 0, 
	1, 2, 0, 1, 2, 1, 1, 2, 
	1, 1, 1, 2, 0, 0, 1, 0, 
	1, 2, 0, 1, 2, 1, 1, 2, 
	1, 1, 1, 2, 0, 0, 1, 0, 
	1, 2, 0, 1, 2, 1, 1, 2, 
	1, 1, 1, 2, 0, 0, 1, 0, 
	1, 2, 0, 1, 2, 1, 1, 2, 
	1, 1, 1, 2, 0, 0, 1, 0, 
	1, 2, 0, 1, 2, 0, 2, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 4, 0, 2, 4, 
	0, 2, 2, 0, 1, 1, 1, 0, 
	0, 1, 1, 1, 2, 0, 1, 0, 
	0, 0, 0, 0, 0, 1, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 2, 2, 0, 1, 
	1, 4, 2, 0, 1, 1, 1, 2, 
	0, 1, 0, 0, 0, 0, 0, 0, 
	1, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 2, 
	0, 0, 0, 0, 1, 0, 1, 4, 
	0, 2, 4, 4, 0, 2, 0, 0, 
	0, 0, 0, 2, 0, 0, 0, 0, 
	0, 4, 0, 2, 4, 0, 2, 2, 
	0, 1, 1, 1, 0, 0, 1, 1, 
	1, 2, 0, 1, 0, 0, 0, 0, 
	0, 0, 1, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 2, 2, 0, 1, 1, 4, 2, 
	0, 1, 1, 1, 2, 0, 1, 0, 
	0, 0, 0, 0, 0, 1, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 2, 0, 0, 1, 
	1, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 1, 0, 0, 1, 0, 
	1, 1, 1, 0, 0, 0, 0, 0, 
	0, 1, 1, 1, 1, 0, 0, 0, 
	0, 0, 1, 0, 0, 0, 0, 0, 
	0, 1, 1, 1, 1, 2, 1, 1, 
	1, 1, 1, 1, 1, 1, 1, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 1, 1, 4, 1, 1, 1, 
	2, 1, 1, 1, 1, 1, 1, 1, 
	1, 1, 1, 1, 2, 1, 1, 1, 
	1, 1, 1, 1, 1, 1, 1, 1, 
	1, 2, 1, 1, 3, 1, 1, 2, 
	4, 1, 4, 1, 1, 2, 2, 2, 
	2, 1, 1, 1, 1, 1, 1, 1, 
	1, 1, 1, 2, 2, 2, 1, 1, 
	1, 2, 2, 2, 1, 1, 1, 2, 
	2, 2, 1, 1, 1, 2, 2, 2, 
	1, 1, 1, 1, 1, 1, 1, 1, 
	1, 0, 1, 2, 1, 1, 1, 1, 
	1, 1, 1, 1, 1, 1, 1, 2, 
	1, 1, 1, 1, 1, 1, 1, 1, 
	1, 1, 1, 1, 1, 1, 1, 1, 
	1, 1, 0, 1, 2, 1, 1, 1, 
	1, 1, 1, 1, 1, 1, 1, 1, 
	2, 1, 1, 1, 1, 1, 1, 1, 
	1, 1, 1, 1, 1, 2
]

class << self
	attr_accessor :_pokerbot_index_offsets
	private :_pokerbot_index_offsets, :_pokerbot_index_offsets=
end
self._pokerbot_index_offsets = [
	0, 0, 2, 4, 6, 8, 10, 18, 
	20, 22, 24, 27, 29, 33, 37, 39, 
	41, 44, 47, 49, 51, 53, 55, 57, 
	59, 61, 64, 66, 68, 71, 75, 77, 
	79, 81, 83, 86, 88, 91, 93, 95, 
	97, 99, 102, 113, 115, 124, 126, 128, 
	130, 132, 134, 136, 138, 140, 142, 144, 
	146, 148, 150, 153, 158, 160, 162, 165, 
	171, 173, 175, 177, 179, 181, 183, 185, 
	187, 189, 191, 193, 195, 197, 199, 201, 
	204, 215, 217, 226, 239, 252, 254, 263, 
	276, 289, 291, 300, 302, 304, 306, 308, 
	310, 312, 314, 316, 318, 321, 332, 334, 
	343, 356, 369, 371, 380, 384, 386, 388, 
	390, 392, 394, 396, 398, 400, 402, 406, 
	416, 418, 420, 423, 429, 431, 433, 435, 
	437, 439, 441, 444, 447, 455, 459, 463, 
	465, 468, 470, 472, 474, 476, 478, 480, 
	484, 486, 488, 490, 492, 494, 496, 498, 
	500, 504, 507, 517, 519, 521, 524, 530, 
	542, 544, 546, 549, 555, 557, 559, 561, 
	563, 566, 569, 577, 581, 585, 587, 590, 
	592, 594, 596, 598, 600, 602, 606, 608, 
	610, 612, 614, 616, 618, 620, 622, 624, 
	626, 630, 633, 636, 644, 648, 652, 654, 
	657, 661, 663, 665, 667, 669, 671, 673, 
	675, 677, 681, 683, 685, 687, 689, 691, 
	693, 695, 697, 699, 702, 704, 706, 709, 
	713, 715, 717, 719, 721, 724, 732, 734, 
	736, 738, 740, 742, 745, 747, 749, 751, 
	753, 755, 757, 759, 761, 763, 765, 767, 
	769, 771, 773, 775, 777, 779, 781, 783, 
	785, 787, 789, 791, 812, 814, 823, 836, 
	849, 851, 860, 873, 886, 888, 897, 899, 
	908, 921, 934, 936, 945, 958, 971, 973, 
	982, 992, 994, 997, 1003, 1015, 1017, 1020, 
	1023, 1031, 1035, 1039, 1041, 1044, 1046, 1048, 
	1050, 1052, 1054, 1056, 1060, 1062, 1064, 1066, 
	1068, 1070, 1072, 1074, 1076, 1078, 1080, 1082, 
	1084, 1086, 1088, 1092, 1102, 1104, 1107, 1113, 
	1134, 1144, 1147, 1150, 1158, 1162, 1166, 1168, 
	1171, 1173, 1175, 1177, 1179, 1181, 1183, 1187, 
	1189, 1191, 1193, 1195, 1197, 1199, 1201, 1203, 
	1205, 1207, 1209, 1211, 1213, 1215, 1219, 1221, 
	1223, 1237, 1251, 1264, 1277, 1279, 1288, 1297, 
	1310, 1323, 1325, 1334, 1343, 1345, 1347, 1356, 
	1359, 1361, 1370, 1373, 1375, 1384, 1387, 1389, 
	1398, 1401, 1403, 1412, 1415, 1417, 1424, 1430, 
	1435, 1440, 1444, 1448, 1452, 1454, 1456, 1459, 
	1461, 1464, 1468, 1470, 1473, 1477, 1484, 1490, 
	1499, 1506, 1512, 1516, 1520, 1522, 1524, 1527, 
	1529, 1532, 1536, 1538, 1541, 1545, 1552, 1558, 
	1567, 1574, 1580, 1584, 1588, 1590, 1592, 1595, 
	1597, 1600, 1604, 1606, 1609, 1613, 1620, 1626, 
	1635, 1642, 1648, 1652, 1656, 1658, 1660, 1663, 
	1665, 1668, 1672, 1674, 1677, 1681, 1688, 1694, 
	1703, 1710, 1716, 1720, 1724, 1726, 1728, 1731, 
	1733, 1736, 1740, 1742, 1745, 1749, 1751, 1762, 
	1764, 1766, 1768, 1770, 1772, 1774, 1776, 1778, 
	1780, 1782, 1784, 1786, 1788, 1809, 1811, 1820, 
	1841, 1843, 1852, 1862, 1864, 1867, 1873, 1885, 
	1887, 1890, 1893, 1901, 1905, 1909, 1911, 1914, 
	1916, 1918, 1920, 1922, 1924, 1926, 1930, 1932, 
	1934, 1936, 1938, 1940, 1942, 1944, 1946, 1948, 
	1950, 1952, 1954, 1956, 1958, 1962, 1972, 1974, 
	1977, 1983, 2004, 2014, 2017, 2020, 2028, 2032, 
	2036, 2038, 2041, 2043, 2045, 2047, 2049, 2051, 
	2053, 2057, 2059, 2061, 2063, 2065, 2067, 2069, 
	2071, 2073, 2075, 2077, 2079, 2081, 2083, 2085, 
	2089, 2091, 2093, 2095, 2097, 2106, 2109, 2112, 
	2125, 2127, 2136, 2149, 2162, 2164, 2173, 2175, 
	2177, 2179, 2181, 2183, 2187, 2189, 2191, 2193, 
	2195, 2197, 2218, 2220, 2229, 2250, 2252, 2261, 
	2271, 2273, 2276, 2282, 2294, 2296, 2299, 2302, 
	2310, 2314, 2318, 2320, 2323, 2325, 2327, 2329, 
	2331, 2333, 2335, 2339, 2341, 2343, 2345, 2347, 
	2349, 2351, 2353, 2355, 2357, 2359, 2361, 2363, 
	2365, 2367, 2371, 2381, 2383, 2386, 2392, 2413, 
	2423, 2426, 2429, 2437, 2441, 2445, 2447, 2450, 
	2452, 2454, 2456, 2458, 2460, 2462, 2466, 2468, 
	2470, 2472, 2474, 2476, 2478, 2480, 2482, 2484, 
	2486, 2488, 2490, 2492, 2494, 2498, 2500, 2502, 
	2506, 2515, 2518, 2520, 2522, 2525, 2527, 2529, 
	2531, 2533, 2535, 2537, 2541, 2543, 2545, 2548, 
	2558, 2560, 2562, 2565, 2566, 2569, 2570, 2572, 
	2574, 2576, 2579, 2582, 2585, 2588, 2591, 2592, 
	2594, 2596, 2598, 2600, 2603, 2604, 2606, 2608, 
	2610, 2614, 2619, 2623, 2626, 2630, 2634, 2639, 
	2642, 2646, 2650, 2654, 2660, 2664, 2670, 2672, 
	2674, 2675, 2677, 2678, 2682, 2684, 2685, 2686, 
	2688, 2690, 2692, 2693, 2695, 2696, 2698, 2700, 
	2701, 2703, 2704, 2708, 2711, 2732, 2735, 2738, 
	2743, 2747, 2752, 2755, 2759, 2763, 2767, 2773, 
	2776, 2780, 2784, 2788, 2793, 2797, 2802, 2805, 
	2809, 2813, 2817, 2823, 2826, 2830, 2834, 2838, 
	2841, 2845, 2849, 2851, 2854, 2864, 2867, 2870, 
	2875, 2887, 2890, 2904, 2907, 2913, 2918, 2923, 
	2928, 2933, 2936, 2942, 2948, 2951, 2953, 2955, 
	2957, 2963, 2969, 2972, 2976, 2980, 2984, 2990, 
	2996, 2999, 3003, 3007, 3011, 3017, 3023, 3026, 
	3030, 3034, 3038, 3044, 3050, 3053, 3057, 3061, 
	3065, 3068, 3071, 3074, 3078, 3082, 3086, 3089, 
	3093, 3096, 3097, 3102, 3106, 3111, 3114, 3118, 
	3122, 3126, 3132, 3135, 3139, 3143, 3147, 3152, 
	3156, 3161, 3164, 3168, 3172, 3176, 3182, 3185, 
	3189, 3193, 3197, 3200, 3204, 3213, 3222, 3226, 
	3229, 3233, 3236, 3237, 3242, 3246, 3251, 3254, 
	3258, 3262, 3266, 3272, 3275, 3279, 3283, 3287, 
	3292, 3296, 3301, 3304, 3308, 3312, 3316, 3322, 
	3325, 3329, 3333, 3337, 3340, 3343
]

class << self
	attr_accessor :_pokerbot_indicies
	private :_pokerbot_indicies, :_pokerbot_indicies=
end
self._pokerbot_indicies = [
	0, 1, 2, 1, 3, 1, 4, 1, 
	5, 1, 6, 7, 8, 9, 10, 11, 
	12, 1, 13, 1, 14, 1, 15, 1, 
	16, 16, 1, 17, 1, 18, 19, 18, 
	1, 18, 18, 20, 1, 21, 1, 22, 
	1, 18, 18, 1, 23, 24, 1, 25, 
	1, 26, 1, 27, 1, 28, 1, 29, 
	1, 30, 1, 31, 1, 32, 32, 1, 
	33, 1, 34, 1, 35, 35, 1, 35, 
	35, 36, 1, 37, 1, 38, 1, 39, 
	1, 40, 1, 41, 41, 1, 42, 1, 
	43, 42, 1, 45, 44, 46, 1, 47, 
	1, 48, 1, 49, 49, 1, 50, 51, 
	51, 51, 51, 51, 51, 51, 51, 51, 
	1, 51, 1, 52, 52, 52, 52, 52, 
	52, 52, 52, 1, 53, 1, 54, 1, 
	55, 1, 56, 1, 57, 1, 58, 1, 
	59, 1, 60, 1, 61, 1, 62, 1, 
	63, 1, 64, 1, 65, 1, 66, 66, 
	1, 67, 68, 69, 70, 1, 71, 1, 
	72, 1, 73, 73, 1, 73, 68, 69, 
	70, 73, 1, 75, 74, 76, 74, 77, 
	74, 76, 74, 78, 74, 76, 74, 79, 
	1, 80, 1, 81, 1, 82, 1, 83, 
	1, 84, 1, 85, 1, 86, 1, 87, 
	1, 88, 88, 1, 89, 90, 90, 90, 
	90, 90, 90, 90, 90, 90, 1, 90, 
	1, 91, 91, 91, 91, 91, 91, 91, 
	91, 1, 92, 93, 94, 94, 94, 94, 
	94, 94, 92, 94, 94, 94, 1, 95, 
	96, 97, 97, 97, 97, 97, 97, 95, 
	97, 97, 97, 1, 97, 1, 98, 98, 
	98, 98, 98, 98, 98, 98, 1, 99, 
	100, 101, 101, 101, 101, 101, 101, 99, 
	101, 101, 101, 1, 102, 103, 104, 104, 
	104, 104, 104, 104, 102, 104, 104, 104, 
	1, 104, 1, 105, 105, 105, 105, 105, 
	105, 105, 105, 1, 106, 1, 107, 1, 
	108, 1, 109, 1, 110, 1, 111, 1, 
	112, 1, 113, 1, 114, 1, 115, 115, 
	1, 116, 117, 117, 117, 117, 117, 117, 
	117, 117, 117, 1, 117, 1, 118, 118, 
	118, 118, 118, 118, 118, 118, 1, 119, 
	120, 121, 121, 121, 121, 121, 121, 119, 
	121, 121, 121, 1, 122, 123, 124, 124, 
	124, 124, 124, 124, 122, 124, 124, 124, 
	1, 124, 1, 125, 125, 125, 125, 125, 
	125, 125, 125, 1, 126, 127, 128, 1, 
	129, 1, 130, 1, 131, 1, 132, 1, 
	133, 1, 134, 1, 135, 1, 136, 1, 
	137, 1, 138, 139, 138, 1, 140, 141, 
	142, 143, 144, 144, 145, 146, 147, 1, 
	148, 1, 149, 1, 150, 150, 1, 150, 
	151, 143, 145, 150, 1, 153, 152, 154, 
	152, 155, 152, 154, 152, 156, 152, 154, 
	152, 157, 158, 1, 159, 159, 44, 159, 
	160, 161, 162, 163, 164, 159, 44, 165, 
	166, 165, 44, 165, 165, 167, 44, 168, 
	44, 165, 165, 44, 169, 152, 170, 152, 
	171, 152, 170, 152, 172, 152, 170, 152, 
	165, 173, 165, 44, 174, 44, 175, 44, 
	168, 44, 157, 1, 157, 1, 157, 1, 
	176, 1, 177, 1, 159, 159, 157, 1, 
	178, 178, 1, 179, 180, 181, 182, 183, 
	183, 184, 185, 186, 1, 187, 1, 188, 
	1, 189, 189, 1, 189, 190, 182, 184, 
	189, 1, 192, 193, 194, 195, 182, 196, 
	196, 184, 197, 198, 192, 191, 199, 191, 
	200, 191, 201, 201, 191, 201, 190, 182, 
	184, 201, 191, 202, 191, 203, 191, 204, 
	191, 203, 191, 205, 206, 191, 207, 207, 
	191, 207, 208, 209, 210, 211, 212, 207, 
	191, 213, 214, 213, 191, 213, 213, 215, 
	191, 216, 191, 213, 213, 191, 217, 191, 
	218, 191, 219, 191, 218, 191, 220, 191, 
	218, 191, 213, 221, 213, 191, 222, 191, 
	223, 191, 216, 191, 205, 191, 224, 191, 
	203, 191, 205, 191, 205, 191, 225, 191, 
	226, 191, 207, 207, 205, 191, 227, 228, 
	1, 229, 229, 44, 229, 230, 209, 210, 
	211, 231, 229, 44, 232, 233, 232, 44, 
	232, 232, 215, 44, 234, 44, 232, 232, 
	44, 232, 235, 232, 44, 236, 44, 237, 
	44, 234, 44, 227, 1, 227, 1, 227, 
	1, 238, 1, 239, 1, 229, 229, 227, 
	1, 240, 1, 241, 1, 242, 1, 243, 
	1, 244, 1, 245, 1, 246, 1, 247, 
	1, 248, 1, 249, 249, 1, 250, 1, 
	251, 1, 252, 252, 1, 252, 252, 253, 
	1, 254, 1, 255, 1, 256, 1, 257, 
	1, 258, 258, 1, 259, 260, 261, 262, 
	263, 264, 265, 1, 267, 266, 268, 266, 
	269, 266, 270, 266, 271, 266, 272, 273, 
	266, 274, 266, 275, 266, 276, 266, 277, 
	266, 278, 266, 279, 266, 280, 266, 281, 
	266, 282, 266, 283, 266, 284, 266, 285, 
	266, 286, 266, 287, 266, 288, 266, 289, 
	266, 290, 1, 291, 266, 292, 266, 293, 
	266, 294, 266, 295, 266, 296, 266, 298, 
	299, 300, 300, 300, 301, 302, 303, 304, 
	305, 305, 306, 300, 307, 308, 300, 298, 
	300, 300, 300, 297, 300, 297, 309, 309, 
	309, 309, 309, 309, 309, 309, 297, 310, 
	311, 312, 312, 312, 312, 312, 312, 310, 
	312, 312, 312, 297, 313, 314, 315, 315, 
	315, 315, 315, 315, 313, 315, 315, 315, 
	297, 315, 297, 316, 316, 316, 316, 316, 
	316, 316, 316, 297, 317, 318, 319, 319, 
	319, 319, 319, 319, 317, 319, 319, 319, 
	297, 320, 321, 322, 322, 322, 322, 322, 
	322, 320, 322, 322, 322, 297, 322, 297, 
	323, 323, 323, 323, 323, 323, 323, 323, 
	297, 324, 297, 325, 325, 325, 325, 325, 
	325, 325, 325, 297, 326, 327, 328, 328, 
	328, 328, 328, 328, 326, 328, 328, 328, 
	297, 329, 330, 331, 331, 331, 331, 331, 
	331, 329, 331, 331, 331, 297, 331, 297, 
	332, 332, 332, 332, 332, 332, 332, 332, 
	297, 333, 334, 335, 335, 335, 335, 335, 
	335, 333, 335, 335, 335, 297, 336, 337, 
	338, 338, 338, 338, 338, 338, 336, 338, 
	338, 338, 297, 338, 297, 339, 339, 339, 
	339, 339, 339, 339, 339, 297, 325, 325, 
	325, 325, 340, 325, 325, 325, 325, 297, 
	341, 297, 342, 342, 297, 342, 343, 344, 
	345, 342, 297, 346, 347, 348, 349, 344, 
	350, 350, 345, 351, 352, 346, 297, 340, 
	297, 353, 354, 297, 355, 355, 297, 355, 
	356, 357, 358, 359, 360, 355, 297, 361, 
	362, 361, 297, 361, 361, 363, 297, 364, 
	297, 361, 361, 297, 365, 297, 366, 297, 
	367, 297, 366, 297, 368, 297, 366, 297, 
	361, 369, 361, 297, 370, 297, 371, 297, 
	364, 297, 353, 297, 372, 297, 373, 297, 
	374, 297, 373, 297, 375, 297, 373, 297, 
	353, 297, 353, 297, 376, 297, 377, 297, 
	355, 355, 353, 297, 309, 309, 309, 309, 
	378, 309, 309, 309, 309, 297, 379, 297, 
	380, 380, 297, 380, 381, 304, 306, 380, 
	297, 382, 383, 324, 324, 324, 384, 302, 
	303, 304, 305, 305, 306, 324, 307, 308, 
	324, 382, 324, 324, 324, 297, 325, 325, 
	325, 325, 378, 325, 325, 325, 325, 297, 
	385, 386, 297, 387, 387, 297, 387, 388, 
	389, 390, 391, 392, 387, 297, 393, 394, 
	393, 297, 393, 393, 395, 297, 396, 297, 
	393, 393, 297, 397, 297, 398, 297, 399, 
	297, 398, 297, 400, 297, 398, 297, 393, 
	401, 393, 297, 402, 297, 403, 297, 396, 
	297, 385, 297, 404, 297, 405, 297, 406, 
	297, 405, 297, 407, 297, 405, 297, 385, 
	297, 385, 297, 408, 297, 409, 297, 387, 
	387, 385, 297, 410, 297, 411, 297, 412, 
	413, 414, 416, 416, 416, 416, 416, 416, 
	412, 415, 416, 416, 297, 417, 418, 419, 
	421, 421, 421, 421, 421, 421, 417, 420, 
	421, 421, 297, 422, 423, 424, 424, 424, 
	424, 424, 424, 422, 424, 424, 424, 297, 
	425, 426, 427, 427, 427, 427, 427, 427, 
	425, 427, 427, 427, 297, 427, 297, 428, 
	428, 428, 428, 428, 428, 428, 428, 297, 
	429, 429, 429, 429, 429, 429, 429, 429, 
	297, 430, 431, 432, 432, 432, 432, 432, 
	432, 430, 432, 432, 432, 297, 433, 434, 
	435, 435, 435, 435, 435, 435, 433, 435, 
	435, 435, 297, 435, 297, 436, 436, 436, 
	436, 436, 436, 436, 436, 297, 437, 437, 
	437, 437, 437, 437, 437, 437, 297, 438, 
	297, 439, 297, 440, 441, 442, 444, 445, 
	446, 440, 443, 297, 447, 441, 297, 448, 
	297, 449, 450, 451, 453, 454, 455, 449, 
	452, 297, 456, 450, 297, 457, 297, 458, 
	459, 460, 462, 463, 464, 458, 461, 297, 
	465, 459, 297, 466, 297, 467, 468, 469, 
	471, 472, 473, 467, 470, 297, 474, 468, 
	297, 475, 297, 476, 477, 478, 480, 481, 
	482, 476, 479, 297, 483, 477, 297, 484, 
	297, 483, 479, 485, 485, 485, 477, 297, 
	483, 485, 485, 485, 477, 297, 486, 487, 
	486, 488, 297, 488, 485, 485, 485, 297, 
	485, 485, 485, 297, 489, 490, 489, 297, 
	489, 489, 491, 297, 492, 297, 493, 297, 
	489, 489, 297, 494, 297, 495, 495, 297, 
	495, 495, 496, 297, 497, 297, 498, 498, 
	297, 498, 498, 499, 297, 474, 470, 500, 
	500, 500, 468, 297, 474, 500, 500, 500, 
	468, 297, 501, 477, 502, 480, 481, 482, 
	501, 503, 297, 483, 503, 500, 500, 500, 
	477, 297, 483, 500, 500, 500, 477, 297, 
	504, 505, 504, 297, 504, 504, 506, 297, 
	507, 297, 508, 297, 504, 504, 297, 509, 
	297, 510, 510, 297, 510, 510, 511, 297, 
	512, 297, 513, 513, 297, 513, 513, 514, 
	297, 465, 461, 515, 515, 515, 459, 297, 
	465, 515, 515, 515, 459, 297, 516, 468, 
	517, 471, 472, 473, 516, 518, 297, 474, 
	518, 515, 515, 515, 468, 297, 474, 515, 
	515, 515, 468, 297, 519, 520, 519, 297, 
	519, 519, 521, 297, 522, 297, 523, 297, 
	519, 519, 297, 524, 297, 525, 525, 297, 
	525, 525, 526, 297, 527, 297, 528, 528, 
	297, 528, 528, 529, 297, 456, 452, 530, 
	530, 530, 450, 297, 456, 530, 530, 530, 
	450, 297, 531, 459, 532, 462, 463, 464, 
	531, 533, 297, 465, 533, 530, 530, 530, 
	459, 297, 465, 530, 530, 530, 459, 297, 
	534, 535, 534, 297, 534, 534, 536, 297, 
	537, 297, 538, 297, 534, 534, 297, 539, 
	297, 540, 540, 297, 540, 540, 541, 297, 
	542, 297, 543, 543, 297, 543, 543, 544, 
	297, 447, 443, 545, 545, 545, 441, 297, 
	447, 545, 545, 545, 441, 297, 546, 450, 
	547, 453, 454, 455, 546, 548, 297, 456, 
	548, 545, 545, 545, 450, 297, 456, 545, 
	545, 545, 450, 297, 549, 550, 549, 297, 
	549, 549, 551, 297, 552, 297, 553, 297, 
	549, 549, 297, 554, 297, 555, 555, 297, 
	555, 555, 556, 297, 557, 297, 558, 558, 
	297, 558, 558, 559, 297, 560, 297, 440, 
	441, 442, 444, 445, 561, 446, 562, 440, 
	443, 297, 563, 297, 564, 297, 565, 297, 
	566, 297, 567, 297, 568, 297, 569, 297, 
	570, 297, 571, 297, 572, 297, 573, 297, 
	574, 297, 575, 297, 576, 577, 578, 578, 
	578, 579, 580, 581, 582, 583, 583, 584, 
	578, 585, 586, 578, 576, 578, 578, 578, 
	297, 578, 297, 587, 587, 587, 587, 587, 
	587, 587, 587, 297, 588, 589, 590, 590, 
	590, 591, 592, 593, 594, 595, 595, 596, 
	590, 597, 598, 590, 588, 590, 590, 590, 
	297, 590, 297, 599, 599, 599, 599, 599, 
	599, 599, 599, 297, 599, 599, 599, 599, 
	600, 599, 599, 599, 599, 297, 601, 297, 
	602, 602, 297, 602, 603, 594, 596, 602, 
	297, 604, 605, 592, 593, 594, 595, 595, 
	596, 597, 598, 604, 297, 600, 297, 606, 
	607, 297, 608, 608, 297, 608, 609, 610, 
	611, 612, 613, 608, 297, 614, 615, 614, 
	297, 614, 614, 616, 297, 617, 297, 614, 
	614, 297, 618, 297, 619, 297, 620, 297, 
	619, 297, 621, 297, 619, 297, 614, 622, 
	614, 297, 623, 297, 624, 297, 617, 297, 
	606, 297, 625, 297, 626, 297, 627, 297, 
	626, 297, 628, 297, 626, 297, 606, 297, 
	606, 297, 629, 297, 630, 297, 608, 608, 
	606, 297, 587, 587, 587, 587, 631, 587, 
	587, 587, 587, 297, 632, 297, 633, 633, 
	297, 633, 634, 582, 584, 633, 297, 635, 
	589, 590, 590, 590, 636, 580, 581, 582, 
	583, 583, 584, 590, 585, 586, 590, 635, 
	590, 590, 590, 297, 599, 599, 599, 599, 
	631, 599, 599, 599, 599, 297, 637, 638, 
	297, 639, 639, 297, 639, 640, 641, 642, 
	643, 644, 639, 297, 645, 646, 645, 297, 
	645, 645, 647, 297, 648, 297, 645, 645, 
	297, 649, 297, 650, 297, 651, 297, 650, 
	297, 652, 297, 650, 297, 645, 653, 645, 
	297, 654, 297, 655, 297, 648, 297, 637, 
	297, 656, 297, 657, 297, 658, 297, 657, 
	297, 659, 297, 657, 297, 637, 297, 637, 
	297, 660, 297, 661, 297, 639, 639, 637, 
	297, 662, 297, 663, 297, 664, 297, 665, 
	1, 666, 667, 668, 669, 669, 670, 671, 
	666, 297, 672, 673, 297, 674, 674, 297, 
	674, 675, 676, 676, 676, 676, 676, 676, 
	674, 676, 676, 676, 297, 677, 297, 678, 
	678, 678, 678, 678, 678, 678, 678, 297, 
	679, 680, 681, 681, 681, 681, 681, 681, 
	679, 681, 681, 681, 297, 682, 683, 684, 
	684, 684, 684, 684, 684, 682, 684, 684, 
	684, 297, 684, 297, 685, 685, 685, 685, 
	685, 685, 685, 685, 297, 672, 297, 672, 
	297, 672, 297, 686, 297, 687, 297, 674, 
	674, 672, 297, 672, 297, 688, 297, 689, 
	297, 690, 297, 691, 297, 692, 693, 694, 
	694, 694, 695, 696, 697, 698, 699, 699, 
	700, 694, 701, 702, 694, 692, 694, 694, 
	694, 297, 694, 297, 703, 703, 703, 703, 
	703, 703, 703, 703, 297, 704, 705, 706, 
	706, 706, 707, 708, 709, 710, 711, 711, 
	712, 706, 713, 714, 706, 704, 706, 706, 
	706, 297, 706, 297, 715, 715, 715, 715, 
	715, 715, 715, 715, 297, 715, 715, 715, 
	715, 716, 715, 715, 715, 715, 297, 717, 
	297, 718, 718, 297, 718, 719, 710, 712, 
	718, 297, 720, 721, 708, 709, 710, 711, 
	711, 712, 713, 714, 720, 297, 716, 297, 
	722, 723, 297, 724, 724, 297, 724, 725, 
	726, 727, 728, 729, 724, 297, 730, 731, 
	730, 297, 730, 730, 732, 297, 733, 297, 
	730, 730, 297, 734, 297, 735, 297, 736, 
	297, 735, 297, 737, 297, 735, 297, 730, 
	738, 730, 297, 739, 297, 740, 297, 733, 
	297, 722, 297, 741, 297, 742, 297, 743, 
	297, 742, 297, 744, 297, 742, 297, 722, 
	297, 722, 297, 745, 297, 746, 297, 724, 
	724, 722, 297, 703, 703, 703, 703, 747, 
	703, 703, 703, 703, 297, 748, 297, 749, 
	749, 297, 749, 750, 698, 700, 749, 297, 
	751, 705, 706, 706, 706, 752, 696, 697, 
	698, 699, 699, 700, 706, 701, 702, 706, 
	751, 706, 706, 706, 297, 715, 715, 715, 
	715, 747, 715, 715, 715, 715, 297, 753, 
	754, 297, 755, 755, 297, 755, 756, 757, 
	758, 759, 760, 755, 297, 761, 762, 761, 
	297, 761, 761, 763, 297, 764, 297, 761, 
	761, 297, 765, 297, 766, 297, 767, 297, 
	766, 297, 768, 297, 766, 297, 761, 769, 
	761, 297, 770, 297, 771, 297, 764, 297, 
	753, 297, 772, 297, 773, 297, 774, 297, 
	773, 297, 775, 297, 773, 297, 753, 297, 
	753, 297, 776, 297, 777, 297, 755, 755, 
	753, 297, 778, 297, 779, 297, 780, 781, 
	780, 1, 782, 783, 784, 785, 786, 787, 
	788, 782, 44, 789, 790, 44, 789, 44, 
	789, 44, 791, 789, 44, 784, 44, 789, 
	44, 789, 44, 792, 44, 793, 44, 794, 
	1, 780, 795, 780, 1, 796, 1, 797, 
	1, 780, 780, 1, 798, 799, 800, 801, 
	802, 803, 804, 805, 806, 1, 808, 807, 
	810, 809, 43, 45, 811, 812, 814, 815, 
	813, 813, 816, 813, 817, 813, 816, 813, 
	819, 819, 818, 821, 821, 820, 823, 823, 
	822, 825, 825, 824, 827, 828, 826, 826, 
	829, 826, 830, 826, 829, 826, 167, 831, 
	832, 833, 831, 831, 834, 831, 835, 831, 
	834, 831, 827, 828, 157, 826, 837, 838, 
	839, 837, 836, 837, 840, 837, 836, 837, 
	837, 836, 837, 841, 837, 836, 843, 843, 
	215, 842, 843, 844, 845, 843, 842, 843, 
	843, 842, 843, 846, 843, 842, 843, 847, 
	843, 842, 843, 846, 843, 842, 837, 838, 
	839, 205, 837, 836, 837, 841, 837, 836, 
	837, 838, 839, 227, 837, 836, 849, 848, 
	851, 850, 850, 853, 852, 852, 855, 856, 
	282, 854, 857, 854, 854, 858, 282, 854, 
	860, 859, 861, 859, 859, 863, 862, 862, 
	865, 864, 866, 864, 864, 868, 867, 867, 
	870, 871, 870, 869, 873, 873, 872, 875, 
	383, 324, 324, 324, 876, 348, 349, 344, 
	350, 350, 345, 324, 351, 352, 324, 875, 
	324, 324, 324, 874, 877, 877, 872, 878, 
	878, 874, 880, 881, 882, 880, 879, 884, 
	884, 363, 883, 884, 885, 886, 884, 883, 
	884, 884, 883, 884, 887, 884, 883, 884, 
	888, 884, 883, 884, 887, 884, 883, 880, 
	881, 882, 353, 880, 879, 880, 880, 879, 
	880, 889, 880, 879, 880, 890, 880, 879, 
	880, 889, 880, 879, 891, 892, 893, 891, 
	879, 894, 894, 395, 883, 894, 895, 896, 
	894, 883, 894, 894, 883, 894, 897, 894, 
	883, 894, 898, 894, 883, 894, 897, 894, 
	883, 891, 892, 893, 385, 891, 879, 891, 
	891, 879, 891, 899, 891, 879, 891, 900, 
	891, 879, 891, 899, 891, 879, 870, 870, 
	869, 902, 903, 902, 901, 905, 905, 413, 
	904, 418, 904, 420, 418, 904, 429, 429, 
	429, 429, 429, 429, 418, 429, 429, 904, 
	907, 907, 906, 909, 909, 908, 905, 415, 
	905, 413, 904, 905, 437, 437, 437, 437, 
	437, 437, 905, 413, 437, 437, 904, 910, 
	910, 906, 911, 418, 419, 421, 421, 421, 
	421, 421, 421, 911, 420, 421, 421, 908, 
	902, 902, 901, 913, 914, 915, 571, 913, 
	912, 917, 447, 917, 448, 916, 918, 456, 
	918, 457, 916, 919, 465, 919, 466, 916, 
	920, 474, 920, 475, 916, 483, 484, 916, 
	922, 923, 923, 923, 922, 921, 922, 924, 
	924, 924, 922, 921, 922, 922, 921, 926, 
	925, 928, 927, 930, 929, 931, 932, 932, 
	932, 931, 921, 931, 933, 933, 933, 931, 
	921, 931, 931, 921, 934, 934, 935, 925, 
	936, 936, 937, 927, 938, 938, 939, 929, 
	940, 941, 941, 941, 940, 921, 940, 942, 
	942, 942, 940, 921, 940, 940, 921, 943, 
	943, 944, 925, 945, 945, 946, 927, 947, 
	947, 948, 929, 949, 950, 950, 950, 949, 
	921, 949, 951, 951, 951, 949, 921, 949, 
	949, 921, 952, 952, 953, 925, 954, 954, 
	955, 927, 956, 956, 957, 929, 958, 959, 
	959, 959, 958, 921, 958, 960, 960, 960, 
	958, 921, 958, 958, 921, 961, 961, 962, 
	925, 963, 963, 964, 927, 965, 965, 966, 
	929, 967, 913, 912, 913, 913, 912, 969, 
	969, 968, 913, 571, 913, 912, 971, 972, 
	971, 970, 971, 973, 971, 970, 971, 971, 
	970, 975, 976, 975, 974, 978, 978, 977, 
	977, 980, 981, 982, 980, 979, 984, 984, 
	616, 983, 984, 985, 986, 984, 983, 984, 
	984, 983, 984, 987, 984, 983, 984, 988, 
	984, 983, 984, 987, 984, 983, 980, 981, 
	982, 606, 980, 979, 980, 980, 979, 980, 
	989, 980, 979, 980, 990, 980, 979, 980, 
	989, 980, 979, 991, 992, 993, 991, 979, 
	994, 994, 647, 983, 994, 995, 996, 994, 
	983, 994, 994, 983, 994, 997, 994, 983, 
	994, 998, 994, 983, 994, 997, 994, 983, 
	991, 992, 993, 637, 991, 979, 991, 991, 
	979, 991, 999, 991, 979, 991, 1000, 991, 
	979, 991, 999, 991, 979, 975, 975, 974, 
	1002, 1003, 1002, 1001, 1005, 1006, 1007, 1008, 
	1008, 1009, 1010, 1005, 1004, 1012, 1013, 1014, 
	1015, 1015, 1016, 1017, 1012, 1011, 1002, 1018, 
	1002, 1001, 1002, 1002, 1001, 1020, 1021, 1020, 
	1019, 1023, 1023, 1022, 1022, 1025, 1026, 1027, 
	1025, 1024, 1029, 1029, 732, 1028, 1029, 1030, 
	1031, 1029, 1028, 1029, 1029, 1028, 1029, 1032, 
	1029, 1028, 1029, 1033, 1029, 1028, 1029, 1032, 
	1029, 1028, 1025, 1026, 1027, 722, 1025, 1024, 
	1025, 1025, 1024, 1025, 1034, 1025, 1024, 1025, 
	1035, 1025, 1024, 1025, 1034, 1025, 1024, 1036, 
	1037, 1038, 1036, 1024, 1039, 1039, 763, 1028, 
	1039, 1040, 1041, 1039, 1028, 1039, 1039, 1028, 
	1039, 1042, 1039, 1028, 1039, 1043, 1039, 1028, 
	1039, 1042, 1039, 1028, 1036, 1037, 1038, 753, 
	1036, 1024, 1036, 1036, 1024, 1036, 1044, 1036, 
	1024, 1036, 1045, 1036, 1024, 1036, 1044, 1036, 
	1024, 1020, 1020, 1019, 782, 782, 1046, 782, 
	782, 789, 1046, 0
]

class << self
	attr_accessor :_pokerbot_trans_targs
	private :_pokerbot_trans_targs, :_pokerbot_trans_targs=
end
self._pokerbot_trans_targs = [
	2, 0, 3, 4, 5, 6, 7, 17, 
	38, 45, 70, 91, 108, 8, 9, 10, 
	11, 12, 13, 14, 672, 15, 16, 18, 
	30, 19, 20, 21, 22, 23, 24, 25, 
	26, 27, 28, 29, 673, 31, 32, 33, 
	34, 35, 36, 37, 671, 674, 39, 40, 
	41, 42, 43, 44, 675, 46, 47, 48, 
	49, 50, 51, 52, 53, 54, 55, 56, 
	57, 58, 59, 60, 676, 679, 680, 61, 
	62, 63, 671, 65, 677, 67, 69, 71, 
	72, 73, 74, 75, 76, 77, 78, 79, 
	80, 81, 82, 83, 84, 85, 86, 84, 
	85, 86, 87, 88, 89, 90, 88, 89, 
	90, 681, 92, 93, 94, 95, 96, 97, 
	98, 99, 100, 101, 102, 103, 104, 105, 
	106, 107, 105, 106, 107, 683, 109, 210, 
	224, 110, 111, 112, 113, 114, 115, 116, 
	117, 118, 119, 153, 120, 130, 696, 688, 
	148, 689, 149, 150, 121, 122, 123, 685, 
	671, 125, 686, 127, 129, 131, 147, 132, 
	133, 691, 694, 695, 143, 134, 135, 690, 
	136, 138, 692, 140, 142, 144, 145, 146, 
	151, 152, 154, 155, 193, 709, 698, 205, 
	700, 206, 207, 156, 157, 158, 697, 671, 
	159, 160, 168, 707, 188, 189, 190, 161, 
	162, 163, 165, 699, 167, 169, 185, 170, 
	171, 702, 705, 706, 181, 172, 173, 701, 
	174, 176, 703, 178, 180, 182, 183, 184, 
	187, 191, 192, 194, 204, 195, 196, 200, 
	197, 198, 199, 201, 202, 203, 208, 209, 
	211, 212, 213, 214, 215, 216, 217, 218, 
	219, 220, 221, 222, 223, 710, 225, 226, 
	227, 228, 229, 711, 713, 715, 720, 723, 
	252, 728, 671, 231, 712, 233, 714, 716, 
	236, 239, 237, 238, 717, 240, 241, 242, 
	243, 244, 718, 721, 247, 248, 722, 250, 
	251, 724, 725, 726, 255, 256, 727, 258, 
	729, 671, 259, 260, 261, 315, 321, 754, 
	757, 345, 758, 346, 347, 262, 263, 264, 
	265, 263, 264, 265, 266, 267, 268, 269, 
	267, 268, 269, 731, 271, 272, 273, 274, 
	275, 273, 274, 275, 276, 277, 278, 279, 
	277, 278, 279, 733, 281, 282, 283, 735, 
	745, 746, 284, 285, 286, 742, 310, 311, 
	312, 287, 303, 288, 289, 737, 740, 741, 
	299, 290, 291, 736, 292, 294, 738, 296, 
	298, 300, 301, 302, 305, 743, 307, 309, 
	313, 314, 316, 317, 318, 747, 319, 270, 
	320, 322, 338, 323, 324, 749, 752, 753, 
	334, 325, 326, 748, 327, 329, 750, 331, 
	333, 335, 336, 337, 340, 755, 342, 344, 
	348, 349, 351, 759, 352, 761, 767, 768, 
	363, 353, 762, 763, 764, 358, 355, 356, 
	357, 355, 356, 357, 765, 354, 360, 361, 
	362, 360, 361, 362, 769, 359, 365, 771, 
	366, 367, 445, 446, 450, 455, 458, 368, 
	773, 369, 370, 429, 430, 434, 439, 442, 
	371, 774, 372, 373, 413, 414, 418, 423, 
	426, 374, 775, 375, 376, 397, 398, 402, 
	407, 410, 377, 776, 378, 379, 381, 382, 
	386, 391, 394, 380, 777, 778, 383, 384, 
	385, 387, 388, 781, 389, 390, 392, 393, 
	782, 395, 396, 783, 784, 399, 400, 401, 
	403, 404, 787, 405, 406, 408, 409, 788, 
	411, 412, 789, 790, 415, 416, 417, 419, 
	420, 793, 421, 422, 424, 425, 794, 427, 
	428, 795, 796, 431, 432, 433, 435, 436, 
	799, 437, 438, 440, 441, 800, 443, 444, 
	801, 802, 447, 448, 449, 451, 452, 805, 
	453, 454, 456, 457, 806, 459, 460, 807, 
	808, 463, 466, 464, 465, 809, 467, 468, 
	469, 470, 471, 810, 813, 474, 475, 814, 
	476, 477, 478, 517, 523, 837, 840, 547, 
	841, 548, 549, 816, 479, 480, 481, 482, 
	488, 825, 828, 512, 829, 513, 514, 817, 
	483, 484, 485, 818, 486, 487, 489, 505, 
	490, 491, 820, 823, 824, 501, 492, 493, 
	819, 494, 496, 821, 498, 500, 502, 503, 
	504, 507, 826, 509, 511, 515, 516, 518, 
	519, 520, 830, 521, 522, 524, 540, 525, 
	526, 832, 835, 836, 536, 527, 528, 831, 
	529, 531, 833, 533, 535, 537, 538, 539, 
	542, 838, 544, 546, 550, 551, 553, 554, 
	842, 843, 556, 557, 566, 567, 568, 569, 
	558, 572, 559, 560, 561, 561, 562, 563, 
	564, 565, 563, 564, 565, 844, 570, 571, 
	846, 575, 576, 847, 577, 578, 579, 618, 
	624, 870, 873, 648, 874, 649, 650, 849, 
	580, 581, 582, 583, 589, 858, 861, 613, 
	862, 614, 615, 850, 584, 585, 586, 851, 
	587, 588, 590, 606, 591, 592, 853, 856, 
	857, 602, 593, 594, 852, 595, 597, 854, 
	599, 601, 603, 604, 605, 608, 859, 610, 
	612, 616, 617, 619, 620, 621, 863, 622, 
	623, 625, 641, 626, 627, 865, 868, 869, 
	637, 628, 629, 864, 630, 632, 866, 634, 
	636, 638, 639, 640, 643, 871, 645, 647, 
	651, 652, 654, 875, 656, 666, 656, 657, 
	659, 660, 662, 663, 664, 876, 658, 661, 
	665, 877, 667, 668, 669, 670, 1, 730, 
	760, 772, 812, 815, 555, 848, 655, 671, 
	672, 671, 673, 671, 671, 671, 64, 678, 
	66, 68, 671, 682, 671, 682, 671, 684, 
	671, 684, 671, 124, 687, 126, 128, 671, 
	137, 693, 139, 141, 671, 159, 186, 708, 
	164, 166, 671, 159, 175, 704, 177, 179, 
	671, 710, 671, 230, 671, 232, 671, 234, 
	719, 235, 671, 671, 245, 246, 671, 249, 
	671, 253, 254, 671, 257, 671, 259, 350, 
	671, 732, 671, 732, 280, 734, 734, 671, 
	284, 304, 744, 671, 284, 293, 739, 295, 
	297, 306, 308, 319, 339, 756, 319, 328, 
	751, 330, 332, 341, 343, 671, 352, 364, 
	671, 353, 671, 766, 671, 766, 770, 770, 
	671, 366, 461, 811, 671, 369, 372, 375, 
	378, 671, 383, 779, 780, 671, 781, 671, 
	782, 671, 783, 399, 785, 786, 378, 787, 
	378, 788, 378, 789, 415, 791, 792, 375, 
	793, 375, 794, 375, 795, 431, 797, 798, 
	372, 799, 372, 800, 372, 801, 447, 803, 
	804, 369, 805, 369, 806, 369, 807, 462, 
	671, 366, 671, 284, 472, 473, 671, 476, 
	552, 671, 479, 671, 486, 506, 827, 671, 
	486, 495, 822, 497, 499, 508, 510, 521, 
	541, 839, 521, 530, 834, 532, 534, 543, 
	545, 671, 556, 573, 671, 845, 557, 566, 
	567, 568, 569, 671, 845, 557, 566, 567, 
	568, 569, 574, 671, 577, 653, 671, 580, 
	671, 587, 607, 860, 671, 587, 596, 855, 
	598, 600, 609, 611, 622, 642, 872, 622, 
	631, 867, 633, 635, 644, 646, 671
]

class << self
	attr_accessor :_pokerbot_trans_actions
	private :_pokerbot_trans_actions, :_pokerbot_trans_actions=
end
self._pokerbot_trans_actions = [
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	65, 0, 0, 0, 27, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	61, 0, 0, 0, 23, 0, 0, 0, 
	0, 59, 0, 0, 83, 238, 0, 0, 
	0, 47, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 55, 0, 71, 71, 71, 0, 
	0, 0, 77, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	51, 0, 0, 0, 1, 1, 1, 0, 
	0, 0, 0, 1, 1, 1, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 49, 0, 0, 0, 1, 
	1, 1, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 53, 0, 0, 0, 232, 71, 
	0, 71, 0, 0, 0, 0, 0, 71, 
	75, 0, 0, 0, 0, 0, 0, 0, 
	0, 71, 71, 71, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 57, 0, 0, 235, 71, 0, 
	71, 0, 0, 0, 0, 0, 71, 79, 
	0, 0, 0, 71, 0, 0, 0, 0, 
	0, 0, 0, 71, 0, 0, 0, 0, 
	0, 71, 71, 71, 0, 0, 0, 71, 
	0, 0, 71, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 63, 0, 0, 0, 25, 0, 0, 
	0, 0, 67, 71, 71, 71, 71, 71, 
	0, 71, 81, 0, 0, 0, 0, 71, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 71, 0, 0, 0, 0, 
	0, 0, 71, 71, 0, 0, 0, 0, 
	0, 73, 0, 0, 0, 0, 0, 71, 
	71, 0, 71, 0, 0, 0, 1, 1, 
	1, 0, 0, 0, 0, 1, 1, 1, 
	0, 0, 0, 0, 0, 0, 1, 1, 
	1, 0, 0, 0, 0, 1, 1, 1, 
	0, 0, 0, 0, 0, 0, 0, 71, 
	71, 71, 0, 0, 0, 71, 0, 0, 
	0, 0, 0, 0, 0, 71, 71, 71, 
	0, 0, 0, 71, 0, 0, 71, 0, 
	0, 0, 0, 0, 0, 71, 0, 0, 
	0, 0, 0, 0, 0, 71, 0, 0, 
	0, 0, 0, 0, 0, 71, 71, 71, 
	0, 0, 0, 71, 0, 0, 71, 0, 
	0, 0, 0, 0, 0, 71, 0, 0, 
	0, 0, 0, 71, 0, 71, 71, 71, 
	0, 0, 0, 0, 71, 0, 1, 1, 
	1, 0, 0, 0, 0, 0, 1, 1, 
	1, 0, 0, 0, 0, 0, 0, 71, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	71, 0, 0, 0, 0, 0, 0, 0, 
	0, 71, 0, 0, 0, 0, 0, 0, 
	0, 0, 71, 0, 0, 0, 0, 0, 
	0, 0, 0, 71, 0, 0, 0, 0, 
	0, 0, 0, 0, 71, 71, 0, 0, 
	0, 0, 0, 27, 0, 0, 0, 0, 
	23, 0, 0, 25, 71, 0, 0, 0, 
	0, 0, 226, 0, 0, 0, 0, 220, 
	0, 0, 223, 71, 0, 0, 0, 0, 
	0, 226, 0, 0, 0, 0, 220, 0, 
	0, 223, 71, 0, 0, 0, 0, 0, 
	226, 0, 0, 0, 0, 220, 0, 0, 
	223, 71, 0, 0, 0, 0, 0, 226, 
	0, 0, 0, 0, 220, 0, 0, 223, 
	71, 0, 0, 0, 0, 71, 0, 0, 
	0, 0, 0, 71, 71, 0, 0, 71, 
	0, 0, 0, 0, 0, 71, 71, 0, 
	71, 0, 0, 71, 0, 0, 0, 0, 
	0, 71, 71, 0, 71, 0, 0, 0, 
	0, 0, 0, 71, 0, 0, 0, 0, 
	0, 0, 71, 71, 71, 0, 0, 0, 
	71, 0, 0, 71, 0, 0, 0, 0, 
	0, 0, 71, 0, 0, 0, 0, 0, 
	0, 0, 71, 0, 0, 0, 0, 0, 
	0, 71, 71, 71, 0, 0, 0, 71, 
	0, 0, 71, 0, 0, 0, 0, 0, 
	0, 71, 0, 0, 0, 0, 0, 0, 
	71, 71, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 19, 19, 0, 0, 1, 
	1, 1, 0, 0, 0, 71, 0, 0, 
	71, 0, 0, 71, 0, 0, 0, 0, 
	0, 71, 71, 0, 71, 0, 0, 71, 
	0, 0, 0, 0, 0, 71, 71, 0, 
	71, 0, 0, 0, 0, 0, 0, 71, 
	0, 0, 0, 0, 0, 0, 71, 71, 
	71, 0, 0, 0, 71, 0, 0, 71, 
	0, 0, 0, 0, 0, 0, 71, 0, 
	0, 0, 0, 0, 0, 0, 71, 0, 
	0, 0, 0, 0, 0, 71, 71, 71, 
	0, 0, 0, 71, 0, 0, 71, 0, 
	0, 0, 0, 0, 0, 71, 0, 0, 
	0, 0, 0, 71, 45, 0, 0, 0, 
	0, 0, 0, 0, 0, 229, 0, 0, 
	0, 229, 0, 0, 0, 0, 0, 71, 
	71, 71, 71, 71, 0, 71, 0, 124, 
	0, 112, 0, 106, 88, 142, 0, 71, 
	0, 0, 245, 1, 94, 0, 253, 1, 
	100, 0, 139, 0, 71, 0, 0, 130, 
	0, 71, 0, 0, 145, 13, 0, 71, 
	0, 0, 133, 11, 0, 71, 0, 0, 
	118, 0, 187, 0, 175, 0, 163, 0, 
	0, 0, 169, 181, 0, 0, 199, 0, 
	205, 0, 0, 193, 0, 184, 37, 0, 
	241, 285, 91, 214, 0, 1, 0, 136, 
	13, 0, 71, 127, 11, 0, 71, 0, 
	0, 0, 0, 13, 0, 71, 11, 0, 
	71, 0, 0, 0, 0, 172, 33, 0, 
	151, 17, 249, 1, 97, 0, 289, 217, 
	160, 29, 0, 71, 103, 3, 3, 3, 
	3, 148, 15, 71, 71, 121, 0, 109, 
	0, 115, 0, 15, 71, 71, 9, 71, 
	5, 71, 7, 71, 15, 71, 71, 9, 
	71, 5, 71, 7, 71, 15, 71, 71, 
	9, 71, 5, 71, 7, 71, 15, 71, 
	71, 9, 71, 5, 71, 7, 71, 29, 
	166, 31, 178, 35, 0, 0, 196, 41, 
	0, 265, 1, 281, 13, 0, 71, 273, 
	11, 0, 71, 0, 0, 0, 0, 13, 
	0, 71, 11, 0, 71, 0, 0, 0, 
	0, 202, 43, 0, 257, 211, 85, 85, 
	85, 85, 85, 154, 71, 21, 21, 21, 
	21, 21, 0, 190, 39, 0, 261, 1, 
	277, 13, 0, 71, 269, 11, 0, 71, 
	0, 0, 0, 0, 13, 0, 71, 11, 
	0, 71, 0, 0, 0, 0, 157
]

class << self
	attr_accessor :_pokerbot_to_state_actions
	private :_pokerbot_to_state_actions, :_pokerbot_to_state_actions=
end
self._pokerbot_to_state_actions = [
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 208, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0
]

class << self
	attr_accessor :_pokerbot_from_state_actions
	private :_pokerbot_from_state_actions, :_pokerbot_from_state_actions=
end
self._pokerbot_from_state_actions = [
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 69, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0
]

class << self
	attr_accessor :_pokerbot_eof_trans
	private :_pokerbot_eof_trans, :_pokerbot_eof_trans=
end
self._pokerbot_eof_trans = [
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 45, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	75, 75, 75, 75, 75, 75, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 153, 153, 153, 153, 
	153, 153, 0, 45, 45, 45, 45, 45, 
	45, 153, 153, 153, 153, 153, 153, 45, 
	45, 45, 45, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 192, 
	192, 192, 192, 192, 192, 192, 192, 192, 
	192, 192, 192, 192, 192, 192, 192, 192, 
	192, 192, 192, 192, 192, 192, 192, 192, 
	192, 192, 192, 192, 192, 192, 192, 192, 
	192, 0, 45, 45, 45, 45, 45, 45, 
	45, 45, 45, 45, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 267, 267, 
	267, 267, 267, 267, 267, 267, 267, 267, 
	267, 267, 267, 267, 267, 267, 267, 267, 
	267, 267, 267, 267, 0, 267, 267, 267, 
	267, 267, 267, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 0, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 298, 
	298, 298, 298, 298, 298, 298, 298, 0, 
	45, 45, 45, 45, 45, 45, 45, 45, 
	45, 45, 0, 0, 0, 0, 0, 0, 
	808, 810, 812, 813, 814, 814, 814, 814, 
	814, 819, 821, 823, 825, 827, 827, 827, 
	827, 827, 832, 832, 832, 832, 832, 832, 
	827, 837, 837, 837, 837, 843, 843, 843, 
	843, 843, 843, 837, 837, 837, 849, 851, 
	851, 853, 853, 855, 855, 855, 859, 855, 
	860, 860, 860, 863, 863, 865, 865, 865, 
	868, 868, 870, 873, 875, 873, 875, 880, 
	884, 884, 884, 884, 884, 884, 880, 880, 
	880, 880, 880, 880, 884, 884, 884, 884, 
	884, 884, 880, 880, 880, 880, 880, 870, 
	902, 905, 905, 905, 905, 907, 909, 905, 
	905, 907, 909, 902, 913, 917, 917, 917, 
	917, 917, 922, 922, 922, 926, 928, 930, 
	922, 922, 922, 926, 928, 930, 922, 922, 
	922, 926, 928, 930, 922, 922, 922, 926, 
	928, 930, 922, 922, 922, 926, 928, 930, 
	913, 913, 969, 913, 971, 971, 971, 975, 
	978, 978, 980, 984, 984, 984, 984, 984, 
	984, 980, 980, 980, 980, 980, 980, 984, 
	984, 984, 984, 984, 984, 980, 980, 980, 
	980, 980, 975, 1002, 1005, 1012, 1002, 1002, 
	1020, 1023, 1023, 1025, 1029, 1029, 1029, 1029, 
	1029, 1029, 1025, 1025, 1025, 1025, 1025, 1025, 
	1029, 1029, 1029, 1029, 1029, 1029, 1025, 1025, 
	1025, 1025, 1025, 1020, 1047, 1047
]

class << self
	attr_accessor :pokerbot_start
end
self.pokerbot_start = 671;
class << self
	attr_accessor :pokerbot_first_final
end
self.pokerbot_first_final = 671;
class << self
	attr_accessor :pokerbot_error
end
self.pokerbot_error = 0;

class << self
	attr_accessor :pokerbot_en_main
end
self.pokerbot_en_main = 671;


# line 285 "lib/fb_pokerbot_parser/message_parser.rl"
    data = data.unpack("c*") if data.is_a?(String)
    eof  = data.length
    cp   = 0

    @status_only = false   # true if status_only request
    @command     = ""
    @options     = {
      blinds: {}
    }
    @players     = {}
    @actions     = []
    @cards       = {}
    @winners     = []

    # temp vars
    @_curr_seat = nil
    @_cards     = []

    
# line 2113 "lib/fb_pokerbot_parser/message_parser.rb"
begin
	p ||= 0
	pe ||= data.length
	cs = pokerbot_start
	ts = nil
	te = nil
	act = 0
end

# line 304 "lib/fb_pokerbot_parser/message_parser.rl"
    
# line 2125 "lib/fb_pokerbot_parser/message_parser.rb"
begin
	_klen, _trans, _keys, _acts, _nacts = nil
	_goto_level = 0
	_resume = 10
	_eof_trans = 15
	_again = 20
	_test_eof = 30
	_out = 40
	while true
	_trigger_goto = false
	if _goto_level <= 0
	if p == pe
		_goto_level = _test_eof
		next
	end
	if cs == 0
		_goto_level = _out
		next
	end
	end
	if _goto_level <= _resume
	_acts = _pokerbot_from_state_actions[cs]
	_nacts = _pokerbot_actions[_acts]
	_acts += 1
	while _nacts > 0
		_nacts -= 1
		_acts += 1
		case _pokerbot_actions[_acts - 1]
			when 41 then
# line 1 "NONE"
		begin
ts = p
		end
# line 2159 "lib/fb_pokerbot_parser/message_parser.rb"
		end # from state action switch
	end
	if _trigger_goto
		next
	end
	_keys = _pokerbot_key_offsets[cs]
	_trans = _pokerbot_index_offsets[cs]
	_klen = _pokerbot_single_lengths[cs]
	_break_match = false
	
	begin
	  if _klen > 0
	     _lower = _keys
	     _upper = _keys + _klen - 1

	     loop do
	        break if _upper < _lower
	        _mid = _lower + ( (_upper - _lower) >> 1 )

	        if data[p].ord < _pokerbot_trans_keys[_mid]
	           _upper = _mid - 1
	        elsif data[p].ord > _pokerbot_trans_keys[_mid]
	           _lower = _mid + 1
	        else
	           _trans += (_mid - _keys)
	           _break_match = true
	           break
	        end
	     end # loop
	     break if _break_match
	     _keys += _klen
	     _trans += _klen
	  end
	  _klen = _pokerbot_range_lengths[cs]
	  if _klen > 0
	     _lower = _keys
	     _upper = _keys + (_klen << 1) - 2
	     loop do
	        break if _upper < _lower
	        _mid = _lower + (((_upper-_lower) >> 1) & ~1)
	        if data[p].ord < _pokerbot_trans_keys[_mid]
	          _upper = _mid - 2
	        elsif data[p].ord > _pokerbot_trans_keys[_mid+1]
	          _lower = _mid + 2
	        else
	          _trans += ((_mid - _keys) >> 1)
	          _break_match = true
	          break
	        end
	     end # loop
	     break if _break_match
	     _trans += _klen
	  end
	end while false
	_trans = _pokerbot_indicies[_trans]
	end
	if _goto_level <= _eof_trans
	cs = _pokerbot_trans_targs[_trans]
	if _pokerbot_trans_actions[_trans] != 0
		_acts = _pokerbot_trans_actions[_trans]
		_nacts = _pokerbot_actions[_acts]
		_acts += 1
		while _nacts > 0
			_nacts -= 1
			_acts += 1
			case _pokerbot_actions[_acts - 1]
when 0 then
# line 58 "lib/fb_pokerbot_parser/message_parser.rl"
		begin

    parse_card(data[cp..(p-1)].pack('c*').strip)    
    cp = p
  		end
when 1 then
# line 62 "lib/fb_pokerbot_parser/message_parser.rl"
		begin

    set_flop
  		end
when 2 then
# line 66 "lib/fb_pokerbot_parser/message_parser.rl"
		begin

    set_hole_cards
  		end
when 3 then
# line 70 "lib/fb_pokerbot_parser/message_parser.rl"
		begin

    val = data[cp..(p-1)].pack('c*').strip
    parse_blinds(val)
    cp = p
  		end
when 4 then
# line 76 "lib/fb_pokerbot_parser/message_parser.rl"
		begin

    val = data[cp..(p-1)].pack('c*').strip
    parse_big_blind(val)
    cp = p
  		end
when 5 then
# line 82 "lib/fb_pokerbot_parser/message_parser.rl"
		begin

    val = data[cp..(p-1)].pack('c*').strip
    parse_small_blind(val)
    cp = p
  		end
when 6 then
# line 88 "lib/fb_pokerbot_parser/message_parser.rl"
		begin

    val = data[cp..(p-1)].pack('c*').strip
    parse_ante(val)
    cp = p
  		end
when 7 then
# line 94 "lib/fb_pokerbot_parser/message_parser.rl"
		begin

    val = data[cp..p].pack('c*').strip
    extract_seat_action(val)
    cp = p
  		end
when 8 then
# line 100 "lib/fb_pokerbot_parser/message_parser.rl"
		begin

    val = data[cp..p].pack('c*').strip
    extract_default_action(val)
    cp = p
  		end
when 9 then
# line 106 "lib/fb_pokerbot_parser/message_parser.rl"
		begin

    val = data[cp..p].pack('c*').strip
    parse_seating_options(val)
    cp = p
  		end
when 10 then
# line 118 "lib/fb_pokerbot_parser/message_parser.rl"
		begin

    val = data[cp..p].pack('c*').strip    
    set_stack(:hero, val)
    cp = p
  		end
when 11 then
# line 130 "lib/fb_pokerbot_parser/message_parser.rl"
		begin

    val = data[cp..(p-1)].pack('c*').strip
    set_curr_seat(val)
    cp = p
  		end
when 12 then
# line 136 "lib/fb_pokerbot_parser/message_parser.rl"
		begin

    assign_cards_to_seat
  		end
when 13 then
# line 140 "lib/fb_pokerbot_parser/message_parser.rl"
		begin

    val = data[cp..(p-1)].pack('c*').strip
    set_winners(val)
  		end
when 14 then
# line 179 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
cp = p		end
when 15 then
# line 180 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
cp = p		end
when 16 then
# line 181 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
cp = p		end
when 17 then
# line 188 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
 set_cmd('nh', p, pe); cp = p 		end
when 18 then
# line 189 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
 set_cmd('nt', p, pe); cp = p		end
when 19 then
# line 190 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
 set_cmd('hero', p, pe); cp = p 		end
when 20 then
# line 191 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
 set_cmd('pre', p, pe); cp = p 		end
when 21 then
# line 192 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
 set_cmd('flop', p, pe); cp = p 		end
when 22 then
# line 193 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
 set_cmd('turn', p, pe); cp = p 		end
when 23 then
# line 194 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
 set_cmd('river', p, pe); cp = p 		end
when 24 then
# line 195 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
 set_cmd('show', p, pe); cp = p 		end
when 25 then
# line 196 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
 set_cmd('win', p, pe); cp = p 		end
when 26 then
# line 211 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
 assign_cards(:turn) 		end
when 27 then
# line 212 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
 assign_cards(:river) 		end
when 28 then
# line 220 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
cp = p		end
when 29 then
# line 221 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
cp = p		end
when 30 then
# line 222 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
cp = p		end
when 31 then
# line 223 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
cp = p		end
when 32 then
# line 224 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
cp = p		end
when 33 then
# line 225 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
cp = p		end
when 34 then
# line 226 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
cp = p		end
when 35 then
# line 227 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
cp = p		end
when 36 then
# line 228 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
cp = p		end
when 37 then
# line 229 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
cp = p		end
when 38 then
# line 230 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
cp = p		end
when 42 then
# line 1 "NONE"
		begin
te = p+1
		end
when 43 then
# line 219 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
act = 1;		end
when 44 then
# line 223 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
act = 5;		end
when 45 then
# line 225 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
act = 7;		end
when 46 then
# line 226 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
act = 8;		end
when 47 then
# line 219 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
te = p
p = p - 1;		end
when 48 then
# line 220 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
te = p
p = p - 1;		end
when 49 then
# line 221 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
te = p
p = p - 1;		end
when 50 then
# line 222 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
te = p
p = p - 1;		end
when 51 then
# line 223 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
te = p
p = p - 1;		end
when 52 then
# line 224 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
te = p
p = p - 1;		end
when 53 then
# line 225 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
te = p
p = p - 1;		end
when 54 then
# line 226 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
te = p
p = p - 1;		end
when 55 then
# line 227 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
te = p
p = p - 1;		end
when 56 then
# line 228 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
te = p
p = p - 1;		end
when 57 then
# line 229 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
te = p
p = p - 1;		end
when 58 then
# line 230 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
te = p
p = p - 1;		end
when 59 then
# line 219 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
 begin p = ((te))-1; end
		end
when 60 then
# line 223 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
 begin p = ((te))-1; end
		end
when 61 then
# line 224 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
 begin p = ((te))-1; end
		end
when 62 then
# line 225 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
 begin p = ((te))-1; end
		end
when 63 then
# line 230 "lib/fb_pokerbot_parser/message_parser.rl"
		begin
 begin p = ((te))-1; end
		end
when 64 then
# line 1 "NONE"
		begin
	case act
	when 0 then
	begin	begin
		cs = 0
		_trigger_goto = true
		_goto_level = _again
		break
	end
end
	else
	begin begin p = ((te))-1; end
end
end 
			end
# line 2553 "lib/fb_pokerbot_parser/message_parser.rb"
			end # action switch
		end
	end
	if _trigger_goto
		next
	end
	end
	if _goto_level <= _again
	_acts = _pokerbot_to_state_actions[cs]
	_nacts = _pokerbot_actions[_acts]
	_acts += 1
	while _nacts > 0
		_nacts -= 1
		_acts += 1
		case _pokerbot_actions[_acts - 1]
when 39 then
# line 1 "NONE"
		begin
ts = nil;		end
when 40 then
# line 1 "NONE"
		begin
act = 0
		end
# line 2578 "lib/fb_pokerbot_parser/message_parser.rb"
		end # to state action switch
	end
	if _trigger_goto
		next
	end
	if cs == 0
		_goto_level = _out
		next
	end
	p += 1
	if p != pe
		_goto_level = _resume
		next
	end
	end
	if _goto_level <= _test_eof
	if p == eof
	if _pokerbot_eof_trans[cs] > 0
		_trans = _pokerbot_eof_trans[cs] - 1;
		_goto_level = _eof_trans
		next;
	end
end
	end
	if _goto_level <= _out
		break
	end
	end
	end

# line 305 "lib/fb_pokerbot_parser/message_parser.rl"

    # post-process data
    set_players_data
  end

  def set_cmd(key, p, pe)
    @command = COMMANDS.fetch(key, nil)
    set_status_only if pe == p
  end

  def set_status_only
    @status_only = true
  end


  def parse_card(card)
    suit = card[-1..-1]
    val  = card[0..-2]
    @_cards << "#{val.upcase}#{suit.downcase}"
  end

  def set_flop
    return unless @_cards.count == 3
    assign_cards(:flop)
  end

  def set_hole_cards
    return unless @_cards.count == 2
    assign_cards(:hero)
  end

  def assign_cards(key)
    @cards[key] = @_cards.dup
    @_cards = []
  end


  def parse_blinds(data)
    sb, bb, *straddles = data.split("/")
    @options[:blinds][:sb] = sb.to_i
    @options[:blinds][:bb] = bb.to_i
    return if straddles.empty?
    if straddles.count == 1 && straddles.first.to_i < @options[:blinds].fetch(:bb, 0)
      @options[:blinds][:ante] = straddles.first.to_i
    else
      @options[:blinds][:straddle] = straddles.map(&:to_i)
    end
    @options[:blinds]
  end

  def parse_big_blind(data)
    @options[:blinds][:bb] = data.to_i
    @options[:blinds][:sb] = (@options[:blinds][:bb] / 2) if @options[:blinds][:sb].nil?
  end

  def parse_small_blind(data)
    @options[:blinds][:sb] = data.to_i
  end

  def parse_ante(data)
    @options[:blinds][:ante] = data.to_i
  end

  def extract_seat_action(data)
    seat, action, amount = data.split(' ')
    amount = amount.to_i unless amount.nil?
    @actions << {seat: seat, action: ACTIONS.fetch(action,nil), amount: amount}
  end

  def extract_default_action(data)
    action = data.split(" ").last
    @actions << {seat: 'all', action: ACTIONS.fetch(action,nil), amount: nil}
  end


  def parse_seating_options(data)
    num = data.to_i 
    options = data.gsub(num.to_s,'')
    options.split('').each do |val|
      next unless key = NEW_HAND_OPTIONS.fetch(val,nil)
      @options[key] = num
    end
  end
   
  def set_stack_size(data)
    seat, amount = data.split(" ")
    seat = seat.to_sym
    set_stack(seat, amount)
  end

  def set_stack(seat, amount)
    @players[seat] ||= {}
    @players[seat][:stack] = amount.to_i
  end

  def set_curr_seat(data)
    @_curr_seat = data.to_sym if VALID_SEATS.include?(data)
  end

  def assign_cards_to_seat
    @players[@_curr_seat] ||= {}
    @players[@_curr_seat][:cards] = @_cards.dup
    @_cards = []
  end

  def set_winners(data)
    seats = data.split(" ")
    @winners = seats.select {|seat| VALID_SEATS.include?(seat) || seat == "hero" }
  end

  def set_players_data
    return unless btn_seat = @options.fetch(:button,nil)
    return unless num_players = @options.fetch(:players, nil)
    (1..num_players).each do |seat_num|

    end
  end

  def to_hash
    {
      command: @command,
      status_only: @status_only,
      players: @players,
      options: @options,
      actions: @actions,
      cards: @cards,
      winners: @winners
    }
  end

  # players = {
  #   btn: {
  #     seat: 1-9,
  #     stack: 1000,
  #     cards: [],
  #     name: ''
  #   },
  #   co: {
  #     seat: 1-9,
  #     stack: 1000,
  #     cards: [],
  #     name: ''
  #   }
  # }


end