# line 1 "scanner.rl" # line 84 "scanner.rl" module Radius class Scanner def operate(prefix, data) data = Radius::OrdString.new data buf = "" csel = "" @prematch = '' @starttag = nil @attrs = {} @flavor = :tasteless @cursor = 0 @tagstart = 0 @nodes = [''] remainder = data.dup until remainder.length == 0 p = perform_parse(prefix, remainder) remainder = remainder[p..-1] end return @nodes end private def perform_parse(prefix, data) stack = [] p = 0 ts = 0 te = 0 act = 0 eof = data.length @prefix = prefix # line 42 "scanner.rb" class << self attr_accessor :_parser_trans_keys private :_parser_trans_keys, :_parser_trans_keys= end self._parser_trans_keys = [ 0, 0, 45, 122, 45, 122, 9, 122, 9, 122, 9, 122, 9, 61, 9, 39, 34, 92, 34, 92, 9, 122, 9, 122, 62, 62, 34, 92, 9, 122, 9, 122, 9, 122, 9, 92, 9, 92, 9, 122, 34, 92, 34, 92, 34, 92, 9, 122, 39, 92, 39, 92, 9, 122, 9, 122, 9, 92, 9, 92, 34, 92, 34, 92, 9, 122, 9, 122, 9, 122, 9, 92, 9, 92, 9, 122, 34, 92, 9, 122, 9, 122, 39, 92, 39, 92, 45, 122, 45, 122, 45, 122, 9, 122, 9, 62, 0, 0, 60, 60, 45, 122, 0, 0, 0, 0, 34, 92, 34, 92, 34, 92, 34, 92, 39, 92, 39, 92, 0, 0, 0 ] class << self attr_accessor :_parser_key_spans private :_parser_key_spans, :_parser_key_spans= end self._parser_key_spans = [ 0, 78, 78, 114, 114, 114, 53, 31, 59, 59, 114, 114, 1, 59, 114, 114, 114, 84, 84, 114, 59, 59, 59, 114, 54, 54, 114, 114, 84, 84, 59, 59, 114, 114, 114, 84, 84, 114, 59, 114, 114, 54, 54, 78, 78, 78, 114, 54, 0, 1, 78, 0, 0, 59, 59, 59, 59, 54, 54, 0 ] class << self attr_accessor :_parser_index_offsets private :_parser_index_offsets, :_parser_index_offsets= end self._parser_index_offsets = [ 0, 0, 79, 158, 273, 388, 503, 557, 589, 649, 709, 824, 939, 941, 1001, 1116, 1231, 1346, 1431, 1516, 1631, 1691, 1751, 1811, 1926, 1981, 2036, 2151, 2266, 2351, 2436, 2496, 2556, 2671, 2786, 2901, 2986, 3071, 3186, 3246, 3361, 3476, 3531, 3586, 3665, 3744, 3823, 3938, 3993, 3994, 3996, 4075, 4076, 4077, 4137, 4197, 4257, 4317, 4372, 4427 ] class << self attr_accessor :_parser_indicies private :_parser_indicies, :_parser_indicies= end self._parser_indicies = [ 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 1, 0, 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, 0, 0, 0, 0, 1, 0, 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, 0, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 7, 5, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 5, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 11, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 13, 13, 13, 13, 13, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 14, 14, 12, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 12, 12, 15, 12, 14, 12, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 12, 12, 12, 12, 14, 12, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 12, 16, 16, 16, 16, 16, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 16, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 17, 12, 17, 17, 17, 17, 17, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 17, 12, 18, 12, 12, 12, 12, 19, 12, 21, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 22, 20, 24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25, 23, 26, 26, 26, 26, 26, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 26, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 27, 27, 28, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 12, 12, 12, 29, 27, 12, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 12, 12, 12, 12, 27, 12, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 12, 30, 30, 30, 30, 30, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 30, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 31, 31, 32, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 12, 12, 12, 33, 31, 12, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 12, 12, 12, 12, 31, 12, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 12, 34, 12, 35, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25, 23, 36, 36, 36, 36, 36, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 36, 23, 24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 37, 37, 38, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 23, 23, 23, 39, 37, 23, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 23, 25, 23, 23, 37, 23, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 23, 40, 40, 40, 40, 40, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 40, 23, 24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 41, 41, 42, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 23, 23, 23, 43, 41, 23, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 23, 25, 23, 23, 41, 23, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 23, 44, 44, 44, 44, 44, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 44, 23, 24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 45, 45, 23, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 23, 23, 46, 23, 45, 23, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 23, 25, 23, 23, 45, 23, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 23, 47, 47, 47, 47, 47, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 47, 23, 24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 48, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25, 23, 48, 48, 48, 48, 48, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 48, 23, 49, 23, 23, 23, 23, 50, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25, 23, 51, 51, 51, 51, 51, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 51, 20, 21, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 52, 52, 53, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 20, 20, 20, 54, 52, 20, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 20, 22, 20, 20, 52, 20, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 20, 24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 55, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25, 23, 57, 56, 56, 56, 56, 58, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 59, 56, 61, 60, 60, 60, 60, 35, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 62, 60, 64, 64, 64, 64, 64, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 64, 63, 63, 63, 63, 63, 63, 24, 63, 63, 63, 63, 63, 65, 65, 66, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 63, 63, 63, 67, 65, 63, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 63, 68, 63, 63, 65, 63, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 63, 24, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 68, 63, 61, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 68, 63, 69, 69, 69, 69, 69, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 69, 63, 63, 63, 63, 63, 63, 24, 63, 63, 63, 63, 63, 70, 70, 71, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 63, 63, 63, 72, 70, 63, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 63, 68, 63, 63, 70, 63, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 63, 73, 73, 73, 73, 73, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 73, 63, 63, 63, 63, 63, 63, 24, 63, 63, 63, 63, 63, 74, 74, 63, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 63, 63, 75, 63, 74, 63, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 63, 68, 63, 63, 74, 63, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 63, 76, 76, 76, 76, 76, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 76, 63, 63, 63, 63, 63, 63, 24, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 77, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 68, 63, 77, 77, 77, 77, 77, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 77, 63, 78, 63, 63, 63, 63, 79, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 68, 63, 80, 56, 56, 56, 56, 58, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 59, 56, 81, 60, 60, 60, 60, 81, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 62, 60, 82, 82, 82, 82, 82, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 82, 60, 61, 60, 60, 60, 60, 35, 60, 60, 60, 60, 60, 83, 83, 84, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 60, 60, 60, 85, 83, 60, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 60, 62, 60, 60, 83, 60, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 60, 86, 86, 86, 86, 86, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 86, 60, 61, 60, 60, 60, 60, 35, 60, 60, 60, 60, 60, 87, 87, 88, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 60, 60, 60, 89, 87, 60, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 60, 62, 60, 60, 87, 60, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 60, 90, 90, 90, 90, 90, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 90, 60, 61, 60, 60, 60, 60, 35, 60, 60, 60, 60, 60, 91, 91, 60, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 60, 60, 92, 60, 91, 60, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 60, 62, 60, 60, 91, 60, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 60, 93, 93, 93, 93, 93, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 93, 60, 61, 60, 60, 60, 60, 35, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 94, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 62, 60, 94, 94, 94, 94, 94, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 94, 60, 95, 60, 60, 60, 60, 96, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 62, 60, 97, 97, 97, 97, 97, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 97, 56, 80, 56, 56, 56, 56, 58, 56, 56, 56, 56, 56, 98, 98, 99, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 56, 56, 56, 100, 98, 56, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 56, 59, 56, 56, 98, 56, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 56, 61, 60, 60, 60, 60, 35, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 101, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 62, 60, 97, 97, 97, 97, 97, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 97, 56, 57, 56, 56, 56, 56, 58, 56, 56, 56, 56, 56, 98, 98, 99, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 56, 56, 56, 100, 98, 56, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 56, 59, 56, 56, 98, 56, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 56, 103, 103, 103, 103, 103, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 103, 102, 102, 102, 102, 102, 102, 21, 102, 102, 102, 102, 102, 104, 104, 105, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 102, 102, 102, 106, 104, 102, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 102, 107, 102, 102, 104, 102, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 102, 24, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 108, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 68, 63, 21, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 107, 102, 109, 109, 0, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 0, 0, 0, 0, 0, 109, 0, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 0, 0, 0, 0, 109, 0, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 0, 110, 110, 0, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 111, 0, 0, 0, 0, 110, 0, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 0, 0, 0, 0, 110, 0, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 0, 112, 112, 0, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 0, 0, 0, 0, 112, 0, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 0, 0, 0, 0, 112, 0, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 0, 113, 113, 113, 113, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 114, 0, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 0, 0, 0, 115, 114, 0, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 0, 0, 0, 0, 114, 0, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 0, 116, 116, 116, 116, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 118, 120, 119, 122, 122, 123, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 121, 121, 121, 121, 121, 122, 121, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 121, 121, 121, 121, 122, 121, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 121, 124, 125, 24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25, 23, 24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25, 23, 61, 60, 60, 60, 60, 35, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 62, 60, 61, 60, 60, 60, 60, 35, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 62, 60, 24, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 68, 63, 24, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 68, 63, 126, 0 ] class << self attr_accessor :_parser_trans_targs private :_parser_trans_targs, :_parser_trans_targs= end self._parser_trans_targs = [ 49, 1, 2, 3, 4, 3, 12, 52, 4, 5, 12, 52, 49, 6, 5, 7, 6, 7, 8, 42, 9, 10, 13, 9, 10, 13, 11, 5, 12, 52, 11, 5, 12, 52, 51, 14, 15, 16, 20, 54, 15, 16, 20, 54, 17, 16, 18, 17, 18, 19, 21, 15, 16, 20, 54, 53, 22, 23, 14, 31, 22, 23, 31, 24, 26, 27, 41, 58, 25, 26, 27, 41, 58, 28, 27, 29, 28, 29, 30, 40, 23, 32, 33, 34, 38, 56, 33, 34, 38, 56, 35, 34, 36, 35, 36, 37, 39, 33, 34, 38, 56, 55, 24, 26, 27, 41, 58, 25, 57, 44, 44, 45, 46, 47, 46, 59, 47, 59, 0, 49, 50, 49, 1, 43, 49, 49, 49 ] class << self attr_accessor :_parser_trans_actions private :_parser_trans_actions, :_parser_trans_actions= end self._parser_trans_actions = [ 1, 0, 2, 3, 4, 0, 4, 4, 0, 5, 0, 0, 6, 7, 0, 7, 0, 0, 0, 0, 8, 9, 8, 0, 10, 0, 11, 12, 13, 13, 0, 14, 15, 15, 0, 10, 11, 12, 13, 16, 0, 14, 15, 17, 7, 0, 7, 0, 0, 10, 0, 18, 19, 20, 21, 22, 8, 23, 9, 8, 0, 10, 0, 0, 11, 12, 13, 16, 0, 0, 14, 15, 17, 7, 0, 7, 0, 0, 0, 10, 9, 10, 11, 12, 13, 16, 0, 14, 15, 17, 7, 0, 7, 0, 0, 10, 10, 18, 19, 20, 21, 22, 8, 18, 19, 20, 21, 8, 22, 24, 0, 2, 3, 4, 0, 4, 0, 0, 0, 27, 28, 29, 24, 0, 30, 31, 32 ] class << self attr_accessor :_parser_to_state_actions private :_parser_to_state_actions, :_parser_to_state_actions= end self._parser_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, 25, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] class << self attr_accessor :_parser_from_state_actions private :_parser_from_state_actions, :_parser_from_state_actions= end self._parser_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, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] class << self attr_accessor :_parser_eof_trans private :_parser_eof_trans, :_parser_eof_trans= end self._parser_eof_trans = [ 0, 1, 1, 1, 1, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 1, 1, 1, 1, 1, 0, 0, 122, 125, 126, 125, 126, 125, 126, 125, 126, 127 ] class << self attr_accessor :parser_start end self.parser_start = 49; class << self attr_accessor :parser_first_final end self.parser_first_final = 49; class << self attr_accessor :parser_error end self.parser_error = 0; class << self attr_accessor :parser_en_Closeout end self.parser_en_Closeout = 48; class << self attr_accessor :parser_en_main end self.parser_en_main = 49; # line 120 "scanner.rl" # line 780 "scanner.rb" begin p ||= 0 pe ||= data.length cs = parser_start ts = nil te = nil act = 0 end # line 121 "scanner.rl" # line 792 "scanner.rb" begin testEof = false _slen, _trans, _keys, _inds, _acts, _nacts = nil _goto_level = 0 _resume = 10 _eof_trans = 15 _again = 20 _test_eof = 30 _out = 40 while true 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 case _parser_from_state_actions[cs] when 26 then # line 1 "NONE" begin ts = p end # line 820 "scanner.rb" end _keys = cs << 1 _inds = _parser_index_offsets[cs] _slen = _parser_key_spans[cs] _trans = if ( _slen > 0 && _parser_trans_keys[_keys] <= data[p].ord && data[p].ord <= _parser_trans_keys[_keys + 1] ) then _parser_indicies[ _inds + data[p].ord - _parser_trans_keys[_keys] ] else _parser_indicies[ _inds + _slen ] end end if _goto_level <= _eof_trans cs = _parser_trans_targs[_trans] if _parser_trans_actions[_trans] != 0 case _parser_trans_actions[_trans] when 24 then # line 5 "scanner.rl" begin mark_pfx = p end when 2 then # line 6 "scanner.rl" begin if data[mark_pfx..p-1] != @prefix closing = data[mark_pfx-1,1] == '/' @nodes.last << data[mark_pfx-(closing ? 2 : 1)..p] begin p += 1 _goto_level = _out next end end end when 3 then # line 13 "scanner.rl" begin mark_stg = p end when 4 then # line 14 "scanner.rl" begin @starttag = data[mark_stg..p-1] end when 11 then # line 15 "scanner.rl" begin mark_attr = p end when 15 then # line 16 "scanner.rl" begin @attrs[@nat] = @vat end when 5 then # line 25 "scanner.rl" begin mark_nat = p end when 7 then # line 26 "scanner.rl" begin @nat = data[mark_nat..p-1] end when 8 then # line 27 "scanner.rl" begin mark_vat = p end when 10 then # line 28 "scanner.rl" begin @vat = data[mark_vat..p-1] end when 27 then # line 79 "scanner.rl" begin te = p+1 begin @nodes.last << data[p] @tagstart = p end end when 29 then # line 79 "scanner.rl" begin te = p p = p - 1; begin @nodes.last << data[p] @tagstart = p end end when 1 then # line 79 "scanner.rl" begin begin p = ((te))-1; end begin @nodes.last << data[p] @tagstart = p end end when 6 then # line 1 "NONE" begin case act when 1 then begin begin p = ((te))-1; end tag = {:prefix=>@prefix, :name=>@starttag, :flavor => @flavor, :attrs => @attrs} @prefix = nil @name = nil @flavor = :tasteless @attrs = {} @nodes << tag << '' begin p += 1 _goto_level = _out next end end when 2 then begin begin p = ((te))-1; end @nodes.last << data[p] @tagstart = p end end end when 13 then # line 15 "scanner.rl" begin mark_attr = p end # line 16 "scanner.rl" begin @attrs[@nat] = @vat end when 14 then # line 16 "scanner.rl" begin @attrs[@nat] = @vat end # line 25 "scanner.rl" begin mark_nat = p end when 18 then # line 27 "scanner.rl" begin mark_vat = p end # line 15 "scanner.rl" begin mark_attr = p end when 9 then # line 27 "scanner.rl" begin mark_vat = p end # line 28 "scanner.rl" begin @vat = data[mark_vat..p-1] end when 23 then # line 28 "scanner.rl" begin @vat = data[mark_vat..p-1] end # line 27 "scanner.rl" begin mark_vat = p end when 31 then # line 30 "scanner.rl" begin @flavor = :open end # line 70 "scanner.rl" begin te = p p = p - 1; begin tag = {:prefix=>@prefix, :name=>@starttag, :flavor => @flavor, :attrs => @attrs} @prefix = nil @name = nil @flavor = :tasteless @attrs = {} @nodes << tag << '' begin p += 1 _goto_level = _out next end end end when 30 then # line 31 "scanner.rl" begin @flavor = :self end # line 70 "scanner.rl" begin te = p p = p - 1; begin tag = {:prefix=>@prefix, :name=>@starttag, :flavor => @flavor, :attrs => @attrs} @prefix = nil @name = nil @flavor = :tasteless @attrs = {} @nodes << tag << '' begin p += 1 _goto_level = _out next end end end when 32 then # line 32 "scanner.rl" begin @flavor = :close end # line 70 "scanner.rl" begin te = p p = p - 1; begin tag = {:prefix=>@prefix, :name=>@starttag, :flavor => @flavor, :attrs => @attrs} @prefix = nil @name = nil @flavor = :tasteless @attrs = {} @nodes << tag << '' begin p += 1 _goto_level = _out next end end end when 22 then # line 1 "NONE" begin te = p+1 end # line 70 "scanner.rl" begin act = 1; end when 28 then # line 1 "NONE" begin te = p+1 end # line 79 "scanner.rl" begin act = 2; end when 12 then # line 15 "scanner.rl" begin mark_attr = p end # line 16 "scanner.rl" begin @attrs[@nat] = @vat end # line 25 "scanner.rl" begin mark_nat = p end when 20 then # line 27 "scanner.rl" begin mark_vat = p end # line 15 "scanner.rl" begin mark_attr = p end # line 16 "scanner.rl" begin @attrs[@nat] = @vat end when 17 then # line 1 "NONE" begin te = p+1 end # line 16 "scanner.rl" begin @attrs[@nat] = @vat end # line 70 "scanner.rl" begin act = 1; end when 19 then # line 27 "scanner.rl" begin mark_vat = p end # line 15 "scanner.rl" begin mark_attr = p end # line 16 "scanner.rl" begin @attrs[@nat] = @vat end # line 25 "scanner.rl" begin mark_nat = p end when 16 then # line 1 "NONE" begin te = p+1 end # line 15 "scanner.rl" begin mark_attr = p end # line 16 "scanner.rl" begin @attrs[@nat] = @vat end # line 70 "scanner.rl" begin act = 1; end when 21 then # line 1 "NONE" begin te = p+1 end # line 27 "scanner.rl" begin mark_vat = p end # line 15 "scanner.rl" begin mark_attr = p end # line 16 "scanner.rl" begin @attrs[@nat] = @vat end # line 70 "scanner.rl" begin act = 1; end # line 1154 "scanner.rb" end end end if _goto_level <= _again case _parser_to_state_actions[cs] when 25 then # line 1 "NONE" begin ts = nil; end # line 1164 "scanner.rb" 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 _parser_eof_trans[cs] > 0 _trans = _parser_eof_trans[cs] - 1; _goto_level = _eof_trans next; end end end if _goto_level <= _out break end end end # line 122 "scanner.rl" return p end end end