graphql 1.8.0.pre7 → 1.8.0.pre8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/lib/graphql/argument.rb +24 -19
  3. data/lib/graphql/backtrace/tracer.rb +16 -22
  4. data/lib/graphql/base_type.rb +6 -1
  5. data/lib/graphql/execution/execute.rb +15 -13
  6. data/lib/graphql/execution/lazy/resolve.rb +1 -3
  7. data/lib/graphql/interface_type.rb +5 -3
  8. data/lib/graphql/language/document_from_schema_definition.rb +1 -1
  9. data/lib/graphql/language/lexer.rb +65 -51
  10. data/lib/graphql/language/lexer.rl +2 -0
  11. data/lib/graphql/language/nodes.rb +118 -71
  12. data/lib/graphql/language/parser.rb +699 -652
  13. data/lib/graphql/language/parser.y +11 -5
  14. data/lib/graphql/language/printer.rb +2 -2
  15. data/lib/graphql/object_type.rb +0 -5
  16. data/lib/graphql/relay/relation_connection.rb +1 -1
  17. data/lib/graphql/schema.rb +15 -3
  18. data/lib/graphql/schema/argument.rb +18 -1
  19. data/lib/graphql/schema/enum.rb +5 -2
  20. data/lib/graphql/schema/enum_value.rb +8 -1
  21. data/lib/graphql/schema/field.rb +10 -3
  22. data/lib/graphql/schema/input_object.rb +4 -2
  23. data/lib/graphql/schema/interface.rb +15 -0
  24. data/lib/graphql/schema/member.rb +2 -1
  25. data/lib/graphql/schema/member/accepts_definition.rb +118 -0
  26. data/lib/graphql/schema/member/build_type.rb +2 -2
  27. data/lib/graphql/schema/member/has_fields.rb +3 -2
  28. data/lib/graphql/schema/object.rb +4 -2
  29. data/lib/graphql/schema/scalar.rb +2 -0
  30. data/lib/graphql/schema/traversal.rb +3 -0
  31. data/lib/graphql/schema/union.rb +6 -11
  32. data/lib/graphql/version.rb +1 -1
  33. data/spec/graphql/argument_spec.rb +21 -0
  34. data/spec/graphql/base_type_spec.rb +22 -0
  35. data/spec/graphql/enum_type_spec.rb +18 -5
  36. data/spec/graphql/execution/execute_spec.rb +3 -3
  37. data/spec/graphql/input_object_type_spec.rb +13 -0
  38. data/spec/graphql/interface_type_spec.rb +12 -0
  39. data/spec/graphql/language/nodes_spec.rb +0 -12
  40. data/spec/graphql/language/parser_spec.rb +74 -0
  41. data/spec/graphql/language/printer_spec.rb +1 -1
  42. data/spec/graphql/object_type_spec.rb +21 -0
  43. data/spec/graphql/relay/range_add_spec.rb +5 -1
  44. data/spec/graphql/relay/relation_connection_spec.rb +7 -1
  45. data/spec/graphql/schema/argument_spec.rb +31 -0
  46. data/spec/graphql/schema/enum_spec.rb +5 -0
  47. data/spec/graphql/schema/field_spec.rb +11 -1
  48. data/spec/graphql/schema/input_object_spec.rb +5 -0
  49. data/spec/graphql/schema/interface_spec.rb +29 -0
  50. data/spec/graphql/schema/member/accepts_definition_spec.rb +62 -0
  51. data/spec/graphql/schema/printer_spec.rb +34 -0
  52. data/spec/graphql/schema/traversal_spec.rb +31 -0
  53. data/spec/graphql/schema/union_spec.rb +30 -0
  54. data/spec/graphql/schema_spec.rb +6 -0
  55. data/spec/graphql/static_validation/rules/fields_will_merge_spec.rb +2 -2
  56. data/spec/graphql/tracing/active_support_notifications_tracing_spec.rb +1 -1
  57. data/spec/graphql/union_type_spec.rb +1 -1
  58. data/spec/spec_helper.rb +1 -0
  59. data/spec/support/dummy/schema.rb +1 -4
  60. metadata +7 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0ec1db2cf0890ac92b853e473010ce8702a1b41668855ae87ba941ae60a85804
4
- data.tar.gz: 0415dfdbf2fc9c89af0f8464bd1e317bf6fc05409a0a1305ad57de861a32aba4
3
+ metadata.gz: 9a18f51d9648b4aeb3d531926717b9f704acace403d97c8053f8bb1d245587fc
4
+ data.tar.gz: 3cf9f679e49118c38541ae5057f65b5c308b06d364b6ab8a1077c7d8ca271875
5
5
  SHA512:
6
- metadata.gz: ed2ec418b98458e8c3e45955487da648e3cced9518be09852f40e91150241312e2882629140511c4ca7f421595a32519f62c3912c67140c6bb091d4d67985ccf
7
- data.tar.gz: f37639a861257e23b37189afbe037a12fed7af84a58550d0f03c3d12cb250beb60645396a33b434da2f3b3483d87ec60eee0ff81165ff6c882c457a4ecc0812b
6
+ metadata.gz: 1cb5f9958b43240c936c3054ead246faa5968acc915d7c5421c440e95fe2b9a8c3270b555be64cee66a75ad1f4d7f2b7ef074646c41765d20215d36ebf37902c
7
+ data.tar.gz: c5608aa81c2b7f4687834de7db2b906fcc32e0c08fbd65d503a871cafaaf33496481e60cabd2e1af1c9edf0d92530857debd809391f13d3bc4dda5590f56d76e
@@ -58,8 +58,13 @@ module GraphQL
58
58
  end
59
59
 
60
60
  def default_value=(new_default_value)
61
- @has_default_value = true
62
- @default_value = new_default_value
61
+ if new_default_value == NO_DEFAULT_VALUE
62
+ @has_default_value = false
63
+ @default_value = nil
64
+ else
65
+ @has_default_value = true
66
+ @default_value = new_default_value
67
+ end
63
68
  end
64
69
 
65
70
  # @!attribute name
@@ -97,28 +102,28 @@ module GraphQL
97
102
  NO_DEFAULT_VALUE = Object.new
98
103
  # @api private
99
104
  def self.from_dsl(name, type_or_argument = nil, description = nil, default_value: NO_DEFAULT_VALUE, as: nil, prepare: DefaultPrepare, **kwargs, &block)
100
- if type_or_argument.is_a?(GraphQL::Argument)
101
- return type_or_argument.redefine(name: name.to_s)
102
- end
105
+ name_s = name.to_s
103
106
 
104
- argument = if block_given?
105
- GraphQL::Argument.define(&block)
106
- else
107
- GraphQL::Argument.define(**kwargs)
108
- end
107
+ # Move some positional args into keywords if they're present
108
+ description && kwargs[:description] ||= description
109
+ kwargs[:name] ||= name_s
110
+ kwargs[:default_value] ||= default_value
111
+ kwargs[:as] ||= as
109
112
 
110
- argument.name = name.to_s
111
- type_or_argument && argument.type = type_or_argument
112
- description && argument.description = description
113
- if default_value != NO_DEFAULT_VALUE
114
- argument.default_value = default_value
113
+ unless prepare == DefaultPrepare
114
+ kwargs[:prepare] ||= prepare
115
115
  end
116
- as && argument.as = as
117
- if prepare != DefaultPrepare
118
- argument.prepare = prepare
116
+
117
+ if !type_or_argument.nil? && !type_or_argument.is_a?(GraphQL::Argument)
118
+ # Maybe a string, proc or BaseType
119
+ kwargs[:type] = type_or_argument
119
120
  end
120
121
 
121
- argument
122
+ if type_or_argument.is_a?(GraphQL::Argument)
123
+ type_or_argument.redefine(kwargs, &block)
124
+ else
125
+ GraphQL::Argument.define(kwargs, &block)
126
+ end
122
127
  end
123
128
  end
124
129
  end
@@ -22,30 +22,24 @@ module GraphQL
22
22
  end
23
23
 
24
24
  if push_data
25
- execution_context = Thread.current[:graphql_execution_context] ||= []
26
- if key == "execute_multiplex"
27
- execution_context.clear
28
- execution_context.push(push_data)
29
- begin
30
- yield
31
- rescue StandardError => err
32
- # This is an unhandled error from execution,
33
- # Re-raise it with a GraphQL trace.
34
- potential_context = execution_context.last
25
+ Thread.current[:last_graphql_backtrace_context] = push_data
26
+ end
27
+
28
+ if key == "execute_multiplex"
29
+ begin
30
+ yield
31
+ rescue StandardError => err
32
+ # This is an unhandled error from execution,
33
+ # Re-raise it with a GraphQL trace.
34
+ potential_context = Thread.current[:last_graphql_backtrace_context]
35
35
 
36
- if potential_context.is_a?(GraphQL::Query::Context) || potential_context.is_a?(GraphQL::Query::Context::FieldResolutionContext)
37
- raise TracedError.new(err, potential_context)
38
- else
39
- raise
40
- end
41
- ensure
42
- execution_context.clear
36
+ if potential_context.is_a?(GraphQL::Query::Context) || potential_context.is_a?(GraphQL::Query::Context::FieldResolutionContext)
37
+ raise TracedError.new(err, potential_context)
38
+ else
39
+ raise
43
40
  end
44
- else
45
- execution_context.push(push_data)
46
- res = yield
47
- execution_context.pop
48
- res
41
+ ensure
42
+ Thread.current[:last_graphql_backtrace_context] = nil
49
43
  end
50
44
  else
51
45
  yield
@@ -17,7 +17,7 @@ module GraphQL
17
17
  global_id_field: GraphQL::Define::AssignGlobalIdField,
18
18
  }
19
19
 
20
- ensure_defined(:name, :description, :introspection?, :default_scalar?)
20
+ ensure_defined(:graphql_name, :name, :description, :introspection?, :default_scalar?)
21
21
 
22
22
  def initialize
23
23
  @introspection = false
@@ -41,6 +41,11 @@ module GraphQL
41
41
  # @see {GraphQL::SchemaMember}
42
42
  alias :graphql_definition :itself
43
43
 
44
+ def name=(name)
45
+ GraphQL::NameValidator.validate!(name)
46
+ @name = name
47
+ end
48
+
44
49
  # @return [String, nil] a description for this type
45
50
  attr_accessor :description
46
51
 
@@ -68,12 +68,10 @@ module GraphQL
68
68
  irep_node: child_irep_node,
69
69
  )
70
70
 
71
- field_result = field_ctx.trace("execute_field", { context: field_ctx }) do
72
- resolve_field(
73
- object,
74
- field_ctx
75
- )
76
- end
71
+ field_result = resolve_field(
72
+ object,
73
+ field_ctx
74
+ )
77
75
 
78
76
  if field_result.is_a?(Skip)
79
77
  next
@@ -105,7 +103,9 @@ module GraphQL
105
103
 
106
104
  raw_value = begin
107
105
  arguments = query.arguments_for(irep_node, field)
108
- field_ctx.schema.middleware.invoke([parent_type, object, field, arguments, field_ctx])
106
+ field_ctx.trace("execute_field", { context: field_ctx }) do
107
+ field_ctx.schema.middleware.invoke([parent_type, object, field, arguments, field_ctx])
108
+ end
109
109
  rescue GraphQL::ExecutionError => err
110
110
  err
111
111
  end
@@ -118,12 +118,14 @@ module GraphQL
118
118
  # If the returned object is finished, continue to coerce
119
119
  # and resolve child fields
120
120
  if query.schema.lazy?(raw_value)
121
- field_ctx.value = field.prepare_lazy(raw_value, arguments, field_ctx).then { |inner_value|
122
- field_ctx.value = continue_resolve_field(inner_value, field_ctx)
123
- }
124
- elsif raw_value.is_a?(GraphQL::Execution::Lazy)
125
- # It came from a connection resolve, assume it was already instrumented
126
- field_ctx.value = raw_value.then { |inner_value|
121
+ field_ctx.value = Execution::Lazy.new {
122
+ inner_value = field_ctx.trace("execute_field_lazy", {context: field_ctx}) {
123
+ begin
124
+ field.lazy_resolve(raw_value, arguments, field_ctx)
125
+ rescue GraphQL::ExecutionError => err
126
+ err
127
+ end
128
+ }
127
129
  field_ctx.value = continue_resolve_field(inner_value, field_ctx)
128
130
  }
129
131
  else
@@ -37,9 +37,7 @@ module GraphQL
37
37
  else
38
38
  Lazy.new {
39
39
  acc.each_with_index { |ctx, idx|
40
- acc[idx] = ctx.trace("execute_field_lazy", { context: ctx }) do
41
- ctx.value.value
42
- end
40
+ acc[idx] = ctx.value.value
43
41
  }
44
42
  resolve_in_place(acc)
45
43
  }
@@ -23,20 +23,22 @@ module GraphQL
23
23
  # end
24
24
  #
25
25
  class InterfaceType < GraphQL::BaseType
26
- accepts_definitions :fields, :resolve_type, field: GraphQL::Define::AssignObjectField
26
+ accepts_definitions :fields, :orphan_types, :resolve_type, field: GraphQL::Define::AssignObjectField
27
27
 
28
- attr_accessor :fields, :resolve_type_proc
29
- ensure_defined :fields, :resolve_type_proc, :resolve_type
28
+ attr_accessor :fields, :orphan_types, :resolve_type_proc
29
+ ensure_defined :fields, :orphan_types, :resolve_type_proc, :resolve_type
30
30
 
31
31
  def initialize
32
32
  super
33
33
  @fields = {}
34
+ @orphan_types = []
34
35
  @resolve_type_proc = nil
35
36
  end
36
37
 
37
38
  def initialize_copy(other)
38
39
  super
39
40
  @fields = other.fields.dup
41
+ @orphan_types = other.orphan_types.dup
40
42
  end
41
43
 
42
44
  def kind
@@ -173,7 +173,7 @@ module GraphQL
173
173
 
174
174
  case type
175
175
  when GraphQL::ScalarType
176
- default_value
176
+ type.coerce_isolated_result(default_value)
177
177
  when EnumType
178
178
  GraphQL::Language::Nodes::Enum.new(name: type.coerce_isolated_result(default_value))
179
179
  when InputObjectType
@@ -20,7 +20,7 @@ class << self
20
20
  private :_graphql_lexer_trans_keys, :_graphql_lexer_trans_keys=
21
21
  end
22
22
  self._graphql_lexer_trans_keys = [
23
- 4, 20, 4, 20, 4, 4, 4, 4, 4, 4, 12, 13, 12, 13, 9, 13, 11, 11, 0, 45, 0, 0, 4, 20, 4, 20, 4, 4, 4, 4, 1, 1, 12, 13, 9, 26, 12, 13, 9, 26, 9, 26, 11, 11, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 0 ,
23
+ 4, 21, 4, 21, 4, 4, 4, 4, 4, 4, 13, 14, 13, 14, 10, 14, 12, 12, 0, 46, 0, 0, 4, 21, 4, 21, 4, 4, 4, 4, 1, 1, 13, 14, 10, 27, 13, 14, 10, 27, 10, 27, 12, 12, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 0 ,
24
24
  ]
25
25
 
26
26
  class << self
@@ -28,7 +28,7 @@ class << self
28
28
  private :_graphql_lexer_char_class, :_graphql_lexer_char_class=
29
29
  end
30
30
  self._graphql_lexer_char_class = [
31
- 0, 1, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 3, 4, 5, 6, 2, 2, 2, 7, 8, 2, 9, 0, 10, 11, 2, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 2, 2, 15, 2, 2, 16, 17, 17, 17, 17, 18, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 19, 20, 21, 2, 17, 2, 22, 23, 24, 25, 26, 27, 28, 29, 30, 17, 17, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 17, 17, 42, 17, 43, 44, 45, 0 ,
31
+ 0, 1, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 3, 4, 5, 6, 2, 7, 2, 8, 9, 2, 10, 0, 11, 12, 2, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 2, 2, 16, 2, 2, 17, 18, 18, 18, 18, 19, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 20, 21, 22, 2, 18, 2, 23, 24, 25, 26, 27, 28, 29, 30, 31, 18, 18, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 18, 18, 43, 18, 44, 45, 46, 0 ,
32
32
  ]
33
33
 
34
34
  class << self
@@ -36,7 +36,7 @@ class << self
36
36
  private :_graphql_lexer_index_offsets, :_graphql_lexer_index_offsets=
37
37
  end
38
38
  self._graphql_lexer_index_offsets = [
39
- 0, 17, 34, 35, 36, 37, 39, 41, 46, 47, 93, 94, 111, 128, 129, 130, 131, 133, 151, 153, 171, 189, 190, 221, 252, 283, 314, 345, 376, 407, 438, 469, 500, 531, 562, 593, 624, 655, 686, 717, 748, 779, 810, 841, 872, 903, 934, 965, 996, 1027, 1058, 1089, 1120, 1151, 1182, 1213, 1244, 1275, 1306, 1337, 1368, 1399, 1430, 1461, 1492, 1523, 1554, 1585, 1616, 1647, 1678, 1709, 1740, 1771, 1802, 1833, 1864, 1895, 1926, 1957, 1988, 2019, 2050, 2081, 2112, 2143, 2174, 2205, 2236, 2267, 2298, 2329, 2360, 2391, 2422, 2453, 2484, 2515, 2546, 2577, 2608, 2639, 2670, 2701, 0 ,
39
+ 0, 18, 36, 37, 38, 39, 41, 43, 48, 49, 96, 97, 115, 133, 134, 135, 136, 138, 156, 158, 176, 194, 195, 226, 257, 288, 319, 350, 381, 412, 443, 474, 505, 536, 567, 598, 629, 660, 691, 722, 753, 784, 815, 846, 877, 908, 939, 970, 1001, 1032, 1063, 1094, 1125, 1156, 1187, 1218, 1249, 1280, 1311, 1342, 1373, 1404, 1435, 1466, 1497, 1528, 1559, 1590, 1621, 1652, 1683, 1714, 1745, 1776, 1807, 1838, 1869, 1900, 1931, 1962, 1993, 2024, 2055, 2086, 2117, 2148, 2179, 2210, 2241, 2272, 2303, 2334, 2365, 2396, 2427, 2458, 2489, 2520, 2551, 2582, 2613, 2644, 2675, 2706, 0 ,
40
40
  ]
41
41
 
42
42
  class << self
@@ -44,7 +44,7 @@ class << self
44
44
  private :_graphql_lexer_indicies, :_graphql_lexer_indicies=
45
45
  end
46
46
  self._graphql_lexer_indicies = [
47
- 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 6, 7, 8, 9, 9, 11, 11, 12, 12, 0, 9, 9, 14, 16, 17, 15, 18, 19, 20, 21, 22, 23, 15, 24, 25, 26, 27, 28, 29, 30, 31, 31, 32, 15, 33, 31, 31, 31, 34, 35, 36, 31, 31, 37, 31, 38, 39, 40, 31, 41, 31, 42, 43, 44, 31, 31, 45, 46, 47, 16, 50, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 5, 8, 53, 26, 27, 12, 12, 55, 9, 9, 54, 54, 54, 54, 56, 54, 54, 54, 54, 54, 54, 54, 56, 9, 9, 12, 12, 57, 11, 11, 57, 57, 57, 57, 56, 57, 57, 57, 57, 57, 57, 57, 56, 12, 12, 55, 27, 27, 54, 54, 54, 54, 56, 54, 54, 54, 54, 54, 54, 54, 56, 58, 31, 31, 0, 0, 0, 31, 31, 0, 0, 0, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 60, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 61, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 62, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 63, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 64, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 65, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 66, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 67, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 68, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 69, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 70, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 71, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 72, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 73, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 74, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 75, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 76, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 77, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 78, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 79, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 80, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 81, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 82, 83, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 84, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 85, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 86, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 87, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 88, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 89, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 90, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 91, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 92, 31, 31, 31, 93, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 94, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 95, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 96, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 97, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 98, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 99, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 100, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 101, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 102, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 103, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 104, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 105, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 106, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 107, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 108, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 109, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 110, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 111, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 112, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 113, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 114, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 115, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 116, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 117, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 118, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 119, 31, 31, 31, 31, 31, 31, 120, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 121, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 122, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 123, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 124, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 125, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 126, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 127, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 128, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 129, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 130, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 131, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 132, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 133, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 134, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 135, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 136, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 137, 31, 31, 31, 31, 138, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 139, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 140, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 141, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 142, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 143, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 144, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 145, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 146, 31, 31, 31, 31, 31, 31, 31, 31, 31, 0 ,
47
+ 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 6, 7, 8, 9, 9, 11, 11, 12, 12, 0, 9, 9, 14, 16, 17, 15, 18, 19, 20, 21, 22, 23, 24, 15, 25, 26, 27, 28, 29, 30, 31, 32, 32, 33, 15, 34, 32, 32, 32, 35, 36, 37, 32, 32, 38, 32, 39, 40, 41, 32, 42, 32, 43, 44, 45, 32, 32, 46, 47, 48, 16, 51, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 5, 8, 54, 27, 28, 12, 12, 56, 9, 9, 55, 55, 55, 55, 57, 55, 55, 55, 55, 55, 55, 55, 57, 9, 9, 12, 12, 58, 11, 11, 58, 58, 58, 58, 57, 58, 58, 58, 58, 58, 58, 58, 57, 12, 12, 56, 28, 28, 55, 55, 55, 55, 57, 55, 55, 55, 55, 55, 55, 55, 57, 59, 32, 32, 0, 0, 0, 32, 32, 0, 0, 0, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 61, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 62, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 63, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 64, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 65, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 66, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 67, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 68, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 70, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 71, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 72, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 73, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 74, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 75, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 76, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 77, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 78, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 79, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 80, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 81, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 82, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 85, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 87, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 88, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 89, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 90, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 91, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 92, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 93, 32, 32, 32, 94, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 95, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 96, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 97, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 99, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 100, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 101, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 102, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 105, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 106, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 107, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 115, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 117, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 118, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 120, 32, 32, 32, 32, 32, 32, 121, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 122, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 123, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 124, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 125, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 126, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 127, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 128, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 129, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 130, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 131, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 132, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 133, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 134, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 135, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 136, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 137, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 138, 32, 32, 32, 32, 139, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 140, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 141, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 142, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 143, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 144, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 145, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 146, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 147, 32, 32, 32, 32, 32, 32, 32, 32, 32, 0 ,
48
48
  ]
49
49
 
50
50
  class << self
@@ -52,7 +52,7 @@ class << self
52
52
  private :_graphql_lexer_index_defaults, :_graphql_lexer_index_defaults=
53
53
  end
54
54
  self._graphql_lexer_index_defaults = [
55
- 1, 1, 5, 5, 5, 0, 10, 0, 13, 15, 48, 1, 1, 51, 5, 20, 49, 54, 57, 57, 54, 49, 0, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 0 ,
55
+ 1, 1, 5, 5, 5, 0, 10, 0, 13, 15, 49, 1, 1, 52, 5, 20, 50, 55, 58, 58, 55, 50, 0, 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, 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, 0 ,
56
56
  ]
57
57
 
58
58
  class << self
@@ -60,7 +60,7 @@ class << self
60
60
  private :_graphql_lexer_trans_cond_spaces, :_graphql_lexer_trans_cond_spaces=
61
61
  end
62
62
  self._graphql_lexer_trans_cond_spaces = [
63
- -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, -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, -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, -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, -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, -1, -1, -1, -1, -1, -1, -1, 0 ,
63
+ -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, -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, -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, -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, -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, -1, -1, -1, -1, -1, -1, -1, -1, 0 ,
64
64
  ]
65
65
 
66
66
  class << self
@@ -68,7 +68,7 @@ class << self
68
68
  private :_graphql_lexer_cond_targs, :_graphql_lexer_cond_targs=
69
69
  end
70
70
  self._graphql_lexer_cond_targs = [
71
- 9, 0, 9, 1, 12, 2, 3, 4, 14, 18, 9, 19, 5, 9, 9, 9, 10, 9, 9, 11, 15, 9, 9, 9, 16, 21, 17, 20, 9, 9, 9, 22, 9, 9, 23, 31, 34, 44, 62, 69, 72, 73, 77, 95, 100, 9, 9, 9, 9, 9, 13, 9, 9, 9, 9, 6, 7, 9, 8, 9, 24, 25, 26, 27, 28, 29, 30, 22, 32, 33, 22, 35, 38, 36, 37, 22, 39, 40, 41, 42, 43, 22, 45, 53, 46, 47, 48, 49, 50, 51, 52, 22, 54, 56, 55, 22, 57, 58, 59, 60, 61, 22, 63, 64, 65, 66, 67, 68, 22, 70, 71, 22, 22, 74, 75, 76, 22, 78, 85, 79, 82, 80, 81, 22, 83, 84, 22, 86, 87, 88, 89, 90, 91, 92, 93, 94, 22, 96, 98, 97, 22, 99, 22, 101, 102, 103, 22, 0 ,
71
+ 9, 0, 9, 1, 12, 2, 3, 4, 14, 18, 9, 19, 5, 9, 9, 9, 10, 9, 9, 11, 15, 9, 9, 9, 9, 16, 21, 17, 20, 9, 9, 9, 22, 9, 9, 23, 31, 34, 44, 62, 69, 72, 73, 77, 95, 100, 9, 9, 9, 9, 9, 13, 9, 9, 9, 9, 6, 7, 9, 8, 9, 24, 25, 26, 27, 28, 29, 30, 22, 32, 33, 22, 35, 38, 36, 37, 22, 39, 40, 41, 42, 43, 22, 45, 53, 46, 47, 48, 49, 50, 51, 52, 22, 54, 56, 55, 22, 57, 58, 59, 60, 61, 22, 63, 64, 65, 66, 67, 68, 22, 70, 71, 22, 22, 74, 75, 76, 22, 78, 85, 79, 82, 80, 81, 22, 83, 84, 22, 86, 87, 88, 89, 90, 91, 92, 93, 94, 22, 96, 98, 97, 22, 99, 22, 101, 102, 103, 22, 0 ,
72
72
  ]
73
73
 
74
74
  class << self
@@ -76,7 +76,7 @@ class << self
76
76
  private :_graphql_lexer_cond_actions, :_graphql_lexer_cond_actions=
77
77
  end
78
78
  self._graphql_lexer_cond_actions = [
79
- 1, 0, 2, 0, 3, 0, 0, 0, 4, 0, 5, 6, 0, 7, 8, 11, 0, 12, 13, 14, 0, 15, 16, 17, 0, 18, 19, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 27, 28, 29, 30, 3, 31, 32, 33, 34, 0, 0, 35, 0, 36, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 38, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 42, 0, 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 44, 0, 0, 45, 46, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 48, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, 51, 0, 52, 0, 0, 0, 53, 0 ,
79
+ 1, 0, 2, 0, 3, 0, 0, 0, 4, 0, 5, 6, 0, 7, 8, 11, 0, 12, 13, 14, 0, 15, 16, 17, 18, 0, 19, 20, 20, 21, 22, 23, 24, 25, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 3, 32, 33, 34, 35, 0, 0, 36, 0, 37, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 39, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 43, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 45, 0, 0, 46, 47, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 49, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0, 52, 0, 53, 0, 0, 0, 54, 0 ,
80
80
  ]
81
81
 
82
82
  class << self
@@ -100,7 +100,7 @@ class << self
100
100
  private :_graphql_lexer_eof_trans, :_graphql_lexer_eof_trans=
101
101
  end
102
102
  self._graphql_lexer_eof_trans = [
103
- 1, 1, 1, 1, 1, 1, 11, 1, 14, 0, 49, 50, 52, 52, 53, 54, 50, 55, 58, 58, 55, 50, 1, 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, 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, 0 ,
103
+ 1, 1, 1, 1, 1, 1, 11, 1, 14, 0, 50, 51, 53, 53, 54, 55, 51, 56, 59, 59, 56, 51, 1, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 0 ,
104
104
  ]
105
105
 
106
106
  class << self
@@ -272,7 +272,7 @@ def self.run_lexer(query_string)
272
272
  when -2 then
273
273
  begin
274
274
  end
275
- when 18 then
275
+ when 19 then
276
276
  begin
277
277
  begin
278
278
  begin
@@ -283,7 +283,7 @@ def self.run_lexer(query_string)
283
283
  end
284
284
 
285
285
  end
286
- when 28 then
286
+ when 29 then
287
287
  begin
288
288
  begin
289
289
  begin
@@ -297,7 +297,7 @@ def self.run_lexer(query_string)
297
297
  end
298
298
 
299
299
  end
300
- when 26 then
300
+ when 27 then
301
301
  begin
302
302
  begin
303
303
  begin
@@ -311,7 +311,7 @@ def self.run_lexer(query_string)
311
311
  end
312
312
 
313
313
  end
314
- when 17 then
314
+ when 18 then
315
315
  begin
316
316
  begin
317
317
  begin
@@ -325,7 +325,7 @@ def self.run_lexer(query_string)
325
325
  end
326
326
 
327
327
  end
328
- when 16 then
328
+ when 17 then
329
329
  begin
330
330
  begin
331
331
  begin
@@ -339,7 +339,7 @@ def self.run_lexer(query_string)
339
339
  end
340
340
 
341
341
  end
342
- when 25 then
342
+ when 26 then
343
343
  begin
344
344
  begin
345
345
  begin
@@ -353,7 +353,7 @@ def self.run_lexer(query_string)
353
353
  end
354
354
 
355
355
  end
356
- when 24 then
356
+ when 25 then
357
357
  begin
358
358
  begin
359
359
  begin
@@ -367,7 +367,7 @@ def self.run_lexer(query_string)
367
367
  end
368
368
 
369
369
  end
370
- when 20 then
370
+ when 21 then
371
371
  begin
372
372
  begin
373
373
  begin
@@ -409,7 +409,7 @@ def self.run_lexer(query_string)
409
409
  end
410
410
 
411
411
  end
412
- when 22 then
412
+ when 23 then
413
413
  begin
414
414
  begin
415
415
  begin
@@ -437,7 +437,7 @@ def self.run_lexer(query_string)
437
437
  end
438
438
 
439
439
  end
440
- when 21 then
440
+ when 22 then
441
441
  begin
442
442
  begin
443
443
  begin
@@ -465,7 +465,7 @@ def self.run_lexer(query_string)
465
465
  end
466
466
 
467
467
  end
468
- when 27 then
468
+ when 28 then
469
469
  begin
470
470
  begin
471
471
  begin
@@ -478,6 +478,20 @@ def self.run_lexer(query_string)
478
478
 
479
479
  end
480
480
 
481
+ end
482
+ when 16 then
483
+ begin
484
+ begin
485
+ begin
486
+ te = p+1;
487
+ begin
488
+ emit(:AMP, ts, te, meta)
489
+ end
490
+
491
+ end
492
+
493
+ end
494
+
481
495
  end
482
496
  when 12 then
483
497
  begin
@@ -509,7 +523,7 @@ def self.run_lexer(query_string)
509
523
  end
510
524
 
511
525
  end
512
- when 34 then
526
+ when 35 then
513
527
  begin
514
528
  begin
515
529
  begin
@@ -524,7 +538,7 @@ def self.run_lexer(query_string)
524
538
  end
525
539
 
526
540
  end
527
- when 35 then
541
+ when 36 then
528
542
  begin
529
543
  begin
530
544
  begin
@@ -539,7 +553,7 @@ def self.run_lexer(query_string)
539
553
  end
540
554
 
541
555
  end
542
- when 31 then
556
+ when 32 then
543
557
  begin
544
558
  begin
545
559
  begin
@@ -554,7 +568,7 @@ def self.run_lexer(query_string)
554
568
  end
555
569
 
556
570
  end
557
- when 32 then
571
+ when 33 then
558
572
  begin
559
573
  begin
560
574
  begin
@@ -569,7 +583,7 @@ def self.run_lexer(query_string)
569
583
  end
570
584
 
571
585
  end
572
- when 36 then
586
+ when 37 then
573
587
  begin
574
588
  begin
575
589
  begin
@@ -584,7 +598,7 @@ def self.run_lexer(query_string)
584
598
  end
585
599
 
586
600
  end
587
- when 33 then
601
+ when 34 then
588
602
  begin
589
603
  begin
590
604
  begin
@@ -599,7 +613,7 @@ def self.run_lexer(query_string)
599
613
  end
600
614
 
601
615
  end
602
- when 29 then
616
+ when 30 then
603
617
  begin
604
618
  begin
605
619
  begin
@@ -614,7 +628,7 @@ def self.run_lexer(query_string)
614
628
  end
615
629
 
616
630
  end
617
- when 30 then
631
+ when 31 then
618
632
  begin
619
633
  begin
620
634
  begin
@@ -833,7 +847,7 @@ def self.run_lexer(query_string)
833
847
  end
834
848
 
835
849
  end
836
- when 35 then
850
+ when 36 then
837
851
  begin
838
852
  p = ((te))-1;
839
853
  begin
@@ -841,7 +855,7 @@ def self.run_lexer(query_string)
841
855
  end
842
856
 
843
857
  end
844
- when 39 then
858
+ when 40 then
845
859
  begin
846
860
  p = ((te))-1;
847
861
  begin
@@ -858,7 +872,7 @@ def self.run_lexer(query_string)
858
872
  end
859
873
 
860
874
  end
861
- when 19 then
875
+ when 20 then
862
876
  begin
863
877
  begin
864
878
  begin
@@ -894,7 +908,7 @@ def self.run_lexer(query_string)
894
908
  end
895
909
 
896
910
  end
897
- when 46 then
911
+ when 47 then
898
912
  begin
899
913
  begin
900
914
  begin
@@ -912,7 +926,7 @@ def self.run_lexer(query_string)
912
926
  end
913
927
 
914
928
  end
915
- when 40 then
929
+ when 41 then
916
930
  begin
917
931
  begin
918
932
  begin
@@ -930,7 +944,7 @@ def self.run_lexer(query_string)
930
944
  end
931
945
 
932
946
  end
933
- when 51 then
947
+ when 52 then
934
948
  begin
935
949
  begin
936
950
  begin
@@ -948,7 +962,7 @@ def self.run_lexer(query_string)
948
962
  end
949
963
 
950
964
  end
951
- when 39 then
965
+ when 40 then
952
966
  begin
953
967
  begin
954
968
  begin
@@ -966,7 +980,7 @@ def self.run_lexer(query_string)
966
980
  end
967
981
 
968
982
  end
969
- when 45 then
983
+ when 46 then
970
984
  begin
971
985
  begin
972
986
  begin
@@ -984,7 +998,7 @@ def self.run_lexer(query_string)
984
998
  end
985
999
 
986
1000
  end
987
- when 47 then
1001
+ when 48 then
988
1002
  begin
989
1003
  begin
990
1004
  begin
@@ -1002,7 +1016,7 @@ def self.run_lexer(query_string)
1002
1016
  end
1003
1017
 
1004
1018
  end
1005
- when 44 then
1019
+ when 45 then
1006
1020
  begin
1007
1021
  begin
1008
1022
  begin
@@ -1020,7 +1034,7 @@ def self.run_lexer(query_string)
1020
1034
  end
1021
1035
 
1022
1036
  end
1023
- when 50 then
1037
+ when 51 then
1024
1038
  begin
1025
1039
  begin
1026
1040
  begin
@@ -1038,7 +1052,7 @@ def self.run_lexer(query_string)
1038
1052
  end
1039
1053
 
1040
1054
  end
1041
- when 49 then
1055
+ when 50 then
1042
1056
  begin
1043
1057
  begin
1044
1058
  begin
@@ -1056,7 +1070,7 @@ def self.run_lexer(query_string)
1056
1070
  end
1057
1071
 
1058
1072
  end
1059
- when 48 then
1073
+ when 49 then
1060
1074
  begin
1061
1075
  begin
1062
1076
  begin
@@ -1074,7 +1088,7 @@ def self.run_lexer(query_string)
1074
1088
  end
1075
1089
 
1076
1090
  end
1077
- when 52 then
1091
+ when 53 then
1078
1092
  begin
1079
1093
  begin
1080
1094
  begin
@@ -1092,7 +1106,7 @@ def self.run_lexer(query_string)
1092
1106
  end
1093
1107
 
1094
1108
  end
1095
- when 41 then
1109
+ when 42 then
1096
1110
  begin
1097
1111
  begin
1098
1112
  begin
@@ -1110,7 +1124,7 @@ def self.run_lexer(query_string)
1110
1124
  end
1111
1125
 
1112
1126
  end
1113
- when 43 then
1127
+ when 44 then
1114
1128
  begin
1115
1129
  begin
1116
1130
  begin
@@ -1128,7 +1142,7 @@ def self.run_lexer(query_string)
1128
1142
  end
1129
1143
 
1130
1144
  end
1131
- when 53 then
1145
+ when 54 then
1132
1146
  begin
1133
1147
  begin
1134
1148
  begin
@@ -1146,7 +1160,7 @@ def self.run_lexer(query_string)
1146
1160
  end
1147
1161
 
1148
1162
  end
1149
- when 38 then
1163
+ when 39 then
1150
1164
  begin
1151
1165
  begin
1152
1166
  begin
@@ -1164,7 +1178,7 @@ def self.run_lexer(query_string)
1164
1178
  end
1165
1179
 
1166
1180
  end
1167
- when 42 then
1181
+ when 43 then
1168
1182
  begin
1169
1183
  begin
1170
1184
  begin
@@ -1182,7 +1196,7 @@ def self.run_lexer(query_string)
1182
1196
  end
1183
1197
 
1184
1198
  end
1185
- when 37 then
1199
+ when 38 then
1186
1200
  begin
1187
1201
  begin
1188
1202
  begin
@@ -1236,7 +1250,7 @@ def self.run_lexer(query_string)
1236
1250
  end
1237
1251
 
1238
1252
  end
1239
- when 23 then
1253
+ when 24 then
1240
1254
  begin
1241
1255
  begin
1242
1256
  begin
@@ -1247,7 +1261,7 @@ def self.run_lexer(query_string)
1247
1261
  end
1248
1262
  begin
1249
1263
  begin
1250
- act = 35;
1264
+ act = 36;
1251
1265
 
1252
1266
  end
1253
1267
 
@@ -1265,7 +1279,7 @@ def self.run_lexer(query_string)
1265
1279
  end
1266
1280
  begin
1267
1281
  begin
1268
- act = 39;
1282
+ act = 40;
1269
1283
 
1270
1284
  end
1271
1285