rubysl-yaml 2.0.4 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
- ---
2
- SHA1:
3
- metadata.gz: a26114a8d07c9de186d5911613080d9221a03dfa
4
- data.tar.gz: 399afafbf79a96cb7741604fbb6654b8dec4efbe
5
- SHA512:
6
- metadata.gz: 573185695acf68dbdde9ba824b895c47a1aff37ff1a549ff3f9cd4abfb5a40f7bad39ce1551a0bcb986a2690c4b65995773ebcb61a9d0d5495b4492c8bf726ff
7
- data.tar.gz: 4d4fd3e682a585b8a47437de07f0ad11e5986f0883295dc936e4ae115de5a54d22d793aca041c42c9cdacc55680b192299a6aeb26a51b8ddd188715b32147e37
1
+ ---
2
+ SHA1:
3
+ metadata.gz: d29d7e7f94bd391db6dfd8b6afcd5c351195cfe3
4
+ data.tar.gz: 22c6bead49f9fa240bbf5f9571e806758d61584e
5
+ SHA512:
6
+ metadata.gz: a6ccc1e2fd5581d7fd93abc4a089ca13a0348afda13fb7e1271f5c3bacc83d2f683b9ae86e225aaf138a900a19df14c9e410cf756bc3acec49193a1a2ec19cf5
7
+ data.tar.gz: c3544dd91d5e6edef447daa25e61904f87544e6277983950cf7493925aadbe7f6c00c827af29d7fb417a3e5002f4b32e77f99d2c228cd8a431f40bf605206478
@@ -0,0 +1,56 @@
1
+ Ruby is copyrighted free software by Yukihiro Matsumoto <matz@netlab.jp>.
2
+ You can redistribute it and/or modify it under either the terms of the
3
+ 2-clause BSDL (see the file BSDL), or the conditions below:
4
+
5
+ 1. You may make and give away verbatim copies of the source form of the
6
+ software without restriction, provided that you duplicate all of the
7
+ original copyright notices and associated disclaimers.
8
+
9
+ 2. You may modify your copy of the software in any way, provided that
10
+ you do at least ONE of the following:
11
+
12
+ a) place your modifications in the Public Domain or otherwise
13
+ make them Freely Available, such as by posting said
14
+ modifications to Usenet or an equivalent medium, or by allowing
15
+ the author to include your modifications in the software.
16
+
17
+ b) use the modified software only within your corporation or
18
+ organization.
19
+
20
+ c) give non-standard binaries non-standard names, with
21
+ instructions on where to get the original software distribution.
22
+
23
+ d) make other distribution arrangements with the author.
24
+
25
+ 3. You may distribute the software in object code or binary form,
26
+ provided that you do at least ONE of the following:
27
+
28
+ a) distribute the binaries and library files of the software,
29
+ together with instructions (in the manual page or equivalent)
30
+ on where to get the original distribution.
31
+
32
+ b) accompany the distribution with the machine-readable source of
33
+ the software.
34
+
35
+ c) give non-standard binaries non-standard names, with
36
+ instructions on where to get the original software distribution.
37
+
38
+ d) make other distribution arrangements with the author.
39
+
40
+ 4. You may modify and include the part of the software into any other
41
+ software (possibly commercial). But some files in the distribution
42
+ are not written by the author, so that they are not under these terms.
43
+
44
+ For the list of those files and their copying conditions, see the
45
+ file LEGAL.
46
+
47
+ 5. The scripts and library files supplied as input to or produced as
48
+ output from the software do not automatically fall under the
49
+ copyright of the software, but belong to whomever generated them,
50
+ and may be sold commercially, and may be aggregated with this
51
+ software.
52
+
53
+ 6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
54
+ IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
55
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
56
+ PURPOSE.
@@ -1,2 +1,2 @@
1
+ require "yaml"
1
2
  require "rubysl/yaml/version"
2
- require "rubysl/yaml/yaml"
@@ -1,5 +1,5 @@
1
1
  module RubySL
2
2
  module YAML
3
- VERSION = "2.0.4"
3
+ VERSION = "2.1.0"
4
4
  end
5
5
  end
@@ -1 +1,59 @@
1
- require "rubysl/yaml"
1
+ ##
2
+ # The YAML module is an alias of Psych, the YAML engine for Ruby.
3
+
4
+ begin
5
+ require 'psych'
6
+ rescue LoadError
7
+ warn "#{caller[0]}:"
8
+ warn "It seems your ruby installation is missing psych (for YAML output)."
9
+ warn "To eliminate this warning, please install libyaml and reinstall your ruby."
10
+ raise
11
+ end
12
+
13
+ YAML = Psych # :nodoc:
14
+
15
+ # YAML Ain't Markup Language
16
+ #
17
+ # This module provides a Ruby interface for data serialization in YAML format.
18
+ #
19
+ # The underlying implementation is the libyaml wrapper Psych.
20
+ #
21
+ # == Usage
22
+ #
23
+ # Working with YAML can be very simple, for example:
24
+ #
25
+ # require 'yaml'
26
+ # # Parse a YAML string
27
+ # YAML.load("--- foo") #=> "foo"
28
+ #
29
+ # # Emit some YAML
30
+ # YAML.dump("foo") # => "--- foo\n...\n"
31
+ # { :a => 'b'}.to_yaml # => "---\n:a: b\n"
32
+ #
33
+ # == Security
34
+ #
35
+ # Do not use YAML to load untrusted data. Doing so is unsafe and could allow
36
+ # malicious input to execute arbitrary code inside your application. Please see
37
+ # doc/security.rdoc for more information.
38
+ #
39
+ # == History
40
+ #
41
+ # Syck was the original for YAML implementation in Ruby's standard library
42
+ # developed by why the lucky stiff.
43
+ #
44
+ # You can still use Syck, if you prefer, for parsing and emitting YAML, but you
45
+ # must install the 'syck' gem now in order to use it.
46
+ #
47
+ # In older Ruby versions, ie. <= 1.9, Syck is still provided, however it was
48
+ # completely removed with the release of Ruby 2.0.0.
49
+ #
50
+ # == More info
51
+ #
52
+ # For more advanced details on the implementation see Psych, and also check out
53
+ # http://yaml.org for spec details and other helpful information.
54
+ #
55
+ # Pysch is maintained by Aaron Patterson on github: https://github.com/tenderlove/psych
56
+ #
57
+ # Syck can also be found on github: https://github.com/tenderlove/syck
58
+ module YAML
59
+ end
@@ -13,7 +13,6 @@ Gem::Specification.new do |spec|
13
13
 
14
14
  spec.files = `git ls-files`.split($/)
15
15
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
16
- spec.extensions = ["ext/rubysl/syck/extconf.rb"]
17
16
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
17
  spec.require_paths = ["lib"]
19
18
 
metadata CHANGED
@@ -1,102 +1,87 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: rubysl-yaml
3
- version: !ruby/object:Gem::Version
4
- version: 2.0.4
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.1.0
5
5
  platform: ruby
6
- authors:
6
+ authors:
7
7
  - Brian Shirai
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
-
12
- date: 2013-11-26 00:00:00 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
11
+ date: 2015-01-09 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
15
14
  name: bundler
16
- prerelease: false
17
- requirement: &id001 !ruby/object:Gem::Requirement
18
- requirements:
19
- - - ~>
20
- - !ruby/object:Gem::Version
21
- version: "1.3"
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.3'
22
20
  type: :development
23
- version_requirements: *id001
24
- - !ruby/object:Gem::Dependency
25
- name: rake
26
21
  prerelease: false
27
- requirement: &id002 !ruby/object:Gem::Requirement
28
- requirements:
29
- - - ~>
30
- - !ruby/object:Gem::Version
31
- version: "10.0"
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.3'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
32
34
  type: :development
33
- version_requirements: *id002
34
- - !ruby/object:Gem::Dependency
35
- name: mspec
36
35
  prerelease: false
37
- requirement: &id003 !ruby/object:Gem::Requirement
38
- requirements:
39
- - - ~>
40
- - !ruby/object:Gem::Version
41
- version: "1.5"
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: mspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.5'
42
48
  type: :development
43
- version_requirements: *id003
44
- - !ruby/object:Gem::Dependency
45
- name: rubysl-prettyprint
46
49
  prerelease: false
47
- requirement: &id004 !ruby/object:Gem::Requirement
48
- requirements:
49
- - - ~>
50
- - &id005 !ruby/object:Gem::Version
51
- version: "2.0"
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.5'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rubysl-prettyprint
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '2.0'
52
62
  type: :development
53
- version_requirements: *id004
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '2.0'
54
69
  description: Ruby standard library YAML.
55
- email:
70
+ email:
56
71
  - brixen@gmail.com
57
72
  executables: []
58
-
59
- extensions:
60
- - ext/rubysl/syck/extconf.rb
73
+ extensions: []
61
74
  extra_rdoc_files: []
62
-
63
- files:
64
- - .gitignore
65
- - .travis.yml
75
+ files:
76
+ - ".gitignore"
77
+ - ".travis.yml"
66
78
  - Gemfile
67
79
  - LICENSE
80
+ - MRI_LICENSE
68
81
  - README.md
69
82
  - Rakefile
70
- - ext/rubysl/syck/bytecode.c
71
- - ext/rubysl/syck/emitter.c
72
- - ext/rubysl/syck/extconf.rb
73
- - ext/rubysl/syck/gram.c
74
- - ext/rubysl/syck/gram.h
75
- - ext/rubysl/syck/handler.c
76
- - ext/rubysl/syck/implicit.c
77
- - ext/rubysl/syck/node.c
78
- - ext/rubysl/syck/rubyext.c
79
- - ext/rubysl/syck/syck.c
80
- - ext/rubysl/syck/syck.h
81
- - ext/rubysl/syck/token.c
82
- - ext/rubysl/syck/yaml2byte.c
83
- - ext/rubysl/syck/yamlbyte.h
84
83
  - lib/rubysl/yaml.rb
85
84
  - lib/rubysl/yaml/version.rb
86
- - lib/rubysl/yaml/yaml.rb
87
- - lib/syck.rb
88
- - lib/syck/baseemitter.rb
89
- - lib/syck/basenode.rb
90
- - lib/syck/constants.rb
91
- - lib/syck/encoding.rb
92
- - lib/syck/error.rb
93
- - lib/syck/loader.rb
94
- - lib/syck/rubytypes.rb
95
- - lib/syck/stream.rb
96
- - lib/syck/tag.rb
97
- - lib/syck/types.rb
98
- - lib/syck/yamlnode.rb
99
- - lib/syck/ypath.rb
100
85
  - lib/yaml.rb
101
86
  - lib/yaml/dbm.rb
102
87
  - lib/yaml/store.rb
@@ -135,32 +120,30 @@ files:
135
120
  - spec/transfer_spec.rb
136
121
  - spec/try_implicit_spec.rb
137
122
  homepage: https://github.com/rubysl/rubysl-yaml
138
- licenses:
123
+ licenses:
139
124
  - BSD
140
125
  metadata: {}
141
-
142
126
  post_install_message:
143
127
  rdoc_options: []
144
-
145
- require_paths:
128
+ require_paths:
146
129
  - lib
147
- required_ruby_version: !ruby/object:Gem::Requirement
148
- requirements:
149
- - - ~>
150
- - *id005
151
- required_rubygems_version: !ruby/object:Gem::Requirement
152
- requirements:
130
+ required_ruby_version: !ruby/object:Gem::Requirement
131
+ requirements:
132
+ - - "~>"
133
+ - !ruby/object:Gem::Version
134
+ version: '2.0'
135
+ required_rubygems_version: !ruby/object:Gem::Requirement
136
+ requirements:
153
137
  - - ">="
154
- - !ruby/object:Gem::Version
155
- version: "0"
138
+ - !ruby/object:Gem::Version
139
+ version: '0'
156
140
  requirements: []
157
-
158
141
  rubyforge_project:
159
- rubygems_version: 2.1.10
142
+ rubygems_version: 2.2.2
160
143
  signing_key:
161
144
  specification_version: 4
162
145
  summary: Ruby standard library YAML.
163
- test_files:
146
+ test_files:
164
147
  - spec/add_builtin_type_spec.rb
165
148
  - spec/add_domain_type_spec.rb
166
149
  - spec/add_private_type_spec.rb
@@ -1,1165 +0,0 @@
1
- /* Generated by re2c 0.9.10 on Mon Sep 19 23:21:26 2005 */
2
- #line 1 "bytecode.re"
3
- /*
4
- * bytecode.re
5
- *
6
- * $Author: naruse $
7
- *
8
- * Copyright (C) 2003 why the lucky stiff
9
- */
10
- #include "ruby/ruby.h"
11
- #include "syck.h"
12
- #include "gram.h"
13
-
14
- #define QUOTELEN 128
15
-
16
- /*
17
- * They do my bidding...
18
- */
19
- #define YYCTYPE char
20
- #define YYCURSOR parser->cursor
21
- #define YYMARKER parser->marker
22
- #define YYLIMIT parser->limit
23
- #define YYTOKEN parser->token
24
- #define YYTOKTMP parser->toktmp
25
- #define YYLINEPTR parser->lineptr
26
- #define YYLINECTPTR parser->linectptr
27
- #define YYLINE parser->linect
28
- #define YYFILL(n) syck_parser_read(parser)
29
-
30
- extern SyckParser *syck_parser_ptr;
31
-
32
- char *get_inline( SyckParser *parser );
33
-
34
- /*
35
- * Repositions the cursor at `n' offset from the token start.
36
- * Only works in `Header' and `Document' sections.
37
- */
38
- #define YYPOS(n) YYCURSOR = YYTOKEN + n
39
-
40
- /*
41
- * Track line numbers
42
- */
43
- #define CHK_NL(ptr) if ( *( ptr - 1 ) == '\n' && ptr > YYLINECTPTR ) { YYLINEPTR = ptr; YYLINE++; YYLINECTPTR = YYLINEPTR; }
44
-
45
- /*
46
- * I like seeing the level operations as macros...
47
- */
48
- #define ADD_LEVEL(len, status) syck_parser_add_level( parser, len, status )
49
- #define POP_LEVEL() syck_parser_pop_level( parser )
50
- #define CURRENT_LEVEL() syck_parser_current_level( parser )
51
-
52
- /*
53
- * Force a token next time around sycklex()
54
- */
55
- #define FORCE_NEXT_TOKEN(tok) parser->force_token = tok;
56
-
57
- /*
58
- * Adding levels in bytecode requires us to make sure
59
- * we've got all our tokens worked out.
60
- */
61
- #define ADD_BYTE_LEVEL(lvl, len, s ) \
62
- switch ( lvl->status ) \
63
- { \
64
- case syck_lvl_seq: \
65
- lvl->ncount++; \
66
- ADD_LEVEL(len, syck_lvl_open); \
67
- YYPOS(0); \
68
- return '-'; \
69
- \
70
- case syck_lvl_map: \
71
- lvl->ncount++; \
72
- ADD_LEVEL(len, s); \
73
- break; \
74
- \
75
- case syck_lvl_open: \
76
- lvl->status = s; \
77
- break; \
78
- \
79
- default: \
80
- ADD_LEVEL(len, s); \
81
- break; \
82
- }
83
-
84
- /*
85
- * Nice little macro to ensure we're YAML_IOPENed to the current level.
86
- * * Only use this macro in the "Document" section *
87
- */
88
- #define ENSURE_YAML_IOPEN(last_lvl, lvl_type, to_len, reset) \
89
- if ( last_lvl->spaces < to_len ) \
90
- { \
91
- if ( last_lvl->status == syck_lvl_iseq || last_lvl->status == syck_lvl_imap ) \
92
- { \
93
- goto Document; \
94
- } \
95
- else \
96
- { \
97
- ADD_LEVEL( to_len, lvl_type ); \
98
- if ( reset == 1 ) YYPOS(0); \
99
- return YAML_IOPEN; \
100
- } \
101
- }
102
-
103
- /*
104
- * Nice little macro to ensure closure of levels.
105
- * * Only use this macro in the "Document" section *
106
- */
107
- #define ENSURE_YAML_IEND(last_lvl, to_len) \
108
- if ( last_lvl->spaces > to_len ) \
109
- { \
110
- syck_parser_pop_level( parser ); \
111
- YYPOS(0); \
112
- return YAML_IEND; \
113
- }
114
-
115
- /*
116
- * Concatenates string items and manages allocation
117
- * to the string
118
- */
119
- #define CAT(s, c, i, l) \
120
- { \
121
- if ( i + 1 >= c ) \
122
- { \
123
- c += QUOTELEN; \
124
- S_REALLOC_N( s, char, c ); \
125
- } \
126
- s[i++] = l; \
127
- s[i] = '\0'; \
128
- }
129
-
130
- /*
131
- * Parser for standard YAML Bytecode [UTF-8]
132
- */
133
- int
134
- sycklex_bytecode_utf8( YYSTYPE *sycklval, SyckParser *parser )
135
- {
136
- SyckLevel *lvl;
137
- syck_parser_ptr = parser;
138
- if ( YYCURSOR == NULL )
139
- {
140
- syck_parser_read( parser );
141
- }
142
-
143
- if ( parser->force_token != 0 )
144
- {
145
- int t = parser->force_token;
146
- parser->force_token = 0;
147
- return t;
148
- }
149
-
150
- #line 172 "bytecode.re"
151
-
152
-
153
- lvl = CURRENT_LEVEL();
154
- if ( lvl->status == syck_lvl_doc )
155
- {
156
- goto Document;
157
- }
158
-
159
- /* Header: */
160
-
161
- YYTOKEN = YYCURSOR;
162
-
163
-
164
- #line 165 "<stdout>"
165
- {
166
- YYCTYPE yych;
167
- unsigned int yyaccept = 0;
168
- goto yy0;
169
- ++YYCURSOR;
170
- yy0:
171
- if((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
172
- yych = *YYCURSOR;
173
- switch(yych){
174
- case 0x00: goto yy2;
175
- case 'D': goto yy3;
176
- default: goto yy5;
177
- }
178
- yy2: YYCURSOR = YYMARKER;
179
- switch(yyaccept){
180
- case 0: goto yy4;
181
- }
182
- yy3: yyaccept = 0;
183
- yych = *(YYMARKER = ++YYCURSOR);
184
- switch(yych){
185
- case 0x0A: goto yy6;
186
- case 0x0D: goto yy8;
187
- default: goto yy4;
188
- }
189
- yy4:
190
- #line 199 "bytecode.re"
191
- { YYPOS(0);
192
- goto Document;
193
- }
194
- #line 195 "<stdout>"
195
- yy5: yych = *++YYCURSOR;
196
- goto yy4;
197
- yy6: ++YYCURSOR;
198
- goto yy7;
199
- yy7:
200
- #line 186 "bytecode.re"
201
- { if ( lvl->status == syck_lvl_header )
202
- {
203
- CHK_NL(YYCURSOR);
204
- goto Directive;
205
- }
206
- else
207
- {
208
- ENSURE_YAML_IEND(lvl, -1);
209
- YYPOS(0);
210
- return 0;
211
- }
212
- }
213
- #line 214 "<stdout>"
214
- yy8: ++YYCURSOR;
215
- switch((yych = *YYCURSOR)) {
216
- case 0x0A: goto yy6;
217
- default: goto yy2;
218
- }
219
- }
220
- #line 203 "bytecode.re"
221
-
222
-
223
- Document:
224
- {
225
- lvl = CURRENT_LEVEL();
226
- if ( lvl->status == syck_lvl_header )
227
- {
228
- lvl->status = syck_lvl_doc;
229
- }
230
-
231
- YYTOKEN = YYCURSOR;
232
-
233
-
234
- #line 235 "<stdout>"
235
- {
236
- YYCTYPE yych;
237
- goto yy9;
238
- ++YYCURSOR;
239
- yy9:
240
- if((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
241
- yych = *YYCURSOR;
242
- switch(yych){
243
- case 0x00: goto yy30;
244
- case 0x0A: goto yy27;
245
- case 0x0D: goto yy29;
246
- case 'A': goto yy19;
247
- case 'D': goto yy12;
248
- case 'E': goto yy16;
249
- case 'M': goto yy14;
250
- case 'P': goto yy13;
251
- case 'Q': goto yy15;
252
- case 'R': goto yy21;
253
- case 'S': goto yy17;
254
- case 'T': goto yy23;
255
- case 'c': goto yy25;
256
- default: goto yy11;
257
- }
258
- yy11:yy12: yych = *++YYCURSOR;
259
- switch(yych){
260
- case 0x0A: goto yy41;
261
- case 0x0D: goto yy44;
262
- default: goto yy11;
263
- }
264
- yy13: yych = *++YYCURSOR;
265
- switch(yych){
266
- case 0x0A: goto yy41;
267
- case 0x0D: goto yy43;
268
- default: goto yy11;
269
- }
270
- yy14: yych = *++YYCURSOR;
271
- switch(yych){
272
- case 0x0A: goto yy38;
273
- case 0x0D: goto yy40;
274
- default: goto yy11;
275
- }
276
- yy15: yych = *++YYCURSOR;
277
- switch(yych){
278
- case 0x0A: goto yy35;
279
- case 0x0D: goto yy37;
280
- default: goto yy11;
281
- }
282
- yy16: yych = *++YYCURSOR;
283
- switch(yych){
284
- case 0x0A: goto yy32;
285
- case 0x0D: goto yy34;
286
- default: goto yy11;
287
- }
288
- yy17: ++YYCURSOR;
289
- goto yy18;
290
- yy18:
291
- #line 288 "bytecode.re"
292
- { ADD_BYTE_LEVEL(lvl, lvl->spaces + 1, syck_lvl_str);
293
- goto Scalar;
294
- }
295
- #line 296 "<stdout>"
296
- yy19: ++YYCURSOR;
297
- goto yy20;
298
- yy20:
299
- #line 292 "bytecode.re"
300
- { ADD_BYTE_LEVEL(lvl, lvl->spaces + 1, syck_lvl_open);
301
- sycklval->name = get_inline( parser );
302
- syck_hdlr_remove_anchor( parser, sycklval->name );
303
- CHK_NL(YYCURSOR);
304
- return YAML_ANCHOR;
305
- }
306
- #line 307 "<stdout>"
307
- yy21: ++YYCURSOR;
308
- goto yy22;
309
- yy22:
310
- #line 299 "bytecode.re"
311
- { ADD_BYTE_LEVEL(lvl, lvl->spaces + 1, syck_lvl_str);
312
- sycklval->name = get_inline( parser );
313
- POP_LEVEL();
314
- if ( *( YYCURSOR - 1 ) == '\n' ) YYCURSOR--;
315
- return YAML_ALIAS;
316
- }
317
- #line 318 "<stdout>"
318
- yy23: ++YYCURSOR;
319
- goto yy24;
320
- yy24:
321
- #line 306 "bytecode.re"
322
- { char *qstr;
323
- ADD_BYTE_LEVEL(lvl, lvl->spaces + 1, syck_lvl_open);
324
- qstr = get_inline( parser );
325
- CHK_NL(YYCURSOR);
326
- if ( qstr[0] == '!' )
327
- {
328
- size_t qidx = strlen( qstr );
329
- if ( qstr[1] == '\0' )
330
- {
331
- free( qstr );
332
- return YAML_ITRANSFER;
333
- }
334
-
335
- lvl = CURRENT_LEVEL();
336
-
337
- /*
338
- * URL Prefixing
339
- */
340
- if ( qstr[1] == '^' )
341
- {
342
- sycklval->name = S_ALLOC_N( char, qidx + strlen( lvl->domain ) );
343
- sycklval->name[0] = '\0';
344
- strcat( sycklval->name, lvl->domain );
345
- strncat( sycklval->name, qstr + 2, qidx - 2 );
346
- free( qstr );
347
- }
348
- else
349
- {
350
- char *carat = qstr + 1;
351
- char *qend = qstr + qidx;
352
- while ( (++carat) < qend )
353
- {
354
- if ( *carat == '^' )
355
- break;
356
- }
357
-
358
- if ( carat < qend )
359
- {
360
- free( lvl->domain );
361
- lvl->domain = syck_strndup( qstr + 1, carat - ( qstr + 1 ) );
362
- sycklval->name = S_ALLOC_N( char, ( qend - carat ) + strlen( lvl->domain ) );
363
- sycklval->name[0] = '\0';
364
- strcat( sycklval->name, lvl->domain );
365
- strncat( sycklval->name, carat + 1, ( qend - carat ) - 1 );
366
- free( qstr );
367
- }
368
- else
369
- {
370
- sycklval->name = S_ALLOC_N( char, strlen( qstr ) );
371
- sycklval->name[0] = '\0';
372
- S_MEMCPY( sycklval->name, qstr + 1, char, strlen( qstr ) );
373
- free( qstr );
374
- }
375
- }
376
- return YAML_TRANSFER;
377
- }
378
- sycklval->name = qstr;
379
- return YAML_TAGURI;
380
- }
381
- #line 382 "<stdout>"
382
- yy25: ++YYCURSOR;
383
- goto yy26;
384
- yy26:
385
- #line 366 "bytecode.re"
386
- { goto Comment; }
387
- #line 388 "<stdout>"
388
- yy27: ++YYCURSOR;
389
- goto yy28;
390
- yy28:
391
- #line 368 "bytecode.re"
392
- { CHK_NL(YYCURSOR);
393
- if ( lvl->status == syck_lvl_seq )
394
- {
395
- return YAML_INDENT;
396
- }
397
- else if ( lvl->status == syck_lvl_map )
398
- {
399
- if ( lvl->ncount % 2 == 1 ) return ':';
400
- else return YAML_INDENT;
401
- }
402
- goto Document;
403
- }
404
- #line 405 "<stdout>"
405
- yy29: yych = *++YYCURSOR;
406
- switch(yych){
407
- case 0x0A: goto yy27;
408
- default: goto yy11;
409
- }
410
- yy30: ++YYCURSOR;
411
- goto yy31;
412
- yy31:
413
- #line 381 "bytecode.re"
414
- { ENSURE_YAML_IEND(lvl, -1);
415
- YYPOS(0);
416
- return 0;
417
- }
418
- #line 419 "<stdout>"
419
- yy32: ++YYCURSOR;
420
- goto yy33;
421
- yy33:
422
- #line 252 "bytecode.re"
423
- { if ( lvl->status == syck_lvl_seq && lvl->ncount == 0 )
424
- {
425
- lvl->ncount++;
426
- YYPOS(0);
427
- FORCE_NEXT_TOKEN( ']' );
428
- return '[';
429
- }
430
- else if ( lvl->status == syck_lvl_map && lvl->ncount == 0 )
431
- {
432
- lvl->ncount++;
433
- YYPOS(0);
434
- FORCE_NEXT_TOKEN( '}' );
435
- return '{';
436
- }
437
-
438
- POP_LEVEL();
439
- lvl = CURRENT_LEVEL();
440
- if ( lvl->status == syck_lvl_seq )
441
- {
442
- FORCE_NEXT_TOKEN(YAML_INDENT);
443
- }
444
- else if ( lvl->status == syck_lvl_map )
445
- {
446
- if ( lvl->ncount % 2 == 1 )
447
- {
448
- FORCE_NEXT_TOKEN(':');
449
- }
450
- else
451
- {
452
- FORCE_NEXT_TOKEN(YAML_INDENT);
453
- }
454
- }
455
- CHK_NL(YYCURSOR);
456
- return YAML_IEND;
457
- }
458
- #line 459 "<stdout>"
459
- yy34: yych = *++YYCURSOR;
460
- switch(yych){
461
- case 0x0A: goto yy32;
462
- default: goto yy11;
463
- }
464
- yy35: ++YYCURSOR;
465
- goto yy36;
466
- yy36:
467
- #line 237 "bytecode.re"
468
- { int complex = 0;
469
- if ( lvl->ncount % 2 == 0 && ( lvl->status == syck_lvl_map || lvl->status == syck_lvl_seq ) )
470
- {
471
- complex = 1;
472
- }
473
- ADD_BYTE_LEVEL(lvl, lvl->spaces + 1, syck_lvl_seq);
474
- CHK_NL(YYCURSOR);
475
- if ( complex )
476
- {
477
- FORCE_NEXT_TOKEN( YAML_IOPEN );
478
- return '?';
479
- }
480
- return YAML_IOPEN;
481
- }
482
- #line 483 "<stdout>"
483
- yy37: yych = *++YYCURSOR;
484
- switch(yych){
485
- case 0x0A: goto yy35;
486
- default: goto yy11;
487
- }
488
- yy38: ++YYCURSOR;
489
- goto yy39;
490
- yy39:
491
- #line 222 "bytecode.re"
492
- { int complex = 0;
493
- if ( lvl->ncount % 2 == 0 && ( lvl->status == syck_lvl_map || lvl->status == syck_lvl_seq ) )
494
- {
495
- complex = 1;
496
- }
497
- ADD_BYTE_LEVEL(lvl, lvl->spaces + 1, syck_lvl_map);
498
- CHK_NL(YYCURSOR);
499
- if ( complex )
500
- {
501
- FORCE_NEXT_TOKEN( YAML_IOPEN );
502
- return '?';
503
- }
504
- return YAML_IOPEN;
505
- }
506
- #line 507 "<stdout>"
507
- yy40: yych = *++YYCURSOR;
508
- switch(yych){
509
- case 0x0A: goto yy38;
510
- default: goto yy11;
511
- }
512
- yy41: ++YYCURSOR;
513
- goto yy42;
514
- yy42:
515
- #line 217 "bytecode.re"
516
- { ENSURE_YAML_IEND(lvl, -1);
517
- YYPOS(0);
518
- return 0;
519
- }
520
- #line 521 "<stdout>"
521
- yy43: yych = *++YYCURSOR;
522
- switch(yych){
523
- case 0x0A: goto yy41;
524
- default: goto yy11;
525
- }
526
- yy44: ++YYCURSOR;
527
- switch((yych = *YYCURSOR)) {
528
- case 0x0A: goto yy41;
529
- default: goto yy11;
530
- }
531
- }
532
- #line 386 "bytecode.re"
533
-
534
-
535
- }
536
-
537
- Directive:
538
- {
539
- YYTOKEN = YYCURSOR;
540
-
541
-
542
- #line 543 "<stdout>"
543
- {
544
- YYCTYPE yych;
545
- unsigned int yyaccept = 0;
546
- goto yy45;
547
- ++YYCURSOR;
548
- yy45:
549
- if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
550
- yych = *YYCURSOR;
551
- switch(yych){
552
- case 0x00: goto yy47;
553
- case 'V': goto yy48;
554
- default: goto yy50;
555
- }
556
- yy47: YYCURSOR = YYMARKER;
557
- switch(yyaccept){
558
- case 0: goto yy49;
559
- }
560
- yy48: yyaccept = 0;
561
- yych = *(YYMARKER = ++YYCURSOR);
562
- switch(yych){
563
- case '.':
564
- case '/':
565
- case '0':
566
- case '1':
567
- case '2':
568
- case '3':
569
- case '4':
570
- case '5':
571
- case '6':
572
- case '7':
573
- case '8':
574
- case '9':
575
- case ':':
576
- case ';':
577
- case '<':
578
- case '=':
579
- case '>':
580
- case '?':
581
- case '@':
582
- case 'A':
583
- case 'B':
584
- case 'C':
585
- case 'D':
586
- case 'E':
587
- case 'F':
588
- case 'G':
589
- case 'H':
590
- case 'I':
591
- case 'J':
592
- case 'K':
593
- case 'L':
594
- case 'M':
595
- case 'N':
596
- case 'O':
597
- case 'P':
598
- case 'Q':
599
- case 'R':
600
- case 'S':
601
- case 'T':
602
- case 'U':
603
- case 'V':
604
- case 'W':
605
- case 'X':
606
- case 'Y':
607
- case 'Z':
608
- case '[':
609
- case '\\':
610
- case ']':
611
- case '^':
612
- case '_': case 'a':
613
- case 'b':
614
- case 'c':
615
- case 'd':
616
- case 'e':
617
- case 'f':
618
- case 'g':
619
- case 'h':
620
- case 'i':
621
- case 'j':
622
- case 'k':
623
- case 'l':
624
- case 'm':
625
- case 'n':
626
- case 'o':
627
- case 'p':
628
- case 'q':
629
- case 'r':
630
- case 's':
631
- case 't':
632
- case 'u':
633
- case 'v':
634
- case 'w':
635
- case 'x':
636
- case 'y':
637
- case 'z': goto yy51;
638
- default: goto yy49;
639
- }
640
- yy49:
641
- #line 399 "bytecode.re"
642
- { YYCURSOR = YYTOKEN;
643
- return YAML_DOCSEP;
644
- }
645
- #line 646 "<stdout>"
646
- yy50: yych = *++YYCURSOR;
647
- goto yy49;
648
- yy51: ++YYCURSOR;
649
- if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
650
- yych = *YYCURSOR;
651
- goto yy52;
652
- yy52: switch(yych){
653
- case '.':
654
- case '/':
655
- case '0':
656
- case '1':
657
- case '2':
658
- case '3':
659
- case '4':
660
- case '5':
661
- case '6':
662
- case '7':
663
- case '8':
664
- case '9': case ';':
665
- case '<':
666
- case '=':
667
- case '>':
668
- case '?':
669
- case '@':
670
- case 'A':
671
- case 'B':
672
- case 'C':
673
- case 'D':
674
- case 'E':
675
- case 'F':
676
- case 'G':
677
- case 'H':
678
- case 'I':
679
- case 'J':
680
- case 'K':
681
- case 'L':
682
- case 'M':
683
- case 'N':
684
- case 'O':
685
- case 'P':
686
- case 'Q':
687
- case 'R':
688
- case 'S':
689
- case 'T':
690
- case 'U':
691
- case 'V':
692
- case 'W':
693
- case 'X':
694
- case 'Y':
695
- case 'Z':
696
- case '[':
697
- case '\\':
698
- case ']':
699
- case '^':
700
- case '_': case 'a':
701
- case 'b':
702
- case 'c':
703
- case 'd':
704
- case 'e':
705
- case 'f':
706
- case 'g':
707
- case 'h':
708
- case 'i':
709
- case 'j':
710
- case 'k':
711
- case 'l':
712
- case 'm':
713
- case 'n':
714
- case 'o':
715
- case 'p':
716
- case 'q':
717
- case 'r':
718
- case 's':
719
- case 't':
720
- case 'u':
721
- case 'v':
722
- case 'w':
723
- case 'x':
724
- case 'y':
725
- case 'z': goto yy51;
726
- case ':': goto yy53;
727
- default: goto yy47;
728
- }
729
- yy53: yych = *++YYCURSOR;
730
- switch(yych){
731
- case '.':
732
- case '/':
733
- case '0':
734
- case '1':
735
- case '2':
736
- case '3':
737
- case '4':
738
- case '5':
739
- case '6':
740
- case '7':
741
- case '8':
742
- case '9':
743
- case ':':
744
- case ';':
745
- case '<':
746
- case '=':
747
- case '>':
748
- case '?':
749
- case '@':
750
- case 'A':
751
- case 'B':
752
- case 'C':
753
- case 'D':
754
- case 'E':
755
- case 'F':
756
- case 'G':
757
- case 'H':
758
- case 'I':
759
- case 'J':
760
- case 'K':
761
- case 'L':
762
- case 'M':
763
- case 'N':
764
- case 'O':
765
- case 'P':
766
- case 'Q':
767
- case 'R':
768
- case 'S':
769
- case 'T':
770
- case 'U':
771
- case 'V':
772
- case 'W':
773
- case 'X':
774
- case 'Y':
775
- case 'Z':
776
- case '[':
777
- case '\\':
778
- case ']':
779
- case '^':
780
- case '_': case 'a':
781
- case 'b':
782
- case 'c':
783
- case 'd':
784
- case 'e':
785
- case 'f':
786
- case 'g':
787
- case 'h':
788
- case 'i':
789
- case 'j':
790
- case 'k':
791
- case 'l':
792
- case 'm':
793
- case 'n':
794
- case 'o':
795
- case 'p':
796
- case 'q':
797
- case 'r':
798
- case 's':
799
- case 't':
800
- case 'u':
801
- case 'v':
802
- case 'w':
803
- case 'x':
804
- case 'y':
805
- case 'z': goto yy54;
806
- default: goto yy47;
807
- }
808
- yy54: ++YYCURSOR;
809
- if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
810
- yych = *YYCURSOR;
811
- goto yy55;
812
- yy55: switch(yych){
813
- case 0x0A: goto yy56;
814
- case 0x0D: goto yy58;
815
- case '.':
816
- case '/':
817
- case '0':
818
- case '1':
819
- case '2':
820
- case '3':
821
- case '4':
822
- case '5':
823
- case '6':
824
- case '7':
825
- case '8':
826
- case '9':
827
- case ':':
828
- case ';':
829
- case '<':
830
- case '=':
831
- case '>':
832
- case '?':
833
- case '@':
834
- case 'A':
835
- case 'B':
836
- case 'C':
837
- case 'D':
838
- case 'E':
839
- case 'F':
840
- case 'G':
841
- case 'H':
842
- case 'I':
843
- case 'J':
844
- case 'K':
845
- case 'L':
846
- case 'M':
847
- case 'N':
848
- case 'O':
849
- case 'P':
850
- case 'Q':
851
- case 'R':
852
- case 'S':
853
- case 'T':
854
- case 'U':
855
- case 'V':
856
- case 'W':
857
- case 'X':
858
- case 'Y':
859
- case 'Z':
860
- case '[':
861
- case '\\':
862
- case ']':
863
- case '^':
864
- case '_': case 'a':
865
- case 'b':
866
- case 'c':
867
- case 'd':
868
- case 'e':
869
- case 'f':
870
- case 'g':
871
- case 'h':
872
- case 'i':
873
- case 'j':
874
- case 'k':
875
- case 'l':
876
- case 'm':
877
- case 'n':
878
- case 'o':
879
- case 'p':
880
- case 'q':
881
- case 'r':
882
- case 's':
883
- case 't':
884
- case 'u':
885
- case 'v':
886
- case 'w':
887
- case 'x':
888
- case 'y':
889
- case 'z': goto yy54;
890
- default: goto yy47;
891
- }
892
- yy56: ++YYCURSOR;
893
- goto yy57;
894
- yy57:
895
- #line 396 "bytecode.re"
896
- { CHK_NL(YYCURSOR);
897
- goto Directive; }
898
- #line 899 "<stdout>"
899
- yy58: ++YYCURSOR;
900
- switch((yych = *YYCURSOR)) {
901
- case 0x0A: goto yy56;
902
- default: goto yy47;
903
- }
904
- }
905
- #line 402 "bytecode.re"
906
-
907
-
908
- }
909
-
910
- Comment:
911
- {
912
- YYTOKEN = YYCURSOR;
913
-
914
-
915
- #line 916 "<stdout>"
916
- {
917
- YYCTYPE yych;
918
- goto yy59;
919
- ++YYCURSOR;
920
- yy59:
921
- if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
922
- yych = *YYCURSOR;
923
- switch(yych){
924
- case 0x00: goto yy61;
925
- case 0x0A: goto yy62;
926
- case 0x0D: goto yy64;
927
- default: goto yy66;
928
- }
929
- yy61:yy62: ++YYCURSOR;
930
- goto yy63;
931
- yy63:
932
- #line 412 "bytecode.re"
933
- { CHK_NL(YYCURSOR);
934
- goto Document; }
935
- #line 936 "<stdout>"
936
- yy64: ++YYCURSOR;
937
- switch((yych = *YYCURSOR)) {
938
- case 0x0A: goto yy67;
939
- default: goto yy65;
940
- }
941
- yy65:
942
- #line 415 "bytecode.re"
943
- { goto Comment; }
944
- #line 945 "<stdout>"
945
- yy66: yych = *++YYCURSOR;
946
- goto yy65;
947
- yy67: ++YYCURSOR;
948
- yych = *YYCURSOR;
949
- goto yy63;
950
- }
951
- #line 417 "bytecode.re"
952
-
953
-
954
- }
955
-
956
- Scalar:
957
- {
958
- int idx = 0;
959
- int cap = 100;
960
- char *str = S_ALLOC_N( char, cap );
961
- char *tok;
962
-
963
- str[0] = '\0';
964
-
965
- Scalar2:
966
- tok = YYCURSOR;
967
-
968
-
969
- #line 970 "<stdout>"
970
- {
971
- YYCTYPE yych;
972
- goto yy68;
973
- ++YYCURSOR;
974
- yy68:
975
- if((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
976
- yych = *YYCURSOR;
977
- switch(yych){
978
- case 0x00: goto yy74;
979
- case 0x0A: goto yy70;
980
- case 0x0D: goto yy72;
981
- default: goto yy76;
982
- }
983
- yy70: ++YYCURSOR;
984
- switch((yych = *YYCURSOR)) {
985
- case 'C': goto yy78;
986
- case 'N': goto yy80;
987
- case 'Z': goto yy83;
988
- default: goto yy71;
989
- }
990
- yy71:
991
- #line 461 "bytecode.re"
992
- { YYCURSOR = tok;
993
- goto ScalarEnd;
994
- }
995
- #line 996 "<stdout>"
996
- yy72: ++YYCURSOR;
997
- switch((yych = *YYCURSOR)) {
998
- case 0x0A: goto yy77;
999
- default: goto yy73;
1000
- }
1001
- yy73:
1002
- #line 469 "bytecode.re"
1003
- { CAT(str, cap, idx, tok[0]);
1004
- goto Scalar2;
1005
- }
1006
- #line 1007 "<stdout>"
1007
- yy74: ++YYCURSOR;
1008
- goto yy75;
1009
- yy75:
1010
- #line 465 "bytecode.re"
1011
- { YYCURSOR = tok;
1012
- goto ScalarEnd;
1013
- }
1014
- #line 1015 "<stdout>"
1015
- yy76: yych = *++YYCURSOR;
1016
- goto yy73;
1017
- yy77: yych = *++YYCURSOR;
1018
- switch(yych){
1019
- case 'C': goto yy78;
1020
- case 'N': goto yy80;
1021
- case 'Z': goto yy83;
1022
- default: goto yy71;
1023
- }
1024
- yy78: ++YYCURSOR;
1025
- goto yy79;
1026
- yy79:
1027
- #line 435 "bytecode.re"
1028
- { CHK_NL(tok+1);
1029
- goto Scalar2; }
1030
- #line 1031 "<stdout>"
1031
- yy80: ++YYCURSOR;
1032
- if(YYLIMIT == YYCURSOR) YYFILL(1);
1033
- yych = *YYCURSOR;
1034
- goto yy81;
1035
- yy81: switch(yych){
1036
- case '0':
1037
- case '1':
1038
- case '2':
1039
- case '3':
1040
- case '4':
1041
- case '5':
1042
- case '6':
1043
- case '7':
1044
- case '8':
1045
- case '9': goto yy80;
1046
- default: goto yy82;
1047
- }
1048
- yy82:
1049
- #line 438 "bytecode.re"
1050
- { CHK_NL(tok+1);
1051
- if ( tok + 2 < YYCURSOR )
1052
- {
1053
- char *count = tok + 2;
1054
- int total = strtod( count, NULL );
1055
- int i;
1056
- for ( i = 0; i < total; i++ )
1057
- {
1058
- CAT(str, cap, idx, '\n');
1059
- }
1060
- }
1061
- else
1062
- {
1063
- CAT(str, cap, idx, '\n');
1064
- }
1065
- goto Scalar2;
1066
- }
1067
- #line 1068 "<stdout>"
1068
- yy83: ++YYCURSOR;
1069
- goto yy84;
1070
- yy84:
1071
- #line 456 "bytecode.re"
1072
- { CHK_NL(tok+1);
1073
- CAT(str, cap, idx, '\0');
1074
- goto Scalar2;
1075
- }
1076
- #line 1077 "<stdout>"
1077
- }
1078
- #line 473 "bytecode.re"
1079
-
1080
-
1081
- ScalarEnd:
1082
- {
1083
- SyckNode *n = syck_alloc_str();
1084
- n->data.str->ptr = str;
1085
- n->data.str->len = idx;
1086
- sycklval->nodeData = n;
1087
- POP_LEVEL();
1088
- if ( parser->implicit_typing == 1 )
1089
- {
1090
- try_tag_implicit( sycklval->nodeData, parser->taguri_expansion );
1091
- }
1092
- return YAML_PLAIN;
1093
- }
1094
- }
1095
-
1096
- }
1097
-
1098
- char *
1099
- get_inline( SyckParser *parser )
1100
- {
1101
- int idx = 0;
1102
- int cap = 100;
1103
- char *str = S_ALLOC_N( char, cap );
1104
- char *tok;
1105
-
1106
- str[0] = '\0';
1107
-
1108
- Inline:
1109
- {
1110
- tok = YYCURSOR;
1111
-
1112
-
1113
- #line 1114 "<stdout>"
1114
- {
1115
- YYCTYPE yych;
1116
- goto yy85;
1117
- ++YYCURSOR;
1118
- yy85:
1119
- if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
1120
- yych = *YYCURSOR;
1121
- switch(yych){
1122
- case 0x00: goto yy91;
1123
- case 0x0A: goto yy87;
1124
- case 0x0D: goto yy89;
1125
- default: goto yy93;
1126
- }
1127
- yy87: ++YYCURSOR;
1128
- goto yy88;
1129
- yy88:
1130
- #line 508 "bytecode.re"
1131
- { CHK_NL(YYCURSOR);
1132
- return str; }
1133
- #line 1134 "<stdout>"
1134
- yy89: ++YYCURSOR;
1135
- switch((yych = *YYCURSOR)) {
1136
- case 0x0A: goto yy94;
1137
- default: goto yy90;
1138
- }
1139
- yy90:
1140
- #line 515 "bytecode.re"
1141
- { CAT(str, cap, idx, tok[0]);
1142
- goto Inline;
1143
- }
1144
- #line 1145 "<stdout>"
1145
- yy91: ++YYCURSOR;
1146
- goto yy92;
1147
- yy92:
1148
- #line 511 "bytecode.re"
1149
- { YYCURSOR = tok;
1150
- return str;
1151
- }
1152
- #line 1153 "<stdout>"
1153
- yy93: yych = *++YYCURSOR;
1154
- goto yy90;
1155
- yy94: ++YYCURSOR;
1156
- yych = *YYCURSOR;
1157
- goto yy88;
1158
- }
1159
- #line 519 "bytecode.re"
1160
-
1161
-
1162
- }
1163
-
1164
- }
1165
-