bolt 0.21.5 → 0.21.6

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of bolt might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1736c46973051ce64d6c27c43c9d34e63c4c6f05f5d5017f2df51796669500e4
4
- data.tar.gz: da561ef33b65849c91f625fc465e89d7d7d7709bf6e1493b8fff6d5d954884c6
3
+ metadata.gz: 51a8fef70687a1aeebc3a74ad7e4c6fcc69d84423c685e6c1d3d8f2b7a3121ce
4
+ data.tar.gz: 7e4952ea14da675182f14d52b02d6fb72d7ab0e073bb1392b083aa521db7523d
5
5
  SHA512:
6
- metadata.gz: ff4aafb9c30b0e00fb89482ff864f8a85bf8c33cbdc2a8a6a1a41301029a14f79fa6580009e1621bcd223fc035c3eea44faae7b39b575a325fb61b8d3a99cc9d
7
- data.tar.gz: eafccbd22e39d5db8e8e0f2bb70ec7ac02f3bfc18085c30fd826e30e59a9c19be5be5c01530e43e94e8e0396d3911d5e0de53e65647acc68c84b4a4b35a5a131
6
+ metadata.gz: 4d0a47e00bb2f14f998690878a2e78e89f3a7fe5ced902df07edd7bc5e5bdaf286058f39bf1cc62af387835e1ad2dfc7308e5ec23448107d774422dc7992ad53
7
+ data.tar.gz: 8affe263f9a2ae00c849c18188c7a1493a1ecda2b15e63a0a4fd03924817ce0008f0b3b588feda9422eb213355decb2770f7cda6b2fba294eb7a9efb6c9300d4
@@ -7,6 +7,18 @@ Puppet::Functions.create_function(:apply_prep) do
7
7
  param 'Boltlib::TargetSpec', :targets
8
8
  end
9
9
 
10
+ def script_compiler
11
+ @script_compiler ||= Puppet::Pal::ScriptCompiler.new(closure_scope.compiler)
12
+ end
13
+
14
+ def run_task(executor, targets, name, args = {})
15
+ task = script_compiler.task_signature(name)&.task
16
+ raise Bolt::Error.new("#{name} could not be found", 'bolt/apply-prep') unless task
17
+ results = executor.run_task(targets, task, args)
18
+ raise Bolt::RunFailure.new(results, 'run_task', task.name) unless results.ok?
19
+ results
20
+ end
21
+
10
22
  def apply_prep(target_spec)
11
23
  applicator = Puppet.lookup(:apply_executor) { nil }
12
24
  executor = Puppet.lookup(:bolt_executor) { nil }
@@ -23,23 +35,20 @@ Puppet::Functions.create_function(:apply_prep) do
23
35
 
24
36
  executor.log_action('install puppet and gather facts', targets) do
25
37
  executor.without_default_logging do
26
- script_compiler = Puppet::Pal::ScriptCompiler.new(closure_scope.compiler)
27
-
28
38
  # Ensure Puppet is installed
29
- version_task = script_compiler.task_signature('puppet_agent::version')
30
- raise Bolt::Error.new('puppet_agent::version could not be found', 'bolt/apply-prep') unless version_task
31
- versions = executor.run_task(targets, version_task.task, {})
32
- raise Bolt::RunFailure.new(versions, 'run_task', version_task.name) unless versions.ok?
39
+ versions = run_task(executor, targets, 'puppet_agent::version')
33
40
  need_install, installed = versions.partition { |r| r['version'].nil? }
34
41
  installed.each do |r|
35
42
  Puppet.info "Puppet Agent #{r['version']} installed on #{r.target.name}"
36
43
  end
37
44
 
38
45
  unless need_install.empty?
39
- install_task = script_compiler.task_signature('puppet_agent::install')
40
- raise Bolt::Error.new('puppet_agent::install could not be found', 'bolt/apply-prep') unless install_task
41
- installed = executor.run_task(need_install.map(&:target), install_task.task, {})
42
- raise Bolt::RunFailure.new(installed, 'run_task', install_task.name) unless installed.ok?
46
+ need_install_targets = need_install.map(&:target)
47
+ run_task(executor, need_install_targets, 'puppet_agent::install')
48
+
49
+ # Ensure the Puppet service is stopped after new install
50
+ run_task(executor, need_install_targets, 'service', 'action' => 'stop', 'name' => 'puppet')
51
+ run_task(executor, need_install_targets, 'service', 'action' => 'disable', 'name' => 'puppet')
43
52
  end
44
53
  targets.each { |target| inventory.set_feature(target, 'puppet-agent') }
45
54
 
@@ -26,6 +26,7 @@ module Bolt
26
26
  build_plugin_tarball do |mod|
27
27
  search_dirs = []
28
28
  search_dirs << mod.plugins if mod.plugins?
29
+ search_dirs << mod.pluginfacts if mod.pluginfacts?
29
30
  search_dirs << mod.files if mod.files?
30
31
  search_dirs
31
32
  end
@@ -6,6 +6,7 @@ require 'bolt/puppetdb'
6
6
  Bolt::PAL.load_puppet
7
7
 
8
8
  require 'bolt/catalog/compiler'
9
+ require 'bolt/catalog/loaders'
9
10
  require 'bolt/catalog/logging'
10
11
 
11
12
  module Bolt
@@ -37,6 +38,10 @@ module Bolt
37
38
  end
38
39
 
39
40
  def compile_node(node)
41
+ # Add boltlib to system loaders so modules can use its functions without an
42
+ # explicit dependency.
43
+ node.environment.loaders = Bolt::Catalog::BoltLoaders.new(node.environment)
44
+
40
45
  compiler = Puppet::Parser::BoltCompiler.new(node)
41
46
  compiler.compile(&:to_resource)
42
47
  end
@@ -56,12 +61,9 @@ module Bolt
56
61
  config.overwrite_transport_data(inventory['config']['transport'],
57
62
  Bolt::Util.symbolize_top_level_keys(inventory['config']['transports']))
58
63
 
59
- bolt_inventory = Bolt::Inventory.new(inventory['data'],
60
- config,
61
- Bolt::Util.symbolize_top_level_keys(inventory['target_hash']))
62
-
63
- bolt_inventory.collect_groups
64
- bolt_inventory
64
+ Bolt::Inventory.new(inventory['data'],
65
+ config,
66
+ Bolt::Util.symbolize_top_level_keys(inventory['target_hash']))
65
67
  end
66
68
 
67
69
  def compile_catalog(request)
@@ -80,6 +82,12 @@ module Bolt
80
82
  variables: target["variables"] || {}
81
83
  ) do |_pal|
82
84
  node = Puppet.lookup(:pal_current_node)
85
+
86
+ # Ensure files that custom facts and types/providers depend on can be loaded
87
+ node.environment.each_plugin_directory do |dir|
88
+ $LOAD_PATH << dir unless $LOAD_PATH.include?(dir)
89
+ end
90
+
83
91
  setup_node(node, target["trusted"])
84
92
 
85
93
  Puppet.override(pal_main: pal_main,
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Bolt
4
+ class Catalog
5
+ class BoltLoaders < Puppet::Pops::Loaders
6
+ def create_puppet_system_loader
7
+ parent = super
8
+
9
+ Puppet::Pops::Loader::ModuleLoaders::FileBased.new(
10
+ parent,
11
+ self,
12
+ 'boltlib',
13
+ File.join(__dir__, '../../../bolt-modules/boltlib'),
14
+ 'boltlib_system'
15
+ )
16
+ end
17
+ end
18
+ end
19
+ end
@@ -47,7 +47,7 @@ module Bolt
47
47
  end
48
48
  end
49
49
 
50
- class RunFailure < Error
50
+ class RunFailure < Bolt::Error
51
51
  attr_reader :result_set
52
52
 
53
53
  def initialize(result_set, action, object)
@@ -49,7 +49,6 @@ module Bolt
49
49
 
50
50
  inventory = new(data, config)
51
51
  inventory.validate
52
- inventory.collect_groups
53
52
  inventory
54
53
  end
55
54
 
@@ -63,6 +62,7 @@ module Bolt
63
62
  @target_vars = target_vars
64
63
  @target_facts = target_facts
65
64
  @target_features = target_features
65
+ collect_groups
66
66
  end
67
67
 
68
68
  def validate
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'bolt/error'
4
+
3
5
  module Bolt
4
6
  class Node
5
7
  class BaseError < Bolt::Error
@@ -8,8 +8,8 @@ require 'bolt/applicator'
8
8
 
9
9
  module Bolt
10
10
  class PAL
11
- BOLTLIB_PATH = File.join(__FILE__, '../../../bolt-modules')
12
- MODULES_PATH = File.join(__FILE__, '../../../modules')
11
+ BOLTLIB_PATH = File.join(__dir__, '../../bolt-modules')
12
+ MODULES_PATH = File.join(__dir__, '../../modules')
13
13
 
14
14
  # PALError is used to convert errors from executing puppet code into
15
15
  # Bolt::Errors
@@ -97,6 +97,8 @@ module Bolt
97
97
  alias_types(compiler)
98
98
  begin
99
99
  yield compiler
100
+ rescue Bolt::Error => err
101
+ err
100
102
  rescue Puppet::PreformattedError => err
101
103
  PALError.from_preformatted_error(err)
102
104
  rescue StandardError => err
@@ -82,6 +82,10 @@ module Bolt
82
82
  self.class == other.class && @results == other.results
83
83
  end
84
84
 
85
+ def to_a
86
+ @results.map(&:status_hash)
87
+ end
88
+
85
89
  def to_json(opts = nil)
86
90
  @results.map(&:status_hash).to_json(opts)
87
91
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Bolt
4
- VERSION = '0.21.5'
4
+ VERSION = '0.21.6'
5
5
  end
@@ -0,0 +1,93 @@
1
+ # frozen_string_literal: true
2
+
3
+ # shorthand for requiring the parts of bolt we need
4
+ require 'bolt/cli'
5
+ require 'bolt/util'
6
+
7
+ # This is intended to provide a relatively stable method of executing bolt in process from tests.
8
+ # Currently it provides run_task, run_plan and run_command helpers.
9
+ module BoltSpec
10
+ module Run
11
+ def run_task(task_name, targets, params = nil, config: nil, inventory: nil)
12
+ result = BoltRunner.with_runner(config, inventory) do |runner|
13
+ runner.run_task(task_name, targets, params || {})
14
+ end
15
+ result = result.to_a
16
+ Bolt::Util.walk_keys(result, &:to_s)
17
+ end
18
+
19
+ def run_plan(plan_name, params = nil, config: nil, inventory: nil)
20
+ # Users copying code from run_task may forget that targets is not a parameter for run plan
21
+ raise ArgumentError, "params must be a hash" unless params.is_a?(Hash)
22
+
23
+ result = BoltRunner.with_runner(config, inventory) do |runner|
24
+ runner.run_plan(plan_name, params || {})
25
+ end
26
+
27
+ { "status" => result.status,
28
+ "value" => JSON.parse(result.value.to_json) }
29
+ end
30
+
31
+ def run_command(command, targets, params = nil, config: nil, inventory: nil)
32
+ result = BoltRunner.with_runner(config, inventory) do |runner|
33
+ runner.run_command(command, targets, params)
34
+ end
35
+ result = result.to_a
36
+ Bolt::Util.walk_keys(result, &:to_s)
37
+ end
38
+
39
+ class BoltRunner
40
+ # Creates a temporary boltdir so no settings are picked up
41
+ # WARNING: puppetdb config and orch config which do not use the boltdir may
42
+ # still be loaded
43
+ def self.with_runner(config_data, inventory_data)
44
+ Dir.mktmpdir do |boltdir_path|
45
+ config = Bolt::Config.new(Bolt::Boltdir.new(boltdir_path), config_data || {})
46
+ inventory = Bolt::Inventory.new(inventory_data || {}, config)
47
+ yield new(config, inventory)
48
+ end
49
+ end
50
+
51
+ attr_reader :config, :inventory
52
+
53
+ def initialize(config, inventory)
54
+ @config = config
55
+ @inventory = inventory
56
+ @analytics = Bolt::Analytics::NoopClient.new
57
+ end
58
+
59
+ def puppetdb_client
60
+ @puppetdb_client ||= begin
61
+ puppetdb_config = Bolt::PuppetDB::Config.load_config(nil, config.puppetdb)
62
+ Bolt::PuppetDB::Client.new(puppetdb_config)
63
+ end
64
+ end
65
+
66
+ def pal
67
+ @pal ||= Bolt::PAL.new(config.modulepath, config.hiera_config, config.compile_concurrency)
68
+ end
69
+
70
+ def resolve_targets(target_spec)
71
+ @inventory.get_targets(target_spec).map(&:name)
72
+ end
73
+
74
+ # Adapted from CLI
75
+ def run_task(task_name, targets, params, noop: false)
76
+ executor = Bolt::Executor.new(config.concurrency, @analytics, noop)
77
+ pal.run_task(task_name, targets, params, executor, inventory, nil) { |_ev| nil }
78
+ end
79
+
80
+ # Adapted from CLI does not handle nodes or plan_job reporting
81
+ def run_plan(plan_name, params, noop: false)
82
+ executor = Bolt::Executor.new(config.concurrency, @analytics, noop)
83
+ pal.run_plan(plan_name, params, executor, inventory, puppetdb_client)
84
+ end
85
+
86
+ def run_command(command, targets, params = nil)
87
+ executor = Bolt::Executor.new(config.concurrency, @analytics)
88
+ targets = inventory.get_targets(targets)
89
+ executor.run_command(targets, command, params || {})
90
+ end
91
+ end
92
+ end
93
+ end
@@ -7,7 +7,7 @@ require 'puppet/configurer'
7
7
  require 'puppet/module_tool/tar'
8
8
  require 'tempfile'
9
9
 
10
- args = JSON.parse(STDIN.read)
10
+ args = JSON.parse(ARGV[0] ? File.read(ARGV[0]) : STDIN.read)
11
11
 
12
12
  Puppet.initialize_settings([])
13
13
  run_mode = Puppet::Util::RunMode[:user]
@@ -46,10 +46,17 @@ exit_code = 0
46
46
  Dir.mktmpdir do |moduledir|
47
47
  Tempfile.open('plugins.tar.gz') do |plugins|
48
48
  File.binwrite(plugins, Base64.decode64(args['plugins']))
49
- Puppet::ModuleTool::Tar.instance.unpack(plugins, moduledir, Etc.getlogin)
49
+ Puppet::ModuleTool::Tar.instance.unpack(plugins, moduledir, Etc.getlogin || Etc.getpwuid.name)
50
50
  end
51
51
 
52
52
  env = Puppet.lookup(:environments).get('production').override_with(modulepath: [moduledir])
53
+ # Needed to ensure features are loaded
54
+ env.each_plugin_directory do |dir|
55
+ $LOAD_PATH << dir unless $LOAD_PATH.include?(dir)
56
+ end
57
+
58
+ # Ensure custom facts are available for provider suitability tests
59
+ Puppet::Node::Facts.indirection.find('puppetversion', environment: env)
53
60
 
54
61
  report = if Puppet::Util::Package.versioncmp(Puppet.version, '5.0.0') > 0
55
62
  Puppet::Transaction::Report.new
@@ -11,7 +11,7 @@ args = JSON.parse(STDIN.read)
11
11
  Dir.mktmpdir do |moduledir|
12
12
  Tempfile.open('plugins.tar.gz') do |plugins|
13
13
  File.binwrite(plugins, Base64.decode64(args['plugins']))
14
- Puppet::ModuleTool::Tar.instance.unpack(plugins, moduledir, Etc.getlogin)
14
+ Puppet::ModuleTool::Tar.instance.unpack(plugins, moduledir, Etc.getlogin || Etc.getpwuid.name)
15
15
  end
16
16
 
17
17
  Puppet.initialize_settings
@@ -877,7 +877,7 @@ class EvaluatorImpl
877
877
  # All expressions are wrapped in an ApplyBlockExpression so we can identify the contents of
878
878
  # that block. However we don't want to serialize the block expression, so unwrap here.
879
879
  body = if o.body.statements.count > 1
880
- BlockExpression.from_asserted_hash(o.body._pcore_init_hash)
880
+ Model::BlockExpression.from_asserted_hash(o.body._pcore_init_hash)
881
881
  else
882
882
  o.body.statements[0]
883
883
  end
@@ -1219,22 +1219,9 @@ end
1219
1219
  class ApplyBlockExpression < BlockExpression
1220
1220
  def self._pcore_type
1221
1221
  @_pcore_type ||= Types::PObjectType.new('Puppet::AST::ApplyBlockExpression', {
1222
- 'parent' => CallExpression._pcore_type
1222
+ 'parent' => BlockExpression._pcore_type,
1223
1223
  })
1224
1224
  end
1225
-
1226
- def _pcore_contents
1227
- @statements.each { |value| yield(value) }
1228
- end
1229
-
1230
- def _pcore_all_contents(path, &block)
1231
- path << self
1232
- @statements.each do |value|
1233
- block.call(value, path)
1234
- value._pcore_all_contents(path, &block)
1235
- end
1236
- path.pop
1237
- end
1238
1225
  end
1239
1226
 
1240
1227
  class CaseOption < Expression
@@ -705,8 +705,6 @@ class Factory
705
705
 
706
706
  def self.block(*args); new(BlockExpression, args.map { |arg| infer(arg) }); end
707
707
 
708
- def self.apply_block(*args); new(ApplyBlockExpression, args.map { |arg| infer(arg) }); end
709
-
710
708
  def self.string(*args); new(ConcatenatedString, args.map { |arg| infer(arg) }); end
711
709
 
712
710
  def self.text(o); infer(o).text; end
@@ -948,6 +946,10 @@ class Factory
948
946
  new(ApplyExpression, arguments, body)
949
947
  end
950
948
 
949
+ def self.APPLY_BLOCK(statements)
950
+ new(ApplyBlockExpression, statements)
951
+ end
952
+
951
953
  def self.FUNCTION(name, parameters, body, return_type)
952
954
  new(FunctionDefinition, name, parameters, body, return_type)
953
955
  end
@@ -20,7 +20,7 @@ module Puppet
20
20
  module Parser
21
21
  class Parser < Racc::Parser
22
22
 
23
- module_eval(<<'...end egrammar.ra/module_eval...', 'egrammar.ra', 935)
23
+ module_eval(<<'...end egrammar.ra/module_eval...', 'egrammar.ra', 939)
24
24
 
25
25
  # Make emacs happy
26
26
  # Local Variables:
@@ -30,37 +30,37 @@ module_eval(<<'...end egrammar.ra/module_eval...', 'egrammar.ra', 935)
30
30
  ##### State transition tables begin ###
31
31
 
32
32
  clist = [
33
- '67,79,304,-148,65,73,304,74,89,90,91,73,116,74,-289,307,426,179,74,-280',
34
- '418,352,-292,305,21,20,118,305,121,-294,131,54,117,57,128,69,12,342',
35
- '63,46,49,292,56,47,10,11,-148,287,66,19,180,416,48,120,307,17,18,-289',
36
- '92,94,93,95,-280,84,353,-292,130,270,295,55,127,293,-294,45,80,97,82',
37
- '83,129,-189,-189,64,51,70,71,58,415,116,62,60,61,67,79,72,427,65,73',
33
+ '67,79,304,-148,65,73,304,74,89,90,91,73,116,74,-290,307,426,179,74,-281',
34
+ '418,352,-293,305,21,20,118,305,121,-295,131,54,117,57,128,69,12,342',
35
+ '63,46,49,292,56,47,10,11,-148,287,66,19,180,416,48,120,307,17,18,-290',
36
+ '92,94,93,95,-281,84,353,-293,130,270,295,55,127,293,-295,45,80,97,82',
37
+ '83,129,-190,-190,64,51,70,71,58,415,116,62,60,61,67,79,72,427,65,73',
38
38
  '116,74,72,154,118,154,121,471,403,470,117,131,271,414,118,128,121,429',
39
- '21,20,117,-279,154,404,413,54,157,57,157,69,12,120,63,46,49,475,56,47',
39
+ '21,20,117,-280,154,404,413,54,157,57,157,69,12,120,63,46,49,475,56,47',
40
40
  '10,11,116,120,66,19,476,157,48,130,304,17,18,127,330,97,118,331,121',
41
- '84,131,129,117,526,128,55,-279,131,458,45,80,128,82,83,471,399,470,64',
42
- '51,70,71,58,-234,120,62,60,61,67,79,72,116,65,73,434,74,400,130,459',
41
+ '84,131,129,117,459,128,55,-280,131,458,45,80,128,82,83,471,399,470,64',
42
+ '51,70,71,58,-235,120,62,60,61,67,79,72,116,65,73,434,74,400,130,526',
43
43
  '98,99,127,436,458,130,118,97,121,127,129,131,117,21,20,128,399,129,124',
44
44
  '307,54,396,57,394,69,136,116,63,46,49,390,56,47,120,443,181,79,66,19',
45
45
  '182,118,48,121,444,17,18,117,130,98,99,131,127,84,131,128,97,388,128',
46
46
  '55,129,131,350,45,80,128,82,83,120,333,332,64,51,70,71,58,133,134,62',
47
- '60,61,67,79,72,116,65,73,130,74,351,130,127,-189,-189,127,133,134,130',
48
- '118,129,121,127,129,131,117,21,20,128,447,129,-190,-190,54,383,57,379',
49
- '69,136,116,63,46,49,450,56,47,120,-191,-191,377,66,19,399,118,48,121',
50
- '399,17,18,117,130,98,99,131,127,84,376,128,97,-193,-193,55,129,131,160',
47
+ '60,61,67,79,72,116,65,73,130,74,351,130,127,-190,-190,127,133,134,130',
48
+ '118,129,121,127,129,131,117,21,20,128,447,129,-191,-191,54,383,57,379',
49
+ '69,136,116,63,46,49,450,56,47,120,-192,-192,377,66,19,399,118,48,121',
50
+ '399,17,18,117,130,98,99,131,127,84,376,128,97,-194,-194,55,129,131,160',
51
51
  '45,80,128,82,83,120,283,282,64,51,70,71,58,283,282,62,60,61,67,79,72',
52
52
  '358,65,73,130,74,283,282,127,131,460,453,461,128,130,131,129,171,127',
53
53
  '128,131,464,21,20,128,465,129,283,282,54,350,57,96,69,12,96,63,46,49',
54
54
  '468,56,47,10,11,96,130,66,19,472,127,48,130,304,17,18,127,130,129,283',
55
55
  '282,127,84,131,129,474,307,128,55,129,344,345,45,80,305,82,83,96,88',
56
- '328,64,51,70,71,58,-235,116,62,60,61,67,79,72,328,65,73,304,74,322,130',
56
+ '328,64,51,70,71,58,-236,116,62,60,61,67,79,72,328,65,73,304,74,322,130',
57
57
  '118,321,121,127,485,486,117,295,488,307,291,129,490,379,21,20,350,305',
58
- '290,171,160,54,287,57,494,69,12,120,63,46,49,297,56,47,10,11,-234,496',
58
+ '290,171,160,54,287,57,494,69,12,120,63,46,49,297,56,47,10,11,-235,496',
59
59
  '66,19,384,350,48,286,499,17,18,386,500,304,350,285,96,84,503,96,304',
60
60
  '272,88,55,205,507,307,45,80,474,82,83,509,307,305,64,51,70,71,58,202',
61
61
  '305,62,60,61,67,79,72,511,65,73,512,74,513,350,515,516,200,184,358,521',
62
- '522,523,524,525,171,170,161,160,21,20,96,534,88,536,537,54,538,57,85',
63
- '69,12,540,63,46,49,86,56,47,10,11,541,542,66,19,543,421,48,,,17,18,',
62
+ '522,523,524,525,171,170,161,160,21,20,96,534,88,537,538,54,539,57,85',
63
+ '69,12,541,63,46,49,86,56,47,10,11,542,543,66,19,544,421,48,,,17,18,',
64
64
  ',,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72',
65
65
  ',65,73,,74,,,,,,,,,,,,,,,,,21,20,145,,,,,54,,57,,69,12,,63,46,49,,56',
66
66
  '47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,149',
@@ -74,79 +74,72 @@ clist = [
74
74
  ',,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,',
75
75
  '74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66',
76
76
  '19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,',
77
- ',62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69',
78
- '12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45',
79
- '80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,528,,,,,',
80
- ',,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,',
81
- '48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60',
82
- '61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63',
83
- '46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82',
84
- '83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,',
85
- '21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18',
86
- ',,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79',
87
- '72,,65,73,186,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49',
88
- ',56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,',
89
- ',,149,146,70,71,147,153,152,148,60,61,67,79,72,,65,73,191,74,,,,,,,',
90
- ',,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,,48',
91
- ',,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,149,146,70,71,147,153,152',
92
- '148,60,61,67,79,72,,65,73,,74,193,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,',
77
+ ',62,60,61,67,79,72,,65,73,,74,536,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,',
93
78
  '69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,',
94
- ',,45,80,,82,83,,,,149,146,70,71,147,153,152,148,60,61,67,79,72,,65,73',
95
- ',74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11',
96
- ',,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71',
97
- '58,,,62,60,61,67,79,72,,65,73,,74,518,,,,,,,,,,,,,,,,21,20,,,,,,54,',
98
- '57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,',
99
- '55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74',
100
- ',,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66,19',
101
- ',,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62',
102
- '60,61,67,79,72,,65,73,,204,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136',
103
- ',63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82',
104
- '83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,',
105
- '21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,',
106
- ',,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72',
107
- ',65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47',
108
- '10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51',
109
- '70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54',
110
- ',57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,',
111
- ',55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74',
112
- ',,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66',
79
+ ',,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,528',
80
+ ',,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66',
113
81
  '19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,',
114
82
  ',62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69',
115
83
  '12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45',
116
84
  '80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,',
117
85
  ',,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,,48',
118
86
  ',,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61',
119
- '67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46',
120
- '49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83',
121
- ',,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21',
122
- '20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,',
123
- ',,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72',
124
- ',65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47',
87
+ '67,79,72,,65,73,186,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63',
88
+ '46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82',
89
+ '83,,,,149,146,70,71,147,153,152,148,60,61,67,79,72,,65,73,191,74,,,',
90
+ ',,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66,19',
91
+ ',,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,149,146,70,71,147,153',
92
+ '152,148,60,61,67,79,72,,65,73,,74,193,,,,,,,,,,,,,,,,21,20,,,,,,54,',
93
+ '57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,',
94
+ '55,,,,45,80,,82,83,,,,149,146,70,71,147,153,152,148,60,61,67,79,72,',
95
+ '65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47',
125
96
  '10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51',
126
- '70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,222',
127
- '237,228,238,69,230,240,232,46,220,,224,218,,,,,66,19,241,236,219,,,17',
128
- '217,,,,,,,84,,,,,239,223,,,,45,80,,82,83,,,,233,221,234,235,229,243',
129
- '242,231,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57',
130
- ',69,136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,',
131
- '45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,',
132
- ',,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66,19,,,48',
133
- ',,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61',
134
- '67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46',
135
- '49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,',
136
- ',64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20',
137
- ',,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84',
97
+ '70,71,58,,,62,60,61,67,79,72,,65,73,,74,518,,,,,,,,,,,,,,,,21,20,,,',
98
+ ',,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84',
138
99
  ',,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73',
139
100
  ',74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66',
140
101
  '19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,',
141
- ',62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69',
102
+ ',62,60,61,67,79,72,,65,73,,204,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69',
142
103
  '136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80',
143
104
  ',82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,',
144
105
  ',,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18',
145
106
  ',,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79',
146
- '72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56',
147
- '47,,,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51',
148
- '70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54',
149
- ',57,,69,136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55',
107
+ '72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56',
108
+ '47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64',
109
+ '51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,',
110
+ ',,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84',
111
+ ',,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73',
112
+ ',74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11',
113
+ ',,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71',
114
+ '58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57',
115
+ ',69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55',
116
+ ',,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,',
117
+ ',,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66,19',
118
+ ',,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62',
119
+ '60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,',
120
+ '63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80',
121
+ ',82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,',
122
+ ',,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17',
123
+ '18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67',
124
+ '79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49',
125
+ ',56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,',
126
+ ',,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20',
127
+ ',,,,,222,237,228,238,69,230,240,232,46,220,,224,218,,,,,66,19,241,236',
128
+ '219,,,17,217,,,,,,,84,,,,,239,223,,,,45,80,,82,83,,,,233,221,234,235',
129
+ '229,243,242,231,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,',
130
+ ',54,,57,,69,136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84,,,',
131
+ ',,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74',
132
+ ',,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66,19',
133
+ ',,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62',
134
+ '60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136',
135
+ ',63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82',
136
+ '83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,',
137
+ '21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,',
138
+ ',,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72',
139
+ ',65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47',
140
+ ',,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70',
141
+ '71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,',
142
+ '57,,69,136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55',
150
143
  ',,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,',
151
144
  ',,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66,19,,',
152
145
  '48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60',
@@ -170,88 +163,95 @@ clist = [
170
163
  ',74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66',
171
164
  '19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,',
172
165
  ',62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69',
173
- '136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,265,45',
174
- '80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,',
175
- ',,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,,48',
176
- ',,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,149,146,70,71,147,153,152',
177
- '148,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69',
178
166
  '136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80',
179
167
  ',82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,',
180
168
  ',,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18',
181
169
  ',,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79',
182
- '72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56',
183
- '47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,149',
184
- '146,70,71,147,153,152,148,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,',
185
- '21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18',
186
- ',,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79',
187
170
  '72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56',
188
171
  '47,,,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51',
189
172
  '70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54',
190
- ',57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,',
191
- ',55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74',
173
+ ',57,,69,136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55',
174
+ ',,265,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74',
192
175
  ',,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66',
193
176
  '19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,149,146,70,71,147',
194
177
  '153,152,148,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54',
178
+ ',57,,69,136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55',
179
+ ',,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,',
180
+ ',,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66,19,,',
181
+ '48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60',
182
+ '61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63',
183
+ '46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82',
184
+ '83,,,,149,146,70,71,147,153,152,148,60,61,67,79,72,,65,73,,74,,,,,,',
185
+ ',,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,',
186
+ '48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60',
187
+ '61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63',
188
+ '46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83',
189
+ ',,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21',
190
+ '20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,',
191
+ ',,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72',
192
+ ',65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47',
193
+ '10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,149,146',
194
+ '70,71,147,153,152,148,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20',
195
+ ',,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,',
196
+ ',84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65',
197
+ '73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,',
198
+ ',,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71',
199
+ '58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57',
200
+ ',69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55',
201
+ ',,,45,80,,82,83,,,,149,146,70,71,147,153,152,148,60,61,67,79,72,,65',
202
+ '73,,74,,,,,,,,,,,,,,,,,21,20,309,,,,,54,,57,,69,12,,63,46,49,,56,47',
203
+ '10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,149,146',
204
+ '70,71,147,153,152,148,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20',
205
+ ',,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,',
206
+ ',84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65',
207
+ '73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,',
208
+ ',,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71',
209
+ '58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57',
210
+ ',69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55',
211
+ ',,,45,80,,82,83,,,,149,146,70,71,147,153,152,148,60,61,67,79,72,,65',
212
+ '73,,74,319,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47',
213
+ '10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51',
214
+ '70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54',
195
215
  ',57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,',
196
216
  ',55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74',
197
217
  ',,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66,19',
198
218
  ',,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62',
199
219
  '60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,',
200
220
  '63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80',
201
- ',82,83,,,,149,146,70,71,147,153,152,148,60,61,67,79,72,,65,73,,74,,',
202
- ',,,,,,,,,,,,,,21,20,309,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66',
203
- '19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,149,146,70,71,147',
204
- '153,152,148,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54',
205
- ',57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,',
206
- ',55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74',
207
- ',,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66,19',
208
- ',,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62',
209
- '60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,',
210
- '63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80',
211
- ',82,83,,,,149,146,70,71,147,153,152,148,60,61,67,79,72,,65,73,,74,319',
212
- ',,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66',
213
- '19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,',
214
- ',62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69',
215
- '12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45',
216
- '80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,',
217
- ',,,,,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66,19,,,48,,,17',
221
+ ',82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,',
222
+ ',,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17',
218
223
  '18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67',
219
- '79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49',
220
- ',56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,',
221
- ',,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20',
222
- ',,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,',
223
- ',84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65',
224
- '73,,74,477,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47',
225
- ',,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70',
226
- '71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,',
227
- '57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,',
228
- '55,,,,45,80,,82,83,81,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74',
229
- ',,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66',
230
- '19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,',
231
- ',62,60,61,67,79,72,,65,73,,74,193,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,',
232
- '69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,',
233
- ',,45,80,,82,83,,,,149,146,70,71,147,153,152,148,60,61,67,79,72,,65,73',
234
- ',74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11',
235
- ',,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,149,146,70',
236
- '71,147,153,152,148,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,',
237
- ',,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84',
238
- ',,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73',
239
- ',74,,,351,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,',
240
- ',,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71',
241
- '58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57',
242
- ',69,136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,',
243
- '45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,',
244
- ',,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66,19,,,48',
245
- ',,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61',
246
- '67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46',
224
+ '79,72,,65,73,,74,477,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46',
247
225
  '49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,',
248
- ',64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,463,,,,,,,,,,,,,,,,21',
249
- '20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,',
226
+ ',64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20',
227
+ ',,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,',
228
+ ',84,,,,,,55,,,,45,80,,82,83,81,,,64,51,70,71,58,,,62,60,61,67,79,72',
229
+ ',65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47',
230
+ '10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51',
231
+ '70,71,58,,,62,60,61,67,79,72,,65,73,,74,193,,,,,,,,,,,,,,,,21,20,,,',
232
+ ',,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84',
233
+ ',,,,,55,,,,45,80,,82,83,,,,149,146,70,71,147,153,152,148,60,61,67,79',
234
+ '72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56',
235
+ '47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,149',
236
+ '146,70,71,147,153,152,148,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,',
237
+ '21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,',
250
238
  ',,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72',
251
- ',65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47',
252
- ',,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70',
253
- '71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,',
254
- '57,,69,136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55',
239
+ ',65,73,,74,,,351,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56',
240
+ '47,,,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51',
241
+ '70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54',
242
+ ',57,,69,136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55',
243
+ ',,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,',
244
+ ',,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66,19,,',
245
+ '48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60',
246
+ '61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63',
247
+ '46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83',
248
+ ',,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,463,,,,,,,,,,,,,,,',
249
+ '21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18',
250
+ ',,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79',
251
+ '72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56',
252
+ '47,,,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51',
253
+ '70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54',
254
+ ',57,,69,136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55',
255
255
  ',,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,',
256
256
  ',,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66,19',
257
257
  ',,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,149,146,70,71,147,153',
@@ -363,9 +363,9 @@ clist = [
363
363
  '246,146,246,468,308,468,246,230,118,314,137,230,137,329,336,336,137',
364
364
  '230,51,308,313,336,221,336,146,336,336,246,336,336,336,410,336,336,336',
365
365
  '336,249,137,336,336,410,51,336,230,305,336,336,230,192,246,249,192,249',
366
- '336,147,230,249,504,147,336,230,149,504,336,336,149,336,336,406,341',
366
+ '336,147,230,249,392,147,336,230,149,392,336,336,149,336,336,406,341',
367
367
  '406,336,336,336,336,336,346,249,336,336,336,18,18,336,251,18,18,347',
368
- '18,304,147,392,249,249,147,349,392,149,251,249,251,149,147,12,251,18',
368
+ '18,304,147,504,249,249,147,349,504,149,251,249,251,149,147,12,251,18',
369
369
  '18,12,298,149,12,295,18,294,18,293,18,18,244,18,18,18,288,18,18,251',
370
370
  '355,200,200,18,18,200,244,18,244,357,18,18,244,12,251,251,168,12,18',
371
371
  '58,168,251,284,58,18,12,60,359,18,18,60,18,18,244,197,197,18,18,18,18',
@@ -379,7 +379,7 @@ clist = [
379
379
  '20,212,229,20,20,407,229,20,233,399,20,20,233,132,229,183,183,132,20',
380
380
  '136,233,408,399,136,20,132,434,434,20,20,399,20,20,211,206,190,20,20',
381
381
  '20,20,20,188,135,20,20,20,21,21,20,185,21,21,160,21,174,136,135,172',
382
- '135,136,417,419,135,159,424,160,155,136,433,539,21,21,435,160,150,148',
382
+ '135,136,417,419,135,159,424,160,155,136,433,540,21,21,435,160,150,148',
383
383
  '145,21,144,21,442,21,21,135,21,21,21,160,21,21,21,21,141,446,21,21,282',
384
384
  '449,21,140,454,21,21,283,455,282,456,139,123,21,462,122,283,119,87,21',
385
385
  '85,471,282,21,21,472,21,21,474,283,282,21,21,21,21,21,81,283,21,21,21',
@@ -399,149 +399,149 @@ clist = [
399
399
  '55,55,55,,,55,55,55,56,56,55,,56,56,,56,,,,,,,,,,,,,,,,,56,56,,,,,,56',
400
400
  ',56,,56,56,,56,56,56,,56,56,,,,,56,56,,,56,,,56,56,,,,,,,56,,,,,,56',
401
401
  ',,,56,56,,56,56,,,,56,56,56,56,56,,,56,56,56,516,516,56,,516,516,,516',
402
- ',,,,,,,,,,,,,,,,516,516,,,,,,516,,516,,516,516,,516,516,516,,516,516',
403
- '516,516,,,516,516,,,516,,,516,516,,,,,,,516,,,,,,516,,,,516,516,,516',
404
- '516,,,,516,516,516,516,516,,,516,516,516,507,507,516,,507,507,,507,507',
405
- ',,,,,,,,,,,,,,,507,507,,,,,,507,,507,,507,507,,507,507,507,,507,507',
406
- '507,507,,,507,507,,,507,,,507,507,,,,,,,507,,,,,,507,,,,507,507,,507',
407
- '507,,,,507,507,507,507,507,,,507,507,507,511,511,507,,511,511,,511,',
408
- ',,,,,,,,,,,,,,,511,511,,,,,,511,,511,,511,511,,511,511,511,,511,511',
409
- '511,511,,,511,511,,,511,,,511,511,,,,,,,511,,,,,,511,,,,511,511,,511',
410
- '511,,,,511,511,511,511,511,,,511,511,511,488,488,511,,488,488,,488,',
411
- ',,,,,,,,,,,,,,,488,488,,,,,,488,,488,,488,488,,488,488,488,,488,488',
412
- '488,488,,,488,488,,,488,,,488,488,,,,,,,488,,,,,,488,,,,488,488,,488',
413
- '488,,,,488,488,488,488,488,,,488,488,488,72,72,488,,72,72,72,72,,,,',
414
- ',,,,,,,,,,,,72,72,,,,,,72,,72,,72,72,,72,72,72,,72,72,72,72,,,72,72',
415
- ',,72,,,72,72,,,,,,,72,,,,,,72,,,,72,72,,72,72,,,,72,72,72,72,72,72,72',
416
- '72,72,72,73,73,72,,73,73,73,73,,,,,,,,,,,,,,,,,73,73,,,,,,73,,73,,73',
417
- '73,,73,73,73,,73,73,73,73,,,73,73,,,73,,,73,73,,,,,,,73,,,,,,73,,,,73',
418
- '73,,73,73,,,,73,73,73,73,73,73,73,73,73,73,74,74,73,,74,74,,74,74,,',
419
- ',,,,,,,,,,,,,74,74,,,,,,74,,74,,74,74,,74,74,74,,74,74,74,74,,,74,74',
420
- ',,74,,,74,74,,,,,,,74,,,,,,74,,,,74,74,,74,74,,,,74,74,74,74,74,74,74',
421
- '74,74,74,78,78,74,,78,78,,78,,,,,,,,,,,,,,,,,78,78,,,,,,78,,78,,78,78',
422
- ',78,78,78,,78,78,78,78,,,78,78,,,78,,,78,78,,,,,,,78,,,,,,78,,,,78,78',
423
- ',78,78,,,,78,78,78,78,78,,,78,78,78,486,486,78,,486,486,,486,486,,,',
424
- ',,,,,,,,,,,,486,486,,,,,,486,,486,,486,486,,486,486,486,,486,486,486',
425
- '486,,,486,486,,,486,,,486,486,,,,,,,486,,,,,,486,,,,486,486,,486,486',
426
- ',,,486,486,486,486,486,,,486,486,486,475,475,486,,475,475,,475,,,,,',
427
- ',,,,,,,,,,,475,475,,,,,,475,,475,,475,475,,475,475,475,,475,475,,,,',
428
- '475,475,,,475,,,475,475,,,,,,,475,,,,,,475,,,,475,475,,475,475,,,,475',
429
- '475,475,475,475,,,475,475,475,83,83,475,,83,83,,83,,,,,,,,,,,,,,,,,83',
430
- '83,,,,,,83,,83,,83,83,,83,83,83,,83,83,,,,,83,83,,,83,,,83,83,,,,,,',
431
- '83,,,,,,83,,,,83,83,,83,83,,,,83,83,83,83,83,,,83,83,83,470,470,83,',
432
- '470,470,,470,,,,,,,,,,,,,,,,,470,470,,,,,,470,,470,,470,470,,470,470',
433
- '470,,470,470,,,,,470,470,,,470,,,470,470,,,,,,,470,,,,,,470,,,,470,470',
434
- ',470,470,,,,470,470,470,470,470,,,470,470,470,86,86,470,,86,86,,86,',
435
- ',,,,,,,,,,,,,,,86,86,,,,,,86,,86,,86,86,,86,86,86,,86,86,86,86,,,86',
436
- '86,,,86,,,86,86,,,,,,,86,,,,,,86,,,,86,86,,86,86,,,,86,86,86,86,86,',
437
- ',86,86,86,89,89,86,,89,89,,89,,,,,,,,,,,,,,,,,89,89,,,,,,89,,89,,89',
438
- '89,,89,89,89,,89,89,89,89,,,89,89,,,89,,,89,89,,,,,,,89,,,,,,89,,,,89',
439
- '89,,89,89,,,,89,89,89,89,89,,,89,89,89,90,90,89,,90,90,,90,,,,,,,,,',
440
- ',,,,,,,90,90,,,,,,90,,90,,90,90,,90,90,90,,90,90,90,90,,,90,90,,,90',
441
- ',,90,90,,,,,,,90,,,,,,90,,,,90,90,,90,90,,,,90,90,90,90,90,,,90,90,90',
442
- '91,91,90,,91,91,,91,,,,,,,,,,,,,,,,,91,91,,,,,,91,,91,,91,91,,91,91',
443
- '91,,91,91,91,91,,,91,91,,,91,,,91,91,,,,,,,91,,,,,,91,,,,91,91,,91,91',
444
- ',,,91,91,91,91,91,,,91,91,91,92,92,91,,92,92,,92,,,,,,,,,,,,,,,,,92',
445
- '92,,,,,,92,,92,,92,92,,92,92,92,,92,92,92,92,,,92,92,,,92,,,92,92,,',
446
- ',,,,92,,,,,,92,,,,92,92,,92,92,,,,92,92,92,92,92,,,92,92,92,93,93,92',
447
- ',93,93,,93,,,,,,,,,,,,,,,,,93,93,,,,,,93,,93,,93,93,,93,93,93,,93,93',
448
- '93,93,,,93,93,,,93,,,93,93,,,,,,,93,,,,,,93,,,,93,93,,93,93,,,,93,93',
449
- '93,93,93,,,93,93,93,94,94,93,,94,94,,94,,,,,,,,,,,,,,,,,94,94,,,,,,94',
450
- ',94,,94,94,,94,94,94,,94,94,94,94,,,94,94,,,94,,,94,94,,,,,,,94,,,,',
451
- ',94,,,,94,94,,94,94,,,,94,94,94,94,94,,,94,94,94,95,95,94,,95,95,,95',
452
- ',,,,,,,,,,,,,,,,95,95,,,,,,95,,95,,95,95,,95,95,95,,95,95,95,95,,,95',
453
- '95,,,95,,,95,95,,,,,,,95,,,,,,95,,,,95,95,,95,95,,,,95,95,95,95,95,',
454
- ',95,95,95,96,96,95,,96,96,,96,,,,,,,,,,,,,,,,,96,96,,,,,,96,96,96,96',
455
- '96,96,96,96,96,96,,96,96,,,,,96,96,96,96,96,,,96,96,,,,,,,96,,,,,96',
456
- '96,,,,96,96,,96,96,,,,96,96,96,96,96,96,96,96,96,96,97,97,96,,97,97',
457
- ',97,,,,,,,,,,,,,,,,,97,97,,,,,,97,,97,,97,97,,97,97,97,,97,97,,,,,97',
458
- '97,,,97,,,97,97,,,,,,,97,,,,,,97,,,,97,97,,97,97,,,,97,97,97,97,97,',
459
- ',97,97,97,98,98,97,,98,98,,98,,,,,,,,,,,,,,,,,98,98,,,,,,98,,98,,98',
460
- '98,,98,98,98,,98,98,,,,,98,98,,,98,,,98,98,,,,,,,98,,,,,,98,,,,98,98',
461
- ',98,98,,,,98,98,98,98,98,,,98,98,98,99,99,98,,99,99,,99,,,,,,,,,,,,',
462
- ',,,,99,99,,,,,,99,,99,,99,99,,99,99,99,,99,99,,,,,99,99,,,99,,,99,99',
463
- ',,,,,,99,,,,,,99,,,,99,99,,99,99,,,,99,99,99,99,99,,,99,99,99,100,100',
464
- '99,,100,100,,100,,,,,,,,,,,,,,,,,100,100,,,,,,100,,100,,100,100,,100',
465
- '100,100,,100,100,,,,,100,100,,,100,,,100,100,,,,,,,100,,,,,,100,,,,100',
466
- '100,,100,100,,,,100,100,100,100,100,,,100,100,100,101,101,100,,101,101',
467
- ',101,,,,,,,,,,,,,,,,,101,101,,,,,,101,,101,,101,101,,101,101,101,,101',
468
- '101,,,,,101,101,,,101,,,101,101,,,,,,,101,,,,,,101,,,,101,101,,101,101',
469
- ',,,101,101,101,101,101,,,101,101,101,102,102,101,,102,102,,102,,,,,',
470
- ',,,,,,,,,,,102,102,,,,,,102,,102,,102,102,,102,102,102,,102,102,,,,',
471
- '102,102,,,102,,,102,102,,,,,,,102,,,,,,102,,,,102,102,,102,102,,,,102',
472
- '102,102,102,102,,,102,102,102,103,103,102,,103,103,,103,,,,,,,,,,,,',
473
- ',,,,103,103,,,,,,103,,103,,103,103,,103,103,103,,103,103,,,,,103,103',
474
- ',,103,,,103,103,,,,,,,103,,,,,,103,,,,103,103,,103,103,,,,103,103,103',
475
- '103,103,,,103,103,103,104,104,103,,104,104,,104,,,,,,,,,,,,,,,,,104',
476
- '104,,,,,,104,,104,,104,104,,104,104,104,,104,104,,,,,104,104,,,104,',
477
- ',104,104,,,,,,,104,,,,,,104,,,,104,104,,104,104,,,,104,104,104,104,104',
478
- ',,104,104,104,105,105,104,,105,105,,105,,,,,,,,,,,,,,,,,105,105,,,,',
479
- ',105,,105,,105,105,,105,105,105,,105,105,,,,,105,105,,,105,,,105,105',
480
- ',,,,,,105,,,,,,105,,,,105,105,,105,105,,,,105,105,105,105,105,,,105',
481
- '105,105,106,106,105,,106,106,,106,,,,,,,,,,,,,,,,,106,106,,,,,,106,',
482
- '106,,106,106,,106,106,106,,106,106,,,,,106,106,,,106,,,106,106,,,,,',
483
- ',106,,,,,,106,,,,106,106,,106,106,,,,106,106,106,106,106,,,106,106,106',
484
- '107,107,106,,107,107,,107,,,,,,,,,,,,,,,,,107,107,,,,,,107,,107,,107',
485
- '107,,107,107,107,,107,107,,,,,107,107,,,107,,,107,107,,,,,,,107,,,,',
486
- ',107,,,,107,107,,107,107,,,,107,107,107,107,107,,,107,107,107,108,108',
487
- '107,,108,108,,108,,,,,,,,,,,,,,,,,108,108,,,,,,108,,108,,108,108,,108',
488
- '108,108,,108,108,,,,,108,108,,,108,,,108,108,,,,,,,108,,,,,,108,,,,108',
489
- '108,,108,108,,,,108,108,108,108,108,,,108,108,108,109,109,108,,109,109',
490
- ',109,,,,,,,,,,,,,,,,,109,109,,,,,,109,,109,,109,109,,109,109,109,,109',
491
- '109,,,,,109,109,,,109,,,109,109,,,,,,,109,,,,,,109,,,,109,109,,109,109',
492
- ',,,109,109,109,109,109,,,109,109,109,110,110,109,,110,110,,110,,,,,',
493
- ',,,,,,,,,,,110,110,,,,,,110,,110,,110,110,,110,110,110,,110,110,,,,',
494
- '110,110,,,110,,,110,110,,,,,,,110,,,,,,110,,,,110,110,,110,110,,,,110',
495
- '110,110,110,110,,,110,110,110,111,111,110,,111,111,,111,,,,,,,,,,,,',
496
- ',,,,111,111,,,,,,111,,111,,111,111,,111,111,111,,111,111,,,,,111,111',
497
- ',,111,,,111,111,,,,,,,111,,,,,,111,,,,111,111,,111,111,,,,111,111,111',
498
- '111,111,,,111,111,111,112,112,111,,112,112,,112,,,,,,,,,,,,,,,,,112',
499
- '112,,,,,,112,,112,,112,112,,112,112,112,,112,112,,,,,112,112,,,112,',
500
- ',112,112,,,,,,,112,,,,,,112,,,,112,112,,112,112,,,,112,112,112,112,112',
501
- ',,112,112,112,113,113,112,,113,113,,113,,,,,,,,,,,,,,,,,113,113,,,,',
502
- ',113,,113,,113,113,,113,113,113,,113,113,,,,,113,113,,,113,,,113,113',
503
- ',,,,,,113,,,,,,113,,,,113,113,,113,113,,,,113,113,113,113,113,,,113',
504
- '113,113,114,114,113,,114,114,,114,,,,,,,,,,,,,,,,,114,114,,,,,,114,',
505
- '114,,114,114,,114,114,114,,114,114,,,,,114,114,,,114,,,114,114,,,,,',
506
- ',114,,,,,,114,,,,114,114,,114,114,,,,114,114,114,114,114,,,114,114,114',
507
- '115,115,114,,115,115,,115,,,,,,,,,,,,,,,,,115,115,,,,,,115,,115,,115',
508
- '115,,115,115,115,,115,115,,,,,115,115,,,115,,,115,115,,,,,,,115,,,,',
509
- ',115,,,115,115,115,,115,115,,,,115,115,115,115,115,,,115,115,115,116',
510
- '116,115,,116,116,,116,,,,,,,,,,,,,,,,,116,116,,,,,,116,,116,,116,116',
511
- ',116,116,116,,116,116,116,116,,,116,116,,,116,,,116,116,,,,,,,116,,',
512
- ',,,116,,,,116,116,,116,116,,,,116,116,116,116,116,116,116,116,116,116',
513
- '120,120,116,,120,120,,120,,,,,,,,,,,,,,,,,120,120,,,,,,120,,120,,120',
514
- '120,,120,120,120,,120,120,,,,,120,120,,,120,,,120,120,,,,,,,120,,,,',
515
- ',120,,,,120,120,,120,120,,,,120,120,120,120,120,,,120,120,120,121,121',
516
- '120,,121,121,,121,,,,,,,,,,,,,,,,,121,121,,,,,,121,,121,,121,121,,121',
517
- '121,121,,121,121,,,,,121,121,,,121,,,121,121,,,,,,,121,,,,,,121,,,,121',
518
- '121,,121,121,,,,121,121,121,121,121,,,121,121,121,464,464,121,,464,464',
519
- ',464,,,,,,,,,,,,,,,,,464,464,,,,,,464,,464,,464,464,,464,464,464,,464',
520
- '464,464,464,,,464,464,,,464,,,464,464,,,,,,,464,,,,,,464,,,,464,464',
521
- ',464,464,,,,464,464,464,464,464,464,464,464,464,464,461,461,464,,461',
522
- '461,,461,,,,,,,,,,,,,,,,,461,461,,,,,,461,,461,,461,461,,461,461,461',
523
- ',461,461,461,461,,,461,461,,,461,,,461,461,,,,,,,461,,,,,,461,,,,461',
524
- '461,,461,461,,,,461,461,461,461,461,,,461,461,461,124,124,461,,124,124',
525
- ',124,,,,,,,,,,,,,,,,,124,124,,,,,,124,,124,,124,124,,124,124,124,,124',
526
- '124,,,,,124,124,,,124,,,124,124,,,,,,,124,,,,,,124,,,,124,124,,124,124',
527
- ',,,124,124,124,124,124,,,124,124,124,10,10,124,,10,10,,10,,,,,,,,,,',
528
- ',,,,,,10,10,,,,,,10,,10,,10,10,,10,10,10,,10,10,10,10,,,10,10,,,10,',
529
- ',10,10,,,,,,,10,,,,,,10,,,,10,10,,10,10,,,,10,10,10,10,10,,,10,10,10',
530
- '458,458,10,,458,458,,458,,,,,,,,,,,,,,,,,458,458,,,,,,458,,458,,458',
531
- '458,,458,458,458,,458,458,458,458,,,458,458,,,458,,,458,458,,,,,,,458',
532
- ',,,,,458,,,,458,458,,458,458,,,,458,458,458,458,458,458,458,458,458',
533
- '458,450,450,458,,450,450,,450,,,,,,,,,,,,,,,,,450,450,,,,,,450,,450',
534
- ',450,450,,450,450,450,,450,450,450,450,,,450,450,,,450,,,450,450,,,',
535
- ',,,450,,,,,,450,,,,450,450,,450,450,,,,450,450,450,450,450,,,450,450',
536
- '450,443,443,450,,443,443,,443,,,,,,,,,,,,,,,,,443,443,,,,,,443,,443',
537
- ',443,443,,443,443,443,,443,443,,,,,443,443,,,443,,,443,443,,,,,,,443',
538
- ',,,,,443,,,,443,443,,443,443,,,,443,443,443,443,443,,,443,443,443,426',
539
- '426,443,,426,426,,426,,,,,,,,,,,,,,,,,426,426,,,,,,426,,426,,426,426',
540
- ',426,426,426,,426,426,426,426,,,426,426,,,426,,,426,426,,,,,,,426,,',
541
- ',,,426,,,,426,426,,426,426,,,,426,426,426,426,426,426,426,426,426,426',
542
- '161,161,426,,161,161,,161,,,,,,,,,,,,,,,,,161,161,161,,,,,161,,161,',
543
- '161,161,,161,161,161,,161,161,161,161,,,161,161,,,161,,,161,161,,,,',
544
- ',,161,,,,,,161,,,,161,161,,161,161,,,,161,161,161,161,161,161,161,161',
402
+ '516,,,,,,,,,,,,,,,,516,516,,,,,,516,,516,,516,516,,516,516,516,,516',
403
+ '516,516,516,,,516,516,,,516,,,516,516,,,,,,,516,,,,,,516,,,,516,516',
404
+ ',516,516,,,,516,516,516,516,516,,,516,516,516,507,507,516,,507,507,',
405
+ '507,507,,,,,,,,,,,,,,,,507,507,,,,,,507,,507,,507,507,,507,507,507,',
406
+ '507,507,507,507,,,507,507,,,507,,,507,507,,,,,,,507,,,,,,507,,,,507',
407
+ '507,,507,507,,,,507,507,507,507,507,,,507,507,507,511,511,507,,511,511',
408
+ ',511,,,,,,,,,,,,,,,,,511,511,,,,,,511,,511,,511,511,,511,511,511,,511',
409
+ '511,511,511,,,511,511,,,511,,,511,511,,,,,,,511,,,,,,511,,,,511,511',
410
+ ',511,511,,,,511,511,511,511,511,,,511,511,511,488,488,511,,488,488,',
411
+ '488,,,,,,,,,,,,,,,,,488,488,,,,,,488,,488,,488,488,,488,488,488,,488',
412
+ '488,488,488,,,488,488,,,488,,,488,488,,,,,,,488,,,,,,488,,,,488,488',
413
+ ',488,488,,,,488,488,488,488,488,,,488,488,488,72,72,488,,72,72,72,72',
414
+ ',,,,,,,,,,,,,,,,72,72,,,,,,72,,72,,72,72,,72,72,72,,72,72,72,72,,,72',
415
+ '72,,,72,,,72,72,,,,,,,72,,,,,,72,,,,72,72,,72,72,,,,72,72,72,72,72,72',
416
+ '72,72,72,72,73,73,72,,73,73,73,73,,,,,,,,,,,,,,,,,73,73,,,,,,73,,73',
417
+ ',73,73,,73,73,73,,73,73,73,73,,,73,73,,,73,,,73,73,,,,,,,73,,,,,,73',
418
+ ',,,73,73,,73,73,,,,73,73,73,73,73,73,73,73,73,73,74,74,73,,74,74,,74',
419
+ '74,,,,,,,,,,,,,,,,74,74,,,,,,74,,74,,74,74,,74,74,74,,74,74,74,74,,',
420
+ '74,74,,,74,,,74,74,,,,,,,74,,,,,,74,,,,74,74,,74,74,,,,74,74,74,74,74',
421
+ '74,74,74,74,74,78,78,74,,78,78,,78,,,,,,,,,,,,,,,,,78,78,,,,,,78,,78',
422
+ ',78,78,,78,78,78,,78,78,78,78,,,78,78,,,78,,,78,78,,,,,,,78,,,,,,78',
423
+ ',,,78,78,,78,78,,,,78,78,78,78,78,,,78,78,78,486,486,78,,486,486,,486',
424
+ '486,,,,,,,,,,,,,,,,486,486,,,,,,486,,486,,486,486,,486,486,486,,486',
425
+ '486,486,486,,,486,486,,,486,,,486,486,,,,,,,486,,,,,,486,,,,486,486',
426
+ ',486,486,,,,486,486,486,486,486,,,486,486,486,475,475,486,,475,475,',
427
+ '475,,,,,,,,,,,,,,,,,475,475,,,,,,475,,475,,475,475,,475,475,475,,475',
428
+ '475,,,,,475,475,,,475,,,475,475,,,,,,,475,,,,,,475,,,,475,475,,475,475',
429
+ ',,,475,475,475,475,475,,,475,475,475,83,83,475,,83,83,,83,,,,,,,,,,',
430
+ ',,,,,,83,83,,,,,,83,,83,,83,83,,83,83,83,,83,83,,,,,83,83,,,83,,,83',
431
+ '83,,,,,,,83,,,,,,83,,,,83,83,,83,83,,,,83,83,83,83,83,,,83,83,83,470',
432
+ '470,83,,470,470,,470,,,,,,,,,,,,,,,,,470,470,,,,,,470,,470,,470,470',
433
+ ',470,470,470,,470,470,,,,,470,470,,,470,,,470,470,,,,,,,470,,,,,,470',
434
+ ',,,470,470,,470,470,,,,470,470,470,470,470,,,470,470,470,86,86,470,',
435
+ '86,86,,86,,,,,,,,,,,,,,,,,86,86,,,,,,86,,86,,86,86,,86,86,86,,86,86',
436
+ '86,86,,,86,86,,,86,,,86,86,,,,,,,86,,,,,,86,,,,86,86,,86,86,,,,86,86',
437
+ '86,86,86,,,86,86,86,89,89,86,,89,89,,89,,,,,,,,,,,,,,,,,89,89,,,,,,89',
438
+ ',89,,89,89,,89,89,89,,89,89,89,89,,,89,89,,,89,,,89,89,,,,,,,89,,,,',
439
+ ',89,,,,89,89,,89,89,,,,89,89,89,89,89,,,89,89,89,90,90,89,,90,90,,90',
440
+ ',,,,,,,,,,,,,,,,90,90,,,,,,90,,90,,90,90,,90,90,90,,90,90,90,90,,,90',
441
+ '90,,,90,,,90,90,,,,,,,90,,,,,,90,,,,90,90,,90,90,,,,90,90,90,90,90,',
442
+ ',90,90,90,91,91,90,,91,91,,91,,,,,,,,,,,,,,,,,91,91,,,,,,91,,91,,91',
443
+ '91,,91,91,91,,91,91,91,91,,,91,91,,,91,,,91,91,,,,,,,91,,,,,,91,,,,91',
444
+ '91,,91,91,,,,91,91,91,91,91,,,91,91,91,92,92,91,,92,92,,92,,,,,,,,,',
445
+ ',,,,,,,92,92,,,,,,92,,92,,92,92,,92,92,92,,92,92,92,92,,,92,92,,,92',
446
+ ',,92,92,,,,,,,92,,,,,,92,,,,92,92,,92,92,,,,92,92,92,92,92,,,92,92,92',
447
+ '93,93,92,,93,93,,93,,,,,,,,,,,,,,,,,93,93,,,,,,93,,93,,93,93,,93,93',
448
+ '93,,93,93,93,93,,,93,93,,,93,,,93,93,,,,,,,93,,,,,,93,,,,93,93,,93,93',
449
+ ',,,93,93,93,93,93,,,93,93,93,94,94,93,,94,94,,94,,,,,,,,,,,,,,,,,94',
450
+ '94,,,,,,94,,94,,94,94,,94,94,94,,94,94,94,94,,,94,94,,,94,,,94,94,,',
451
+ ',,,,94,,,,,,94,,,,94,94,,94,94,,,,94,94,94,94,94,,,94,94,94,95,95,94',
452
+ ',95,95,,95,,,,,,,,,,,,,,,,,95,95,,,,,,95,,95,,95,95,,95,95,95,,95,95',
453
+ '95,95,,,95,95,,,95,,,95,95,,,,,,,95,,,,,,95,,,,95,95,,95,95,,,,95,95',
454
+ '95,95,95,,,95,95,95,96,96,95,,96,96,,96,,,,,,,,,,,,,,,,,96,96,,,,,,96',
455
+ '96,96,96,96,96,96,96,96,96,,96,96,,,,,96,96,96,96,96,,,96,96,,,,,,,96',
456
+ ',,,,96,96,,,,96,96,,96,96,,,,96,96,96,96,96,96,96,96,96,96,97,97,96',
457
+ ',97,97,,97,,,,,,,,,,,,,,,,,97,97,,,,,,97,,97,,97,97,,97,97,97,,97,97',
458
+ ',,,,97,97,,,97,,,97,97,,,,,,,97,,,,,,97,,,,97,97,,97,97,,,,97,97,97',
459
+ '97,97,,,97,97,97,98,98,97,,98,98,,98,,,,,,,,,,,,,,,,,98,98,,,,,,98,',
460
+ '98,,98,98,,98,98,98,,98,98,,,,,98,98,,,98,,,98,98,,,,,,,98,,,,,,98,',
461
+ ',,98,98,,98,98,,,,98,98,98,98,98,,,98,98,98,99,99,98,,99,99,,99,,,,',
462
+ ',,,,,,,,,,,,99,99,,,,,,99,,99,,99,99,,99,99,99,,99,99,,,,,99,99,,,99',
463
+ ',,99,99,,,,,,,99,,,,,,99,,,,99,99,,99,99,,,,99,99,99,99,99,,,99,99,99',
464
+ '100,100,99,,100,100,,100,,,,,,,,,,,,,,,,,100,100,,,,,,100,,100,,100',
465
+ '100,,100,100,100,,100,100,,,,,100,100,,,100,,,100,100,,,,,,,100,,,,',
466
+ ',100,,,,100,100,,100,100,,,,100,100,100,100,100,,,100,100,100,101,101',
467
+ '100,,101,101,,101,,,,,,,,,,,,,,,,,101,101,,,,,,101,,101,,101,101,,101',
468
+ '101,101,,101,101,,,,,101,101,,,101,,,101,101,,,,,,,101,,,,,,101,,,,101',
469
+ '101,,101,101,,,,101,101,101,101,101,,,101,101,101,102,102,101,,102,102',
470
+ ',102,,,,,,,,,,,,,,,,,102,102,,,,,,102,,102,,102,102,,102,102,102,,102',
471
+ '102,,,,,102,102,,,102,,,102,102,,,,,,,102,,,,,,102,,,,102,102,,102,102',
472
+ ',,,102,102,102,102,102,,,102,102,102,103,103,102,,103,103,,103,,,,,',
473
+ ',,,,,,,,,,,103,103,,,,,,103,,103,,103,103,,103,103,103,,103,103,,,,',
474
+ '103,103,,,103,,,103,103,,,,,,,103,,,,,,103,,,,103,103,,103,103,,,,103',
475
+ '103,103,103,103,,,103,103,103,104,104,103,,104,104,,104,,,,,,,,,,,,',
476
+ ',,,,104,104,,,,,,104,,104,,104,104,,104,104,104,,104,104,,,,,104,104',
477
+ ',,104,,,104,104,,,,,,,104,,,,,,104,,,,104,104,,104,104,,,,104,104,104',
478
+ '104,104,,,104,104,104,105,105,104,,105,105,,105,,,,,,,,,,,,,,,,,105',
479
+ '105,,,,,,105,,105,,105,105,,105,105,105,,105,105,,,,,105,105,,,105,',
480
+ ',105,105,,,,,,,105,,,,,,105,,,,105,105,,105,105,,,,105,105,105,105,105',
481
+ ',,105,105,105,106,106,105,,106,106,,106,,,,,,,,,,,,,,,,,106,106,,,,',
482
+ ',106,,106,,106,106,,106,106,106,,106,106,,,,,106,106,,,106,,,106,106',
483
+ ',,,,,,106,,,,,,106,,,,106,106,,106,106,,,,106,106,106,106,106,,,106',
484
+ '106,106,107,107,106,,107,107,,107,,,,,,,,,,,,,,,,,107,107,,,,,,107,',
485
+ '107,,107,107,,107,107,107,,107,107,,,,,107,107,,,107,,,107,107,,,,,',
486
+ ',107,,,,,,107,,,,107,107,,107,107,,,,107,107,107,107,107,,,107,107,107',
487
+ '108,108,107,,108,108,,108,,,,,,,,,,,,,,,,,108,108,,,,,,108,,108,,108',
488
+ '108,,108,108,108,,108,108,,,,,108,108,,,108,,,108,108,,,,,,,108,,,,',
489
+ ',108,,,,108,108,,108,108,,,,108,108,108,108,108,,,108,108,108,109,109',
490
+ '108,,109,109,,109,,,,,,,,,,,,,,,,,109,109,,,,,,109,,109,,109,109,,109',
491
+ '109,109,,109,109,,,,,109,109,,,109,,,109,109,,,,,,,109,,,,,,109,,,,109',
492
+ '109,,109,109,,,,109,109,109,109,109,,,109,109,109,110,110,109,,110,110',
493
+ ',110,,,,,,,,,,,,,,,,,110,110,,,,,,110,,110,,110,110,,110,110,110,,110',
494
+ '110,,,,,110,110,,,110,,,110,110,,,,,,,110,,,,,,110,,,,110,110,,110,110',
495
+ ',,,110,110,110,110,110,,,110,110,110,111,111,110,,111,111,,111,,,,,',
496
+ ',,,,,,,,,,,111,111,,,,,,111,,111,,111,111,,111,111,111,,111,111,,,,',
497
+ '111,111,,,111,,,111,111,,,,,,,111,,,,,,111,,,,111,111,,111,111,,,,111',
498
+ '111,111,111,111,,,111,111,111,112,112,111,,112,112,,112,,,,,,,,,,,,',
499
+ ',,,,112,112,,,,,,112,,112,,112,112,,112,112,112,,112,112,,,,,112,112',
500
+ ',,112,,,112,112,,,,,,,112,,,,,,112,,,,112,112,,112,112,,,,112,112,112',
501
+ '112,112,,,112,112,112,113,113,112,,113,113,,113,,,,,,,,,,,,,,,,,113',
502
+ '113,,,,,,113,,113,,113,113,,113,113,113,,113,113,,,,,113,113,,,113,',
503
+ ',113,113,,,,,,,113,,,,,,113,,,,113,113,,113,113,,,,113,113,113,113,113',
504
+ ',,113,113,113,114,114,113,,114,114,,114,,,,,,,,,,,,,,,,,114,114,,,,',
505
+ ',114,,114,,114,114,,114,114,114,,114,114,,,,,114,114,,,114,,,114,114',
506
+ ',,,,,,114,,,,,,114,,,,114,114,,114,114,,,,114,114,114,114,114,,,114',
507
+ '114,114,115,115,114,,115,115,,115,,,,,,,,,,,,,,,,,115,115,,,,,,115,',
508
+ '115,,115,115,,115,115,115,,115,115,,,,,115,115,,,115,,,115,115,,,,,',
509
+ ',115,,,,,,115,,,115,115,115,,115,115,,,,115,115,115,115,115,,,115,115',
510
+ '115,116,116,115,,116,116,,116,,,,,,,,,,,,,,,,,116,116,,,,,,116,,116',
511
+ ',116,116,,116,116,116,,116,116,116,116,,,116,116,,,116,,,116,116,,,',
512
+ ',,,116,,,,,,116,,,,116,116,,116,116,,,,116,116,116,116,116,116,116,116',
513
+ '116,116,120,120,116,,120,120,,120,,,,,,,,,,,,,,,,,120,120,,,,,,120,',
514
+ '120,,120,120,,120,120,120,,120,120,,,,,120,120,,,120,,,120,120,,,,,',
515
+ ',120,,,,,,120,,,,120,120,,120,120,,,,120,120,120,120,120,,,120,120,120',
516
+ '121,121,120,,121,121,,121,,,,,,,,,,,,,,,,,121,121,,,,,,121,,121,,121',
517
+ '121,,121,121,121,,121,121,,,,,121,121,,,121,,,121,121,,,,,,,121,,,,',
518
+ ',121,,,,121,121,,121,121,,,,121,121,121,121,121,,,121,121,121,464,464',
519
+ '121,,464,464,,464,,,,,,,,,,,,,,,,,464,464,,,,,,464,,464,,464,464,,464',
520
+ '464,464,,464,464,464,464,,,464,464,,,464,,,464,464,,,,,,,464,,,,,,464',
521
+ ',,,464,464,,464,464,,,,464,464,464,464,464,464,464,464,464,464,461,461',
522
+ '464,,461,461,,461,,,,,,,,,,,,,,,,,461,461,,,,,,461,,461,,461,461,,461',
523
+ '461,461,,461,461,461,461,,,461,461,,,461,,,461,461,,,,,,,461,,,,,,461',
524
+ ',,,461,461,,461,461,,,,461,461,461,461,461,,,461,461,461,124,124,461',
525
+ ',124,124,,124,,,,,,,,,,,,,,,,,124,124,,,,,,124,,124,,124,124,,124,124',
526
+ '124,,124,124,,,,,124,124,,,124,,,124,124,,,,,,,124,,,,,,124,,,,124,124',
527
+ ',124,124,,,,124,124,124,124,124,,,124,124,124,10,10,124,,10,10,,10,',
528
+ ',,,,,,,,,,,,,,,10,10,,,,,,10,,10,,10,10,,10,10,10,,10,10,10,10,,,10',
529
+ '10,,,10,,,10,10,,,,,,,10,,,,,,10,,,,10,10,,10,10,,,,10,10,10,10,10,',
530
+ ',10,10,10,458,458,10,,458,458,,458,,,,,,,,,,,,,,,,,458,458,,,,,,458',
531
+ ',458,,458,458,,458,458,458,,458,458,458,458,,,458,458,,,458,,,458,458',
532
+ ',,,,,,458,,,,,,458,,,,458,458,,458,458,,,,458,458,458,458,458,458,458',
533
+ '458,458,458,450,450,458,,450,450,,450,,,,,,,,,,,,,,,,,450,450,,,,,,450',
534
+ ',450,,450,450,,450,450,450,,450,450,450,450,,,450,450,,,450,,,450,450',
535
+ ',,,,,,450,,,,,,450,,,,450,450,,450,450,,,,450,450,450,450,450,,,450',
536
+ '450,450,443,443,450,,443,443,,443,,,,,,,,,,,,,,,,,443,443,,,,,,443,',
537
+ '443,,443,443,,443,443,443,,443,443,,,,,443,443,,,443,,,443,443,,,,,',
538
+ ',443,,,,,,443,,,,443,443,,443,443,,,,443,443,443,443,443,,,443,443,443',
539
+ '426,426,443,,426,426,,426,,,,,,,,,,,,,,,,,426,426,,,,,,426,,426,,426',
540
+ '426,,426,426,426,,426,426,426,426,,,426,426,,,426,,,426,426,,,,,,,426',
541
+ ',,,,,426,,,,426,426,,426,426,,,,426,426,426,426,426,426,426,426,426',
542
+ '426,161,161,426,,161,161,,161,,,,,,,,,,,,,,,,,161,161,161,,,,,161,,161',
543
+ ',161,161,,161,161,161,,161,161,161,161,,,161,161,,,161,,,161,161,,,',
544
+ ',,,161,,,,,,161,,,,161,161,,161,161,,,,161,161,161,161,161,161,161,161',
545
545
  '161,161,11,11,161,,11,11,,11,,,,,,,,,,,,,,,,,11,11,,,,,,11,,11,,11,11',
546
546
  ',11,11,11,,11,11,11,11,,,11,11,,,11,,,11,11,,,,,,,11,,,,,,11,,,,11,11',
547
547
  ',11,11,,,,11,11,11,11,11,,,11,11,11,522,522,11,,522,522,,522,,,,,,,',
@@ -750,7 +750,7 @@ racc_action_pointer = [
750
750
  nil, 269, nil, nil, nil, nil, nil, nil, nil, nil,
751
751
  nil, nil, nil, nil, nil, nil, nil, nil, 290, 7642,
752
752
  10571, 305, nil, 332, nil, 310, nil, 314, 10397, nil,
753
- 273, nil, 184, 366, 369, nil, 7460, 380, 319, 381,
753
+ 273, nil, 150, 366, 369, nil, 7460, 380, 319, 381,
754
754
  7005, nil, nil, 6914, nil, 395, 135, 404, 396, 9114,
755
755
  119, 6550, nil, 6459, 6368, 10455, 6186, 441, nil, 461,
756
756
  nil, 9037, nil, nil, 464, nil, 5640, nil, nil, nil,
@@ -761,189 +761,191 @@ racc_action_pointer = [
761
761
  2091, 517, 496, nil, 524, 1909, 540, nil, nil, 542,
762
762
  nil, nil, 544, 542, 546, 548, 1818, nil, 1363, 547,
763
763
  nil, nil, 551, 519, nil, nil, nil, nil, 553, nil,
764
- nil, 554, 555, nil, 150, nil, nil, 1181, nil, 726,
764
+ nil, 554, 555, nil, 184, nil, nil, 1181, nil, 726,
765
765
  10248, 1272, nil, nil, 563, nil, 1090, 565, nil, 566,
766
766
  570, nil, 5913, nil, nil, nil, nil, 573, nil, 582,
767
- nil, 583, nil, nil, nil, 586, nil, nil, nil, 435,
768
- nil, nil, nil, nil, nil ]
767
+ nil, 583, nil, nil, nil, 586, nil, nil, nil, nil,
768
+ 435, nil, nil, nil, nil, nil ]
769
769
 
770
770
  racc_action_default = [
771
- -3, -300, -1, -2, -4, -5, -8, -10, -18, -23,
772
- -300, -300, -192, -35, -36, -37, -38, -300, -300, -300,
773
- -300, -300, -70, -71, -72, -73, -74, -75, -76, -77,
771
+ -3, -301, -1, -2, -4, -5, -8, -10, -18, -23,
772
+ -301, -301, -193, -35, -36, -37, -38, -301, -301, -301,
773
+ -301, -301, -70, -71, -72, -73, -74, -75, -76, -77,
774
774
  -78, -79, -80, -81, -82, -83, -84, -85, -86, -87,
775
775
  -88, -89, -90, -91, -92, -93, -94, -95, -96, -97,
776
- -300, -300, -104, -108, -300, -300, -300, -300, -300, -300,
777
- -300, -300, -300, -300, -300, -248, -271, -247, -300, -219,
778
- -220, -221, -300, -300, -300, -244, -245, -246, -300, -250,
779
- -300, -263, -266, -300, -272, -300, -300, -7, -300, -300,
780
- -300, -300, -300, -300, -300, -300, -145, -300, -300, -300,
781
- -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
782
- -300, -300, -300, -300, -300, -300, -300, -102, -300, -140,
783
- -299, -299, -24, -25, -300, -299, -162, -189, -190, -191,
784
- -192, -193, -300, -157, -158, -49, -192, -50, -57, -300,
785
- -300, -14, -15, -16, -273, -99, -238, -240, -243, -239,
786
- -300, -235, -241, -242, -103, -209, -216, -271, -105, -299,
787
- -300, -300, -300, -116, -300, -300, -299, -299, -300, -299,
788
- -300, -300, -273, -173, -175, -176, -177, -178, -179, -181,
789
- -182, -247, -248, -299, -300, -273, -223, -232, -233, -236,
790
- -273, -225, -300, -228, -229, -234, -249, -300, -254, -257,
791
- -300, -261, -300, -300, -300, 545, -6, -9, -11, -12,
792
- -13, -19, -20, -21, -22, -300, -273, -300, -95, -96,
793
- -97, -291, -284, -290, -278, -146, -149, -300, -281, -295,
794
- -192, -298, -287, -293, -220, -221, -277, -282, -283, -285,
795
- -286, -288, -296, -297, -39, -40, -41, -42, -43, -44,
776
+ -301, -301, -104, -108, -301, -301, -301, -301, -301, -301,
777
+ -301, -301, -301, -301, -301, -249, -272, -248, -301, -220,
778
+ -221, -222, -301, -301, -301, -245, -246, -247, -301, -251,
779
+ -301, -264, -267, -301, -273, -301, -301, -7, -301, -301,
780
+ -301, -301, -301, -301, -301, -301, -145, -301, -301, -301,
781
+ -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
782
+ -301, -301, -301, -301, -301, -301, -301, -102, -301, -140,
783
+ -300, -300, -24, -25, -301, -300, -163, -190, -191, -192,
784
+ -193, -194, -301, -157, -158, -49, -193, -50, -57, -301,
785
+ -301, -14, -15, -16, -274, -99, -239, -241, -244, -240,
786
+ -301, -236, -242, -243, -103, -210, -217, -272, -105, -300,
787
+ -301, -301, -301, -116, -301, -301, -300, -300, -301, -300,
788
+ -301, -301, -274, -174, -176, -177, -178, -179, -180, -182,
789
+ -183, -248, -249, -300, -301, -274, -224, -233, -234, -237,
790
+ -274, -226, -301, -229, -230, -235, -250, -301, -255, -258,
791
+ -301, -262, -301, -301, -301, 546, -6, -9, -11, -12,
792
+ -13, -19, -20, -21, -22, -301, -274, -301, -95, -96,
793
+ -97, -292, -285, -291, -279, -146, -149, -301, -282, -296,
794
+ -193, -299, -288, -294, -221, -222, -278, -283, -284, -286,
795
+ -287, -289, -297, -298, -39, -40, -41, -42, -43, -44,
796
796
  -45, -46, -47, -48, -51, -52, -53, -54, -55, -56,
797
- -58, -59, -300, -60, -134, -300, -23, -273, -64, -67,
798
- -109, -110, -145, -144, -300, -143, -300, -275, -300, -30,
799
- -299, -194, -300, -300, -300, -61, -62, -274, -300, -101,
800
- -300, -300, -261, -300, -300, -300, -188, -114, -273, -199,
801
- -201, -202, -203, -204, -206, -300, -300, -271, -300, -107,
802
- -300, -300, -300, -300, -300, -300, -300, -273, -300, -170,
803
- -299, -274, -300, -299, -213, -214, -215, -300, -274, -300,
804
- -226, -300, -251, -252, -253, -255, -300, -258, -259, -260,
805
- -262, -273, -264, -267, -269, -270, -8, -300, -145, -300,
806
- -274, -300, -300, -300, -300, -273, -136, -300, -274, -273,
807
- -148, -300, -278, -279, -280, -281, -284, -287, -289, -290,
808
- -291, -292, -293, -294, -295, -298, -141, -142, -300, -276,
809
- -145, -300, -165, -300, -195, -273, -196, -273, -145, -17,
810
- -98, -231, -300, -300, -300, -111, -300, -186, -300, -274,
811
- -300, -207, -208, -300, -106, -300, -119, -300, -125, -68,
812
- -300, -300, -129, -299, -299, -145, -299, -300, -169, -300,
813
- -183, -300, -174, -180, -300, -211, -300, -222, -237, -224,
814
- -227, -230, -256, -300, -300, -273, -28, -147, -152, -150,
815
- -151, -138, -300, -274, -63, -65, -300, -27, -31, -273,
816
- -299, -166, -167, -168, -300, -300, -273, -100, -300, -210,
817
- -217, -261, -300, -113, -300, -115, -200, -205, -119, -118,
818
- -300, -300, -125, -124, -300, -300, -300, -128, -130, -300,
819
- -163, -164, -300, -273, -300, -300, -300, -184, -299, -273,
820
- -265, -268, -300, -32, -135, -137, -139, -29, -300, -197,
821
- -198, -300, -300, -112, -300, -117, -120, -300, -123, -300,
822
- -69, -299, -153, -154, -300, -159, -299, -300, -172, -300,
823
- -300, -26, -33, -161, -156, -218, -187, -300, -122, -300,
824
- -127, -300, -132, -133, -155, -300, -171, -185, -212, -275,
825
- -121, -126, -131, -160, -34 ]
797
+ -58, -59, -301, -60, -134, -301, -23, -274, -64, -67,
798
+ -109, -110, -145, -144, -301, -143, -301, -276, -301, -30,
799
+ -300, -195, -301, -301, -301, -61, -62, -275, -301, -101,
800
+ -301, -301, -262, -301, -301, -301, -189, -114, -274, -200,
801
+ -202, -203, -204, -205, -207, -301, -301, -272, -301, -107,
802
+ -301, -301, -301, -301, -301, -301, -301, -274, -301, -171,
803
+ -300, -275, -301, -300, -214, -215, -216, -301, -275, -301,
804
+ -227, -301, -252, -253, -254, -256, -301, -259, -260, -261,
805
+ -263, -274, -265, -268, -270, -271, -8, -301, -145, -301,
806
+ -275, -301, -301, -301, -301, -274, -136, -301, -275, -274,
807
+ -148, -301, -279, -280, -281, -282, -285, -288, -290, -291,
808
+ -292, -293, -294, -295, -296, -299, -141, -142, -301, -277,
809
+ -145, -301, -166, -301, -196, -274, -197, -274, -145, -17,
810
+ -98, -232, -301, -301, -301, -111, -301, -187, -301, -275,
811
+ -301, -208, -209, -301, -106, -301, -119, -301, -125, -68,
812
+ -301, -301, -129, -300, -300, -145, -300, -301, -170, -301,
813
+ -184, -301, -175, -181, -301, -212, -301, -223, -238, -225,
814
+ -228, -231, -257, -301, -301, -274, -28, -147, -152, -150,
815
+ -151, -138, -301, -275, -63, -65, -301, -27, -31, -274,
816
+ -300, -167, -168, -169, -301, -301, -274, -100, -301, -211,
817
+ -218, -262, -301, -113, -301, -115, -201, -206, -119, -118,
818
+ -301, -301, -125, -124, -301, -301, -301, -128, -130, -301,
819
+ -164, -165, -301, -274, -301, -301, -301, -185, -300, -274,
820
+ -266, -269, -301, -32, -135, -137, -139, -29, -301, -198,
821
+ -199, -301, -301, -112, -301, -117, -120, -301, -123, -301,
822
+ -69, -300, -153, -154, -301, -159, -301, -301, -173, -301,
823
+ -301, -26, -33, -162, -156, -219, -188, -301, -122, -301,
824
+ -127, -301, -132, -133, -155, -301, -161, -172, -186, -213,
825
+ -276, -121, -126, -131, -160, -34 ]
826
826
 
827
827
  racc_goto_table = [
828
- 2, 126, 277, 177, 175, 135, 137, 138, 343, 267,
829
- 139, 140, 158, 194, 216, 155, 187, 187, 196, 294,
830
- 275, 275, 378, 339, 264, 281, 188, 188, 156, 325,
831
- 298, 445, 422, 87, 412, 144, 479, 482, 337, 484,
832
- 141, 3, 162, 164, 165, 469, 166, 167, 492, 126,
833
- 185, 190, 473, 183, 448, 269, 274, 276, 263, 296,
834
- 326, 395, 141, 141, 195, 506, 281, 281, 198, 281,
835
- 132, 203, 341, 498, 411, 531, 355, 437, 207, 208,
836
- 209, 210, 169, 281, 215, 244, 245, 246, 247, 248,
828
+ 2, 126, 277, 177, 267, 135, 137, 138, 175, 264,
829
+ 139, 140, 158, 275, 275, 155, 156, 194, 343, 378,
830
+ 187, 187, 325, 339, 294, 87, 196, 298, 445, 188,
831
+ 188, 422, 144, 412, 122, 123, 185, 190, 216, 132,
832
+ 141, 337, 162, 164, 165, 3, 166, 167, 492, 126,
833
+ 448, 473, 296, 183, 274, 276, 263, 326, 469, 269,
834
+ 395, 506, 141, 141, 195, 411, 531, 355, 198, 341,
835
+ 437, 203, 169, 381, 451, 419, 423, 466, 207, 208,
836
+ 209, 210, 168, 402, 215, 244, 245, 246, 247, 248,
837
837
  249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
838
- 259, 260, 261, 262, 266, 289, 195, 505, 273, 273,
839
- 155, 519, 278, 168, 393, 206, 508, 288, 381, 451,
840
- 280, 284, 419, 156, 155, 126, 423, 466, 402, 401,
841
- 391, 445, 487, 478, 428, 1, 167, 338, 183, 535,
842
- 335, 336, 334, 194, 199, 320, 308, 201, 324, nil,
843
- nil, 141, 385, 387, nil, 317, nil, 315, 327, nil,
844
- 141, 313, 314, 329, 316, nil, 155, 122, 123, 425,
845
- nil, 318, 177, 175, 356, nil, nil, nil, 323, nil,
846
- 382, nil, nil, 424, 392, 155, nil, nil, nil, 349,
847
- 359, nil, nil, nil, 346, nil, nil, nil, 156, nil,
848
- nil, 340, nil, nil, 347, 137, nil, nil, nil, nil,
849
- 162, 164, 165, nil, nil, nil, nil, 166, 167, 126,
850
- 420, nil, 183, 296, nil, nil, nil, nil, nil, nil,
851
- 269, 389, nil, nil, nil, nil, nil, nil, nil, 491,
852
- 357, nil, nil, nil, nil, nil, 155, 155, nil, 211,
853
- 212, 213, 214, 262, nil, nil, nil, nil, nil, 397,
854
- nil, 177, 175, nil, nil, nil, 435, nil, nil, nil,
855
- 431, 398, 187, nil, nil, nil, 432, 141, nil, 266,
856
- 195, 195, 188, 502, 544, nil, nil, nil, nil, nil,
857
- 417, nil, 340, nil, nil, nil, nil, 269, 449, nil,
858
- 409, nil, nil, nil, nil, nil, 456, nil, nil, nil,
859
- 405, 407, nil, nil, 433, nil, nil, nil, 141, 489,
860
- nil, 195, nil, nil, nil, nil, 198, nil, 442, nil,
861
- nil, nil, 446, 483, nil, nil, nil, nil, nil, 438,
862
- 439, 440, 441, nil, nil, nil, 266, 389, 195, nil,
863
- 457, nil, 495, nil, nil, nil, nil, 504, 454, nil,
864
- 455, 177, 175, 155, nil, 269, nil, 278, nil, nil,
865
- nil, nil, 452, nil, nil, nil, nil, nil, nil, nil,
866
- nil, nil, nil, nil, nil, nil, nil, nil, 467, nil,
867
- nil, nil, nil, 141, nil, nil, 462, 269, nil, 409,
868
- 539, nil, nil, 269, nil, nil, nil, nil, 493, nil,
869
- nil, 532, nil, nil, 266, nil, 195, nil, nil, nil,
870
- nil, nil, 497, nil, nil, nil, nil, nil, nil, 501,
838
+ 259, 260, 261, 262, 266, 289, 195, 206, 273, 273,
839
+ 155, 156, 278, 401, 393, 508, 211, 212, 213, 214,
840
+ 505, 284, 391, 280, 155, 126, 428, 1, 445, 338,
841
+ 335, 487, 478, 336, 334, 199, 167, 201, 183, nil,
842
+ nil, nil, nil, 308, nil, nil, nil, 194, 324, 385,
843
+ 387, 141, 317, 479, 482, nil, 484, 315, nil, 356,
844
+ 141, nil, 425, nil, 313, 314, 155, 316, nil, nil,
845
+ nil, 318, 177, 382, nil, nil, nil, 175, nil, 392,
846
+ 288, 323, nil, nil, nil, 155, 156, nil, 424, nil,
847
+ 498, nil, nil, nil, 346, nil, nil, nil, nil, nil,
848
+ nil, 340, nil, nil, 347, 137, nil, nil, 320, nil,
849
+ 162, 164, 165, 420, 359, nil, 296, 166, 167, 126,
850
+ nil, 327, 183, nil, nil, nil, 329, nil, 519, nil,
851
+ nil, nil, nil, nil, 269, 389, nil, nil, nil, nil,
852
+ nil, nil, nil, nil, nil, nil, 155, 155, nil, 491,
853
+ nil, nil, 349, 262, nil, nil, nil, nil, nil, 397,
854
+ nil, 177, nil, nil, nil, nil, 175, nil, nil, nil,
855
+ nil, nil, nil, nil, 431, nil, 187, 141, nil, 266,
856
+ 195, 195, 545, 502, 432, 188, nil, nil, nil, nil,
857
+ 435, nil, 340, nil, nil, nil, nil, nil, nil, nil,
858
+ 409, 269, nil, 357, nil, nil, 481, 481, nil, 481,
859
+ 405, 407, nil, nil, 489, nil, nil, nil, 141, nil,
860
+ nil, 195, 449, nil, nil, nil, 198, nil, nil, nil,
861
+ 456, nil, nil, nil, 398, nil, nil, 495, nil, 438,
862
+ 439, 440, 441, 481, nil, nil, 266, nil, 195, nil,
863
+ 457, 389, 504, 417, nil, nil, nil, 483, nil, nil,
864
+ nil, 177, nil, 155, nil, nil, 175, 278, nil, 269,
865
+ nil, nil, 452, nil, nil, nil, nil, 433, nil, nil,
866
+ nil, 481, nil, nil, nil, nil, nil, nil, 467, nil,
867
+ nil, 442, nil, 141, nil, 446, 462, nil, nil, 409,
868
+ 540, 269, nil, nil, 532, nil, nil, 269, nil, nil,
869
+ nil, nil, nil, nil, 266, nil, 195, nil, nil, nil,
870
+ nil, 454, nil, 455, nil, nil, nil, nil, nil, nil,
871
871
  nil, 262, nil, nil, nil, nil, nil, nil, nil, nil,
872
872
  nil, nil, nil, nil, nil, nil, 266, nil, 195, nil,
873
- nil, nil, 266, nil, 195, nil, 514, nil, 162, nil,
874
- nil, 340, 520, 510, nil, nil, nil, nil, nil, nil,
875
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
876
- nil, nil, nil, nil, nil, nil, 517, nil, nil, nil,
877
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
873
+ nil, nil, 266, nil, 195, nil, nil, nil, 162, nil,
874
+ nil, 340, nil, 510, nil, nil, nil, nil, nil, nil,
875
+ nil, 493, nil, nil, nil, nil, nil, nil, nil, nil,
876
+ nil, nil, nil, nil, nil, 497, 517, nil, nil, nil,
877
+ nil, nil, 501, nil, nil, nil, nil, nil, nil, nil,
878
878
  nil, nil, nil, nil, nil, nil, nil, 527, nil, 529,
879
- 278, 533 ]
879
+ 278, 533, nil, nil, nil, nil, 535, nil, nil, 514,
880
+ nil, nil, nil, nil, nil, 520 ]
880
881
 
881
882
  racc_goto_check = [
882
- 2, 72, 15, 47, 48, 12, 12, 12, 108, 24,
883
- 6, 6, 51, 9, 13, 49, 8, 8, 101, 55,
884
- 64, 64, 16, 91, 65, 64, 96, 96, 89, 46,
885
- 57, 25, 81, 5, 62, 10, 74, 74, 97, 74,
886
- 6, 3, 12, 12, 12, 59, 72, 72, 14, 72,
887
- 92, 92, 60, 72, 18, 9, 68, 68, 23, 64,
888
- 45, 56, 6, 6, 6, 58, 64, 64, 6, 64,
889
- 75, 12, 57, 74, 61, 63, 66, 69, 6, 6,
890
- 6, 6, 76, 64, 12, 12, 12, 12, 12, 12,
883
+ 2, 72, 15, 47, 24, 12, 12, 12, 48, 65,
884
+ 6, 6, 51, 64, 64, 49, 89, 9, 108, 16,
885
+ 8, 8, 46, 91, 55, 5, 101, 57, 25, 96,
886
+ 96, 81, 10, 62, 11, 11, 92, 92, 13, 75,
887
+ 6, 97, 12, 12, 12, 3, 72, 72, 14, 72,
888
+ 18, 60, 64, 72, 68, 68, 23, 45, 59, 9,
889
+ 56, 58, 6, 6, 6, 61, 63, 66, 6, 57,
890
+ 69, 12, 76, 77, 78, 80, 83, 84, 6, 6,
891
+ 6, 6, 75, 85, 12, 12, 12, 12, 12, 12,
891
892
  12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
892
- 12, 12, 12, 12, 12, 51, 6, 59, 12, 12,
893
- 49, 74, 12, 75, 91, 5, 60, 17, 77, 78,
894
- 73, 72, 80, 89, 49, 72, 83, 84, 85, 87,
895
- 94, 25, 81, 62, 95, 1, 72, 98, 72, 74,
896
- 102, 103, 105, 9, 106, 17, 10, 107, 49, nil,
897
- nil, 6, 57, 57, nil, 10, nil, 72, 17, nil,
898
- 6, 73, 73, 17, 73, nil, 49, 11, 11, 46,
899
- nil, 2, 47, 48, 65, nil, nil, nil, 73, nil,
900
- 64, nil, nil, 55, 24, 49, nil, nil, nil, 17,
901
- 13, nil, nil, nil, 6, nil, nil, nil, 89, nil,
902
- nil, 2, nil, nil, 2, 12, nil, nil, nil, nil,
903
- 12, 12, 12, nil, nil, nil, nil, 72, 72, 72,
904
- 64, nil, 72, 64, nil, nil, nil, nil, nil, nil,
905
- 9, 8, nil, nil, nil, nil, nil, nil, nil, 108,
906
- 17, nil, nil, nil, nil, nil, 49, 49, nil, 11,
907
- 11, 11, 11, 12, nil, nil, nil, nil, nil, 49,
908
- nil, 47, 48, nil, nil, nil, 13, nil, nil, nil,
909
- 9, 17, 8, nil, nil, nil, 101, 6, nil, 12,
910
- 6, 6, 96, 91, 16, nil, nil, nil, nil, nil,
911
- 17, nil, 2, nil, nil, nil, nil, 9, 13, nil,
912
- 12, nil, nil, nil, nil, nil, 13, nil, nil, nil,
913
- 2, 2, nil, nil, 17, nil, nil, nil, 6, 24,
914
- nil, 6, nil, nil, nil, nil, 6, nil, 17, nil,
915
- nil, nil, 17, 13, nil, nil, nil, nil, nil, 12,
916
- 12, 12, 12, nil, nil, nil, 12, 8, 6, nil,
917
- 51, nil, 65, nil, nil, nil, nil, 24, 17, nil,
918
- 17, 47, 48, 49, nil, 9, nil, 12, nil, nil,
919
- nil, nil, 72, nil, nil, nil, nil, nil, nil, nil,
920
- nil, nil, nil, nil, nil, nil, nil, nil, 12, nil,
921
- nil, nil, nil, 6, nil, nil, 2, 9, nil, 12,
922
- 15, nil, nil, 9, nil, nil, nil, nil, 17, nil,
923
- nil, 64, nil, nil, 12, nil, 6, nil, nil, nil,
924
- nil, nil, 17, nil, nil, nil, nil, nil, nil, 17,
893
+ 12, 12, 12, 12, 12, 51, 6, 5, 12, 12,
894
+ 49, 89, 12, 87, 91, 60, 11, 11, 11, 11,
895
+ 59, 72, 94, 73, 49, 72, 95, 1, 25, 98,
896
+ 102, 81, 62, 103, 105, 106, 72, 107, 72, nil,
897
+ nil, nil, nil, 10, nil, nil, nil, 9, 49, 57,
898
+ 57, 6, 10, 74, 74, nil, 74, 72, nil, 65,
899
+ 6, nil, 46, nil, 73, 73, 49, 73, nil, nil,
900
+ nil, 2, 47, 64, nil, nil, nil, 48, nil, 24,
901
+ 17, 73, nil, nil, nil, 49, 89, nil, 55, nil,
902
+ 74, nil, nil, nil, 6, nil, nil, nil, nil, nil,
903
+ nil, 2, nil, nil, 2, 12, nil, nil, 17, nil,
904
+ 12, 12, 12, 64, 13, nil, 64, 72, 72, 72,
905
+ nil, 17, 72, nil, nil, nil, 17, nil, 74, nil,
906
+ nil, nil, nil, nil, 9, 8, nil, nil, nil, nil,
907
+ nil, nil, nil, nil, nil, nil, 49, 49, nil, 108,
908
+ nil, nil, 17, 12, nil, nil, nil, nil, nil, 49,
909
+ nil, 47, nil, nil, nil, nil, 48, nil, nil, nil,
910
+ nil, nil, nil, nil, 9, nil, 8, 6, nil, 12,
911
+ 6, 6, 16, 91, 101, 96, nil, nil, nil, nil,
912
+ 13, nil, 2, nil, nil, nil, nil, nil, nil, nil,
913
+ 12, 9, nil, 17, nil, nil, 64, 64, nil, 64,
914
+ 2, 2, nil, nil, 24, nil, nil, nil, 6, nil,
915
+ nil, 6, 13, nil, nil, nil, 6, nil, nil, nil,
916
+ 13, nil, nil, nil, 17, nil, nil, 65, nil, 12,
917
+ 12, 12, 12, 64, nil, nil, 12, nil, 6, nil,
918
+ 51, 8, 24, 17, nil, nil, nil, 13, nil, nil,
919
+ nil, 47, nil, 49, nil, nil, 48, 12, nil, 9,
920
+ nil, nil, 72, nil, nil, nil, nil, 17, nil, nil,
921
+ nil, 64, nil, nil, nil, nil, nil, nil, 12, nil,
922
+ nil, 17, nil, 6, nil, 17, 2, nil, nil, 12,
923
+ 15, 9, nil, nil, 64, nil, nil, 9, nil, nil,
924
+ nil, nil, nil, nil, 12, nil, 6, nil, nil, nil,
925
+ nil, 17, nil, 17, nil, nil, nil, nil, nil, nil,
925
926
  nil, 12, nil, nil, nil, nil, nil, nil, nil, nil,
926
927
  nil, nil, nil, nil, nil, nil, 12, nil, 6, nil,
927
- nil, nil, 12, nil, 6, nil, 17, nil, 12, nil,
928
- nil, 2, 17, 12, nil, nil, nil, nil, nil, nil,
929
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
930
- nil, nil, nil, nil, nil, nil, 2, nil, nil, nil,
931
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
928
+ nil, nil, 12, nil, 6, nil, nil, nil, 12, nil,
929
+ nil, 2, nil, 12, nil, nil, nil, nil, nil, nil,
930
+ nil, 17, nil, nil, nil, nil, nil, nil, nil, nil,
931
+ nil, nil, nil, nil, nil, 17, 2, nil, nil, nil,
932
+ nil, nil, 17, nil, nil, nil, nil, nil, nil, nil,
932
933
  nil, nil, nil, nil, nil, nil, nil, 2, nil, 2,
933
- 12, 2 ]
934
+ 12, 2, nil, nil, nil, nil, 2, nil, nil, 17,
935
+ nil, nil, nil, nil, nil, 17 ]
934
936
 
935
937
  racc_goto_pointer = [
936
- nil, 135, 0, 41, nil, 29, -10, nil, -56, -61,
937
- -15, 157, -12, -82, -387, -122, -255, -27, -325, nil,
938
- nil, nil, nil, -57, -107, -327, nil, nil, nil, nil,
938
+ nil, 127, 0, 45, nil, 21, -10, nil, -52, -57,
939
+ -18, 24, -12, -58, -387, -122, -258, 36, -329, nil,
940
+ nil, nil, nil, -59, -112, -330, nil, nil, nil, nil,
939
941
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
940
- nil, nil, nil, nil, nil, -124, -155, -60, -59, -36,
941
- nil, -40, nil, nil, nil, -140, -233, -130, -405, -361,
942
- -356, -238, -278, -436, -100, -91, -189, nil, -64, -273,
943
- nil, nil, -11, -5, -377, 54, 22, -162, -264, nil,
944
- -198, -289, nil, -196, -272, -178, nil, -176, nil, -23,
945
- nil, -178, -22, nil, -160, -194, -46, -162, -63, nil,
946
- nil, -60, -57, -56, nil, -55, 64, 66, -195 ]
942
+ nil, nil, nil, nil, nil, -127, -162, -60, -55, -36,
943
+ nil, -40, nil, nil, nil, -135, -234, -133, -409, -348,
944
+ -357, -247, -279, -445, -107, -106, -198, nil, -66, -280,
945
+ nil, nil, -11, -2, -260, 23, 12, -207, -309, nil,
946
+ -245, -290, nil, -246, -322, -223, nil, -192, nil, -35,
947
+ nil, -178, -36, nil, -168, -202, -43, -159, -71, nil,
948
+ nil, -52, -67, -64, nil, -63, 55, 56, -185 ]
947
949
 
948
950
  racc_goto_default = [
949
951
  nil, nil, 480, nil, 4, 5, 6, 7, 143, 142,
@@ -952,7 +954,7 @@ racc_goto_default = [
952
954
  25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
953
955
  35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
954
956
  50, nil, 52, 53, 159, nil, nil, nil, 163, nil,
955
- nil, nil, nil, nil, 481, nil, nil, 119, nil, 225,
957
+ nil, nil, nil, nil, 281, nil, nil, 119, nil, 225,
956
958
  227, 226, 59, nil, nil, nil, 125, nil, nil, 172,
957
959
  nil, 173, 174, 178, 299, 300, 301, 302, 303, 306,
958
960
  68, nil, nil, 192, 150, 189, 151, 75, 76, 77,
@@ -1120,83 +1122,84 @@ racc_reduce_table = [
1120
1122
  1, 173, :_reduce_none,
1121
1123
  6, 134, :_reduce_159,
1122
1124
  8, 135, :_reduce_160,
1123
- 7, 133, :_reduce_161,
1124
- 1, 174, :_reduce_162,
1125
+ 7, 135, :_reduce_161,
1126
+ 7, 133, :_reduce_162,
1127
+ 1, 174, :_reduce_163,
1125
1128
  1, 172, :_reduce_none,
1126
1129
  1, 172, :_reduce_none,
1127
1130
  1, 175, :_reduce_none,
1128
- 2, 175, :_reduce_166,
1131
+ 2, 175, :_reduce_167,
1129
1132
  1, 176, :_reduce_none,
1130
1133
  1, 176, :_reduce_none,
1131
- 4, 137, :_reduce_169,
1132
- 3, 137, :_reduce_170,
1133
- 7, 136, :_reduce_171,
1134
- 6, 136, :_reduce_172,
1135
- 1, 177, :_reduce_173,
1136
- 3, 177, :_reduce_174,
1134
+ 4, 137, :_reduce_170,
1135
+ 3, 137, :_reduce_171,
1136
+ 7, 136, :_reduce_172,
1137
+ 6, 136, :_reduce_173,
1138
+ 1, 177, :_reduce_174,
1139
+ 3, 177, :_reduce_175,
1137
1140
  1, 179, :_reduce_none,
1138
1141
  1, 179, :_reduce_none,
1139
- 1, 179, :_reduce_177,
1142
+ 1, 179, :_reduce_178,
1140
1143
  1, 179, :_reduce_none,
1141
- 1, 180, :_reduce_179,
1142
- 3, 180, :_reduce_180,
1144
+ 1, 180, :_reduce_180,
1145
+ 3, 180, :_reduce_181,
1143
1146
  1, 181, :_reduce_none,
1144
1147
  1, 181, :_reduce_none,
1145
1148
  1, 178, :_reduce_none,
1146
- 2, 178, :_reduce_184,
1147
- 7, 139, :_reduce_185,
1148
- 2, 153, :_reduce_186,
1149
- 5, 153, :_reduce_187,
1149
+ 2, 178, :_reduce_185,
1150
+ 7, 139, :_reduce_186,
1151
+ 2, 153, :_reduce_187,
1152
+ 5, 153, :_reduce_188,
1150
1153
  1, 153, :_reduce_none,
1151
1154
  1, 170, :_reduce_none,
1152
1155
  1, 170, :_reduce_none,
1153
1156
  1, 170, :_reduce_none,
1154
- 1, 170, :_reduce_192,
1155
1157
  1, 170, :_reduce_193,
1156
- 1, 171, :_reduce_194,
1157
- 2, 171, :_reduce_195,
1158
+ 1, 170, :_reduce_194,
1159
+ 1, 171, :_reduce_195,
1158
1160
  2, 171, :_reduce_196,
1159
- 4, 171, :_reduce_197,
1161
+ 2, 171, :_reduce_197,
1160
1162
  4, 171, :_reduce_198,
1161
- 1, 155, :_reduce_199,
1162
- 3, 155, :_reduce_200,
1163
+ 4, 171, :_reduce_199,
1164
+ 1, 155, :_reduce_200,
1165
+ 3, 155, :_reduce_201,
1163
1166
  1, 182, :_reduce_none,
1164
1167
  1, 182, :_reduce_none,
1165
1168
  1, 183, :_reduce_none,
1166
1169
  1, 183, :_reduce_none,
1167
- 3, 185, :_reduce_205,
1168
- 1, 185, :_reduce_206,
1169
- 2, 186, :_reduce_207,
1170
- 2, 184, :_reduce_208,
1171
- 1, 187, :_reduce_209,
1172
- 4, 187, :_reduce_210,
1173
- 4, 140, :_reduce_211,
1174
- 7, 140, :_reduce_212,
1175
- 3, 140, :_reduce_213,
1170
+ 3, 185, :_reduce_206,
1171
+ 1, 185, :_reduce_207,
1172
+ 2, 186, :_reduce_208,
1173
+ 2, 184, :_reduce_209,
1174
+ 1, 187, :_reduce_210,
1175
+ 4, 187, :_reduce_211,
1176
+ 4, 140, :_reduce_212,
1177
+ 7, 140, :_reduce_213,
1176
1178
  3, 140, :_reduce_214,
1177
1179
  3, 140, :_reduce_215,
1178
- 2, 188, :_reduce_216,
1179
- 5, 141, :_reduce_217,
1180
- 7, 141, :_reduce_218,
1181
- 1, 125, :_reduce_219,
1182
- 1, 142, :_reduce_220,
1180
+ 3, 140, :_reduce_216,
1181
+ 2, 188, :_reduce_217,
1182
+ 5, 141, :_reduce_218,
1183
+ 7, 141, :_reduce_219,
1184
+ 1, 125, :_reduce_220,
1183
1185
  1, 142, :_reduce_221,
1184
- 4, 143, :_reduce_222,
1185
- 2, 143, :_reduce_223,
1186
- 4, 143, :_reduce_224,
1187
- 2, 143, :_reduce_225,
1188
- 3, 144, :_reduce_226,
1189
- 4, 144, :_reduce_227,
1190
- 2, 144, :_reduce_228,
1191
- 1, 191, :_reduce_229,
1192
- 3, 191, :_reduce_230,
1193
- 3, 107, :_reduce_231,
1186
+ 1, 142, :_reduce_222,
1187
+ 4, 143, :_reduce_223,
1188
+ 2, 143, :_reduce_224,
1189
+ 4, 143, :_reduce_225,
1190
+ 2, 143, :_reduce_226,
1191
+ 3, 144, :_reduce_227,
1192
+ 4, 144, :_reduce_228,
1193
+ 2, 144, :_reduce_229,
1194
+ 1, 191, :_reduce_230,
1195
+ 3, 191, :_reduce_231,
1196
+ 3, 107, :_reduce_232,
1194
1197
  1, 193, :_reduce_none,
1195
- 1, 193, :_reduce_233,
1198
+ 1, 193, :_reduce_234,
1196
1199
  1, 192, :_reduce_none,
1197
- 1, 192, :_reduce_235,
1198
- 1, 190, :_reduce_236,
1199
- 3, 190, :_reduce_237,
1200
+ 1, 192, :_reduce_236,
1201
+ 1, 190, :_reduce_237,
1202
+ 3, 190, :_reduce_238,
1200
1203
  1, 194, :_reduce_none,
1201
1204
  1, 194, :_reduce_none,
1202
1205
  1, 194, :_reduce_none,
@@ -1206,34 +1209,34 @@ racc_reduce_table = [
1206
1209
  1, 146, :_reduce_none,
1207
1210
  1, 146, :_reduce_none,
1208
1211
  1, 146, :_reduce_none,
1209
- 1, 195, :_reduce_247,
1210
1212
  1, 195, :_reduce_248,
1211
- 2, 196, :_reduce_249,
1212
- 1, 198, :_reduce_250,
1213
- 1, 200, :_reduce_251,
1214
- 1, 201, :_reduce_252,
1215
- 2, 199, :_reduce_253,
1216
- 1, 202, :_reduce_254,
1217
- 1, 203, :_reduce_255,
1218
- 2, 203, :_reduce_256,
1219
- 2, 197, :_reduce_257,
1220
- 2, 204, :_reduce_258,
1213
+ 1, 195, :_reduce_249,
1214
+ 2, 196, :_reduce_250,
1215
+ 1, 198, :_reduce_251,
1216
+ 1, 200, :_reduce_252,
1217
+ 1, 201, :_reduce_253,
1218
+ 2, 199, :_reduce_254,
1219
+ 1, 202, :_reduce_255,
1220
+ 1, 203, :_reduce_256,
1221
+ 2, 203, :_reduce_257,
1222
+ 2, 197, :_reduce_258,
1221
1223
  2, 204, :_reduce_259,
1222
- 3, 101, :_reduce_260,
1224
+ 2, 204, :_reduce_260,
1225
+ 3, 101, :_reduce_261,
1223
1226
  0, 189, :_reduce_none,
1224
1227
  1, 189, :_reduce_none,
1225
- 0, 205, :_reduce_263,
1226
- 2, 205, :_reduce_264,
1227
- 4, 205, :_reduce_265,
1228
- 1, 138, :_reduce_266,
1229
- 3, 138, :_reduce_267,
1230
- 5, 138, :_reduce_268,
1228
+ 0, 205, :_reduce_264,
1229
+ 2, 205, :_reduce_265,
1230
+ 4, 205, :_reduce_266,
1231
+ 1, 138, :_reduce_267,
1232
+ 3, 138, :_reduce_268,
1233
+ 5, 138, :_reduce_269,
1231
1234
  1, 206, :_reduce_none,
1232
1235
  1, 206, :_reduce_none,
1233
- 1, 147, :_reduce_271,
1234
- 1, 145, :_reduce_272,
1236
+ 1, 147, :_reduce_272,
1237
+ 1, 145, :_reduce_273,
1235
1238
  0, 115, :_reduce_none,
1236
- 1, 115, :_reduce_274,
1239
+ 1, 115, :_reduce_275,
1237
1240
  0, 114, :_reduce_none,
1238
1241
  1, 114, :_reduce_none,
1239
1242
  1, 169, :_reduce_none,
@@ -1258,11 +1261,11 @@ racc_reduce_table = [
1258
1261
  1, 169, :_reduce_none,
1259
1262
  1, 169, :_reduce_none,
1260
1263
  1, 169, :_reduce_none,
1261
- 0, 162, :_reduce_299 ]
1264
+ 0, 162, :_reduce_300 ]
1262
1265
 
1263
- racc_reduce_n = 300
1266
+ racc_reduce_n = 301
1264
1267
 
1265
- racc_shift_n = 545
1268
+ racc_shift_n = 546
1266
1269
 
1267
1270
  racc_token_table = {
1268
1271
  false => 0,
@@ -2607,15 +2610,24 @@ module_eval(<<'.,.,', 'egrammar.ra', 553)
2607
2610
 
2608
2611
  module_eval(<<'.,.,', 'egrammar.ra', 562)
2609
2612
  def _reduce_160(val, _values, result)
2610
- result = Factory.APPLY(val[2], Factory.apply_block(val[6]))
2613
+ result = Factory.APPLY(val[2], Factory.APPLY_BLOCK(val[6]))
2611
2614
  loc result, val[0], val[7]
2612
2615
 
2613
2616
  result
2614
2617
  end
2615
2618
  .,.,
2616
2619
 
2617
- module_eval(<<'.,.,', 'egrammar.ra', 572)
2620
+ module_eval(<<'.,.,', 'egrammar.ra', 566)
2618
2621
  def _reduce_161(val, _values, result)
2622
+ result = Factory.APPLY(val[2], Factory.APPLY_BLOCK([]))
2623
+ loc result, val[0], val[6]
2624
+
2625
+ result
2626
+ end
2627
+ .,.,
2628
+
2629
+ module_eval(<<'.,.,', 'egrammar.ra', 576)
2630
+ def _reduce_162(val, _values, result)
2619
2631
  # Remove this class' name from the namestack as all nested classes have been parsed
2620
2632
  namepop
2621
2633
  definition = Factory.HOSTCLASS(classname(val[1][:value]), val[2], token_text(val[3]), val[5])
@@ -2626,32 +2638,32 @@ module_eval(<<'.,.,', 'egrammar.ra', 572)
2626
2638
  end
2627
2639
  .,.,
2628
2640
 
2629
- module_eval(<<'.,.,', 'egrammar.ra', 583)
2630
- def _reduce_162(val, _values, result)
2641
+ module_eval(<<'.,.,', 'egrammar.ra', 587)
2642
+ def _reduce_163(val, _values, result)
2631
2643
  namestack(val[0][:value]) ; result = val[0]
2632
2644
  result
2633
2645
  end
2634
2646
  .,.,
2635
2647
 
2636
- # reduce 163 omitted
2637
-
2638
2648
  # reduce 164 omitted
2639
2649
 
2640
2650
  # reduce 165 omitted
2641
2651
 
2642
- module_eval(<<'.,.,', 'egrammar.ra', 592)
2643
- def _reduce_166(val, _values, result)
2652
+ # reduce 166 omitted
2653
+
2654
+ module_eval(<<'.,.,', 'egrammar.ra', 596)
2655
+ def _reduce_167(val, _values, result)
2644
2656
  result = val[1]
2645
2657
  result
2646
2658
  end
2647
2659
  .,.,
2648
2660
 
2649
- # reduce 167 omitted
2650
-
2651
2661
  # reduce 168 omitted
2652
2662
 
2653
- module_eval(<<'.,.,', 'egrammar.ra', 609)
2654
- def _reduce_169(val, _values, result)
2663
+ # reduce 169 omitted
2664
+
2665
+ module_eval(<<'.,.,', 'egrammar.ra', 613)
2666
+ def _reduce_170(val, _values, result)
2655
2667
  definition = Factory.SITE(val[2])
2656
2668
  loc(definition, val[0], val[3])
2657
2669
  result = add_definition(definition)
@@ -2660,8 +2672,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 609)
2660
2672
  end
2661
2673
  .,.,
2662
2674
 
2663
- module_eval(<<'.,.,', 'egrammar.ra', 614)
2664
- def _reduce_170(val, _values, result)
2675
+ module_eval(<<'.,.,', 'egrammar.ra', 618)
2676
+ def _reduce_171(val, _values, result)
2665
2677
  definition = Factory.SITE(nil)
2666
2678
  loc(definition, val[0], val[2])
2667
2679
  result = add_definition(definition)
@@ -2670,8 +2682,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 614)
2670
2682
  end
2671
2683
  .,.,
2672
2684
 
2673
- module_eval(<<'.,.,', 'egrammar.ra', 625)
2674
- def _reduce_171(val, _values, result)
2685
+ module_eval(<<'.,.,', 'egrammar.ra', 629)
2686
+ def _reduce_172(val, _values, result)
2675
2687
  definition = Factory.NODE(val[1], val[3], val[5])
2676
2688
  loc(definition, val[0], val[6])
2677
2689
  result = add_definition(definition)
@@ -2680,8 +2692,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 625)
2680
2692
  end
2681
2693
  .,.,
2682
2694
 
2683
- module_eval(<<'.,.,', 'egrammar.ra', 630)
2684
- def _reduce_172(val, _values, result)
2695
+ module_eval(<<'.,.,', 'egrammar.ra', 634)
2696
+ def _reduce_173(val, _values, result)
2685
2697
  definition = Factory.NODE(val[1], val[3], nil)
2686
2698
  loc(definition, val[0], val[5])
2687
2699
  result = add_definition(definition)
@@ -2690,62 +2702,62 @@ module_eval(<<'.,.,', 'egrammar.ra', 630)
2690
2702
  end
2691
2703
  .,.,
2692
2704
 
2693
- module_eval(<<'.,.,', 'egrammar.ra', 641)
2694
- def _reduce_173(val, _values, result)
2705
+ module_eval(<<'.,.,', 'egrammar.ra', 645)
2706
+ def _reduce_174(val, _values, result)
2695
2707
  result = [result]
2696
2708
  result
2697
2709
  end
2698
2710
  .,.,
2699
2711
 
2700
- module_eval(<<'.,.,', 'egrammar.ra', 642)
2701
- def _reduce_174(val, _values, result)
2712
+ module_eval(<<'.,.,', 'egrammar.ra', 646)
2713
+ def _reduce_175(val, _values, result)
2702
2714
  result = val[0].push(val[2])
2703
2715
  result
2704
2716
  end
2705
2717
  .,.,
2706
2718
 
2707
- # reduce 175 omitted
2708
-
2709
2719
  # reduce 176 omitted
2710
2720
 
2711
- module_eval(<<'.,.,', 'egrammar.ra', 649)
2712
- def _reduce_177(val, _values, result)
2721
+ # reduce 177 omitted
2722
+
2723
+ module_eval(<<'.,.,', 'egrammar.ra', 653)
2724
+ def _reduce_178(val, _values, result)
2713
2725
  result = Factory.literal(:default); loc result, val[0]
2714
2726
  result
2715
2727
  end
2716
2728
  .,.,
2717
2729
 
2718
- # reduce 178 omitted
2730
+ # reduce 179 omitted
2719
2731
 
2720
- module_eval(<<'.,.,', 'egrammar.ra', 653)
2721
- def _reduce_179(val, _values, result)
2732
+ module_eval(<<'.,.,', 'egrammar.ra', 657)
2733
+ def _reduce_180(val, _values, result)
2722
2734
  result = Factory.literal(val[0][:value]); loc result, val[0]
2723
2735
  result
2724
2736
  end
2725
2737
  .,.,
2726
2738
 
2727
- module_eval(<<'.,.,', 'egrammar.ra', 654)
2728
- def _reduce_180(val, _values, result)
2739
+ module_eval(<<'.,.,', 'egrammar.ra', 658)
2740
+ def _reduce_181(val, _values, result)
2729
2741
  result = Factory.concat(val[0], '.', val[2][:value]); loc result, val[0], val[2]
2730
2742
  result
2731
2743
  end
2732
2744
  .,.,
2733
2745
 
2734
- # reduce 181 omitted
2735
-
2736
2746
  # reduce 182 omitted
2737
2747
 
2738
2748
  # reduce 183 omitted
2739
2749
 
2740
- module_eval(<<'.,.,', 'egrammar.ra', 663)
2741
- def _reduce_184(val, _values, result)
2750
+ # reduce 184 omitted
2751
+
2752
+ module_eval(<<'.,.,', 'egrammar.ra', 667)
2753
+ def _reduce_185(val, _values, result)
2742
2754
  result = val[1]
2743
2755
  result
2744
2756
  end
2745
2757
  .,.,
2746
2758
 
2747
- module_eval(<<'.,.,', 'egrammar.ra', 669)
2748
- def _reduce_185(val, _values, result)
2759
+ module_eval(<<'.,.,', 'egrammar.ra', 673)
2760
+ def _reduce_186(val, _values, result)
2749
2761
  definition = Factory.FUNCTION(val[1][:value], val[2], val[5], val[3])
2750
2762
  loc(definition, val[0], val[6])
2751
2763
  result = add_definition(definition)
@@ -2754,71 +2766,64 @@ module_eval(<<'.,.,', 'egrammar.ra', 669)
2754
2766
  end
2755
2767
  .,.,
2756
2768
 
2757
- module_eval(<<'.,.,', 'egrammar.ra', 675)
2758
- def _reduce_186(val, _values, result)
2769
+ module_eval(<<'.,.,', 'egrammar.ra', 679)
2770
+ def _reduce_187(val, _values, result)
2759
2771
  result = val[1]
2760
2772
  result
2761
2773
  end
2762
2774
  .,.,
2763
2775
 
2764
- module_eval(<<'.,.,', 'egrammar.ra', 676)
2765
- def _reduce_187(val, _values, result)
2776
+ module_eval(<<'.,.,', 'egrammar.ra', 680)
2777
+ def _reduce_188(val, _values, result)
2766
2778
  result = val[1].access(val[3]) ; loc result, val[1], val[4]
2767
2779
  result
2768
2780
  end
2769
2781
  .,.,
2770
2782
 
2771
- # reduce 188 omitted
2772
-
2773
2783
  # reduce 189 omitted
2774
2784
 
2775
2785
  # reduce 190 omitted
2776
2786
 
2777
2787
  # reduce 191 omitted
2778
2788
 
2779
- module_eval(<<'.,.,', 'egrammar.ra', 686)
2780
- def _reduce_192(val, _values, result)
2781
- error val[0], "'class' keyword not allowed at this location"
2782
- result
2783
- end
2784
- .,.,
2789
+ # reduce 192 omitted
2785
2790
 
2786
- module_eval(<<'.,.,', 'egrammar.ra', 687)
2791
+ module_eval(<<'.,.,', 'egrammar.ra', 690)
2787
2792
  def _reduce_193(val, _values, result)
2788
- error val[0], "A quoted string is not valid as a name here"
2793
+ error val[0], "'class' keyword not allowed at this location"
2789
2794
  result
2790
2795
  end
2791
2796
  .,.,
2792
2797
 
2793
2798
  module_eval(<<'.,.,', 'egrammar.ra', 691)
2794
2799
  def _reduce_194(val, _values, result)
2795
- result = []
2800
+ error val[0], "A quoted string is not valid as a name here"
2796
2801
  result
2797
2802
  end
2798
2803
  .,.,
2799
2804
 
2800
- module_eval(<<'.,.,', 'egrammar.ra', 692)
2805
+ module_eval(<<'.,.,', 'egrammar.ra', 695)
2801
2806
  def _reduce_195(val, _values, result)
2802
2807
  result = []
2803
2808
  result
2804
2809
  end
2805
2810
  .,.,
2806
2811
 
2807
- module_eval(<<'.,.,', 'egrammar.ra', 693)
2812
+ module_eval(<<'.,.,', 'egrammar.ra', 696)
2808
2813
  def _reduce_196(val, _values, result)
2809
2814
  result = []
2810
2815
  result
2811
2816
  end
2812
2817
  .,.,
2813
2818
 
2814
- module_eval(<<'.,.,', 'egrammar.ra', 694)
2819
+ module_eval(<<'.,.,', 'egrammar.ra', 697)
2815
2820
  def _reduce_197(val, _values, result)
2816
- result = val[1]
2821
+ result = []
2817
2822
  result
2818
2823
  end
2819
2824
  .,.,
2820
2825
 
2821
- module_eval(<<'.,.,', 'egrammar.ra', 695)
2826
+ module_eval(<<'.,.,', 'egrammar.ra', 698)
2822
2827
  def _reduce_198(val, _values, result)
2823
2828
  result = val[1]
2824
2829
  result
@@ -2827,19 +2832,24 @@ module_eval(<<'.,.,', 'egrammar.ra', 695)
2827
2832
 
2828
2833
  module_eval(<<'.,.,', 'egrammar.ra', 699)
2829
2834
  def _reduce_199(val, _values, result)
2830
- result = [val[0]]
2835
+ result = val[1]
2831
2836
  result
2832
2837
  end
2833
2838
  .,.,
2834
2839
 
2835
- module_eval(<<'.,.,', 'egrammar.ra', 700)
2840
+ module_eval(<<'.,.,', 'egrammar.ra', 703)
2836
2841
  def _reduce_200(val, _values, result)
2837
- result = val[0].push(val[2])
2842
+ result = [val[0]]
2838
2843
  result
2839
2844
  end
2840
2845
  .,.,
2841
2846
 
2842
- # reduce 201 omitted
2847
+ module_eval(<<'.,.,', 'egrammar.ra', 704)
2848
+ def _reduce_201(val, _values, result)
2849
+ result = val[0].push(val[2])
2850
+ result
2851
+ end
2852
+ .,.,
2843
2853
 
2844
2854
  # reduce 202 omitted
2845
2855
 
@@ -2847,50 +2857,52 @@ module_eval(<<'.,.,', 'egrammar.ra', 700)
2847
2857
 
2848
2858
  # reduce 204 omitted
2849
2859
 
2850
- module_eval(<<'.,.,', 'egrammar.ra', 712)
2851
- def _reduce_205(val, _values, result)
2860
+ # reduce 205 omitted
2861
+
2862
+ module_eval(<<'.,.,', 'egrammar.ra', 716)
2863
+ def _reduce_206(val, _values, result)
2852
2864
  result = Factory.PARAM(val[0][:value], val[2]) ; loc result, val[0]
2853
2865
  result
2854
2866
  end
2855
2867
  .,.,
2856
2868
 
2857
- module_eval(<<'.,.,', 'egrammar.ra', 713)
2858
- def _reduce_206(val, _values, result)
2869
+ module_eval(<<'.,.,', 'egrammar.ra', 717)
2870
+ def _reduce_207(val, _values, result)
2859
2871
  result = Factory.PARAM(val[0][:value]); loc result, val[0]
2860
2872
  result
2861
2873
  end
2862
2874
  .,.,
2863
2875
 
2864
- module_eval(<<'.,.,', 'egrammar.ra', 716)
2865
- def _reduce_207(val, _values, result)
2876
+ module_eval(<<'.,.,', 'egrammar.ra', 720)
2877
+ def _reduce_208(val, _values, result)
2866
2878
  result = val[1]; val[1].captures_rest
2867
2879
  result
2868
2880
  end
2869
2881
  .,.,
2870
2882
 
2871
- module_eval(<<'.,.,', 'egrammar.ra', 719)
2872
- def _reduce_208(val, _values, result)
2883
+ module_eval(<<'.,.,', 'egrammar.ra', 723)
2884
+ def _reduce_209(val, _values, result)
2873
2885
  val[1].type_expr(val[0]) ; result = val[1]
2874
2886
  result
2875
2887
  end
2876
2888
  .,.,
2877
2889
 
2878
- module_eval(<<'.,.,', 'egrammar.ra', 722)
2879
- def _reduce_209(val, _values, result)
2890
+ module_eval(<<'.,.,', 'egrammar.ra', 726)
2891
+ def _reduce_210(val, _values, result)
2880
2892
  result = val[0]
2881
2893
  result
2882
2894
  end
2883
2895
  .,.,
2884
2896
 
2885
- module_eval(<<'.,.,', 'egrammar.ra', 723)
2886
- def _reduce_210(val, _values, result)
2897
+ module_eval(<<'.,.,', 'egrammar.ra', 727)
2898
+ def _reduce_211(val, _values, result)
2887
2899
  result = val[0].access(val[2]) ; loc result, val[0], val[3]
2888
2900
  result
2889
2901
  end
2890
2902
  .,.,
2891
2903
 
2892
- module_eval(<<'.,.,', 'egrammar.ra', 728)
2893
- def _reduce_211(val, _values, result)
2904
+ module_eval(<<'.,.,', 'egrammar.ra', 732)
2905
+ def _reduce_212(val, _values, result)
2894
2906
  definition = Factory.TYPE_ASSIGNMENT(val[0], Factory.KEY_ENTRY(val[2], val[3]))
2895
2907
  loc(definition, val[0], val[3])
2896
2908
  result = add_definition(definition)
@@ -2899,8 +2911,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 728)
2899
2911
  end
2900
2912
  .,.,
2901
2913
 
2902
- module_eval(<<'.,.,', 'egrammar.ra', 733)
2903
- def _reduce_212(val, _values, result)
2914
+ module_eval(<<'.,.,', 'egrammar.ra', 737)
2915
+ def _reduce_213(val, _values, result)
2904
2916
  definition = Factory.TYPE_ASSIGNMENT(val[0], val[2].access(val[4]))
2905
2917
  loc(definition, val[0], val[5])
2906
2918
  result = add_definition(definition)
@@ -2909,8 +2921,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 733)
2909
2921
  end
2910
2922
  .,.,
2911
2923
 
2912
- module_eval(<<'.,.,', 'egrammar.ra', 738)
2913
- def _reduce_213(val, _values, result)
2924
+ module_eval(<<'.,.,', 'egrammar.ra', 742)
2925
+ def _reduce_214(val, _values, result)
2914
2926
  definition = Factory.TYPE_ASSIGNMENT(val[0], val[2])
2915
2927
  loc(definition, val[0], val[2])
2916
2928
  result = add_definition(definition)
@@ -2919,8 +2931,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 738)
2919
2931
  end
2920
2932
  .,.,
2921
2933
 
2922
- module_eval(<<'.,.,', 'egrammar.ra', 743)
2923
- def _reduce_214(val, _values, result)
2934
+ module_eval(<<'.,.,', 'egrammar.ra', 747)
2935
+ def _reduce_215(val, _values, result)
2924
2936
  definition = Factory.TYPE_ASSIGNMENT(val[0], val[2])
2925
2937
  loc(definition, val[0], val[2])
2926
2938
  result = add_definition(definition)
@@ -2929,8 +2941,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 743)
2929
2941
  end
2930
2942
  .,.,
2931
2943
 
2932
- module_eval(<<'.,.,', 'egrammar.ra', 748)
2933
- def _reduce_215(val, _values, result)
2944
+ module_eval(<<'.,.,', 'egrammar.ra', 752)
2945
+ def _reduce_216(val, _values, result)
2934
2946
  definition = Factory.TYPE_ASSIGNMENT(val[0], val[2])
2935
2947
  loc(definition, val[0], val[4])
2936
2948
  result = add_definition(definition)
@@ -2939,15 +2951,15 @@ module_eval(<<'.,.,', 'egrammar.ra', 748)
2939
2951
  end
2940
2952
  .,.,
2941
2953
 
2942
- module_eval(<<'.,.,', 'egrammar.ra', 754)
2943
- def _reduce_216(val, _values, result)
2954
+ module_eval(<<'.,.,', 'egrammar.ra', 758)
2955
+ def _reduce_217(val, _values, result)
2944
2956
  result = val[1]
2945
2957
  result
2946
2958
  end
2947
2959
  .,.,
2948
2960
 
2949
- module_eval(<<'.,.,', 'egrammar.ra', 760)
2950
- def _reduce_217(val, _values, result)
2961
+ module_eval(<<'.,.,', 'egrammar.ra', 764)
2962
+ def _reduce_218(val, _values, result)
2951
2963
  definition = Factory.TYPE_DEFINITION(val[1][:value], nil, val[3])
2952
2964
  loc(definition, val[0], val[4])
2953
2965
  result = add_definition(definition)
@@ -2956,8 +2968,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 760)
2956
2968
  end
2957
2969
  .,.,
2958
2970
 
2959
- module_eval(<<'.,.,', 'egrammar.ra', 765)
2960
- def _reduce_218(val, _values, result)
2971
+ module_eval(<<'.,.,', 'egrammar.ra', 769)
2972
+ def _reduce_219(val, _values, result)
2961
2973
  definition = Factory.TYPE_DEFINITION(val[1][:value], val[3][:value], val[5])
2962
2974
  loc(definition, val[0], val[6])
2963
2975
  result = add_definition(definition)
@@ -2966,8 +2978,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 765)
2966
2978
  end
2967
2979
  .,.,
2968
2980
 
2969
- module_eval(<<'.,.,', 'egrammar.ra', 774)
2970
- def _reduce_219(val, _values, result)
2981
+ module_eval(<<'.,.,', 'egrammar.ra', 778)
2982
+ def _reduce_220(val, _values, result)
2971
2983
  fqn = Factory.fqn(val[0][:value])
2972
2984
  loc(fqn, val[0])
2973
2985
  fqn['offset'] += 1
@@ -2979,124 +2991,122 @@ module_eval(<<'.,.,', 'egrammar.ra', 774)
2979
2991
  end
2980
2992
  .,.,
2981
2993
 
2982
- module_eval(<<'.,.,', 'egrammar.ra', 785)
2983
- def _reduce_220(val, _values, result)
2994
+ module_eval(<<'.,.,', 'egrammar.ra', 789)
2995
+ def _reduce_221(val, _values, result)
2984
2996
  result = Factory.RESERVED(val[0][:value]) ; loc result, val[0]
2985
2997
  result
2986
2998
  end
2987
2999
  .,.,
2988
3000
 
2989
- module_eval(<<'.,.,', 'egrammar.ra', 786)
2990
- def _reduce_221(val, _values, result)
3001
+ module_eval(<<'.,.,', 'egrammar.ra', 790)
3002
+ def _reduce_222(val, _values, result)
2991
3003
  result = Factory.RESERVED(val[0][:value]) ; loc result, val[0]
2992
3004
  result
2993
3005
  end
2994
3006
  .,.,
2995
3007
 
2996
- module_eval(<<'.,.,', 'egrammar.ra', 792)
2997
- def _reduce_222(val, _values, result)
3008
+ module_eval(<<'.,.,', 'egrammar.ra', 796)
3009
+ def _reduce_223(val, _values, result)
2998
3010
  result = Factory.LIST(val[1]); loc result, val[0], val[3]
2999
3011
  result
3000
3012
  end
3001
3013
  .,.,
3002
3014
 
3003
- module_eval(<<'.,.,', 'egrammar.ra', 793)
3004
- def _reduce_223(val, _values, result)
3015
+ module_eval(<<'.,.,', 'egrammar.ra', 797)
3016
+ def _reduce_224(val, _values, result)
3005
3017
  result = Factory.literal([]) ; loc result, val[0], val[1]
3006
3018
  result
3007
3019
  end
3008
3020
  .,.,
3009
3021
 
3010
- module_eval(<<'.,.,', 'egrammar.ra', 794)
3011
- def _reduce_224(val, _values, result)
3022
+ module_eval(<<'.,.,', 'egrammar.ra', 798)
3023
+ def _reduce_225(val, _values, result)
3012
3024
  result = Factory.LIST(val[1]); loc result, val[0], val[3]
3013
3025
  result
3014
3026
  end
3015
3027
  .,.,
3016
3028
 
3017
- module_eval(<<'.,.,', 'egrammar.ra', 795)
3018
- def _reduce_225(val, _values, result)
3029
+ module_eval(<<'.,.,', 'egrammar.ra', 799)
3030
+ def _reduce_226(val, _values, result)
3019
3031
  result = Factory.literal([]) ; loc result, val[0], val[1]
3020
3032
  result
3021
3033
  end
3022
3034
  .,.,
3023
3035
 
3024
- module_eval(<<'.,.,', 'egrammar.ra', 798)
3025
- def _reduce_226(val, _values, result)
3036
+ module_eval(<<'.,.,', 'egrammar.ra', 802)
3037
+ def _reduce_227(val, _values, result)
3026
3038
  result = Factory.HASH(val[1]); loc result, val[0], val[2]
3027
3039
  result
3028
3040
  end
3029
3041
  .,.,
3030
3042
 
3031
- module_eval(<<'.,.,', 'egrammar.ra', 799)
3032
- def _reduce_227(val, _values, result)
3043
+ module_eval(<<'.,.,', 'egrammar.ra', 803)
3044
+ def _reduce_228(val, _values, result)
3033
3045
  result = Factory.HASH(val[1]); loc result, val[0], val[3]
3034
3046
  result
3035
3047
  end
3036
3048
  .,.,
3037
3049
 
3038
- module_eval(<<'.,.,', 'egrammar.ra', 800)
3039
- def _reduce_228(val, _values, result)
3050
+ module_eval(<<'.,.,', 'egrammar.ra', 804)
3051
+ def _reduce_229(val, _values, result)
3040
3052
  result = Factory.literal({}) ; loc result, val[0], val[1]
3041
3053
  result
3042
3054
  end
3043
3055
  .,.,
3044
3056
 
3045
- module_eval(<<'.,.,', 'egrammar.ra', 803)
3046
- def _reduce_229(val, _values, result)
3057
+ module_eval(<<'.,.,', 'egrammar.ra', 807)
3058
+ def _reduce_230(val, _values, result)
3047
3059
  result = [val[0]]
3048
3060
  result
3049
3061
  end
3050
3062
  .,.,
3051
3063
 
3052
- module_eval(<<'.,.,', 'egrammar.ra', 804)
3053
- def _reduce_230(val, _values, result)
3064
+ module_eval(<<'.,.,', 'egrammar.ra', 808)
3065
+ def _reduce_231(val, _values, result)
3054
3066
  result = val[0].push val[2]
3055
3067
  result
3056
3068
  end
3057
3069
  .,.,
3058
3070
 
3059
- module_eval(<<'.,.,', 'egrammar.ra', 807)
3060
- def _reduce_231(val, _values, result)
3071
+ module_eval(<<'.,.,', 'egrammar.ra', 811)
3072
+ def _reduce_232(val, _values, result)
3061
3073
  result = Factory.KEY_ENTRY(val[0], val[2]); loc result, val[1]
3062
3074
  result
3063
3075
  end
3064
3076
  .,.,
3065
3077
 
3066
- # reduce 232 omitted
3078
+ # reduce 233 omitted
3067
3079
 
3068
- module_eval(<<'.,.,', 'egrammar.ra', 811)
3069
- def _reduce_233(val, _values, result)
3080
+ module_eval(<<'.,.,', 'egrammar.ra', 815)
3081
+ def _reduce_234(val, _values, result)
3070
3082
  result = Factory.literal(val[0][:value]) ; loc result, val[0]
3071
3083
  result
3072
3084
  end
3073
3085
  .,.,
3074
3086
 
3075
- # reduce 234 omitted
3087
+ # reduce 235 omitted
3076
3088
 
3077
- module_eval(<<'.,.,', 'egrammar.ra', 816)
3078
- def _reduce_235(val, _values, result)
3089
+ module_eval(<<'.,.,', 'egrammar.ra', 820)
3090
+ def _reduce_236(val, _values, result)
3079
3091
  result = Factory.literal(val[0][:value]) ; loc result, val[0]
3080
3092
  result
3081
3093
  end
3082
3094
  .,.,
3083
3095
 
3084
- module_eval(<<'.,.,', 'egrammar.ra', 819)
3085
- def _reduce_236(val, _values, result)
3096
+ module_eval(<<'.,.,', 'egrammar.ra', 823)
3097
+ def _reduce_237(val, _values, result)
3086
3098
  result = [val[0]]
3087
3099
  result
3088
3100
  end
3089
3101
  .,.,
3090
3102
 
3091
- module_eval(<<'.,.,', 'egrammar.ra', 820)
3092
- def _reduce_237(val, _values, result)
3103
+ module_eval(<<'.,.,', 'egrammar.ra', 824)
3104
+ def _reduce_238(val, _values, result)
3093
3105
  result = Factory.ARGUMENTS(val[0], val[2])
3094
3106
  result
3095
3107
  end
3096
3108
  .,.,
3097
3109
 
3098
- # reduce 238 omitted
3099
-
3100
3110
  # reduce 239 omitted
3101
3111
 
3102
3112
  # reduce 240 omitted
@@ -3113,179 +3123,179 @@ module_eval(<<'.,.,', 'egrammar.ra', 820)
3113
3123
 
3114
3124
  # reduce 246 omitted
3115
3125
 
3116
- module_eval(<<'.,.,', 'egrammar.ra', 837)
3117
- def _reduce_247(val, _values, result)
3118
- result = Factory.literal(val[0][:value]) ; loc result, val[0]
3119
- result
3120
- end
3121
- .,.,
3126
+ # reduce 247 omitted
3122
3127
 
3123
- module_eval(<<'.,.,', 'egrammar.ra', 838)
3128
+ module_eval(<<'.,.,', 'egrammar.ra', 841)
3124
3129
  def _reduce_248(val, _values, result)
3125
3130
  result = Factory.literal(val[0][:value]) ; loc result, val[0]
3126
3131
  result
3127
3132
  end
3128
3133
  .,.,
3129
3134
 
3130
- module_eval(<<'.,.,', 'egrammar.ra', 840)
3135
+ module_eval(<<'.,.,', 'egrammar.ra', 842)
3131
3136
  def _reduce_249(val, _values, result)
3132
- result = Factory.STRING(val[0], *val[1]) ; loc result, val[0], val[1][-1]
3137
+ result = Factory.literal(val[0][:value]) ; loc result, val[0]
3133
3138
  result
3134
3139
  end
3135
3140
  .,.,
3136
3141
 
3137
- module_eval(<<'.,.,', 'egrammar.ra', 841)
3142
+ module_eval(<<'.,.,', 'egrammar.ra', 844)
3138
3143
  def _reduce_250(val, _values, result)
3139
- result = Factory.literal(val[0][:value]); loc result, val[0]
3144
+ result = Factory.STRING(val[0], *val[1]) ; loc result, val[0], val[1][-1]
3140
3145
  result
3141
3146
  end
3142
3147
  .,.,
3143
3148
 
3144
- module_eval(<<'.,.,', 'egrammar.ra', 842)
3149
+ module_eval(<<'.,.,', 'egrammar.ra', 845)
3145
3150
  def _reduce_251(val, _values, result)
3146
3151
  result = Factory.literal(val[0][:value]); loc result, val[0]
3147
3152
  result
3148
3153
  end
3149
3154
  .,.,
3150
3155
 
3151
- module_eval(<<'.,.,', 'egrammar.ra', 843)
3156
+ module_eval(<<'.,.,', 'egrammar.ra', 846)
3152
3157
  def _reduce_252(val, _values, result)
3153
3158
  result = Factory.literal(val[0][:value]); loc result, val[0]
3154
3159
  result
3155
3160
  end
3156
3161
  .,.,
3157
3162
 
3158
- module_eval(<<'.,.,', 'egrammar.ra', 844)
3163
+ module_eval(<<'.,.,', 'egrammar.ra', 847)
3159
3164
  def _reduce_253(val, _values, result)
3160
- result = [val[0]] + val[1]
3165
+ result = Factory.literal(val[0][:value]); loc result, val[0]
3161
3166
  result
3162
3167
  end
3163
3168
  .,.,
3164
3169
 
3165
- module_eval(<<'.,.,', 'egrammar.ra', 845)
3170
+ module_eval(<<'.,.,', 'egrammar.ra', 848)
3166
3171
  def _reduce_254(val, _values, result)
3167
- result = Factory.TEXT(val[0])
3172
+ result = [val[0]] + val[1]
3168
3173
  result
3169
3174
  end
3170
3175
  .,.,
3171
3176
 
3172
- module_eval(<<'.,.,', 'egrammar.ra', 848)
3177
+ module_eval(<<'.,.,', 'egrammar.ra', 849)
3173
3178
  def _reduce_255(val, _values, result)
3174
- result = [val[0]]
3179
+ result = Factory.TEXT(val[0])
3175
3180
  result
3176
3181
  end
3177
3182
  .,.,
3178
3183
 
3179
- module_eval(<<'.,.,', 'egrammar.ra', 849)
3184
+ module_eval(<<'.,.,', 'egrammar.ra', 852)
3180
3185
  def _reduce_256(val, _values, result)
3181
- result = [val[0]] + val[1]
3186
+ result = [val[0]]
3182
3187
  result
3183
3188
  end
3184
3189
  .,.,
3185
3190
 
3186
- module_eval(<<'.,.,', 'egrammar.ra', 852)
3191
+ module_eval(<<'.,.,', 'egrammar.ra', 853)
3187
3192
  def _reduce_257(val, _values, result)
3188
- result = Factory.HEREDOC(val[0][:value], val[1]); loc result, val[0]
3193
+ result = [val[0]] + val[1]
3189
3194
  result
3190
3195
  end
3191
3196
  .,.,
3192
3197
 
3193
- module_eval(<<'.,.,', 'egrammar.ra', 855)
3198
+ module_eval(<<'.,.,', 'egrammar.ra', 856)
3194
3199
  def _reduce_258(val, _values, result)
3195
- result = Factory.SUBLOCATE(val[0], val[1]); loc result, val[0]
3200
+ result = Factory.HEREDOC(val[0][:value], val[1]); loc result, val[0]
3196
3201
  result
3197
3202
  end
3198
3203
  .,.,
3199
3204
 
3200
- module_eval(<<'.,.,', 'egrammar.ra', 856)
3205
+ module_eval(<<'.,.,', 'egrammar.ra', 859)
3201
3206
  def _reduce_259(val, _values, result)
3202
3207
  result = Factory.SUBLOCATE(val[0], val[1]); loc result, val[0]
3203
3208
  result
3204
3209
  end
3205
3210
  .,.,
3206
3211
 
3207
- module_eval(<<'.,.,', 'egrammar.ra', 859)
3212
+ module_eval(<<'.,.,', 'egrammar.ra', 860)
3208
3213
  def _reduce_260(val, _values, result)
3209
- result = Factory.EPP(val[1], val[2]); loc result, val[0]
3214
+ result = Factory.SUBLOCATE(val[0], val[1]); loc result, val[0]
3210
3215
  result
3211
3216
  end
3212
3217
  .,.,
3213
3218
 
3214
- # reduce 261 omitted
3219
+ module_eval(<<'.,.,', 'egrammar.ra', 863)
3220
+ def _reduce_261(val, _values, result)
3221
+ result = Factory.EPP(val[1], val[2]); loc result, val[0]
3222
+ result
3223
+ end
3224
+ .,.,
3215
3225
 
3216
3226
  # reduce 262 omitted
3217
3227
 
3218
- module_eval(<<'.,.,', 'egrammar.ra', 866)
3219
- def _reduce_263(val, _values, result)
3228
+ # reduce 263 omitted
3229
+
3230
+ module_eval(<<'.,.,', 'egrammar.ra', 870)
3231
+ def _reduce_264(val, _values, result)
3220
3232
  result = nil
3221
3233
  result
3222
3234
  end
3223
3235
  .,.,
3224
3236
 
3225
- module_eval(<<'.,.,', 'egrammar.ra', 867)
3226
- def _reduce_264(val, _values, result)
3237
+ module_eval(<<'.,.,', 'egrammar.ra', 871)
3238
+ def _reduce_265(val, _values, result)
3227
3239
  result = []
3228
3240
  result
3229
3241
  end
3230
3242
  .,.,
3231
3243
 
3232
- module_eval(<<'.,.,', 'egrammar.ra', 868)
3233
- def _reduce_265(val, _values, result)
3244
+ module_eval(<<'.,.,', 'egrammar.ra', 872)
3245
+ def _reduce_266(val, _values, result)
3234
3246
  result = val[1]
3235
3247
  result
3236
3248
  end
3237
3249
  .,.,
3238
3250
 
3239
- module_eval(<<'.,.,', 'egrammar.ra', 871)
3240
- def _reduce_266(val, _values, result)
3251
+ module_eval(<<'.,.,', 'egrammar.ra', 875)
3252
+ def _reduce_267(val, _values, result)
3241
3253
  result = Factory.RENDER_STRING(val[0][:value]); loc result, val[0]
3242
3254
  result
3243
3255
  end
3244
3256
  .,.,
3245
3257
 
3246
- module_eval(<<'.,.,', 'egrammar.ra', 872)
3247
- def _reduce_267(val, _values, result)
3258
+ module_eval(<<'.,.,', 'egrammar.ra', 876)
3259
+ def _reduce_268(val, _values, result)
3248
3260
  result = Factory.RENDER_EXPR(val[1]); loc result, val[0], val[2]
3249
3261
  result
3250
3262
  end
3251
3263
  .,.,
3252
3264
 
3253
- module_eval(<<'.,.,', 'egrammar.ra', 873)
3254
- def _reduce_268(val, _values, result)
3265
+ module_eval(<<'.,.,', 'egrammar.ra', 877)
3266
+ def _reduce_269(val, _values, result)
3255
3267
  result = Factory.RENDER_EXPR(Factory.block_or_expression(val[2], val[1], val[3])); loc result, val[0], val[4]
3256
3268
  result
3257
3269
  end
3258
3270
  .,.,
3259
3271
 
3260
- # reduce 269 omitted
3261
-
3262
3272
  # reduce 270 omitted
3263
3273
 
3264
- module_eval(<<'.,.,', 'egrammar.ra', 879)
3265
- def _reduce_271(val, _values, result)
3274
+ # reduce 271 omitted
3275
+
3276
+ module_eval(<<'.,.,', 'egrammar.ra', 883)
3277
+ def _reduce_272(val, _values, result)
3266
3278
  result = Factory.QREF(val[0][:value]) ; loc result, val[0]
3267
3279
  result
3268
3280
  end
3269
3281
  .,.,
3270
3282
 
3271
- module_eval(<<'.,.,', 'egrammar.ra', 882)
3272
- def _reduce_272(val, _values, result)
3283
+ module_eval(<<'.,.,', 'egrammar.ra', 886)
3284
+ def _reduce_273(val, _values, result)
3273
3285
  result = Factory.literal(val[0][:value]); loc result, val[0]
3274
3286
  result
3275
3287
  end
3276
3288
  .,.,
3277
3289
 
3278
- # reduce 273 omitted
3290
+ # reduce 274 omitted
3279
3291
 
3280
- module_eval(<<'.,.,', 'egrammar.ra', 888)
3281
- def _reduce_274(val, _values, result)
3292
+ module_eval(<<'.,.,', 'egrammar.ra', 892)
3293
+ def _reduce_275(val, _values, result)
3282
3294
  result = nil
3283
3295
  result
3284
3296
  end
3285
3297
  .,.,
3286
3298
 
3287
- # reduce 275 omitted
3288
-
3289
3299
  # reduce 276 omitted
3290
3300
 
3291
3301
  # reduce 277 omitted
@@ -3332,8 +3342,10 @@ module_eval(<<'.,.,', 'egrammar.ra', 888)
3332
3342
 
3333
3343
  # reduce 298 omitted
3334
3344
 
3335
- module_eval(<<'.,.,', 'egrammar.ra', 919)
3336
- def _reduce_299(val, _values, result)
3345
+ # reduce 299 omitted
3346
+
3347
+ module_eval(<<'.,.,', 'egrammar.ra', 923)
3348
+ def _reduce_300(val, _values, result)
3337
3349
  result = nil
3338
3350
  result
3339
3351
  end