From 702c6a9ad9491e318c6c5a7e179a822431633950 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 29 Oct 2025 16:10:08 +0000 Subject: [PATCH 1/4] Initial plan From 8cad547d9ef624604538233af7307b9ade36d5a4 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 29 Oct 2025 16:15:07 +0000 Subject: [PATCH 2/4] Initial analysis of 401 Unauthorized issue Co-authored-by: Subterrane <5290140+Subterrane@users.noreply.github.com> --- vendor/bundle/ruby/3.2.0/bin/htmldiff | 29 + vendor/bundle/ruby/3.2.0/bin/httparty | 29 + vendor/bundle/ruby/3.2.0/bin/ldiff | 29 + vendor/bundle/ruby/3.2.0/bin/nokogiri | 29 + vendor/bundle/ruby/3.2.0/bin/racc | 29 + vendor/bundle/ruby/3.2.0/bin/rake | 29 + vendor/bundle/ruby/3.2.0/bin/rspec | 29 + .../ruby/3.2.0/cache/bigdecimal-3.3.1.gem | Bin 0 -> 84992 bytes vendor/bundle/ruby/3.2.0/cache/csv-3.3.5.gem | Bin 0 -> 66560 bytes .../ruby/3.2.0/cache/diff-lcs-1.6.2.gem | Bin 0 -> 59392 bytes .../ruby/3.2.0/cache/httparty-0.23.2.gem | Bin 0 -> 48640 bytes .../ruby/3.2.0/cache/mini_mime-1.1.5.gem | Bin 0 -> 35328 bytes .../ruby/3.2.0/cache/multi_xml-0.7.2.gem | Bin 0 -> 15360 bytes .../nokogiri-1.18.10-x86_64-linux-gnu.gem | Bin 0 -> 4073472 bytes vendor/bundle/ruby/3.2.0/cache/racc-1.8.1.gem | Bin 0 -> 65536 bytes .../bundle/ruby/3.2.0/cache/rake-10.5.0.gem | Bin 0 -> 130560 bytes .../bundle/ruby/3.2.0/cache/rspec-3.13.2.gem | Bin 0 -> 10752 bytes .../ruby/3.2.0/cache/rspec-core-3.13.6.gem | Bin 0 -> 167936 bytes .../3.2.0/cache/rspec-expectations-3.13.5.gem | Bin 0 -> 89600 bytes .../ruby/3.2.0/cache/rspec-mocks-3.13.6.gem | Bin 0 -> 82944 bytes .../ruby/3.2.0/cache/rspec-support-3.13.6.gem | Bin 0 -> 40960 bytes .../3.2.0/bigdecimal-3.3.1/bigdecimal.so | Bin 0 -> 432024 bytes .../3.2.0/bigdecimal-3.3.1/gem.build_complete | 0 .../3.2.0/bigdecimal-3.3.1/gem_make.out | 38 + .../3.2.0/bigdecimal-3.3.1/mkmf.log | 424 ++ .../3.2.0/racc-1.8.1/gem.build_complete | 0 .../3.2.0/racc-1.8.1/gem_make.out | 18 + .../3.2.0/racc-1.8.1/racc/cparse.so | Bin 0 -> 97136 bytes .../ruby/3.2.0/gems/bigdecimal-3.3.1/LICENSE | 56 + .../gems/bigdecimal-3.3.1/bigdecimal.gemspec | 57 + .../bigdecimal-3.3.1/ext/bigdecimal/Makefile | 270 + .../ext/bigdecimal/bigdecimal.c | 6238 +++++++++++++++++ .../ext/bigdecimal/bigdecimal.h | 292 + .../bigdecimal-3.3.1/ext/bigdecimal/bits.h | 144 + .../ext/bigdecimal/extconf.rb | 60 + .../bigdecimal-3.3.1/ext/bigdecimal/feature.h | 68 + .../bigdecimal-3.3.1/ext/bigdecimal/missing.c | 28 + .../bigdecimal-3.3.1/ext/bigdecimal/missing.h | 104 + .../ext/bigdecimal/missing/dtoa.c | 3462 +++++++++ .../ext/bigdecimal/static_assert.h | 54 + .../gems/bigdecimal-3.3.1/lib/bigdecimal.rb | 356 + .../gems/bigdecimal-3.3.1/lib/bigdecimal.so | Bin 0 -> 432024 bytes .../lib/bigdecimal/jacobian.rb | 90 + .../bigdecimal-3.3.1/lib/bigdecimal/ludcmp.rb | 89 + .../bigdecimal-3.3.1/lib/bigdecimal/math.rb | 249 + .../bigdecimal-3.3.1/lib/bigdecimal/newton.rb | 80 + .../bigdecimal-3.3.1/lib/bigdecimal/util.rb | 186 + .../gems/bigdecimal-3.3.1/sample/linear.rb | 74 + .../gems/bigdecimal-3.3.1/sample/nlsolve.rb | 40 + .../3.2.0/gems/bigdecimal-3.3.1/sample/pi.rb | 21 + .../ruby/3.2.0/gems/csv-3.3.5/LICENSE.txt | 33 + .../bundle/ruby/3.2.0/gems/csv-3.3.5/NEWS.md | 1009 +++ .../ruby/3.2.0/gems/csv-3.3.5/README.md | 55 + .../gems/csv-3.3.5/doc/csv/arguments/io.rdoc | 5 + .../doc/csv/options/common/col_sep.rdoc | 57 + .../doc/csv/options/common/quote_char.rdoc | 42 + .../doc/csv/options/common/row_sep.rdoc | 91 + .../csv/options/generating/force_quotes.rdoc | 17 + .../csv/options/generating/quote_empty.rdoc | 12 + .../options/generating/write_converters.rdoc | 25 + .../options/generating/write_empty_value.rdoc | 15 + .../csv/options/generating/write_headers.rdoc | 29 + .../options/generating/write_nil_value.rdoc | 14 + .../doc/csv/options/parsing/converters.rdoc | 46 + .../doc/csv/options/parsing/empty_value.rdoc | 13 + .../csv/options/parsing/field_size_limit.rdoc | 39 + .../options/parsing/header_converters.rdoc | 43 + .../doc/csv/options/parsing/headers.rdoc | 63 + .../csv/options/parsing/liberal_parsing.rdoc | 38 + .../doc/csv/options/parsing/nil_value.rdoc | 12 + .../csv/options/parsing/return_headers.rdoc | 22 + .../doc/csv/options/parsing/skip_blanks.rdoc | 31 + .../doc/csv/options/parsing/skip_lines.rdoc | 37 + .../doc/csv/options/parsing/strip.rdoc | 15 + .../options/parsing/unconverted_fields.rdoc | 27 + .../csv-3.3.5/doc/csv/recipes/filtering.rdoc | 226 + .../csv-3.3.5/doc/csv/recipes/generating.rdoc | 298 + .../csv-3.3.5/doc/csv/recipes/parsing.rdoc | 554 ++ .../csv-3.3.5/doc/csv/recipes/recipes.rdoc | 6 + .../ruby/3.2.0/gems/csv-3.3.5/lib/csv.rb | 3017 ++++++++ .../gems/csv-3.3.5/lib/csv/core_ext/array.rb | 9 + .../gems/csv-3.3.5/lib/csv/core_ext/string.rb | 9 + .../csv-3.3.5/lib/csv/fields_converter.rb | 96 + .../lib/csv/input_record_separator.rb | 18 + .../3.2.0/gems/csv-3.3.5/lib/csv/parser.rb | 1302 ++++ .../ruby/3.2.0/gems/csv-3.3.5/lib/csv/row.rb | 757 ++ .../3.2.0/gems/csv-3.3.5/lib/csv/table.rb | 1055 +++ .../3.2.0/gems/csv-3.3.5/lib/csv/version.rb | 6 + .../3.2.0/gems/csv-3.3.5/lib/csv/writer.rb | 209 + .../ruby/3.2.0/gems/diff-lcs-1.6.2/.rspec | 1 + .../3.2.0/gems/diff-lcs-1.6.2/CHANGELOG.md | 518 ++ .../gems/diff-lcs-1.6.2/CODE_OF_CONDUCT.md | 128 + .../3.2.0/gems/diff-lcs-1.6.2/CONTRIBUTING.md | 71 + .../3.2.0/gems/diff-lcs-1.6.2/CONTRIBUTORS.md | 49 + .../ruby/3.2.0/gems/diff-lcs-1.6.2/LICENCE.md | 40 + .../3.2.0/gems/diff-lcs-1.6.2/Manifest.txt | 115 + .../ruby/3.2.0/gems/diff-lcs-1.6.2/README.md | 92 + .../ruby/3.2.0/gems/diff-lcs-1.6.2/Rakefile | 115 + .../3.2.0/gems/diff-lcs-1.6.2/SECURITY.md | 41 + .../3.2.0/gems/diff-lcs-1.6.2/bin/htmldiff | 35 + .../ruby/3.2.0/gems/diff-lcs-1.6.2/bin/ldiff | 9 + .../gems/diff-lcs-1.6.2/docs/COPYING.txt | 339 + .../gems/diff-lcs-1.6.2/docs/artistic.txt | 127 + .../3.2.0/gems/diff-lcs-1.6.2/lib/diff-lcs.rb | 3 + .../3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs.rb | 742 ++ .../gems/diff-lcs-1.6.2/lib/diff/lcs/array.rb | 7 + .../diff-lcs-1.6.2/lib/diff/lcs/backports.rb | 13 + .../gems/diff-lcs-1.6.2/lib/diff/lcs/block.rb | 37 + .../diff-lcs-1.6.2/lib/diff/lcs/callbacks.rb | 327 + .../diff-lcs-1.6.2/lib/diff/lcs/change.rb | 174 + .../diff-lcs-1.6.2/lib/diff/lcs/htmldiff.rb | 160 + .../gems/diff-lcs-1.6.2/lib/diff/lcs/hunk.rb | 379 + .../diff-lcs-1.6.2/lib/diff/lcs/internals.rb | 308 + .../gems/diff-lcs-1.6.2/lib/diff/lcs/ldiff.rb | 189 + .../diff-lcs-1.6.2/lib/diff/lcs/string.rb | 5 + .../diff-lcs-1.6.2/lib/diff/lcs/version.rb | 7 + .../ruby/3.2.0/gems/diff-lcs-1.6.2/mise.toml | 5 + .../gems/diff-lcs-1.6.2/spec/change_spec.rb | 89 + .../gems/diff-lcs-1.6.2/spec/diff_spec.rb | 51 + .../gems/diff-lcs-1.6.2/spec/fixtures/123_x | 2 + .../gems/diff-lcs-1.6.2/spec/fixtures/456_x | 2 + .../gems/diff-lcs-1.6.2/spec/fixtures/aX | 1 + .../gems/diff-lcs-1.6.2/spec/fixtures/bXaX | 1 + .../gems/diff-lcs-1.6.2/spec/fixtures/ds1.csv | 50 + .../gems/diff-lcs-1.6.2/spec/fixtures/ds2.csv | 51 + .../gems/diff-lcs-1.6.2/spec/fixtures/empty | 0 .../diff-lcs-1.6.2/spec/fixtures/file1.bin | Bin 0 -> 1 bytes .../diff-lcs-1.6.2/spec/fixtures/file2.bin | Bin 0 -> 6 bytes .../diff-lcs-1.6.2/spec/fixtures/four_lines | 4 + .../fixtures/four_lines_with_missing_new_line | 4 + .../fixtures/ldiff/diff.missing_new_line1-e | 1 + .../fixtures/ldiff/diff.missing_new_line1-f | 1 + .../fixtures/ldiff/diff.missing_new_line2-e | 1 + .../fixtures/ldiff/diff.missing_new_line2-f | 1 + .../spec/fixtures/ldiff/error.diff.chef-e | 2 + .../spec/fixtures/ldiff/error.diff.chef-f | 2 + .../ldiff/error.diff.missing_new_line1-e | 1 + .../ldiff/error.diff.missing_new_line1-f | 1 + .../ldiff/error.diff.missing_new_line2-e | 1 + .../ldiff/error.diff.missing_new_line2-f | 1 + .../spec/fixtures/ldiff/output.diff | 4 + .../spec/fixtures/ldiff/output.diff-c | 7 + .../spec/fixtures/ldiff/output.diff-e | 3 + .../spec/fixtures/ldiff/output.diff-f | 3 + .../spec/fixtures/ldiff/output.diff-u | 5 + .../spec/fixtures/ldiff/output.diff.bin1 | 0 .../spec/fixtures/ldiff/output.diff.bin1-c | 0 .../spec/fixtures/ldiff/output.diff.bin1-e | 0 .../spec/fixtures/ldiff/output.diff.bin1-f | 0 .../spec/fixtures/ldiff/output.diff.bin1-u | 0 .../spec/fixtures/ldiff/output.diff.bin2 | 1 + .../spec/fixtures/ldiff/output.diff.bin2-c | 1 + .../spec/fixtures/ldiff/output.diff.bin2-e | 1 + .../spec/fixtures/ldiff/output.diff.bin2-f | 1 + .../spec/fixtures/ldiff/output.diff.bin2-u | 1 + .../spec/fixtures/ldiff/output.diff.chef | 4 + .../spec/fixtures/ldiff/output.diff.chef-c | 15 + .../spec/fixtures/ldiff/output.diff.chef-e | 3 + .../spec/fixtures/ldiff/output.diff.chef-f | 3 + .../spec/fixtures/ldiff/output.diff.chef-u | 9 + .../spec/fixtures/ldiff/output.diff.chef2 | 7 + .../spec/fixtures/ldiff/output.diff.chef2-c | 20 + .../spec/fixtures/ldiff/output.diff.chef2-d | 7 + .../spec/fixtures/ldiff/output.diff.chef2-e | 7 + .../spec/fixtures/ldiff/output.diff.chef2-f | 7 + .../spec/fixtures/ldiff/output.diff.chef2-u | 16 + .../ldiff/output.diff.empty.vs.four_lines | 5 + .../ldiff/output.diff.empty.vs.four_lines-c | 9 + .../ldiff/output.diff.empty.vs.four_lines-e | 6 + .../ldiff/output.diff.empty.vs.four_lines-f | 6 + .../ldiff/output.diff.empty.vs.four_lines-u | 7 + .../ldiff/output.diff.four_lines.vs.empty | 5 + .../ldiff/output.diff.four_lines.vs.empty-c | 9 + .../ldiff/output.diff.four_lines.vs.empty-e | 1 + .../ldiff/output.diff.four_lines.vs.empty-f | 1 + .../ldiff/output.diff.four_lines.vs.empty-u | 7 + .../output.diff.issue95_trailing_context | 4 + .../output.diff.issue95_trailing_context-c | 9 + .../output.diff.issue95_trailing_context-e | 3 + .../output.diff.issue95_trailing_context-f | 3 + .../output.diff.issue95_trailing_context-u | 6 + .../ldiff/output.diff.missing_new_line1 | 5 + .../ldiff/output.diff.missing_new_line1-c | 14 + .../ldiff/output.diff.missing_new_line1-e | 0 .../ldiff/output.diff.missing_new_line1-f | 0 .../ldiff/output.diff.missing_new_line1-u | 9 + .../ldiff/output.diff.missing_new_line2 | 5 + .../ldiff/output.diff.missing_new_line2-c | 14 + .../ldiff/output.diff.missing_new_line2-e | 0 .../ldiff/output.diff.missing_new_line2-f | 0 .../ldiff/output.diff.missing_new_line2-u | 9 + .../diff-lcs-1.6.2/spec/fixtures/new-chef | 4 + .../diff-lcs-1.6.2/spec/fixtures/new-chef2 | 17 + .../diff-lcs-1.6.2/spec/fixtures/old-chef | 4 + .../diff-lcs-1.6.2/spec/fixtures/old-chef2 | 14 + .../gems/diff-lcs-1.6.2/spec/hunk_spec.rb | 83 + .../gems/diff-lcs-1.6.2/spec/issues_spec.rb | 160 + .../gems/diff-lcs-1.6.2/spec/lcs_spec.rb | 56 + .../gems/diff-lcs-1.6.2/spec/ldiff_spec.rb | 100 + .../gems/diff-lcs-1.6.2/spec/patch_spec.rb | 416 ++ .../gems/diff-lcs-1.6.2/spec/sdiff_spec.rb | 216 + .../gems/diff-lcs-1.6.2/spec/spec_helper.rb | 376 + .../spec/traverse_balanced_spec.rb | 312 + .../spec/traverse_sequences_spec.rb | 137 + .../3.2.0/gems/httparty-0.23.2/.editorconfig | 18 + .../httparty-0.23.2/.github/dependabot.yml | 6 + .../httparty-0.23.2/.github/workflows/ci.yml | 24 + .../3.2.0/gems/httparty-0.23.2/.gitignore | 14 + .../3.2.0/gems/httparty-0.23.2/.rubocop.yml | 92 + .../gems/httparty-0.23.2/.rubocop_todo.yml | 124 + .../gems/httparty-0.23.2/CONTRIBUTING.md | 23 + .../3.2.0/gems/httparty-0.23.2/Changelog.md | 624 ++ .../ruby/3.2.0/gems/httparty-0.23.2/Gemfile | 27 + .../ruby/3.2.0/gems/httparty-0.23.2/Guardfile | 17 + .../3.2.0/gems/httparty-0.23.2/MIT-LICENSE | 20 + .../ruby/3.2.0/gems/httparty-0.23.2/README.md | 79 + .../ruby/3.2.0/gems/httparty-0.23.2/Rakefile | 10 + .../3.2.0/gems/httparty-0.23.2/bin/httparty | 123 + .../3.2.0/gems/httparty-0.23.2/cucumber.yml | 1 + .../3.2.0/gems/httparty-0.23.2/docs/README.md | 193 + .../gems/httparty-0.23.2/examples/README.md | 89 + .../gems/httparty-0.23.2/examples/aaws.rb | 36 + .../gems/httparty-0.23.2/examples/basic.rb | 28 + .../httparty-0.23.2/examples/body_stream.rb | 14 + .../gems/httparty-0.23.2/examples/crack.rb | 19 + .../examples/custom_parsers.rb | 68 + .../httparty-0.23.2/examples/delicious.rb | 37 + .../gems/httparty-0.23.2/examples/google.rb | 16 + .../examples/headers_and_user_agents.rb | 10 + .../gems/httparty-0.23.2/examples/idn.rb | 10 + .../gems/httparty-0.23.2/examples/logging.rb | 36 + .../examples/microsoft_graph.rb | 52 + .../httparty-0.23.2/examples/multipart.rb | 22 + .../examples/nokogiri_html_parser.rb | 19 + .../examples/party_foul_mode.rb | 90 + .../httparty-0.23.2/examples/peer_cert.rb | 9 + .../httparty-0.23.2/examples/rescue_json.rb | 17 + .../gems/httparty-0.23.2/examples/rubyurl.rb | 14 + .../httparty-0.23.2/examples/stackexchange.rb | 24 + .../examples/stream_download.rb | 26 + .../examples/tripit_sign_in.rb | 44 + .../gems/httparty-0.23.2/examples/twitter.rb | 31 + .../httparty-0.23.2/examples/whoismyrep.rb | 10 + .../gems/httparty-0.23.2/httparty.gemspec | 32 + .../gems/httparty-0.23.2/lib/httparty.rb | 699 ++ .../lib/httparty/connection_adapter.rb | 237 + .../lib/httparty/cookie_hash.rb | 23 + .../lib/httparty/decompressor.rb | 102 + .../lib/httparty/exceptions.rb | 62 + .../lib/httparty/hash_conversions.rb | 71 + .../lib/httparty/headers_processor.rb | 32 + .../lib/httparty/logger/apache_formatter.rb | 47 + .../lib/httparty/logger/curl_formatter.rb | 93 + .../lib/httparty/logger/logger.rb | 30 + .../lib/httparty/logger/logstash_formatter.rb | 62 + .../httparty/module_inheritable_attributes.rb | 56 + .../lib/httparty/net_digest_auth.rb | 135 + .../httparty-0.23.2/lib/httparty/parser.rb | 157 + .../httparty-0.23.2/lib/httparty/request.rb | 437 ++ .../lib/httparty/request/body.rb | 107 + .../httparty/request/multipart_boundary.rb | 13 + .../httparty-0.23.2/lib/httparty/response.rb | 156 + .../lib/httparty/response/headers.rb | 35 + .../lib/httparty/response_fragment.rb | 21 + .../lib/httparty/text_encoder.rb | 72 + .../httparty-0.23.2/lib/httparty/utils.rb | 13 + .../httparty-0.23.2/lib/httparty/version.rb | 5 + .../3.2.0/gems/httparty-0.23.2/script/release | 42 + .../httparty-0.23.2/website/css/common.css | 47 + .../gems/httparty-0.23.2/website/index.html | 73 + .../mini_mime-1.1.5/.github/workflows/ci.yml | 51 + .../mini_mime-1.1.5/.github/workflows/db.yml | 26 + .../3.2.0/gems/mini_mime-1.1.5/.gitignore | 9 + .../3.2.0/gems/mini_mime-1.1.5/.rubocop.yml | 5 + .../ruby/3.2.0/gems/mini_mime-1.1.5/CHANGELOG | 65 + .../gems/mini_mime-1.1.5/CODE_OF_CONDUCT.md | 74 + .../ruby/3.2.0/gems/mini_mime-1.1.5/Gemfile | 9 + .../3.2.0/gems/mini_mime-1.1.5/LICENSE.txt | 21 + .../ruby/3.2.0/gems/mini_mime-1.1.5/README.md | 114 + .../ruby/3.2.0/gems/mini_mime-1.1.5/Rakefile | 97 + .../3.2.0/gems/mini_mime-1.1.5/bench/bench.rb | 51 + .../3.2.0/gems/mini_mime-1.1.5/bin/console | 15 + .../gems/mini_mime-1.1.5/bin/db_pull_request | 20 + .../ruby/3.2.0/gems/mini_mime-1.1.5/bin/setup | 8 + .../lib/db/content_type_mime.db | 880 +++ .../gems/mini_mime-1.1.5/lib/db/ext_mime.db | 1201 ++++ .../gems/mini_mime-1.1.5/lib/mini_mime.rb | 186 + .../mini_mime-1.1.5/lib/mini_mime/version.rb | 4 + .../gems/mini_mime-1.1.5/mini_mime.gemspec | 31 + .../ruby/3.2.0/gems/multi_xml-0.7.2/.rspec | 2 + .../3.2.0/gems/multi_xml-0.7.2/.rubocop.yml | 56 + .../ruby/3.2.0/gems/multi_xml-0.7.2/.yardopts | 8 + .../3.2.0/gems/multi_xml-0.7.2/CHANGELOG.md | 113 + .../gems/multi_xml-0.7.2/CONTRIBUTING.md | 51 + .../ruby/3.2.0/gems/multi_xml-0.7.2/Gemfile | 21 + .../3.2.0/gems/multi_xml-0.7.2/LICENSE.md | 20 + .../ruby/3.2.0/gems/multi_xml-0.7.2/README.md | 75 + .../ruby/3.2.0/gems/multi_xml-0.7.2/Rakefile | 33 + .../gems/multi_xml-0.7.2/lib/multi_xml.rb | 311 + .../lib/multi_xml/parsers/libxml.rb | 33 + .../lib/multi_xml/parsers/libxml2_parser.rb | 70 + .../lib/multi_xml/parsers/nokogiri.rb | 36 + .../lib/multi_xml/parsers/oga.rb | 71 + .../lib/multi_xml/parsers/ox.rb | 91 + .../lib/multi_xml/parsers/rexml.rb | 113 + .../multi_xml-0.7.2/lib/multi_xml/version.rb | 3 + .../nokogiri-1.18.10-x86_64-linux-gnu/Gemfile | 40 + .../LICENSE-DEPENDENCIES.md | 2224 ++++++ .../LICENSE.md | 9 + .../README.md | 293 + .../bin/nokogiri | 131 + .../dependencies.yml | 31 + .../ext/nokogiri/depend | 38 + .../ext/nokogiri/extconf.rb | 1165 +++ .../ext/nokogiri/gumbo.c | 610 ++ .../ext/nokogiri/html4_document.c | 171 + .../ext/nokogiri/html4_element_description.c | 299 + .../ext/nokogiri/html4_entity_lookup.c | 37 + .../ext/nokogiri/html4_sax_parser.c | 40 + .../ext/nokogiri/html4_sax_parser_context.c | 98 + .../ext/nokogiri/html4_sax_push_parser.c | 96 + .../ext/nokogiri/include/libexslt/exslt.h | 108 + .../nokogiri/include/libexslt/exsltconfig.h | 70 + .../nokogiri/include/libexslt/exsltexports.h | 63 + .../include/libxml2/libxml/HTMLparser.h | 336 + .../include/libxml2/libxml/HTMLtree.h | 147 + .../ext/nokogiri/include/libxml2/libxml/SAX.h | 202 + .../nokogiri/include/libxml2/libxml/SAX2.h | 171 + .../nokogiri/include/libxml2/libxml/c14n.h | 115 + .../nokogiri/include/libxml2/libxml/catalog.h | 182 + .../nokogiri/include/libxml2/libxml/chvalid.h | 230 + .../include/libxml2/libxml/debugXML.h | 217 + .../nokogiri/include/libxml2/libxml/dict.h | 82 + .../include/libxml2/libxml/encoding.h | 244 + .../include/libxml2/libxml/entities.h | 166 + .../nokogiri/include/libxml2/libxml/globals.h | 41 + .../nokogiri/include/libxml2/libxml/hash.h | 251 + .../nokogiri/include/libxml2/libxml/list.h | 137 + .../nokogiri/include/libxml2/libxml/nanoftp.h | 186 + .../include/libxml2/libxml/nanohttp.h | 98 + .../nokogiri/include/libxml2/libxml/parser.h | 1390 ++++ .../include/libxml2/libxml/parserInternals.h | 671 ++ .../nokogiri/include/libxml2/libxml/pattern.h | 106 + .../nokogiri/include/libxml2/libxml/relaxng.h | 219 + .../include/libxml2/libxml/schemasInternals.h | 959 +++ .../include/libxml2/libxml/schematron.h | 143 + .../nokogiri/include/libxml2/libxml/threads.h | 87 + .../nokogiri/include/libxml2/libxml/tree.h | 1382 ++++ .../ext/nokogiri/include/libxml2/libxml/uri.h | 106 + .../nokogiri/include/libxml2/libxml/valid.h | 477 ++ .../include/libxml2/libxml/xinclude.h | 136 + .../nokogiri/include/libxml2/libxml/xlink.h | 189 + .../nokogiri/include/libxml2/libxml/xmlIO.h | 438 ++ .../include/libxml2/libxml/xmlautomata.h | 146 + .../include/libxml2/libxml/xmlerror.h | 962 +++ .../include/libxml2/libxml/xmlexports.h | 146 + .../include/libxml2/libxml/xmlmemory.h | 188 + .../include/libxml2/libxml/xmlmodule.h | 57 + .../include/libxml2/libxml/xmlreader.h | 436 ++ .../include/libxml2/libxml/xmlregexp.h | 215 + .../nokogiri/include/libxml2/libxml/xmlsave.h | 102 + .../include/libxml2/libxml/xmlschemas.h | 249 + .../include/libxml2/libxml/xmlschemastypes.h | 152 + .../include/libxml2/libxml/xmlstring.h | 140 + .../include/libxml2/libxml/xmlunicode.h | 366 + .../include/libxml2/libxml/xmlversion.h | 347 + .../include/libxml2/libxml/xmlwriter.h | 489 ++ .../nokogiri/include/libxml2/libxml/xpath.h | 579 ++ .../include/libxml2/libxml/xpathInternals.h | 633 ++ .../include/libxml2/libxml/xpointer.h | 138 + .../ext/nokogiri/include/libxslt/attributes.h | 39 + .../ext/nokogiri/include/libxslt/documents.h | 93 + .../ext/nokogiri/include/libxslt/extensions.h | 262 + .../ext/nokogiri/include/libxslt/extra.h | 72 + .../ext/nokogiri/include/libxslt/functions.h | 78 + .../ext/nokogiri/include/libxslt/imports.h | 75 + .../ext/nokogiri/include/libxslt/keys.h | 53 + .../ext/nokogiri/include/libxslt/namespaces.h | 68 + .../include/libxslt/numbersInternals.h | 73 + .../ext/nokogiri/include/libxslt/pattern.h | 84 + .../ext/nokogiri/include/libxslt/preproc.h | 43 + .../ext/nokogiri/include/libxslt/security.h | 104 + .../ext/nokogiri/include/libxslt/templates.h | 77 + .../ext/nokogiri/include/libxslt/transform.h | 207 + .../ext/nokogiri/include/libxslt/variables.h | 118 + .../ext/nokogiri/include/libxslt/xslt.h | 110 + .../nokogiri/include/libxslt/xsltInternals.h | 1995 ++++++ .../ext/nokogiri/include/libxslt/xsltconfig.h | 146 + .../nokogiri/include/libxslt/xsltexports.h | 64 + .../ext/nokogiri/include/libxslt/xsltlocale.h | 44 + .../ext/nokogiri/include/libxslt/xsltutils.h | 343 + .../ext/nokogiri/libxml2_polyfill.c | 114 + .../ext/nokogiri/nokogiri.c | 294 + .../ext/nokogiri/nokogiri.h | 238 + .../ext/nokogiri/test_global_handlers.c | 40 + .../ext/nokogiri/xml_attr.c | 103 + .../ext/nokogiri/xml_attribute_decl.c | 70 + .../ext/nokogiri/xml_cdata.c | 62 + .../ext/nokogiri/xml_comment.c | 57 + .../ext/nokogiri/xml_document.c | 784 +++ .../ext/nokogiri/xml_document_fragment.c | 29 + .../ext/nokogiri/xml_dtd.c | 208 + .../ext/nokogiri/xml_element_content.c | 131 + .../ext/nokogiri/xml_element_decl.c | 69 + .../ext/nokogiri/xml_encoding_handler.c | 112 + .../ext/nokogiri/xml_entity_decl.c | 112 + .../ext/nokogiri/xml_entity_reference.c | 50 + .../ext/nokogiri/xml_namespace.c | 181 + .../ext/nokogiri/xml_node.c | 2459 +++++++ .../ext/nokogiri/xml_node_set.c | 518 ++ .../ext/nokogiri/xml_processing_instruction.c | 54 + .../ext/nokogiri/xml_reader.c | 777 ++ .../ext/nokogiri/xml_relax_ng.c | 149 + .../ext/nokogiri/xml_sax_parser.c | 403 ++ .../ext/nokogiri/xml_sax_parser_context.c | 396 ++ .../ext/nokogiri/xml_sax_push_parser.c | 206 + .../ext/nokogiri/xml_schema.c | 226 + .../ext/nokogiri/xml_syntax_error.c | 93 + .../ext/nokogiri/xml_text.c | 59 + .../ext/nokogiri/xml_xpath_context.c | 486 ++ .../ext/nokogiri/xslt_stylesheet.c | 421 ++ .../gumbo-parser/CHANGES.md | 63 + .../gumbo-parser/Makefile | 129 + .../gumbo-parser/THANKS | 27 + .../lib/nokogiri.rb | 128 + .../lib/nokogiri/3.1/nokogiri.so | Bin 0 -> 2246744 bytes .../lib/nokogiri/3.2/nokogiri.so | Bin 0 -> 2242648 bytes .../lib/nokogiri/3.3/nokogiri.so | Bin 0 -> 2242648 bytes .../lib/nokogiri/3.4/nokogiri.so | Bin 0 -> 2242648 bytes .../lib/nokogiri/class_resolver.rb | 67 + .../lib/nokogiri/css.rb | 132 + .../lib/nokogiri/css/node.rb | 58 + .../lib/nokogiri/css/parser.rb | 772 ++ .../lib/nokogiri/css/parser.y | 277 + .../lib/nokogiri/css/parser_extras.rb | 36 + .../lib/nokogiri/css/selector_cache.rb | 38 + .../lib/nokogiri/css/syntax_error.rb | 9 + .../lib/nokogiri/css/tokenizer.rb | 155 + .../lib/nokogiri/css/tokenizer.rex | 57 + .../lib/nokogiri/css/xpath_visitor.rb | 376 + .../lib/nokogiri/decorators/slop.rb | 42 + .../lib/nokogiri/encoding_handler.rb | 57 + .../lib/nokogiri/extension.rb | 32 + .../lib/nokogiri/gumbo.rb | 15 + .../lib/nokogiri/html.rb | 48 + .../lib/nokogiri/html4.rb | 42 + .../lib/nokogiri/html4/builder.rb | 37 + .../lib/nokogiri/html4/document.rb | 235 + .../lib/nokogiri/html4/document_fragment.rb | 166 + .../lib/nokogiri/html4/element_description.rb | 25 + .../html4/element_description_defaults.rb | 2040 ++++++ .../lib/nokogiri/html4/encoding_reader.rb | 121 + .../lib/nokogiri/html4/entity_lookup.rb | 15 + .../lib/nokogiri/html4/sax/parser.rb | 48 + .../lib/nokogiri/html4/sax/parser_context.rb | 15 + .../lib/nokogiri/html4/sax/push_parser.rb | 37 + .../lib/nokogiri/html5.rb | 368 + .../lib/nokogiri/html5/builder.rb | 40 + .../lib/nokogiri/html5/document.rb | 199 + .../lib/nokogiri/html5/document_fragment.rb | 200 + .../lib/nokogiri/html5/node.rb | 103 + .../lib/nokogiri/jruby/dependencies.rb | 3 + .../lib/nokogiri/jruby/nokogiri_jars.rb | 43 + .../lib/nokogiri/syntax_error.rb | 6 + .../lib/nokogiri/version.rb | 4 + .../lib/nokogiri/version/constant.rb | 6 + .../lib/nokogiri/version/info.rb | 224 + .../lib/nokogiri/xml.rb | 65 + .../lib/nokogiri/xml/attr.rb | 66 + .../lib/nokogiri/xml/attribute_decl.rb | 22 + .../lib/nokogiri/xml/builder.rb | 494 ++ .../lib/nokogiri/xml/cdata.rb | 13 + .../lib/nokogiri/xml/character_data.rb | 9 + .../lib/nokogiri/xml/document.rb | 514 ++ .../lib/nokogiri/xml/document_fragment.rb | 276 + .../lib/nokogiri/xml/dtd.rb | 34 + .../lib/nokogiri/xml/element_content.rb | 46 + .../lib/nokogiri/xml/element_decl.rb | 17 + .../lib/nokogiri/xml/entity_decl.rb | 23 + .../lib/nokogiri/xml/entity_reference.rb | 20 + .../lib/nokogiri/xml/namespace.rb | 57 + .../lib/nokogiri/xml/node.rb | 1650 +++++ .../lib/nokogiri/xml/node/save_options.rb | 76 + .../lib/nokogiri/xml/node_set.rb | 449 ++ .../lib/nokogiri/xml/notation.rb | 19 + .../lib/nokogiri/xml/parse_options.rb | 213 + .../lib/nokogiri/xml/pp.rb | 4 + .../lib/nokogiri/xml/pp/character_data.rb | 21 + .../lib/nokogiri/xml/pp/node.rb | 73 + .../nokogiri/xml/processing_instruction.rb | 11 + .../lib/nokogiri/xml/reader.rb | 139 + .../lib/nokogiri/xml/relax_ng.rb | 75 + .../lib/nokogiri/xml/sax.rb | 54 + .../lib/nokogiri/xml/sax/document.rb | 258 + .../lib/nokogiri/xml/sax/parser.rb | 199 + .../lib/nokogiri/xml/sax/parser_context.rb | 129 + .../lib/nokogiri/xml/sax/push_parser.rb | 64 + .../lib/nokogiri/xml/schema.rb | 140 + .../lib/nokogiri/xml/searchable.rb | 274 + .../lib/nokogiri/xml/syntax_error.rb | 94 + .../lib/nokogiri/xml/text.rb | 11 + .../lib/nokogiri/xml/xpath.rb | 21 + .../lib/nokogiri/xml/xpath/syntax_error.rb | 13 + .../lib/nokogiri/xml/xpath_context.rb | 27 + .../lib/nokogiri/xslt.rb | 129 + .../lib/nokogiri/xslt/stylesheet.rb | 49 + .../lib/xsd/xmlparser/nokogiri.rb | 105 + vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/BSDL | 22 + .../bundle/ruby/3.2.0/gems/racc-1.8.1/COPYING | 56 + .../ruby/3.2.0/gems/racc-1.8.1/ChangeLog | 846 +++ .../ruby/3.2.0/gems/racc-1.8.1/README.ja.rdoc | 58 + .../ruby/3.2.0/gems/racc-1.8.1/README.rdoc | 60 + vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/TODO | 5 + .../ruby/3.2.0/gems/racc-1.8.1/bin/racc | 320 + .../gems/racc-1.8.1/doc/en/grammar.en.rdoc | 218 + .../gems/racc-1.8.1/doc/en/grammar2.en.rdoc | 219 + .../gems/racc-1.8.1/doc/ja/command.ja.html | 99 + .../gems/racc-1.8.1/doc/ja/debug.ja.rdoc | 36 + .../gems/racc-1.8.1/doc/ja/grammar.ja.rdoc | 348 + .../gems/racc-1.8.1/doc/ja/index.ja.html | 10 + .../gems/racc-1.8.1/doc/ja/parser.ja.rdoc | 125 + .../gems/racc-1.8.1/doc/ja/usage.ja.html | 414 ++ .../gems/racc-1.8.1/ext/racc/cparse/Makefile | 269 + .../gems/racc-1.8.1/ext/racc/cparse/cparse.c | 840 +++ .../racc-1.8.1/ext/racc/cparse/extconf.rb | 8 + .../ruby/3.2.0/gems/racc-1.8.1/lib/racc.rb | 6 + .../3.2.0/gems/racc-1.8.1/lib/racc/compat.rb | 33 + .../3.2.0/gems/racc-1.8.1/lib/racc/cparse.so | Bin 0 -> 97136 bytes .../gems/racc-1.8.1/lib/racc/debugflags.rb | 60 + .../gems/racc-1.8.1/lib/racc/exception.rb | 16 + .../3.2.0/gems/racc-1.8.1/lib/racc/grammar.rb | 1191 ++++ .../racc-1.8.1/lib/racc/grammarfileparser.rb | 667 ++ .../3.2.0/gems/racc-1.8.1/lib/racc/info.rb | 18 + .../3.2.0/gems/racc-1.8.1/lib/racc/iset.rb | 92 + .../racc-1.8.1/lib/racc/logfilegenerator.rb | 212 + .../gems/racc-1.8.1/lib/racc/parser-text.rb | 644 ++ .../3.2.0/gems/racc-1.8.1/lib/racc/parser.rb | 630 ++ .../lib/racc/parserfilegenerator.rb | 473 ++ .../gems/racc-1.8.1/lib/racc/sourcetext.rb | 35 + .../3.2.0/gems/racc-1.8.1/lib/racc/state.rb | 976 +++ .../lib/racc/statetransitiontable.rb | 311 + .../3.2.0/gems/racc-1.8.1/lib/racc/static.rb | 5 + .../ruby/3.2.0/gems/rake-10.5.0/.autotest | 7 + .../ruby/3.2.0/gems/rake-10.5.0/.rubocop.yml | 27 + .../ruby/3.2.0/gems/rake-10.5.0/.togglerc | 7 + .../3.2.0/gems/rake-10.5.0/CONTRIBUTING.rdoc | 38 + .../ruby/3.2.0/gems/rake-10.5.0/History.rdoc | 659 ++ .../ruby/3.2.0/gems/rake-10.5.0/MIT-LICENSE | 21 + .../ruby/3.2.0/gems/rake-10.5.0/Manifest.txt | 166 + .../ruby/3.2.0/gems/rake-10.5.0/README.rdoc | 139 + .../ruby/3.2.0/gems/rake-10.5.0/Rakefile | 81 + .../ruby/3.2.0/gems/rake-10.5.0/bin/rake | 33 + .../rake-10.5.0/doc/command_line_usage.rdoc | 158 + .../gems/rake-10.5.0/doc/example/Rakefile1 | 38 + .../gems/rake-10.5.0/doc/example/Rakefile2 | 35 + .../3.2.0/gems/rake-10.5.0/doc/example/a.c | 6 + .../3.2.0/gems/rake-10.5.0/doc/example/b.c | 6 + .../3.2.0/gems/rake-10.5.0/doc/example/main.c | 11 + .../3.2.0/gems/rake-10.5.0/doc/glossary.rdoc | 42 + .../ruby/3.2.0/gems/rake-10.5.0/doc/jamis.rb | 591 ++ .../gems/rake-10.5.0/doc/proto_rake.rdoc | 127 + .../ruby/3.2.0/gems/rake-10.5.0/doc/rake.1 | 141 + .../3.2.0/gems/rake-10.5.0/doc/rakefile.rdoc | 624 ++ .../3.2.0/gems/rake-10.5.0/doc/rational.rdoc | 151 + .../doc/release_notes/rake-0.4.14.rdoc | 23 + .../doc/release_notes/rake-0.4.15.rdoc | 35 + .../doc/release_notes/rake-0.5.0.rdoc | 53 + .../doc/release_notes/rake-0.5.3.rdoc | 78 + .../doc/release_notes/rake-0.5.4.rdoc | 46 + .../doc/release_notes/rake-0.6.0.rdoc | 141 + .../doc/release_notes/rake-0.7.0.rdoc | 119 + .../doc/release_notes/rake-0.7.1.rdoc | 59 + .../doc/release_notes/rake-0.7.2.rdoc | 121 + .../doc/release_notes/rake-0.7.3.rdoc | 47 + .../doc/release_notes/rake-0.8.0.rdoc | 114 + .../doc/release_notes/rake-0.8.2.rdoc | 165 + .../doc/release_notes/rake-0.8.3.rdoc | 112 + .../doc/release_notes/rake-0.8.4.rdoc | 147 + .../doc/release_notes/rake-0.8.5.rdoc | 53 + .../doc/release_notes/rake-0.8.6.rdoc | 37 + .../doc/release_notes/rake-0.8.7.rdoc | 55 + .../doc/release_notes/rake-0.9.0.rdoc | 112 + .../doc/release_notes/rake-0.9.1.rdoc | 52 + .../doc/release_notes/rake-0.9.2.2.rdoc | 55 + .../doc/release_notes/rake-0.9.2.rdoc | 49 + .../doc/release_notes/rake-0.9.3.rdoc | 102 + .../doc/release_notes/rake-0.9.4.rdoc | 60 + .../doc/release_notes/rake-0.9.5.rdoc | 55 + .../doc/release_notes/rake-0.9.6.rdoc | 64 + .../doc/release_notes/rake-10.0.0.rdoc | 178 + .../doc/release_notes/rake-10.0.1.rdoc | 58 + .../doc/release_notes/rake-10.0.2.rdoc | 53 + .../doc/release_notes/rake-10.0.3.rdoc | 191 + .../doc/release_notes/rake-10.1.0.rdoc | 61 + .../ruby/3.2.0/gems/rake-10.5.0/lib/rake.rb | 79 + .../gems/rake-10.5.0/lib/rake/alt_system.rb | 110 + .../gems/rake-10.5.0/lib/rake/application.rb | 790 +++ .../gems/rake-10.5.0/lib/rake/backtrace.rb | 23 + .../3.2.0/gems/rake-10.5.0/lib/rake/clean.rb | 76 + .../gems/rake-10.5.0/lib/rake/cloneable.rb | 16 + .../rake-10.5.0/lib/rake/contrib/.document | 1 + .../lib/rake/contrib/compositepublisher.rb | 21 + .../rake-10.5.0/lib/rake/contrib/ftptools.rb | 137 + .../rake-10.5.0/lib/rake/contrib/publisher.rb | 81 + .../lib/rake/contrib/rubyforgepublisher.rb | 18 + .../lib/rake/contrib/sshpublisher.rb | 61 + .../gems/rake-10.5.0/lib/rake/contrib/sys.rb | 4 + .../gems/rake-10.5.0/lib/rake/cpu_counter.rb | 125 + .../rake-10.5.0/lib/rake/default_loader.rb | 14 + .../rake-10.5.0/lib/rake/dsl_definition.rb | 201 + .../gems/rake-10.5.0/lib/rake/early_time.rb | 21 + .../gems/rake-10.5.0/lib/rake/ext/core.rb | 25 + .../gems/rake-10.5.0/lib/rake/ext/module.rb | 2 + .../gems/rake-10.5.0/lib/rake/ext/pathname.rb | 25 + .../gems/rake-10.5.0/lib/rake/ext/string.rb | 175 + .../gems/rake-10.5.0/lib/rake/ext/time.rb | 18 + .../lib/rake/file_creation_task.rb | 24 + .../gems/rake-10.5.0/lib/rake/file_list.rb | 428 ++ .../gems/rake-10.5.0/lib/rake/file_task.rb | 46 + .../gems/rake-10.5.0/lib/rake/file_utils.rb | 128 + .../rake-10.5.0/lib/rake/file_utils_ext.rb | 144 + .../rake-10.5.0/lib/rake/gempackagetask.rb | 4 + .../rake-10.5.0/lib/rake/invocation_chain.rb | 56 + .../lib/rake/invocation_exception_mixin.rb | 16 + .../gems/rake-10.5.0/lib/rake/late_time.rb | 17 + .../gems/rake-10.5.0/lib/rake/linked_list.rb | 103 + .../rake-10.5.0/lib/rake/loaders/makefile.rb | 53 + .../gems/rake-10.5.0/lib/rake/multi_task.rb | 13 + .../gems/rake-10.5.0/lib/rake/name_space.rb | 38 + .../gems/rake-10.5.0/lib/rake/packagetask.rb | 199 + .../gems/rake-10.5.0/lib/rake/pathmap.rb | 3 + .../3.2.0/gems/rake-10.5.0/lib/rake/phony.rb | 15 + .../rake-10.5.0/lib/rake/private_reader.rb | 20 + .../gems/rake-10.5.0/lib/rake/promise.rb | 99 + .../rake-10.5.0/lib/rake/pseudo_status.rb | 29 + .../gems/rake-10.5.0/lib/rake/rake_module.rb | 38 + .../rake-10.5.0/lib/rake/rake_test_loader.rb | 22 + .../gems/rake-10.5.0/lib/rake/rdoctask.rb | 4 + .../lib/rake/ruby182_test_unit_fix.rb | 29 + .../lib/rake/rule_recursion_overflow_error.rb | 20 + .../gems/rake-10.5.0/lib/rake/runtest.rb | 27 + .../3.2.0/gems/rake-10.5.0/lib/rake/scope.rb | 42 + .../3.2.0/gems/rake-10.5.0/lib/rake/task.rb | 383 + .../lib/rake/task_argument_error.rb | 7 + .../rake-10.5.0/lib/rake/task_arguments.rb | 98 + .../gems/rake-10.5.0/lib/rake/task_manager.rb | 307 + .../gems/rake-10.5.0/lib/rake/tasklib.rb | 24 + .../gems/rake-10.5.0/lib/rake/testtask.rb | 213 + .../lib/rake/thread_history_display.rb | 48 + .../gems/rake-10.5.0/lib/rake/thread_pool.rb | 164 + .../gems/rake-10.5.0/lib/rake/trace_output.rb | 22 + .../gems/rake-10.5.0/lib/rake/version.rb | 7 + .../3.2.0/gems/rake-10.5.0/lib/rake/win32.rb | 56 + .../gems/rake-10.5.0/rakelib/publish.rake | 20 + .../gems/rake-10.5.0/rakelib/test_times.rake | 25 + .../gems/rake-10.5.0/test/file_creation.rb | 34 + .../3.2.0/gems/rake-10.5.0/test/helper.rb | 129 + .../test/support/rakefile_definitions.rb | 478 ++ .../rake-10.5.0/test/support/ruby_runner.rb | 34 + .../rake-10.5.0/test/test_private_reader.rb | 42 + .../3.2.0/gems/rake-10.5.0/test/test_rake.rb | 40 + .../rake-10.5.0/test/test_rake_application.rb | 643 ++ .../test/test_rake_application_options.rb | 468 ++ .../rake-10.5.0/test/test_rake_backtrace.rb | 119 + .../gems/rake-10.5.0/test/test_rake_clean.rb | 61 + .../rake-10.5.0/test/test_rake_cpu_counter.rb | 68 + .../rake-10.5.0/test/test_rake_definitions.rb | 84 + .../test/test_rake_directory_task.rb | 76 + .../gems/rake-10.5.0/test/test_rake_dsl.rb | 40 + .../rake-10.5.0/test/test_rake_early_time.rb | 31 + .../rake-10.5.0/test/test_rake_extension.rb | 59 + .../test/test_rake_file_creation_task.rb | 56 + .../rake-10.5.0/test/test_rake_file_list.rb | 670 ++ .../test/test_rake_file_list_path_map.rb | 8 + .../rake-10.5.0/test/test_rake_file_task.rb | 197 + .../rake-10.5.0/test/test_rake_file_utils.rb | 314 + .../rake-10.5.0/test/test_rake_ftp_file.rb | 74 + .../rake-10.5.0/test/test_rake_functional.rb | 482 ++ .../test/test_rake_invocation_chain.rb | 64 + .../rake-10.5.0/test/test_rake_late_time.rb | 18 + .../rake-10.5.0/test/test_rake_linked_list.rb | 84 + .../test/test_rake_makefile_loader.rb | 46 + .../rake-10.5.0/test/test_rake_multi_task.rb | 64 + .../rake-10.5.0/test/test_rake_name_space.rb | 57 + .../test/test_rake_package_task.rb | 79 + .../rake-10.5.0/test/test_rake_path_map.rb | 168 + .../test/test_rake_path_map_explode.rb | 34 + .../test/test_rake_path_map_partial.rb | 18 + .../test/test_rake_pathname_extensions.rb | 15 + .../test/test_rake_pseudo_status.rb | 21 + .../test/test_rake_rake_test_loader.rb | 20 + .../test/test_rake_reduce_compat.rb | 26 + .../rake-10.5.0/test/test_rake_require.rb | 40 + .../gems/rake-10.5.0/test/test_rake_rules.rb | 388 + .../gems/rake-10.5.0/test/test_rake_scope.rb | 44 + .../gems/rake-10.5.0/test/test_rake_task.rb | 393 ++ .../test/test_rake_task_argument_parsing.rb | 119 + .../test/test_rake_task_arguments.rb | 127 + .../rake-10.5.0/test/test_rake_task_lib.rb | 9 + .../test/test_rake_task_manager.rb | 178 + ...t_rake_task_manager_argument_resolution.rb | 19 + .../test/test_rake_task_with_arguments.rb | 172 + .../rake-10.5.0/test/test_rake_test_task.rb | 146 + .../rake-10.5.0/test/test_rake_thread_pool.rb | 145 + .../test/test_rake_top_level_functions.rb | 71 + .../gems/rake-10.5.0/test/test_rake_win32.rb | 72 + .../test/test_thread_history_display.rb | 101 + .../rake-10.5.0/test/test_trace_output.rb | 52 + .../ruby/3.2.0/gems/rspec-3.13.2/LICENSE.md | 27 + .../ruby/3.2.0/gems/rspec-3.13.2/README.md | 47 + .../ruby/3.2.0/gems/rspec-3.13.2/lib/rspec.rb | 3 + .../gems/rspec-3.13.2/lib/rspec/version.rb | 5 + .../3.2.0/gems/rspec-core-3.13.6/.document | 5 + .../3.2.0/gems/rspec-core-3.13.6/.yardopts | 8 + .../3.2.0/gems/rspec-core-3.13.6/Changelog.md | 2447 +++++++ .../3.2.0/gems/rspec-core-3.13.6/LICENSE.md | 26 + .../3.2.0/gems/rspec-core-3.13.6/README.md | 389 + .../3.2.0/gems/rspec-core-3.13.6/exe/rspec | 4 + .../rspec-core-3.13.6/lib/rspec/autorun.rb | 3 + .../gems/rspec-core-3.13.6/lib/rspec/core.rb | 212 + .../lib/rspec/core/backtrace_formatter.rb | 65 + .../lib/rspec/core/bisect/coordinator.rb | 62 + .../rspec/core/bisect/example_minimizer.rb | 173 + .../lib/rspec/core/bisect/fork_runner.rb | 140 + .../lib/rspec/core/bisect/server.rb | 61 + .../lib/rspec/core/bisect/shell_command.rb | 126 + .../lib/rspec/core/bisect/shell_runner.rb | 73 + .../lib/rspec/core/bisect/utilities.rb | 69 + .../lib/rspec/core/configuration.rb | 2419 +++++++ .../lib/rspec/core/configuration_options.rb | 240 + .../lib/rspec/core/did_you_mean.rb | 52 + .../rspec-core-3.13.6/lib/rspec/core/drb.rb | 120 + .../rspec-core-3.13.6/lib/rspec/core/dsl.rb | 98 + .../lib/rspec/core/example.rb | 666 ++ .../lib/rspec/core/example_group.rb | 912 +++ .../rspec/core/example_status_persister.rb | 235 + .../lib/rspec/core/filter_manager.rb | 231 + .../lib/rspec/core/flat_map.rb | 20 + .../lib/rspec/core/formatters.rb | 279 + .../core/formatters/base_bisect_formatter.rb | 45 + .../rspec/core/formatters/base_formatter.rb | 70 + .../core/formatters/base_text_formatter.rb | 75 + .../core/formatters/bisect_drb_formatter.rb | 29 + .../formatters/bisect_progress_formatter.rb | 157 + .../rspec/core/formatters/console_codes.rb | 76 + .../core/formatters/deprecation_formatter.rb | 223 + .../formatters/documentation_formatter.rb | 102 + .../core/formatters/exception_presenter.rb | 553 ++ .../core/formatters/failure_list_formatter.rb | 23 + .../formatters/fallback_message_formatter.rb | 28 + .../lib/rspec/core/formatters/helpers.rb | 118 + .../rspec/core/formatters/html_formatter.rb | 153 + .../lib/rspec/core/formatters/html_printer.rb | 412 ++ .../core/formatters/html_snippet_extractor.rb | 122 + .../rspec/core/formatters/json_formatter.rb | 103 + .../core/formatters/profile_formatter.rb | 68 + .../core/formatters/progress_formatter.rb | 29 + .../lib/rspec/core/formatters/protocol.rb | 182 + .../core/formatters/snippet_extractor.rb | 134 + .../core/formatters/syntax_highlighter.rb | 91 + .../rspec-core-3.13.6/lib/rspec/core/hooks.rb | 646 ++ .../lib/rspec/core/invocations.rb | 87 + .../lib/rspec/core/memoized_helpers.rb | 580 ++ .../lib/rspec/core/metadata.rb | 498 ++ .../lib/rspec/core/metadata_filter.rb | 255 + .../rspec/core/minitest_assertions_adapter.rb | 31 + .../rspec/core/mocking_adapters/flexmock.rb | 31 + .../lib/rspec/core/mocking_adapters/mocha.rb | 57 + .../lib/rspec/core/mocking_adapters/null.rb | 14 + .../lib/rspec/core/mocking_adapters/rr.rb | 31 + .../lib/rspec/core/mocking_adapters/rspec.rb | 32 + .../lib/rspec/core/notifications.rb | 523 ++ .../lib/rspec/core/option_parser.rb | 325 + .../lib/rspec/core/ordering.rb | 208 + .../lib/rspec/core/output_wrapper.rb | 29 + .../lib/rspec/core/pending.rb | 157 + .../lib/rspec/core/profiler.rb | 34 + .../lib/rspec/core/project_initializer.rb | 48 + .../lib/rspec/core/project_initializer/.rspec | 1 + .../project_initializer/spec/spec_helper.rb | 98 + .../lib/rspec/core/rake_task.rb | 190 + .../lib/rspec/core/reporter.rb | 266 + .../lib/rspec/core/ruby_project.rb | 53 + .../lib/rspec/core/runner.rb | 216 + .../lib/rspec/core/sandbox.rb | 37 + .../rspec-core-3.13.6/lib/rspec/core/set.rb | 54 + .../lib/rspec/core/shared_context.rb | 55 + .../lib/rspec/core/shared_example_group.rb | 271 + .../lib/rspec/core/shell_escape.rb | 49 + .../core/test_unit_assertions_adapter.rb | 30 + .../lib/rspec/core/version.rb | 9 + .../lib/rspec/core/warnings.rb | 40 + .../rspec-core-3.13.6/lib/rspec/core/world.rb | 287 + .../gems/rspec-expectations-3.13.5/.document | 5 + .../gems/rspec-expectations-3.13.5/.yardopts | 6 + .../rspec-expectations-3.13.5/Changelog.md | 1366 ++++ .../gems/rspec-expectations-3.13.5/LICENSE.md | 25 + .../gems/rspec-expectations-3.13.5/README.md | 326 + .../lib/rspec/expectations.rb | 82 + .../expectations/block_snippet_extractor.rb | 255 + .../lib/rspec/expectations/configuration.rb | 244 + .../rspec/expectations/expectation_target.rb | 163 + .../lib/rspec/expectations/fail_with.rb | 39 + .../rspec/expectations/failure_aggregator.rb | 236 + .../lib/rspec/expectations/handler.rb | 181 + .../expectations/minitest_integration.rb | 58 + .../lib/rspec/expectations/syntax.rb | 132 + .../lib/rspec/expectations/version.rb | 8 + .../lib/rspec/matchers.rb | 1046 +++ .../lib/rspec/matchers/aliased_matcher.rb | 116 + .../lib/rspec/matchers/built_in.rb | 53 + .../lib/rspec/matchers/built_in/all.rb | 86 + .../rspec/matchers/built_in/base_matcher.rb | 225 + .../lib/rspec/matchers/built_in/be.rb | 191 + .../lib/rspec/matchers/built_in/be_between.rb | 77 + .../rspec/matchers/built_in/be_instance_of.rb | 26 + .../lib/rspec/matchers/built_in/be_kind_of.rb | 20 + .../lib/rspec/matchers/built_in/be_within.rb | 72 + .../lib/rspec/matchers/built_in/change.rb | 452 ++ .../lib/rspec/matchers/built_in/compound.rb | 293 + .../matchers/built_in/contain_exactly.rb | 312 + .../matchers/built_in/count_expectation.rb | 171 + .../lib/rspec/matchers/built_in/cover.rb | 24 + .../lib/rspec/matchers/built_in/eq.rb | 44 + .../lib/rspec/matchers/built_in/eql.rb | 38 + .../lib/rspec/matchers/built_in/equal.rb | 81 + .../lib/rspec/matchers/built_in/exist.rb | 90 + .../lib/rspec/matchers/built_in/has.rb | 194 + .../matchers/built_in/have_attributes.rb | 114 + .../lib/rspec/matchers/built_in/include.rb | 218 + .../lib/rspec/matchers/built_in/match.rb | 120 + .../lib/rspec/matchers/built_in/operators.rb | 128 + .../lib/rspec/matchers/built_in/output.rb | 207 + .../rspec/matchers/built_in/raise_error.rb | 275 + .../lib/rspec/matchers/built_in/respond_to.rb | 200 + .../lib/rspec/matchers/built_in/satisfy.rb | 62 + .../matchers/built_in/start_or_end_with.rb | 94 + .../rspec/matchers/built_in/throw_symbol.rb | 138 + .../lib/rspec/matchers/built_in/yield.rb | 375 + .../lib/rspec/matchers/composable.rb | 171 + .../lib/rspec/matchers/dsl.rb | 546 ++ .../lib/rspec/matchers/english_phrasing.rb | 60 + .../lib/rspec/matchers/fail_matchers.rb | 42 + .../rspec/matchers/generated_descriptions.rb | 41 + .../lib/rspec/matchers/matcher_delegator.rb | 61 + .../lib/rspec/matchers/matcher_protocol.rb | 105 + .../lib/rspec/matchers/multi_matcher_diff.rb | 82 + .../3.2.0/gems/rspec-mocks-3.13.6/.document | 5 + .../3.2.0/gems/rspec-mocks-3.13.6/.yardopts | 6 + .../gems/rspec-mocks-3.13.6/Changelog.md | 1336 ++++ .../3.2.0/gems/rspec-mocks-3.13.6/LICENSE.md | 25 + .../3.2.0/gems/rspec-mocks-3.13.6/README.md | 465 ++ .../rspec-mocks-3.13.6/lib/rspec/mocks.rb | 133 + .../lib/rspec/mocks/any_instance.rb | 11 + .../lib/rspec/mocks/any_instance/chain.rb | 111 + .../mocks/any_instance/error_generator.rb | 31 + .../mocks/any_instance/expect_chain_chain.rb | 31 + .../mocks/any_instance/expectation_chain.rb | 50 + .../mocks/any_instance/message_chains.rb | 83 + .../lib/rspec/mocks/any_instance/proxy.rb | 125 + .../lib/rspec/mocks/any_instance/recorder.rb | 299 + .../rspec/mocks/any_instance/stub_chain.rb | 51 + .../mocks/any_instance/stub_chain_chain.rb | 23 + .../lib/rspec/mocks/argument_list_matcher.rb | 117 + .../lib/rspec/mocks/argument_matchers.rb | 366 + .../lib/rspec/mocks/configuration.rb | 212 + .../lib/rspec/mocks/error_generator.rb | 390 ++ .../lib/rspec/mocks/example_methods.rb | 434 ++ .../rspec/mocks/instance_method_stasher.rb | 146 + .../lib/rspec/mocks/marshal_extension.rb | 41 + .../matchers/expectation_customization.rb | 20 + .../lib/rspec/mocks/matchers/have_received.rb | 134 + .../lib/rspec/mocks/matchers/receive.rb | 134 + .../mocks/matchers/receive_message_chain.rb | 82 + .../rspec/mocks/matchers/receive_messages.rb | 77 + .../lib/rspec/mocks/message_chain.rb | 87 + .../lib/rspec/mocks/message_expectation.rb | 856 +++ .../lib/rspec/mocks/method_double.rb | 316 + .../lib/rspec/mocks/method_reference.rb | 214 + .../lib/rspec/mocks/minitest_integration.rb | 68 + .../lib/rspec/mocks/mutate_const.rb | 339 + .../lib/rspec/mocks/object_reference.rb | 149 + .../lib/rspec/mocks/order_group.rb | 81 + .../lib/rspec/mocks/proxy.rb | 517 ++ .../lib/rspec/mocks/space.rb | 238 + .../lib/rspec/mocks/standalone.rb | 3 + .../lib/rspec/mocks/syntax.rb | 325 + .../lib/rspec/mocks/targets.rb | 124 + .../lib/rspec/mocks/test_double.rb | 173 + .../lib/rspec/mocks/verifying_double.rb | 125 + .../mocks/verifying_message_expectation.rb | 55 + .../lib/rspec/mocks/verifying_proxy.rb | 221 + .../lib/rspec/mocks/version.rb | 9 + .../gems/rspec-support-3.13.6/Changelog.md | 437 ++ .../gems/rspec-support-3.13.6/LICENSE.md | 23 + .../3.2.0/gems/rspec-support-3.13.6/README.md | 40 + .../rspec-support-3.13.6/lib/rspec/support.rb | 163 + .../lib/rspec/support/caller_filter.rb | 85 + .../lib/rspec/support/comparable_version.rb | 48 + .../lib/rspec/support/differ.rb | 216 + .../lib/rspec/support/directory_maker.rb | 65 + .../lib/rspec/support/encoded_string.rb | 163 + .../lib/rspec/support/fuzzy_matcher.rb | 50 + .../lib/rspec/support/hunk_generator.rb | 49 + .../lib/rspec/support/matcher_definition.rb | 44 + .../support/method_signature_verifier.rb | 467 ++ .../lib/rspec/support/mutex.rb | 75 + .../lib/rspec/support/object_formatter.rb | 279 + .../rspec/support/recursive_const_methods.rb | 78 + .../lib/rspec/support/reentrant_mutex.rb | 80 + .../lib/rspec/support/ruby_features.rb | 221 + .../lib/rspec/support/source.rb | 87 + .../lib/rspec/support/source/location.rb | 23 + .../lib/rspec/support/source/node.rb | 112 + .../lib/rspec/support/source/token.rb | 96 + .../lib/rspec/support/spec.rb | 84 + .../rspec/support/spec/deprecation_helpers.rb | 50 + .../lib/rspec/support/spec/diff_helpers.rb | 45 + .../rspec/support/spec/formatting_support.rb | 11 + .../lib/rspec/support/spec/in_sub_process.rb | 73 + .../rspec/support/spec/library_wide_checks.rb | 152 + .../lib/rspec/support/spec/shell_out.rb | 115 + .../lib/rspec/support/spec/stderr_splitter.rb | 77 + .../lib/rspec/support/spec/string_matcher.rb | 47 + .../support/spec/with_isolated_directory.rb | 15 + .../support/spec/with_isolated_stderr.rb | 15 + .../lib/rspec/support/version.rb | 9 + .../lib/rspec/support/warnings.rb | 41 + .../support/with_keywords_when_needed.rb | 35 + .../specifications/bigdecimal-3.3.1.gemspec | 25 + .../3.2.0/specifications/csv-3.3.5.gemspec | 25 + .../specifications/diff-lcs-1.6.2.gemspec | 35 + .../specifications/httparty-0.23.2.gemspec | 31 + .../specifications/mini_mime-1.1.5.gemspec | 30 + .../specifications/multi_xml-0.7.2.gemspec | 26 + .../nokogiri-1.18.10-x86_64-linux-gnu.gemspec | 31 + .../3.2.0/specifications/racc-1.8.1.gemspec | 28 + .../3.2.0/specifications/rake-10.5.0.gemspec | 31 + .../3.2.0/specifications/rspec-3.13.2.gemspec | 31 + .../specifications/rspec-core-3.13.6.gemspec | 31 + .../rspec-expectations-3.13.5.gemspec | 29 + .../specifications/rspec-mocks-3.13.6.gemspec | 29 + .../rspec-support-3.13.6.gemspec | 29 + 943 files changed, 149818 insertions(+) create mode 100755 vendor/bundle/ruby/3.2.0/bin/htmldiff create mode 100755 vendor/bundle/ruby/3.2.0/bin/httparty create mode 100755 vendor/bundle/ruby/3.2.0/bin/ldiff create mode 100755 vendor/bundle/ruby/3.2.0/bin/nokogiri create mode 100755 vendor/bundle/ruby/3.2.0/bin/racc create mode 100755 vendor/bundle/ruby/3.2.0/bin/rake create mode 100755 vendor/bundle/ruby/3.2.0/bin/rspec create mode 100644 vendor/bundle/ruby/3.2.0/cache/bigdecimal-3.3.1.gem create mode 100644 vendor/bundle/ruby/3.2.0/cache/csv-3.3.5.gem create mode 100644 vendor/bundle/ruby/3.2.0/cache/diff-lcs-1.6.2.gem create mode 100644 vendor/bundle/ruby/3.2.0/cache/httparty-0.23.2.gem create mode 100644 vendor/bundle/ruby/3.2.0/cache/mini_mime-1.1.5.gem create mode 100644 vendor/bundle/ruby/3.2.0/cache/multi_xml-0.7.2.gem create mode 100644 vendor/bundle/ruby/3.2.0/cache/nokogiri-1.18.10-x86_64-linux-gnu.gem create mode 100644 vendor/bundle/ruby/3.2.0/cache/racc-1.8.1.gem create mode 100644 vendor/bundle/ruby/3.2.0/cache/rake-10.5.0.gem create mode 100644 vendor/bundle/ruby/3.2.0/cache/rspec-3.13.2.gem create mode 100644 vendor/bundle/ruby/3.2.0/cache/rspec-core-3.13.6.gem create mode 100644 vendor/bundle/ruby/3.2.0/cache/rspec-expectations-3.13.5.gem create mode 100644 vendor/bundle/ruby/3.2.0/cache/rspec-mocks-3.13.6.gem create mode 100644 vendor/bundle/ruby/3.2.0/cache/rspec-support-3.13.6.gem create mode 100755 vendor/bundle/ruby/3.2.0/extensions/x86_64-linux-gnu/3.2.0/bigdecimal-3.3.1/bigdecimal.so create mode 100644 vendor/bundle/ruby/3.2.0/extensions/x86_64-linux-gnu/3.2.0/bigdecimal-3.3.1/gem.build_complete create mode 100644 vendor/bundle/ruby/3.2.0/extensions/x86_64-linux-gnu/3.2.0/bigdecimal-3.3.1/gem_make.out create mode 100644 vendor/bundle/ruby/3.2.0/extensions/x86_64-linux-gnu/3.2.0/bigdecimal-3.3.1/mkmf.log create mode 100644 vendor/bundle/ruby/3.2.0/extensions/x86_64-linux-gnu/3.2.0/racc-1.8.1/gem.build_complete create mode 100644 vendor/bundle/ruby/3.2.0/extensions/x86_64-linux-gnu/3.2.0/racc-1.8.1/gem_make.out create mode 100755 vendor/bundle/ruby/3.2.0/extensions/x86_64-linux-gnu/3.2.0/racc-1.8.1/racc/cparse.so create mode 100644 vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/LICENSE create mode 100644 vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/bigdecimal.gemspec create mode 100644 vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/ext/bigdecimal/Makefile create mode 100644 vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/ext/bigdecimal/bigdecimal.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/ext/bigdecimal/bigdecimal.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/ext/bigdecimal/bits.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/ext/bigdecimal/extconf.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/ext/bigdecimal/feature.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/ext/bigdecimal/missing.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/ext/bigdecimal/missing.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/ext/bigdecimal/missing/dtoa.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/ext/bigdecimal/static_assert.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/lib/bigdecimal.rb create mode 100755 vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/lib/bigdecimal.so create mode 100644 vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/lib/bigdecimal/jacobian.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/lib/bigdecimal/ludcmp.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/lib/bigdecimal/math.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/lib/bigdecimal/newton.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/lib/bigdecimal/util.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/sample/linear.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/sample/nlsolve.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/sample/pi.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/LICENSE.txt create mode 100644 vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/NEWS.md create mode 100644 vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/README.md create mode 100644 vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/arguments/io.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/common/col_sep.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/common/quote_char.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/common/row_sep.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/generating/force_quotes.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/generating/quote_empty.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/generating/write_converters.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/generating/write_empty_value.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/generating/write_headers.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/generating/write_nil_value.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/converters.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/empty_value.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/field_size_limit.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/header_converters.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/headers.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/liberal_parsing.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/nil_value.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/return_headers.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/skip_blanks.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/skip_lines.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/strip.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/unconverted_fields.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/recipes/filtering.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/recipes/generating.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/recipes/parsing.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/recipes/recipes.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/core_ext/array.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/core_ext/string.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/fields_converter.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/input_record_separator.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/parser.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/row.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/table.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/version.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/writer.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/.rspec create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/CHANGELOG.md create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/CODE_OF_CONDUCT.md create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/CONTRIBUTING.md create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/CONTRIBUTORS.md create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/LICENCE.md create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/Manifest.txt create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/README.md create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/Rakefile create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/SECURITY.md create mode 100755 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/bin/htmldiff create mode 100755 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/bin/ldiff create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/docs/COPYING.txt create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/docs/artistic.txt create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff-lcs.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/array.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/backports.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/block.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/callbacks.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/change.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/htmldiff.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/hunk.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/internals.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/ldiff.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/string.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/version.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/mise.toml create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/change_spec.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/diff_spec.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/123_x create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/456_x create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/aX create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/bXaX create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ds1.csv create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ds2.csv create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/empty create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/file1.bin create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/file2.bin create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/four_lines create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/four_lines_with_missing_new_line create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/diff.missing_new_line1-e create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/diff.missing_new_line1-f create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/diff.missing_new_line2-e create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/diff.missing_new_line2-f create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.chef-e create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.chef-f create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.missing_new_line1-e create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.missing_new_line1-f create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.missing_new_line2-e create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.missing_new_line2-f create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff-c create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff-e create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff-f create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff-u create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin1 create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin1-c create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin1-e create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin1-f create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin1-u create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin2 create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin2-c create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin2-e create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin2-f create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin2-u create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef-c create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef-e create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef-f create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef-u create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2 create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2-c create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2-d create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2-e create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2-f create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2-u create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.empty.vs.four_lines create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.empty.vs.four_lines-c create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.empty.vs.four_lines-e create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.empty.vs.four_lines-f create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.empty.vs.four_lines-u create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.four_lines.vs.empty create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.four_lines.vs.empty-c create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.four_lines.vs.empty-e create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.four_lines.vs.empty-f create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.four_lines.vs.empty-u create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.issue95_trailing_context create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.issue95_trailing_context-c create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.issue95_trailing_context-e create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.issue95_trailing_context-f create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.issue95_trailing_context-u create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line1 create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line1-c create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line1-e create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line1-f create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line1-u create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line2 create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line2-c create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line2-e create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line2-f create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line2-u create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/new-chef create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/new-chef2 create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/old-chef create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/old-chef2 create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/hunk_spec.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/issues_spec.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/lcs_spec.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/ldiff_spec.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/patch_spec.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/sdiff_spec.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/spec_helper.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/traverse_balanced_spec.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/traverse_sequences_spec.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/.editorconfig create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/.github/dependabot.yml create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/.github/workflows/ci.yml create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/.gitignore create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/.rubocop.yml create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/.rubocop_todo.yml create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/CONTRIBUTING.md create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/Changelog.md create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/Gemfile create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/Guardfile create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/MIT-LICENSE create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/README.md create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/Rakefile create mode 100755 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/bin/httparty create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/cucumber.yml create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/docs/README.md create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/README.md create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/aaws.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/basic.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/body_stream.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/crack.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/custom_parsers.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/delicious.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/google.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/headers_and_user_agents.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/idn.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/logging.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/microsoft_graph.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/multipart.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/nokogiri_html_parser.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/party_foul_mode.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/peer_cert.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/rescue_json.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/rubyurl.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/stackexchange.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/stream_download.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/tripit_sign_in.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/twitter.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/whoismyrep.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/httparty.gemspec create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/connection_adapter.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/cookie_hash.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/decompressor.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/exceptions.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/hash_conversions.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/headers_processor.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/logger/apache_formatter.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/logger/curl_formatter.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/logger/logger.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/logger/logstash_formatter.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/module_inheritable_attributes.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/net_digest_auth.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/parser.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/request.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/request/body.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/request/multipart_boundary.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/response.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/response/headers.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/response_fragment.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/text_encoder.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/utils.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/version.rb create mode 100755 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/script/release create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/website/css/common.css create mode 100644 vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/website/index.html create mode 100644 vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/.github/workflows/ci.yml create mode 100644 vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/.github/workflows/db.yml create mode 100644 vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/.gitignore create mode 100644 vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/.rubocop.yml create mode 100644 vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/CHANGELOG create mode 100644 vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/CODE_OF_CONDUCT.md create mode 100644 vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/Gemfile create mode 100644 vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/LICENSE.txt create mode 100644 vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/README.md create mode 100644 vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/Rakefile create mode 100644 vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/bench/bench.rb create mode 100755 vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/bin/console create mode 100755 vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/bin/db_pull_request create mode 100755 vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/bin/setup create mode 100644 vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/lib/db/content_type_mime.db create mode 100644 vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/lib/db/ext_mime.db create mode 100644 vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/lib/mini_mime.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/lib/mini_mime/version.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/mini_mime.gemspec create mode 100644 vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/.rspec create mode 100644 vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/.rubocop.yml create mode 100644 vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/.yardopts create mode 100644 vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/CHANGELOG.md create mode 100644 vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/CONTRIBUTING.md create mode 100644 vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/Gemfile create mode 100644 vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/LICENSE.md create mode 100644 vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/README.md create mode 100644 vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/Rakefile create mode 100644 vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/lib/multi_xml.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/lib/multi_xml/parsers/libxml.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/lib/multi_xml/parsers/libxml2_parser.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/lib/multi_xml/parsers/nokogiri.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/lib/multi_xml/parsers/oga.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/lib/multi_xml/parsers/ox.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/lib/multi_xml/parsers/rexml.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/lib/multi_xml/version.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/Gemfile create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/LICENSE-DEPENDENCIES.md create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/LICENSE.md create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/README.md create mode 100755 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/bin/nokogiri create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/dependencies.yml create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/depend create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/extconf.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/gumbo.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/html4_document.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/html4_element_description.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/html4_entity_lookup.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/html4_sax_parser.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/html4_sax_parser_context.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/html4_sax_push_parser.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libexslt/exslt.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libexslt/exsltconfig.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libexslt/exsltexports.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/HTMLparser.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/HTMLtree.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/SAX.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/SAX2.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/c14n.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/catalog.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/chvalid.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/debugXML.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/dict.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/encoding.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/entities.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/globals.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/hash.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/list.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/nanoftp.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/nanohttp.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/parser.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/parserInternals.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/pattern.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/relaxng.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/schemasInternals.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/schematron.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/threads.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/tree.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/uri.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/valid.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xinclude.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xlink.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlIO.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlautomata.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlerror.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlexports.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlmemory.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlmodule.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlreader.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlregexp.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlsave.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlschemas.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlschemastypes.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlstring.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlunicode.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlversion.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlwriter.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xpath.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xpathInternals.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xpointer.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/attributes.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/documents.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/extensions.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/extra.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/functions.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/imports.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/keys.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/namespaces.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/numbersInternals.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/pattern.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/preproc.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/security.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/templates.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/transform.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/variables.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/xslt.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/xsltInternals.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/xsltconfig.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/xsltexports.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/xsltlocale.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/xsltutils.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/libxml2_polyfill.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/nokogiri.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/nokogiri.h create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/test_global_handlers.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_attr.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_attribute_decl.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_cdata.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_comment.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_document.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_document_fragment.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_dtd.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_element_content.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_element_decl.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_encoding_handler.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_entity_decl.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_entity_reference.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_namespace.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_node.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_node_set.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_processing_instruction.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_reader.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_relax_ng.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_sax_parser.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_sax_parser_context.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_sax_push_parser.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_schema.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_syntax_error.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_text.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_xpath_context.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xslt_stylesheet.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/gumbo-parser/CHANGES.md create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/gumbo-parser/Makefile create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/gumbo-parser/THANKS create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri.rb create mode 100755 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/3.1/nokogiri.so create mode 100755 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/3.2/nokogiri.so create mode 100755 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/3.3/nokogiri.so create mode 100755 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/3.4/nokogiri.so create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/class_resolver.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/css.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/css/node.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/css/parser.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/css/parser.y create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/css/parser_extras.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/css/selector_cache.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/css/syntax_error.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/css/tokenizer.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/css/tokenizer.rex create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/css/xpath_visitor.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/decorators/slop.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/encoding_handler.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/extension.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/gumbo.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/html.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/html4.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/html4/builder.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/html4/document.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/html4/document_fragment.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/html4/element_description.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/html4/element_description_defaults.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/html4/encoding_reader.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/html4/entity_lookup.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/html4/sax/parser.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/html4/sax/parser_context.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/html4/sax/push_parser.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/html5.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/html5/builder.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/html5/document.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/html5/document_fragment.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/html5/node.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/jruby/dependencies.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/jruby/nokogiri_jars.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/syntax_error.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/version.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/version/constant.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/version/info.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/xml.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/xml/attr.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/xml/attribute_decl.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/xml/builder.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/xml/cdata.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/xml/character_data.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/xml/document.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/xml/document_fragment.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/xml/dtd.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/xml/element_content.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/xml/element_decl.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/xml/entity_decl.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/xml/entity_reference.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/xml/namespace.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/xml/node.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/xml/node/save_options.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/xml/node_set.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/xml/notation.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/xml/parse_options.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/xml/pp.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/xml/pp/character_data.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/xml/pp/node.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/xml/processing_instruction.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/xml/reader.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/xml/relax_ng.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/xml/sax.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/xml/sax/document.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/xml/sax/parser.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/xml/sax/parser_context.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/xml/sax/push_parser.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/xml/schema.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/xml/searchable.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/xml/syntax_error.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/xml/text.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/xml/xpath.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/xml/xpath/syntax_error.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/xml/xpath_context.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/xslt.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/nokogiri/xslt/stylesheet.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/lib/xsd/xmlparser/nokogiri.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/BSDL create mode 100644 vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/COPYING create mode 100644 vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/ChangeLog create mode 100644 vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/README.ja.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/README.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/TODO create mode 100755 vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/bin/racc create mode 100644 vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/doc/en/grammar.en.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/doc/en/grammar2.en.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/doc/ja/command.ja.html create mode 100644 vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/doc/ja/debug.ja.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/doc/ja/grammar.ja.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/doc/ja/index.ja.html create mode 100644 vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/doc/ja/parser.ja.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/doc/ja/usage.ja.html create mode 100644 vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/ext/racc/cparse/Makefile create mode 100644 vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/ext/racc/cparse/cparse.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/ext/racc/cparse/extconf.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/lib/racc.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/lib/racc/compat.rb create mode 100755 vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/lib/racc/cparse.so create mode 100644 vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/lib/racc/debugflags.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/lib/racc/exception.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/lib/racc/grammar.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/lib/racc/grammarfileparser.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/lib/racc/info.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/lib/racc/iset.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/lib/racc/logfilegenerator.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/lib/racc/parser-text.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/lib/racc/parser.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/lib/racc/parserfilegenerator.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/lib/racc/sourcetext.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/lib/racc/state.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/lib/racc/statetransitiontable.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/lib/racc/static.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/.autotest create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/.rubocop.yml create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/.togglerc create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/CONTRIBUTING.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/History.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/MIT-LICENSE create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/Manifest.txt create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/README.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/Rakefile create mode 100755 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/bin/rake create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/command_line_usage.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/example/Rakefile1 create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/example/Rakefile2 create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/example/a.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/example/b.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/example/main.c create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/glossary.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/jamis.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/proto_rake.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/rake.1 create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/rakefile.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/rational.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/release_notes/rake-0.4.14.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/release_notes/rake-0.4.15.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/release_notes/rake-0.5.0.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/release_notes/rake-0.5.3.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/release_notes/rake-0.5.4.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/release_notes/rake-0.6.0.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/release_notes/rake-0.7.0.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/release_notes/rake-0.7.1.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/release_notes/rake-0.7.2.rdoc create mode 100755 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/release_notes/rake-0.7.3.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.0.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.2.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.3.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.4.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.5.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.6.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.7.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.0.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.1.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.2.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.3.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.4.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.5.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.6.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/release_notes/rake-10.0.0.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/release_notes/rake-10.0.1.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/release_notes/rake-10.0.2.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/release_notes/rake-10.0.3.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/doc/release_notes/rake-10.1.0.rdoc create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/alt_system.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/application.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/backtrace.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/clean.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/cloneable.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/contrib/.document create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/contrib/compositepublisher.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/contrib/ftptools.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/contrib/publisher.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/contrib/rubyforgepublisher.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/contrib/sshpublisher.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/contrib/sys.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/cpu_counter.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/default_loader.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/dsl_definition.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/early_time.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/ext/core.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/ext/module.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/ext/pathname.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/ext/string.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/ext/time.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/file_creation_task.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/file_list.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/file_task.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/file_utils.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/file_utils_ext.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/gempackagetask.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/invocation_chain.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/invocation_exception_mixin.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/late_time.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/linked_list.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/loaders/makefile.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/multi_task.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/name_space.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/packagetask.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/pathmap.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/phony.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/private_reader.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/promise.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/pseudo_status.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/rake_module.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/rake_test_loader.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/rdoctask.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/ruby182_test_unit_fix.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/rule_recursion_overflow_error.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/runtest.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/scope.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/task.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/task_argument_error.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/task_arguments.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/task_manager.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/tasklib.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/testtask.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/thread_history_display.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/thread_pool.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/trace_output.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/version.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/lib/rake/win32.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/rakelib/publish.rake create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/rakelib/test_times.rake create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/file_creation.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/helper.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/support/rakefile_definitions.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/support/ruby_runner.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_private_reader.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_application.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_application_options.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_backtrace.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_clean.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_cpu_counter.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_definitions.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_directory_task.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_dsl.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_early_time.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_extension.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_file_creation_task.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_file_list.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_file_list_path_map.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_file_task.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_file_utils.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_ftp_file.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_functional.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_invocation_chain.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_late_time.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_linked_list.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_makefile_loader.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_multi_task.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_name_space.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_package_task.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_path_map.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_path_map_explode.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_path_map_partial.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_pathname_extensions.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_pseudo_status.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_rake_test_loader.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_reduce_compat.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_require.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_rules.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_scope.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_task.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_task_argument_parsing.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_task_arguments.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_task_lib.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_task_manager.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_task_manager_argument_resolution.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_task_with_arguments.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_test_task.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_thread_pool.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_top_level_functions.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_rake_win32.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_thread_history_display.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rake-10.5.0/test/test_trace_output.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-3.13.2/LICENSE.md create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-3.13.2/README.md create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-3.13.2/lib/rspec.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-3.13.2/lib/rspec/version.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/.document create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/.yardopts create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/Changelog.md create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/LICENSE.md create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/README.md create mode 100755 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/exe/rspec create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/autorun.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/backtrace_formatter.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/bisect/coordinator.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/bisect/example_minimizer.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/bisect/fork_runner.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/bisect/server.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/bisect/shell_command.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/bisect/shell_runner.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/bisect/utilities.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/configuration.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/configuration_options.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/did_you_mean.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/drb.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/dsl.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/example.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/example_group.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/example_status_persister.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/filter_manager.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/flat_map.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/formatters.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/formatters/base_bisect_formatter.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/formatters/base_formatter.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/formatters/base_text_formatter.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/formatters/bisect_drb_formatter.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/formatters/bisect_progress_formatter.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/formatters/console_codes.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/formatters/deprecation_formatter.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/formatters/documentation_formatter.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/formatters/exception_presenter.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/formatters/failure_list_formatter.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/formatters/fallback_message_formatter.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/formatters/helpers.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/formatters/html_formatter.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/formatters/html_printer.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/formatters/html_snippet_extractor.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/formatters/json_formatter.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/formatters/profile_formatter.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/formatters/progress_formatter.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/formatters/protocol.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/formatters/snippet_extractor.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/formatters/syntax_highlighter.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/hooks.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/invocations.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/memoized_helpers.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/metadata.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/metadata_filter.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/minitest_assertions_adapter.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/mocking_adapters/flexmock.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/mocking_adapters/mocha.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/mocking_adapters/null.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/mocking_adapters/rr.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/mocking_adapters/rspec.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/notifications.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/option_parser.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/ordering.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/output_wrapper.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/pending.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/profiler.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/project_initializer.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/project_initializer/.rspec create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/project_initializer/spec/spec_helper.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/rake_task.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/reporter.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/ruby_project.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/runner.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/sandbox.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/set.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/shared_context.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/shared_example_group.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/shell_escape.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/test_unit_assertions_adapter.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/version.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/warnings.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-core-3.13.6/lib/rspec/core/world.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/.document create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/.yardopts create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/Changelog.md create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/LICENSE.md create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/README.md create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations/block_snippet_extractor.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations/configuration.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations/expectation_target.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations/fail_with.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations/failure_aggregator.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations/handler.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations/minitest_integration.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations/syntax.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations/version.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/aliased_matcher.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/all.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/base_matcher.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/be.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/be_between.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/be_instance_of.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/be_kind_of.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/be_within.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/change.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/compound.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/contain_exactly.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/count_expectation.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/cover.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/eq.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/eql.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/equal.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/exist.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/has.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/have_attributes.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/include.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/match.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/operators.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/output.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/raise_error.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/respond_to.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/satisfy.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/start_or_end_with.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/throw_symbol.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/yield.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/composable.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/dsl.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/english_phrasing.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/fail_matchers.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/generated_descriptions.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/matcher_delegator.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/matcher_protocol.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/multi_matcher_diff.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/.document create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/.yardopts create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/Changelog.md create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/LICENSE.md create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/README.md create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/any_instance.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/any_instance/chain.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/any_instance/error_generator.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/any_instance/expect_chain_chain.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/any_instance/expectation_chain.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/any_instance/message_chains.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/any_instance/proxy.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/any_instance/recorder.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/any_instance/stub_chain.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/any_instance/stub_chain_chain.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/argument_list_matcher.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/argument_matchers.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/configuration.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/error_generator.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/example_methods.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/instance_method_stasher.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/marshal_extension.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/matchers/expectation_customization.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/matchers/have_received.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/matchers/receive.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/matchers/receive_message_chain.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/matchers/receive_messages.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/message_chain.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/message_expectation.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/method_double.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/method_reference.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/minitest_integration.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/mutate_const.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/object_reference.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/order_group.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/proxy.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/space.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/standalone.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/syntax.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/targets.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/test_double.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/verifying_double.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/verifying_message_expectation.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/verifying_proxy.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.13.6/lib/rspec/mocks/version.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-support-3.13.6/Changelog.md create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-support-3.13.6/LICENSE.md create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-support-3.13.6/README.md create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-support-3.13.6/lib/rspec/support.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-support-3.13.6/lib/rspec/support/caller_filter.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-support-3.13.6/lib/rspec/support/comparable_version.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-support-3.13.6/lib/rspec/support/differ.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-support-3.13.6/lib/rspec/support/directory_maker.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-support-3.13.6/lib/rspec/support/encoded_string.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-support-3.13.6/lib/rspec/support/fuzzy_matcher.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-support-3.13.6/lib/rspec/support/hunk_generator.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-support-3.13.6/lib/rspec/support/matcher_definition.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-support-3.13.6/lib/rspec/support/method_signature_verifier.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-support-3.13.6/lib/rspec/support/mutex.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-support-3.13.6/lib/rspec/support/object_formatter.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-support-3.13.6/lib/rspec/support/recursive_const_methods.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-support-3.13.6/lib/rspec/support/reentrant_mutex.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-support-3.13.6/lib/rspec/support/ruby_features.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-support-3.13.6/lib/rspec/support/source.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-support-3.13.6/lib/rspec/support/source/location.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-support-3.13.6/lib/rspec/support/source/node.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-support-3.13.6/lib/rspec/support/source/token.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-support-3.13.6/lib/rspec/support/spec.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/deprecation_helpers.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/diff_helpers.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/formatting_support.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/in_sub_process.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/library_wide_checks.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/shell_out.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/stderr_splitter.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/string_matcher.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/with_isolated_directory.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/with_isolated_stderr.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-support-3.13.6/lib/rspec/support/version.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-support-3.13.6/lib/rspec/support/warnings.rb create mode 100644 vendor/bundle/ruby/3.2.0/gems/rspec-support-3.13.6/lib/rspec/support/with_keywords_when_needed.rb create mode 100644 vendor/bundle/ruby/3.2.0/specifications/bigdecimal-3.3.1.gemspec create mode 100644 vendor/bundle/ruby/3.2.0/specifications/csv-3.3.5.gemspec create mode 100644 vendor/bundle/ruby/3.2.0/specifications/diff-lcs-1.6.2.gemspec create mode 100644 vendor/bundle/ruby/3.2.0/specifications/httparty-0.23.2.gemspec create mode 100644 vendor/bundle/ruby/3.2.0/specifications/mini_mime-1.1.5.gemspec create mode 100644 vendor/bundle/ruby/3.2.0/specifications/multi_xml-0.7.2.gemspec create mode 100644 vendor/bundle/ruby/3.2.0/specifications/nokogiri-1.18.10-x86_64-linux-gnu.gemspec create mode 100644 vendor/bundle/ruby/3.2.0/specifications/racc-1.8.1.gemspec create mode 100644 vendor/bundle/ruby/3.2.0/specifications/rake-10.5.0.gemspec create mode 100644 vendor/bundle/ruby/3.2.0/specifications/rspec-3.13.2.gemspec create mode 100644 vendor/bundle/ruby/3.2.0/specifications/rspec-core-3.13.6.gemspec create mode 100644 vendor/bundle/ruby/3.2.0/specifications/rspec-expectations-3.13.5.gemspec create mode 100644 vendor/bundle/ruby/3.2.0/specifications/rspec-mocks-3.13.6.gemspec create mode 100644 vendor/bundle/ruby/3.2.0/specifications/rspec-support-3.13.6.gemspec diff --git a/vendor/bundle/ruby/3.2.0/bin/htmldiff b/vendor/bundle/ruby/3.2.0/bin/htmldiff new file mode 100755 index 0000000..58aadf2 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/bin/htmldiff @@ -0,0 +1,29 @@ +#!/usr/bin/env ruby3.2 +# +# This file was generated by RubyGems. +# +# The application 'diff-lcs' is installed as part of a gem, and +# this file is here to facilitate running it. +# + +require 'rubygems' + +Gem.use_gemdeps + +version = ">= 0.a" + +str = ARGV.first +if str + str = str.b[/\A_(.*)_\z/, 1] + if str and Gem::Version.correct?(str) + version = str + ARGV.shift + end +end + +if Gem.respond_to?(:activate_bin_path) +load Gem.activate_bin_path('diff-lcs', 'htmldiff', version) +else +gem "diff-lcs", version +load Gem.bin_path("diff-lcs", "htmldiff", version) +end diff --git a/vendor/bundle/ruby/3.2.0/bin/httparty b/vendor/bundle/ruby/3.2.0/bin/httparty new file mode 100755 index 0000000..eae5dd8 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/bin/httparty @@ -0,0 +1,29 @@ +#!/usr/bin/env ruby3.2 +# +# This file was generated by RubyGems. +# +# The application 'httparty' is installed as part of a gem, and +# this file is here to facilitate running it. +# + +require 'rubygems' + +Gem.use_gemdeps + +version = ">= 0.a" + +str = ARGV.first +if str + str = str.b[/\A_(.*)_\z/, 1] + if str and Gem::Version.correct?(str) + version = str + ARGV.shift + end +end + +if Gem.respond_to?(:activate_bin_path) +load Gem.activate_bin_path('httparty', 'httparty', version) +else +gem "httparty", version +load Gem.bin_path("httparty", "httparty", version) +end diff --git a/vendor/bundle/ruby/3.2.0/bin/ldiff b/vendor/bundle/ruby/3.2.0/bin/ldiff new file mode 100755 index 0000000..7a54829 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/bin/ldiff @@ -0,0 +1,29 @@ +#!/usr/bin/env ruby3.2 +# +# This file was generated by RubyGems. +# +# The application 'diff-lcs' is installed as part of a gem, and +# this file is here to facilitate running it. +# + +require 'rubygems' + +Gem.use_gemdeps + +version = ">= 0.a" + +str = ARGV.first +if str + str = str.b[/\A_(.*)_\z/, 1] + if str and Gem::Version.correct?(str) + version = str + ARGV.shift + end +end + +if Gem.respond_to?(:activate_bin_path) +load Gem.activate_bin_path('diff-lcs', 'ldiff', version) +else +gem "diff-lcs", version +load Gem.bin_path("diff-lcs", "ldiff", version) +end diff --git a/vendor/bundle/ruby/3.2.0/bin/nokogiri b/vendor/bundle/ruby/3.2.0/bin/nokogiri new file mode 100755 index 0000000..28de80d --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/bin/nokogiri @@ -0,0 +1,29 @@ +#!/usr/bin/env ruby3.2 +# +# This file was generated by RubyGems. +# +# The application 'nokogiri' is installed as part of a gem, and +# this file is here to facilitate running it. +# + +require 'rubygems' + +Gem.use_gemdeps + +version = ">= 0.a" + +str = ARGV.first +if str + str = str.b[/\A_(.*)_\z/, 1] + if str and Gem::Version.correct?(str) + version = str + ARGV.shift + end +end + +if Gem.respond_to?(:activate_bin_path) +load Gem.activate_bin_path('nokogiri', 'nokogiri', version) +else +gem "nokogiri", version +load Gem.bin_path("nokogiri", "nokogiri", version) +end diff --git a/vendor/bundle/ruby/3.2.0/bin/racc b/vendor/bundle/ruby/3.2.0/bin/racc new file mode 100755 index 0000000..9d74320 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/bin/racc @@ -0,0 +1,29 @@ +#!/usr/bin/env ruby3.2 +# +# This file was generated by RubyGems. +# +# The application 'racc' is installed as part of a gem, and +# this file is here to facilitate running it. +# + +require 'rubygems' + +Gem.use_gemdeps + +version = ">= 0.a" + +str = ARGV.first +if str + str = str.b[/\A_(.*)_\z/, 1] + if str and Gem::Version.correct?(str) + version = str + ARGV.shift + end +end + +if Gem.respond_to?(:activate_bin_path) +load Gem.activate_bin_path('racc', 'racc', version) +else +gem "racc", version +load Gem.bin_path("racc", "racc", version) +end diff --git a/vendor/bundle/ruby/3.2.0/bin/rake b/vendor/bundle/ruby/3.2.0/bin/rake new file mode 100755 index 0000000..6b572b3 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/bin/rake @@ -0,0 +1,29 @@ +#!/usr/bin/env ruby3.2 +# +# This file was generated by RubyGems. +# +# The application 'rake' is installed as part of a gem, and +# this file is here to facilitate running it. +# + +require 'rubygems' + +Gem.use_gemdeps + +version = ">= 0.a" + +str = ARGV.first +if str + str = str.b[/\A_(.*)_\z/, 1] + if str and Gem::Version.correct?(str) + version = str + ARGV.shift + end +end + +if Gem.respond_to?(:activate_bin_path) +load Gem.activate_bin_path('rake', 'rake', version) +else +gem "rake", version +load Gem.bin_path("rake", "rake", version) +end diff --git a/vendor/bundle/ruby/3.2.0/bin/rspec b/vendor/bundle/ruby/3.2.0/bin/rspec new file mode 100755 index 0000000..b8bf169 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/bin/rspec @@ -0,0 +1,29 @@ +#!/usr/bin/env ruby3.2 +# +# This file was generated by RubyGems. +# +# The application 'rspec-core' is installed as part of a gem, and +# this file is here to facilitate running it. +# + +require 'rubygems' + +Gem.use_gemdeps + +version = ">= 0.a" + +str = ARGV.first +if str + str = str.b[/\A_(.*)_\z/, 1] + if str and Gem::Version.correct?(str) + version = str + ARGV.shift + end +end + +if Gem.respond_to?(:activate_bin_path) +load Gem.activate_bin_path('rspec-core', 'rspec', version) +else +gem "rspec-core", version +load Gem.bin_path("rspec-core", "rspec", version) +end diff --git a/vendor/bundle/ruby/3.2.0/cache/bigdecimal-3.3.1.gem b/vendor/bundle/ruby/3.2.0/cache/bigdecimal-3.3.1.gem new file mode 100644 index 0000000000000000000000000000000000000000..7899e47c91d433c1014d66451b8b721936ffe6e6 GIT binary patch literal 84992 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

  • _FQ@H!*LZM+>mKNJ&R0Y42ul^qb4BX6M(E#w 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 z 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 literal 0 HcmV?d00001 diff --git a/vendor/bundle/ruby/3.2.0/cache/csv-3.3.5.gem b/vendor/bundle/ruby/3.2.0/cache/csv-3.3.5.gem new file mode 100644 index 0000000000000000000000000000000000000000..3a1c844c390bfb85640555c8b38323c9f10c833d GIT binary patch literal 66560 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�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

    Pf?YA$|s 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 literal 0 HcmV?d00001 diff --git a/vendor/bundle/ruby/3.2.0/cache/mini_mime-1.1.5.gem b/vendor/bundle/ruby/3.2.0/cache/mini_mime-1.1.5.gem new file mode 100644 index 0000000000000000000000000000000000000000..b16e88f535e0c903535f1e378b6451d8d31f9bad GIT binary patch literal 35328 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 literal 0 HcmV?d00001 diff --git a/vendor/bundle/ruby/3.2.0/cache/multi_xml-0.7.2.gem b/vendor/bundle/ruby/3.2.0/cache/multi_xml-0.7.2.gem new file mode 100644 index 0000000000000000000000000000000000000000..a231a2530249955c6cfaca4d5aa8889e70464977 GIT binary patch literal 15360 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

    u+|M%hjua*9Vz`qdq7XtrX G5cnTPenPYW literal 0 HcmV?d00001 diff --git a/vendor/bundle/ruby/3.2.0/cache/nokogiri-1.18.10-x86_64-linux-gnu.gem b/vendor/bundle/ruby/3.2.0/cache/nokogiri-1.18.10-x86_64-linux-gnu.gem new file mode 100644 index 0000000000000000000000000000000000000000..38e28a09ef96f6bbd0b4080e55ef55ea4afdf68b GIT binary patch literal 4073472 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∨SRv530_;@ypKw%2 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 D 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�XLKs_yz|m<#!1Qv;})is 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 z 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∈y1qJ1B>UtHhP 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 z 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

    ZxIi*>MVV{ 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�w0B-;SWdQ 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�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�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 z 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ȆausMlj!Z8N9cy$Ef?W`P; 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%0ApdzE8sm0>R)++$App`x<%|>L3b~ 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%0Av}pnaXI|Rf7sLk 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 z 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ིxPnavr0|tV5xw*KxySce} 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�~}f`C!iXK}*-day}mI$tH+9 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¥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

    j_-dRr7b`4ZH5=47*{t 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

    * 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�k2jAyVOm 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

    Nx9l$-r5krdM1~sXHa{ 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

    gm)5gP4E+n3nz@wI+de z7v!tM&czIFTLKNK5L>x&mO)iQa1&Pf4^x%@LdwCSzH8Vv8O1vHOm9;gGua1)`1eDs z4=1LXh_wLwuBCQ`na2LBDzciB#jhrQWnX0{nReM9Ui?QpQK;BXR zbe7qPoW==4d?{uBdZYV?KH}RuglacNru|fYhk^P&_`pp6>o3GbUi^q!e{Hp?bh)XS z1q3xRyMzK}Y$vSH*#rx93DuDfX=50&-qP#<(2Kfc-3gAa}mBBbU5Vy@&Ba621*mF?bykB^r60bBYBeFt^uZoi% zk`a99dU~o;xn1a3>#)hb+oc9EP>Z_0<6`bkA$YEpChM(pU1)LWG3t?ZEj)0QQn`U< zr^w8a?}BV~3qnb?PWG=__(;O7La-}gn~qJux-t3r$j@v=!ark3O?2W6%m&t%in8Qk zL{`gN0GxyK5XM00l~dZPw1P~h*5D_F_=yb#vjKnnNj-j&3}u?~vXX?*%F`GP52m{Z zduQ8VX0M1>rFI~ctbB?Q%VMoCXsx5bJe03b&{`7K=pi}}m94X&Ct0}n>(2aPPljXd z|3Iv=urqODM2pMN;|OwGbBYyHUTo1e%dbDd&mYcfKM�uUgvP|It?2 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�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 T;@{-{R^V?1{#M}spuj%>BW|0J literal 0 HcmV?d00001 diff --git a/vendor/bundle/ruby/3.2.0/cache/racc-1.8.1.gem b/vendor/bundle/ruby/3.2.0/cache/racc-1.8.1.gem new file mode 100644 index 0000000000000000000000000000000000000000..ad9e6bbda057839cc3ac29570d8625d19e8dd919 GIT binary patch literal 65536 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 literal 0 HcmV?d00001 diff --git a/vendor/bundle/ruby/3.2.0/cache/rake-10.5.0.gem b/vendor/bundle/ruby/3.2.0/cache/rake-10.5.0.gem new file mode 100644 index 0000000000000000000000000000000000000000..0fe2757cbc0fc5ce6005112d8d50340fe35dbeed GIT binary patch literal 130560 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

    BN|{Wziy8)0qQ&jEtQv`AZi>MlWu}Yz#nqP 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 M{@Vlp*FEq*02o?;L;wH) literal 0 HcmV?d00001 diff --git a/vendor/bundle/ruby/3.2.0/cache/rspec-3.13.2.gem b/vendor/bundle/ruby/3.2.0/cache/rspec-3.13.2.gem new file mode 100644 index 0000000000000000000000000000000000000000..4b00e2ae4268b79ca976d697aaea24bc5821b820 GIT binary patch literal 10752 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 literal 0 HcmV?d00001 diff --git a/vendor/bundle/ruby/3.2.0/cache/rspec-core-3.13.6.gem b/vendor/bundle/ruby/3.2.0/cache/rspec-core-3.13.6.gem new file mode 100644 index 0000000000000000000000000000000000000000..98f9a48ce6d1b1fd431f8bedcfa2523ea334a9d7 GIT binary patch literal 167936 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

    &;l`z>!7E|X9z1!;PcuK-hsOJ+Sf(SV*zoZ$ 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¥p_>;3bGvV3bou|^wDuS8fw>; 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 E1={BUjsO4v literal 0 HcmV?d00001 diff --git a/vendor/bundle/ruby/3.2.0/cache/rspec-mocks-3.13.6.gem b/vendor/bundle/ruby/3.2.0/cache/rspec-mocks-3.13.6.gem new file mode 100644 index 0000000000000000000000000000000000000000..ab820e246c9310e89b467cfd97e9d77383047ef2 GIT binary patch literal 82944 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 literal 0 HcmV?d00001 diff --git a/vendor/bundle/ruby/3.2.0/cache/rspec-support-3.13.6.gem b/vendor/bundle/ruby/3.2.0/cache/rspec-support-3.13.6.gem new file mode 100644 index 0000000000000000000000000000000000000000..a60935045757b8694c9a7e9298f67513c2b112bf GIT binary patch literal 40960 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 +=bD}Tl`mb5&X}z02 z$GW?nV=bE-H2U#)TAK`@ZnQbx_3kv|w8_QZoqEnVb@KU1&vn+|yh@V}lU#?6EmUoE zOt0Bwrw=Z!*1J=m`a&+P2{9T&j;p5m5rSgjZz9`o8I9m2^6#TYWuvK3mCeb<%1Zr7 z_*0Tsz5`V20>_v@n;tNhwHp~h)($p;tlb&nC}c*0{C+S?ARZNSD9lDhst?E?3o{yG z7tm%ZjAik8Mv%oudA36?An=*E_#h}dT?3n?a^C2 zbu1P5D!l$nqRs=k8(@Bh_z2i_+zWyd@4p7Be^kG*y8JNCb=Y;>8KP++eRa}5 zrsy(4xdd2>?tr)rG~R&-MKy-&D;v12y4+H;2-%0Fd@%B_L%b?Rsrd%tYhbBici8<2 zQ&9+pEH&K&^Vg|aW5bvlADf;*I_DylCFkZ4n;L?t27?uw26-1OTrne2j1r4VC;U5r ziuLM8Wxs!nN;E{4oSXdGo*Nwsn43B71kzg3fqoHty+E!R%(D;=h-nYgyFubwfLwQ& z$02S6`F=2)R3vT#kRJ#$9AalNJHgxyalM#*U<#GwoR~vkdckxA#fdQa6Zta%Zam0O zgE<9avY7wCJOpv8m^m;Fs}i?d%>S_V9^h70$KU_nXP>=KyS)NZ?nRoEOIMH!*oBL| zaj}aO0Y#*vAc`Fu*oY-yG?pl~7>&UgH5yBz#)>VL#1a!Vwpe1?`}xjZ`Kt5ZhPquOdM3KEw|| z)``$#GjD;s07Txls8P;WQzh{Y2)aNV0@5a;FT`q)Gl9XwA^NxSbysWbh5dJjc>W|u z>;v()gqRG$DZ71aY|V+6`^;(y)-O)={B^atrg1XF;9; z%mv;Cc@rqibH$oBUh0VN_Qu~9*Y>8+f<4u6Ko9U0kM zouIZ-cR0ZXU5SsW6@2d>@n8mXmY03o$!Sh|%;fZhZ#LulN9>Q2dX(MfvnZbNyzC^` zb6Sbz86rh>bc@W44v9UBiC%WGNVw#3+a%K=5aXV?mA)@ioMJka;4~ z%WbRdvA7UD#Z6GTjgI2~jKkp9NyR!6J%%tx$~({d3e@qSK1F83`Z zn-t#%*=l8fo6ryN`9GB>6Gd=_8af~r^d_uX8h4BOdqB*$m2=MoSAg7bNL@rgtiiNMsR~?`{I>u{8z6UT=$9PGeu!tpjk|Vt#h_(QB zny0@f8!JMmdHaCuB|@ipGeM35*xmlQgU;n%wREQb)ZbxWfy6~XM%*BK8aK;AJpgp8 zhwu;Vx!yH)h)Dn7kVVqaK9uT(r;xwuOrfNB%_{b)eAN|a)2s_f`j|p~ucDRG?MgVQ zwYvp3@;khN8{>iCZio{=W&$}~(!0l1R>F#V=SBItomWxxo`_w5{AwWmfRoo{UFR*l zmyuE*Di)Mr#h6P$uc{z5|7r@k60nwU1i4v+TK+i5Bf$7(h#hFbZ^#q$gm?q)>p=P) zSH}T$N#*!-uESrQ7M^nwvYnUH<-x=uj9%3I+{-1&16NtZq z{0%6Ka9Qkyd^ueo-NkWIMXYGArTMy(R9t_=@{PRj7f81``MatUl?e|IVTe6x;a+Fc z>kmV4XMOYxzoG5}xX5MkyhGK)=jO|AJdh&v6nOqhZ+pnOB#}#DQ_<6 zdP&21%Bhz$Ohjf+z+Pu`j;kT_lhl&-E>bN`>Ar`l z7QL#`8t+&;rI&ndeqDyb9 z=>(?%NWbRtE$J}m(vLZ2^0pe=h?d?~)A}m@lw@>A9Nsrn*6lTOxczv7lWoX{MdjA3 ztrz91hT)WDdWTK=QlORyv^@pQ=h%A&_C zRv@nbb+gATE&y3ALXTNo4RWOjJ!YZ5NV{2t9<%rv$WKM+F^eZa9s@XxJU_OYo(@SO zcewm1js}XR*yJ>R;XJCpfuuLc`4W)23ZiTq98|=G5ECHA0U70q?t~NlTwhP<>qULN z&DZ#k`FaY8M=7z}=MZ+#@oz)!T-jRoH0w#H*I+j&DiPgLcad(L;2)c*D${?img&D% z?QcHzb9p(YcNjNM*r)ifEb~!v9$1tXIVMxL zD{95V;wG0C4-2imo*%^QEJ{xKN?AaHs3jv2=FfK1XOJm440< zeVrRDw>ImZzTdhcc+^g9-ldS6t>HD3q&v}fBVhmKoyY~n90k|VirWioG>UXp;Bmx% z1=v-ABuiM#l9;A=RbVr+F9KeC-M0LKSc02a9G2v$*i`YTD$y$OJu_Ex$K({loVp{qijwtRRPa7j4efo6yD=VriV`8`Xhdt7v7tn?Q zBu%8aF+ge*#A*=zzh9_KpSnyO{&TaeKOyp)lu2@rAoGASsf71H-U522uZoM8PvL;> zNKU&r_MH6NFMj%}D^o`kqbSWqkDh;V{M;wskyXQ@Pp1^m5U-Cb*sIu#zW8WrJCZ89 zQ5cZg9%4U`U4T%TUU8Xt<9QW@9~%09R5K)Z9x`VrlS;T1K#;&?3 z?tl7|Sgo&v_}9PY59?4%(R~A2TnJd){|CrlL}*6Xvj^KBAW+CZ17s1D+b7sr|_%$eat<7Bi8Hia8Sdr^`9(R2~J7hmn5}h_{YCi)tm9 zGmDq5@T)FVCT$&`C&M#|9 z$B;Aup`8HJKf5h~6$tf&%xss5vyBF-Lg#-bI`>4TJK$v#A?dsmWyS-E1#8b0Ubbn4 zx9w@k$FIINL09(gr%Oh0!_qsu-btFRy@0hirzgBtI4w$;x>O&3NhZJ3rD%Q?Vtb;^ z?m+4$h{+%a1JO?)f`|D!4r&Hq86U~z;=3q zDk&l5EmsLQcHS&i*N`#}kyaq1gy0%DdqYhEaK>j`#plHnn|UDoIz3qTnM(`2i&bQ2 zzmsjjP9^7Zz_wr+CD~g;FNAeIkp9+X>$nfYpz7s8_focfHmJmI;=c_dX*pQTM)p%yU3`n5*x*yLW<1O?kgn33Tt% zmr;Vc_YdTL8?f&E9OP3VBQfjVOm8MfIM%&MF=_8T72~>hAR_$%>)y$(CN8&0#C7jj zl1Bp>F|B(KgE|nf?(N=(J68eg-lT+-SJ6lbH+H^9s;YYjAu<5SD8agS7pNTpy7xp^ z@ppCa#V#%InpI@dy{3P`J%%0)CPOqK z-39Q%4V}1f|I=8G$x*ePnF()D*FQ$mo(PQxQujm50+}h|PKc!-i-C;t1kb}cAL=Y1 z{YzKgn=s=jO8KqRsW(Ysd2XL4sHfX(5(2JOd#y{so^hEIkq;%Zq9}4c*lSLtxN5%w zkqZ(L+y4B;i4chzQR2Kz*?tJwn{Dq##XF?t7f$9sP6x*KrmUId`_VcI?(Yijwu2$p zt_*eqd5IGAuYaL#yFT*1xH&o%qPDr2T$Y@6i}i=d{0Xp|um1`1HxarayMYK?2V|7z z|K(*T$GTd!c-e^zr(n%u)yqkjL@HIpI>*X+{)w5~)rnrcsd-z#^coE^T!i#G3}iC! z|Dw|J?@}qf_JdO+r&D1cC!w2YyzKqXL3O?Raa1YJv7G4h*U+v*bXRcUk1k_;dh*s^ zSnfH_UP*hd$y|xfpOUl^eNR#Y{t59A$d3U#8z}!-EX@la)HREvva7y_oK}KgBJ+hZ z>1-gk9YX`K)#Ct=-atlq{_EL5&t_M)R?xI$%biEOV36MZiYifdT0Fp8^DDckDs<7k(cw=X!X+?7&1{OH{uHwEnQV=TxRAbo-pPYyq{UOC7gt;{{I zb!q=;JW?$-+~Ooc?~hIN$DmBr44FtLhWk?bB-L<-liB)+B+1Jh=p4@Yhl1mNf%JZX+Y{E zh$lhr2f8hX(4kAW^FUI(G)<*+deLR~zHUO>hKzsi)h=UZ0D1vdHF&D66^rs`4EBkNA2*xiBjzD{Oq>n3@*z+coh)>`HK zP36eC$5F-%z{}P-F^?J@6I|I<5r{)H6JT zfdeagFt&h8{l>`i1XIHG!H}WelxTf==+GU#1K(u`zXlw553|p$z=1cjJX;T#=anlxVxU zk;Q64}f~ROzIg?*W~q z1+UJ}hL=!CZB_VOt$s3ptDuB5T{HMw1X^pW((lu(ru7t;?NWCcyvCdOs^yR7uuFXl z_}DM2XjfYLRXpsEryH98NlTlWAFR~(bA0dAeC0OWLf^c;JNL~uEW+40@b<9ynL-AB z{@RtFRKw5t_RMHHDnkl%OAt|qJfFWtG zPEXI0-K*QvkSee4U_+X`x}W0H6ynuAX2@w?-Ajgee%-q}$`q;2;+X~SyCJH{_a zZkI#BoBT{FdqhBi3s54PsuS+@o5Q`IIdyur?=eW_Qe`5_`s%$Fxs>^ARlg}S zN?ku5q)!#5lDQKurk`D5&j&Hpsads^r{c7W;0r9R(rc7lmv2y@GF5ddcrJMRq_|n# z=Z#$8%?PR_oeLgv+)ivE__IP+K!aERpbF?u4Tp!m__^S;@o@nr`fVbb_UivE(Y}bz z41Mu2p%d+LHQeLE`k2e@v$VkV!5Dhhl+Ake1Hil7i)jCRt@yd%gK-^1XC$J5SAU2^ zPo-T0^0ngUf_FQLu1!R_9q4rMo_iwd56sspVb^C+F5ktE?uF=~7~^gCLu$<*k`eKg zxQa2}cE`ajO!wt5e-u|p5A}+-U1KkL?W+on>J+1-hZbpZ(r(vx!Q8#eD_}QDxc`TJ zxsqQl(VbX#>9ZLx(Z|2$FBycVkzAp|*Aw2)2DbSP`VKGerc!qw$c78p=1*udyu6=^ zd>#66@gDCj-u9~Npg}A_fNkVT!^?LO?@Q=6fXexcr^DNq>uKH^F0C#E(u=&26NF6qbSRr*}c5{*A(X;fz$`czYqBPLFmQmUx?TpqG~7?_JP!K5TijxidX=#56E6Xem_@* zTq5A+Ru)w`RsH*7)nB9W#Pae{^w;jHE^YN3PUd#N>d~KAo(P1JwaV5*T?JTWcZ1vo zY&NlQ~hjHuWVBvo`CC+`dXao5A*V?w<>8TT)Vv|&t2zl zqNukk;v$b^&ezAkM)s?mb`4M#)3e0%@A4WRxbINK0U zzP*2bko>r1Bu5v3`S$+#(c2cXvh>Dk`m zSn+emvYH0cvxma6c_L4c`J6aq zLrOb2E^WphoEZY?rQRv|!mdd5-;+x;Kzb@~CN9@Jc0AND;|zsWE!NHxFf~w^ixMmH z4JHPCG>|^w_!HrE7wSS|bDK0tapH^;8b*Nb;Q^iAR|@J`DYG=#plFWXKa zyt8#OBU zR9^%AV!?lxV>Eq+>!lU1mpzzd|Cr?UW&YkSxw zFx4@U@~*|vJ}Xp?C}Y_Fkd);IaAg4qm5{mv&UsL00r^^&Y5eYSpdE@bxh@d5xdcWK znf_I%p3K6~??=itt7^q{l9JM8Nb+5q^YA@s6l~G%w!r>-`EtsOKq$=mx>)W*jmd!B<1Ta zOe#K}GG+r-@e+_lA~egL19CcGb>9MVqXT0aU+ym>0=M*`-} z%Ro*NA#c74+CPc>>5z zBIM1pK&AuwRFrdRNFRB#8|j^0Oww5}_jZ?+@65i}Y;!ZYeh7q0DA}g3%RrCXX8`gg z+dN2yp8{qZ-A|?u&QB3V+q_Ns?*OyS*C3yWkZn3mW-knck~iB-hB^>1+sp--Awssf z5afKIWSgYAj8#{(%^e8c3Ycvk1Nnsr+2)TR?*RJbpK#GN8R^T#wP1L(Yevc&h+1!# zM$!$`nPbgC2Ofhme8n&?Q<4+YFbi$G2g zAroBzatRPh-c0lo)N_ED=p&GKMaV>jDO`gFN+wFG%UE?q6AeOWJHSk|8%V1NnP@u5 zF@Qe#wH@4tMXFs0jZKuyY~0X`T7M}E&*3P>yy%Byz7`0TP%_bdo#HaLw~{^YB;-pb zx}OYp17@Npoha8ODWYhi-;w?bU?%zkWU`16``8|Gtn`mIR3xEfBZcKWOI9I>#aeNQdoa zS$GDzth|A9GrwU6&uco2l`r7y-7Eb;`T?nCh!G&eL=1!&2hu8H6vPA&y}LHGE5rdH z`-#{WVk*etBBnrG2%?LuUQX(~-z8C}9V`8&EVm(1VFNPX2TX-qL3AxWl$7c5bEr*# z>G2rIqaviovmnoikRGprydpw+{2An35z?dLaAGyU)94D$$5QaDvht_vodbkon4?(o zTBtoz{<>na7`CYBNg3S%bCT=2Ce8T)=|v|QN%~O0oMZyXZX)C)Q$QvIq2$d;PJvni zn3G%tvRZ_kWCO_efs&IX)nz=(o`m6t5qbbHCwUR%SrKv)-7fGBV4sSkwAJP#FR6IF zBe7fe4k@|-oQSz@dtsZH#hrxcJ)^ApkOt>D;SpS+0Ib_8LCS$pQr2yqp&9|}wrxS0 zMX1{bfea9#ZrcH5qzHA}M39|DsN0r;ECie)+jor>;oy!cjw|b>_a>SPUx3iLfGP5Q zkgI`EQl`jFP&WXk$Xy_Jh>#-pgZxZ{6!{g%BO;{8OCY}$Aw|9h`2ui?Jn1aPg)*2uqs zd@Vwa42~ibV2vyXDTq)bn?V{ysF8<(Oa@ruUS1hD@Ld*?OQ=8akBPWl?Z#{i8f%Y^ z%J#r`=Eka6QY*2GO!8oVS1)scTlueHV!SbCYYxd=<@o;?&#t}5mjMW$73ZAvIgjO-w>dn{q4caW+0eg~P%gWXG& z&b15&`6HdJM)!!*)W2uPX?iPo=7J9Vo17YEp>XZnr(TxknywR&k@U*cSWmBFlN%M< zE@j?vgoOU&gjUELvgDI)fG9D-n#E2~qTOYJ2g^|XT;fX0>3X?hT)$ZJA2R&B5qI?U zyh=MqQ^(YBWw$clcpoV>I=O{t){>-#KN_jb57Oau+5E*`b$o14wh*l9CYWB=Z5f4^ z*s)jBXJYVBeq0Ubak*~PF_mOH^IyOSn*&rH2xl7|Zd?s@DUhD)U6!*lo`kwzoT*E_ z%X4KapyFu$2PS4shgU7$q3{j>(kH>Ot86QvmWZ=J8M{d6O2|uNmNNDb?{4TjfWjay zT&>HMJ%heaLH|;`Y0SUta&_W;3;ijOUIu3yae5u&drd%k*#cPI#To-S9LQ>|@vduq z%DbjFVe7?Q&O+DWq_+bWx=sX{1B4Q>&~+Nrsepy9)gb4JQ0Tf0)jHD8W-<#6!tIVP|^b_0SFy_g~Bz3y@~4zaHA5;bV}q0fzq&c%5~S$hqn7Vsr1hluaGL zIC&$qGt!%&mWgvRoC>+*dCS<|0=SR&W@yKz7oE(bHUO-l@M;tc(x))ajW-QeC$SEM zwJm@n4T0B9yqe{BDS)%U+E%Q^knMn-xV{OP;WeNQzq)_KwJ&7PQ;B6cY2wXd8SQTpXO6I=d~m`d*hdL&b!3;T8w zIfwkSfKUl`61fy=p-SD>Wm0>XEbUG)TWSXXOiDYMOoeRueJV|R)APx94q);6I*_Y? zP*N7JAAx!huz39%$nzo;um275cM*!$dP2Seuy{QPq_+sg>w`h|1>BnV^`auHsbW>O zdgpDOA}1nr0$_@q04L$=km5R;Zf*+qeD_WRnQ(TYnGo7Es!^ zCe>xEy5iwRu!`V~pzT|`K-2)XZyf`&1E5d-C|y40v&G?tndo-cjI?(vYMq@6_5LI? z(aB_941`K3ndl*x0c+dmB;-pbT1$rW05j3^MHAiI(L_Hc{dT}i^d!i`B4naJgS-!f zk~b4=cLr_-n2B}*86`p{Itt_npk$(?x{PPpldb*f2(19jMBf8hBSKsIpMl&1=#$@N zD-*2{*G%+v(L@iU);YQG7PUrR^bMK+3WQ21nJ9GOcesk+a~Y{66IGtc<`ys$H9AqA zVp5^WA@mT^2LfiIJwe8ckco~1nFfTCHxu0ibv7X@9NqaA&*15UxvA)hk3&}hm2$fJW(eAF@ zL#2iJfSKq*kh4U{i*5(G1<rX(agpzH}a2XQ!c>(#7ZPMqkq9Bvm=CYz~QZjhrKE07?2Fy0C zAR|P`eU1Q`0)&z`+gtpH^{9bWSi$fo&`#_Nvg|umOZh}UlIBgFxwQ)Wep9O zZ3cq$1N5n|`&vL^+jKhs+x7F}G^8AsHCb+ciYh8tY?Mz$%FAhue_W8r>P3RDW$S-V zx_=!hbEsjas$2(g8pz2&D5=zKaIS^A0!ZBl@e;_BA|8RLI*--?BcF!Q0m#T#4Ef2* z%t@}c9$bssKtWX`FY0@#dTz~G{vG_9=nb|<7gpvb&=IW*- z`_v&{a-g%wumUg#N`;A0`%y&Efo>%II=~$00g!t{$bsGjc?}39Zw}OLHIF6&=0GDr z28xga9SE{NP;#K8x{PPp69-y^&`E$f&;=l8iqPP?4dh3FKKWO&G4h|YSRdDnv^N~J zrsi^cb4R(E=p!&QE)!-kW6NxiA59XWt2q|^+KizFcXad z87@L5Ivk`O2qkYOx*BR7U?%!8$SopdqUS(<3zSThRG0BAdt#z55c&i#6Y-BoUJ5W1 z4FKs2=#&3oD-+2dV=qcl(%wYWIyRS^H^`ajI5N)wLM4<;wA{73RYmYQ6#0^gmXcu} zU?#e#XrhBCqG+NkNxvL06Ws}Nvj~~!w;)dgq2$d(pFw>Ln2E9%(j34{q{pRu10@qB z)nz=(o|tGNLc0TIqN73DMaYX*f~)}a$^UCB6P0GMBqi{ULak}J+@)+O&5JgW`TIbq zgp!GV<=Rcqu+IwQOD4L53^xI0qL+&%I*}rZCVG~1dwyB>PW%z#Ex=5ay@>4~5K7)m zv?tWAfSKq>kV8bsi&lV~0+dXYRG0BAdt#yu2we@BiS7ltU4%^ZGRO;nKKc8$GEr$Q zba)ht5Mxp6pPBM|xdFjU)NnD2Pasr6$wYHphGa6k7WtBi29cpRU?y5#EPFLY6iu`b z>1}{{(R7d_M97QI23ZA!k~b6m3hH6NO!PaD7e&ZKe+T&+P%=?cUBq#q%{FhPC8epr)e*>)R zRfiSzf-8Woaae;Z>NnYLyCp^4iTv$b6cuR_;nruqFDZ+)NqLuJq-V0-PEWG^oGhDw zPzfb9;=Eo(=*|puTW;pHuj6`k`|dpyP@M7#yv+78KRc>db`*C!HhohPd$prjc7f+) zD&{*G-5*@>mfIoQ-n_wWY;~2Q2Ma^HO0mXWrAV)R_SDF>&rh&@&fMi>b!xnW$=Xv) znddw34|aSzFt+3D_d290+NF+X-KJJG-fXFMe0`T&x5zS2 zbu6;f^4&V{4{&^4b{SLTOH(ep zWd7A5*WoVJY!LEjovLfAC{=gz7TFo-6|cC|_(Xj$YoAee@~UpBImYuxg_U+>HC1RA zp=HyK@pg>Q+RCO)1+CF}TGH2GZTcYg)?-O@Xp$-d$-s z`%6#tew?<`xe4&~fO~q{bnou89RZ&NIbEzdaO_m|XHd6_v()=Z+79af4fQq9eHom} zT~U+gfx4dzQ4%2Be#B$$VY$bYQ|BHy=iC9`zU6o7Gd%0 z9ADSTGQa2`RE-hj3li%4QCy~V%l1=;P4nia?Lhp4nBP=1orZnoF(g~N_d%gH0L#sd zEq4OcQ9yd>G2Xnml|P5PIc5!kXO|<&FXglYC|d%@E=O=4IxpQ>&F&1p9^gE5Ub?F| zBcS?;GsinAw#IU(Y2r-t=Et4!9@HB^wU1L>pY|90DONrIt!sk}p!P0<-)qtF^SlYx zL=DKArAK-GgxDF%_VU`&b|7E2)SDESU3LtZ-6ZOD4e^N21NqfMAICMkUo?)cYG9nt zg9@crTt);2xSsQQ&{>?(Py+yt=>Hm+0T)2c5oeb7Wng}D1=JdGmK+1i{Q7Rl+l)08 zmihN@AfFTqGk+DBGyMVb#h5i6o|$>T?b)PtMhQhKcUWI%~thsQ^DL#ezz&H{zAMW}+f)War!dRjOO*ivm~cCni&W2v^6`Ywy!LWxGznS7yb&@haya0G@Y3?0Kg_%>%m68#2h~P$`u7o}9t1)qlm`2+Tn3h-_8EnI zX{GLWD^q~kXE?}UAe6lI@qDPcfZ69fkkduT zJ~xBh2$cFbsV-yH6>afrgdPLT7QY91RfKGjx|XMTAoQuYdy6jacKOb9mt&=iSaKA% zEU39!cKRVw<0)kDo=0civBJG#6bF1DH59OU?T1#LVfs6S*J<;ZQ0BHIywnPnEp zOc8RMg&^~RP+80@=RlnWm|50>Tr5InSr2lR2)WJUAP)leR76s9#v86;k|FRu>F)w& zp3g!4B0}a#|A1luKISU3imH#JfE7XYGQx$0g3d_Q1ECU1t}@?c7@;Eg9E*I(RfdqE zA7HL>MzL)D_es%J_9uOBz-)3H$k8HXlk-5%0z%1~O`d>y6fm2-1@f{8+2mg!{{Tv^ zl2n)REPG;$rt7%$3z#i-02wSowrB@A2+$}0kW)697fuy7)7yEw_EzfvO$Wt$&@xwd zNWI6U+MQk6LFOA=iS9CTm*w8@Eltdv-VF)oUv0 zdPF~LVROw8x9C4NR++g*4$b;C6|Y~fq%D^M%s#1j{rXd=y8za&>3F_)3F^1v%<;l_ zzW5mGLvfZI1Itz_UqgOrtf{bUsgk;$N`dr}V`147ezlMVv6gyKye=6HHQYGIz_NA8 z!I1mMtm*J+D2=Yd608smc*LGI~jVZ@s5SnN37M5t76s=cmu?{1Nuke z@qgWc-JkIrsK)`j+bI_>h2MmJO;RT_8P-07p+AB87^pbInblUH&p0BP`&Sg_{_^GC z3a{(LuETl{>$NRg^Io&quzsD=#Jq`asF~&YU&l|OmreElma^S~*YyE5H&1B~=I!?Z zUwl@?KlGk9ID0N5P^8RM{=sz0GpQO0{}aW&mby#5-=^wzh12_o3`fB0x*CVL!-`Da z{xGdrq;9#WTuQP%&^{OWX#nNk6_>jn>H?M0YXRC{Xxhs^b#vT>DZBNiMz{Gu*gZ`U z!tFkwnq{Mf50ExA@#46NET-4EX3qgL|6wDxHf8rJl`R9a&9v9`_n6{PtMQ@FV}+eX zFomwq@p{Jf}E;5K~f8a{WA|pCuXgJgl6NCRD_|k{q@vzWQA9B$Pbd8t zz(VqJkcA=?lD`jfC1C%fWg+=@P_F^6?Crk5s+l!wDqJ0S2nFCU?4(Dqvj{ytc@N0lBGeNPf;=EX3x+p9UI%QQnbe*w)?To>JM_*U zk$n%a-uWxYry|rl;g7hQ3-B4R6YV^m(hJAY1A|lbdLKw%(wc#AKN8dPyrHSiVvmP4 z7BCN7T5SGd2>HWOoo%5siS#`IYw|H5M~P6A=YY%tLdjdZPlH+xSi7$PxlDxGeJ#j( z5o-6{Aa?<_P)e%JdNWi^vN(8<^!ov8>&qZ7h)`QU0C^vNqrC%rk4^8J`wHJx_o4N?9y~QQs5wH! za|or5b;M@`%ha@>Ya`iv-X&ssoZ>aAipHsY)z^?XXrU5Y0y&{BqQ@1t1luXmDsBlz zD$y!#33e0CUzvBNhgy8iHG1fwh6O^4Z!^6&QEx5^y7;OmP>gDMqk%{6p<48x;{O&B z)bknv5O0U%HAiiF!;xTzE==&^V#`!7 z{SkUWcE`e)aCAY*6(hDFD~)XS<7B6070ilKmTF3<*l{bFn(xqpClxH`R-$!9(WHHP zVUh2uX!iSdo><#tZEn~yJH~6Yx{KO(vTRmrpYr<-*M6?Hc=ZKZjSEj2GprtqdMEk@SnqLk|p;DfSVWc-L+i z#|EzH)a+~Qa^mLu6Khrf?gh)XM~iIR!D%UuwXcN*+-E}3O_XQifA&vowzg)>Hkjfk zr5QTo3WetM#99U^Hc~#GRWB4uGhT>ooB?&wJ_V96=$Ymk+e8Yezk>5&58pVxA9i{y(?-9L62>E9Nbv#S5f;MA_|#~ zcY`*|imMN;olE#|hE&ZbrhR;dNK>-yJR4TL@Zlt9K4;DO9esj3&ZV>TTUgZCbe`ryGkw2$n3G^ybPfOPRPu-AvE$=b)ea$ z@IJ33HJ;3Pbb!~mb=0S0vx<7Wrp*%D1#9i z&!DRlHeIBmJ63zX3MsmT3b{ZHEpg&C%7t4L(XoJwwk#kPzjzDrSc^3>h*l6zizZCC zmdvqxUqTKIoTM);J84DBGf1TUcpotVq^dyay3mZk4I3*sH{i=Eu^LT$jwe_3^aHdn{PwFc&r!7ZUtaaqL5#lPRLhmip7v+nE1sr5tM_ddZmoxti)$ zw3}R@L)h!Sg&pKZJ>r#T)0PXCX490O?`hf;*Kpga;4SRl3q73WlIUp@r&dVlmr8ksVwX`4HbCeRaFO- z-O^-avX0$;Yg=|4z&n%%+K$cTHdT)*O(>GogfhA`lk6DJEo0)@OaJKYjol(n(-uXq zamiFN-dqs(+-b`>h5vT9K;s;oSN3SGFHIY}7W>Gecicm}6+?Ql<5*NBVPp>*L*`bt znktnq+fFF<4{?^z{{AX^$g= z)VX~5Wy0$8)lFZ0`AUC{NH_${Zxy+_zV_uSYUe9Bny<`p!WQf6ERh%SmAXP->-oxF z&sX|Zechw4U-IRt(9CbaQXBaSU)9$;BLAYVFZlBRC0>rhoYYuhRbbghzWgS>GX41q zhw4irp=t}q2-}0N)V_v^cLdll}Ewcg-#H;eXUq(@=|F(3UaILS9J!n-*p+| zq@^>GB;-CiWFb}2azyq5sSC5v+eK5tTy3-v=1_!w?SCGI4K#KSnwN`?H+8#ODed6^ z`$fHIk?}hjy(Zk&@x$n;I+TqoDezlELTXdkT|aFx)y6GFsdNxie$*Oekr!v zSP8a-Blt@;^4x{`C%sbK;xoAqg z>*~Y9LTxAyYur1m9~~B=abaUri!M)vogyCtMDY)1Hu|)-B?_iL5vGE?3iiVk zg?IdoXnGEQKtZ&bK@vu7t}&?%Ilk=%!V%#FJfV zM{G6DiW%OroXnSU<_l9Ib`SmGQLwRm20dQzyQu6F{4g8TX4l{rciQmDN7u=DXA?w& z28KHMg6LW~n<7(X)M^#1QE`URo_M%bMs3DekF(c>l@gesFB_>uny{`mtcBsLl%Qe_ zA!U9WmCS4jD}%o6Gt}e-+16TW_rJduYD!q8aa7ehLjxoz+eE%aEo5QTSE=X9XDXEY z?TpGp!(Ne}oe^5}TL@!t9Gaskv651x)xPR9#l&;LEQU30%0**M=pd!H>&rq`myT_g zsrsz3;#0wq*%nDf>*MxF+P9$RZ^W5{nl>|4?OtJa0yL9a54Gd;u<|hK;zxmI5Cf|+ z^4r25(S)$mJ{Ds-wP`-0*|Ac@h^jER7eBJ2A4xUeCJ#nbv`=e)TyW+u=xt781hg}rc78i$}*fnvm8)rq81xxY!D9EoePw2|L7%XlLy9W8z zFf%jkIyo$-8>6+gA<>~p^~!F3v?d%lPH{YYdO8gA#tK#+B5$q?zS>S5JGPb-KREjk zB1awkZc*^fc0^1oq%z4BoPUV=$ZtmiXZYK8u9m1GtlkICOxn-~fgmdHSiR-3PS~t$ zr{iE9yVYDZ?$)D<2{z%;r=Og<*=mf-vvB+Atn9+zo%HACC1Lbl*q3Un4-NZ%O54ZQ z+8QB@&Y(Frg)%tE@%oJjew2vMrs{3j|8A<-jP>GZ*C6zRb=@@LI|uJf-9$rU-uJti zhON;VR7MwUK3OJUY!Z+5%FZA(u_OxD#EE6rKn8(|i-H%B^`k=x7$+c3tglT+DD~!Y z)6SyKq!^WQesGuwi&~Sx>XSfpPTD75v#Gd#`6jhxHi06R>}v)1S_#;|QpcqzPCpyt z?s`4&<;7YZ5V3<-8!ZbVbt8lP>f=;+F8J3eS*?cF5*@?3&Km30uF9`GbM5sMM$Nyc zuv}xU4T~JcZj@R+BV!@1IhfzpaH#5zeikPYA=cWssityf(pH9&AC&oRQE*1ZyO?d; z;FS{;=5MZ96ZXvxhJG1q(PbF>mKr} zc&LRh+Zv`dteO_qOEp$}t)wyUwT3l8L0Ue};HnKrO$VLiget?Dy~Bnl!Np8liSHccrnnEQdS z!eIPIe$-jxI;=g^qPHL1TH9V6Vo%P|=&IrGklVtZ(O9_)q7-&>Z9JIk(ix)bA5YX& z(-3^GYE?1oujhzY8(ctEGTc(z>cY7#N+^WCOiq>31`h9h#NlE7?<|vj}Dv51Hg`SvWqu%18RHG~Juak%0#jJ)U zYQrwnNCeiP@`GR3Fpi_(_|yPe2B)9QK0R!h6n1$sY*;`V82nmBk)=gDhTBLb>JG}X zHUC#zzmKtQsbvKnym4GQn5eIEJTf^3+Xz!$;TPO z97&Aip24S?g$im>@be{FNm%siuTEwa6}crBODjK`ALjXw3rhPsUUY34vQ)Qv-GXhq zB2pCa_7KF6QDL36_Q0~u!L!*`QVYSIOV;B+WAO?kpYtp+3jT#^{;YHq1@A9ah>VwZ zNswiX`oV1$;YKV{+>ahY| zNwew+ZaxKLF^K)(CGuhxtu~*qRcVK5$1>b%%goNfZ;#dZ587vC&YrHgzW|)o@(zYSq?XxFI zCP>rtovzkJwuCLIwkisKxP@w~SOPQP-1=S?sq4eWR)ss1JTv8|bJWa>h2&&z^H7)0g1(lx z_ufj=9G(liYif@jY?;Qitt8cefR&W-<2J2P{f9B<`Mj@Mx$AL6)u@dtNxj)O${ERc zOA5|6HYu8tgvN^KOp7$tQd;YiplnrG7cA2DvC!V6wdqTEOKp2tHW_?|TXO{`#;eMt zm^vMKRJXUcV9|Ir@zdoB=czUEu%s!)bwb!x&ej^TI}2?U*sQvPFFC#AcZP-$F}*a3 ztd3x9upXn(p0%g4E`LBxVo~YGHvMB_Q(L6{7n^E*M*e@=%EQO*Wx*Mg6?afwaA9g; z+;zbmjl-b3jPXl9)khm!E&OZi(s@{S;J9Ju+PeBKl!p#KWu=v8+x6rr8{-`W`{5js zQYSN1)lEN?V6$tqqo~f7u2pS0i}r?C&Wuo$+mk(AnadPte0A=mO}sX3EcBE9{CD7| z3#jzOG9(xm`FeBc=gpfCDzIc%=rUXKd}G9#gc3rIKB(RKB|*T-Rg>erPAa;+mTe!a zS)5M6Mf#^Wgo}AvEMLZdOPLefbfT@cmSq%y(iGipOX4@D`ePNJSnZyZ(JI*wKIbT5 z%T=@=oJCqeJ#)h{cI~l(M}CKbsc5f~R!*b%G~)wm_QNQe>2x)ngU9L@hLJeIrr8!0 z>@?uf`X|uf|95OvqaI*eT{P2oDDZGmfd@M%@ZkTR0>Atp6!>{jfk!(iu<3tKfyX;2 zkp2z}{IsaRlN}Ve=YLOur%DP~m;T-P7pwPbmcymV2;alcTALWEwh9bxJ;nBlpT~pv z-7dK4mK!}euK82In@P=||1fpomSq-qfXLY@#5VLgrNI^~foAz_)W@iJ?G(*NSV-TR zrrj5HupTiafO$lM;?x?5YzXzo_ zgdbol5G~#r9Us*(Cv}J(7OBqVl;*o5mBpxFBhe}s%~ll90%W{JItu$x@dl%&qP=O& zBeqqSNs={*&GB)FakeP#)76F`UWWJ!iB$Kq!HxsOufkUA*LBCXmzGg~vIUD@TB~U5 z`HPb=OuR(-)p0flwr`AM)}zE)DcdTu(bMYb$zszX$#uR1s1P$0i2V)_d@c44Z8R2--Fjye2&aPO!gH5vE z6gATSn`zLPxP%Jxwa9;0x!U8*!7`ji^hgb>h3~pC!U@`rFgUu4-9#g4(JH3wyf!L} zTjHxHQBc?%3ovb*K~HFZIYmbVVZ&IC113VoXY+L(s$4}06&z!#+ElP?qkeRR8JxVv zw!@!sDr1LaurBQ9hkZ&L-Y+H>hfB56iaX&iCR_i=C(DD2`{A`(i$%fLoa1Ql_)$f6 zQ`mfV*yE_MYR|BF9;O+`d8|6RYM-!XV%TG1m|e}}znB5emL|HEQC^APRq6bHkuCTt zb6htY(^fnFb&TVyMwa8Vy#(FQs1s6?( zJ-Dnwv27T8UAQfbTszkm)^ah%4|{P%r44GVodR*(}Ue**l)Ea*2YnK>oln`$Z@8QZ`<)$Ymn!FeM6X?7}k9OcT9X}#(^+x zs0%Y=4~BWD9j%mWavEzk({G2f;!W-v;i|AViUwTH8>U~a{DamaFU~;zps79FWMdGG~Ci z&e||kPyMvTRMZydM*sM-Z7O=w%8sJT>6fyL@bAU^gbmk)QG8yRW@*l4b+x#&4QQ>~ zw}Y;rYT=5cayi>f+b)aomm|#4*}6y`A)|dtswx&?08c3<$nOGzhOV2M(CDyYpXsn} zi^+IuUXm2C?%YdMoSS@ZlZI^HX~NyV(N zd@{$DJvI_dg6^Mp=r9Y6>f)+km31-Ov@QF%zx6TQ(ONp|e0zV3v>p4I>ylCSZ^>R= z{bc<(WREi+D!O_a#~P%*i%DnI(33gcHO^BTJdl8WSTTwRmN=2EZnm&NHQx~L5#|w~Z4$brQ@fZpoYs%P(g339=?FOfW!#MHIYS)isl@y8f)tSQ+-uJ`m;(4f{`{gmEq&CAUmmQX8hSvq{kUtLvKfHgoEw zWQLPr{LsM*Eg2^qx*uVq+~SXx;}yXZJuL*F zVi;|q)4OEee+I3CU*Qn!YvpgtM@3z^*?N4cf%oeYbSDXDbQ^SgC!dBEW=_p@wk)dn5|8SHWqNw_%{BtVWFT;okhHCaHt&l zcPf@DqTma*Ia!uFHT}sw7CCEU;hKqiL33%GhO)}EbsJM?iXfsur!cDNL$;1jc8L15 zv}kBFWm7!OU5sG7Kpfh}QC!G(gfsFt>#4)TPPO>zHsk1nY>!%tD0MC2Hf;-GObI)2 z{VnLRnOXjnun(0)tdTIdLUyne?TH2QOkLz|59=p|8+JiL(>Tvcboozyd<8H4~ zb1kAi#nvXLRnRn87IFy}bc?O;V~cP|oXy@9)|^jq7$m+Ur?AotvUkxSnl!`cY)4;i zzm1o$s!DBF&4{bbZf1W~a|+A(Fq+JnA(!7)8ev3!-e=UG?-AM2qMr4@n$HajC97k(cKo9LNK~1^W$)0u$l45LWdP;Mq zj2G(gT<)6MB69fIVa84G5&CCy7%hqPJem^p=43r0+7jCv?9;f|JQSVIa9~0XLGCL|ZanulIsV@o+bqkFQF-{AWRCI-f3OmYEAvS?5w2`U_ z8djET@Xva>vByk$N7zGh+;+(+M6kUdty;x8Gro&4m|&C8rbOfg9ZLtl^bjIGIGLZL zFPhXb*Kre*l^SLj*zYzh@@vL!Zfy^4L8vf_B}}lNdT_P2dQouaQcaLx+%rA!hhw>JDBws)_lUD~@=3^bQO%%{9veK|xhykJ8G%n%geSoQ3RD*oc*XeSGIYa=z$pB$#e9Z;G~$RL`JRH2Ji*h+`0mr4Q>x1V#ou56h zat#iA0C$uJgICRn8^g_HIP|jEu<<>I>s`uo@y*qQbUQwAW(bOAusqqO;DDAHHddAq zC>c+zVsX0HsWA+=5lT*IJDheLYA(~O%>%*gRm#4ZP}0xe=njeIo!}0M9+u@?3~dg5 zjtytVM_FrZa<;wP6||C@M6$PHqhJ^tjyPeJ$Yv5_b`1_8j#JG`9>0EY;s2PMot85IZI@gTg!21H=Z39z7*Pl%7b*sbuR z)WBLNrz;iNS#~m!<%U^>*+u_{yE6f=tE&2b?%g>jH)-af6D@540U1(IORza?h~O9@bua?KN-ovIrAxK`9cqh}E2m;6ro=TKFM69&n#mpHW@y z&pRl)?yR?OvjPk~*F@}BzDt`5rwE@!?G%(QVgOVvVTaX(&dhesgn zLTYJ!e{J$se;(5yKDVSj7->r+{|ei{G7TZ$7yqMG-~Q@UWyGSymn}i^o+N3TKV0ftmfWe zl|Om89yRL0auL{E?VAO1NB$=(x{fsxy1y?GL4j@OZ+@ygOttfRop~#6W7$aRbT6gE z2ME_T8;6I@KP|YbK6egF5*Mr-1R}racw)?NR)}<)N7z@l3J97p@@+7w}=4{dMxX`1=HcJm-!jC zHG-&Eb|??yZBx5gZm6Xz+By=z1rAp@JaCqZk;8`4W2<0PeNciQHW-F>q(X0?GEi&` zu3!&ZR82Y_XfE{@zr}&8Hzfgf7FY@yHITByh6=R!D2WPJS#fRS0QOK}IDrePn$&V8 z=;5tSP_#utuhnU{HYF6y7ctLG-Ord@8C!{IY^Manr45Wc)fQUH??O)j&MHMv{Zsn74oFyMc#m%^;b zeQr-^qs#9#*S%LS2O_-?zMP0(ww&O9Q_t)S#$T`4lfsPAmL83%(50S$_t<2dul#3D7tOJglf|}!?>R5>)_k<#vqoVSW&3d6kG9o z5V%$`fm;~MJz&F1h}4?M?L;FDWwQO~@vzi5Kr;ok!HwXI*CdvNQ?1!1lU~8S3YmP& zz9zxoYCT4MCWNGhg7GlWYiv#AhVNVLCE*KTv9$OgUb;H!r>0o^{2u;!OI#v?Ol0V> zO@ALIo8X`zK-xcCu4nTjoV;&o9bY3fB#0Y|>CktVN)YjTDHs&L@_3MN_aV?rTN+`G zkRxG&`;9<-*G*a+#kKK#L~CX?>)vD0xhZ4%Q`*UrlIqv!d+)!|qf0r5J)Xmiag*!T znf8GDSVzGVWC?wI61})5AY0$_kTI)y9aYKGuK4Q#46ka7c9>bi<%e@F{UiRsb}O9>-OHYy+xLTcSQ^h*Z}^%#`N++lji=CceO5 zbxAs6dTig;v+Hb&-&-F8Y5fQfmznG5Q)de*)PQp{_T;U)ej3}RLgGZQTifdB_4-uH z#hscOHk8qcDwAJFvc$zujW+_BkH17A%e3-f8Rhfc`HcKjygg-1hX!C54)#FU0xrXA zWtz`_3NENi&~U%7sgp#=)O&c|tUAJ5rkKpMhdalAS;?0~JONAe&NWsGI})aQ57Z6W z^CJE>;qKU#MZs#2c|Q*7E#n)h9Yv1h4gfN|Y8O?!5EE0y3ql%^vb=WM`2Bo$J-mLo zdxs^M@2+F90h8BqR$JB5Nbe@Wi~?_-RU7Q(ZXBnHOn$iBIHz&$=R7TRw~W({B6R)5 zS<%GUE=hNM&;>Z|o&iCN76j#s-RjR|g#v`snZOh^#C;DO2;9?HfhyeQvlKA$0+c*( z>l3SO_L;(jyPbW}VeB3f4)=1ldxj5&xbH53+nIuo#bT)%7Z^PiyC`P`{c5S|S33#6 z79p4QVyZ1LX~U&%M@=rq5J)_hNUStau;ANbpWRoC<;Y(al(aDm6LIY+7o%{^bP2Eu z|AZ#^&v(P81(LK4{3>uWy6N=@G;pEYJMHHtztZ&3C@Sz?O1T$vh~RR!Ev?;83;jc@ z*?Hh+@f)sTPE+Srgi|Jm?KG`EqvPJIM|#gHwyJ%2078uj*BZi&XNo|ygIKlVtq;JvVy6`jHt6#=R=`83o0{e+HiMMc=0f>HQ$xwN=+ z$CyEGwNGqLc2`Y(>Nf7$p)Pk(^www<;H6^SU6Nea)a^t;@f5%+gg8H>-+Y`XR^p|T!Wb5 zJ1u^SmV(qfAR2hZrEIk3wxP$7>D33$quDEWMH_>I7X{_>gS`$94zAU%Q;YXV+}V{G zFaQN3((dPDIw*Cm(VB690R8&@iC{l>QaTt1B=!p30f6EdK;!;`FM}Wj&X1~%a6bHG zP`oC{|McO-aGz_4h|ApQSL$16fkkz_8IgmLn1S5PZs-=a z8}YWt2woPHo(kW;rwN=`0!MqtD;{$V^Hq%rYDi0sXN=d4Ont?EDJ`gM8AZS%M_yZu9`!r zlzYEQ@|Xf%z8*)J{n9+ywV8|deud9>cbgV>iJ!MS(M9gXwfTY%%4AW=m)4! z!ts-)OjP^SvPe|BuY`pqg}~+tiyHWap(hIkuxXg?W*=E5=ZzUb{!nu?-r#X~(BOBr z5=2#od4vLl)OpQT!c9y8>{53mtemY|S0-rRX_HeFuCjWsw-`TS2=$FZP#NP7u`v1C zD84*6LY)GSN4$Zo!SI?Hi?XkudvqBWG zT^gi_*9=_+D&8=$-g~NO+nu7w9>&%zI9IuQ%4)?Kg00Q;W#?E!b7>rmHLSBqq|zH{ z!z%sH(axeS8PGq=6XbvdknRqYIr;8|g>}#;cw+8?N*M`C-Om;(Du=>vHFt#FlA1kY z-jZt+O|l#+tAzV&VIsU1&kSMwW-J4?3QsqXD{p~p=SAHtKUc63G}gSXwTFf7&#ohl zlKXS4KYZAWaJ5LdcUTe(7P{NR-L>+5BX3?m|Tda~G{5lkZ39k_Gsng77Wd9${ zQD=#nfrUw(o_YNI9POEUEFyGQcP=#*x`f9PJBBRtvP-B#5VjI0X|nHY>@&nrTn zkn&-p8tJ2aNbXind1|>G>L>1*z^t*CsNN>=6)eOeC>jd_w;>dTC&4!v>RtK-Afgh~N z`*=Kga`KfjZjY%!$$orrm~k7W=;`fC6PTv(muT|Y-q z%y+-7>IkK>!6mZ~2sC!LrK&sg!58P493KU>zXwpngu-#}aWj?sv_kper94xP7{kER zgVL|qG~+;$VwWtJV$Zv{7#jP`HEL)QBI@2*y?cC)2*ODBKvmt%0<9>vyufWP-D7hU z4xqORojc5W|4{$l4|5M!r8A#A?0auR(7>73hZ%x2%VX7oIZ&T|tf~_`K}_B7_L|_hSM{pk?ld^+8Oe0Y z-Q?c+f3weYz6dO2Js73AwB5#N@byd4cDPNw*vVUW6Udo>fs63D*KPRvxdtR@yYUe- zc-P@#LwW;A?_8uEMm8CB)klDursOwyvo=;&S8wuBDmTyu z3rEpS4B_u)qZA1>c|KK_%M?G}Ci5YWlxIUReJ$#ik%1oXe1;H6B`7XGO*N5Del0^v zxVQ2)MSA!z<7%b*PB}VyMg5nF|1Ju@#dzJT#mF@Dx@(5jO>5lzbd+wiRcP-_y02q{ zOt`nH(%*l{s(d?-yh#`~tjL!ZnOad=zPE|iW=M!vj!b6@!r9i&MD?CkU+lvw-K5@E z&*t#XQgFmC?^tR>Cb?FD+*08*)V#@)Z~!HYfE6gH%bAHPORW^yrU0fqrt-smw{jsA zMZb?0A@CVOZl$RxU^z-rlmUgx4yE&6?8DLChAYVGDj9i%>=JW5*HE*p4}g38EaGJ6vI6r!Uzyj_J?N}jKr539O8G424*$HEc_5K0a1+(&7j*A z+K~wF;c8K>q=9e*YE&OK{5Jxq6KWI%=^s3Jwu9^TudzP ziu?}xFvR_7K{xk&a5-k{XxSJX-JciulAp_uBfoj#)BPABH@nP1g0(wZ?M~>^t~pi$ z_|RP);Srk~Q=Cy-|fiDi=|_=$kXWv;EF%@@H=S>6!$b0s!l2U9Ap zHKF_O5>gRF6+YopD;f*3yo8-FxhYfe`Uon$ z(7}ks0G?Q=!K{UN>$?A7eq12vfahcUx&YHwhKn~->Y#QrpLs-#_80@|^00yrb3~nNMhbxUH^QcCd{pXD>c)Ic?PDhAiGq9ma5qw6qG_zZo1of+!Po^a){#;Cb6xq; z;&?pRWE&0DWRQ7PsakuzMMGFss_A;YrSEj98&7HJYU?w*toBpSl~wYypX$cOfF%$u zYTiw(>{VRiHa39;l&h_Fba*W6K5PFSvKMI|Ugu>w);UN$!tK_>)08_)WyTAGL-%O8 zN*1~Y=Z)>ahgbuH1SyUkTG@XA+=TP4>ppL_pyIx|M0?dw6KMZn5kT1}A0&yKj0NF= z_gMm2l>1{10#Tv+ks^x(ZzCy^^Phx^iJel=f0emk=iq%1gq0G)Fzg&iKimnmVA+9w zQ2$hR0u50-Vl%USI&?0@a54+|D5NC`p^Q+=_C1gTr#Izt|#LNJ;<6$KYI}YMzwQ0gDrF4 zDX8|YH0ZV5v+a6xw<7;S_cKENtOgbkzvvp#d5m>mUWzEVyZdntN`-QidD4RYET>K= z&l0A=Z`xkZh5wFOLn-U#lP*6`npfJkhj~Lx4y*65n-(Tui<8mWB?l z{jNk)%LZ&leJNO(TSWx{dbiT>CCZnn1=pJL+9EmE$*hj?|D*mVx>Fo^u74NhA1+0$ zj_XPg9)OmI4o2o6>Ax;9I}Dyp<5fo}^@0M4_qJbg%r3+d!*9Y2fM-$3A-)bX^O*yQ z3%3OMmjoZDRPOlTW4D;~$t?{I*Mm%|VS62_N~Ic(z79TyfuHbaYA5Asupc}_Fc~#1 zlLpIifu?P|yFa%}W=oWRHv5nFpZ#r3T#}TVbpoO(2rSctjmF(g)#`-1Gf12ey4woV zHc1Z=h|e}toFRtmJ*Tk!Z3dxnFZYZ2wQdz|KV{~aMom96dd-F3D=@8K4|CsUv6Q=o zgg*V>-dR!@b^C2Cv8luFCyLi}ukEU};u#wS)Ef_oX%_gw5GAL0CU!E}4vK%{xy76I_&mU2G}L+iIA`m#k?#0&zA)rA8X2GcQy3I;KnQ z&2J%FT3fWGVGGV|X>CwfMWDDhcU3&o`fsRXadrx>%_fsXTyQr}r=IIBKuOPv{Mv#} z&Gu`s)w=1BTAUj?7j70QUcDU_Bj5eW(r8J4^EpqyMNW+EhubyI-bT1gMi3faVKy@1 z_Pf@B>oB3ExJI8Y=HJR>rxmE5IN@dfjXfk7>^jjPk3IikKR{WURG_miF5qru0i7T z>gdwfV1i!hjnVe}fKzGh7$jUmBgC4uP3^CSccvUN)k7p_e6d)-j$Hg1|*21eZ*n~UV18ZyP087zi$pa9wc>KS^w!+=ra|;y=_Z^E- zH?Nh~7orCvA?{A}Zy3`JS;Ru-69^HRN!JhO z*4;<)d2ef5KO9oRy-C22asw!ZzrMK8JJ)ov#tUM%6?Vy+Shi?d`aa4tT9BfpDnoPs zSe|fK&hs>Pi&ndtFcR(ysFC>QyySS6i+gPlAoq&!-jQW65uTg`sxtBlIz3wEBReFS zt7GnalFi-BJ}!tH`Zi!2Q(FM9JSo-K#o;Q>R>#S@q+L`8t485&W*IL$s6)A(;vziXPo;pZz5d+ zd6^Qf%ibBA{qN_SO{CRUEq{DkKD$DrxGYZ5>E58(gu7|5#v+g29^1Dtfk}GpFN~@B zOj5Z_GeW1Nn(6j(SqEk>@JLRQ9-+t*r)J+o8_F>a8P)g>Y|QmR;r@zpv)%coo!p&& z*A?x~ll|uG9kRB^3;ah-9=)U4tep}Sb5Zv}3G6c^WL*V&=$s{Do z<_x~ss^H!JoIz*Y>&J_Fd;R_G_xdMUy}tiH?Dg7h^m^@}y?#CJ^>y;vWkY+;^l9Je z)u+9(gZi{viX}q+{=8b(i5e{#ZLNG`}v`Y>~iiQ^LLq$}h8~ z2`wE1R#t%n5l4f6TqL4PmFa%>887gyK%Ms6NS$_dmOAadSej_wp|HINi`W2`vM*0j?alZ6jMEQ_o9G*SJy0&}ALNe@MxO>!J=ZLicC+ju?lHpG#~D?a zBFACZ-7NR2$M9d--96B}$*$STkE5)tpX+&TEOG|@{(Z&;fTCNs+6HRG|DsbCJcB*5 zc56HDzl(Mc0(`M-L>D4OL-O|&+{wtSoJ;G8VB{VCfdSZQ2?WLLbOxnzp1;guVrznZ zy1BvsGg6h6_=0$ylO{w__It?p&F8Xl@QhXskL`(ATRAt27WVoSV~SCwUPaB`q7FH6PJWS8xJ9dExJ<%Karj zQ70BG<^ymO#5kU$uW(Jug96V_B2|ssy{Th67`yo<7)qkk1SHsUEMhC)_(f ze4LLp6*?`C%GV9hy;qa>WJ5CH?z(7ztofFG>1EAA3puSbo(}br=2or>=2N-`bE0AT z&d7!yPIT-LjgRH>C>=Bvg5HqDu%g4)-WAurQ-UiQ+ll%1TDN5)0=}}Z>`-Nf7H$I_ z%6CtFh{35#?*7xOsif3hwxm`9a=v?XFCZJe5*z9s{17Z~e-YLqF1!faeY&C_qK^m~ ziE8dASK^LDJ7Cbo3fdVct@36_XDn_0ka0TlJ&DIFbSoB-)`^XTtz9=5lkJ9f5I4EL z$yf|7wjym7y5&h3xBiqzpo)#`uK=vfU2YqUXry)m=DM%FpDfO%c8T|ju;4|_pQJfG9HNk2Z-N@4=3Ud=q*&x_L zj`BBrfo~0}bfhS@u(LC&tD%R4Q!9xF4IhgHD>B#N!AJRo8{5s&BQEp7r5%;zTiQ)@ zA+gbd`k$dUp|$3v1qVTp&BR$l2dW(`Qa(nzT*^J3xV!r`>z*H-+(W_n^q6>hlG99} zxwZDOPkH6Oc{UJDxtB-R3J$vU8aL}U64eu<**24v_DRZ(>GU};+UZHI?QGZb0sKhc z;o{^|Wf{JNoafETEn*LF*Wf#nala!pVmt14mL3~}L@FUp0Dr~>xbE9&JfQrsf`r?U zZ|lS3wYV9#1*mx~!SyzY!_`j>?Aqbc^H-zkQdnsUWee}-+D-)ZGLM^;c&uq2t_D)q z+pv>p*h`i8CAl0@oKW0RP)BAH>gG%^5rgnBMS(DpuL*~64E8{MZM3qckTK;(3aMKJ zw+j~T8<-&s6be&$e@8*_cq*~cgYx_F_wrSO=Js?ziZN=S;BCI3lo9RzIJ;c8 zakTsgJ}s{GrhW)Ys>weXFZTvc0vV&J?G!`Ya;wYzY;?MJ@_=G$l*d73Y;!}q46p^^ zH8wTgz0LF(?yp!dFwFw~fB0EhrdcWE&Z9cF*{Gg$?~YD+za`fxq?RKdi^qfI_R*#V z-!KDhA?=##jRK}z{dTlL&S4q!dpAFRckaM<7su}g`K~j5H^_IZ;&&|r>%1#|x1I0nlcHn>;rhVKCd^xx8c^a8TeDU>hH}e4kP$A(teVuY3yZ4|(VbszS-V01bCM&}& zShJb(&1V?d3KGjf_A2*jMVep6Qhjxg4w|Dusg8!)8iUP8pT&CM6TeJdCE2{(w{XRS zmhWru%Sy@41Q$!8i7UDPAjv!%?G@ig+iUlzQwwD5@(h&DgXD3VlxFTdGXwfa7m_g; zmyXpm;ZC#0q)_`1OE~HFTJ2+}Wpog)Nd;dlQHW@Oqljm;T$6D{P(n`rqh6Alk#vRb z-5Yg`%MqCF-B-6a5`{@<=)zQOGkkasoD}?l$Vs;`cNmG)F|RkzFgGs|(!A5m4Q*^y z(F`h!-MJwkNHu0ldg4Yz*0!o$_iPC&R+jnu;}pK?4C6Ei}E_lq0p&wQBP%rhTX zpOs)Mlt@6LW{p}77EQQXgroNOx0LAidJb!h}fZU_D zU$G=}h3?JyDM)m}-B_Yk@aBAcwe7|;AcmLT>hY#w2`{(8h>+R}F$Q)4&Nt!SR%ts5 z$0jjme2E4DUBD;+kmqhFnT5aXiCsbIB%P5E73w?>{E~mX-OJNFI^ss>%JChT^(!8F zFOy4$8f0Lf{b;q-X7RbJV_%=0;d6HY6&|MpyTB}1UZQKosJa_GToOBKtx0O~+`p)Z z+31!|wLd2K6y(qfQ2(JO0-rUt`U)Ed#dXz}4+Vy}VQ-wD+%w9LoQS+5cz#*IAkANRz?be$ptcEl5gZ%*hS zBFWfL@2efTh2P>mwbd${&yO)&4WZyW&8nNW1{_&roKAEQ$ja=%Jbiuz*e5y>LR0ey z($6Oiztr1R^4KON+KIxr@tndKgl~$mRJ_qp&!8m3M{Ejj`nRU=?|up|muxU_3N?B7 zE{T%i8*h8Bl2Fp2MupsPfPzR^0V#h`IiCuL4D1vmtZ<59BAH$u-=s)*&c zg^|{!CX}c+{@T}hYR6ycb)GrT_=Y3}LUGw9uFZ(P-m4EJHpyYcA#m+7I}*Fb-Q2?BW)DO zH%xK+yXc6C<++7m*d~wHyW{&S)T2R>JPio5wsT14qjItCLuM3 z4!=*~5q8jBYULTCgvkK93x`Y~aNmd?1D)m|YutSyM-mq+q_i(tg|gw|rz|L`^t1C) zX8u(%sT~y0>pq})Z_4zz&%7HN>DAWfeIOF$lhCagKzYKhLwP%WvK2Rk)I`Ub`O&qd zy{pYg$aWi0Ll+N3hrCEUBF%Apm<%@C!0nVl%DSdMSy-JCf)yyoFG$qx>L)^S2+H(yrfk+sZ3~SNeh^w`Nl(i9ufg4XITw%wc3Wr=s3MMk zl9s#W20W`y7(86Wi_Cyc8G?mtwKFo#t2NihY zh<$S5WM7u$PS`XZD*^iWT*==OcaPyUx*&M9JS1JkS2Zs_jW~EdzdD*#wk4`c`b@y` z!{f~Fp=7x*(4P>L6tUTGM#>PsS<3ZAq|lri6&kt{_Kg9YVvy#c{y4AJUK+m?KG+4UI_H!RB`>tuZuU z3Mg)$6|H$jL3jn^UPQ#rth31a;qF;z0#9E&TX7jaQGCfJ2+VCJTx`_`CiZ>thvbT$ z5Z|#={x8=^Ab5^JC*1XBLgvEna9Uvn?!QUPTIfEH8#v{9{TB+{RqSXoG;k=N4@%LL zp(6&oD!NriF>1SxY&Csr(}Xyjd8lBW4ot?5+s2I~B(JphuI*+3kk0`DzV634wX6Rf z_jX#A1FPyDsKS2)OnhrQ&g|;!_Fcf>t3{GOWJ9Cq2j*$85bMEM<&3K+Cr8^>^Zz$R|eu_YPwp@?-9n;ll(B*o5Iw^TV&2 z+-kBTdPEK+mYa5Dt(Zh3%8Guperw}XP2#sQc3>Rvg%WWgZ=r~eKh3^(8+%xBSgUVf6D3SZfv*#sJ-BF+`#a=w0y~0OpW!9kg;&kr-nL>B{;#xG+ z8oWJ7O_9NIn+p=r5@Vi$t0egFab8-$PNBI=xF?KgK;+niy76emZ0VoWqW|OBT4iP5 z2XVA;^Jy|UaQ2YGD?8Cs@%Cm`IeSV?M-Q}ovbEv1fIMf|rP1jgT`~(JiM+Z<`Q0SD zZPgbs;odMKr<}0Rj4YWoHr<2o_&%znYDc{h55GUsLH&hF1hmWNOZxq537QaT+`X)O zrRV*!$ffd}Us9?M{x#6U?*=Ju=(X_HnwySwomCR}?5DR>Lf@rznrAq6NAr1Qik=esM*{Q<9koL4LB9Uol@ zaL9c>ENWUbgX&|m!d4>m?$}y{-bP#s%|s+fkc3xu$%&>I{WTh`K8jJ5aG%9{d)b;^ z(HWkI#`TJ$IM>UJ?w+;}{V+JqMj;s%>9<)!wLw@-cT>})TDKrhMXGv>7jmAQucOaN zk){tQ=|YBS}j+@SAx4x1}xW5CmcO_LP_-n#v(q)F{huWH~3o0~#q zz}Q#7HQ^^c;cro8FyvUnTqyvU8a4fa;tXpFw4gb6&#@^uc#RfyjF8Ps0!o3W_NqG_R{X5E&X{o?e$4cSdR)WIEw`&f)EM7OZBlh3@;N z(e440%bv-vHeoq&|9q^LDxL6rrT1IyPYEs!@?=AKd25v5 z%eIRG`^q3V6j9&ni0gAnX63pg)>BOKJGHwVLw7#9T)QI~jf}r34l_)U z_k{!vWY)vo18`lr)Gw`0Ef4p*AT85|_X__~j4L~~n!b=(O}6`JF~Rn0b1aF>t4cp1 z{Jb?d#eP?66BBlGv=B$I#5RW=MsITBfrC#xM&@EuA26%{oXwIiriN8 zymmRfqec5fTei7iOgmVwG=&VP2;CjW<1oR(>!f?ucE0wYBx|AE=_wTpC4Wa2h^cto z)1EFFH(SZB$O6|MeWwVPSRdS=;@w=>IVbs{gvBb#l%N`NYl1P#zLW3PFZR6o_f3O6 z(Bs!rZTFt(S_xq_Y+nf#h_PK>P`LJ*&M2{3TQ*s#cVU5w{dmQ2-zM9%B6vX9!reun z9HcQjOwRqoFMreC4p_doXW*3~EbD1$dxS+bC*AV~wVP zbc5Lg#NJiGZOCxonb=t*wu$oMOo*@oMXk6GGZw_@cVrF+AouXNg5_4D<<_GoG^z)L z)^$Xgi+&EIn7kgEV8Yfy*YO*+E_kZ~HI*8qAIO^(?5C?xn$bjPVz9CtB53?AZioodjbx6{*QT#8!gLO7~kOw7{Y=d~AQdyWD~5CcS&l4bV-ZpMTwKFk0}T3r{}rcMv>(898=?FH7TOQk*ukSNeE^)9tlT$trSDsJ zl6`5qRu@49L`D9%t(pY#?snEM5i4zi{TV>vYuv}8?yCxtte(YWF!L)~qjNmL473&M zRq<9$R$gXx(`=@t&IdJK$LD$oEnIJ0_x3DFbEFct@7)h=VFj|YxxEq%7>IaD?+32yw$?f4X?km9lQoyL*1Q48|C8bh6}lu>kCov?I8Et z<_>m{A#}e)|AL3xR*_p;0=G6o?x#TR`#o|$VaUBUgWL~i zkOxK^vi1cbfnj@H1sonHgu z&PV}kwEtR<4_UN-YbIdU&i%!SYIXzV5=*+5&XZv#smzAh?z(`hWUxXVU^#@77CYpT zg*OV&el!CsztGldp&6{c*V++7!8-$JCmO^xKr2_(Eo0C!TzBnoudTD3TxT-OEZ^5_ zk=jH)9@!z#HAUpZGQ^5}-3idS)~-U=>2OI0c+nVF)Jq0@|SN)ENPhDoh8?cuCcj!Z{?|6PBhB zT5HNIjoACh_7`CzhWXO1iLl=#2n?laTwBbAo3h#`yH$;H#E%nLt?)weR%^V68V|Q+ zwxO-lVgYayFYLnka08?X1{f1U*Ct{v{sb!!$6UNNM9yCKm~NMg4BgJoFw`xe3~HH( z!V~$>7+H9Fe?kJ*1{@C~YlGqO$h6B2StJNi(~Murjt1$hkyfX`y?`!yclR|cJq7Ny zAvFunqn3p>7ZHDTXWyZ)7=F$tBr(IrjAJk7VH6x2j9fq^E6H0v#QkE3j80s0mhKMZ zRKjr^or=Md7e3}+h1T~4w-3f`8o{@9^Zc++o zx0&?w!0uYo973bSPx;rNk8n6;TWoUoa++~(;-QFY*IF`Bt~V+*Qg-feps4(Jd~SBT zio16W-Sh64v>&Peq7(MgX8S@|-d~@t_ID=iy5b(X^}20=z^7DspCDye<uD`|)~<8ejV**=zYmIPIl8|5hk??-C;v zybc;5Q?H2epaGEB1l(67IvaRK)?g3)L5|jr1%rFXo5zMEnu2kkr0dH#*aPiIk$A8q z0Olu`T&fj`TC5?YoED^X)Zdl8ka{1U?r3-ZM%D#*b4{DUL^+2i@iFVpkZ*;}_U>*u zl&adj$3g0J_m(ucBMD@1vbEi$M8R0R8gOUZ5nK5HlGVp%Zc*|XS|vyU&gBB>b`0ff zwNDLmn?bL=+Jj+j!CqK!ywYti-t6u=({=2@zw-lL73bm08t_*3TG3-m&6GvFMah+B zf&r7H@!w1G$3_HMwuAtj#NckEx;_XLjeVeEz+Nb&06TlHvw@H)b{O#V%e@IKywdTl z{**Z?VZyrVbMKUx^LSyA@R^eRyEIz?D=s=q`};?R&NfY}&>qAbYq@O`@uS>O33p zFGuy;qin$T$I_PHWTW<(55a&^cY`e-=|VU667(p4^#>6)~ zZ@r7R(Y#2~wbweG8nWOeIl*JZaE`Du)_R=5VVY6U@wFz-u>{sCyNMKLe>LU$4!BA& zo7?n~Y8sd&=o&5PzXKYtZr7pFk4V<&pGn;atlwZCKoOj<%xxUwz=RlUU?;u)iP}c64YSLiYw^7b)#^UeFEBGzlfTInW?-8UZHm!?QR$FuE5~ z`13^GPAKxi^xF2_f0((wC^SK1XY#T?uq4jQ{up9Z!acBryzD**kYmP73sC1}$-kQ8 zWaQgtVrBn71`>j3$G#Au;(G<)qK%{J51mq~rMwbb=m1-WhoGH>E7Q%L82GDytkoEtqK z?b|tB-`C6KMI+=4oy-W${vCvW7%VbAj2_4)MtJCU!oAAj$Z4H1 zDmHql!E9%i@!>gvS1r}lcr2C?; z^Etu*cbp7uSPoF`oGT1A1SUdWbK#z^)FhE@Tq}bxiG;h_7uuK87kCG+cy5|lefN92 zx%ymqC+hrNB@Qs-7&-fPzS~$;XENYjrgjo5xy7u*Dw4gs`SlfC~ zw#?tOF#_^jl;O}Nr(OjC41*_pm-${h1jQ3^N0s6hg*!H~V6J z6r)lVqDA?BrB|_(gJ9!GczN@zvChe9~gCKl&)WE7PDocNz`~HODW-|Ys@3O zlTg@X?1xvqa`XY+rre5irGB-Cp^%TK0OV)qlKjUZ^y^2&H1B>2qFdnut$^12cYLSby)iWHyG!=BCuWfC*-#yMy>_UCZ}) z(_#y9iVwx})q4G;&?-GNfap!X^bi)0@7Kk@3Z<(i-43qkwOp=X& zNfQX7$m#Et@l6%MvfepEAJZdM6bHQi_b9m6f-&a873N+umJPOzskJh%Ac(No=H7fL&4F;vzUH!(V|v%4i_3)^^9YzpSYQyn zI9ked*_24`pT5`7OAZDF0c{ob>$Wd>hwnzjZ6Y){Ejo8(oh4F+Gh_24KCcnSgLww21EwuSDG3TR2ae>STO{$rX2s3}_>dunvJyQ!L+$k(|$MV%aP+ ztjMVlkwoG?H1&$&ir(|9|1T!yXZo-x^dM!UN9S0=9&E2-7CoWPD|g(8EZJN6$Av zPZUfh9A0TJ2b~X~el5!fR3#H-8LD+7AcWM6?TieH51pIt!&Jy~qQ9Uua0F2>ZC2+C zR|QovmmF4MdVYL5l~Hb@WtW?X8#;G%X2Hf>No2pm4;K-MD`Zn$K$bfIhUa?Z?OPOn z%9NsCnymuy`Hc}H)QK8N11SpE@HgOOcM!Km&bFM0`wZBeaG!U{z4QuJ`P41^zIleZ zrmbwsw8tUEUY|%N>*0!{YPS+yy(Pr++2p#PXBD`)Z-JD%4-1T?26DGwsCpLCJdTc@ zOL^K*&ko<=)mnECn1`%mTLu?%)g6A*zFW$oG}LVz(FK?Atyv1WkP#%(!%6Eli*oKK zoIgC&{RJsGUB9gB)XG$QY8C&tr!LUROi{MAI1b&{@IWc( zq+^^OYw403N&FPJ=hvl1U zrg%oEJ}5Jvb+K|~Xhf|0Pbbrcba!Pwi~|0*_u;eAhii81Lu>5WBz~Ef(ampVKH9-< zz8JOk4f_zX$0{y!mt2(IW^b)gI8(Wc+x2Yg87^9Xy;Z1RHQxClv>X(h9Rc$kN4Igx)W7#e_X{= zSykMhsp0@tm8s&fL96JFt9UZ2itbDmAMI1cqk~qlHm-t!#(i^ZM|Nv;?uo{9)-#)< zFl|}XdVBWBpw+I6t7Yt&D%Oqk!Iv9@zJq&s&?+8?t6=PzDjvuT&eUER_&hXd6%WQ$ zF!oFp4`!WRh3Obpo;^E9d4(bEqb%R#%NL&S-%vABnfL?f9SvzPI zkH%Fzm{rB2nJW5DboZcDJQi2MI5WL?Y`{Q<8Z7SZR|R-(pOaF!_l-m^OFqKO-c9zN z-U32)FD`DKik?qgi#I-A6JK0!7vd`L^V}to z46r^@KU%_NH4$HV`~EuZtXA&Rzdk=zqnI4`?ir-;i2^XbHJbg6deJ{1woR9DG5B&d-g2c(%a?y12AUX?hfTv2YPbUfYg8XCQXkZsEk`@5JU?N&E5W<7uhb@8Log zVnMRC{xaN*5T~z`#Nh_`W{eU*aGsbrr#kI87Vtr(dP#5Zxu{c|MQ@G%xGw3K{v;pcg)2Uihxyo(g3PF>Ze*G<;@lPkAKxjF07ad~i05E2m zr47(tdWHc>Y9o1=DRxo6(%T4lTYDaam&4Lj$mB4J3`PcNX%fa05y^SEoX0T<7mI}$ zW0{O15}zVhh-KxV8h$ChABDZ?n}nv3T0-W~#Q4)-rLZG}oL@=hDkO!8mdh07Ea3NYDv(r*no4fXTAO!?| zH`cu=Iu$t>ULA}hIV>3lxIj9e8jRjAC_TWN%=ZZj70k0-L3P21dTAraRHGo7PSBdt zV=^|uRcauF6TnNhQKc(PqJxvtF+9uO=|u3rL6D+?keE7TReWR8G>h(6b#1mr_GS=- z$#GIaP|9q(J!|NbJAG`hhsunnnmw|sY1k-s+-gX;an%I2xdsk6RN3W}9TS)3kn{5m zut>Sc?zln$UY~hC-xpTbl$NeMtR!zjDKK1HVbo-emMl`3JW%M+WbTIDArSyA3?GSF zAd0Pp<}jH-`PB+FK&7Ox0+?@Mf7KNr?_&8_9v1eG9^S&lG$JNA)QHL z8@b#o6D9!G&)O43Gkdi_WiXsI1A=jE6<>0Si2suOufZN(!k-$TSPm)(hOF_DxLK9g zE%nEn4>>LnmOkgO(kYKSYsPvyUOF|`WV9uONK&oa_pu`C#?MLNaih)4pOF2YfV z(9>DS;>`YSm|oQE$hu%$buf~ID&vEpN`cF{Mm$cqS8}@Se6$089g)xtsOq%ND=KZJ zV>vE>PbNMzia1J5iWaxdTh}0a*KIvC(KJVMk|w`Ym^Jer`aX$ zFRbsj>~EVh)#>ZFTKz`%mHsGekSIB!++TyGc5t`ybl_|UktmrER2;?tn}V_mQ@21t zNQQ)uNbUA=evbMlZkwif$>>d?L6~g-DrE6Sz#er8`Q3;07r8VDh?4@kTWye9MIGF z51X91oEnrK%Xfvy)Ozws<7Vb<(xvE&rV@T@--tTs#4YA(LQtx9 zz|oShlZho-8YEJvHKFtE{7kUU`~6gd0o08B7@rVtfl^IG4YUVEm#8L2BqF%Gn>nkd zrnZJtZh`*2ONDpL3w9=*D;VVM$$(+>fFC5(4N29JK2Mfj^jmz51yA!jN+SX~%MFE{ z`ZPYeoDjWK31V%K<7D@q;IAUK_3z@S`)xGPd@GEBdxMnyQ#W7!)M;kY3G)c#M3+&?euWGiq_6+_-*0*1;h4+&np$_X|ZN=tE# z(ijI}E2L~_P`a=DeKjLlNKd0$A0+kQmz{WMjn8DT*k-1boFT`<8k8O%3_nJwY@r)G-i0Y9C6eZ83X`q9D&0iUu3#Ff^kiBO+{B;g_vv!7}9Ha{D?6*^6te$Q<=udC|%V=$9n|f>X+E$+28FWqLVbKri#*S2bqNH;h5vX0U^~oMvF&3cB)1F$|8I*rQH*i?4$kRbxVN%n0y;-=}Zw30?uU#<>8hSqYkfrp8tg+|msm#TR~nyP~+5|JUyRaF?y2nS|T>*OEmUcLH)| z$%ct@_cF?S0!nP830Gdt$&ce;nepjhe&Bq>;_R{}7}f^9P4uk$19AxIN5;eI@KVpK zo6!kIeP7R~S0Sbl?h!#H8=nRM6*~J%2^0xo?FKmOGWPSi%9OmCOw+?Q$f>u!s(o5$pK3MV4!m~0I_LsxCdANZU^{6 zB<^1-)!9(@RE}11yGdlz1_C&egbccT?u~TJiJ(hXX%TQWok6#(?f5@kt>^tuK-cUw z3}o{~34j;k3WM)^-WGsU=tjVQB?#RUGxH|?6#A!mFvXy;LroaDN&xNQKmd@})cH(z zRV4Q%aWm`LA?yR(^*NmoWXp3R!s^VF%o#C5ei`He?up?#FY%C~kJm}O@l=*#{z#F! z;9xzj^)*=dyWYhXs7dOX$G3dr+N3YV?1 zUJNBie$hD=nM=+dDHlkeSOx}?K1+Fo@dGu_1d=U=>;3(NVAvEQ87BKX^;PoCrCR)l zpBz-q;^ynzAoZZk`^gd*1LTbC?{DOe<@3@;G}*qU}9D84MvNMT33{*m3%S^6* z>~88im8*}1mA%8%>0-TL-}tbKnU&&f56wyV{Wt@YFC6-uLMFEXi8E1h7KNv=AlNKQ<&s;6FYYex@tky*@uOVHxoLy>EeY==e-=&* z^6b=)@gBdBlpqs((kq?MG0uJy);ovtLdamkc7hi19XyP|i)0kAwj8Hn6e8!!H9-=V zjxXY&WZ@~O)jar`4cXD|pi;5QT!Hy((!4m1MDRug%Y}Z@kiBsoDhc z-TjhZi``RF(=iq{VT4hox@NS(L$AEmmJ~VqJ*BadoDiN>iwS-Q&o{fw4__H>V=kG< zA+l00p|?iJ-0v{e?NDnMg-9c?v3@>Kve|woA{Jw}w@7QoJ<0UHQpfpKaCfu{yr3yX zW#84&_qh;8!h*`FzC8ClGgsp7f^cH;mZa|KB@`jy*85;lwn(o}ZqP)U-Yv-@lbVECy@eIghG4^>9Q5{tAuN+HQoNsZtM zlE0{U%Ds+8sLHL%H};$!zF>1BZBAAX1CG=-Rm7#fmtK=29L(k%(My2sl`v}Ak$*Jd z9x;ExctzCrG9DiwTW6By2gTO0!)TAD|My_k!Y$+98Gtvx?Xa9PK#!3n=j=>XA~F!J zcmUtC0X!59Am;kSfo==X7#@xci#UY+IE$zTf?>-VX8D30zY(sA2(uoSr07vVWf0$owf zQdGVyh%e{)BLk#Wh`+GJPsAzXK8qJGDH52$R~9Gt^`59t+4d`1#)jlQ4DTzD1qMEi zdL#V}9PSK`$8t9lpbIs;iVe>zt59=MYHtXuC1Q}he61RoV1b*RURREoMaYloGbn88 z^N4RH^}dZT4DaA8X{#4?1_hT)6*H>*+P0mqfVI3tE1q3heqk`B<~OjB)Y21pH-*CD zQ1eijE4?zzC+DT_e{8TP8da`^x2H)dT84G>67im<_1hmd$LjGrxz8BlV+KhirH>RE zUbuPGbyMo^4g)vVc!&5hpFy8~`2Z__8>fau1<6cc0Esk_npAqfYiCA=DR-0b z5_X>;aH3>!kl&7N?dnB#tWGVaZdpws?{Y36i}`NwwXjRRLldKp7sy&lxFu6X&X0W8 zL)r4w>9APt3&~AES*jhqab1x65-=btqMqazejhIj5B1Z*iIlDvRcm$OTemD#_{rnrGe!dZdit2L&MV05$FkV^kgNTB|Je zhnb*=cI=zr7McT@X5e(C7{_8!8*rXnx!7SQ6Cn@4sZ;JgI0=*5fb`HQW_8@Zvr3X5 zeqCpROTZP4Ibos^;f$%!{{-3J*4DZ+JBT0^Z>{vd(9`COoFduMV z|844jix1ctCSx#u!|PE!&bP#u#TE4j&b0dfFq^zt2m-aNb&dZSc01L)1lKJ-R1CTa+; zBq&31=Y^USlBRT87~sRMu9}T$b@8PoxbZM$m60Z4nY0Y#*+^SI58D_$p2MX4!wX&+ z3K%%T{UL)h6Tuke+Zk2oby^Ac3rnKvzCmP(5w<&F9)`N#Ea{N0%pKURZgjHIG5AMw z(BPCnCd=j4w9cB7jwE4{I^O!^S!EkYZIt}z-a9Y73}kTs?J@3(_EdUV*ddkZNa_C= z&vK(mzl^9-FT;KR+%M6alw98}f&Ox7Iu?O$1BfYhMJMKIw^*xkd5u2heJQcg?@gCHnwXovn*h3hH< z&jCxxwE#8BAD2iAiZ@xfAt*|bF_wd-U_88y_1>l3s^(IF;X@Ei+%8R<*4jS-q0|#a zF(uMbwAqiB*f@I77N4LU_9z?(ARX{ZCsW;-)>E@`>Lbr@nh_J%Dr{1qTYS33q27*3 zUzhXP&e9o)5>UFm5iA-?5^~Oz-prBD;GGQ_MafX2!Wp&OONfj`SXZkl(ByprM!=qp zqI4C(AQz#@u**yPz$L^V--kcK<`%hCi#7_8I)%HQ^>mMbm__cP^Xlr#!qu3(gwe1S z_Zq%F7~w0Nb0u%Xp0adU%MWCi#RfZB(`_2{A97f%*Nxs1lnrIo{&nlC)+?AV#^k!OBTw)YT!&eo%Cv&1i`0fghtl34%T|+C^(xp2( zEfjGrwoIf8Pt}rTQ0N!dp`>D>Z(h=ECINAY8WzNxv_rd~`LCI!8NMZ1*9YapIuOJg zT-={=@-Sx=zOzR){x&LL%QCrJxqs+>;4@zdt8c`rLETs8b_|!o30v&A`e4kN0`AmG zkF#W^xIhce-N@qEp9aX6v_Df;y&7AN4eDLE&jj55YV$999Sga+=svCkjzO)1*`E`x zwk~b{O1q~zs^k=ff2rP@b{_?33K;@xi7B?y)ez}nj!7tS^Lh0d+Pu%vM#mdm7T7EHk_gH%SEX}7xHG#Z?muM{@7$=G;mj+asqkv-!o%cO85y8+@my|Z^5 zz2*L}q$?<3`#6_EbJM{`YzBS=#maZrG;fLSe}lA^AAZH(;o4F7vFOEOk@_RmJ$Vha4t06-BYo}o+Vt5MbO1+%l{c3?1NQX`f2+) zTuHury19!T8#Mg_x1@x(cwl5VX0XIvgLNro{CsiLp}z_0LnlWB)TTT&@G!&|fSgC2kRTeXv~iBn++&KEjLrg%!3F*&p(G>4A}f z)w-JH(V^P=IHoPzLawYqxhg|4FBV4;XU{REk*c2NjOx{?cruPC-SW*08NuXkFZz@@aA~op)w~jOjK$u!Oxx zp9rS0Nx9$)(!aeoR z4vH5B6-P23i#vk7k2G?M0;L#|l4{UXw#|SQ@8LX0hI*q!EXg&RNHOipz(PndR8BK1 z&Ryb>mS`1ZY{Y3?uJ!QoKoUE>IpWed;zea(=qSExi7)0kA=~Q2&wtdq4iIp)6`+hI zlXfDtw>N@!bG=>_)=7TxE|@C5g^mmlMxgGKMHf8Z@AzO({F@PL76s!D2}WENjGCej z0#vafbBr4rdU-JFkYFD@KsRUurs`XRU48)Z2TGNb=>O`7ce{fgRLD+96T6(q3*-R> zJ>Xd5fk6FqdDIkA(wY;okNPMJSDER*vcuNOJ4;rpIN~G*A+3fGpa{v6opzomXeYK? zThb74m~4VK@nEICsi`J^36ww!{cc!?1YGORAT)}g2y=H5q4#pHg3x2r!Ni*2zh+rC z69hMe?xPzG_uTO0M}^e3HwmdZK^hroF?4`J@8`fTMGfQK;I}8;3m)dJG({Qi*2XJ! zT!oz#ZY!+L484>zszmPen|&w;v_z2$?pFF$?0yDoVoEl4sa=(4n6>HN=NJZBpDQ@M zGe>ahB_aQ>D6#1Ol~wURik~k?A@(8R-iij)D?V=9oUxPomjU{$|5Q(OHKV}v(684Y zun}f}b}LJ3wDW32V1Kjq`sM!xg>=}fL&Z74-D zaESR8ov@$|(K$K1UGEcSWvt~E@<5>#bZ@KH{7>6j7~Gm)>^7D{l@-mvhN`7*)SX{U z0A(rVqLAyZI&z)*ma5(ujCOD3m=B9Wflv+L)PeRK0?o(XpUG@i(4lC*N694;=64QN zW&}#w!LM1}ySj%jP(H|Ka(k45LKXlyHgpmampYN>Z#u*DM^r4M0@6`^xJBl64#COWG2TQn2*O|6%z)=Q84jO) zXlcs50WBr*FC){nVyryf$q&CPZa}%K@s!@fZ6q63PdXCK528dxjl$0piPkbhjmG~qU@>sh2 zU-ehGXT?$MAW5Q@AN8;0Kcx;ZE?;JFzs(iVQ^HC#6yG5ioHV{#!Q=`7S0WIxChMg+@;!*#G>u1R zFa{S)^R*f2RYYi6s$fb{eJK=xif%r)+gBt?l3HFLk`c*kOV%K68m0+j*UHAICFeFY zZ;D&qje#azSEVNB4H9QbCdlrI2Zz;`l6-@MFYS*L_lJrE8#}zE*t%NAG-@&zQP5B5 zzKX`sTx!J7_|;;V0E_2tY++@feetOACN7*XZ&$T|@_q175_0xxAAB9ei@pCkAj1#C zalb%Iq=o!-7IG1;ogAb`PB|@S@j`mi;T~M7PSPP!;?$X_KaU3g506=+GllD2NQ&n( zdbddQj5su=y>5#%#MJ^DjA@f#`y=#-;z-1uBF7hoI5$?fA7Yx;0)z}~fgg4qFsf2K zj>D666p$Rp;;lL>tl?29p4o7S?t2%SilqP*Jx?oKRga{R+Fh+0PPWqugjK7Q-cW}(O!#XDEc_m7j1kt zUSNoVR1lXG@3TBs_436$rXPGG+nW^n((H`}(IRO{%3psX=EtK?G#Y<|m*J|}Lf$3Q zraWGjGylCj??{Znd>*lqphpGil7Pd*7j~sqvz**0*0}rEyl$`Ub&sJ!sKkUm%<^|j zDvIQvbu4TxX^XW@eUkotE7*%CGMOO*jiI}E_iA0p-?g$M7=?7GL7{Mzu&OtHY-{Yh z;af0etU{LvO_3JyT(7AHss%V5c!^cxuf=sUt(R7@G(GqrBN&rP-54O^ z&XyDK^Yk%TfM+mKg$r1-FS9!Xh3_RnBCUu5w*{fG(0$P)CJ@6$Ebq+gd@={(#-?#l z2c9O7Y^@7*Y4|i6Swn#S2>0|w@^SngzVB7hH5&CQw@~Y8ngu}$f97iKxbvmJ2;Z@F z#PV(7dKs@*@q7_$C$=ME?FJ|ITXzMm z4ovmtzR8|<1Yl=SoW6?L z3-ly*O@oM6sJ2RQ?I3-uDM0sydYw!VZVduMuSR5rX>`ialv~5YrLZiE&U05?K>vkv z{Q`r!k@1macXA0zq7y(YKL^eIV%h9A!Z)B<{B$rZH43npV!qoGI`?H}w%E;!j27;% z39}iZ)=?kPaxe8)3!!0`&0QUm)1@vX8I%;`@6%lQ@zRF5XPMi`{(6hnQkawk4 z_2;uEg`eX|y=q3I7X&Aw^TB+9CT(L-I3Xw@>R}QE$UQ@myzo_VFZ|vb{rpWpcuToCPjAmsE*(=FPAve)mc#V%8 zN_6dK$?yW-{%7j!bG-F&Ldlz_JN%mR&>*_-(?A5jHS#%h)k-Cu7nUuT8yw%WCP-6L zK!$-Nn}_)8{7?ACYXcnS^A6>ClRZz$;oKB^tb3!G-n)PQAT>3poE)I3-tSPk&rxxO ze^nBfPc}qjJrn0JbsGJr{VH;o>LT+?;;;_LgjteNu&xdc)y!`354=PqV7lW?O65vA z=^rp$88={5cR)D|<_Q^Sb4PS(Dyp^b@yWh8jb{Wm5`*(Jl>je%wv*vCAl@7-s66t$ zdNiw7A{kpzkDDsm`-S>ap0n``Mz*rN!vn#+VJ*06isOjedNQjmubthNdOS*g%-1^t zfn+|Zfli%&()q_tZ%)r{Ynz@k?UWgn;DI&?VQ=OtWPtir>EQKW;V2(J*N@K2ukYhoc4M18`9I8a;BYh^0djv zf3jif(Z}og^wz}<&5a9n+1@t2ZN}``f~g+yJ3T#nMs|Bm0J#^IP1fYBxh>Pv4GX5v zZEsX1=Qb{0*wQ+)p=tJl#^#3kek><9Oqw=rQhmt+06~} z8t2VxSzx`H-`bJ}3MxOnt*vE-4b^ao$vNftlc$|>(#c03W!0VD*xGW`>;*@+wzjnD zLHeB5M&@-!duyvEe8xGAGtO;b#v10g0`)e{L~~;k5Td2{qG9IjrnVf~ZfyW83mFn$ z%xql5Bx|6}ZS&QcX-701Gr8^~laD_+XXdQd#>N;%laD+4xD%M|wjGX3{hL-v1oU>=zY&0~tG&i@;ohw9+n>gk8 zqmDkt_a%MsL120_eNFd6bA!*x^`AQWsD{&yX!z8$6HY$*NI@y}%UByuIOdp>js|H@0&nZHzcIk)oZT=VeC&g8ZH+c%GbT5u z8=DxAhZXZY^=N^6#>uVijYrM}2mKpi-$_SLJD|_qfqm{i(&z4@eeMqGbN8`6cL(>m z`>#HChxEDocuqTrqV8pYFgQX0nwEL98~jv7BRleh<32U@=(-#&o0Bs01b)v3mQ>T0 zZlh+F`&@8WxDZilO<0B~HMh_E$lMmDadz|E+0C|MLD-M*IDRtih@%>&odDW49C`HQ zsn9LJ4xwN*%sA)VhFQ~N%xaz9+B$tP2sfPtcqA(~-FQrE%e<4)tzb#^&hV)dPMUo3 z&#JiI$L})leeatDL_|SB zK|!rrWK%0vt0<@_LLdn)1tUvsudKWZm5akf=d;(THM#V@720ntF5?e z)wTt9C{B@_qcV=lx^H$-(U zlyS{I)l~7#lZQ=)bnIPw@UU^CYxfyeJz~Ex;|{GIJ!Z6)pna)lo%SAa(B9~t)ZvpS zH9<*BtBggrl1dzBgxbr6RYyVGchbxzBZ&w?pMf3SUW}gHJRJ|wy&NN_O5t^-jznjw zom@ZNj5$!m(91I*=@@oL*Bn$kdc=Oiq+%=m4l@a5s+%<#!?o_nvm4PM^QJMcOufy9 zK443tULY)tqXg(-xOQ&c%!bBbz9>7y)Ge3-ajkDEQaB@^o}Am~pyUSm~qc zXVsTzROm?zPQnw+0^|xMc1&F@RkvvF@s0apaIy7w(3s&hx+B*On>*bN5!0yVX3m@+ z95iVG^RZP|RIAc5=$BYh|XE)VPpItY#&y*RH<`xN0-Sm;OOX_C+q`9K_ zv%(D@bFj!*R)5oKC!+*Mg4DiZg;W_6qPq65F$e8Eazub4L3TV1J!$IHqM+13-K@rW zqHAGMNdv(SK-cvVXK`rq=x{8g%vO)6sDVqOt767Ck{wufBF?b?j-;8=FwM98<_?-WShtkecL#Cg^{N3) zfiYIpKxU_5{F>Tu)NH9qXDZH^)HFl4Ck6Xa$vdRQ>IdD={lMyOYe!nKuJ zPUoV=IOOT>=;c0DG*9g`q(tFh8PrXK4K!~CM$AkB9n{=3FF0ty$k|i(CgI_SjvjW< z$bD*2Nu-Zt$b7vPfi`|*@FNH8i?lRo1J%Ri@rJ@$T3;9psh)#|c{4B+HZ~nYqt;^> zh6#rOU91IA*0$T54n?aPc4ubJJEeWth;d`ct%ul@SznDDnJJN|`WcgEPOGhh4Js|$ zREL-GjiZ}qjhVI&dR(Sbb7E=B6dW`BGjiyQS>uO<;YV9hrJr%aVxM3WOQEem5XeXV9?FOM~ zq6*hj8ED}8*)Ty+)A);_OLXOkQPowoRr?Pcrw#LL{Du5eGmUQ?Kd%ASXz55f46U*E z$m%LH@f$vJJaeS&F}(qkoTDbqEt)$`qkbns17;d9(J6+0*}UmxaO6?a>wJ-P!<~ra zBrSI$C>Y7Xqq7Jq8`vyPBxx%7W1ozCq7leYE&F{fn_$r3UHjO90x8-UQbI*f)XdzZ zsCx!eV6M>u%WON0sSHo1?SkuQ_(6$MKYeoPlxzDI!RaIUo_CeK&MKW!s z_E2yRFYWAxk7?i;GvTS;*yMF5v5`zp`wy$ypX#uosrD$?p0zSh)P4ekF?!7K5y3oh zb3hWN&znKhTCAXXe49IkniKUudtQ}wFX(Z=j6>o?scM*2hvD;}NkP<@=mK?pl5%a z;fsi6$QUN4V`zq33*#>c?;}1r>BX6Wh`G~fPL$vcmRqrPz081GPG#>ErCcDteNxLfa6^-A8gML zW{+yXJjQmZY`8D(%u?&t#zKv0JJ6p4+ait|vEPV8Dz*Pb%ukLV(`pAzYo04+7x<_X z8)tX}i=rnj$bMb}jek0-YUgA0pF3B)Y0xy#iFI`_M$BBie!*~#_aYju#izlpYLaO& zx=!spxD@F-^y&@zrk*Y_am@G;a9q{FsROQ<68!=V01>w(+k4pP14oQQben-rQ!-ry z9Y>qQnEE%(Yn%k7MPq%E5JnT4YDX^F^fj~S1DcK6YGopL>KfTMN}Q^+ia=mW)zPyi z!y`M}*gdr~;BsQb)H=+PYi(zxhfUl;&g*7fZW2Q)0`q7o80*)#LC~^O>tK+B938NY z&8XBV4H*2aDyW}61AaBiKm4O&>dk;jUyo6pX{4kgm>dhB1Se6;uqNn2@TW`g5Y!$t ztm;5&lVZoh@DY{cMzHq`58%!~Zqk21ym;0|$Ceu~;EEW|5!vV$zkQq7x$EYlqs^;@ znro_?c{I^rO43D8yLZjVQPm?yOY4>DP7L~@Iz2Ihaq1Jt z=^ra%o{T2#`16c)Q&~NZTug)gKe++c`B8(+Q&gdyUCgF;-{-?Q7sa^u_(hk}N>p29 zW-J*FZ+u`}&~;O5G5MX>FkX9XC+WxJfNG+Tp20~OkDfIc9fVa@Rf)w6tYz#oW^`3G z41XEH=ayCk2kzQg^-WlOfWJzX3aBMViBZn!HVifbMEeb!J+(@7MLiUOo(&Eo!TKh# zSG2tlG&N7=jAUK_zfPZh2K}nfpdmXB*>PZ>{`X&E}*7!AWzc%-CbWuDkT#Wv4#hj-Z=h zhDX`cMEegLwQuc+@$jsn4YV&qW?eEw*JFe+>nB=-FcpK>ogNNRBh+8uol8=p;Pe{Q zLG)tS`QE&_)ajn=u&PCPC;n)mPO zWCAs8Z+NXt@70zW`y{8v+VCSqI|{pkjUFSO7MpGyrlMm;4;w{?jb3uFSy(&XV9J8Q zzT-x~wQ8rUqqyV)>k8F|oa(CKrP1TiIPj0DX??@AX;d(jQy9O~VM*2w+k2l8!-wv@ z6CA$38d6(3aNte@2kty*(7r5fuNX>6Y(J~o zf8@SwCef}kdSg0=;bMNBo(Y(G)b^w9X_>_Z6Q#t{8$bn$FHbvUw3CsV#cwloH4!uI z2dd0kZv^x<+zhoNp`EpLXxph4))Jg9^VyQ7$@i`uJ#rL;boM^YqB)8cJ*dP5TCvJR%*g7P!%)pxPZ{07E+tN~Vepbs zT&Ic-_j@bcTVlFs{~a_0`o_q^Mu3;h^+z|gSt$0B+Vwwr8fvjFMgxJZ=%KhuHeQu% zmSHBxViF8DZbcex(wYGVs`_9UW^dE6ByFTf+_2iWi0JuNvc)j9Mjk2#BQ!h4w91*y z@QU$$$Y8x*$yL|&^e86ssY^)%)!4x9LnQN6#%DY&pRvQLOR} z#^@$iocysqyFTnxjc_gF0hd5+y^IA~Gugcn==<1@;??JD@yyjvt49w2SK8ky#;x{0 z+P0@bKMOk@CduE)K8ZQa4Fonr!$U!Ow4EQ7Y;!OngMNJd{J|yRA%0kVhFky*;DUm> zoyTPxyw;PRUXjBK=h5rY8Ne0o3{57JNH1?ak|Sxm9#*$fJ7NLmqfkm*c4Q%7Uc)G= zn+FS{h*Nr{izm{+&a{f%q5>-_+srZ*`(ym@aBc?SRFG>CrsHR=%(|PLsR6We6Q*{? zg8~lec|o4VYuUA!tX~kK#2PVWV*^34R<@BIL+94#3e0Yuzz!oX{P0w`l_j9 z^!jx)mnUcd*1|B6#R*^^1t&PY3(hN!$r5W1Q7Gl~=1Fs>Vxq!6?^O*A)RGar{iO@p zU*sjk$Uhi6R;FN2inV^-Y6pA(vWlx`EU+<5ca{Y)nX$5PZX_^PBIZw+3}aG;NV9VZ zWoevbW^bCvSh2V)!CIQ67@ujH7YRj?T6P03DYKSJ#|hN-EH0rzPG)hMUP6q?pta$j zqeBD%-48@-bKKHiq>?TNd@*sbNRAjiWALia`BL0g7B8}?5n2hVeVFm3>J~9}mF$;- z7n_qnZM=FZtp`VjcNzWB@AO1v*l?Je;`bA{nfZ^M#ytb@6+sHk9Cm!;IL<^Fc`tx!7kK1t#nA4Av$>myD;=0{8ZDX1r0N~ zqlrCT_7CAXkbyw~lpP#(L493gQDdS{aJ$f?NmKuCP{8#W+OX`MeZ}%2* zjkB?pENFyULfhdDtAWi60_-3Z%Xj{?nZb;OYG`u(^m%o&(IYqm4d7SfCPwfxQ2q`I=E1)-r@0iF${PM(-rD!}!&>GklD} zfEie27=TS>@GT608|26Vh@07fLiDG??B6uCJqXr*r#8$TFd5m-Wa`OB4;ZrJ;2j4J zm<|(u0IJOxasBDt7&HJ)?*TpSzT=c&Ky%aF0rj(|%xs>jDIpCh2~nzWZs{4o1zGK- z>sW$fEVxQ)ciE{woc7HN`cI$T3}zs59m{zNxl@5- z_PqY6qS;x9tA1G!aN!$IS%nuo{FzJhich`mmTzLW8E__Th*_Zf3*OAyGv36)#3~J5 zr%z$nxG?dmJ=BwC;M`bx;LchBa!-$>Bsbd4^gQ*0iV@SB3~(8R9DQ z8g)asCe+|H;rD?1M1mqJ)oRPB;o)j3sZ@i?>JXvTIyu6U{P6WBAFH-JG^|yJGWl2} zUlJm;L?=gBlGif1e9%_YDawDG+Hz<(K@B~$a9mIk{Nq2lo}jWg^g@fnv%*ftEq?5l zk3)-a7BVPX6^^rEW|O4|@L5~GkY|O_K+OuCnuQ>_*45;YuuAQ56#kqN{xuA%41#?m zt%vDX6?8|%cK+Ln?WD(muO4Hv8ui!kc~j-jhi??qDWXxWy6=VpPnwB8GiS&1 z7PTlzFu~>+BzL+gD!}uk=9oa2Iw9f!AvD=;%bA#q!i^3!Q3Lk83 zYtfK&kL1%D{jP#tKz5gxA{6qa=%g5dlj1XDgwBjt#JcuY#H~31T63#&8n8NdUk-@( z3-qY1T1=Y=(LanA;(-ckJ1+|61)HaR`VHJM{b92fHRt9q8q}gb3BQ!* zz3NR>itD)Hf>HwM9Lae2|3WbSW|&fH#pfRF^WWcXztHG%#L1SEuF>d1~%{G%vz0CSNBAf1NxIA-{8xBgS?rY9oliMw>%}Y~CAPqxVp} zN$mnG^;sfm$rX;5Ra9kv4?l|WSc5X)u{QT1AD1OJ=NZa>iihN!e0>O81m7eN@`Yo9 zKFz^agZs6peAjeNa7@q(??4L!Pl`8T6@3;jWu*%V3Yr(caoI89;C{yiTlGcFZoEln zNO00OgM0?T@iCUDrK&Tuh=(KmfM)A&^qUG2D5|6rYPZw%k?1mmf(N+MT2(;)yHB7D zRakZes2njxYn&+y5Lj@u4lEAO;0SX@xGcm~SuJW=h*7!*qx7{LaiE{B4Id%kk??T? zcpPs4JRZKNQ@j|iWBC1WafHX>=v1oz@G2*o7EG<0htOy_5Gb3rS#3*B) zsDR2Z+FVrM=9}Yv^F8E!?~_7#o)n%FqUKhGH|p@K;hXy9&F~*#(wruPdgS8A$#H?SLm5NN5{uO?xvp>%JZ~vDNQQrUCG@p9lq6EM3o!a&)q!1rZ`ByNcF5#wfb&Q6=6b~fEC0TTMEWfYd3F$YvI8VIAGqY?I8 z_=>63SHhKXTPrS0GY;h%_bjd4XLTBMgIB^+Xd#>uEiwIK32l~Y*esw`Z2dYmzQn3Too4@C%q^&6`e2WOi*HTQvvP~K&oz=2!a$! z=a_7DtS#CvP_$pvp!#Yi0t-EC;<`@Z1drnhK^%q=DkMxu!S*ft1f4iYZgcbou_Fu` zL}O=CT|5UhR#%52tx`|Pi2g+GnOr<4Zc)$VS`)xqlgsg)P+(mSQwiZOlCO05tK|AT z!q?|-!trs$-;}>GMfjhE3(D|#w(Rw?{IW+DVuWc?_m!Vh5spnCHbAUE&aTL<%Y}!jb-9mn@v*RezDkfY4XK;*59FaN9>`yoO8ANN-4x-+zyk2^D}SzB zz|WPxRSxif$`@BKT*8hPDKL?|@2YB3R@J5$g=*EsYF!x~>&nh9C-Cg@Q!2t*jNh=W zB3b0QOejC z(c@AlpT%FsB5YsA55c5Gr97k_!wV|qG4-K_e5gL79jner?@0y4viDVbQo)JX-C&Mb zrFj1BIrJq^^uHT+&EAdqYybh?YwWEl1V}+Klhb-;*L}v;7p=>PE_PMD$8i z2}zK1EyThn>#2Y{r2_7ZKUD0ASzc$PFt1rwf{XG**e@mHZKlj4`NGNFwH!RYE&RT$ zND~SpKlLYHjF8;tI>Q#|I|KK|OtI-W{JAoGDufI?7k(suh*fAf#NU!z%gOHA+-te$ z*g(CO`$tYKduCyx{=vy;rMf!#W0GqMjt#a_f5a>$FRz1osT-1;Ic2#yxm%k0X{wgP z)So#sJq$C`b@`|{Q0wyFFnDfywRDnG%9crsFGGuila*yH61>0cg)-)ScDe4Ux0Sz8 zj#Mv{zk<8FAs`=>f6MT<<=>ab#}-=D_vL3)hLztBMdDtyw49;xXDaY`rs7Rh4Uqm-@qR^E>2iW%7QsvIJzk!i86k1L3miUSnD#zF zL$_yH;~*Vj!XOdEv5VeDs-h&E4_y4O#_6ik-I>8!OWd(@Hb@+$J^A#^cV7yuw#{nhusBh?~2T6Hq z>pf6q0ZQUSP?EF_f)4>g7^hZAYzEa}RFeg%K;`DZd~H#fIOLl0e4`T4udKGtrg2zp z_@J*%7=V_jItx&NuYouwBzw7btwbZK8w&Rn*jR`vj@<)&aF5CumV@B%MaDLtfDAgM zz?U|$7^NA9(YYPsXu5!M(>|mO%mV!x!iJ$xsmHvR_=QBA|ou8!| z#E?;+UYZ~12q7|TZC4)J+NH#Sc(_J9+(VSviW$W{s^3It?B&VgJRa|*e?^<47+>=7 zdfC@7*V-jNL6e{0k)OZ{D&>SGq!e?lE#}&yVy<1JlW??;WBqQ`JD<)9U~JLPVgZ;u z?pmccwRHbuF_ayU9QRSO3(}|5Tqd{7vo~F#*5HElJo9mn2K`0DqZ(nnLk(dN~cf%L|u_ zg>!k~Hg-~Vf8kkzpDnyb)%9B8ZHZl4)+z&TYuN)d_#Y^HhQshPc#yqk%HAkr+BeEh z5rcVo`6cqaqo89+l01mS{N@v1uVRm zcKW?sx2VLr#T(i)@CKbjm2f_s%g4FV`P#91esmeb7sqeL8xCy>hIZ@LbBkWR^rJ<6 zs{X4$>%Zz!8ZDRR9;7ev=HyP=C@I?@ zp8uOX|CWChb1^UDUO?)FzK9;IwLELh>p3Y*I8g!cfom0j7p(%;WK!NkJmGn!E&6$c zPGA>2Av%qohV!C}_*kBtM_=oC$yJuO?3~Om~seG8qd*rM%C!V(>g9w*2e) z*JUZ;bx2BF_@N~zNE#+6Vg>2$2=9luqB@AuNX%_IfY{#&Ul7WRX}zZs-WwxjF!U&l1g(oCrua|twWGW*GTnFdh6}K~v(<`F51r{ic*92jb|V1}>Qw}uIu8jh zOQDp03#If`+D^(pKuNWm_S~{d%8=}mvQ=emli4-|r^%orHNRK`WgB+?MS>BT%T8ZL z-$jJ1j&F}G?BV!z`wo#!|6tN~Vx@TDUzWwK19fv1!$A+Zr5BoX8_@7Hzod(EV{MK4 z+`1AXS9zHB^&Ivx7hUx&S&e=*{sm|~Ql4ibccH}`q<5I$jx_ti^db}N zEqsLOwIT1cUNe)U3b%r?j|#f$vQ9@=3ga@ z$fu3>^6Bs!0=@|^*S=s)1%Ew?NK$Q+z%M6Bs%?@YAAWL$V`F=$x$Sq18oQ{SXW@0$ zl_B3B3%}sg!8@nWsNNK74%s|9$!wR(FUzEiQ{1$caXeVjW zQ6?Q{FcgFmGByk{OMNm9ZUw_5LhvpN27126QsMkfpCjeK)574f8Abyv80`P8p6)l&m)UD(S zfLqmC0@kXB4d7w*1OZQ|R}A14g`$n40soz;HEC5ZjOJ+F&Gu6tZki*StxIQGwZ;Uk zaM&=&+~l{agGYl!I1cm3a5~|W@xmbUh|i71`-S1=3y%zBY{yqMa~qb$qX*eSU{>tl z(MS>DaRv{!1kdpC96Z`z@cu8uJHf|u@aO;xelTK_6Ah*c#!v&@0V|8$B?{A}CZ<1G zroEe7?r?X4-0k#he4e?{3}h;H_?r+vDGAdqNGwGa+<-Y&pBDI<9_nEy@Rqnt;B{@Z z`I{78(=Ziqv&Vp)3h@z!19k9pK&Jnn2l;H1rQHEr+Wp+_9`xMqmk@eM_bYwqmEEr= z^!o0%`p{du-%aS<-5>IxGT?Ze&`oeKbY-BD)bhtdpom)UN)SL{GS$Su82~a0(>8Xa ziLYz?Ez06xu*C=2cHzRTjZwiR-J+ebcHQkOKAHJZCX0S$aq7fPGC#L%=D@!?!*3{N z_K|k+-!V`WE^wVw=vTa{i{TXx^m`j9@ZWcZ6Z{dS_!C%{&;LtPLH9dmCtDfleh$vg zkMIu$58dxXhnMr<96^A$#XFiF@S1%*2akRwcza}c$NP8=9t{<|+6=F&kLTbf-(xbo z3LnqG*KAwY{eAi}p%X~ZsH|6+ihIg=!=iu03!+bx>@GkK296Z`Z@HRBE zjrwc#@f_Ub`^yaPAty&@4+m$xK-dQvyiR3t4@XaVaJDbxU~EQjwZjA74o-UfC0$18 z7FIz&jNSdN(u1~!1bJTR~A)^3#7@d)N z6t?rB0^5g!@k0&0oS2qH!626&Zer=x!*?M3U{oB8i-Rmr670tZO++c`rCw2!U0vKk z;IgXTFXLV=PRh6+%DCTwDC2>XSVj~w$uPD>>H`mE88N9&EgaDF_l632N7R8P*o(Lo zE*N0lq3j1(`a#kjFz*4&HRhmxSjG%ek77|oVSN#0>x*C&C5sQ_!`0OpeqF6~aeJe* zMQhs0!!Aw)W@psZ&O=dGL-!GRNNxPay4W^YRP44u6x#udN++YSjZ(o7KN5NRK~8l8 zkG~(q<>a=bxU8n6%ThjAUmKwtZPZ658`Kp2OhiTboE|HpbYQ=9;5O`{a8h@3X*NKb z4Z4^#acU#F(11Z_SsyCg-j+Q2+46Mk@-)bG&R|7Zrt6C+co7?9Olr9*^GeVrvi!#) zD}F3eSC;=bdB)5-Rj?UqW3yjDw0^aRREgSSA_5ban)$?1?sKZbR-$VR;2OB509YG7 z<4LKdT|~E9ZT4$8dw)&3n8@uh1A!Sr7onv{Pq#0AMTy3$&4e%}7NWR1xj9>}==eZQ zoQ|DCTw>6_w!l1Xi*1Xc*oMyE&ra6q|64MoLUSb_yLJ*yRSuzR zoR7N3xblUG!g?{*or;1Oglq!`Y{}vv1|dHdgODH0Ykn;VyBIOSP~F5!cLH|(aJtbJ zCuyB<5t<)(_Kmpay&Zf`en1m{g(fseTbdC2Zhi2F7!dh(5UPk!r4eMmSsdqbLGqoe zw1_!$p@!mLl%q>8yi>_yNx|y`vS{8-?{H&Dg94WrKnqQf)r2A)rR$@csTHpTTwd|> zPFivX4G zQX9QRw#olDE`^BGHZ&3rHGLh-*SqK*N!9Xn!tzx0*o-=xZ=3bX;SI`LjERiW4y=j& zs#t4nVo*DXL5)K;s2#FYUBPVE9kk}$uSyRpz`)N#%9yMIllYNFjbm~nXqb(dyly(cm6@!U<7`aV28lD&4PN0&z0)nT)t zcbvbX?5cHk(Er=)3IEcbzeS;cD|rCKJP`g9JXqiYfcHQh0MZtKBV9yutfo0uXpU8T z3NnU|?3Zl$iVmn?U-ZKRX5-K7W|V#Y`P>7@q09_L&OaX{JGeBPgNMzxLmO?!vow1h zN-3Xt9Ky#fWgT1}VgsxUCwX-3f*3yka8;~`z3~D3djQX(oPo{G44e@n?;7<|_%(x? zJ+~Z~?Bz0-_TCOlp~HtG$Khk~Hg-JJ`oTxz?E>t7#ey`9-}aL3APWh@hwI09)c3(h z$@@`9gA~&;Bpo#w$~o!I8RofK4eLKjb=i;mouF1x>A;VD>9 z1g_JRa-mS0YGW;?8}Ep~jt4+W4j7{$B!eKSpr;BEc0#|fid}Dah|f#dACAZS@IuE; zSn>OaiDVF9k_dc8_O9ovqUo^4Oi%V_x} zN?J!x0hda3PFg3+Tj!0E*7@=_dbEY{O<>Lf^rT03wB6aaSfzZv&#J7%@r6XPe`*TYsp*;6sCoV(lcHmfBD&RTM5C73 z#^WKy$KOP`y(xS|D_r$R^eRuay^7UwjrC^yPXhiKzh?mN#cwMB-c}cKyK{95p4af) z+cmit4B&;_^$7siV`rbnxH)-%fCrLC4B(LjN5dxIXxMY+K-zQplc0UnN$HXl@FnSa zsigdo@_B{&CA8x&N1#hd$;P&*Mx3mw!eX%$3gJhh4-^0&XqExEFn0rnP;9UhmH~Jn z2ZpLFLjXLN2PajQ6EnCZd%kEJh@0P*s%xOE0ZFeg+P}LTQq(xfbRKJ z$anE7B`>cg|4R5mEIV{IxHRGm84ni5H$d-y8e?N!m3j(C`DElt-!O=qi4BwvH^GfO z->+yP`IBU1w_)eqra!pvKi<+kT+`*SqE(lN@7O5jz${BaFL14v*^{I}RAB&y*~mwf?(x{8ZjT&G29 zFD7onlK86l(U>o7V;9<3ydY&-`x3Jcf<7W}F1V$n_TsmUnE;+mKYdm4|-ffan6bGvLX^M4oV732RxYIWOQQ$!PCdK9(12sVfqr0i+{=4rgSQh zGiY4(oG}xkH4_@K238{u+*Lw9+{Mt#;p=z^i=d*Xy21J>ELUI-mCQ(J&*`*GvNtlRTF`HXsajwpN%!P?pYhIbh;a z988LXc`sTb|-yVav{p>j*2u*DdAeN>7K;qps9bE#zA>kuoc z8GJiX+wKreO?q4ww*E`4>)rPRw9*JcwjjzbBJX?JS)Tpq`5N|%~cwM z%@v1pRnx*r0t>@e8v+R_hUpC^D54sq-AoW%Fs%(Ttu$3O)^_45;!<^~l2t@9;KiYM zj51x;kMUE9E!J)->=Czc_S-_a3ksh}dXOjZIWLIqLCF{_Bw!DX6<=9<@PpFELDJ_G zwl%%ivVr4@GS?g$E`N)#s?~PKz!18ECjutmM8K0~f_#5`BaN?{3lHKF0kx#;in2D^ z(<6!3BC2E6c362)^;eJ@jGQaN&uA!p7T!i`8WY zaG3%FRrqr=Zwdg$&D=2!W2>-)r2;^hlIe`&BssuUKxH^d9sB1Hf6tHait%_d{++_( z^umP&Jl-z+7Y`&%KQc+WQ7snzlCG!fuvyE+TpsyH&qa7#svabJEjWFG$MeZ4wCX<2 zp9@>g4iOYCm=2Cc*TS;X7OhZCJec0~61oR2f$KYNgq?IxBxkxWRrm1}_j4qp9oS+$ z2ouS@j*ys2TVZ^;C&EdQN<1FmS>(URZ!zYr_}?)?OOxf;N{ZeAHry26krPO=lOuUG z_gJW_!|TJIi_+EG4_&=|&(*=Q#bCE@I<%+uJ>&4{#nFr6FMKh2CFx2J`e(lx-LLePQdEa&6>*X!cz;~*l?Hu zN^(c5oM&1MKIfzfjI+DTT_(Gmpe^Bg5&L9_sYU8zb9R6>IV11i+r|!dEHt|{qj#ed zV=s7O{A8T18mX6ArFQ*C#%^6hH#%C}$$dYr*TCbS(NdgB`+6Z7;%V4PUoS*q(nk&E zrc#M6xS3_y#%~6e7wLwSI!HEjRYh5noj@RGp?XG;1vjuvE;BU5M%cvB*gGqQdJ2x3 zEU2xC4DCOE<(>7eqwc-SFNg*YD%w+NkRv=q{QM*gXri-KC?CpMnP%4$?z&hrT2 z>`!vU{yLz7oq)5`A2Q>i_}Lze z*W@BcYCkGMUTbu@)$-0iFqsjy%NapF}@1qGTb>rh?#=I!Ux3||B};3 zG9TIyy-@sKJ7CxO4g=$5XD?C%e~tIYxwVytA21s_L@kXj;Ry6p^bb6Ax}v|yJC4UV zIX;j}S>g&P!-@@%y6+hL88bDSTcM^lBN}=LhfFYtfKFcZ?$jiWee zauu@)NI$Ii_G8U0A9zvwZoBX&y$XHh*xSS5=d$Nesy(%}4qGs-KETu=s#N76Nj7Jg ztm$qxlI2PG&&Fa2qVG><-U7})mnF*1@Xsf$u27reb{_7`zYmKJq+J@_X~;re8^gX= zjbl~Fk&REBj{5md}}1OR-gRvK^Z%G@7mEB`Tf zrE$()ncNE}qq;YdJgU(>MY|;pmoX=D@aHhMJe>%Yc0KlPo7aahdg)h`$Nwe6F4aL5 z90tx0dzibxagP&WVlyRg$ zy`bKp$q$E%h11UfmGB#b1_6MFwI~P!+>b?0woi#Ou{a2AWo7J0kp?fEJ1!Wyg)H%f z$-%A_xOKgI4;V5~L^dfZA&6DFi9s4hO5oXr4W&@GM^H))_YqB04@LLTSb8J=7arWc zP?{Qv!{nEa4;cHZ+YT|Npa=YaNAJf!1O0S$HjdzQ zlsXESR+|E{VX=eBmMDN#t|b;SVu2V?`~Gw>vGeAC;np2tqD8TI9Ykf(I))1S1})c) z1Yw`7h4!F%9;REG?v_gqmob9^6DE^fM^=RE^@JSW^m15`9C4wREEVj4?zqF1?(|r? z+QzV-usi0Cp@_1s)pdW(hW8yDctE`gB4Xp?8{fuPpq9^NwQK3h}4^)$ko_*sSDiQ z!D&$J!)@9quEjRRwZW{o4x)?eg09*f#AdYkEX#oG20qG~Lg`;k1TI?RC>SRvJIs^Of>2wD-0$0> zHrX0Uw%ZX&P(MD;ELO7DZG6zq8URKHoWZ5=%+iyn2^?8Xz~+-$>~A=eroy%{^*Ak~`*RQbmJw4WD_jO>6SZLzOpR|juc}mw>HnPo|L@muBD}d!-JaYC7n#no z$z_QX3hH<2Rhha)h@>+!$-8L1!EkdF@oMZ6po#Lf`drD*BNmE34jai$j*S{I{oaW_ z;H33~2=^Aym2pvWBQB}J%U#L+;z7JWS&j=@;oIOZnRur>Z580=PEEE1u06l0g=#NB zNpj;Bz^2JKInr_EYZHvXHbS&Xe*LJBm}3kLCoyK2RM31SmA{2w`6sjTpH5zdml9=@ z+hfAyYR3>xaH&tCPgqH}Cx3w(S^WhUvq_CmB$=d?JeFRwwk3I99AjC?u99&O^e}Ad zazWh%eF(dtN?<8?&Bvt(X}k&2RAgRZr~HqjVAaYBfZT^1rgzv{!|Hr_m$Xyb;|^Ua z&1d?FX>h}KF$%85bMauHQdC&mSbP}P9oZfDOHOl0n?Sj30?($}^kjVu9y;g@7u&63QLuXZ z1V z#ML)k2>B82z60R2vUByCqB^(i8Un5<`?6ePd|7@L9eZb0e5~D5*9rUw}f18S&Q=33Wx9}TonC@%Wi*)Bs%~kyDDTS#Na&8KaWUH z)LYM8QPy1rWh?|BFAd^qDw*o)L?rUv@J?|(exg2-)u!7Df8l9t^_Rl)a!JiwxUz%c z`^#S~=kslp70)0dU7?C*G}PBmTi=I$QSRCt_cUIcyMs$D%mR<5JYxIKLVLz{Xb{gBtEe4l>LJtg0#OA10{N#Pt09_QfV z3{?E(g+CU6`^UodxIP7Gzbadfo1E~ny!=w!(xfgezgLIfF8?=f>`~`cT!Ne1%($DC zBk6vl4#0}!?yqz(T6XX*@jP6uw+pBJr=q9h!8K%APF<0|EDuE27CLp(;%WmkVctDm zjmvsga+F&cUBg>t9?U(OL+FCSRV>6M6}YwzhB1a<5gSbff7jQvcSd(oMn6$^i1gfn zOGFX8jV)V+mTg~lC@~

    ;_F9Mj@|L-ccLRmY^uvr)NP7{b`!$^wp7{Z4G}D>a6$Tpq9mPbXfufYD=wHc>-{Up?nHyq87L)U z&o22y^elQ~kfaV#?_o=OTLn;<; zjGiKJWK)<)qYY-0MhBrPD0BD*!H1CZ^7I9hkwJh-TLQtr|GL51PG75&1!dlx1-Yxo zL*}g53(BlIL!QV6%z}rLnMZAtIQzN;BGraJ$x8-P1;a56z05_(T6GOg!dk5HUz}|N zuqletz|~%*6IH3RV$M{m;1AYzfNt>YVOklebEVkxYxIi> zXtSsdL@j+2EsGiYD#oTaJTF!Eu<$P@*T~M5JMxdPw6~^jr;NS5a32+0F=2#~UXJ$0 zke4SSY*&Z$sCTfmf_pGuPF}&30xzq0y)s|!!6nqdcoIg0gdZq8hFa4`zOkSDOp<+X zvb;N!ed|UH*p0`cn;&~8*Ui^LcUW`&+2{=p=Wj%BMKV|UG%6euGzMFweYeKNd(r7J zg2$TRDs{iI=`P5%=FGdFJxe&=aj+5AtT&dgHyjC@htv5RFZw0LiTIan!-bTJXCn9AmFFi z+vQBP*TJ=YTvX2gpSn4`D((KViL96Fp-@9B!V5xdu51c6Z^@L`L)@2mGHS-goUYEI zaY_G{1wEX5j5j1o@1&-KN~ls-=I@a{^M3xLd@?tXy$s)$XuoU4F1Qvt0?Lq`mAy&i z!g20oL7Nm=&pIi@_M0c7ulOmZui|gx_-Hifw_Le96pg7Tyw|X`4pndQYcPkZoAZCp z%T4&fjKW#M7CT{hs4$ZBc~CRNjqx?A6F)9sJcC71 z)jG<|zKWv8>L^&H{3Qd|PtcDlA?Qby5;1Qqq#QT-+60K<1v9`*Gk? zzp}pL9YO~?MIb#Xg{jBL+c_5>BaZ!fC_el^4SfaFq(jm z1+6i@sx{GV-0gfD{nHcRrpCxyqrTx)gtm6qL#kTsCNwaaT*DpH)!5|qmN||1R`ekO zAA+c!Zhk_KST#Ii@(~&5Udl+f;dHFp?JzXdVUovKlLziBj-H@X;0c`-;F8r?$qMjK zqA&Ozn=f=eMqB#1Bz|p-V-ezIXD-quz!iodD`BBJPN+)w6WlL~G3GnaWmxOQ(GO_K zDi~(e;=&b1L895y2Te3QI$F@yIQ)&Gd4U?dJ4SQhyCVq3pK+Y~fHg)W{#7sIC=_Wk_Pazw-9(dZdIo&i~D*!IzJ zc%JArK>sTre+9Z0Cw*PUjjm`iQvMMBAd`4`qKH56LsVb|vv6LT;a7w(e1>=xg>h6w zo+G=yI3vRpe`2|*IN*b7X+e=HNIXuG)|J-*B)OY+Ow#!);s9;}p@gSY8QcYhwpi^{ zEOwjSZpys@M-eZ`!unxELrXtuu-$mbqj?6_Xhts^wz7kT`w>RUFf-&(Wid*I!T%aU zb{MqbAw|O=%HH1ztz6l2G&)%e?l8sU+3;_8Fptv2sE;`5?h?vy2)}6SZc6m>qU({5&u0`_qMkhYAJj5F!iJ z5k#Is^Cbr3YZjE9MOMpgBZ?1(l?8N>g%=O74Wt1A_=FX}9JU%_UkE^F7*NiDBKE4= zoPd;39pcUor6Hw8~`O=fY1&;;|yc zH3s^VglK$91^@GxobM8Kj~1q?`<`fsiTEZg^zJFVo(WDc?C@vsX*mt&l#8S;DN{de ztFJ}LK9G`q0G9=Vr^mu6_{GtUyINdgE(}6S4SlH|yJ zO(7GpDdbA7Azj5!(D1Ybei)kk?78-}5{r6#o*bVX^LYUh;Mp#I(t4`g&B8SHo$2g5 z)0+2o)3fO%KRhKrJS9IgeS7>t?um{EvGE|XIWk&W7PPJ4R%zTSjZ0@Pq*p8m_L7J+E`x zThj%ptNk$T^f+xX*uL#)wWIiA;5o5jt1U6k_jIg@U1%{%Y|m#5acg_pa2wk*cC8|| z=OVQF^ZMxXAL0u!cGLDOO^lk3laEXeFu&-E!2u&TJos@Pw>?*e9X^QkK4vc+M!q&) z6L%Du?P6;L4NcFDEoYJKX@MQKJy(VuI_SiLbqJA#>IfojPhVnSduBo0L=vRdnAsMi zo)>hMXBLmH9;PoEdFh;klSNyelMN_mKoE~0dDECDW|Ok{+%XN+WvxUAg58b5gzgn5 z`Bs5J+De?8HX?IwT1YV}8m_|7a2*QlZfRgLnS=RZ!!>3OrqG|0qh01^yT3R$EoxEE zQt2KBd3Ovt7-U>{sG%q$b5Kh2Nc5{Y^L2N!6l{usJRIhDknYqQIwFS%)T9^F@y>K+ zxb1NroXDLW{-MLj;540YIEC%R{$bh6`iIYP$7W_{hJAmUTP`X6p+ksz3w}GTiY@pS zYR+_6VdT;x#Xk${+v;r?-C^ybA_TN0nmSA#G1UQaOfVTUen-6Vs49QSUgyXYvMqjp z`R=s%{nIZ@%&+{eFx{b-bOjrcbp;D)(-meK8m=p#-<@J$4HR5q%tE+Ndx9$8H9l^E zSe9Y(n&ZLs2#C7H?^=lMCnKm|S`D)F2-+nm^Gl9^9F6)vh<{@Nn`lLsk$5zQ zqo^Ch4|~zG~F)>v&xgy2N$iYxHux7PcB!WNUOimqo6J zS3od)B0iO2&{)HS3cAd7Ar_&lv9m&`0MM#;*CMVM(^2WJQ!Ak z&$kJEbg=92wNk|1#+xYM6~zWiM8CtGlhXgzh5se|zdC#1w?tU!VMyH@f5nSx!Tf=1{o|o1xxH~ zGctHwqJ$)d$KvP=u9%&H%u$hOB~7%rP^f7^uL1f}ipElnP91?W%`mq0!dX_U0o^u1 zKz;(+Tx#J$^B0hXzvp@yQgT$l3R=dPzJ+)rU5qnj3#}9y2BpHrTl58F)&}3+S}awM zRJI9Nc%})x<__SadK3)_wvyKU*pZ8zfm0u_XGVy8G`aLXKS1myD?4Q$nA+Pf@}6c5vL8jMAn5 zXEF|WhdT^wC;EIz`aGw@D%ct1cRr1>ej44@HE>&>ZS=y~;e~`>7`~_hMI=gyRI8n_ zwE-8|kVv&90xf_A0>Yob^*SP7*zEiwPkf>%jfM#nrH}h+7mDKG{2CKPBus91?0WkX z?2K8ZHaaky7j&XWy+pbWD5`j4WvJ9f7gbQw>U>qQ8R5~5z_c9+!3mmOejZ*|6u0XW z^oc(apID~Lcw*UQWdK}Ob|Fv8pcXDHzq}Iwmv_361Od2lqenMFE!dw&uMd<~pR=*+ zU7cMn$;UD|uw?>Jn)_~8_22E>ayYEd)!5?ylY+TX8&qw{ z3`a@+Vg06pt<5)T)YgO3WzQ^>@71Wm&%qhNz&Px-dMTaX-F(^*(PT8Bn1A%`rg*B%|Zm!39Xn6%TT z5ETpUsTcnTna1iv(;3Qjh6(pKHy~sHIc9{SSqz2Cnyb}@{iXjQ+*y6T-QHM ztodA*A4G5VgZNyRAH;1!-`lihI8+DSdp`b9BX@d6gc#S2uO=J}#>wBD+2{L> zaXW*J5Wg{|66-_7DDkSH;rzxJ(r~|;quh1dIcYL<3tx8AKJA(hT{qdmSQi~Z$IzMD zT)K1Up_!XF5NBdpAQ2usKu4K^m}XSyXJFw@b@tY#kg!ch#9*5u)neek(SE>juMcNA0^(7l)rYyIx~|GWYHK$AP`9V)2XKP|Wzrrwig0v=ED6t@p=nM3SzK3U9Npt3%?d>%u#&wrg zH|GO}`f$^nHr(5zCyiP{?@ZjOpq@H_(lI1HHgC_@JNU01u4hFjg+pMfB(4{}}zh z@H;Yq=TmUI-(=DiipZs<&tko-{PkHB;l#yd33iu7XF8iYjCMD9v?@a z~}oAK6> zU5Y~|u%w3(+a_+1iNiR^xZ<2q7av7m(O3Ny=!+MvJ**mFeM=Yhw;Id3sJSB(eqdJ; znnh>~C{p8~&hd^@mFr6LI;Y@m#us`Vw&$1Lh;;y;HayFuSc>EMqJhZ~J)bYiH)%ca zJrs@C#kbb-jh~e(u4A~GrHk{b);fbOKTjT6%>RDTHi;DJ65*$a&MC4bEm`G z3iG`i!$(6rUWi_fpmp=WNlFL_4Su@B!m+nqI{mGNP{J@=Dn(&f%|&6D#x~;s89`?h z1vP6Ad#v$RK)LAiRGb3iu*y2}5hefuD^&LG+M+m|%ni?GUpzayl~OX6)?C{9tYj0E zdd(f&c+Folc+M#-diXuZ+z#l9W9dg~1Fs^S+gj598SEZxeLpM=XVK!&O?NXn;=(qt z=moXAH~G{Z&68XE?$g>)mj<&77uy3JqsPV6T^EOf)Xq};yI$zBV&R56R8r5`d zd>;U!vy->a*Q8Z&0XOAipBj|lqvn;Rj+34a#h)ud3T%YTmC(1=hYEq{V`#X!652Qn zqjU!Y?}Tf)ceOZSb@q;Xdw+TYg|C=;l;k!{I-VzI;4|O7U1s%UYT%E5NOkPO`v(BQGYzA6lunwZ+m_B>2f$>Uoe3JYH4h^q{ z|HgwE;#9AT7k>=CHfcREUQCDWwu+BBeyaE1;qQLdsa{(WDgl@qmOX3Zq4q4O!@ii0 zI(Dj;oObL~ZR6SKuO^O);)E2PjsZ7BhaTtjEv``Eox*XOe=I_i&2RQ zuooOFDu79oPL9TwnCotdqqu7KVHIAnA5=47vB zBuH*#i=3Dw81*2ZUznI}i?+x)bie!JDExF2;cby?7Zu%irisY9FSf`Tn72jFC2zAu z&czgMku%VeUeRj6MO)+?0ofwQlekCJ=@l|;k#mvKCFmkG&Pgw(<6YvYj&6EW$1eVP z8{`b1rbAffybfVO9qtfEb!6Kc`RoXuc22(LYSXn9x5pW%*&esaIa&s@?QsYvmDg%$ zJJ(A1Q6-1Qk63>yKdK~Ea71Kb0Rwry42QU zPnfkmcY>_%vp4liKxc z=AAS;nsPBR_aExqPc{+QD5Z0s=P>=-j=_M9$Sy{$xE{4 z3JoyV9OE+;xIPxsA>mp5C%lN$sf(i9_0}eJJFY|mU>QDuxq~RL|6~e z7{Fj&TWDrpTZrAlPMa`J-!!RR_ksTs>s*fJ&s&FBjn9~LY}tbA5H=TY9m0YFw1$hv z*-#So06%9P!jaTk#}`$$pdSvCEu74Zfmoazt-@?qy&9dsywr4Q_GaDj*LPy-&$=OtW{HTK^zD}0?8dEg;A@EgHD zo&&oD3(hC=;FFo~$z1qkHheN4KA91p%!yBCg{STzLGp%?Srz;Wcdq?AK2zaw0Y6-B zZ-Dkt^ygT91??pmdQAulWvXkMLfPCP9oR1&xJ_>!n8p^*vFdAlIg%Pfz&hjP?3J1U z^Fg(fw7#`WWwDzhug&K`+079YZ!T#stK!egRQmwDockXE|I0}pMsK!DevHnFU8Ap1c$F8mLb;z9rR!y~@mxx2i-8T6KIsK( zA-P^~VsUT+1v^aMFsWgba#%8-VA9*JDIv+H4xwN-{uavYzHHJkzog57`VEV|uywlQ z;Fda|5^aYgE0t9UR87!<3H93Z6C}M|iWDhQUNME8fI|#)O9Zhy$Oh%B>S4N@iQSB` zaKM{j8G`tHyba1_4PiRm#CFk?t4)xK0#$Q_306c{x#2Id5Cu(GrD7fz(i3MJA*iCL zETkA!Z1?t~(lVE!6h(4Go&(R)Z|2Jn`yu1~M#CN&Jx1rQV?DI35V@6n{gD{PR!a79 zWa6l~kBWOoO?{9w-Pgc-ZQsR{VjSVz_fk}MqxNaG<)EDID~?AjfR%xz432Sd6y2D;}ajz z$M8}3kntcqMEf1L+{XX)u4PJYa%pf|@kD%C`F!4$qkqZgE)u7ns?;icT%8ZjO3XUY z_IKMXaWJVCx4^aHjvxUgc^Ad+E}a!!3?mLPX)gn>GGnVIp#LTfE|KgGUd6kiZV&&$ z6~VuRSJ70xD#8~rE7g<#kF_s>)4BTof0jF+d1lNop)AQBD*Ku!#8*->GmK`K1?}56 z`xeGdc0!bW-%|FJ>CL#%+ZQjPwTVpeoV+JkGp06hFf3h?e>G zgGSUiH$5y(2hZk)raNV`&RZ2@tG;jGSi+#c$H1?c@P-DK{pff`(1xo;`{NwBLh%FK zaN{y*z7|R=J$v{l6aIpPdjmFH*{v?9*M;xp zR_{y`KcAZ(>UHo`Z$w@vT@TtrAQX&pfsvUWtxK&SR8d=CYyhwWRYV*rd0a6lQWfiB zWAWax{{0V8V*d9i^2v0d(-Vkgh8J`=`rBB}q&eO9TQ`Eonl6Fn0)m4WItbD#@ZYM^(R*V_RPZN2OFb^wJ><{gNg?8L^qGB_^E zF0yMc{$1pKkNxbI-cxXpRN(n{G;3TsXSO?>cSLIv=*l&as+DG`$G0j6;CSV?zIDi? zw#4ZX9y>7X09kIAeakk+R2V~wI&;SGaO#Yn#ULX%YKeRVMTtYn$K8cN`|)=8llBt+ zO!ZFXPN)UmV{}g8xf4wLg~83y@3LlBxf6;-blaEqlI)ZFNUYtw>o+3tam;|A43c5GLw;Pu>5fTL7Mb*YE0Nxk7c zE*sde7u)6@tVS0aP`6TB{1G?_8>(n|ujcV~=s2Ne{$(y47rdDh!pG>MMlm;lY0*Dz zsvTGDLf~kB`}&mA;|awx9<1aS?CQ!Y=?w%-m9*J7a5gp$UTj`(AlAg=nJ@mVCv1cq zSlQvl4h9pF;e_xhjn&u?h}w^V#*SegX|X}m((#a~g8?Tz$>M;{%bpGf1fYM}BxE=s zN;V8SzutzXG}Y#YrLzbIi_PW&`EA(&2QUX%2Dh03)?JOL!uezEHBdNTvSi6#(v`6#r0=xECxA*guy1XLn^p!zfgQ9 zx6!cH$dcVwbnvXEFd_omAQOI-rPaVTG_cr;46we~N{8DjDnUE1jb*i!jC67Wber7i z9mq=*bssR=3G54;+UosL+9k{!JEW4^oC(E0@6O3A!zr(u9+EqFnm_0}@O9QnvoLhN zldI=g6pIK9Hh6rjNmjtt z-tEwLpoLMcM;q$yU~hadl#Mm_xS_$>;$nbyrJF4f?^oF(NrrLpw2>L>-%z6iG8D@+ zj>r_s1@b^|%cATdkXoZH;-ZRh;x(3cii1}mVB<}H00f0%$MZQS~;9~{bTyBX|&;BE#RbJK1Ho2g@7 zi40X8<q%M}{WZWvJ;;W|P4V2+Ck%Zj!-f8Y;tyF%*S8oXAkhk>L*$fSSiT20b{G z*<`Q-f-=~cn`E$=hRC1=K$#49LVNL8EJnl{+ssh6jVmBY_%1ulY{nSISEz9@v-;Sz zwqkRk>*6GLIK9q|AJ`}Hx_1({(@*jWYaoPmYnwF?!|+T!D8_5nW*ICjYh3mutP>3D z1e-Mw!aBib4a6{oH#igUN2E^B-3MfS%gJ>qbRe(x!Jozc_wgm#N!D8AkhH;2-0?g| z>}CEfGys0Zoz|%F{8^hFG8KG0Ql+E?0f%LFk9E+A8;e&$qO-D!&Qecwa=e}TM0PgV zIo=gs2fqSmB%F}rxX;}QIfv2T37LUwfSeFs2IPbs!Mj~f$T58p^)~Fov2h}(^}Qn< z?i^4T@$|3VMdlbHhYErr`GRrKc_tdg76A)%ToIOyP@XtDRTXzTLSc{R5{fS9IlGLc z3qlFl2(DJQQiX8gwl)`Xz{`4X4tRye22Mkq99QH#Vv~QLoRAr$CdhT!H&fXMFGy+o zNo^m(xH$$bFyRYV_|g))IdxbtLIqc-VC874P$|)BNCsz+!bSkxEri6S+2u^mEe;^Z z%VKPDN%$k=SQ*EUAHDTsSZ_Ldkev#CKP@UhyBZZ2M}J%q`j`1X6iZU(Q=$6PZ{n08 zZJD4hkqgU*lQcS&ptcK;TY)=BeMcE;9&z9o4Zzky42WjAq_Sq8ssfbq7qMnv6(40W zemS}kswbE~nj2ivCv4HcEooh9%zKVLctJZF?eI$f$nyHZCr;*ik*PHd-&FMY_0V3&IB~JJ#*lf^Z>rxFCo* zHB?L+3=z{ohKlK+vn2>I?V#+kK+JGK5Hnm5#5@!#rVWOO=^#VJbkH}8X$R#XX1E}T z87>H77BrpI?KF(?IG`u8Yp~F58c!6~ne^U07P^Cuwb4$Y+d;Qy3xYPo1wqVkL8$)` zR%Ih7K7Kjf8Qt`+oo^5D_XB+;uxAU<7u$s59#iW(++H5jC zsb4mRd}9!Wn#5v^Lsteodya9|V#+!JaR^wAvs2KUu#R*>@`LFa<{4JM6|nJCJdAsf zWh0bl7S4F#Sm7q`uQ*4OrF(TN&f$a4vg!m6DAHO-#Oxtw7=mxFHl8Wq!~8YFAO;}T zt0GLV$8WD-z3X)u0XtC17Jq>p0%D--Yp>=;};kBo6Zdzr|E0YQ`t z)KeulhDj-0Wfv?6?ipqgNC;L^a}2@$7za;6Z@?}gcH8(KRMF0*dD7Q~0e!R!)C6t} z8JeFpdyw{VGeDBc-yXuXpK9vyR4zx8Hegc~=e-TyK+(ZEQndRiI2716hZ$?8uPKz; z1M4H&6lE0aGlxQUpvA~L?Jsu~r|V#^uWKgH0q!?cSiNjb%Ln7)C8fDt^9J7G|#gf2$hqL|)FEU#@3|5oB@5Od@$;1$or=rNB%!Rx z+!)Q_H(M~>+(3{G1D=)<$L>dN!a#L*8JZH*g&WrE%LPqv1*yh?AegTEaXY&5Jc;To zpP)=H91LlPMRf^D)7p!FLtHQ@kNQ}Cy>9)i_a1Ag6V?*^5(cp`BfxKUbpm8%$1FJG zJck`16$b-pI8qd5FT=x``FmpmGYqZ-TbL&VL{GfYjsaspn;rV=n`H;^ldTC-5xfYi zX>*iMl+I}GMCSW=?nGo{?Vlw4ps;dKSh-`S0aIZJy??SDYWX?`l!ZHV6Vc)0WM=RZ zK}}($JEY|xYPoyS!tbpf)6LV%IqRot_drOGK4{r}@HsIaZ$5v@I?LLOwAwig?(o&c z?1YzgZsr9F*c)cV8SjwX&1QQyP9CbsyoXlTFOPYFv>-muNx}Z^WG-95+5y3WwK3+) zq5aXpAGm6G1Pc~B&)f+`1R@L=fpoEs=LTWCMVn9#cIdoqFhX)30-}z%Lq#ibP8Os> zZ#EU$=&XhlT2M`RFLRbESPa@NR!IO`u|c9Jg|FbVR8%qOjYI%+UlJq{MOD&6jbe?@ z7GyrD;&Z(nAj@Kymxd!n<7k{+hY`BSZ9J5&#fK$}r($BY_$0D|B(j?dK@>V$5Z9d) zUUkNiTSRFeR0^t4v(~H)5rJ0?))bN(L?LyvC1jrv3gSb7I~2?4ZV)mu%|T9@e5WZo zn%fOH%t=Lz2n-J<9vE#WC0i1pcRDPVWQ$_Ei9~C2D2j9mACWDTRG0o&YS4GJdWX^b@qSyiQ*;y)zjWJy8<6!3pk<-)@krSUL?O=NmJ|u!uH^``kli>y^r-n_mPE!rm)D1U?0_b21 zr5msf^2;rBsdhlHrP>%%0Kt6{U)XuIKT|-vHZBiqfwVjuqdd_NFFKDY2Z$F8;l1R(JkYPy zoAZtq+RfJW=q2RKiKhjXp7z!T^!j2BH!rjG>4gTta3SoHfFrOt*%aEiS9j z#v$?<46P4s;T8*f>A;%o#N$l9G!58BjdgFo+yv!`_Ajodo3hMh{tb^cFjj4wtgt^& zie_w}+e2FF7^p@6to;qNC*%eJmG?F(PC~3N9SR_11a;l}F2{rqeOu^!$_+VYdu3aPuqZA6qBVo( zE5|xPc&%0wLbStlE6 z4|eo0Ra}f7uUd4Vw?ij*JN2cvZ-02laQ~lPDP$Duk`t3(-tv`zA`;W!OUrQfD`?hM zp+?$+Pj8eXj$ij4Z9{LHWO$RGrT5wAMQee5hPbT0PbCQ2rEGoSu*;7RjM%hS3?|!M z(B@qw1Kr~+K}dquAs1yAPd80jOvDQ`d{_%rU8fTSophQR3f9O(6?+FYdB?pn=L7ch@jV zx28CO{3sNQec;^9Vq?WV$P;+W5D`?NU}PwW-5m~b1ZLRf^xkvJMk-IFMyp6}oXPoT zop6MbV#7N4`5%_1Xq0<^c+)dh&TZIM;+kJ zhbihTPGd{+&LLG-lAY1AJDXmgNzP`HNUOD-7DkuPaFd*bn6!Y}z(g=4=|qBSZ?4hR zl}IzxtY*_VG-2$R=3B{jyAqDSvlov$=nNoaL&R6uvZB6JT znyh8SWYr1$*O9-1O;dpnct1XhouU1+MmS^@aRR1db(CE7&hX90%ihw&afW@0LsQ7= z@9FBfbCxRml<|>~tNIwe4#q0x#FYs=#yu5N+TR^DsC0Ln@#)TueCW~#vbl`MQ_X

    wGRSOqDUh+HQ2LdEL^88UEd3S>xt3^SSBOy7q*!StbTuRN4Z=IrkRw&u(0-tY&L zJ8q}&BHTLQl*}&H>AzS%%y#!+5FRB;)j|5%C0krq?5eB;RqLX$*6jpwIw49DqGZvc z%p%har>?qUHDIg;yaS@;Qz&Yt4vet38a36)U@Ss-+&$)G6-rNspK&CY?{~LBJEhnS zC*uPech!#PApRR}14UNROyqK!>`a?O)aD8POsF>@SrQ2JFv*rNBd}#7IC;cU3AS@e zqj2HcVE&za=~zA^+DNjP)C z_~pd7%hzOZ;ty zCaQbh;gP*}bg~!`gxVZ>aZ@JiWZ%!sIoT9-5A4zm^{!@=Vi;vOJvH(h-&)7Tyu#`W zOBnCyC|V+U^4nnkm0tAt2fVXze+Bxy>K&(6Nsw7PM1$68(1MHs{C>M0E zK6s(fZ6~P)J^g*q`}M>#R`GboYOL4a39W1=r?E+BmXmx8)@2tIcQZR0k;-l$$V~-D z8kMJ0VDY_m7vFp5Vh^&^B2Q-**rHXQ&YocCQtx`NJ6vbY{Ixn6+fjL{LY%6PbDViX zSBEG10O*qmbmjo383tp!qRRdHV$POE9-m0ZpY-<9xwr3%ddZ*lx|0xZPExhna#YOe zXO%Rk5|pPl(yl#|s+j3rs71g9s^+q)rR+hLMlUmys%6o5mMRs`QoW6}EA@7s>H6v_ zH9gPIaZWFjQ+gWbN)=|jDm#ROz!04(?5~C1Ar=wVX(k86>1bS$m4+*_Bpo28=eb10 zr92CGjv9ysF+=&F#L&D;xl9Vg(!5*q0kJjT-}yA+?|cX1fH)9$g6nvoI1vX~bpy;v zQkRS}4}^@ZY#Gt&7JAX1vH#L1G6HcrdMsb+8mnalVtSrmiTIVGrbE<06a@G|`5;*< zNcJ-Y$f|YbnUItY+VVp0RgN}Sy&?k;r=y4E0b-bz0f^~& z-Y4RH6bsVIX8+}w>vK+hz}3kaxH|cozW`!lJ5a;N%a*8&Z}Zj4R>Pok%|Blud_G?I z$}#-S=ta>8UljdqbdKTQMjy_D@WXjF#P}x+%Tya;j>Y6icr4~(3DvZR`o zXJQQCDNquewRt~+)oXRK%^dA^P}HTFX+v#1Ya zzmC1TH$Gm z^E-x$eZcg2Iy=_3_S&O7Wx#Tz8o}w}0c&t1oKt}jQE=XlIswNq3`y@Q=`VPHABz;u zr%}t;&F#;#I0nw?n1OlWumsV^1?NE7qqox0Tj}VnbadPZ&*-gmbbjd${kbH-9Rlg7 zWDo>r?I}n)IDN+Q{49EzE>Bi4z``*N#FCEp4^pbypW z3efNBDnB(Ih&mMoNRmlZ-$$QyEt%RWi0ewGicAHoe8iP2^(WK7&Hdc&mI&sDxu5v3 zI)zrZI1>(X(HiXkjDqtgG9ze7$9_Q5l?>`mXgXMasDkN2n%d?)Oh;1VWems>W;9GK z&7=m>Q_K@akEkJh1WyvtLkH`mZO7nB7oDQ=a5IOh*cAFrNoPAwe+}Lt-YGOomSF2V zaVxw#2%ZUC;x%hJCjMHroucbv_0o1!mqp%~34ipTq;QAOBn882vO1vbz-3V%MHxSt z*mXcl=CR&!ni5xR%T1>VHr@My*WU-0(TqIr3uu1qMmif~H?vW1 zj@_|lE`rO7K)MyW*3s6Rj+s2@h3c$1)n&~|4h6UCho&~jJ6vki zaJ=3Ca4B9&W)>1b=R!K<5MJ6mUkQ6o~{!;^?*XU_4}Jyrbu`&{o-dVUS>X{@$7Z zYCfxhXS)IDHr*JX)4lVl*ZJQ4IT*y6bqG@!lGr4rDv&emJ8*6d&cJ|eYqEt`c%mkN zC#G~%xAlP|S3XPxx%p64u5Wyx2-xBEqy78q>P98sC>%UbU-D;t>~P|=r%W}BOsvw@ z6$hUe`N?Z;?8SW24yX-T@O{Sy3)!i=aJ8fT6&|otcjHk^NFxyO97XVWu-1-50~HN; zyUhwDwG0l+>zX#lzt)LYHC}lhfwYe-!@CRRY$FpkwBb` zT*y&sVPG3>{!`nc_L;kG_eK54Ve7}}=^Q_&$4u9^9tBp`*Gbr08nOxE65#=q+yfX1 z@kLT6ih@0AZQ zjJ~AtBM|M8;aqnc?xkq&XKK+hL^OeqTB{=wzB=;rNP$0(grpge^cuth{k7;TG_sW}5@87D<4h+XrGu3Qs zBQ8dT=X2{PjKuJqihdo&%G8h)r)El<3o^HYe5;@^tJL9jE5Z{-v*rnp<_VAHIU{P;A8*iek?ll;^Nxp{%>g7 zd~Thx;CvSSJG)6R3H;nm=K?b`v|T^)Wwq?0Q8-13gC2c7#d>iKWTgKMzY822u{wf1 zhP$grACb}7j(Zc9u2R&Jontj-wP`vZC>#ALev*FaiHGqKj9bb3I7>*fIlAb1244x#QF>k zU2`^nT@rFQkNQSd>meep#E!?G{kB=Q0`(O38OjV5Qm&J+`9MV%9l>PzbSH<81H5KC zMIDVef!%)UM8r9o?CX(N-L=`Vt=pZr{QewyhZv$a)LTdo7U|xoV^KKb7?Xt`y6|IB zr=wzkpQH>%*ys*4caC@9(J%0;Hy1ab!gUgOC*n_?(zM9;&2^#O#G)IAbWy0AP8w)b<7}57= zQByP3$cV*Y0ncLc!dDQNsqKn8&g<`w9%-Bxv0>RuZ1gKSHarp=6w;sDI&{VF8|d%J z^x&y>>`xenJ1_}oc7ZPR<1#hj8Us-*bX1mL$UYRqbR1T$Y&uC^aZHJ*@-qE6L#5lA6_mYTQ1*h2*+(?Sm%}tg zIrKqyT|qw zzlr|7$MSXYNbEc9@d4e)KvRX_0$-Ys9Dxbhw?s9zOtSZyY>2g zM$9NT@aC~r>Vo$Rqqwi}OVQ|86w0UkU*e7O#^aA4`zN38&IbXX~){+vcu@P?zR|jJ9rKsZC^s2M|7JS z%RxLQWrM+EQVs?LIP>Iy&M7Dd0|IK=n(ZX?0M`_r?Mb^1to4Lo(xpD4D1NyQCxE( z3bl$yN3k}z&D5oBz6;!KaRDE1^=O{uTR6j6ADSCwaPHxk|Y(3 z&+DPj|6?U6Y4?eko*bU-jiW|gkJvV5}X?^L4SqTJL*2y9*z98LpDXTt z(7=7%v-jvaDq|gE;IGhsX*iI1|W>i5X28ew*oX^z>Lw^p^* zuz|19%u!N{EwF24vjaldwX)ecC6`Ukis)o2) zaXflkPno#&&8aQV4L z8*{tP+}n{$$#^OF+qvDXeKHYX&aAtg=*b|x6tRx^TW4)x{@#!Lh!QChvMUq#8p(9M-anGCzzc95!)4 zF50+ZT5A44LnCSMEEnGXK;htGr9d+ihHG5|2{v8Xez)*)Z=mq|)FXa~>iF%)!W_h{ zKNg1Dm|fx|1bJcs*M3ahvSn1BBDW-^`Xu5=#I4Gpj$n1QTqjT6;{X0Af%+lhw}|_& zQRJ2%RzM#7Zu!yZKZ&?Nn*=q|A9&H$zB#iPXk_cxKE#NNRr(pCem5d}l3Hjk3mb0UEEL z*l}w}Tx8@U6RRjJADp|i!A|A-ht#TSA-6M|?k2K&S@i7wfSt0;nIaq>G|@1(a9Ec4 zca~VZ@&?>m!NW#D5ayvbP-&f1V^3FV1ICCAx1m9Z>TQiP1ZK}M_7u}dvB_wpAdO~* z=n>JW$ARlb%;AK4?Nkw5xAc$}vUvBcWD)DJ$lfiIGHbU+%26iAnuGdh*QeWLrA`X*yi>#(DB_Hs{?2{z z0HFVZpB_@^HIdHi>E|c1Vi?6>)cUf}VKTSXq0M$%Ks|U2CkpDHsy6!e9sR$OBr`Q-&Y!3Ixob zW#bT6;j;_&_sSzEMfgcqXj~M9W!1WH5pWCrSr;5hgO;jn@vVjt8?%OL|7LFo83ZlW zs>n=LGJw%m?IwF0Q?S?#T8x6yTZ`YaaX6iY0U)vfcoZloJdC~OqTp_}ymH|yDIELT zDrNX84`;b~<#7F-nuku%MR7ZL++GxBYf(}-JZ$|~o`c$}Jk3DV3`Yc0v5RaL=aRF$ zv&}4hwim}hQq?Z(R}m(-1r6(Mq2C`-R&HLcRkOD^FMW%=THCy!so8RQyxOCA0U^9( z%G%z@f+=fx=T#SsVh$c>8QCFtt)-6CuDWSIOr-*LursH%vrE@H;Y5}TY8x`6*8+ zP?eHn*yV-Lq~oH%eLJdz+_pdpl$_+exx*pHoZG=p&R^?~BN=>UESH};F~GY57YTJx z`1{o$uQkuV;I_(GbQ2-<6OlP2unQA*PnX16hH@-?Q)} zDg1?)z~Ju!c(5=i!U6+1KNSrALO5XXcNj!WQuqrI(YrZ6>5Vl+ss0$iI*z}KAWS-? zIxijw@c9t0uK~6xh)+%d!230XiC6ebVK6xv>b)Qy{6(Uqhr=Yr0B}+b_1LABU`kEC z`k5lbrt?AGeS`IvLby->>JX+jrtEM8N)p#dNWqdzFeRsvrrfZ#LWI&th{aM%P`cCv z87h?vvIR^u0)iS_-i?Hblu(NWq!A1I@ocexG-4$N#RAfZl^7HYNF!EaP^?6=K;RO` z?X^WqHlpG4r;#g}a;-)AWGMVa0YYjVv4jUQ0%;`04oO{l8Mc_oMoiEc8Iz5Sz!(9O zjer>U&74qQv2Wx7$l)^=HrS!&@CS9T?QZM zJ{s(O2XziOEi-*uXof;+NJpF&k~m$!#Az{!)8z{s$5>~*M4cM!y)u~PkH4dbc;y5l z+-Xovg2LYg@TA+yN>I8!hip(}9@U0H-jC2g;uZcv?`UEp2YbhXG2TQQEKHJYCP`|w zZlUouH+yhbXl#s(Z`^|z8G|g#g4t`JOJD0%eLvXy7kIZ;`1=n$i3%c9($;n&t!>_1 z!uNU9&x5@K5FSs$3G|?tC>dIkH51+NfCi+}h^YQq-s)uoweUF+L_Z+{1TdF<5roFE zlLvo+cgmds{|xa)`+t5&3pq;x94?J;)KDQ!klH{r{)Z^|OAgGv?Wb6P1`d-(c~j+L zz|>(#(=~BVjb7g2*4-WNy z11MhMFVSFQs*XYs{zs6ek&X~lKM(cFAzHYMpg+I~vt0kE0Z)u=iIHY(%QY>%9o3qa z!xCh}&#;73N%r7%D(QL>!mcN6Zeyc1w>jGevCg)c_oR)Q_vD5rCF+JJzj2V?Jb6(g zFFyG}s!jPp>hv_BoSwEMjiX%JsWdz6RNA0)2^*9?@nsu1@#S?d3v%7d#|GTe0C#hq zk|-$~(o zO7d>PT6oY;Pg{@%`UPp*AuwPqBs>RS{oz%?tnIX|6I#Z$PUkxbe7@7QPT;V;>zS?s z@9lYr7iS#md8DVnM|z&?3HnKW7WRR&xz9dajem1Sa>Imlf5`FNmS8kja*S;xTNAD) zaJz$)C-#g>&ViT0#3cZ2vXFDYS;<3F&{xCc8k)kA0!m7%HA;$^1-w1|Y&u!#Oaq}a z4bNI+Qb_i7UV?0rw(Aet^8+%j`JU-|L!%~lo6|#x*7aBbC4hP_lpvlPJty^I5>$sE zs1Wf?du`ck;`yonAN|F1EOX!hjL?XFV1V~q?G-&i2g{y7hq~+uR2*(1yGeVXK+R7? z%|8Weh{LL=CsC@qMu>iJwLqKcX&NEgz+jpNrh*B>HCedIu_R%dEKCI!p15cLJOvh( z82HGN2yhH3%$rik4WY&+%+$^JorJ}S(sC9jew2j%{bYpZ$ND1DvA*Z~3X}Q$4x(fc`(VGL{Sa`m-w+fq;ml*1K_+O;$gKmjDd^T<+5{Zg zQ5Xb6)L`Zm*+bQ?mfy8R{r#@xpm^0eD{_|Z5g(qV<|eL6MDG7cyg_GI(x*wd?*%U& zsZWy*B?0q&a#k{CnaflDOkvgdGi7w!eBC_$h7EKQ#cJG*jc#qnx4kVC$$fX@+fEX6 zvmhJGW1F{Ees$U9NW_&+A>rb-hWvab4f&nuB<6bX_9oY~rzlCaXE! zc6XySIJC!z9(33B*wKS{>71ds8NG(|CVo)Ap_fRZNM9X)>H9d1AMxYk3Cy0eMUj)G|47LO_Ep(&TzqQD1Xm=pBb^z9jdk3aqA)BXuZ z`>PAjPJ9mV%2z&l1&;IwWV5gHLMee|%t5Li>4|4n0B`Dksymz!=o+*#kMsa|1VbN6 zPr3&ZQ@4_+bPvQx_dw6*{a?>SjMpX}pUzz>A_F zE!R9kH3TJ~AU;SXgU-vkz}cY1Hqx>a2a^349CprdsB}1XLb{w~{Yt+qa#Io^YR^&O zr(tzKr9&Z#cpRm>)JjtVG-5j03KfhVX%M8lS$J+mk9wp5vF>K!G2JYDcHat>*@q0A zI^(L#YA-qgPJr4@Y#Y&qdk59Two{4u==rVB!=T^#{7)~)uypLjzg`s2?w78-B%XCI zAJ_IQTPk9V>pHos;V~KQ5f~|gM0B>_z~sTu#tszi%JhO-9u(IXT_VwWPEsXisV}-5 z?t+MiQG^bTEyn?vRR_==EIGP4y$LoeUs>{B zftUPu^M4~@_f1kI(M#P6W-?DIPXY9lh&zXv;*`V>qHu z?zW*j;<2>~)v4}i2<=eA(D9J{HMWR$W;_S1O&WOgcn;6nKAZc1LJ#YJrSTxQV%Gp3 z(toNR_NMm#sXy|kt04k#@RjBbtsF^eJ6bkiQ#(Om8v*dHl(vmf(+Jz~L&;6;k7Xmx zT==n}i)TZZFT0@A`O?+|E1U%A1_k!4JfPSihB;u}X5evz4N7IVnE{!hHFRfuRy=#U ztoRMEM{$^J-jl1IBx03Vo?l1tJgP^$tSqYC(J zRa`*#fftqaqsk$|OKZUb$6JXfwQYWbW=CsvBk^0b6*P7l>Ec=4@t2O`Ip6W*GvfLF z*`;U*pjr6}>pDC?ygCH)EqG{yi-(4qcy{+bpiS*DsAYorqdx}<5ThDFPBi1XwyBC;Wk`fSKB2+FS{0m1tpqe|0kPI^i3M%UZ!% z)@nj)Z6hbmNCLbtX&s$)NgqKqkn|$;BG@Vo& z#&Mn;{mQzIfPd>a@hLbHpIZ8qFq`n|GR|w3iG2@IzSEUa#&zHabjIu^!PFdZPsz5In3vppcQAd1VCx%=!aIS09k+>I08%@648-$O2{8qh0+`jdE<&c8R!L zOlFoOq37d#4i0B7a3t4hdJ>1bW;j<%LvCP_q>1csWRS-xP|BSq9U2^w8l5erPSbrD zc%lyj#F-f!=75x(m8EIv;p$Eb9-RsKn5m^ir9hKVCtFWSVzEtP;kHKMVshGA%h_68 z{O<&I1*p&iI@6{4(drNp!^Z+Pck&4R-Gs1%)s81lCX&l3tai}d+-7A4U5+GlO~)f; zO_==yU3L$2CwE)ko$hjs25kEr3?6kHw}1n(}0Ki62^Me1V)dV@aTmAcyt4SM-Q0r=!F1ybd!O{v=sR4ArW4? z(d_5ESe;HCid$G+%5-^iIFRNFHC{{@e`$#+$1g1>w8kgIrLEEDv=WWL`5^T(JUXX7 z!(t|&Q)yGNMH*H3(9>`ZJ^lOB2>bo%xz7Na`wSecBtCP6kj%Vsb>B0?cwm3nvtyn` z*qCS6@KfoU7vFyo(EBfLd==0}^hbcUzKRChN^R@>K~Fe)d!j381zr8|8k|2~`1~y8B^}kB!YJV(`P9pB_Vqd1$BQk@!B}D2Vvyv2@u3CV zE%&&z+~XNLJ75a38e<|`&lN0T0Q~;h8P5@%@!Ur*dNb5VFK(r*TVLEyX#a~}Qmg9-8nth*)t`A3wolYQc+U7dlTHI_=+~xkUS)R^%U=7c zFR)+1-Us%4-)n@f^&Qj?5L*Ld&hNLoAF#XoT_l!ED1e4wXlEc7QUL012C%mDfk87t zMF7doQ}X|%IQ}1Koxb>F;@Vb_Xl<(vtcV+0p;=|PI_O}@F;BTJ$7LzK#-@bT^MSJYUt(aQ@b`__j8f9#DUe(ZgwH47;oswg#HbajFPl<64gIuS!M~Qd(7FK9?N;l@EFX(;7skm7S=J? zbMhsdp>!6q+Zbwf{ONdnuA2Ac)+gcYN_o94zKV_Jq`#w@l(8Yh`?Pc)2$ShMki9Sr zKdnusr?tuSv^q=udY?A$Hrd)j+c@?FKOCQa;?F012^Z9#_%7$`Z~-6YcC{q_RMLPp zbot?ccz!T|YsVKiyTlv=Tb^s_OT3`6u;xj3So{%jX^j(}2g8{zEoZue(uSweos{;b zxU`@NOEZGYH5tORf$2)6hby%hu9!WE7n~U!MY8{?y=}i}%TMAb+MW`3aJy0M2yf5$ zG=uKx&gVMQ{j2jo;tuVyq6^_AT~~LdJF@4vo^)sQoK08fo!k``w=nm;Isd@w;m8@3 zTr^II3r9Zow^k=yBSZc={A{e+pKy@h5e_C`TGQ4{YhcGOOxcnG^p=$E?SSU8F9zLT z+6|}eFg$fssw`#BNQJ$QrOou8)8YJ#MG?>*%vjA&Fyo$C{tTSu&#Zk$PKnC`emeTW z{m%lu|5=QF_)Ls-dvq%6UY`F7ocSEJ(iIm+z-LIO`Rv+cH6&e)?7WSiYPhTqhf5+L zS=eO*oef>~cLC-8F59~Tl1kiG-RL^G8z?7td#4+a?_fb#?j7CT?F!LX;D}gPXpr{D z+Ra)na<+w?e5E^hap4%yh#u2=fO;BMK7o|+G9CTrW&+gn*@*t*?Fex;nYlQPzD@L?TJlWdoXooIJn_ee{bYf ztMa?4D%thpX7^uf4C+MNV4c8Jj%A4@t+pt(@a09L1SFx#Or~UOH%_H(Py8|w8vYVEvl|1Zr5MUG9c<;~SeiC~Ctf&-bI%USW@+oMT03R4 zvGqRccpq@0V|6uYQX9SLM7-t`vl`WAQX5W@u(<^OQSb|jn@U(NC$Yan@4ykS#M1f& ze65Xp)6KOu!?^-8>dAR$l52nV5Vcshp(ojL9d(f^tAP9?u|C< z(>_T9<4-|mGhPo8FkVj-Z&%hnGWJ8!>Uf4&6HBm^9vtmOBoS*+`w{ICdqn$@?NJ+N zwx3UEetX2>^CQUhAciC&glvG&BN))P5U)^|Ftw4~!UgKu7@Dk88*@t*wQ*2xe5F=} z@^xxsZhW11;UpI2gbNgvsSWK1aGEAIX>fnD`nLUX>ic;6@2TTI+utB`gS1Bb-!cRT z(It9N`?nOYP~R}xC%15cTKl2NI@-@IS!n;;-1v$XL-{(|&yBAWFPy}poN$4%%A*E! zklB--ngr|q%ntKAu(o$t*a6z#)L{pq9i%ndpUIF6gfMzg`?nOYP-YnIlUukzt^Lqs z9qs3qEVMr}H@>39P`-}#bK~p83n#HCCtRR>I8!@2jOA*Om`<*7@Jxr_sPEr8T%`7g zbsWv_`J+36)@c6>Lof~!u5i>WTE{t$YfZ)qQy|Yj`nlo z>%Va}s|r;mG6)ph!)cM0`(DQqu{fWvoB`MMTV z-#vBZsX*6)lW-R~Hd&BIG@&l|XKuU^5|kmsd|e8X*|2B#K5Ise;Nl)oBF7>Ia&%O) z=o2}X(L$w^B01ej$eVq!bG0!eSEXClP1Q_$|+qD1RMi>QwKhr5>Br02;uu1*7zn;UL!cxY6J-33N z?pHkj(et9|Ojl7~eQq?@LPsOamuWP8$X*|vLA8SCq37WfX)ef3pcKn#YN3jbs8%f0haQQ8JC z`xQ&){IP(&+XaKUSq`sPe zc>(MdSYBXALEnTXYDhsO(hgA;-wtQ-?JI9bgvf)o>BoU(gQUD@vBp3ZCxXQ{8a$NAm^jN6&542zN z*q%t+8c_}v1azX{uXKjqz5o}4*raely{iCb=m(g$bV-2b{ZOh1CndlfpwO!?3;ar* z9xV7X#B^Awj|=Q6fPr^Ufdk~Tn-V5#E$~Ked$RnvoX5X8?`jzjaoBnNjfuY&8vlUhSc6!8w5LRU)DEAtA&ln z{|AWU{~6g7&XlGz>8xtHsi}zZY192p5o>?b*^dDI&m&`-X||&uo&P8he>^(1Ih?7@ z7dO}V>5uPt9Ecr{k8WWITg-0(#D^_@hI8xcbSSl6amjYE3*}LxE|fo11^4FlSBI)x zt%4NL^siQ#Q57LGs&1>Q5!t_{TH+6x;C>B7bkK3&az`F5s)!6_>%MTCbC#}u^5bvXqh#1{sS_`^bb_8glUGIsYG5%U%@;%7k zgTCrO{ZsYfoT|U`LD}VU`QZsrvTO$rW)E>D+=D`&e9!cI;T!-loMR83qBH!V zg%81DMAxnbL|Jw(k`Y?ymP9B*5~ag3%Hfw|dky&l@?)`qcSUvf1nw^zxF355M;BjS zJgTGqy;OWw3G|h-O1xVlPj63$6V8~L6KdwkbWu&Hxq$cuHCNR1cLUQEHP?Z_mFm8l$7EA$YXCpJnxI_^=~u`rIUGf}tBL^b{K_a6r|jTIG7 zU$oc`2bD2cUO8wND0H>c?_GNz2BCq~Kd8Zd3A<{1P!qi>`woJaYmcvk(D8K+)R($& z>cQa;iD%(M^BRa}UW4NeK(VUf<%b2H(3njUo1oBZnRUGJ74_syktl%jj7)UeWMu)|9KUfMt5Tz~a@=^Lf3?%FK9 zQF>GvNHD6*5p*vIyHayrEymF;5Qrt{Hzh4u1Yedj?=|awNqlNsk*LV$Q!v=FXtBkOlRc2`!ZvDHp(GeD|Guu_Q6rJQUb!K92&?L)nY zXwaGF!|$aBQfG^xI%Ki|)I{|GL*)fTc|`6ibG*!*ojsjBxQ`pAc_aMOFA^2&?kP=z z<7L*}T|7qu6g{3^A^;!}Mc2d>SdG1B>OFb8cuHcQkc9}K znx&@Rv*ezFy*;?g3bzW~Q4mfg^J?7^cG9pNYv14iD1CLj+S6caL+a~j%W8Um{y$_y^cD1*xmD~tROD?6pE+{h}o3aF1| zpgQgCN$tN)#M@A7$<7{K23 zatxnP?n3z@^72q4`HS2J8;peP;)s3u=~m>0L7K9%L%EAL7ghvDXf(f?wWa*To63-u7!7D7QFkeujrh;3sZ>% zb*U;0jRf^mjely8_@5d>YqGA^99k2Nx>{Mx(rS*WiH@XN*)HrP#?;)#@GGz?NKX5K z?!l%fWN11;iy;9P0}O=(Z73vYLjijlX(-?UE*c8vPNOiQGZX6D5-UpjqyC0%Q}P#1 zVSXu@Rnp(DFZvYBWdM&VHK7#PZ7a8{9G`bzRqbpwA-_=V?drh4U43hH86H;DfW!%~ zF21ZS;a|ec0KBT{2F^$}U`7H+YQR?oy&WgLO>ZPhwz&4|hg+?L! zn;sN}9Bg{JDJJZvoBq`lYWoZ7k-hrt%*4YUN<7q#ctk&3RSfgHNoQ(VF)fRfXj@GA zHj7=txtxe*M3j=o{)TG%Y7#x9_LACk#q5G>OU|hp@tmvC4dw(zjQ;UN(?6TSaJ6l$ z(T~o06d9bw632sAFtr#-Of0yP8BVYNw;!_fV=?lfy3wJ0c-L;D^=-Uzds~S&C5M|! zeO?M+Fr!QO_`@p9S{Zj6Y%PE}@5;$lScE`atujzbX<*d}RRuAj>I_qCoTP!m&cKq| zocitPFNZ~F)C6s9tzV;MR|N^xdniO%LophHeNL&d*zn<9P(Gaavg)ywt)9yr3#u=# z?$3l!%h~R^ATp%J@EQ_yw8jZ|5Oku(Pw*f}rcLy4+9WjFYVNBE_6KVot?BQLfTL*6 z5}?;PfZ;laU|1ZGOZpS?__FqQwT0_<=vah87CUeWKG!%>r2T;P=ttjX19_Y6Bm*^S zPIHMghjSBbihTU&fuheXjZi4PU4}sRrOl5MIJX{Eq5WofY>3 zz2W}rbcWa6`2d`S^$*migV`XQRSkDEgtNQhzD96PH@Zq^-ouw4hQoOw94bM$as~)^ z$K&6?37Hq%N~SR;Nv1oPOyd=sgB*%Fgyt4xlG_d@w*#14I>A1+5fS2R(J|pe62rT7t^Ks}R^yIghS8r!IHZt*pC7+%qiu-ZdPs{p}E~szH9x3ZfyP(dLed})D^B2^zyVu=Kx;=MqD@Xi= z@;AzJ`{U_~*D8|!TE&r-NH?<5(n_RTTIom?!bh+I$8avZ(VbUoO)bVhS@&#R#y?wk zVSQga-0}0!mWLSc4C(>#hZ?MENc!CkzimkP1Zo87_BHytk)(^NLHD0V!yl$Q<>49P zevZ0Ax&uuPH6g#lP0onB;y=g#Lw>R(2D!#Io7Rl-&1<$)+_lYii2Fse@5TMC*^Oq5 zzqt94=8X4C^Iw}2p8VLf#~5!3m&=fk4Ug@8jOp)x?DAs_pWk9t3(~LRyaVvJF#HH# zYH^h=%UW6|%Uu0Z{M`~TP(Q2q8Sg&+tl}3HBRUTl&=7}6D;}+ghJLQ$9}Rgl1wtoND{$2fJn__s`k<}gv`5K|B2P+qIz!j5?UD!cA(Xq%Z8n5#G9`St$a z?+>c^_xq>Uh3?PRy-?RB_l3Gy#Ii)-xV0fH^zs7x5SWHKwWiY_K}Kg%H5@PIW7!zt ze>{4X1IJad7y-+&F<0MK!*B$=n#*wL_r-n$Oml<**#`IQN>PhTzf+oK(xwXADj@#0 z3Wus-Si4+%>w_HK9z@UCN*!by0FAT(xLkPxn(Iz*I5UUC1z|YSxwdi^fjNx^mP@~` zFGuR{`qLhyv=4525TAK2KRlSLK7$)`wHN0uS$_Y^&&kA?3KN)#2^B`%htYJzeaH*e zf@{xt2+$lZ`o^PnZf^i+JGu#kt!lWt5un|TFl^vRT_a={JLz-EZko<6_U1CX_{7BQ zV&d@Fk;f3_2x}*jdTjjTfW|+L0S4FTnT2rCL7LV;ltlYo`Lfxv9-b<0}?$DwJ}*KAiLQFV=@rF4jlJQ*TOG$~jeMJXL2L zAJUj{Ts6Q!G}TUBmP-IiIj80-N$v&f$T|Jq#rHz8#rOWjMgG6;{p~&&QP=Mq!0v58 z#nTl5iMmpd6&M0(itEF07CyAL0i3lg-xQSZhb-6+S-!aXq!H|aG;I%Hzi>{)oTAm7 zV$_U=B;}o=vz>x$?`J`?*9ODOj}2l$4`O+zgz6$i>mtSI0^{F=a_H(NV4kWEQrB9E zP6QXX>Qd9;_{fd*3pwekmxg%=*<(*`U77>xWI3dKvfTLcQ2U}dG|T_ZglSM zYj?{g3Cf{PGCzqTZz)-6DHFh2OQ2-An7U(6-CsOVs+_^LEQf_g=H}nYL>J(U^f1Ge z^x}b2V=Bz3kdHfebPDzk1>k2^@OQO0CXfnBm_elMR`8-z`>FyL@9^`gofY=8bJ!0Y zzWGz_YTmu)?}ftVHQ3X@phya|se1^;jZqCujRFyOfq-BK=Y*FQB?--7#l7~&gcW3vt{J2Y zPb9tg-W`;Pg7IrL8NsFUuHUz{qMcu-{QxB!T4q#)Pqt)Cqfhpr%%xBC&QL9moeUXp zYsP?zuUGW-E~s9wI1RBBBS-f}0rkZ{du!Ezij&z`CnHQmf&HPIY%8=ejvR(5(C<`Q zT?wSCE3M`8BRea7M(8v4hGu{HI}E{iM3ie^-7Uonx7SR#g$vaCr9zW+_SNN(X%*F(y%d_{|)d>!rQ#@C4#j`P1}=i_Ey$o_?3 zmvg1^-&FM9m2Xh(W2;Q60%%f|DOGH>UtvgFgaFkxsP6U#0=3#hlXcXd zTe495mCCvB74?Pkb=004UngETiA6c#0%iGJO{oHN6PHn9wrmDZ7J*t*Pcud`aj_(wa)Yh9R)nBzjQ$w-m2X?=adYw{U@4`=QA?+RrUnXn##^d_{|)d>!rQ z#@C4#PGV6`xIj^v8d2v|9dsRH8rxPmkl0v}gpCylv(09wU7&1s);UmzD-U1S8FfEb zB39hLL0m4l5yqUUAzTwhuPUhHVTeyXc;!J~Yn%v$b?%NVRaDm7U#=M;m zjID6_RYVC(6>u5i>WTE{t$YfZ)qQy|Yj`nlo>%WoT8lh@H{LM*i{v~qU-%bMg3DRi)tHJe=-+LCf9$nzFk+ZG6dFf{e@VD2-ekG ziWlCTL;~RgwN^uub+npWve4?)db#iwt%mY-w3-`VCtf&-p`2WjmC3~4^<~9T_GG$d zhSMLM%K>2SgXy?9!m%|t&Iq7jXJ|U?#1=YN)%e`HVL|2_*3L*QtnG~aE)vjpkvjw4 z&@Te&u=TSQ+1bMlNVC+>jD?%s7%N4`!iB<&1qc#H_w$&|N_xFUu?23SeO;a%*IuFP?5ML+DuK&kX)K@?509Q+upmMGgr7o)_2#NBRZwQWV?Y35z`x z!QTrWiY^$6L5!q{Hwisze&qX+=yl#lLSS_ctYu{^@&>R%g}1};YH$)>4IZ!jeV#Wm zJKu2;yu$|uJA8lhF=J@)Z{Hh!Al~rL;Zw*!%<;cV#Jm2V4dQ42c)U#|+_V2tBYhKn zQ1(RMY9Cg(R{IY5{Jnb3Qips$_^=H0gYOrgzYF%}{DS2Cy}B{A;eHU#@$aFt$G_k2 ze+}W1L_2U-m%T_#A7KI4OFops-^hwodfyj5l-d_a(ATRM()-2d>w@oKNQW?! z;Rg!xg=;>QA)=!Qasi*&zV$vRa=mYh&)=y#wz>JX`TSks+2;G1YWy1v5l(&*KF7bt z4|t9LFyE*@3?2Eqyu@@a>F`Vb>wbxUol4`&UHU(D$#=y^d-o0h6hGbL{*&SkS0feM zmHksE@*Iyr!pCDijisfYcR@ZRv>@NR`JAOz7wNPZl+?7CkMUx-`Zxv=TO;Ccv50Xh z@AbTZuIHVZ4`DMIKi-arCLHs346_w;DlgKSm~Rq7)w}t2N+M#4gU^Ayu(+=0os^H7 zl)wyfK(HDdJ31CIM#q8%RfQ3;bm>zgV#mkggciI$eS?clK0X$m!FYsPeLb>aY<%qE zSTq&*%it-7#j!h_kaMxuNqn8W6E$yr>ImtMh+UW$)oo$kC3*e5u)RZ4M(Z}oN&5b- zXhM=yS65QvcaqW}$P5Vg#quB)TeM`{t|BrBkqzej6c($kBKYFib+Oow34cw@M?~0m z5OyS=8ylH-MqYnc)aMy_R}x;A_mjL((te^} zg)<}XIyypR?p>G}yPE1AL$2|7OHBVzRovx2DWAKjH4#WqH&!CtcB|Z&1{-?6?jf`X2#DM|M;m2)?lMV;m zkuq?2fFy3)ZSGTfhls|$$GBB-@-EdXomwqyZa*0Jfg}UJ)Qao#aMLaoDj7ioA={`G+EB!lecGi{hq$SIHC>g=Uxc1fCDcbgqvXCXVni*kgQRs<3`;ErHr`^`E^ytlehhR8?yHEZNJ=x&R{_PVa({T{D{ueqEP=y zhNL0{DAye2mg0q*O$fJef!f>)P1Z5@a!VHG-pSiWzPZox(CmBBj@h3BLn4Ee!~iL7@+x|^D2L9oMR(r`a38ZLZCIM6WNLBYm3%{f5%ovs<06dkagk4`&QFR= zp|1Ab`Nf@RINW^f-hiw=FLH@gm#Fj%sB-q5fM!#pt#q7t^#v7+U4(ZYXV`HH(8?J; zC;)%Z?72b_-8?nWwVk7Oam}gLE-_aM%`D1}kN%lO=TQ^$P`vZaDlqfh9<&B zn=KJE(I0c;B26un3!7**E)G>VX(XHB0{^eGFM*Gu$o{XHd7WcIAc1580U=z9pdlbA z0wN&<5`_>Tin{7B$xM>b$>Gcdh^}iu!5i^H6x86gc(Hga%B~>Gx~S`lxax}6&#Vd_ zyZS>{MBP>Y-#XLNr2XyZ-)Oquw_d$^_3G8D>gt+qJ}vNdyTB{_i>+P`yuy7$U&4`~ zzmqSmn@{NVC+-{E^WX;Ot9F69sh%VJOZy7{8m7llx`IUc$P10CSq5jqm6S^RQe0KE zGPlb&1OCGs`ac7H9DwM(y6_h6KDQLYtyT2?hNql?6z=IlLGC>NT|T!rTL@`xiP8~L zi#5^v=hTI3e1l55$`y^CD%V8spOb6yxk>&%s^bx1hWrVrN*3ek5&Ulk=H!X zbqs`R)%e=4NOel3s|Sj}DaHlc1!0&& z(m{n+{a5)4e&zD4h)Z)zlwOrutnsR!D;8dL@6X8<-jOQTc-7CzHTm2$7RGT)RQ;Fs zW?Y_$-g$ZEJ()1{J(+tl`MYCNQfrWUy&uND-oMN5YuD=ySQyIuZ6=!Kx0!#iVE=;^^fnV{La$r?MT>c7EcQqlWYcjWFVK~^5^+c90fgcP!k+p}@dmx5S z@zn_Pc;@GsxI6ni^M_2aujUhfXBK>bAGAGlxgR6`a{u45#HdXx{ZK(HFGhmR ztyt{xzv_p@_HjkjT=x_IiY!bvgeX3nrl0&baa+hwu+Vj$TRprh-0Hd07<9Jm=v*$HGUZp5vd6#w^A2l3;kr^C2fc^nAui zeyB+Yv1}-qJsp3hmsxEL?{=Xw{u0MUVLs5v27qqT#3-2gxqAM-T)DodLgsY7Z*_XP zuN6OXD6jCf;ujPZX98MOC!o5pXlPL;{!mx`Ljj0?DDb-gT5xw@TLDhn3U(C8o3R}Q zF8~nSlC=h`FYrXX!ayFtzrq_!=&Sti@p2aWK3^oy$5_ba9|p=b{62qefE!L}4jkp; zJ~Z%Hz;`JoD~|ly*4iwShYV{);Ztw3>N=|E2&` zxFfKWpM)$qfuw5#C=L%T1FzvEt8*am8HYaOCGs#t2Lj&&dfK*jAaFR)y={$i!C>ET z@K-sqmb{*Ut=w{3VL2Y#y3NK5qZAd4DlZ{#U>Q3!`@ z%i{l4KDVigkmi;sV`6HtCMNz|v51K`LQ7YuJ(}kA_N9`*$w6=l&qAuucA683z~@MMix9j;}Tu6puCqvHTisT zC$4#UVmiqQRQn}<60=DTxJcpM9QM1(de}mihpi_p*zE~!5boQwjsx;j7`WbGrCr3( ziSMQjoPPoHat@wTU-^BLTBTL7t&$7wArmU7GNFRJ0DC5sxk)G?tCE_16E9O#ah-+h z`C!FKRFMOAIU`4Qe}3Nj*K}Sqf*bGe*rDxILGnuuvtQ*S6 zqP~48Fn|h&G3ySKfcI#pGwW$X527NZzgn&{zT%FCQV~jlY!DG zGn4w{F>Cs4&2~Ub)QLVyBOy>c!03WuPpYHj`PQ3N12|N~SRD zaYJ9}r5)ZKKH5QhiCGIPHD6yEP(($e>4X#Mw7K-L=X($R=vnTi<=!h$k#4?hDk?(q z#~x;_Fqw%82GZccbo6K{K8fDd9UiZ8X?$*<^A_X+!7#ces)l7xP zPh?i^>6$B@diSQj1DJJ!f%0hZP-aawbT$+TF?+lPe1x2*na|6Hun7r_V*h#b~L@ieW8)C5D zH2)XO8fR$f1Kl(e9dw6!9Lg<`nN9g{tFO+~V!f1?MqkbPr6P&u7Ir z2&uV3iSO%tiR56!X^Mjg^=-A`wHs8O~=%@5&Gw8PLSF)+I_d~sz zb)Dha>ZNBgH)PRsS+8f&E!q3C>FezOWV7_e4N}VLUg;fE<>feLMHEWdBs6pcO_)Se zD`?J3Y4m>D)vk=y_)N`bCZnGMiz&LoLt8UeWzv2A$6)$#7iyJn^Uycm_k381ew0{x zSBu0q^h$qBDFNk|FVWnLvU4fFKeOI2P#OgaY4C7nO}toh1!&5XXr&DX=tKR7u=In9 zzP)$)vr2e?S;t(Wv-zkW=(`PFNZV*T(f(ea^)eZH*%@*L1GBdNQj4%?{A8L|MrWKw z7dA8N6O)iZy^!@gL-(b@BWcWuG`ot<#ks^v_gZ_*ya5HV!AMha;7(KPya zX7%dO5Yf@cGHdJ#P4}WclO41SY3CRgKl#xS-#7FWnt!&P&J`hW$>mz)KpH-pSx&ms zq|c$&yF*-t{3~^)jUKwgcN4m!b&tiYZ3fSvoIx}MCi(U%&5ChvFtY+zYZ@O7z}+3QrWg*3 zjvYr6rqHxX3{!^hWSWY_!exfGXvi@%x|k-M%B+X4(b8tnta-HPWe>gTdE0|1eXW;n zz_We2!+SSO{(HmMTg*;gH}n8H>S!vSY873pC7ng*MyP2mDu!EHy5I8HteQcUb7&rBLU$Szu9+uB(?O?bMnCl) z!K{xA3*OM0L0K4J^HysX1C6jlSkk2~~C2uj%sdR3LS+5y7kMfVAVZ)f!Wgv_4^O(PgL8 zQPXK=g##K!qsAaY87?m$J#rDG<{BuE#!RLu)0uU@fsCvaXqbo|&l@hHEGg@A0~uN6 zH+Jha>=)=yE1Zqgiv{gN7Y8 zK_nkWBgfNZROnG#0;-*pLpf-{R}6~jST+qB$*k;~w6-!Llp8vog!YEEY45lD6sGC!@Kf}=JVpz++MW=%W}F~v_B8eOkH%|Qo!!$9yE_~*e}byfdPCd&3okXXWGi#;ca+vN8TSB+#o-wG81|7|;1BSlVgB7=x2#4*rX?4}m zV5779&@j|!%sS1IP1${^a41Y?AWR#xDG&Dq^9|&sz)>{xCe+i34W;8I(8*I#s$rHM zGmT0^J)*NwXTxi&^F-WV-C;}UuJcm{_0e$5kUh6+?Jdf{z};-4`B-?+&}o#;V=l7> z-J!GKrZbmD;0`hc>O~_?#x&1x@rD+SxZOa7^aK_(nU%I)iwe*=7ci^S&=!v+MWdLt z*FeU+?-@v$mqsA&58t3=Wm2yIJ?i}e?Pmuc^*)Y?s`pvIXWXfI;Z8$n*s*jhM)(x8 z5K|#40h%%%HOIwi_Cq2VD?mXLsqEO`_Hgn7AA0ErCfkjtcbHZn`g)cbV1C)K|LvjfR$m zz~}ZE5ymM-sWn_;2AX3a<0mPQ^pg!oa-~3$Yro-=VWU^4uBHqdD^XKBrou*vVUuB_ zk}457QqYsA43nsdhSAm#eAVJKTS9k3#0+YJ?z0AxW;r&2`~vw9mwSxH&-;WiYjKbZ(try0mp?|lNojjB+1|9iDY z(iWYD#vp*{$C~?ex}S0pQJyn&Ec$U6JL7iFY zx1A!n!MM%Nh>(rRN0)(o)Ta*(LG1t7K!lY9%D`wh_yJwwJnVkG*GnIGfAG>u-)bN2 z^1bDw@9D5bE7De^(KTuJq)`{P=+f^paFe_u^Dmk7R_0ro^!LoqGU*Qg9e#Sy|G3|1 z#jxgPglEu{GOReg>!HnF+(|!+0EP9BYkc@~lTR#yVhQy379C9gHl2RRxF!?N%x=o0 z^_lB4>7~p!GBGgpAnPe91`ZWt%gUhgI!*4tL6!ITf_iu&oeNpyo)r1cKsz)_lh-XyqfFouQzEpu57DK~3;0?1j z>l~o5;E5aWiwx9c3;rKdgh`xWLBoru8O}OKnJc4&@EO zq9ax&4NBsM2mL$TBYGNECk(IX-$Ta}p9efp*-SX$#aQ;d^BJH z4IPbv-$1u`sDrLY!$zOd<;uy*ejCjvE9Fn?bc{F&6l7?`9o!scZ`0{=kiuQqC7^@uSNiC7`Za8O|DSYP7F}{Js=UPjjMDPx zDbMpqfLOLNOldR;GpQ8%6a*2Io<+4$taTalTMxGj@n=sgQo*Q`ucWX0vv3P_Cz^r!+)9u zGoss+(+B>KFvwhOK%yB~v3}qGzMuZ?{|rfaFKB)-Z!6`ugell)syu_vic%~=3H~sl zhr}?oBF>F9lKN2bWICl1tHr74DQJmu!^PJ<#OQLVfyBMdfMc;nVuJ<^qM38)tk+O> z5AbU8^QP%=7c|O%FqDA!%v;t@loEGBdXO9h4>iow*KHk!W z7@Ai6S=Sj4XFxw`Xp4HG5By;08T5|z4-D?zNMD5vd0ERqJnT=yP|K4H1cxZ1;bUkF z#-0?k5X*OBb!L&_6n|VWZWN7#p!q)VN2@{2lR@r zsd#jo-=B)m0mj+TtRk#N85)g?(X!J% zw5-EJ8@wA)#(xY)e;S0f;0d(G%XbA#Hdr|%8)4m)zl_q~sP5b$Sj>WqkR z8PunM2BLG$#skSC68O`z$$!)AyFIu?IpC!Su;Ya;Prn}XxS1vqy&i6jZrflWh(Djc z^W8=Cx3n%y8Bf$3Nq^%!-R*Uz85jIeAys)YKTc78O?KO zgXdwmlHVYHTI;$02;^=cd4?y4HhTD)#Hj|!#xwnmu;I#my7uQ&;w2A#Ng`uY-CQ<8=#aJAvb+QeY-gd+tCP(Y%Y@9Ki_6#oM3+S^@#RTl#iEn3X1 zi*59C*8gH8IPX23Emt&u^nFbu2w@Vu-a+Sf+0uJcJ|fWm{Tk|pz>C&AkV+4C&@*f_ zR*v|xeAqx46u{i&GDAy|cRA?ohL-&M3@!N&JLtg2S|!Op&CsHi(p#s=^pF1PHG2c@ z_p(oX49%P&(y)E*NfLX`7=4VJ9lFL^ZDDWN3)r3}F8OXPzGrKlC3b+B%S}MLvbwV9 zaMt!-v<^R6Wwa~z`CNJlKgyyl_)Q@HebxuL)X}#Cm;c5$>4<+ljyB@sZsH4WjNS=+ z7{D&h0|EL9yEEmUOtBS{Z&|#t02>H57cjc1e`kOEl<2Afw6pM!h4{(S-a-Yw4UqrD zWPgAB1mvgw_?bO^LqTf`JHfzzLLq*s!GCD*%>ZosUk&shg`XFS&GEDwzwEKm47=lZ z4-~uc`5y9n2VzI}4lw+AlMhC}yJ4U=15Jtqy>cso__ZW#a8mc=yx86||+| zw@7+&?2}{h+M+#3`tii8P7?1YqEAj)GY#6~Jw0@=v||Rt+idQcjCafIn2dK3;ngbC zfft$Zx2$|R8SgwkkXYpDCd_R4`ngz6J!6s~| zUGTvIM!#G5=Y{k#J{C{6T=vJy7`_VsIse4{sv0<1%|qC@T=Sb6+E()neqN8SwbQHk zRy(7Ap7A9w@!bJ5}s zy!`vpD}IHSt1o_QF@3xETcG^&&%{6ej2DuG?h4_P#XCYU2fo-#9m!jhFh}Uq5I&{5 zsusQ*xx60Vnti#R(PIryH_)FN_BGI*(fgwGAifAoT^Iax0qwnTU5s|do{!OAVjsn5 z-^K4;Z0CL&jOZWHT~U0w^?z{rVZ+A__`vGpjq;PIbYJvApzk*wXd?cNQhd&|{eyPe z-@d<{zQpH2q0c2>ULrmO3N2T7_F;B%!{wemnAFjYD?MvhdT9A7&sN;#5w1Hy?q2CR zi1qrPJ$N#)FMo0}^#$9d*GS(^nI~2}lNMO0bf35H}3O`rjTXFWV0c?x_&-qmn;iTHzFlgA?iPh_R{V>31L63!SDyC>{(QzR zzy%JK%sy27Ij2j$s64Ts6yBlmYZN{h^0*yx=173I2R|k#e5b;HD~nNG5Dkcqeyk9RDLvY`4NYejx$wH~jdU#+768cH+l-3NJce(v7O&zgGB~ zdWq}$TJRTcXT1fmcbZJkRe1M)K#31icx#iA54rp}PT_hN-ykJtvckK!^hy4?3TI0s zt=~=Y3*a7>&pNrI;#e&HG8R_+dL!R}beRxSc=xV8iMJ~}XN9D%R&v%Uyi?)YpEoJI z`f|zm7iG`g3NKnI@sXB1?+5N-{aKFc7rKA_sPO&{ya4UY`A0eM2?{TA;PVw;;=mUJ z=j~OkI!czZ{|bd4d{XLn7<%yIc7=EDmh_96@{ApqqQC5P$ls>;_dYB69#HaMRJh(1 zwoKXQBZa>)Rr2qWC-$|%yRMhOP=#BtpXk@CB~YaBe1(@N`~-!MQFyDuM=N}a!aEgy zqQa{b-lgzTh1Y8NH%MTf!jlT`Q20`XU!`!iMgnT{4!d39oeq4n!l&OT`F~JywrgAo z$X0gyi^8jKmW)p+{&y9gbBhF2GqA%7->dNRm7D_fGj7k4wUU3Q!jDn-!P_MM2Zfg@ zeCO>FpD9mlp~7?cfQaKXd17IOFIM=`O3qS+uURh{eahc%Re0xJ5?5iG-KX$_4*Us) zPrqC8>vI37-wF)_+H`F+a-OmD%Xzy%iHBDN4WuoFLU6-72e^%$11$lflpOl|_pD1OE#t~g$mC-!f}zsA9zj&Xz6w@dM>aLED+Z+%?~n4t7I zTH#yN;vFCV_;D(5UaxhId0M&R->X)XhAKG=fcJENah{fcij=GW1{L1rz~c%pnx;AB z`6}RCpXsW;s#tc5!1LHTH4o9bey`*#cF1{N@b_bD9Q+4>_oV+pC8z6SDLJeP_*UW7 zpGe?RU9ex;f3L!el%k~YgP%&qLyA8OIImZivU7*R^90_XO>(sFV8y>Ut^`95evH=g zKa=!HDtWHLOa3WwYzr1gvBGzLF6jdbKSAMJ{#WAa_JB=Rc+r;0p3%)jBvrnx!_Y=@L4YSd>1_A zf?wox!|w6;GY8T$$t*J@aJUr+%82f_!!_l`TtZG{wfzd z>VhX-@XK8A8(i?afcNBwzjNXLs|)@v@Sf^>7aKXQH!M_Eb%W_!b$#NXgfd^zwUy6 znc&q1Rg>4@Vf;61h1SQos^1z+HT*Sg@%F8ERx z{0bNRHsC$g>j4*jRvT>yN9v+Yp;&Ppn-Oi8DT!cHq$v@-IAVvwEp4^2NU%QIU`N|p zV{Hj`W@}B$!dB!B#TF*x(dHDEa3mHm zgw2j5OT*!XZMB>O+*NH&^XkhQLvb!1iRH`cBCSbeWYKWYrfNjv!KRilF9y5|P*Qj< zCsTRj9EW<6wXQKzcVRHvoD8;VrL;0a3Rh%Kv?-c&NHN^Om`D}17uD9;ZR*v6^qw~Q@QZU>)K!&v^{Y`u&$+fNhF>OCR=Qlus2IMlne!v?X56C0^E^! zT_nU?&ozV4%3(@dEkv@ct+ZN-vcVS9FpZ&Dy_ zNpA1raVKy!VzCzP(c&z5Z5Byz4~)d&RLNkhr6m!Gwc8CCYYByU%SW5rnq1l)sr6t> zx+Kr2oISI=ta5JYoM2V??9!UbGs}bLlrNaaYzfu#7FPazLS@yg%Bo6iKDXsE;(AOh zt>SveL%h$1Vs6TH$DD9<$@m^R(99NC8g2w((Wcf|FdBv{*z5T>|irqw_?i_s!iC*#!#ZsP8$)yBcwM6d7Y#6(Yg@gU^v8&=l9(wVn#F^4k!UQXG?i?}oIE0@ok5H?h@fSBY?zlio?g_J(iu_P)L?O9 zil9hSDB2v3*eiUJoq^}I*#^>1K($?h7bX{IqI&xnTo+F!l5O?%m`*=3Som%GQ>p6GiuLotR*)B@g@ePWT)% z8EHD=;QdDYBd5Y+6dGlJz63apq323~g-oIPjW z3=CoOX3bhyUK6Y-oiV4Jv)9ZmGg-rlmSAJ3IgCCPoOyOt>DOsYH{Z{cne3`d|)L^onRyj{#nxtE9u zC7*VM`2>vdS#%^hefFHn8D+uo#pBUW<88I=!9+7m+nlTyYVm=pK{zBDtsRzM8mtSo zhIkq@9p4s9=|0deDaOJeS_p${9egO52-Qb8KW0Xe`k-jfAlFOCkA)J6U^ASB#ljeH zQnU#M8=6`$1SBy9hw&jI*%*(6!kCC)7z&1#Qg8Xpx?5`G1J1PI$= zrp7PLfY0p=TKe{~AZ{{*UAa*;uee5-xUj8tJcFp_x~5bGkv|q2FPaROm=z}Z_<>6} zRS?X&Y;HBwA{mu+7VRLLQqF?89yRf{NEx>Vyap{(*V>K-yU^ID zEjng60x7|`(x({(2V12!+%Lr}5)zP%t}ImJZPJF;Lk|!E!1Q9Ckm?ntVv$*VQa`hW zk65aic;02win3O6K2^yhK1x5^(T1>hbBhQYJQz9!iRvdBTjD~Kx~gbQc0`oHlcZs4d1t{$ z7Ky+;qRlY`Ss4=$hMaLB$a_0(-qC@B^`U6Y6gYub)r6pM1fGYc#3y&wiax_fr;T@vKh>BFTHAUhGaw3B9R_v(~ZHZ8#E*cg7r>Y=FhVJff)&~$Y zM1%@1jfX@ujg-b4q_@c!X)KF3c0q64=_h!Ql1ni`6M&OVt=cDaNaJ%go`sKUt!=m? z!F78yf}3hC2Tg5)-i49&r7iJrupzo6(kx}x%?ia5DqMs80!-0^Nem#Y7zV_>HO}Zm z;@qgOnlU;QH#D~u^VI_^kF>L51J$-gW8vd5ZV3i4uos8hn|W)9GkUK`K~&<4Qz-C<`XSejLYJN7IgtnWyMK8c`6pOmg0Deml} zl;~C}1%|W3++hseQpab5MqnI6h@g*HGyVSo1|k!-ZsA$KJT|EdeJ)bCKI!K}nl8qL zJ^u?Tzdn!9jOwiSO=!3j7vKE!Q;RPDpt{iK>5hEP@=r%P9+eyYOVs{BeQxE6IQTX} zz7nqU_vavvh4`Om(dBpIkq$rfxt&+ecF5KAZh&v^{>i3)VL+zo^Vf=1*ISpP&y7g` z(Uw1_KxWYAR+XRY&+};g70j06g3H$OI#hmrep)5y@^yY)|K%$G3?*<Y9m;KOsXlxZO?D>mSK7B4Rf@Kao-VujB-w4W{zglf5 z)@RM9vf)XmJoK4wkG1Dttn%w~(f?8Yy^j2P-@QJs{X!L}PP$x;KIq7=_xb2E9)qVG zPW$~v<=5@cN_cH>sB_3sV3A1d{__+rc@CXl??2M#k5qrsIh^JH$&tTerYv8dAL*xa z%Cq(#jlO~l-sN;LdLQ1Jv!xs-zozw>KYqm{RFhxt`&;*4=KmOZc}co_{riPZm46e` z>_?HEz%}pR+(mSLy^pHm9I3xHtlFk*`j2jwTanjZzTVGOajwk&v=$6Le&~AZ^AEu6 z`OW^W#WMeNp2>FTd>ZnBjbpkPy`OTr%3q}7r{*ux7wVjW{Jf+R2d?vvao|!bnTIFk zs{9T%cA+Z2)sdj{Yq-cI|2r!Goc*aeQYrlY#U=kSv!q3~IXa*-|74f^T?=LYaAs*XQ{z`Kzv!`SISPltbs!=a9;u!USUEwKD&A4{A=y zkxDVfx2ZZY&N+CZ44nDL%6$5-lb6#v_Glh{o^-y +/* end */ + +-------------------- + +have_header: checking for math.h... -------------------- yes + +LD_LIBRARY_PATH=.:/usr/lib/x86_64-linux-gnu "x86_64-linux-gnu-gcc -I/usr/include/x86_64-linux-gnu/ruby-3.2.0 -I/usr/include/ruby-3.2.0/ruby/backward -I/usr/include/ruby-3.2.0 -I. -Wdate-time -D_FORTIFY_SOURCE=3 -g -O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -ffile-prefix-map=BUILDDIR=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fdebug-prefix-map=BUILDDIR=/usr/src/ruby3.2-3.2.3-1ubuntu0.24.04.6 -fPIC -c conftest.c" +checked program was: +/* begin */ +1: #include "ruby.h" +2: +3: #include +/* end */ + +-------------------- + +have_header: checking for stdbool.h... -------------------- yes + +LD_LIBRARY_PATH=.:/usr/lib/x86_64-linux-gnu "x86_64-linux-gnu-gcc -I/usr/include/x86_64-linux-gnu/ruby-3.2.0 -I/usr/include/ruby-3.2.0/ruby/backward -I/usr/include/ruby-3.2.0 -I. -Wdate-time -D_FORTIFY_SOURCE=3 -g -O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -ffile-prefix-map=BUILDDIR=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fdebug-prefix-map=BUILDDIR=/usr/src/ruby3.2-3.2.3-1ubuntu0.24.04.6 -fPIC -c conftest.c" +checked program was: +/* begin */ +1: #include "ruby.h" +2: +3: #include +/* end */ + +-------------------- + +have_header: checking for stdlib.h... -------------------- yes + +LD_LIBRARY_PATH=.:/usr/lib/x86_64-linux-gnu "x86_64-linux-gnu-gcc -I/usr/include/x86_64-linux-gnu/ruby-3.2.0 -I/usr/include/ruby-3.2.0/ruby/backward -I/usr/include/ruby-3.2.0 -I. -Wdate-time -D_FORTIFY_SOURCE=3 -g -O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -ffile-prefix-map=BUILDDIR=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fdebug-prefix-map=BUILDDIR=/usr/src/ruby3.2-3.2.3-1ubuntu0.24.04.6 -fPIC -c conftest.c" +checked program was: +/* begin */ +1: #include "ruby.h" +2: +3: #include +/* end */ + +-------------------- + +have_header: checking for x86intrin.h... -------------------- yes + +LD_LIBRARY_PATH=.:/usr/lib/x86_64-linux-gnu "x86_64-linux-gnu-gcc -I/usr/include/x86_64-linux-gnu/ruby-3.2.0 -I/usr/include/ruby-3.2.0/ruby/backward -I/usr/include/ruby-3.2.0 -I. -Wdate-time -D_FORTIFY_SOURCE=3 -g -O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -ffile-prefix-map=BUILDDIR=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fdebug-prefix-map=BUILDDIR=/usr/src/ruby3.2-3.2.3-1ubuntu0.24.04.6 -fPIC -c conftest.c" +checked program was: +/* begin */ +1: #include "ruby.h" +2: +3: #include +/* end */ + +-------------------- + +have_func: checking for _lzcnt_u32() in x86intrin.h... -------------------- no + +LD_LIBRARY_PATH=.:/usr/lib/x86_64-linux-gnu "x86_64-linux-gnu-gcc -o conftest -I/usr/include/x86_64-linux-gnu/ruby-3.2.0 -I/usr/include/ruby-3.2.0/ruby/backward -I/usr/include/ruby-3.2.0 -I. -Wdate-time -D_FORTIFY_SOURCE=3 -g -O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -ffile-prefix-map=BUILDDIR=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fdebug-prefix-map=BUILDDIR=/usr/src/ruby3.2-3.2.3-1ubuntu0.24.04.6 -fPIC conftest.c -L. -L/usr/lib/x86_64-linux-gnu -L. -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed -lruby-3.2 -lm -lpthread -lc" +/usr/bin/ld: /tmp/ccbipjoI.o: in function `t': +/home/runner/work/onelogin-ruby-sdk/onelogin-ruby-sdk/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/ext/bigdecimal/conftest.c:16:(.text+0xb): undefined reference to `_lzcnt_u32' +collect2: error: ld returned 1 exit status +checked program was: +/* begin */ + 1: #include "ruby.h" + 2: + 3: #include + 4: + 5: /*top*/ + 6: extern int t(void); + 7: int main(int argc, char **argv) + 8: { + 9: if (argc > 1000000) { +10: int (* volatile tp)(void)=(int (*)(void))&t; +11: printf("%d", (*tp)()); +12: } +13: +14: return !!argv[argc]; +15: } +16: int t(void) { void ((*volatile p)()); p = (void ((*)()))_lzcnt_u32; return !p; } +/* end */ + +LD_LIBRARY_PATH=.:/usr/lib/x86_64-linux-gnu "x86_64-linux-gnu-gcc -o conftest -I/usr/include/x86_64-linux-gnu/ruby-3.2.0 -I/usr/include/ruby-3.2.0/ruby/backward -I/usr/include/ruby-3.2.0 -I. -Wdate-time -D_FORTIFY_SOURCE=3 -g -O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -ffile-prefix-map=BUILDDIR=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fdebug-prefix-map=BUILDDIR=/usr/src/ruby3.2-3.2.3-1ubuntu0.24.04.6 -fPIC conftest.c -L. -L/usr/lib/x86_64-linux-gnu -L. -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed -lruby-3.2 -lm -lpthread -lc" +conftest.c:16:13: error: conflicting types for ‘_lzcnt_u32’; have ‘void()’ + 16 | extern void _lzcnt_u32(); + | ^~~~~~~~~~ +In file included from /usr/lib/gcc/x86_64-linux-gnu/13/include/x86gprintrin.h:61, + from /usr/lib/gcc/x86_64-linux-gnu/13/include/x86intrin.h:27, + from conftest.c:3: +/usr/lib/gcc/x86_64-linux-gnu/13/include/lzcntintrin.h:51:1: note: previous definition of ‘_lzcnt_u32’ with type ‘unsigned int(unsigned int)’ + 51 | _lzcnt_u32 (unsigned int __X) + | ^~~~~~~~~~ +checked program was: +/* begin */ + 1: #include "ruby.h" + 2: + 3: #include + 4: + 5: /*top*/ + 6: extern int t(void); + 7: int main(int argc, char **argv) + 8: { + 9: if (argc > 1000000) { +10: int (* volatile tp)(void)=(int (*)(void))&t; +11: printf("%d", (*tp)()); +12: } +13: +14: return !!argv[argc]; +15: } +16: extern void _lzcnt_u32(); +17: int t(void) { _lzcnt_u32(); return 0; } +/* end */ + +-------------------- + +have_func: checking for _lzcnt_u64() in x86intrin.h... -------------------- no + +LD_LIBRARY_PATH=.:/usr/lib/x86_64-linux-gnu "x86_64-linux-gnu-gcc -o conftest -I/usr/include/x86_64-linux-gnu/ruby-3.2.0 -I/usr/include/ruby-3.2.0/ruby/backward -I/usr/include/ruby-3.2.0 -I. -Wdate-time -D_FORTIFY_SOURCE=3 -g -O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -ffile-prefix-map=BUILDDIR=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fdebug-prefix-map=BUILDDIR=/usr/src/ruby3.2-3.2.3-1ubuntu0.24.04.6 -fPIC conftest.c -L. -L/usr/lib/x86_64-linux-gnu -L. -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed -lruby-3.2 -lm -lpthread -lc" +/usr/bin/ld: /tmp/ccUxQ9MP.o: in function `t': +/home/runner/work/onelogin-ruby-sdk/onelogin-ruby-sdk/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/ext/bigdecimal/conftest.c:16:(.text+0xb): undefined reference to `_lzcnt_u64' +collect2: error: ld returned 1 exit status +checked program was: +/* begin */ + 1: #include "ruby.h" + 2: + 3: #include + 4: + 5: /*top*/ + 6: extern int t(void); + 7: int main(int argc, char **argv) + 8: { + 9: if (argc > 1000000) { +10: int (* volatile tp)(void)=(int (*)(void))&t; +11: printf("%d", (*tp)()); +12: } +13: +14: return !!argv[argc]; +15: } +16: int t(void) { void ((*volatile p)()); p = (void ((*)()))_lzcnt_u64; return !p; } +/* end */ + +LD_LIBRARY_PATH=.:/usr/lib/x86_64-linux-gnu "x86_64-linux-gnu-gcc -o conftest -I/usr/include/x86_64-linux-gnu/ruby-3.2.0 -I/usr/include/ruby-3.2.0/ruby/backward -I/usr/include/ruby-3.2.0 -I. -Wdate-time -D_FORTIFY_SOURCE=3 -g -O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -ffile-prefix-map=BUILDDIR=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fdebug-prefix-map=BUILDDIR=/usr/src/ruby3.2-3.2.3-1ubuntu0.24.04.6 -fPIC conftest.c -L. -L/usr/lib/x86_64-linux-gnu -L. -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed -lruby-3.2 -lm -lpthread -lc" +conftest.c:16:13: error: conflicting types for ‘_lzcnt_u64’; have ‘void()’ + 16 | extern void _lzcnt_u64(); + | ^~~~~~~~~~ +In file included from /usr/lib/gcc/x86_64-linux-gnu/13/include/x86gprintrin.h:61, + from /usr/lib/gcc/x86_64-linux-gnu/13/include/x86intrin.h:27, + from conftest.c:3: +/usr/lib/gcc/x86_64-linux-gnu/13/include/lzcntintrin.h:64:1: note: previous definition of ‘_lzcnt_u64’ with type ‘long long unsigned int(long long unsigned int)’ + 64 | _lzcnt_u64 (unsigned long long __X) + | ^~~~~~~~~~ +checked program was: +/* begin */ + 1: #include "ruby.h" + 2: + 3: #include + 4: + 5: /*top*/ + 6: extern int t(void); + 7: int main(int argc, char **argv) + 8: { + 9: if (argc > 1000000) { +10: int (* volatile tp)(void)=(int (*)(void))&t; +11: printf("%d", (*tp)()); +12: } +13: +14: return !!argv[argc]; +15: } +16: extern void _lzcnt_u64(); +17: int t(void) { _lzcnt_u64(); return 0; } +/* end */ + +-------------------- + +have_header: checking for intrin.h... -------------------- no + +LD_LIBRARY_PATH=.:/usr/lib/x86_64-linux-gnu "x86_64-linux-gnu-gcc -I/usr/include/x86_64-linux-gnu/ruby-3.2.0 -I/usr/include/ruby-3.2.0/ruby/backward -I/usr/include/ruby-3.2.0 -I. -Wdate-time -D_FORTIFY_SOURCE=3 -g -O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -ffile-prefix-map=BUILDDIR=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fdebug-prefix-map=BUILDDIR=/usr/src/ruby3.2-3.2.3-1ubuntu0.24.04.6 -fPIC -c conftest.c" +conftest.c:3:10: fatal error: intrin.h: No such file or directory + 3 | #include + | ^~~~~~~~~~ +compilation terminated. +checked program was: +/* begin */ +1: #include "ruby.h" +2: +3: #include +/* end */ + +-------------------- + +have_header: checking for ruby/atomic.h... -------------------- yes + +LD_LIBRARY_PATH=.:/usr/lib/x86_64-linux-gnu "x86_64-linux-gnu-gcc -I/usr/include/x86_64-linux-gnu/ruby-3.2.0 -I/usr/include/ruby-3.2.0/ruby/backward -I/usr/include/ruby-3.2.0 -I. -Wdate-time -D_FORTIFY_SOURCE=3 -g -O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -ffile-prefix-map=BUILDDIR=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fdebug-prefix-map=BUILDDIR=/usr/src/ruby3.2-3.2.3-1ubuntu0.24.04.6 -fPIC -c conftest.c" +checked program was: +/* begin */ +1: #include "ruby.h" +2: +3: #include +/* end */ + +-------------------- + +have_header: checking for ruby/internal/has/builtin.h... -------------------- yes + +LD_LIBRARY_PATH=.:/usr/lib/x86_64-linux-gnu "x86_64-linux-gnu-gcc -I/usr/include/x86_64-linux-gnu/ruby-3.2.0 -I/usr/include/ruby-3.2.0/ruby/backward -I/usr/include/ruby-3.2.0 -I. -Wdate-time -D_FORTIFY_SOURCE=3 -g -O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -ffile-prefix-map=BUILDDIR=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fdebug-prefix-map=BUILDDIR=/usr/src/ruby3.2-3.2.3-1ubuntu0.24.04.6 -fPIC -c conftest.c" +checked program was: +/* begin */ +1: #include "ruby.h" +2: +3: #include +/* end */ + +-------------------- + +have_header: checking for ruby/internal/static_assert.h... -------------------- yes + +LD_LIBRARY_PATH=.:/usr/lib/x86_64-linux-gnu "x86_64-linux-gnu-gcc -I/usr/include/x86_64-linux-gnu/ruby-3.2.0 -I/usr/include/ruby-3.2.0/ruby/backward -I/usr/include/ruby-3.2.0 -I. -Wdate-time -D_FORTIFY_SOURCE=3 -g -O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -ffile-prefix-map=BUILDDIR=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fdebug-prefix-map=BUILDDIR=/usr/src/ruby3.2-3.2.3-1ubuntu0.24.04.6 -fPIC -c conftest.c" +checked program was: +/* begin */ +1: #include "ruby.h" +2: +3: #include +/* end */ + +-------------------- + +have_func: checking for rb_complex_real() in ruby.h... -------------------- yes + +LD_LIBRARY_PATH=.:/usr/lib/x86_64-linux-gnu "x86_64-linux-gnu-gcc -o conftest -I/usr/include/x86_64-linux-gnu/ruby-3.2.0 -I/usr/include/ruby-3.2.0/ruby/backward -I/usr/include/ruby-3.2.0 -I. -Wdate-time -D_FORTIFY_SOURCE=3 -g -O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -ffile-prefix-map=BUILDDIR=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fdebug-prefix-map=BUILDDIR=/usr/src/ruby3.2-3.2.3-1ubuntu0.24.04.6 -fPIC conftest.c -L. -L/usr/lib/x86_64-linux-gnu -L. -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed -lruby-3.2 -lm -lpthread -lc" +checked program was: +/* begin */ + 1: #include "ruby.h" + 2: + 3: #include + 4: + 5: /*top*/ + 6: extern int t(void); + 7: int main(int argc, char **argv) + 8: { + 9: if (argc > 1000000) { +10: int (* volatile tp)(void)=(int (*)(void))&t; +11: printf("%d", (*tp)()); +12: } +13: +14: return !!argv[argc]; +15: } +16: int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_complex_real; return !p; } +/* end */ + +-------------------- + +have_func: checking for rb_complex_imag() in ruby.h... -------------------- yes + +LD_LIBRARY_PATH=.:/usr/lib/x86_64-linux-gnu "x86_64-linux-gnu-gcc -o conftest -I/usr/include/x86_64-linux-gnu/ruby-3.2.0 -I/usr/include/ruby-3.2.0/ruby/backward -I/usr/include/ruby-3.2.0 -I. -Wdate-time -D_FORTIFY_SOURCE=3 -g -O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -ffile-prefix-map=BUILDDIR=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fdebug-prefix-map=BUILDDIR=/usr/src/ruby3.2-3.2.3-1ubuntu0.24.04.6 -fPIC conftest.c -L. -L/usr/lib/x86_64-linux-gnu -L. -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed -lruby-3.2 -lm -lpthread -lc" +checked program was: +/* begin */ + 1: #include "ruby.h" + 2: + 3: #include + 4: + 5: /*top*/ + 6: extern int t(void); + 7: int main(int argc, char **argv) + 8: { + 9: if (argc > 1000000) { +10: int (* volatile tp)(void)=(int (*)(void))&t; +11: printf("%d", (*tp)()); +12: } +13: +14: return !!argv[argc]; +15: } +16: int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_complex_imag; return !p; } +/* end */ + +-------------------- + +have_func: checking for rb_opts_exception_p() in ruby.h... -------------------- yes + +LD_LIBRARY_PATH=.:/usr/lib/x86_64-linux-gnu "x86_64-linux-gnu-gcc -o conftest -I/usr/include/x86_64-linux-gnu/ruby-3.2.0 -I/usr/include/ruby-3.2.0/ruby/backward -I/usr/include/ruby-3.2.0 -I. -Wdate-time -D_FORTIFY_SOURCE=3 -g -O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -ffile-prefix-map=BUILDDIR=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fdebug-prefix-map=BUILDDIR=/usr/src/ruby3.2-3.2.3-1ubuntu0.24.04.6 -fPIC conftest.c -L. -L/usr/lib/x86_64-linux-gnu -L. -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed -lruby-3.2 -lm -lpthread -lc" +conftest.c: In function ‘t’: +conftest.c:16:57: error: ‘rb_opts_exception_p’ undeclared (first use in this function); did you mean ‘rb_make_exception’? + 16 | int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_opts_exception_p; return !p; } + | ^~~~~~~~~~~~~~~~~~~ + | rb_make_exception +conftest.c:16:57: note: each undeclared identifier is reported only once for each function it appears in +checked program was: +/* begin */ + 1: #include "ruby.h" + 2: + 3: #include + 4: + 5: /*top*/ + 6: extern int t(void); + 7: int main(int argc, char **argv) + 8: { + 9: if (argc > 1000000) { +10: int (* volatile tp)(void)=(int (*)(void))&t; +11: printf("%d", (*tp)()); +12: } +13: +14: return !!argv[argc]; +15: } +16: int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_opts_exception_p; return !p; } +/* end */ + +LD_LIBRARY_PATH=.:/usr/lib/x86_64-linux-gnu "x86_64-linux-gnu-gcc -o conftest -I/usr/include/x86_64-linux-gnu/ruby-3.2.0 -I/usr/include/ruby-3.2.0/ruby/backward -I/usr/include/ruby-3.2.0 -I. -Wdate-time -D_FORTIFY_SOURCE=3 -g -O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -ffile-prefix-map=BUILDDIR=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fdebug-prefix-map=BUILDDIR=/usr/src/ruby3.2-3.2.3-1ubuntu0.24.04.6 -fPIC conftest.c -L. -L/usr/lib/x86_64-linux-gnu -L. -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed -lruby-3.2 -lm -lpthread -lc" +checked program was: +/* begin */ + 1: #include "ruby.h" + 2: + 3: #include + 4: + 5: /*top*/ + 6: extern int t(void); + 7: int main(int argc, char **argv) + 8: { + 9: if (argc > 1000000) { +10: int (* volatile tp)(void)=(int (*)(void))&t; +11: printf("%d", (*tp)()); +12: } +13: +14: return !!argv[argc]; +15: } +16: extern void rb_opts_exception_p(); +17: int t(void) { rb_opts_exception_p(); return 0; } +/* end */ + +-------------------- + +have_func: checking for rb_category_warn() in ruby.h... -------------------- yes + +LD_LIBRARY_PATH=.:/usr/lib/x86_64-linux-gnu "x86_64-linux-gnu-gcc -o conftest -I/usr/include/x86_64-linux-gnu/ruby-3.2.0 -I/usr/include/ruby-3.2.0/ruby/backward -I/usr/include/ruby-3.2.0 -I. -Wdate-time -D_FORTIFY_SOURCE=3 -g -O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -ffile-prefix-map=BUILDDIR=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fdebug-prefix-map=BUILDDIR=/usr/src/ruby3.2-3.2.3-1ubuntu0.24.04.6 -fPIC conftest.c -L. -L/usr/lib/x86_64-linux-gnu -L. -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed -lruby-3.2 -lm -lpthread -lc" +checked program was: +/* begin */ + 1: #include "ruby.h" + 2: + 3: #include + 4: + 5: /*top*/ + 6: extern int t(void); + 7: int main(int argc, char **argv) + 8: { + 9: if (argc > 1000000) { +10: int (* volatile tp)(void)=(int (*)(void))&t; +11: printf("%d", (*tp)()); +12: } +13: +14: return !!argv[argc]; +15: } +16: int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_category_warn; return !p; } +/* end */ + +-------------------- + +have_const: checking for RB_WARN_CATEGORY_DEPRECATED in ruby.h... -------------------- yes + +LD_LIBRARY_PATH=.:/usr/lib/x86_64-linux-gnu "x86_64-linux-gnu-gcc -I/usr/include/x86_64-linux-gnu/ruby-3.2.0 -I/usr/include/ruby-3.2.0/ruby/backward -I/usr/include/ruby-3.2.0 -I. -Wdate-time -D_FORTIFY_SOURCE=3 -g -O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -ffile-prefix-map=BUILDDIR=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fdebug-prefix-map=BUILDDIR=/usr/src/ruby3.2-3.2.3-1ubuntu0.24.04.6 -fPIC -c conftest.c" +checked program was: +/* begin */ +1: #include "ruby.h" +2: +3: #include +4: +5: /*top*/ +6: typedef int conftest_type; +7: conftest_type conftestval = (int)RB_WARN_CATEGORY_DEPRECATED; +/* end */ + +-------------------- + diff --git a/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux-gnu/3.2.0/racc-1.8.1/gem.build_complete b/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux-gnu/3.2.0/racc-1.8.1/gem.build_complete new file mode 100644 index 0000000..e69de29 diff --git a/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux-gnu/3.2.0/racc-1.8.1/gem_make.out b/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux-gnu/3.2.0/racc-1.8.1/gem_make.out new file mode 100644 index 0000000..5689e13 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux-gnu/3.2.0/racc-1.8.1/gem_make.out @@ -0,0 +1,18 @@ +current directory: /home/runner/work/onelogin-ruby-sdk/onelogin-ruby-sdk/vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/ext/racc/cparse +/usr/bin/ruby3.2 -I/usr/lib/ruby/vendor_ruby extconf.rb +creating Makefile + +current directory: /home/runner/work/onelogin-ruby-sdk/onelogin-ruby-sdk/vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/ext/racc/cparse +make DESTDIR\= sitearchdir\=./.gem.20251029-3435-l9mcwx sitelibdir\=./.gem.20251029-3435-l9mcwx clean + +current directory: /home/runner/work/onelogin-ruby-sdk/onelogin-ruby-sdk/vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/ext/racc/cparse +make DESTDIR\= sitearchdir\=./.gem.20251029-3435-l9mcwx sitelibdir\=./.gem.20251029-3435-l9mcwx +compiling cparse.c +linking shared-object racc/cparse.so + +current directory: /home/runner/work/onelogin-ruby-sdk/onelogin-ruby-sdk/vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/ext/racc/cparse +make DESTDIR\= sitearchdir\=./.gem.20251029-3435-l9mcwx sitelibdir\=./.gem.20251029-3435-l9mcwx install +/usr/bin/install -c -m 0755 cparse.so ./.gem.20251029-3435-l9mcwx/racc + +current directory: /home/runner/work/onelogin-ruby-sdk/onelogin-ruby-sdk/vendor/bundle/ruby/3.2.0/gems/racc-1.8.1/ext/racc/cparse +make DESTDIR\= sitearchdir\=./.gem.20251029-3435-l9mcwx sitelibdir\=./.gem.20251029-3435-l9mcwx clean diff --git a/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux-gnu/3.2.0/racc-1.8.1/racc/cparse.so b/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux-gnu/3.2.0/racc-1.8.1/racc/cparse.so new file mode 100755 index 0000000000000000000000000000000000000000..190a27e180d75e3ac7ff818dedfc25b8bcba7487 GIT binary patch literal 97136 zcmeFacX(CB7B@Wml$<0d$q5N1^b-tCTIfZP1PGjHP(VPeAwYmAgcuTv1#%52F@j)4 zMdjKq*NRtBt_87BELX8($9|5emuo?6N0`i$~X(nz|^G^x@wt@)W1 z<{w;P`RkI30l5U`m-2S%A{_+1gNB+YwM-YJ2E}wwduL0F}j`}u&Fm! z>&?}ACRG&RrPD;4QZz%@r1_20u$D7vW4+y4uW_2A^-Rh#c%AW8)vW)M@+KI)Nw%F$ zjneCFwlb+HZzA;Qm;bMqcBh)8%R5#a4(K?T)bu)*OB)RDxYMT4-P_62;^OP(nr8lt z&}*+Gz5e+BLZ5v3~$KYRZ4E|fkD7Wn~>UsAuB#k0BpE27l)<>`XZZzr``^ zlpRCaoZJ@@N`vau~wZ|Hlwn7#?oH>d-v&ZmhaYxU!&!RG~!oizN)bGjD16IU10MQkeDfiob4`t&=!%u zyIuTNF8&@DKg-46>*BX|@%Op-?Ogn*i{I15Kj7l`cJXV; zeD_9fy^F7J5yaL;7oR>d*CrRAWt(fWi|_avnOj|abO`6#?&2pqT%~rq_$e;_9v2@S z&AIlv_-PJTseLYf$iAvq+p9bcdm^*(xy*@u-q6r6 zd#%tsn2Ws`r+LsAdp=I{fG+m0IL(8(*qw2j2Xe7%<1`QAVwcBh9zMk?<1`Q6Vl(12 z58Pst;xrH1Vx!_T4>)7};xrH3Vx8hN587fGaXO8(Cr*b*|9IGGFAvmWpT}t)q{ZHh z(>y?nJs+oea2ESloaTX9?9MpNgRbVKJsNrM8|7+;H^VB2hZH?&18_^Fn zqVH`)-`OMeQzWB z_D1xL4!wFbS8#_Lrf*XS%^7>Ca0+Go9J*uFsF~3;COQkv~UxNZsHGgdq?aC zH}M&WwUN~$CZckY)&5hM3_VoU0#oII!bK3n7mwqer!aHQ@) z$u1`-?g+2hRUbAGQG@iDShb&n~L+7b5=jnsWrl@h5R zu?(Iz3{Sm3Z zBr)2676ZwO9<-5e(eG^}H~OWG42gbdBY9EIKM;;YU$T)2(d{-eE&7CwOpiWfBNfqm zY-CAvgCI}UphnTPHolhl3L9Tfe2I;3BtFl^_X3a9pLgh`*g0U#p4~gtaRpdPO^K}b zZ6Olrz7x&LpIlh?=NXauR*||VwvxMg;O|%s5S3b-+DF&Gb%php=3x09_^$}~buUCu zWC?YkUebuJ2MzW8J8l2cxA{}^ zrxez`!@9hB2ArH8sXgoqt@t0z7S^Fd{FHZaXQ0|2S$VK}0?LUVqKVb1KjC>pWOa*Q znAE+HUq3b-JuI`Zepxtr#UCQ^l4L!P{xg3ZZS6(#≷E`XPO{M=yezwMF#_MRnV2 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£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 C+248q literal 0 HcmV?d00001 diff --git a/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/LICENSE b/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/LICENSE new file mode 100644 index 0000000..a1f19ff --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/LICENSE @@ -0,0 +1,56 @@ +Ruby is copyrighted free software by Yukihiro Matsumoto . +You can redistribute it and/or modify it under either the terms of the +2-clause BSDL (see the file BSDL), or the conditions below: + + 1. You may make and give away verbatim copies of the source form of the + software without restriction, provided that you duplicate all of the + original copyright notices and associated disclaimers. + + 2. You may modify your copy of the software in any way, provided that + you do at least ONE of the following: + + a) place your modifications in the Public Domain or otherwise + make them Freely Available, such as by posting said + modifications to Usenet or an equivalent medium, or by allowing + the author to include your modifications in the software. + + b) use the modified software only within your corporation or + organization. + + c) give non-standard binaries non-standard names, with + instructions on where to get the original software distribution. + + d) make other distribution arrangements with the author. + + 3. You may distribute the software in object code or binary form, + provided that you do at least ONE of the following: + + a) distribute the binaries and library files of the software, + together with instructions (in the manual page or equivalent) + on where to get the original distribution. + + b) accompany the distribution with the machine-readable source of + the software. + + c) give non-standard binaries non-standard names, with + instructions on where to get the original software distribution. + + d) make other distribution arrangements with the author. + + 4. You may modify and include the part of the software into any other + software (possibly commercial). But some files in the distribution + are not written by the author, so that they are not under these terms. + + For the list of those files and their copying conditions, see the + file LEGAL. + + 5. The scripts and library files supplied as input to or produced as + output from the software do not automatically fall under the + copyright of the software, but belong to whomever generated them, + and may be sold commercially, and may be aggregated with this + software. + + 6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. diff --git a/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/bigdecimal.gemspec b/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/bigdecimal.gemspec new file mode 100644 index 0000000..b6ef8fd --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/bigdecimal.gemspec @@ -0,0 +1,57 @@ +# coding: utf-8 + +name = File.basename(__FILE__, '.*') +source_version = ["", "ext/#{name}/"].find do |dir| + begin + break File.foreach(File.join(__dir__, "#{dir}#{name}.c")) {|line| + break $1.sub("-", ".") if /^#define\s+#{name.upcase}_VERSION\s+"(.+)"/o =~ line + } + rescue Errno::ENOENT + end +end or raise "can't find #{name.upcase}_VERSION" + +Gem::Specification.new do |s| + s.name = name + s.version = source_version + s.authors = ["Kenta Murata", "Zachary Scott", "Shigeo Kobayashi"] + s.email = ["mrkn@mrkn.jp"] + + s.summary = "Arbitrary-precision decimal floating-point number library." + s.description = "This library provides arbitrary-precision decimal floating-point number class." + s.homepage = "https://github.com/ruby/bigdecimal" + s.licenses = ["Ruby", "BSD-2-Clause"] + + s.require_paths = %w[lib] + s.files = %w[ + LICENSE + bigdecimal.gemspec + lib/bigdecimal.rb + lib/bigdecimal/jacobian.rb + lib/bigdecimal/ludcmp.rb + lib/bigdecimal/math.rb + lib/bigdecimal/newton.rb + lib/bigdecimal/util.rb + sample/linear.rb + sample/nlsolve.rb + sample/pi.rb + ] + if Gem::Platform === s.platform and s.platform =~ 'java' or RUBY_ENGINE == 'jruby' + s.platform = 'java' + else + s.extensions = %w[ext/bigdecimal/extconf.rb] + s.files += %w[ + ext/bigdecimal/bigdecimal.c + ext/bigdecimal/bigdecimal.h + ext/bigdecimal/bits.h + ext/bigdecimal/feature.h + ext/bigdecimal/missing.c + ext/bigdecimal/missing.h + ext/bigdecimal/missing/dtoa.c + ext/bigdecimal/static_assert.h + ] + end + + s.required_ruby_version = Gem::Requirement.new(">= 2.5.0") + + s.metadata["changelog_uri"] = s.homepage + "/blob/master/CHANGES.md" +end diff --git a/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/ext/bigdecimal/Makefile b/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/ext/bigdecimal/Makefile new file mode 100644 index 0000000..f9ceffa --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/ext/bigdecimal/Makefile @@ -0,0 +1,270 @@ + +SHELL = /bin/sh + +# V=0 quiet, V=1 verbose. other values don't work. +V = 0 +V0 = $(V:0=) +Q1 = $(V:1=) +Q = $(Q1:0=@) +ECHO1 = $(V:1=@ :) +ECHO = $(ECHO1:0=@ echo) +NULLCMD = : + +#### Start of system configuration section. #### + +srcdir = . +topdir = /usr/include/ruby-3.2.0 +hdrdir = $(topdir) +arch_hdrdir = /usr/include/x86_64-linux-gnu/ruby-3.2.0 +PATH_SEPARATOR = : +VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby +prefix = $(DESTDIR)/usr +rubysitearchprefix = $(sitearchlibdir)/$(RUBY_BASE_NAME) +rubyarchprefix = $(archlibdir)/$(RUBY_BASE_NAME) +rubylibprefix = $(libdir)/$(RUBY_BASE_NAME) +exec_prefix = $(prefix) +vendorarchhdrdir = $(sitearchincludedir)/$(RUBY_VERSION_NAME)/vendor_ruby +sitearchhdrdir = $(sitearchincludedir)/$(RUBY_VERSION_NAME)/site_ruby +rubyarchhdrdir = $(archincludedir)/$(RUBY_VERSION_NAME) +vendorhdrdir = $(rubyhdrdir)/vendor_ruby +sitehdrdir = $(rubyhdrdir)/site_ruby +rubyhdrdir = $(includedir)/$(RUBY_VERSION_NAME) +vendorarchdir = $(rubysitearchprefix)/vendor_ruby/$(ruby_version) +vendorlibdir = $(vendordir)/$(ruby_version) +vendordir = $(rubylibprefix)/vendor_ruby +sitearchdir = $(DESTDIR)/usr/local/lib/x86_64-linux-gnu/site_ruby +sitelibdir = $(sitedir)/$(ruby_version) +sitedir = $(DESTDIR)/usr/local/lib/site_ruby +rubyarchdir = $(rubyarchprefix)/$(ruby_version) +rubylibdir = $(rubylibprefix)/$(ruby_version) +sitearchincludedir = $(includedir)/$(sitearch) +archincludedir = $(includedir)/$(arch) +sitearchlibdir = $(libdir)/$(sitearch) +archlibdir = $(libdir)/$(arch) +ridir = $(datarootdir)/$(RI_BASE_NAME) +mandir = $(datarootdir)/man +localedir = $(datarootdir)/locale +libdir = $(exec_prefix)/lib +psdir = $(docdir) +pdfdir = $(docdir) +dvidir = $(docdir) +htmldir = $(docdir) +infodir = $(datarootdir)/info +docdir = $(datarootdir)/doc/$(PACKAGE) +oldincludedir = $(DESTDIR)/usr/include +includedir = $(prefix)/include +runstatedir = $(DESTDIR)/var/run +localstatedir = $(DESTDIR)/var +sharedstatedir = $(prefix)/com +sysconfdir = $(DESTDIR)/etc +datadir = $(datarootdir) +datarootdir = $(prefix)/share +libexecdir = $(exec_prefix)/libexec +sbindir = $(exec_prefix)/sbin +bindir = $(exec_prefix)/bin +archdir = $(rubyarchdir) + + +CC_WRAPPER = +CC = x86_64-linux-gnu-gcc +CXX = x86_64-linux-gnu-g++ +LIBRUBY = $(LIBRUBY_SO) +LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a +LIBRUBYARG_SHARED = -l$(RUBY_SO_NAME) +LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)-static $(MAINLIBS) +empty = +OUTFLAG = -o $(empty) +COUTFLAG = -o $(empty) +CSRCFLAG = $(empty) + +RUBY_EXTCONF_H = +cflags = $(optflags) $(debugflags) $(warnflags) +cxxflags = +optflags = -O3 -fno-fast-math +debugflags = -ggdb3 +warnflags = -Wall -Wextra -Wdeprecated-declarations -Wdiv-by-zero -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wold-style-definition -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wundef +cppflags = +CCDLFLAGS = -fPIC +CFLAGS = $(CCDLFLAGS) -g -O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -ffile-prefix-map=BUILDDIR=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fdebug-prefix-map=BUILDDIR=/usr/src/ruby3.2-3.2.3-1ubuntu0.24.04.6 -fPIC $(ARCH_FLAG) +INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir) +DEFS = +CPPFLAGS = -DHAVE_BUILTIN___BUILTIN_CLZ -DHAVE_BUILTIN___BUILTIN_CLZL -DHAVE_BUILTIN___BUILTIN_CLZLL -DHAVE_FLOAT_H -DHAVE_MATH_H -DHAVE_STDBOOL_H -DHAVE_STDLIB_H -DHAVE_X86INTRIN_H -DHAVE_RUBY_ATOMIC_H -DHAVE_RUBY_INTERNAL_HAS_BUILTIN_H -DHAVE_RUBY_INTERNAL_STATIC_ASSERT_H -DHAVE_RB_COMPLEX_REAL -DHAVE_RB_COMPLEX_IMAG -DHAVE_RB_OPTS_EXCEPTION_P -DHAVE_RB_CATEGORY_WARN -DHAVE_CONST_RB_WARN_CATEGORY_DEPRECATED -Wdate-time -D_FORTIFY_SOURCE=3 $(DEFS) $(cppflags) +CXXFLAGS = $(CCDLFLAGS) -g -O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -ffile-prefix-map=BUILDDIR=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fdebug-prefix-map=BUILDDIR=/usr/src/ruby3.2-3.2.3-1ubuntu0.24.04.6 $(ARCH_FLAG) +ldflags = -L. -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed +dldflags = -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now +ARCH_FLAG = +DLDFLAGS = $(ldflags) $(dldflags) $(ARCH_FLAG) +LDSHARED = $(CC) -shared +LDSHAREDXX = $(CXX) -shared +AR = x86_64-linux-gnu-gcc-ar +EXEEXT = + +RUBY_INSTALL_NAME = $(RUBY_BASE_NAME)3.2 +RUBY_SO_NAME = ruby-3.2 +RUBYW_INSTALL_NAME = +RUBY_VERSION_NAME = $(RUBY_BASE_NAME)-$(ruby_version) +RUBYW_BASE_NAME = rubyw +RUBY_BASE_NAME = ruby + +arch = x86_64-linux-gnu +sitearch = $(arch) +ruby_version = 3.2.0 +ruby = $(bindir)/$(RUBY_BASE_NAME)3.2 +RUBY = $(ruby) +BUILTRUBY = $(bindir)/$(RUBY_BASE_NAME)3.2 +ruby_headers = $(hdrdir)/ruby.h $(hdrdir)/ruby/backward.h $(hdrdir)/ruby/ruby.h $(hdrdir)/ruby/defines.h $(hdrdir)/ruby/missing.h $(hdrdir)/ruby/intern.h $(hdrdir)/ruby/st.h $(hdrdir)/ruby/subst.h $(arch_hdrdir)/ruby/config.h + +RM = rm -f +RM_RF = rm -fr +RMDIRS = rmdir --ignore-fail-on-non-empty -p +MAKEDIRS = /bin/mkdir -p +INSTALL = /usr/bin/install -c +INSTALL_PROG = $(INSTALL) -m 0755 +INSTALL_DATA = $(INSTALL) -m 644 +COPY = cp +TOUCH = exit > + +#### End of system configuration section. #### + +preload = +libpath = . $(archlibdir) +LIBPATH = -L. -L$(archlibdir) +DEFFILE = + +CLEANFILES = mkmf.log +DISTCLEANFILES = +DISTCLEANDIRS = + +extout = +extout_prefix = +target_prefix = +LOCAL_LIBS = +LIBS = $(LIBRUBYARG_SHARED) -lm -lpthread -lc +ORIG_SRCS = bigdecimal.c missing.c +SRCS = $(ORIG_SRCS) +OBJS = bigdecimal.o missing.o +HDRS = $(srcdir)/bigdecimal.h $(srcdir)/bits.h $(srcdir)/feature.h $(srcdir)/missing.h $(srcdir)/static_assert.h +LOCAL_HDRS = +TARGET = bigdecimal +TARGET_NAME = bigdecimal +TARGET_ENTRY = Init_$(TARGET_NAME) +DLLIB = $(TARGET).so +EXTSTATIC = +STATIC_LIB = + +TIMESTAMP_DIR = . +BINDIR = $(bindir) +RUBYCOMMONDIR = $(sitedir)$(target_prefix) +RUBYLIBDIR = $(sitelibdir)$(target_prefix) +RUBYARCHDIR = $(sitearchdir)$(target_prefix) +HDRDIR = $(sitehdrdir)$(target_prefix) +ARCHHDRDIR = $(sitearchhdrdir)$(target_prefix) +TARGET_SO_DIR = +TARGET_SO = $(TARGET_SO_DIR)$(DLLIB) +CLEANLIBS = $(TARGET_SO) false +CLEANOBJS = $(OBJS) *.bak +TARGET_SO_DIR_TIMESTAMP = $(TIMESTAMP_DIR)/.sitearchdir.time +BIGDECIMAL_RB = $(srcdir)/../../lib/bigdecimal.rb + +all: $(DLLIB) +static: $(STATIC_LIB) +.PHONY: all install static install-so install-rb +.PHONY: clean clean-so clean-static clean-rb + +clean-static:: +clean-rb-default:: +clean-rb:: +clean-so:: +clean: clean-so clean-static clean-rb-default clean-rb + -$(Q)$(RM_RF) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES) .*.time + +distclean-rb-default:: +distclean-rb:: +distclean-so:: +distclean-static:: +distclean: clean distclean-so distclean-static distclean-rb-default distclean-rb + -$(Q)$(RM) Makefile $(RUBY_EXTCONF_H) conftest.* mkmf.log + -$(Q)$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES) + -$(Q)$(RMDIRS) $(DISTCLEANDIRS) 2> /dev/null || true + +realclean: distclean +install: install-so install-rb + +install-so: $(DLLIB) $(TARGET_SO_DIR_TIMESTAMP) + $(INSTALL_PROG) $(DLLIB) $(RUBYARCHDIR) +clean-static:: + -$(Q)$(RM) $(STATIC_LIB) +install-rb: pre-install-rb do-install-rb install-rb-default +install-rb-default: pre-install-rb-default do-install-rb-default +pre-install-rb: Makefile +pre-install-rb-default: Makefile +do-install-rb: +do-install-rb-default: +pre-install-rb-default: + @$(NULLCMD) +$(TARGET_SO_DIR_TIMESTAMP): + $(Q) $(MAKEDIRS) $(@D) $(RUBYARCHDIR) + $(Q) $(TOUCH) $@ + +site-install: site-install-so site-install-rb +site-install-so: install-so +site-install-rb: install-rb + +.SUFFIXES: .c .m .cc .mm .cxx .cpp .o .S + +.cc.o: + $(ECHO) compiling $(<) + $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< + +.cc.S: + $(ECHO) translating $(<) + $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< + +.mm.o: + $(ECHO) compiling $(<) + $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< + +.mm.S: + $(ECHO) translating $(<) + $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< + +.cxx.o: + $(ECHO) compiling $(<) + $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< + +.cxx.S: + $(ECHO) translating $(<) + $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< + +.cpp.o: + $(ECHO) compiling $(<) + $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< + +.cpp.S: + $(ECHO) translating $(<) + $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< + +.c.o: + $(ECHO) compiling $(<) + $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< + +.c.S: + $(ECHO) translating $(<) + $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< + +.m.o: + $(ECHO) compiling $(<) + $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< + +.m.S: + $(ECHO) translating $(<) + $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< + +$(TARGET_SO): $(OBJS) Makefile + $(ECHO) linking shared-object $(DLLIB) + -$(Q)$(RM) $(@) + $(Q) $(LDSHARED) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS) + + + +$(OBJS): $(HDRS) $(ruby_headers) diff --git a/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/ext/bigdecimal/bigdecimal.c b/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/ext/bigdecimal/bigdecimal.c new file mode 100644 index 0000000..594459d --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/ext/bigdecimal/bigdecimal.c @@ -0,0 +1,6238 @@ +/* + * + * Ruby BigDecimal(Variable decimal precision) extension library. + * + * Copyright(C) 2002 by Shigeo Kobayashi(shigeo@tinyforest.gr.jp) + * + */ + +/* #define BIGDECIMAL_DEBUG 1 */ + +#include "bigdecimal.h" +#include "ruby/util.h" + +#ifndef BIGDECIMAL_DEBUG +# undef NDEBUG +# define NDEBUG +#endif +#include + +#include +#include +#include +#include +#include +#include + +#ifdef HAVE_IEEEFP_H +#include +#endif + +#include "bits.h" +#include "static_assert.h" + +#define BIGDECIMAL_VERSION "3.3.1" + +/* #define ENABLE_NUMERIC_STRING */ + +#define SIGNED_VALUE_MAX INTPTR_MAX +#define SIGNED_VALUE_MIN INTPTR_MIN +#define MUL_OVERFLOW_SIGNED_VALUE_P(a, b) MUL_OVERFLOW_SIGNED_INTEGER_P(a, b, SIGNED_VALUE_MIN, SIGNED_VALUE_MAX) +#define ADD_OVERFLOW_SIGNED_VALUE_P(a, b) ADD_OVERFLOW_SIGNED_INTEGER_P(a, b, SIGNED_VALUE_MIN, SIGNED_VALUE_MAX) + +/* max_value = 0.9999_9999_9999E[exponent], exponent <= SIGNED_VALUE_MAX */ +#define VP_EXPONENT_MAX (SIGNED_VALUE_MAX / BASE_FIG) +/* min_value = 0.0001_0000_0000E[exponent], exponent-(BASE_FIG-1) >= SIGNED_VALUE_MIN */ +#define VP_EXPONENT_MIN ((SIGNED_VALUE_MIN + BASE_FIG - 1) / BASE_FIG) +#define EXPONENT_MAX (VP_EXPONENT_MAX * BASE_FIG) +#define EXPONENT_MIN (VP_EXPONENT_MIN * BASE_FIG - (BASE_FIG - 1)) + +VALUE rb_cBigDecimal; + +static ID id_BigDecimal_exception_mode; +static ID id_BigDecimal_rounding_mode; +static ID id_BigDecimal_precision_limit; + +static ID id_up; +static ID id_down; +static ID id_truncate; +static ID id_half_up; +static ID id_default; +static ID id_half_down; +static ID id_half_even; +static ID id_banker; +static ID id_ceiling; +static ID id_ceil; +static ID id_floor; +static ID id_to_r; +static ID id_eq; +static ID id_half; + +#define RBD_NUM_ROUNDING_MODES 11 + +static struct { + ID id; + uint8_t mode; +} rbd_rounding_modes[RBD_NUM_ROUNDING_MODES]; + +typedef struct { + VALUE bigdecimal; + Real *real; +} BDVALUE; + +typedef struct { + VALUE bigdecimal_or_nil; + Real *real_or_null; +} NULLABLE_BDVALUE; + +static inline BDVALUE +bdvalue_nonnullable(NULLABLE_BDVALUE v) +{ + assert(v.real_or_null != NULL); + return (BDVALUE) { v.bigdecimal_or_nil, v.real_or_null }; +} + +static inline NULLABLE_BDVALUE +bdvalue_nullable(BDVALUE v) +{ + return (NULLABLE_BDVALUE) { v.bigdecimal, v.real }; +} + +#define BASE_FIG BIGDECIMAL_COMPONENT_FIGURES +#define BASE BIGDECIMAL_BASE + +#define HALF_BASE (BASE/2) +#define BASE1 (BASE/10) + +#ifndef MAYBE_UNUSED +# define MAYBE_UNUSED(x) x +#endif + +#define BIGDECIMAL_POSITIVE_P(bd) ((bd)->sign > 0) +#define BIGDECIMAL_NEGATIVE_P(bd) ((bd)->sign < 0) + +/* + * ================== Memory allocation ============================ + */ + +#ifdef BIGDECIMAL_DEBUG +static size_t rbd_allocation_count = 0; /* Memory allocation counter */ +static inline void +atomic_allocation_count_inc(void) +{ + RUBY_ATOMIC_SIZE_INC(rbd_allocation_count); +} +static inline void +atomic_allocation_count_dec_nounderflow(void) +{ + if (rbd_allocation_count == 0) return; + RUBY_ATOMIC_SIZE_DEC(rbd_allocation_count); +} +static void +check_allocation_count_nonzero(void) +{ + if (rbd_allocation_count != 0) return; + rb_bug("[bigdecimal][rbd_free_struct] Too many memory free calls"); +} +#else +# define atomic_allocation_count_inc() /* nothing */ +# define atomic_allocation_count_dec_nounderflow() /* nothing */ +# define check_allocation_count_nonzero() /* nothing */ +#endif /* BIGDECIMAL_DEBUG */ + +/* VpMult VpDivd helpers */ +#define VPMULT_RESULT_PREC(a, b) (a->Prec + b->Prec) +/* To calculate VpDivd with n-digits precision, quotient needs n+2*BASE_FIG-1 digits space */ +/* In the worst precision case 0001_1111_1111 / 9999 = 0000_0001_1112, there are 2*BASE_FIG-1 leading zeros */ +#define VPDIVD_QUO_DIGITS(required_digits) ((required_digits) + 2 * BASE_FIG - 1) +/* Required r.MaxPrec for calculating VpDivd(c, r, a, b) */ +#define VPDIVD_REM_PREC(a, b, c) Max(a->Prec, b->Prec + c->MaxPrec - 1) + +static NULLABLE_BDVALUE +CreateFromString(const char *str, VALUE klass, bool strict_p, bool raise_exception); + +PUREFUNC(static inline size_t rbd_struct_size(size_t const)); + +static inline size_t +rbd_struct_size(size_t const internal_digits) +{ + size_t const frac_len = (internal_digits == 0) ? 1 : internal_digits; + return offsetof(Real, frac) + frac_len * sizeof(DECDIG); +} + +static inline Real * +rbd_allocate_struct(size_t const internal_digits) +{ + size_t const size = rbd_struct_size(internal_digits); + Real *real = ruby_xcalloc(1, size); + atomic_allocation_count_inc(); + real->MaxPrec = internal_digits; + return real; +} + +static inline Real * +rbd_allocate_struct_decimal_digits(size_t const decimal_digits) +{ + return rbd_allocate_struct(roomof(decimal_digits, BASE_FIG)); +} + +static void +rbd_free_struct(Real *real) +{ + if (real != NULL) { + check_allocation_count_nonzero(); + ruby_xfree(real); + atomic_allocation_count_dec_nounderflow(); + } +} + +MAYBE_UNUSED(static inline Real * rbd_allocate_struct_zero(int sign, size_t const digits)); +#define NewZero rbd_allocate_struct_zero +static inline Real * +rbd_allocate_struct_zero(int sign, size_t const digits) +{ + Real *real = rbd_allocate_struct_decimal_digits(digits); + VpSetZero(real, sign); + return real; +} + +/* + * ================== Ruby Interface part ========================== + */ +#define DoSomeOne(x,y,f) rb_num_coerce_bin(x,y,f) + +/* + * VP routines used in BigDecimal part + */ +static unsigned short VpGetException(void); +static void VpSetException(unsigned short f); +static void VpCheckException(Real *p, bool always); +static int AddExponent(Real *a, SIGNED_VALUE n); +static VALUE CheckGetValue(BDVALUE v); +static void VpInternalRound(Real *c, size_t ixDigit, DECDIG vPrev, DECDIG v); +static int VpLimitRound(Real *c, size_t ixDigit); +static Real *VpCopy(Real *pv, Real const* const x); +static int VPrint(FILE *fp,const char *cntl_chr,Real *a); + +/* + * **** BigDecimal part **** + */ + +static VALUE BigDecimal_nan(void); +static VALUE BigDecimal_positive_infinity(void); +static VALUE BigDecimal_negative_infinity(void); +static VALUE BigDecimal_positive_zero(void); +static VALUE BigDecimal_negative_zero(void); +static VALUE BigDecimal_addsub_with_coerce(VALUE self, VALUE r, size_t prec, int operation); +static VALUE BigDecimal_mult_with_coerce(VALUE self, VALUE r, size_t prec); + +static void +BigDecimal_delete(void *pv) +{ + rbd_free_struct(pv); +} + +static size_t +BigDecimal_memsize(const void *ptr) +{ + const Real *pv = ptr; + return (sizeof(*pv) + pv->MaxPrec * sizeof(DECDIG)); +} + +#ifndef HAVE_RB_EXT_RACTOR_SAFE +# undef RUBY_TYPED_FROZEN_SHAREABLE +# define RUBY_TYPED_FROZEN_SHAREABLE 0 +#endif + +static const rb_data_type_t BigDecimal_data_type = { + "BigDecimal", + { 0, BigDecimal_delete, BigDecimal_memsize, }, +#ifdef RUBY_TYPED_FREE_IMMEDIATELY + 0, 0, RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_FROZEN_SHAREABLE | RUBY_TYPED_WB_PROTECTED +#endif +}; + +// TypedData_Wrap_Struct may fail if there is no memory, or GC.add_stress_to_class(BigDecimal) is set. +// We need to first allocate empty struct, allocate Real struct, and then set the data pointer. +typedef struct { VALUE _obj; } NULL_WRAPPED_VALUE; +static NULL_WRAPPED_VALUE +BigDecimal_alloc_empty_struct(VALUE klass) +{ + return (NULL_WRAPPED_VALUE) { TypedData_Wrap_Struct(klass, &BigDecimal_data_type, NULL) }; +} + +static VALUE +BigDecimal_wrap_struct(NULL_WRAPPED_VALUE v, Real *real) +{ + VALUE obj = v._obj; + assert(RTYPEDDATA_DATA(obj) == NULL); + RTYPEDDATA_DATA(obj) = real; + RB_OBJ_FREEZE(obj); + return obj; +} + +MAYBE_UNUSED(static inline BDVALUE rbd_allocate_struct_zero_wrap(int sign, size_t const digits)); +#define NewZeroWrap rbd_allocate_struct_zero_wrap +static BDVALUE +rbd_allocate_struct_zero_wrap(int sign, size_t const digits) +{ + NULL_WRAPPED_VALUE null_wrapped = BigDecimal_alloc_empty_struct(rb_cBigDecimal); + Real *real = rbd_allocate_struct_zero(sign, digits); + return (BDVALUE) { BigDecimal_wrap_struct(null_wrapped, real), real }; +} + +static inline int +is_kind_of_BigDecimal(VALUE const v) +{ + return rb_typeddata_is_kind_of(v, &BigDecimal_data_type); +} + +NORETURN(static void cannot_be_coerced_into_BigDecimal(VALUE, VALUE)); + +static void +cannot_be_coerced_into_BigDecimal(VALUE exc_class, VALUE v) +{ + VALUE str; + + if (rb_special_const_p(v)) { + str = rb_inspect(v); + } + else { + str = rb_class_name(rb_obj_class(v)); + } + + str = rb_str_cat2(rb_str_dup(str), " can't be coerced into BigDecimal"); + rb_exc_raise(rb_exc_new3(exc_class, str)); +} + +static inline VALUE BigDecimal_div2(VALUE, VALUE, VALUE); +static VALUE rb_inum_convert_to_BigDecimal(VALUE val); +static VALUE rb_float_convert_to_BigDecimal(VALUE val, size_t digs, int raise_exception); +static VALUE rb_rational_convert_to_BigDecimal(VALUE val, size_t digs, int raise_exception); +static VALUE rb_cstr_convert_to_BigDecimal(const char *c_str, int raise_exception); +static VALUE rb_convert_to_BigDecimal(VALUE val, size_t digs, int raise_exception); + +static NULLABLE_BDVALUE +GetBDValueWithPrecInternal(VALUE v, size_t prec, int must) +{ + switch(TYPE(v)) { + case T_FLOAT: + v = rb_float_convert_to_BigDecimal(v, 0, true); + break; + + case T_RATIONAL: + v = rb_rational_convert_to_BigDecimal(v, prec, true); + break; + + case T_DATA: + if (!is_kind_of_BigDecimal(v)) { + goto SomeOneMayDoIt; + } + break; + + case T_FIXNUM: + case T_BIGNUM: { + v = rb_inum_convert_to_BigDecimal(v); + break; + } + +#ifdef ENABLE_NUMERIC_STRING + case T_STRING: { + const char *c_str = StringValueCStr(v); + v = rb_cstr_convert_to_BigDecimal(c_str, must); + break; + } +#endif /* ENABLE_NUMERIC_STRING */ + + default: + goto SomeOneMayDoIt; + } + + Real *vp; + TypedData_Get_Struct(v, Real, &BigDecimal_data_type, vp); + return (NULLABLE_BDVALUE) { v, vp }; + +SomeOneMayDoIt: + if (must) { + cannot_be_coerced_into_BigDecimal(rb_eTypeError, v); + } + return (NULLABLE_BDVALUE) { Qnil, NULL }; /* NULL means to coerce */ +} + +static inline NULLABLE_BDVALUE +GetBDValueWithPrec(VALUE v, size_t prec) +{ + return GetBDValueWithPrecInternal(v, prec, 0); +} + + +static inline BDVALUE +GetBDValueWithPrecMust(VALUE v, size_t prec) +{ + return bdvalue_nonnullable(GetBDValueWithPrecInternal(v, prec, 1)); +} + +// self must be a receiver of BigDecimal instance method or a gc guarded BigDecimal object. +static inline Real* +GetSelfVpValue(VALUE self) +{ + return GetBDValueWithPrecMust(self, 0).real; +} + +static inline BDVALUE +GetBDValueMust(VALUE v) +{ + return GetBDValueWithPrecMust(v, 0); +} + +/* call-seq: + * BigDecimal.double_fig -> integer + * + * Returns the number of digits a Float object is allowed to have; + * the result is system-dependent: + * + * BigDecimal.double_fig # => 16 + * + */ +static inline VALUE +BigDecimal_double_fig(VALUE self) +{ + return INT2FIX(BIGDECIMAL_DOUBLE_FIGURES); +} + +/* call-seq: + * precs -> array + * + * Returns an Array of two Integer values that represent platform-dependent + * internal storage properties. + * + * This method is deprecated and will be removed in the future. + * Instead, use BigDecimal#n_significant_digits for obtaining the number of + * significant digits in scientific notation, and BigDecimal#precision for + * obtaining the number of digits in decimal notation. + * + */ + +static VALUE +BigDecimal_prec(VALUE self) +{ + BDVALUE v; + VALUE obj; + + rb_category_warn(RB_WARN_CATEGORY_DEPRECATED, + "BigDecimal#precs is deprecated and will be removed in the future; " + "use BigDecimal#precision instead."); + + v = GetBDValueMust(self); + obj = rb_assoc_new(SIZET2NUM(v.real->Prec*VpBaseFig()), + SIZET2NUM(v.real->MaxPrec*VpBaseFig())); + + RB_GC_GUARD(v.bigdecimal); + return obj; +} + +static void +VpCountPrecisionAndScale(Real *p, ssize_t *out_precision, ssize_t *out_scale) +{ + if (out_precision == NULL && out_scale == NULL) + return; + if (VpIsZero(p) || !VpIsDef(p)) { + zero: + if (out_precision) *out_precision = 0; + if (out_scale) *out_scale = 0; + return; + } + + DECDIG x; + + ssize_t n = p->Prec; /* The length of frac without zeros. */ + while (n > 0 && p->frac[n-1] == 0) --n; + if (n == 0) goto zero; + + int nlz = BASE_FIG; + for (x = p->frac[0]; x > 0; x /= 10) --nlz; + + int ntz = 0; + for (x = p->frac[n-1]; x > 0 && x % 10 == 0; x /= 10) ++ntz; + + /* + * Calculate the precision and the scale + * ------------------------------------- + * + * The most significant digit is frac[0], and the least significant digit + * is frac[Prec-1]. When the exponent is zero, the decimal point is + * located just before frac[0]. + * + * When the exponent is negative, the decimal point moves to leftward. + * In this case, the precision can be calculated by + * + * precision = BASE_FIG * (-exponent + n) - ntz, + * + * and the scale is the same as precision. + * + * 0 . 0000 0000 | frac[0] ... frac[n-1] | + * |<----------| exponent == -2 | + * |---------------------------------->| precision + * |---------------------------------->| scale + * + * + * Conversely, when the exponent is positive, the decimal point moves to + * rightward. In this case, the scale equals to + * + * BASE_FIG * (n - exponent) - ntz. + * + * the precision equals to + * + * scale + BASE_FIG * exponent - nlz. + * + * | frac[0] frac[1] . frac[2] ... frac[n-1] | + * |---------------->| exponent == 2 | + * | |---------------------->| scale + * |---------------------------------------->| precision + */ + + ssize_t ex = p->exponent; + + /* Count the number of decimal digits before frac[1]. */ + ssize_t n_digits_head = BASE_FIG; + if (ex < 0) { + n_digits_head += (-ex) * BASE_FIG; /* The number of leading zeros before frac[0]. */ + ex = 0; + } + else if (ex > 0) { + /* Count the number of decimal digits without the leading zeros in + * the most significant digit in the integral part. + */ + n_digits_head -= nlz; /* Make the number of digits */ + } + + if (out_precision) { + ssize_t precision = n_digits_head; + + /* Count the number of decimal digits after frac[0]. */ + if (ex > (ssize_t)n) { + /* In this case the number is an integer with some trailing zeros. */ + precision += (ex - 1) * BASE_FIG; + } + else if (n > 0) { + precision += (n - 1) * BASE_FIG; + + if (ex < (ssize_t)n) { + precision -= ntz; + } + } + + *out_precision = precision; + } + + if (out_scale) { + ssize_t scale = 0; + + if (p->exponent < 0) { + scale = n_digits_head + (n - 1) * BASE_FIG - ntz; + } + else if (n > p->exponent) { + scale = (n - p->exponent) * BASE_FIG - ntz; + } + + *out_scale = scale; + } +} + +static void +BigDecimal_count_precision_and_scale(VALUE self, ssize_t *out_precision, ssize_t *out_scale) +{ + BDVALUE v = GetBDValueMust(self); + VpCountPrecisionAndScale(v.real, out_precision, out_scale); + RB_GC_GUARD(v.bigdecimal); +} + +/* + * call-seq: + * precision -> integer + * + * Returns the number of decimal digits in +self+: + * + * BigDecimal("0").precision # => 0 + * BigDecimal("1").precision # => 1 + * BigDecimal("1.1").precision # => 2 + * BigDecimal("3.1415").precision # => 5 + * BigDecimal("-1e20").precision # => 21 + * BigDecimal("1e-20").precision # => 20 + * BigDecimal("Infinity").precision # => 0 + * BigDecimal("-Infinity").precision # => 0 + * BigDecimal("NaN").precision # => 0 + * + */ +static VALUE +BigDecimal_precision(VALUE self) +{ + ssize_t precision; + BigDecimal_count_precision_and_scale(self, &precision, NULL); + return SSIZET2NUM(precision); +} + +/* + * call-seq: + * scale -> integer + * + * Returns the number of decimal digits following the decimal digits in +self+. + * + * BigDecimal("0").scale # => 0 + * BigDecimal("1").scale # => 0 + * BigDecimal("1.1").scale # => 1 + * BigDecimal("3.1415").scale # => 4 + * BigDecimal("-1e20").scale # => 0 + * BigDecimal("1e-20").scale # => 20 + * BigDecimal("Infinity").scale # => 0 + * BigDecimal("-Infinity").scale # => 0 + * BigDecimal("NaN").scale # => 0 + */ +static VALUE +BigDecimal_scale(VALUE self) +{ + ssize_t scale; + BigDecimal_count_precision_and_scale(self, NULL, &scale); + return SSIZET2NUM(scale); +} + +/* + * call-seq: + * precision_scale -> [integer, integer] + * + * Returns a 2-length array; the first item is the result of + * BigDecimal#precision and the second one is of BigDecimal#scale. + * + * See BigDecimal#precision. + * See BigDecimal#scale. + */ +static VALUE +BigDecimal_precision_scale(VALUE self) +{ + ssize_t precision, scale; + BigDecimal_count_precision_and_scale(self, &precision, &scale); + return rb_assoc_new(SSIZET2NUM(precision), SSIZET2NUM(scale)); +} + +/* + * call-seq: + * n_significant_digits -> integer + * + * Returns the number of decimal significant digits in +self+. + * + * BigDecimal("0").n_significant_digits # => 0 + * BigDecimal("1").n_significant_digits # => 1 + * BigDecimal("1.1").n_significant_digits # => 2 + * BigDecimal("3.1415").n_significant_digits # => 5 + * BigDecimal("-1e20").n_significant_digits # => 1 + * BigDecimal("1e-20").n_significant_digits # => 1 + * BigDecimal("Infinity").n_significant_digits # => 0 + * BigDecimal("-Infinity").n_significant_digits # => 0 + * BigDecimal("NaN").n_significant_digits # => 0 + */ +static VALUE +BigDecimal_n_significant_digits(VALUE self) +{ + BDVALUE v = GetBDValueMust(self); + if (VpIsZero(v.real) || !VpIsDef(v.real)) { + return INT2FIX(0); + } + + ssize_t n = v.real->Prec; /* The length of frac without trailing zeros. */ + for (n = v.real->Prec; n > 0 && v.real->frac[n-1] == 0; --n); + if (n == 0) return INT2FIX(0); + + DECDIG x; + int nlz = BASE_FIG; + for (x = v.real->frac[0]; x > 0; x /= 10) --nlz; + + int ntz = 0; + for (x = v.real->frac[n-1]; x > 0 && x % 10 == 0; x /= 10) ++ntz; + + RB_GC_GUARD(v.bigdecimal); + ssize_t n_significant_digits = BASE_FIG*n - nlz - ntz; + return SSIZET2NUM(n_significant_digits); +} + +/* + * call-seq: + * hash -> integer + * + * Returns the integer hash value for +self+. + * + * Two instances of \BigDecimal have the same hash value if and only if + * they have equal: + * + * - Sign. + * - Fractional part. + * - Exponent. + * + */ +static VALUE +BigDecimal_hash(VALUE self) +{ + BDVALUE v = GetBDValueMust(self); + st_index_t hash = (st_index_t)v.real->sign; + /* hash!=2: the case for 0(1),NaN(0) or +-Infinity(3) is sign itself */ + if(hash == 2 || hash == (st_index_t)-2) { + hash ^= rb_memhash(v.real->frac, sizeof(DECDIG)*v.real->Prec); + hash += v.real->exponent; + } + RB_GC_GUARD(v.bigdecimal); + return ST2FIX(hash); +} + +/* + * call-seq: + * _dump -> string + * + * Returns a string representing the marshalling of +self+. + * See module Marshal. + * + * inf = BigDecimal('Infinity') # => Infinity + * dumped = inf._dump # => "9:Infinity" + * BigDecimal._load(dumped) # => Infinity + * + */ +static VALUE +BigDecimal_dump(int argc, VALUE *argv, VALUE self) +{ + BDVALUE v; + char *psz; + VALUE dummy; + volatile VALUE dump; + size_t len; + + rb_scan_args(argc, argv, "01", &dummy); + v = GetBDValueMust(self); + dump = rb_str_new(0, VpNumOfChars(v.real, "E")+50); + psz = RSTRING_PTR(dump); + snprintf(psz, RSTRING_LEN(dump), "%"PRIuSIZE":", v.real->Prec*VpBaseFig()); + len = strlen(psz); + VpToString(v.real, psz+len, RSTRING_LEN(dump)-len, 0, 0); + rb_str_resize(dump, strlen(psz)); + + RB_GC_GUARD(v.bigdecimal); + return dump; +} + +/* + * Internal method used to provide marshalling support. See the Marshal module. + */ +static VALUE +BigDecimal_load(VALUE self, VALUE str) +{ + BDVALUE v; + unsigned char *pch; + unsigned char ch; + + pch = (unsigned char *)StringValueCStr(str); + /* First skip max prec. Don't trust the value. */ + while((*pch) != (unsigned char)'\0' && (ch = *pch++) != (unsigned char)':') { + if(!ISDIGIT(ch)) { + rb_raise(rb_eTypeError, "load failed: invalid character in the marshaled string"); + } + } + v = bdvalue_nonnullable(CreateFromString((char *)pch, self, true, true)); + return CheckGetValue(v); +} + +static unsigned short +check_rounding_mode_option(VALUE const opts) +{ + VALUE mode; + char const *s; + long l; + + assert(RB_TYPE_P(opts, T_HASH)); + + if (NIL_P(opts)) + goto no_opt; + + mode = rb_hash_lookup2(opts, ID2SYM(id_half), Qundef); + if (mode == Qundef || NIL_P(mode)) + goto no_opt; + + if (SYMBOL_P(mode)) + mode = rb_sym2str(mode); + else if (!RB_TYPE_P(mode, T_STRING)) { + VALUE str_mode = rb_check_string_type(mode); + if (NIL_P(str_mode)) + goto invalid; + mode = str_mode; + } + s = RSTRING_PTR(mode); + l = RSTRING_LEN(mode); + switch (l) { + case 2: + if (strncasecmp(s, "up", 2) == 0) + return VP_ROUND_HALF_UP; + break; + case 4: + if (strncasecmp(s, "even", 4) == 0) + return VP_ROUND_HALF_EVEN; + else if (strncasecmp(s, "down", 4) == 0) + return VP_ROUND_HALF_DOWN; + break; + default: + break; + } + + invalid: + rb_raise(rb_eArgError, "invalid rounding mode (%"PRIsVALUE")", mode); + + no_opt: + return VpGetRoundMode(); +} + +static unsigned short +check_rounding_mode(VALUE const v) +{ + unsigned short sw; + ID id; + if (RB_TYPE_P(v, T_SYMBOL)) { + int i; + id = SYM2ID(v); + for (i = 0; i < RBD_NUM_ROUNDING_MODES; ++i) { + if (rbd_rounding_modes[i].id == id) { + return rbd_rounding_modes[i].mode; + } + } + rb_raise(rb_eArgError, "invalid rounding mode (%"PRIsVALUE")", v); + } + else { + sw = NUM2USHORT(v); + if (!VpIsRoundMode(sw)) { + rb_raise(rb_eArgError, "invalid rounding mode (%"PRIsVALUE")", v); + } + return sw; + } +} + +/* call-seq: + * BigDecimal.mode(mode, setting = nil) -> integer + * + * Returns an integer representing the mode settings + * for exception handling and rounding. + * + * These modes control exception handling: + * + * - \BigDecimal::EXCEPTION_NaN. + * - \BigDecimal::EXCEPTION_INFINITY. + * - \BigDecimal::EXCEPTION_UNDERFLOW. + * - \BigDecimal::EXCEPTION_OVERFLOW. + * - \BigDecimal::EXCEPTION_ZERODIVIDE. + * - \BigDecimal::EXCEPTION_ALL. + * + * Values for +setting+ for exception handling: + * + * - +true+: sets the given +mode+ to +true+. + * - +false+: sets the given +mode+ to +false+. + * - +nil+: does not modify the mode settings. + * + * You can use method BigDecimal.save_exception_mode + * to temporarily change, and then automatically restore, exception modes. + * + * For clarity, some examples below begin by setting all + * exception modes to +false+. + * + * This mode controls the way rounding is to be performed: + * + * - \BigDecimal::ROUND_MODE + * + * You can use method BigDecimal.save_rounding_mode + * to temporarily change, and then automatically restore, the rounding mode. + * + * NaNs + * + * Mode \BigDecimal::EXCEPTION_NaN controls behavior + * when a \BigDecimal NaN is created. + * + * Settings: + * + * - +false+ (default): Returns BigDecimal('NaN'). + * - +true+: Raises FloatDomainError. + * + * Examples: + * + * BigDecimal.mode(BigDecimal::EXCEPTION_ALL, false) # => 0 + * BigDecimal('NaN') # => NaN + * BigDecimal.mode(BigDecimal::EXCEPTION_NaN, true) # => 2 + * BigDecimal('NaN') # Raises FloatDomainError + * + * Infinities + * + * Mode \BigDecimal::EXCEPTION_INFINITY controls behavior + * when a \BigDecimal Infinity or -Infinity is created. + * Settings: + * + * - +false+ (default): Returns BigDecimal('Infinity') + * or BigDecimal('-Infinity'). + * - +true+: Raises FloatDomainError. + * + * Examples: + * + * BigDecimal.mode(BigDecimal::EXCEPTION_ALL, false) # => 0 + * BigDecimal('Infinity') # => Infinity + * BigDecimal('-Infinity') # => -Infinity + * BigDecimal.mode(BigDecimal::EXCEPTION_INFINITY, true) # => 1 + * BigDecimal('Infinity') # Raises FloatDomainError + * BigDecimal('-Infinity') # Raises FloatDomainError + * + * Underflow + * + * Mode \BigDecimal::EXCEPTION_UNDERFLOW controls behavior + * when a \BigDecimal underflow occurs. + * Settings: + * + * - +false+ (default): Returns BigDecimal('0') + * or BigDecimal('-Infinity'). + * - +true+: Raises FloatDomainError. + * + * Examples: + * + * BigDecimal.mode(BigDecimal::EXCEPTION_ALL, false) # => 0 + * def flow_under + * x = BigDecimal('0.1') + * 100.times { x *= x } + * end + * flow_under # => 100 + * BigDecimal.mode(BigDecimal::EXCEPTION_UNDERFLOW, true) # => 4 + * flow_under # Raises FloatDomainError + * + * Overflow + * + * Mode \BigDecimal::EXCEPTION_OVERFLOW controls behavior + * when a \BigDecimal overflow occurs. + * Settings: + * + * - +false+ (default): Returns BigDecimal('Infinity') + * or BigDecimal('-Infinity'). + * - +true+: Raises FloatDomainError. + * + * Examples: + * + * BigDecimal.mode(BigDecimal::EXCEPTION_ALL, false) # => 0 + * def flow_over + * x = BigDecimal('10') + * 100.times { x *= x } + * end + * flow_over # => 100 + * BigDecimal.mode(BigDecimal::EXCEPTION_OVERFLOW, true) # => 1 + * flow_over # Raises FloatDomainError + * + * Zero Division + * + * Mode \BigDecimal::EXCEPTION_ZERODIVIDE controls behavior + * when a zero-division occurs. + * Settings: + * + * - +false+ (default): Returns BigDecimal('Infinity') + * or BigDecimal('-Infinity'). + * - +true+: Raises FloatDomainError. + * + * Examples: + * + * BigDecimal.mode(BigDecimal::EXCEPTION_ALL, false) # => 0 + * one = BigDecimal('1') + * zero = BigDecimal('0') + * one / zero # => Infinity + * BigDecimal.mode(BigDecimal::EXCEPTION_ZERODIVIDE, true) # => 16 + * one / zero # Raises FloatDomainError + * + * All Exceptions + * + * Mode \BigDecimal::EXCEPTION_ALL controls all of the above: + * + * BigDecimal.mode(BigDecimal::EXCEPTION_ALL, false) # => 0 + * BigDecimal.mode(BigDecimal::EXCEPTION_ALL, true) # => 23 + * + * Rounding + * + * Mode \BigDecimal::ROUND_MODE controls the way rounding is to be performed; + * its +setting+ values are: + * + * - +ROUND_UP+: Round away from zero. + * Aliased as +:up+. + * - +ROUND_DOWN+: Round toward zero. + * Aliased as +:down+ and +:truncate+. + * - +ROUND_HALF_UP+: Round toward the nearest neighbor; + * if the neighbors are equidistant, round away from zero. + * Aliased as +:half_up+ and +:default+. + * - +ROUND_HALF_DOWN+: Round toward the nearest neighbor; + * if the neighbors are equidistant, round toward zero. + * Aliased as +:half_down+. + * - +ROUND_HALF_EVEN+ (Banker's rounding): Round toward the nearest neighbor; + * if the neighbors are equidistant, round toward the even neighbor. + * Aliased as +:half_even+ and +:banker+. + * - +ROUND_CEILING+: Round toward positive infinity. + * Aliased as +:ceiling+ and +:ceil+. + * - +ROUND_FLOOR+: Round toward negative infinity. + * Aliased as +:floor:+. + * + */ +static VALUE +BigDecimal_mode(int argc, VALUE *argv, VALUE self) +{ + VALUE which; + VALUE val; + unsigned long f,fo; + + rb_scan_args(argc, argv, "11", &which, &val); + f = (unsigned long)NUM2INT(which); + + if (f & VP_EXCEPTION_ALL) { + /* Exception mode setting */ + fo = VpGetException(); + if (val == Qnil) return INT2FIX(fo); + if (val != Qfalse && val!=Qtrue) { + rb_raise(rb_eArgError, "second argument must be true or false"); + return Qnil; /* Not reached */ + } + if (f & VP_EXCEPTION_INFINITY) { + VpSetException((unsigned short)((val == Qtrue) ? (fo | VP_EXCEPTION_INFINITY) : + (fo & (~VP_EXCEPTION_INFINITY)))); + } + fo = VpGetException(); + if (f & VP_EXCEPTION_NaN) { + VpSetException((unsigned short)((val == Qtrue) ? (fo | VP_EXCEPTION_NaN) : + (fo & (~VP_EXCEPTION_NaN)))); + } + fo = VpGetException(); + if (f & VP_EXCEPTION_UNDERFLOW) { + VpSetException((unsigned short)((val == Qtrue) ? (fo | VP_EXCEPTION_UNDERFLOW) : + (fo & (~VP_EXCEPTION_UNDERFLOW)))); + } + fo = VpGetException(); + if(f & VP_EXCEPTION_ZERODIVIDE) { + VpSetException((unsigned short)((val == Qtrue) ? (fo | VP_EXCEPTION_ZERODIVIDE) : + (fo & (~VP_EXCEPTION_ZERODIVIDE)))); + } + fo = VpGetException(); + return INT2FIX(fo); + } + if (VP_ROUND_MODE == f) { + /* Rounding mode setting */ + unsigned short sw; + fo = VpGetRoundMode(); + if (NIL_P(val)) return INT2FIX(fo); + sw = check_rounding_mode(val); + fo = VpSetRoundMode(sw); + return INT2FIX(fo); + } + rb_raise(rb_eTypeError, "first argument for BigDecimal.mode invalid"); + return Qnil; +} + +static size_t +GetAddSubPrec(Real *a, Real *b) +{ + if (!VpIsDef(a) || !VpIsDef(b)) return (size_t)-1L; + ssize_t min_a = a->exponent - a->Prec; + ssize_t min_b = b->exponent - b->Prec; + return Max(a->exponent, b->exponent) - Min(min_a, min_b); +} + +static inline SIGNED_VALUE +check_int_precision(VALUE v) +{ + SIGNED_VALUE n; +#if SIZEOF_VALUE <= SIZEOF_LONG + n = (SIGNED_VALUE)NUM2LONG(v); +#elif SIZEOF_VALUE <= SIZEOF_LONG_LONG + n = (SIGNED_VALUE)NUM2LL(v); +#else +# error SIZEOF_VALUE is too large +#endif + if (n < 0) { + rb_raise(rb_eArgError, "negative precision"); + } + return n; +} + +static NULLABLE_BDVALUE +CreateFromString(const char *str, VALUE klass, bool strict_p, bool raise_exception) +{ + NULL_WRAPPED_VALUE null_wrapped = BigDecimal_alloc_empty_struct(klass); + Real *pv = VpAlloc(str, strict_p, raise_exception); + if (!pv) return (NULLABLE_BDVALUE) { Qnil, NULL }; + return (NULLABLE_BDVALUE) { BigDecimal_wrap_struct(null_wrapped, pv), pv }; +} + +static Real * +VpCopy(Real *pv, Real const* const x) +{ + assert(x != NULL); + + pv = (Real *)ruby_xrealloc(pv, rbd_struct_size(x->MaxPrec)); + pv->MaxPrec = x->MaxPrec; + pv->Prec = x->Prec; + pv->exponent = x->exponent; + pv->sign = x->sign; + pv->flag = x->flag; + MEMCPY(pv->frac, x->frac, DECDIG, pv->MaxPrec); + + return pv; +} + +/* Returns True if the value is Not a Number. */ +static VALUE +BigDecimal_IsNaN(VALUE self) +{ + Real *p = GetSelfVpValue(self); + if (VpIsNaN(p)) return Qtrue; + return Qfalse; +} + +/* Returns nil, -1, or +1 depending on whether the value is finite, + * -Infinity, or +Infinity. + */ +static VALUE +BigDecimal_IsInfinite(VALUE self) +{ + Real *p = GetSelfVpValue(self); + if (VpIsPosInf(p)) return INT2FIX(1); + if (VpIsNegInf(p)) return INT2FIX(-1); + return Qnil; +} + +/* Returns True if the value is finite (not NaN or infinite). */ +static VALUE +BigDecimal_IsFinite(VALUE self) +{ + Real *p = GetSelfVpValue(self); + if (VpIsNaN(p)) return Qfalse; + if (VpIsInf(p)) return Qfalse; + return Qtrue; +} + +static void +BigDecimal_check_num(Real *p) +{ + VpCheckException(p, true); +} + +static VALUE BigDecimal_fix(VALUE self); +static VALUE BigDecimal_split(VALUE self); + +/* Returns the value as an Integer. + * + * If the BigDecimal is infinity or NaN, raises FloatDomainError. + */ +static VALUE +BigDecimal_to_i(VALUE self) +{ + BDVALUE v; + VALUE ret; + + v = GetBDValueMust(self); + BigDecimal_check_num(v.real); + + if (v.real->exponent <= 0) return INT2FIX(0); + if (v.real->exponent == 1) { + ret = LONG2NUM((long)(VpGetSign(v.real) * (DECDIG_DBL_SIGNED)v.real->frac[0])); + } + else { + VALUE fix = (ssize_t)v.real->Prec > v.real->exponent ? BigDecimal_fix(self) : self; + VALUE digits = RARRAY_AREF(BigDecimal_split(fix), 1); + ssize_t dpower = VpExponent10(v.real) - (ssize_t)RSTRING_LEN(digits); + ret = rb_funcall(digits, rb_intern("to_i"), 0); + + if (BIGDECIMAL_NEGATIVE_P(v.real)) { + ret = rb_funcall(ret, '*', 1, INT2FIX(-1)); + } + if (dpower) { + VALUE pow10 = rb_funcall(INT2FIX(10), rb_intern("**"), 1, SSIZET2NUM(dpower)); + // In Ruby < 3.4, int**int may return Float::INFINITY + if (RB_TYPE_P(pow10, T_FLOAT)) rb_raise(rb_eFloatDomainError, "Infinity"); + + ret = rb_funcall(ret, '*', 1, pow10); + } + } + + RB_GC_GUARD(v.bigdecimal); + return ret; +} + +/* Returns a new Float object having approximately the same value as the + * BigDecimal number. Normal accuracy limits and built-in errors of binary + * Float arithmetic apply. + */ +static VALUE +BigDecimal_to_f(VALUE self) +{ + double d; + SIGNED_VALUE e; + char *buf; + volatile VALUE str; + BDVALUE v = GetBDValueMust(self); + bool negative = BIGDECIMAL_NEGATIVE_P(v.real); + + if (VpVtoD(&d, &e, v.real) != 1) + return rb_float_new(d); + if (e > (SIGNED_VALUE)(DBL_MAX_10_EXP+BASE_FIG)) + goto overflow; + if (e < (SIGNED_VALUE)(DBL_MIN_10_EXP-DBL_DIG)) + goto underflow; + + str = rb_str_new(0, VpNumOfChars(v.real, "E")); + buf = RSTRING_PTR(str); + VpToString(v.real, buf, RSTRING_LEN(str), 0, 0); + + RB_GC_GUARD(v.bigdecimal); + + errno = 0; + d = strtod(buf, 0); + if (errno == ERANGE) { + if (d == 0.0) goto underflow; + if (fabs(d) >= HUGE_VAL) goto overflow; + } + return rb_float_new(d); + +overflow: + VpException(VP_EXCEPTION_OVERFLOW, "BigDecimal to Float conversion", 0); + if (negative) + return rb_float_new(VpGetDoubleNegInf()); + else + return rb_float_new(VpGetDoublePosInf()); + +underflow: + VpException(VP_EXCEPTION_UNDERFLOW, "BigDecimal to Float conversion", 0); + if (negative) + return rb_float_new(-0.0); + else + return rb_float_new(0.0); +} + + +/* Converts a BigDecimal to a Rational. + */ +static VALUE +BigDecimal_to_r(VALUE self) +{ + BDVALUE v; + ssize_t sign, power, denomi_power; + VALUE a, digits, numerator; + + v = GetBDValueMust(self); + BigDecimal_check_num(v.real); + sign = VpGetSign(v.real); + power = VpExponent10(v.real); + RB_GC_GUARD(v.bigdecimal); + + a = BigDecimal_split(self); + digits = RARRAY_AREF(a, 1); + denomi_power = power - RSTRING_LEN(digits); + numerator = rb_funcall(digits, rb_intern("to_i"), 0); + + if (sign < 0) { + numerator = rb_funcall(numerator, '*', 1, INT2FIX(-1)); + } + if (denomi_power < 0) { + return rb_Rational(numerator, + rb_funcall(INT2FIX(10), rb_intern("**"), 1, + INT2FIX(-denomi_power))); + } + else { + return rb_Rational1(rb_funcall(numerator, '*', 1, + rb_funcall(INT2FIX(10), rb_intern("**"), 1, + INT2FIX(denomi_power)))); + } +} + +static size_t +GetCoercePrec(Real *a, size_t prec) +{ + if (prec == 0) prec = a->Prec * BASE_FIG; + if (prec < 2 * BIGDECIMAL_DOUBLE_FIGURES) prec = 2 * BIGDECIMAL_DOUBLE_FIGURES; + return prec; +} + +/* The coerce method provides support for Ruby type coercion. It is not + * enabled by default. + * + * This means that binary operations like + * / or - can often be performed + * on a BigDecimal and an object of another type, if the other object can + * be coerced into a BigDecimal value. + * + * e.g. + * a = BigDecimal("1.0") + * b = a / 2.0 #=> 0.5 + * + * Note that coercing a String to a BigDecimal is not supported by default; + * it requires a special compile-time option when building Ruby. + */ +static VALUE +BigDecimal_coerce(VALUE self, VALUE other) +{ + Real* pv = DATA_PTR(self); + BDVALUE b = GetBDValueWithPrecMust(other, GetCoercePrec(pv, 0)); + return rb_assoc_new(CheckGetValue(b), self); +} + +/* + * call-seq: + * +big_decimal -> self + * + * Returns +self+: + * + * +BigDecimal(5) # => 0.5e1 + * +BigDecimal(-5) # => -0.5e1 + * + */ + +static VALUE +BigDecimal_uplus(VALUE self) +{ + return self; +} + +static bool +is_coerceable_to_BigDecimal(VALUE r) +{ + return is_kind_of_BigDecimal(r) || + RB_INTEGER_TYPE_P(r) || + RB_TYPE_P(r, T_FLOAT) || + RB_TYPE_P(r, T_RATIONAL); +} + + /* + * call-seq: + * self + value -> bigdecimal + * + * Returns the \BigDecimal sum of +self+ and +value+: + * + * b = BigDecimal('111111.111') # => 0.111111111e6 + * b + 2 # => 0.111113111e6 + * b + 2.0 # => 0.111113111e6 + * b + Rational(2, 1) # => 0.111113111e6 + * b + Complex(2, 0) # => (0.111113111e6+0i) + * + * See the {Note About Precision}[BigDecimal.html#class-BigDecimal-label-A+Note+About+Precision]. + * + */ + +static VALUE +BigDecimal_add(VALUE self, VALUE r) +{ + if (!is_coerceable_to_BigDecimal(r)) return DoSomeOne(self, r, '+'); + return BigDecimal_addsub_with_coerce(self, r, 0, +1); +} + +static VALUE +BigDecimal_addsub_with_coerce(VALUE self, VALUE r, size_t prec, int operation) +{ + BDVALUE a, b, c; + size_t mx; + + a = GetBDValueMust(self); + b = GetBDValueWithPrecMust(r, GetCoercePrec(a.real, prec)); + + if (VpIsNaN(a.real)) return CheckGetValue(a); + if (VpIsNaN(b.real)) return CheckGetValue(b); + + mx = GetAddSubPrec(a.real, b.real); + if (mx == (size_t)-1L) { + /* a or b is inf */ + c = NewZeroWrap(1, BASE_FIG); + VpAddSub(c.real, a.real, b.real, operation); + } + else { + c = NewZeroWrap(1, (mx + 1) * BASE_FIG); + size_t pl = VpGetPrecLimit(); + if (prec) VpSetPrecLimit(prec); + // Let VpAddSub round the result + VpAddSub(c.real, a.real, b.real, operation); + if (prec) VpSetPrecLimit(pl); + } + + RB_GC_GUARD(a.bigdecimal); + RB_GC_GUARD(b.bigdecimal); + return CheckGetValue(c); +} + + /* + * call-seq: + * self - value -> bigdecimal + * + * Returns the \BigDecimal difference of +self+ and +value+: + * + * b = BigDecimal('333333.333') # => 0.333333333e6 + * b - 2 # => 0.333331333e6 + * b - 2.0 # => 0.333331333e6 + * b - Rational(2, 1) # => 0.333331333e6 + * b - Complex(2, 0) # => (0.333331333e6+0i) + * + * See the {Note About Precision}[BigDecimal.html#class-BigDecimal-label-A+Note+About+Precision]. + * + */ +static VALUE +BigDecimal_sub(VALUE self, VALUE r) +{ + if (!is_coerceable_to_BigDecimal(r)) return DoSomeOne(self, r, '-'); + return BigDecimal_addsub_with_coerce(self, r, 0, -1); +} + +static VALUE +BigDecimalCmp(VALUE self, VALUE r,char op) +{ + SIGNED_VALUE e; + BDVALUE a = GetBDValueMust(self); + NULLABLE_BDVALUE b = GetBDValueWithPrec(r, GetCoercePrec(a.real, 0)); + + if (b.real_or_null == NULL) { + ID f = 0; + + switch (op) { + case '*': + return rb_num_coerce_cmp(self, r, rb_intern("<=>")); + + case '=': + return RTEST(rb_num_coerce_cmp(self, r, rb_intern("=="))) ? Qtrue : Qfalse; + + case 'G': + f = rb_intern(">="); + break; + + case 'L': + f = rb_intern("<="); + break; + + case '>': + /* fall through */ + case '<': + f = (ID)op; + break; + + default: + break; + } + return rb_num_coerce_relop(self, r, f); + } + e = VpComp(a.real, b.real_or_null); + + RB_GC_GUARD(a.bigdecimal); + RB_GC_GUARD(b.bigdecimal_or_nil); + + if (e == 999) + return (op == '*') ? Qnil : Qfalse; + switch (op) { + case '*': + return INT2FIX(e); /* any op */ + + case '=': + if (e == 0) return Qtrue; + return Qfalse; + + case 'G': + if (e >= 0) return Qtrue; + return Qfalse; + + case '>': + if (e > 0) return Qtrue; + return Qfalse; + + case 'L': + if (e <= 0) return Qtrue; + return Qfalse; + + case '<': + if (e < 0) return Qtrue; + return Qfalse; + + default: + break; + } + + rb_bug("Undefined operation in BigDecimalCmp()"); + + UNREACHABLE; +} + +/* Returns True if the value is zero. */ +static VALUE +BigDecimal_zero(VALUE self) +{ + Real *a = GetSelfVpValue(self); + return VpIsZero(a) ? Qtrue : Qfalse; +} + +/* Returns self if the value is non-zero, nil otherwise. */ +static VALUE +BigDecimal_nonzero(VALUE self) +{ + Real *a = GetSelfVpValue(self); + return VpIsZero(a) ? Qnil : self; +} + +/* The comparison operator. + * a <=> b is 0 if a == b, 1 if a > b, -1 if a < b. + */ +static VALUE +BigDecimal_comp(VALUE self, VALUE r) +{ + return BigDecimalCmp(self, r, '*'); +} + +/* + * Tests for value equality; returns true if the values are equal. + * + * The == and === operators and the eql? method have the same implementation + * for BigDecimal. + * + * Values may be coerced to perform the comparison: + * + * BigDecimal('1.0') == 1.0 #=> true + */ +static VALUE +BigDecimal_eq(VALUE self, VALUE r) +{ + return BigDecimalCmp(self, r, '='); +} + +/* call-seq: + * self < other -> true or false + * + * Returns +true+ if +self+ is less than +other+, +false+ otherwise: + * + * b = BigDecimal('1.5') # => 0.15e1 + * b < 2 # => true + * b < 2.0 # => true + * b < Rational(2, 1) # => true + * b < 1.5 # => false + * + * Raises an exception if the comparison cannot be made. + * + */ +static VALUE +BigDecimal_lt(VALUE self, VALUE r) +{ + return BigDecimalCmp(self, r, '<'); +} + +/* call-seq: + * self <= other -> true or false + * + * Returns +true+ if +self+ is less or equal to than +other+, +false+ otherwise: + * + * b = BigDecimal('1.5') # => 0.15e1 + * b <= 2 # => true + * b <= 2.0 # => true + * b <= Rational(2, 1) # => true + * b <= 1.5 # => true + * b < 1 # => false + * + * Raises an exception if the comparison cannot be made. + * + */ +static VALUE +BigDecimal_le(VALUE self, VALUE r) +{ + return BigDecimalCmp(self, r, 'L'); +} + +/* call-seq: + * self > other -> true or false + * + * Returns +true+ if +self+ is greater than +other+, +false+ otherwise: + * + * b = BigDecimal('1.5') + * b > 1 # => true + * b > 1.0 # => true + * b > Rational(1, 1) # => true + * b > 2 # => false + * + * Raises an exception if the comparison cannot be made. + * + */ +static VALUE +BigDecimal_gt(VALUE self, VALUE r) +{ + return BigDecimalCmp(self, r, '>'); +} + +/* call-seq: + * self >= other -> true or false + * + * Returns +true+ if +self+ is greater than or equal to +other+, +false+ otherwise: + * + * b = BigDecimal('1.5') + * b >= 1 # => true + * b >= 1.0 # => true + * b >= Rational(1, 1) # => true + * b >= 1.5 # => true + * b > 2 # => false + * + * Raises an exception if the comparison cannot be made. + * + */ +static VALUE +BigDecimal_ge(VALUE self, VALUE r) +{ + return BigDecimalCmp(self, r, 'G'); +} + +/* + * call-seq: + * -self -> bigdecimal + * + * Returns the \BigDecimal negation of self: + * + * b0 = BigDecimal('1.5') + * b1 = -b0 # => -0.15e1 + * b2 = -b1 # => 0.15e1 + * + */ + +static VALUE +BigDecimal_neg(VALUE self) +{ + BDVALUE a = GetBDValueMust(self); + BDVALUE c = NewZeroWrap(1, a.real->Prec * BASE_FIG); + VpAsgn(c.real, a.real, -10); + RB_GC_GUARD(a.bigdecimal); + return CheckGetValue(c); +} + +/* + * call-seq: + * a * b -> bigdecimal + * + * Multiply by the specified value. + * + * The result precision will be the precision of the sum of each precision. + * + * See BigDecimal#mult. + */ +static VALUE +BigDecimal_mult(VALUE self, VALUE r) +{ + if (!is_coerceable_to_BigDecimal(r)) return DoSomeOne(self, r, '*'); + return BigDecimal_mult_with_coerce(self, r, 0); +} + +static VALUE +BigDecimal_mult_with_coerce(VALUE self, VALUE r, size_t prec) +{ + BDVALUE a, b, c; + + a = GetBDValueMust(self); + b = GetBDValueWithPrecMust(r, GetCoercePrec(a.real, prec)); + + c = NewZeroWrap(1, VPMULT_RESULT_PREC(a.real, b.real) * BASE_FIG); + VpMult(c.real, a.real, b.real); + if (prec) { + VpLeftRound(c.real, VpGetRoundMode(), prec); + } + else { + VpLimitRound(c.real, 0); + } + + RB_GC_GUARD(a.bigdecimal); + RB_GC_GUARD(b.bigdecimal); + return CheckGetValue(c); +} + +static bool BigDecimal_DoDivmod(VALUE self, VALUE r, NULLABLE_BDVALUE *div, NULLABLE_BDVALUE *mod, bool truncate); + +/* call-seq: + * a / b -> bigdecimal + * + * Divide by the specified value. + * + * The result precision will be the precision of the larger operand, + * but its minimum is 2*Float::DIG. + * + * See BigDecimal#div. + * See BigDecimal#quo. + */ +static VALUE +BigDecimal_div(VALUE self, VALUE r) +/* For c = self/r: with round operation */ +{ + if (!is_coerceable_to_BigDecimal(r)) return DoSomeOne(self, r, '/'); + return BigDecimal_div2(self, r, INT2FIX(0)); +} + +static VALUE BigDecimal_round(int argc, VALUE *argv, VALUE self); + +/* call-seq: + * quo(value) -> bigdecimal + * quo(value, digits) -> bigdecimal + * + * Divide by the specified value. + * + * digits:: If specified and less than the number of significant digits of + * the result, the result is rounded to the given number of digits, + * according to the rounding mode indicated by BigDecimal.mode. + * + * If digits is 0 or omitted, the result is the same as for the + * / operator. + * + * See BigDecimal#/. + * See BigDecimal#div. + */ +static VALUE +BigDecimal_quo(int argc, VALUE *argv, VALUE self) +{ + VALUE value, digits, result; + SIGNED_VALUE n = -1; + + argc = rb_scan_args(argc, argv, "11", &value, &digits); + if (argc > 1) { + n = check_int_precision(digits); + } + + if (n > 0) { + result = BigDecimal_div2(self, value, digits); + } + else { + result = BigDecimal_div(self, value); + } + + return result; +} + +/* + * %: mod = a%b = a - (a.to_f/b).floor * b + * div = (a.to_f/b).floor + * In truncate mode, use truncate instead of floor. + */ +static bool +BigDecimal_DoDivmod(VALUE self, VALUE r, NULLABLE_BDVALUE *div, NULLABLE_BDVALUE *mod, bool truncate) +{ + BDVALUE a, b, dv, md, res; + NULLABLE_BDVALUE b2; + ssize_t a_exponent, b_exponent; + size_t mx, rx, pl; + + a = GetBDValueMust(self); + + b2 = GetBDValueWithPrec(r, GetCoercePrec(a.real, 0)); + if (!b2.real_or_null) return false; + b = bdvalue_nonnullable(b2); + + if (VpIsNaN(a.real) || VpIsNaN(b.real) || (VpIsInf(a.real) && VpIsInf(b.real))) { + VALUE nan = BigDecimal_nan(); + *div = *mod = (NULLABLE_BDVALUE) { nan, DATA_PTR(nan) }; + goto Done; + } + if (VpIsZero(b.real)) { + rb_raise(rb_eZeroDivError, "divided by 0"); + } + if (VpIsInf(a.real)) { + if (VpGetSign(a.real) == VpGetSign(b.real)) { + VALUE inf = BigDecimal_positive_infinity(); + *div = (NULLABLE_BDVALUE) { inf, DATA_PTR(inf) }; + } + else { + VALUE inf = BigDecimal_negative_infinity(); + *div = (NULLABLE_BDVALUE) { inf, DATA_PTR(inf) }; + } + VALUE nan = BigDecimal_nan(); + *mod = (NULLABLE_BDVALUE) { nan, DATA_PTR(nan) }; + goto Done; + } + if (VpIsZero(a.real)) { + VALUE zero = BigDecimal_positive_zero(); + *div = (NULLABLE_BDVALUE) { zero, DATA_PTR(zero) }; + *mod = bdvalue_nullable(a); + goto Done; + } + if (VpIsInf(b.real)) { + if (!truncate && VpGetSign(a.real) * VpGetSign(b.real) < 0) { + BDVALUE minus_one = NewZeroWrap(1, BASE_FIG); + VpSetOne(minus_one.real); + VpSetSign(minus_one.real, -1); + RB_GC_GUARD(minus_one.bigdecimal); + *div = bdvalue_nullable(minus_one); + *mod = bdvalue_nullable(b); + } else { + VALUE zero = BigDecimal_positive_zero(); + *div = (NULLABLE_BDVALUE) { zero, DATA_PTR(zero) }; + *mod = bdvalue_nullable(a); + } + goto Done; + } + + a_exponent = VpExponent10(a.real); + b_exponent = VpExponent10(b.real); + mx = a_exponent > b_exponent ? a_exponent - b_exponent + 1 : 1; + dv = NewZeroWrap(1, VPDIVD_QUO_DIGITS(mx)); + + /* res is reused for VpDivd remainder and VpMult result */ + rx = VPDIVD_REM_PREC(a.real, b.real, dv.real); + mx = VPMULT_RESULT_PREC(dv.real, b.real); + res = NewZeroWrap(1, Max(rx, mx) * BASE_FIG); + /* AddSub needs one more prec */ + md = NewZeroWrap(1, (res.real->MaxPrec + 1) * BASE_FIG); + + VpDivd(dv.real, res.real, a.real, b.real); + VpMidRound(dv.real, VP_ROUND_DOWN, 0); + VpMult(res.real, dv.real, b.real); + pl = VpGetPrecLimit(); + VpSetPrecLimit(0); + VpAddSub(md.real, a.real, res.real, -1); + VpSetPrecLimit(pl); + + if (!truncate && !VpIsZero(md.real) && (VpGetSign(a.real) * VpGetSign(b.real) < 0)) { + /* result adjustment for negative case */ + BDVALUE dv2 = NewZeroWrap(1, (dv.real->MaxPrec + 1) * BASE_FIG); + BDVALUE md2 = NewZeroWrap(1, (GetAddSubPrec(md.real, b.real) + 1) * BASE_FIG); + VpSetPrecLimit(0); + VpAddSub(dv2.real, dv.real, VpOne(), -1); + VpAddSub(md2.real, md.real, b.real, 1); + VpSetPrecLimit(pl); + *div = bdvalue_nullable(dv2); + *mod = bdvalue_nullable(md2); + RB_GC_GUARD(dv2.bigdecimal); + RB_GC_GUARD(md2.bigdecimal); + } + else { + *div = bdvalue_nullable(dv); + *mod = bdvalue_nullable(md); + } + +Done: + RB_GC_GUARD(a.bigdecimal); + RB_GC_GUARD(b.bigdecimal); + RB_GC_GUARD(dv.bigdecimal); + RB_GC_GUARD(md.bigdecimal); + RB_GC_GUARD(res.bigdecimal); + return true; +} + +/* call-seq: + * a % b + * a.modulo(b) + * + * Returns the modulus from dividing by b. + * + * See BigDecimal#divmod. + */ +static VALUE +BigDecimal_mod(VALUE self, VALUE r) /* %: a%b = a - (a.to_f/b).floor * b */ +{ + NULLABLE_BDVALUE div, mod; + + if (BigDecimal_DoDivmod(self, r, &div, &mod, false)) { + return CheckGetValue(bdvalue_nonnullable(mod)); + } + return DoSomeOne(self, r, '%'); +} + +/* call-seq: + * remainder(value) + * + * Returns the remainder from dividing by the value. + * + * x.remainder(y) means x-y*(x/y).truncate + */ +static VALUE +BigDecimal_remainder(VALUE self, VALUE r) /* remainder */ +{ + NULLABLE_BDVALUE div, mod = { Qnil, NULL }; + + if (BigDecimal_DoDivmod(self, r, &div, &mod, true)) { + return CheckGetValue(bdvalue_nonnullable(mod)); + } + return DoSomeOne(self, r, rb_intern("remainder")); +} + +/* call-seq: + * divmod(value) + * + * Divides by the specified value, and returns the quotient and modulus + * as BigDecimal numbers. The quotient is rounded towards negative infinity. + * + * For example: + * + * require 'bigdecimal' + * + * a = BigDecimal("42") + * b = BigDecimal("9") + * + * q, m = a.divmod(b) + * + * c = q * b + m + * + * a == c #=> true + * + * The quotient q is (a/b).floor, and the modulus is the amount that must be + * added to q * b to get a. + */ +static VALUE +BigDecimal_divmod(VALUE self, VALUE r) +{ + NULLABLE_BDVALUE div, mod; + + if (BigDecimal_DoDivmod(self, r, &div, &mod, false)) { + return rb_assoc_new(CheckGetValue(bdvalue_nonnullable(div)), CheckGetValue(bdvalue_nonnullable(mod))); + } + return DoSomeOne(self,r,rb_intern("divmod")); +} + +/* + * Do the same manner as Float#div when n is nil. + * Do the same manner as BigDecimal#quo when n is 0. + */ +static inline VALUE +BigDecimal_div2(VALUE self, VALUE b, VALUE n) +{ + SIGNED_VALUE ix; + BDVALUE av, bv, cv, res; + + if (NIL_P(n)) { /* div in Float sense */ + NULLABLE_BDVALUE div; + NULLABLE_BDVALUE mod; + if (BigDecimal_DoDivmod(self, b, &div, &mod, false)) { + return BigDecimal_to_i(CheckGetValue(bdvalue_nonnullable(div))); + } + return DoSomeOne(self, b, rb_intern("div")); + } + + /* div in BigDecimal sense */ + ix = check_int_precision(n); + + av = GetBDValueMust(self); + bv = GetBDValueWithPrecMust(b, GetCoercePrec(av.real, ix)); + + if (ix == 0) { + ssize_t a_prec, b_prec, limit = VpGetPrecLimit(); + VpCountPrecisionAndScale(av.real, &a_prec, NULL); + VpCountPrecisionAndScale(bv.real, &b_prec, NULL); + ix = ((a_prec > b_prec) ? a_prec : b_prec) + BIGDECIMAL_DOUBLE_FIGURES; + if (2 * BIGDECIMAL_DOUBLE_FIGURES > ix) + ix = 2 * BIGDECIMAL_DOUBLE_FIGURES; + if (limit && limit < ix) ix = limit; + } + + // Needs to calculate 1 extra digit for rounding. + cv = NewZeroWrap(1, VPDIVD_QUO_DIGITS(ix + 1)); + res = NewZeroWrap(1, VPDIVD_REM_PREC(av.real, bv.real, cv.real) * BASE_FIG); + VpDivd(cv.real, res.real, av.real, bv.real); + + if (!VpIsZero(res.real)) { + // Remainder value affects rounding result. + // ROUND_UP cv = 0.1e0 with idx=10 will be: + // 0.1e0 if remainder == 0 + // 0.1000000001e0 if remainder != 0 + size_t idx = roomof(ix, BASE_FIG); + while (cv.real->Prec <= idx) cv.real->frac[cv.real->Prec++] = 0; + if (cv.real->frac[idx] == 0 || cv.real->frac[idx] == HALF_BASE) cv.real->frac[idx]++; + } + VpLeftRound(cv.real, VpGetRoundMode(), ix); + + RB_GC_GUARD(av.bigdecimal); + RB_GC_GUARD(bv.bigdecimal); + RB_GC_GUARD(res.bigdecimal); + return CheckGetValue(cv); +} + + /* + * Document-method: BigDecimal#div + * + * call-seq: + * div(value) -> integer + * div(value, digits) -> bigdecimal or integer + * + * Divide by the specified value. + * + * digits:: If specified and less than the number of significant digits of the + * result, the result is rounded to that number of digits, according + * to BigDecimal.mode. + * + * If digits is 0, the result is the same as for the / operator + * or #quo. + * + * If digits is not specified, the result is an integer, + * by analogy with Float#div; see also BigDecimal#divmod. + * + * See BigDecimal#/. + * See BigDecimal#quo. + * + * Examples: + * + * a = BigDecimal("4") + * b = BigDecimal("3") + * + * a.div(b, 3) # => 0.133e1 + * + * a.div(b, 0) # => 0.1333333333333333333e1 + * a / b # => 0.1333333333333333333e1 + * a.quo(b) # => 0.1333333333333333333e1 + * + * a.div(b) # => 1 + */ +static VALUE +BigDecimal_div3(int argc, VALUE *argv, VALUE self) +{ + VALUE b,n; + + rb_scan_args(argc, argv, "11", &b, &n); + + return BigDecimal_div2(self, b, n); +} + + /* + * call-seq: + * add(value, ndigits) -> new_bigdecimal + * + * Returns the \BigDecimal sum of +self+ and +value+ + * with a precision of +ndigits+ decimal digits. + * + * When +ndigits+ is less than the number of significant digits + * in the sum, the sum is rounded to that number of digits, + * according to the current rounding mode; see BigDecimal.mode. + * + * Examples: + * + * # Set the rounding mode. + * BigDecimal.mode(BigDecimal::ROUND_MODE, :half_up) + * b = BigDecimal('111111.111') + * b.add(1, 0) # => 0.111112111e6 + * b.add(1, 3) # => 0.111e6 + * b.add(1, 6) # => 0.111112e6 + * b.add(1, 15) # => 0.111112111e6 + * b.add(1.0, 15) # => 0.111112111e6 + * b.add(Rational(1, 1), 15) # => 0.111112111e6 + * + */ + +static VALUE +BigDecimal_add2(VALUE self, VALUE b, VALUE n) +{ + return BigDecimal_addsub_with_coerce(self, b, check_int_precision(n), +1); +} + +/* call-seq: + * sub(value, digits) -> bigdecimal + * + * Subtract the specified value. + * + * e.g. + * c = a.sub(b,n) + * + * digits:: If specified and less than the number of significant digits of the + * result, the result is rounded to that number of digits, according + * to BigDecimal.mode. + * + */ +static VALUE +BigDecimal_sub2(VALUE self, VALUE b, VALUE n) +{ + return BigDecimal_addsub_with_coerce(self, b, check_int_precision(n), -1); +} + + /* + * call-seq: + * mult(other, ndigits) -> bigdecimal + * + * Returns the \BigDecimal product of +self+ and +value+ + * with a precision of +ndigits+ decimal digits. + * + * When +ndigits+ is less than the number of significant digits + * in the sum, the sum is rounded to that number of digits, + * according to the current rounding mode; see BigDecimal.mode. + * + * Examples: + * + * # Set the rounding mode. + * BigDecimal.mode(BigDecimal::ROUND_MODE, :half_up) + * b = BigDecimal('555555.555') + * b.mult(3, 0) # => 0.1666666665e7 + * b.mult(3, 3) # => 0.167e7 + * b.mult(3, 6) # => 0.166667e7 + * b.mult(3, 15) # => 0.1666666665e7 + * b.mult(3.0, 0) # => 0.1666666665e7 + * b.mult(Rational(3, 1), 0) # => 0.1666666665e7 + * b.mult(Complex(3, 0), 0) # => (0.1666666665e7+0.0i) + * + */ + +static VALUE +BigDecimal_mult2(VALUE self, VALUE b, VALUE n) +{ + return BigDecimal_mult_with_coerce(self, b, check_int_precision(n)); +} + +/* + * call-seq: + * abs -> bigdecimal + * + * Returns the \BigDecimal absolute value of +self+: + * + * BigDecimal('5').abs # => 0.5e1 + * BigDecimal('-3').abs # => 0.3e1 + * + */ + +static VALUE +BigDecimal_abs(VALUE self) +{ + BDVALUE a = GetBDValueMust(self); + BDVALUE c = NewZeroWrap(1, a.real->Prec * BASE_FIG); + VpAsgn(c.real, a.real, 10); + VpChangeSign(c.real, 1); + RB_GC_GUARD(a.bigdecimal); + return CheckGetValue(c); +} + +/* Return the integer part of the number, as a BigDecimal. + */ +static VALUE +BigDecimal_fix(VALUE self) +{ + BDVALUE a = GetBDValueMust(self); + BDVALUE c = NewZeroWrap(1, (a.real->Prec + 1) * BASE_FIG); + VpActiveRound(c.real, a.real, VP_ROUND_DOWN, 0); /* 0: round off */ + RB_GC_GUARD(a.bigdecimal); + return CheckGetValue(c); +} + +/* call-seq: + * round(n, mode) + * + * Round to the nearest integer (by default), returning the result as a + * BigDecimal if n is specified and positive, or as an Integer if it isn't. + * + * BigDecimal('3.14159').round #=> 3 + * BigDecimal('8.7').round #=> 9 + * BigDecimal('-9.9').round #=> -10 + * + * BigDecimal('3.14159').round(2).class.name #=> "BigDecimal" + * BigDecimal('3.14159').round.class.name #=> "Integer" + * BigDecimal('3.14159').round(0).class.name #=> "Integer" + * + * If n is specified and positive, the fractional part of the result has no + * more than that many digits. + * + * If n is specified and negative, at least that many digits to the left of the + * decimal point will be 0 in the result, and return value will be an Integer. + * + * BigDecimal('3.14159').round(3) #=> 3.142 + * BigDecimal('13345.234').round(-2) #=> 13300 + * + * The value of the optional mode argument can be used to determine how + * rounding is performed; see BigDecimal.mode. + */ +static VALUE +BigDecimal_round(int argc, VALUE *argv, VALUE self) +{ + BDVALUE c, a; + int iLoc = 0; + VALUE vLoc; + VALUE vRound; + int round_to_int = 0; + size_t mx; + + unsigned short sw = VpGetRoundMode(); + + switch (rb_scan_args(argc, argv, "02", &vLoc, &vRound)) { + case 0: + iLoc = 0; + round_to_int = 1; + break; + case 1: + if (RB_TYPE_P(vLoc, T_HASH)) { + sw = check_rounding_mode_option(vLoc); + } + else { + iLoc = NUM2INT(vLoc); + if (iLoc < 1) round_to_int = 1; + } + break; + case 2: + iLoc = NUM2INT(vLoc); + if (RB_TYPE_P(vRound, T_HASH)) { + sw = check_rounding_mode_option(vRound); + } + else { + sw = check_rounding_mode(vRound); + } + break; + default: + break; + } + + a = GetBDValueMust(self); + mx = (a.real->Prec + 1) * BASE_FIG; + c = NewZeroWrap(1, mx); + + VpActiveRound(c.real, a.real, sw, iLoc); + + RB_GC_GUARD(a.bigdecimal); + + if (round_to_int) { + return BigDecimal_to_i(CheckGetValue(c)); + } + return CheckGetValue(c); +} + +static VALUE +BigDecimal_truncate_floor_ceil(int argc, VALUE *argv, VALUE self, unsigned short rounding_mode) +{ + BDVALUE c, a; + int iLoc; + VALUE vLoc; + size_t mx; + + if (rb_scan_args(argc, argv, "01", &vLoc) == 0) { + iLoc = 0; + } + else { + iLoc = NUM2INT(vLoc); + } + + a = GetBDValueMust(self); + mx = (a.real->Prec + 1) * BASE_FIG; + c = NewZeroWrap(1, mx); + VpActiveRound(c.real, a.real, rounding_mode, iLoc); + + RB_GC_GUARD(a.bigdecimal); + + if (argc == 0) { + return BigDecimal_to_i(CheckGetValue(c)); + } + return CheckGetValue(c); +} + +/* call-seq: + * truncate(n) + * + * Truncate to the nearest integer (by default), returning the result as a + * BigDecimal. + * + * BigDecimal('3.14159').truncate #=> 3 + * BigDecimal('8.7').truncate #=> 8 + * BigDecimal('-9.9').truncate #=> -9 + * + * If n is specified and positive, the fractional part of the result has no + * more than that many digits. + * + * If n is specified and negative, at least that many digits to the left of the + * decimal point will be 0 in the result. + * + * BigDecimal('3.14159').truncate(3) #=> 3.141 + * BigDecimal('13345.234').truncate(-2) #=> 13300.0 + */ +static VALUE +BigDecimal_truncate(int argc, VALUE *argv, VALUE self) +{ + return BigDecimal_truncate_floor_ceil(argc, argv, self, VP_ROUND_DOWN); +} + +/* Return the fractional part of the number, as a BigDecimal. + */ +static VALUE +BigDecimal_frac(VALUE self) +{ + BDVALUE a = GetBDValueMust(self); + BDVALUE c = NewZeroWrap(1, (a.real->Prec + 1) * BASE_FIG); + VpFrac(c.real, a.real); + RB_GC_GUARD(a.bigdecimal); + return CheckGetValue(c); +} + +/* call-seq: + * floor(n) + * + * Return the largest integer less than or equal to the value, as a BigDecimal. + * + * BigDecimal('3.14159').floor #=> 3 + * BigDecimal('-9.1').floor #=> -10 + * + * If n is specified and positive, the fractional part of the result has no + * more than that many digits. + * + * If n is specified and negative, at least that + * many digits to the left of the decimal point will be 0 in the result. + * + * BigDecimal('3.14159').floor(3) #=> 3.141 + * BigDecimal('13345.234').floor(-2) #=> 13300.0 + */ +static VALUE +BigDecimal_floor(int argc, VALUE *argv, VALUE self) +{ + return BigDecimal_truncate_floor_ceil(argc, argv, self, VP_ROUND_FLOOR); +} + +/* call-seq: + * ceil(n) + * + * Return the smallest integer greater than or equal to the value, as a BigDecimal. + * + * BigDecimal('3.14159').ceil #=> 4 + * BigDecimal('-9.1').ceil #=> -9 + * + * If n is specified and positive, the fractional part of the result has no + * more than that many digits. + * + * If n is specified and negative, at least that + * many digits to the left of the decimal point will be 0 in the result. + * + * BigDecimal('3.14159').ceil(3) #=> 3.142 + * BigDecimal('13345.234').ceil(-2) #=> 13400.0 + */ +static VALUE +BigDecimal_ceil(int argc, VALUE *argv, VALUE self) +{ + return BigDecimal_truncate_floor_ceil(argc, argv, self, VP_ROUND_CEIL); +} + +/* call-seq: + * to_s(s) + * + * Converts the value to a string. + * + * The default format looks like 0.xxxxEnn. + * + * The optional parameter s consists of either an integer; or an optional '+' + * or ' ', followed by an optional number, followed by an optional 'E' or 'F'. + * + * If there is a '+' at the start of s, positive values are returned with + * a leading '+'. + * + * A space at the start of s returns positive values with a leading space. + * + * If s contains a number, a space is inserted after each group of that many + * digits, starting from '.' and counting outwards. + * + * If s ends with an 'E', scientific notation (0.xxxxEnn) is used. + * + * If s ends with an 'F', conventional floating point notation is used. + * + * Examples: + * + * BigDecimal('-1234567890123.45678901234567890').to_s('5F') + * #=> '-123 45678 90123.45678 90123 45678 9' + * + * BigDecimal('1234567890123.45678901234567890').to_s('+8F') + * #=> '+12345 67890123.45678901 23456789' + * + * BigDecimal('1234567890123.45678901234567890').to_s(' F') + * #=> ' 1234567890123.4567890123456789' + */ +static VALUE +BigDecimal_to_s(int argc, VALUE *argv, VALUE self) +{ + int fmt = 0; /* 0: E format, 1: F format */ + int fPlus = 0; /* 0: default, 1: set ' ' before digits, 2: set '+' before digits. */ + BDVALUE v; + volatile VALUE str; + char *psz; + char ch; + size_t nc, mc = 0; + SIGNED_VALUE m; + VALUE f; + + v = GetBDValueMust(self); + + if (rb_scan_args(argc, argv, "01", &f) == 1) { + if (RB_TYPE_P(f, T_STRING)) { + psz = StringValueCStr(f); + if (*psz == ' ') { + fPlus = 1; + psz++; + } + else if (*psz == '+') { + fPlus = 2; + psz++; + } + while ((ch = *psz++) != 0) { + if (ISSPACE(ch)) { + continue; + } + if (!ISDIGIT(ch)) { + if (ch == 'F' || ch == 'f') { + fmt = 1; /* F format */ + } + break; + } + mc = mc*10 + ch - '0'; + } + } + else { + m = NUM2INT(f); + if (m <= 0) { + rb_raise(rb_eArgError, "argument must be positive"); + } + mc = (size_t)m; + } + } + if (fmt) { + nc = VpNumOfChars(v.real, "F"); + } + else { + nc = VpNumOfChars(v.real, "E"); + } + if (mc > 0) { + nc += (nc + mc - 1) / mc + 1; + } + + str = rb_usascii_str_new(0, nc); + psz = RSTRING_PTR(str); + + if (fmt) { + VpToFString(v.real, psz, RSTRING_LEN(str), mc, fPlus); + } + else { + VpToString (v.real, psz, RSTRING_LEN(str), mc, fPlus); + } + rb_str_resize(str, strlen(psz)); + + RB_GC_GUARD(v.bigdecimal); + return str; +} + +/* Splits a BigDecimal number into four parts, returned as an array of values. + * + * The first value represents the sign of the BigDecimal, and is -1 or 1, or 0 + * if the BigDecimal is Not a Number. + * + * The second value is a string representing the significant digits of the + * BigDecimal, with no leading zeros. + * + * The third value is the base used for arithmetic (currently always 10) as an + * Integer. + * + * The fourth value is an Integer exponent. + * + * If the BigDecimal can be represented as 0.xxxxxx*10**n, then xxxxxx is the + * string of significant digits with no leading zeros, and n is the exponent. + * + * From these values, you can translate a BigDecimal to a float as follows: + * + * sign, significant_digits, base, exponent = a.split + * f = sign * "0.#{significant_digits}".to_f * (base ** exponent) + * + * (Note that the to_f method is provided as a more convenient way to translate + * a BigDecimal to a Float.) + */ +static VALUE +BigDecimal_split(VALUE self) +{ + BDVALUE v; + VALUE obj,str; + ssize_t e, s; + char *psz1; + + v = GetBDValueMust(self); + str = rb_str_new(0, VpNumOfChars(v.real, "E")); + psz1 = RSTRING_PTR(str); + VpSzMantissa(v.real, psz1, RSTRING_LEN(str)); + s = 1; + if(psz1[0] == '-') { + size_t len = strlen(psz1 + 1); + + memmove(psz1, psz1 + 1, len); + psz1[len] = '\0'; + s = -1; + } + if (psz1[0] == 'N') s = 0; /* NaN */ + e = VpExponent10(v.real); + obj = rb_ary_new2(4); + rb_ary_push(obj, INT2FIX(s)); + rb_ary_push(obj, str); + rb_str_resize(str, strlen(psz1)); + rb_ary_push(obj, INT2FIX(10)); + rb_ary_push(obj, SSIZET2NUM(e)); + + RB_GC_GUARD(v.bigdecimal); + return obj; +} + +/* Returns the exponent of the BigDecimal number, as an Integer. + * + * If the number can be represented as 0.xxxxxx*10**n where xxxxxx is a string + * of digits with no leading zeros, then n is the exponent. + */ +static VALUE +BigDecimal_exponent(VALUE self) +{ + ssize_t e = VpExponent10(GetSelfVpValue(self)); + return SSIZET2NUM(e); +} + +/* Returns a string representation of self. + * + * BigDecimal("1234.5678").inspect + * #=> "0.12345678e4" + */ +static VALUE +BigDecimal_inspect(VALUE self) +{ + BDVALUE v; + volatile VALUE str; + size_t nc; + + v = GetBDValueMust(self); + nc = VpNumOfChars(v.real, "E"); + + str = rb_str_new(0, nc); + VpToString(v.real, RSTRING_PTR(str), RSTRING_LEN(str), 0, 0); + rb_str_resize(str, strlen(RSTRING_PTR(str))); + + RB_GC_GUARD(v.bigdecimal); + return str; +} + +/* Returns self * 10**v without changing the precision. + * This method is currently for internal use. + * + * BigDecimal("0.123e10")._decimal_shift(20) #=> "0.123e30" + * BigDecimal("0.123e10")._decimal_shift(-20) #=> "0.123e-10" + */ +static VALUE +BigDecimal_decimal_shift(VALUE self, VALUE v) +{ + BDVALUE a, c; + ssize_t shift, exponentShift; + bool shiftDown; + size_t prec; + DECDIG ex, iex; + + a = GetBDValueMust(self); + shift = NUM2SSIZET(rb_to_int(v)); + + if (VpIsZero(a.real) || VpIsNaN(a.real) || VpIsInf(a.real) || shift == 0) return CheckGetValue(a); + + exponentShift = shift > 0 ? shift / BASE_FIG : (shift + 1) / BASE_FIG - 1; + shift -= exponentShift * BASE_FIG; + ex = 1; + for (int i = 0; i < shift; i++) ex *= 10; + shiftDown = a.real->frac[0] * (DECDIG_DBL)ex >= BASE; + iex = BASE / ex; + + prec = a.real->Prec + shiftDown; + c = NewZeroWrap(1, prec * BASE_FIG); + if (shift == 0) { + VpAsgn(c.real, a.real, 1); + } else if (shiftDown) { + DECDIG carry = 0; + exponentShift++; + for (size_t i = 0; i < a.real->Prec; i++) { + DECDIG v = a.real->frac[i]; + c.real->frac[i] = carry * ex + v / iex; + carry = v % iex; + } + c.real->frac[a.real->Prec] = carry * ex; + } else { + DECDIG carry = 0; + for (ssize_t i = a.real->Prec - 1; i >= 0; i--) { + DECDIG v = a.real->frac[i]; + c.real->frac[i] = v % iex * ex + carry; + carry = v / iex; + } + } + while (c.real->frac[prec - 1] == 0) prec--; + c.real->Prec = prec; + c.real->sign = a.real->sign; + c.real->exponent = a.real->exponent; + AddExponent(c.real, exponentShift); + RB_GC_GUARD(a.bigdecimal); + return CheckGetValue(c); +} + +inline static int +is_zero(VALUE x) +{ + VALUE num; + + switch (TYPE(x)) { + case T_FIXNUM: + return FIX2LONG(x) == 0; + + case T_BIGNUM: + return Qfalse; + + case T_RATIONAL: + num = rb_rational_num(x); + return FIXNUM_P(num) && FIX2LONG(num) == 0; + + default: + break; + } + + return RTEST(rb_funcall(x, id_eq, 1, INT2FIX(0))); +} + +/* :nodoc: */ +static VALUE +BigDecimal_clone(VALUE self) +{ + return self; +} + +#ifdef HAVE_RB_OPTS_EXCEPTION_P +int rb_opts_exception_p(VALUE opts, int default_value); +#define opts_exception_p(opts) rb_opts_exception_p((opts), 1) +#else +static int +opts_exception_p(VALUE opts) +{ + static ID kwds[1]; + VALUE exception; + if (!kwds[0]) { + kwds[0] = rb_intern_const("exception"); + } + if (!rb_get_kwargs(opts, kwds, 0, 1, &exception)) return 1; + switch (exception) { + case Qtrue: case Qfalse: + break; + default: + rb_raise(rb_eArgError, "true or false is expected as exception: %+"PRIsVALUE, + exception); + } + return exception != Qfalse; +} +#endif + +static VALUE +check_exception(VALUE bd) +{ + assert(is_kind_of_BigDecimal(bd)); + + Real *vp; + TypedData_Get_Struct(bd, Real, &BigDecimal_data_type, vp); + VpCheckException(vp, false); + + return bd; +} + +static VALUE +rb_uint64_convert_to_BigDecimal(uint64_t uval) +{ + NULL_WRAPPED_VALUE null_wrapped = BigDecimal_alloc_empty_struct(rb_cBigDecimal); + Real *vp; + if (uval == 0) { + vp = rbd_allocate_struct(1); + vp->Prec = 1; + vp->exponent = 1; + VpSetZero(vp, 1); + vp->frac[0] = 0; + } + else if (uval < BASE) { + vp = rbd_allocate_struct(1); + vp->Prec = 1; + vp->exponent = 1; + VpSetSign(vp, 1); + vp->frac[0] = (DECDIG)uval; + } + else { + DECDIG buf[BIGDECIMAL_INT64_MAX_LENGTH] = {0,}; + DECDIG r = uval % BASE; + size_t len = 0, ntz = 0; + if (r == 0) { + // Count and skip trailing zeros + for (; r == 0 && uval > 0; ++ntz) { + uval /= BASE; + r = uval % BASE; + } + } + for (; uval > 0; ++len) { + // Store digits + buf[BIGDECIMAL_INT64_MAX_LENGTH - len - 1] = r; + uval /= BASE; + r = uval % BASE; + } + + const size_t exp = len + ntz; + vp = rbd_allocate_struct(len); + vp->Prec = len; + vp->exponent = exp; + VpSetSign(vp, 1); + MEMCPY(vp->frac, buf + BIGDECIMAL_INT64_MAX_LENGTH - len, DECDIG, len); + } + + return BigDecimal_wrap_struct(null_wrapped, vp); +} + +static VALUE +rb_int64_convert_to_BigDecimal(int64_t ival) +{ + const uint64_t uval = (ival < 0) ? (((uint64_t)-(ival+1))+1) : (uint64_t)ival; + VALUE bd = rb_uint64_convert_to_BigDecimal(uval); + if (ival < 0) { + Real *vp; + TypedData_Get_Struct(bd, Real, &BigDecimal_data_type, vp); + VpSetSign(vp, -1); + } + return bd; +} + +static VALUE +rb_big_convert_to_BigDecimal(VALUE val) +{ + assert(RB_TYPE_P(val, T_BIGNUM)); + + int leading_zeros; + size_t size = rb_absint_size(val, &leading_zeros); + int sign = FIX2INT(rb_big_cmp(val, INT2FIX(0))); + if (sign < 0 && leading_zeros == 0) { + size += 1; + } + if (size <= sizeof(long)) { + if (sign < 0) { + return rb_int64_convert_to_BigDecimal(NUM2LONG(val)); + } + else { + return rb_uint64_convert_to_BigDecimal(NUM2ULONG(val)); + } + } +#if defined(SIZEOF_LONG_LONG) && SIZEOF_LONG < SIZEOF_LONG_LONG + else if (size <= sizeof(LONG_LONG)) { + if (sign < 0) { + return rb_int64_convert_to_BigDecimal(NUM2LL(val)); + } + else { + return rb_uint64_convert_to_BigDecimal(NUM2ULL(val)); + } + } +#endif + else { + VALUE str = rb_big2str(val, 10); + BDVALUE v = bdvalue_nonnullable(CreateFromString( + RSTRING_PTR(str), + rb_cBigDecimal, + true, + true + )); + RB_GC_GUARD(str); + return CheckGetValue(v); + } +} + +static VALUE +rb_inum_convert_to_BigDecimal(VALUE val) +{ + assert(RB_INTEGER_TYPE_P(val)); + if (FIXNUM_P(val)) { + return rb_int64_convert_to_BigDecimal(FIX2LONG(val)); + } + else { + return rb_big_convert_to_BigDecimal(val); + } +} + +static VALUE +rb_float_convert_to_BigDecimal(VALUE val, size_t digs, int raise_exception) +{ + assert(RB_FLOAT_TYPE_P(val)); + + double d = RFLOAT_VALUE(val); + + if (isnan(d)) { + VALUE obj = BigDecimal_nan(); + return check_exception(obj); + } + else if (isinf(d)) { + VALUE obj; + if (d > 0) { + obj = BigDecimal_positive_infinity(); + } + else { + obj = BigDecimal_negative_infinity(); + } + return check_exception(obj); + } + else if (d == 0.0) { + if (1/d < 0.0) { + return BigDecimal_negative_zero(); + } + else { + return BigDecimal_positive_zero(); + } + } + + if (digs == SIZE_MAX) { + digs = 0; + } + else if (digs > BIGDECIMAL_DOUBLE_FIGURES) { + if (!raise_exception) + return Qnil; + rb_raise(rb_eArgError, "precision too large."); + } + + /* Use the same logic in flo_to_s to convert a float to a decimal string */ + char buf[BIGDECIMAL_DOUBLE_FIGURES + BASE_FIG + 2 + 1]; /* sizeof(buf) == 28 in the typical case */ + int decpt, negative_p; + char *e; + const int mode = digs == 0 ? 0 : 2; + char *p = BigDecimal_dtoa(d, mode, (int)digs, &decpt, &negative_p, &e); + int len10 = (int)(e - p); + if (len10 > BIGDECIMAL_DOUBLE_FIGURES) { + /* TODO: Presumably, rounding should be done here. */ + len10 = BIGDECIMAL_DOUBLE_FIGURES; + } + memcpy(buf, p, len10); + xfree(p); + + VALUE inum; + size_t RB_UNUSED_VAR(prec) = 0; + SIGNED_VALUE exp = 0; + if (decpt > 0) { + if (decpt < len10) { + /* + * len10 |---------------| + * : |-------| frac_len10 = len10 - decpt + * decpt |-------| |--| ntz10 = BASE_FIG - frac_len10 % BASE_FIG + * : : : + * 00 dd dddd.dddd dd 00 + * prec |-----.----.----.-----| prec = exp + roomof(frac_len, BASE_FIG) + * exp |-----.----| exp = roomof(decpt, BASE_FIG) + */ + const size_t frac_len10 = len10 - decpt; + const size_t ntz10 = BASE_FIG - frac_len10 % BASE_FIG; + memset(buf + len10, '0', ntz10); + buf[len10 + ntz10] = '\0'; + inum = rb_cstr_to_inum(buf, 10, false); + + exp = roomof(decpt, BASE_FIG); + prec = exp + roomof(frac_len10, BASE_FIG); + } + else { + /* + * decpt |-----------------------| + * len10 |----------| : + * : |------------| exp10 + * : : : + * 00 dd dddd dd 00 0000 0000.0 + * : : : : + * : |--| ntz10 = exp10 % BASE_FIG + * prec |-----.----.-----| : + * : |----.----| exp10 / BASE_FIG + * exp |-----.----.-----.----.----| + */ + const size_t exp10 = decpt - len10; + const size_t ntz10 = exp10 % BASE_FIG; + + memset(buf + len10, '0', ntz10); + buf[len10 + ntz10] = '\0'; + inum = rb_cstr_to_inum(buf, 10, false); + + prec = roomof(len10 + ntz10, BASE_FIG); + exp = prec + exp10 / BASE_FIG; + } + } + else if (decpt == 0) { + /* + * len10 |------------| + * : : + * 0.dddd dddd dd 00 + * : : : + * : |--| ntz10 = prec * BASE_FIG - len10 + * prec |----.----.-----| roomof(len10, BASE_FIG) + */ + prec = roomof(len10, BASE_FIG); + const size_t ntz10 = prec * BASE_FIG - len10; + + memset(buf + len10, '0', ntz10); + buf[len10 + ntz10] = '\0'; + inum = rb_cstr_to_inum(buf, 10, false); + } + else { + /* + * len10 |---------------| + * : : + * decpt |-------| |--| ntz10 = prec * BASE_FIG - nlz10 - len10 + * : : : + * 0.0000 00 dd dddd dddd dd 00 + * : : : + * nlz10 |--| : decpt % BASE_FIG + * prec |-----.----.----.-----| roomof(decpt + len10, BASE_FIG) - exp + * exp |----| decpt / BASE_FIG + */ + decpt = -decpt; + + const size_t nlz10 = decpt % BASE_FIG; + exp = decpt / BASE_FIG; + prec = roomof(decpt + len10, BASE_FIG) - exp; + const size_t ntz10 = prec * BASE_FIG - nlz10 - len10; + + if (nlz10 > 0) { + memmove(buf + nlz10, buf, len10); + memset(buf, '0', nlz10); + } + memset(buf + nlz10 + len10, '0', ntz10); + buf[nlz10 + len10 + ntz10] = '\0'; + inum = rb_cstr_to_inum(buf, 10, false); + + exp = -exp; + } + + VALUE bd = rb_inum_convert_to_BigDecimal(inum); + Real *vp; + TypedData_Get_Struct(bd, Real, &BigDecimal_data_type, vp); + assert(vp->Prec == prec); + vp->exponent = exp; + + if (negative_p) VpSetSign(vp, -1); + return bd; +} + +static VALUE +rb_rational_convert_to_BigDecimal(VALUE val, size_t digs, int raise_exception) +{ + assert(RB_TYPE_P(val, T_RATIONAL)); + + if (digs == SIZE_MAX) { + if (!raise_exception) + return Qnil; + rb_raise(rb_eArgError, + "can't omit precision for a %"PRIsVALUE".", + CLASS_OF(val)); + } + + VALUE num = rb_inum_convert_to_BigDecimal(rb_rational_num(val)); + VALUE d = BigDecimal_div2(num, rb_rational_den(val), SIZET2NUM(digs)); + return d; +} + +static VALUE +rb_cstr_convert_to_BigDecimal(const char *c_str, int raise_exception) +{ + NULLABLE_BDVALUE v = CreateFromString(c_str, rb_cBigDecimal, true, raise_exception); + if (v.bigdecimal_or_nil == Qnil) return Qnil; + return CheckGetValue(bdvalue_nonnullable(v)); +} + +static inline VALUE +rb_str_convert_to_BigDecimal(VALUE val, int raise_exception) +{ + const char *c_str = StringValueCStr(val); + return rb_cstr_convert_to_BigDecimal(c_str, raise_exception); +} + +static VALUE +rb_convert_to_BigDecimal(VALUE val, size_t digs, int raise_exception) +{ + switch (val) { + case Qnil: + case Qtrue: + case Qfalse: + if (raise_exception) { + const char *cname = NIL_P(val) ? "nil" : + val == Qtrue ? "true" : + val == Qfalse ? "false" : + NULL; + rb_raise(rb_eTypeError, + "can't convert %s into BigDecimal", cname); + } + return Qnil; + + default: + break; + } + + if (is_kind_of_BigDecimal(val)) { + if (digs == SIZE_MAX) + return check_exception(val); + + NULL_WRAPPED_VALUE null_wrapped = BigDecimal_alloc_empty_struct(rb_cBigDecimal); + Real *vp; + TypedData_Get_Struct(val, Real, &BigDecimal_data_type, vp); + vp = VpCopy(NULL, vp); + RB_GC_GUARD(val); + + VALUE copy = BigDecimal_wrap_struct(null_wrapped, vp); + /* TODO: rounding */ + return check_exception(copy); + } + else if (RB_INTEGER_TYPE_P(val)) { + return rb_inum_convert_to_BigDecimal(val); + } + else if (RB_FLOAT_TYPE_P(val)) { + return rb_float_convert_to_BigDecimal(val, digs, raise_exception); + } + else if (RB_TYPE_P(val, T_RATIONAL)) { + return rb_rational_convert_to_BigDecimal(val, digs, raise_exception); + } + else if (RB_TYPE_P(val, T_COMPLEX)) { + VALUE im = rb_complex_imag(val); + if (!is_zero(im)) { + /* TODO: handle raise_exception */ + rb_raise(rb_eArgError, + "Unable to make a BigDecimal from non-zero imaginary number"); + } + return rb_convert_to_BigDecimal(rb_complex_real(val), digs, raise_exception); + } + else if (RB_TYPE_P(val, T_STRING)) { + return rb_str_convert_to_BigDecimal(val, raise_exception); + } + + /* TODO: chheck to_d */ + /* TODO: chheck to_int */ + + VALUE str = rb_check_convert_type(val, T_STRING, "String", "to_str"); + if (!RB_TYPE_P(str, T_STRING)) { + if (raise_exception) { + rb_raise(rb_eTypeError, + "can't convert %"PRIsVALUE" into BigDecimal", rb_obj_class(val)); + } + return Qnil; + } + return rb_str_convert_to_BigDecimal(str, raise_exception); +} + +/* call-seq: + * BigDecimal(value, exception: true) -> bigdecimal + * BigDecimal(value, ndigits, exception: true) -> bigdecimal + * + * Returns the \BigDecimal converted from +value+ + * with a precision of +ndigits+ decimal digits. + * + * When +ndigits+ is less than the number of significant digits + * in the value, the result is rounded to that number of digits, + * according to the current rounding mode; see BigDecimal.mode. + * + * When +ndigits+ is 0, the number of digits to correctly represent a float number + * is determined automatically. + * + * Returns +value+ converted to a \BigDecimal, depending on the type of +value+: + * + * - Integer, Float, Rational, Complex, or BigDecimal: converted directly: + * + * # Integer, Complex, Float, or BigDecimal value does not require ndigits; ignored if given. + * BigDecimal(2) # => 0.2e1 + * BigDecimal(Complex(2, 0)) # => 0.2e1 + * BigDecimal(BigDecimal(2)) # => 0.2e1 + * BigDecimal(2.0) # => 0.2e1 + * # Rational value requires ndigits. + * BigDecimal(Rational(2, 1), 0) # => 0.2e1 + * + * - String: converted by parsing if it contains an integer or floating-point literal; + * leading and trailing whitespace is ignored: + * + * # String does not require ndigits; ignored if given. + * BigDecimal('2') # => 0.2e1 + * BigDecimal('2.0') # => 0.2e1 + * BigDecimal('0.2e1') # => 0.2e1 + * BigDecimal(' 2.0 ') # => 0.2e1 + * + * - Other type that responds to method :to_str: + * first converted to a string, then converted to a \BigDecimal, as above. + * + * - Other type: + * + * - Raises an exception if keyword argument +exception+ is +true+. + * - Returns +nil+ if keyword argument +exception+ is +false+. + * + * Raises an exception if +value+ evaluates to a Float + * and +digits+ is larger than Float::DIG + 1. + * + */ +static VALUE +f_BigDecimal(int argc, VALUE *argv, VALUE self) +{ + VALUE val, digs_v, opts = Qnil; + argc = rb_scan_args(argc, argv, "11:", &val, &digs_v, &opts); + int exception = opts_exception_p(opts); + + size_t digs = SIZE_MAX; /* this means digs is omitted */ + if (argc > 1) { + digs_v = rb_to_int(digs_v); + if (FIXNUM_P(digs_v)) { + long n = FIX2LONG(digs_v); + if (n < 0) + goto negative_digs; + digs = (size_t)n; + } + else { + if (RBIGNUM_NEGATIVE_P(digs_v)) { + negative_digs: + if (!exception) + return Qnil; + rb_raise(rb_eArgError, "negative precision"); + } + digs = NUM2SIZET(digs_v); + } + } + + return rb_convert_to_BigDecimal(val, digs, exception); +} + +/* call-seq: + * BigDecimal.interpret_loosely(string) -> bigdecimal + * + * Returns the +BigDecimal+ converted loosely from +string+. + */ + +static VALUE +BigDecimal_s_interpret_loosely(VALUE klass, VALUE str) +{ + char const *c_str = StringValueCStr(str); + NULLABLE_BDVALUE v = CreateFromString(c_str, klass, false, true); + if (v.bigdecimal_or_nil == Qnil) + return Qnil; + else + return CheckGetValue(bdvalue_nonnullable(v)); +} + + /* + * call-seq: + * BigDecimal.limit(digits) + * + * Limit the number of significant digits in newly created BigDecimal + * numbers to the specified value. Rounding is performed as necessary, + * as specified by BigDecimal.mode. + * + * A limit of 0, the default, means no upper limit. + * + * The limit specified by this method takes less priority over any limit + * specified to instance methods such as ceil, floor, truncate, or round. + */ +static VALUE +BigDecimal_limit(int argc, VALUE *argv, VALUE self) +{ + VALUE nFig; + VALUE nCur = SIZET2NUM(VpGetPrecLimit()); + + if (rb_scan_args(argc, argv, "01", &nFig) == 1) { + int nf; + if (NIL_P(nFig)) return nCur; + nf = NUM2INT(nFig); + if (nf < 0) { + rb_raise(rb_eArgError, "argument must be positive"); + } + VpSetPrecLimit(nf); + } + return nCur; +} + +/* Returns the sign of the value. + * + * Returns a positive value if > 0, a negative value if < 0. + * It behaves the same with zeros - + * it returns a positive value for a positive zero (BigDecimal('0')) and + * a negative value for a negative zero (BigDecimal('-0')). + * + * The specific value returned indicates the type and sign of the BigDecimal, + * as follows: + * + * BigDecimal::SIGN_NaN:: value is Not a Number + * BigDecimal::SIGN_POSITIVE_ZERO:: value is +0 + * BigDecimal::SIGN_NEGATIVE_ZERO:: value is -0 + * BigDecimal::SIGN_POSITIVE_INFINITE:: value is +Infinity + * BigDecimal::SIGN_NEGATIVE_INFINITE:: value is -Infinity + * BigDecimal::SIGN_POSITIVE_FINITE:: value is positive + * BigDecimal::SIGN_NEGATIVE_FINITE:: value is negative + */ +static VALUE +BigDecimal_sign(VALUE self) +{ /* sign */ + int s = GetSelfVpValue(self)->sign; + return INT2FIX(s); +} + +/* + * call-seq: BigDecimal.save_exception_mode { ... } + * + * Execute the provided block, but preserve the exception mode + * + * BigDecimal.save_exception_mode do + * BigDecimal.mode(BigDecimal::EXCEPTION_OVERFLOW, false) + * BigDecimal.mode(BigDecimal::EXCEPTION_NaN, false) + * + * BigDecimal(BigDecimal('Infinity')) + * BigDecimal(BigDecimal('-Infinity')) + * BigDecimal(BigDecimal('NaN')) + * end + * + * For use with the BigDecimal::EXCEPTION_* + * + * See BigDecimal.mode + */ +static VALUE +BigDecimal_save_exception_mode(VALUE self) +{ + unsigned short const exception_mode = VpGetException(); + int state; + VALUE ret = rb_protect(rb_yield, Qnil, &state); + VpSetException(exception_mode); + if (state) rb_jump_tag(state); + return ret; +} + +/* + * call-seq: BigDecimal.save_rounding_mode { ... } + * + * Execute the provided block, but preserve the rounding mode + * + * BigDecimal.save_rounding_mode do + * BigDecimal.mode(BigDecimal::ROUND_MODE, :up) + * puts BigDecimal.mode(BigDecimal::ROUND_MODE) + * end + * + * For use with the BigDecimal::ROUND_* + * + * See BigDecimal.mode + */ +static VALUE +BigDecimal_save_rounding_mode(VALUE self) +{ + unsigned short const round_mode = VpGetRoundMode(); + int state; + VALUE ret = rb_protect(rb_yield, Qnil, &state); + VpSetRoundMode(round_mode); + if (state) rb_jump_tag(state); + return ret; +} + +/* + * call-seq: BigDecimal.save_limit { ... } + * + * Execute the provided block, but preserve the precision limit + * + * BigDecimal.limit(100) + * puts BigDecimal.limit + * BigDecimal.save_limit do + * BigDecimal.limit(200) + * puts BigDecimal.limit + * end + * puts BigDecimal.limit + * + */ +static VALUE +BigDecimal_save_limit(VALUE self) +{ + size_t const limit = VpGetPrecLimit(); + int state; + VALUE ret = rb_protect(rb_yield, Qnil, &state); + VpSetPrecLimit(limit); + if (state) rb_jump_tag(state); + return ret; +} + +static VALUE BIGDECIMAL_NAN = Qnil; + +static VALUE +BigDecimal_nan(void) +{ + return BIGDECIMAL_NAN; +} + +static VALUE BIGDECIMAL_POSITIVE_INFINITY = Qnil; + +static VALUE +BigDecimal_positive_infinity(void) +{ + return BIGDECIMAL_POSITIVE_INFINITY; +} + +static VALUE BIGDECIMAL_NEGATIVE_INFINITY = Qnil; + +static VALUE +BigDecimal_negative_infinity(void) +{ + return BIGDECIMAL_NEGATIVE_INFINITY; +} + +static VALUE BIGDECIMAL_POSITIVE_ZERO = Qnil; + +static VALUE +BigDecimal_positive_zero(void) +{ + return BIGDECIMAL_POSITIVE_ZERO; +} + +static VALUE BIGDECIMAL_NEGATIVE_ZERO = Qnil; + +static VALUE +BigDecimal_negative_zero(void) +{ + return BIGDECIMAL_NEGATIVE_ZERO; +} + +static inline VALUE +BigDecimal_literal(const char *str) +{ + VALUE arg = rb_str_new_cstr(str); + VALUE val = f_BigDecimal(1, &arg, rb_cBigDecimal); + rb_gc_register_mark_object(val); + return val; +} + +#define BIGDECIMAL_LITERAL(var, val) (BIGDECIMAL_ ## var = BigDecimal_literal(#val)) + +#ifdef BIGDECIMAL_USE_VP_TEST_METHODS +VALUE +BigDecimal_vpdivd(VALUE self, VALUE r, VALUE cprec) { + BDVALUE a,b,c,d; + size_t cn = NUM2INT(cprec); + a = GetBDValueMust(self); + b = GetBDValueMust(r); + c = NewZeroWrap(1, cn * BASE_FIG); + d = NewZeroWrap(1, VPDIVD_REM_PREC(a.real, b.real, c.real) * BASE_FIG); + VpDivd(c.real, d.real, a.real, b.real); + RB_GC_GUARD(a.bigdecimal); + RB_GC_GUARD(b.bigdecimal); + return rb_assoc_new(c.bigdecimal, d.bigdecimal); +} + +VALUE +BigDecimal_vpmult(VALUE self, VALUE v) { + BDVALUE a,b,c; + a = GetBDValueMust(self); + b = GetBDValueMust(v); + c = NewZeroWrap(1, VPMULT_RESULT_PREC(a.real, b.real) * BASE_FIG); + VpMult(c.real, a.real, b.real); + RB_GC_GUARD(a.bigdecimal); + RB_GC_GUARD(b.bigdecimal); + return c.bigdecimal; +} +#endif /* BIGDECIMAL_USE_VP_TEST_METHODS */ + +/* Document-class: BigDecimal + * BigDecimal provides arbitrary-precision floating point decimal arithmetic. + * + * == Introduction + * + * Ruby provides built-in support for arbitrary precision integer arithmetic. + * + * For example: + * + * 42**13 #=> 1265437718438866624512 + * + * BigDecimal provides similar support for very large or very accurate floating + * point numbers. + * + * Decimal arithmetic is also useful for general calculation, because it + * provides the correct answers people expect--whereas normal binary floating + * point arithmetic often introduces subtle errors because of the conversion + * between base 10 and base 2. + * + * For example, try: + * + * sum = 0 + * 10_000.times do + * sum = sum + 0.0001 + * end + * print sum #=> 0.9999999999999062 + * + * and contrast with the output from: + * + * require 'bigdecimal' + * + * sum = BigDecimal("0") + * 10_000.times do + * sum = sum + BigDecimal("0.0001") + * end + * print sum #=> 0.1E1 + * + * Similarly: + * + * (BigDecimal("1.2") - BigDecimal("1.0")) == BigDecimal("0.2") #=> true + * + * (1.2 - 1.0) == 0.2 #=> false + * + * == A Note About Precision + * + * For a calculation using a \BigDecimal and another +value+, + * the precision of the result depends on the type of +value+: + * + * - If +value+ is a \Float, + * the precision is Float::DIG + 1. + * - If +value+ is a \Rational, the precision is larger than Float::DIG + 1. + * - If +value+ is a \BigDecimal, the precision is +value+'s precision in the + * internal representation, which is platform-dependent. + * - If +value+ is other object, the precision is determined by the result of +BigDecimal(value)+. + * + * == Special features of accurate decimal arithmetic + * + * Because BigDecimal is more accurate than normal binary floating point + * arithmetic, it requires some special values. + * + * === Infinity + * + * BigDecimal sometimes needs to return infinity, for example if you divide + * a value by zero. + * + * BigDecimal("1.0") / BigDecimal("0.0") #=> Infinity + * BigDecimal("-1.0") / BigDecimal("0.0") #=> -Infinity + * + * You can represent infinite numbers to BigDecimal using the strings + * 'Infinity', '+Infinity' and + * '-Infinity' (case-sensitive) + * + * === Not a Number + * + * When a computation results in an undefined value, the special value +NaN+ + * (for 'not a number') is returned. + * + * Example: + * + * BigDecimal("0.0") / BigDecimal("0.0") #=> NaN + * + * You can also create undefined values. + * + * NaN is never considered to be the same as any other value, even NaN itself: + * + * n = BigDecimal('NaN') + * n == 0.0 #=> false + * n == n #=> false + * + * === Positive and negative zero + * + * If a computation results in a value which is too small to be represented as + * a BigDecimal within the currently specified limits of precision, zero must + * be returned. + * + * If the value which is too small to be represented is negative, a BigDecimal + * value of negative zero is returned. + * + * BigDecimal("1.0") / BigDecimal("-Infinity") #=> -0.0 + * + * If the value is positive, a value of positive zero is returned. + * + * BigDecimal("1.0") / BigDecimal("Infinity") #=> 0.0 + * + * (See BigDecimal.mode for how to specify limits of precision.) + * + * Note that +-0.0+ and +0.0+ are considered to be the same for the purposes of + * comparison. + * + * Note also that in mathematics, there is no particular concept of negative + * or positive zero; true mathematical zero has no sign. + * + * == bigdecimal/util + * + * When you require +bigdecimal/util+, the #to_d method will be + * available on BigDecimal and the native Integer, Float, Rational, + * String, Complex, and NilClass classes: + * + * require 'bigdecimal/util' + * + * 42.to_d # => 0.42e2 + * 0.5.to_d # => 0.5e0 + * (2/3r).to_d(3) # => 0.667e0 + * "0.5".to_d # => 0.5e0 + * Complex(0.1234567, 0).to_d(4) # => 0.1235e0 + * nil.to_d # => 0.0 + * + * == Methods for Working with \JSON + * + * - {::json_create}[https://docs.ruby-lang.org/en/master/BigDecimal.html#method-c-json_create]: + * Returns a new \BigDecimal object constructed from the given object. + * - {#as_json}[https://docs.ruby-lang.org/en/master/BigDecimal.html#method-i-as_json]: + * Returns a 2-element hash representing +self+. + * - {#to_json}[https://docs.ruby-lang.org/en/master/BigDecimal.html#method-i-to_json]: + * Returns a \JSON string representing +self+. + * + * These methods are provided by the {JSON gem}[https://github.com/flori/json]. To make these methods available: + * + * require 'json/add/bigdecimal' + * + * * == License + * + * Copyright (C) 2002 by Shigeo Kobayashi . + * + * BigDecimal is released under the Ruby and 2-clause BSD licenses. + * See LICENSE.txt for details. + * + * Maintained by mrkn and ruby-core members. + * + * Documented by zzak , mathew , and + * many other contributors. + */ +void +Init_bigdecimal(void) +{ +#ifdef HAVE_RB_EXT_RACTOR_SAFE + rb_ext_ractor_safe(true); +#endif + + id_BigDecimal_exception_mode = rb_intern_const("BigDecimal.exception_mode"); + id_BigDecimal_rounding_mode = rb_intern_const("BigDecimal.rounding_mode"); + id_BigDecimal_precision_limit = rb_intern_const("BigDecimal.precision_limit"); + + /* Initialize VP routines */ + VpInit(0UL); + + /* Class and method registration */ + rb_cBigDecimal = rb_define_class("BigDecimal", rb_cNumeric); + + /* Global function */ + rb_define_global_function("BigDecimal", f_BigDecimal, -1); + + /* Class methods */ + rb_undef_alloc_func(rb_cBigDecimal); + rb_undef_method(CLASS_OF(rb_cBigDecimal), "new"); + rb_define_singleton_method(rb_cBigDecimal, "interpret_loosely", BigDecimal_s_interpret_loosely, 1); + rb_define_singleton_method(rb_cBigDecimal, "mode", BigDecimal_mode, -1); + rb_define_singleton_method(rb_cBigDecimal, "limit", BigDecimal_limit, -1); + rb_define_singleton_method(rb_cBigDecimal, "double_fig", BigDecimal_double_fig, 0); + rb_define_singleton_method(rb_cBigDecimal, "_load", BigDecimal_load, 1); + + rb_define_singleton_method(rb_cBigDecimal, "save_exception_mode", BigDecimal_save_exception_mode, 0); + rb_define_singleton_method(rb_cBigDecimal, "save_rounding_mode", BigDecimal_save_rounding_mode, 0); + rb_define_singleton_method(rb_cBigDecimal, "save_limit", BigDecimal_save_limit, 0); + + /* Constants definition */ + + /* + * The version of bigdecimal library + */ + rb_define_const(rb_cBigDecimal, "VERSION", rb_str_new2(BIGDECIMAL_VERSION)); + + /* + * Base value used in internal calculations. On a 32 bit system, BASE + * is 10000, indicating that calculation is done in groups of 4 digits. + * (If it were larger, BASE**2 wouldn't fit in 32 bits, so you couldn't + * guarantee that two groups could always be multiplied together without + * overflow.) + */ + rb_define_const(rb_cBigDecimal, "BASE", INT2FIX((SIGNED_VALUE)BASE)); + + /* Exceptions */ + + /* + * 0xff: Determines whether overflow, underflow or zero divide result in + * an exception being thrown. See BigDecimal.mode. + */ + rb_define_const(rb_cBigDecimal, "EXCEPTION_ALL", INT2FIX(VP_EXCEPTION_ALL)); + + /* + * 0x02: Determines what happens when the result of a computation is not a + * number (NaN). See BigDecimal.mode. + */ + rb_define_const(rb_cBigDecimal, "EXCEPTION_NaN", INT2FIX(VP_EXCEPTION_NaN)); + + /* + * 0x01: Determines what happens when the result of a computation is + * infinity. See BigDecimal.mode. + */ + rb_define_const(rb_cBigDecimal, "EXCEPTION_INFINITY", INT2FIX(VP_EXCEPTION_INFINITY)); + + /* + * 0x04: Determines what happens when the result of a computation is an + * underflow (a result too small to be represented). See BigDecimal.mode. + */ + rb_define_const(rb_cBigDecimal, "EXCEPTION_UNDERFLOW", INT2FIX(VP_EXCEPTION_UNDERFLOW)); + + /* + * 0x01: Determines what happens when the result of a computation is an + * overflow (a result too large to be represented). See BigDecimal.mode. + */ + rb_define_const(rb_cBigDecimal, "EXCEPTION_OVERFLOW", INT2FIX(VP_EXCEPTION_OVERFLOW)); + + /* + * 0x10: Determines what happens when a division by zero is performed. + * See BigDecimal.mode. + */ + rb_define_const(rb_cBigDecimal, "EXCEPTION_ZERODIVIDE", INT2FIX(VP_EXCEPTION_ZERODIVIDE)); + + /* + * 0x100: Determines what happens when a result must be rounded in order to + * fit in the appropriate number of significant digits. See + * BigDecimal.mode. + */ + rb_define_const(rb_cBigDecimal, "ROUND_MODE", INT2FIX(VP_ROUND_MODE)); + + /* 1: Indicates that values should be rounded away from zero. See + * BigDecimal.mode. + */ + rb_define_const(rb_cBigDecimal, "ROUND_UP", INT2FIX(VP_ROUND_UP)); + + /* 2: Indicates that values should be rounded towards zero. See + * BigDecimal.mode. + */ + rb_define_const(rb_cBigDecimal, "ROUND_DOWN", INT2FIX(VP_ROUND_DOWN)); + + /* 3: Indicates that digits >= 5 should be rounded up, others rounded down. + * See BigDecimal.mode. */ + rb_define_const(rb_cBigDecimal, "ROUND_HALF_UP", INT2FIX(VP_ROUND_HALF_UP)); + + /* 4: Indicates that digits >= 6 should be rounded up, others rounded down. + * See BigDecimal.mode. + */ + rb_define_const(rb_cBigDecimal, "ROUND_HALF_DOWN", INT2FIX(VP_ROUND_HALF_DOWN)); + /* 5: Round towards +Infinity. See BigDecimal.mode. */ + rb_define_const(rb_cBigDecimal, "ROUND_CEILING", INT2FIX(VP_ROUND_CEIL)); + + /* 6: Round towards -Infinity. See BigDecimal.mode. */ + rb_define_const(rb_cBigDecimal, "ROUND_FLOOR", INT2FIX(VP_ROUND_FLOOR)); + + /* 7: Round towards the even neighbor. See BigDecimal.mode. */ + rb_define_const(rb_cBigDecimal, "ROUND_HALF_EVEN", INT2FIX(VP_ROUND_HALF_EVEN)); + + /* 0: Indicates that a value is not a number. See BigDecimal.sign. */ + rb_define_const(rb_cBigDecimal, "SIGN_NaN", INT2FIX(VP_SIGN_NaN)); + + /* 1: Indicates that a value is +0. See BigDecimal.sign. */ + rb_define_const(rb_cBigDecimal, "SIGN_POSITIVE_ZERO", INT2FIX(VP_SIGN_POSITIVE_ZERO)); + + /* -1: Indicates that a value is -0. See BigDecimal.sign. */ + rb_define_const(rb_cBigDecimal, "SIGN_NEGATIVE_ZERO", INT2FIX(VP_SIGN_NEGATIVE_ZERO)); + + /* 2: Indicates that a value is positive and finite. See BigDecimal.sign. */ + rb_define_const(rb_cBigDecimal, "SIGN_POSITIVE_FINITE", INT2FIX(VP_SIGN_POSITIVE_FINITE)); + + /* -2: Indicates that a value is negative and finite. See BigDecimal.sign. */ + rb_define_const(rb_cBigDecimal, "SIGN_NEGATIVE_FINITE", INT2FIX(VP_SIGN_NEGATIVE_FINITE)); + + /* 3: Indicates that a value is positive and infinite. See BigDecimal.sign. */ + rb_define_const(rb_cBigDecimal, "SIGN_POSITIVE_INFINITE", INT2FIX(VP_SIGN_POSITIVE_INFINITE)); + + /* -3: Indicates that a value is negative and infinite. See BigDecimal.sign. */ + rb_define_const(rb_cBigDecimal, "SIGN_NEGATIVE_INFINITE", INT2FIX(VP_SIGN_NEGATIVE_INFINITE)); + + /* Positive zero value. */ + BIGDECIMAL_LITERAL(POSITIVE_ZERO, +0); + + /* Negative zero value. */ + BIGDECIMAL_LITERAL(NEGATIVE_ZERO, -0); + + /* Positive infinity[rdoc-ref:BigDecimal@Infinity] value. */ + rb_define_const(rb_cBigDecimal, "INFINITY", BIGDECIMAL_LITERAL(POSITIVE_INFINITY, +Infinity)); + + /* Negative infinity value. */ + BIGDECIMAL_LITERAL(NEGATIVE_INFINITY, -Infinity); + + /* '{Not a Number}[rdoc-ref:BigDecimal@Not+a+Number]' value. */ + rb_define_const(rb_cBigDecimal, "NAN", BIGDECIMAL_LITERAL(NAN, NaN)); + + /* instance methods */ + rb_define_method(rb_cBigDecimal, "precs", BigDecimal_prec, 0); + rb_define_method(rb_cBigDecimal, "precision", BigDecimal_precision, 0); + rb_define_method(rb_cBigDecimal, "scale", BigDecimal_scale, 0); + rb_define_method(rb_cBigDecimal, "precision_scale", BigDecimal_precision_scale, 0); + rb_define_method(rb_cBigDecimal, "n_significant_digits", BigDecimal_n_significant_digits, 0); + + rb_define_method(rb_cBigDecimal, "add", BigDecimal_add2, 2); + rb_define_method(rb_cBigDecimal, "sub", BigDecimal_sub2, 2); + rb_define_method(rb_cBigDecimal, "mult", BigDecimal_mult2, 2); + rb_define_method(rb_cBigDecimal, "div", BigDecimal_div3, -1); + rb_define_method(rb_cBigDecimal, "hash", BigDecimal_hash, 0); + rb_define_method(rb_cBigDecimal, "to_s", BigDecimal_to_s, -1); + rb_define_method(rb_cBigDecimal, "to_i", BigDecimal_to_i, 0); + rb_define_method(rb_cBigDecimal, "to_int", BigDecimal_to_i, 0); + rb_define_method(rb_cBigDecimal, "to_r", BigDecimal_to_r, 0); + rb_define_method(rb_cBigDecimal, "split", BigDecimal_split, 0); + rb_define_method(rb_cBigDecimal, "+", BigDecimal_add, 1); + rb_define_method(rb_cBigDecimal, "-", BigDecimal_sub, 1); + rb_define_method(rb_cBigDecimal, "+@", BigDecimal_uplus, 0); + rb_define_method(rb_cBigDecimal, "-@", BigDecimal_neg, 0); + rb_define_method(rb_cBigDecimal, "*", BigDecimal_mult, 1); + rb_define_method(rb_cBigDecimal, "/", BigDecimal_div, 1); + rb_define_method(rb_cBigDecimal, "quo", BigDecimal_quo, -1); + rb_define_method(rb_cBigDecimal, "%", BigDecimal_mod, 1); + rb_define_method(rb_cBigDecimal, "modulo", BigDecimal_mod, 1); + rb_define_method(rb_cBigDecimal, "remainder", BigDecimal_remainder, 1); + rb_define_method(rb_cBigDecimal, "divmod", BigDecimal_divmod, 1); + rb_define_method(rb_cBigDecimal, "clone", BigDecimal_clone, 0); + rb_define_method(rb_cBigDecimal, "dup", BigDecimal_clone, 0); + rb_define_method(rb_cBigDecimal, "to_f", BigDecimal_to_f, 0); + rb_define_method(rb_cBigDecimal, "abs", BigDecimal_abs, 0); + rb_define_method(rb_cBigDecimal, "fix", BigDecimal_fix, 0); + rb_define_method(rb_cBigDecimal, "round", BigDecimal_round, -1); + rb_define_method(rb_cBigDecimal, "frac", BigDecimal_frac, 0); + rb_define_method(rb_cBigDecimal, "floor", BigDecimal_floor, -1); + rb_define_method(rb_cBigDecimal, "ceil", BigDecimal_ceil, -1); + rb_define_method(rb_cBigDecimal, "<=>", BigDecimal_comp, 1); + rb_define_method(rb_cBigDecimal, "==", BigDecimal_eq, 1); + rb_define_method(rb_cBigDecimal, "===", BigDecimal_eq, 1); + rb_define_method(rb_cBigDecimal, "eql?", BigDecimal_eq, 1); + rb_define_method(rb_cBigDecimal, "<", BigDecimal_lt, 1); + rb_define_method(rb_cBigDecimal, "<=", BigDecimal_le, 1); + rb_define_method(rb_cBigDecimal, ">", BigDecimal_gt, 1); + rb_define_method(rb_cBigDecimal, ">=", BigDecimal_ge, 1); + rb_define_method(rb_cBigDecimal, "zero?", BigDecimal_zero, 0); + rb_define_method(rb_cBigDecimal, "nonzero?", BigDecimal_nonzero, 0); + rb_define_method(rb_cBigDecimal, "coerce", BigDecimal_coerce, 1); + rb_define_method(rb_cBigDecimal, "inspect", BigDecimal_inspect, 0); + rb_define_method(rb_cBigDecimal, "exponent", BigDecimal_exponent, 0); + rb_define_method(rb_cBigDecimal, "sign", BigDecimal_sign, 0); + rb_define_method(rb_cBigDecimal, "nan?", BigDecimal_IsNaN, 0); + rb_define_method(rb_cBigDecimal, "infinite?", BigDecimal_IsInfinite, 0); + rb_define_method(rb_cBigDecimal, "finite?", BigDecimal_IsFinite, 0); + rb_define_method(rb_cBigDecimal, "truncate", BigDecimal_truncate, -1); + rb_define_method(rb_cBigDecimal, "_decimal_shift", BigDecimal_decimal_shift, 1); + rb_define_method(rb_cBigDecimal, "_dump", BigDecimal_dump, -1); + +#ifdef BIGDECIMAL_USE_VP_TEST_METHODS + rb_define_method(rb_cBigDecimal, "vpdivd", BigDecimal_vpdivd, 2); + rb_define_method(rb_cBigDecimal, "vpmult", BigDecimal_vpmult, 1); +#endif /* BIGDECIMAL_USE_VP_TEST_METHODS */ + +#define ROUNDING_MODE(i, name, value) \ + id_##name = rb_intern_const(#name); \ + rbd_rounding_modes[i].id = id_##name; \ + rbd_rounding_modes[i].mode = value; + + ROUNDING_MODE(0, up, RBD_ROUND_UP); + ROUNDING_MODE(1, down, RBD_ROUND_DOWN); + ROUNDING_MODE(2, half_up, RBD_ROUND_HALF_UP); + ROUNDING_MODE(3, half_down, RBD_ROUND_HALF_DOWN); + ROUNDING_MODE(4, ceil, RBD_ROUND_CEIL); + ROUNDING_MODE(5, floor, RBD_ROUND_FLOOR); + ROUNDING_MODE(6, half_even, RBD_ROUND_HALF_EVEN); + + ROUNDING_MODE(7, default, RBD_ROUND_DEFAULT); + ROUNDING_MODE(8, truncate, RBD_ROUND_TRUNCATE); + ROUNDING_MODE(9, banker, RBD_ROUND_BANKER); + ROUNDING_MODE(10, ceiling, RBD_ROUND_CEILING); + +#undef ROUNDING_MODE + + id_to_r = rb_intern_const("to_r"); + id_eq = rb_intern_const("=="); + id_half = rb_intern_const("half"); + + (void)VPrint; /* suppress unused warning */ +} + +/* + * + * ============================================================================ + * + * vp_ routines begin from here. + * + * ============================================================================ + * + */ +#ifdef BIGDECIMAL_DEBUG +static int gfDebug = 1; /* Debug switch */ +#endif /* BIGDECIMAL_DEBUG */ + +static Real *VpConstOne; /* constant 1.0 */ + +enum op_sw { + OP_SW_ADD = 1, /* + */ + OP_SW_SUB, /* - */ + OP_SW_MULT, /* * */ + OP_SW_DIV /* / */ +}; + +static int VpIsDefOP(Real *c, Real *a, Real *b, enum op_sw sw); +static DECDIG VpAddAbs(Real *a,Real *b,Real *c); +static DECDIG VpSubAbs(Real *a,Real *b,Real *c); +static size_t VpSetPTR(Real *a, Real *b, Real *c, size_t *a_pos, size_t *b_pos, size_t *c_pos, DECDIG *av, DECDIG *bv); +static void VpFormatSt(char *psz, size_t fFmt); +static int VpRdup(Real *m, size_t ind_m); + +#ifdef BIGDECIMAL_DEBUG +# ifdef HAVE_RB_EXT_RACTOR_SAFE +# error Need to make rewiting gnAlloc atomic +# endif +static int gnAlloc = 0; /* Memory allocation counter */ +#endif /* BIGDECIMAL_DEBUG */ + +/* + * EXCEPTION Handling. + */ + +#define bigdecimal_set_thread_local_exception_mode(mode) \ + rb_thread_local_aset( \ + rb_thread_current(), \ + id_BigDecimal_exception_mode, \ + INT2FIX((int)(mode)) \ + ) + +static unsigned short +VpGetException (void) +{ + VALUE const vmode = rb_thread_local_aref( + rb_thread_current(), + id_BigDecimal_exception_mode + ); + + if (NIL_P(vmode)) { + bigdecimal_set_thread_local_exception_mode(BIGDECIMAL_EXCEPTION_MODE_DEFAULT); + return BIGDECIMAL_EXCEPTION_MODE_DEFAULT; + } + + return NUM2USHORT(vmode); +} + +static void +VpSetException(unsigned short f) +{ + bigdecimal_set_thread_local_exception_mode(f); +} + +static void +VpCheckException(Real *p, bool always) +{ + if (VpIsNaN(p)) { + VpException(VP_EXCEPTION_NaN, "Computation results in 'NaN' (Not a Number)", always); + } + else if (VpIsPosInf(p)) { + VpException(VP_EXCEPTION_INFINITY, "Computation results in 'Infinity'", always); + } + else if (VpIsNegInf(p)) { + VpException(VP_EXCEPTION_INFINITY, "Computation results in '-Infinity'", always); + } +} + +static VALUE +CheckGetValue(BDVALUE v) +{ + VpCheckException(v.real, false); + return v.bigdecimal; +} + +/* + * Precision limit. + */ + +#define bigdecimal_set_thread_local_precision_limit(limit) \ + rb_thread_local_aset( \ + rb_thread_current(), \ + id_BigDecimal_precision_limit, \ + SIZET2NUM(limit) \ + ) +#define BIGDECIMAL_PRECISION_LIMIT_DEFAULT ((size_t)0) + +/* These 2 functions added at v1.1.7 */ +VP_EXPORT size_t +VpGetPrecLimit(void) +{ + VALUE const vlimit = rb_thread_local_aref( + rb_thread_current(), + id_BigDecimal_precision_limit + ); + + if (NIL_P(vlimit)) { + bigdecimal_set_thread_local_precision_limit(BIGDECIMAL_PRECISION_LIMIT_DEFAULT); + return BIGDECIMAL_PRECISION_LIMIT_DEFAULT; + } + + return NUM2SIZET(vlimit); +} + +VP_EXPORT void +VpSetPrecLimit(size_t n) +{ + bigdecimal_set_thread_local_precision_limit(n); +} + +/* + * Rounding mode. + */ + +#define bigdecimal_set_thread_local_rounding_mode(mode) \ + rb_thread_local_aset( \ + rb_thread_current(), \ + id_BigDecimal_rounding_mode, \ + INT2FIX((int)(mode)) \ + ) + +VP_EXPORT unsigned short +VpGetRoundMode(void) +{ + VALUE const vmode = rb_thread_local_aref( + rb_thread_current(), + id_BigDecimal_rounding_mode + ); + + if (NIL_P(vmode)) { + bigdecimal_set_thread_local_rounding_mode(BIGDECIMAL_ROUNDING_MODE_DEFAULT); + return BIGDECIMAL_ROUNDING_MODE_DEFAULT; + } + + return NUM2USHORT(vmode); +} + +VP_EXPORT int +VpIsRoundMode(unsigned short n) +{ + switch (n) { + case VP_ROUND_UP: + case VP_ROUND_DOWN: + case VP_ROUND_HALF_UP: + case VP_ROUND_HALF_DOWN: + case VP_ROUND_CEIL: + case VP_ROUND_FLOOR: + case VP_ROUND_HALF_EVEN: + return 1; + + default: + return 0; + } +} + +VP_EXPORT unsigned short +VpSetRoundMode(unsigned short n) +{ + if (VpIsRoundMode(n)) { + bigdecimal_set_thread_local_rounding_mode(n); + return n; + } + + return VpGetRoundMode(); +} + +/* + * 0.0 & 1.0 generator + * These gZero_..... and gOne_..... can be any name + * referenced from nowhere except Zero() and One(). + * gZero_..... and gOne_..... must have global scope + * (to let the compiler know they may be changed in outside + * (... but not actually..)). + */ +volatile const double gOne_ABCED9B4_CE73__00400511F31D = 1.0; + +static double +One(void) +{ + return gOne_ABCED9B4_CE73__00400511F31D; +} + +/* + ---------------------------------------------------------------- + Value of sign in Real structure is reserved for future use. + short sign; + ==0 : NaN + 1 : Positive zero + -1 : Negative zero + 2 : Positive number + -2 : Negative number + 3 : Positive infinite number + -3 : Negative infinite number + ---------------------------------------------------------------- +*/ + +VP_EXPORT double +VpGetDoubleNaN(void) /* Returns the value of NaN */ +{ + return nan(""); +} + +VP_EXPORT double +VpGetDoublePosInf(void) /* Returns the value of +Infinity */ +{ + return HUGE_VAL; +} + +VP_EXPORT double +VpGetDoubleNegInf(void) /* Returns the value of -Infinity */ +{ + return -HUGE_VAL; +} + +VP_EXPORT double +VpGetDoubleNegZero(void) /* Returns the value of -0 */ +{ + static double nzero = 1000.0; + if (nzero != 0.0) nzero = (One()/VpGetDoubleNegInf()); + return nzero; +} + +VP_EXPORT int +VpException(unsigned short f, const char *str,int always) +{ + unsigned short const exception_mode = VpGetException(); + + if (f == VP_EXCEPTION_OP) always = 1; + + if (always || (exception_mode & f)) { + switch(f) { + /* case VP_EXCEPTION_OVERFLOW: */ + case VP_EXCEPTION_ZERODIVIDE: + case VP_EXCEPTION_INFINITY: + case VP_EXCEPTION_NaN: + case VP_EXCEPTION_UNDERFLOW: + case VP_EXCEPTION_OP: + rb_raise(rb_eFloatDomainError, "%s", str); + break; + default: + rb_fatal("%s", str); + } + } + return 0; /* 0 Means VpException() raised no exception */ +} + +/* Throw exception or returns 0,when resulting c is Inf or NaN */ +/* sw=1:+ 2:- 3:* 4:/ */ +static int +VpIsDefOP(Real *c, Real *a, Real *b, enum op_sw sw) +{ + if (VpIsNaN(a) || VpIsNaN(b)) { + /* at least a or b is NaN */ + VpSetNaN(c); + goto NaN; + } + + if (VpIsInf(a)) { + if (VpIsInf(b)) { + switch(sw) { + case OP_SW_ADD: /* + */ + if (VpGetSign(a) == VpGetSign(b)) { + VpSetInf(c, VpGetSign(a)); + goto Inf; + } + else { + VpSetNaN(c); + goto NaN; + } + case OP_SW_SUB: /* - */ + if (VpGetSign(a) != VpGetSign(b)) { + VpSetInf(c, VpGetSign(a)); + goto Inf; + } + else { + VpSetNaN(c); + goto NaN; + } + case OP_SW_MULT: /* * */ + VpSetInf(c, VpGetSign(a)*VpGetSign(b)); + goto Inf; + case OP_SW_DIV: /* / */ + VpSetNaN(c); + goto NaN; + } + VpSetNaN(c); + goto NaN; + } + /* Inf op Finite */ + switch(sw) { + case OP_SW_ADD: /* + */ + case OP_SW_SUB: /* - */ + VpSetInf(c, VpGetSign(a)); + break; + case OP_SW_MULT: /* * */ + if (VpIsZero(b)) { + VpSetNaN(c); + goto NaN; + } + VpSetInf(c, VpGetSign(a)*VpGetSign(b)); + break; + case OP_SW_DIV: /* / */ + VpSetInf(c, VpGetSign(a)*VpGetSign(b)); + } + goto Inf; + } + + if (VpIsInf(b)) { + switch(sw) { + case OP_SW_ADD: /* + */ + VpSetInf(c, VpGetSign(b)); + break; + case OP_SW_SUB: /* - */ + VpSetInf(c, -VpGetSign(b)); + break; + case OP_SW_MULT: /* * */ + if (VpIsZero(a)) { + VpSetNaN(c); + goto NaN; + } + VpSetInf(c, VpGetSign(a)*VpGetSign(b)); + break; + case OP_SW_DIV: /* / */ + VpSetZero(c, VpGetSign(a)*VpGetSign(b)); + } + goto Inf; + } + return 1; /* Results OK */ + +Inf: + if (VpIsPosInf(c)) { + return VpException(VP_EXCEPTION_INFINITY, "Computation results to 'Infinity'", 0); + } + else { + return VpException(VP_EXCEPTION_INFINITY, "Computation results to '-Infinity'", 0); + } + +NaN: + return VpException(VP_EXCEPTION_NaN, "Computation results to 'NaN'", 0); +} + +/* + ---------------------------------------------------------------- +*/ + +/* + * returns number of chars needed to represent vp in specified format. + */ +VP_EXPORT size_t +VpNumOfChars(Real *vp,const char *pszFmt) +{ + SIGNED_VALUE ex; + size_t nc; + + if (vp == NULL) return BASE_FIG*2+6; + if (!VpIsDef(vp)) return 32; /* not sure,may be OK */ + + switch(*pszFmt) { + case 'F': + nc = BASE_FIG*(vp->Prec + 1)+2; + ex = vp->exponent; + if (ex < 0) { + nc += BASE_FIG*(size_t)(-ex); + } + else { + if ((size_t)ex > vp->Prec) { + nc += BASE_FIG*((size_t)ex - vp->Prec); + } + } + break; + case 'E': + /* fall through */ + default: + nc = BASE_FIG * vp->Prec + 25; /* "-0."(3) + digits_chars + "e-"(2) + 64bit_exponent_chars(19) + null(1) */ + } + return nc; +} + +/* + * Initializer for Vp routines and constants used. + * [Input] + * BaseVal: Base value(assigned to BASE) for Vp calculation. + * It must be the form BaseVal=10**n.(n=1,2,3,...) + * If Base <= 0L,then the BASE will be calculated so + * that BASE is as large as possible satisfying the + * relation MaxVal <= BASE*(BASE+1). Where the value + * MaxVal is the largest value which can be represented + * by one DECDIG word in the computer used. + * + * [Returns] + * BIGDECIMAL_DOUBLE_FIGURES ... OK + */ +VP_EXPORT size_t +VpInit(DECDIG BaseVal) +{ + /* Setup +/- Inf NaN -0 */ + VpGetDoubleNegZero(); + + /* Const 1.0 */ + VpConstOne = NewZero(1, 1); + VpSetOne(VpConstOne); + +#ifdef BIGDECIMAL_DEBUG + gnAlloc = 0; +#endif /* BIGDECIMAL_DEBUG */ + + return BIGDECIMAL_DOUBLE_FIGURES; +} + +VP_EXPORT Real * +VpOne(void) +{ + return VpConstOne; +} + +/* If exponent overflows,then raise exception or returns 0 */ +static int +AddExponent(Real *a, SIGNED_VALUE n) +{ + SIGNED_VALUE e = a->exponent; + SIGNED_VALUE m = e+n; + if (e > 0 && n > 0) { + if (n > VP_EXPONENT_MAX - e) goto overflow; + } else if (e < 0 && n < 0) { + if (n < VP_EXPONENT_MIN - e) goto underflow; + } else if (m > VP_EXPONENT_MAX) { + goto overflow; + } else if (m < VP_EXPONENT_MIN) { + goto underflow; + } + a->exponent = m; + return 1; + +/* Overflow/Underflow ==> Raise exception or returns 0 */ +underflow: + VpSetZero(a, VpGetSign(a)); + return VpException(VP_EXCEPTION_UNDERFLOW, "Exponent underflow", 0); + +overflow: + VpSetInf(a, VpGetSign(a)); + return VpException(VP_EXCEPTION_OVERFLOW, "Exponent overflow", 0); +} + +Real * +bigdecimal_parse_special_string(const char *str) +{ + static const struct { + const char *str; + size_t len; + int sign; + } table[] = { + { SZ_INF, sizeof(SZ_INF) - 1, VP_SIGN_POSITIVE_INFINITE }, + { SZ_PINF, sizeof(SZ_PINF) - 1, VP_SIGN_POSITIVE_INFINITE }, + { SZ_NINF, sizeof(SZ_NINF) - 1, VP_SIGN_NEGATIVE_INFINITE }, + { SZ_NaN, sizeof(SZ_NaN) - 1, VP_SIGN_NaN } + }; + static const size_t table_length = sizeof(table) / sizeof(table[0]); + size_t i; + + for (i = 0; i < table_length; ++i) { + const char *p; + if (strncmp(str, table[i].str, table[i].len) != 0) { + continue; + } + + p = str + table[i].len; + while (*p && ISSPACE(*p)) ++p; + if (*p == '\0') { + Real *vp = rbd_allocate_struct(1); + switch (table[i].sign) { + default: + UNREACHABLE; break; + case VP_SIGN_POSITIVE_INFINITE: + VpSetPosInf(vp); + return vp; + case VP_SIGN_NEGATIVE_INFINITE: + VpSetNegInf(vp); + return vp; + case VP_SIGN_NaN: + VpSetNaN(vp); + return vp; + } + } + } + + return NULL; +} + +struct VpCtoV_args { + Real *a; + const char *int_chr; + size_t ni; + const char *frac; + size_t nf; + const char *exp_chr; + size_t ne; +}; + +static VALUE +call_VpCtoV(VALUE arg) +{ + struct VpCtoV_args *x = (struct VpCtoV_args *)arg; + return (VALUE)VpCtoV(x->a, x->int_chr, x->ni, x->frac, x->nf, x->exp_chr, x->ne); +} + +static int +protected_VpCtoV(Real *a, const char *int_chr, size_t ni, const char *frac, size_t nf, const char *exp_chr, size_t ne, int free_on_error) +{ + struct VpCtoV_args args; + int state = 0; + + args.a = a; + args.int_chr = int_chr; + args.ni = ni; + args.frac = frac; + args.nf = nf; + args.exp_chr = exp_chr; + args.ne = ne; + + VALUE result = rb_protect(call_VpCtoV, (VALUE)&args, &state); + if (state) { + if (free_on_error) { + rbd_free_struct(a); + } + rb_jump_tag(state); + } + + return (int)result; +} + +/* + * Allocates variable. + * [Input] + * szVal ... The value assigned(char). + * + * [Returns] + * Pointer to the newly allocated variable, or + * NULL be returned if memory allocation is failed,or any error. + */ +VP_EXPORT Real * +VpAlloc(const char *szVal, int strict_p, int exc) +{ + const char *orig_szVal = szVal; + size_t i, j, ni, ipf, nf, ipe, ne, exp_seen, nalloc; + char v, *psz; + int sign=1; + Real *vp = NULL; + VALUE buf; + + /* Skipping leading spaces */ + while (ISSPACE(*szVal)) szVal++; + + /* Check on Inf & NaN */ + if ((vp = bigdecimal_parse_special_string(szVal)) != NULL) { + return vp; + } + + /* Skip leading `#`. + * It used to be a mark to indicate that an extra MaxPrec should be allocated, + * but now it has no effect. + */ + if (*szVal == '#') ++szVal; + + /* Scanning digits */ + + /* A buffer for keeping scanned digits */ + buf = rb_str_tmp_new(strlen(szVal) + 1); + psz = RSTRING_PTR(buf); + + /* cursor: i for psz, and j for szVal */ + i = j = 0; + + /* Scanning: sign part */ + v = psz[i] = szVal[j]; + if ((v == '-') || (v == '+')) { + sign = -(v == '-'); + ++i; + ++j; + } + + /* Scanning: integer part */ + ni = 0; /* number of digits in the integer part */ + while ((v = psz[i] = szVal[j]) != '\0') { + if (!strict_p && ISSPACE(v)) { + v = psz[i] = '\0'; + break; + } + if (v == '_') { + if (ni > 0) { + v = szVal[j+1]; + if (v == '\0' || ISSPACE(v) || ISDIGIT(v)) { + ++j; + continue; + } + if (!strict_p) { + v = psz[i] = '\0'; + break; + } + } + goto invalid_value; + } + if (!ISDIGIT(v)) { + break; + } + ++ni; + ++i; + ++j; + } + + /* Scanning: fractional part */ + nf = 0; /* number of digits in the fractional part */ + ne = 0; /* number of digits in the exponential part */ + ipf = 0; /* index of the beginning of the fractional part */ + ipe = 0; /* index of the beginning of the exponential part */ + exp_seen = 0; + + if (v != '\0') { + /* Scanning fractional part */ + if ((psz[i] = szVal[j]) == '.') { + ++i; + ++j; + ipf = i; + while ((v = psz[i] = szVal[j]) != '\0') { + if (!strict_p && ISSPACE(v)) { + v = psz[i] = '\0'; + break; + } + if (v == '_') { + if (nf > 0 && ISDIGIT(szVal[j+1])) { + ++j; + continue; + } + if (!strict_p) { + v = psz[i] = '\0'; + break; + } + goto invalid_value; + } + if (!ISDIGIT(v)) break; + ++i; + ++j; + ++nf; + } + } + + /* Scanning exponential part */ + if (v != '\0') { + switch ((psz[i] = szVal[j])) { + case '\0': + break; + case 'e': case 'E': + case 'd': case 'D': + exp_seen = 1; + ++i; + ++j; + ipe = i; + v = psz[i] = szVal[j]; + if ((v == '-') || (v == '+')) { + ++i; + ++j; + } + while ((v = psz[i] = szVal[j]) != '\0') { + if (!strict_p && ISSPACE(v)) { + v = psz[i] = '\0'; + break; + } + if (v == '_') { + if (ne > 0 && ISDIGIT(szVal[j+1])) { + ++j; + continue; + } + if (!strict_p) { + v = psz[i] = '\0'; + if (ne == 0) { + exp_seen = 0; + } + break; + } + goto invalid_value; + } + if (!ISDIGIT(v)) break; + ++i; + ++j; + ++ne; + } + break; + default: + break; + } + } + + if (v != '\0') { + /* Scanning trailing spaces */ + while (ISSPACE(szVal[j])) ++j; + + /* Invalid character */ + if (szVal[j] && strict_p) { + goto invalid_value; + } + } + } + + psz[i] = '\0'; + + if (strict_p && ((ni == 0 && nf == 0) || (exp_seen && ne == 0))) { + VALUE str; + invalid_value: + if (!strict_p) { + return NewZero(1, 1); + } + if (!exc) { + return NULL; + } + str = rb_str_new2(orig_szVal); + rb_raise(rb_eArgError, "invalid value for BigDecimal(): \"%"PRIsVALUE"\"", str); + } + + nalloc = (ni + nf + BASE_FIG - 1) / BASE_FIG + 1; /* set effective allocation */ + /* units for szVal[] */ + vp = rbd_allocate_struct(nalloc); + VpSetZero(vp, sign); + protected_VpCtoV(vp, psz, ni, psz + ipf, nf, psz + ipe, ne, true); + rb_str_resize(buf, 0); + return vp; +} + +/* + * Assignment(c=a). + * [Input] + * a ... RHSV + * isw ... switch for assignment. + * c = a when isw > 0 + * c = -a when isw < 0 + * if c->MaxPrec < a->Prec,then round operation + * will be performed. + * [Output] + * c ... LHSV + */ +VP_EXPORT size_t +VpAsgn(Real *c, Real *a, int isw) +{ + size_t n; + if (VpIsNaN(a)) { + VpSetNaN(c); + return 0; + } + if (VpIsInf(a)) { + VpSetInf(c, isw * VpGetSign(a)); + return 0; + } + + /* check if the RHS is zero */ + if (!VpIsZero(a)) { + c->exponent = a->exponent; /* store exponent */ + VpSetSign(c, isw * VpGetSign(a)); /* set sign */ + n = (a->Prec < c->MaxPrec) ? (a->Prec) : (c->MaxPrec); + c->Prec = n; + memcpy(c->frac, a->frac, n * sizeof(DECDIG)); + /* Needs round ? */ + if (isw != 10 && isw != -10) { + /* Not in ActiveRound */ + if(c->Prec < a->Prec) { + VpInternalRound(c, n, (n>0) ? a->frac[n-1] : 0, a->frac[n]); + } + else { + VpLimitRound(c,0); + } + } + } + else { + /* The value of 'a' is zero. */ + VpSetZero(c, isw * VpGetSign(a)); + return 1; + } + return c->Prec * BASE_FIG; +} + +/* + * c = a + b when operation = 1 or 2 + * c = a - b when operation = -1 or -2. + * Returns number of significant digits of c + */ +VP_EXPORT size_t +VpAddSub(Real *c, Real *a, Real *b, int operation) +{ + short sw, isw, sign; + Real *a_ptr, *b_ptr; + size_t n, na, nb, i; + DECDIG mrv; + + if (!VpIsDefOP(c, a, b, (operation > 0) ? OP_SW_ADD : OP_SW_SUB)) return 0; /* No significant digits */ + + /* check if a or b is zero */ + if (VpIsZero(a)) { + /* a is zero,then assign b to c */ + if (!VpIsZero(b)) { + VpAsgn(c, b, operation); + } + else { + /* Both a and b are zero. */ + if (VpGetSign(a) < 0 && operation * VpGetSign(b) < 0) { + /* -0 -0 */ + VpSetZero(c, -1); + } + else { + VpSetZero(c, 1); + } + return 1; /* 0: 1 significant digits */ + } + return c->Prec * BASE_FIG; + } + if (VpIsZero(b)) { + /* b is zero,then assign a to c. */ + VpAsgn(c, a, 1); + return c->Prec*BASE_FIG; + } + + if (operation < 0) sw = -1; + else sw = 1; + + /* compare absolute value. As a result,|a_ptr|>=|b_ptr| */ + if (a->exponent > b->exponent) { + a_ptr = a; + b_ptr = b; + } /* |a|>|b| */ + else if (a->exponent < b->exponent) { + a_ptr = b; + b_ptr = a; + } /* |a|<|b| */ + else { + /* Exponent part of a and b is the same,then compare fraction */ + /* part */ + na = a->Prec; + nb = b->Prec; + n = Min(na, nb); + for (i=0; i < n; ++i) { + if (a->frac[i] > b->frac[i]) { + a_ptr = a; + b_ptr = b; + goto end_if; + } + else if (a->frac[i] < b->frac[i]) { + a_ptr = b; + b_ptr = a; + goto end_if; + } + } + if (na > nb) { + a_ptr = a; + b_ptr = b; + goto end_if; + } + else if (na < nb) { + a_ptr = b; + b_ptr = a; + goto end_if; + } + /* |a| == |b| */ + if (VpGetSign(a) + sw *VpGetSign(b) == 0) { + VpSetZero(c, 1); /* abs(a)=abs(b) and operation = '-' */ + return c->Prec * BASE_FIG; + } + a_ptr = a; + b_ptr = b; + } + +end_if: + isw = VpGetSign(a) + sw *VpGetSign(b); + /* + * isw = 0 ...( 1)+(-1),( 1)-( 1),(-1)+(1),(-1)-(-1) + * = 2 ...( 1)+( 1),( 1)-(-1) + * =-2 ...(-1)+(-1),(-1)-( 1) + * If isw==0, then c =(Sign a_ptr)(|a_ptr|-|b_ptr|) + * else c =(Sign ofisw)(|a_ptr|+|b_ptr|) + */ + if (isw) { /* addition */ + VpSetSign(c, 1); + mrv = VpAddAbs(a_ptr, b_ptr, c); + sign = isw / 2; + } + else { /* subtraction */ + VpSetSign(c, 1); + mrv = VpSubAbs(a_ptr, b_ptr, c); + sign = a_ptr == a ? VpGetSign(a) : VpGetSign(a_ptr) * sw; + } + if (VpIsInf(c)) { + VpSetInf(c, sign); + } + else { + VpSetSign(c, sign); + VpInternalRound(c, 0, (c->Prec > 0) ? c->frac[c->Prec-1] : 0, mrv); + } + + return c->Prec * BASE_FIG; +} + +/* + * Addition of two values with variable precision + * a and b assuming abs(a)>abs(b). + * c = abs(a) + abs(b) ; where |a|>=|b| + */ +static DECDIG +VpAddAbs(Real *a, Real *b, Real *c) +{ + size_t word_shift; + size_t ap; + size_t bp; + size_t cp; + size_t a_pos; + size_t b_pos, b_pos_with_word_shift; + size_t c_pos; + DECDIG av, bv, carry, mrv; + + word_shift = VpSetPTR(a, b, c, &ap, &bp, &cp, &av, &bv); + a_pos = ap; + b_pos = bp; + c_pos = cp; + + if (word_shift == (size_t)-1L) return 0; /* Overflow */ + if (b_pos == (size_t)-1L) goto Assign_a; + + mrv = av + bv; /* Most right val. Used for round. */ + + /* Just assign the last few digits of b to c because a has no */ + /* corresponding digits to be added. */ + if (b_pos > 0) { + while (b_pos > 0 && b_pos + word_shift > a_pos) { + c->frac[--c_pos] = b->frac[--b_pos]; + } + } + if (b_pos == 0 && word_shift > a_pos) { + while (word_shift-- > a_pos) { + c->frac[--c_pos] = 0; + } + } + + /* Just assign the last few digits of a to c because b has no */ + /* corresponding digits to be added. */ + b_pos_with_word_shift = b_pos + word_shift; + while (a_pos > b_pos_with_word_shift) { + c->frac[--c_pos] = a->frac[--a_pos]; + } + carry = 0; /* set first carry be zero */ + + /* Now perform addition until every digits of b will be */ + /* exhausted. */ + while (b_pos > 0) { + c->frac[--c_pos] = a->frac[--a_pos] + b->frac[--b_pos] + carry; + if (c->frac[c_pos] >= BASE) { + c->frac[c_pos] -= BASE; + carry = 1; + } + else { + carry = 0; + } + } + + /* Just assign the first few digits of a with considering */ + /* the carry obtained so far because b has been exhausted. */ + while (a_pos > 0) { + c->frac[--c_pos] = a->frac[--a_pos] + carry; + if (c->frac[c_pos] >= BASE) { + c->frac[c_pos] -= BASE; + carry = 1; + } + else { + carry = 0; + } + } + if (c_pos) c->frac[c_pos - 1] += carry; + goto Exit; + +Assign_a: + VpAsgn(c, a, 1); + mrv = 0; + +Exit: + + return mrv; +} + +/* + * c = abs(a) - abs(b) + */ +static DECDIG +VpSubAbs(Real *a, Real *b, Real *c) +{ + size_t word_shift; + size_t ap; + size_t bp; + size_t cp; + size_t a_pos; + size_t b_pos, b_pos_with_word_shift; + size_t c_pos; + DECDIG av, bv, borrow, mrv; + + word_shift = VpSetPTR(a, b, c, &ap, &bp, &cp, &av, &bv); + a_pos = ap; + b_pos = bp; + c_pos = cp; + if (word_shift == (size_t)-1L) return 0; /* Overflow */ + if (b_pos == (size_t)-1L) goto Assign_a; + + if (av >= bv) { + mrv = av - bv; + borrow = 0; + } + else { + mrv = 0; + borrow = 1; + } + + /* Just assign the values which are the BASE subtracted by */ + /* each of the last few digits of the b because the a has no */ + /* corresponding digits to be subtracted. */ + if (b_pos + word_shift > a_pos) { + while (b_pos > 0 && b_pos + word_shift > a_pos) { + c->frac[--c_pos] = BASE - b->frac[--b_pos] - borrow; + borrow = 1; + } + if (b_pos == 0) { + while (word_shift > a_pos) { + --word_shift; + c->frac[--c_pos] = BASE - borrow; + borrow = 1; + } + } + } + /* Just assign the last few digits of a to c because b has no */ + /* corresponding digits to subtract. */ + + b_pos_with_word_shift = b_pos + word_shift; + while (a_pos > b_pos_with_word_shift) { + c->frac[--c_pos] = a->frac[--a_pos]; + } + + /* Now perform subtraction until every digits of b will be */ + /* exhausted. */ + while (b_pos > 0) { + --c_pos; + if (a->frac[--a_pos] < b->frac[--b_pos] + borrow) { + c->frac[c_pos] = BASE + a->frac[a_pos] - b->frac[b_pos] - borrow; + borrow = 1; + } + else { + c->frac[c_pos] = a->frac[a_pos] - b->frac[b_pos] - borrow; + borrow = 0; + } + } + + /* Just assign the first few digits of a with considering */ + /* the borrow obtained so far because b has been exhausted. */ + while (a_pos > 0) { + --c_pos; + if (a->frac[--a_pos] < borrow) { + c->frac[c_pos] = BASE + a->frac[a_pos] - borrow; + borrow = 1; + } + else { + c->frac[c_pos] = a->frac[a_pos] - borrow; + borrow = 0; + } + } + if (c_pos) c->frac[c_pos - 1] -= borrow; + goto Exit; + +Assign_a: + VpAsgn(c, a, 1); + mrv = 0; + +Exit: + return mrv; +} + +/* + * Note: If(av+bv)>= HALF_BASE,then 1 will be added to the least significant + * digit of c(In case of addition). + * ------------------------- figure of output ----------------------------------- + * a = xxxxxxxxxxx + * b = xxxxxxxxxx + * c =xxxxxxxxxxxxxxx + * word_shift = | | + * right_word = | | (Total digits in RHSV) + * left_word = | | (Total digits in LHSV) + * a_pos = | + * b_pos = | + * c_pos = | + */ +static size_t +VpSetPTR(Real *a, Real *b, Real *c, size_t *a_pos, size_t *b_pos, size_t *c_pos, DECDIG *av, DECDIG *bv) +{ + size_t left_word, right_word, word_shift; + + size_t const round_limit = (VpGetPrecLimit() + BASE_FIG - 1) / BASE_FIG; + + assert(a->exponent >= b->exponent); + + c->frac[0] = 0; + *av = *bv = 0; + + word_shift = (a->exponent - b->exponent); + left_word = b->Prec + word_shift; + right_word = Max(a->Prec, left_word); + left_word = c->MaxPrec - 1; /* -1 ... prepare for round up */ + + /* + * check if 'round' is needed. + */ + if (right_word > left_word) { /* round ? */ + /*--------------------------------- + * Actual size of a = xxxxxxAxx + * Actual size of b = xxxBxxxxx + * Max. size of c = xxxxxx + * Round off = |-----| + * c_pos = | + * right_word = | + * a_pos = | + */ + *c_pos = right_word = left_word + 1; /* Set resulting precision */ + /* be equal to that of c */ + if (a->Prec >= c->MaxPrec) { + /* + * a = xxxxxxAxxx + * c = xxxxxx + * a_pos = | + */ + *a_pos = left_word; + if (*a_pos <= round_limit) { + *av = a->frac[*a_pos]; /* av is 'A' shown in above. */ + } + } + else { + /* + * a = xxxxxxx + * c = xxxxxxxxxx + * a_pos = | + */ + *a_pos = a->Prec; + } + if (b->Prec + word_shift >= c->MaxPrec) { + /* + * a = xxxxxxxxx + * b = xxxxxxxBxxx + * c = xxxxxxxxxxx + * b_pos = | + */ + if (c->MaxPrec >= word_shift + 1) { + *b_pos = c->MaxPrec - word_shift - 1; + if (*b_pos + word_shift <= round_limit) { + *bv = b->frac[*b_pos]; + } + } + else { + *b_pos = -1L; + } + } + else { + /* + * a = xxxxxxxxxxxxxxxx + * b = xxxxxx + * c = xxxxxxxxxxxxx + * b_pos = | + */ + *b_pos = b->Prec; + } + } + else { /* The MaxPrec of c - 1 > The Prec of a + b */ + /* + * a = xxxxxxx + * b = xxxxxx + * c = xxxxxxxxxxx + * c_pos = | + */ + *b_pos = b->Prec; + *a_pos = a->Prec; + *c_pos = right_word + 1; + } + c->Prec = *c_pos; + c->exponent = a->exponent; + if (!AddExponent(c, 1)) return (size_t)-1L; + return word_shift; +} + +/* + * Return number of significant digits + * c = a * b , Where a = a0a1a2 ... an + * b = b0b1b2 ... bm + * c = c0c1c2 ... cl + * a0 a1 ... an * bm + * a0 a1 ... an * bm-1 + * . . . + * . . . + * a0 a1 .... an * b0 + * +_____________________________ + * c0 c1 c2 ...... cl + * nc <---| + * MaxAB |--------------------| + */ +VP_EXPORT size_t +VpMult(Real *c, Real *a, Real *b) +{ + size_t MxIndA, MxIndB, MxIndAB; + size_t ind_c, i, ii, nc; + size_t ind_as, ind_ae, ind_bs; + DECDIG carry; + DECDIG_DBL s; + + if (!VpIsDefOP(c, a, b, OP_SW_MULT)) return 0; /* No significant digit */ + + if (VpIsZero(a) || VpIsZero(b)) { + /* at least a or b is zero */ + VpSetZero(c, VpGetSign(a) * VpGetSign(b)); + return 1; /* 0: 1 significant digit */ + } + + if (VpIsOne(a)) { + VpAsgn(c, b, 10 * VpGetSign(a)); + goto Exit; + } + if (VpIsOne(b)) { + VpAsgn(c, a, 10 * VpGetSign(b)); + goto Exit; + } + if (b->Prec > a->Prec) { + /* Adjust so that digits(a)>digits(b) */ + Real *w = a; + a = b; + b = w; + } + MxIndA = a->Prec - 1; + MxIndB = b->Prec - 1; + MxIndAB = a->Prec + b->Prec - 1; + + /* set LHSV c info */ + + c->exponent = a->exponent; /* set exponent */ + VpSetSign(c, VpGetSign(a) * VpGetSign(b)); /* set sign */ + if (!AddExponent(c, b->exponent)) return 0; + carry = 0; + nc = ind_c = MxIndAB; + memset(c->frac, 0, (nc + 1) * sizeof(DECDIG)); /* Initialize c */ + c->Prec = nc + 1; /* set precision */ + for (nc = 0; nc < MxIndAB; ++nc, --ind_c) { + if (nc < MxIndB) { /* The left triangle of the Fig. */ + ind_as = MxIndA - nc; + ind_ae = MxIndA; + ind_bs = MxIndB; + } + else if (nc <= MxIndA) { /* The middle rectangular of the Fig. */ + ind_as = MxIndA - nc; + ind_ae = MxIndA - (nc - MxIndB); + ind_bs = MxIndB; + } + else /* if (nc > MxIndA) */ { /* The right triangle of the Fig. */ + ind_as = 0; + ind_ae = MxIndAB - nc - 1; + ind_bs = MxIndB - (nc - MxIndA); + } + + for (i = ind_as; i <= ind_ae; ++i) { + s = (DECDIG_DBL)a->frac[i] * b->frac[ind_bs--]; + carry = (DECDIG)(s / BASE); + s -= (DECDIG_DBL)carry * BASE; + c->frac[ind_c] += (DECDIG)s; + if (c->frac[ind_c] >= BASE) { + s = c->frac[ind_c] / BASE; + carry += (DECDIG)s; + c->frac[ind_c] -= (DECDIG)(s * BASE); + } + if (carry) { + ii = ind_c; + while (ii-- > 0) { + c->frac[ii] += carry; + if (c->frac[ii] >= BASE) { + carry = c->frac[ii] / BASE; + c->frac[ii] -= (carry * BASE); + } + else { + break; + } + } + } + } + } + VpNmlz(c); + +Exit: + return c->Prec*BASE_FIG; +} + +/* + * c = a / b, remainder = r + * XXXX_YYYY_ZZZZ / 0001 = XXXX_YYYY_ZZZZ + * XXXX_YYYY_ZZZZ / 1111 = 000X_000Y_000Z + * 00XX_XXYY_YYZZ / 1000 = 0000_0XXX_XYYY + * 0001_0000_0000 / 9999 = 0000_0001_0001 + */ +VP_EXPORT size_t +VpDivd(Real *c, Real *r, Real *a, Real *b) +{ + size_t word_a, word_b, word_c, word_r; + size_t i, n, ind_a, ind_b, ind_c, ind_r; + size_t nLoop; + DECDIG_DBL q, b1, b1p1, b1b2, b1b2p1, r1r2; + DECDIG borrow1, borrow2; + DECDIG_DBL qb; + + VpSetNaN(r); + if (!VpIsDefOP(c, a, b, OP_SW_DIV)) goto Exit; + if (VpIsZero(a) && VpIsZero(b)) { + VpSetNaN(c); + return VpException(VP_EXCEPTION_NaN, "Computation results to 'NaN'", 0); + } + if (VpIsZero(b)) { + VpSetInf(c, VpGetSign(a) * VpGetSign(b)); + return VpException(VP_EXCEPTION_ZERODIVIDE, "Divide by zero", 0); + } + if (VpIsZero(a)) { + /* numerator a is zero */ + VpSetZero(c, VpGetSign(a) * VpGetSign(b)); + VpSetZero(r, VpGetSign(a) * VpGetSign(b)); + goto Exit; + } + + word_a = a->Prec; + word_b = b->Prec; + word_c = c->MaxPrec; + word_r = r->MaxPrec; + + if (word_a > word_r || word_b + word_c - 2 >= word_r) goto space_error; + + for (i = 0; i < word_a; ++i) r->frac[i] = a->frac[i]; + for (i = word_a; i < word_r; ++i) r->frac[i] = 0; + for (i = 0; i < word_c; ++i) c->frac[i] = 0; + + /* initial procedure */ + b1 = b1p1 = b->frac[0]; + if (b->Prec <= 1) { + b1b2p1 = b1b2 = b1p1 * BASE; + } + else { + b1p1 = b1 + 1; + b1b2p1 = b1b2 = b1 * BASE + b->frac[1]; + if (b->Prec > 2) ++b1b2p1; + } + + /* */ + /* loop start */ + nLoop = Min(word_c, word_r); + ind_c = 0; + while (ind_c < nLoop) { + if (r->frac[ind_c] == 0) { + ++ind_c; + continue; + } + r1r2 = (DECDIG_DBL)r->frac[ind_c] * BASE + (ind_c + 1 < word_r ? r->frac[ind_c + 1] : 0); + if (r1r2 == b1b2) { + /* The first two word digits is the same */ + ind_b = 2; + ind_a = ind_c + 2; + while (ind_b < word_b) { + if (r->frac[ind_a] < b->frac[ind_b]) goto div_b1p1; + if (r->frac[ind_a] > b->frac[ind_b]) break; + ++ind_a; + ++ind_b; + } + /* The first few word digits of r and b is the same and */ + /* the first different word digit of w is greater than that */ + /* of b, so quotient is 1. */ + q = 1; + ++c->frac[ind_c]; + ind_r = b->Prec + ind_c - 1; + goto sub_mult; + } + /* The first two word digits is not the same, */ + /* then compare magnitude, and divide actually. */ + if (r1r2 >= b1b2p1) { + q = r1r2 / b1b2p1; /* q == (DECDIG)q */ + c->frac[ind_c] += (DECDIG)q; + ind_r = b->Prec + ind_c - 1; + goto sub_mult; + } + +div_b1p1: + if (ind_c + 1 >= word_c) goto out_side; + q = r1r2 / b1p1; /* q == (DECDIG)q */ + c->frac[ind_c + 1] += (DECDIG)q; + ind_r = b->Prec + ind_c; + +sub_mult: + borrow1 = borrow2 = 0; + ind_b = word_b - 1; + if (ind_r >= word_r) goto space_error; + n = ind_b; + for (i = 0; i <= n; ++i) { + /* now, perform r = r - q * b */ + qb = q * b->frac[ind_b]; + if (qb < BASE) borrow1 = 0; + else { + borrow1 = (DECDIG)(qb / BASE); + qb -= (DECDIG_DBL)borrow1 * BASE; /* get qb < BASE */ + } + if(r->frac[ind_r] < qb) { + r->frac[ind_r] += (DECDIG)(BASE - qb); + borrow2 = borrow2 + borrow1 + 1; + } + else { + r->frac[ind_r] -= (DECDIG)qb; + borrow2 += borrow1; + } + if (borrow2) { + if(r->frac[ind_r - 1] < borrow2) { + r->frac[ind_r - 1] += (BASE - borrow2); + borrow2 = 1; + } + else { + r->frac[ind_r - 1] -= borrow2; + borrow2 = 0; + } + } + --ind_r; + --ind_b; + } + + r->frac[ind_r] -= borrow2; + } + /* End of operation, now final arrangement */ +out_side: + c->Prec = word_c; + c->exponent = a->exponent; + VpSetSign(c, VpGetSign(a) * VpGetSign(b)); + if (!AddExponent(c, 1)) return 0; + if (!AddExponent(c, -(b->exponent))) return 0; + + VpNmlz(c); /* normalize c */ + r->Prec = word_r; + r->exponent = a->exponent; + VpSetSign(r, VpGetSign(a)); + VpNmlz(r); /* normalize r(remainder) */ + goto Exit; + +space_error: + rb_bug("ERROR(VpDivd): space for remainder too small."); + +Exit: + return c->Prec * BASE_FIG; +} + +/* + * Input a = 00000xxxxxxxx En(5 preceding zeros) + * Output a = xxxxxxxx En-5 + */ +static int +VpNmlz(Real *a) +{ + size_t ind_a, i; + + if (!VpIsDef(a)) goto NoVal; + if (VpIsZero(a)) goto NoVal; + + ind_a = a->Prec; + while (ind_a--) { + if (a->frac[ind_a]) { + a->Prec = ind_a + 1; + i = 0; + while (a->frac[i] == 0) ++i; /* skip the first few zeros */ + if (i) { + a->Prec -= i; + if (!AddExponent(a, -(SIGNED_VALUE)i)) return 0; + memmove(&a->frac[0], &a->frac[i], a->Prec*sizeof(DECDIG)); + } + return 1; + } + } + /* a is zero(no non-zero digit) */ + VpSetZero(a, VpGetSign(a)); + return 0; + +NoVal: + a->frac[0] = 0; + a->Prec = 1; + return 0; +} + +/* + * VpComp = 0 ... if a=b, + * Pos ... a>b, + * Neg ... asign - b->sign; + else e = a->sign; + + if (e > 0) return 1; + else if (e < 0) return -1; + else return 0; + } + if (!VpIsDef(b)) { + e = -b->sign; + if (e > 0) return 1; + else return -1; + } + /* Zero check */ + if (VpIsZero(a)) { + if (VpIsZero(b)) return 0; /* both zero */ + val = -VpGetSign(b); + goto Exit; + } + if (VpIsZero(b)) { + val = VpGetSign(a); + goto Exit; + } + + /* compare sign */ + if (VpGetSign(a) > VpGetSign(b)) { + val = 1; /* a>b */ + goto Exit; + } + if (VpGetSign(a) < VpGetSign(b)) { + val = -1; /* aexponent > b->exponent) { + val = VpGetSign(a); + goto Exit; + } + if (a->exponent < b->exponent) { + val = -VpGetSign(b); + goto Exit; + } + + /* a and b have same exponent, then compare their significand. */ + mx = (a->Prec < b->Prec) ? a->Prec : b->Prec; + ind = 0; + while (ind < mx) { + if (a->frac[ind] > b->frac[ind]) { + val = VpGetSign(a); + goto Exit; + } + if (a->frac[ind] < b->frac[ind]) { + val = -VpGetSign(b); + goto Exit; + } + ++ind; + } + if (a->Prec > b->Prec) { + val = VpGetSign(a); + } + else if (a->Prec < b->Prec) { + val = -VpGetSign(b); + } + +Exit: + if (val > 1) val = 1; + else if (val < -1) val = -1; + + return (int)val; +} + +/* + * cntl_chr ... ASCIIZ Character, print control characters + * Available control codes: + * % ... VP variable. To print '%', use '%%'. + * \n ... new line + * \b ... backspace + * \t ... tab + * Note: % must not appear more than once + * a ... VP variable to be printed + */ +static int +VPrint(FILE *fp, const char *cntl_chr, Real *a) +{ + size_t i, j, nc, nd, ZeroSup, sep = 10; + DECDIG m, e, nn; + + j = 0; + nd = nc = 0; /* nd : number of digits in fraction part(every 10 digits, */ + /* nd<=10). */ + /* nc : number of characters printed */ + ZeroSup = 1; /* Flag not to print the leading zeros as 0.00xxxxEnn */ + while (*(cntl_chr + j)) { + if (*(cntl_chr + j) == '%' && *(cntl_chr + j + 1) != '%') { + nc = 0; + if (VpIsNaN(a)) { + fprintf(fp, SZ_NaN); + nc += 8; + } + else if (VpIsPosInf(a)) { + fprintf(fp, SZ_INF); + nc += 8; + } + else if (VpIsNegInf(a)) { + fprintf(fp, SZ_NINF); + nc += 9; + } + else if (!VpIsZero(a)) { + if (BIGDECIMAL_NEGATIVE_P(a)) { + fprintf(fp, "-"); + ++nc; + } + nc += fprintf(fp, "0."); + switch (*(cntl_chr + j + 1)) { + default: + break; + + case '0': case 'z': + ZeroSup = 0; + ++j; + sep = cntl_chr[j] == 'z' ? BIGDECIMAL_COMPONENT_FIGURES : 10; + break; + } + for (i = 0; i < a->Prec; ++i) { + m = BASE1; + e = a->frac[i]; + while (m) { + nn = e / m; + if (!ZeroSup || nn) { + nc += fprintf(fp, "%lu", (unsigned long)nn); /* The leading zero(s) */ + /* as 0.00xx will not */ + /* be printed. */ + ++nd; + ZeroSup = 0; /* Set to print succeeding zeros */ + } + if (nd >= sep) { /* print ' ' after every 10 digits */ + nd = 0; + nc += fprintf(fp, " "); + } + e = e - nn * m; + m /= 10; + } + } + nc += fprintf(fp, "E%"PRIdSIZE, VpExponent10(a)); + nc += fprintf(fp, " (%"PRIdVALUE", %"PRIuSIZE", %"PRIuSIZE")", a->exponent, a->Prec, a->MaxPrec); + } + else { + nc += fprintf(fp, "0.0"); + } + } + else { + ++nc; + if (*(cntl_chr + j) == '\\') { + switch (*(cntl_chr + j + 1)) { + case 'n': + fprintf(fp, "\n"); + ++j; + break; + case 't': + fprintf(fp, "\t"); + ++j; + break; + case 'b': + fprintf(fp, "\n"); + ++j; + break; + default: + fprintf(fp, "%c", *(cntl_chr + j)); + break; + } + } + else { + fprintf(fp, "%c", *(cntl_chr + j)); + if (*(cntl_chr + j) == '%') ++j; + } + } + j++; + } + + return (int)nc; +} + +static void +VpFormatSt(char *psz, size_t fFmt) +{ + size_t iend, idig = 0, iexp = 0, nspaces; + char *p; + + if (fFmt == 0) return; + + iend = strlen(psz); + + if ((p = strchr(psz, '.'))) { + idig = (p - psz) + 1; + } + if ((p = strchr(psz, 'E')) || (p = strchr(psz, 'e'))) { + iexp = p - psz; + } + if (idig == 0 || idig > iexp) return; + + nspaces = (iexp - idig - 1) / fFmt; + p = psz + iend + 1; + for (size_t i = nspaces; i > 0; i--) { + char *src = psz + idig + i * fFmt; + char *dst = psz + idig + i * (fFmt + 1); + memmove(dst, src, p - src); + dst[-1] = ' '; + p = src; + } +} + +VP_EXPORT ssize_t +VpExponent10(Real *a) +{ + ssize_t ex; + size_t n; + + if (!VpHasVal(a)) return 0; + + ex = a->exponent * (ssize_t)BASE_FIG; + n = BASE1; + while ((a->frac[0] / n) == 0) { + --ex; + n /= 10; + } + return ex; +} + +VP_EXPORT void +VpSzMantissa(Real *a, char *buf, size_t buflen) +{ + size_t i, n, ZeroSup; + DECDIG_DBL m, e, nn; + + if (VpIsNaN(a)) { + snprintf(buf, buflen, SZ_NaN); + return; + } + if (VpIsPosInf(a)) { + snprintf(buf, buflen, SZ_INF); + return; + } + if (VpIsNegInf(a)) { + snprintf(buf, buflen, SZ_NINF); + return; + } + + ZeroSup = 1; /* Flag not to print the leading zeros as 0.00xxxxEnn */ + if (!VpIsZero(a)) { + if (BIGDECIMAL_NEGATIVE_P(a)) *buf++ = '-'; + n = a->Prec; + for (i = 0; i < n; ++i) { + m = BASE1; + e = a->frac[i]; + while (m) { + nn = e / m; + if (!ZeroSup || nn) { + snprintf(buf, buflen, "%lu", (unsigned long)nn); /* The leading zero(s) */ + buf += strlen(buf); + /* as 0.00xx will be ignored. */ + ZeroSup = 0; /* Set to print succeeding zeros */ + } + e = e - nn * m; + m /= 10; + } + } + *buf = 0; + while (buf[-1] == '0') *(--buf) = 0; + } + else { + if (VpIsPosZero(a)) snprintf(buf, buflen, "0"); + else snprintf(buf, buflen, "-0"); + } +} + +VP_EXPORT int +VpToSpecialString(Real *a, char *buf, size_t buflen, int fPlus) +/* fPlus = 0: default, 1: set ' ' before digits, 2: set '+' before digits. */ +{ + if (VpIsNaN(a)) { + snprintf(buf, buflen, SZ_NaN); + return 1; + } + + if (VpIsPosInf(a)) { + if (fPlus == 1) { + *buf++ = ' '; + } + else if (fPlus == 2) { + *buf++ = '+'; + } + snprintf(buf, buflen, SZ_INF); + return 1; + } + if (VpIsNegInf(a)) { + snprintf(buf, buflen, SZ_NINF); + return 1; + } + if (VpIsZero(a)) { + if (VpIsPosZero(a)) { + if (fPlus == 1) snprintf(buf, buflen, " 0.0"); + else if (fPlus == 2) snprintf(buf, buflen, "+0.0"); + else snprintf(buf, buflen, "0.0"); + } + else snprintf(buf, buflen, "-0.0"); + return 1; + } + return 0; +} + +VP_EXPORT void +VpToString(Real *a, char *buf, size_t buflen, size_t fFmt, int fPlus) +/* fPlus = 0: default, 1: set ' ' before digits, 2: set '+' before digits. */ +{ + size_t i, n, ZeroSup; + DECDIG shift, m, e, nn; + char *p = buf; + size_t plen = buflen; + ssize_t ex; + + if (VpToSpecialString(a, buf, buflen, fPlus)) return; + + ZeroSup = 1; /* Flag not to print the leading zeros as 0.00xxxxEnn */ + +#define ADVANCE(n) do { \ + if (plen < n) goto overflow; \ + p += n; \ + plen -= n; \ +} while (0) + + if (BIGDECIMAL_NEGATIVE_P(a)) { + *p = '-'; + ADVANCE(1); + } + else if (fPlus == 1) { + *p = ' '; + ADVANCE(1); + } + else if (fPlus == 2) { + *p = '+'; + ADVANCE(1); + } + + *p = '0'; ADVANCE(1); + *p = '.'; ADVANCE(1); + + n = a->Prec; + for (i = 0; i < n; ++i) { + m = BASE1; + e = a->frac[i]; + while (m) { + nn = e / m; + if (!ZeroSup || nn) { + /* The reading zero(s) */ + size_t n = (size_t)snprintf(p, plen, "%lu", (unsigned long)nn); + if (n > plen) goto overflow; + ADVANCE(n); + /* as 0.00xx will be ignored. */ + ZeroSup = 0; /* Set to print succeeding zeros */ + } + e = e - nn * m; + m /= 10; + } + } + + ex = a->exponent * (ssize_t)BASE_FIG; + shift = BASE1; + while (a->frac[0] / shift == 0) { + --ex; + shift /= 10; + } + while (p - 1 > buf && p[-1] == '0') { + *(--p) = '\0'; + ++plen; + } + snprintf(p, plen, "e%"PRIdSIZE, ex); + if (fFmt) VpFormatSt(buf, fFmt); + + overflow: + return; +#undef ADVANCE +} + +VP_EXPORT void +VpToFString(Real *a, char *buf, size_t buflen, size_t fFmt, int fPlus) +/* fPlus = 0: default, 1: set ' ' before digits, 2: set '+' before digits. */ +{ + size_t i, n; + DECDIG m, e; + char *p = buf; + size_t plen = buflen, delim = fFmt; + ssize_t ex; + + if (VpToSpecialString(a, buf, buflen, fPlus)) return; + +#define APPEND(c, group) do { \ + if (plen < 1) goto overflow; \ + if (group && delim == 0) { \ + *p = ' '; \ + p += 1; \ + plen -= 1; \ + } \ + if (plen < 1) goto overflow; \ + *p = c; \ + p += 1; \ + plen -= 1; \ + if (group) delim = (delim + 1) % fFmt; \ +} while (0) + + + if (BIGDECIMAL_NEGATIVE_P(a)) { + APPEND('-', false); + } + else if (fPlus == 1) { + APPEND(' ', false); + } + else if (fPlus == 2) { + APPEND('+', false); + } + + n = a->Prec; + ex = a->exponent; + if (ex <= 0) { + APPEND('0', false); + APPEND('.', false); + } + while (ex < 0) { + for (i=0; i < BASE_FIG; ++i) { + APPEND('0', fFmt > 0); + } + ++ex; + } + + for (i = 0; i < n; ++i) { + m = BASE1; + e = a->frac[i]; + if (i == 0 && ex > 0) { + for (delim = 0; e / m == 0; delim++) { + m /= 10; + } + if (fFmt > 0) { + delim = 2*fFmt - (ex * BASE_FIG - delim) % fFmt; + } + } + while (m && (e || (i < n - 1) || ex > 0)) { + APPEND((char)(e / m + '0'), fFmt > 0); + e %= m; + m /= 10; + } + if (--ex == 0) { + APPEND('.', false); + delim = fFmt; + } + } + + while (ex > 0) { + for (i=0; i < BASE_FIG; ++i) { + APPEND('0', fFmt > 0); + } + if (--ex == 0) { + APPEND('.', false); + } + } + + *p = '\0'; + if (p - 1 > buf && p[-1] == '.') { + snprintf(p, plen, "0"); + } + + overflow: + return; +#undef APPEND +} + +/* + * [Output] + * a[] ... variable to be assigned the value. + * [Input] + * int_chr[] ... integer part(may include '+/-'). + * ni ... number of characters in int_chr[],not including '+/-'. + * frac[] ... fraction part. + * nf ... number of characters in frac[]. + * exp_chr[] ... exponent part(including '+/-'). + * ne ... number of characters in exp_chr[],not including '+/-'. + */ +VP_EXPORT int +VpCtoV(Real *a, const char *int_chr, size_t ni, const char *frac, size_t nf, const char *exp_chr, size_t ne) +{ + size_t i, j, ind_a, ma, mi, me; + SIGNED_VALUE e; + int sign, signe, exponent_overflow; + + /* get exponent part */ + e = 0; + ma = a->MaxPrec; + mi = ni; + me = ne; + signe = 1; + exponent_overflow = 0; + memset(a->frac, 0, ma * sizeof(DECDIG)); + if (ne > 0) { + i = 0; + if (exp_chr[0] == '-') { + signe = -1; + ++i; + ++me; + } + else if (exp_chr[0] == '+') { + ++i; + ++me; + } + while (i < me) { + int dig = exp_chr[i] - '0'; + if (MUL_OVERFLOW_SIGNED_VALUE_P(e, 10) || + ADD_OVERFLOW_SIGNED_VALUE_P(e * 10, signe * dig)) { + exponent_overflow = 1; + break; + } + e = e * 10 + signe * dig; + ++i; + } + } + + /* get integer part */ + i = 0; + sign = 1; + if (1 /*ni >= 0*/) { + if (int_chr[0] == '-') { + sign = -1; + ++i; + ++mi; + } + else if (int_chr[0] == '+') { + ++i; + ++mi; + } + } + /* skip leading zeros in integer part */ + while (i < mi && int_chr[i] == '0') { + ++i; + --ni; + } + + /* set actual exponent size. */ + if (ADD_OVERFLOW_SIGNED_VALUE_P(e, (SIGNED_VALUE)ni)) { + exponent_overflow = 1; + } else { + e += ni; + } + + /* Adjust the exponent so that it is the multiple of BASE_FIG. */ + j = (BASE_FIG - e % BASE_FIG) % BASE_FIG; + if (ADD_OVERFLOW_SIGNED_VALUE_P(e, (SIGNED_VALUE)j)) { + exponent_overflow = 1; + } else { + e += j; + } + + if (exponent_overflow || e < EXPONENT_MIN || e > EXPONENT_MAX) { + int zero = 1; + for ( ; i < mi && zero; i++) zero = int_chr[i] == '0'; + for (i = 0; i < nf && zero; i++) zero = frac[i] == '0'; + if (!zero && e > 0) { + VpSetInf(a, sign); + VpException(VP_EXCEPTION_INFINITY, "exponent overflow",0); + } + else VpSetZero(a, sign); + return 1; + } + + ind_a = 0; + while (i < mi) { + a->frac[ind_a] = 0; + while (j < BASE_FIG && i < mi) { + a->frac[ind_a] = a->frac[ind_a] * 10 + int_chr[i] - '0'; + ++j; + ++i; + } + if (i < mi) { + ++ind_a; + if (ind_a >= ma) goto over_flow; + j = 0; + } + } + + /* get fraction part */ + + i = 0; + while (i < nf) { + while (j < BASE_FIG && i < nf) { + a->frac[ind_a] = a->frac[ind_a] * 10 + frac[i] - '0'; + ++j; + ++i; + } + if (i < nf) { + ++ind_a; + if (ind_a >= ma) goto over_flow; + j = 0; + } + } + goto Final; + +over_flow: + rb_warn("Conversion from String to BigDecimal overflow (last few digits discarded)."); + +Final: + if (ind_a >= ma) ind_a = ma - 1; + while (j < BASE_FIG) { + a->frac[ind_a] = a->frac[ind_a] * 10; + ++j; + } + a->Prec = ind_a + 1; + a->exponent = e / (SIGNED_VALUE)BASE_FIG; + VpSetSign(a, sign); + VpNmlz(a); + return 1; +} + +/* + * [Input] + * *m ... Real + * [Output] + * *d ... fraction part of m(d = 0.xxxxxxx). where # of 'x's is fig. + * *e ... exponent of m. + * BIGDECIMAL_DOUBLE_FIGURES ... Number of digits in a double variable. + * + * m -> d*10**e, 0Prec); + *d = 0.0; + div = 1.; + while (ind_m < mm) { + div /= (double)BASE; + *d = *d + (double)m->frac[ind_m++] * div; + } + *e = m->exponent * (SIGNED_VALUE)BASE_FIG; + *d *= VpGetSign(m); + +Exit: + return f; +} + +/* + * Round relatively from the decimal point. + * f: rounding mode + * nf: digit location to round from the decimal point. + */ +VP_EXPORT int +VpMidRound(Real *y, unsigned short f, ssize_t nf) +{ + /* fracf: any positive digit under rounding position? */ + /* fracf_1further: any positive digits under one further than the rounding position? */ + /* exptoadd: number of digits needed to compensate negative nf */ + int fracf, fracf_1further; + ssize_t n,i,ix,ioffset, exptoadd; + DECDIG v, shifter; + DECDIG div; + + nf += y->exponent * (ssize_t)BASE_FIG; + exptoadd=0; + if (nf < 0) { + /* rounding position too left(large). */ + if (f != VP_ROUND_CEIL && f != VP_ROUND_FLOOR) { + VpSetZero(y, VpGetSign(y)); /* truncate everything */ + return 0; + } + exptoadd = -nf; + nf = 0; + } + + ix = nf / (ssize_t)BASE_FIG; + if ((size_t)ix >= y->Prec) return 0; /* rounding position too right(small). */ + v = y->frac[ix]; + + ioffset = nf - ix*(ssize_t)BASE_FIG; + n = (ssize_t)BASE_FIG - ioffset - 1; + for (shifter = 1, i = 0; i < n; ++i) shifter *= 10; + + /* so the representation used (in y->frac) is an array of DECDIG, where + each DECDIG contains a value between 0 and BASE-1, consisting of BASE_FIG + decimal places. + + (that numbers of decimal places are typed as ssize_t is somewhat confusing) + + nf is now position (in decimal places) of the digit from the start of + the array. + + ix is the position (in DECDIGs) of the DECDIG containing the decimal digit, + from the start of the array. + + v is the value of this DECDIG + + ioffset is the number of extra decimal places along of this decimal digit + within v. + + n is the number of decimal digits remaining within v after this decimal digit + shifter is 10**n, + + v % shifter are the remaining digits within v + v % (shifter * 10) are the digit together with the remaining digits within v + v / shifter are the digit's predecessors together with the digit + div = v / shifter / 10 is just the digit's precessors + (v / shifter) - div*10 is just the digit, which is what v ends up being reassigned to. + */ + + fracf = (v % (shifter * 10) > 0); + fracf_1further = ((v % shifter) > 0); + + v /= shifter; + div = v / 10; + v = v - div*10; + /* now v is just the digit required. + now fracf is whether the digit or any of the remaining digits within v are non-zero + now fracf_1further is whether any of the remaining digits within v are non-zero + */ + + /* now check all the remaining DECDIGs for zero-ness a whole DECDIG at a time. + if we spot any non-zeroness, that means that we found a positive digit under + rounding position, and we also found a positive digit under one further than + the rounding position, so both searches (to see if any such non-zero digit exists) + can stop */ + + for (i = ix + 1; (size_t)i < y->Prec; i++) { + if (y->frac[i] % BASE) { + fracf = fracf_1further = 1; + break; + } + } + + /* now fracf = does any positive digit exist under the rounding position? + now fracf_1further = does any positive digit exist under one further than the + rounding position? + now v = the first digit under the rounding position */ + + /* drop digits after pointed digit */ + memset(y->frac + ix + 1, 0, (y->Prec - (ix + 1)) * sizeof(DECDIG)); + + switch (f) { + case VP_ROUND_DOWN: /* Truncate */ + break; + case VP_ROUND_UP: /* Roundup */ + if (fracf) ++div; + break; + case VP_ROUND_HALF_UP: + if (v>=5) ++div; + break; + case VP_ROUND_HALF_DOWN: + if (v > 5 || (v == 5 && fracf_1further)) ++div; + break; + case VP_ROUND_CEIL: + if (fracf && BIGDECIMAL_POSITIVE_P(y)) ++div; + break; + case VP_ROUND_FLOOR: + if (fracf && BIGDECIMAL_NEGATIVE_P(y)) ++div; + break; + case VP_ROUND_HALF_EVEN: /* Banker's rounding */ + if (v > 5) ++div; + else if (v == 5) { + if (fracf_1further) { + ++div; + } + else { + if (ioffset == 0) { + /* v is the first decimal digit of its DECDIG; + need to grab the previous DECDIG if present + to check for evenness of the previous decimal + digit (which is same as that of the DECDIG since + base 10 has a factor of 2) */ + if (ix && (y->frac[ix-1] % 2)) ++div; + } + else { + if (div % 2) ++div; + } + } + } + break; + } + for (i = 0; i <= n; ++i) div *= 10; + if (div >= BASE) { + if (ix) { + y->frac[ix] = 0; + VpRdup(y, ix); + } + else { + short s = VpGetSign(y); + SIGNED_VALUE e = y->exponent; + VpSetOne(y); + VpSetSign(y, s); + y->exponent = e + 1; + } + } + else { + y->frac[ix] = div; + VpNmlz(y); + } + if (exptoadd > 0) { + y->exponent += (SIGNED_VALUE)(exptoadd / BASE_FIG); + exptoadd %= (ssize_t)BASE_FIG; + for (i = 0; i < exptoadd; i++) { + y->frac[0] *= 10; + if (y->frac[0] >= BASE) { + y->frac[0] /= BASE; + y->exponent++; + } + } + } + return 1; +} + +VP_EXPORT int +VpLeftRound(Real *y, unsigned short f, ssize_t nf) +/* + * Round from the left hand side of the digits. + */ +{ + DECDIG v; + if (!VpHasVal(y)) return 0; /* Unable to round */ + v = y->frac[0]; + nf -= y->exponent * (ssize_t)BASE_FIG; + while ((v /= 10) != 0) nf--; + nf += (ssize_t)BASE_FIG-1; + return VpMidRound(y, f, nf); +} + +VP_EXPORT int +VpActiveRound(Real *y, Real *x, unsigned short f, ssize_t nf) +{ + /* First,assign whole value in truncation mode */ + if (VpAsgn(y, x, 10) <= 1) return 0; /* Zero,NaN,or Infinity */ + return VpMidRound(y, f, nf); +} + +static int +VpLimitRound(Real *c, size_t ixDigit) +{ + size_t ix = VpGetPrecLimit(); + if (!VpNmlz(c)) return -1; + if (!ix) return 0; + if (!ixDigit) ixDigit = c->Prec-1; + if ((ix + BASE_FIG - 1) / BASE_FIG > ixDigit + 1) return 0; + return VpLeftRound(c, VpGetRoundMode(), (ssize_t)ix); +} + +/* If I understand correctly, this is only ever used to round off the final decimal + digit of precision */ +static void +VpInternalRound(Real *c, size_t ixDigit, DECDIG vPrev, DECDIG v) +{ + int f = 0; + + unsigned short const rounding_mode = VpGetRoundMode(); + + if (VpLimitRound(c, ixDigit)) return; + if (!v) return; + + v /= BASE1; + switch (rounding_mode) { + case VP_ROUND_DOWN: + break; + case VP_ROUND_UP: + if (v) f = 1; + break; + case VP_ROUND_HALF_UP: + if (v >= 5) f = 1; + break; + case VP_ROUND_HALF_DOWN: + /* this is ok - because this is the last digit of precision, + the case where v == 5 and some further digits are nonzero + will never occur */ + if (v >= 6) f = 1; + break; + case VP_ROUND_CEIL: + if (v && BIGDECIMAL_POSITIVE_P(c)) f = 1; + break; + case VP_ROUND_FLOOR: + if (v && BIGDECIMAL_NEGATIVE_P(c)) f = 1; + break; + case VP_ROUND_HALF_EVEN: /* Banker's rounding */ + /* as per VP_ROUND_HALF_DOWN, because this is the last digit of precision, + there is no case to worry about where v == 5 and some further digits are nonzero */ + if (v > 5) f = 1; + else if (v == 5 && vPrev % 2) f = 1; + break; + } + if (f) { + VpRdup(c, ixDigit); + VpNmlz(c); + } +} + +/* + * Rounds up m(plus one to final digit of m). + */ +static int +VpRdup(Real *m, size_t ind_m) +{ + DECDIG carry; + + if (!ind_m) ind_m = m->Prec; + + carry = 1; + while (carry > 0 && ind_m--) { + m->frac[ind_m] += carry; + if (m->frac[ind_m] >= BASE) m->frac[ind_m] -= BASE; + else carry = 0; + } + if (carry > 0) { /* Overflow,count exponent and set fraction part be 1 */ + if (!AddExponent(m, 1)) return 0; + m->Prec = m->frac[0] = 1; + } + else { + VpNmlz(m); + } + return 1; +} + +/* + * y = x - fix(x) + */ +VP_EXPORT void +VpFrac(Real *y, Real *x) +{ + size_t my, ind_y, ind_x; + + if (!VpHasVal(x)) { + VpAsgn(y, x, 1); + goto Exit; + } + + if (x->exponent > 0 && (size_t)x->exponent >= x->Prec) { + VpSetZero(y, VpGetSign(x)); + goto Exit; + } + else if (x->exponent <= 0) { + VpAsgn(y, x, 1); + goto Exit; + } + + /* satisfy: x->exponent > 0 */ + + y->Prec = x->Prec - (size_t)x->exponent; + y->Prec = Min(y->Prec, y->MaxPrec); + y->exponent = 0; + VpSetSign(y, VpGetSign(x)); + ind_y = 0; + my = y->Prec; + ind_x = x->exponent; + while (ind_y < my) { + y->frac[ind_y] = x->frac[ind_x]; + ++ind_y; + ++ind_x; + } + VpNmlz(y); + +Exit: + return; +} + +#ifdef BIGDECIMAL_DEBUG +int +VpVarCheck(Real * v) +/* + * Checks the validity of the Real variable v. + * [Input] + * v ... Real *, variable to be checked. + * [Returns] + * 0 ... correct v. + * other ... error + */ +{ + size_t i; + + if (v->MaxPrec == 0) { + printf("ERROR(VpVarCheck): Illegal Max. Precision(=%"PRIuSIZE")\n", + v->MaxPrec); + return 1; + } + if (v->Prec == 0 || v->Prec > v->MaxPrec) { + printf("ERROR(VpVarCheck): Illegal Precision(=%"PRIuSIZE")\n", v->Prec); + printf(" Max. Prec.=%"PRIuSIZE"\n", v->MaxPrec); + return 2; + } + for (i = 0; i < v->Prec; ++i) { + if (v->frac[i] >= BASE) { + printf("ERROR(VpVarCheck): Illegal fraction\n"); + printf(" Frac[%"PRIuSIZE"]=%"PRIuDECDIG"\n", i, v->frac[i]); + printf(" Prec. =%"PRIuSIZE"\n", v->Prec); + printf(" Exp. =%"PRIdVALUE"\n", v->exponent); + printf(" BASE =%"PRIuDECDIG"\n", BASE); + return 3; + } + } + return 0; +} +#endif /* BIGDECIMAL_DEBUG */ diff --git a/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/ext/bigdecimal/bigdecimal.h b/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/ext/bigdecimal/bigdecimal.h new file mode 100644 index 0000000..82c88a2 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/ext/bigdecimal/bigdecimal.h @@ -0,0 +1,292 @@ +/* + * + * Ruby BigDecimal(Variable decimal precision) extension library. + * + * Copyright(C) 2002 by Shigeo Kobayashi(shigeo@tinyforest.gr.jp) + * + */ + +#ifndef RUBY_BIG_DECIMAL_H +#define RUBY_BIG_DECIMAL_H 1 + +#define RUBY_NO_OLD_COMPATIBILITY +#include "ruby/ruby.h" +#include "missing.h" + +#ifdef HAVE_FLOAT_H +# include +#endif + +#if defined(HAVE_INT64_T) && !defined(BIGDECIMAL_USE_DECDIG_UINT16_T) +# define DECDIG uint32_t +# define DECDIG_DBL uint64_t +# define DECDIG_DBL_SIGNED int64_t +# define SIZEOF_DECDIG 4 +# define PRI_DECDIG_PREFIX "" +# ifdef PRI_LL_PREFIX +# define PRI_DECDIG_DBL_PREFIX PRI_LL_PREFIX +# else +# define PRI_DECDIG_DBL_PREFIX "l" +# endif +#else +# define DECDIG uint16_t +# define DECDIG_DBL uint32_t +# define DECDIG_DBL_SIGNED int32_t +# define SIZEOF_DECDIG 2 +# define PRI_DECDIG_PREFIX "h" +# define PRI_DECDIG_DBL_PREFIX "" +#endif + +#define PRIdDECDIG PRI_DECDIG_PREFIX"d" +#define PRIiDECDIG PRI_DECDIG_PREFIX"i" +#define PRIoDECDIG PRI_DECDIG_PREFIX"o" +#define PRIuDECDIG PRI_DECDIG_PREFIX"u" +#define PRIxDECDIG PRI_DECDIG_PREFIX"x" +#define PRIXDECDIG PRI_DECDIG_PREFIX"X" + +#define PRIdDECDIG_DBL PRI_DECDIG_DBL_PREFIX"d" +#define PRIiDECDIG_DBL PRI_DECDIG_DBL_PREFIX"i" +#define PRIoDECDIG_DBL PRI_DECDIG_DBL_PREFIX"o" +#define PRIuDECDIG_DBL PRI_DECDIG_DBL_PREFIX"u" +#define PRIxDECDIG_DBL PRI_DECDIG_DBL_PREFIX"x" +#define PRIXDECDIG_DBL PRI_DECDIG_DBL_PREFIX"X" + +#if SIZEOF_DECDIG == 4 +# define BIGDECIMAL_BASE ((DECDIG)1000000000U) +# define BIGDECIMAL_COMPONENT_FIGURES 9 +/* + * The number of components required for a 64-bit integer. + * + * INT64_MAX: 9_223372036_854775807 + * UINT64_MAX: 18_446744073_709551615 + */ +# define BIGDECIMAL_INT64_MAX_LENGTH 3 + +#elif SIZEOF_DECDIG == 2 +# define BIGDECIMAL_BASE ((DECDIG)10000U) +# define BIGDECIMAL_COMPONENT_FIGURES 4 +/* + * The number of components required for a 64-bit integer. + * + * INT64_MAX: 922_3372_0368_5477_5807 + * UINT64_MAX: 1844_6744_0737_0955_1615 + */ +# define BIGDECIMAL_INT64_MAX_LENGTH 5 + +#else +# error Unknown size of DECDIG +#endif + +#define BIGDECIMAL_DOUBLE_FIGURES (1+DBL_DIG) + +#if defined(__cplusplus) +extern "C" { +#if 0 +} /* satisfy cc-mode */ +#endif +#endif + +extern VALUE rb_cBigDecimal; + +/* + * NaN & Infinity + */ +#define SZ_NaN "NaN" +#define SZ_INF "Infinity" +#define SZ_PINF "+Infinity" +#define SZ_NINF "-Infinity" + +/* + * #define VP_EXPORT other than static to let VP_ routines + * be called from outside of this module. + */ +#define VP_EXPORT static + +/* Exception mode */ +#define VP_EXCEPTION_ALL ((unsigned short)0x00FF) +#define VP_EXCEPTION_INFINITY ((unsigned short)0x0001) +#define VP_EXCEPTION_NaN ((unsigned short)0x0002) +#define VP_EXCEPTION_UNDERFLOW ((unsigned short)0x0004) +#define VP_EXCEPTION_OVERFLOW ((unsigned short)0x0001) /* 0x0008) */ +#define VP_EXCEPTION_ZERODIVIDE ((unsigned short)0x0010) + +/* Following 2 exceptions can't controlled by user */ +#define VP_EXCEPTION_OP ((unsigned short)0x0020) + +#define BIGDECIMAL_EXCEPTION_MODE_DEFAULT 0U + +/* This is used in BigDecimal#mode */ +#define VP_ROUND_MODE ((unsigned short)0x0100) + +/* Rounding mode */ +#define VP_ROUND_UP RBD_ROUND_UP +#define VP_ROUND_DOWN RBD_ROUND_DOWN +#define VP_ROUND_HALF_UP RBD_ROUND_HALF_UP +#define VP_ROUND_HALF_DOWN RBD_ROUND_HALF_DOWN +#define VP_ROUND_CEIL RBD_ROUND_CEIL +#define VP_ROUND_FLOOR RBD_ROUND_FLOOR +#define VP_ROUND_HALF_EVEN RBD_ROUND_HALF_EVEN + +enum rbd_rounding_mode { + RBD_ROUND_UP = 1, + RBD_ROUND_DOWN = 2, + RBD_ROUND_HALF_UP = 3, + RBD_ROUND_HALF_DOWN = 4, + RBD_ROUND_CEIL = 5, + RBD_ROUND_FLOOR = 6, + RBD_ROUND_HALF_EVEN = 7, + + RBD_ROUND_DEFAULT = RBD_ROUND_HALF_UP, + RBD_ROUND_TRUNCATE = RBD_ROUND_DOWN, + RBD_ROUND_BANKER = RBD_ROUND_HALF_EVEN, + RBD_ROUND_CEILING = RBD_ROUND_CEIL +}; + +#define BIGDECIMAL_ROUNDING_MODE_DEFAULT VP_ROUND_HALF_UP + +/* Sign flag */ +#define VP_SIGN_NaN 0 /* NaN */ +#define VP_SIGN_POSITIVE_ZERO 1 /* Positive zero */ +#define VP_SIGN_NEGATIVE_ZERO -1 /* Negative zero */ +#define VP_SIGN_POSITIVE_FINITE 2 /* Positive finite number */ +#define VP_SIGN_NEGATIVE_FINITE -2 /* Negative finite number */ +#define VP_SIGN_POSITIVE_INFINITE 3 /* Positive infinite number */ +#define VP_SIGN_NEGATIVE_INFINITE -3 /* Negative infinite number */ + +/* The size of fraction part array */ +#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) +#define FLEXIBLE_ARRAY_SIZE /* */ +#elif defined(__GNUC__) && !defined(__STRICT_ANSI__) +#define FLEXIBLE_ARRAY_SIZE 0 +#else +#define FLEXIBLE_ARRAY_SIZE 1 +#endif + +/* + * VP representation + * r = 0.xxxxxxxxx *BASE**exponent + */ +typedef struct { + size_t MaxPrec; /* Maximum precision size */ + /* This is the actual size of frac[] */ + /*(frac[0] to frac[MaxPrec] are available). */ + size_t Prec; /* Current precision size. */ + /* This indicates how much the */ + /* array frac[] is actually used. */ + SIGNED_VALUE exponent; /* Exponent part. */ + short sign; /* Attributes of the value. */ + /* + * ==0 : NaN + * 1 : Positive zero + * -1 : Negative zero + * 2 : Positive number + * -2 : Negative number + * 3 : Positive infinite number + * -3 : Negative infinite number + */ + short flag; /* Not used in vp_routines,space for user. */ + DECDIG frac[FLEXIBLE_ARRAY_SIZE]; /* Array of fraction part. */ +} Real; + +/* + * ------------------ + * EXPORTables. + * ------------------ + */ + +#define VpBaseFig() BIGDECIMAL_COMPONENT_FIGURES + +/* Zero,Inf,NaN (isinf(),isnan() used to check) */ +VP_EXPORT double VpGetDoubleNaN(void); +VP_EXPORT double VpGetDoublePosInf(void); +VP_EXPORT double VpGetDoubleNegInf(void); +VP_EXPORT double VpGetDoubleNegZero(void); + +/* These 2 functions added at v1.1.7 */ +VP_EXPORT size_t VpGetPrecLimit(void); +VP_EXPORT void VpSetPrecLimit(size_t n); + +/* Round mode */ +VP_EXPORT int VpIsRoundMode(unsigned short n); +VP_EXPORT unsigned short VpGetRoundMode(void); +VP_EXPORT unsigned short VpSetRoundMode(unsigned short n); + +VP_EXPORT int VpException(unsigned short f,const char *str,int always); +VP_EXPORT size_t VpNumOfChars(Real *vp,const char *pszFmt); +VP_EXPORT size_t VpInit(DECDIG BaseVal); +VP_EXPORT Real *VpAlloc(const char *szVal, int strict_p, int exc); +VP_EXPORT size_t VpAsgn(Real *c, Real *a, int isw); +VP_EXPORT size_t VpAddSub(Real *c,Real *a,Real *b,int operation); +VP_EXPORT size_t VpMult(Real *c,Real *a,Real *b); +VP_EXPORT size_t VpDivd(Real *c,Real *r,Real *a,Real *b); +VP_EXPORT int VpNmlz(Real *a); +VP_EXPORT int VpComp(Real *a,Real *b); +VP_EXPORT ssize_t VpExponent10(Real *a); +VP_EXPORT void VpSzMantissa(Real *a, char *buf, size_t bufsize); +VP_EXPORT int VpToSpecialString(Real *a, char *buf, size_t bufsize, int fPlus); +VP_EXPORT void VpToString(Real *a, char *buf, size_t bufsize, size_t fFmt, int fPlus); +VP_EXPORT void VpToFString(Real *a, char *buf, size_t bufsize, size_t fFmt, int fPlus); +VP_EXPORT int VpCtoV(Real *a, const char *int_chr, size_t ni, const char *frac, size_t nf, const char *exp_chr, size_t ne); +VP_EXPORT int VpVtoD(double *d, SIGNED_VALUE *e, Real *m); +VP_EXPORT int VpActiveRound(Real *y, Real *x, unsigned short f, ssize_t il); +VP_EXPORT int VpMidRound(Real *y, unsigned short f, ssize_t nf); +VP_EXPORT int VpLeftRound(Real *y, unsigned short f, ssize_t nf); +VP_EXPORT void VpFrac(Real *y, Real *x); + +/* VP constants */ +VP_EXPORT Real *VpOne(void); + +/* + * ------------------ + * MACRO definitions. + * ------------------ + */ +#define Abs(a) (((a)>= 0)?(a):(-(a))) +#define Max(a, b) (((a)>(b))?(a):(b)) +#define Min(a, b) (((a)>(b))?(b):(a)) + +/* Sign */ + +/* VpGetSign(a) returns 1,-1 if a>0,a<0 respectively */ +#define VpGetSign(a) (((a)->sign>0)?1:(-1)) +/* Change sign of a to a>0,a<0 if s = 1,-1 respectively */ +#define VpChangeSign(a,s) {if((s)>0) (a)->sign=(short)Abs((ssize_t)(a)->sign);else (a)->sign=-(short)Abs((ssize_t)(a)->sign);} +/* Sets sign of a to a>0,a<0 if s = 1,-1 respectively */ +#define VpSetSign(a,s) {if((s)>0) (a)->sign=(short)VP_SIGN_POSITIVE_FINITE;else (a)->sign=(short)VP_SIGN_NEGATIVE_FINITE;} + +/* 1 */ +#define VpSetOne(a) {(a)->Prec=(a)->exponent=(a)->frac[0]=1;(a)->sign=VP_SIGN_POSITIVE_FINITE;} + +/* ZEROs */ +#define VpIsPosZero(a) ((a)->sign==VP_SIGN_POSITIVE_ZERO) +#define VpIsNegZero(a) ((a)->sign==VP_SIGN_NEGATIVE_ZERO) +#define VpIsZero(a) (VpIsPosZero(a) || VpIsNegZero(a)) +#define VpSetPosZero(a) ((a)->frac[0]=0,(a)->Prec=1,(a)->sign=VP_SIGN_POSITIVE_ZERO) +#define VpSetNegZero(a) ((a)->frac[0]=0,(a)->Prec=1,(a)->sign=VP_SIGN_NEGATIVE_ZERO) +#define VpSetZero(a,s) (void)(((s)>0)?VpSetPosZero(a):VpSetNegZero(a)) + +/* NaN */ +#define VpIsNaN(a) ((a)->sign==VP_SIGN_NaN) +#define VpSetNaN(a) ((a)->frac[0]=0,(a)->Prec=1,(a)->sign=VP_SIGN_NaN) + +/* Infinity */ +#define VpIsPosInf(a) ((a)->sign==VP_SIGN_POSITIVE_INFINITE) +#define VpIsNegInf(a) ((a)->sign==VP_SIGN_NEGATIVE_INFINITE) +#define VpIsInf(a) (VpIsPosInf(a) || VpIsNegInf(a)) +#define VpIsDef(a) ( !(VpIsNaN(a)||VpIsInf(a)) ) +#define VpSetPosInf(a) ((a)->frac[0]=0,(a)->Prec=1,(a)->sign=VP_SIGN_POSITIVE_INFINITE) +#define VpSetNegInf(a) ((a)->frac[0]=0,(a)->Prec=1,(a)->sign=VP_SIGN_NEGATIVE_INFINITE) +#define VpSetInf(a,s) (void)(((s)>0)?VpSetPosInf(a):VpSetNegInf(a)) +#define VpHasVal(a) (a->frac[0]) +#define VpIsOne(a) ((a->Prec==1)&&(a->frac[0]==1)&&(a->exponent==1)) +#ifdef BIGDECIMAL_DEBUG +int VpVarCheck(Real * v); +#endif /* BIGDECIMAL_DEBUG */ + +#if defined(__cplusplus) +#if 0 +{ /* satisfy cc-mode */ +#endif +} /* extern "C" { */ +#endif +#endif /* RUBY_BIG_DECIMAL_H */ diff --git a/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/ext/bigdecimal/bits.h b/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/ext/bigdecimal/bits.h new file mode 100644 index 0000000..66efce4 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/ext/bigdecimal/bits.h @@ -0,0 +1,144 @@ +#ifndef BIGDECIMAL_BITS_H +#define BIGDECIMAL_BITS_H + +#include "feature.h" +#include "static_assert.h" + +#if defined(__x86_64__) && defined(HAVE_X86INTRIN_H) +# include /* for _lzcnt_u64, etc. */ +#elif defined(_MSC_VER) && defined(HAVE_INTRIN_H) +# include /* for the following intrinsics */ +#endif + +#if defined(_MSC_VER) && defined(__AVX2__) +# pragma intrinsic(__lzcnt) +# pragma intrinsic(__lzcnt64) +#endif + +#define numberof(array) ((int)(sizeof(array) / sizeof((array)[0]))) +#define roomof(x, y) (((x) + (y) - 1) / (y)) +#define type_roomof(x, y) roomof(sizeof(x), sizeof(y)) + +#define MUL_OVERFLOW_SIGNED_INTEGER_P(a, b, min, max) ( \ + (a) == 0 ? 0 : \ + (a) == -1 ? (b) < -(max) : \ + (a) > 0 ? \ + ((b) > 0 ? (max) / (a) < (b) : (min) / (a) > (b)) : \ + ((b) > 0 ? (min) / (a) < (b) : (max) / (a) > (b))) + +#define ADD_OVERFLOW_SIGNED_INTEGER_P(a, b, min, max) ( \ + ((a) > 0) == ((b) > 0) && ((a) > 0 ? (max) - (a) < (b) : (min) - (a) > (b))) + +#ifdef HAVE_UINT128_T +# define bit_length(x) \ + (unsigned int) \ + (sizeof(x) <= sizeof(int32_t) ? 32 - nlz_int32((uint32_t)(x)) : \ + sizeof(x) <= sizeof(int64_t) ? 64 - nlz_int64((uint64_t)(x)) : \ + 128 - nlz_int128((uint128_t)(x))) +#else +# define bit_length(x) \ + (unsigned int) \ + (sizeof(x) <= sizeof(int32_t) ? 32 - nlz_int32((uint32_t)(x)) : \ + 64 - nlz_int64((uint64_t)(x))) +#endif + +static inline unsigned nlz_int32(uint32_t x); +static inline unsigned nlz_int64(uint64_t x); +#ifdef HAVE_UINT128_T +static inline unsigned nlz_int128(uint128_t x); +#endif + +static inline unsigned int +nlz_int32(uint32_t x) +{ +#if defined(_MSC_VER) && defined(__AVX2__) && defined(HAVE___LZCNT) + /* Note: It seems there is no such thing like __LZCNT__ predefined in MSVC. + * AMD CPUs have had this instruction for decades (since K10) but for + * Intel, Haswell is the oldest one. We need to use __AVX2__ for maximum + * safety. */ + return (unsigned int)__lzcnt(x); + +#elif defined(__x86_64__) && defined(__LZCNT__) && defined(HAVE__LZCNT_U32) + return (unsigned int)_lzcnt_u32(x); + +#elif defined(_MSC_VER) && defined(HAVE__BITSCANREVERSE) + unsigned long r; + return _BitScanReverse(&r, x) ? (31 - (int)r) : 32; + +#elif __has_builtin(__builtin_clz) + STATIC_ASSERT(sizeof_int, sizeof(int) * CHAR_BIT == 32); + return x ? (unsigned int)__builtin_clz(x) : 32; + +#else + uint32_t y; + unsigned n = 32; + y = x >> 16; if (y) {n -= 16; x = y;} + y = x >> 8; if (y) {n -= 8; x = y;} + y = x >> 4; if (y) {n -= 4; x = y;} + y = x >> 2; if (y) {n -= 2; x = y;} + y = x >> 1; if (y) {return n - 2;} + return (unsigned int)(n - x); +#endif +} + +static inline unsigned int +nlz_int64(uint64_t x) +{ +#if defined(_MSC_VER) && defined(__AVX2__) && defined(HAVE___LZCNT64) + return (unsigned int)__lzcnt64(x); + +#elif defined(__x86_64__) && defined(__LZCNT__) && defined(HAVE__LZCNT_U64) + return (unsigned int)_lzcnt_u64(x); + +#elif defined(_WIN64) && defined(_MSC_VER) && defined(HAVE__BITSCANREVERSE64) + unsigned long r; + return _BitScanReverse64(&r, x) ? (63u - (unsigned int)r) : 64; + +#elif __has_builtin(__builtin_clzl) && __has_builtin(__builtin_clzll) && !(defined(__sun) && defined(__sparc)) + if (x == 0) { + return 64; + } + else if (sizeof(long) * CHAR_BIT == 64) { + return (unsigned int)__builtin_clzl((unsigned long)x); + } + else if (sizeof(long long) * CHAR_BIT == 64) { + return (unsigned int)__builtin_clzll((unsigned long long)x); + } + else { + /* :FIXME: Is there a way to make this branch a compile-time error? */ + __builtin_unreachable(); + } + +#else + uint64_t y; + unsigned int n = 64; + y = x >> 32; if (y) {n -= 32; x = y;} + y = x >> 16; if (y) {n -= 16; x = y;} + y = x >> 8; if (y) {n -= 8; x = y;} + y = x >> 4; if (y) {n -= 4; x = y;} + y = x >> 2; if (y) {n -= 2; x = y;} + y = x >> 1; if (y) {return n - 2;} + return (unsigned int)(n - x); + +#endif +} + +#ifdef HAVE_UINT128_T +static inline unsigned int +nlz_int128(uint128_t x) +{ + uint64_t y = (uint64_t)(x >> 64); + + if (x == 0) { + return 128; + } + else if (y == 0) { + return (unsigned int)nlz_int64(x) + 64; + } + else { + return (unsigned int)nlz_int64(y); + } +} +#endif + +#endif /* BIGDECIMAL_BITS_H */ diff --git a/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/ext/bigdecimal/extconf.rb b/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/ext/bigdecimal/extconf.rb new file mode 100644 index 0000000..0fcc7c9 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/ext/bigdecimal/extconf.rb @@ -0,0 +1,60 @@ +# frozen_string_literal: false +require 'mkmf' + +def have_builtin_func(name, check_expr, opt = "", &b) + checking_for checking_message(name.funcall_style, nil, opt) do + if try_compile(< +#endif + +#ifdef RBIMPL_HAS_BUILTIN +# define BIGDECIMAL_HAS_BUILTIN(...) RBIMPL_HAS_BUILTIN(__VA_ARGS__) + +#else +# /* The following section is copied from CRuby's builtin.h */ +# +# ifdef __has_builtin +# if defined(__INTEL_COMPILER) +# /* :TODO: Intel C Compiler has __has_builtin (since 19.1 maybe?), and is +# * reportedly broken. We have to skip them. However the situation can +# * change. They might improve someday. We need to revisit here later. */ +# elif defined(__GNUC__) && ! __has_builtin(__builtin_alloca) +# /* FreeBSD's defines its own *broken* version of +# * __has_builtin. Cygwin copied that content to be a victim of the +# * broken-ness. We don't take them into account. */ +# else +# define HAVE___HAS_BUILTIN 1 +# endif +# endif +# +# if defined(HAVE___HAS_BUILTIN) +# define BIGDECIMAL_HAS_BUILTIN(_) __has_builtin(_) +# +# elif defined(__GNUC__) +# define BIGDECIMAL_HAS_BUILTIN(_) BIGDECIMAL_HAS_BUILTIN_ ## _ +# if defined(__GNUC__) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 6)) +# define BIGDECIMAL_HAS_BUILTIN___builtin_clz 1 +# define BIGDECIMAL_HAS_BUILTIN___builtin_clzl 1 +# else +# define BIGDECIMAL_HAS_BUILTIN___builtin_clz 0 +# define BIGDECIMAL_HAS_BUILTIN___builtin_clzl 0 +# endif +# elif defined(_MSC_VER) +# define BIGDECIMAL_HAS_BUILTIN(_) 0 +# +# else +# define BIGDECIMAL_HAS_BUILTIN(_) BIGDECIMAL_HAS_BUILTIN_ ## _ +# define BIGDECIMAL_HAS_BUILTIN___builtin_clz HAVE_BUILTIN___BUILTIN_CLZ +# define BIGDECIMAL_HAS_BUILTIN___builtin_clzl HAVE_BUILTIN___BUILTIN_CLZL +# endif +#endif /* RBIMPL_HAS_BUILTIN */ + +#ifndef __has_builtin +# define __has_builtin(...) BIGDECIMAL_HAS_BUILTIN(__VA_ARGS__) +#endif + +#endif /* BIGDECIMAL_HAS_FEATURE_H */ diff --git a/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/ext/bigdecimal/missing.c b/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/ext/bigdecimal/missing.c new file mode 100644 index 0000000..1454c28 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/ext/bigdecimal/missing.c @@ -0,0 +1,28 @@ +#include + +#ifdef HAVE_RUBY_ATOMIC_H +# include +#endif + +#ifdef RUBY_ATOMIC_PTR_CAS +# define ATOMIC_PTR_CAS(var, old, new) RUBY_ATOMIC_PTR_CAS(var, old, new) +#endif + +#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) +/* GCC warns about unknown sanitizer, which is annoying. */ +# undef NO_SANITIZE +# define NO_SANITIZE(x, y) \ + _Pragma("GCC diagnostic push") \ + _Pragma("GCC diagnostic ignored \"-Wattributes\"") \ + __attribute__((__no_sanitize__(x))) y; \ + _Pragma("GCC diagnostic pop") \ + y +#endif + +#undef strtod +#define strtod BigDecimal_strtod +#undef dtoa +#define dtoa BigDecimal_dtoa +#undef hdtoa +#define hdtoa BigDecimal_hdtoa +#include "missing/dtoa.c" diff --git a/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/ext/bigdecimal/missing.h b/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/ext/bigdecimal/missing.h new file mode 100644 index 0000000..e8a8cab --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/ext/bigdecimal/missing.h @@ -0,0 +1,104 @@ +#ifndef MISSING_H +#define MISSING_H 1 + +#if defined(__cplusplus) +extern "C" { +#if 0 +} /* satisfy cc-mode */ +#endif +#endif + +#ifndef RB_UNUSED_VAR +# if defined(_MSC_VER) && _MSC_VER >= 1911 +# define RB_UNUSED_VAR(x) x [[maybe_unused]] + +# elif defined(__has_cpp_attribute) && __has_cpp_attribute(maybe_unused) +# define RB_UNUSED_VAR(x) x [[maybe_unused]] + +# elif defined(__has_c_attribute) && __has_c_attribute(maybe_unused) +# define RB_UNUSED_VAR(x) x [[maybe_unused]] + +# elif defined(__GNUC__) +# define RB_UNUSED_VAR(x) x __attribute__ ((unused)) + +# else +# define RB_UNUSED_VAR(x) x +# endif +#endif /* RB_UNUSED_VAR */ + +#if defined(_MSC_VER) && _MSC_VER >= 1310 +# define HAVE___ASSUME 1 + +#elif defined(__INTEL_COMPILER) && __INTEL_COMPILER >= 1300 +# define HAVE___ASSUME 1 +#endif + +#ifndef UNREACHABLE +# if __has_builtin(__builtin_unreachable) +# define UNREACHABLE __builtin_unreachable() + +# elif defined(HAVE___ASSUME) +# define UNREACHABLE __assume(0) + +# else +# define UNREACHABLE /* unreachable */ +# endif +#endif /* UNREACHABLE */ + +/* bool */ + +#ifndef __bool_true_false_are_defined +# include +#endif + +/* dtoa */ +char *BigDecimal_dtoa(double d_, int mode, int ndigits, int *decpt, int *sign, char **rve); + +/* complex */ + +#ifndef HAVE_RB_COMPLEX_REAL +static inline VALUE +rb_complex_real(VALUE cmp) +{ +#ifdef RCOMPLEX + return RCOMPLEX(cmp)->real; +#else + return rb_funcall(cmp, rb_intern("real"), 0); +#endif +} +#endif + +#ifndef HAVE_RB_COMPLEX_IMAG +static inline VALUE +rb_complex_imag(VALUE cmp) +{ +# ifdef RCOMPLEX + return RCOMPLEX(cmp)->imag; +# else + return rb_funcall(cmp, rb_intern("imag"), 0); +# endif +} +#endif + +/* st */ + +#ifndef ST2FIX +# undef RB_ST2FIX +# define RB_ST2FIX(h) LONG2FIX((long)(h)) +# define ST2FIX(h) RB_ST2FIX(h) +#endif + +/* warning */ + +#if !defined(HAVE_RB_CATEGORY_WARN) || !defined(HAVE_CONST_RB_WARN_CATEGORY_DEPRECATED) +# define rb_category_warn(category, ...) rb_warn(__VA_ARGS__) +#endif + +#if defined(__cplusplus) +#if 0 +{ /* satisfy cc-mode */ +#endif +} /* extern "C" { */ +#endif + +#endif /* MISSING_H */ diff --git a/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/ext/bigdecimal/missing/dtoa.c b/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/ext/bigdecimal/missing/dtoa.c new file mode 100644 index 0000000..41b0a22 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/ext/bigdecimal/missing/dtoa.c @@ -0,0 +1,3462 @@ +/**************************************************************** + * + * The author of this software is David M. Gay. + * + * Copyright (c) 1991, 2000, 2001 by Lucent Technologies. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose without fee is hereby granted, provided that this entire notice + * is included in all copies of any software which is or includes a copy + * or modification of this software and in all copies of the supporting + * documentation for such software. + * + * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED + * WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR LUCENT MAKES ANY + * REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY + * OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. + * + ***************************************************************/ + +/* Please send bug reports to David M. Gay (dmg at acm dot org, + * with " at " changed at "@" and " dot " changed to "."). */ + +/* On a machine with IEEE extended-precision registers, it is + * necessary to specify double-precision (53-bit) rounding precision + * before invoking strtod or dtoa. If the machine uses (the equivalent + * of) Intel 80x87 arithmetic, the call + * _control87(PC_53, MCW_PC); + * does this with many compilers. Whether this or another call is + * appropriate depends on the compiler; for this to work, it may be + * necessary to #include "float.h" or another system-dependent header + * file. + */ + +/* strtod for IEEE-, VAX-, and IBM-arithmetic machines. + * + * This strtod returns a nearest machine number to the input decimal + * string (or sets errno to ERANGE). With IEEE arithmetic, ties are + * broken by the IEEE round-even rule. Otherwise ties are broken by + * biased rounding (add half and chop). + * + * Inspired loosely by William D. Clinger's paper "How to Read Floating + * Point Numbers Accurately" [Proc. ACM SIGPLAN '90, pp. 92-101]. + * + * Modifications: + * + * 1. We only require IEEE, IBM, or VAX double-precision + * arithmetic (not IEEE double-extended). + * 2. We get by with floating-point arithmetic in a case that + * Clinger missed -- when we're computing d * 10^n + * for a small integer d and the integer n is not too + * much larger than 22 (the maximum integer k for which + * we can represent 10^k exactly), we may be able to + * compute (d*10^k) * 10^(e-k) with just one roundoff. + * 3. Rather than a bit-at-a-time adjustment of the binary + * result in the hard case, we use floating-point + * arithmetic to determine the adjustment to within + * one bit; only in really hard cases do we need to + * compute a second residual. + * 4. Because of 3., we don't need a large table of powers of 10 + * for ten-to-e (just some small tables, e.g. of 10^k + * for 0 <= k <= 22). + */ + +/* + * #define IEEE_LITTLE_ENDIAN for IEEE-arithmetic machines where the least + * significant byte has the lowest address. + * #define IEEE_BIG_ENDIAN for IEEE-arithmetic machines where the most + * significant byte has the lowest address. + * #define Long int on machines with 32-bit ints and 64-bit longs. + * #define IBM for IBM mainframe-style floating-point arithmetic. + * #define VAX for VAX-style floating-point arithmetic (D_floating). + * #define No_leftright to omit left-right logic in fast floating-point + * computation of dtoa. + * #define Honor_FLT_ROUNDS if FLT_ROUNDS can assume the values 2 or 3 + * and strtod and dtoa should round accordingly. + * #define Check_FLT_ROUNDS if FLT_ROUNDS can assume the values 2 or 3 + * and Honor_FLT_ROUNDS is not #defined. + * #define RND_PRODQUOT to use rnd_prod and rnd_quot (assembly routines + * that use extended-precision instructions to compute rounded + * products and quotients) with IBM. + * #define ROUND_BIASED for IEEE-format with biased rounding. + * #define Inaccurate_Divide for IEEE-format with correctly rounded + * products but inaccurate quotients, e.g., for Intel i860. + * #define NO_LONG_LONG on machines that do not have a "long long" + * integer type (of >= 64 bits). On such machines, you can + * #define Just_16 to store 16 bits per 32-bit Long when doing + * high-precision integer arithmetic. Whether this speeds things + * up or slows things down depends on the machine and the number + * being converted. If long long is available and the name is + * something other than "long long", #define Llong to be the name, + * and if "unsigned Llong" does not work as an unsigned version of + * Llong, #define #ULLong to be the corresponding unsigned type. + * #define KR_headers for old-style C function headers. + * #define Bad_float_h if your system lacks a float.h or if it does not + * define some or all of DBL_DIG, DBL_MAX_10_EXP, DBL_MAX_EXP, + * FLT_RADIX, FLT_ROUNDS, and DBL_MAX. + * #define MALLOC your_malloc, where your_malloc(n) acts like malloc(n) + * if memory is available and otherwise does something you deem + * appropriate. If MALLOC is undefined, malloc will be invoked + * directly -- and assumed always to succeed. + * #define Omit_Private_Memory to omit logic (added Jan. 1998) for making + * memory allocations from a private pool of memory when possible. + * When used, the private pool is PRIVATE_MEM bytes long: 2304 bytes, + * unless #defined to be a different length. This default length + * suffices to get rid of MALLOC calls except for unusual cases, + * such as decimal-to-binary conversion of a very long string of + * digits. The longest string dtoa can return is about 751 bytes + * long. For conversions by strtod of strings of 800 digits and + * all dtoa conversions in single-threaded executions with 8-byte + * pointers, PRIVATE_MEM >= 7400 appears to suffice; with 4-byte + * pointers, PRIVATE_MEM >= 7112 appears adequate. + * #define INFNAN_CHECK on IEEE systems to cause strtod to check for + * Infinity and NaN (case insensitively). On some systems (e.g., + * some HP systems), it may be necessary to #define NAN_WORD0 + * appropriately -- to the most significant word of a quiet NaN. + * (On HP Series 700/800 machines, -DNAN_WORD0=0x7ff40000 works.) + * When INFNAN_CHECK is #defined and No_Hex_NaN is not #defined, + * strtod also accepts (case insensitively) strings of the form + * NaN(x), where x is a string of hexadecimal digits and spaces; + * if there is only one string of hexadecimal digits, it is taken + * for the 52 fraction bits of the resulting NaN; if there are two + * or more strings of hex digits, the first is for the high 20 bits, + * the second and subsequent for the low 32 bits, with intervening + * white space ignored; but if this results in none of the 52 + * fraction bits being on (an IEEE Infinity symbol), then NAN_WORD0 + * and NAN_WORD1 are used instead. + * #define MULTIPLE_THREADS if the system offers preemptively scheduled + * multiple threads. In this case, you must provide (or suitably + * #define) two locks, acquired by ACQUIRE_DTOA_LOCK(n) and freed + * by FREE_DTOA_LOCK(n) for n = 0 or 1. (The second lock, accessed + * in pow5mult, ensures lazy evaluation of only one copy of high + * powers of 5; omitting this lock would introduce a small + * probability of wasting memory, but would otherwise be harmless.) + * You must also invoke freedtoa(s) to free the value s returned by + * dtoa. You may do so whether or not MULTIPLE_THREADS is #defined. + * #define NO_IEEE_Scale to disable new (Feb. 1997) logic in strtod that + * avoids underflows on inputs whose result does not underflow. + * If you #define NO_IEEE_Scale on a machine that uses IEEE-format + * floating-point numbers and flushes underflows to zero rather + * than implementing gradual underflow, then you must also #define + * Sudden_Underflow. + * #define YES_ALIAS to permit aliasing certain double values with + * arrays of ULongs. This leads to slightly better code with + * some compilers and was always used prior to 19990916, but it + * is not strictly legal and can cause trouble with aggressively + * optimizing compilers (e.g., gcc 2.95.1 under -O2). + * #define USE_LOCALE to use the current locale's decimal_point value. + * #define SET_INEXACT if IEEE arithmetic is being used and extra + * computation should be done to set the inexact flag when the + * result is inexact and avoid setting inexact when the result + * is exact. In this case, dtoa.c must be compiled in + * an environment, perhaps provided by #include "dtoa.c" in a + * suitable wrapper, that defines two functions, + * int get_inexact(void); + * void clear_inexact(void); + * such that get_inexact() returns a nonzero value if the + * inexact bit is already set, and clear_inexact() sets the + * inexact bit to 0. When SET_INEXACT is #defined, strtod + * also does extra computations to set the underflow and overflow + * flags when appropriate (i.e., when the result is tiny and + * inexact or when it is a numeric value rounded to +-infinity). + * #define NO_ERRNO if strtod should not assign errno = ERANGE when + * the result overflows to +-Infinity or underflows to 0. + */ + +#ifdef WORDS_BIGENDIAN +#define IEEE_BIG_ENDIAN +#else +#define IEEE_LITTLE_ENDIAN +#endif + +#ifdef __vax__ +#define VAX +#undef IEEE_BIG_ENDIAN +#undef IEEE_LITTLE_ENDIAN +#endif + +#if defined(__arm__) && !defined(__VFP_FP__) +#define IEEE_BIG_ENDIAN +#undef IEEE_LITTLE_ENDIAN +#endif + +#undef Long +#undef ULong + +#include + +#if (INT_MAX >> 30) && !(INT_MAX >> 31) +#define Long int +#define ULong unsigned int +#elif (LONG_MAX >> 30) && !(LONG_MAX >> 31) +#define Long long int +#define ULong unsigned long int +#else +#error No 32bit integer +#endif + +#if HAVE_LONG_LONG +#define Llong LONG_LONG +#else +#define NO_LONG_LONG +#endif + +#ifdef DEBUG +#include +#define Bug(x) {fprintf(stderr, "%s\n", (x)); exit(EXIT_FAILURE);} +#endif + +#ifndef ISDIGIT +#include +#define ISDIGIT(c) isdigit(c) +#endif +#include +#include +#include + +#ifdef USE_LOCALE +#include +#endif + +#ifdef MALLOC +extern void *MALLOC(size_t); +#else +#define MALLOC xmalloc +#endif +#ifdef FREE +extern void FREE(void*); +#else +#define FREE xfree +#endif +#ifndef NO_SANITIZE +#define NO_SANITIZE(x, y) y +#endif + +#ifndef Omit_Private_Memory +#ifndef PRIVATE_MEM +#define PRIVATE_MEM 2304 +#endif +#define PRIVATE_mem ((PRIVATE_MEM+sizeof(double)-1)/sizeof(double)) +static double private_mem[PRIVATE_mem], *pmem_next = private_mem; +#endif + +#undef IEEE_Arith +#undef Avoid_Underflow +#ifdef IEEE_BIG_ENDIAN +#define IEEE_Arith +#endif +#ifdef IEEE_LITTLE_ENDIAN +#define IEEE_Arith +#endif + +#ifdef Bad_float_h + +#ifdef IEEE_Arith +#define DBL_DIG 15 +#define DBL_MAX_10_EXP 308 +#define DBL_MAX_EXP 1024 +#define FLT_RADIX 2 +#endif /*IEEE_Arith*/ + +#ifdef IBM +#define DBL_DIG 16 +#define DBL_MAX_10_EXP 75 +#define DBL_MAX_EXP 63 +#define FLT_RADIX 16 +#define DBL_MAX 7.2370055773322621e+75 +#endif + +#ifdef VAX +#define DBL_DIG 16 +#define DBL_MAX_10_EXP 38 +#define DBL_MAX_EXP 127 +#define FLT_RADIX 2 +#define DBL_MAX 1.7014118346046923e+38 +#endif + +#ifndef LONG_MAX +#define LONG_MAX 2147483647 +#endif + +#else /* ifndef Bad_float_h */ +#include +#endif /* Bad_float_h */ + +#include + +#ifdef __cplusplus +extern "C" { +#if 0 +} /* satisfy cc-mode */ +#endif +#endif + +#ifndef hexdigit +static const char hexdigit[] = "0123456789abcdef0123456789ABCDEF"; +#endif + +#if defined(IEEE_LITTLE_ENDIAN) + defined(IEEE_BIG_ENDIAN) + defined(VAX) + defined(IBM) != 1 +Exactly one of IEEE_LITTLE_ENDIAN, IEEE_BIG_ENDIAN, VAX, or IBM should be defined. +#endif + +typedef union { double d; ULong L[2]; } U; + +#ifdef YES_ALIAS +typedef double double_u; +# define dval(x) (x) +# ifdef IEEE_LITTLE_ENDIAN +# define word0(x) (((ULong *)&(x))[1]) +# define word1(x) (((ULong *)&(x))[0]) +# else +# define word0(x) (((ULong *)&(x))[0]) +# define word1(x) (((ULong *)&(x))[1]) +# endif +#else +typedef U double_u; +# ifdef IEEE_LITTLE_ENDIAN +# define word0(x) ((x).L[1]) +# define word1(x) ((x).L[0]) +# else +# define word0(x) ((x).L[0]) +# define word1(x) ((x).L[1]) +# endif +# define dval(x) ((x).d) +#endif + +/* The following definition of Storeinc is appropriate for MIPS processors. + * An alternative that might be better on some machines is + * #define Storeinc(a,b,c) (*a++ = b << 16 | c & 0xffff) + */ +#if defined(IEEE_LITTLE_ENDIAN) + defined(VAX) + defined(__arm__) +#define Storeinc(a,b,c) (((unsigned short *)(a))[1] = (unsigned short)(b), \ +((unsigned short *)(a))[0] = (unsigned short)(c), (a)++) +#else +#define Storeinc(a,b,c) (((unsigned short *)(a))[0] = (unsigned short)(b), \ +((unsigned short *)(a))[1] = (unsigned short)(c), (a)++) +#endif + +/* #define P DBL_MANT_DIG */ +/* Ten_pmax = floor(P*log(2)/log(5)) */ +/* Bletch = (highest power of 2 < DBL_MAX_10_EXP) / 16 */ +/* Quick_max = floor((P-1)*log(FLT_RADIX)/log(10) - 1) */ +/* Int_max = floor(P*log(FLT_RADIX)/log(10) - 1) */ + +#ifdef IEEE_Arith +#define Exp_shift 20 +#define Exp_shift1 20 +#define Exp_msk1 0x100000 +#define Exp_msk11 0x100000 +#define Exp_mask 0x7ff00000 +#define P 53 +#define Bias 1023 +#define Emin (-1022) +#define Exp_1 0x3ff00000 +#define Exp_11 0x3ff00000 +#define Ebits 11 +#define Frac_mask 0xfffff +#define Frac_mask1 0xfffff +#define Ten_pmax 22 +#define Bletch 0x10 +#define Bndry_mask 0xfffff +#define Bndry_mask1 0xfffff +#define LSB 1 +#define Sign_bit 0x80000000 +#define Log2P 1 +#define Tiny0 0 +#define Tiny1 1 +#define Quick_max 14 +#define Int_max 14 +#ifndef NO_IEEE_Scale +#define Avoid_Underflow +#ifdef Flush_Denorm /* debugging option */ +#undef Sudden_Underflow +#endif +#endif + +#ifndef Flt_Rounds +#ifdef FLT_ROUNDS +#define Flt_Rounds FLT_ROUNDS +#else +#define Flt_Rounds 1 +#endif +#endif /*Flt_Rounds*/ + +#ifdef Honor_FLT_ROUNDS +#define Rounding rounding +#undef Check_FLT_ROUNDS +#define Check_FLT_ROUNDS +#else +#define Rounding Flt_Rounds +#endif + +#else /* ifndef IEEE_Arith */ +#undef Check_FLT_ROUNDS +#undef Honor_FLT_ROUNDS +#undef SET_INEXACT +#undef Sudden_Underflow +#define Sudden_Underflow +#ifdef IBM +#undef Flt_Rounds +#define Flt_Rounds 0 +#define Exp_shift 24 +#define Exp_shift1 24 +#define Exp_msk1 0x1000000 +#define Exp_msk11 0x1000000 +#define Exp_mask 0x7f000000 +#define P 14 +#define Bias 65 +#define Exp_1 0x41000000 +#define Exp_11 0x41000000 +#define Ebits 8 /* exponent has 7 bits, but 8 is the right value in b2d */ +#define Frac_mask 0xffffff +#define Frac_mask1 0xffffff +#define Bletch 4 +#define Ten_pmax 22 +#define Bndry_mask 0xefffff +#define Bndry_mask1 0xffffff +#define LSB 1 +#define Sign_bit 0x80000000 +#define Log2P 4 +#define Tiny0 0x100000 +#define Tiny1 0 +#define Quick_max 14 +#define Int_max 15 +#else /* VAX */ +#undef Flt_Rounds +#define Flt_Rounds 1 +#define Exp_shift 23 +#define Exp_shift1 7 +#define Exp_msk1 0x80 +#define Exp_msk11 0x800000 +#define Exp_mask 0x7f80 +#define P 56 +#define Bias 129 +#define Exp_1 0x40800000 +#define Exp_11 0x4080 +#define Ebits 8 +#define Frac_mask 0x7fffff +#define Frac_mask1 0xffff007f +#define Ten_pmax 24 +#define Bletch 2 +#define Bndry_mask 0xffff007f +#define Bndry_mask1 0xffff007f +#define LSB 0x10000 +#define Sign_bit 0x8000 +#define Log2P 1 +#define Tiny0 0x80 +#define Tiny1 0 +#define Quick_max 15 +#define Int_max 15 +#endif /* IBM, VAX */ +#endif /* IEEE_Arith */ + +#ifndef IEEE_Arith +#define ROUND_BIASED +#endif + +#ifdef RND_PRODQUOT +#define rounded_product(a,b) ((a) = rnd_prod((a), (b))) +#define rounded_quotient(a,b) ((a) = rnd_quot((a), (b))) +extern double rnd_prod(double, double), rnd_quot(double, double); +#else +#define rounded_product(a,b) ((a) *= (b)) +#define rounded_quotient(a,b) ((a) /= (b)) +#endif + +#define Big0 (Frac_mask1 | Exp_msk1*(DBL_MAX_EXP+Bias-1)) +#define Big1 0xffffffff + +#ifndef Pack_32 +#define Pack_32 +#endif + +#define FFFFFFFF 0xffffffffUL + +#ifdef NO_LONG_LONG +#undef ULLong +#ifdef Just_16 +#undef Pack_32 +/* When Pack_32 is not defined, we store 16 bits per 32-bit Long. + * This makes some inner loops simpler and sometimes saves work + * during multiplications, but it often seems to make things slightly + * slower. Hence the default is now to store 32 bits per Long. + */ +#endif +#else /* long long available */ +#ifndef Llong +#define Llong long long +#endif +#ifndef ULLong +#define ULLong unsigned Llong +#endif +#endif /* NO_LONG_LONG */ + +#define MULTIPLE_THREADS 1 + +#ifndef MULTIPLE_THREADS +#define ACQUIRE_DTOA_LOCK(n) /*nothing*/ +#define FREE_DTOA_LOCK(n) /*nothing*/ +#else +#define ACQUIRE_DTOA_LOCK(n) /*unused right now*/ +#define FREE_DTOA_LOCK(n) /*unused right now*/ +#endif + +#ifndef ATOMIC_PTR_CAS +#define ATOMIC_PTR_CAS(var, old, new) ((var) = (new), (old)) +#endif +#ifndef LIKELY +#define LIKELY(x) (x) +#endif +#ifndef UNLIKELY +#define UNLIKELY(x) (x) +#endif +#ifndef ASSUME +#define ASSUME(x) (void)(x) +#endif + +#define Kmax 15 + +struct Bigint { + struct Bigint *next; + int k, maxwds, sign, wds; + ULong x[1]; +}; + +typedef struct Bigint Bigint; + +static Bigint *freelist[Kmax+1]; + +static Bigint * +Balloc(int k) +{ + int x; + Bigint *rv; +#ifndef Omit_Private_Memory + size_t len; +#endif + + rv = 0; + ACQUIRE_DTOA_LOCK(0); + if (k <= Kmax) { + rv = freelist[k]; + while (rv) { + Bigint *rvn = rv; + rv = ATOMIC_PTR_CAS(freelist[k], rv, rv->next); + if (LIKELY(rvn == rv)) { + ASSUME(rv); + break; + } + } + } + if (!rv) { + x = 1 << k; +#ifdef Omit_Private_Memory + rv = (Bigint *)MALLOC(sizeof(Bigint) + (x-1)*sizeof(ULong)); +#else + len = (sizeof(Bigint) + (x-1)*sizeof(ULong) + sizeof(double) - 1) + /sizeof(double); + if (k <= Kmax) { + double *pnext = pmem_next; + while (pnext - private_mem + len <= PRIVATE_mem) { + double *p = pnext; + pnext = ATOMIC_PTR_CAS(pmem_next, pnext, pnext + len); + if (LIKELY(p == pnext)) { + rv = (Bigint*)pnext; + ASSUME(rv); + break; + } + } + } + if (!rv) + rv = (Bigint*)MALLOC(len*sizeof(double)); +#endif + rv->k = k; + rv->maxwds = x; + } + FREE_DTOA_LOCK(0); + rv->sign = rv->wds = 0; + return rv; +} + +static void +Bfree(Bigint *v) +{ + Bigint *vn; + if (v) { + if (v->k > Kmax) { + FREE(v); + return; + } + ACQUIRE_DTOA_LOCK(0); + do { + vn = v->next = freelist[v->k]; + } while (UNLIKELY(ATOMIC_PTR_CAS(freelist[v->k], vn, v) != vn)); + FREE_DTOA_LOCK(0); + } +} + +#define Bcopy(x,y) memcpy((char *)&(x)->sign, (char *)&(y)->sign, \ +(y)->wds*sizeof(Long) + 2*sizeof(int)) + +static Bigint * +multadd(Bigint *b, int m, int a) /* multiply by m and add a */ +{ + int i, wds; + ULong *x; +#ifdef ULLong + ULLong carry, y; +#else + ULong carry, y; +#ifdef Pack_32 + ULong xi, z; +#endif +#endif + Bigint *b1; + + wds = b->wds; + x = b->x; + i = 0; + carry = a; + do { +#ifdef ULLong + y = *x * (ULLong)m + carry; + carry = y >> 32; + *x++ = (ULong)(y & FFFFFFFF); +#else +#ifdef Pack_32 + xi = *x; + y = (xi & 0xffff) * m + carry; + z = (xi >> 16) * m + (y >> 16); + carry = z >> 16; + *x++ = (z << 16) + (y & 0xffff); +#else + y = *x * m + carry; + carry = y >> 16; + *x++ = y & 0xffff; +#endif +#endif + } while (++i < wds); + if (carry) { + if (wds >= b->maxwds) { + b1 = Balloc(b->k+1); + Bcopy(b1, b); + Bfree(b); + b = b1; + } + b->x[wds++] = (ULong)carry; + b->wds = wds; + } + return b; +} + +static Bigint * +s2b(const char *s, int nd0, int nd, ULong y9) +{ + Bigint *b; + int i, k; + Long x, y; + + x = (nd + 8) / 9; + for (k = 0, y = 1; x > y; y <<= 1, k++) ; +#ifdef Pack_32 + b = Balloc(k); + b->x[0] = y9; + b->wds = 1; +#else + b = Balloc(k+1); + b->x[0] = y9 & 0xffff; + b->wds = (b->x[1] = y9 >> 16) ? 2 : 1; +#endif + + i = 9; + if (9 < nd0) { + s += 9; + do { + b = multadd(b, 10, *s++ - '0'); + } while (++i < nd0); + s++; + } + else + s += 10; + for (; i < nd; i++) + b = multadd(b, 10, *s++ - '0'); + return b; +} + +static int +hi0bits(register ULong x) +{ + register int k = 0; + + if (!(x & 0xffff0000)) { + k = 16; + x <<= 16; + } + if (!(x & 0xff000000)) { + k += 8; + x <<= 8; + } + if (!(x & 0xf0000000)) { + k += 4; + x <<= 4; + } + if (!(x & 0xc0000000)) { + k += 2; + x <<= 2; + } + if (!(x & 0x80000000)) { + k++; + if (!(x & 0x40000000)) + return 32; + } + return k; +} + +static int +lo0bits(ULong *y) +{ + register int k; + register ULong x = *y; + + if (x & 7) { + if (x & 1) + return 0; + if (x & 2) { + *y = x >> 1; + return 1; + } + *y = x >> 2; + return 2; + } + k = 0; + if (!(x & 0xffff)) { + k = 16; + x >>= 16; + } + if (!(x & 0xff)) { + k += 8; + x >>= 8; + } + if (!(x & 0xf)) { + k += 4; + x >>= 4; + } + if (!(x & 0x3)) { + k += 2; + x >>= 2; + } + if (!(x & 1)) { + k++; + x >>= 1; + if (!x) + return 32; + } + *y = x; + return k; +} + +static Bigint * +i2b(int i) +{ + Bigint *b; + + b = Balloc(1); + b->x[0] = i; + b->wds = 1; + return b; +} + +static Bigint * +mult(Bigint *a, Bigint *b) +{ + Bigint *c; + int k, wa, wb, wc; + ULong *x, *xa, *xae, *xb, *xbe, *xc, *xc0; + ULong y; +#ifdef ULLong + ULLong carry, z; +#else + ULong carry, z; +#ifdef Pack_32 + ULong z2; +#endif +#endif + + if (a->wds < b->wds) { + c = a; + a = b; + b = c; + } + k = a->k; + wa = a->wds; + wb = b->wds; + wc = wa + wb; + if (wc > a->maxwds) + k++; + c = Balloc(k); + for (x = c->x, xa = x + wc; x < xa; x++) + *x = 0; + xa = a->x; + xae = xa + wa; + xb = b->x; + xbe = xb + wb; + xc0 = c->x; +#ifdef ULLong + for (; xb < xbe; xc0++) { + if ((y = *xb++) != 0) { + x = xa; + xc = xc0; + carry = 0; + do { + z = *x++ * (ULLong)y + *xc + carry; + carry = z >> 32; + *xc++ = (ULong)(z & FFFFFFFF); + } while (x < xae); + *xc = (ULong)carry; + } + } +#else +#ifdef Pack_32 + for (; xb < xbe; xb++, xc0++) { + if ((y = *xb & 0xffff) != 0) { + x = xa; + xc = xc0; + carry = 0; + do { + z = (*x & 0xffff) * y + (*xc & 0xffff) + carry; + carry = z >> 16; + z2 = (*x++ >> 16) * y + (*xc >> 16) + carry; + carry = z2 >> 16; + Storeinc(xc, z2, z); + } while (x < xae); + *xc = (ULong)carry; + } + if ((y = *xb >> 16) != 0) { + x = xa; + xc = xc0; + carry = 0; + z2 = *xc; + do { + z = (*x & 0xffff) * y + (*xc >> 16) + carry; + carry = z >> 16; + Storeinc(xc, z, z2); + z2 = (*x++ >> 16) * y + (*xc & 0xffff) + carry; + carry = z2 >> 16; + } while (x < xae); + *xc = z2; + } + } +#else + for (; xb < xbe; xc0++) { + if (y = *xb++) { + x = xa; + xc = xc0; + carry = 0; + do { + z = *x++ * y + *xc + carry; + carry = z >> 16; + *xc++ = z & 0xffff; + } while (x < xae); + *xc = (ULong)carry; + } + } +#endif +#endif + for (xc0 = c->x, xc = xc0 + wc; wc > 0 && !*--xc; --wc) ; + c->wds = wc; + return c; +} + +static Bigint *p5s; + +static Bigint * +pow5mult(Bigint *b, int k) +{ + Bigint *b1, *p5, *p51; + Bigint *p5tmp; + int i; + static const int p05[3] = { 5, 25, 125 }; + + if ((i = k & 3) != 0) + b = multadd(b, p05[i-1], 0); + + if (!(k >>= 2)) + return b; + if (!(p5 = p5s)) { + /* first time */ + ACQUIRE_DTOA_LOCK(1); + if (!(p5 = p5s)) { + p5 = i2b(625); + p5->next = 0; + p5tmp = ATOMIC_PTR_CAS(p5s, NULL, p5); + if (UNLIKELY(p5tmp)) { + Bfree(p5); + p5 = p5tmp; + } + } + FREE_DTOA_LOCK(1); + } + for (;;) { + if (k & 1) { + b1 = mult(b, p5); + Bfree(b); + b = b1; + } + if (!(k >>= 1)) + break; + if (!(p51 = p5->next)) { + ACQUIRE_DTOA_LOCK(1); + if (!(p51 = p5->next)) { + p51 = mult(p5,p5); + p51->next = 0; + p5tmp = ATOMIC_PTR_CAS(p5->next, NULL, p51); + if (UNLIKELY(p5tmp)) { + Bfree(p51); + p51 = p5tmp; + } + } + FREE_DTOA_LOCK(1); + } + p5 = p51; + } + return b; +} + +static Bigint * +lshift(Bigint *b, int k) +{ + int i, k1, n, n1; + Bigint *b1; + ULong *x, *x1, *xe, z; + +#ifdef Pack_32 + n = k >> 5; +#else + n = k >> 4; +#endif + k1 = b->k; + n1 = n + b->wds + 1; + for (i = b->maxwds; n1 > i; i <<= 1) + k1++; + b1 = Balloc(k1); + x1 = b1->x; + for (i = 0; i < n; i++) + *x1++ = 0; + x = b->x; + xe = x + b->wds; +#ifdef Pack_32 + if (k &= 0x1f) { + k1 = 32 - k; + z = 0; + do { + *x1++ = *x << k | z; + z = *x++ >> k1; + } while (x < xe); + if ((*x1 = z) != 0) + ++n1; + } +#else + if (k &= 0xf) { + k1 = 16 - k; + z = 0; + do { + *x1++ = *x << k & 0xffff | z; + z = *x++ >> k1; + } while (x < xe); + if (*x1 = z) + ++n1; + } +#endif + else + do { + *x1++ = *x++; + } while (x < xe); + b1->wds = n1 - 1; + Bfree(b); + return b1; +} + +static int +cmp(Bigint *a, Bigint *b) +{ + ULong *xa, *xa0, *xb, *xb0; + int i, j; + + i = a->wds; + j = b->wds; +#ifdef DEBUG + if (i > 1 && !a->x[i-1]) + Bug("cmp called with a->x[a->wds-1] == 0"); + if (j > 1 && !b->x[j-1]) + Bug("cmp called with b->x[b->wds-1] == 0"); +#endif + if (i -= j) + return i; + xa0 = a->x; + xa = xa0 + j; + xb0 = b->x; + xb = xb0 + j; + for (;;) { + if (*--xa != *--xb) + return *xa < *xb ? -1 : 1; + if (xa <= xa0) + break; + } + return 0; +} + +NO_SANITIZE("unsigned-integer-overflow", static Bigint * diff(Bigint *a, Bigint *b)); +static Bigint * +diff(Bigint *a, Bigint *b) +{ + Bigint *c; + int i, wa, wb; + ULong *xa, *xae, *xb, *xbe, *xc; +#ifdef ULLong + ULLong borrow, y; +#else + ULong borrow, y; +#ifdef Pack_32 + ULong z; +#endif +#endif + + i = cmp(a,b); + if (!i) { + c = Balloc(0); + c->wds = 1; + c->x[0] = 0; + return c; + } + if (i < 0) { + c = a; + a = b; + b = c; + i = 1; + } + else + i = 0; + c = Balloc(a->k); + c->sign = i; + wa = a->wds; + xa = a->x; + xae = xa + wa; + wb = b->wds; + xb = b->x; + xbe = xb + wb; + xc = c->x; + borrow = 0; +#ifdef ULLong + do { + y = (ULLong)*xa++ - *xb++ - borrow; + borrow = y >> 32 & (ULong)1; + *xc++ = (ULong)(y & FFFFFFFF); + } while (xb < xbe); + while (xa < xae) { + y = *xa++ - borrow; + borrow = y >> 32 & (ULong)1; + *xc++ = (ULong)(y & FFFFFFFF); + } +#else +#ifdef Pack_32 + do { + y = (*xa & 0xffff) - (*xb & 0xffff) - borrow; + borrow = (y & 0x10000) >> 16; + z = (*xa++ >> 16) - (*xb++ >> 16) - borrow; + borrow = (z & 0x10000) >> 16; + Storeinc(xc, z, y); + } while (xb < xbe); + while (xa < xae) { + y = (*xa & 0xffff) - borrow; + borrow = (y & 0x10000) >> 16; + z = (*xa++ >> 16) - borrow; + borrow = (z & 0x10000) >> 16; + Storeinc(xc, z, y); + } +#else + do { + y = *xa++ - *xb++ - borrow; + borrow = (y & 0x10000) >> 16; + *xc++ = y & 0xffff; + } while (xb < xbe); + while (xa < xae) { + y = *xa++ - borrow; + borrow = (y & 0x10000) >> 16; + *xc++ = y & 0xffff; + } +#endif +#endif + while (!*--xc) + wa--; + c->wds = wa; + return c; +} + +static double +ulp(double x_) +{ + register Long L; + double_u x, a; + dval(x) = x_; + + L = (word0(x) & Exp_mask) - (P-1)*Exp_msk1; +#ifndef Avoid_Underflow +#ifndef Sudden_Underflow + if (L > 0) { +#endif +#endif +#ifdef IBM + L |= Exp_msk1 >> 4; +#endif + word0(a) = L; + word1(a) = 0; +#ifndef Avoid_Underflow +#ifndef Sudden_Underflow + } + else { + L = -L >> Exp_shift; + if (L < Exp_shift) { + word0(a) = 0x80000 >> L; + word1(a) = 0; + } + else { + word0(a) = 0; + L -= Exp_shift; + word1(a) = L >= 31 ? 1 : 1 << 31 - L; + } + } +#endif +#endif + return dval(a); +} + +static double +b2d(Bigint *a, int *e) +{ + ULong *xa, *xa0, w, y, z; + int k; + double_u d; +#ifdef VAX + ULong d0, d1; +#else +#define d0 word0(d) +#define d1 word1(d) +#endif + + xa0 = a->x; + xa = xa0 + a->wds; + y = *--xa; +#ifdef DEBUG + if (!y) Bug("zero y in b2d"); +#endif + k = hi0bits(y); + *e = 32 - k; +#ifdef Pack_32 + if (k < Ebits) { + d0 = Exp_1 | y >> (Ebits - k); + w = xa > xa0 ? *--xa : 0; + d1 = y << ((32-Ebits) + k) | w >> (Ebits - k); + goto ret_d; + } + z = xa > xa0 ? *--xa : 0; + if (k -= Ebits) { + d0 = Exp_1 | y << k | z >> (32 - k); + y = xa > xa0 ? *--xa : 0; + d1 = z << k | y >> (32 - k); + } + else { + d0 = Exp_1 | y; + d1 = z; + } +#else + if (k < Ebits + 16) { + z = xa > xa0 ? *--xa : 0; + d0 = Exp_1 | y << k - Ebits | z >> Ebits + 16 - k; + w = xa > xa0 ? *--xa : 0; + y = xa > xa0 ? *--xa : 0; + d1 = z << k + 16 - Ebits | w << k - Ebits | y >> 16 + Ebits - k; + goto ret_d; + } + z = xa > xa0 ? *--xa : 0; + w = xa > xa0 ? *--xa : 0; + k -= Ebits + 16; + d0 = Exp_1 | y << k + 16 | z << k | w >> 16 - k; + y = xa > xa0 ? *--xa : 0; + d1 = w << k + 16 | y << k; +#endif +ret_d: +#ifdef VAX + word0(d) = d0 >> 16 | d0 << 16; + word1(d) = d1 >> 16 | d1 << 16; +#else +#undef d0 +#undef d1 +#endif + return dval(d); +} + +static Bigint * +d2b(double d_, int *e, int *bits) +{ + double_u d; + Bigint *b; + int de, k; + ULong *x, y, z; +#ifndef Sudden_Underflow + int i; +#endif +#ifdef VAX + ULong d0, d1; +#endif + dval(d) = d_; +#ifdef VAX + d0 = word0(d) >> 16 | word0(d) << 16; + d1 = word1(d) >> 16 | word1(d) << 16; +#else +#define d0 word0(d) +#define d1 word1(d) +#endif + +#ifdef Pack_32 + b = Balloc(1); +#else + b = Balloc(2); +#endif + x = b->x; + + z = d0 & Frac_mask; + d0 &= 0x7fffffff; /* clear sign bit, which we ignore */ +#ifdef Sudden_Underflow + de = (int)(d0 >> Exp_shift); +#ifndef IBM + z |= Exp_msk11; +#endif +#else + if ((de = (int)(d0 >> Exp_shift)) != 0) + z |= Exp_msk1; +#endif +#ifdef Pack_32 + if ((y = d1) != 0) { + if ((k = lo0bits(&y)) != 0) { + x[0] = y | z << (32 - k); + z >>= k; + } + else + x[0] = y; +#ifndef Sudden_Underflow + i = +#endif + b->wds = (x[1] = z) ? 2 : 1; + } + else { +#ifdef DEBUG + if (!z) + Bug("Zero passed to d2b"); +#endif + k = lo0bits(&z); + x[0] = z; +#ifndef Sudden_Underflow + i = +#endif + b->wds = 1; + k += 32; + } +#else + if (y = d1) { + if (k = lo0bits(&y)) + if (k >= 16) { + x[0] = y | z << 32 - k & 0xffff; + x[1] = z >> k - 16 & 0xffff; + x[2] = z >> k; + i = 2; + } + else { + x[0] = y & 0xffff; + x[1] = y >> 16 | z << 16 - k & 0xffff; + x[2] = z >> k & 0xffff; + x[3] = z >> k+16; + i = 3; + } + else { + x[0] = y & 0xffff; + x[1] = y >> 16; + x[2] = z & 0xffff; + x[3] = z >> 16; + i = 3; + } + } + else { +#ifdef DEBUG + if (!z) + Bug("Zero passed to d2b"); +#endif + k = lo0bits(&z); + if (k >= 16) { + x[0] = z; + i = 0; + } + else { + x[0] = z & 0xffff; + x[1] = z >> 16; + i = 1; + } + k += 32; + } + while (!x[i]) + --i; + b->wds = i + 1; +#endif +#ifndef Sudden_Underflow + if (de) { +#endif +#ifdef IBM + *e = (de - Bias - (P-1) << 2) + k; + *bits = 4*P + 8 - k - hi0bits(word0(d) & Frac_mask); +#else + *e = de - Bias - (P-1) + k; + *bits = P - k; +#endif +#ifndef Sudden_Underflow + } + else { + *e = de - Bias - (P-1) + 1 + k; +#ifdef Pack_32 + *bits = 32*i - hi0bits(x[i-1]); +#else + *bits = (i+2)*16 - hi0bits(x[i]); +#endif + } +#endif + return b; +} +#undef d0 +#undef d1 + +static double +ratio(Bigint *a, Bigint *b) +{ + double_u da, db; + int k, ka, kb; + + dval(da) = b2d(a, &ka); + dval(db) = b2d(b, &kb); +#ifdef Pack_32 + k = ka - kb + 32*(a->wds - b->wds); +#else + k = ka - kb + 16*(a->wds - b->wds); +#endif +#ifdef IBM + if (k > 0) { + word0(da) += (k >> 2)*Exp_msk1; + if (k &= 3) + dval(da) *= 1 << k; + } + else { + k = -k; + word0(db) += (k >> 2)*Exp_msk1; + if (k &= 3) + dval(db) *= 1 << k; + } +#else + if (k > 0) + word0(da) += k*Exp_msk1; + else { + k = -k; + word0(db) += k*Exp_msk1; + } +#endif + return dval(da) / dval(db); +} + +static const double +tens[] = { + 1e0, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, + 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, + 1e20, 1e21, 1e22 +#ifdef VAX + , 1e23, 1e24 +#endif +}; + +static const double +#ifdef IEEE_Arith +bigtens[] = { 1e16, 1e32, 1e64, 1e128, 1e256 }; +static const double tinytens[] = { 1e-16, 1e-32, 1e-64, 1e-128, +#ifdef Avoid_Underflow + 9007199254740992.*9007199254740992.e-256 + /* = 2^106 * 1e-53 */ +#else + 1e-256 +#endif +}; +/* The factor of 2^53 in tinytens[4] helps us avoid setting the underflow */ +/* flag unnecessarily. It leads to a song and dance at the end of strtod. */ +#define Scale_Bit 0x10 +#define n_bigtens 5 +#else +#ifdef IBM +bigtens[] = { 1e16, 1e32, 1e64 }; +static const double tinytens[] = { 1e-16, 1e-32, 1e-64 }; +#define n_bigtens 3 +#else +bigtens[] = { 1e16, 1e32 }; +static const double tinytens[] = { 1e-16, 1e-32 }; +#define n_bigtens 2 +#endif +#endif + +#ifndef IEEE_Arith +#undef INFNAN_CHECK +#endif + +#ifdef INFNAN_CHECK + +#ifndef NAN_WORD0 +#define NAN_WORD0 0x7ff80000 +#endif + +#ifndef NAN_WORD1 +#define NAN_WORD1 0 +#endif + +static int +match(const char **sp, char *t) +{ + int c, d; + const char *s = *sp; + + while (d = *t++) { + if ((c = *++s) >= 'A' && c <= 'Z') + c += 'a' - 'A'; + if (c != d) + return 0; + } + *sp = s + 1; + return 1; +} + +#ifndef No_Hex_NaN +static void +hexnan(double *rvp, const char **sp) +{ + ULong c, x[2]; + const char *s; + int havedig, udx0, xshift; + + x[0] = x[1] = 0; + havedig = xshift = 0; + udx0 = 1; + s = *sp; + while (c = *(const unsigned char*)++s) { + if (c >= '0' && c <= '9') + c -= '0'; + else if (c >= 'a' && c <= 'f') + c += 10 - 'a'; + else if (c >= 'A' && c <= 'F') + c += 10 - 'A'; + else if (c <= ' ') { + if (udx0 && havedig) { + udx0 = 0; + xshift = 1; + } + continue; + } + else if (/*(*/ c == ')' && havedig) { + *sp = s + 1; + break; + } + else + return; /* invalid form: don't change *sp */ + havedig = 1; + if (xshift) { + xshift = 0; + x[0] = x[1]; + x[1] = 0; + } + if (udx0) + x[0] = (x[0] << 4) | (x[1] >> 28); + x[1] = (x[1] << 4) | c; + } + if ((x[0] &= 0xfffff) || x[1]) { + word0(*rvp) = Exp_mask | x[0]; + word1(*rvp) = x[1]; + } +} +#endif /*No_Hex_NaN*/ +#endif /* INFNAN_CHECK */ + +NO_SANITIZE("unsigned-integer-overflow", double strtod(const char *s00, char **se)); +double +strtod(const char *s00, char **se) +{ +#ifdef Avoid_Underflow + int scale; +#endif + int bb2, bb5, bbe, bd2, bd5, bbbits, bs2, c, dsign, + e, e1, esign, i, j, k, nd, nd0, nf, nz, nz0, sign; + const char *s, *s0, *s1; + double aadj, adj; + double_u aadj1, rv, rv0; + Long L; + ULong y, z; + Bigint *bb, *bb1, *bd, *bd0, *bs, *delta; +#ifdef SET_INEXACT + int inexact, oldinexact; +#endif +#ifdef Honor_FLT_ROUNDS + int rounding; +#endif +#ifdef USE_LOCALE + const char *s2; +#endif + + errno = 0; + sign = nz0 = nz = 0; + dval(rv) = 0.; + for (s = s00;;s++) + switch (*s) { + case '-': + sign = 1; + /* no break */ + case '+': + if (*++s) + goto break2; + /* no break */ + case 0: + goto ret0; + case '\t': + case '\n': + case '\v': + case '\f': + case '\r': + case ' ': + continue; + default: + goto break2; + } +break2: + if (*s == '0') { + if (s[1] == 'x' || s[1] == 'X') { + s0 = ++s; + adj = 0; + aadj = 1.0; + nd0 = -4; + + if (!*++s || !(s1 = strchr(hexdigit, *s))) goto ret0; + if (*s == '0') { + while (*++s == '0'); + s1 = strchr(hexdigit, *s); + } + if (s1 != NULL) { + do { + adj += aadj * ((s1 - hexdigit) & 15); + nd0 += 4; + aadj /= 16; + } while (*++s && (s1 = strchr(hexdigit, *s))); + } + + if (*s == '.') { + dsign = 1; + if (!*++s || !(s1 = strchr(hexdigit, *s))) goto ret0; + if (nd0 < 0) { + while (*s == '0') { + s++; + nd0 -= 4; + } + } + for (; *s && (s1 = strchr(hexdigit, *s)); ++s) { + adj += aadj * ((s1 - hexdigit) & 15); + if ((aadj /= 16) == 0.0) { + while (strchr(hexdigit, *++s)); + break; + } + } + } + else { + dsign = 0; + } + + if (*s == 'P' || *s == 'p') { + dsign = 0x2C - *++s; /* +: 2B, -: 2D */ + if (abs(dsign) == 1) s++; + else dsign = 1; + + nd = 0; + c = *s; + if (c < '0' || '9' < c) goto ret0; + do { + nd *= 10; + nd += c; + nd -= '0'; + c = *++s; + /* Float("0x0."+("0"*267)+"1fp2095") */ + if (nd + dsign * nd0 > 2095) { + while ('0' <= c && c <= '9') c = *++s; + break; + } + } while ('0' <= c && c <= '9'); + nd0 += nd * dsign; + } + else { + if (dsign) goto ret0; + } + dval(rv) = ldexp(adj, nd0); + goto ret; + } + nz0 = 1; + while (*++s == '0') ; + if (!*s) + goto ret; + } + s0 = s; + y = z = 0; + for (nd = nf = 0; (c = *s) >= '0' && c <= '9'; nd++, s++) + if (nd < 9) + y = 10*y + c - '0'; + else if (nd < DBL_DIG + 2) + z = 10*z + c - '0'; + nd0 = nd; +#ifdef USE_LOCALE + s1 = localeconv()->decimal_point; + if (c == *s1) { + c = '.'; + if (*++s1) { + s2 = s; + for (;;) { + if (*++s2 != *s1) { + c = 0; + break; + } + if (!*++s1) { + s = s2; + break; + } + } + } + } +#endif + if (c == '.') { + if (!ISDIGIT(s[1])) + goto dig_done; + c = *++s; + if (!nd) { + for (; c == '0'; c = *++s) + nz++; + if (c > '0' && c <= '9') { + s0 = s; + nf += nz; + nz = 0; + goto have_dig; + } + goto dig_done; + } + for (; c >= '0' && c <= '9'; c = *++s) { +have_dig: + nz++; + if (nd > DBL_DIG * 4) { + continue; + } + if (c -= '0') { + nf += nz; + for (i = 1; i < nz; i++) + if (nd++ < 9) + y *= 10; + else if (nd <= DBL_DIG + 2) + z *= 10; + if (nd++ < 9) + y = 10*y + c; + else if (nd <= DBL_DIG + 2) + z = 10*z + c; + nz = 0; + } + } + } +dig_done: + e = 0; + if (c == 'e' || c == 'E') { + if (!nd && !nz && !nz0) { + goto ret0; + } + s00 = s; + esign = 0; + switch (c = *++s) { + case '-': + esign = 1; + case '+': + c = *++s; + } + if (c >= '0' && c <= '9') { + while (c == '0') + c = *++s; + if (c > '0' && c <= '9') { + L = c - '0'; + s1 = s; + while ((c = *++s) >= '0' && c <= '9') + L = 10*L + c - '0'; + if (s - s1 > 8 || L > 19999) + /* Avoid confusion from exponents + * so large that e might overflow. + */ + e = 19999; /* safe for 16 bit ints */ + else + e = (int)L; + if (esign) + e = -e; + } + else + e = 0; + } + else + s = s00; + } + if (!nd) { + if (!nz && !nz0) { +#ifdef INFNAN_CHECK + /* Check for Nan and Infinity */ + switch (c) { + case 'i': + case 'I': + if (match(&s,"nf")) { + --s; + if (!match(&s,"inity")) + ++s; + word0(rv) = 0x7ff00000; + word1(rv) = 0; + goto ret; + } + break; + case 'n': + case 'N': + if (match(&s, "an")) { + word0(rv) = NAN_WORD0; + word1(rv) = NAN_WORD1; +#ifndef No_Hex_NaN + if (*s == '(') /*)*/ + hexnan(&rv, &s); +#endif + goto ret; + } + } +#endif /* INFNAN_CHECK */ +ret0: + s = s00; + sign = 0; + } + goto ret; + } + e1 = e -= nf; + + /* Now we have nd0 digits, starting at s0, followed by a + * decimal point, followed by nd-nd0 digits. The number we're + * after is the integer represented by those digits times + * 10**e */ + + if (!nd0) + nd0 = nd; + k = nd < DBL_DIG + 2 ? nd : DBL_DIG + 2; + dval(rv) = y; + if (k > 9) { +#ifdef SET_INEXACT + if (k > DBL_DIG) + oldinexact = get_inexact(); +#endif + dval(rv) = tens[k - 9] * dval(rv) + z; + } + bd0 = bb = bd = bs = delta = 0; + if (nd <= DBL_DIG +#ifndef RND_PRODQUOT +#ifndef Honor_FLT_ROUNDS + && Flt_Rounds == 1 +#endif +#endif + ) { + if (!e) + goto ret; + if (e > 0) { + if (e <= Ten_pmax) { +#ifdef VAX + goto vax_ovfl_check; +#else +#ifdef Honor_FLT_ROUNDS + /* round correctly FLT_ROUNDS = 2 or 3 */ + if (sign) { + dval(rv) = -dval(rv); + sign = 0; + } +#endif + /* rv = */ rounded_product(dval(rv), tens[e]); + goto ret; +#endif + } + i = DBL_DIG - nd; + if (e <= Ten_pmax + i) { + /* A fancier test would sometimes let us do + * this for larger i values. + */ +#ifdef Honor_FLT_ROUNDS + /* round correctly FLT_ROUNDS = 2 or 3 */ + if (sign) { + dval(rv) = -dval(rv); + sign = 0; + } +#endif + e -= i; + dval(rv) *= tens[i]; +#ifdef VAX + /* VAX exponent range is so narrow we must + * worry about overflow here... + */ +vax_ovfl_check: + word0(rv) -= P*Exp_msk1; + /* rv = */ rounded_product(dval(rv), tens[e]); + if ((word0(rv) & Exp_mask) + > Exp_msk1*(DBL_MAX_EXP+Bias-1-P)) + goto ovfl; + word0(rv) += P*Exp_msk1; +#else + /* rv = */ rounded_product(dval(rv), tens[e]); +#endif + goto ret; + } + } +#ifndef Inaccurate_Divide + else if (e >= -Ten_pmax) { +#ifdef Honor_FLT_ROUNDS + /* round correctly FLT_ROUNDS = 2 or 3 */ + if (sign) { + dval(rv) = -dval(rv); + sign = 0; + } +#endif + /* rv = */ rounded_quotient(dval(rv), tens[-e]); + goto ret; + } +#endif + } + e1 += nd - k; + +#ifdef IEEE_Arith +#ifdef SET_INEXACT + inexact = 1; + if (k <= DBL_DIG) + oldinexact = get_inexact(); +#endif +#ifdef Avoid_Underflow + scale = 0; +#endif +#ifdef Honor_FLT_ROUNDS + if ((rounding = Flt_Rounds) >= 2) { + if (sign) + rounding = rounding == 2 ? 0 : 2; + else + if (rounding != 2) + rounding = 0; + } +#endif +#endif /*IEEE_Arith*/ + + /* Get starting approximation = rv * 10**e1 */ + + if (e1 > 0) { + if ((i = e1 & 15) != 0) + dval(rv) *= tens[i]; + if (e1 &= ~15) { + if (e1 > DBL_MAX_10_EXP) { +ovfl: +#ifndef NO_ERRNO + errno = ERANGE; +#endif + /* Can't trust HUGE_VAL */ +#ifdef IEEE_Arith +#ifdef Honor_FLT_ROUNDS + switch (rounding) { + case 0: /* toward 0 */ + case 3: /* toward -infinity */ + word0(rv) = Big0; + word1(rv) = Big1; + break; + default: + word0(rv) = Exp_mask; + word1(rv) = 0; + } +#else /*Honor_FLT_ROUNDS*/ + word0(rv) = Exp_mask; + word1(rv) = 0; +#endif /*Honor_FLT_ROUNDS*/ +#ifdef SET_INEXACT + /* set overflow bit */ + dval(rv0) = 1e300; + dval(rv0) *= dval(rv0); +#endif +#else /*IEEE_Arith*/ + word0(rv) = Big0; + word1(rv) = Big1; +#endif /*IEEE_Arith*/ + if (bd0) + goto retfree; + goto ret; + } + e1 >>= 4; + for (j = 0; e1 > 1; j++, e1 >>= 1) + if (e1 & 1) + dval(rv) *= bigtens[j]; + /* The last multiplication could overflow. */ + word0(rv) -= P*Exp_msk1; + dval(rv) *= bigtens[j]; + if ((z = word0(rv) & Exp_mask) + > Exp_msk1*(DBL_MAX_EXP+Bias-P)) + goto ovfl; + if (z > Exp_msk1*(DBL_MAX_EXP+Bias-1-P)) { + /* set to largest number */ + /* (Can't trust DBL_MAX) */ + word0(rv) = Big0; + word1(rv) = Big1; + } + else + word0(rv) += P*Exp_msk1; + } + } + else if (e1 < 0) { + e1 = -e1; + if ((i = e1 & 15) != 0) + dval(rv) /= tens[i]; + if (e1 >>= 4) { + if (e1 >= 1 << n_bigtens) + goto undfl; +#ifdef Avoid_Underflow + if (e1 & Scale_Bit) + scale = 2*P; + for (j = 0; e1 > 0; j++, e1 >>= 1) + if (e1 & 1) + dval(rv) *= tinytens[j]; + if (scale && (j = 2*P + 1 - ((word0(rv) & Exp_mask) + >> Exp_shift)) > 0) { + /* scaled rv is denormal; zap j low bits */ + if (j >= 32) { + word1(rv) = 0; + if (j >= 53) + word0(rv) = (P+2)*Exp_msk1; + else + word0(rv) &= 0xffffffff << (j-32); + } + else + word1(rv) &= 0xffffffff << j; + } +#else + for (j = 0; e1 > 1; j++, e1 >>= 1) + if (e1 & 1) + dval(rv) *= tinytens[j]; + /* The last multiplication could underflow. */ + dval(rv0) = dval(rv); + dval(rv) *= tinytens[j]; + if (!dval(rv)) { + dval(rv) = 2.*dval(rv0); + dval(rv) *= tinytens[j]; +#endif + if (!dval(rv)) { +undfl: + dval(rv) = 0.; +#ifndef NO_ERRNO + errno = ERANGE; +#endif + if (bd0) + goto retfree; + goto ret; + } +#ifndef Avoid_Underflow + word0(rv) = Tiny0; + word1(rv) = Tiny1; + /* The refinement below will clean + * this approximation up. + */ + } +#endif + } + } + + /* Now the hard part -- adjusting rv to the correct value.*/ + + /* Put digits into bd: true value = bd * 10^e */ + + bd0 = s2b(s0, nd0, nd, y); + + for (;;) { + bd = Balloc(bd0->k); + Bcopy(bd, bd0); + bb = d2b(dval(rv), &bbe, &bbbits); /* rv = bb * 2^bbe */ + bs = i2b(1); + + if (e >= 0) { + bb2 = bb5 = 0; + bd2 = bd5 = e; + } + else { + bb2 = bb5 = -e; + bd2 = bd5 = 0; + } + if (bbe >= 0) + bb2 += bbe; + else + bd2 -= bbe; + bs2 = bb2; +#ifdef Honor_FLT_ROUNDS + if (rounding != 1) + bs2++; +#endif +#ifdef Avoid_Underflow + j = bbe - scale; + i = j + bbbits - 1; /* logb(rv) */ + if (i < Emin) /* denormal */ + j += P - Emin; + else + j = P + 1 - bbbits; +#else /*Avoid_Underflow*/ +#ifdef Sudden_Underflow +#ifdef IBM + j = 1 + 4*P - 3 - bbbits + ((bbe + bbbits - 1) & 3); +#else + j = P + 1 - bbbits; +#endif +#else /*Sudden_Underflow*/ + j = bbe; + i = j + bbbits - 1; /* logb(rv) */ + if (i < Emin) /* denormal */ + j += P - Emin; + else + j = P + 1 - bbbits; +#endif /*Sudden_Underflow*/ +#endif /*Avoid_Underflow*/ + bb2 += j; + bd2 += j; +#ifdef Avoid_Underflow + bd2 += scale; +#endif + i = bb2 < bd2 ? bb2 : bd2; + if (i > bs2) + i = bs2; + if (i > 0) { + bb2 -= i; + bd2 -= i; + bs2 -= i; + } + if (bb5 > 0) { + bs = pow5mult(bs, bb5); + bb1 = mult(bs, bb); + Bfree(bb); + bb = bb1; + } + if (bb2 > 0) + bb = lshift(bb, bb2); + if (bd5 > 0) + bd = pow5mult(bd, bd5); + if (bd2 > 0) + bd = lshift(bd, bd2); + if (bs2 > 0) + bs = lshift(bs, bs2); + delta = diff(bb, bd); + dsign = delta->sign; + delta->sign = 0; + i = cmp(delta, bs); +#ifdef Honor_FLT_ROUNDS + if (rounding != 1) { + if (i < 0) { + /* Error is less than an ulp */ + if (!delta->x[0] && delta->wds <= 1) { + /* exact */ +#ifdef SET_INEXACT + inexact = 0; +#endif + break; + } + if (rounding) { + if (dsign) { + adj = 1.; + goto apply_adj; + } + } + else if (!dsign) { + adj = -1.; + if (!word1(rv) + && !(word0(rv) & Frac_mask)) { + y = word0(rv) & Exp_mask; +#ifdef Avoid_Underflow + if (!scale || y > 2*P*Exp_msk1) +#else + if (y) +#endif + { + delta = lshift(delta,Log2P); + if (cmp(delta, bs) <= 0) + adj = -0.5; + } + } +apply_adj: +#ifdef Avoid_Underflow + if (scale && (y = word0(rv) & Exp_mask) + <= 2*P*Exp_msk1) + word0(adj) += (2*P+1)*Exp_msk1 - y; +#else +#ifdef Sudden_Underflow + if ((word0(rv) & Exp_mask) <= + P*Exp_msk1) { + word0(rv) += P*Exp_msk1; + dval(rv) += adj*ulp(dval(rv)); + word0(rv) -= P*Exp_msk1; + } + else +#endif /*Sudden_Underflow*/ +#endif /*Avoid_Underflow*/ + dval(rv) += adj*ulp(dval(rv)); + } + break; + } + adj = ratio(delta, bs); + if (adj < 1.) + adj = 1.; + if (adj <= 0x7ffffffe) { + /* adj = rounding ? ceil(adj) : floor(adj); */ + y = adj; + if (y != adj) { + if (!((rounding>>1) ^ dsign)) + y++; + adj = y; + } + } +#ifdef Avoid_Underflow + if (scale && (y = word0(rv) & Exp_mask) <= 2*P*Exp_msk1) + word0(adj) += (2*P+1)*Exp_msk1 - y; +#else +#ifdef Sudden_Underflow + if ((word0(rv) & Exp_mask) <= P*Exp_msk1) { + word0(rv) += P*Exp_msk1; + adj *= ulp(dval(rv)); + if (dsign) + dval(rv) += adj; + else + dval(rv) -= adj; + word0(rv) -= P*Exp_msk1; + goto cont; + } +#endif /*Sudden_Underflow*/ +#endif /*Avoid_Underflow*/ + adj *= ulp(dval(rv)); + if (dsign) + dval(rv) += adj; + else + dval(rv) -= adj; + goto cont; + } +#endif /*Honor_FLT_ROUNDS*/ + + if (i < 0) { + /* Error is less than half an ulp -- check for + * special case of mantissa a power of two. + */ + if (dsign || word1(rv) || word0(rv) & Bndry_mask +#ifdef IEEE_Arith +#ifdef Avoid_Underflow + || (word0(rv) & Exp_mask) <= (2*P+1)*Exp_msk1 +#else + || (word0(rv) & Exp_mask) <= Exp_msk1 +#endif +#endif + ) { +#ifdef SET_INEXACT + if (!delta->x[0] && delta->wds <= 1) + inexact = 0; +#endif + break; + } + if (!delta->x[0] && delta->wds <= 1) { + /* exact result */ +#ifdef SET_INEXACT + inexact = 0; +#endif + break; + } + delta = lshift(delta,Log2P); + if (cmp(delta, bs) > 0) + goto drop_down; + break; + } + if (i == 0) { + /* exactly half-way between */ + if (dsign) { + if ((word0(rv) & Bndry_mask1) == Bndry_mask1 + && word1(rv) == ( +#ifdef Avoid_Underflow + (scale && (y = word0(rv) & Exp_mask) <= 2*P*Exp_msk1) + ? (0xffffffff & (0xffffffff << (2*P+1-(y>>Exp_shift)))) : +#endif + 0xffffffff)) { + /*boundary case -- increment exponent*/ + word0(rv) = (word0(rv) & Exp_mask) + + Exp_msk1 +#ifdef IBM + | Exp_msk1 >> 4 +#endif + ; + word1(rv) = 0; +#ifdef Avoid_Underflow + dsign = 0; +#endif + break; + } + } + else if (!(word0(rv) & Bndry_mask) && !word1(rv)) { +drop_down: + /* boundary case -- decrement exponent */ +#ifdef Sudden_Underflow /*{{*/ + L = word0(rv) & Exp_mask; +#ifdef IBM + if (L < Exp_msk1) +#else +#ifdef Avoid_Underflow + if (L <= (scale ? (2*P+1)*Exp_msk1 : Exp_msk1)) +#else + if (L <= Exp_msk1) +#endif /*Avoid_Underflow*/ +#endif /*IBM*/ + goto undfl; + L -= Exp_msk1; +#else /*Sudden_Underflow}{*/ +#ifdef Avoid_Underflow + if (scale) { + L = word0(rv) & Exp_mask; + if (L <= (2*P+1)*Exp_msk1) { + if (L > (P+2)*Exp_msk1) + /* round even ==> */ + /* accept rv */ + break; + /* rv = smallest denormal */ + goto undfl; + } + } +#endif /*Avoid_Underflow*/ + L = (word0(rv) & Exp_mask) - Exp_msk1; +#endif /*Sudden_Underflow}}*/ + word0(rv) = L | Bndry_mask1; + word1(rv) = 0xffffffff; +#ifdef IBM + goto cont; +#else + break; +#endif + } +#ifndef ROUND_BIASED + if (!(word1(rv) & LSB)) + break; +#endif + if (dsign) + dval(rv) += ulp(dval(rv)); +#ifndef ROUND_BIASED + else { + dval(rv) -= ulp(dval(rv)); +#ifndef Sudden_Underflow + if (!dval(rv)) + goto undfl; +#endif + } +#ifdef Avoid_Underflow + dsign = 1 - dsign; +#endif +#endif + break; + } + if ((aadj = ratio(delta, bs)) <= 2.) { + if (dsign) + aadj = dval(aadj1) = 1.; + else if (word1(rv) || word0(rv) & Bndry_mask) { +#ifndef Sudden_Underflow + if (word1(rv) == Tiny1 && !word0(rv)) + goto undfl; +#endif + aadj = 1.; + dval(aadj1) = -1.; + } + else { + /* special case -- power of FLT_RADIX to be */ + /* rounded down... */ + + if (aadj < 2./FLT_RADIX) + aadj = 1./FLT_RADIX; + else + aadj *= 0.5; + dval(aadj1) = -aadj; + } + } + else { + aadj *= 0.5; + dval(aadj1) = dsign ? aadj : -aadj; +#ifdef Check_FLT_ROUNDS + switch (Rounding) { + case 2: /* towards +infinity */ + dval(aadj1) -= 0.5; + break; + case 0: /* towards 0 */ + case 3: /* towards -infinity */ + dval(aadj1) += 0.5; + } +#else + if (Flt_Rounds == 0) + dval(aadj1) += 0.5; +#endif /*Check_FLT_ROUNDS*/ + } + y = word0(rv) & Exp_mask; + + /* Check for overflow */ + + if (y == Exp_msk1*(DBL_MAX_EXP+Bias-1)) { + dval(rv0) = dval(rv); + word0(rv) -= P*Exp_msk1; + adj = dval(aadj1) * ulp(dval(rv)); + dval(rv) += adj; + if ((word0(rv) & Exp_mask) >= + Exp_msk1*(DBL_MAX_EXP+Bias-P)) { + if (word0(rv0) == Big0 && word1(rv0) == Big1) + goto ovfl; + word0(rv) = Big0; + word1(rv) = Big1; + goto cont; + } + else + word0(rv) += P*Exp_msk1; + } + else { +#ifdef Avoid_Underflow + if (scale && y <= 2*P*Exp_msk1) { + if (aadj <= 0x7fffffff) { + if ((z = (int)aadj) <= 0) + z = 1; + aadj = z; + dval(aadj1) = dsign ? aadj : -aadj; + } + word0(aadj1) += (2*P+1)*Exp_msk1 - y; + } + adj = dval(aadj1) * ulp(dval(rv)); + dval(rv) += adj; +#else +#ifdef Sudden_Underflow + if ((word0(rv) & Exp_mask) <= P*Exp_msk1) { + dval(rv0) = dval(rv); + word0(rv) += P*Exp_msk1; + adj = dval(aadj1) * ulp(dval(rv)); + dval(rv) += adj; +#ifdef IBM + if ((word0(rv) & Exp_mask) < P*Exp_msk1) +#else + if ((word0(rv) & Exp_mask) <= P*Exp_msk1) +#endif + { + if (word0(rv0) == Tiny0 && word1(rv0) == Tiny1) + goto undfl; + word0(rv) = Tiny0; + word1(rv) = Tiny1; + goto cont; + } + else + word0(rv) -= P*Exp_msk1; + } + else { + adj = dval(aadj1) * ulp(dval(rv)); + dval(rv) += adj; + } +#else /*Sudden_Underflow*/ + /* Compute adj so that the IEEE rounding rules will + * correctly round rv + adj in some half-way cases. + * If rv * ulp(rv) is denormalized (i.e., + * y <= (P-1)*Exp_msk1), we must adjust aadj to avoid + * trouble from bits lost to denormalization; + * example: 1.2e-307 . + */ + if (y <= (P-1)*Exp_msk1 && aadj > 1.) { + dval(aadj1) = (double)(int)(aadj + 0.5); + if (!dsign) + dval(aadj1) = -dval(aadj1); + } + adj = dval(aadj1) * ulp(dval(rv)); + dval(rv) += adj; +#endif /*Sudden_Underflow*/ +#endif /*Avoid_Underflow*/ + } + z = word0(rv) & Exp_mask; +#ifndef SET_INEXACT +#ifdef Avoid_Underflow + if (!scale) +#endif + if (y == z) { + /* Can we stop now? */ + L = (Long)aadj; + aadj -= L; + /* The tolerances below are conservative. */ + if (dsign || word1(rv) || word0(rv) & Bndry_mask) { + if (aadj < .4999999 || aadj > .5000001) + break; + } + else if (aadj < .4999999/FLT_RADIX) + break; + } +#endif +cont: + Bfree(bb); + Bfree(bd); + Bfree(bs); + Bfree(delta); + } +#ifdef SET_INEXACT + if (inexact) { + if (!oldinexact) { + word0(rv0) = Exp_1 + (70 << Exp_shift); + word1(rv0) = 0; + dval(rv0) += 1.; + } + } + else if (!oldinexact) + clear_inexact(); +#endif +#ifdef Avoid_Underflow + if (scale) { + word0(rv0) = Exp_1 - 2*P*Exp_msk1; + word1(rv0) = 0; + dval(rv) *= dval(rv0); +#ifndef NO_ERRNO + /* try to avoid the bug of testing an 8087 register value */ + if (word0(rv) == 0 && word1(rv) == 0) + errno = ERANGE; +#endif + } +#endif /* Avoid_Underflow */ +#ifdef SET_INEXACT + if (inexact && !(word0(rv) & Exp_mask)) { + /* set underflow bit */ + dval(rv0) = 1e-300; + dval(rv0) *= dval(rv0); + } +#endif +retfree: + Bfree(bb); + Bfree(bd); + Bfree(bs); + Bfree(bd0); + Bfree(delta); +ret: + if (se) + *se = (char *)s; + return sign ? -dval(rv) : dval(rv); +} + +NO_SANITIZE("unsigned-integer-overflow", static int quorem(Bigint *b, Bigint *S)); +static int +quorem(Bigint *b, Bigint *S) +{ + int n; + ULong *bx, *bxe, q, *sx, *sxe; +#ifdef ULLong + ULLong borrow, carry, y, ys; +#else + ULong borrow, carry, y, ys; +#ifdef Pack_32 + ULong si, z, zs; +#endif +#endif + + n = S->wds; +#ifdef DEBUG + /*debug*/ if (b->wds > n) + /*debug*/ Bug("oversize b in quorem"); +#endif + if (b->wds < n) + return 0; + sx = S->x; + sxe = sx + --n; + bx = b->x; + bxe = bx + n; + q = *bxe / (*sxe + 1); /* ensure q <= true quotient */ +#ifdef DEBUG + /*debug*/ if (q > 9) + /*debug*/ Bug("oversized quotient in quorem"); +#endif + if (q) { + borrow = 0; + carry = 0; + do { +#ifdef ULLong + ys = *sx++ * (ULLong)q + carry; + carry = ys >> 32; + y = *bx - (ys & FFFFFFFF) - borrow; + borrow = y >> 32 & (ULong)1; + *bx++ = (ULong)(y & FFFFFFFF); +#else +#ifdef Pack_32 + si = *sx++; + ys = (si & 0xffff) * q + carry; + zs = (si >> 16) * q + (ys >> 16); + carry = zs >> 16; + y = (*bx & 0xffff) - (ys & 0xffff) - borrow; + borrow = (y & 0x10000) >> 16; + z = (*bx >> 16) - (zs & 0xffff) - borrow; + borrow = (z & 0x10000) >> 16; + Storeinc(bx, z, y); +#else + ys = *sx++ * q + carry; + carry = ys >> 16; + y = *bx - (ys & 0xffff) - borrow; + borrow = (y & 0x10000) >> 16; + *bx++ = y & 0xffff; +#endif +#endif + } while (sx <= sxe); + if (!*bxe) { + bx = b->x; + while (--bxe > bx && !*bxe) + --n; + b->wds = n; + } + } + if (cmp(b, S) >= 0) { + q++; + borrow = 0; + carry = 0; + bx = b->x; + sx = S->x; + do { +#ifdef ULLong + ys = *sx++ + carry; + carry = ys >> 32; + y = *bx - (ys & FFFFFFFF) - borrow; + borrow = y >> 32 & (ULong)1; + *bx++ = (ULong)(y & FFFFFFFF); +#else +#ifdef Pack_32 + si = *sx++; + ys = (si & 0xffff) + carry; + zs = (si >> 16) + (ys >> 16); + carry = zs >> 16; + y = (*bx & 0xffff) - (ys & 0xffff) - borrow; + borrow = (y & 0x10000) >> 16; + z = (*bx >> 16) - (zs & 0xffff) - borrow; + borrow = (z & 0x10000) >> 16; + Storeinc(bx, z, y); +#else + ys = *sx++ + carry; + carry = ys >> 16; + y = *bx - (ys & 0xffff) - borrow; + borrow = (y & 0x10000) >> 16; + *bx++ = y & 0xffff; +#endif +#endif + } while (sx <= sxe); + bx = b->x; + bxe = bx + n; + if (!*bxe) { + while (--bxe > bx && !*bxe) + --n; + b->wds = n; + } + } + return q; +} + +#ifndef MULTIPLE_THREADS +static char *dtoa_result; +#endif + +#ifndef MULTIPLE_THREADS +static char * +rv_alloc(int i) +{ + return dtoa_result = MALLOC(i); +} +#else +#define rv_alloc(i) MALLOC(i) +#endif + +static char * +nrv_alloc(const char *s, char **rve, size_t n) +{ + char *rv, *t; + + t = rv = rv_alloc(n); + while ((*t = *s++) != 0) t++; + if (rve) + *rve = t; + return rv; +} + +#define rv_strdup(s, rve) nrv_alloc((s), (rve), strlen(s)+1) + +#ifndef MULTIPLE_THREADS +/* freedtoa(s) must be used to free values s returned by dtoa + * when MULTIPLE_THREADS is #defined. It should be used in all cases, + * but for consistency with earlier versions of dtoa, it is optional + * when MULTIPLE_THREADS is not defined. + */ + +static void +freedtoa(char *s) +{ + FREE(s); +} +#endif + +static const char INFSTR[] = "Infinity"; +static const char NANSTR[] = "NaN"; +static const char ZEROSTR[] = "0"; + +/* dtoa for IEEE arithmetic (dmg): convert double to ASCII string. + * + * Inspired by "How to Print Floating-Point Numbers Accurately" by + * Guy L. Steele, Jr. and Jon L. White [Proc. ACM SIGPLAN '90, pp. 112-126]. + * + * Modifications: + * 1. Rather than iterating, we use a simple numeric overestimate + * to determine k = floor(log10(d)). We scale relevant + * quantities using O(log2(k)) rather than O(k) multiplications. + * 2. For some modes > 2 (corresponding to ecvt and fcvt), we don't + * try to generate digits strictly left to right. Instead, we + * compute with fewer bits and propagate the carry if necessary + * when rounding the final digit up. This is often faster. + * 3. Under the assumption that input will be rounded nearest, + * mode 0 renders 1e23 as 1e23 rather than 9.999999999999999e22. + * That is, we allow equality in stopping tests when the + * round-nearest rule will give the same floating-point value + * as would satisfaction of the stopping test with strict + * inequality. + * 4. We remove common factors of powers of 2 from relevant + * quantities. + * 5. When converting floating-point integers less than 1e16, + * we use floating-point arithmetic rather than resorting + * to multiple-precision integers. + * 6. When asked to produce fewer than 15 digits, we first try + * to get by with floating-point arithmetic; we resort to + * multiple-precision integer arithmetic only if we cannot + * guarantee that the floating-point calculation has given + * the correctly rounded result. For k requested digits and + * "uniformly" distributed input, the probability is + * something like 10^(k-15) that we must resort to the Long + * calculation. + */ + +char * +dtoa(double d_, int mode, int ndigits, int *decpt, int *sign, char **rve) +{ + /* Arguments ndigits, decpt, sign are similar to those + of ecvt and fcvt; trailing zeros are suppressed from + the returned string. If not null, *rve is set to point + to the end of the return value. If d is +-Infinity or NaN, + then *decpt is set to 9999. + + mode: + 0 ==> shortest string that yields d when read in + and rounded to nearest. + 1 ==> like 0, but with Steele & White stopping rule; + e.g. with IEEE P754 arithmetic , mode 0 gives + 1e23 whereas mode 1 gives 9.999999999999999e22. + 2 ==> max(1,ndigits) significant digits. This gives a + return value similar to that of ecvt, except + that trailing zeros are suppressed. + 3 ==> through ndigits past the decimal point. This + gives a return value similar to that from fcvt, + except that trailing zeros are suppressed, and + ndigits can be negative. + 4,5 ==> similar to 2 and 3, respectively, but (in + round-nearest mode) with the tests of mode 0 to + possibly return a shorter string that rounds to d. + With IEEE arithmetic and compilation with + -DHonor_FLT_ROUNDS, modes 4 and 5 behave the same + as modes 2 and 3 when FLT_ROUNDS != 1. + 6-9 ==> Debugging modes similar to mode - 4: don't try + fast floating-point estimate (if applicable). + + Values of mode other than 0-9 are treated as mode 0. + + Sufficient space is allocated to the return value + to hold the suppressed trailing zeros. + */ + + int bbits, b2, b5, be, dig, i, ieps, ilim, ilim0, ilim1, + j, j1, k, k0, k_check, leftright, m2, m5, s2, s5, + spec_case, try_quick, half = 0; + Long L; +#ifndef Sudden_Underflow + int denorm; + ULong x; +#endif + Bigint *b, *b1, *delta, *mlo = 0, *mhi = 0, *S; + double ds; + double_u d, d2, eps; + char *s, *s0; +#ifdef Honor_FLT_ROUNDS + int rounding; +#endif +#ifdef SET_INEXACT + int inexact, oldinexact; +#endif + + dval(d) = d_; + +#ifndef MULTIPLE_THREADS + if (dtoa_result) { + freedtoa(dtoa_result); + dtoa_result = 0; + } +#endif + + if (word0(d) & Sign_bit) { + /* set sign for everything, including 0's and NaNs */ + *sign = 1; + word0(d) &= ~Sign_bit; /* clear sign bit */ + } + else + *sign = 0; + +#if defined(IEEE_Arith) + defined(VAX) +#ifdef IEEE_Arith + if ((word0(d) & Exp_mask) == Exp_mask) +#else + if (word0(d) == 0x8000) +#endif + { + /* Infinity or NaN */ + *decpt = 9999; +#ifdef IEEE_Arith + if (!word1(d) && !(word0(d) & 0xfffff)) + return rv_strdup(INFSTR, rve); +#endif + return rv_strdup(NANSTR, rve); + } +#endif +#ifdef IBM + dval(d) += 0; /* normalize */ +#endif + if (!dval(d)) { + *decpt = 1; + return rv_strdup(ZEROSTR, rve); + } + +#ifdef SET_INEXACT + try_quick = oldinexact = get_inexact(); + inexact = 1; +#endif +#ifdef Honor_FLT_ROUNDS + if ((rounding = Flt_Rounds) >= 2) { + if (*sign) + rounding = rounding == 2 ? 0 : 2; + else + if (rounding != 2) + rounding = 0; + } +#endif + + b = d2b(dval(d), &be, &bbits); +#ifdef Sudden_Underflow + i = (int)(word0(d) >> Exp_shift1 & (Exp_mask>>Exp_shift1)); +#else + if ((i = (int)(word0(d) >> Exp_shift1 & (Exp_mask>>Exp_shift1))) != 0) { +#endif + dval(d2) = dval(d); + word0(d2) &= Frac_mask1; + word0(d2) |= Exp_11; +#ifdef IBM + if (j = 11 - hi0bits(word0(d2) & Frac_mask)) + dval(d2) /= 1 << j; +#endif + + /* log(x) ~=~ log(1.5) + (x-1.5)/1.5 + * log10(x) = log(x) / log(10) + * ~=~ log(1.5)/log(10) + (x-1.5)/(1.5*log(10)) + * log10(d) = (i-Bias)*log(2)/log(10) + log10(d2) + * + * This suggests computing an approximation k to log10(d) by + * + * k = (i - Bias)*0.301029995663981 + * + ( (d2-1.5)*0.289529654602168 + 0.176091259055681 ); + * + * We want k to be too large rather than too small. + * The error in the first-order Taylor series approximation + * is in our favor, so we just round up the constant enough + * to compensate for any error in the multiplication of + * (i - Bias) by 0.301029995663981; since |i - Bias| <= 1077, + * and 1077 * 0.30103 * 2^-52 ~=~ 7.2e-14, + * adding 1e-13 to the constant term more than suffices. + * Hence we adjust the constant term to 0.1760912590558. + * (We could get a more accurate k by invoking log10, + * but this is probably not worthwhile.) + */ + + i -= Bias; +#ifdef IBM + i <<= 2; + i += j; +#endif +#ifndef Sudden_Underflow + denorm = 0; + } + else { + /* d is denormalized */ + + i = bbits + be + (Bias + (P-1) - 1); + x = i > 32 ? word0(d) << (64 - i) | word1(d) >> (i - 32) + : word1(d) << (32 - i); + dval(d2) = x; + word0(d2) -= 31*Exp_msk1; /* adjust exponent */ + i -= (Bias + (P-1) - 1) + 1; + denorm = 1; + } +#endif + ds = (dval(d2)-1.5)*0.289529654602168 + 0.1760912590558 + i*0.301029995663981; + k = (int)ds; + if (ds < 0. && ds != k) + k--; /* want k = floor(ds) */ + k_check = 1; + if (k >= 0 && k <= Ten_pmax) { + if (dval(d) < tens[k]) + k--; + k_check = 0; + } + j = bbits - i - 1; + if (j >= 0) { + b2 = 0; + s2 = j; + } + else { + b2 = -j; + s2 = 0; + } + if (k >= 0) { + b5 = 0; + s5 = k; + s2 += k; + } + else { + b2 -= k; + b5 = -k; + s5 = 0; + } + if (mode < 0 || mode > 9) + mode = 0; + +#ifndef SET_INEXACT +#ifdef Check_FLT_ROUNDS + try_quick = Rounding == 1; +#else + try_quick = 1; +#endif +#endif /*SET_INEXACT*/ + + if (mode > 5) { + mode -= 4; + try_quick = 0; + } + leftright = 1; + ilim = ilim1 = -1; + switch (mode) { + case 0: + case 1: + i = 18; + ndigits = 0; + break; + case 2: + leftright = 0; + /* no break */ + case 4: + if (ndigits <= 0) + ndigits = 1; + ilim = ilim1 = i = ndigits; + break; + case 3: + leftright = 0; + /* no break */ + case 5: + i = ndigits + k + 1; + ilim = i; + ilim1 = i - 1; + if (i <= 0) + i = 1; + } + s = s0 = rv_alloc(i+1); + +#ifdef Honor_FLT_ROUNDS + if (mode > 1 && rounding != 1) + leftright = 0; +#endif + + if (ilim >= 0 && ilim <= Quick_max && try_quick) { + + /* Try to get by with floating-point arithmetic. */ + + i = 0; + dval(d2) = dval(d); + k0 = k; + ilim0 = ilim; + ieps = 2; /* conservative */ + if (k > 0) { + ds = tens[k&0xf]; + j = k >> 4; + if (j & Bletch) { + /* prevent overflows */ + j &= Bletch - 1; + dval(d) /= bigtens[n_bigtens-1]; + ieps++; + } + for (; j; j >>= 1, i++) + if (j & 1) { + ieps++; + ds *= bigtens[i]; + } + dval(d) /= ds; + } + else if ((j1 = -k) != 0) { + dval(d) *= tens[j1 & 0xf]; + for (j = j1 >> 4; j; j >>= 1, i++) + if (j & 1) { + ieps++; + dval(d) *= bigtens[i]; + } + } + if (k_check && dval(d) < 1. && ilim > 0) { + if (ilim1 <= 0) + goto fast_failed; + ilim = ilim1; + k--; + dval(d) *= 10.; + ieps++; + } + dval(eps) = ieps*dval(d) + 7.; + word0(eps) -= (P-1)*Exp_msk1; + if (ilim == 0) { + S = mhi = 0; + dval(d) -= 5.; + if (dval(d) > dval(eps)) + goto one_digit; + if (dval(d) < -dval(eps)) + goto no_digits; + goto fast_failed; + } +#ifndef No_leftright + if (leftright) { + /* Use Steele & White method of only + * generating digits needed. + */ + dval(eps) = 0.5/tens[ilim-1] - dval(eps); + for (i = 0;;) { + L = (int)dval(d); + dval(d) -= L; + *s++ = '0' + (int)L; + if (dval(d) < dval(eps)) + goto ret1; + if (1. - dval(d) < dval(eps)) + goto bump_up; + if (++i >= ilim) + break; + dval(eps) *= 10.; + dval(d) *= 10.; + } + } + else { +#endif + /* Generate ilim digits, then fix them up. */ + dval(eps) *= tens[ilim-1]; + for (i = 1;; i++, dval(d) *= 10.) { + L = (Long)(dval(d)); + if (!(dval(d) -= L)) + ilim = i; + *s++ = '0' + (int)L; + if (i == ilim) { + if (dval(d) > 0.5 + dval(eps)) + goto bump_up; + else if (dval(d) < 0.5 - dval(eps)) { + while (*--s == '0') ; + s++; + goto ret1; + } + half = 1; + if ((*(s-1) - '0') & 1) { + goto bump_up; + } + break; + } + } +#ifndef No_leftright + } +#endif +fast_failed: + s = s0; + dval(d) = dval(d2); + k = k0; + ilim = ilim0; + } + + /* Do we have a "small" integer? */ + + if (be >= 0 && k <= Int_max) { + /* Yes. */ + ds = tens[k]; + if (ndigits < 0 && ilim <= 0) { + S = mhi = 0; + if (ilim < 0 || dval(d) <= 5*ds) + goto no_digits; + goto one_digit; + } + for (i = 1;; i++, dval(d) *= 10.) { + L = (Long)(dval(d) / ds); + dval(d) -= L*ds; +#ifdef Check_FLT_ROUNDS + /* If FLT_ROUNDS == 2, L will usually be high by 1 */ + if (dval(d) < 0) { + L--; + dval(d) += ds; + } +#endif + *s++ = '0' + (int)L; + if (!dval(d)) { +#ifdef SET_INEXACT + inexact = 0; +#endif + break; + } + if (i == ilim) { +#ifdef Honor_FLT_ROUNDS + if (mode > 1) + switch (rounding) { + case 0: goto ret1; + case 2: goto bump_up; + } +#endif + dval(d) += dval(d); + if (dval(d) > ds || (dval(d) == ds && (L & 1))) { +bump_up: + while (*--s == '9') + if (s == s0) { + k++; + *s = '0'; + break; + } + ++*s++; + } + break; + } + } + goto ret1; + } + + m2 = b2; + m5 = b5; + if (leftright) { + i = +#ifndef Sudden_Underflow + denorm ? be + (Bias + (P-1) - 1 + 1) : +#endif +#ifdef IBM + 1 + 4*P - 3 - bbits + ((bbits + be - 1) & 3); +#else + 1 + P - bbits; +#endif + b2 += i; + s2 += i; + mhi = i2b(1); + } + if (m2 > 0 && s2 > 0) { + i = m2 < s2 ? m2 : s2; + b2 -= i; + m2 -= i; + s2 -= i; + } + if (b5 > 0) { + if (leftright) { + if (m5 > 0) { + mhi = pow5mult(mhi, m5); + b1 = mult(mhi, b); + Bfree(b); + b = b1; + } + if ((j = b5 - m5) != 0) + b = pow5mult(b, j); + } + else + b = pow5mult(b, b5); + } + S = i2b(1); + if (s5 > 0) + S = pow5mult(S, s5); + + /* Check for special case that d is a normalized power of 2. */ + + spec_case = 0; + if ((mode < 2 || leftright) +#ifdef Honor_FLT_ROUNDS + && rounding == 1 +#endif + ) { + if (!word1(d) && !(word0(d) & Bndry_mask) +#ifndef Sudden_Underflow + && word0(d) & (Exp_mask & ~Exp_msk1) +#endif + ) { + /* The special case */ + b2 += Log2P; + s2 += Log2P; + spec_case = 1; + } + } + + /* Arrange for convenient computation of quotients: + * shift left if necessary so divisor has 4 leading 0 bits. + * + * Perhaps we should just compute leading 28 bits of S once + * and for all and pass them and a shift to quorem, so it + * can do shifts and ors to compute the numerator for q. + */ +#ifdef Pack_32 + if ((i = ((s5 ? 32 - hi0bits(S->x[S->wds-1]) : 1) + s2) & 0x1f) != 0) + i = 32 - i; +#else + if ((i = ((s5 ? 32 - hi0bits(S->x[S->wds-1]) : 1) + s2) & 0xf) != 0) + i = 16 - i; +#endif + if (i > 4) { + i -= 4; + b2 += i; + m2 += i; + s2 += i; + } + else if (i < 4) { + i += 28; + b2 += i; + m2 += i; + s2 += i; + } + if (b2 > 0) + b = lshift(b, b2); + if (s2 > 0) + S = lshift(S, s2); + if (k_check) { + if (cmp(b,S) < 0) { + k--; + b = multadd(b, 10, 0); /* we botched the k estimate */ + if (leftright) + mhi = multadd(mhi, 10, 0); + ilim = ilim1; + } + } + if (ilim <= 0 && (mode == 3 || mode == 5)) { + if (ilim < 0 || cmp(b,S = multadd(S,5,0)) <= 0) { + /* no digits, fcvt style */ +no_digits: + k = -1 - ndigits; + goto ret; + } +one_digit: + *s++ = '1'; + k++; + goto ret; + } + if (leftright) { + if (m2 > 0) + mhi = lshift(mhi, m2); + + /* Compute mlo -- check for special case + * that d is a normalized power of 2. + */ + + mlo = mhi; + if (spec_case) { + mhi = Balloc(mhi->k); + Bcopy(mhi, mlo); + mhi = lshift(mhi, Log2P); + } + + for (i = 1;;i++) { + dig = quorem(b,S) + '0'; + /* Do we yet have the shortest decimal string + * that will round to d? + */ + j = cmp(b, mlo); + delta = diff(S, mhi); + j1 = delta->sign ? 1 : cmp(b, delta); + Bfree(delta); +#ifndef ROUND_BIASED + if (j1 == 0 && mode != 1 && !(word1(d) & 1) +#ifdef Honor_FLT_ROUNDS + && rounding >= 1 +#endif + ) { + if (dig == '9') + goto round_9_up; + if (j > 0) + dig++; +#ifdef SET_INEXACT + else if (!b->x[0] && b->wds <= 1) + inexact = 0; +#endif + *s++ = dig; + goto ret; + } +#endif + if (j < 0 || (j == 0 && mode != 1 +#ifndef ROUND_BIASED + && !(word1(d) & 1) +#endif + )) { + if (!b->x[0] && b->wds <= 1) { +#ifdef SET_INEXACT + inexact = 0; +#endif + goto accept_dig; + } +#ifdef Honor_FLT_ROUNDS + if (mode > 1) + switch (rounding) { + case 0: goto accept_dig; + case 2: goto keep_dig; + } +#endif /*Honor_FLT_ROUNDS*/ + if (j1 > 0) { + b = lshift(b, 1); + j1 = cmp(b, S); + if ((j1 > 0 || (j1 == 0 && (dig & 1))) && dig++ == '9') + goto round_9_up; + } +accept_dig: + *s++ = dig; + goto ret; + } + if (j1 > 0) { +#ifdef Honor_FLT_ROUNDS + if (!rounding) + goto accept_dig; +#endif + if (dig == '9') { /* possible if i == 1 */ +round_9_up: + *s++ = '9'; + goto roundoff; + } + *s++ = dig + 1; + goto ret; + } +#ifdef Honor_FLT_ROUNDS +keep_dig: +#endif + *s++ = dig; + if (i == ilim) + break; + b = multadd(b, 10, 0); + if (mlo == mhi) + mlo = mhi = multadd(mhi, 10, 0); + else { + mlo = multadd(mlo, 10, 0); + mhi = multadd(mhi, 10, 0); + } + } + } + else + for (i = 1;; i++) { + *s++ = dig = quorem(b,S) + '0'; + if (!b->x[0] && b->wds <= 1) { +#ifdef SET_INEXACT + inexact = 0; +#endif + goto ret; + } + if (i >= ilim) + break; + b = multadd(b, 10, 0); + } + + /* Round off last digit */ + +#ifdef Honor_FLT_ROUNDS + switch (rounding) { + case 0: goto trimzeros; + case 2: goto roundoff; + } +#endif + b = lshift(b, 1); + j = cmp(b, S); + if (j > 0 || (j == 0 && (dig & 1))) { + roundoff: + while (*--s == '9') + if (s == s0) { + k++; + *s++ = '1'; + goto ret; + } + if (!half || (*s - '0') & 1) + ++*s; + } + else { + while (*--s == '0') ; + } + s++; +ret: + Bfree(S); + if (mhi) { + if (mlo && mlo != mhi) + Bfree(mlo); + Bfree(mhi); + } +ret1: +#ifdef SET_INEXACT + if (inexact) { + if (!oldinexact) { + word0(d) = Exp_1 + (70 << Exp_shift); + word1(d) = 0; + dval(d) += 1.; + } + } + else if (!oldinexact) + clear_inexact(); +#endif + Bfree(b); + *s = 0; + *decpt = k + 1; + if (rve) + *rve = s; + return s0; +} + +/*- + * Copyright (c) 2004-2008 David Schultz + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#define DBL_MANH_SIZE 20 +#define DBL_MANL_SIZE 32 +#define DBL_ADJ (DBL_MAX_EXP - 2) +#define SIGFIGS ((DBL_MANT_DIG + 3) / 4 + 1) +#define dexp_get(u) ((int)(word0(u) >> Exp_shift) & ~Exp_msk1) +#define dexp_set(u,v) (word0(u) = (((int)(word0(u)) & ~Exp_mask) | ((v) << Exp_shift))) +#define dmanh_get(u) ((uint32_t)(word0(u) & Frac_mask)) +#define dmanl_get(u) ((uint32_t)word1(u)) + + +/* + * This procedure converts a double-precision number in IEEE format + * into a string of hexadecimal digits and an exponent of 2. Its + * behavior is bug-for-bug compatible with dtoa() in mode 2, with the + * following exceptions: + * + * - An ndigits < 0 causes it to use as many digits as necessary to + * represent the number exactly. + * - The additional xdigs argument should point to either the string + * "0123456789ABCDEF" or the string "0123456789abcdef", depending on + * which case is desired. + * - This routine does not repeat dtoa's mistake of setting decpt + * to 9999 in the case of an infinity or NaN. INT_MAX is used + * for this purpose instead. + * + * Note that the C99 standard does not specify what the leading digit + * should be for non-zero numbers. For instance, 0x1.3p3 is the same + * as 0x2.6p2 is the same as 0x4.cp3. This implementation always makes + * the leading digit a 1. This ensures that the exponent printed is the + * actual base-2 exponent, i.e., ilogb(d). + * + * Inputs: d, xdigs, ndigits + * Outputs: decpt, sign, rve + */ +char * +hdtoa(double d, const char *xdigs, int ndigits, int *decpt, int *sign, char **rve) +{ + U u; + char *s, *s0; + int bufsize; + uint32_t manh, manl; + + u.d = d; + if (word0(u) & Sign_bit) { + /* set sign for everything, including 0's and NaNs */ + *sign = 1; + word0(u) &= ~Sign_bit; /* clear sign bit */ + } + else + *sign = 0; + + if (isinf(d)) { /* FP_INFINITE */ + *decpt = INT_MAX; + return rv_strdup(INFSTR, rve); + } + else if (isnan(d)) { /* FP_NAN */ + *decpt = INT_MAX; + return rv_strdup(NANSTR, rve); + } + else if (d == 0.0) { /* FP_ZERO */ + *decpt = 1; + return rv_strdup(ZEROSTR, rve); + } + else if (dexp_get(u)) { /* FP_NORMAL */ + *decpt = dexp_get(u) - DBL_ADJ; + } + else { /* FP_SUBNORMAL */ + u.d *= 5.363123171977039e+154 /* 0x1p514 */; + *decpt = dexp_get(u) - (514 + DBL_ADJ); + } + + if (ndigits == 0) /* dtoa() compatibility */ + ndigits = 1; + + /* + * If ndigits < 0, we are expected to auto-size, so we allocate + * enough space for all the digits. + */ + bufsize = (ndigits > 0) ? ndigits : SIGFIGS; + s0 = rv_alloc(bufsize+1); + + /* Round to the desired number of digits. */ + if (SIGFIGS > ndigits && ndigits > 0) { + float redux = 1.0f; + int offset = 4 * ndigits + DBL_MAX_EXP - 4 - DBL_MANT_DIG; + dexp_set(u, offset); + u.d += redux; + u.d -= redux; + *decpt += dexp_get(u) - offset; + } + + manh = dmanh_get(u); + manl = dmanl_get(u); + *s0 = '1'; + for (s = s0 + 1; s < s0 + bufsize; s++) { + *s = xdigs[(manh >> (DBL_MANH_SIZE - 4)) & 0xf]; + manh = (manh << 4) | (manl >> (DBL_MANL_SIZE - 4)); + manl <<= 4; + } + + /* If ndigits < 0, we are expected to auto-size the precision. */ + if (ndigits < 0) { + for (ndigits = SIGFIGS; s0[ndigits - 1] == '0'; ndigits--) + ; + } + + s = s0 + ndigits; + *s = '\0'; + if (rve != NULL) + *rve = s; + return (s0); +} + +#ifdef __cplusplus +#if 0 +{ /* satisfy cc-mode */ +#endif +} +#endif diff --git a/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/ext/bigdecimal/static_assert.h b/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/ext/bigdecimal/static_assert.h new file mode 100644 index 0000000..9295729 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/ext/bigdecimal/static_assert.h @@ -0,0 +1,54 @@ +#ifndef BIGDECIMAL_STATIC_ASSERT_H +#define BIGDECIMAL_STATIC_ASSERT_H + +#include "feature.h" + +#ifdef HAVE_RUBY_INTERNAL_STATIC_ASSERT_H +# include +#endif + +#ifdef RBIMPL_STATIC_ASSERT +# define STATIC_ASSERT RBIMPL_STATIC_ASSERT +#endif + +#ifndef STATIC_ASSERT +# /* The following section is copied from CRuby's static_assert.h */ + +# if defined(__cplusplus) && defined(__cpp_static_assert) +# /* https://isocpp.org/std/standing-documents/sd-6-sg10-feature-test-recommendations */ +# define BIGDECIMAL_STATIC_ASSERT0 static_assert + +# elif defined(__cplusplus) && defined(_MSC_VER) && _MSC_VER >= 1600 +# define BIGDECIMAL_STATIC_ASSERT0 static_assert + +# elif defined(__INTEL_CXX11_MODE__) +# define BIGDECIMAL_STATIC_ASSERT0 static_assert + +# elif defined(__cplusplus) && __cplusplus >= 201103L +# define BIGDECIMAL_STATIC_ASSERT0 static_assert + +# elif defined(__cplusplus) && __has_extension(cxx_static_assert) +# define BIGDECIMAL_STATIC_ASSERT0 __extension__ static_assert + +# elif defined(__STDC_VERSION__) && __has_extension(c_static_assert) +# define BIGDECIMAL_STATIC_ASSERT0 __extension__ _Static_assert + +# elif defined(__STDC_VERSION__) && defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) +# define BIGDECIMAL_STATIC_ASSERT0 __extension__ _Static_assert +#endif + +# if defined(__DOXYGEN__) +# define STATIC_ASSERT static_assert + +# elif defined(BIGDECIMAL_STATIC_ASSERT0) +# define STATIC_ASSERT(name, expr) \ + BIGDECIMAL_STATIC_ASSERT0(expr, #name ": " #expr) + +# else +# define STATIC_ASSERT(name, expr) \ + typedef int static_assert_ ## name ## _check[1 - 2 * !(expr)] +# endif +#endif /* STATIC_ASSERT */ + + +#endif /* BIGDECIMAL_STATIC_ASSERT_H */ diff --git a/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/lib/bigdecimal.rb b/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/lib/bigdecimal.rb new file mode 100644 index 0000000..db03a17 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/lib/bigdecimal.rb @@ -0,0 +1,356 @@ +if RUBY_ENGINE == 'jruby' + JRuby::Util.load_ext("org.jruby.ext.bigdecimal.BigDecimalLibrary") + + class BigDecimal + def _decimal_shift(i) # :nodoc: + to_java.move_point_right(i).to_d + end + end +else + require 'bigdecimal.so' +end + +class BigDecimal + module Internal # :nodoc: + + # Coerce x to BigDecimal with the specified precision. + # TODO: some methods (example: BigMath.exp) require more precision than specified to coerce. + def self.coerce_to_bigdecimal(x, prec, method_name) # :nodoc: + case x + when BigDecimal + return x + when Integer, Float + return BigDecimal(x, 0) + when Rational + return BigDecimal(x, [prec, 2 * BigDecimal.double_fig].max) + end + raise ArgumentError, "#{x.inspect} can't be coerced into BigDecimal" + end + + def self.coerce_validate_prec(prec, method_name, accept_zero: false) # :nodoc: + unless Integer === prec + original = prec + # Emulate Integer.try_convert for ruby < 3.1 + if prec.respond_to?(:to_int) + prec = prec.to_int + else + raise TypeError, "no implicit conversion of #{original.class} into Integer" + end + raise TypeError, "can't convert #{original.class} to Integer" unless Integer === prec + end + + if accept_zero + raise ArgumentError, "Negative precision for #{method_name}" if prec < 0 + else + raise ArgumentError, "Zero or negative precision for #{method_name}" if prec <= 0 + end + prec + end + + def self.infinity_computation_result # :nodoc: + if BigDecimal.mode(BigDecimal::EXCEPTION_ALL).anybits?(BigDecimal::EXCEPTION_INFINITY) + raise FloatDomainError, "Computation results in 'Infinity'" + end + BigDecimal::INFINITY + end + + def self.nan_computation_result # :nodoc: + if BigDecimal.mode(BigDecimal::EXCEPTION_ALL).anybits?(BigDecimal::EXCEPTION_NaN) + raise FloatDomainError, "Computation results to 'NaN'" + end + BigDecimal::NAN + end + end + + # call-seq: + # self ** other -> bigdecimal + # + # Returns the \BigDecimal value of +self+ raised to power +other+: + # + # b = BigDecimal('3.14') + # b ** 2 # => 0.98596e1 + # b ** 2.0 # => 0.98596e1 + # b ** Rational(2, 1) # => 0.98596e1 + # + # Related: BigDecimal#power. + # + def **(y) + case y + when BigDecimal, Integer, Float, Rational + power(y) + when nil + raise TypeError, 'wrong argument type NilClass' + else + x, y = y.coerce(self) + x**y + end + end + + # call-seq: + # power(n) + # power(n, prec) + # + # Returns the value raised to the power of n. + # + # Also available as the operator **. + # + def power(y, prec = 0) + prec = Internal.coerce_validate_prec(prec, :power, accept_zero: true) + x = self + y = Internal.coerce_to_bigdecimal(y, prec.nonzero? || n_significant_digits, :power) + + return Internal.nan_computation_result if x.nan? || y.nan? + return BigDecimal(1) if y.zero? + + if y.infinite? + if x < 0 + return BigDecimal(0) if x < -1 && y.negative? + return BigDecimal(0) if x > -1 && y.positive? + raise Math::DomainError, 'Result undefined for negative base raised to infinite power' + elsif x < 1 + return y.positive? ? BigDecimal(0) : BigDecimal::Internal.infinity_computation_result + elsif x == 1 + return BigDecimal(1) + else + return y.positive? ? BigDecimal::Internal.infinity_computation_result : BigDecimal(0) + end + end + + if x.infinite? && y < 0 + # Computation result will be +0 or -0. Avoid overflow. + neg = x < 0 && y.frac.zero? && y % 2 == 1 + return neg ? -BigDecimal(0) : BigDecimal(0) + end + + if x.zero? + return BigDecimal(1) if y.zero? + return BigDecimal(0) if y > 0 + if y.frac.zero? && y % 2 == 1 && x.sign == -1 + return -BigDecimal::Internal.infinity_computation_result + else + return BigDecimal::Internal.infinity_computation_result + end + elsif x < 0 + if y.frac.zero? + if y % 2 == 0 + return (-x).power(y, prec) + else + return -(-x).power(y, prec) + end + else + raise Math::DomainError, 'Computation results in complex number' + end + elsif x == 1 + return BigDecimal(1) + end + + prec = BigDecimal.limit if prec.zero? + frac_part = y.frac + + if frac_part.zero? && prec.zero? + # Infinite precision calculation for `x ** int` and `x.power(int)` + int_part = y.fix.to_i + int_part = -int_part if (neg = int_part < 0) + ans = BigDecimal(1) + n = 1 + xn = x + while true + ans *= xn if int_part.allbits?(n) + n <<= 1 + break if n > int_part + xn *= xn + # Detect overflow/underflow before consuming infinite memory + if (xn.exponent.abs - 1) * int_part / n >= 0x7FFFFFFFFFFFFFFF + return ((xn.exponent > 0) ^ neg ? BigDecimal::Internal.infinity_computation_result : BigDecimal(0)) * (int_part.even? || x > 0 ? 1 : -1) + end + end + return neg ? BigDecimal(1) / ans : ans + end + + prec = [x.n_significant_digits, y.n_significant_digits, BigDecimal.double_fig].max + BigDecimal.double_fig if prec.zero? + + if y < 0 + inv = x.power(-y, prec) + return BigDecimal(0) if inv.infinite? + return BigDecimal::Internal.infinity_computation_result if inv.zero? + return BigDecimal(1).div(inv, prec) + end + + prec2 = prec + BigDecimal.double_fig + + if frac_part.zero? && y.exponent < Math.log(prec) * 5 + 20 + # Use exponentiation by squaring if y is an integer and not too large + pow_prec = prec2 + y.exponent + n = 1 + xn = x + ans = BigDecimal(1) + int_part = y.fix.to_i + while true + ans = ans.mult(xn, pow_prec) if int_part.allbits?(n) + n <<= 1 + break if n > int_part + xn = xn.mult(xn, pow_prec) + end + ans.mult(1, prec) + else + if x > 1 + # To calculate exp(z, prec), z needs prec+max(z.exponent, 0) precision if z > 0. + # Estimate (y*log(x)).exponent + logx_exponent = x < 2 ? (x - 1).exponent : Math.log10(x.exponent).round + ylogx_exponent = y.exponent + logx_exponent + prec2 += [ylogx_exponent, 0].max + end + BigMath.exp(BigMath.log(x, prec2).mult(y, prec2), prec) + end + end + + # Returns the square root of the value. + # + # Result has at least prec significant digits. + # + def sqrt(prec) + prec = Internal.coerce_validate_prec(prec, :sqrt, accept_zero: true) + return Internal.infinity_computation_result if infinite? == 1 + + raise FloatDomainError, 'sqrt of negative value' if self < 0 + raise FloatDomainError, "sqrt of 'NaN'(Not a Number)" if nan? + return self if zero? + + if prec == 0 + prec = BigDecimal.limit.nonzero? || n_significant_digits + BigDecimal.double_fig + end + + ex = exponent / 2 + x = _decimal_shift(-2 * ex) + y = BigDecimal(Math.sqrt(x.to_f), 0) + precs = [prec + BigDecimal.double_fig] + precs << 2 + precs.last / 2 while precs.last > BigDecimal.double_fig + precs.reverse_each do |p| + y = y.add(x.div(y, p), p).div(2, p) + end + y._decimal_shift(ex).mult(1, prec) + end +end + +# Core BigMath methods for BigDecimal (log, exp) are defined here. +# Other methods (sin, cos, atan) are defined in 'bigdecimal/math.rb'. +module BigMath + + # call-seq: + # BigMath.log(decimal, numeric) -> BigDecimal + # + # Computes the natural logarithm of +decimal+ to the specified number of + # digits of precision, +numeric+. + # + # If +decimal+ is zero or negative, raises Math::DomainError. + # + # If +decimal+ is positive infinity, returns Infinity. + # + # If +decimal+ is NaN, returns NaN. + # + def self.log(x, prec) + prec = BigDecimal::Internal.coerce_validate_prec(prec, :log) + raise Math::DomainError, 'Complex argument for BigMath.log' if Complex === x + + x = BigDecimal::Internal.coerce_to_bigdecimal(x, prec, :log) + return BigDecimal::Internal.nan_computation_result if x.nan? + raise Math::DomainError, 'Negative argument for log' if x < 0 + return -BigDecimal::Internal.infinity_computation_result if x.zero? + return BigDecimal::Internal.infinity_computation_result if x.infinite? + return BigDecimal(0) if x == 1 + + prec2 = prec + BigDecimal.double_fig + BigDecimal.save_limit do + BigDecimal.limit(0) + if x > 10 || x < 0.1 + log10 = log(BigDecimal(10), prec2) + exponent = x.exponent + x = x._decimal_shift(-exponent) + if x < 0.3 + x *= 10 + exponent -= 1 + end + return (log10 * exponent).add(log(x, prec2), prec) + end + + x_minus_one_exponent = (x - 1).exponent + + # log(x) = log(sqrt(sqrt(sqrt(sqrt(x))))) * 2**sqrt_steps + sqrt_steps = [Integer.sqrt(prec2) + 3 * x_minus_one_exponent, 0].max + + lg2 = 0.3010299956639812 + sqrt_prec = prec2 + [-x_minus_one_exponent, 0].max + (sqrt_steps * lg2).ceil + + sqrt_steps.times do + x = x.sqrt(sqrt_prec) + end + + # Taylor series for log(x) around 1 + # log(x) = -log((1 + X) / (1 - X)) where X = (x - 1) / (x + 1) + # log(x) = 2 * (X + X**3 / 3 + X**5 / 5 + X**7 / 7 + ...) + x = (x - 1).div(x + 1, sqrt_prec) + y = x + x2 = x.mult(x, prec2) + 1.step do |i| + n = prec2 + x.exponent - y.exponent + x2.exponent + break if n <= 0 || x.zero? + x = x.mult(x2.round(n - x2.exponent), n) + y = y.add(x.div(2 * i + 1, n), prec2) + end + + y.mult(2 ** (sqrt_steps + 1), prec) + end + end + + # Taylor series for exp(x) around 0 + private_class_method def self._exp_taylor(x, prec) # :nodoc: + xn = BigDecimal(1) + y = BigDecimal(1) + 1.step do |i| + n = prec + xn.exponent + break if n <= 0 || xn.zero? + xn = xn.mult(x, n).div(i, n) + y = y.add(xn, prec) + end + y + end + + # call-seq: + # BigMath.exp(decimal, numeric) -> BigDecimal + # + # Computes the value of e (the base of natural logarithms) raised to the + # power of +decimal+, to the specified number of digits of precision. + # + # If +decimal+ is infinity, returns Infinity. + # + # If +decimal+ is NaN, returns NaN. + # + def self.exp(x, prec) + prec = BigDecimal::Internal.coerce_validate_prec(prec, :exp) + x = BigDecimal::Internal.coerce_to_bigdecimal(x, prec, :exp) + return BigDecimal::Internal.nan_computation_result if x.nan? + return x.positive? ? BigDecimal::Internal.infinity_computation_result : BigDecimal(0) if x.infinite? + return BigDecimal(1) if x.zero? + + # exp(x * 10**cnt) = exp(x)**(10**cnt) + cnt = x < -1 || x > 1 ? x.exponent : 0 + prec2 = prec + BigDecimal.double_fig + cnt + x = x._decimal_shift(-cnt) + + # Calculation of exp(small_prec) is fast because calculation of x**n is fast + # Calculation of exp(small_abs) converges fast. + # exp(x) = exp(small_prec_part + small_abs_part) = exp(small_prec_part) * exp(small_abs_part) + x_small_prec = x.round(Integer.sqrt(prec2)) + y = _exp_taylor(x_small_prec, prec2).mult(_exp_taylor(x.sub(x_small_prec, prec2), prec2), prec2) + + # calculate exp(x * 10**cnt) from exp(x) + # exp(x * 10**k) = exp(x * 10**(k - 1)) ** 10 + cnt.times do + y2 = y.mult(y, prec2) + y5 = y2.mult(y2, prec2).mult(y, prec2) + y = y5.mult(y5, prec2) + end + + y.mult(1, prec) + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/lib/bigdecimal.so b/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/lib/bigdecimal.so new file mode 100755 index 0000000000000000000000000000000000000000..78e85780ecdbc52a40c106b7524434fd1fc4d61d GIT binary patch literal 432024 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 +=bD}Tl`mb5&X}z02 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 do + deriv = [] + nRetry += 1 + if nRetry > 100 + raise "Singular Jacobian matrix. No change at x[" + i.to_s + "]" + end + dx = dx*f.two + x[i] += dx + fxNew = f.values(x) + for j in 0...n do + if !isEqual(fxNew[j],fx[j],f.zero,f.eps) then + ok += 1 + deriv <<= (fxNew[j]-fx[j])/dx + else + deriv <<= f.zero + end + end + x[i] = xSave + end + deriv + end + + # Computes the Jacobian of +f+ at +x+. +fx+ is the value of +f+ at +x+. + def jacobian(f,fx,x) + n = x.size + dfdx = Array.new(n*n) + for i in 0...n do + df = dfdxi(f,fx,x,i) + for j in 0...n do + dfdx[j*n+i] = df[j] + end + end + dfdx + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/lib/bigdecimal/ludcmp.rb b/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/lib/bigdecimal/ludcmp.rb new file mode 100644 index 0000000..dd265e4 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/lib/bigdecimal/ludcmp.rb @@ -0,0 +1,89 @@ +# frozen_string_literal: false +require 'bigdecimal' + +# +# Solves a*x = b for x, using LU decomposition. +# +module LUSolve + module_function + + # Performs LU decomposition of the n by n matrix a. + def ludecomp(a,n,zero=0,one=1) + prec = BigDecimal.limit(nil) + ps = [] + scales = [] + for i in 0...n do # pick up largest(abs. val.) element in each row. + ps <<= i + nrmrow = zero + ixn = i*n + for j in 0...n do + biggst = a[ixn+j].abs + nrmrow = biggst if biggst>nrmrow + end + if nrmrow>zero then + scales <<= one.div(nrmrow,prec) + else + raise "Singular matrix" + end + end + n1 = n - 1 + for k in 0...n1 do # Gaussian elimination with partial pivoting. + biggst = zero; + for i in k...n do + size = a[ps[i]*n+k].abs*scales[ps[i]] + if size>biggst then + biggst = size + pividx = i + end + end + raise "Singular matrix" if biggst<=zero + if pividx!=k then + j = ps[k] + ps[k] = ps[pividx] + ps[pividx] = j + end + pivot = a[ps[k]*n+k] + for i in (k+1)...n do + psin = ps[i]*n + a[psin+k] = mult = a[psin+k].div(pivot,prec) + if mult!=zero then + pskn = ps[k]*n + for j in (k+1)...n do + a[psin+j] -= mult.mult(a[pskn+j],prec) + end + end + end + end + raise "Singular matrix" if a[ps[n1]*n+n1] == zero + ps + end + + # Solves a*x = b for x, using LU decomposition. + # + # a is a matrix, b is a constant vector, x is the solution vector. + # + # ps is the pivot, a vector which indicates the permutation of rows performed + # during LU decomposition. + def lusolve(a,b,ps,zero=0.0) + prec = BigDecimal.limit(nil) + n = ps.size + x = [] + for i in 0...n do + dot = zero + psin = ps[i]*n + for j in 0...i do + dot = a[psin+j].mult(x[j],prec) + dot + end + x <<= b[ps[i]] - dot + end + (n-1).downto(0) do |i| + dot = zero + psin = ps[i]*n + for j in (i+1)...n do + dot = a[psin+j].mult(x[j],prec) + dot + end + x[i] = (x[i]-dot).div(a[psin+i],prec) + end + x + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/lib/bigdecimal/math.rb b/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/lib/bigdecimal/math.rb new file mode 100644 index 0000000..d2d2e68 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/lib/bigdecimal/math.rb @@ -0,0 +1,249 @@ +# frozen_string_literal: false +require 'bigdecimal' + +# +#-- +# Contents: +# sqrt(x, prec) +# sin (x, prec) +# cos (x, prec) +# tan (x, prec) +# atan(x, prec) +# PI (prec) +# E (prec) == exp(1.0,prec) +# +# where: +# x ... BigDecimal number to be computed. +# prec ... Number of digits to be obtained. +#++ +# +# Provides mathematical functions. +# +# Example: +# +# require "bigdecimal/math" +# +# include BigMath +# +# a = BigDecimal((PI(49)/2).to_s) +# puts sin(a,100) # => 0.9999999999...9999999986e0 +# +module BigMath + module_function + + # call-seq: + # sqrt(decimal, numeric) -> BigDecimal + # + # Computes the square root of +decimal+ to the specified number of digits of + # precision, +numeric+. + # + # BigMath.sqrt(BigDecimal('2'), 32).to_s + # #=> "0.14142135623730950488016887242097e1" + # + def sqrt(x, prec) + prec = BigDecimal::Internal.coerce_validate_prec(prec, :sqrt) + x = BigDecimal::Internal.coerce_to_bigdecimal(x, prec, :sqrt) + x.sqrt(prec) + end + + + # Returns [sign, reduced_x] where reduced_x is in -pi/2..pi/2 + # and satisfies sin(x) = sign * sin(reduced_x) + # If add_half_pi is true, adds pi/2 to x before reduction. + # Precision of pi is adjusted to ensure reduced_x has the required precision. + private_class_method def _sin_periodic_reduction(x, prec, add_half_pi: false) # :nodoc: + return [1, x] if -Math::PI/2 <= x && x <= Math::PI/2 && !add_half_pi + + mod_prec = prec + BigDecimal.double_fig + pi_extra_prec = [x.exponent, 0].max + BigDecimal.double_fig + while true + pi = PI(mod_prec + pi_extra_prec) + half_pi = pi / 2 + div, mod = (add_half_pi ? x + pi : x + half_pi).divmod(pi) + mod -= half_pi + if mod.zero? || mod_prec + mod.exponent <= 0 + # mod is too small to estimate required pi precision + mod_prec = mod_prec * 3 / 2 + BigDecimal.double_fig + elsif mod_prec + mod.exponent < prec + # Estimate required precision of pi + mod_prec = prec - mod.exponent + BigDecimal.double_fig + else + return [div % 2 == 0 ? 1 : -1, mod.mult(1, prec)] + end + end + end + + # call-seq: + # sin(decimal, numeric) -> BigDecimal + # + # Computes the sine of +decimal+ to the specified number of digits of + # precision, +numeric+. + # + # If +decimal+ is Infinity or NaN, returns NaN. + # + # BigMath.sin(BigMath.PI(5)/4, 32).to_s + # #=> "0.70710807985947359435812921837984e0" + # + def sin(x, prec) + prec = BigDecimal::Internal.coerce_validate_prec(prec, :sin) + x = BigDecimal::Internal.coerce_to_bigdecimal(x, prec, :sin) + return BigDecimal::Internal.nan_computation_result if x.infinite? || x.nan? + n = prec + BigDecimal.double_fig + one = BigDecimal("1") + two = BigDecimal("2") + sign, x = _sin_periodic_reduction(x, n) + x1 = x + x2 = x.mult(x,n) + y = x + d = y + i = one + z = one + while d.nonzero? && ((m = n - (y.exponent - d.exponent).abs) > 0) + m = BigDecimal.double_fig if m < BigDecimal.double_fig + x1 = -x2.mult(x1,n) + i += two + z *= (i-one) * i + d = x1.div(z,m) + y += d + end + y = BigDecimal("1") if y > 1 + y.mult(sign, prec) + end + + # call-seq: + # cos(decimal, numeric) -> BigDecimal + # + # Computes the cosine of +decimal+ to the specified number of digits of + # precision, +numeric+. + # + # If +decimal+ is Infinity or NaN, returns NaN. + # + # BigMath.cos(BigMath.PI(16), 32).to_s + # #=> "-0.99999999999999999999999999999997e0" + # + def cos(x, prec) + prec = BigDecimal::Internal.coerce_validate_prec(prec, :cos) + x = BigDecimal::Internal.coerce_to_bigdecimal(x, prec, :cos) + return BigDecimal::Internal.nan_computation_result if x.infinite? || x.nan? + sign, x = _sin_periodic_reduction(x, prec + BigDecimal.double_fig, add_half_pi: true) + sign * sin(x, prec) + end + + # call-seq: + # tan(decimal, numeric) -> BigDecimal + # + # Computes the tangent of +decimal+ to the specified number of digits of + # precision, +numeric+. + # + # If +decimal+ is Infinity or NaN, returns NaN. + # + # BigMath.tan(BigDecimal("0.0"), 4).to_s + # #=> "0.0" + # + # BigMath.tan(BigMath.PI(24) / 4, 32).to_s + # #=> "0.99999999999999999999999830836025e0" + # + def tan(x, prec) + prec = BigDecimal::Internal.coerce_validate_prec(prec, :tan) + sin(x, prec + BigDecimal.double_fig).div(cos(x, prec + BigDecimal.double_fig), prec) + end + + # call-seq: + # atan(decimal, numeric) -> BigDecimal + # + # Computes the arctangent of +decimal+ to the specified number of digits of + # precision, +numeric+. + # + # If +decimal+ is NaN, returns NaN. + # + # BigMath.atan(BigDecimal('-1'), 32).to_s + # #=> "-0.78539816339744830961566084581988e0" + # + def atan(x, prec) + prec = BigDecimal::Internal.coerce_validate_prec(prec, :atan) + x = BigDecimal::Internal.coerce_to_bigdecimal(x, prec, :atan) + return BigDecimal::Internal.nan_computation_result if x.nan? + n = prec + BigDecimal.double_fig + pi = PI(n) + x = -x if neg = x < 0 + return pi.div(neg ? -2 : 2, prec) if x.infinite? + return pi.div(neg ? -4 : 4, prec) if x.round(prec) == 1 + x = BigDecimal("1").div(x, n) if inv = x > 1 + x = (-1 + sqrt(1 + x.mult(x, n), n)).div(x, n) if dbl = x > 0.5 + y = x + d = y + t = x + r = BigDecimal("3") + x2 = x.mult(x,n) + while d.nonzero? && ((m = n - (y.exponent - d.exponent).abs) > 0) + m = BigDecimal.double_fig if m < BigDecimal.double_fig + t = -t.mult(x2,n) + d = t.div(r,m) + y += d + r += 2 + end + y *= 2 if dbl + y = pi / 2 - y if inv + y = -y if neg + y.mult(1, prec) + end + + # call-seq: + # PI(numeric) -> BigDecimal + # + # Computes the value of pi to the specified number of digits of precision, + # +numeric+. + # + # BigMath.PI(32).to_s + # #=> "0.31415926535897932384626433832795e1" + # + def PI(prec) + prec = BigDecimal::Internal.coerce_validate_prec(prec, :PI) + n = prec + BigDecimal.double_fig + zero = BigDecimal("0") + one = BigDecimal("1") + two = BigDecimal("2") + + m25 = BigDecimal("-0.04") + m57121 = BigDecimal("-57121") + + pi = zero + + d = one + k = one + t = BigDecimal("-80") + while d.nonzero? && ((m = n - (pi.exponent - d.exponent).abs) > 0) + m = BigDecimal.double_fig if m < BigDecimal.double_fig + t = t*m25 + d = t.div(k,m) + k = k+two + pi = pi + d + end + + d = one + k = one + t = BigDecimal("956") + while d.nonzero? && ((m = n - (pi.exponent - d.exponent).abs) > 0) + m = BigDecimal.double_fig if m < BigDecimal.double_fig + t = t.div(m57121,n) + d = t.div(k,m) + pi = pi + d + k = k+two + end + pi.mult(1, prec) + end + + # call-seq: + # E(numeric) -> BigDecimal + # + # Computes e (the base of natural logarithms) to the specified number of + # digits of precision, +numeric+. + # + # BigMath.E(32).to_s + # #=> "0.27182818284590452353602874713527e1" + # + def E(prec) + prec = BigDecimal::Internal.coerce_validate_prec(prec, :E) + BigMath.exp(1, prec) + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/lib/bigdecimal/newton.rb b/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/lib/bigdecimal/newton.rb new file mode 100644 index 0000000..85bacb7 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/lib/bigdecimal/newton.rb @@ -0,0 +1,80 @@ +# frozen_string_literal: false +require "bigdecimal/ludcmp" +require "bigdecimal/jacobian" + +# +# newton.rb +# +# Solves the nonlinear algebraic equation system f = 0 by Newton's method. +# This program is not dependent on BigDecimal. +# +# To call: +# n = nlsolve(f,x) +# where n is the number of iterations required, +# x is the initial value vector +# f is an Object which is used to compute the values of the equations to be solved. +# It must provide the following methods: +# +# f.values(x):: returns the values of all functions at x +# +# f.zero:: returns 0.0 +# f.one:: returns 1.0 +# f.two:: returns 2.0 +# f.ten:: returns 10.0 +# +# f.eps:: returns the convergence criterion (epsilon value) used to determine whether two values are considered equal. If |a-b| < epsilon, the two values are considered equal. +# +# On exit, x is the solution vector. +# +module Newton + include LUSolve + include Jacobian + module_function + + def norm(fv,zero=0.0) # :nodoc: + s = zero + n = fv.size + for i in 0...n do + s += fv[i]*fv[i] + end + s + end + + # See also Newton + def nlsolve(f,x) + nRetry = 0 + n = x.size + + f0 = f.values(x) + zero = f.zero + one = f.one + two = f.two + p5 = one/two + d = norm(f0,zero) + minfact = f.ten*f.ten*f.ten + minfact = one/minfact + e = f.eps + while d >= e do + nRetry += 1 + # Not yet converged. => Compute Jacobian matrix + dfdx = jacobian(f,f0,x) + # Solve dfdx*dx = -f0 to estimate dx + dx = lusolve(dfdx,f0,ludecomp(dfdx,n,zero,one),zero) + fact = two + xs = x.dup + begin + fact *= p5 + if fact < minfact then + raise "Failed to reduce function values." + end + for i in 0...n do + x[i] = xs[i] - dx[i]*fact + end + f0 = f.values(x) + dn = norm(f0,zero) + end while(dn>=d) + d = dn + end + nRetry + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/lib/bigdecimal/util.rb b/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/lib/bigdecimal/util.rb new file mode 100644 index 0000000..7c5f32e --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/lib/bigdecimal/util.rb @@ -0,0 +1,186 @@ +# frozen_string_literal: false +# +#-- +# bigdecimal/util extends various native classes to provide the #to_d method, +# and provides BigDecimal#to_d and BigDecimal#to_digits. +#++ + +require 'bigdecimal' + +class Integer < Numeric + # call-seq: + # int.to_d -> bigdecimal + # + # Returns the value of +int+ as a BigDecimal. + # + # require 'bigdecimal' + # require 'bigdecimal/util' + # + # 42.to_d # => 0.42e2 + # + # See also Kernel.BigDecimal. + # + def to_d + BigDecimal(self) + end +end + + +class Float < Numeric + # call-seq: + # float.to_d -> bigdecimal + # float.to_d(precision) -> bigdecimal + # + # Returns the value of +float+ as a BigDecimal. + # The +precision+ parameter is used to determine the number of + # significant digits for the result. When +precision+ is set to +0+, + # the number of digits to represent the float being converted is determined + # automatically. + # The default +precision+ is +0+. + # + # require 'bigdecimal' + # require 'bigdecimal/util' + # + # 0.5.to_d # => 0.5e0 + # 1.234.to_d # => 0.1234e1 + # 1.234.to_d(2) # => 0.12e1 + # + # See also Kernel.BigDecimal. + # + def to_d(precision=0) + BigDecimal(self, precision) + end +end + + +class String + # call-seq: + # str.to_d -> bigdecimal + # + # Returns the result of interpreting leading characters in +str+ + # as a BigDecimal. + # + # require 'bigdecimal' + # require 'bigdecimal/util' + # + # "0.5".to_d # => 0.5e0 + # "123.45e1".to_d # => 0.12345e4 + # "45.67 degrees".to_d # => 0.4567e2 + # + # See also Kernel.BigDecimal. + # + def to_d + BigDecimal.interpret_loosely(self) + end +end + + +class BigDecimal < Numeric + # call-seq: + # a.to_digits -> string + # + # Converts a BigDecimal to a String of the form "nnnnnn.mmm". + # This method is deprecated; use BigDecimal#to_s("F") instead. + # + # require 'bigdecimal/util' + # + # d = BigDecimal("3.14") + # d.to_digits # => "3.14" + # + def to_digits + if self.nan? || self.infinite? || self.zero? + self.to_s + else + i = self.to_i.to_s + _,f,_,z = self.frac.split + i + "." + ("0"*(-z)) + f + end + end + + # call-seq: + # a.to_d -> bigdecimal + # + # Returns self. + # + # require 'bigdecimal/util' + # + # d = BigDecimal("3.14") + # d.to_d # => 0.314e1 + # + def to_d + self + end +end + + +class Rational < Numeric + # call-seq: + # rat.to_d(precision) -> bigdecimal + # + # Returns the value as a BigDecimal. + # + # The +precision+ parameter is used to determine the number of + # significant digits for the result. When +precision+ is set to +0+, + # the number of digits to represent the float being converted is determined + # automatically. + # The default +precision+ is +0+. + # + # require 'bigdecimal' + # require 'bigdecimal/util' + # + # Rational(22, 7).to_d(3) # => 0.314e1 + # + # See also Kernel.BigDecimal. + # + def to_d(precision=0) + BigDecimal(self, precision) + end +end + + +class Complex < Numeric + # call-seq: + # cmp.to_d -> bigdecimal + # cmp.to_d(precision) -> bigdecimal + # + # Returns the value as a BigDecimal. + # If the imaginary part is not +0+, an error is raised + # + # The +precision+ parameter is used to determine the number of + # significant digits for the result. When +precision+ is set to +0+, + # the number of digits to represent the float being converted is determined + # automatically. + # The default +precision+ is +0+. + # + # require 'bigdecimal' + # require 'bigdecimal/util' + # + # Complex(0.1234567, 0).to_d(4) # => 0.1235e0 + # Complex(Rational(22, 7), 0).to_d(3) # => 0.314e1 + # Complex(1, 1).to_d # raises ArgumentError + # + # See also Kernel.BigDecimal. + # + def to_d(precision=0) + BigDecimal(self) unless self.imag.zero? # to raise error + + BigDecimal(self.real, precision) + end +end + + +class NilClass + # call-seq: + # nil.to_d -> bigdecimal + # + # Returns nil represented as a BigDecimal. + # + # require 'bigdecimal' + # require 'bigdecimal/util' + # + # nil.to_d # => 0.0 + # + def to_d + BigDecimal(0) + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/sample/linear.rb b/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/sample/linear.rb new file mode 100644 index 0000000..516c247 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/sample/linear.rb @@ -0,0 +1,74 @@ +#!/usr/local/bin/ruby +# frozen_string_literal: false + +# +# linear.rb +# +# Solves linear equation system(A*x = b) by LU decomposition method. +# where A is a coefficient matrix,x is an answer vector,b is a constant vector. +# +# USAGE: +# ruby linear.rb [input file solved] +# + +# :stopdoc: +require "bigdecimal" +require "bigdecimal/ludcmp" + +# +# NOTE: +# Change following BigDecimal.limit() if needed. +BigDecimal.limit(100) +# + +include LUSolve +def rd_order(na) + printf("Number of equations ?") if(na <= 0) + n = ARGF.gets().to_i +end + +na = ARGV.size +zero = BigDecimal("0.0") +one = BigDecimal("1.0") + +while (n=rd_order(na))>0 + a = [] + as= [] + b = [] + if na <= 0 + # Read data from console. + printf("\nEnter coefficient matrix element A[i,j]\n") + for i in 0...n do + for j in 0...n do + printf("A[%d,%d]? ",i,j); s = ARGF.gets + a << BigDecimal(s) + as << BigDecimal(s) + end + printf("Contatant vector element b[%d] ? ",i) + b << BigDecimal(ARGF.gets) + end + else + # Read data from specified file. + printf("Coefficient matrix and constant vector.\n") + for i in 0...n do + s = ARGF.gets + printf("%d) %s",i,s) + s = s.split + for j in 0...n do + a << BigDecimal(s[j]) + as << BigDecimal(s[j]) + end + b << BigDecimal(s[n]) + end + end + x = lusolve(a,b,ludecomp(a,n,zero,one),zero) + printf("Answer(x[i] & (A*x-b)[i]) follows\n") + for i in 0...n do + printf("x[%d]=%s ",i,x[i].to_s) + s = zero + for j in 0...n do + s = s + as[i*n+j]*x[j] + end + printf(" & %s\n",(s-b[i]).to_s) + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/sample/nlsolve.rb b/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/sample/nlsolve.rb new file mode 100644 index 0000000..c2227da --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/sample/nlsolve.rb @@ -0,0 +1,40 @@ +#!/usr/local/bin/ruby +# frozen_string_literal: false + +# +# nlsolve.rb +# An example for solving nonlinear algebraic equation system. +# + +require "bigdecimal" +require "bigdecimal/newton" +include Newton + +class Function # :nodoc: all + def initialize() + @zero = BigDecimal("0.0") + @one = BigDecimal("1.0") + @two = BigDecimal("2.0") + @ten = BigDecimal("10.0") + @eps = BigDecimal("1.0e-16") + end + def zero;@zero;end + def one ;@one ;end + def two ;@two ;end + def ten ;@ten ;end + def eps ;@eps ;end + def values(x) # <= defines functions solved + f = [] + f1 = x[0]*x[0] + x[1]*x[1] - @two # f1 = x**2 + y**2 - 2 => 0 + f2 = x[0] - x[1] # f2 = x - y => 0 + f <<= f1 + f <<= f2 + f + end +end + +f = BigDecimal.limit(100) +f = Function.new +x = [f.zero,f.zero] # Initial values +n = nlsolve(f,x) +p x diff --git a/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/sample/pi.rb b/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/sample/pi.rb new file mode 100644 index 0000000..ea96638 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/bigdecimal-3.3.1/sample/pi.rb @@ -0,0 +1,21 @@ +#!/usr/local/bin/ruby +# frozen_string_literal: false + +# +# pi.rb +# +# Calculates 3.1415.... (the number of times that a circle's diameter +# will fit around the circle) using J. Machin's formula. +# + +require "bigdecimal" +require "bigdecimal/math.rb" + +include BigMath + +if ARGV.size == 1 + print "PI("+ARGV[0]+"):\n" + p PI(ARGV[0].to_i) +else + print "TRY: ruby pi.rb 1000 \n" +end diff --git a/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/LICENSE.txt b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/LICENSE.txt new file mode 100644 index 0000000..07b1b7f --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/LICENSE.txt @@ -0,0 +1,33 @@ +Copyright (C) 2005-2016 James Edward Gray II. All rights reserved. +Copyright (C) 2007-2017 Yukihiro Matsumoto. All rights reserved. +Copyright (C) 2017 SHIBATA Hiroshi. All rights reserved. +Copyright (C) 2017 Olivier Lacan. All rights reserved. +Copyright (C) 2017 Espartaco Palma. All rights reserved. +Copyright (C) 2017 Marcus Stollsteimer. All rights reserved. +Copyright (C) 2017 pavel. All rights reserved. +Copyright (C) 2017-2018 Steven Daniels. All rights reserved. +Copyright (C) 2018 Tomohiro Ogoke. All rights reserved. +Copyright (C) 2018 Kouhei Sutou. All rights reserved. +Copyright (C) 2018 Mitsutaka Mimura. All rights reserved. +Copyright (C) 2018 Vladislav. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the +documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. diff --git a/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/NEWS.md b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/NEWS.md new file mode 100644 index 0000000..58e4432 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/NEWS.md @@ -0,0 +1,1009 @@ +# News + +## 3.3.5 - 2025-06-01 + +### Improvements + + * docs: Fixed `StringScanner` document URL. + * GH-343 + * Patch by Petrik de Heus + +### Thanks + + * Petrik de Heus + +## 3.3.4 - 2025-04-13 + +### Improvements + + * `csv-filter`: Removed an experimental command line tool. + * GH-341 + +## 3.3.3 - 2025-03-20 + +### Improvements + + * `csv-filter`: Added an experimental command line tool to filter a CSV. + * Patch by Burdette Lamar + +### Fixes + + * Fixed wrong EOF detection for `ARGF` + * GH-328 + * Reported by Takeshi Nishimatsu + + * Fixed a regression bug that `CSV.open` rejects integer mode. + * GH-336 + * Reported by Dave Burgess + +### Thanks + + * Takeshi Nishimatsu + + * Burdette Lamar + + * Dave Burgess + +## 3.3.2 - 2024-12-21 + +### Fixes + + * Fixed a parse bug with a quoted line with `col_sep` and an empty + line. This was introduced in 3.3.1. + * GH-324 + * Reported by stoodfarback + +### Thanks + + * stoodfarback + +## 3.3.1 - 2024-12-15 + +### Improvements + + * `CSV.open`: Changed to detect BOM by default. Note that this isn't + enabled on Windows because Ruby may have a bug. See also: + https://bugs.ruby-lang.org/issues/20526 + * GH-301 + * Reported by Junichi Ito + + * Improved performance. + * GH-311 + * GH-312 + * Patch by Vladimir Kochnev + + * `CSV.open`: Added support for `StringIO` as an input. + * GH-300 + * GH-302 + * Patch by Marcelo + + * Added a built-in time converter. You can use it by `converters: + :time`. + * GH-313 + * Patch by Bart de Water + + * Added `CSV::TSV` for tab-separated values. + * GH-272 + * GH-319 + * Reported by kojix2 + * Patch by Jas + +### Thanks + + * Junichi Ito + + * Vladimir Kochnev + + * Marcelo + + * Bart de Water + + * kojix2 + + * Jas + +## 3.3.0 - 2024-03-22 + +### Fixes + + * Fixed a regression parse bug in 3.2.9 that parsing with + `:skip_lines` may cause wrong result. + +## 3.2.9 - 2024-03-22 + +### Fixes + + * Fixed a parse bug that wrong result may be happen when: + + * `:skip_lines` is used + * `:row_separator` is `"\r\n"` + * There is a line that includes `\n` as a column value + + Reported by Ryo Tsukamoto. + + GH-296 + +### Thanks + + * Ryo Tsukamoto + +## 3.2.8 - 2023-11-08 + +### Improvements + + * Added `CSV::InvalidEncodingError`. + + Patch by Kosuke Shibata. + + GH-287 + +### Thanks + + * Kosuke Shibata + +## 3.2.7 - 2023-06-26 + +### Improvements + + * Removed an unused internal variable. + [GH-273](https://github.com/ruby/csv/issues/273) + [Patch by Mau Magnaguagno] + + * Changed to use `https://` instead of `http://` in documents. + [GH-274](https://github.com/ruby/csv/issues/274) + [Patch by Vivek Bharath Akupatni] + + * Added prefix to a helper module in test. + [GH-278](https://github.com/ruby/csv/issues/278) + [Patch by Luke Gruber] + + * Added a documentation for `liberal_parsing: {backslash_quotes: true}`. + [GH-280](https://github.com/ruby/csv/issues/280) + [Patch by Mark Schneider] + +### Fixes + + * Fixed a wrong execution result in documents. + [GH-276](https://github.com/ruby/csv/issues/276) + [Patch by Yuki Tsujimoto] + + * Fixed a bug that the same line is used multiple times. + [GH-279](https://github.com/ruby/csv/issues/279) + [Reported by Gabriel Nagy] + +### Thanks + + * Mau Magnaguagno + + * Vivek Bharath Akupatni + + * Yuki Tsujimoto + + * Luke Gruber + + * Mark Schneider + + * Gabriel Nagy + +## 3.2.6 - 2022-12-08 + +### Improvements + + * `CSV#read` consumes the same lines with other methods like + `CSV#shift`. + [[GitHub#258](https://github.com/ruby/csv/issues/258)] + [Reported by Lhoussaine Ghallou] + + * All `Enumerable` based methods consume the same lines with other + methods. This may have a performance penalty. + [[GitHub#260](https://github.com/ruby/csv/issues/260)] + [Reported by Lhoussaine Ghallou] + + * Simplify some implementations. + [[GitHub#262](https://github.com/ruby/csv/pull/262)] + [[GitHub#263](https://github.com/ruby/csv/pull/263)] + [Patch by Mau Magnaguagno] + +### Fixes + + * Fixed `CSV.generate_lines` document. + [[GitHub#257](https://github.com/ruby/csv/pull/257)] + [Patch by Sampat Badhe] + +### Thanks + + * Sampat Badhe + + * Lhoussaine Ghallou + + * Mau Magnaguagno + +## 3.2.5 - 2022-08-26 + +### Improvements + + * Added `CSV.generate_lines`. + [[GitHub#255](https://github.com/ruby/csv/issues/255)] + [Reported by OKURA Masafumi] + [[GitHub#256](https://github.com/ruby/csv/pull/256)] + [Patch by Eriko Sugiyama] + +### Thanks + + * OKURA Masafumi + + * Eriko Sugiyama + +## 3.2.4 - 2022-08-22 + +### Improvements + + * Cleaned up internal implementations. + [[GitHub#249](https://github.com/ruby/csv/pull/249)] + [[GitHub#250](https://github.com/ruby/csv/pull/250)] + [[GitHub#251](https://github.com/ruby/csv/pull/251)] + [Patch by Mau Magnaguagno] + + * Added support for RFC 3339 style time. + [[GitHub#248](https://github.com/ruby/csv/pull/248)] + [Patch by Thierry Lambert] + + * Added support for transcoding String CSV. Syntax is + `from-encoding:to-encoding`. + [[GitHub#254](https://github.com/ruby/csv/issues/254)] + [Reported by Richard Stueven] + + * Added quoted information to `CSV::FieldInfo`. + [[GitHub#254](https://github.com/ruby/csv/pull/253)] + [Reported by Hirokazu SUZUKI] + +### Fixes + + * Fixed a link in documents. + [[GitHub#244](https://github.com/ruby/csv/pull/244)] + [Patch by Peter Zhu] + +### Thanks + + * Peter Zhu + + * Mau Magnaguagno + + * Thierry Lambert + + * Richard Stueven + + * Hirokazu SUZUKI + +## 3.2.3 - 2022-04-09 + +### Improvements + + * Added contents summary to `CSV::Table#inspect`. + [GitHub#229][Patch by Eriko Sugiyama] + [GitHub#235][Patch by Sampat Badhe] + + * Suppressed `$INPUT_RECORD_SEPARATOR` deprecation warning by + `Warning.warn`. + [GitHub#233][Reported by Jean byroot Boussier] + + * Improved error message for liberal parsing with quoted values. + [GitHub#231][Patch by Nikolay Rys] + + * Fixed typos in documentation. + [GitHub#236][Patch by Sampat Badhe] + + * Added `:max_field_size` option and deprecated `:field_size_limit` option. + [GitHub#238][Reported by Dan Buettner] + + * Added `:symbol_raw` to built-in header converters. + [GitHub#237][Reported by taki] + [GitHub#239][Patch by Eriko Sugiyama] + +### Fixes + + * Fixed a bug that some texts may be dropped unexpectedly. + [Bug #18245][ruby-core:105587][Reported by Hassan Abdul Rehman] + + * Fixed a bug that `:field_size_limit` doesn't work with not complex row. + [GitHub#238][Reported by Dan Buettner] + +### Thanks + + * Hassan Abdul Rehman + + * Eriko Sugiyama + + * Jean byroot Boussier + + * Nikolay Rys + + * Sampat Badhe + + * Dan Buettner + + * taki + +## 3.2.2 - 2021-12-24 + +### Improvements + + * Added a validation for invalid option combination. + [GitHub#225][Patch by adamroyjones] + + * Improved documentation for developers. + [GitHub#227][Patch by Eriko Sugiyama] + +### Fixes + + * Fixed a bug that all of `ARGF` contents may not be consumed. + [GitHub#228][Reported by Rafael Navaza] + +### Thanks + + * adamroyjones + + * Eriko Sugiyama + + * Rafael Navaza + +## 3.2.1 - 2021-10-23 + +### Improvements + + * doc: Fixed wrong class name. + [GitHub#217][Patch by Vince] + + * Changed to always use `"\n"` for the default row separator on Ruby + 3.0 or later because `$INPUT_RECORD_SEPARATOR` was deprecated + since Ruby 3.0. + + * Added support for Ractor. + [GitHub#218][Patch by rm155] + + * Users who want to use the built-in converters in non-main + Ractors need to call `Ractor.make_shareable(CSV::Converters)` + and/or `Ractor.make_shareable(CSV::HeaderConverters)` before + creating non-main Ractors. + +### Thanks + + * Vince + + * Joakim Antman + + * rm155 + +## 3.2.0 - 2021-06-06 + +### Improvements + + * `CSV.open`: Added support for `:newline` option. + [GitHub#198][Patch by Nobuyoshi Nakada] + + * `CSV::Table#each`: Added support for column mode with duplicated + headers. + [GitHub#206][Reported by Yaroslav Berezovskiy] + + * `Object#CSV`: Added support for Ruby 3.0. + + * `CSV::Row`: Added support for pattern matching. + [GitHub#207][Patch by Kevin Newton] + +### Fixes + + * Fixed typos in documentation. + [GitHub#196][GitHub#205][Patch by Sampat Badhe] + +### Thanks + + * Sampat Badhe + + * Nobuyoshi Nakada + + * Yaroslav Berezovskiy + + * Kevin Newton + +## 3.1.9 - 2020-11-23 + +### Fixes + + * Fixed a compatibility bug that the line to be processed by + `skip_lines:` has a row separator. + [GitHub#194][Reported by Josef Šimánek] + +### Thanks + + * Josef Šimánek + +## 3.1.8 - 2020-11-18 + +### Improvements + + * Improved documentation. + [Patch by Burdette Lamar] + +### Thanks + + * Burdette Lamar + +## 3.1.7 - 2020-08-04 + +### Improvements + + * Improved document. + [GitHub#158][GitHub#160][GitHub#161] + [Patch by Burdette Lamar] + + * Updated required Ruby version to 2.5.0 or later. + [GitHub#159] + [Patch by Gabriel Nagy] + + * Removed stringio 0.1.3 or later dependency. + +### Thanks + + * Burdette Lamar + + * Gabriel Nagy + +## 3.1.6 - 2020-07-20 + +### Improvements + + * Improved document. + [GitHub#127][GitHub#135][GitHub#136][GitHub#137][GitHub#139][GitHub#140] + [GitHub#141][GitHub#142][GitHub#143][GitHub#145][GitHub#146][GitHub#148] + [GitHub#148][GitHub#151][GitHub#152][GitHub#154][GitHub#155][GitHub#157] + [Patch by Burdette Lamar] + + * `CSV.open`: Added support for `undef: :replace`. + [GitHub#129][Patch by Koichi ITO] + + * `CSV.open`: Added support for `invalid: :replace`. + [GitHub#129][Patch by Koichi ITO] + + * Don't run quotable check for invalid encoding field values. + [GitHub#131][Patch by Koichi ITO] + + * Added support for specifying the target indexes and names to + `force_quotes:`. + [GitHub#153][Reported by Aleksandr] + + * `CSV.generate`: Changed to use the encoding of the first non-ASCII + field rather than the encoding of ASCII only field. + + * Changed to require the stringio gem 0.1.3 or later. + +### Thanks + + * Burdette Lamar + + * Koichi ITO + + * Aleksandr + +## 3.1.5 - 2020-05-18 + +### Improvements + + * Improved document. + [GitHub#124][Patch by Burdette Lamar] + +### Fixes + + * Added missing document files. + [GitHub#125][Reported by joast] + +### Thanks + + * Burdette Lamar + + * joast + +## 3.1.4 - 2020-05-17 + +### Improvements + + * Improved document. + [GitHub#122][Patch by Burdette Lamar] + + * Stopped to dropping stack trace for exception caused by + `CSV.parse_line`. + [GitHub#120][Reported by Kyle d'Oliveira] + +### Fixes + + * Fixed a bug that `:write_nil_value` or `:write_empty_value` don't + work with non `String` objects. + [GitHub#123][Reported by asm256] + +### Thanks + + * Burdette Lamar + + * asm256 + + * Kyle d'Oliveira + +## 3.1.3 - 2020-05-09 + +### Improvements + + * `CSV::Row#dup`: Copied deeply. + [GitHub#108][Patch by Jim Kane] + +### Fixes + + * Fixed a infinite loop bug for zero length match `skip_lines`. + [GitHub#110][Patch by Mike MacDonald] + + * `CSV.generate`: Fixed a bug that encoding isn't set correctly. + [GitHub#110][Patch by Seiei Miyagi] + + * Fixed document for the `:strip` option. + [GitHub#114][Patch by TOMITA Masahiro] + + * Fixed a parse bug when split charcter exists in middle of column + value. + [GitHub#115][Reported by TOMITA Masahiro] + +### Thanks + + * Jim Kane + + * Mike MacDonald + + * Seiei Miyagi + + * TOMITA Masahiro + +## 3.1.2 - 2019-10-12 + +### Improvements + + * Added `:col_sep` check. + [GitHub#94][Reported by Florent Beaurain] + + * Suppressed warnings. + [GitHub#96][Patch by Nobuyoshi Nakada] + + * Improved documentation. + [GitHub#101][GitHub#102][Patch by Vitor Oliveira] + +### Fixes + + * Fixed a typo in documentation. + [GitHub#95][Patch by Yuji Yaginuma] + + * Fixed a multibyte character handling bug. + [GitHub#97][Patch by koshigoe] + + * Fixed typos in documentation. + [GitHub#100][Patch by Vitor Oliveira] + + * Fixed a bug that seeked `StringIO` isn't accepted. + [GitHub#98][Patch by MATSUMOTO Katsuyoshi] + + * Fixed a bug that `CSV.generate_line` doesn't work with + `Encoding.default_internal`. + [GitHub#105][Reported by David Rodríguez] + +### Thanks + + * Florent Beaurain + + * Yuji Yaginuma + + * Nobuyoshi Nakada + + * koshigoe + + * Vitor Oliveira + + * MATSUMOTO Katsuyoshi + + * David Rodríguez + +## 3.1.1 - 2019-04-26 + +### Improvements + + * Added documentation for `strip` option. + [GitHub#88][Patch by hayashiyoshino] + + * Added documentation for `write_converters`, `write_nil_value` and + `write_empty_value` options. + [GitHub#87][Patch by Masafumi Koba] + + * Added documentation for `quote_empty` option. + [GitHub#89][Patch by kawa\_tech] + +### Fixes + + * Fixed a bug that `strip; true` removes a newline. + +### Thanks + + * hayashiyoshino + + * Masafumi Koba + + * kawa\_tech + +## 3.1.0 - 2019-04-17 + +### Fixes + + * Fixed a backward incompatibility bug that `CSV#eof?` may raises an + error. + [GitHub#86][Reported by krororo] + +### Thanks + + * krororo + +## 3.0.9 - 2019-04-15 + +### Fixes + + * Fixed a test for Windows. + +## 3.0.8 - 2019-04-11 + +### Fixes + + * Fixed a bug that `strip: String` doesn't work. + +## 3.0.7 - 2019-04-08 + +### Improvements + + * Improve parse performance 1.5x by introducing loose parser. + +### Fixes + + * Fix performance regression in 3.0.5. + + * Fix a bug that `CSV#line` returns wrong value when you + use `quote_char: nil`. + +## 3.0.6 - 2019-03-30 + +### Improvements + + * `CSV.foreach`: Added support for `mode`. + +## 3.0.5 - 2019-03-24 + +### Improvements + + * Added `:liberal_parsing => {backslash_quote: true}` option. + [GitHub#74][Patch by 284km] + + * Added `:write_converters` option. + [GitHub#73][Patch by Danillo Souza] + + * Added `:write_nil_value` option. + + * Added `:write_empty_value` option. + + * Improved invalid byte line number detection. + [GitHub#78][Patch by Alyssa Ross] + + * Added `quote_char: nil` optimization. + [GitHub#79][Patch by 284km] + + * Improved error message. + [GitHub#81][Patch by Andrés Torres] + + * Improved IO-like implementation for `StringIO` data. + [GitHub#80][Patch by Genadi Samokovarov] + + * Added `:strip` option. + [GitHub#58] + +### Fixes + + * Fixed a compatibility bug that `CSV#each` doesn't care `CSV#shift`. + [GitHub#76][Patch by Alyssa Ross] + + * Fixed a compatibility bug that `CSV#eof?` doesn't care `CSV#each` + and `CSV#shift`. + [GitHub#77][Reported by Chi Leung] + + * Fixed a compatibility bug that invalid line isn't ignored. + [GitHub#82][Reported by krororo] + + * Fixed a bug that `:skip_lines` doesn't work with multibyte characters data. + [GitHub#83][Reported by ff2248] + +### Thanks + + * Alyssa Ross + + * 284km + + * Chi Leung + + * Danillo Souza + + * Andrés Torres + + * Genadi Samokovarov + + * krororo + + * ff2248 + +## 3.0.4 - 2019-01-25 + +### Improvements + + * Removed duplicated `CSV::Row#include?` implementations. + [GitHub#69][Patch by Max Schwenk] + + * Removed duplicated `CSV::Row#header?` implementations. + [GitHub#70][Patch by Max Schwenk] + +### Fixes + + * Fixed a typo in document. + [GitHub#72][Patch by Artur Beljajev] + + * Fixed a compatibility bug when row headers are changed. + [GitHub#71][Reported by tomoyuki kosaka] + +### Thanks + + * Max Schwenk + + * Artur Beljajev + + * tomoyuki kosaka + +## 3.0.3 - 2019-01-12 + +### Improvements + + * Migrated benchmark tool to benchmark-driver from benchmark-ips. + [GitHub#57][Patch by 284km] + + * Added `liberal_parsing: {double_quote_outside_quote: true}` parse + option. + [GitHub#66][Reported by Watson] + + * Added `quote_empty:` write option. + [GitHub#35][Reported by Dave Myron] + +### Fixes + + * Fixed a compatibility bug that `CSV.generate` always return + `ASCII-8BIT` encoding string. + [GitHub#63][Patch by Watson] + + * Fixed a compatibility bug that `CSV.parse("", headers: true)` + doesn't return `CSV::Table`. + [GitHub#64][Reported by Watson][Patch by 284km] + + * Fixed a compatibility bug that multiple-characters column + separator doesn't work. + [GitHub#67][Reported by Jesse Reiss] + + * Fixed a compatibility bug that double `#each` parse twice. + [GitHub#68][Reported by Max Schwenk] + +### Thanks + + * Watson + + * 284km + + * Jesse Reiss + + * Dave Myron + + * Max Schwenk + +## 3.0.2 - 2018-12-23 + +### Improvements + + * Changed to use strscan in parser. + [GitHub#52][Patch by 284km] + + * Improves CSV write performance. + 3.0.2 will be about 2 times faster than 3.0.1. + + * Improves CSV parse performance for complex case. + 3.0.2 will be about 2 times faster than 3.0.1. + +### Fixes + + * Fixed a parse error bug for new line only input with `headers` option. + [GitHub#53][Reported by Chris Beer] + + * Fixed some typos in document. + [GitHub#54][Patch by Victor Shepelev] + +### Thanks + + * 284km + + * Chris Beer + + * Victor Shepelev + +## 3.0.1 - 2018-12-07 + +### Improvements + + * Added a test. + [GitHub#38][Patch by 284km] + + * `CSV::Row#dup`: Changed to duplicate internal data. + [GitHub#39][Reported by André Guimarães Sakata] + + * Documented `:nil_value` and `:empty_value` options. + [GitHub#41][Patch by OwlWorks] + + * Added support for separator detection for non-seekable inputs. + [GitHub#45][Patch by Ilmari Karonen] + + * Removed needless code. + [GitHub#48][Patch by Espartaco Palma] + + * Added support for parsing header only CSV with `headers: true`. + [GitHub#47][Patch by Kazuma Shibasaka] + + * Added support for coverage report in CI. + [GitHub#48][Patch by Espartaco Palma] + + * Improved auto CR row separator detection. + [GitHub#51][Reported by Yuki Kurihara] + +### Fixes + + * Fixed a typo in document. + [GitHub#40][Patch by Marcus Stollsteimer] + +### Thanks + + * 284km + + * André Guimarães Sakata + + * Marcus Stollsteimer + + * OwlWorks + + * Ilmari Karonen + + * Espartaco Palma + + * Kazuma Shibasaka + + * Yuki Kurihara + +## 3.0.0 - 2018-06-06 + +### Fixes + + * Fixed a bug that header isn't returned for empty row. + [GitHub#37][Patch by Grace Lee] + +### Thanks + + * Grace Lee + +## 1.0.2 - 2018-05-03 + +### Improvements + + * Split file for CSV::VERSION + + * Code cleanup: Split csv.rb into a more manageable structure + [GitHub#19][Patch by Espartaco Palma] + [GitHub#20][Patch by Steven Daniels] + + * Use CSV::MalformedCSVError for invalid encoding line + [GitHub#26][Reported by deepj] + + * Support implicit Row <-> Array conversion + [Bug #10013][ruby-core:63582][Reported by Dawid Janczak] + + * Update class docs + [GitHub#32][Patch by zverok] + + * Add `Row#each_pair` + [GitHub#33][Patch by zverok] + + * Improve CSV performance + [GitHub#30][Patch by Watson] + + * Add :nil_value and :empty_value option + +### Fixes + + * Fix a bug that "bom|utf-8" doesn't work + [GitHub#23][Reported by Pavel Lobashov] + + * `CSV::Row#to_h`, `#to_hash`: uses the same value as `Row#[]` + [Bug #14482][Reported by tomoya ishida] + + * Make row separator detection more robust + [GitHub#25][Reported by deepj] + + * Fix a bug that too much separator when col_sep is `" "` + [Bug #8784][ruby-core:63582][Reported by Sylvain Laperche] + +### Thanks + + * Espartaco Palma + + * Steven Daniels + + * deepj + + * Dawid Janczak + + * zverok + + * Watson + + * Pavel Lobashov + + * tomoya ishida + + * Sylvain Laperche + + * Ryunosuke Sato + +## 1.0.1 - 2018-02-09 + +### Improvements + + * `CSV::Table#delete`: Added bulk delete support. You can delete + multiple rows and columns at once. + [GitHub#4][Patch by Vladislav] + + * Updated Gem description. + [GitHub#11][Patch by Marcus Stollsteimer] + + * Code cleanup. + [GitHub#12][Patch by Marcus Stollsteimer] + [GitHub#14][Patch by Steven Daniels] + [GitHub#18][Patch by takkanm] + + * `CSV::Table#dig`: Added. + [GitHub#15][Patch by Tomohiro Ogoke] + + * `CSV::Row#dig`: Added. + [GitHub#15][Patch by Tomohiro Ogoke] + + * Added ISO 8601 support to date time converter. + [GitHub#16] + +### Fixes + + * Fixed wrong `CSV::VERSION`. + [GitHub#10][Reported by Marcus Stollsteimer] + + * `CSV.generate`: Fixed a regression bug that `String` argument is + ignored. + [GitHub#13][Patch by pavel] + +### Thanks + + * Vladislav + + * Marcus Stollsteimer + + * Steven Daniels + + * takkanm + + * Tomohiro Ogoke + + * pavel diff --git a/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/README.md b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/README.md new file mode 100644 index 0000000..cf61a35 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/README.md @@ -0,0 +1,55 @@ +# CSV + +This library provides a complete interface to CSV files and data. It offers tools to enable you to read and write to and from Strings or IO objects, as needed. + +## Installation + +Add this line to your application's Gemfile: + +```ruby +gem 'csv' +``` + +And then execute: + + $ bundle + +Or install it yourself as: + + $ gem install csv + +## Usage + +```ruby +require "csv" + +CSV.foreach("path/to/file.csv") do |row| + # use row here... +end +``` + +## Documentation + +- [API](https://ruby.github.io/csv/): all classes, methods, and constants. +- [Recipes](https://ruby.github.io/csv/doc/csv/recipes/recipes_rdoc.html): specific code for specific tasks. + +## Development + +After checking out the repo, run `ruby run-test.rb` to check if your changes can pass the test. + +To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org). + +## Contributing + +Bug reports and pull requests are welcome on GitHub at https://github.com/ruby/csv. + +### NOTE: About RuboCop + +We don't use RuboCop because we can manage our coding style by ourselves. We want to accept small fluctuations in our coding style because we use Ruby. +Please do not submit issues and PRs that aim to introduce RuboCop in this repository. + +## License + +The gem is available as open source under the terms of the [2-Clause BSD License](https://opensource.org/licenses/BSD-2-Clause). + +See LICENSE.txt for details. diff --git a/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/arguments/io.rdoc b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/arguments/io.rdoc new file mode 100644 index 0000000..f5fe1d1 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/arguments/io.rdoc @@ -0,0 +1,5 @@ +* Argument +io+ should be an IO object that is: + * Open for reading; on return, the IO object will be closed. + * Positioned at the beginning. + To position at the end, for appending, use method CSV.generate. + For any other positioning, pass a preset \StringIO object instead. diff --git a/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/common/col_sep.rdoc b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/common/col_sep.rdoc new file mode 100644 index 0000000..b8be869 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/common/col_sep.rdoc @@ -0,0 +1,57 @@ +====== Option +col_sep+ + +Specifies the \String column separator to be used +for both parsing and generating. +The \String will be transcoded into the data's \Encoding before use. + +Default value: + CSV::DEFAULT_OPTIONS.fetch(:col_sep) # => "," (comma) + +Using the default (comma): + str = CSV.generate do |csv| + csv << [:foo, 0] + csv << [:bar, 1] + csv << [:baz, 2] + end + str # => "foo,0\nbar,1\nbaz,2\n" + ary = CSV.parse(str) + ary # => [["foo", "0"], ["bar", "1"], ["baz", "2"]] + +Using +:+ (colon): + col_sep = ':' + str = CSV.generate(col_sep: col_sep) do |csv| + csv << [:foo, 0] + csv << [:bar, 1] + csv << [:baz, 2] + end + str # => "foo:0\nbar:1\nbaz:2\n" + ary = CSV.parse(str, col_sep: col_sep) + ary # => [["foo", "0"], ["bar", "1"], ["baz", "2"]] + +Using +::+ (two colons): + col_sep = '::' + str = CSV.generate(col_sep: col_sep) do |csv| + csv << [:foo, 0] + csv << [:bar, 1] + csv << [:baz, 2] + end + str # => "foo::0\nbar::1\nbaz::2\n" + ary = CSV.parse(str, col_sep: col_sep) + ary # => [["foo", "0"], ["bar", "1"], ["baz", "2"]] + +Using '' (empty string): + col_sep = '' + str = CSV.generate(col_sep: col_sep) do |csv| + csv << [:foo, 0] + csv << [:bar, 1] + csv << [:baz, 2] + end + str # => "foo0\nbar1\nbaz2\n" + +--- + +Raises an exception if parsing with the empty \String: + col_sep = '' + # Raises ArgumentError (:col_sep must be 1 or more characters: "") + CSV.parse("foo0\nbar1\nbaz2\n", col_sep: col_sep) + diff --git a/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/common/quote_char.rdoc b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/common/quote_char.rdoc new file mode 100644 index 0000000..67fd3af --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/common/quote_char.rdoc @@ -0,0 +1,42 @@ +====== Option +quote_char+ + +Specifies the character (\String of length 1) used used to quote fields +in both parsing and generating. +This String will be transcoded into the data's \Encoding before use. + +Default value: + CSV::DEFAULT_OPTIONS.fetch(:quote_char) # => "\"" (double quote) + +This is useful for an application that incorrectly uses ' (single-quote) +to quote fields, instead of the correct " (double-quote). + +Using the default (double quote): + str = CSV.generate do |csv| + csv << ['foo', 0] + csv << ["'bar'", 1] + csv << ['"baz"', 2] + end + str # => "foo,0\n'bar',1\n\"\"\"baz\"\"\",2\n" + ary = CSV.parse(str) + ary # => [["foo", "0"], ["'bar'", "1"], ["\"baz\"", "2"]] + +Using ' (single-quote): + quote_char = "'" + str = CSV.generate(quote_char: quote_char) do |csv| + csv << ['foo', 0] + csv << ["'bar'", 1] + csv << ['"baz"', 2] + end + str # => "foo,0\n'''bar''',1\n\"baz\",2\n" + ary = CSV.parse(str, quote_char: quote_char) + ary # => [["foo", "0"], ["'bar'", "1"], ["\"baz\"", "2"]] + +--- + +Raises an exception if the \String length is greater than 1: + # Raises ArgumentError (:quote_char has to be nil or a single character String) + CSV.new('', quote_char: 'xx') + +Raises an exception if the value is not a \String: + # Raises ArgumentError (:quote_char has to be nil or a single character String) + CSV.new('', quote_char: :foo) diff --git a/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/common/row_sep.rdoc b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/common/row_sep.rdoc new file mode 100644 index 0000000..eae15b4 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/common/row_sep.rdoc @@ -0,0 +1,91 @@ +====== Option +row_sep+ + +Specifies the row separator, a \String or the \Symbol :auto (see below), +to be used for both parsing and generating. + +Default value: + CSV::DEFAULT_OPTIONS.fetch(:row_sep) # => :auto + +--- + +When +row_sep+ is a \String, that \String becomes the row separator. +The String will be transcoded into the data's Encoding before use. + +Using "\n": + row_sep = "\n" + str = CSV.generate(row_sep: row_sep) do |csv| + csv << [:foo, 0] + csv << [:bar, 1] + csv << [:baz, 2] + end + str # => "foo,0\nbar,1\nbaz,2\n" + ary = CSV.parse(str) + ary # => [["foo", "0"], ["bar", "1"], ["baz", "2"]] + +Using | (pipe): + row_sep = '|' + str = CSV.generate(row_sep: row_sep) do |csv| + csv << [:foo, 0] + csv << [:bar, 1] + csv << [:baz, 2] + end + str # => "foo,0|bar,1|baz,2|" + ary = CSV.parse(str, row_sep: row_sep) + ary # => [["foo", "0"], ["bar", "1"], ["baz", "2"]] + +Using -- (two hyphens): + row_sep = '--' + str = CSV.generate(row_sep: row_sep) do |csv| + csv << [:foo, 0] + csv << [:bar, 1] + csv << [:baz, 2] + end + str # => "foo,0--bar,1--baz,2--" + ary = CSV.parse(str, row_sep: row_sep) + ary # => [["foo", "0"], ["bar", "1"], ["baz", "2"]] + +Using '' (empty string): + row_sep = '' + str = CSV.generate(row_sep: row_sep) do |csv| + csv << [:foo, 0] + csv << [:bar, 1] + csv << [:baz, 2] + end + str # => "foo,0bar,1baz,2" + ary = CSV.parse(str, row_sep: row_sep) + ary # => [["foo", "0bar", "1baz", "2"]] + +--- + +When +row_sep+ is the \Symbol +:auto+ (the default), +generating uses "\n" as the row separator: + str = CSV.generate do |csv| + csv << [:foo, 0] + csv << [:bar, 1] + csv << [:baz, 2] + end + str # => "foo,0\nbar,1\nbaz,2\n" + +Parsing, on the other hand, invokes auto-discovery of the row separator. + +Auto-discovery reads ahead in the data looking for the next \r\n, +\n+, or +\r+ sequence. +The sequence will be selected even if it occurs in a quoted field, +assuming that you would have the same line endings there. + +Example: + str = CSV.generate do |csv| + csv << [:foo, 0] + csv << [:bar, 1] + csv << [:baz, 2] + end + str # => "foo,0\nbar,1\nbaz,2\n" + ary = CSV.parse(str) + ary # => [["foo", "0"], ["bar", "1"], ["baz", "2"]] + +The default $INPUT_RECORD_SEPARATOR ($/) is used +if any of the following is true: +* None of those sequences is found. +* Data is +ARGF+, +STDIN+, +STDOUT+, or +STDERR+. +* The stream is only available for output. + +Obviously, discovery takes a little time. Set manually if speed is important. Also note that IO objects should be opened in binary mode on Windows if this feature will be used as the line-ending translation can cause problems with resetting the document position to where it was before the read ahead. diff --git a/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/generating/force_quotes.rdoc b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/generating/force_quotes.rdoc new file mode 100644 index 0000000..11afd1a --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/generating/force_quotes.rdoc @@ -0,0 +1,17 @@ +====== Option +force_quotes+ + +Specifies the boolean that determines whether each output field is to be double-quoted. + +Default value: + CSV::DEFAULT_OPTIONS.fetch(:force_quotes) # => false + +For examples in this section: + ary = ['foo', 0, nil] + +Using the default, +false+: + str = CSV.generate_line(ary) + str # => "foo,0,\n" + +Using +true+: + str = CSV.generate_line(ary, force_quotes: true) + str # => "\"foo\",\"0\",\"\"\n" diff --git a/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/generating/quote_empty.rdoc b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/generating/quote_empty.rdoc new file mode 100644 index 0000000..4c5645c --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/generating/quote_empty.rdoc @@ -0,0 +1,12 @@ +====== Option +quote_empty+ + +Specifies the boolean that determines whether an empty value is to be double-quoted. + +Default value: + CSV::DEFAULT_OPTIONS.fetch(:quote_empty) # => true + +With the default +true+: + CSV.generate_line(['"', ""]) # => "\"\"\"\",\"\"\n" + +With +false+: + CSV.generate_line(['"', ""], quote_empty: false) # => "\"\"\"\",\n" diff --git a/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/generating/write_converters.rdoc b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/generating/write_converters.rdoc new file mode 100644 index 0000000..d1a9cc7 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/generating/write_converters.rdoc @@ -0,0 +1,25 @@ +====== Option +write_converters+ + +Specifies converters to be used in generating fields. +See {Write Converters}[#class-CSV-label-Write+Converters] + +Default value: + CSV::DEFAULT_OPTIONS.fetch(:write_converters) # => nil + +With no write converter: + str = CSV.generate_line(["\na\n", "\tb\t", " c "]) + str # => "\"\na\n\",\tb\t, c \n" + +With a write converter: + strip_converter = proc {|field| field.strip } + str = CSV.generate_line(["\na\n", "\tb\t", " c "], write_converters: strip_converter) + str # => "a,b,c\n" + +With two write converters (called in order): + upcase_converter = proc {|field| field.upcase } + downcase_converter = proc {|field| field.downcase } + write_converters = [upcase_converter, downcase_converter] + str = CSV.generate_line(['a', 'b', 'c'], write_converters: write_converters) + str # => "a,b,c\n" + +See also {Write Converters}[#class-CSV-label-Write+Converters] diff --git a/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/generating/write_empty_value.rdoc b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/generating/write_empty_value.rdoc new file mode 100644 index 0000000..67be566 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/generating/write_empty_value.rdoc @@ -0,0 +1,15 @@ +====== Option +write_empty_value+ + +Specifies the object that is to be substituted for each field +that has an empty \String. + +Default value: + CSV::DEFAULT_OPTIONS.fetch(:write_empty_value) # => "" + +Without the option: + str = CSV.generate_line(['a', '', 'c', '']) + str # => "a,\"\",c,\"\"\n" + +With the option: + str = CSV.generate_line(['a', '', 'c', ''], write_empty_value: "x") + str # => "a,x,c,x\n" diff --git a/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/generating/write_headers.rdoc b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/generating/write_headers.rdoc new file mode 100644 index 0000000..c56aa48 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/generating/write_headers.rdoc @@ -0,0 +1,29 @@ +====== Option +write_headers+ + +Specifies the boolean that determines whether a header row is included in the output; +ignored if there are no headers. + +Default value: + CSV::DEFAULT_OPTIONS.fetch(:write_headers) # => nil + +Without +write_headers+: + file_path = 't.csv' + CSV.open(file_path,'w', + :headers => ['Name','Value'] + ) do |csv| + csv << ['foo', '0'] + end + CSV.open(file_path) do |csv| + csv.shift + end # => ["foo", "0"] + +With +write_headers+": + CSV.open(file_path,'w', + :write_headers => true, + :headers => ['Name','Value'] + ) do |csv| + csv << ['foo', '0'] + end + CSV.open(file_path) do |csv| + csv.shift + end # => ["Name", "Value"] diff --git a/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/generating/write_nil_value.rdoc b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/generating/write_nil_value.rdoc new file mode 100644 index 0000000..65d33ff --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/generating/write_nil_value.rdoc @@ -0,0 +1,14 @@ +====== Option +write_nil_value+ + +Specifies the object that is to be substituted for each +nil+-valued field. + +Default value: + CSV::DEFAULT_OPTIONS.fetch(:write_nil_value) # => nil + +Without the option: + str = CSV.generate_line(['a', nil, 'c', nil]) + str # => "a,,c,\n" + +With the option: + str = CSV.generate_line(['a', nil, 'c', nil], write_nil_value: "x") + str # => "a,x,c,x\n" diff --git a/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/converters.rdoc b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/converters.rdoc new file mode 100644 index 0000000..211fa48 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/converters.rdoc @@ -0,0 +1,46 @@ +====== Option +converters+ + +Specifies converters to be used in parsing fields. +See {Field Converters}[#class-CSV-label-Field+Converters] + +Default value: + CSV::DEFAULT_OPTIONS.fetch(:converters) # => nil + +The value may be a field converter name +(see {Stored Converters}[#class-CSV-label-Stored+Converters]): + str = '1,2,3' + # Without a converter + array = CSV.parse_line(str) + array # => ["1", "2", "3"] + # With built-in converter :integer + array = CSV.parse_line(str, converters: :integer) + array # => [1, 2, 3] + +The value may be a converter list +(see {Converter Lists}[#class-CSV-label-Converter+Lists]): + str = '1,3.14159' + # Without converters + array = CSV.parse_line(str) + array # => ["1", "3.14159"] + # With built-in converters + array = CSV.parse_line(str, converters: [:integer, :float]) + array # => [1, 3.14159] + +The value may be a \Proc custom converter: +(see {Custom Field Converters}[#class-CSV-label-Custom+Field+Converters]): + str = ' foo , bar , baz ' + # Without a converter + array = CSV.parse_line(str) + array # => [" foo ", " bar ", " baz "] + # With a custom converter + array = CSV.parse_line(str, converters: proc {|field| field.strip }) + array # => ["foo", "bar", "baz"] + +See also {Custom Field Converters}[#class-CSV-label-Custom+Field+Converters] + +--- + +Raises an exception if the converter is not a converter name or a \Proc: + str = 'foo,0' + # Raises NoMethodError (undefined method `arity' for nil:NilClass) + CSV.parse(str, converters: :foo) diff --git a/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/empty_value.rdoc b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/empty_value.rdoc new file mode 100644 index 0000000..7d3bcc0 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/empty_value.rdoc @@ -0,0 +1,13 @@ +====== Option +empty_value+ + +Specifies the object that is to be substituted +for each field that has an empty \String. + +Default value: + CSV::DEFAULT_OPTIONS.fetch(:empty_value) # => "" (empty string) + +With the default, "": + CSV.parse_line('a,"",b,"",c') # => ["a", "", "b", "", "c"] + +With a different object: + CSV.parse_line('a,"",b,"",c', empty_value: 'x') # => ["a", "x", "b", "x", "c"] diff --git a/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/field_size_limit.rdoc b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/field_size_limit.rdoc new file mode 100644 index 0000000..797c577 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/field_size_limit.rdoc @@ -0,0 +1,39 @@ +====== Option +field_size_limit+ + +Specifies the \Integer field size limit. + +Default value: + CSV::DEFAULT_OPTIONS.fetch(:field_size_limit) # => nil + +This is a maximum size CSV will read ahead looking for the closing quote for a field. +(In truth, it reads to the first line ending beyond this size.) +If a quote cannot be found within the limit CSV will raise a MalformedCSVError, +assuming the data is faulty. +You can use this limit to prevent what are effectively DoS attacks on the parser. +However, this limit can cause a legitimate parse to fail; +therefore the default value is +nil+ (no limit). + +For the examples in this section: + str = <<~EOT + "a","b" + " + 2345 + ","" + EOT + str # => "\"a\",\"b\"\n\"\n2345\n\",\"\"\n" + +Using the default +nil+: + ary = CSV.parse(str) + ary # => [["a", "b"], ["\n2345\n", ""]] + +Using 50: + field_size_limit = 50 + ary = CSV.parse(str, field_size_limit: field_size_limit) + ary # => [["a", "b"], ["\n2345\n", ""]] + +--- + +Raises an exception if a field is too long: + big_str = "123456789\n" * 1024 + # Raises CSV::MalformedCSVError (Field size exceeded in line 1.) + CSV.parse('valid,fields,"' + big_str + '"', field_size_limit: 2048) diff --git a/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/header_converters.rdoc b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/header_converters.rdoc new file mode 100644 index 0000000..3091808 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/header_converters.rdoc @@ -0,0 +1,43 @@ +====== Option +header_converters+ + +Specifies converters to be used in parsing headers. +See {Header Converters}[#class-CSV-label-Header+Converters] + +Default value: + CSV::DEFAULT_OPTIONS.fetch(:header_converters) # => nil + +Identical in functionality to option {converters}[#class-CSV-label-Option+converters] +except that: +- The converters apply only to the header row. +- The built-in header converters are +:downcase+ and +:symbol+. + +This section assumes prior execution of: + str = <<-EOT + Name,Value + foo,0 + bar,1 + baz,2 + EOT + # With no header converter + table = CSV.parse(str, headers: true) + table.headers # => ["Name", "Value"] + +The value may be a header converter name +(see {Stored Converters}[#class-CSV-label-Stored+Converters]): + table = CSV.parse(str, headers: true, header_converters: :downcase) + table.headers # => ["name", "value"] + +The value may be a converter list +(see {Converter Lists}[#class-CSV-label-Converter+Lists]): + header_converters = [:downcase, :symbol] + table = CSV.parse(str, headers: true, header_converters: header_converters) + table.headers # => [:name, :value] + +The value may be a \Proc custom converter +(see {Custom Header Converters}[#class-CSV-label-Custom+Header+Converters]): + upcase_converter = proc {|field| field.upcase } + table = CSV.parse(str, headers: true, header_converters: upcase_converter) + table.headers # => ["NAME", "VALUE"] + +See also {Custom Header Converters}[#class-CSV-label-Custom+Header+Converters] + diff --git a/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/headers.rdoc b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/headers.rdoc new file mode 100644 index 0000000..0ea151f --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/headers.rdoc @@ -0,0 +1,63 @@ +====== Option +headers+ + +Specifies a boolean, \Symbol, \Array, or \String to be used +to define column headers. + +Default value: + CSV::DEFAULT_OPTIONS.fetch(:headers) # => false + +--- + +Without +headers+: + str = <<-EOT + Name,Count + foo,0 + bar,1 + bax,2 + EOT + csv = CSV.new(str) + csv # => # + csv.headers # => nil + csv.shift # => ["Name", "Count"] + +--- + +If set to +true+ or the \Symbol +:first_row+, +the first row of the data is treated as a row of headers: + str = <<-EOT + Name,Count + foo,0 + bar,1 + bax,2 + EOT + csv = CSV.new(str, headers: true) + csv # => # + csv.headers # => ["Name", "Count"] + csv.shift # => # + +--- + +If set to an \Array, the \Array elements are treated as headers: + str = <<-EOT + foo,0 + bar,1 + bax,2 + EOT + csv = CSV.new(str, headers: ['Name', 'Count']) + csv + csv.headers # => ["Name", "Count"] + csv.shift # => # + +--- + +If set to a \String +str+, method CSV::parse_line(str, options) is called +with the current +options+, and the returned \Array is treated as headers: + str = <<-EOT + foo,0 + bar,1 + bax,2 + EOT + csv = CSV.new(str, headers: 'Name,Count') + csv + csv.headers # => ["Name", "Count"] + csv.shift # => # diff --git a/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/liberal_parsing.rdoc b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/liberal_parsing.rdoc new file mode 100644 index 0000000..603de28 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/liberal_parsing.rdoc @@ -0,0 +1,38 @@ +====== Option +liberal_parsing+ + +Specifies the boolean or hash value that determines whether +CSV will attempt to parse input not conformant with RFC 4180, +such as double quotes in unquoted fields. + +Default value: + CSV::DEFAULT_OPTIONS.fetch(:liberal_parsing) # => false + +For the next two examples: + str = 'is,this "three, or four",fields' + +Without +liberal_parsing+: + # Raises CSV::MalformedCSVError (Illegal quoting in str 1.) + CSV.parse_line(str) + +With +liberal_parsing+: + ary = CSV.parse_line(str, liberal_parsing: true) + ary # => ["is", "this \"three", " or four\"", "fields"] + +Use the +backslash_quote+ sub-option to parse values that use +a backslash to escape a double-quote character. This +causes the parser to treat \" as if it were +"". + +For the next two examples: + str = 'Show,"Harry \"Handcuff\" Houdini, the one and only","Tampa Theater"' + +With +liberal_parsing+, but without the +backslash_quote+ sub-option: + # Incorrect interpretation of backslash; incorrectly interprets the quoted comma as a field separator. + ary = CSV.parse_line(str, liberal_parsing: true) + ary # => ["Show", "\"Harry \\\"Handcuff\\\" Houdini", " the one and only\"", "Tampa Theater"] + puts ary[1] # => "Harry \"Handcuff\" Houdini + +With +liberal_parsing+ and its +backslash_quote+ sub-option: + ary = CSV.parse_line(str, liberal_parsing: { backslash_quote: true }) + ary # => ["Show", "Harry \"Handcuff\" Houdini, the one and only", "Tampa Theater"] + puts ary[1] # => Harry "Handcuff" Houdini, the one and only diff --git a/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/nil_value.rdoc b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/nil_value.rdoc new file mode 100644 index 0000000..412e879 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/nil_value.rdoc @@ -0,0 +1,12 @@ +====== Option +nil_value+ + +Specifies the object that is to be substituted for each null (no-text) field. + +Default value: + CSV::DEFAULT_OPTIONS.fetch(:nil_value) # => nil + +With the default, +nil+: + CSV.parse_line('a,,b,,c') # => ["a", nil, "b", nil, "c"] + +With a different object: + CSV.parse_line('a,,b,,c', nil_value: 0) # => ["a", 0, "b", 0, "c"] diff --git a/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/return_headers.rdoc b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/return_headers.rdoc new file mode 100644 index 0000000..45d2e3f --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/return_headers.rdoc @@ -0,0 +1,22 @@ +====== Option +return_headers+ + +Specifies the boolean that determines whether method #shift +returns or ignores the header row. + +Default value: + CSV::DEFAULT_OPTIONS.fetch(:return_headers) # => false + +Examples: + str = <<-EOT + Name,Count + foo,0 + bar,1 + bax,2 + EOT + # Without return_headers first row is str. + csv = CSV.new(str, headers: true) + csv.shift # => # + # With return_headers first row is headers. + csv = CSV.new(str, headers: true, return_headers: true) + csv.shift # => # + diff --git a/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/skip_blanks.rdoc b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/skip_blanks.rdoc new file mode 100644 index 0000000..2c8f7b7 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/skip_blanks.rdoc @@ -0,0 +1,31 @@ +====== Option +skip_blanks+ + +Specifies a boolean that determines whether blank lines in the input will be ignored; +a line that contains a column separator is not considered to be blank. + +Default value: + CSV::DEFAULT_OPTIONS.fetch(:skip_blanks) # => false + +See also option {skiplines}[#class-CSV-label-Option+skip_lines]. + +For examples in this section: + str = <<-EOT + foo,0 + + bar,1 + baz,2 + + , + EOT + +Using the default, +false+: + ary = CSV.parse(str) + ary # => [["foo", "0"], [], ["bar", "1"], ["baz", "2"], [], [nil, nil]] + +Using +true+: + ary = CSV.parse(str, skip_blanks: true) + ary # => [["foo", "0"], ["bar", "1"], ["baz", "2"], [nil, nil]] + +Using a truthy value: + ary = CSV.parse(str, skip_blanks: :foo) + ary # => [["foo", "0"], ["bar", "1"], ["baz", "2"], [nil, nil]] diff --git a/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/skip_lines.rdoc b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/skip_lines.rdoc new file mode 100644 index 0000000..1481c40 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/skip_lines.rdoc @@ -0,0 +1,37 @@ +====== Option +skip_lines+ + +Specifies an object to use in identifying comment lines in the input that are to be ignored: +* If a \Regexp, ignores lines that match it. +* If a \String, converts it to a \Regexp, ignores lines that match it. +* If +nil+, no lines are considered to be comments. + +Default value: + CSV::DEFAULT_OPTIONS.fetch(:skip_lines) # => nil + +For examples in this section: + str = <<-EOT + # Comment + foo,0 + bar,1 + baz,2 + # Another comment + EOT + str # => "# Comment\nfoo,0\nbar,1\nbaz,2\n# Another comment\n" + +Using the default, +nil+: + ary = CSV.parse(str) + ary # => [["# Comment"], ["foo", "0"], ["bar", "1"], ["baz", "2"], ["# Another comment"]] + +Using a \Regexp: + ary = CSV.parse(str, skip_lines: /^#/) + ary # => [["foo", "0"], ["bar", "1"], ["baz", "2"]] + +Using a \String: + ary = CSV.parse(str, skip_lines: '#') + ary # => [["foo", "0"], ["bar", "1"], ["baz", "2"]] + +--- + +Raises an exception if given an object that is not a \Regexp, a \String, or +nil+: + # Raises ArgumentError (:skip_lines has to respond to #match: 0) + CSV.parse(str, skip_lines: 0) diff --git a/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/strip.rdoc b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/strip.rdoc new file mode 100644 index 0000000..56ae431 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/strip.rdoc @@ -0,0 +1,15 @@ +====== Option +strip+ + +Specifies the boolean value that determines whether +whitespace is stripped from each input field. + +Default value: + CSV::DEFAULT_OPTIONS.fetch(:strip) # => false + +With default value +false+: + ary = CSV.parse_line(' a , b ') + ary # => [" a ", " b "] + +With value +true+: + ary = CSV.parse_line(' a , b ', strip: true) + ary # => ["a", "b"] diff --git a/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/unconverted_fields.rdoc b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/unconverted_fields.rdoc new file mode 100644 index 0000000..3e7f839 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/options/parsing/unconverted_fields.rdoc @@ -0,0 +1,27 @@ +====== Option +unconverted_fields+ + +Specifies the boolean that determines whether unconverted field values are to be available. + +Default value: + CSV::DEFAULT_OPTIONS.fetch(:unconverted_fields) # => nil + +The unconverted field values are those found in the source data, +prior to any conversions performed via option +converters+. + +When option +unconverted_fields+ is +true+, +each returned row (\Array or \CSV::Row) has an added method, ++unconverted_fields+, that returns the unconverted field values: + str = <<-EOT + foo,0 + bar,1 + baz,2 + EOT + # Without unconverted_fields + csv = CSV.parse(str, converters: :integer) + csv # => [["foo", 0], ["bar", 1], ["baz", 2]] + csv.first.respond_to?(:unconverted_fields) # => false + # With unconverted_fields + csv = CSV.parse(str, converters: :integer, unconverted_fields: true) + csv # => [["foo", 0], ["bar", 1], ["baz", 2]] + csv.first.respond_to?(:unconverted_fields) # => true + csv.first.unconverted_fields # => ["foo", "0"] diff --git a/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/recipes/filtering.rdoc b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/recipes/filtering.rdoc new file mode 100644 index 0000000..d92afb7 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/recipes/filtering.rdoc @@ -0,0 +1,226 @@ +== Recipes for Filtering \CSV + +These recipes are specific code examples for specific \CSV filtering tasks. + +For other recipes, see {Recipes for CSV}[./recipes_rdoc.html]. + +All code snippets on this page assume that the following has been executed: + require 'csv' + +=== Contents + +- {Source and Output Formats}[#label-Source+and+Output+Formats] + - {Filtering String to String}[#label-Filtering+String+to+String] + - {Recipe: Filter String to String parsing Headers}[#label-Recipe-3A+Filter+String+to+String+parsing+Headers] + - {Recipe: Filter String to String parsing and writing Headers}[#label-Recipe-3A+Filter+String+to+String+parsing+and+writing+Headers] + - {Recipe: Filter String to String Without Headers}[#label-Recipe-3A+Filter+String+to+String+Without+Headers] + - {Filtering String to IO Stream}[#label-Filtering+String+to+IO+Stream] + - {Recipe: Filter String to IO Stream parsing Headers}[#label-Recipe-3A+Filter+String+to+IO+Stream+parsing+Headers] + - {Recipe: Filter String to IO Stream parsing and writing Headers}[#label-Recipe-3A+Filter+String+to+IO+Stream+parsing+and+writing+Headers] + - {Recipe: Filter String to IO Stream Without Headers}[#label-Recipe-3A+Filter+String+to+IO+Stream+Without+Headers] + - {Filtering IO Stream to String}[#label-Filtering+IO+Stream+to+String] + - {Recipe: Filter IO Stream to String parsing Headers}[#label-Recipe-3A+Filter+IO+Stream+to+String+parsing+Headers] + - {Recipe: Filter IO Stream to String parsing and writing Headers}[#label-Recipe-3A+Filter+IO+Stream+to+String+parsing+and+writing+Headers] + - {Recipe: Filter IO Stream to String Without Headers}[#label-Recipe-3A+Filter+IO+Stream+to+String+Without+Headers] + - {Filtering IO Stream to IO Stream}[#label-Filtering+IO+Stream+to+IO+Stream] + - {Recipe: Filter IO Stream to IO Stream parsing Headers}[#label-Recipe-3A+Filter+IO+Stream+to+IO+Stream+parsing+Headers] + - {Recipe: Filter IO Stream to IO Stream parsing and writing Headers}[#label-Recipe-3A+Filter+IO+Stream+to+IO+Stream+parsing+and+writing+Headers] + - {Recipe: Filter IO Stream to IO Stream Without Headers}[#label-Recipe-3A+Filter+IO+Stream+to+IO+Stream+Without+Headers] + +=== Source and Output Formats + +You can use a Unix-style "filter" for \CSV data. +The filter reads source \CSV data and writes output \CSV data as modified by the filter. +The input and output \CSV data may be any mixture of \Strings and \IO streams. + +==== Filtering \String to \String + +You can filter one \String to another, with or without headers. + +===== Recipe: Filter \String to \String parsing Headers + +Use class method CSV.filter with option +headers+ to filter a \String to another \String: + in_string = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + out_string = '' + CSV.filter(in_string, out_string, headers: true) do |row| + row['Name'] = row['Name'].upcase + row['Value'] *= 4 + end + out_string # => "FOO,0000\nBAR,1111\nBAZ,2222\n" + +===== Recipe: Filter \String to \String parsing and writing Headers + +Use class method CSV.filter with option +headers+ and +out_write_headers+ to filter a \String to another \String including header row: + in_string = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + out_string = '' + CSV.filter(in_string, out_string, headers: true, out_write_headers: true) do |row| + unless row.is_a?(Array) + row['Name'] = row['Name'].upcase + row['Value'] *= 4 + end + end + out_string # => "Name,Value\nFOO,0000\nBAR,1111\nBAZ,2222\n" + +===== Recipe: Filter \String to \String Without Headers + +Use class method CSV.filter without option +headers+ to filter a \String to another \String: + in_string = "foo,0\nbar,1\nbaz,2\n" + out_string = '' + CSV.filter(in_string, out_string) do |row| + row[0] = row[0].upcase + row[1] *= 4 + end + out_string # => "FOO,0000\nBAR,1111\nBAZ,2222\n" + +==== Filtering \String to \IO Stream + +You can filter a \String to an \IO stream, with or without headers. + +===== Recipe: Filter \String to \IO Stream parsing Headers + +Use class method CSV.filter with option +headers+ to filter a \String to an \IO stream: + in_string = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + path = 't.csv' + File.open(path, 'w') do |out_io| + CSV.filter(in_string, out_io, headers: true) do |row| + row['Name'] = row['Name'].upcase + row['Value'] *= 4 + end + end + p File.read(path) # => "FOO,0000\nBAR,1111\nBAZ,2222\n" + +===== Recipe: Filter \String to \IO Stream parsing and writing Headers + +Use class method CSV.filter with option +headers+ and +out_write_headers+ to filter a \String to an \IO stream including header row: + in_string = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + path = 't.csv' + File.open(path, 'w') do |out_io| + CSV.filter(in_string, out_io, headers: true, out_write_headers: true ) do |row| + unless row.is_a?(Array) + row['Name'] = row['Name'].upcase + row['Value'] *= 4 + end + end + end + p File.read(path) # => "Name,Value\nFOO,0000\nBAR,1111\nBAZ,2222\n" + +===== Recipe: Filter \String to \IO Stream Without Headers + +Use class method CSV.filter without option +headers+ to filter a \String to an \IO stream: + in_string = "foo,0\nbar,1\nbaz,2\n" + path = 't.csv' + File.open(path, 'w') do |out_io| + CSV.filter(in_string, out_io) do |row| + row[0] = row[0].upcase + row[1] *= 4 + end + end + p File.read(path) # => "FOO,0000\nBAR,1111\nBAZ,2222\n" + +==== Filtering \IO Stream to \String + +You can filter an \IO stream to a \String, with or without headers. + +===== Recipe: Filter \IO Stream to \String parsing Headers + +Use class method CSV.filter with option +headers+ to filter an \IO stream to a \String: + in_string = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + path = 't.csv' + File.write(path, in_string) + out_string = '' + File.open(path) do |in_io| + CSV.filter(in_io, out_string, headers: true) do |row| + row['Name'] = row['Name'].upcase + row['Value'] *= 4 + end + end + out_string # => "FOO,0000\nBAR,1111\nBAZ,2222\n" + +===== Recipe: Filter \IO Stream to \String parsing and writing Headers + +Use class method CSV.filter with option +headers+ and +out_write_headers+ to filter an \IO stream to a \String including header row: + in_string = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + path = 't.csv' + File.write(path, in_string) + out_string = '' + File.open(path) do |in_io| + CSV.filter(in_io, out_string, headers: true, out_write_headers: true) do |row| + unless row.is_a?(Array) + row['Name'] = row['Name'].upcase + row['Value'] *= 4 + end + end + end + out_string # => "Name,Value\nFOO,0000\nBAR,1111\nBAZ,2222\n" + +===== Recipe: Filter \IO Stream to \String Without Headers + +Use class method CSV.filter without option +headers+ to filter an \IO stream to a \String: + in_string = "foo,0\nbar,1\nbaz,2\n" + path = 't.csv' + File.write(path, in_string) + out_string = '' + File.open(path) do |in_io| + CSV.filter(in_io, out_string) do |row| + row[0] = row[0].upcase + row[1] *= 4 + end + end + out_string # => "FOO,0000\nBAR,1111\nBAZ,2222\n" + +==== Filtering \IO Stream to \IO Stream + +You can filter an \IO stream to another \IO stream, with or without headers. + +===== Recipe: Filter \IO Stream to \IO Stream parsing Headers + +Use class method CSV.filter with option +headers+ to filter an \IO stream to another \IO stream: + in_path = 't.csv' + in_string = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + File.write(in_path, in_string) + out_path = 'u.csv' + File.open(in_path) do |in_io| + File.open(out_path, 'w') do |out_io| + CSV.filter(in_io, out_io, headers: true) do |row| + row['Name'] = row['Name'].upcase + row['Value'] *= 4 + end + end + end + p File.read(out_path) # => "FOO,0000\nBAR,1111\nBAZ,2222\n" + +===== Recipe: Filter \IO Stream to \IO Stream parsing and writing Headers + +Use class method CSV.filter with option +headers+ and +out_write_headers+ to filter an \IO stream to another \IO stream including header row: + in_path = 't.csv' + in_string = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + File.write(in_path, in_string) + out_path = 'u.csv' + File.open(in_path) do |in_io| + File.open(out_path, 'w') do |out_io| + CSV.filter(in_io, out_io, headers: true, out_write_headers: true) do |row| + unless row.is_a?(Array) + row['Name'] = row['Name'].upcase + row['Value'] *= 4 + end + end + end + end + p File.read(out_path) # => "Name,Value\nFOO,0000\nBAR,1111\nBAZ,2222\n" + +===== Recipe: Filter \IO Stream to \IO Stream Without Headers + +Use class method CSV.filter without option +headers+ to filter an \IO stream to another \IO stream: + in_path = 't.csv' + in_string = "foo,0\nbar,1\nbaz,2\n" + File.write(in_path, in_string) + out_path = 'u.csv' + File.open(in_path) do |in_io| + File.open(out_path, 'w') do |out_io| + CSV.filter(in_io, out_io) do |row| + row[0] = row[0].upcase + row[1] *= 4 + end + end + end + p File.read(out_path) # => "FOO,0000\nBAR,1111\nBAZ,2222\n" diff --git a/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/recipes/generating.rdoc b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/recipes/generating.rdoc new file mode 100644 index 0000000..d96ff85 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/recipes/generating.rdoc @@ -0,0 +1,298 @@ +== Recipes for Generating \CSV + +These recipes are specific code examples for specific \CSV generating tasks. + +For other recipes, see {Recipes for CSV}[./recipes_rdoc.html]. + +All code snippets on this page assume that the following has been executed: + require 'csv' + +=== Contents + +- {Output Formats}[#label-Output+Formats] + - {Generating to a String}[#label-Generating+to+a+String] + - {Recipe: Generate to String with Headers}[#label-Recipe-3A+Generate+to+String+with+Headers] + - {Recipe: Generate to String Without Headers}[#label-Recipe-3A+Generate+to+String+Without+Headers] + - {Generating to a File}[#label-Generating+to+a+File] + - {Recipe: Generate to File with Headers}[#label-Recipe-3A+Generate+to+File+with+Headers] + - {Recipe: Generate to File Without Headers}[#label-Recipe-3A+Generate+to+File+Without+Headers] + - {Generating to IO an Stream}[#label-Generating+to+an+IO+Stream] + - {Recipe: Generate to IO Stream with Headers}[#label-Recipe-3A+Generate+to+IO+Stream+with+Headers] + - {Recipe: Generate to IO Stream Without Headers}[#label-Recipe-3A+Generate+to+IO+Stream+Without+Headers] +- {Converting Fields}[#label-Converting+Fields] + - {Recipe: Filter Generated Field Strings}[#label-Recipe-3A+Filter+Generated+Field+Strings] + - {Recipe: Specify Multiple Write Converters}[#label-Recipe-3A+Specify+Multiple+Write+Converters] +- {RFC 4180 Compliance}[#label-RFC+4180+Compliance] + - {Row Separator}[#label-Row+Separator] + - {Recipe: Generate Compliant Row Separator}[#label-Recipe-3A+Generate+Compliant+Row+Separator] + - {Recipe: Generate Non-Compliant Row Separator}[#label-Recipe-3A+Generate+Non-Compliant+Row+Separator] + - {Column Separator}[#label-Column+Separator] + - {Recipe: Generate Compliant Column Separator}[#label-Recipe-3A+Generate+Compliant+Column+Separator] + - {Recipe: Generate Non-Compliant Column Separator}[#label-Recipe-3A+Generate+Non-Compliant+Column+Separator] + - {Quotes}[#label-Quotes] + - {Recipe: Quote All Fields}[#label-Recipe-3A+Quote+All+Fields] + - {Recipe: Quote Empty Fields}[#label-Recipe-3A+Quote+Empty+Fields] + - {Recipe: Generate Compliant Quote Character}[#label-Recipe-3A+Generate+Compliant+Quote+Character] + - {Recipe: Generate Non-Compliant Quote Character}[#label-Recipe-3A+Generate+Non-Compliant+Quote+Character] + +=== Output Formats + +You can generate \CSV output to a \String, to a \File (via its path), or to an \IO stream. + +==== Generating to a \String + +You can generate \CSV output to a \String, with or without headers. + +===== Recipe: Generate to \String with Headers + +Use class method CSV.generate with option +headers+ to generate to a \String. + +This example uses method CSV#<< to append the rows +that are to be generated: + output_string = CSV.generate('', headers: ['Name', 'Value'], write_headers: true) do |csv| + csv << ['Foo', 0] + csv << ['Bar', 1] + csv << ['Baz', 2] + end + output_string # => "Name,Value\nFoo,0\nBar,1\nBaz,2\n" + +===== Recipe: Generate to \String Without Headers + +Use class method CSV.generate without option +headers+ to generate to a \String. + +This example uses method CSV#<< to append the rows +that are to be generated: + output_string = CSV.generate do |csv| + csv << ['Foo', 0] + csv << ['Bar', 1] + csv << ['Baz', 2] + end + output_string # => "Foo,0\nBar,1\nBaz,2\n" + +==== Generating to a \File + +You can generate /CSV data to a \File, with or without headers. + +===== Recipe: Generate to \File with Headers + +Use class method CSV.open with option +headers+ generate to a \File. + +This example uses method CSV#<< to append the rows +that are to be generated: + path = 't.csv' + CSV.open(path, 'w', headers: ['Name', 'Value'], write_headers: true) do |csv| + csv << ['Foo', 0] + csv << ['Bar', 1] + csv << ['Baz', 2] + end + p File.read(path) # => "Name,Value\nFoo,0\nBar,1\nBaz,2\n" + +===== Recipe: Generate to \File Without Headers + +Use class method CSV.open without option +headers+ to generate to a \File. + +This example uses method CSV#<< to append the rows +that are to be generated: + path = 't.csv' + CSV.open(path, 'w') do |csv| + csv << ['Foo', 0] + csv << ['Bar', 1] + csv << ['Baz', 2] + end + p File.read(path) # => "Foo,0\nBar,1\nBaz,2\n" + +==== Generating to an \IO Stream + +You can generate \CSV data to an \IO stream, with or without headers. + +==== Recipe: Generate to \IO Stream with Headers + +Use class method CSV.new with option +headers+ to generate \CSV data to an \IO stream: + path = 't.csv' + File.open(path, 'w') do |file| + csv = CSV.new(file, headers: ['Name', 'Value'], write_headers: true) + csv << ['Foo', 0] + csv << ['Bar', 1] + csv << ['Baz', 2] + end + p File.read(path) # => "Name,Value\nFoo,0\nBar,1\nBaz,2\n" + +===== Recipe: Generate to \IO Stream Without Headers + +Use class method CSV.new without option +headers+ to generate \CSV data to an \IO stream: + path = 't.csv' + File.open(path, 'w') do |file| + csv = CSV.new(file) + csv << ['Foo', 0] + csv << ['Bar', 1] + csv << ['Baz', 2] + end + p File.read(path) # => "Foo,0\nBar,1\nBaz,2\n" + +=== Converting Fields + +You can use _write_ _converters_ to convert fields when generating \CSV. + +==== Recipe: Filter Generated Field Strings + +Use option :write_converters and a custom converter to convert field values when generating \CSV. + +This example defines and uses a custom write converter to strip whitespace from generated fields: + strip_converter = proc {|field| field.respond_to?(:strip) ? field.strip : field } + output_string = CSV.generate(write_converters: strip_converter) do |csv| + csv << [' foo ', 0] + csv << [' bar ', 1] + csv << [' baz ', 2] + end + output_string # => "foo,0\nbar,1\nbaz,2\n" + +==== Recipe: Specify Multiple Write Converters + +Use option :write_converters and multiple custom converters +to convert field values when generating \CSV. + +This example defines and uses two custom write converters to strip and upcase generated fields: + strip_converter = proc {|field| field.respond_to?(:strip) ? field.strip : field } + upcase_converter = proc {|field| field.respond_to?(:upcase) ? field.upcase : field } + converters = [strip_converter, upcase_converter] + output_string = CSV.generate(write_converters: converters) do |csv| + csv << [' foo ', 0] + csv << [' bar ', 1] + csv << [' baz ', 2] + end + output_string # => "FOO,0\nBAR,1\nBAZ,2\n" + +=== RFC 4180 Compliance + +By default, \CSV generates data that is compliant with +{RFC 4180}[https://www.rfc-editor.org/rfc/rfc4180] +with respect to: +- Column separator. +- Quote character. + +==== Row Separator + +RFC 4180 specifies the row separator CRLF (Ruby "\r\n"). + +===== Recipe: Generate Compliant Row Separator + +For strict compliance, use option +:row_sep+ to specify row separator "\r\n": + output_string = CSV.generate('', row_sep: "\r\n") do |csv| + csv << ['Foo', 0] + csv << ['Bar', 1] + csv << ['Baz', 2] + end + output_string # => "Foo,0\r\nBar,1\r\nBaz,2\r\n" + +===== Recipe: Generate Non-Compliant Row Separator + +For data with non-compliant row separators, use option +:row_sep+ with a different value: +This example source uses semicolon (";') as its row separator: + output_string = CSV.generate('', row_sep: ";") do |csv| + csv << ['Foo', 0] + csv << ['Bar', 1] + csv << ['Baz', 2] + end + output_string # => "Foo,0;Bar,1;Baz,2;" + +==== Column Separator + +RFC 4180 specifies column separator COMMA (Ruby ","). + +===== Recipe: Generate Compliant Column Separator + +Because the \CSV default comma separator is ",", +you need not specify option +:col_sep+ for compliant data: + output_string = CSV.generate('') do |csv| + csv << ['Foo', 0] + csv << ['Bar', 1] + csv << ['Baz', 2] + end + output_string # => "Foo,0\nBar,1\nBaz,2\n" + +===== Recipe: Generate Non-Compliant Column Separator + +For data with non-compliant column separators, use option +:col_sep+. +This example source uses TAB ("\t") as its column separator: + output_string = CSV.generate('', col_sep: "\t") do |csv| + csv << ['Foo', 0] + csv << ['Bar', 1] + csv << ['Baz', 2] + end + output_string # => "Foo\t0\nBar\t1\nBaz\t2\n" + +==== Quotes + +IFC 4180 allows most fields to be quoted or not. +By default, \CSV does not quote most fields. + +However, a field containing the current row separator, column separator, +or quote character is automatically quoted, producing IFC 4180 compliance: + # Field contains row separator. + output_string = CSV.generate('') do |csv| + row_sep = csv.row_sep + csv << ["Foo#{row_sep}Foo", 0] + csv << ['Bar', 1] + csv << ['Baz', 2] + end + output_string # => "\"Foo\nFoo\",0\nBar,1\nBaz,2\n" + # Field contains column separator. + output_string = CSV.generate('') do |csv| + col_sep = csv.col_sep + csv << ["Foo#{col_sep}Foo", 0] + csv << ['Bar', 1] + csv << ['Baz', 2] + end + output_string # => "\"Foo,Foo\",0\nBar,1\nBaz,2\n" + # Field contains quote character. + output_string = CSV.generate('') do |csv| + quote_char = csv.quote_char + csv << ["Foo#{quote_char}Foo", 0] + csv << ['Bar', 1] + csv << ['Baz', 2] + end + output_string # => "\"Foo\"\"Foo\",0\nBar,1\nBaz,2\n" + +===== Recipe: Quote All Fields + +Use option +:force_quotes+ to force quoted fields: + output_string = CSV.generate('', force_quotes: true) do |csv| + csv << ['Foo', 0] + csv << ['Bar', 1] + csv << ['Baz', 2] + end + output_string # => "\"Foo\",\"0\"\n\"Bar\",\"1\"\n\"Baz\",\"2\"\n" + +===== Recipe: Quote Empty Fields + +Use option +:quote_empty+ to force quoting for empty fields: + output_string = CSV.generate('', quote_empty: true) do |csv| + csv << ['Foo', 0] + csv << ['Bar', 1] + csv << ['', 2] + end + output_string # => "Foo,0\nBar,1\n\"\",2\n" + +===== Recipe: Generate Compliant Quote Character + +RFC 4180 specifies quote character DQUOTE (Ruby "\""). + +Because the \CSV default quote character is also "\"", +you need not specify option +:quote_char+ for compliant data: + output_string = CSV.generate('', force_quotes: true) do |csv| + csv << ['Foo', 0] + csv << ['Bar', 1] + csv << ['Baz', 2] + end + output_string # => "\"Foo\",\"0\"\n\"Bar\",\"1\"\n\"Baz\",\"2\"\n" + +===== Recipe: Generate Non-Compliant Quote Character + +For data with non-compliant quote characters, use option +:quote_char+. +This example source uses SQUOTE ("'") as its quote character: + output_string = CSV.generate('', quote_char: "'", force_quotes: true) do |csv| + csv << ['Foo', 0] + csv << ['Bar', 1] + csv << ['Baz', 2] + end + output_string # => "'Foo','0'\n'Bar','1'\n'Baz','2'\n" diff --git a/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/recipes/parsing.rdoc b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/recipes/parsing.rdoc new file mode 100644 index 0000000..6367307 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/recipes/parsing.rdoc @@ -0,0 +1,554 @@ +== Recipes for Parsing \CSV + +These recipes are specific code examples for specific \CSV parsing tasks. + +For other recipes, see {Recipes for CSV}[./recipes_rdoc.html]. + +All code snippets on this page assume that the following has been executed: + require 'csv' + +=== Contents + +- {Source Formats}[#label-Source+Formats] + - {Parsing from a String}[#label-Parsing+from+a+String] + - {Recipe: Parse from String with Headers}[#label-Recipe-3A+Parse+from+String+with+Headers] + - {Recipe: Parse from String Without Headers}[#label-Recipe-3A+Parse+from+String+Without+Headers] + - {Parsing from a File}[#label-Parsing+from+a+File] + - {Recipe: Parse from File with Headers}[#label-Recipe-3A+Parse+from+File+with+Headers] + - {Recipe: Parse from File Without Headers}[#label-Recipe-3A+Parse+from+File+Without+Headers] + - {Parsing from an IO Stream}[#label-Parsing+from+an+IO+Stream] + - {Recipe: Parse from IO Stream with Headers}[#label-Recipe-3A+Parse+from+IO+Stream+with+Headers] + - {Recipe: Parse from IO Stream Without Headers}[#label-Recipe-3A+Parse+from+IO+Stream+Without+Headers] +- {RFC 4180 Compliance}[#label-RFC+4180+Compliance] + - {Row Separator}[#label-Row+Separator] + - {Recipe: Handle Compliant Row Separator}[#label-Recipe-3A+Handle+Compliant+Row+Separator] + - {Recipe: Handle Non-Compliant Row Separator}[#label-Recipe-3A+Handle+Non-Compliant+Row+Separator] + - {Column Separator}[#label-Column+Separator] + - {Recipe: Handle Compliant Column Separator}[#label-Recipe-3A+Handle+Compliant+Column+Separator] + - {Recipe: Handle Non-Compliant Column Separator}[#label-Recipe-3A+Handle+Non-Compliant+Column+Separator] + - {Quote Character}[#label-Quote+Character] + - {Recipe: Handle Compliant Quote Character}[#label-Recipe-3A+Handle+Compliant+Quote+Character] + - {Recipe: Handle Non-Compliant Quote Character}[#label-Recipe-3A+Handle+Non-Compliant+Quote+Character] + - {Recipe: Allow Liberal Parsing}[#label-Recipe-3A+Allow+Liberal+Parsing] +- {Special Handling}[#label-Special+Handling] + - {Special Line Handling}[#label-Special+Line+Handling] + - {Recipe: Ignore Blank Lines}[#label-Recipe-3A+Ignore+Blank+Lines] + - {Recipe: Ignore Selected Lines}[#label-Recipe-3A+Ignore+Selected+Lines] + - {Special Field Handling}[#label-Special+Field+Handling] + - {Recipe: Strip Fields}[#label-Recipe-3A+Strip+Fields] + - {Recipe: Handle Null Fields}[#label-Recipe-3A+Handle+Null+Fields] + - {Recipe: Handle Empty Fields}[#label-Recipe-3A+Handle+Empty+Fields] +- {Converting Fields}[#label-Converting+Fields] + - {Converting Fields to Objects}[#label-Converting+Fields+to+Objects] + - {Recipe: Convert Fields to Integers}[#label-Recipe-3A+Convert+Fields+to+Integers] + - {Recipe: Convert Fields to Floats}[#label-Recipe-3A+Convert+Fields+to+Floats] + - {Recipe: Convert Fields to Numerics}[#label-Recipe-3A+Convert+Fields+to+Numerics] + - {Recipe: Convert Fields to Dates}[#label-Recipe-3A+Convert+Fields+to+Dates] + - {Recipe: Convert Fields to DateTimes}[#label-Recipe-3A+Convert+Fields+to+DateTimes] + - {Recipe: Convert Fields to Times}[#label-Recipe-3A+Convert+Fields+to+Times] + - {Recipe: Convert Assorted Fields to Objects}[#label-Recipe-3A+Convert+Assorted+Fields+to+Objects] + - {Recipe: Convert Fields to Other Objects}[#label-Recipe-3A+Convert+Fields+to+Other+Objects] + - {Recipe: Filter Field Strings}[#label-Recipe-3A+Filter+Field+Strings] + - {Recipe: Register Field Converters}[#label-Recipe-3A+Register+Field+Converters] + - {Using Multiple Field Converters}[#label-Using+Multiple+Field+Converters] + - {Recipe: Specify Multiple Field Converters in Option :converters}[#label-Recipe-3A+Specify+Multiple+Field+Converters+in+Option+-3Aconverters] + - {Recipe: Specify Multiple Field Converters in a Custom Converter List}[#label-Recipe-3A+Specify+Multiple+Field+Converters+in+a+Custom+Converter+List] +- {Converting Headers}[#label-Converting+Headers] + - {Recipe: Convert Headers to Lowercase}[#label-Recipe-3A+Convert+Headers+to+Lowercase] + - {Recipe: Convert Headers to Symbols}[#label-Recipe-3A+Convert+Headers+to+Symbols] + - {Recipe: Filter Header Strings}[#label-Recipe-3A+Filter+Header+Strings] + - {Recipe: Register Header Converters}[#label-Recipe-3A+Register+Header+Converters] + - {Using Multiple Header Converters}[#label-Using+Multiple+Header+Converters] + - {Recipe: Specify Multiple Header Converters in Option :header_converters}[#label-Recipe-3A+Specify+Multiple+Header+Converters+in+Option+-3Aheader_converters] + - {Recipe: Specify Multiple Header Converters in a Custom Header Converter List}[#label-Recipe-3A+Specify+Multiple+Header+Converters+in+a+Custom+Header+Converter+List] +- {Diagnostics}[#label-Diagnostics] + - {Recipe: Capture Unconverted Fields}[#label-Recipe-3A+Capture+Unconverted+Fields] + - {Recipe: Capture Field Info}[#label-Recipe-3A+Capture+Field+Info] + +=== Source Formats + +You can parse \CSV data from a \String, from a \File (via its path), or from an \IO stream. + +==== Parsing from a \String + +You can parse \CSV data from a \String, with or without headers. + +===== Recipe: Parse from \String with Headers + +Use class method CSV.parse with option +headers+ to read a source \String all at once +(may have memory resource implications): + string = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + CSV.parse(string, headers: true) # => # + +Use instance method CSV#each with option +headers+ to read a source \String one row at a time: + CSV.new(string, headers: true).each do |row| + p row + end +Output: + # + # + # + +===== Recipe: Parse from \String Without Headers + +Use class method CSV.parse without option +headers+ to read a source \String all at once +(may have memory resource implications): + string = "foo,0\nbar,1\nbaz,2\n" + CSV.parse(string) # => [["foo", "0"], ["bar", "1"], ["baz", "2"]] + +Use instance method CSV#each without option +headers+ to read a source \String one row at a time: + CSV.new(string).each do |row| + p row + end +Output: + ["foo", "0"] + ["bar", "1"] + ["baz", "2"] + +==== Parsing from a \File + +You can parse \CSV data from a \File, with or without headers. + +===== Recipe: Parse from \File with Headers + +Use class method CSV.read with option +headers+ to read a file all at once: + string = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + path = 't.csv' + File.write(path, string) + CSV.read(path, headers: true) # => # + +Use class method CSV.foreach with option +headers+ to read one row at a time: + CSV.foreach(path, headers: true) do |row| + p row + end +Output: + # + # + # + +===== Recipe: Parse from \File Without Headers + +Use class method CSV.read without option +headers+ to read a file all at once: + string = "foo,0\nbar,1\nbaz,2\n" + path = 't.csv' + File.write(path, string) + CSV.read(path) # => [["foo", "0"], ["bar", "1"], ["baz", "2"]] + +Use class method CSV.foreach without option +headers+ to read one row at a time: + CSV.foreach(path) do |row| + p row + end +Output: + ["foo", "0"] + ["bar", "1"] + ["baz", "2"] + +==== Parsing from an \IO Stream + +You can parse \CSV data from an \IO stream, with or without headers. + +===== Recipe: Parse from \IO Stream with Headers + +Use class method CSV.parse with option +headers+ to read an \IO stream all at once: + string = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + path = 't.csv' + File.write(path, string) + File.open(path) do |file| + CSV.parse(file, headers: true) + end # => # + +Use class method CSV.foreach with option +headers+ to read one row at a time: + File.open(path) do |file| + CSV.foreach(file, headers: true) do |row| + p row + end + end +Output: + # + # + # + +===== Recipe: Parse from \IO Stream Without Headers + +Use class method CSV.parse without option +headers+ to read an \IO stream all at once: + string = "foo,0\nbar,1\nbaz,2\n" + path = 't.csv' + File.write(path, string) + File.open(path) do |file| + CSV.parse(file) + end # => [["foo", "0"], ["bar", "1"], ["baz", "2"]] + +Use class method CSV.foreach without option +headers+ to read one row at a time: + File.open(path) do |file| + CSV.foreach(file) do |row| + p row + end + end +Output: + ["foo", "0"] + ["bar", "1"] + ["baz", "2"] + +=== RFC 4180 Compliance + +By default, \CSV parses data that is compliant with +{RFC 4180}[https://www.rfc-editor.org/rfc/rfc4180] +with respect to: +- Row separator. +- Column separator. +- Quote character. + +==== Row Separator + +RFC 4180 specifies the row separator CRLF (Ruby "\r\n"). + +Although the \CSV default row separator is "\n", +the parser also by default handles row separator "\r" and the RFC-compliant "\r\n". + +===== Recipe: Handle Compliant Row Separator + +For strict compliance, use option +:row_sep+ to specify row separator "\r\n", +which allows the compliant row separator: + source = "foo,1\r\nbar,1\r\nbaz,2\r\n" + CSV.parse(source, row_sep: "\r\n") # => [["foo", "1"], ["bar", "1"], ["baz", "2"]] +But rejects other row separators: + source = "foo,1\nbar,1\nbaz,2\n" + CSV.parse(source, row_sep: "\r\n") # Raised MalformedCSVError + source = "foo,1\rbar,1\rbaz,2\r" + CSV.parse(source, row_sep: "\r\n") # Raised MalformedCSVError + source = "foo,1\n\rbar,1\n\rbaz,2\n\r" + CSV.parse(source, row_sep: "\r\n") # Raised MalformedCSVError + +===== Recipe: Handle Non-Compliant Row Separator + +For data with non-compliant row separators, use option +:row_sep+. +This example source uses semicolon (";") as its row separator: + source = "foo,1;bar,1;baz,2;" + CSV.parse(source, row_sep: ';') # => [["foo", "1"], ["bar", "1"], ["baz", "2"]] + +==== Column Separator + +RFC 4180 specifies column separator COMMA (Ruby ","). + +===== Recipe: Handle Compliant Column Separator + +Because the \CSV default comma separator is ',', +you need not specify option +:col_sep+ for compliant data: + source = "foo,1\nbar,1\nbaz,2\n" + CSV.parse(source) # => [["foo", "1"], ["bar", "1"], ["baz", "2"]] + +===== Recipe: Handle Non-Compliant Column Separator + +For data with non-compliant column separators, use option +:col_sep+. +This example source uses TAB ("\t") as its column separator: + source = "foo,1\tbar,1\tbaz,2" + CSV.parse(source, col_sep: "\t") # => [["foo", "1"], ["bar", "1"], ["baz", "2"]] + +==== Quote Character + +RFC 4180 specifies quote character DQUOTE (Ruby "\""). + +===== Recipe: Handle Compliant Quote Character + +Because the \CSV default quote character is "\"", +you need not specify option +:quote_char+ for compliant data: + source = "\"foo\",\"1\"\n\"bar\",\"1\"\n\"baz\",\"2\"\n" + CSV.parse(source) # => [["foo", "1"], ["bar", "1"], ["baz", "2"]] + +===== Recipe: Handle Non-Compliant Quote Character + +For data with non-compliant quote characters, use option +:quote_char+. +This example source uses SQUOTE ("'") as its quote character: + source = "'foo','1'\n'bar','1'\n'baz','2'\n" + CSV.parse(source, quote_char: "'") # => [["foo", "1"], ["bar", "1"], ["baz", "2"]] + +==== Recipe: Allow Liberal Parsing + +Use option +:liberal_parsing+ to specify that \CSV should +attempt to parse input not conformant with RFC 4180, such as double quotes in unquoted fields: + source = 'is,this "three, or four",fields' + CSV.parse(source) # Raises MalformedCSVError + CSV.parse(source, liberal_parsing: true) # => [["is", "this \"three", " or four\"", "fields"]] + +=== Special Handling + +You can use parsing options to specify special handling for certain lines and fields. + +==== Special Line Handling + +Use parsing options to specify special handling for blank lines, or for other selected lines. + +===== Recipe: Ignore Blank Lines + +Use option +:skip_blanks+ to ignore blank lines: + source = <<-EOT + foo,0 + + bar,1 + baz,2 + + , + EOT + parsed = CSV.parse(source, skip_blanks: true) + parsed # => [["foo", "0"], ["bar", "1"], ["baz", "2"], [nil, nil]] + +===== Recipe: Ignore Selected Lines + +Use option +:skip_lines+ to ignore selected lines. + source = <<-EOT + # Comment + foo,0 + bar,1 + baz,2 + # Another comment + EOT + parsed = CSV.parse(source, skip_lines: /^#/) + parsed # => [["foo", "0"], ["bar", "1"], ["baz", "2"]] + +==== Special Field Handling + +Use parsing options to specify special handling for certain field values. + +===== Recipe: Strip Fields + +Use option +:strip+ to strip parsed field values: + CSV.parse_line(' a , b ', strip: true) # => ["a", "b"] + +===== Recipe: Handle Null Fields + +Use option +:nil_value+ to specify a value that will replace each field +that is null (no text): + CSV.parse_line('a,,b,,c', nil_value: 0) # => ["a", 0, "b", 0, "c"] + +===== Recipe: Handle Empty Fields + +Use option +:empty_value+ to specify a value that will replace each field +that is empty (\String of length 0); + CSV.parse_line('a,"",b,"",c', empty_value: 'x') # => ["a", "x", "b", "x", "c"] + +=== Converting Fields + +You can use field converters to change parsed \String fields into other objects, +or to otherwise modify the \String fields. + +==== Converting Fields to Objects + +Use field converters to change parsed \String objects into other, more specific, objects. + +There are built-in field converters for converting to objects of certain classes: +- \Float +- \Integer +- \Date +- \DateTime +- \Time + +Other built-in field converters include: +- +:numeric+: converts to \Integer and \Float. +- +:all+: converts to \DateTime, \Integer, \Float. + +You can also define field converters to convert to objects of other classes. + +===== Recipe: Convert Fields to Integers + +Convert fields to \Integer objects using built-in converter +:integer+: + source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + parsed = CSV.parse(source, headers: true, converters: :integer) + parsed.map {|row| row['Value'].class} # => [Integer, Integer, Integer] + +===== Recipe: Convert Fields to Floats + +Convert fields to \Float objects using built-in converter +:float+: + source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + parsed = CSV.parse(source, headers: true, converters: :float) + parsed.map {|row| row['Value'].class} # => [Float, Float, Float] + +===== Recipe: Convert Fields to Numerics + +Convert fields to \Integer and \Float objects using built-in converter +:numeric+: + source = "Name,Value\nfoo,0\nbar,1.1\nbaz,2.2\n" + parsed = CSV.parse(source, headers: true, converters: :numeric) + parsed.map {|row| row['Value'].class} # => [Integer, Float, Float] + +===== Recipe: Convert Fields to Dates + +Convert fields to \Date objects using built-in converter +:date+: + source = "Name,Date\nfoo,2001-02-03\nbar,2001-02-04\nbaz,2001-02-03\n" + parsed = CSV.parse(source, headers: true, converters: :date) + parsed.map {|row| row['Date'].class} # => [Date, Date, Date] + +===== Recipe: Convert Fields to DateTimes + +Convert fields to \DateTime objects using built-in converter +:date_time+: + source = "Name,DateTime\nfoo,2001-02-03\nbar,2001-02-04\nbaz,2020-05-07T14:59:00-05:00\n" + parsed = CSV.parse(source, headers: true, converters: :date_time) + parsed.map {|row| row['DateTime'].class} # => [DateTime, DateTime, DateTime] + +===== Recipe: Convert Fields to Times + +Convert fields to \Time objects using built-in converter +:time+: + source = "Name,Time\nfoo,2001-02-03\nbar,2001-02-04\nbaz,2020-05-07T14:59:00-05:00\n" + parsed = CSV.parse(source, headers: true, converters: :time) + parsed.map {|row| row['Time'].class} # => [Time, Time, Time] + +===== Recipe: Convert Assorted Fields to Objects + +Convert assorted fields to objects using built-in converter +:all+: + source = "Type,Value\nInteger,0\nFloat,1.0\nDateTime,2001-02-04\n" + parsed = CSV.parse(source, headers: true, converters: :all) + parsed.map {|row| row['Value'].class} # => [Integer, Float, DateTime] + +===== Recipe: Convert Fields to Other Objects + +Define a custom field converter to convert \String fields into other objects. +This example defines and uses a custom field converter +that converts each column-1 value to a \Rational object: + rational_converter = proc do |field, field_context| + field_context.index == 1 ? field.to_r : field + end + source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + parsed = CSV.parse(source, headers: true, converters: rational_converter) + parsed.map {|row| row['Value'].class} # => [Rational, Rational, Rational] + +==== Recipe: Filter Field Strings + +Define a custom field converter to modify \String fields. +This example defines and uses a custom field converter +that strips whitespace from each field value: + strip_converter = proc {|field| field.strip } + source = "Name,Value\n foo , 0 \n bar , 1 \n baz , 2 \n" + parsed = CSV.parse(source, headers: true, converters: strip_converter) + parsed['Name'] # => ["foo", "bar", "baz"] + parsed['Value'] # => ["0", "1", "2"] + +==== Recipe: Register Field Converters + +Register a custom field converter, assigning it a name; +then refer to the converter by its name: + rational_converter = proc do |field, field_context| + field_context.index == 1 ? field.to_r : field + end + CSV::Converters[:rational] = rational_converter + source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + parsed = CSV.parse(source, headers: true, converters: :rational) + parsed['Value'] # => [(0/1), (1/1), (2/1)] + +==== Using Multiple Field Converters + +You can use multiple field converters in either of these ways: +- Specify converters in option +:converters+. +- Specify converters in a custom converter list. + +===== Recipe: Specify Multiple Field Converters in Option +:converters+ + +Apply multiple field converters by specifying them in option +:converters+: + source = "Name,Value\nfoo,0\nbar,1.0\nbaz,2.0\n" + parsed = CSV.parse(source, headers: true, converters: [:integer, :float]) + parsed['Value'] # => [0, 1.0, 2.0] + +===== Recipe: Specify Multiple Field Converters in a Custom Converter List + +Apply multiple field converters by defining and registering a custom converter list: + strip_converter = proc {|field| field.strip } + CSV::Converters[:strip] = strip_converter + CSV::Converters[:my_converters] = [:integer, :float, :strip] + source = "Name,Value\n foo , 0 \n bar , 1.0 \n baz , 2.0 \n" + parsed = CSV.parse(source, headers: true, converters: :my_converters) + parsed['Name'] # => ["foo", "bar", "baz"] + parsed['Value'] # => [0, 1.0, 2.0] + +=== Converting Headers + +You can use header converters to modify parsed \String headers. + +Built-in header converters include: +- +:symbol+: converts \String header to \Symbol. +- +:downcase+: converts \String header to lowercase. + +You can also define header converters to otherwise modify header \Strings. + +==== Recipe: Convert Headers to Lowercase + +Convert headers to lowercase using built-in converter +:downcase+: + source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + parsed = CSV.parse(source, headers: true, header_converters: :downcase) + parsed.headers # => ["name", "value"] + +==== Recipe: Convert Headers to Symbols + +Convert headers to downcased Symbols using built-in converter +:symbol+: + source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + parsed = CSV.parse(source, headers: true, header_converters: :symbol) + parsed.headers # => [:name, :value] + parsed.headers.map {|header| header.class} # => [Symbol, Symbol] + +==== Recipe: Filter Header Strings + +Define a custom header converter to modify \String fields. +This example defines and uses a custom header converter +that capitalizes each header \String: + capitalize_converter = proc {|header| header.capitalize } + source = "NAME,VALUE\nfoo,0\nbar,1\nbaz,2\n" + parsed = CSV.parse(source, headers: true, header_converters: capitalize_converter) + parsed.headers # => ["Name", "Value"] + +==== Recipe: Register Header Converters + +Register a custom header converter, assigning it a name; +then refer to the converter by its name: + capitalize_converter = proc {|header| header.capitalize } + CSV::HeaderConverters[:capitalize] = capitalize_converter + source = "NAME,VALUE\nfoo,0\nbar,1\nbaz,2\n" + parsed = CSV.parse(source, headers: true, header_converters: :capitalize) + parsed.headers # => ["Name", "Value"] + +==== Using Multiple Header Converters + +You can use multiple header converters in either of these ways: +- Specify header converters in option +:header_converters+. +- Specify header converters in a custom header converter list. + +===== Recipe: Specify Multiple Header Converters in Option :header_converters + +Apply multiple header converters by specifying them in option +:header_converters+: + source = "Name,Value\nfoo,0\nbar,1.0\nbaz,2.0\n" + parsed = CSV.parse(source, headers: true, header_converters: [:downcase, :symbol]) + parsed.headers # => [:name, :value] + +===== Recipe: Specify Multiple Header Converters in a Custom Header Converter List + +Apply multiple header converters by defining and registering a custom header converter list: + CSV::HeaderConverters[:my_header_converters] = [:symbol, :downcase] + source = "NAME,VALUE\nfoo,0\nbar,1.0\nbaz,2.0\n" + parsed = CSV.parse(source, headers: true, header_converters: :my_header_converters) + parsed.headers # => [:name, :value] + +=== Diagnostics + +==== Recipe: Capture Unconverted Fields + +To capture unconverted field values, use option +:unconverted_fields+: + source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + parsed = CSV.parse(source, converters: :integer, unconverted_fields: true) + parsed # => [["Name", "Value"], ["foo", 0], ["bar", 1], ["baz", 2]] + parsed.each {|row| p row.unconverted_fields } +Output: + ["Name", "Value"] + ["foo", "0"] + ["bar", "1"] + ["baz", "2"] + +==== Recipe: Capture Field Info + +To capture field info in a custom converter, accept two block arguments. +The first is the field value; the second is a +CSV::FieldInfo+ object: + strip_converter = proc {|field, field_info| p field_info; field.strip } + source = " foo , 0 \n bar , 1 \n baz , 2 \n" + parsed = CSV.parse(source, converters: strip_converter) + parsed # => [["foo", "0"], ["bar", "1"], ["baz", "2"]] +Output: + # + # + # + # + # + # diff --git a/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/recipes/recipes.rdoc b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/recipes/recipes.rdoc new file mode 100644 index 0000000..9bf7885 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/doc/csv/recipes/recipes.rdoc @@ -0,0 +1,6 @@ +== Recipes for \CSV + +The recipes are specific code examples for specific tasks. See: +- {Recipes for Parsing CSV}[./parsing_rdoc.html] +- {Recipes for Generating CSV}[./generating_rdoc.html] +- {Recipes for Filtering CSV}[./filtering_rdoc.html] diff --git a/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv.rb b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv.rb new file mode 100644 index 0000000..aef96ac --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv.rb @@ -0,0 +1,3017 @@ +# encoding: US-ASCII +# frozen_string_literal: true +# = csv.rb -- CSV Reading and Writing +# +# Created by James Edward Gray II on 2005-10-31. +# +# See CSV for documentation. +# +# == Description +# +# Welcome to the new and improved CSV. +# +# This version of the CSV library began its life as FasterCSV. FasterCSV was +# intended as a replacement to Ruby's then standard CSV library. It was +# designed to address concerns users of that library had and it had three +# primary goals: +# +# 1. Be significantly faster than CSV while remaining a pure Ruby library. +# 2. Use a smaller and easier to maintain code base. (FasterCSV eventually +# grew larger, was also but considerably richer in features. The parsing +# core remains quite small.) +# 3. Improve on the CSV interface. +# +# Obviously, the last one is subjective. I did try to defer to the original +# interface whenever I didn't have a compelling reason to change it though, so +# hopefully this won't be too radically different. +# +# We must have met our goals because FasterCSV was renamed to CSV and replaced +# the original library as of Ruby 1.9. If you are migrating code from 1.8 or +# earlier, you may have to change your code to comply with the new interface. +# +# == What's the Different From the Old CSV? +# +# I'm sure I'll miss something, but I'll try to mention most of the major +# differences I am aware of, to help others quickly get up to speed: +# +# === \CSV Parsing +# +# * This parser is m17n aware. See CSV for full details. +# * This library has a stricter parser and will throw MalformedCSVErrors on +# problematic data. +# * This library has a less liberal idea of a line ending than CSV. What you +# set as the :row_sep is law. It can auto-detect your line endings +# though. +# * The old library returned empty lines as [nil]. This library calls +# them []. +# * This library has a much faster parser. +# +# === Interface +# +# * CSV now uses keyword parameters to set options. +# * CSV no longer has generate_row() or parse_row(). +# * The old CSV's Reader and Writer classes have been dropped. +# * CSV::open() is now more like Ruby's open(). +# * CSV objects now support most standard IO methods. +# * CSV now has a new() method used to wrap objects like String and IO for +# reading and writing. +# * CSV::generate() is different from the old method. +# * CSV no longer supports partial reads. It works line-by-line. +# * CSV no longer allows the instance methods to override the separators for +# performance reasons. They must be set in the constructor. +# +# If you use this library and find yourself missing any functionality I have +# trimmed, please {let me know}[mailto:james@grayproductions.net]. +# +# == Documentation +# +# See CSV for documentation. +# +# == What is CSV, really? +# +# CSV maintains a pretty strict definition of CSV taken directly from +# {the RFC}[https://www.ietf.org/rfc/rfc4180.txt]. I relax the rules in only one +# place and that is to make using this library easier. CSV will parse all valid +# CSV. +# +# What you don't want to do is to feed CSV invalid data. Because of the way the +# CSV format works, it's common for a parser to need to read until the end of +# the file to be sure a field is invalid. This consumes a lot of time and memory. +# +# Luckily, when working with invalid CSV, Ruby's built-in methods will almost +# always be superior in every way. For example, parsing non-quoted fields is as +# easy as: +# +# data.split(",") +# +# == Questions and/or Comments +# +# Feel free to email {James Edward Gray II}[mailto:james@grayproductions.net] +# with any questions. + +require "forwardable" +require "date" +require "time" +require "stringio" + +require_relative "csv/fields_converter" +require_relative "csv/input_record_separator" +require_relative "csv/parser" +require_relative "csv/row" +require_relative "csv/table" +require_relative "csv/writer" + +# == \CSV +# +# === \CSV Data +# +# \CSV (comma-separated values) data is a text representation of a table: +# - A _row_ _separator_ delimits table rows. +# A common row separator is the newline character "\n". +# - A _column_ _separator_ delimits fields in a row. +# A common column separator is the comma character ",". +# +# This \CSV \String, with row separator "\n" +# and column separator ",", +# has three rows and two columns: +# "foo,0\nbar,1\nbaz,2\n" +# +# Despite the name \CSV, a \CSV representation can use different separators. +# +# For more about tables, see the Wikipedia article +# "{Table (information)}[https://en.wikipedia.org/wiki/Table_(information)]", +# especially its section +# "{Simple table}[https://en.wikipedia.org/wiki/Table_(information)#Simple_table]" +# +# == \Class \CSV +# +# Class \CSV provides methods for: +# - Parsing \CSV data from a \String object, a \File (via its file path), or an \IO object. +# - Generating \CSV data to a \String object. +# +# To make \CSV available: +# require 'csv' +# +# All examples here assume that this has been done. +# +# == Keeping It Simple +# +# A \CSV object has dozens of instance methods that offer fine-grained control +# of parsing and generating \CSV data. +# For many needs, though, simpler approaches will do. +# +# This section summarizes the singleton methods in \CSV +# that allow you to parse and generate without explicitly +# creating \CSV objects. +# For details, follow the links. +# +# === Simple Parsing +# +# Parsing methods commonly return either of: +# - An \Array of Arrays of Strings: +# - The outer \Array is the entire "table". +# - Each inner \Array is a row. +# - Each \String is a field. +# - A CSV::Table object. For details, see +# {\CSV with Headers}[#class-CSV-label-CSV+with+Headers]. +# +# ==== Parsing a \String +# +# The input to be parsed can be a string: +# string = "foo,0\nbar,1\nbaz,2\n" +# +# \Method CSV.parse returns the entire \CSV data: +# CSV.parse(string) # => [["foo", "0"], ["bar", "1"], ["baz", "2"]] +# +# \Method CSV.parse_line returns only the first row: +# CSV.parse_line(string) # => ["foo", "0"] +# +# \CSV extends class \String with instance method String#parse_csv, +# which also returns only the first row: +# string.parse_csv # => ["foo", "0"] +# +# ==== Parsing Via a \File Path +# +# The input to be parsed can be in a file: +# string = "foo,0\nbar,1\nbaz,2\n" +# path = 't.csv' +# File.write(path, string) +# +# \Method CSV.read returns the entire \CSV data: +# CSV.read(path) # => [["foo", "0"], ["bar", "1"], ["baz", "2"]] +# +# \Method CSV.foreach iterates, passing each row to the given block: +# CSV.foreach(path) do |row| +# p row +# end +# Output: +# ["foo", "0"] +# ["bar", "1"] +# ["baz", "2"] +# +# \Method CSV.table returns the entire \CSV data as a CSV::Table object: +# CSV.table(path) # => # +# +# ==== Parsing from an Open \IO Stream +# +# The input to be parsed can be in an open \IO stream: +# +# \Method CSV.read returns the entire \CSV data: +# File.open(path) do |file| +# CSV.read(file) +# end # => [["foo", "0"], ["bar", "1"], ["baz", "2"]] +# +# As does method CSV.parse: +# File.open(path) do |file| +# CSV.parse(file) +# end # => [["foo", "0"], ["bar", "1"], ["baz", "2"]] +# +# \Method CSV.parse_line returns only the first row: +# File.open(path) do |file| +# CSV.parse_line(file) +# end # => ["foo", "0"] +# +# \Method CSV.foreach iterates, passing each row to the given block: +# File.open(path) do |file| +# CSV.foreach(file) do |row| +# p row +# end +# end +# Output: +# ["foo", "0"] +# ["bar", "1"] +# ["baz", "2"] +# +# \Method CSV.table returns the entire \CSV data as a CSV::Table object: +# File.open(path) do |file| +# CSV.table(file) +# end # => # +# +# === Simple Generating +# +# \Method CSV.generate returns a \String; +# this example uses method CSV#<< to append the rows +# that are to be generated: +# output_string = CSV.generate do |csv| +# csv << ['foo', 0] +# csv << ['bar', 1] +# csv << ['baz', 2] +# end +# output_string # => "foo,0\nbar,1\nbaz,2\n" +# +# \Method CSV.generate_line returns a \String containing the single row +# constructed from an \Array: +# CSV.generate_line(['foo', '0']) # => "foo,0\n" +# +# \CSV extends class \Array with instance method Array#to_csv, +# which forms an \Array into a \String: +# ['foo', '0'].to_csv # => "foo,0\n" +# +# === "Filtering" \CSV +# +# \Method CSV.filter provides a Unix-style filter for \CSV data. +# The input data is processed to form the output data: +# in_string = "foo,0\nbar,1\nbaz,2\n" +# out_string = '' +# CSV.filter(in_string, out_string) do |row| +# row[0] = row[0].upcase +# row[1] *= 4 +# end +# out_string # => "FOO,0000\nBAR,1111\nBAZ,2222\n" +# +# == \CSV Objects +# +# There are three ways to create a \CSV object: +# - \Method CSV.new returns a new \CSV object. +# - \Method CSV.instance returns a new or cached \CSV object. +# - \Method \CSV() also returns a new or cached \CSV object. +# +# === Instance Methods +# +# \CSV has three groups of instance methods: +# - Its own internally defined instance methods. +# - Methods included by module Enumerable. +# - Methods delegated to class IO. See below. +# +# ==== Delegated Methods +# +# For convenience, a CSV object will delegate to many methods in class IO. +# (A few have wrapper "guard code" in \CSV.) You may call: +# * IO#binmode +# * #binmode? +# * IO#close +# * IO#close_read +# * IO#close_write +# * IO#closed? +# * #eof +# * #eof? +# * IO#external_encoding +# * IO#fcntl +# * IO#fileno +# * #flock +# * IO#flush +# * IO#fsync +# * IO#internal_encoding +# * #ioctl +# * IO#isatty +# * #path +# * IO#pid +# * IO#pos +# * IO#pos= +# * IO#reopen +# * #rewind +# * IO#seek +# * #stat +# * IO#string +# * IO#sync +# * IO#sync= +# * IO#tell +# * #to_i +# * #to_io +# * IO#truncate +# * IO#tty? +# +# === Options +# +# The default values for options are: +# DEFAULT_OPTIONS = { +# # For both parsing and generating. +# col_sep: ",", +# row_sep: :auto, +# quote_char: '"', +# # For parsing. +# field_size_limit: nil, +# converters: nil, +# unconverted_fields: nil, +# headers: false, +# return_headers: false, +# header_converters: nil, +# skip_blanks: false, +# skip_lines: nil, +# liberal_parsing: false, +# nil_value: nil, +# empty_value: "", +# strip: false, +# # For generating. +# write_headers: nil, +# quote_empty: true, +# force_quotes: false, +# write_converters: nil, +# write_nil_value: nil, +# write_empty_value: "", +# } +# +# ==== Options for Parsing +# +# Options for parsing, described in detail below, include: +# - +row_sep+: Specifies the row separator; used to delimit rows. +# - +col_sep+: Specifies the column separator; used to delimit fields. +# - +quote_char+: Specifies the quote character; used to quote fields. +# - +field_size_limit+: Specifies the maximum field size + 1 allowed. +# Deprecated since 3.2.3. Use +max_field_size+ instead. +# - +max_field_size+: Specifies the maximum field size allowed. +# - +converters+: Specifies the field converters to be used. +# - +unconverted_fields+: Specifies whether unconverted fields are to be available. +# - +headers+: Specifies whether data contains headers, +# or specifies the headers themselves. +# - +return_headers+: Specifies whether headers are to be returned. +# - +header_converters+: Specifies the header converters to be used. +# - +skip_blanks+: Specifies whether blanks lines are to be ignored. +# - +skip_lines+: Specifies how comments lines are to be recognized. +# - +strip+: Specifies whether leading and trailing whitespace are to be +# stripped from fields. This must be compatible with +col_sep+; if it is not, +# then an +ArgumentError+ exception will be raised. +# - +liberal_parsing+: Specifies whether \CSV should attempt to parse +# non-compliant data. +# - +nil_value+: Specifies the object that is to be substituted for each null (no-text) field. +# - +empty_value+: Specifies the object that is to be substituted for each empty field. +# +# :include: ../doc/csv/options/common/row_sep.rdoc +# +# :include: ../doc/csv/options/common/col_sep.rdoc +# +# :include: ../doc/csv/options/common/quote_char.rdoc +# +# :include: ../doc/csv/options/parsing/field_size_limit.rdoc +# +# :include: ../doc/csv/options/parsing/converters.rdoc +# +# :include: ../doc/csv/options/parsing/unconverted_fields.rdoc +# +# :include: ../doc/csv/options/parsing/headers.rdoc +# +# :include: ../doc/csv/options/parsing/return_headers.rdoc +# +# :include: ../doc/csv/options/parsing/header_converters.rdoc +# +# :include: ../doc/csv/options/parsing/skip_blanks.rdoc +# +# :include: ../doc/csv/options/parsing/skip_lines.rdoc +# +# :include: ../doc/csv/options/parsing/strip.rdoc +# +# :include: ../doc/csv/options/parsing/liberal_parsing.rdoc +# +# :include: ../doc/csv/options/parsing/nil_value.rdoc +# +# :include: ../doc/csv/options/parsing/empty_value.rdoc +# +# ==== Options for Generating +# +# Options for generating, described in detail below, include: +# - +row_sep+: Specifies the row separator; used to delimit rows. +# - +col_sep+: Specifies the column separator; used to delimit fields. +# - +quote_char+: Specifies the quote character; used to quote fields. +# - +write_headers+: Specifies whether headers are to be written. +# - +force_quotes+: Specifies whether each output field is to be quoted. +# - +quote_empty+: Specifies whether each empty output field is to be quoted. +# - +write_converters+: Specifies the field converters to be used in writing. +# - +write_nil_value+: Specifies the object that is to be substituted for each +nil+-valued field. +# - +write_empty_value+: Specifies the object that is to be substituted for each empty field. +# +# :include: ../doc/csv/options/common/row_sep.rdoc +# +# :include: ../doc/csv/options/common/col_sep.rdoc +# +# :include: ../doc/csv/options/common/quote_char.rdoc +# +# :include: ../doc/csv/options/generating/write_headers.rdoc +# +# :include: ../doc/csv/options/generating/force_quotes.rdoc +# +# :include: ../doc/csv/options/generating/quote_empty.rdoc +# +# :include: ../doc/csv/options/generating/write_converters.rdoc +# +# :include: ../doc/csv/options/generating/write_nil_value.rdoc +# +# :include: ../doc/csv/options/generating/write_empty_value.rdoc +# +# === \CSV with Headers +# +# CSV allows to specify column names of CSV file, whether they are in data, or +# provided separately. If headers are specified, reading methods return an instance +# of CSV::Table, consisting of CSV::Row. +# +# # Headers are part of data +# data = CSV.parse(<<~ROWS, headers: true) +# Name,Department,Salary +# Bob,Engineering,1000 +# Jane,Sales,2000 +# John,Management,5000 +# ROWS +# +# data.class #=> CSV::Table +# data.first #=> # +# data.first.to_h #=> {"Name"=>"Bob", "Department"=>"Engineering", "Salary"=>"1000"} +# +# # Headers provided by developer +# data = CSV.parse('Bob,Engineering,1000', headers: %i[name department salary]) +# data.first #=> # +# +# === \Converters +# +# By default, each value (field or header) parsed by \CSV is formed into a \String. +# You can use a _field_ _converter_ or _header_ _converter_ +# to intercept and modify the parsed values: +# - See {Field Converters}[#class-CSV-label-Field+Converters]. +# - See {Header Converters}[#class-CSV-label-Header+Converters]. +# +# Also by default, each value to be written during generation is written 'as-is'. +# You can use a _write_ _converter_ to modify values before writing. +# - See {Write Converters}[#class-CSV-label-Write+Converters]. +# +# ==== Specifying \Converters +# +# You can specify converters for parsing or generating in the +options+ +# argument to various \CSV methods: +# - Option +converters+ for converting parsed field values. +# - Option +header_converters+ for converting parsed header values. +# - Option +write_converters+ for converting values to be written (generated). +# +# There are three forms for specifying converters: +# - A converter proc: executable code to be used for conversion. +# - A converter name: the name of a stored converter. +# - A converter list: an array of converter procs, converter names, and converter lists. +# +# ===== Converter Procs +# +# This converter proc, +strip_converter+, accepts a value +field+ +# and returns field.strip: +# strip_converter = proc {|field| field.strip } +# In this call to CSV.parse, +# the keyword argument converters: string_converter +# specifies that: +# - \Proc +string_converter+ is to be called for each parsed field. +# - The converter's return value is to replace the +field+ value. +# Example: +# string = " foo , 0 \n bar , 1 \n baz , 2 \n" +# array = CSV.parse(string, converters: strip_converter) +# array # => [["foo", "0"], ["bar", "1"], ["baz", "2"]] +# +# A converter proc can receive a second argument, +field_info+, +# that contains details about the field. +# This modified +strip_converter+ displays its arguments: +# strip_converter = proc do |field, field_info| +# p [field, field_info] +# field.strip +# end +# string = " foo , 0 \n bar , 1 \n baz , 2 \n" +# array = CSV.parse(string, converters: strip_converter) +# array # => [["foo", "0"], ["bar", "1"], ["baz", "2"]] +# Output: +# [" foo ", #] +# [" 0 ", #] +# [" bar ", #] +# [" 1 ", #] +# [" baz ", #] +# [" 2 ", #] +# Each CSV::FieldInfo object shows: +# - The 0-based field index. +# - The 1-based line index. +# - The field header, if any. +# +# ===== Stored \Converters +# +# A converter may be given a name and stored in a structure where +# the parsing methods can find it by name. +# +# The storage structure for field converters is the \Hash CSV::Converters. +# It has several built-in converter procs: +# - :integer: converts each \String-embedded integer into a true \Integer. +# - :float: converts each \String-embedded float into a true \Float. +# - :date: converts each \String-embedded date into a true \Date. +# - :date_time: converts each \String-embedded date-time into a true \DateTime +# - :time: converts each \String-embedded time into a true \Time +# . +# This example creates a converter proc, then stores it: +# strip_converter = proc {|field| field.strip } +# CSV::Converters[:strip] = strip_converter +# Then the parsing method call can refer to the converter +# by its name, :strip: +# string = " foo , 0 \n bar , 1 \n baz , 2 \n" +# array = CSV.parse(string, converters: :strip) +# array # => [["foo", "0"], ["bar", "1"], ["baz", "2"]] +# +# The storage structure for header converters is the \Hash CSV::HeaderConverters, +# which works in the same way. +# It also has built-in converter procs: +# - :downcase: Downcases each header. +# - :symbol: Converts each header to a \Symbol. +# +# There is no such storage structure for write headers. +# +# In order for the parsing methods to access stored converters in non-main-Ractors, the +# storage structure must be made shareable first. +# Therefore, Ractor.make_shareable(CSV::Converters) and +# Ractor.make_shareable(CSV::HeaderConverters) must be called before the creation +# of Ractors that use the converters stored in these structures. (Since making the storage +# structures shareable involves freezing them, any custom converters that are to be used +# must be added first.) +# +# ===== Converter Lists +# +# A _converter_ _list_ is an \Array that may include any assortment of: +# - Converter procs. +# - Names of stored converters. +# - Nested converter lists. +# +# Examples: +# numeric_converters = [:integer, :float] +# date_converters = [:date, :date_time] +# [numeric_converters, strip_converter] +# [strip_converter, date_converters, :float] +# +# Like a converter proc, a converter list may be named and stored in either +# \CSV::Converters or CSV::HeaderConverters: +# CSV::Converters[:custom] = [strip_converter, date_converters, :float] +# CSV::HeaderConverters[:custom] = [:downcase, :symbol] +# +# There are two built-in converter lists: +# CSV::Converters[:numeric] # => [:integer, :float] +# CSV::Converters[:all] # => [:date_time, :numeric] +# +# ==== Field \Converters +# +# With no conversion, all parsed fields in all rows become Strings: +# string = "foo,0\nbar,1\nbaz,2\n" +# ary = CSV.parse(string) +# ary # => # => [["foo", "0"], ["bar", "1"], ["baz", "2"]] +# +# When you specify a field converter, each parsed field is passed to the converter; +# its return value becomes the stored value for the field. +# A converter might, for example, convert an integer embedded in a \String +# into a true \Integer. +# (In fact, that's what built-in field converter +:integer+ does.) +# +# There are three ways to use field \converters. +# +# - Using option {converters}[#class-CSV-label-Option+converters] with a parsing method: +# ary = CSV.parse(string, converters: :integer) +# ary # => [0, 1, 2] # => [["foo", 0], ["bar", 1], ["baz", 2]] +# - Using option {converters}[#class-CSV-label-Option+converters] with a new \CSV instance: +# csv = CSV.new(string, converters: :integer) +# # Field converters in effect: +# csv.converters # => [:integer] +# csv.read # => [["foo", 0], ["bar", 1], ["baz", 2]] +# - Using method #convert to add a field converter to a \CSV instance: +# csv = CSV.new(string) +# # Add a converter. +# csv.convert(:integer) +# csv.converters # => [:integer] +# csv.read # => [["foo", 0], ["bar", 1], ["baz", 2]] +# +# Installing a field converter does not affect already-read rows: +# csv = CSV.new(string) +# csv.shift # => ["foo", "0"] +# # Add a converter. +# csv.convert(:integer) +# csv.converters # => [:integer] +# csv.read # => [["bar", 1], ["baz", 2]] +# +# There are additional built-in \converters, and custom \converters are also supported. +# +# ===== Built-In Field \Converters +# +# The built-in field converters are in \Hash CSV::Converters: +# - Each key is a field converter name. +# - Each value is one of: +# - A \Proc field converter. +# - An \Array of field converter names. +# +# Display: +# CSV::Converters.each_pair do |name, value| +# if value.kind_of?(Proc) +# p [name, value.class] +# else +# p [name, value] +# end +# end +# Output: +# [:integer, Proc] +# [:float, Proc] +# [:numeric, [:integer, :float]] +# [:date, Proc] +# [:date_time, Proc] +# [:time, Proc] +# [:all, [:date_time, :numeric]] +# +# Each of these converters transcodes values to UTF-8 before attempting conversion. +# If a value cannot be transcoded to UTF-8 the conversion will +# fail and the value will remain unconverted. +# +# Converter +:integer+ converts each field that Integer() accepts: +# data = '0,1,2,x' +# # Without the converter +# csv = CSV.parse_line(data) +# csv # => ["0", "1", "2", "x"] +# # With the converter +# csv = CSV.parse_line(data, converters: :integer) +# csv # => [0, 1, 2, "x"] +# +# Converter +:float+ converts each field that Float() accepts: +# data = '1.0,3.14159,x' +# # Without the converter +# csv = CSV.parse_line(data) +# csv # => ["1.0", "3.14159", "x"] +# # With the converter +# csv = CSV.parse_line(data, converters: :float) +# csv # => [1.0, 3.14159, "x"] +# +# Converter +:numeric+ converts with both +:integer+ and +:float+.. +# +# Converter +:date+ converts each field that Date::parse accepts: +# data = '2001-02-03,x' +# # Without the converter +# csv = CSV.parse_line(data) +# csv # => ["2001-02-03", "x"] +# # With the converter +# csv = CSV.parse_line(data, converters: :date) +# csv # => [#, "x"] +# +# Converter +:date_time+ converts each field that DateTime::parse accepts: +# data = '2020-05-07T14:59:00-05:00,x' +# # Without the converter +# csv = CSV.parse_line(data) +# csv # => ["2020-05-07T14:59:00-05:00", "x"] +# # With the converter +# csv = CSV.parse_line(data, converters: :date_time) +# csv # => [#, "x"] +# +# Converter +time+ converts each field that Time::parse accepts: +# data = '2020-05-07T14:59:00-05:00,x' +# # Without the converter +# csv = CSV.parse_line(data) +# csv # => ["2020-05-07T14:59:00-05:00", "x"] +# # With the converter +# csv = CSV.parse_line(data, converters: :time) +# csv # => [2020-05-07 14:59:00 -0500, "x"] +# +# Converter +:numeric+ converts with both +:date_time+ and +:numeric+.. +# +# As seen above, method #convert adds \converters to a \CSV instance, +# and method #converters returns an \Array of the \converters in effect: +# csv = CSV.new('0,1,2') +# csv.converters # => [] +# csv.convert(:integer) +# csv.converters # => [:integer] +# csv.convert(:date) +# csv.converters # => [:integer, :date] +# +# ===== Custom Field \Converters +# +# You can define a custom field converter: +# strip_converter = proc {|field| field.strip } +# string = " foo , 0 \n bar , 1 \n baz , 2 \n" +# array = CSV.parse(string, converters: strip_converter) +# array # => [["foo", "0"], ["bar", "1"], ["baz", "2"]] +# You can register the converter in \Converters \Hash, +# which allows you to refer to it by name: +# CSV::Converters[:strip] = strip_converter +# string = " foo , 0 \n bar , 1 \n baz , 2 \n" +# array = CSV.parse(string, converters: :strip) +# array # => [["foo", "0"], ["bar", "1"], ["baz", "2"]] +# +# ==== Header \Converters +# +# Header converters operate only on headers (and not on other rows). +# +# There are three ways to use header \converters; +# these examples use built-in header converter +:downcase+, +# which downcases each parsed header. +# +# - Option +header_converters+ with a singleton parsing method: +# string = "Name,Count\nFoo,0\n,Bar,1\nBaz,2" +# tbl = CSV.parse(string, headers: true, header_converters: :downcase) +# tbl.class # => CSV::Table +# tbl.headers # => ["name", "count"] +# +# - Option +header_converters+ with a new \CSV instance: +# csv = CSV.new(string, header_converters: :downcase) +# # Header converters in effect: +# csv.header_converters # => [:downcase] +# tbl = CSV.parse(string, headers: true) +# tbl.headers # => ["Name", "Count"] +# +# - Method #header_convert adds a header converter to a \CSV instance: +# csv = CSV.new(string) +# # Add a header converter. +# csv.header_convert(:downcase) +# csv.header_converters # => [:downcase] +# tbl = CSV.parse(string, headers: true) +# tbl.headers # => ["Name", "Count"] +# +# ===== Built-In Header \Converters +# +# The built-in header \converters are in \Hash CSV::HeaderConverters. +# The keys there are the names of the \converters: +# CSV::HeaderConverters.keys # => [:downcase, :symbol] +# +# Converter +:downcase+ converts each header by downcasing it: +# string = "Name,Count\nFoo,0\n,Bar,1\nBaz,2" +# tbl = CSV.parse(string, headers: true, header_converters: :downcase) +# tbl.class # => CSV::Table +# tbl.headers # => ["name", "count"] +# +# Converter +:symbol+ converts each header by making it into a \Symbol: +# string = "Name,Count\nFoo,0\n,Bar,1\nBaz,2" +# tbl = CSV.parse(string, headers: true, header_converters: :symbol) +# tbl.headers # => [:name, :count] +# Details: +# - Strips leading and trailing whitespace. +# - Downcases the header. +# - Replaces embedded spaces with underscores. +# - Removes non-word characters. +# - Makes the string into a \Symbol. +# +# ===== Custom Header \Converters +# +# You can define a custom header converter: +# upcase_converter = proc {|header| header.upcase } +# string = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" +# table = CSV.parse(string, headers: true, header_converters: upcase_converter) +# table # => # +# table.headers # => ["NAME", "VALUE"] +# You can register the converter in \HeaderConverters \Hash, +# which allows you to refer to it by name: +# CSV::HeaderConverters[:upcase] = upcase_converter +# table = CSV.parse(string, headers: true, header_converters: :upcase) +# table # => # +# table.headers # => ["NAME", "VALUE"] +# +# ===== Write \Converters +# +# When you specify a write converter for generating \CSV, +# each field to be written is passed to the converter; +# its return value becomes the new value for the field. +# A converter might, for example, strip whitespace from a field. +# +# Using no write converter (all fields unmodified): +# output_string = CSV.generate do |csv| +# csv << [' foo ', 0] +# csv << [' bar ', 1] +# csv << [' baz ', 2] +# end +# output_string # => " foo ,0\n bar ,1\n baz ,2\n" +# Using option +write_converters+ with two custom write converters: +# strip_converter = proc {|field| field.respond_to?(:strip) ? field.strip : field } +# upcase_converter = proc {|field| field.respond_to?(:upcase) ? field.upcase : field } +# write_converters = [strip_converter, upcase_converter] +# output_string = CSV.generate(write_converters: write_converters) do |csv| +# csv << [' foo ', 0] +# csv << [' bar ', 1] +# csv << [' baz ', 2] +# end +# output_string # => "FOO,0\nBAR,1\nBAZ,2\n" +# +# === Character Encodings (M17n or Multilingualization) +# +# This new CSV parser is m17n savvy. The parser works in the Encoding of the IO +# or String object being read from or written to. Your data is never transcoded +# (unless you ask Ruby to transcode it for you) and will literally be parsed in +# the Encoding it is in. Thus CSV will return Arrays or Rows of Strings in the +# Encoding of your data. This is accomplished by transcoding the parser itself +# into your Encoding. +# +# Some transcoding must take place, of course, to accomplish this multiencoding +# support. For example, :col_sep, :row_sep, and +# :quote_char must be transcoded to match your data. Hopefully this +# makes the entire process feel transparent, since CSV's defaults should just +# magically work for your data. However, you can set these values manually in +# the target Encoding to avoid the translation. +# +# It's also important to note that while all of CSV's core parser is now +# Encoding agnostic, some features are not. For example, the built-in +# converters will try to transcode data to UTF-8 before making conversions. +# Again, you can provide custom converters that are aware of your Encodings to +# avoid this translation. It's just too hard for me to support native +# conversions in all of Ruby's Encodings. +# +# Anyway, the practical side of this is simple: make sure IO and String objects +# passed into CSV have the proper Encoding set and everything should just work. +# CSV methods that allow you to open IO objects (CSV::foreach(), CSV::open(), +# CSV::read(), and CSV::readlines()) do allow you to specify the Encoding. +# +# One minor exception comes when generating CSV into a String with an Encoding +# that is not ASCII compatible. There's no existing data for CSV to use to +# prepare itself and thus you will probably need to manually specify the desired +# Encoding for most of those cases. It will try to guess using the fields in a +# row of output though, when using CSV::generate_line() or Array#to_csv(). +# +# I try to point out any other Encoding issues in the documentation of methods +# as they come up. +# +# This has been tested to the best of my ability with all non-"dummy" Encodings +# Ruby ships with. However, it is brave new code and may have some bugs. +# Please feel free to {report}[mailto:james@grayproductions.net] any issues you +# find with it. +# +class CSV + + # The error thrown when the parser encounters illegal CSV formatting. + class MalformedCSVError < RuntimeError + attr_reader :line_number + alias_method :lineno, :line_number + def initialize(message, line_number) + @line_number = line_number + super("#{message} in line #{line_number}.") + end + end + + # The error thrown when the parser encounters invalid encoding in CSV. + class InvalidEncodingError < MalformedCSVError + attr_reader :encoding + def initialize(encoding, line_number) + @encoding = encoding + super("Invalid byte sequence in #{encoding}", line_number) + end + end + + # + # A FieldInfo Struct contains details about a field's position in the data + # source it was read from. CSV will pass this Struct to some blocks that make + # decisions based on field structure. See CSV.convert_fields() for an + # example. + # + # index:: The zero-based index of the field in its row. + # line:: The line of the data source this row is from. + # header:: The header for the column, when available. + # quoted?:: True or false, whether the original value is quoted or not. + # + FieldInfo = Struct.new(:index, :line, :header, :quoted?) + + # A Regexp used to find and convert some common Date formats. + DateMatcher = / \A(?: (\w+,?\s+)?\w+\s+\d{1,2},?\s+\d{2,4} | + \d{4}-\d{2}-\d{2} )\z /x + # A Regexp used to find and convert some common (Date)Time formats. + DateTimeMatcher = + / \A(?: (\w+,?\s+)?\w+\s+\d{1,2}\s+\d{1,2}:\d{1,2}:\d{1,2},?\s+\d{2,4} | + # ISO-8601 and RFC-3339 (space instead of T) recognized by (Date)Time.parse + \d{4}-\d{2}-\d{2} + (?:[T\s]\d{2}:\d{2}(?::\d{2}(?:\.\d+)?(?:[+-]\d{2}(?::\d{2})|Z)?)?)? + )\z /x + + # The encoding used by all converters. + ConverterEncoding = Encoding.find("UTF-8") + + # A \Hash containing the names and \Procs for the built-in field converters. + # See {Built-In Field Converters}[#class-CSV-label-Built-In+Field+Converters]. + # + # This \Hash is intentionally left unfrozen, and may be extended with + # custom field converters. + # See {Custom Field Converters}[#class-CSV-label-Custom+Field+Converters]. + Converters = { + integer: lambda { |f| + Integer(f.encode(ConverterEncoding)) rescue f + }, + float: lambda { |f| + Float(f.encode(ConverterEncoding)) rescue f + }, + numeric: [:integer, :float], + date: lambda { |f| + begin + e = f.encode(ConverterEncoding) + e.match?(DateMatcher) ? Date.parse(e) : f + rescue # encoding conversion or date parse errors + f + end + }, + date_time: lambda { |f| + begin + e = f.encode(ConverterEncoding) + e.match?(DateTimeMatcher) ? DateTime.parse(e) : f + rescue # encoding conversion or date parse errors + f + end + }, + time: lambda { |f| + begin + e = f.encode(ConverterEncoding) + e.match?(DateTimeMatcher) ? Time.parse(e) : f + rescue # encoding conversion or parse errors + f + end + }, + all: [:date_time, :numeric], + } + + # A \Hash containing the names and \Procs for the built-in header converters. + # See {Built-In Header Converters}[#class-CSV-label-Built-In+Header+Converters]. + # + # This \Hash is intentionally left unfrozen, and may be extended with + # custom field converters. + # See {Custom Header Converters}[#class-CSV-label-Custom+Header+Converters]. + HeaderConverters = { + downcase: lambda { |h| h.encode(ConverterEncoding).downcase }, + symbol: lambda { |h| + h.encode(ConverterEncoding).downcase.gsub(/[^\s\w]+/, "").strip. + gsub(/\s+/, "_").to_sym + }, + symbol_raw: lambda { |h| h.encode(ConverterEncoding).to_sym } + } + + # Default values for method options. + DEFAULT_OPTIONS = { + # For both parsing and generating. + col_sep: ",", + row_sep: :auto, + quote_char: '"', + # For parsing. + field_size_limit: nil, + max_field_size: nil, + converters: nil, + unconverted_fields: nil, + headers: false, + return_headers: false, + header_converters: nil, + skip_blanks: false, + skip_lines: nil, + liberal_parsing: false, + nil_value: nil, + empty_value: "", + strip: false, + # For generating. + write_headers: nil, + quote_empty: true, + force_quotes: false, + write_converters: nil, + write_nil_value: nil, + write_empty_value: "", + }.freeze + + class << self + # :call-seq: + # instance(string, **options) + # instance(io = $stdout, **options) + # instance(string, **options) {|csv| ... } + # instance(io = $stdout, **options) {|csv| ... } + # + # Creates or retrieves cached \CSV objects. + # For arguments and options, see CSV.new. + # + # This API is not Ractor-safe. + # + # --- + # + # With no block given, returns a \CSV object. + # + # The first call to +instance+ creates and caches a \CSV object: + # s0 = 's0' + # csv0 = CSV.instance(s0) + # csv0.class # => CSV + # + # Subsequent calls to +instance+ with that _same_ +string+ or +io+ + # retrieve that same cached object: + # csv1 = CSV.instance(s0) + # csv1.class # => CSV + # csv1.equal?(csv0) # => true # Same CSV object + # + # A subsequent call to +instance+ with a _different_ +string+ or +io+ + # creates and caches a _different_ \CSV object. + # s1 = 's1' + # csv2 = CSV.instance(s1) + # csv2.equal?(csv0) # => false # Different CSV object + # + # All the cached objects remains available: + # csv3 = CSV.instance(s0) + # csv3.equal?(csv0) # true # Same CSV object + # csv4 = CSV.instance(s1) + # csv4.equal?(csv2) # true # Same CSV object + # + # --- + # + # When a block is given, calls the block with the created or retrieved + # \CSV object; returns the block's return value: + # CSV.instance(s0) {|csv| :foo } # => :foo + def instance(data = $stdout, **options) + # create a _signature_ for this method call, data object and options + sig = [data.object_id] + + options.values_at(*DEFAULT_OPTIONS.keys) + + # fetch or create the instance for this signature + @@instances ||= Hash.new + instance = (@@instances[sig] ||= new(data, **options)) + + if block_given? + yield instance # run block, if given, returning result + else + instance # or return the instance + end + end + + # :call-seq: + # filter(in_string_or_io, **options) {|row| ... } -> array_of_arrays or csv_table + # filter(in_string_or_io, out_string_or_io, **options) {|row| ... } -> array_of_arrays or csv_table + # filter(**options) {|row| ... } -> array_of_arrays or csv_table + # + # - Parses \CSV from a source (\String, \IO stream, or ARGF). + # - Calls the given block with each parsed row: + # - Without headers, each row is an \Array. + # - With headers, each row is a CSV::Row. + # - Generates \CSV to an output (\String, \IO stream, or STDOUT). + # - Returns the parsed source: + # - Without headers, an \Array of \Arrays. + # - With headers, a CSV::Table. + # + # When +in_string_or_io+ is given, but not +out_string_or_io+, + # parses from the given +in_string_or_io+ + # and generates to STDOUT. + # + # \String input without headers: + # + # in_string = "foo,0\nbar,1\nbaz,2" + # CSV.filter(in_string) do |row| + # row[0].upcase! + # row[1] = - row[1].to_i + # end # => [["FOO", 0], ["BAR", -1], ["BAZ", -2]] + # + # Output (to STDOUT): + # + # FOO,0 + # BAR,-1 + # BAZ,-2 + # + # \String input with headers: + # + # in_string = "Name,Value\nfoo,0\nbar,1\nbaz,2" + # CSV.filter(in_string, headers: true) do |row| + # row[0].upcase! + # row[1] = - row[1].to_i + # end # => # + # + # Output (to STDOUT): + # + # Name,Value + # FOO,0 + # BAR,-1 + # BAZ,-2 + # + # \IO stream input without headers: + # + # File.write('t.csv', "foo,0\nbar,1\nbaz,2") + # File.open('t.csv') do |in_io| + # CSV.filter(in_io) do |row| + # row[0].upcase! + # row[1] = - row[1].to_i + # end + # end # => [["FOO", 0], ["BAR", -1], ["BAZ", -2]] + # + # Output (to STDOUT): + # + # FOO,0 + # BAR,-1 + # BAZ,-2 + # + # \IO stream input with headers: + # + # File.write('t.csv', "Name,Value\nfoo,0\nbar,1\nbaz,2") + # File.open('t.csv') do |in_io| + # CSV.filter(in_io, headers: true) do |row| + # row[0].upcase! + # row[1] = - row[1].to_i + # end + # end # => # + # + # Output (to STDOUT): + # + # Name,Value + # FOO,0 + # BAR,-1 + # BAZ,-2 + # + # When both +in_string_or_io+ and +out_string_or_io+ are given, + # parses from +in_string_or_io+ and generates to +out_string_or_io+. + # + # \String output without headers: + # + # in_string = "foo,0\nbar,1\nbaz,2" + # out_string = '' + # CSV.filter(in_string, out_string) do |row| + # row[0].upcase! + # row[1] = - row[1].to_i + # end # => [["FOO", 0], ["BAR", -1], ["BAZ", -2]] + # out_string # => "FOO,0\nBAR,-1\nBAZ,-2\n" + # + # \String output with headers: + # + # in_string = "Name,Value\nfoo,0\nbar,1\nbaz,2" + # out_string = '' + # CSV.filter(in_string, out_string, headers: true) do |row| + # row[0].upcase! + # row[1] = - row[1].to_i + # end # => # + # out_string # => "Name,Value\nFOO,0\nBAR,-1\nBAZ,-2\n" + # + # \IO stream output without headers: + # + # in_string = "foo,0\nbar,1\nbaz,2" + # File.open('t.csv', 'w') do |out_io| + # CSV.filter(in_string, out_io) do |row| + # row[0].upcase! + # row[1] = - row[1].to_i + # end + # end # => [["FOO", 0], ["BAR", -1], ["BAZ", -2]] + # File.read('t.csv') # => "FOO,0\nBAR,-1\nBAZ,-2\n" + # + # \IO stream output with headers: + # + # in_string = "Name,Value\nfoo,0\nbar,1\nbaz,2" + # File.open('t.csv', 'w') do |out_io| + # CSV.filter(in_string, out_io, headers: true) do |row| + # row[0].upcase! + # row[1] = - row[1].to_i + # end + # end # => # + # File.read('t.csv') # => "Name,Value\nFOO,0\nBAR,-1\nBAZ,-2\n" + # + # When neither +in_string_or_io+ nor +out_string_or_io+ given, + # parses from {ARGF}[rdoc-ref:ARGF] + # and generates to STDOUT. + # + # Without headers: + # + # # Put Ruby code into a file. + # ruby = <<-EOT + # require 'csv' + # CSV.filter do |row| + # row[0].upcase! + # row[1] = - row[1].to_i + # end + # EOT + # File.write('t.rb', ruby) + # # Put some CSV into a file. + # File.write('t.csv', "foo,0\nbar,1\nbaz,2") + # # Run the Ruby code with CSV filename as argument. + # system(Gem.ruby, "t.rb", "t.csv") + # + # Output (to STDOUT): + # + # FOO,0 + # BAR,-1 + # BAZ,-2 + # + # With headers: + # + # # Put Ruby code into a file. + # ruby = <<-EOT + # require 'csv' + # CSV.filter(headers: true) do |row| + # row[0].upcase! + # row[1] = - row[1].to_i + # end + # EOT + # File.write('t.rb', ruby) + # # Put some CSV into a file. + # File.write('t.csv', "Name,Value\nfoo,0\nbar,1\nbaz,2") + # # Run the Ruby code with CSV filename as argument. + # system(Gem.ruby, "t.rb", "t.csv") + # + # Output (to STDOUT): + # + # Name,Value + # FOO,0 + # BAR,-1 + # BAZ,-2 + # + # Arguments: + # + # * Argument +in_string_or_io+ must be a \String or an \IO stream. + # * Argument +out_string_or_io+ must be a \String or an \IO stream. + # * Arguments **options must be keyword options. + # + # - Each option defined as an {option for parsing}[#class-CSV-label-Options+for+Parsing] + # is used for parsing the filter input. + # - Each option defined as an {option for generating}[#class-CSV-label-Options+for+Generating] + # is used for generator the filter input. + # + # However, there are three options that may be used for both parsing and generating: + # +col_sep+, +quote_char+, and +row_sep+. + # + # Therefore for method +filter+ (and method +filter+ only), + # there are special options that allow these parsing and generating options + # to be specified separately: + # + # - Options +input_col_sep+ and +output_col_sep+ + # (and their aliases +in_col_sep+ and +out_col_sep+) + # specify the column separators for parsing and generating. + # - Options +input_quote_char+ and +output_quote_char+ + # (and their aliases +in_quote_char+ and +out_quote_char+) + # specify the quote characters for parsing and generting. + # - Options +input_row_sep+ and +output_row_sep+ + # (and their aliases +in_row_sep+ and +out_row_sep+) + # specify the row separators for parsing and generating. + # + # Example options (for column separators): + # + # CSV.filter # Default for both parsing and generating. + # CSV.filter(in_col_sep: ';') # ';' for parsing, default for generating. + # CSV.filter(out_col_sep: '|') # Default for parsing, '|' for generating. + # CSV.filter(in_col_sep: ';', out_col_sep: '|') # ';' for parsing, '|' for generating. + # + # Note that for a special option (e.g., +input_col_sep+) + # and its corresponding "regular" option (e.g., +col_sep+), + # the two are mutually overriding. + # + # Another example (possibly surprising): + # + # CSV.filter(in_col_sep: ';', col_sep: '|') # '|' for both parsing(!) and generating. + # + def filter(input=nil, output=nil, **options) + # parse options for input, output, or both + in_options, out_options = Hash.new, {row_sep: InputRecordSeparator.value} + options.each do |key, value| + case key + when /\Ain(?:put)?_(.+)\Z/ + in_options[$1.to_sym] = value + when /\Aout(?:put)?_(.+)\Z/ + out_options[$1.to_sym] = value + else + in_options[key] = value + out_options[key] = value + end + end + + # build input and output wrappers + input = new(input || ARGF, **in_options) + output = new(output || $stdout, **out_options) + + # process headers + need_manual_header_output = + (in_options[:headers] and + out_options[:headers] == true and + out_options[:write_headers]) + if need_manual_header_output + first_row = input.shift + if first_row + if first_row.is_a?(Row) + headers = first_row.headers + yield headers + output << headers + end + yield first_row + output << first_row + end + end + + # read, yield, write + input.each do |row| + yield row + output << row + end + end + + # + # :call-seq: + # foreach(path_or_io, mode='r', **options) {|row| ... ) + # foreach(path_or_io, mode='r', **options) -> new_enumerator + # + # Calls the block with each row read from source +path_or_io+. + # + # \Path input without headers: + # + # string = "foo,0\nbar,1\nbaz,2\n" + # in_path = 't.csv' + # File.write(in_path, string) + # CSV.foreach(in_path) {|row| p row } + # + # Output: + # + # ["foo", "0"] + # ["bar", "1"] + # ["baz", "2"] + # + # \Path input with headers: + # + # string = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # in_path = 't.csv' + # File.write(in_path, string) + # CSV.foreach(in_path, headers: true) {|row| p row } + # + # Output: + # + # + # + # + # + # \IO stream input without headers: + # + # string = "foo,0\nbar,1\nbaz,2\n" + # path = 't.csv' + # File.write(path, string) + # File.open('t.csv') do |in_io| + # CSV.foreach(in_io) {|row| p row } + # end + # + # Output: + # + # ["foo", "0"] + # ["bar", "1"] + # ["baz", "2"] + # + # \IO stream input with headers: + # + # string = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # path = 't.csv' + # File.write(path, string) + # File.open('t.csv') do |in_io| + # CSV.foreach(in_io, headers: true) {|row| p row } + # end + # + # Output: + # + # + # + # + # + # With no block given, returns an \Enumerator: + # + # string = "foo,0\nbar,1\nbaz,2\n" + # path = 't.csv' + # File.write(path, string) + # CSV.foreach(path) # => # + # + # Arguments: + # * Argument +path_or_io+ must be a file path or an \IO stream. + # * Argument +mode+, if given, must be a \File mode. + # See {Access Modes}[https://docs.ruby-lang.org/en/master/File.html#class-File-label-Access+Modes]. + # * Arguments **options must be keyword options. + # See {Options for Parsing}[#class-CSV-label-Options+for+Parsing]. + # * This method optionally accepts an additional :encoding option + # that you can use to specify the Encoding of the data read from +path+ or +io+. + # You must provide this unless your data is in the encoding + # given by Encoding::default_external. + # Parsing will use this to determine how to parse the data. + # You may provide a second Encoding to + # have the data transcoded as it is read. For example, + # encoding: 'UTF-32BE:UTF-8' + # would read +UTF-32BE+ data from the file + # but transcode it to +UTF-8+ before parsing. + def foreach(path, mode="r", **options, &block) + return to_enum(__method__, path, mode, **options) unless block_given? + open(path, mode, **options) do |csv| + csv.each(&block) + end + end + + # + # :call-seq: + # generate(csv_string, **options) {|csv| ... } + # generate(**options) {|csv| ... } + # + # * Argument +csv_string+, if given, must be a \String object; + # defaults to a new empty \String. + # * Arguments +options+, if given, should be generating options. + # See {Options for Generating}[#class-CSV-label-Options+for+Generating]. + # + # --- + # + # Creates a new \CSV object via CSV.new(csv_string, **options); + # calls the block with the \CSV object, which the block may modify; + # returns the \String generated from the \CSV object. + # + # Note that a passed \String *is* modified by this method. + # Pass csv_string.dup if the \String must be preserved. + # + # This method has one additional option: :encoding, + # which sets the base Encoding for the output if no no +str+ is specified. + # CSV needs this hint if you plan to output non-ASCII compatible data. + # + # --- + # + # Add lines: + # input_string = "foo,0\nbar,1\nbaz,2\n" + # output_string = CSV.generate(input_string) do |csv| + # csv << ['bat', 3] + # csv << ['bam', 4] + # end + # output_string # => "foo,0\nbar,1\nbaz,2\nbat,3\nbam,4\n" + # input_string # => "foo,0\nbar,1\nbaz,2\nbat,3\nbam,4\n" + # output_string.equal?(input_string) # => true # Same string, modified + # + # Add lines into new string, preserving old string: + # input_string = "foo,0\nbar,1\nbaz,2\n" + # output_string = CSV.generate(input_string.dup) do |csv| + # csv << ['bat', 3] + # csv << ['bam', 4] + # end + # output_string # => "foo,0\nbar,1\nbaz,2\nbat,3\nbam,4\n" + # input_string # => "foo,0\nbar,1\nbaz,2\n" + # output_string.equal?(input_string) # => false # Different strings + # + # Create lines from nothing: + # output_string = CSV.generate do |csv| + # csv << ['foo', 0] + # csv << ['bar', 1] + # csv << ['baz', 2] + # end + # output_string # => "foo,0\nbar,1\nbaz,2\n" + # + # --- + # + # Raises an exception if +csv_string+ is not a \String object: + # # Raises TypeError (no implicit conversion of Integer into String) + # CSV.generate(0) + # + def generate(str=nil, **options) + encoding = options[:encoding] + # add a default empty String, if none was given + if str + str = StringIO.new(str) + str.seek(0, IO::SEEK_END) + str.set_encoding(encoding) if encoding + else + str = +"" + str.force_encoding(encoding) if encoding + end + csv = new(str, **options) # wrap + yield csv # yield for appending + csv.string # return final String + end + + # :call-seq: + # CSV.generate_line(ary) + # CSV.generate_line(ary, **options) + # + # Returns the \String created by generating \CSV from +ary+ + # using the specified +options+. + # + # Argument +ary+ must be an \Array. + # + # Special options: + # * Option :row_sep defaults to "\n"> on Ruby 3.0 or later + # and $INPUT_RECORD_SEPARATOR ($/) otherwise.: + # $INPUT_RECORD_SEPARATOR # => "\n" + # * This method accepts an additional option, :encoding, which sets the base + # Encoding for the output. This method will try to guess your Encoding from + # the first non-+nil+ field in +row+, if possible, but you may need to use + # this parameter as a backup plan. + # + # For other +options+, + # see {Options for Generating}[#class-CSV-label-Options+for+Generating]. + # + # --- + # + # Returns the \String generated from an \Array: + # CSV.generate_line(['foo', '0']) # => "foo,0\n" + # + # --- + # + # Raises an exception if +ary+ is not an \Array: + # # Raises NoMethodError (undefined method `find' for :foo:Symbol) + # CSV.generate_line(:foo) + # + def generate_line(row, **options) + options = {row_sep: InputRecordSeparator.value}.merge(options) + str = +"" + if options[:encoding] + str.force_encoding(options[:encoding]) + else + fallback_encoding = nil + output_encoding = nil + row.each do |field| + next unless field.is_a?(String) + fallback_encoding ||= field.encoding + next if field.ascii_only? + output_encoding = field.encoding + break + end + output_encoding ||= fallback_encoding + if output_encoding + str.force_encoding(output_encoding) + end + end + (new(str, **options) << row).string + end + + # :call-seq: + # CSV.generate_lines(rows) + # CSV.generate_lines(rows, **options) + # + # Returns the \String created by generating \CSV from + # using the specified +options+. + # + # Argument +rows+ must be an \Array of row. Row is \Array of \String or \CSV::Row. + # + # Special options: + # * Option :row_sep defaults to "\n" on Ruby 3.0 or later + # and $INPUT_RECORD_SEPARATOR ($/) otherwise.: + # $INPUT_RECORD_SEPARATOR # => "\n" + # * This method accepts an additional option, :encoding, which sets the base + # Encoding for the output. This method will try to guess your Encoding from + # the first non-+nil+ field in +row+, if possible, but you may need to use + # this parameter as a backup plan. + # + # For other +options+, + # see {Options for Generating}[#class-CSV-label-Options+for+Generating]. + # + # --- + # + # Returns the \String generated from an + # CSV.generate_lines([['foo', '0'], ['bar', '1'], ['baz', '2']]) # => "foo,0\nbar,1\nbaz,2\n" + # + # --- + # + # Raises an exception + # # Raises NoMethodError (undefined method `each' for :foo:Symbol) + # CSV.generate_lines(:foo) + # + def generate_lines(rows, **options) + self.generate(**options) do |csv| + rows.each do |row| + csv << row + end + end + end + + # + # :call-seq: + # open(path_or_io, mode = "rb", **options ) -> new_csv + # open(path_or_io, mode = "rb", **options ) { |csv| ... } -> object + # + # possible options elements: + # keyword form: + # :invalid => nil # raise error on invalid byte sequence (default) + # :invalid => :replace # replace invalid byte sequence + # :undef => :replace # replace undefined conversion + # :replace => string # replacement string ("?" or "\uFFFD" if not specified) + # + # * Argument +path_or_io+, must be a file path or an \IO stream. + # :include: ../doc/csv/arguments/io.rdoc + # * Argument +mode+, if given, must be a \File mode. + # See {Access Modes}[https://docs.ruby-lang.org/en/master/File.html#class-File-label-Access+Modes]. + # * Arguments **options must be keyword options. + # See {Options for Generating}[#class-CSV-label-Options+for+Generating]. + # * This method optionally accepts an additional :encoding option + # that you can use to specify the Encoding of the data read from +path+ or +io+. + # You must provide this unless your data is in the encoding + # given by Encoding::default_external. + # Parsing will use this to determine how to parse the data. + # You may provide a second Encoding to + # have the data transcoded as it is read. For example, + # encoding: 'UTF-32BE:UTF-8' + # would read +UTF-32BE+ data from the file + # but transcode it to +UTF-8+ before parsing. + # + # --- + # + # These examples assume prior execution of: + # string = "foo,0\nbar,1\nbaz,2\n" + # path = 't.csv' + # File.write(path, string) + # + # string_io = StringIO.new + # string_io << "foo,0\nbar,1\nbaz,2\n" + # + # --- + # + # With no block given, returns a new \CSV object. + # + # Create a \CSV object using a file path: + # csv = CSV.open(path) + # csv # => # + # + # Create a \CSV object using an open \File: + # csv = CSV.open(File.open(path)) + # csv # => # + # + # Create a \CSV object using a \StringIO: + # csv = CSV.open(string_io) + # csv # => # + # --- + # + # With a block given, calls the block with the created \CSV object; + # returns the block's return value: + # + # Using a file path: + # csv = CSV.open(path) {|csv| p csv} + # csv # => # + # Output: + # # + # + # Using an open \File: + # csv = CSV.open(File.open(path)) {|csv| p csv} + # csv # => # + # Output: + # # + # + # Using a \StringIO: + # csv = CSV.open(string_io) {|csv| p csv} + # csv # => # + # Output: + # # + # --- + # + # Raises an exception if the argument is not a \String object or \IO object: + # # Raises TypeError (no implicit conversion of Symbol into String) + # CSV.open(:foo) + def open(filename_or_io, mode="r", **options) + # wrap a File opened with the remaining +args+ with no newline + # decorator + file_opts = {} + may_enable_bom_detection_automatically(filename_or_io, + mode, + options, + file_opts) + file_opts.merge!(options) + unless file_opts.key?(:newline) + file_opts[:universal_newline] ||= false + end + options.delete(:invalid) + options.delete(:undef) + options.delete(:replace) + options.delete_if {|k, _| /newline\z/.match?(k)} + + if filename_or_io.is_a?(StringIO) + f = create_stringio(filename_or_io.string, mode, **file_opts) + else + begin + f = File.open(filename_or_io, mode, **file_opts) + rescue ArgumentError => e + raise unless /needs binmode/.match?(e.message) and mode == "r" + mode = "rb" + file_opts = {encoding: Encoding.default_external}.merge(file_opts) + retry + end + end + + begin + csv = new(f, **options) + rescue Exception + f.close + raise + end + + # handle blocks like Ruby's open(), not like the CSV library + if block_given? + begin + yield csv + ensure + csv.close + end + else + csv + end + end + + # + # :call-seq: + # parse(string) -> array_of_arrays + # parse(io) -> array_of_arrays + # parse(string, headers: ..., **options) -> csv_table + # parse(io, headers: ..., **options) -> csv_table + # parse(string, **options) {|row| ... } + # parse(io, **options) {|row| ... } + # + # Parses +string+ or +io+ using the specified +options+. + # + # - Argument +string+ should be a \String object; + # it will be put into a new StringIO object positioned at the beginning. + # :include: ../doc/csv/arguments/io.rdoc + # - Argument +options+: see {Options for Parsing}[#class-CSV-label-Options+for+Parsing] + # + # ====== Without Option +headers+ + # + # Without {option +headers+}[#class-CSV-label-Option+headers] case. + # + # These examples assume prior execution of: + # string = "foo,0\nbar,1\nbaz,2\n" + # path = 't.csv' + # File.write(path, string) + # + # --- + # + # With no block given, returns an \Array of Arrays formed from the source. + # + # Parse a \String: + # a_of_a = CSV.parse(string) + # a_of_a # => [["foo", "0"], ["bar", "1"], ["baz", "2"]] + # + # Parse an open \File: + # a_of_a = File.open(path) do |file| + # CSV.parse(file) + # end + # a_of_a # => [["foo", "0"], ["bar", "1"], ["baz", "2"]] + # + # --- + # + # With a block given, calls the block with each parsed row: + # + # Parse a \String: + # CSV.parse(string) {|row| p row } + # + # Output: + # ["foo", "0"] + # ["bar", "1"] + # ["baz", "2"] + # + # Parse an open \File: + # File.open(path) do |file| + # CSV.parse(file) {|row| p row } + # end + # + # Output: + # ["foo", "0"] + # ["bar", "1"] + # ["baz", "2"] + # + # ====== With Option +headers+ + # + # With {option +headers+}[#class-CSV-label-Option+headers] case. + # + # These examples assume prior execution of: + # string = "Name,Count\nfoo,0\nbar,1\nbaz,2\n" + # path = 't.csv' + # File.write(path, string) + # + # --- + # + # With no block given, returns a CSV::Table object formed from the source. + # + # Parse a \String: + # csv_table = CSV.parse(string, headers: ['Name', 'Count']) + # csv_table # => # + # + # Parse an open \File: + # csv_table = File.open(path) do |file| + # CSV.parse(file, headers: ['Name', 'Count']) + # end + # csv_table # => # + # + # --- + # + # With a block given, calls the block with each parsed row, + # which has been formed into a CSV::Row object: + # + # Parse a \String: + # CSV.parse(string, headers: ['Name', 'Count']) {|row| p row } + # + # Output: + # # + # # + # # + # + # Parse an open \File: + # File.open(path) do |file| + # CSV.parse(file, headers: ['Name', 'Count']) {|row| p row } + # end + # + # Output: + # # + # # + # # + # + # --- + # + # Raises an exception if the argument is not a \String object or \IO object: + # # Raises NoMethodError (undefined method `close' for :foo:Symbol) + # CSV.parse(:foo) + # + # --- + # + # Please make sure if your text contains \BOM or not. CSV.parse will not remove + # \BOM automatically. You might want to remove \BOM before calling CSV.parse : + # # remove BOM on calling File.open + # File.open(path, encoding: 'bom|utf-8') do |file| + # CSV.parse(file, headers: true) do |row| + # # you can get value by column name because BOM is removed + # p row['Name'] + # end + # end + # + # Output: + # # "foo" + # # "bar" + # # "baz" + def parse(str, **options, &block) + csv = new(str, **options) + + return csv.each(&block) if block_given? + + # slurp contents, if no block is given + begin + csv.read + ensure + csv.close + end + end + + # :call-seq: + # CSV.parse_line(string) -> new_array or nil + # CSV.parse_line(io) -> new_array or nil + # CSV.parse_line(string, **options) -> new_array or nil + # CSV.parse_line(io, **options) -> new_array or nil + # CSV.parse_line(string, headers: true, **options) -> csv_row or nil + # CSV.parse_line(io, headers: true, **options) -> csv_row or nil + # + # Returns the data created by parsing the first line of +string+ or +io+ + # using the specified +options+. + # + # - Argument +string+ should be a \String object; + # it will be put into a new StringIO object positioned at the beginning. + # :include: ../doc/csv/arguments/io.rdoc + # - Argument +options+: see {Options for Parsing}[#class-CSV-label-Options+for+Parsing] + # + # ====== Without Option +headers+ + # + # Without option +headers+, returns the first row as a new \Array. + # + # These examples assume prior execution of: + # string = "foo,0\nbar,1\nbaz,2\n" + # path = 't.csv' + # File.write(path, string) + # + # Parse the first line from a \String object: + # CSV.parse_line(string) # => ["foo", "0"] + # + # Parse the first line from a File object: + # File.open(path) do |file| + # CSV.parse_line(file) # => ["foo", "0"] + # end # => ["foo", "0"] + # + # Returns +nil+ if the argument is an empty \String: + # CSV.parse_line('') # => nil + # + # ====== With Option +headers+ + # + # With {option +headers+}[#class-CSV-label-Option+headers], + # returns the first row as a CSV::Row object. + # + # These examples assume prior execution of: + # string = "Name,Count\nfoo,0\nbar,1\nbaz,2\n" + # path = 't.csv' + # File.write(path, string) + # + # Parse the first line from a \String object: + # CSV.parse_line(string, headers: true) # => # + # + # Parse the first line from a File object: + # File.open(path) do |file| + # CSV.parse_line(file, headers: true) + # end # => # + # + # --- + # + # Raises an exception if the argument is +nil+: + # # Raises ArgumentError (Cannot parse nil as CSV): + # CSV.parse_line(nil) + # + def parse_line(line, **options) + new(line, **options).each.first + end + + # + # :call-seq: + # read(source, **options) -> array_of_arrays + # read(source, headers: true, **options) -> csv_table + # + # Opens the given +source+ with the given +options+ (see CSV.open), + # reads the source (see CSV#read), and returns the result, + # which will be either an \Array of Arrays or a CSV::Table. + # + # Without headers: + # string = "foo,0\nbar,1\nbaz,2\n" + # path = 't.csv' + # File.write(path, string) + # CSV.read(path) # => [["foo", "0"], ["bar", "1"], ["baz", "2"]] + # + # With headers: + # string = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # path = 't.csv' + # File.write(path, string) + # CSV.read(path, headers: true) # => # + def read(path, **options) + open(path, **options) { |csv| csv.read } + end + + # :call-seq: + # CSV.readlines(source, **options) + # + # Alias for CSV.read. + def readlines(path, **options) + read(path, **options) + end + + # :call-seq: + # CSV.table(source, **options) + # + # Calls CSV.read with +source+, +options+, and certain default options: + # - +headers+: +true+ + # - +converters+: +:numeric+ + # - +header_converters+: +:symbol+ + # + # Returns a CSV::Table object. + # + # Example: + # string = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # path = 't.csv' + # File.write(path, string) + # CSV.table(path) # => # + def table(path, **options) + default_options = { + headers: true, + converters: :numeric, + header_converters: :symbol, + } + options = default_options.merge(options) + read(path, **options) + end + + ON_WINDOWS = /mingw|mswin/.match?(RUBY_PLATFORM) + private_constant :ON_WINDOWS + + private + def may_enable_bom_detection_automatically(filename_or_io, + mode, + options, + file_opts) + if filename_or_io.is_a?(StringIO) + # Support to StringIO was dropped for Ruby 2.6 and earlier without BOM support: + # https://github.com/ruby/stringio/pull/47 + return if RUBY_VERSION < "2.7" + else + # "bom|utf-8" may be buggy on Windows: + # https://bugs.ruby-lang.org/issues/20526 + return if ON_WINDOWS + end + return unless Encoding.default_external == Encoding::UTF_8 + return if options.key?(:encoding) + return if options.key?(:external_encoding) + return if mode.is_a?(String) and mode.include?(":") + file_opts[:encoding] = "bom|utf-8" + end + + if RUBY_VERSION < "2.7" + def create_stringio(str, mode, opts) + opts.delete_if {|k, _| k == :universal_newline or DEFAULT_OPTIONS.key?(k)} + raise ArgumentError, "Unsupported options parsing StringIO: #{opts.keys}" unless opts.empty? + StringIO.new(str, mode) + end + else + def create_stringio(str, mode, opts) + StringIO.new(str, mode, **opts) + end + end + end + + # :call-seq: + # CSV.new(string) + # CSV.new(io) + # CSV.new(string, **options) + # CSV.new(io, **options) + # + # Returns the new \CSV object created using +string+ or +io+ + # and the specified +options+. + # + # - Argument +string+ should be a \String object; + # it will be put into a new StringIO object positioned at the beginning. + # :include: ../doc/csv/arguments/io.rdoc + # - Argument +options+: See: + # * {Options for Parsing}[#class-CSV-label-Options+for+Parsing] + # * {Options for Generating}[#class-CSV-label-Options+for+Generating] + # For performance reasons, the options cannot be overridden + # in a \CSV object, so those specified here will endure. + # + # In addition to the \CSV instance methods, several \IO methods are delegated. + # See {Delegated Methods}[#class-CSV-label-Delegated+Methods]. + # + # --- + # + # Create a \CSV object from a \String object: + # csv = CSV.new('foo,0') + # csv # => # + # + # Create a \CSV object from a \File object: + # File.write('t.csv', 'foo,0') + # csv = CSV.new(File.open('t.csv')) + # csv # => # + # + # --- + # + # Raises an exception if the argument is +nil+: + # # Raises ArgumentError (Cannot parse nil as CSV): + # CSV.new(nil) + # + def initialize(data, + col_sep: ",", + row_sep: :auto, + quote_char: '"', + field_size_limit: nil, + max_field_size: nil, + converters: nil, + unconverted_fields: nil, + headers: false, + return_headers: false, + write_headers: nil, + header_converters: nil, + skip_blanks: false, + force_quotes: false, + skip_lines: nil, + liberal_parsing: false, + internal_encoding: nil, + external_encoding: nil, + encoding: nil, + nil_value: nil, + empty_value: "", + strip: false, + quote_empty: true, + write_converters: nil, + write_nil_value: nil, + write_empty_value: "") + raise ArgumentError.new("Cannot parse nil as CSV") if data.nil? + + if data.is_a?(String) + if encoding + if encoding.is_a?(String) + data_external_encoding, data_internal_encoding = encoding.split(":", 2) + if data_internal_encoding + data = data.encode(data_internal_encoding, data_external_encoding) + else + data = data.dup.force_encoding(data_external_encoding) + end + else + data = data.dup.force_encoding(encoding) + end + end + @io = StringIO.new(data) + else + @io = data + end + @encoding = determine_encoding(encoding, internal_encoding) + + @base_fields_converter_options = { + nil_value: nil_value, + empty_value: empty_value, + } + @write_fields_converter_options = { + nil_value: write_nil_value, + empty_value: write_empty_value, + } + @initial_converters = converters + @initial_header_converters = header_converters + @initial_write_converters = write_converters + + if max_field_size.nil? and field_size_limit + max_field_size = field_size_limit - 1 + end + @parser_options = { + column_separator: col_sep, + row_separator: row_sep, + quote_character: quote_char, + max_field_size: max_field_size, + unconverted_fields: unconverted_fields, + headers: headers, + return_headers: return_headers, + skip_blanks: skip_blanks, + skip_lines: skip_lines, + liberal_parsing: liberal_parsing, + encoding: @encoding, + nil_value: nil_value, + empty_value: empty_value, + strip: strip, + } + @parser = nil + @parser_enumerator = nil + @eof_error = nil + + @writer_options = { + encoding: @encoding, + force_encoding: (not encoding.nil?), + force_quotes: force_quotes, + headers: headers, + write_headers: write_headers, + column_separator: col_sep, + row_separator: row_sep, + quote_character: quote_char, + quote_empty: quote_empty, + } + + @writer = nil + writer if @writer_options[:write_headers] + end + + class TSV < CSV + def initialize(data, **options) + super(data, **({col_sep: "\t"}.merge(options))) + end + end + + # :call-seq: + # csv.col_sep -> string + # + # Returns the encoded column separator; used for parsing and writing; + # see {Option +col_sep+}[#class-CSV-label-Option+col_sep]: + # CSV.new('').col_sep # => "," + def col_sep + parser.column_separator + end + + # :call-seq: + # csv.row_sep -> string + # + # Returns the encoded row separator; used for parsing and writing; + # see {Option +row_sep+}[#class-CSV-label-Option+row_sep]: + # CSV.new('').row_sep # => "\n" + def row_sep + parser.row_separator + end + + # :call-seq: + # csv.quote_char -> character + # + # Returns the encoded quote character; used for parsing and writing; + # see {Option +quote_char+}[#class-CSV-label-Option+quote_char]: + # CSV.new('').quote_char # => "\"" + def quote_char + parser.quote_character + end + + # :call-seq: + # csv.field_size_limit -> integer or nil + # + # Returns the limit for field size; used for parsing; + # see {Option +field_size_limit+}[#class-CSV-label-Option+field_size_limit]: + # CSV.new('').field_size_limit # => nil + # + # Deprecated since 3.2.3. Use +max_field_size+ instead. + def field_size_limit + parser.field_size_limit + end + + # :call-seq: + # csv.max_field_size -> integer or nil + # + # Returns the limit for field size; used for parsing; + # see {Option +max_field_size+}[#class-CSV-label-Option+max_field_size]: + # CSV.new('').max_field_size # => nil + # + # Since 3.2.3. + def max_field_size + parser.max_field_size + end + + # :call-seq: + # csv.skip_lines -> regexp or nil + # + # Returns the \Regexp used to identify comment lines; used for parsing; + # see {Option +skip_lines+}[#class-CSV-label-Option+skip_lines]: + # CSV.new('').skip_lines # => nil + def skip_lines + parser.skip_lines + end + + # :call-seq: + # csv.converters -> array + # + # Returns an \Array containing field converters; + # see {Field Converters}[#class-CSV-label-Field+Converters]: + # csv = CSV.new('') + # csv.converters # => [] + # csv.convert(:integer) + # csv.converters # => [:integer] + # csv.convert(proc {|x| x.to_s }) + # csv.converters + # + # Notes that you need to call + # +Ractor.make_shareable(CSV::Converters)+ on the main Ractor to use + # this method. + def converters + parser_fields_converter.map do |converter| + name = Converters.rassoc(converter) + name ? name.first : converter + end + end + + # :call-seq: + # csv.unconverted_fields? -> object + # + # Returns the value that determines whether unconverted fields are to be + # available; used for parsing; + # see {Option +unconverted_fields+}[#class-CSV-label-Option+unconverted_fields]: + # CSV.new('').unconverted_fields? # => nil + def unconverted_fields? + parser.unconverted_fields? + end + + # :call-seq: + # csv.headers -> object + # + # Returns the value that determines whether headers are used; used for parsing; + # see {Option +headers+}[#class-CSV-label-Option+headers]: + # CSV.new('').headers # => nil + def headers + if @writer + @writer.headers + else + parsed_headers = parser.headers + return parsed_headers if parsed_headers + raw_headers = @parser_options[:headers] + raw_headers = nil if raw_headers == false + raw_headers + end + end + + # :call-seq: + # csv.return_headers? -> true or false + # + # Returns the value that determines whether headers are to be returned; used for parsing; + # see {Option +return_headers+}[#class-CSV-label-Option+return_headers]: + # CSV.new('').return_headers? # => false + def return_headers? + parser.return_headers? + end + + # :call-seq: + # csv.write_headers? -> true or false + # + # Returns the value that determines whether headers are to be written; used for generating; + # see {Option +write_headers+}[#class-CSV-label-Option+write_headers]: + # CSV.new('').write_headers? # => nil + def write_headers? + @writer_options[:write_headers] + end + + # :call-seq: + # csv.header_converters -> array + # + # Returns an \Array containing header converters; used for parsing; + # see {Header Converters}[#class-CSV-label-Header+Converters]: + # CSV.new('').header_converters # => [] + # + # Notes that you need to call + # +Ractor.make_shareable(CSV::HeaderConverters)+ on the main Ractor + # to use this method. + def header_converters + header_fields_converter.map do |converter| + name = HeaderConverters.rassoc(converter) + name ? name.first : converter + end + end + + # :call-seq: + # csv.skip_blanks? -> true or false + # + # Returns the value that determines whether blank lines are to be ignored; used for parsing; + # see {Option +skip_blanks+}[#class-CSV-label-Option+skip_blanks]: + # CSV.new('').skip_blanks? # => false + def skip_blanks? + parser.skip_blanks? + end + + # :call-seq: + # csv.force_quotes? -> true or false + # + # Returns the value that determines whether all output fields are to be quoted; + # used for generating; + # see {Option +force_quotes+}[#class-CSV-label-Option+force_quotes]: + # CSV.new('').force_quotes? # => false + def force_quotes? + @writer_options[:force_quotes] + end + + # :call-seq: + # csv.liberal_parsing? -> true or false + # + # Returns the value that determines whether illegal input is to be handled; used for parsing; + # see {Option +liberal_parsing+}[#class-CSV-label-Option+liberal_parsing]: + # CSV.new('').liberal_parsing? # => false + def liberal_parsing? + parser.liberal_parsing? + end + + # :call-seq: + # csv.encoding -> encoding + # + # Returns the encoding used for parsing and generating; + # see {Character Encodings (M17n or Multilingualization)}[#class-CSV-label-Character+Encodings+-28M17n+or+Multilingualization-29]: + # CSV.new('').encoding # => # + attr_reader :encoding + + # :call-seq: + # csv.line_no -> integer + # + # Returns the count of the rows parsed or generated. + # + # Parsing: + # string = "foo,0\nbar,1\nbaz,2\n" + # path = 't.csv' + # File.write(path, string) + # CSV.open(path) do |csv| + # csv.each do |row| + # p [csv.lineno, row] + # end + # end + # Output: + # [1, ["foo", "0"]] + # [2, ["bar", "1"]] + # [3, ["baz", "2"]] + # + # Generating: + # CSV.generate do |csv| + # p csv.lineno; csv << ['foo', 0] + # p csv.lineno; csv << ['bar', 1] + # p csv.lineno; csv << ['baz', 2] + # end + # Output: + # 0 + # 1 + # 2 + def lineno + if @writer + @writer.lineno + else + parser.lineno + end + end + + # :call-seq: + # csv.line -> array + # + # Returns the line most recently read: + # string = "foo,0\nbar,1\nbaz,2\n" + # path = 't.csv' + # File.write(path, string) + # CSV.open(path) do |csv| + # csv.each do |row| + # p [csv.lineno, csv.line] + # end + # end + # Output: + # [1, "foo,0\n"] + # [2, "bar,1\n"] + # [3, "baz,2\n"] + def line + parser.line + end + + ### IO and StringIO Delegation ### + + extend Forwardable + def_delegators :@io, :binmode, :close, :close_read, :close_write, + :closed?, :external_encoding, :fcntl, + :fileno, :flush, :fsync, :internal_encoding, + :isatty, :pid, :pos, :pos=, :reopen, + :seek, :string, :sync, :sync=, :tell, + :truncate, :tty? + + def binmode? + if @io.respond_to?(:binmode?) + @io.binmode? + else + false + end + end + + def flock(*args) + raise NotImplementedError unless @io.respond_to?(:flock) + @io.flock(*args) + end + + def ioctl(*args) + raise NotImplementedError unless @io.respond_to?(:ioctl) + @io.ioctl(*args) + end + + def path + @io.path if @io.respond_to?(:path) + end + + def stat(*args) + raise NotImplementedError unless @io.respond_to?(:stat) + @io.stat(*args) + end + + def to_i + raise NotImplementedError unless @io.respond_to?(:to_i) + @io.to_i + end + + def to_io + @io.respond_to?(:to_io) ? @io.to_io : @io + end + + def eof? + return false if @eof_error + begin + parser_enumerator.peek + false + rescue MalformedCSVError => error + @eof_error = error + false + rescue StopIteration + true + end + end + alias_method :eof, :eof? + + # Rewinds the underlying IO object and resets CSV's lineno() counter. + def rewind + @parser = nil + @parser_enumerator = nil + @eof_error = nil + @writer.rewind if @writer + @io.rewind + end + + ### End Delegation ### + + # :call-seq: + # csv << row -> self + # + # Appends a row to +self+. + # + # - Argument +row+ must be an \Array object or a CSV::Row object. + # - The output stream must be open for writing. + # + # --- + # + # Append Arrays: + # CSV.generate do |csv| + # csv << ['foo', 0] + # csv << ['bar', 1] + # csv << ['baz', 2] + # end # => "foo,0\nbar,1\nbaz,2\n" + # + # Append CSV::Rows: + # headers = [] + # CSV.generate do |csv| + # csv << CSV::Row.new(headers, ['foo', 0]) + # csv << CSV::Row.new(headers, ['bar', 1]) + # csv << CSV::Row.new(headers, ['baz', 2]) + # end # => "foo,0\nbar,1\nbaz,2\n" + # + # Headers in CSV::Row objects are not appended: + # headers = ['Name', 'Count'] + # CSV.generate do |csv| + # csv << CSV::Row.new(headers, ['foo', 0]) + # csv << CSV::Row.new(headers, ['bar', 1]) + # csv << CSV::Row.new(headers, ['baz', 2]) + # end # => "foo,0\nbar,1\nbaz,2\n" + # + # --- + # + # Raises an exception if +row+ is not an \Array or \CSV::Row: + # CSV.generate do |csv| + # # Raises NoMethodError (undefined method `collect' for :foo:Symbol) + # csv << :foo + # end + # + # Raises an exception if the output stream is not opened for writing: + # path = 't.csv' + # File.write(path, '') + # File.open(path) do |file| + # CSV.open(file) do |csv| + # # Raises IOError (not opened for writing) + # csv << ['foo', 0] + # end + # end + def <<(row) + writer << row + self + end + alias_method :add_row, :<< + alias_method :puts, :<< + + # :call-seq: + # convert(converter_name) -> array_of_procs + # convert {|field, field_info| ... } -> array_of_procs + # + # - With no block, installs a field converter (a \Proc). + # - With a block, defines and installs a custom field converter. + # - Returns the \Array of installed field converters. + # + # - Argument +converter_name+, if given, should be the name + # of an existing field converter. + # + # See {Field Converters}[#class-CSV-label-Field+Converters]. + # --- + # + # With no block, installs a field converter: + # csv = CSV.new('') + # csv.convert(:integer) + # csv.convert(:float) + # csv.convert(:date) + # csv.converters # => [:integer, :float, :date] + # + # --- + # + # The block, if given, is called for each field: + # - Argument +field+ is the field value. + # - Argument +field_info+ is a CSV::FieldInfo object + # containing details about the field. + # + # The examples here assume the prior execution of: + # string = "foo,0\nbar,1\nbaz,2\n" + # path = 't.csv' + # File.write(path, string) + # + # Example giving a block: + # csv = CSV.open(path) + # csv.convert {|field, field_info| p [field, field_info]; field.upcase } + # csv.read # => [["FOO", "0"], ["BAR", "1"], ["BAZ", "2"]] + # + # Output: + # ["foo", #] + # ["0", #] + # ["bar", #] + # ["1", #] + # ["baz", #] + # ["2", #] + # + # The block need not return a \String object: + # csv = CSV.open(path) + # csv.convert {|field, field_info| field.to_sym } + # csv.read # => [[:foo, :"0"], [:bar, :"1"], [:baz, :"2"]] + # + # If +converter_name+ is given, the block is not called: + # csv = CSV.open(path) + # csv.convert(:integer) {|field, field_info| fail 'Cannot happen' } + # csv.read # => [["foo", 0], ["bar", 1], ["baz", 2]] + # + # --- + # + # Raises a parse-time exception if +converter_name+ is not the name of a built-in + # field converter: + # csv = CSV.open(path) + # csv.convert(:nosuch) => [nil] + # # Raises NoMethodError (undefined method `arity' for nil:NilClass) + # csv.read + def convert(name = nil, &converter) + parser_fields_converter.add_converter(name, &converter) + end + + # :call-seq: + # header_convert(converter_name) -> array_of_procs + # header_convert {|header, field_info| ... } -> array_of_procs + # + # - With no block, installs a header converter (a \Proc). + # - With a block, defines and installs a custom header converter. + # - Returns the \Array of installed header converters. + # + # - Argument +converter_name+, if given, should be the name + # of an existing header converter. + # + # See {Header Converters}[#class-CSV-label-Header+Converters]. + # --- + # + # With no block, installs a header converter: + # csv = CSV.new('') + # csv.header_convert(:symbol) + # csv.header_convert(:downcase) + # csv.header_converters # => [:symbol, :downcase] + # + # --- + # + # The block, if given, is called for each header: + # - Argument +header+ is the header value. + # - Argument +field_info+ is a CSV::FieldInfo object + # containing details about the header. + # + # The examples here assume the prior execution of: + # string = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # path = 't.csv' + # File.write(path, string) + # + # Example giving a block: + # csv = CSV.open(path, headers: true) + # csv.header_convert {|header, field_info| p [header, field_info]; header.upcase } + # table = csv.read + # table # => # + # table.headers # => ["NAME", "VALUE"] + # + # Output: + # ["Name", #] + # ["Value", #] + + # The block need not return a \String object: + # csv = CSV.open(path, headers: true) + # csv.header_convert {|header, field_info| header.to_sym } + # table = csv.read + # table.headers # => [:Name, :Value] + # + # If +converter_name+ is given, the block is not called: + # csv = CSV.open(path, headers: true) + # csv.header_convert(:downcase) {|header, field_info| fail 'Cannot happen' } + # table = csv.read + # table.headers # => ["name", "value"] + # --- + # + # Raises a parse-time exception if +converter_name+ is not the name of a built-in + # field converter: + # csv = CSV.open(path, headers: true) + # csv.header_convert(:nosuch) + # # Raises NoMethodError (undefined method `arity' for nil:NilClass) + # csv.read + def header_convert(name = nil, &converter) + header_fields_converter.add_converter(name, &converter) + end + + include Enumerable + + # :call-seq: + # csv.each -> enumerator + # csv.each {|row| ...} + # + # Calls the block with each successive row. + # The data source must be opened for reading. + # + # Without headers: + # string = "foo,0\nbar,1\nbaz,2\n" + # csv = CSV.new(string) + # csv.each do |row| + # p row + # end + # Output: + # ["foo", "0"] + # ["bar", "1"] + # ["baz", "2"] + # + # With headers: + # string = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # csv = CSV.new(string, headers: true) + # csv.each do |row| + # p row + # end + # Output: + # + # + # + # + # --- + # + # Raises an exception if the source is not opened for reading: + # string = "foo,0\nbar,1\nbaz,2\n" + # csv = CSV.new(string) + # csv.close + # # Raises IOError (not opened for reading) + # csv.each do |row| + # p row + # end + def each(&block) + return to_enum(__method__) unless block_given? + begin + while true + yield(parser_enumerator.next) + end + rescue StopIteration + end + end + + # :call-seq: + # csv.read -> array or csv_table + # + # Forms the remaining rows from +self+ into: + # - A CSV::Table object, if headers are in use. + # - An \Array of Arrays, otherwise. + # + # The data source must be opened for reading. + # + # Without headers: + # string = "foo,0\nbar,1\nbaz,2\n" + # path = 't.csv' + # File.write(path, string) + # csv = CSV.open(path) + # csv.read # => [["foo", "0"], ["bar", "1"], ["baz", "2"]] + # + # With headers: + # string = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # path = 't.csv' + # File.write(path, string) + # csv = CSV.open(path, headers: true) + # csv.read # => # + # + # --- + # + # Raises an exception if the source is not opened for reading: + # string = "foo,0\nbar,1\nbaz,2\n" + # csv = CSV.new(string) + # csv.close + # # Raises IOError (not opened for reading) + # csv.read + def read + rows = to_a + if parser.use_headers? + Table.new(rows, headers: parser.headers) + else + rows + end + end + alias_method :readlines, :read + + # :call-seq: + # csv.header_row? -> true or false + # + # Returns +true+ if the next row to be read is a header row\; + # +false+ otherwise. + # + # Without headers: + # string = "foo,0\nbar,1\nbaz,2\n" + # csv = CSV.new(string) + # csv.header_row? # => false + # + # With headers: + # string = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # csv = CSV.new(string, headers: true) + # csv.header_row? # => true + # csv.shift # => # + # csv.header_row? # => false + # + # --- + # + # Raises an exception if the source is not opened for reading: + # string = "foo,0\nbar,1\nbaz,2\n" + # csv = CSV.new(string) + # csv.close + # # Raises IOError (not opened for reading) + # csv.header_row? + def header_row? + parser.header_row? + end + + # :call-seq: + # csv.shift -> array, csv_row, or nil + # + # Returns the next row of data as: + # - An \Array if no headers are used. + # - A CSV::Row object if headers are used. + # + # The data source must be opened for reading. + # + # Without headers: + # string = "foo,0\nbar,1\nbaz,2\n" + # csv = CSV.new(string) + # csv.shift # => ["foo", "0"] + # csv.shift # => ["bar", "1"] + # csv.shift # => ["baz", "2"] + # csv.shift # => nil + # + # With headers: + # string = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # csv = CSV.new(string, headers: true) + # csv.shift # => # + # csv.shift # => # + # csv.shift # => # + # csv.shift # => nil + # + # --- + # + # Raises an exception if the source is not opened for reading: + # string = "foo,0\nbar,1\nbaz,2\n" + # csv = CSV.new(string) + # csv.close + # # Raises IOError (not opened for reading) + # csv.shift + def shift + if @eof_error + eof_error, @eof_error = @eof_error, nil + raise eof_error + end + begin + parser_enumerator.next + rescue StopIteration + nil + end + end + alias_method :gets, :shift + alias_method :readline, :shift + + # :call-seq: + # csv.inspect -> string + # + # Returns a \String showing certain properties of +self+: + # string = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # csv = CSV.new(string, headers: true) + # s = csv.inspect + # s # => "#" + def inspect + str = ["#<", self.class.to_s, " io_type:"] + # show type of wrapped IO + if @io == $stdout then str << "$stdout" + elsif @io == $stdin then str << "$stdin" + elsif @io == $stderr then str << "$stderr" + else str << @io.class.to_s + end + # show IO.path(), if available + if @io.respond_to?(:path) and (p = @io.path) + str << " io_path:" << p.inspect + end + # show encoding + str << " encoding:" << @encoding.name + # show other attributes + ["lineno", "col_sep", "row_sep", "quote_char"].each do |attr_name| + if a = __send__(attr_name) + str << " " << attr_name << ":" << a.inspect + end + end + ["skip_blanks", "liberal_parsing"].each do |attr_name| + if a = __send__("#{attr_name}?") + str << " " << attr_name << ":" << a.inspect + end + end + _headers = headers + str << " headers:" << _headers.inspect if _headers + str << ">" + begin + str.join('') + rescue # any encoding error + str.map do |s| + e = Encoding::Converter.asciicompat_encoding(s.encoding) + e ? s.encode(e) : s.force_encoding("ASCII-8BIT") + end.join('') + end + end + + private + + def determine_encoding(encoding, internal_encoding) + # honor the IO encoding if we can, otherwise default to ASCII-8BIT + io_encoding = raw_encoding + return io_encoding if io_encoding + + return Encoding.find(internal_encoding) if internal_encoding + + if encoding + encoding, = encoding.split(":", 2) if encoding.is_a?(String) + return Encoding.find(encoding) + end + + Encoding.default_internal || Encoding.default_external + end + + def normalize_converters(converters) + converters ||= [] + unless converters.is_a?(Array) + converters = [converters] + end + converters.collect do |converter| + case converter + when Proc # custom code block + [nil, converter] + else # by name + [converter, nil] + end + end + end + + # + # Processes +fields+ with @converters, or @header_converters + # if +headers+ is passed as +true+, returning the converted field set. Any + # converter that changes the field into something other than a String halts + # the pipeline of conversion for that field. This is primarily an efficiency + # shortcut. + # + def convert_fields(fields, headers = false) + if headers + header_fields_converter.convert(fields, nil, 0) + else + parser_fields_converter.convert(fields, @headers, lineno) + end + end + + # + # Returns the encoding of the internal IO object. + # + def raw_encoding + if @io.respond_to? :internal_encoding + @io.internal_encoding || @io.external_encoding + elsif @io.respond_to? :encoding + @io.encoding + else + nil + end + end + + def parser_fields_converter + @parser_fields_converter ||= build_parser_fields_converter + end + + def build_parser_fields_converter + specific_options = { + builtin_converters_name: :Converters, + } + options = @base_fields_converter_options.merge(specific_options) + build_fields_converter(@initial_converters, options) + end + + def header_fields_converter + @header_fields_converter ||= build_header_fields_converter + end + + def build_header_fields_converter + specific_options = { + builtin_converters_name: :HeaderConverters, + accept_nil: true, + } + options = @base_fields_converter_options.merge(specific_options) + build_fields_converter(@initial_header_converters, options) + end + + def writer_fields_converter + @writer_fields_converter ||= build_writer_fields_converter + end + + def build_writer_fields_converter + build_fields_converter(@initial_write_converters, + @write_fields_converter_options) + end + + def build_fields_converter(initial_converters, options) + fields_converter = FieldsConverter.new(options) + normalize_converters(initial_converters).each do |name, converter| + fields_converter.add_converter(name, &converter) + end + fields_converter + end + + def parser + @parser ||= Parser.new(@io, parser_options) + end + + def parser_options + @parser_options.merge(header_fields_converter: header_fields_converter, + fields_converter: parser_fields_converter) + end + + def parser_enumerator + @parser_enumerator ||= parser.parse + end + + def writer + @writer ||= Writer.new(@io, writer_options) + end + + def writer_options + @writer_options.merge(header_fields_converter: header_fields_converter, + fields_converter: writer_fields_converter) + end +end + +# Passes +args+ to CSV::instance. +# +# CSV("CSV,data").read +# #=> [["CSV", "data"]] +# +# If a block is given, the instance is passed the block and the return value +# becomes the return value of the block. +# +# CSV("CSV,data") { |c| +# c.read.any? { |a| a.include?("data") } +# } #=> true +# +# CSV("CSV,data") { |c| +# c.read.any? { |a| a.include?("zombies") } +# } #=> false +# +# CSV options may also be given. +# +# io = StringIO.new +# CSV(io, col_sep: ";") { |csv| csv << ["a", "b", "c"] } +# +# This API is not Ractor-safe. +# +def CSV(*args, **options, &block) + CSV.instance(*args, **options, &block) +end + +require_relative "csv/version" +require_relative "csv/core_ext/array" +require_relative "csv/core_ext/string" diff --git a/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/core_ext/array.rb b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/core_ext/array.rb new file mode 100644 index 0000000..ad1b881 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/core_ext/array.rb @@ -0,0 +1,9 @@ +class Array + # Equivalent to CSV::generate_line(self, options) + # + # ["CSV", "data"].to_csv + # #=> "CSV,data\n" + def to_csv(**options) + CSV.generate_line(self, **options) + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/core_ext/string.rb b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/core_ext/string.rb new file mode 100644 index 0000000..61286d0 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/core_ext/string.rb @@ -0,0 +1,9 @@ +class String + # Equivalent to CSV::parse_line(self, options) + # + # "CSV,data".parse_csv + # #=> ["CSV", "data"] + def parse_csv(**options) + CSV.parse_line(self, **options) + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/fields_converter.rb b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/fields_converter.rb new file mode 100644 index 0000000..8ea1340 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/fields_converter.rb @@ -0,0 +1,96 @@ +# frozen_string_literal: true + +class CSV + # Note: Don't use this class directly. This is an internal class. + class FieldsConverter + include Enumerable + + NO_QUOTED_FIELDS = [] # :nodoc: + def NO_QUOTED_FIELDS.[](_index) + false + end + NO_QUOTED_FIELDS.freeze + + # + # A CSV::FieldsConverter is a data structure for storing the + # fields converter properties to be passed as a parameter + # when parsing a new file (e.g. CSV::Parser.new(@io, parser_options)) + # + + def initialize(options={}) + @converters = [] + @nil_value = options[:nil_value] + @empty_value = options[:empty_value] + @empty_value_is_empty_string = (@empty_value == "") + @accept_nil = options[:accept_nil] + @builtin_converters_name = options[:builtin_converters_name] + @need_static_convert = need_static_convert? + end + + def add_converter(name=nil, &converter) + if name.nil? # custom converter + @converters << converter + else # named converter + combo = builtin_converters[name] + case combo + when Array # combo converter + combo.each do |sub_name| + add_converter(sub_name) + end + else # individual named converter + @converters << combo + end + end + end + + def each(&block) + @converters.each(&block) + end + + def empty? + @converters.empty? + end + + def convert(fields, headers, lineno, quoted_fields=NO_QUOTED_FIELDS) + return fields unless need_convert? + + fields.collect.with_index do |field, index| + if field.nil? + field = @nil_value + elsif field.is_a?(String) and field.empty? + field = @empty_value unless @empty_value_is_empty_string + end + @converters.each do |converter| + break if field.nil? and @accept_nil + if converter.arity == 1 # straight field converter + field = converter[field] + else # FieldInfo converter + if headers + header = headers[index] + else + header = nil + end + quoted = quoted_fields[index] + field = converter[field, FieldInfo.new(index, lineno, header, quoted)] + end + break unless field.is_a?(String) # short-circuit pipeline for speed + end + field # final state of each field, converted or original + end + end + + private + def need_static_convert? + not (@nil_value.nil? and @empty_value_is_empty_string) + end + + def need_convert? + @need_static_convert or + (not @converters.empty?) + end + + def builtin_converters + @builtin_converters ||= ::CSV.const_get(@builtin_converters_name) + end + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/input_record_separator.rb b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/input_record_separator.rb new file mode 100644 index 0000000..7a99343 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/input_record_separator.rb @@ -0,0 +1,18 @@ +require "English" +require "stringio" + +class CSV + module InputRecordSeparator + class << self + if RUBY_VERSION >= "3.0.0" + def value + "\n" + end + else + def value + $INPUT_RECORD_SEPARATOR + end + end + end + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/parser.rb b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/parser.rb new file mode 100644 index 0000000..4a74e40 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/parser.rb @@ -0,0 +1,1302 @@ +# frozen_string_literal: true + +require "strscan" + +require_relative "input_record_separator" +require_relative "row" +require_relative "table" + +class CSV + # Note: Don't use this class directly. This is an internal class. + class Parser + # + # A CSV::Parser is m17n aware. The parser works in the Encoding of the IO + # or String object being read from or written to. Your data is never transcoded + # (unless you ask Ruby to transcode it for you) and will literally be parsed in + # the Encoding it is in. Thus CSV will return Arrays or Rows of Strings in the + # Encoding of your data. This is accomplished by transcoding the parser itself + # into your Encoding. + # + + class << self + ARGF_OBJECT_ID = ARGF.object_id + # Convenient method to check whether the give input reached EOF + # or not. + def eof?(input) + # We can't use input != ARGF in Ractor. Because ARGF isn't a + # shareable object. + input.object_id != ARGF_OBJECT_ID and + input.respond_to?(:eof) and + input.eof? + end + end + + # Raised when encoding is invalid. + class InvalidEncoding < StandardError + end + + # Raised when unexpected case is happen. + class UnexpectedError < StandardError + end + + # + # CSV::Scanner receives a CSV output, scans it and return the content. + # It also controls the life cycle of the object with its methods +keep_start+, + # +keep_end+, +keep_back+, +keep_drop+. + # + # Uses StringScanner (the official strscan gem). Strscan provides lexical + # scanning operations on a String. We inherit its object and take advantage + # on the methods. For more information, please visit: + # https://docs.ruby-lang.org/en/master/StringScanner.html + # + class Scanner < StringScanner + alias_method :scan_all, :scan + + def initialize(*args) + super + @keeps = [] + end + + def each_line(row_separator) + position = pos + rest.each_line(row_separator) do |line| + position += line.bytesize + self.pos = position + yield(line) + end + end + + def keep_start + @keeps.push(pos) + end + + def keep_end + start = @keeps.pop + string.byteslice(start, pos - start) + end + + def keep_back + self.pos = @keeps.pop + end + + def keep_drop + @keeps.pop + end + end + + # + # CSV::InputsScanner receives IO inputs, encoding and the chunk_size. + # It also controls the life cycle of the object with its methods +keep_start+, + # +keep_end+, +keep_back+, +keep_drop+. + # + # CSV::InputsScanner.scan() tries to match with pattern at the current position. + # If there's a match, the scanner advances the "scan pointer" and returns the matched string. + # Otherwise, the scanner returns nil. + # + # CSV::InputsScanner.rest() returns the "rest" of the string (i.e. everything after the scan pointer). + # If there is no more data (eos? = true), it returns "". + # + class InputsScanner + def initialize(inputs, encoding, row_separator, chunk_size: 8192) + @inputs = inputs.dup + @encoding = encoding + @row_separator = row_separator + @chunk_size = chunk_size + @last_scanner = @inputs.empty? + @keeps = [] + read_chunk + end + + def each_line(row_separator) + return enum_for(__method__, row_separator) unless block_given? + buffer = nil + input = @scanner.rest + position = @scanner.pos + offset = 0 + n_row_separator_chars = row_separator.size + # trace(__method__, :start, input) + while true + input.each_line(row_separator) do |line| + @scanner.pos += line.bytesize + if buffer + if n_row_separator_chars == 2 and + buffer.end_with?(row_separator[0]) and + line.start_with?(row_separator[1]) + buffer << line[0] + line = line[1..-1] + position += buffer.bytesize + offset + @scanner.pos = position + offset = 0 + yield(buffer) + buffer = nil + next if line.empty? + else + buffer << line + line = buffer + buffer = nil + end + end + if line.end_with?(row_separator) + position += line.bytesize + offset + @scanner.pos = position + offset = 0 + yield(line) + else + buffer = line + end + end + break unless read_chunk + input = @scanner.rest + position = @scanner.pos + offset = -buffer.bytesize if buffer + end + yield(buffer) if buffer + end + + def scan(pattern) + # trace(__method__, pattern, :start) + value = @scanner.scan(pattern) + # trace(__method__, pattern, :done, :last, value) if @last_scanner + return value if @last_scanner + + read_chunk if value and @scanner.eos? + # trace(__method__, pattern, :done, value) + value + end + + def scan_all(pattern) + # trace(__method__, pattern, :start) + value = @scanner.scan(pattern) + # trace(__method__, pattern, :done, :last, value) if @last_scanner + return value if @last_scanner + + # trace(__method__, pattern, :done, :nil) if value.nil? + return nil if value.nil? + while @scanner.eos? and read_chunk and (sub_value = @scanner.scan(pattern)) + # trace(__method__, pattern, :sub, sub_value) + value << sub_value + end + # trace(__method__, pattern, :done, value) + value + end + + def eos? + @scanner.eos? + end + + def keep_start + # trace(__method__, :start) + adjust_last_keep + @keeps.push([@scanner, @scanner.pos, nil]) + # trace(__method__, :done) + end + + def keep_end + # trace(__method__, :start) + scanner, start, buffer = @keeps.pop + if scanner == @scanner + keep = @scanner.string.byteslice(start, @scanner.pos - start) + else + keep = @scanner.string.byteslice(0, @scanner.pos) + end + if buffer + buffer << keep + keep = buffer + end + # trace(__method__, :done, keep) + keep + end + + def keep_back + # trace(__method__, :start) + scanner, start, buffer = @keeps.pop + if buffer + # trace(__method__, :rescan, start, buffer) + string = @scanner.string + if scanner == @scanner + keep = string.byteslice(start, + string.bytesize - @scanner.pos - start) + else + keep = string + end + if keep and not keep.empty? + @inputs.unshift(StringIO.new(keep)) + @last_scanner = false + end + @scanner = StringScanner.new(buffer) + else + if @scanner != scanner + message = "scanners are different but no buffer: " + message += "#{@scanner.inspect}(#{@scanner.object_id}): " + message += "#{scanner.inspect}(#{scanner.object_id})" + raise UnexpectedError, message + end + # trace(__method__, :repos, start, buffer) + @scanner.pos = start + last_scanner, last_start, last_buffer = @keeps.last + # Drop the last buffer when the last buffer is the same data + # in the last keep. If we keep it, we have duplicated data + # by the next keep_back. + if last_scanner == @scanner and + last_buffer and + last_buffer == last_scanner.string.byteslice(last_start, start) + @keeps.last[2] = nil + end + end + read_chunk if @scanner.eos? + end + + def keep_drop + _, _, buffer = @keeps.pop + # trace(__method__, :done, :empty) unless buffer + return unless buffer + + last_keep = @keeps.last + # trace(__method__, :done, :no_last_keep) unless last_keep + return unless last_keep + + if last_keep[2] + last_keep[2] << buffer + else + last_keep[2] = buffer + end + # trace(__method__, :done) + end + + def rest + @scanner.rest + end + + def check(pattern) + @scanner.check(pattern) + end + + private + def trace(*args) + pp([*args, @scanner, @scanner&.string, @scanner&.pos, @keeps]) + end + + def adjust_last_keep + # trace(__method__, :start) + + keep = @keeps.last + # trace(__method__, :done, :empty) if keep.nil? + return if keep.nil? + + scanner, start, buffer = keep + string = @scanner.string + if @scanner != scanner + start = 0 + end + if start == 0 and @scanner.eos? + keep_data = string + else + keep_data = string.byteslice(start, @scanner.pos - start) + end + if keep_data + if buffer + buffer << keep_data + else + keep[2] = keep_data.dup + end + end + + # trace(__method__, :done) + end + + def read_chunk + return false if @last_scanner + + adjust_last_keep + + input = @inputs.first + case input + when StringIO + string = input.read + raise InvalidEncoding unless string.valid_encoding? + # trace(__method__, :stringio, string) + @scanner = StringScanner.new(string) + @inputs.shift + @last_scanner = @inputs.empty? + true + else + chunk = input.gets(@row_separator, @chunk_size) + if chunk + raise InvalidEncoding unless chunk.valid_encoding? + # trace(__method__, :chunk, chunk) + @scanner = StringScanner.new(chunk) + if Parser.eof?(input) + @inputs.shift + @last_scanner = @inputs.empty? + end + true + else + # trace(__method__, :no_chunk) + @scanner = StringScanner.new("".encode(@encoding)) + @inputs.shift + @last_scanner = @inputs.empty? + if @last_scanner + false + else + read_chunk + end + end + end + end + end + + def initialize(input, options) + @input = input + @options = options + @samples = [] + + prepare + end + + def column_separator + @column_separator + end + + def row_separator + @row_separator + end + + def quote_character + @quote_character + end + + def field_size_limit + @max_field_size&.succ + end + + def max_field_size + @max_field_size + end + + def skip_lines + @skip_lines + end + + def unconverted_fields? + @unconverted_fields + end + + def headers + @headers + end + + def header_row? + @use_headers and @headers.nil? + end + + def return_headers? + @return_headers + end + + def skip_blanks? + @skip_blanks + end + + def liberal_parsing? + @liberal_parsing + end + + def lineno + @lineno + end + + def line + last_line + end + + def parse(&block) + return to_enum(__method__) unless block_given? + + if @return_headers and @headers and @raw_headers + headers = Row.new(@headers, @raw_headers, true) + if @unconverted_fields + headers = add_unconverted_fields(headers, []) + end + yield headers + end + + begin + @scanner ||= build_scanner + __send__(@parse_method, &block) + rescue InvalidEncoding + if @scanner + ignore_broken_line + lineno = @lineno + else + lineno = @lineno + 1 + end + raise InvalidEncodingError.new(@encoding, lineno) + rescue UnexpectedError => error + if @scanner + ignore_broken_line + lineno = @lineno + else + lineno = @lineno + 1 + end + message = "This should not be happen: #{error.message}: " + message += "Please report this to https://github.com/ruby/csv/issues" + raise MalformedCSVError.new(message, lineno) + end + end + + def use_headers? + @use_headers + end + + private + # A set of tasks to prepare the file in order to parse it + def prepare + prepare_variable + prepare_quote_character + prepare_backslash + prepare_skip_lines + prepare_strip + prepare_separators + validate_strip_and_col_sep_options + prepare_quoted + prepare_unquoted + prepare_line + prepare_header + prepare_parser + end + + def prepare_variable + @encoding = @options[:encoding] + liberal_parsing = @options[:liberal_parsing] + if liberal_parsing + @liberal_parsing = true + if liberal_parsing.is_a?(Hash) + @double_quote_outside_quote = + liberal_parsing[:double_quote_outside_quote] + @backslash_quote = liberal_parsing[:backslash_quote] + else + @double_quote_outside_quote = false + @backslash_quote = false + end + else + @liberal_parsing = false + @backslash_quote = false + end + @unconverted_fields = @options[:unconverted_fields] + @max_field_size = @options[:max_field_size] + @skip_blanks = @options[:skip_blanks] + @fields_converter = @options[:fields_converter] + @header_fields_converter = @options[:header_fields_converter] + end + + def prepare_quote_character + @quote_character = @options[:quote_character] + if @quote_character.nil? + @escaped_quote_character = nil + @escaped_quote = nil + else + @quote_character = @quote_character.to_s.encode(@encoding) + if @quote_character.length != 1 + message = ":quote_char has to be nil or a single character String" + raise ArgumentError, message + end + @escaped_quote_character = Regexp.escape(@quote_character) + @escaped_quote = Regexp.new(@escaped_quote_character) + end + end + + def prepare_backslash + return unless @backslash_quote + + @backslash_character = "\\".encode(@encoding) + + @escaped_backslash_character = Regexp.escape(@backslash_character) + @escaped_backslash = Regexp.new(@escaped_backslash_character) + if @quote_character.nil? + @backslash_quote_character = nil + else + @backslash_quote_character = + @backslash_character + @escaped_quote_character + end + end + + def prepare_skip_lines + skip_lines = @options[:skip_lines] + case skip_lines + when String + @skip_lines = skip_lines.encode(@encoding) + when Regexp, nil + @skip_lines = skip_lines + else + unless skip_lines.respond_to?(:match) + message = + ":skip_lines has to respond to \#match: #{skip_lines.inspect}" + raise ArgumentError, message + end + @skip_lines = skip_lines + end + end + + def prepare_strip + @strip = @options[:strip] + @escaped_strip = nil + @strip_value = nil + @rstrip_value = nil + if @strip.is_a?(String) + case @strip.length + when 0 + raise ArgumentError, ":strip must not be an empty String" + when 1 + # ok + else + raise ArgumentError, ":strip doesn't support 2 or more characters yet" + end + @strip = @strip.encode(@encoding) + @escaped_strip = Regexp.escape(@strip) + if @quote_character + @strip_value = Regexp.new(@escaped_strip + + "+".encode(@encoding)) + @rstrip_value = Regexp.new(@escaped_strip + + "+\\z".encode(@encoding)) + end + elsif @strip + strip_values = " \t\f\v" + @escaped_strip = strip_values.encode(@encoding) + if @quote_character + @strip_value = Regexp.new("[#{strip_values}]+".encode(@encoding)) + @rstrip_value = Regexp.new("[#{strip_values}]+\\z".encode(@encoding)) + end + end + end + + begin + StringScanner.new("x").scan("x") + rescue TypeError + STRING_SCANNER_SCAN_ACCEPT_STRING = false + else + STRING_SCANNER_SCAN_ACCEPT_STRING = true + end + + def prepare_separators + column_separator = @options[:column_separator] + @column_separator = column_separator.to_s.encode(@encoding) + if @column_separator.size < 1 + message = ":col_sep must be 1 or more characters: " + message += column_separator.inspect + raise ArgumentError, message + end + @row_separator = + resolve_row_separator(@options[:row_separator]).encode(@encoding) + + @escaped_column_separator = Regexp.escape(@column_separator) + @escaped_first_column_separator = Regexp.escape(@column_separator[0]) + if @column_separator.size > 1 + @column_end = Regexp.new(@escaped_column_separator) + @column_ends = @column_separator.each_char.collect do |char| + Regexp.new(Regexp.escape(char)) + end + @first_column_separators = Regexp.new(@escaped_first_column_separator + + "+".encode(@encoding)) + else + if STRING_SCANNER_SCAN_ACCEPT_STRING + @column_end = @column_separator + else + @column_end = Regexp.new(@escaped_column_separator) + end + @column_ends = nil + @first_column_separators = nil + end + + escaped_row_separator = Regexp.escape(@row_separator) + @row_end = Regexp.new(escaped_row_separator) + if @row_separator.size > 1 + @row_ends = @row_separator.each_char.collect do |char| + Regexp.new(Regexp.escape(char)) + end + else + @row_ends = nil + end + + @cr = "\r".encode(@encoding) + @lf = "\n".encode(@encoding) + @line_end = Regexp.new("\r\n|\n|\r".encode(@encoding)) + @not_line_end = Regexp.new("[^\r\n]+".encode(@encoding)) + end + + # This method verifies that there are no (obvious) ambiguities with the + # provided +col_sep+ and +strip+ parsing options. For example, if +col_sep+ + # and +strip+ were both equal to +\t+, then there would be no clear way to + # parse the input. + def validate_strip_and_col_sep_options + return unless @strip + + if @strip.is_a?(String) + if @column_separator.start_with?(@strip) || @column_separator.end_with?(@strip) + raise ArgumentError, + "The provided strip (#{@escaped_strip}) and " \ + "col_sep (#{@escaped_column_separator}) options are incompatible." + end + else + if Regexp.new("\\A[#{@escaped_strip}]|[#{@escaped_strip}]\\z").match?(@column_separator) + raise ArgumentError, + "The provided strip (true) and " \ + "col_sep (#{@escaped_column_separator}) options are incompatible." + end + end + end + + def prepare_quoted + if @quote_character + @quotes = Regexp.new(@escaped_quote_character + + "+".encode(@encoding)) + no_quoted_values = @escaped_quote_character.dup + if @backslash_quote + no_quoted_values << @escaped_backslash_character + end + @quoted_value = Regexp.new("[^".encode(@encoding) + + no_quoted_values + + "]+".encode(@encoding)) + end + if @escaped_strip + @split_column_separator = Regexp.new(@escaped_strip + + "*".encode(@encoding) + + @escaped_column_separator + + @escaped_strip + + "*".encode(@encoding)) + else + if @column_separator == " ".encode(@encoding) + @split_column_separator = Regexp.new(@escaped_column_separator) + else + @split_column_separator = @column_separator + end + end + end + + def prepare_unquoted + return if @quote_character.nil? + + no_unquoted_values = "\r\n".encode(@encoding) + no_unquoted_values << @escaped_first_column_separator + unless @liberal_parsing + no_unquoted_values << @escaped_quote_character + end + @unquoted_value = Regexp.new("[^".encode(@encoding) + + no_unquoted_values + + "]+".encode(@encoding)) + end + + def resolve_row_separator(separator) + if separator == :auto + cr = "\r".encode(@encoding) + lf = "\n".encode(@encoding) + if @input.is_a?(StringIO) + pos = @input.pos + separator = detect_row_separator(@input.read, cr, lf) + @input.seek(pos) + elsif @input.respond_to?(:gets) + if @input.is_a?(File) + chunk_size = 32 * 1024 + else + chunk_size = 1024 + end + begin + while separator == :auto + # + # if we run out of data, it's probably a single line + # (ensure will set default value) + # + break unless sample = @input.gets(nil, chunk_size) + + # extend sample if we're unsure of the line ending + if sample.end_with?(cr) + sample << (@input.gets(nil, 1) || "") + end + + @samples << sample + + separator = detect_row_separator(sample, cr, lf) + end + rescue IOError + # do nothing: ensure will set default + end + end + separator = InputRecordSeparator.value if separator == :auto + end + separator.to_s.encode(@encoding) + end + + def detect_row_separator(sample, cr, lf) + lf_index = sample.index(lf) + if lf_index + cr_index = sample[0, lf_index].index(cr) + else + cr_index = sample.index(cr) + end + if cr_index and lf_index + if cr_index + 1 == lf_index + cr + lf + elsif cr_index < lf_index + cr + else + lf + end + elsif cr_index + cr + elsif lf_index + lf + else + :auto + end + end + + def prepare_line + @lineno = 0 + @last_line = nil + @scanner = nil + end + + def last_line + if @scanner + @last_line ||= @scanner.keep_end + else + @last_line + end + end + + def prepare_header + @return_headers = @options[:return_headers] + + headers = @options[:headers] + case headers + when Array + @raw_headers = headers + quoted_fields = FieldsConverter::NO_QUOTED_FIELDS + @use_headers = true + when String + @raw_headers, quoted_fields = parse_headers(headers) + @use_headers = true + when nil, false + @raw_headers = nil + @use_headers = false + else + @raw_headers = nil + @use_headers = true + end + if @raw_headers + @headers = adjust_headers(@raw_headers, quoted_fields) + else + @headers = nil + end + end + + def parse_headers(row) + quoted_fields = [] + converter = lambda do |field, info| + quoted_fields << info.quoted? + field + end + headers = CSV.parse_line(row, + col_sep: @column_separator, + row_sep: @row_separator, + quote_char: @quote_character, + converters: [converter]) + [headers, quoted_fields] + end + + def adjust_headers(headers, quoted_fields) + adjusted_headers = @header_fields_converter.convert(headers, nil, @lineno, quoted_fields) + adjusted_headers.each {|h| h.freeze if h.is_a? String} + adjusted_headers + end + + def prepare_parser + @may_quoted = may_quoted? + if @quote_character.nil? + @parse_method = :parse_no_quote + elsif @liberal_parsing or @strip + @parse_method = :parse_quotable_robust + else + @parse_method = :parse_quotable_loose + end + end + + def may_quoted? + return false if @quote_character.nil? + + if @input.is_a?(StringIO) + pos = @input.pos + sample = @input.read + @input.seek(pos) + else + return false if @samples.empty? + sample = @samples.first + end + sample[0, 128].index(@quote_character) + end + + class UnoptimizedStringIO # :nodoc: + def initialize(string) + @io = StringIO.new(string, "rb:#{string.encoding}") + end + + def gets(*args) + @io.gets(*args) + end + + def each_line(*args, &block) + @io.each_line(*args, &block) + end + + def eof? + @io.eof? + end + end + + SCANNER_TEST = (ENV["CSV_PARSER_SCANNER_TEST"] == "yes") + if SCANNER_TEST + SCANNER_TEST_CHUNK_SIZE_NAME = "CSV_PARSER_SCANNER_TEST_CHUNK_SIZE" + SCANNER_TEST_CHUNK_SIZE_VALUE = ENV[SCANNER_TEST_CHUNK_SIZE_NAME] + def build_scanner + inputs = @samples.collect do |sample| + UnoptimizedStringIO.new(sample) + end + if @input.is_a?(StringIO) + inputs << UnoptimizedStringIO.new(@input.read) + else + inputs << @input + end + begin + chunk_size_value = ENV[SCANNER_TEST_CHUNK_SIZE_NAME] + rescue # Ractor::IsolationError + # Ractor on Ruby 3.0 can't read ENV value. + chunk_size_value = SCANNER_TEST_CHUNK_SIZE_VALUE + end + chunk_size = Integer((chunk_size_value || "1"), 10) + InputsScanner.new(inputs, + @encoding, + @row_separator, + chunk_size: chunk_size) + end + else + def build_scanner + string = nil + if @samples.empty? and @input.is_a?(StringIO) + string = @input.read + elsif @samples.size == 1 and Parser.eof?(@input) + string = @samples[0] + end + if string + unless string.valid_encoding? + index = string.lines(@row_separator).index do |line| + !line.valid_encoding? + end + if index + raise InvalidEncodingError.new(@encoding, @lineno + index + 1) + end + end + Scanner.new(string) + else + inputs = @samples.collect do |sample| + StringIO.new(sample) + end + inputs << @input + InputsScanner.new(inputs, @encoding, @row_separator) + end + end + end + + def skip_needless_lines + return unless @skip_lines + + until @scanner.eos? + @scanner.keep_start + line = @scanner.scan_all(@not_line_end) || "".encode(@encoding) + line << @row_separator if parse_row_end + if skip_line?(line) + @lineno += 1 + @scanner.keep_drop + else + @scanner.keep_back + return + end + end + end + + def skip_line?(line) + line = line.delete_suffix(@row_separator) + case @skip_lines + when String + line.include?(@skip_lines) + when Regexp + @skip_lines.match?(line) + else + @skip_lines.match(line) + end + end + + def validate_field_size(field) + return unless @max_field_size + return if field.size <= @max_field_size + ignore_broken_line + message = "Field size exceeded: #{field.size} > #{@max_field_size}" + raise MalformedCSVError.new(message, @lineno) + end + + def parse_no_quote(&block) + @scanner.each_line(@row_separator) do |line| + next if @skip_lines and skip_line?(line) + original_line = line + line = line.delete_suffix(@row_separator) + + if line.empty? + next if @skip_blanks + row = [] + else + line = strip_value(line) + row = line.split(@split_column_separator, -1) + if @max_field_size + row.each do |column| + validate_field_size(column) + end + end + n_columns = row.size + i = 0 + while i < n_columns + row[i] = nil if row[i].empty? + i += 1 + end + end + @last_line = original_line + emit_row(row, &block) + end + end + + def parse_quotable_loose(&block) + @scanner.keep_start + @scanner.each_line(@row_separator) do |line| + if @skip_lines and skip_line?(line) + @scanner.keep_drop + @scanner.keep_start + next + end + original_line = line + line = line.delete_suffix(@row_separator) + + if line.empty? + if @skip_blanks + @scanner.keep_drop + @scanner.keep_start + next + end + row = [] + quoted_fields = FieldsConverter::NO_QUOTED_FIELDS + elsif line.include?(@cr) or line.include?(@lf) + @scanner.keep_back + @parse_method = :parse_quotable_robust + return parse_quotable_robust(&block) + else + row = line.split(@split_column_separator, -1) + quoted_fields = [] + n_columns = row.size + i = 0 + while i < n_columns + column = row[i] + if column.empty? + quoted_fields << false + row[i] = nil + else + n_quotes = column.count(@quote_character) + if n_quotes.zero? + quoted_fields << false + # no quote + elsif n_quotes == 2 and + column.start_with?(@quote_character) and + column.end_with?(@quote_character) + quoted_fields << true + row[i] = column[1..-2] + else + @scanner.keep_back + @parse_method = :parse_quotable_robust + return parse_quotable_robust(&block) + end + validate_field_size(row[i]) + end + i += 1 + end + end + @scanner.keep_drop + @scanner.keep_start + @last_line = original_line + emit_row(row, quoted_fields, &block) + end + @scanner.keep_drop + end + + def parse_quotable_robust(&block) + row = [] + quoted_fields = [] + skip_needless_lines + start_row + while true + @quoted_column_value = false + @unquoted_column_value = false + @scanner.scan_all(@strip_value) if @strip_value + value = parse_column_value + if value + @scanner.scan_all(@strip_value) if @strip_value + validate_field_size(value) + end + if parse_column_end + row << value + quoted_fields << @quoted_column_value + elsif parse_row_end + if row.empty? and value.nil? + emit_row([], &block) unless @skip_blanks + else + row << value + quoted_fields << @quoted_column_value + emit_row(row, quoted_fields, &block) + row = [] + quoted_fields.clear + end + skip_needless_lines + start_row + elsif @scanner.eos? + break if row.empty? and value.nil? + row << value + quoted_fields << @quoted_column_value + emit_row(row, quoted_fields, &block) + break + else + if @quoted_column_value + if liberal_parsing? and (new_line = @scanner.check(@line_end)) + message = + "Illegal end-of-line sequence outside of a quoted field " + + "<#{new_line.inspect}>" + else + message = "Any value after quoted field isn't allowed" + end + ignore_broken_line + raise MalformedCSVError.new(message, @lineno) + elsif @unquoted_column_value and + (new_line = @scanner.scan(@line_end)) + ignore_broken_line + message = "Unquoted fields do not allow new line " + + "<#{new_line.inspect}>" + raise MalformedCSVError.new(message, @lineno) + elsif @scanner.rest.start_with?(@quote_character) + ignore_broken_line + message = "Illegal quoting" + raise MalformedCSVError.new(message, @lineno) + elsif (new_line = @scanner.scan(@line_end)) + ignore_broken_line + message = "New line must be <#{@row_separator.inspect}> " + + "not <#{new_line.inspect}>" + raise MalformedCSVError.new(message, @lineno) + else + ignore_broken_line + raise MalformedCSVError.new("TODO: Meaningful message", + @lineno) + end + end + end + end + + def parse_column_value + if @liberal_parsing + quoted_value = parse_quoted_column_value + if quoted_value + @scanner.scan_all(@strip_value) if @strip_value + unquoted_value = parse_unquoted_column_value + if unquoted_value + if @double_quote_outside_quote + unquoted_value = unquoted_value.gsub(@quote_character * 2, + @quote_character) + if quoted_value.empty? # %Q{""...} case + return @quote_character + unquoted_value + end + end + @quote_character + quoted_value + @quote_character + unquoted_value + else + quoted_value + end + else + parse_unquoted_column_value + end + elsif @may_quoted + parse_quoted_column_value || + parse_unquoted_column_value + else + parse_unquoted_column_value || + parse_quoted_column_value + end + end + + def parse_unquoted_column_value + value = @scanner.scan_all(@unquoted_value) + return nil unless value + + @unquoted_column_value = true + if @first_column_separators + while true + @scanner.keep_start + is_column_end = @column_ends.all? do |column_end| + @scanner.scan(column_end) + end + @scanner.keep_back + break if is_column_end + sub_separator = @scanner.scan_all(@first_column_separators) + break if sub_separator.nil? + value << sub_separator + sub_value = @scanner.scan_all(@unquoted_value) + break if sub_value.nil? + value << sub_value + end + end + value.gsub!(@backslash_quote_character, @quote_character) if @backslash_quote + if @rstrip_value + value.gsub!(@rstrip_value, "") + end + value + end + + def parse_quoted_column_value + quotes = @scanner.scan_all(@quotes) + return nil unless quotes + + @quoted_column_value = true + n_quotes = quotes.size + if (n_quotes % 2).zero? + quotes[0, (n_quotes - 2) / 2] + else + value = quotes[0, n_quotes / 2] + while true + quoted_value = @scanner.scan_all(@quoted_value) + value << quoted_value if quoted_value + if @backslash_quote + if @scanner.scan(@escaped_backslash) + if @scanner.scan(@escaped_quote) + value << @quote_character + else + value << @backslash_character + end + next + end + end + + quotes = @scanner.scan_all(@quotes) + unless quotes + ignore_broken_line + message = "Unclosed quoted field" + raise MalformedCSVError.new(message, @lineno) + end + n_quotes = quotes.size + if n_quotes == 1 + break + else + value << quotes[0, n_quotes / 2] + break if (n_quotes % 2) == 1 + end + end + value + end + end + + def parse_column_end + return true if @scanner.scan(@column_end) + return false unless @column_ends + + @scanner.keep_start + if @column_ends.all? {|column_end| @scanner.scan(column_end)} + @scanner.keep_drop + true + else + @scanner.keep_back + false + end + end + + def parse_row_end + return true if @scanner.scan(@row_end) + return false unless @row_ends + @scanner.keep_start + if @row_ends.all? {|row_end| @scanner.scan(row_end)} + @scanner.keep_drop + true + else + @scanner.keep_back + false + end + end + + def strip_value(value) + return value unless @strip + return value if value.nil? + + case @strip + when String + while value.delete_prefix!(@strip) + # do nothing + end + while value.delete_suffix!(@strip) + # do nothing + end + else + value.strip! + end + value + end + + def ignore_broken_line + @scanner.scan_all(@not_line_end) + @scanner.scan_all(@line_end) + @lineno += 1 + end + + def start_row + if @last_line + @last_line = nil + else + @scanner.keep_drop + end + @scanner.keep_start + end + + def emit_row(row, quoted_fields=FieldsConverter::NO_QUOTED_FIELDS, &block) + @lineno += 1 + + raw_row = row + if @use_headers + if @headers.nil? + @headers = adjust_headers(row, quoted_fields) + return unless @return_headers + row = Row.new(@headers, row, true) + else + row = Row.new(@headers, + @fields_converter.convert(raw_row, @headers, @lineno, quoted_fields)) + end + else + # convert fields, if needed... + row = @fields_converter.convert(raw_row, nil, @lineno, quoted_fields) + end + + # inject unconverted fields and accessor, if requested... + if @unconverted_fields and not row.respond_to?(:unconverted_fields) + add_unconverted_fields(row, raw_row) + end + + yield(row) + end + + # This method injects an instance variable unconverted_fields into + # +row+ and an accessor method for +row+ called unconverted_fields(). The + # variable is set to the contents of +fields+. + def add_unconverted_fields(row, fields) + class << row + attr_reader :unconverted_fields + end + row.instance_variable_set(:@unconverted_fields, fields) + row + end + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/row.rb b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/row.rb new file mode 100644 index 0000000..86323f7 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/row.rb @@ -0,0 +1,757 @@ +# frozen_string_literal: true + +require "forwardable" + +class CSV + # = \CSV::Row + # A \CSV::Row instance represents a \CSV table row. + # (see {class CSV}[../CSV.html]). + # + # The instance may have: + # - Fields: each is an object, not necessarily a \String. + # - Headers: each serves a key, and also need not be a \String. + # + # === Instance Methods + # + # \CSV::Row has three groups of instance methods: + # - Its own internally defined instance methods. + # - Methods included by module Enumerable. + # - Methods delegated to class Array.: + # * Array#empty? + # * Array#length + # * Array#size + # + # == Creating a \CSV::Row Instance + # + # Commonly, a new \CSV::Row instance is created by parsing \CSV source + # that has headers: + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true) + # table.each {|row| p row } + # Output: + # # + # # + # # + # + # You can also create a row directly. See ::new. + # + # == Headers + # + # Like a \CSV::Table, a \CSV::Row has headers. + # + # A \CSV::Row that was created by parsing \CSV source + # inherits its headers from the table: + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true) + # row = table.first + # row.headers # => ["Name", "Value"] + # + # You can also create a new row with headers; + # like the keys in a \Hash, the headers need not be Strings: + # row = CSV::Row.new([:name, :value], ['foo', 0]) + # row.headers # => [:name, :value] + # + # The new row retains its headers even if added to a table + # that has headers: + # table << row # => # + # row.headers # => [:name, :value] + # row[:name] # => "foo" + # row['Name'] # => nil + # + # + # + # == Accessing Fields + # + # You may access a field in a \CSV::Row with either its \Integer index + # (\Array-style) or its header (\Hash-style). + # + # Fetch a field using method #[]: + # row = CSV::Row.new(['Name', 'Value'], ['foo', 0]) + # row[1] # => 0 + # row['Value'] # => 0 + # + # Set a field using method #[]=: + # row = CSV::Row.new(['Name', 'Value'], ['foo', 0]) + # row # => # + # row[0] = 'bar' + # row['Value'] = 1 + # row # => # + # + class Row + # :call-seq: + # CSV::Row.new(headers, fields, header_row = false) -> csv_row + # + # Returns the new \CSV::Row instance constructed from + # arguments +headers+ and +fields+; both should be Arrays; + # note that the fields need not be Strings: + # row = CSV::Row.new(['Name', 'Value'], ['foo', 0]) + # row # => # + # + # If the \Array lengths are different, the shorter is +nil+-filled: + # row = CSV::Row.new(['Name', 'Value', 'Date', 'Size'], ['foo', 0]) + # row # => # + # + # Each \CSV::Row object is either a field row or a header row; + # by default, a new row is a field row; for the row created above: + # row.field_row? # => true + # row.header_row? # => false + # + # If the optional argument +header_row+ is given as +true+, + # the created row is a header row: + # row = CSV::Row.new(['Name', 'Value'], ['foo', 0], header_row = true) + # row # => # + # row.field_row? # => false + # row.header_row? # => true + def initialize(headers, fields, header_row = false) + @header_row = header_row + headers.each { |h| h.freeze if h.is_a? String } + + # handle extra headers or fields + @row = if headers.size >= fields.size + headers.zip(fields) + else + fields.zip(headers).each(&:reverse!) + end + end + + # Internal data format used to compare equality. + attr_reader :row + protected :row + + ### Array Delegation ### + + extend Forwardable + def_delegators :@row, :empty?, :length, :size + + # :call-seq: + # row.initialize_copy(other_row) -> self + # + # Calls superclass method. + def initialize_copy(other) + super_return_value = super + @row = @row.collect(&:dup) + super_return_value + end + + # :call-seq: + # row.header_row? -> true or false + # + # Returns +true+ if this is a header row, +false+ otherwise. + def header_row? + @header_row + end + + # :call-seq: + # row.field_row? -> true or false + # + # Returns +true+ if this is a field row, +false+ otherwise. + def field_row? + not header_row? + end + + # :call-seq: + # row.headers -> array_of_headers + # + # Returns the headers for this row: + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true) + # row = table.first + # row.headers # => ["Name", "Value"] + def headers + @row.map(&:first) + end + + # :call-seq: + # field(index) -> value + # field(header) -> value + # field(header, offset) -> value + # + # Returns the field value for the given +index+ or +header+. + # + # --- + # + # Fetch field value by \Integer index: + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true) + # row = table[0] + # row.field(0) # => "foo" + # row.field(1) # => "bar" + # + # Counts backward from the last column if +index+ is negative: + # row.field(-1) # => "0" + # row.field(-2) # => "foo" + # + # Returns +nil+ if +index+ is out of range: + # row.field(2) # => nil + # row.field(-3) # => nil + # + # --- + # + # Fetch field value by header (first found): + # source = "Name,Name,Name\nFoo,Bar,Baz\n" + # table = CSV.parse(source, headers: true) + # row = table[0] + # row.field('Name') # => "Foo" + # + # Fetch field value by header, ignoring +offset+ leading fields: + # source = "Name,Name,Name\nFoo,Bar,Baz\n" + # table = CSV.parse(source, headers: true) + # row = table[0] + # row.field('Name', 2) # => "Baz" + # + # Returns +nil+ if the header does not exist. + def field(header_or_index, minimum_index = 0) + # locate the pair + finder = (header_or_index.is_a?(Integer) || header_or_index.is_a?(Range)) ? :[] : :assoc + pair = @row[minimum_index..-1].public_send(finder, header_or_index) + + # return the field if we have a pair + if pair.nil? + nil + else + header_or_index.is_a?(Range) ? pair.map(&:last) : pair.last + end + end + alias_method :[], :field + + # + # :call-seq: + # fetch(header) -> value + # fetch(header, default) -> value + # fetch(header) {|row| ... } -> value + # + # Returns the field value as specified by +header+. + # + # --- + # + # With the single argument +header+, returns the field value + # for that header (first found): + # source = "Name,Name,Name\nFoo,Bar,Baz\n" + # table = CSV.parse(source, headers: true) + # row = table[0] + # row.fetch('Name') # => "Foo" + # + # Raises exception +KeyError+ if the header does not exist. + # + # --- + # + # With arguments +header+ and +default+ given, + # returns the field value for the header (first found) + # if the header exists, otherwise returns +default+: + # source = "Name,Name,Name\nFoo,Bar,Baz\n" + # table = CSV.parse(source, headers: true) + # row = table[0] + # row.fetch('Name', '') # => "Foo" + # row.fetch(:nosuch, '') # => "" + # + # --- + # + # With argument +header+ and a block given, + # returns the field value for the header (first found) + # if the header exists; otherwise calls the block + # and returns its return value: + # source = "Name,Name,Name\nFoo,Bar,Baz\n" + # table = CSV.parse(source, headers: true) + # row = table[0] + # row.fetch('Name') {|header| fail 'Cannot happen' } # => "Foo" + # row.fetch(:nosuch) {|header| "Header '#{header} not found'" } # => "Header 'nosuch not found'" + def fetch(header, *varargs) + raise ArgumentError, "Too many arguments" if varargs.length > 1 + pair = @row.assoc(header) + if pair + pair.last + else + if block_given? + yield header + elsif varargs.empty? + raise KeyError, "key not found: #{header}" + else + varargs.first + end + end + end + + # :call-seq: + # row.has_key?(header) -> true or false + # + # Returns +true+ if there is a field with the given +header+, + # +false+ otherwise. + def has_key?(header) + !!@row.assoc(header) + end + alias_method :include?, :has_key? + alias_method :key?, :has_key? + alias_method :member?, :has_key? + alias_method :header?, :has_key? + + # + # :call-seq: + # row[index] = value -> value + # row[header, offset] = value -> value + # row[header] = value -> value + # + # Assigns the field value for the given +index+ or +header+; + # returns +value+. + # + # --- + # + # Assign field value by \Integer index: + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true) + # row = table[0] + # row[0] = 'Bat' + # row[1] = 3 + # row # => # + # + # Counts backward from the last column if +index+ is negative: + # row[-1] = 4 + # row[-2] = 'Bam' + # row # => # + # + # Extends the row with nil:nil if positive +index+ is not in the row: + # row[4] = 5 + # row # => # + # + # Raises IndexError if negative +index+ is too small (too far from zero). + # + # --- + # + # Assign field value by header (first found): + # source = "Name,Name,Name\nFoo,Bar,Baz\n" + # table = CSV.parse(source, headers: true) + # row = table[0] + # row['Name'] = 'Bat' + # row # => # + # + # Assign field value by header, ignoring +offset+ leading fields: + # source = "Name,Name,Name\nFoo,Bar,Baz\n" + # table = CSV.parse(source, headers: true) + # row = table[0] + # row['Name', 2] = 4 + # row # => # + # + # Append new field by (new) header: + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true) + # row = table[0] + # row['New'] = 6 + # row# => # + def []=(*args) + value = args.pop + + if args.first.is_a? Integer + if @row[args.first].nil? # extending past the end with index + @row[args.first] = [nil, value] + @row.map! { |pair| pair.nil? ? [nil, nil] : pair } + else # normal index assignment + @row[args.first][1] = value + end + else + index = index(*args) + if index.nil? # appending a field + self << [args.first, value] + else # normal header assignment + @row[index][1] = value + end + end + end + + # + # :call-seq: + # row << [header, value] -> self + # row << hash -> self + # row << value -> self + # + # Adds a field to +self+; returns +self+: + # + # If the argument is a 2-element \Array [header, value], + # a field is added with the given +header+ and +value+: + # source = "Name,Name,Name\nFoo,Bar,Baz\n" + # table = CSV.parse(source, headers: true) + # row = table[0] + # row << ['NAME', 'Bat'] + # row # => # + # + # If the argument is a \Hash, each key-value pair is added + # as a field with header +key+ and value +value+. + # source = "Name,Name,Name\nFoo,Bar,Baz\n" + # table = CSV.parse(source, headers: true) + # row = table[0] + # row << {NAME: 'Bat', name: 'Bam'} + # row # => # + # + # Otherwise, the given +value+ is added as a field with no header. + # source = "Name,Name,Name\nFoo,Bar,Baz\n" + # table = CSV.parse(source, headers: true) + # row = table[0] + # row << 'Bag' + # row # => # + def <<(arg) + if arg.is_a?(Array) and arg.size == 2 # appending a header and name + @row << arg + elsif arg.is_a?(Hash) # append header and name pairs + arg.each { |pair| @row << pair } + else # append field value + @row << [nil, arg] + end + + self # for chaining + end + + # :call-seq: + # row.push(*values) -> self + # + # Appends each of the given +values+ to +self+ as a field; returns +self+: + # source = "Name,Name,Name\nFoo,Bar,Baz\n" + # table = CSV.parse(source, headers: true) + # row = table[0] + # row.push('Bat', 'Bam') + # row # => # + def push(*args) + args.each { |arg| self << arg } + + self # for chaining + end + + # + # :call-seq: + # delete(index) -> [header, value] or nil + # delete(header) -> [header, value] or empty_array + # delete(header, offset) -> [header, value] or empty_array + # + # Removes a specified field from +self+; returns the 2-element \Array + # [header, value] if the field exists. + # + # If an \Integer argument +index+ is given, + # removes and returns the field at offset +index+, + # or returns +nil+ if the field does not exist: + # source = "Name,Name,Name\nFoo,Bar,Baz\n" + # table = CSV.parse(source, headers: true) + # row = table[0] + # row.delete(1) # => ["Name", "Bar"] + # row.delete(50) # => nil + # + # Otherwise, if the single argument +header+ is given, + # removes and returns the first-found field with the given header, + # of returns a new empty \Array if the field does not exist: + # source = "Name,Name,Name\nFoo,Bar,Baz\n" + # table = CSV.parse(source, headers: true) + # row = table[0] + # row.delete('Name') # => ["Name", "Foo"] + # row.delete('NAME') # => [] + # + # If argument +header+ and \Integer argument +offset+ are given, + # removes and returns the first-found field with the given header + # whose +index+ is at least as large as +offset+: + # source = "Name,Name,Name\nFoo,Bar,Baz\n" + # table = CSV.parse(source, headers: true) + # row = table[0] + # row.delete('Name', 1) # => ["Name", "Bar"] + # row.delete('NAME', 1) # => [] + def delete(header_or_index, minimum_index = 0) + if header_or_index.is_a? Integer # by index + @row.delete_at(header_or_index) + elsif i = index(header_or_index, minimum_index) # by header + @row.delete_at(i) + else + [ ] + end + end + + # :call-seq: + # row.delete_if {|header, value| ... } -> self + # + # Removes fields from +self+ as selected by the block; returns +self+. + # + # Removes each field for which the block returns a truthy value: + # source = "Name,Name,Name\nFoo,Bar,Baz\n" + # table = CSV.parse(source, headers: true) + # row = table[0] + # row.delete_if {|header, value| value.start_with?('B') } # => true + # row # => # + # row.delete_if {|header, value| header.start_with?('B') } # => false + # + # If no block is given, returns a new Enumerator: + # row.delete_if # => #:delete_if> + def delete_if(&block) + return enum_for(__method__) { size } unless block_given? + + @row.delete_if(&block) + + self # for chaining + end + + # :call-seq: + # self.fields(*specifiers) -> array_of_fields + # + # Returns field values per the given +specifiers+, which may be any mixture of: + # - \Integer index. + # - \Range of \Integer indexes. + # - 2-element \Array containing a header and offset. + # - Header. + # - \Range of headers. + # + # For +specifier+ in one of the first four cases above, + # returns the result of self.field(specifier); see #field. + # + # Although there may be any number of +specifiers+, + # the examples here will illustrate one at a time. + # + # When the specifier is an \Integer +index+, + # returns self.field(index)L + # source = "Name,Name,Name\nFoo,Bar,Baz\n" + # table = CSV.parse(source, headers: true) + # row = table[0] + # row.fields(1) # => ["Bar"] + # + # When the specifier is a \Range of \Integers +range+, + # returns self.field(range): + # row.fields(1..2) # => ["Bar", "Baz"] + # + # When the specifier is a 2-element \Array +array+, + # returns self.field(array)L + # row.fields('Name', 1) # => ["Foo", "Bar"] + # + # When the specifier is a header +header+, + # returns self.field(header)L + # row.fields('Name') # => ["Foo"] + # + # When the specifier is a \Range of headers +range+, + # forms a new \Range +new_range+ from the indexes of + # range.start and range.end, + # and returns self.field(new_range): + # source = "Name,NAME,name\nFoo,Bar,Baz\n" + # table = CSV.parse(source, headers: true) + # row = table[0] + # row.fields('Name'..'NAME') # => ["Foo", "Bar"] + # + # Returns all fields if no argument given: + # row.fields # => ["Foo", "Bar", "Baz"] + def fields(*headers_and_or_indices) + if headers_and_or_indices.empty? # return all fields--no arguments + @row.map(&:last) + else # or work like values_at() + all = [] + headers_and_or_indices.each do |h_or_i| + if h_or_i.is_a? Range + index_begin = h_or_i.begin.is_a?(Integer) ? h_or_i.begin : + index(h_or_i.begin) + index_end = h_or_i.end.is_a?(Integer) ? h_or_i.end : + index(h_or_i.end) + new_range = h_or_i.exclude_end? ? (index_begin...index_end) : + (index_begin..index_end) + all.concat(fields.values_at(new_range)) + else + all << field(*Array(h_or_i)) + end + end + return all + end + end + alias_method :values_at, :fields + + # :call-seq: + # index(header) -> index + # index(header, offset) -> index + # + # Returns the index for the given header, if it exists; + # otherwise returns +nil+. + # + # With the single argument +header+, returns the index + # of the first-found field with the given +header+: + # source = "Name,Name,Name\nFoo,Bar,Baz\n" + # table = CSV.parse(source, headers: true) + # row = table[0] + # row.index('Name') # => 0 + # row.index('NAME') # => nil + # + # With arguments +header+ and +offset+, + # returns the index of the first-found field with given +header+, + # but ignoring the first +offset+ fields: + # row.index('Name', 1) # => 1 + # row.index('Name', 3) # => nil + def index(header, minimum_index = 0) + # find the pair + index = headers[minimum_index..-1].index(header) + # return the index at the right offset, if we found one + index.nil? ? nil : index + minimum_index + end + + # :call-seq: + # row.field?(value) -> true or false + # + # Returns +true+ if +value+ is a field in this row, +false+ otherwise: + # source = "Name,Name,Name\nFoo,Bar,Baz\n" + # table = CSV.parse(source, headers: true) + # row = table[0] + # row.field?('Bar') # => true + # row.field?('BAR') # => false + def field?(data) + fields.include? data + end + + include Enumerable + + # :call-seq: + # row.each {|header, value| ... } -> self + # + # Calls the block with each header-value pair; returns +self+: + # source = "Name,Name,Name\nFoo,Bar,Baz\n" + # table = CSV.parse(source, headers: true) + # row = table[0] + # row.each {|header, value| p [header, value] } + # Output: + # ["Name", "Foo"] + # ["Name", "Bar"] + # ["Name", "Baz"] + # + # If no block is given, returns a new Enumerator: + # row.each # => #:each> + def each(&block) + return enum_for(__method__) { size } unless block_given? + + @row.each(&block) + + self # for chaining + end + + alias_method :each_pair, :each + + # :call-seq: + # row == other -> true or false + # + # Returns +true+ if +other+ is a /CSV::Row that has the same + # fields (headers and values) in the same order as +self+; + # otherwise returns +false+: + # source = "Name,Name,Name\nFoo,Bar,Baz\n" + # table = CSV.parse(source, headers: true) + # row = table[0] + # other_row = table[0] + # row == other_row # => true + # other_row = table[1] + # row == other_row # => false + def ==(other) + return @row == other.row if other.is_a? CSV::Row + @row == other + end + + # :call-seq: + # row.to_h -> hash + # + # Returns the new \Hash formed by adding each header-value pair in +self+ + # as a key-value pair in the \Hash. + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true) + # row = table[0] + # row.to_h # => {"Name"=>"foo", "Value"=>"0"} + # + # Header order is preserved, but repeated headers are ignored: + # source = "Name,Name,Name\nFoo,Bar,Baz\n" + # table = CSV.parse(source, headers: true) + # row = table[0] + # row.to_h # => {"Name"=>"Foo"} + def to_h + hash = {} + each do |key, _value| + hash[key] = self[key] unless hash.key?(key) + end + hash + end + alias_method :to_hash, :to_h + + # :call-seq: + # row.deconstruct_keys(keys) -> hash + # + # Returns the new \Hash suitable for pattern matching containing only the + # keys specified as an argument. + def deconstruct_keys(keys) + if keys.nil? + to_h + else + keys.to_h { |key| [key, self[key]] } + end + end + + alias_method :to_ary, :to_a + + # :call-seq: + # row.deconstruct -> array + # + # Returns the new \Array suitable for pattern matching containing the values + # of the row. + def deconstruct + fields + end + + # :call-seq: + # row.to_csv -> csv_string + # + # Returns the row as a \CSV String. Headers are not included: + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true) + # row = table[0] + # row.to_csv # => "foo,0\n" + def to_csv(**options) + fields.to_csv(**options) + end + alias_method :to_s, :to_csv + + # :call-seq: + # row.dig(index_or_header, *identifiers) -> object + # + # Finds and returns the object in nested object that is specified + # by +index_or_header+ and +specifiers+. + # + # The nested objects may be instances of various classes. + # See {Dig Methods}[rdoc-ref:dig_methods.rdoc]. + # + # Examples: + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true) + # row = table[0] + # row.dig(1) # => "0" + # row.dig('Value') # => "0" + # row.dig(5) # => nil + def dig(index_or_header, *indexes) + value = field(index_or_header) + if value.nil? + nil + elsif indexes.empty? + value + else + unless value.respond_to?(:dig) + raise TypeError, "#{value.class} does not have \#dig method" + end + value.dig(*indexes) + end + end + + # :call-seq: + # row.inspect -> string + # + # Returns an ASCII-compatible \String showing: + # - Class \CSV::Row. + # - Header-value pairs. + # Example: + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true) + # row = table[0] + # row.inspect # => "#" + def inspect + str = ["#<", self.class.to_s] + each do |header, field| + str << " " << (header.is_a?(Symbol) ? header.to_s : header.inspect) << + ":" << field.inspect + end + str << ">" + begin + str.join('') + rescue # any encoding error + str.map do |s| + e = Encoding::Converter.asciicompat_encoding(s.encoding) + e ? s.encode(e) : s.force_encoding("ASCII-8BIT") + end.join('') + end + end + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/table.rb b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/table.rb new file mode 100644 index 0000000..fb19f54 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/table.rb @@ -0,0 +1,1055 @@ +# frozen_string_literal: true + +require "forwardable" + +class CSV + # = \CSV::Table + # A \CSV::Table instance represents \CSV data. + # (see {class CSV}[../CSV.html]). + # + # The instance may have: + # - Rows: each is a Table::Row object. + # - Headers: names for the columns. + # + # === Instance Methods + # + # \CSV::Table has three groups of instance methods: + # - Its own internally defined instance methods. + # - Methods included by module Enumerable. + # - Methods delegated to class Array.: + # * Array#empty? + # * Array#length + # * Array#size + # + # == Creating a \CSV::Table Instance + # + # Commonly, a new \CSV::Table instance is created by parsing \CSV source + # using headers: + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true) + # table.class # => CSV::Table + # + # You can also create an instance directly. See ::new. + # + # == Headers + # + # If a table has headers, the headers serve as labels for the columns of data. + # Each header serves as the label for its column. + # + # The headers for a \CSV::Table object are stored as an \Array of Strings. + # + # Commonly, headers are defined in the first row of \CSV source: + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true) + # table.headers # => ["Name", "Value"] + # + # If no headers are defined, the \Array is empty: + # table = CSV::Table.new([]) + # table.headers # => [] + # + # == Access Modes + # + # \CSV::Table provides three modes for accessing table data: + # - \Row mode. + # - Column mode. + # - Mixed mode (the default for a new table). + # + # The access mode for a\CSV::Table instance affects the behavior + # of some of its instance methods: + # - #[] + # - #[]= + # - #delete + # - #delete_if + # - #each + # - #values_at + # + # === \Row Mode + # + # Set a table to row mode with method #by_row!: + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true) + # table.by_row! # => # + # + # Specify a single row by an \Integer index: + # # Get a row. + # table[1] # => # + # # Set a row, then get it. + # table[1] = CSV::Row.new(['Name', 'Value'], ['bam', 3]) + # table[1] # => # + # + # Specify a sequence of rows by a \Range: + # # Get rows. + # table[1..2] # => [#, #] + # # Set rows, then get them. + # table[1..2] = [ + # CSV::Row.new(['Name', 'Value'], ['bat', 4]), + # CSV::Row.new(['Name', 'Value'], ['bad', 5]), + # ] + # table[1..2] # => [["Name", #], ["Value", #]] + # + # === Column Mode + # + # Set a table to column mode with method #by_col!: + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true) + # table.by_col! # => # + # + # Specify a column by an \Integer index: + # # Get a column. + # table[0] + # # Set a column, then get it. + # table[0] = ['FOO', 'BAR', 'BAZ'] + # table[0] # => ["FOO", "BAR", "BAZ"] + # + # Specify a column by its \String header: + # # Get a column. + # table['Name'] # => ["FOO", "BAR", "BAZ"] + # # Set a column, then get it. + # table['Name'] = ['Foo', 'Bar', 'Baz'] + # table['Name'] # => ["Foo", "Bar", "Baz"] + # + # === Mixed Mode + # + # In mixed mode, you can refer to either rows or columns: + # - An \Integer index refers to a row. + # - A \Range index refers to multiple rows. + # - A \String index refers to a column. + # + # Set a table to mixed mode with method #by_col_or_row!: + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true) + # table.by_col_or_row! # => # + # + # Specify a single row by an \Integer index: + # # Get a row. + # table[1] # => # + # # Set a row, then get it. + # table[1] = CSV::Row.new(['Name', 'Value'], ['bam', 3]) + # table[1] # => # + # + # Specify a sequence of rows by a \Range: + # # Get rows. + # table[1..2] # => [#, #] + # # Set rows, then get them. + # table[1] = CSV::Row.new(['Name', 'Value'], ['bat', 4]) + # table[2] = CSV::Row.new(['Name', 'Value'], ['bad', 5]) + # table[1..2] # => [["Name", #], ["Value", #]] + # + # Specify a column by its \String header: + # # Get a column. + # table['Name'] # => ["foo", "bat", "bad"] + # # Set a column, then get it. + # table['Name'] = ['Foo', 'Bar', 'Baz'] + # table['Name'] # => ["Foo", "Bar", "Baz"] + class Table + # :call-seq: + # CSV::Table.new(array_of_rows, headers = nil) -> csv_table + # + # Returns a new \CSV::Table object. + # + # - Argument +array_of_rows+ must be an \Array of CSV::Row objects. + # - Argument +headers+, if given, may be an \Array of Strings. + # + # --- + # + # Create an empty \CSV::Table object: + # table = CSV::Table.new([]) + # table # => # + # + # Create a non-empty \CSV::Table object: + # rows = [ + # CSV::Row.new([], []), + # CSV::Row.new([], []), + # CSV::Row.new([], []), + # ] + # table = CSV::Table.new(rows) + # table # => # + # + # --- + # + # If argument +headers+ is an \Array of Strings, + # those Strings become the table's headers: + # table = CSV::Table.new([], headers: ['Name', 'Age']) + # table.headers # => ["Name", "Age"] + # + # If argument +headers+ is not given and the table has rows, + # the headers are taken from the first row: + # rows = [ + # CSV::Row.new(['Foo', 'Bar'], []), + # CSV::Row.new(['foo', 'bar'], []), + # CSV::Row.new(['FOO', 'BAR'], []), + # ] + # table = CSV::Table.new(rows) + # table.headers # => ["Foo", "Bar"] + # + # If argument +headers+ is not given and the table is empty (has no rows), + # the headers are also empty: + # table = CSV::Table.new([]) + # table.headers # => [] + # + # --- + # + # Raises an exception if argument +array_of_rows+ is not an \Array object: + # # Raises NoMethodError (undefined method `first' for :foo:Symbol): + # CSV::Table.new(:foo) + # + # Raises an exception if an element of +array_of_rows+ is not a \CSV::Table object: + # # Raises NoMethodError (undefined method `headers' for :foo:Symbol): + # CSV::Table.new([:foo]) + def initialize(array_of_rows, headers: nil) + @table = array_of_rows + @headers = headers + unless @headers + if @table.empty? + @headers = [] + else + @headers = @table.first.headers + end + end + + @mode = :col_or_row + end + + # The current access mode for indexing and iteration. + attr_reader :mode + + # Internal data format used to compare equality. + attr_reader :table + protected :table + + ### Array Delegation ### + + extend Forwardable + def_delegators :@table, :empty?, :length, :size + + # :call-seq: + # table.by_col -> table_dup + # + # Returns a duplicate of +self+, in column mode + # (see {Column Mode}[#class-CSV::Table-label-Column+Mode]): + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true) + # table.mode # => :col_or_row + # dup_table = table.by_col + # dup_table.mode # => :col + # dup_table.equal?(table) # => false # It's a dup + # + # This may be used to chain method calls without changing the mode + # (but also will affect performance and memory usage): + # dup_table.by_col['Name'] + # + # Also note that changes to the duplicate table will not affect the original. + def by_col + self.class.new(@table.dup).by_col! + end + + # :call-seq: + # table.by_col! -> self + # + # Sets the mode for +self+ to column mode + # (see {Column Mode}[#class-CSV::Table-label-Column+Mode]); returns +self+: + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true) + # table.mode # => :col_or_row + # table1 = table.by_col! + # table.mode # => :col + # table1.equal?(table) # => true # Returned self + def by_col! + @mode = :col + + self + end + + # :call-seq: + # table.by_col_or_row -> table_dup + # + # Returns a duplicate of +self+, in mixed mode + # (see {Mixed Mode}[#class-CSV::Table-label-Mixed+Mode]): + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true).by_col! + # table.mode # => :col + # dup_table = table.by_col_or_row + # dup_table.mode # => :col_or_row + # dup_table.equal?(table) # => false # It's a dup + # + # This may be used to chain method calls without changing the mode + # (but also will affect performance and memory usage): + # dup_table.by_col_or_row['Name'] + # + # Also note that changes to the duplicate table will not affect the original. + def by_col_or_row + self.class.new(@table.dup).by_col_or_row! + end + + # :call-seq: + # table.by_col_or_row! -> self + # + # Sets the mode for +self+ to mixed mode + # (see {Mixed Mode}[#class-CSV::Table-label-Mixed+Mode]); returns +self+: + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true).by_col! + # table.mode # => :col + # table1 = table.by_col_or_row! + # table.mode # => :col_or_row + # table1.equal?(table) # => true # Returned self + def by_col_or_row! + @mode = :col_or_row + + self + end + + # :call-seq: + # table.by_row -> table_dup + # + # Returns a duplicate of +self+, in row mode + # (see {Row Mode}[#class-CSV::Table-label-Row+Mode]): + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true) + # table.mode # => :col_or_row + # dup_table = table.by_row + # dup_table.mode # => :row + # dup_table.equal?(table) # => false # It's a dup + # + # This may be used to chain method calls without changing the mode + # (but also will affect performance and memory usage): + # dup_table.by_row[1] + # + # Also note that changes to the duplicate table will not affect the original. + def by_row + self.class.new(@table.dup).by_row! + end + + # :call-seq: + # table.by_row! -> self + # + # Sets the mode for +self+ to row mode + # (see {Row Mode}[#class-CSV::Table-label-Row+Mode]); returns +self+: + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true) + # table.mode # => :col_or_row + # table1 = table.by_row! + # table.mode # => :row + # table1.equal?(table) # => true # Returned self + def by_row! + @mode = :row + + self + end + + # :call-seq: + # table.headers -> array_of_headers + # + # Returns a new \Array containing the \String headers for the table. + # + # If the table is not empty, returns the headers from the first row: + # rows = [ + # CSV::Row.new(['Foo', 'Bar'], []), + # CSV::Row.new(['FOO', 'BAR'], []), + # CSV::Row.new(['foo', 'bar'], []), + # ] + # table = CSV::Table.new(rows) + # table.headers # => ["Foo", "Bar"] + # table.delete(0) + # table.headers # => ["FOO", "BAR"] + # table.delete(0) + # table.headers # => ["foo", "bar"] + # + # If the table is empty, returns a copy of the headers in the table itself: + # table.delete(0) + # table.headers # => ["Foo", "Bar"] + def headers + if @table.empty? + @headers.dup + else + @table.first.headers + end + end + + # :call-seq: + # table[n] -> row or column_data + # table[range] -> array_of_rows or array_of_column_data + # table[header] -> array_of_column_data + # + # Returns data from the table; does not modify the table. + # + # --- + # + # Fetch a \Row by Its \Integer Index:: + # - Form: table[n], +n+ an integer. + # - Access mode: :row or :col_or_row. + # - Return value: _nth_ row of the table, if that row exists; + # otherwise +nil+. + # + # Returns the _nth_ row of the table if that row exists: + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true) + # table.by_row! # => # + # table[1] # => # + # table.by_col_or_row! # => # + # table[1] # => # + # + # Counts backward from the last row if +n+ is negative: + # table[-1] # => # + # + # Returns +nil+ if +n+ is too large or too small: + # table[4] # => nil + # table[-4] # => nil + # + # Raises an exception if the access mode is :row + # and +n+ is not an \Integer: + # table.by_row! # => # + # # Raises TypeError (no implicit conversion of String into Integer): + # table['Name'] + # + # --- + # + # Fetch a Column by Its \Integer Index:: + # - Form: table[n], +n+ an \Integer. + # - Access mode: :col. + # - Return value: _nth_ column of the table, if that column exists; + # otherwise an \Array of +nil+ fields of length self.size. + # + # Returns the _nth_ column of the table if that column exists: + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true) + # table.by_col! # => # + # table[1] # => ["0", "1", "2"] + # + # Counts backward from the last column if +n+ is negative: + # table[-2] # => ["foo", "bar", "baz"] + # + # Returns an \Array of +nil+ fields if +n+ is too large or too small: + # table[4] # => [nil, nil, nil] + # table[-4] # => [nil, nil, nil] + # + # --- + # + # Fetch Rows by \Range:: + # - Form: table[range], +range+ a \Range object. + # - Access mode: :row or :col_or_row. + # - Return value: rows from the table, beginning at row range.start, + # if those rows exists. + # + # Returns rows from the table, beginning at row range.first, + # if those rows exist: + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true) + # table.by_row! # => # + # rows = table[1..2] # => # + # rows # => [#, #] + # table.by_col_or_row! # => # + # rows = table[1..2] # => # + # rows # => [#, #] + # + # If there are too few rows, returns all from range.start to the end: + # rows = table[1..50] # => # + # rows # => [#, #] + # + # Special case: if range.start == table.size, returns an empty \Array: + # table[table.size..50] # => [] + # + # If range.end is negative, calculates the ending index from the end: + # rows = table[0..-1] + # rows # => [#, #, #] + # + # If range.start is negative, calculates the starting index from the end: + # rows = table[-1..2] + # rows # => [#] + # + # If range.start is larger than table.size, returns +nil+: + # table[4..4] # => nil + # + # --- + # + # Fetch Columns by \Range:: + # - Form: table[range], +range+ a \Range object. + # - Access mode: :col. + # - Return value: column data from the table, beginning at column range.start, + # if those columns exist. + # + # Returns column values from the table, if the column exists; + # the values are arranged by row: + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true) + # table.by_col! + # table[0..1] # => [["foo", "0"], ["bar", "1"], ["baz", "2"]] + # + # Special case: if range.start == headers.size, + # returns an \Array (size: table.size) of empty \Arrays: + # table[table.headers.size..50] # => [[], [], []] + # + # If range.end is negative, calculates the ending index from the end: + # table[0..-1] # => [["foo", "0"], ["bar", "1"], ["baz", "2"]] + # + # If range.start is negative, calculates the starting index from the end: + # table[-2..2] # => [["foo", "0"], ["bar", "1"], ["baz", "2"]] + # + # If range.start is larger than table.size, + # returns an \Array of +nil+ values: + # table[4..4] # => [nil, nil, nil] + # + # --- + # + # Fetch a Column by Its \String Header:: + # - Form: table[header], +header+ a \String header. + # - Access mode: :col or :col_or_row + # - Return value: column data from the table, if that +header+ exists. + # + # Returns column values from the table, if the column exists: + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true) + # table.by_col! # => # + # table['Name'] # => ["foo", "bar", "baz"] + # table.by_col_or_row! # => # + # col = table['Name'] + # col # => ["foo", "bar", "baz"] + # + # Modifying the returned column values does not modify the table: + # col[0] = 'bat' + # col # => ["bat", "bar", "baz"] + # table['Name'] # => ["foo", "bar", "baz"] + # + # Returns an \Array of +nil+ values if there is no such column: + # table['Nosuch'] # => [nil, nil, nil] + def [](index_or_header) + if @mode == :row or # by index + (@mode == :col_or_row and (index_or_header.is_a?(Integer) or index_or_header.is_a?(Range))) + @table[index_or_header] + else # by header + @table.map { |row| row[index_or_header] } + end + end + + # :call-seq: + # table[n] = row -> row + # table[n] = field_or_array_of_fields -> field_or_array_of_fields + # table[header] = field_or_array_of_fields -> field_or_array_of_fields + # + # Puts data onto the table. + # + # --- + # + # Set a \Row by Its \Integer Index:: + # - Form: table[n] = row, +n+ an \Integer, + # +row+ a \CSV::Row instance or an \Array of fields. + # - Access mode: :row or :col_or_row. + # - Return value: +row+. + # + # If the row exists, it is replaced: + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true) + # new_row = CSV::Row.new(['Name', 'Value'], ['bat', 3]) + # table.by_row! # => # + # return_value = table[0] = new_row + # return_value.equal?(new_row) # => true # Returned the row + # table[0].to_h # => {"Name"=>"bat", "Value"=>3} + # + # With access mode :col_or_row: + # table.by_col_or_row! # => # + # table[0] = CSV::Row.new(['Name', 'Value'], ['bam', 4]) + # table[0].to_h # => {"Name"=>"bam", "Value"=>4} + # + # With an \Array instead of a \CSV::Row, inherits headers from the table: + # array = ['bad', 5] + # return_value = table[0] = array + # return_value.equal?(array) # => true # Returned the array + # table[0].to_h # => {"Name"=>"bad", "Value"=>5} + # + # If the row does not exist, extends the table by adding rows: + # assigns rows with +nil+ as needed: + # table.size # => 3 + # table[5] = ['bag', 6] + # table.size # => 6 + # table[3] # => nil + # table[4]# => nil + # table[5].to_h # => {"Name"=>"bag", "Value"=>6} + # + # Note that the +nil+ rows are actually +nil+, not a row of +nil+ fields. + # + # --- + # + # Set a Column by Its \Integer Index:: + # - Form: table[n] = array_of_fields, +n+ an \Integer, + # +array_of_fields+ an \Array of \String fields. + # - Access mode: :col. + # - Return value: +array_of_fields+. + # + # If the column exists, it is replaced: + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true) + # new_col = [3, 4, 5] + # table.by_col! # => # + # return_value = table[1] = new_col + # return_value.equal?(new_col) # => true # Returned the column + # table[1] # => [3, 4, 5] + # # The rows, as revised: + # table.by_row! # => # + # table[0].to_h # => {"Name"=>"foo", "Value"=>3} + # table[1].to_h # => {"Name"=>"bar", "Value"=>4} + # table[2].to_h # => {"Name"=>"baz", "Value"=>5} + # table.by_col! # => # + # + # If there are too few values, fills with +nil+ values: + # table[1] = [0] + # table[1] # => [0, nil, nil] + # + # If there are too many values, ignores the extra values: + # table[1] = [0, 1, 2, 3, 4] + # table[1] # => [0, 1, 2] + # + # If a single value is given, replaces all fields in the column with that value: + # table[1] = 'bat' + # table[1] # => ["bat", "bat", "bat"] + # + # --- + # + # Set a Column by Its \String Header:: + # - Form: table[header] = field_or_array_of_fields, + # +header+ a \String header, +field_or_array_of_fields+ a field value + # or an \Array of \String fields. + # - Access mode: :col or :col_or_row. + # - Return value: +field_or_array_of_fields+. + # + # If the column exists, it is replaced: + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true) + # new_col = [3, 4, 5] + # table.by_col! # => # + # return_value = table['Value'] = new_col + # return_value.equal?(new_col) # => true # Returned the column + # table['Value'] # => [3, 4, 5] + # # The rows, as revised: + # table.by_row! # => # + # table[0].to_h # => {"Name"=>"foo", "Value"=>3} + # table[1].to_h # => {"Name"=>"bar", "Value"=>4} + # table[2].to_h # => {"Name"=>"baz", "Value"=>5} + # table.by_col! # => # + # + # If there are too few values, fills with +nil+ values: + # table['Value'] = [0] + # table['Value'] # => [0, nil, nil] + # + # If there are too many values, ignores the extra values: + # table['Value'] = [0, 1, 2, 3, 4] + # table['Value'] # => [0, 1, 2] + # + # If the column does not exist, extends the table by adding columns: + # table['Note'] = ['x', 'y', 'z'] + # table['Note'] # => ["x", "y", "z"] + # # The rows, as revised: + # table.by_row! + # table[0].to_h # => {"Name"=>"foo", "Value"=>0, "Note"=>"x"} + # table[1].to_h # => {"Name"=>"bar", "Value"=>1, "Note"=>"y"} + # table[2].to_h # => {"Name"=>"baz", "Value"=>2, "Note"=>"z"} + # table.by_col! + # + # If a single value is given, replaces all fields in the column with that value: + # table['Value'] = 'bat' + # table['Value'] # => ["bat", "bat", "bat"] + def []=(index_or_header, value) + if @mode == :row or # by index + (@mode == :col_or_row and index_or_header.is_a? Integer) + if value.is_a? Array + @table[index_or_header] = Row.new(headers, value) + else + @table[index_or_header] = value + end + else # set column + unless index_or_header.is_a? Integer + index = @headers.index(index_or_header) || @headers.size + @headers[index] = index_or_header + end + if value.is_a? Array # multiple values + @table.each_with_index do |row, i| + if row.header_row? + row[index_or_header] = index_or_header + else + row[index_or_header] = value[i] + end + end + else # repeated value + @table.each do |row| + if row.header_row? + row[index_or_header] = index_or_header + else + row[index_or_header] = value + end + end + end + end + end + + # :call-seq: + # table.values_at(*indexes) -> array_of_rows + # table.values_at(*headers) -> array_of_columns_data + # + # If the access mode is :row or :col_or_row, + # and each argument is either an \Integer or a \Range, + # returns rows. + # Otherwise, returns columns data. + # + # In either case, the returned values are in the order + # specified by the arguments. Arguments may be repeated. + # + # --- + # + # Returns rows as an \Array of \CSV::Row objects. + # + # No argument: + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true) + # table.values_at # => [] + # + # One index: + # values = table.values_at(0) + # values # => [#] + # + # Two indexes: + # values = table.values_at(2, 0) + # values # => [#, #] + # + # One \Range: + # values = table.values_at(1..2) + # values # => [#, #] + # + # \Ranges and indexes: + # values = table.values_at(0..1, 1..2, 0, 2) + # pp values + # Output: + # [#, + # #, + # #, + # #, + # #, + # #] + # + # --- + # + # Returns columns data as row Arrays, + # each consisting of the specified columns data for that row: + # values = table.values_at('Name') + # values # => [["foo"], ["bar"], ["baz"]] + # values = table.values_at('Value', 'Name') + # values # => [["0", "foo"], ["1", "bar"], ["2", "baz"]] + def values_at(*indices_or_headers) + if @mode == :row or # by indices + ( @mode == :col_or_row and indices_or_headers.all? do |index| + index.is_a?(Integer) or + ( index.is_a?(Range) and + index.first.is_a?(Integer) and + index.last.is_a?(Integer) ) + end ) + @table.values_at(*indices_or_headers) + else # by headers + @table.map { |row| row.values_at(*indices_or_headers) } + end + end + + # :call-seq: + # table << row_or_array -> self + # + # If +row_or_array+ is a \CSV::Row object, + # it is appended to the table: + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true) + # table << CSV::Row.new(table.headers, ['bat', 3]) + # table[3] # => # + # + # If +row_or_array+ is an \Array, it is used to create a new + # \CSV::Row object which is then appended to the table: + # table << ['bam', 4] + # table[4] # => # + def <<(row_or_array) + if row_or_array.is_a? Array # append Array + @table << Row.new(headers, row_or_array) + else # append Row + @table << row_or_array + end + + self # for chaining + end + + # + # :call-seq: + # table.push(*rows_or_arrays) -> self + # + # A shortcut for appending multiple rows. Equivalent to: + # rows.each {|row| self << row } + # + # Each argument may be either a \CSV::Row object or an \Array: + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true) + # rows = [ + # CSV::Row.new(table.headers, ['bat', 3]), + # ['bam', 4] + # ] + # table.push(*rows) + # table[3..4] # => [#, #] + def push(*rows) + rows.each { |row| self << row } + + self # for chaining + end + + # :call-seq: + # table.delete(*indexes) -> deleted_values + # table.delete(*headers) -> deleted_values + # + # If the access mode is :row or :col_or_row, + # and each argument is either an \Integer or a \Range, + # returns deleted rows. + # Otherwise, returns deleted columns data. + # + # In either case, the returned values are in the order + # specified by the arguments. Arguments may be repeated. + # + # --- + # + # Returns rows as an \Array of \CSV::Row objects. + # + # One index: + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true) + # deleted_values = table.delete(0) + # deleted_values # => [#] + # + # Two indexes: + # table = CSV.parse(source, headers: true) + # deleted_values = table.delete(2, 0) + # deleted_values # => [#, #] + # + # --- + # + # Returns columns data as column Arrays. + # + # One header: + # table = CSV.parse(source, headers: true) + # deleted_values = table.delete('Name') + # deleted_values # => ["foo", "bar", "baz"] + # + # Two headers: + # table = CSV.parse(source, headers: true) + # deleted_values = table.delete('Value', 'Name') + # deleted_values # => [["0", "1", "2"], ["foo", "bar", "baz"]] + def delete(*indexes_or_headers) + if indexes_or_headers.empty? + raise ArgumentError, "wrong number of arguments (given 0, expected 1+)" + end + deleted_values = indexes_or_headers.map do |index_or_header| + if @mode == :row or # by index + (@mode == :col_or_row and index_or_header.is_a? Integer) + @table.delete_at(index_or_header) + else # by header + if index_or_header.is_a? Integer + @headers.delete_at(index_or_header) + else + @headers.delete(index_or_header) + end + @table.map { |row| row.delete(index_or_header).last } + end + end + if indexes_or_headers.size == 1 + deleted_values[0] + else + deleted_values + end + end + + # :call-seq: + # table.delete_if {|row_or_column| ... } -> self + # + # Removes rows or columns for which the block returns a truthy value; + # returns +self+. + # + # Removes rows when the access mode is :row or :col_or_row; + # calls the block with each \CSV::Row object: + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true) + # table.by_row! # => # + # table.size # => 3 + # table.delete_if {|row| row['Name'].start_with?('b') } + # table.size # => 1 + # + # Removes columns when the access mode is :col; + # calls the block with each column as a 2-element array + # containing the header and an \Array of column fields: + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true) + # table.by_col! # => # + # table.headers.size # => 2 + # table.delete_if {|column_data| column_data[1].include?('2') } + # table.headers.size # => 1 + # + # Returns a new \Enumerator if no block is given: + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true) + # table.delete_if # => #:delete_if> + def delete_if(&block) + return enum_for(__method__) { @mode == :row or @mode == :col_or_row ? size : headers.size } unless block_given? + + if @mode == :row or @mode == :col_or_row # by index + @table.delete_if(&block) + else # by header + headers.each do |header| + delete(header) if yield([header, self[header]]) + end + end + + self # for chaining + end + + include Enumerable + + # :call-seq: + # table.each {|row_or_column| ... ) -> self + # + # Calls the block with each row or column; returns +self+. + # + # When the access mode is :row or :col_or_row, + # calls the block with each \CSV::Row object: + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true) + # table.by_row! # => # + # table.each {|row| p row } + # Output: + # # + # # + # # + # + # When the access mode is :col, + # calls the block with each column as a 2-element array + # containing the header and an \Array of column fields: + # table.by_col! # => # + # table.each {|column_data| p column_data } + # Output: + # ["Name", ["foo", "bar", "baz"]] + # ["Value", ["0", "1", "2"]] + # + # Returns a new \Enumerator if no block is given: + # table.each # => #:each> + def each(&block) + return enum_for(__method__) { @mode == :col ? headers.size : size } unless block_given? + + if @mode == :col + headers.each.with_index do |header, i| + yield([header, @table.map {|row| row[header, i]}]) + end + else + @table.each(&block) + end + + self # for chaining + end + + # :call-seq: + # table == other_table -> true or false + # + # Returns +true+ if all each row of +self+ == + # the corresponding row of +other_table+, otherwise, +false+. + # + # The access mode does no affect the result. + # + # Equal tables: + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true) + # other_table = CSV.parse(source, headers: true) + # table == other_table # => true + # + # Different row count: + # other_table.delete(2) + # table == other_table # => false + # + # Different last row: + # other_table << ['bat', 3] + # table == other_table # => false + def ==(other) + return @table == other.table if other.is_a? CSV::Table + @table == other + end + + # :call-seq: + # table.to_a -> array_of_arrays + # + # Returns the table as an \Array of \Arrays; + # the headers are in the first row: + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true) + # table.to_a # => [["Name", "Value"], ["foo", "0"], ["bar", "1"], ["baz", "2"]] + def to_a + array = [headers] + @table.each do |row| + array.push(row.fields) unless row.header_row? + end + + array + end + + # :call-seq: + # table.to_csv(**options) -> csv_string + # + # Returns the table as \CSV string. + # See {Options for Generating}[../CSV.html#class-CSV-label-Options+for+Generating]. + # + # Defaults option +write_headers+ to +true+: + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true) + # table.to_csv # => "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # + # Omits the headers if option +write_headers+ is given as +false+ + # (see {Option +write_headers+}[../CSV.html#class-CSV-label-Option+write_headers]): + # table.to_csv(write_headers: false) # => "foo,0\nbar,1\nbaz,2\n" + # + # Limit rows if option +limit+ is given like +2+: + # table.to_csv(limit: 2) # => "Name,Value\nfoo,0\nbar,1\n" + def to_csv(write_headers: true, limit: nil, **options) + array = write_headers ? [headers.to_csv(**options)] : [] + limit ||= @table.size + limit = @table.size + 1 + limit if limit < 0 + limit = 0 if limit < 0 + @table.first(limit).each do |row| + array.push(row.fields.to_csv(**options)) unless row.header_row? + end + + array.join("") + end + alias_method :to_s, :to_csv + + # + # Extracts the nested value specified by the sequence of +index+ or +header+ objects by calling dig at each step, + # returning nil if any intermediate step is nil. + # + def dig(index_or_header, *index_or_headers) + value = self[index_or_header] + if value.nil? + nil + elsif index_or_headers.empty? + value + else + unless value.respond_to?(:dig) + raise TypeError, "#{value.class} does not have \#dig method" + end + value.dig(*index_or_headers) + end + end + + # :call-seq: + # table.inspect => string + # + # Returns a US-ASCII-encoded \String showing table: + # - Class: CSV::Table. + # - Access mode: :row, :col, or :col_or_row. + # - Size: Row count, including the header row. + # + # Example: + # source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n" + # table = CSV.parse(source, headers: true) + # table.inspect # => "#\nName,Value\nfoo,0\nbar,1\nbaz,2\n" + # + def inspect + inspected = +"#<#{self.class} mode:#{@mode} row_count:#{to_a.size}>" + summary = to_csv(limit: 5) + inspected << "\n" << summary if summary.encoding.ascii_compatible? + inspected + end + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/version.rb b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/version.rb new file mode 100644 index 0000000..227f7f7 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/version.rb @@ -0,0 +1,6 @@ +# frozen_string_literal: true + +class CSV + # The version of the installed library. + VERSION = "3.3.5" +end diff --git a/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/writer.rb b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/writer.rb new file mode 100644 index 0000000..b59f111 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/writer.rb @@ -0,0 +1,209 @@ +# frozen_string_literal: true + +require_relative "input_record_separator" +require_relative "row" + +class CSV + # Note: Don't use this class directly. This is an internal class. + class Writer + # + # A CSV::Writer receives an output, prepares the header, format and output. + # It allows us to write new rows in the object and rewind it. + # + attr_reader :lineno + attr_reader :headers + + def initialize(output, options) + @output = output + @options = options + @lineno = 0 + @fields_converter = nil + prepare + if @options[:write_headers] and @headers + self << @headers + end + @fields_converter = @options[:fields_converter] + end + + # + # Adds a new row + # + def <<(row) + case row + when Row + row = row.fields + when Hash + row = @headers.collect {|header| row[header]} + end + + @headers ||= row if @use_headers + @lineno += 1 + + if @fields_converter + row = @fields_converter.convert(row, nil, lineno) + end + + i = -1 + converted_row = row.collect do |field| + i += 1 + quote(field, i) + end + line = converted_row.join(@column_separator) + @row_separator + if @output_encoding + line = line.encode(@output_encoding) + end + @output << line + + self + end + + # + # Winds back to the beginning + # + def rewind + @lineno = 0 + @headers = nil if @options[:headers].nil? + end + + private + def prepare + @encoding = @options[:encoding] + + prepare_header + prepare_format + prepare_output + end + + def prepare_header + headers = @options[:headers] + case headers + when Array + @headers = headers + @use_headers = true + when String + @headers = CSV.parse_line(headers, + col_sep: @options[:column_separator], + row_sep: @options[:row_separator], + quote_char: @options[:quote_character]) + @use_headers = true + when true + @headers = nil + @use_headers = true + else + @headers = nil + @use_headers = false + end + return unless @headers + + converter = @options[:header_fields_converter] + @headers = converter.convert(@headers, nil, 0, []) + @headers.each do |header| + header.freeze if header.is_a?(String) + end + end + + def prepare_force_quotes_fields(force_quotes) + @force_quotes_fields = {} + force_quotes.each do |name_or_index| + case name_or_index + when Integer + index = name_or_index + @force_quotes_fields[index] = true + when String, Symbol + name = name_or_index.to_s + if @headers.nil? + message = ":headers is required when you use field name " + + "in :force_quotes: " + + "#{name_or_index.inspect}: #{force_quotes.inspect}" + raise ArgumentError, message + end + index = @headers.index(name) + next if index.nil? + @force_quotes_fields[index] = true + else + message = ":force_quotes element must be " + + "field index or field name: " + + "#{name_or_index.inspect}: #{force_quotes.inspect}" + raise ArgumentError, message + end + end + end + + def prepare_format + @column_separator = @options[:column_separator].to_s.encode(@encoding) + row_separator = @options[:row_separator] + if row_separator == :auto + @row_separator = InputRecordSeparator.value.encode(@encoding) + else + @row_separator = row_separator.to_s.encode(@encoding) + end + @quote_character = @options[:quote_character] + force_quotes = @options[:force_quotes] + if force_quotes.is_a?(Array) + prepare_force_quotes_fields(force_quotes) + @force_quotes = false + elsif force_quotes + @force_quotes_fields = nil + @force_quotes = true + else + @force_quotes_fields = nil + @force_quotes = false + end + unless @force_quotes + @quotable_pattern = + Regexp.new("[\r\n".encode(@encoding) + + Regexp.escape(@column_separator) + + Regexp.escape(@quote_character.encode(@encoding)) + + "]".encode(@encoding)) + end + @quote_empty = @options.fetch(:quote_empty, true) + end + + def prepare_output + @output_encoding = nil + return unless @output.is_a?(StringIO) + + output_encoding = @output.internal_encoding || @output.external_encoding + if @encoding != output_encoding + if @options[:force_encoding] + @output_encoding = output_encoding + else + compatible_encoding = Encoding.compatible?(@encoding, output_encoding) + if compatible_encoding + @output.set_encoding(compatible_encoding) + @output.seek(0, IO::SEEK_END) + end + end + end + end + + def quote_field(field) + field = String(field) + encoded_quote_character = @quote_character.encode(field.encoding) + encoded_quote_character + + field.gsub(encoded_quote_character, + encoded_quote_character * 2) + + encoded_quote_character + end + + def quote(field, i) + if @force_quotes + quote_field(field) + elsif @force_quotes_fields and @force_quotes_fields[i] + quote_field(field) + else + if field.nil? # represent +nil+ fields as empty unquoted fields + "" + else + field = String(field) # Stringify fields + # represent empty fields as empty quoted fields + if (@quote_empty and field.empty?) or (field.valid_encoding? and @quotable_pattern.match?(field)) + quote_field(field) + else + field # unquoted field + end + end + end + end + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/.rspec b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/.rspec new file mode 100644 index 0000000..53607ea --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/.rspec @@ -0,0 +1 @@ +--colour diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/CHANGELOG.md b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/CHANGELOG.md new file mode 100644 index 0000000..c288123 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/CHANGELOG.md @@ -0,0 +1,518 @@ +# Changelog + +## 1.6.2 / 2025-05-12 + +- Handle upcoming changes to the `cgi` gem in Ruby 3.5 ([#147][pull-147]) + +- Fix issues found with `htmldiff` in Ruby 1.8 (which is used approximately + never, since the code change which broke Ruby 1.8 was made 6 years ago). + [#148][pull-148] + +- Fixed some standardrb formatting and configuration issues. + +## 1.6.1 / 2025-03-25 + +- Performed further work on `Diff::LCS::Ldiff` improvements ([#46][issue-46]) + and resolve several thread safety issues cleanly by making it a class. + [#129][pull-129] + +- Restructure the project to be more consistent with the rest of the projects + that I manage. + +- Increased GitHub action security. + +- Added [trusted publishing][tp] for fully automated releases. + +## 1.6.0 / 2025-02-13 + +- Baptiste Courtois (@annih) has done significant work on making `bin/ldiff` + work better, contributing a number of issues and pull requests. These include: + + - Separation of command parsing from diff-generation in `Diff::LCS::Ldiff` + code extraction making it easier to use separately from the `bin/ldiff` + command in [#103][pull-103]. This partially resolves [#46][issue-46]. + + - Improvement of binary and empty file detection and tests in [#104][pull-104] + and [#105][pull-105]. This resolves issues [#100][issue-100], + [#102][issue-102]. + + - Various ldiff fixes for output [#101][pull-101] resolves issues + [#106][issue-106] (ldiff ed scripts are inverted), [#107][issue-107] (ldiff + hunk ranges are incorrect; regression or incorrect fix for [#60][issue-60]), + and [#95][issue-95]. + +- Patrick Linnane fixed various minor typos. [#93][pull-93] + +- Mark Young added a Changelog link to the RubyGems metadata. [#92][pull-92] + This has been modified to incorporate it into the README. + +- Updated the documentation on `Diff::LCS#lcs` to be clearer about the + requirements for object equality comparison. This resolves [#70][issue-70]. + +- Governance: + + Changes described here are effective 2024-12-31. + + - Update gem management details to use markdown files for everything, enabled + in part by [flavorjones/hoe-markdown][hoe-markdown]. Several files were + renamed to be more consistent with standard practices. + + - Updated security notes with an [age][age] public key rather than pointing to + Keybase.io and a PGP public key which I no longer use. The use of the + [Tidelift security contact][tidelift] is recommended over direct disclosure. + +## 1.5.1 / 2024-01-31 + +- Peter Goldstein updated CI configuration to add Ruby 3.1 and Masato Nakamura + added Ruby 3.2 and 3.3. [#82][pull-82], [#89][pull-89] + +- Switched to [standard ruby][standard ruby] formatting. + +- Justin Steele converted the licence file to Markdown. [#84][pull-84] + +- Updated the gem SPDX identifier for GPL 2.0 or later, resolving [#86][pull-86] + by Vit Ondruch. + +- Resolve a potential security issue with `ldiff` in its use of `IO.read` + instead of `File.read`. [#91][issue-91] + +- Added MFA authentication requirement for release to RubyGems. [#90][pull-90] + +- Added Dependabot management for actions and gems. [#90][pull-90] + +- Updated CodeQL configuration. [#90][pull-90] + +## 1.5.0 / 2021-12-23 + +- Updated the CI configuration and monkey-patch Hoe. + +- Kenichi Kamiya fixed a test configuration deprecation in SimpleCov. + [#69][pull-69] + +- Tien introduced several corrections and code improvements: + + - Removed an off-by-one error when calculating an index value by embracing + Ruby iteration properly. This had a side-effect of fixing a long-standing + bug in `#traverse_sequences` where the traversal would not be transitive. + That is, `LCS(s2, s1)` should produce a sequence that is transitive with + `LCS(s1, s2)` on traversal, and applying the diff computed from those + results would result in equivalent changes that could be played forward or + backward as appropriate. [#71][pull-71], [#75][pull-75] + + - The above fix resulted in a changed order of the longest common subsequence + when callbacks were applied. After analysis, it was determined that the + computed subsequence was _equivalent_ to the prior version, so the test was + updated. This also resulted in the clarification of documentation when + traversing the sub-sequences. [#79][pull-79] + + - An infinite loop case in the case where `Diff::LCS` would be included into + an enumerable class has been fixed. [#73][pull-73] + + - Clarified the purpose of a threshold test in calculation of LCS. + [#72][pull-72], [#80][pull-80] + +- Removed autotest directory + +## 1.4.4 / 2020-07-01 + +- Fixed an issue reported by Jun Aruga in the `Diff::LCS::Ldiff` binary text + detection. [#44][issue-44] + +- Fixed a theoretical issue reported by Jun Aruga in `Diff::LCS::Hunk` to raise + a more useful exception. [#43][issue-43] + +- Added documentation that should address custom object issues as reported in + [#35][issue-35]. + +- Fixed more diff errors, in part reported in [#65][issue-65]. + + - The use of `Numeric#abs` is incorrect in `Diff::LCS::Block#diff_size`. The + diff size _must_ be accurate for correct change placement. + + - When selecting `@max_diff_size` in `Diff::LCS::Hunk`, choose it based on + `block.diff_size.abs`. + + - Made a number of changes that will, unfortunately, increase allocations at + the cost of being safe with frozen strings. + + - Add some knowledge that when `Diff::LCS::Hunk#diff` is called, that we are + processing the _last_ hunk, so some changes will be made to how the output + is generated. + + - `old`, `ed`, and `reverse_ed` formats have no differences. + + - `unified` format will report `\ No newline at end of file` given the + correct conditions, at most once. Unified range reporting also differs for + the last hunk such that the `length` of the range is reduced by one. + + - `context` format will report `\No newline at end of file` given the + correct conditions, up to once per "file". Context range reporting also + differs for the last hunk such that the `end` part of the range is reduced + by one to a minimum of one. + +- Added a bunch more tests for the cases above, and fixed `hunk_spec.rb` so that + the phrase being compared isn't nonsense French. + +- Updated formatting. + +- Added a Rake task to assist with manual testing on Ruby 1.8. + +## 1.4.3 / 2020-06-29 + +- Fixed several issues with 1.4 on Rubies older than 2.0. Some of this was + providing useful shim functions to Hoe 3.x (which dropped these older Rubies a + while ago). Specifically: + + - Removed Array#lazy from a method in `Diff::LCS::Hunk`. + + - Changed some unit tests to use old-style Symbol-keyed hashes. + + - Changed some unit test helper functions to no longer use keyword parameters, + but only a trailing options hash. + + - Made the use of `psych` dependent on `RUBY_VERSION >= 1.9`. + + Resolves [#63][issue-63]. + +## 1.4.2 / 2020-06-23 + +- Camille Drapier fixed a small issue with RuboCop configuration. [#59][pull-59] + +- Applied another fix (and unit test) to fix an issue for the Chef team. + [#60][issue-60], [#61][pull-61] + +## 1.4.1 / 2020-06-23 + +- Fix an issue where diff sizes could be negative, and they should be. + [#57][issue-57], [#58][pull-58] + +## 1.4 / 2020-06-23 + +- Ruby versions lower than 2.4 are soft-deprecated and will not be run as part + of the CI process any longer. + +- Akinora MUSHA (knu) added the ability for `Diff::LCS::Change` objects to be + implicitly treated arrays. Originally provided as pull request [#47][pull-47], + but it introduced a number of test failures as documented in [#48][issue-48], + and remediation of `Diff::LCS` itself was introduced in [#49][pull-49]. + +- Resolved [#5][issue-05] with some tests comparing output from `system` calls + to `bin/ldiff` with some pre-generated output. Resolved [#6][issue-06] with + these tests. + +- Resolved a previously undetected `bin/ldiff` issue with `--context` output not + matching `diff --context` output. + +- Resolved an issue with later versions of Ruby not working with an `OptParse` + specification of `Numeric`; this has been changed to `Integer`. + +- Brandon Fish added TruffleRuby in [#52][pull-52]. + +- Fixed two missing classes as reported in [#53][issue-53]. + +## 1.3 / 2017-01-18 + +- Bugs fixed: + + - Fixed an error for `bin/ldiff --version`. Fixes issue [#21][issue-21]. + + - Force `Diff::LCS::Change` and `Diff::LCS::ContextChange` to only perform + equality comparisons against themselves. Provided by Kevin Mook in pull + request [#29][pull-29]. + + - Fix tab expansion in `htmldiff`, provided by Mark Friedgan in pull request + [#25][pull-25]. + + - Silence Ruby 2.4 `Fixnum` deprecation warnings. Fixes issue [#38][issue-38] + and pull request [#36][pull-36]. + + - Ensure that test dependencies are loaded properly. Fixes issue + [#33][issue-33] and pull request [#34][pull-34]. + + - Fix issue [#1][issue-01] with incorrect intuition of patch direction. + Tentative fix, but the previous failure cases pass now. + +- Tooling changes: + + - Added SimpleCov and Coveralls support. + + - Change the homepage (temporarily) to the GitHub repo. + + - Updated testing and gem infrastructure. + + - Modernized the specs. + +- Cleaned up documentation. + +- Added a Code of Conduct. + +## 1.2.5 / 2013-11-08 + +- Bugs fixed: + + - Comparing arrays flattened them too far, especially with `Diff::LCS.sdiff`. + Fixed by Josh Bronson in pull request [#23][pull-23]. + +## 1.2.4 / 2013-04-20 + +- Bugs fixed: + + - A bug was introduced after 1.1.3 when pruning common sequences at the start + of comparison. Paul Kunysch (@pck) fixed this in pull request + [#18][pull-18]. Thanks! + + - The Rubinius (1.9 mode) bug in [rubinius/rubinius#2268][rubinius#2268] has + been fixed by the Rubinius team two days after it was filed. Thanks for + fixing this so quickly! + +- Switching to Raggi's hoe-gemspec2 for gemspec generation. + +## 1.2.3 / 2013-04-11 + +- Bugs Fixed: + + - The new encoding detection for diff output generation (added in 1.2.2) + introduced a bug if the left side of the comparison was the empty set. + Originally found in [rspec/rspec-expectations#238][rspec-expectations#238] + and [rspec/rspec-expectations#239][rspec-expectations#239]. Jon Rowe + developed a reasonable heuristic (left side, right side, empty string + literal) to avoid this bug. + + - There is a known issue with Rubinius in 1.9 mode reported in + [rubinius/rubinius#2268][rubinius#2268] and demonstrated in the Travis CI + builds. For all other tested platforms, diff-lcs is considered stable. As + soon as a suitably small test-case can be created for the Rubinius team to + examine, this will be added to the Rubinius issue around this. + +## 1.2.2 / 2013-03-30 + +- Bugs Fixed: + + - `Diff::LCS::Hunk` could not properly generate a difference for comparison + sets that are not US-ASCII-compatible because of the use of literal regular + expressions and strings. Jon Rowe found this in + [rspec/rspec-expectations#219][rspec-expectations#219] and provided a first + pass implementation in pull request [#15][pull-15]. I've reworked it because + of test failures in Rubinius when running in Ruby 1.9 mode. This coerces the + added values to the encoding of the old dataset (as determined by the first + piece of the old dataset). + + - Adding Travis CI testing for Ruby 2.0. + +## 1.2.1 / 2013-02-09 + +- Bugs Fixed: + + - As seen in [rspec/rspec-expectations#200][rspec-expectations#200], the + release of `Diff::LCS` 1.2 introduced an unnecessary public API change to + `Diff::LCS::Hunk` (see the change at + [rspec/rspec-expectations@3d6fc82c][rspec-expectations@3d6fc82c] for + details). The new method name (and behaviour) is more correct, but I should + not have renamed the function or should have at least provided an alias. + This release restores `Diff::LCS::Hunk#unshift` as an alias to #merge. Note + that the old `#unshift` behaviour was incorrect and will not be restored. + +## 1.2.0 / 2013-01-21 + +- Minor Enhancements: + + - Added special case handling for `Diff::LCS.patch` so that it handles patches + that are empty or contain no changes. + + - Added two new methods (`#patch_me` and `#unpatch_me`) to the include-able + module. + +- Bugs Fixed: + + - Fixed issue [#1][issue-01] patch direction detection. + + - Resolved issue [#2][issue-02] by handling `string[string.size, 1]` properly + (it returns `""` not `nil`). + + - Michael Granger (ged) fixed an implementation error in `Diff::LCS::Change` + and added specs in pull request [#8][pull-08]. Thanks! + + - Made the code auto-testable. + + - Vít Ondruch (voxik) provided the latest version of the GPL2 license file in + pull request [#10][pull-10]. Thanks! + + - Fixed a documentation issue with the include-able versions of `#patch!` and + `#unpatch!` where they implied that they would replace the original value. + Given that `Diff::LCS.patch` always returns a copy, the documentation was + incorrect and has been corrected. To provide the behaviour that was + originally documented, two new methods were added to provide this behaviour. + Found by scooter-dangle in issue [#12][issue-12]. Thanks! + +- Code Style Changes: + + - Removed trailing spaces. + + - Calling class methods using `.` instead of `::`. + + - Vít Ondruch (voxik) removed unnecessary shebangs in pull request + [#9][pull-09]. Thanks! + + - Kenichi Kamiya (kachick) removed some warnings of an unused variable in + lucky pull request [#13][pull-13]. Thanks! + + - Embarked on a major refactoring to make the files a little more manageable + and understand the code on a deeper level. + + - Adding CI via Travis CI. + +## 1.1.3 / 2011-08-27 + +- Converted to 'hoe' for release. + +- Converted tests to RSpec 2. + +- Extracted the body of `htmldiff` into a class available from + `diff/lcs/htmldiff`. + +- Migrated development and issue tracking to GitHub. + +- Bugs fixed: + + - Eliminated the explicit use of RubyGems in both `bin/htmldiff` and + `bin/ldiff`. Resolves issue [#4][issue-04]. + + - Eliminated Ruby warnings. Resolves issue [#3][issue-03]. + +## 1.1.2 / 2004-10-20 + +- Fixed a problem reported by Mauricio Fernandez in `htmldiff`. + +## 1.1.1 / 2004-09-25 + +- Fixed bug #891 (Set returned from patch command does not contain last equal + part). + +- Fixed a problem with callback initialisation code (it assumed that all + callbacks passed as classes can be initialised; now, it rescues NoMethodError + in the event of private :new being called). + +- Modified the non-initialisable callbacks to have a private `#new` method. + +- Moved `ldiff` core code to `Diff::LCS::Ldiff` (`diff/lcs/ldiff.rb`). + +## 1.1.0 + +- Eliminated the need for `Diff::LCS::Event` and removed it. + +- Added a contextual diff callback, `Diff::LCS::ContextDiffCallback`. + +- Implemented (un-)patching for standard diff callback output formats with both + `#diff` and `#sdiff`. + +- Extensive documentation changes. + +## 1.0.4 + +- Fixed a problem with `bin/ldiff` output, especially for unified format. + Newlines that should have been present weren't. + +- Changed the `.tar.gz` installer to generate Windows batch files if ones do not + exist already. Removed the existing batch files as they didn't work. + +## 1.0.3 + +- Fixed a problem with `#traverse_sequences` where the first difference from the + left sequence might not be appropriately captured. + +## 1.0.2 + +- Fixed an issue with `ldiff` not working because actions were changed from + symbols to strings. + +## 1.0.1 + +- Minor modifications to the `gemspec`, the `README`. + +- Renamed the diff program to `ldiff` (as well as the companion batch file) so + as to not collide with the standard diff program. + +- Fixed issues with RubyGems. Requires RubyGems > 0.6.1 or >= 0.6.1 with the + latest CVS version. + +## 1.0 + +- Initial release based mostly on Perl's Algorithm::Diff. + +[age]: https://github.com/FiloSottile/age +[hoe-halostatue]: https://github.com/halostatue/hoe-halostatue +[hoe-markdown]: https://github.com/flavorjones/hoe-markdown +[issue-01]: https://github.com/halostatue/diff-lcs/issues/1 +[issue-02]: https://github.com/halostatue/diff-lcs/issues/2 +[issue-03]: https://github.com/halostatue/diff-lcs/issues/3 +[issue-04]: https://github.com/halostatue/diff-lcs/issues/4 +[issue-05]: https://github.com/halostatue/diff-lcs/issues/5 +[issue-06]: https://github.com/halostatue/diff-lcs/issues/6 +[issue-12]: https://github.com/halostatue/diff-lcs/issues/12 +[issue-21]: https://github.com/halostatue/diff-lcs/issues/21 +[issue-33]: https://github.com/halostatue/diff-lcs/issues/33 +[issue-35]: https://github.com/halostatue/diff-lcs/issues/35 +[issue-38]: https://github.com/halostatue/diff-lcs/issues/38 +[issue-43]: https://github.com/halostatue/diff-lcs/issues/43 +[issue-44]: https://github.com/halostatue/diff-lcs/issues/44 +[issue-46]: https://github.com/halostatue/diff-lcs/issues/46 +[issue-48]: https://github.com/halostatue/diff-lcs/issues/48 +[issue-53]: https://github.com/halostatue/diff-lcs/issues/53 +[issue-57]: https://github.com/halostatue/diff-lcs/issues/57 +[issue-60]: https://github.com/halostatue/diff-lcs/issues/60 +[issue-63]: https://github.com/halostatue/diff-lcs/issues/63 +[issue-65]: https://github.com/halostatue/diff-lcs/issues/65 +[issue-70]: https://github.com/halostatue/diff-lcs/issues/70 +[issue-91]: https://github.com/halostatue/diff-lcs/issues/91 +[issue-95]: https://github.com/halostatue/diff-lcs/issues/95 +[issue-100]: https://github.com/halostatue/diff-lcs/issues/100 +[issue-102]: https://github.com/halostatue/diff-lcs/issues/102 +[issue-106]: https://github.com/halostatue/diff-lcs/issues/106 +[issue-107]: https://github.com/halostatue/diff-lcs/issues/107 +[pull-08]: https://github.com/halostatue/diff-lcs/pull/8 +[pull-09]: https://github.com/halostatue/diff-lcs/pull/9 +[pull-10]: https://github.com/halostatue/diff-lcs/pull/10 +[pull-13]: https://github.com/halostatue/diff-lcs/pull/13 +[pull-15]: https://github.com/halostatue/diff-lcs/pull/15 +[pull-18]: https://github.com/halostatue/diff-lcs/pull/18 +[pull-23]: https://github.com/halostatue/diff-lcs/pull/23 +[pull-25]: https://github.com/halostatue/diff-lcs/pull/25 +[pull-29]: https://github.com/halostatue/diff-lcs/pull/29 +[pull-34]: https://github.com/halostatue/diff-lcs/pull/34 +[pull-36]: https://github.com/halostatue/diff-lcs/pull/36 +[pull-47]: https://github.com/halostatue/diff-lcs/pull/47 +[pull-49]: https://github.com/halostatue/diff-lcs/pull/49 +[pull-52]: https://github.com/halostatue/diff-lcs/pull/52 +[pull-58]: https://github.com/halostatue/diff-lcs/pull/58 +[pull-59]: https://github.com/halostatue/diff-lcs/pull/59 +[pull-61]: https://github.com/halostatue/diff-lcs/pull/61 +[pull-69]: https://github.com/halostatue/diff-lcs/pull/69 +[pull-71]: https://github.com/halostatue/diff-lcs/pull/71 +[pull-72]: https://github.com/halostatue/diff-lcs/pull/72 +[pull-73]: https://github.com/halostatue/diff-lcs/pull/73 +[pull-75]: https://github.com/halostatue/diff-lcs/pull/75 +[pull-79]: https://github.com/halostatue/diff-lcs/pull/79 +[pull-80]: https://github.com/halostatue/diff-lcs/pull/80 +[pull-82]: https://github.com/halostatue/diff-lcs/pull/82 +[pull-84]: https://github.com/halostatue/diff-lcs/pull/84 +[pull-86]: https://github.com/halostatue/diff-lcs/pull/86 +[pull-89]: https://github.com/halostatue/diff-lcs/pull/89 +[pull-90]: https://github.com/halostatue/diff-lcs/pull/90 +[pull-92]: https://github.com/halostatue/diff-lcs/pull/92 +[pull-93]: https://github.com/halostatue/diff-lcs/pull/93 +[pull-101]: https://github.com/halostatue/diff-lcs/pull/101 +[pull-103]: https://github.com/halostatue/diff-lcs/pull/103 +[pull-104]: https://github.com/halostatue/diff-lcs/pull/104 +[pull-105]: https://github.com/halostatue/diff-lcs/pull/105 +[pull-129]: https://github.com/halostatue/diff-lcs/pull/129 +[pull-147]: https://github.com/halostatue/diff-lcs/pull/147 +[pull-148]: https://github.com/halostatue/diff-lcs/pull/148 +[rspec-expectations#200]: https://github.com/rspec/rspec-expectations/pull/200 +[rspec-expectations#219]: https://github.com/rspec/rspec-expectations/issues/219 +[rspec-expectations#238]: https://github.com/rspec/rspec-expectations/issues/238 +[rspec-expectations#239]: https://github.com/rspec/rspec-expectations/issues/239 +[rspec-expectations@3d6fc82c]: https://github.com/rspec/rspec-expectations/commit/3d6fc82c +[rubinius#2268]: https://github.com/rubinius/rubinius/issues/2268 +[standard ruby]: https://github.com/standardrb/standard +[tidelift]: https://tidelift.com/security +[tp]: https://guides.rubygems.org/trusted-publishing/ diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/CODE_OF_CONDUCT.md b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..184b5fb --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/CODE_OF_CONDUCT.md @@ -0,0 +1,128 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, caste, color, religion, or sexual +identity and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +- Demonstrating empathy and kindness toward other people +- Being respectful of differing opinions, viewpoints, and experiences +- Giving and gracefully accepting constructive feedback +- Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +- Focusing on what is best not just for us as individuals, but for the overall + community + +Examples of unacceptable behavior include: + +- The use of sexualized language or imagery, and sexual attention or advances of + any kind +- Trolling, insulting or derogatory comments, and personal or political attacks +- Public or private harassment +- Publishing others' private information, such as a physical or email address, + without their explicit permission +- Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official email address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at [INSERT CONTACT +METHOD]. All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series of +actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or permanent +ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within the +community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.1, available at +. + +Community Impact Guidelines were inspired by +[Mozilla's code of conduct enforcement ladder][Mozilla CoC]. + +For answers to common questions about this code of conduct, see the FAQ at +. Translations are available at +. + +[homepage]: https://www.contributor-covenant.org +[Mozilla CoC]: https://github.com/mozilla/diversity diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/CONTRIBUTING.md b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/CONTRIBUTING.md new file mode 100644 index 0000000..4bcde4b --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/CONTRIBUTING.md @@ -0,0 +1,71 @@ +# Contributing + +Contribution to diff-lcs is encouraged in any form: a bug report, a feature +request, or code contributions. There are a few DOs and DON'Ts for +contributions. + +- DO: + + - Keep the coding style that already exists for any updated Ruby code (support + or otherwise). I use [Standard Ruby][standardrb] for linting and formatting. + + - Use thoughtfully-named topic branches for contributions. Rebase your commits + into logical chunks as necessary. + + - Use [quality commit messages][qcm]. + + - Add your name or GitHub handle to `CONTRIBUTORS.md` and a record in the + `CHANGELOG.md` as a separate commit from your main change. (Follow the style + in the `CHANGELOG.md` and provide a link to your PR.) + + - Add or update tests as appropriate for your change. The test suite is + written in [RSpec][rspec]. + + - Add or update documentation as appropriate for your change. The + documentation is RDoc; diff-lcs does not use extensions that may be present + in alternative documentation generators. + +- DO NOT: + + - Modify `VERSION` in `lib/diff/lcs/version.rb`. When your patch is accepted + and a release is made, the version will be updated at that point. + + - Modify `diff-lcs.gemspec`; it is a generated file. (You _may_ use + `rake gemspec` to regenerate it if your change involves metadata related to + gem itself). + + - Modify the `Gemfile`. + +## Test Dependencies + +diff-lcs uses Ryan Davis's [Hoe][Hoe] to manage the release process, and it adds +a number of rake tasks. You will mostly be interested in `rake`, which runs +tests in the same way that `rake spec` does. + +To assist with the installation of the development dependencies for diff-lcs, I +have provided a Gemfile pointing to the (generated) `diff-lcs.gemspec` file. +`minitar.gemspec` file. This will permit you to use `bundle install` to install +the dependencies. + +You can run tests with code coverage analysis by running `rake spec:coverage`. + +## Workflow + +Here's the most direct way to get your work merged into the project: + +- Fork the project. +- Clone your fork (`git clone git://github.com//diff-lcs.git`). +- Create a topic branch to contain your change + (`git checkout -b my_awesome_feature`). +- Hack away, add tests. Not necessarily in that order. +- Make sure everything still passes by running `rake`. +- If necessary, rebase your commits into logical chunks, without errors. +- Push the branch up (`git push origin my_awesome_feature`). +- Create a pull request against halostatue/diff-lcs and describe what your + change does and the why you think it should be merged. + +[hoe]: https://github.com/seattlerb/hoe +[qcm]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html +[release-gem]: https://github.com/rubygems/release-gem +[rspec]: http://rspec.info/documentation/ +[standardrb]: https://github.com/standardrb/standard diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/CONTRIBUTORS.md b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/CONTRIBUTORS.md new file mode 100644 index 0000000..9053019 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/CONTRIBUTORS.md @@ -0,0 +1,49 @@ +# Contributors + +- Austin Ziegler (@halostatue) created diff-lcs. + +Thanks to everyone else who has contributed to diff-lcs over the years: + +- @ginriki +- @joshbronson +- @kevinmook +- @mckaz +- Akinori Musha +- Artem Ignatyev +- Brandon Fish +- Baptiste Courtois (@annih) +- Camille Drapier +- Cédric Boutillier +- @earlopain +- Gregg Kellogg +- Jagdeep Singh +- Jason Gladish +- Jon Rowe +- Josef Strzibny +- Josep (@apuratepp) +- Josh Bronson +- Jun Aruga +- Justin Steele +- Kenichi Kamiya +- Kensuke Nagae +- Kevin Ansfield +- Koichi Ito +- Mark Friedgan +- Masato Nakamura +- Mark Young +- Michael Granger +- Myron Marston +- Nicolas Leger +- Oleg Orlov +- Patrick Linnane +- Paul Kunysch +- Pete Higgins +- Peter Goldstein +- Peter Wagenet +- Philippe Lafoucrière +- Ryan Lovelett +- Scott Steele +- Simon Courtois +- Tien (@tiendo1011) +- Tomas Jura +- Vít Ondruch diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/LICENCE.md b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/LICENCE.md new file mode 100644 index 0000000..c57c3f1 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/LICENCE.md @@ -0,0 +1,40 @@ +# Licence + +This software is available under three licenses: the GNU GPL version 2 (or at +your option, a later version), the Perl Artistic license, or the MIT license. +Note that my preference for licensing is the MIT license, but Algorithm::Diff +was dually originally licensed with the Perl Artistic and the GNU GPL ("the same +terms as Perl itself") and given that the Ruby implementation originally hewed +pretty closely to the Perl version, I must maintain the additional licensing +terms. + +- Copyright 2004–2025 Austin Ziegler and contributors. +- Adapted from Algorithm::Diff (Perl) by Ned Konz and a Smalltalk version by + Mario I. Wolczko. + +## MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +## Perl Artistic License + +See the file docs/artistic.txt in the main distribution. + +## GNU GPL version 2 + +See the file docs/COPYING.txt in the main distribution. diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/Manifest.txt b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/Manifest.txt new file mode 100644 index 0000000..fe58c86 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/Manifest.txt @@ -0,0 +1,115 @@ +.rspec +CHANGELOG.md +CODE_OF_CONDUCT.md +CONTRIBUTING.md +CONTRIBUTORS.md +LICENCE.md +Manifest.txt +README.md +Rakefile +SECURITY.md +bin/htmldiff +bin/ldiff +docs/COPYING.txt +docs/artistic.txt +lib/diff-lcs.rb +lib/diff/lcs.rb +lib/diff/lcs/array.rb +lib/diff/lcs/backports.rb +lib/diff/lcs/block.rb +lib/diff/lcs/callbacks.rb +lib/diff/lcs/change.rb +lib/diff/lcs/htmldiff.rb +lib/diff/lcs/hunk.rb +lib/diff/lcs/internals.rb +lib/diff/lcs/ldiff.rb +lib/diff/lcs/string.rb +lib/diff/lcs/version.rb +mise.toml +spec/change_spec.rb +spec/diff_spec.rb +spec/fixtures/123_x +spec/fixtures/456_x +spec/fixtures/aX +spec/fixtures/bXaX +spec/fixtures/ds1.csv +spec/fixtures/ds2.csv +spec/fixtures/empty +spec/fixtures/file1.bin +spec/fixtures/file2.bin +spec/fixtures/four_lines +spec/fixtures/four_lines_with_missing_new_line +spec/fixtures/ldiff/diff.missing_new_line1-e +spec/fixtures/ldiff/diff.missing_new_line1-f +spec/fixtures/ldiff/diff.missing_new_line2-e +spec/fixtures/ldiff/diff.missing_new_line2-f +spec/fixtures/ldiff/error.diff.chef-e +spec/fixtures/ldiff/error.diff.chef-f +spec/fixtures/ldiff/error.diff.missing_new_line1-e +spec/fixtures/ldiff/error.diff.missing_new_line1-f +spec/fixtures/ldiff/error.diff.missing_new_line2-e +spec/fixtures/ldiff/error.diff.missing_new_line2-f +spec/fixtures/ldiff/output.diff +spec/fixtures/ldiff/output.diff-c +spec/fixtures/ldiff/output.diff-e +spec/fixtures/ldiff/output.diff-f +spec/fixtures/ldiff/output.diff-u +spec/fixtures/ldiff/output.diff.bin1 +spec/fixtures/ldiff/output.diff.bin1-c +spec/fixtures/ldiff/output.diff.bin1-e +spec/fixtures/ldiff/output.diff.bin1-f +spec/fixtures/ldiff/output.diff.bin1-u +spec/fixtures/ldiff/output.diff.bin2 +spec/fixtures/ldiff/output.diff.bin2-c +spec/fixtures/ldiff/output.diff.bin2-e +spec/fixtures/ldiff/output.diff.bin2-f +spec/fixtures/ldiff/output.diff.bin2-u +spec/fixtures/ldiff/output.diff.chef +spec/fixtures/ldiff/output.diff.chef-c +spec/fixtures/ldiff/output.diff.chef-e +spec/fixtures/ldiff/output.diff.chef-f +spec/fixtures/ldiff/output.diff.chef-u +spec/fixtures/ldiff/output.diff.chef2 +spec/fixtures/ldiff/output.diff.chef2-c +spec/fixtures/ldiff/output.diff.chef2-d +spec/fixtures/ldiff/output.diff.chef2-e +spec/fixtures/ldiff/output.diff.chef2-f +spec/fixtures/ldiff/output.diff.chef2-u +spec/fixtures/ldiff/output.diff.empty.vs.four_lines +spec/fixtures/ldiff/output.diff.empty.vs.four_lines-c +spec/fixtures/ldiff/output.diff.empty.vs.four_lines-e +spec/fixtures/ldiff/output.diff.empty.vs.four_lines-f +spec/fixtures/ldiff/output.diff.empty.vs.four_lines-u +spec/fixtures/ldiff/output.diff.four_lines.vs.empty +spec/fixtures/ldiff/output.diff.four_lines.vs.empty-c +spec/fixtures/ldiff/output.diff.four_lines.vs.empty-e +spec/fixtures/ldiff/output.diff.four_lines.vs.empty-f +spec/fixtures/ldiff/output.diff.four_lines.vs.empty-u +spec/fixtures/ldiff/output.diff.issue95_trailing_context +spec/fixtures/ldiff/output.diff.issue95_trailing_context-c +spec/fixtures/ldiff/output.diff.issue95_trailing_context-e +spec/fixtures/ldiff/output.diff.issue95_trailing_context-f +spec/fixtures/ldiff/output.diff.issue95_trailing_context-u +spec/fixtures/ldiff/output.diff.missing_new_line1 +spec/fixtures/ldiff/output.diff.missing_new_line1-c +spec/fixtures/ldiff/output.diff.missing_new_line1-e +spec/fixtures/ldiff/output.diff.missing_new_line1-f +spec/fixtures/ldiff/output.diff.missing_new_line1-u +spec/fixtures/ldiff/output.diff.missing_new_line2 +spec/fixtures/ldiff/output.diff.missing_new_line2-c +spec/fixtures/ldiff/output.diff.missing_new_line2-e +spec/fixtures/ldiff/output.diff.missing_new_line2-f +spec/fixtures/ldiff/output.diff.missing_new_line2-u +spec/fixtures/new-chef +spec/fixtures/new-chef2 +spec/fixtures/old-chef +spec/fixtures/old-chef2 +spec/hunk_spec.rb +spec/issues_spec.rb +spec/lcs_spec.rb +spec/ldiff_spec.rb +spec/patch_spec.rb +spec/sdiff_spec.rb +spec/spec_helper.rb +spec/traverse_balanced_spec.rb +spec/traverse_sequences_spec.rb diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/README.md b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/README.md new file mode 100644 index 0000000..6583803 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/README.md @@ -0,0 +1,92 @@ +# Diff::LCS + +- home :: https://github.com/halostatue/diff-lcs +- changelog :: https://github.com/halostatue/diff-lcs/blob/main/CHANGELOG.md +- code :: https://github.com/halostatue/diff-lcs +- bugs :: https://github.com/halostatue/diff-lcs/issues +- rdoc :: http://rubydoc.info/github/halostatue/diff-lcs + + + + + +## Description + +Diff::LCS computes the difference between two Enumerable sequences using the +McIlroy-Hunt longest common subsequence (LCS) algorithm. It includes utilities +to create a simple HTML diff output format and a standard diff-like tool. + +This is release 1.6.1, providing a simple extension that allows for +Diff::LCS::Change objects to be treated implicitly as arrays and fixes a number +of formatting issues. + +Ruby versions below 2.5 are soft-deprecated, which means that older versions are +no longer part of the CI test suite. If any changes have been introduced that +break those versions, bug reports and patches will be accepted, but it will be +up to the reporter to verify any fixes prior to release. The next major release +will completely break compatibility. + +## Synopsis + +Using this module is quite simple. By default, Diff::LCS does not extend objects +with the Diff::LCS interface, but will be called as if it were a function: + +```ruby +require 'diff/lcs' + +seq1 = %w(a b c e h j l m n p) +seq2 = %w(b c d e f j k l m r s t) + +lcs = Diff::LCS.LCS(seq1, seq2) +diffs = Diff::LCS.diff(seq1, seq2) +sdiff = Diff::LCS.sdiff(seq1, seq2) +seq = Diff::LCS.traverse_sequences(seq1, seq2, callback_obj) +bal = Diff::LCS.traverse_balanced(seq1, seq2, callback_obj) +seq2 == Diff::LCS.patch!(seq1, diffs) +seq1 == Diff::LCS.unpatch!(seq2, diffs) +seq2 == Diff::LCS.patch!(seq1, sdiff) +seq1 == Diff::LCS.unpatch!(seq2, sdiff) +``` + +Objects can be extended with Diff::LCS: + +```ruby +seq1.extend(Diff::LCS) +lcs = seq1.lcs(seq2) +diffs = seq1.diff(seq2) +sdiff = seq1.sdiff(seq2) +seq = seq1.traverse_sequences(seq2, callback_obj) +bal = seq1.traverse_balanced(seq2, callback_obj) +seq2 == seq1.patch!(diffs) +seq1 == seq2.unpatch!(diffs) +seq2 == seq1.patch!(sdiff) +seq1 == seq2.unpatch!(sdiff) +``` + +By requiring 'diff/lcs/array' or 'diff/lcs/string', Array or String will be +extended for use this way. + +Note that Diff::LCS requires a sequenced enumerable container, which means that +the order of enumeration is both predictable and consistent for the same set of +data. While it is theoretically possible to generate a diff for an unordered +hash, it will only be meaningful if the enumeration of the hashes is consistent. +In general, this will mean that containers that behave like String or Array will +perform best. + +## History + +Diff::LCS is a port of Perl's Algorithm::Diff that uses the McIlroy-Hunt longest +common subsequence (LCS) algorithm to compute intelligent differences between +two sequenced enumerable containers. The implementation is based on Mario I. +Wolczko's [Smalltalk version 1.2][smalltalk] (1993) and Ned Konz's Perl version +[Algorithm::Diff 1.15][perl]. `Diff::LCS#sdiff` and +`Diff::LCS#traverse_balanced` were originally written for the Perl version by +Mike Schilli. + +The algorithm is described in A Fast Algorithm for Computing Longest Common +Subsequences, CACM, vol.20, no.5, pp.350-353, May 1977, with a few minor +improvements to improve the speed. A simplified description of the algorithm, +originally written for the Perl version, was written by Mark-Jason Dominus. + +[smalltalk]: ftp://st.cs.uiuc.edu/pub/Smalltalk/MANCHESTER/manchester/4.0/diff.st +[perl]: http://search.cpan.org/~nedkonz/Algorithm-Diff-1.15/ diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/Rakefile b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/Rakefile new file mode 100644 index 0000000..0bfe927 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/Rakefile @@ -0,0 +1,115 @@ +require "rubygems" +require "rspec" +require "rspec/core/rake_task" +require "hoe" +require "rake/clean" + +MAINTENANCE = ENV["MAINTENANCE"] == "true" +BUILD_DOCS = MAINTENANCE || ENV["DOCS"] == "true" +TRUSTED_RELEASE = ENV["rubygems_release_gem"] == "true" + +Hoe.plugin :halostatue +Hoe.plugin :rubygems + +Hoe.plugins.delete :debug +Hoe.plugins.delete :newb +Hoe.plugins.delete :signing +Hoe.plugins.delete :publish unless BUILD_DOCS + +if RUBY_VERSION < "1.9" + class Array # :nodoc: + def to_h + Hash[*flatten(1)] + end + end + + class Gem::Specification # :nodoc: + def metadata=(*) + end + + def default_value(*) + end + end + + class Object # :nodoc: + def caller_locations(*) + [] + end + end +end + +_spec = Hoe.spec "diff-lcs" do + developer("Austin Ziegler", "halostatue@gmail.com") + + self.trusted_release = TRUSTED_RELEASE + + require_ruby_version ">= 1.8" + + self.history_file = "CHANGELOG.md" + self.readme_file = "README.md" + self.licenses = ["MIT", "Artistic-1.0-Perl", "GPL-2.0-or-later"] + + spec_extras[:metadata] = ->(val) { + val["rubygems_mfa_required"] = "true" + } + + extra_dev_deps << ["hoe", "~> 4.0"] + extra_dev_deps << ["hoe-halostatue", "~> 2.0"] + extra_dev_deps << ["hoe-rubygems", "~> 1.0"] + extra_dev_deps << ["rspec", ">= 2.0", "< 4"] + extra_dev_deps << ["rake", ">= 10.0", "< 14"] + extra_dev_deps << ["rdoc", ">= 6.3.1", "< 7"] +end + +if BUILD_DOCS + rake_tasks = Rake.application.instance_variable_get(:@tasks) + tasks = ["publish_docs", "publish_on_announce", "debug_email", "post_blog", "announce"] + tasks.each do |task| + rake_tasks.delete(task) + end +end + +desc "Run all specifications" +RSpec::Core::RakeTask.new(:spec) do |t| + rspec_dirs = %w[spec lib].join(":") + t.rspec_opts = ["-I#{rspec_dirs}"] +end + +task :version do + require "diff/lcs/version" + puts Diff::LCS::VERSION +end + +Rake::Task["spec"].actions.uniq! { |a| a.source_location } + +# standard:disable Style/HashSyntax +task :default => :spec unless Rake::Task["default"].prereqs.include?("spec") +task :test => :spec unless Rake::Task["test"].prereqs.include?("spec") +# standard:enable Style/HashSyntax + +if RUBY_VERSION >= "3.0" && RUBY_ENGINE == "ruby" + namespace :spec do + desc "Runs test coverage. Only works Ruby 2.0+ and assumes 'simplecov' is installed." + task :coverage do + ENV["COVERAGE"] = "true" + Rake::Task["spec"].execute + end + end +end + +if MAINTENANCE + task ruby18: :package do + require "diff/lcs/version" + # standard:disable Layout/HeredocIndentation + puts <<-MESSAGE +You are starting a barebones Ruby 1.8 docker environment for testing. +A snapshot package has been built, so install it with: + + cd diff-lcs + gem install pkg/diff-lcs-#{Diff::LCS::VERSION} + + MESSAGE + # standard:enable Layout/HeredocIndentation + sh "docker run -it --rm -v #{Dir.pwd}:/root/diff-lcs bellbind/docker-ruby18-rails2 bash -l" + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/SECURITY.md b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/SECURITY.md new file mode 100644 index 0000000..16854f6 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/SECURITY.md @@ -0,0 +1,41 @@ +# diff-lcs Security + +## Supported Versions + +Security reports are accepted for the most recent major release and the previous +version for a limited time after the initial major release version. After a +major release, the previous version will receive full support for six months and +security support for an additional six months (for a total of twelve months). + +Because diff-lcs 1.x supports a wide range of Ruby versions, security reports +will only be accepted when they can be demonstrated on Ruby 3.1 or higher. + +> [!information] +> +> There will be a diff-lcs 2.0 released in 2025 which narrows support to modern +> versions of Ruby only. +> +> | Release Date | Support Ends | Security Support Ends | +> | ------------ | ------------ | --------------------- | +> | 2025 | +6 months | +12 months | +> +> If the 2.0.0 release happens on 2025-07-01, regular support for diff-lcs 1.x +> will end on 2026-12-31 and security support for diff-lcs 1.x will end on +> 2026-06-30. + +## Reporting a Vulnerability + +By preference, use the [Tidelift security contact][tidelift]. Tidelift will +coordinate the fix and disclosure. + +Alternatively, Send an email to [diff-lcs@halostatue.ca][email] with the text +`Diff::LCS` in the subject. Emails sent to this address should be encrypted +using [age][age] with the following public key: + +``` +age1fc6ngxmn02m62fej5cl30lrvwmxn4k3q2atqu53aatekmnqfwumqj4g93w +``` + +[tidelift]: https://tidelift.com/security +[email]: mailto:diff-lcs@halostatue.ca +[age]: https://github.com/FiloSottile/age diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/bin/htmldiff b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/bin/htmldiff new file mode 100755 index 0000000..bcd89d2 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/bin/htmldiff @@ -0,0 +1,35 @@ +#! /usr/bin/env ruby -w +# frozen_string_literal: true + +require "diff/lcs" +require "diff/lcs/htmldiff" + +begin + require "text/format" +rescue LoadError + Diff::LCS::HTMLDiff.can_expand_tabs = false +end + +if ARGV.size < 2 or ARGV.size > 3 + warn "usage: #{File.basename($0)} old new [output.html]" + warn " #{File.basename($0)} old new > output.html" + exit 127 +end + +left = IO.read(ARGV[0]).split($/) +right = IO.read(ARGV[1]).split($/) + +options = { :title => "diff #{ARGV[0]} #{ARGV[1]}" } + +htmldiff = Diff::LCS::HTMLDiff.new(left, right, options) + +if ARGV[2] + File.open(ARGV[2], "w") do |f| + htmldiff.options[:output] = f + htmldiff.run + end +else + htmldiff.run +end + +# vim: ft=ruby diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/bin/ldiff b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/bin/ldiff new file mode 100755 index 0000000..f4734f5 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/bin/ldiff @@ -0,0 +1,9 @@ +#! /usr/bin/env ruby -w +# frozen_string_literal: true + +require 'diff/lcs' +require 'diff/lcs/ldiff' + +exit Diff::LCS::Ldiff.run(ARGV) + +# vim: ft=ruby diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/docs/COPYING.txt b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/docs/COPYING.txt new file mode 100644 index 0000000..d159169 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/docs/COPYING.txt @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/docs/artistic.txt b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/docs/artistic.txt new file mode 100644 index 0000000..763e17a --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/docs/artistic.txt @@ -0,0 +1,127 @@ +The "Artistic License" + + Preamble + +The intent of this document is to state the conditions under which a +Package may be copied, such that the Copyright Holder maintains some +semblance of artistic control over the development of the package, +while giving the users of the package the right to use and distribute +the Package in a more-or-less customary fashion, plus the right to make +reasonable modifications. + +Definitions: + + "Package" refers to the collection of files distributed by the + Copyright Holder, and derivatives of that collection of files + created through textual modification. + + "Standard Version" refers to such a Package if it has not been + modified, or has been modified in accordance with the wishes + of the Copyright Holder as specified below. + + "Copyright Holder" is whoever is named in the copyright or + copyrights for the package. + + "You" is you, if you're thinking about copying or distributing + this Package. + + "Reasonable copying fee" is whatever you can justify on the + basis of media cost, duplication charges, time of people involved, + and so on. (You will not be required to justify it to the + Copyright Holder, but only to the computing community at large + as a market that must bear the fee.) + + "Freely Available" means that no fee is charged for the item + itself, though there may be fees involved in handling the item. + It also means that recipients of the item may redistribute it + under the same conditions they received it. + +1. You may make and give away verbatim copies of the source form of the +Standard Version of this Package without restriction, provided that you +duplicate all of the original copyright notices and associated disclaimers. + +2. You may apply bug fixes, portability fixes and other modifications +derived from the Public Domain or from the Copyright Holder. A Package +modified in such a way shall still be considered the Standard Version. + +3. You may otherwise modify your copy of this Package in any way, provided +that you insert a prominent notice in each changed file stating how and +when you changed that file, and provided that you do at least ONE of the +following: + + a) place your modifications in the Public Domain or otherwise make them + Freely Available, such as by posting said modifications to Usenet or + an equivalent medium, or placing the modifications on a major archive + site such as uunet.uu.net, or by allowing the Copyright Holder to include + your modifications in the Standard Version of the Package. + + b) use the modified Package only within your corporation or organization. + + c) rename any non-standard executables so the names do not conflict + with standard executables, which must also be provided, and provide + a separate manual page for each non-standard executable that clearly + documents how it differs from the Standard Version. + + d) make other distribution arrangements with the Copyright Holder. + +4. You may distribute the programs of this Package in object code or +executable form, provided that you do at least ONE of the following: + + a) distribute a Standard Version of the executables and library files, + together with instructions (in the manual page or equivalent) on where + to get the Standard Version. + + b) accompany the distribution with the machine-readable source of + the Package with your modifications. + + c) give non-standard executables non-standard names, and clearly + document the differences in manual pages (or equivalent), together + with instructions on where to get the Standard Version. + + d) make other distribution arrangements with the Copyright Holder. + +5. You may charge a reasonable copying fee for any distribution of this +Package. You may charge any fee you choose for support of this +Package. You may not charge a fee for this Package itself. However, +you may distribute this Package in aggregate with other (possibly +commercial) programs as part of a larger (possibly commercial) software +distribution provided that you do not advertise this Package as a +product of your own. You may embed this Package's interpreter within +an executable of yours (by linking); this shall be construed as a mere +form of aggregation, provided that the complete Standard Version of the +interpreter is so embedded. + +6. The scripts and library files supplied as input to or produced as +output from the programs of this Package do not automatically fall +under the copyright of this Package, but belong to whoever generated +them, and may be sold commercially, and may be aggregated with this +Package. If such scripts or library files are aggregated with this +Package via the so-called "undump" or "unexec" methods of producing a +binary executable image, then distribution of such an image shall +neither be construed as a distribution of this Package nor shall it +fall under the restrictions of Paragraphs 3 and 4, provided that you do +not represent such an executable image as a Standard Version of this +Package. + +7. C subroutines (or comparably compiled subroutines in other +languages) supplied by you and linked into this Package in order to +emulate subroutines and variables of the language defined by this +Package shall not be considered part of this Package, but are the +equivalent of input as in Paragraph 6, provided these subroutines do +not change the language in any way that would cause it to fail the +regression tests for the language. + +8. Aggregation of this Package with a commercial distribution is always +permitted provided that the use of this Package is embedded; that is, +when no overt attempt is made to make this Package's interfaces visible +to the end user of the commercial distribution. Such use shall not be +construed as a distribution of this Package. + +9. The name of the Copyright Holder may not be used to endorse or promote +products derived from this software without specific prior written permission. + +10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. + + The End diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff-lcs.rb b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff-lcs.rb new file mode 100644 index 0000000..bc07bf9 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff-lcs.rb @@ -0,0 +1,3 @@ +# frozen_string_literal: true + +require "diff/lcs" diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs.rb b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs.rb new file mode 100644 index 0000000..5ee8937 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs.rb @@ -0,0 +1,742 @@ +# frozen_string_literal: true + +module Diff; end unless defined? Diff + +# == How Diff Works (by Mark-Jason Dominus) +# +# I once read an article written by the authors of +diff+; they said that they +# hard worked very hard on the algorithm until they found the right one. +# +# I think what they ended up using (and I hope someone will correct me, because +# I am not very confident about this) was the `longest common subsequence' +# method. In the LCS problem, you have two sequences of items: +# +# a b c d f g h j q z +# a b c d e f g i j k r x y z +# +# and you want to find the longest sequence of items that is present in both +# original sequences in the same order. That is, you want to find a new +# sequence *S* which can be obtained from the first sequence by deleting some +# items, and from the second sequence by deleting other items. You also want +# *S* to be as long as possible. In this case *S* is: +# +# a b c d f g j z +# +# From there it's only a small step to get diff-like output: +# +# e h i k q r x y +# + - + + - + + + +# +# This module solves the LCS problem. It also includes a canned function to +# generate +diff+-like output. +# +# It might seem from the example above that the LCS of two sequences is always +# pretty obvious, but that's not always the case, especially when the two +# sequences have many repeated elements. For example, consider +# +# a x b y c z p d q +# a b c a x b y c z +# +# A naive approach might start by matching up the +a+ and +b+ that appear at +# the beginning of each sequence, like this: +# +# a x b y c z p d q +# a b c a b y c z +# +# This finds the common subsequence +a b c z+. But actually, the LCS is +a x b +# y c z+: +# +# a x b y c z p d q +# a b c a x b y c z +module Diff::LCS +end + +require "diff/lcs/version" +require "diff/lcs/callbacks" +require "diff/lcs/internals" + +module Diff::LCS + # Returns an Array containing the longest common subsequence(s) between + # +self+ and +other+. See Diff::LCS#lcs. + # + # lcs = seq1.lcs(seq2) + # + # A note when using objects: Diff::LCS only works properly when each object + # can be used as a key in a Hash. This means that those objects must implement + # the methods +#hash+ and +#eql?+ such that two objects containing identical values + # compare identically for key purposes. That is: + # + # O.new('a').eql?(O.new('a')) == true && + # O.new('a').hash == O.new('a').hash + def lcs(other, &block) # :yields: self[i] if there are matched subsequences + Diff::LCS.lcs(self, other, &block) + end + + # Returns the difference set between +self+ and +other+. See Diff::LCS#diff. + def diff(other, callbacks = nil, &block) + Diff::LCS.diff(self, other, callbacks, &block) + end + + # Returns the balanced ("side-by-side") difference set between +self+ and + # +other+. See Diff::LCS#sdiff. + def sdiff(other, callbacks = nil, &block) + Diff::LCS.sdiff(self, other, callbacks, &block) + end + + # Traverses the discovered longest common subsequences between +self+ and + # +other+. See Diff::LCS#traverse_sequences. + def traverse_sequences(other, callbacks = nil, &block) + Diff::LCS.traverse_sequences(self, other, callbacks || Diff::LCS::SequenceCallbacks, &block) + end + + # Traverses the discovered longest common subsequences between +self+ and + # +other+ using the alternate, balanced algorithm. See + # Diff::LCS#traverse_balanced. + def traverse_balanced(other, callbacks = nil, &block) + Diff::LCS.traverse_balanced(self, other, callbacks || Diff::LCS::BalancedCallbacks, &block) + end + + # Attempts to patch +self+ with the provided +patchset+. A new sequence based + # on +self+ and the +patchset+ will be created. See Diff::LCS#patch. Attempts + # to autodiscover the direction of the patch. + def patch(patchset) + Diff::LCS.patch(self, patchset) + end + alias_method :unpatch, :patch + + # Attempts to patch +self+ with the provided +patchset+. A new sequence based + # on +self+ and the +patchset+ will be created. See Diff::LCS#patch. Does no + # patch direction autodiscovery. + def patch!(patchset) + Diff::LCS.patch!(self, patchset) + end + + # Attempts to unpatch +self+ with the provided +patchset+. A new sequence + # based on +self+ and the +patchset+ will be created. See Diff::LCS#unpatch. + # Does no patch direction autodiscovery. + def unpatch!(patchset) + Diff::LCS.unpatch!(self, patchset) + end + + # Attempts to patch +self+ with the provided +patchset+, using #patch!. If + # the sequence this is used on supports #replace, the value of +self+ will be + # replaced. See Diff::LCS#patch. Does no patch direction autodiscovery. + def patch_me(patchset) + if respond_to? :replace + replace(patch!(patchset)) + else + patch!(patchset) + end + end + + # Attempts to unpatch +self+ with the provided +patchset+, using #unpatch!. + # If the sequence this is used on supports #replace, the value of +self+ will + # be replaced. See Diff::LCS#unpatch. Does no patch direction autodiscovery. + def unpatch_me(patchset) + if respond_to? :replace + replace(unpatch!(patchset)) + else + unpatch!(patchset) + end + end +end + +class << Diff::LCS + def lcs(seq1, seq2, &block) # :yields: seq1[i] for each matched + matches = Diff::LCS::Internals.lcs(seq1, seq2) + ret = [] + string = seq1.is_a? String + matches.each_index do |i| + next if matches[i].nil? + + v = string ? seq1[i, 1] : seq1[i] + v = block[v] if block + ret << v + end + ret + end + alias_method :LCS, :lcs + + # #diff computes the smallest set of additions and deletions necessary to + # turn the first sequence into the second, and returns a description of these + # changes. + # + # See Diff::LCS::DiffCallbacks for the default behaviour. An alternate + # behaviour may be implemented with Diff::LCS::ContextDiffCallbacks. If a + # Class argument is provided for +callbacks+, #diff will attempt to + # initialise it. If the +callbacks+ object (possibly initialised) responds to + # #finish, it will be called. + def diff(seq1, seq2, callbacks = nil, &block) # :yields: diff changes + diff_traversal(:diff, seq1, seq2, callbacks || Diff::LCS::DiffCallbacks, &block) + end + + # #sdiff computes all necessary components to show two sequences and their + # minimized differences side by side, just like the Unix utility + # sdiff does: + # + # old < - + # same same + # before | after + # - > new + # + # See Diff::LCS::SDiffCallbacks for the default behaviour. An alternate + # behaviour may be implemented with Diff::LCS::ContextDiffCallbacks. If a + # Class argument is provided for +callbacks+, #diff will attempt to + # initialise it. If the +callbacks+ object (possibly initialised) responds to + # #finish, it will be called. + # + # Each element of a returned array is a Diff::LCS::ContextChange object, + # which can be implicitly converted to an array. + # + # Diff::LCS.sdiff(a, b).each do |action, (old_pos, old_element), (new_pos, new_element)| + # case action + # when '!' + # # replace + # when '-' + # # delete + # when '+' + # # insert + # end + # end + def sdiff(seq1, seq2, callbacks = nil, &block) # :yields: diff changes + diff_traversal(:sdiff, seq1, seq2, callbacks || Diff::LCS::SDiffCallbacks, &block) + end + + # #traverse_sequences is the most general facility provided by this module; + # #diff and #lcs are implemented as calls to it. + # + # The arguments to #traverse_sequences are the two sequences to traverse, and + # a callback object, like this: + # + # traverse_sequences(seq1, seq2, Diff::LCS::ContextDiffCallbacks.new) + # + # == Callback Methods + # + # Optional callback methods are emphasized. + # + # callbacks#match:: Called when +a+ and +b+ are pointing to + # common elements in +A+ and +B+. + # callbacks#discard_a:: Called when +a+ is pointing to an + # element not in +B+. + # callbacks#discard_b:: Called when +b+ is pointing to an + # element not in +A+. + # callbacks#finished_a:: Called when +a+ has reached the end of + # sequence +A+. + # callbacks#finished_b:: Called when +b+ has reached the end of + # sequence +B+. + # + # == Algorithm + # + # a---+ + # v + # A = a b c e h j l m n p + # B = b c d e f j k l m r s t + # ^ + # b---+ + # + # If there are two arrows (+a+ and +b+) pointing to elements of sequences +A+ + # and +B+, the arrows will initially point to the first elements of their + # respective sequences. #traverse_sequences will advance the arrows through + # the sequences one element at a time, calling a method on the user-specified + # callback object before each advance. It will advance the arrows in such a + # way that if there are elements A[i] and B[j] which are + # both equal and part of the longest common subsequence, there will be some + # moment during the execution of #traverse_sequences when arrow +a+ is + # pointing to A[i] and arrow +b+ is pointing to B[j]. When + # this happens, #traverse_sequences will call callbacks#match and + # then it will advance both arrows. + # + # Otherwise, one of the arrows is pointing to an element of its sequence that + # is not part of the longest common subsequence. #traverse_sequences will + # advance that arrow and will call callbacks#discard_a or + # callbacks#discard_b, depending on which arrow it advanced. If both + # arrows point to elements that are not part of the longest common + # subsequence, then #traverse_sequences will advance arrow +a+ and call the + # appropriate callback, then it will advance arrow +b+ and call the appropriate + # callback. + # + # The methods for callbacks#match, callbacks#discard_a, and + # callbacks#discard_b are invoked with an event comprising the + # action ("=", "+", or "-", respectively), the indexes +i+ and +j+, and the + # elements A[i] and B[j]. Return values are discarded by + # #traverse_sequences. + # + # === End of Sequences + # + # If arrow +a+ reaches the end of its sequence before arrow +b+ does, + # #traverse_sequence will try to call callbacks#finished_a with the + # last index and element of +A+ (A[-1]) and the current index and + # element of +B+ (B[j]). If callbacks#finished_a does not + # exist, then callbacks#discard_b will be called on each element of + # +B+ until the end of the sequence is reached (the call will be done with + # A[-1] and B[j] for each element). + # + # If +b+ reaches the end of +B+ before +a+ reaches the end of +A+, + # callbacks#finished_b will be called with the current index and + # element of +A+ (A[i]) and the last index and element of +B+ + # (A[-1]). Again, if callbacks#finished_b does not exist on + # the callback object, then callbacks#discard_a will be called on + # each element of +A+ until the end of the sequence is reached (A[i] + # and B[-1]). + # + # There is a chance that one additional callbacks#discard_a or + # callbacks#discard_b will be called after the end of the sequence + # is reached, if +a+ has not yet reached the end of +A+ or +b+ has not yet + # reached the end of +B+. + def traverse_sequences(seq1, seq2, callbacks = Diff::LCS::SequenceCallbacks) # :yields: change events + callbacks ||= Diff::LCS::SequenceCallbacks + matches = Diff::LCS::Internals.lcs(seq1, seq2) + + run_finished_a = run_finished_b = false + string = seq1.is_a?(String) + + a_size = seq1.size + b_size = seq2.size + ai = bj = 0 + + matches.each do |b_line| + if b_line.nil? + unless seq1[ai].nil? + ax = string ? seq1[ai, 1] : seq1[ai] + bx = string ? seq2[bj, 1] : seq2[bj] + + event = Diff::LCS::ContextChange.new("-", ai, ax, bj, bx) + event = yield event if block_given? + callbacks.discard_a(event) + end + else + ax = string ? seq1[ai, 1] : seq1[ai] + + loop do + break unless bj < b_line + + bx = string ? seq2[bj, 1] : seq2[bj] + event = Diff::LCS::ContextChange.new("+", ai, ax, bj, bx) + event = yield event if block_given? + callbacks.discard_b(event) + bj += 1 + end + bx = string ? seq2[bj, 1] : seq2[bj] + event = Diff::LCS::ContextChange.new("=", ai, ax, bj, bx) + event = yield event if block_given? + callbacks.match(event) + bj += 1 + end + ai += 1 + end + + # The last entry (if any) processed was a match. +ai+ and +bj+ point just + # past the last matching lines in their sequences. + while (ai < a_size) || (bj < b_size) + # last A? + if ai == a_size && bj < b_size + if callbacks.respond_to?(:finished_a) && !run_finished_a + ax = string ? seq1[-1, 1] : seq1[-1] + bx = string ? seq2[bj, 1] : seq2[bj] + event = Diff::LCS::ContextChange.new(">", a_size - 1, ax, bj, bx) + event = yield event if block_given? + callbacks.finished_a(event) + run_finished_a = true + else + ax = string ? seq1[ai, 1] : seq1[ai] + loop do + bx = string ? seq2[bj, 1] : seq2[bj] + event = Diff::LCS::ContextChange.new("+", ai, ax, bj, bx) + event = yield event if block_given? + callbacks.discard_b(event) + bj += 1 + break unless bj < b_size + end + end + end + + # last B? + if bj == b_size && ai < a_size + if callbacks.respond_to?(:finished_b) && !run_finished_b + ax = string ? seq1[ai, 1] : seq1[ai] + bx = string ? seq2[-1, 1] : seq2[-1] + event = Diff::LCS::ContextChange.new("<", ai, ax, b_size - 1, bx) + event = yield event if block_given? + callbacks.finished_b(event) + run_finished_b = true + else + bx = string ? seq2[bj, 1] : seq2[bj] + loop do + ax = string ? seq1[ai, 1] : seq1[ai] + event = Diff::LCS::ContextChange.new("-", ai, ax, bj, bx) + event = yield event if block_given? + callbacks.discard_a(event) + ai += 1 + break unless bj < b_size + end + end + end + + if ai < a_size + ax = string ? seq1[ai, 1] : seq1[ai] + bx = string ? seq2[bj, 1] : seq2[bj] + event = Diff::LCS::ContextChange.new("-", ai, ax, bj, bx) + event = yield event if block_given? + callbacks.discard_a(event) + ai += 1 + end + + if bj < b_size + ax = string ? seq1[ai, 1] : seq1[ai] + bx = string ? seq2[bj, 1] : seq2[bj] + event = Diff::LCS::ContextChange.new("+", ai, ax, bj, bx) + event = yield event if block_given? + callbacks.discard_b(event) + bj += 1 + end + end + end + + # #traverse_balanced is an alternative to #traverse_sequences. It uses a + # different algorithm to iterate through the entries in the computed longest + # common subsequence. Instead of viewing the changes as insertions or + # deletions from one of the sequences, #traverse_balanced will report + # changes between the sequences. + # + # The arguments to #traverse_balanced are the two sequences to traverse and a + # callback object, like this: + # + # traverse_balanced(seq1, seq2, Diff::LCS::ContextDiffCallbacks.new) + # + # #sdiff is implemented with #traverse_balanced. + # + # == Callback Methods + # + # Optional callback methods are emphasized. + # + # callbacks#match:: Called when +a+ and +b+ are pointing to + # common elements in +A+ and +B+. + # callbacks#discard_a:: Called when +a+ is pointing to an + # element not in +B+. + # callbacks#discard_b:: Called when +b+ is pointing to an + # element not in +A+. + # callbacks#change:: Called when +a+ and +b+ are pointing to + # the same relative position, but + # A[a] and B[b] are not + # the same; a change has + # occurred. + # + # #traverse_balanced might be a bit slower than #traverse_sequences, + # noticeable only while processing huge amounts of data. + # + # == Algorithm + # + # a---+ + # v + # A = a b c e h j l m n p + # B = b c d e f j k l m r s t + # ^ + # b---+ + # + # === Matches + # + # If there are two arrows (+a+ and +b+) pointing to elements of sequences +A+ + # and +B+, the arrows will initially point to the first elements of their + # respective sequences. #traverse_sequences will advance the arrows through + # the sequences one element at a time, calling a method on the user-specified + # callback object before each advance. It will advance the arrows in such a + # way that if there are elements A[i] and B[j] which are + # both equal and part of the longest common subsequence, there will be some + # moment during the execution of #traverse_sequences when arrow +a+ is + # pointing to A[i] and arrow +b+ is pointing to B[j]. When + # this happens, #traverse_sequences will call callbacks#match and + # then it will advance both arrows. + # + # === Discards + # + # Otherwise, one of the arrows is pointing to an element of its sequence that + # is not part of the longest common subsequence. #traverse_sequences will + # advance that arrow and will call callbacks#discard_a or + # callbacks#discard_b, depending on which arrow it advanced. + # + # === Changes + # + # If both +a+ and +b+ point to elements that are not part of the longest + # common subsequence, then #traverse_sequences will try to call + # callbacks#change and advance both arrows. If + # callbacks#change is not implemented, then + # callbacks#discard_a and callbacks#discard_b will be + # called in turn. + # + # The methods for callbacks#match, callbacks#discard_a, + # callbacks#discard_b, and callbacks#change are invoked + # with an event comprising the action ("=", "+", "-", or "!", respectively), + # the indexes +i+ and +j+, and the elements A[i] and B[j]. + # Return values are discarded by #traverse_balanced. + # + # === Context + # + # Note that +i+ and +j+ may not be the same index position, even if +a+ and + # +b+ are considered to be pointing to matching or changed elements. + def traverse_balanced(seq1, seq2, callbacks = Diff::LCS::BalancedCallbacks) + matches = Diff::LCS::Internals.lcs(seq1, seq2) + a_size = seq1.size + b_size = seq2.size + ai = bj = mb = 0 + ma = -1 + string = seq1.is_a?(String) + + # Process all the lines in the match vector. + loop do + # Find next match indexes +ma+ and +mb+ + loop do + ma += 1 + break unless ma < matches.size && matches[ma].nil? + end + + break if ma >= matches.size # end of matches? + + mb = matches[ma] + + # Change(seq2) + while (ai < ma) || (bj < mb) + ax = string ? seq1[ai, 1] : seq1[ai] + bx = string ? seq2[bj, 1] : seq2[bj] + + case [(ai < ma), (bj < mb)] + when [true, true] + if callbacks.respond_to?(:change) + event = Diff::LCS::ContextChange.new("!", ai, ax, bj, bx) + event = yield event if block_given? + callbacks.change(event) + ai += 1 + else + event = Diff::LCS::ContextChange.new("-", ai, ax, bj, bx) + event = yield event if block_given? + callbacks.discard_a(event) + ai += 1 + ax = string ? seq1[ai, 1] : seq1[ai] + event = Diff::LCS::ContextChange.new("+", ai, ax, bj, bx) + event = yield event if block_given? + callbacks.discard_b(event) + end + + bj += 1 + when [true, false] + event = Diff::LCS::ContextChange.new("-", ai, ax, bj, bx) + event = yield event if block_given? + callbacks.discard_a(event) + ai += 1 + when [false, true] + event = Diff::LCS::ContextChange.new("+", ai, ax, bj, bx) + event = yield event if block_given? + callbacks.discard_b(event) + bj += 1 + end + end + + # Match + ax = string ? seq1[ai, 1] : seq1[ai] + bx = string ? seq2[bj, 1] : seq2[bj] + event = Diff::LCS::ContextChange.new("=", ai, ax, bj, bx) + event = yield event if block_given? + callbacks.match(event) + ai += 1 + bj += 1 + end + + while (ai < a_size) || (bj < b_size) + ax = string ? seq1[ai, 1] : seq1[ai] + bx = string ? seq2[bj, 1] : seq2[bj] + + case [(ai < a_size), (bj < b_size)] + when [true, true] + if callbacks.respond_to?(:change) + event = Diff::LCS::ContextChange.new("!", ai, ax, bj, bx) + event = yield event if block_given? + callbacks.change(event) + ai += 1 + else + event = Diff::LCS::ContextChange.new("-", ai, ax, bj, bx) + event = yield event if block_given? + callbacks.discard_a(event) + ai += 1 + ax = string ? seq1[ai, 1] : seq1[ai] + event = Diff::LCS::ContextChange.new("+", ai, ax, bj, bx) + event = yield event if block_given? + callbacks.discard_b(event) + end + + bj += 1 + when [true, false] + event = Diff::LCS::ContextChange.new("-", ai, ax, bj, bx) + event = yield event if block_given? + callbacks.discard_a(event) + ai += 1 + when [false, true] + event = Diff::LCS::ContextChange.new("+", ai, ax, bj, bx) + event = yield event if block_given? + callbacks.discard_b(event) + bj += 1 + end + end + end + + # standard:disable Style/HashSyntax + PATCH_MAP = { # :nodoc: + :patch => {"+" => "+", "-" => "-", "!" => "!", "=" => "="}.freeze, + :unpatch => {"+" => "-", "-" => "+", "!" => "!", "=" => "="}.freeze + }.freeze + # standard:enable Style/HashSyntax + + # Applies a +patchset+ to the sequence +src+ according to the +direction+ + # (:patch or :unpatch), producing a new sequence. + # + # If the +direction+ is not specified, Diff::LCS::patch will attempt to + # discover the direction of the +patchset+. + # + # A +patchset+ can be considered to apply forward (:patch) if the + # following expression is true: + # + # patch(s1, diff(s1, s2)) -> s2 + # + # A +patchset+ can be considered to apply backward (:unpatch) if the + # following expression is true: + # + # patch(s2, diff(s1, s2)) -> s1 + # + # If the +patchset+ contains no changes, the +src+ value will be returned as + # either src.dup or +src+. A +patchset+ can be deemed as having no + # changes if the following predicate returns true: + # + # patchset.empty? or + # patchset.flatten(1).all? { |change| change.unchanged? } + # + # === Patchsets + # + # A +patchset+ is always an enumerable sequence of changes, hunks of changes, + # or a mix of the two. A hunk of changes is an enumerable sequence of + # changes: + # + # [ # patchset + # # change + # [ # hunk + # # change + # ] + # ] + # + # The +patch+ method accepts patchsets that are enumerable sequences + # containing either Diff::LCS::Change objects (or a subclass) or the array + # representations of those objects. Prior to application, array + # representations of Diff::LCS::Change objects will be reified. + def patch(src, patchset, direction = nil) + # Normalize the patchset. + has_changes, patchset = Diff::LCS::Internals.analyze_patchset(patchset) + + return src.respond_to?(:dup) ? src.dup : src unless has_changes + + string = src.is_a?(String) + # Start with a new empty type of the source's class + res = src.class.new + + direction ||= Diff::LCS::Internals.intuit_diff_direction(src, patchset) + + ai = bj = 0 + + patch_map = PATCH_MAP[direction] + + patchset.each do |change| + # Both Change and ContextChange support #action + action = patch_map[change.action] + + case change + when Diff::LCS::ContextChange + case direction + when :patch + el = change.new_element + op = change.old_position + np = change.new_position + when :unpatch + el = change.old_element + op = change.new_position + np = change.old_position + end + + case action + when "-" # Remove details from the old string + while ai < op + res << (string ? src[ai, 1] : src[ai]) + ai += 1 + bj += 1 + end + ai += 1 + when "+" + while bj < np + res << (string ? src[ai, 1] : src[ai]) + ai += 1 + bj += 1 + end + + res << el + bj += 1 + when "=" + # This only appears in sdiff output with the SDiff callback. + # Therefore, we only need to worry about dealing with a single + # element. + res << el + + ai += 1 + bj += 1 + when "!" + while ai < op + res << (string ? src[ai, 1] : src[ai]) + ai += 1 + bj += 1 + end + + bj += 1 + ai += 1 + + res << el + end + when Diff::LCS::Change + case action + when "-" + while ai < change.position + res << (string ? src[ai, 1] : src[ai]) + ai += 1 + bj += 1 + end + ai += 1 + when "+" + while bj < change.position + res << (string ? src[ai, 1] : src[ai]) + ai += 1 + bj += 1 + end + + bj += 1 + + res << change.element + end + end + end + + while ai < src.size + res << (string ? src[ai, 1] : src[ai]) + ai += 1 + bj += 1 + end + + res + end + + # Given a set of patchset, convert the current version to the prior version. + # Does no auto-discovery. + def unpatch!(src, patchset) + patch(src, patchset, :unpatch) + end + + # Given a set of patchset, convert the current version to the next version. + # Does no auto-discovery. + def patch!(src, patchset) + patch(src, patchset, :patch) + end +end + +require "diff/lcs/backports" diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/array.rb b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/array.rb new file mode 100644 index 0000000..663918a --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/array.rb @@ -0,0 +1,7 @@ +# frozen_string_literal: true + +require "diff/lcs" + +class Array + include Diff::LCS +end diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/backports.rb b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/backports.rb new file mode 100644 index 0000000..6543c8a --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/backports.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +unless 0.respond_to?(:positive?) + class Fixnum # standard:disable Lint/UnifiedInteger + def positive? + self > 0 + end + + def negative? + self < 0 + end + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/block.rb b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/block.rb new file mode 100644 index 0000000..226ed6f --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/block.rb @@ -0,0 +1,37 @@ +# frozen_string_literal: true + +# A block is an operation removing, adding, or changing a group of items. +# Basically, this is just a list of changes, where each change adds or +# deletes a single item. Used by bin/ldiff. +class Diff::LCS::Block + attr_reader :changes, :insert, :remove + + def initialize(chunk) + @changes = [] + @insert = [] + @remove = [] + + chunk.each do |item| + @changes << item + @remove << item if item.deleting? + @insert << item if item.adding? + end + end + + def diff_size + @insert.size - @remove.size + end + + def op + case [@remove.empty?, @insert.empty?] + when [false, false] + "!" + when [false, true] + "-" + when [true, false] + "+" + else # [true, true] + "^" + end + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/callbacks.rb b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/callbacks.rb new file mode 100644 index 0000000..2c5a779 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/callbacks.rb @@ -0,0 +1,327 @@ +# frozen_string_literal: true + +require "diff/lcs/change" + +module Diff::LCS + # This callback object implements the default set of callback events, + # which only returns the event itself. Note that #finished_a and + # #finished_b are not implemented -- I haven't yet figured out where they + # would be useful. + # + # Note that this is intended to be called as is, e.g., + # + # Diff::LCS.LCS(seq1, seq2, Diff::LCS::DefaultCallbacks) + class DefaultCallbacks + class << self + # Called when two items match. + def match(event) + event + end + + # Called when the old value is discarded in favour of the new value. + def discard_a(event) + event + end + + # Called when the new value is discarded in favour of the old value. + def discard_b(event) + event + end + + # Called when both the old and new values have changed. + def change(event) + event + end + + private :new + end + end + + # An alias for DefaultCallbacks that is used in + # Diff::LCS#traverse_sequences. + # + # Diff::LCS.LCS(seq1, seq2, Diff::LCS::SequenceCallbacks) + SequenceCallbacks = DefaultCallbacks + + # An alias for DefaultCallbacks that is used in + # Diff::LCS#traverse_balanced. + # + # Diff::LCS.LCS(seq1, seq2, Diff::LCS::BalancedCallbacks) + BalancedCallbacks = DefaultCallbacks + + def self.callbacks_for(callbacks) + callbacks.new + rescue + callbacks + end +end + +# This will produce a compound array of simple diff change objects. Each +# element in the #diffs array is a +hunk+ or +hunk+ array, where each +# element in each +hunk+ array is a single Change object representing the +# addition or removal of a single element from one of the two tested +# sequences. The +hunk+ provides the full context for the changes. +# +# diffs = Diff::LCS.diff(seq1, seq2) +# # This example shows a simplified array format. +# # [ [ [ '-', 0, 'a' ] ], # 1 +# # [ [ '+', 2, 'd' ] ], # 2 +# # [ [ '-', 4, 'h' ], # 3 +# # [ '+', 4, 'f' ] ], +# # [ [ '+', 6, 'k' ] ], # 4 +# # [ [ '-', 8, 'n' ], # 5 +# # [ '-', 9, 'p' ], +# # [ '+', 9, 'r' ], +# # [ '+', 10, 's' ], +# # [ '+', 11, 't' ] ] ] +# +# There are five hunks here. The first hunk says that the +a+ at position 0 +# of the first sequence should be deleted ('-'). The second hunk +# says that the +d+ at position 2 of the second sequence should be inserted +# ('+'). The third hunk says that the +h+ at position 4 of the +# first sequence should be removed and replaced with the +f+ from position 4 +# of the second sequence. The other two hunks are described similarly. +# +# === Use +# +# This callback object must be initialised and is used by the Diff::LCS#diff +# method. +# +# cbo = Diff::LCS::DiffCallbacks.new +# Diff::LCS.LCS(seq1, seq2, cbo) +# cbo.finish +# +# Note that the call to #finish is absolutely necessary, or the last set of +# changes will not be visible. Alternatively, can be used as: +# +# cbo = Diff::LCS::DiffCallbacks.new { |tcbo| Diff::LCS.LCS(seq1, seq2, tcbo) } +# +# The necessary #finish call will be made. +# +# === Simplified Array Format +# +# The simplified array format used in the example above can be obtained +# with: +# +# require 'pp' +# pp diffs.map { |e| e.map { |f| f.to_a } } +class Diff::LCS::DiffCallbacks + # Returns the difference set collected during the diff process. + attr_reader :diffs + + def initialize # :yields: self + @hunk = [] + @diffs = [] + + return unless block_given? + + begin + yield self + ensure + finish + end + end + + # Finalizes the diff process. If an unprocessed hunk still exists, then it + # is appended to the diff list. + def finish + finish_hunk + end + + def match(_event) + finish_hunk + end + + def discard_a(event) + @hunk << Diff::LCS::Change.new("-", event.old_position, event.old_element) + end + + def discard_b(event) + @hunk << Diff::LCS::Change.new("+", event.new_position, event.new_element) + end + + def finish_hunk + @diffs << @hunk unless @hunk.empty? + @hunk = [] + end + private :finish_hunk +end + +# This will produce a compound array of contextual diff change objects. Each +# element in the #diffs array is a "hunk" array, where each element in each +# "hunk" array is a single change. Each change is a Diff::LCS::ContextChange +# that contains both the old index and new index values for the change. The +# "hunk" provides the full context for the changes. Both old and new objects +# will be presented for changed objects. +nil+ will be substituted for a +# discarded object. +# +# seq1 = %w(a b c e h j l m n p) +# seq2 = %w(b c d e f j k l m r s t) +# +# diffs = Diff::LCS.diff(seq1, seq2, Diff::LCS::ContextDiffCallbacks) +# # This example shows a simplified array format. +# # [ [ [ '-', [ 0, 'a' ], [ 0, nil ] ] ], # 1 +# # [ [ '+', [ 3, nil ], [ 2, 'd' ] ] ], # 2 +# # [ [ '-', [ 4, 'h' ], [ 4, nil ] ], # 3 +# # [ '+', [ 5, nil ], [ 4, 'f' ] ] ], +# # [ [ '+', [ 6, nil ], [ 6, 'k' ] ] ], # 4 +# # [ [ '-', [ 8, 'n' ], [ 9, nil ] ], # 5 +# # [ '+', [ 9, nil ], [ 9, 'r' ] ], +# # [ '-', [ 9, 'p' ], [ 10, nil ] ], +# # [ '+', [ 10, nil ], [ 10, 's' ] ], +# # [ '+', [ 10, nil ], [ 11, 't' ] ] ] ] +# +# The five hunks shown are comprised of individual changes; if there is a +# related set of changes, they are still shown individually. +# +# This callback can also be used with Diff::LCS#sdiff, which will produce +# results like: +# +# diffs = Diff::LCS.sdiff(seq1, seq2, Diff::LCS::ContextCallbacks) +# # This example shows a simplified array format. +# # [ [ [ "-", [ 0, "a" ], [ 0, nil ] ] ], # 1 +# # [ [ "+", [ 3, nil ], [ 2, "d" ] ] ], # 2 +# # [ [ "!", [ 4, "h" ], [ 4, "f" ] ] ], # 3 +# # [ [ "+", [ 6, nil ], [ 6, "k" ] ] ], # 4 +# # [ [ "!", [ 8, "n" ], [ 9, "r" ] ], # 5 +# # [ "!", [ 9, "p" ], [ 10, "s" ] ], +# # [ "+", [ 10, nil ], [ 11, "t" ] ] ] ] +# +# The five hunks are still present, but are significantly shorter in total +# presentation, because changed items are shown as changes ("!") instead of +# potentially "mismatched" pairs of additions and deletions. +# +# The result of this operation is similar to that of +# Diff::LCS::SDiffCallbacks. They may be compared as: +# +# s = Diff::LCS.sdiff(seq1, seq2).reject { |e| e.action == "=" } +# c = Diff::LCS.sdiff(seq1, seq2, Diff::LCS::ContextDiffCallbacks).flatten(1) +# +# s == c # -> true +# +# === Use +# +# This callback object must be initialised and can be used by the +# Diff::LCS#diff or Diff::LCS#sdiff methods. +# +# cbo = Diff::LCS::ContextDiffCallbacks.new +# Diff::LCS.LCS(seq1, seq2, cbo) +# cbo.finish +# +# Note that the call to #finish is absolutely necessary, or the last set of +# changes will not be visible. Alternatively, can be used as: +# +# cbo = Diff::LCS::ContextDiffCallbacks.new { |tcbo| Diff::LCS.LCS(seq1, seq2, tcbo) } +# +# The necessary #finish call will be made. +# +# === Simplified Array Format +# +# The simplified array format used in the example above can be obtained +# with: +# +# require 'pp' +# pp diffs.map { |e| e.map { |f| f.to_a } } +class Diff::LCS::ContextDiffCallbacks < Diff::LCS::DiffCallbacks + def discard_a(event) + @hunk << Diff::LCS::ContextChange.simplify(event) + end + + def discard_b(event) + @hunk << Diff::LCS::ContextChange.simplify(event) + end + + def change(event) + @hunk << Diff::LCS::ContextChange.simplify(event) + end +end + +# This will produce a simple array of diff change objects. Each element in +# the #diffs array is a single ContextChange. In the set of #diffs provided +# by SDiffCallbacks, both old and new objects will be presented for both +# changed and unchanged objects. +nil+ will be substituted +# for a discarded object. +# +# The diffset produced by this callback, when provided to Diff::LCS#sdiff, +# will compute and display the necessary components to show two sequences +# and their minimized differences side by side, just like the Unix utility +# +sdiff+. +# +# same same +# before | after +# old < - +# - > new +# +# seq1 = %w(a b c e h j l m n p) +# seq2 = %w(b c d e f j k l m r s t) +# +# diffs = Diff::LCS.sdiff(seq1, seq2) +# # This example shows a simplified array format. +# # [ [ "-", [ 0, "a"], [ 0, nil ] ], +# # [ "=", [ 1, "b"], [ 0, "b" ] ], +# # [ "=", [ 2, "c"], [ 1, "c" ] ], +# # [ "+", [ 3, nil], [ 2, "d" ] ], +# # [ "=", [ 3, "e"], [ 3, "e" ] ], +# # [ "!", [ 4, "h"], [ 4, "f" ] ], +# # [ "=", [ 5, "j"], [ 5, "j" ] ], +# # [ "+", [ 6, nil], [ 6, "k" ] ], +# # [ "=", [ 6, "l"], [ 7, "l" ] ], +# # [ "=", [ 7, "m"], [ 8, "m" ] ], +# # [ "!", [ 8, "n"], [ 9, "r" ] ], +# # [ "!", [ 9, "p"], [ 10, "s" ] ], +# # [ "+", [ 10, nil], [ 11, "t" ] ] ] +# +# The result of this operation is similar to that of +# Diff::LCS::ContextDiffCallbacks. They may be compared as: +# +# s = Diff::LCS.sdiff(seq1, seq2).reject { |e| e.action == "=" } +# c = Diff::LCS.sdiff(seq1, seq2, Diff::LCS::ContextDiffCallbacks).flatten(1) +# +# s == c # -> true +# +# === Use +# +# This callback object must be initialised and is used by the Diff::LCS#sdiff +# method. +# +# cbo = Diff::LCS::SDiffCallbacks.new +# Diff::LCS.LCS(seq1, seq2, cbo) +# +# As with the other initialisable callback objects, +# Diff::LCS::SDiffCallbacks can be initialised with a block. As there is no +# "fininishing" to be done, this has no effect on the state of the object. +# +# cbo = Diff::LCS::SDiffCallbacks.new { |tcbo| Diff::LCS.LCS(seq1, seq2, tcbo) } +# +# === Simplified Array Format +# +# The simplified array format used in the example above can be obtained +# with: +# +# require 'pp' +# pp diffs.map { |e| e.to_a } +class Diff::LCS::SDiffCallbacks + # Returns the difference set collected during the diff process. + attr_reader :diffs + + def initialize # :yields: self + @diffs = [] + yield self if block_given? + end + + def match(event) + @diffs << Diff::LCS::ContextChange.simplify(event) + end + + def discard_a(event) + @diffs << Diff::LCS::ContextChange.simplify(event) + end + + def discard_b(event) + @diffs << Diff::LCS::ContextChange.simplify(event) + end + + def change(event) + @diffs << Diff::LCS::ContextChange.simplify(event) + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/change.rb b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/change.rb new file mode 100644 index 0000000..714d78c --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/change.rb @@ -0,0 +1,174 @@ +# frozen_string_literal: true + +# Represents a simplistic (non-contextual) change. Represents the removal or +# addition of an element from either the old or the new sequenced +# enumerable. +class Diff::LCS::Change + IntClass = 1.class # Fixnum is deprecated in Ruby 2.4 # standard:disable Naming/ConstantName + + # The only actions valid for changes are '+' (add), '-' (delete), '=' + # (no change), '!' (changed), '<' (tail changes from first sequence), or + # '>' (tail changes from second sequence). The last two ('<>') are only + # found with Diff::LCS::diff and Diff::LCS::sdiff. + VALID_ACTIONS = %w[+ - = ! > <].freeze + + def self.valid_action?(action) + VALID_ACTIONS.include? action + end + + # Returns the action this Change represents. + attr_reader :action + + # Returns the position of the Change. + attr_reader :position + # Returns the sequence element of the Change. + attr_reader :element + + def initialize(*args) + @action, @position, @element = *args + + fail "Invalid Change Action '#{@action}'" unless Diff::LCS::Change.valid_action?(@action) + fail "Invalid Position Type" unless @position.is_a? IntClass + end + + def inspect(*_args) + "#<#{self.class}: #{to_a.inspect}>" + end + + def to_a + [@action, @position, @element] + end + + alias_method :to_ary, :to_a + + def self.from_a(arr) + arr = arr.flatten(1) + case arr.size + when 5 + Diff::LCS::ContextChange.new(*arr[0...5]) + when 3 + Diff::LCS::Change.new(*arr[0...3]) + else + fail "Invalid change array format provided." + end + end + + include Comparable + + def ==(other) + (self.class == other.class) and + (action == other.action) and + (position == other.position) and + (element == other.element) + end + + def <=>(other) + r = action <=> other.action + r = position <=> other.position if r.zero? + r = element <=> other.element if r.zero? + r + end + + def adding? + @action == "+" + end + + def deleting? + @action == "-" + end + + def unchanged? + @action == "=" + end + + def changed? + @action == "!" + end + + def finished_a? + @action == ">" + end + + def finished_b? + @action == "<" + end +end + +# Represents a contextual change. Contains the position and values of the +# elements in the old and the new sequenced enumerables as well as the action +# taken. +class Diff::LCS::ContextChange < Diff::LCS::Change + # We don't need these two values. + undef :position + undef :element + + # Returns the old position being changed. + attr_reader :old_position + # Returns the new position being changed. + attr_reader :new_position + # Returns the old element being changed. + attr_reader :old_element + # Returns the new element being changed. + attr_reader :new_element + + def initialize(*args) + @action, @old_position, @old_element, @new_position, @new_element = *args + + fail "Invalid Change Action '#{@action}'" unless Diff::LCS::Change.valid_action?(@action) + fail "Invalid (Old) Position Type" unless @old_position.nil? || @old_position.is_a?(IntClass) + fail "Invalid (New) Position Type" unless @new_position.nil? || @new_position.is_a?(IntClass) + end + + def to_a + [ + @action, + [@old_position, @old_element], + [@new_position, @new_element] + ] + end + + alias_method :to_ary, :to_a + + def self.from_a(arr) + Diff::LCS::Change.from_a(arr) + end + + # Simplifies a context change for use in some diff callbacks. '<' actions + # are converted to '-' and '>' actions are converted to '+'. + def self.simplify(event) + ea = event.to_a + + case ea[0] + when "-" + ea[2][1] = nil + when "<" + ea[0] = "-" + ea[2][1] = nil + when "+" + ea[1][1] = nil + when ">" + ea[0] = "+" + ea[1][1] = nil + end + + Diff::LCS::ContextChange.from_a(ea) + end + + def ==(other) + (self.class == other.class) and + (@action == other.action) and + (@old_position == other.old_position) and + (@new_position == other.new_position) and + (@old_element == other.old_element) and + (@new_element == other.new_element) + end + + def <=>(other) + r = @action <=> other.action + r = @old_position <=> other.old_position if r.zero? + r = @new_position <=> other.new_position if r.zero? + r = @old_element <=> other.old_element if r.zero? + r = @new_element <=> other.new_element if r.zero? + r + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/htmldiff.rb b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/htmldiff.rb new file mode 100644 index 0000000..9073243 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/htmldiff.rb @@ -0,0 +1,160 @@ +# frozen_string_literal: true + +require "erb" + +# Produce a simple HTML diff view. +class Diff::LCS::HTMLDiff + class << self + # standard:disable ThreadSafety/ClassAndModuleAttributes + attr_accessor :can_expand_tabs # :nodoc: + # standard:enable ThreadSafety/ClassAndModuleAttributes + end + self.can_expand_tabs = true + + class Callbacks # :nodoc: + attr_accessor :output + attr_accessor :match_class + attr_accessor :only_a_class + attr_accessor :only_b_class + + def initialize(output, options = {}) + @output = output + options ||= {} + + @match_class = options[:match_class] || "match" + @only_a_class = options[:only_a_class] || "only_a" + @only_b_class = options[:only_b_class] || "only_b" + end + + def htmlize(element, css_class) + element = " " if element.empty? + %(

    #{element}
    \n) + end + private :htmlize + + # This will be called with both lines are the same + def match(event) + @output << htmlize(event.old_element, :match_class) + end + + # This will be called when there is a line in A that isn't in B + def discard_a(event) + @output << htmlize(event.old_element, :only_a_class) + end + + # This will be called when there is a line in B that isn't in A + def discard_b(event) + @output << htmlize(event.new_element, :only_b_class) + end + end + + # standard:disable Style/HashSyntax + DEFAULT_OPTIONS = { + :expand_tabs => nil, + :output => nil, + :css => nil, + :title => nil + }.freeze + # standard:enable Style/HashSyntax + + # standard:disable Layout/HeredocIndentation + DEFAULT_CSS = <<-CSS +body { margin: 0; } +.diff +{ + border: 1px solid black; + margin: 1em 2em; +} +p +{ + margin-left: 2em; +} +pre +{ + padding-left: 1em; + margin: 0; + font-family: Inconsolata, Consolas, Lucida, Courier, monospaced; + white-space: pre; +} +.match { } +.only_a +{ + background-color: #fdd; + color: red; + text-decoration: line-through; +} +.only_b +{ + background-color: #ddf; + color: blue; + border-left: 3px solid blue +} +h1 { margin-left: 2em; } + CSS + # standard:enable Layout/HeredocIndentation + + def initialize(left, right, options = nil) + @left = left + @right = right + @options = options + + @options = DEFAULT_OPTIONS.dup if @options.nil? + end + + def verify_options + @options[:expand_tabs] ||= 4 + @options[:expand_tabs] = 4 if @options[:expand_tabs].negative? + + @options[:output] ||= $stdout + + @options[:css] ||= DEFAULT_CSS.dup + + @options[:title] ||= "diff" + end + private :verify_options + + attr_reader :options + + def run + verify_options + + if @options[:expand_tabs].positive? && self.class.can_expand_tabs + formatter = Text::Format.new + formatter.tabstop = @options[:expand_tabs] + + @left.map! { |line| formatter.expand(line.chomp) } + @right.map! { |line| formatter.expand(line.chomp) } + end + + @left.map! { |line| ERB::Util.html_escape(line.chomp) } + @right.map! { |line| ERB::Util.html_escape(line.chomp) } + + # standard:disable Layout/HeredocIndentation + @options[:output] << <<-OUTPUT + + + #{@options[:title]} + + + +

    #{@options[:title]}

    +

    Legend: Only in Old  + Only in New

    +
    + OUTPUT + # standard:enable Layout/HeredocIndentation + + callbacks = Callbacks.new(@options[:output]) + Diff::LCS.traverse_sequences(@left, @right, callbacks) + + # standard:disable Layout/HeredocIndentation + @options[:output] << <<-OUTPUT +
    + + + OUTPUT + # standard:enable Layout/HeredocIndentation + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/hunk.rb b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/hunk.rb new file mode 100644 index 0000000..24b33bc --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/hunk.rb @@ -0,0 +1,379 @@ +# frozen_string_literal: true + +require "diff/lcs/block" + +# A Hunk is a group of Blocks which overlap because of the context surrounding +# each block. (So if we're not using context, every hunk will contain one +# block.) Used in the diff program (bin/ldiff). +class Diff::LCS::Hunk + OLD_DIFF_OP_ACTION = {"+" => "a", "-" => "d", "!" => "c"}.freeze # :nodoc: + ED_DIFF_OP_ACTION = {"+" => "a", "-" => "d", "!" => "c"}.freeze # :nodoc: + + private_constant :OLD_DIFF_OP_ACTION, :ED_DIFF_OP_ACTION if respond_to?(:private_constant) + + # Create a hunk using references to both the old and new data, as well as the + # piece of data. + def initialize(data_old, data_new, piece, flag_context, file_length_difference) + # At first, a hunk will have just one Block in it + @blocks = [Diff::LCS::Block.new(piece)] + + if @blocks[0].remove.empty? && @blocks[0].insert.empty? + fail "Cannot build a hunk from #{piece.inspect}; has no add or remove actions" + end + + if String.method_defined?(:encoding) + @preferred_data_encoding = data_old.fetch(0) { data_new.fetch(0) { "" } }.encoding + end + + @data_old = data_old + @data_new = data_new + @old_empty = data_old.empty? || (data_old.size == 1 && data_old[0].empty?) + @new_empty = data_new.empty? || (data_new.size == 1 && data_new[0].empty?) + + before = after = file_length_difference + after += @blocks[0].diff_size + @file_length_difference = after # The caller must get this manually + @max_diff_size = @blocks.map { |e| e.diff_size.abs }.max + + # Save the start & end of each array. If the array doesn't exist (e.g., + # we're only adding items in this block), then figure out the line number + # based on the line number of the other file and the current difference in + # file lengths. + if @blocks[0].remove.empty? + a1 = a2 = nil + else + a1 = @blocks[0].remove[0].position + a2 = @blocks[0].remove[-1].position + end + + if @blocks[0].insert.empty? + b1 = b2 = nil + else + b1 = @blocks[0].insert[0].position + b2 = @blocks[0].insert[-1].position + end + + @start_old = a1 || (b1 - before) + @start_new = b1 || (a1 + before) + @end_old = a2 || (b2 - after) + @end_new = b2 || (a2 + after) + + self.flag_context = flag_context + end + + attr_reader :blocks + attr_reader :start_old, :start_new + attr_reader :end_old, :end_new + attr_reader :file_length_difference + + # Change the "start" and "end" fields to note that context should be added + # to this hunk. + attr_accessor :flag_context + undef :flag_context= + def flag_context=(context) # :nodoc: # standard:disable Lint/DuplicateMethods + return if context.nil? || context.zero? + + add_start = (context > @start_old) ? @start_old : context + + @start_old -= add_start + @start_new -= add_start + + old_size = @data_old.size + + add_end = + if (@end_old + context) >= old_size + old_size - @end_old - 1 + else + context + end + + @end_old += add_end + @end_new += add_end + end + + # Merges this hunk and the provided hunk together if they overlap. Returns + # a truthy value so that if there is no overlap, you can know the merge + # was skipped. + def merge(hunk) + return unless overlaps?(hunk) + + @start_old = hunk.start_old + @start_new = hunk.start_new + blocks.unshift(*hunk.blocks) + end + alias_method :unshift, :merge + + # Determines whether there is an overlap between this hunk and the + # provided hunk. This will be true if the difference between the two hunks + # start or end positions is within one position of each other. + def overlaps?(hunk) + hunk and (((@start_old - hunk.end_old) <= 1) or + ((@start_new - hunk.end_new) <= 1)) + end + + # Returns a diff string based on a format. + def diff(format, last = false) + case format + when :old + old_diff(last) + when :unified + unified_diff(last) + when :context + context_diff(last) + when :ed + self + when :reverse_ed, :ed_finish + ed_diff(format, last) + else + fail "Unknown diff format #{format}." + end + end + + # Note that an old diff can't have any context. Therefore, we know that + # there's only one block in the hunk. + def old_diff(last = false) + warn "Expecting only one block in an old diff hunk!" if @blocks.size > 1 + + block = @blocks[0] + + if last + old_missing_newline = !@old_empty && missing_last_newline?(@data_old) + new_missing_newline = !@new_empty && missing_last_newline?(@data_new) + end + + # Calculate item number range. Old diff range is just like a context + # diff range, except the ranges are on one line with the action between + # them. + s = encode("#{context_range(:old, ",")}#{OLD_DIFF_OP_ACTION[block.op]}#{context_range(:new, ",")}\n") + # If removing anything, just print out all the remove lines in the hunk + # which is just all the remove lines in the block. + unless block.remove.empty? + @data_old[@start_old..@end_old].each { |e| s << encode("< ") + e.chomp + encode("\n") } + end + + s << encode("\\ No newline at end of file\n") if old_missing_newline && !new_missing_newline + s << encode("---\n") if block.op == "!" + + unless block.insert.empty? + @data_new[@start_new..@end_new].each { |e| s << encode("> ") + e.chomp + encode("\n") } + end + + s << encode("\\ No newline at end of file\n") if new_missing_newline && !old_missing_newline + + s + end + private :old_diff + + def unified_diff(last = false) + # Calculate item number range. + s = encode("@@ -#{unified_range(:old)} +#{unified_range(:new)} @@\n") + + # Outlist starts containing the hunk of the old file. Removing an item + # just means putting a '-' in front of it. Inserting an item requires + # getting it from the new file and splicing it in. We splice in + # +num_added+ items. Remove blocks use +num_added+ because splicing + # changed the length of outlist. + # + # We remove +num_removed+ items. Insert blocks use +num_removed+ + # because their item numbers -- corresponding to positions in the NEW + # file -- don't take removed items into account. + lo, hi, num_added, num_removed = @start_old, @end_old, 0, 0 + + # standard:disable Performance/UnfreezeString + outlist = @data_old[lo..hi].map { |e| String.new("#{encode(" ")}#{e.chomp}") } + # standard:enable Performance/UnfreezeString + + last_block = blocks[-1] + + if last + old_missing_newline = !@old_empty && missing_last_newline?(@data_old) + new_missing_newline = !@new_empty && missing_last_newline?(@data_new) + end + + @blocks.each do |block| + block.remove.each do |item| + op = item.action.to_s # - + offset = item.position - lo + num_added + outlist[offset][0, 1] = encode(op) + num_removed += 1 + end + + if last && block == last_block && old_missing_newline && !new_missing_newline + outlist << encode('\\ No newline at end of file') + num_removed += 1 + end + + block.insert.each do |item| + op = item.action.to_s # + + offset = item.position - @start_new + num_removed + outlist[offset, 0] = encode(op) + @data_new[item.position].chomp + num_added += 1 + end + end + + outlist << encode('\\ No newline at end of file') if last && new_missing_newline + + s << outlist.join(encode("\n")) + + s + end + private :unified_diff + + def context_diff(last = false) + s = encode("***************\n") + s << encode("*** #{context_range(:old, ",")} ****\n") + r = context_range(:new, ",") + + if last + old_missing_newline = missing_last_newline?(@data_old) + new_missing_newline = missing_last_newline?(@data_new) + end + + # Print out file 1 part for each block in context diff format if there + # are any blocks that remove items + lo, hi = @start_old, @end_old + removes = @blocks.reject { |e| e.remove.empty? } + + unless removes.empty? + # standard:disable Performance/UnfreezeString + outlist = @data_old[lo..hi].map { |e| String.new("#{encode(" ")}#{e.chomp}") } + # standard:enable Performance/UnfreezeString + + last_block = removes[-1] + + removes.each do |block| + block.remove.each do |item| + outlist[item.position - lo][0, 1] = encode(block.op) # - or ! + end + + if last && block == last_block && old_missing_newline + outlist << encode('\\ No newline at end of file') + end + end + + s << outlist.join(encode("\n")) << encode("\n") + end + + s << encode("--- #{r} ----\n") + lo, hi = @start_new, @end_new + inserts = @blocks.reject { |e| e.insert.empty? } + + unless inserts.empty? + # standard:disable Performance/UnfreezeString + outlist = @data_new[lo..hi].map { |e| String.new("#{encode(" ")}#{e.chomp}") } + # standard:enable Performance/UnfreezeString + + last_block = inserts[-1] + + inserts.each do |block| + block.insert.each do |item| + outlist[item.position - lo][0, 1] = encode(block.op) # + or ! + end + + if last && block == last_block && new_missing_newline + outlist << encode('\\ No newline at end of file') + end + end + s << outlist.join(encode("\n")) + end + + s + end + private :context_diff + + def ed_diff(format, last) + warn "Expecting only one block in an old diff hunk!" if @blocks.size > 1 + if last + # ed script doesn't support well incomplete lines + warn ": No newline at end of file\n" if !@old_empty && missing_last_newline?(@data_old) + warn ": No newline at end of file\n" if !@new_empty && missing_last_newline?(@data_new) + + if @blocks[0].op == "!" + return +"" if @blocks[0].changes[0].element == @blocks[0].changes[1].element + "\n" + return +"" if @blocks[0].changes[0].element + "\n" == @blocks[0].changes[1].element + end + end + + s = + if format == :reverse_ed + encode("#{ED_DIFF_OP_ACTION[@blocks[0].op]}#{context_range(:old, " ")}\n") + else + encode("#{context_range(:old, ",")}#{ED_DIFF_OP_ACTION[@blocks[0].op]}\n") + end + + unless @blocks[0].insert.empty? + @data_new[@start_new..@end_new].each do |e| + s << e.chomp + encode("\n") + end + s << encode(".\n") + end + s + end + private :ed_diff + + # Generate a range of item numbers to print. Only print 1 number if the + # range has only one item in it. Otherwise, it's 'start,end' + def context_range(mode, op) + case mode + when :old + s, e = (@start_old + 1), (@end_old + 1) + when :new + s, e = (@start_new + 1), (@end_new + 1) + end + + (s < e) ? "#{s}#{op}#{e}" : e.to_s + end + private :context_range + + # Generate a range of item numbers to print for unified diff. Print number + # where block starts, followed by number of lines in the block + # (don't print number of lines if it's 1) + def unified_range(mode) + case mode + when :old + return "0,0" if @old_empty + s, e = (@start_old + 1), (@end_old + 1) + when :new + return "0,0" if @new_empty + s, e = (@start_new + 1), (@end_new + 1) + end + + length = e - s + 1 + + (length <= 1) ? e.to_s : "#{s},#{length}" + end + private :unified_range + + def missing_last_newline?(data) + newline = encode("\n") + + if data[-2] + data[-2].end_with?(newline) && !data[-1].end_with?(newline) + elsif data[-1] + !data[-1].end_with?(newline) + else + true + end + end + + if String.method_defined?(:encoding) + def encode(literal, target_encoding = @preferred_data_encoding) + literal.encode target_encoding + end + + def encode_as(string, *args) + args.map { |arg| arg.encode(string.encoding) } + end + else + def encode(literal, _target_encoding = nil) + literal + end + + def encode_as(_string, *args) + args + end + end + + private :encode + private :encode_as +end diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/internals.rb b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/internals.rb new file mode 100644 index 0000000..8a9160a --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/internals.rb @@ -0,0 +1,308 @@ +# frozen_string_literal: true + +class << Diff::LCS + def diff_traversal(method, seq1, seq2, callbacks, &block) + callbacks = callbacks_for(callbacks) + case method + when :diff + traverse_sequences(seq1, seq2, callbacks) + when :sdiff + traverse_balanced(seq1, seq2, callbacks) + end + callbacks.finish if callbacks.respond_to? :finish + + if block + callbacks.diffs.map do |hunk| + if hunk.is_a? Array + hunk.map { |hunk_block| block[hunk_block] } + else + block[hunk] + end + end + else + callbacks.diffs + end + end + private :diff_traversal +end + +module Diff::LCS::Internals # :nodoc: +end + +class << Diff::LCS::Internals + # Compute the longest common subsequence between the sequenced + # Enumerables +a+ and +b+. The result is an array whose contents is such + # that + # + # result = Diff::LCS::Internals.lcs(a, b) + # result.each_with_index do |e, i| + # assert_equal(a[i], b[e]) unless e.nil? + # end + def lcs(a, b) + a_start = b_start = 0 + a_finish = a.size - 1 + b_finish = b.size - 1 + vector = [] + + # Collect any common elements at the beginning... + while (a_start <= a_finish) && (b_start <= b_finish) && (a[a_start] == b[b_start]) + vector[a_start] = b_start + a_start += 1 + b_start += 1 + end + + # Now the end... + while (a_start <= a_finish) && (b_start <= b_finish) && (a[a_finish] == b[b_finish]) + vector[a_finish] = b_finish + a_finish -= 1 + b_finish -= 1 + end + + # Now, compute the equivalence classes of positions of elements. + # An explanation for how this works: https://codeforces.com/topic/92191 + b_matches = position_hash(b, b_start..b_finish) + + thresh = [] + links = [] + string = a.is_a?(String) + + (a_start..a_finish).each do |i| + ai = string ? a[i, 1] : a[i] + bm = b_matches[ai] + k = nil + bm.reverse_each do |j| + # Although the threshold check is not mandatory for this to work, + # it may have an optimization purpose + # An attempt to remove it: https://github.com/halostatue/diff-lcs/pull/72 + # Why it is reintroduced: https://github.com/halostatue/diff-lcs/issues/78 + if k && (thresh[k] > j) && (thresh[k - 1] < j) + thresh[k] = j + else + k = replace_next_larger(thresh, j, k) + end + links[k] = [k.positive? ? links[k - 1] : nil, i, j] unless k.nil? + end + end + + unless thresh.empty? + link = links[thresh.size - 1] + until link.nil? + vector[link[1]] = link[2] + link = link[0] + end + end + + vector + end + + # This method will analyze the provided patchset to provide a single-pass + # normalization (conversion of the array form of Diff::LCS::Change objects to + # the object form of same) and detection of whether the patchset represents + # changes to be made. + def analyze_patchset(patchset, depth = 0) + fail "Patchset too complex" if depth > 1 + + has_changes = false + new_patchset = [] + + # Format: + # [ # patchset + # # hunk (change) + # [ # hunk + # # change + # ] + # ] + + patchset.each do |hunk| + case hunk + when Diff::LCS::Change + has_changes ||= !hunk.unchanged? + new_patchset << hunk + when Array + # Detect if the 'hunk' is actually an array-format change object. + if Diff::LCS::Change.valid_action? hunk[0] + hunk = Diff::LCS::Change.from_a(hunk) + has_changes ||= !hunk.unchanged? + new_patchset << hunk + else + with_changes, hunk = analyze_patchset(hunk, depth + 1) + has_changes ||= with_changes + new_patchset.concat(hunk) + end + else + fail ArgumentError, "Cannot normalise a hunk of class #{hunk.class}." + end + end + + [has_changes, new_patchset] + end + + # Examine the patchset and the source to see in which direction the + # patch should be applied. + # + # WARNING: By default, this examines the whole patch, so this could take + # some time. This also works better with Diff::LCS::ContextChange or + # Diff::LCS::Change as its source, as an array will cause the creation + # of one of the above. + def intuit_diff_direction(src, patchset, limit = nil) + string = src.is_a?(String) + count = left_match = left_miss = right_match = right_miss = 0 + + patchset.each do |change| + count += 1 + + case change + when Diff::LCS::ContextChange + le = string ? src[change.old_position, 1] : src[change.old_position] + re = string ? src[change.new_position, 1] : src[change.new_position] + + case change.action + when "-" # Remove details from the old string + if le == change.old_element + left_match += 1 + else + left_miss += 1 + end + when "+" + if re == change.new_element + right_match += 1 + else + right_miss += 1 + end + when "=" + left_miss += 1 if le != change.old_element + right_miss += 1 if re != change.new_element + when "!" + if le == change.old_element + left_match += 1 + elsif re == change.new_element + right_match += 1 + else + left_miss += 1 + right_miss += 1 + end + end + when Diff::LCS::Change + # With a simplistic change, we can't tell the difference between + # the left and right on '!' actions, so we ignore those. On '=' + # actions, if there's a miss, we miss both left and right. + element = string ? src[change.position, 1] : src[change.position] + + case change.action + when "-" + if element == change.element + left_match += 1 + else + left_miss += 1 + end + when "+" + if element == change.element + right_match += 1 + else + right_miss += 1 + end + when "=" + if element != change.element + left_miss += 1 + right_miss += 1 + end + end + end + + break if !limit.nil? && (count > limit) + end + + no_left = left_match.zero? && left_miss.positive? + no_right = right_match.zero? && right_miss.positive? + + case [no_left, no_right] + when [false, true] + :patch + when [true, false] + :unpatch + else + case left_match <=> right_match + when 1 + if left_miss.zero? + :patch + else + :unpatch + end + when -1 + if right_miss.zero? + :unpatch + else + :patch + end + else + fail "The provided patchset does not appear to apply to the provided \ +enumerable as either source or destination value." + end + end + end + + # Find the place at which +value+ would normally be inserted into the + # Enumerable. If that place is already occupied by +value+, do nothing + # and return +nil+. If the place does not exist (i.e., it is off the end + # of the Enumerable), add it to the end. Otherwise, replace the element + # at that point with +value+. It is assumed that the Enumerable's values + # are numeric. + # + # This operation preserves the sort order. + def replace_next_larger(enum, value, last_index = nil) + # Off the end? + if enum.empty? || (value > enum[-1]) + enum << value + return enum.size - 1 + end + + # Binary search for the insertion point + last_index ||= enum.size - 1 + first_index = 0 + while first_index <= last_index + i = (first_index + last_index) >> 1 + + found = enum[i] + + return nil if value == found + + if value > found + first_index = i + 1 + else + last_index = i - 1 + end + end + + # The insertion point is in first_index; overwrite the next larger + # value. + enum[first_index] = value + first_index + end + private :replace_next_larger + + # If +vector+ maps the matching elements of another collection onto this + # Enumerable, compute the inverse of +vector+ that maps this Enumerable + # onto the collection. (Currently unused.) + def inverse_vector(a, vector) + inverse = a.dup + (0...vector.size).each do |i| + inverse[vector[i]] = i unless vector[i].nil? + end + inverse + end + private :inverse_vector + + # Returns a hash mapping each element of an Enumerable to the set of + # positions it occupies in the Enumerable, optionally restricted to the + # elements specified in the range of indexes specified by +interval+. + def position_hash(enum, interval) + string = enum.is_a?(String) + hash = Hash.new { |h, k| h[k] = [] } + interval.each do |i| + k = string ? enum[i, 1] : enum[i] + hash[k] << i + end + hash + end + private :position_hash +end diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/ldiff.rb b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/ldiff.rb new file mode 100644 index 0000000..6442c9b --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/ldiff.rb @@ -0,0 +1,189 @@ +# frozen_string_literal: true + +require "optparse" +require "diff/lcs/hunk" + +class Diff::LCS::Ldiff # :nodoc: + # standard:disable Layout/HeredocIndentation + BANNER = <<-COPYRIGHT +ldiff #{Diff::LCS::VERSION} + Copyright 2004-2025 Austin Ziegler + + Part of Diff::LCS. + https://github.com/halostatue/diff-lcs + + This program is free software. It may be redistributed and/or modified under + the terms of the GPL version 2 (or later), the Perl Artistic licence, or the + MIT licence. + COPYRIGHT + # standard:enable Layout/HeredocIndentation + + InputInfo = Struct.new(:filename, :data, :stat) do + def initialize(filename) + super(filename, ::File.read(filename), ::File.stat(filename)) + end + end + + attr_reader :format, :lines # :nodoc: + attr_reader :file_old, :file_new # :nodoc: + attr_reader :data_old, :data_new # :nodoc: + + def self.run(args, input = $stdin, output = $stdout, error = $stderr) # :nodoc: + new.run(args, input, output, error) + end + + def initialize + @binary = nil + @format = :old + @lines = 0 + end + + def run(args, _input = $stdin, output = $stdout, error = $stderr) # :nodoc: + args.options do |o| + o.banner = "Usage: #{File.basename($0)} [options] oldfile newfile" + o.separator "" + o.on( + "-c", "-C", "--context [LINES]", Integer, + "Displays a context diff with LINES lines", "of context. Default 3 lines." + ) do |ctx| + @format = :context + @lines = ctx || 3 + end + o.on( + "-u", "-U", "--unified [LINES]", Integer, + "Displays a unified diff with LINES lines", "of context. Default 3 lines." + ) do |ctx| + @format = :unified + @lines = ctx || 3 + end + o.on("-e", "Creates an 'ed' script to change", "oldfile to newfile.") do |_ctx| + @format = :ed + end + o.on("-f", "Creates an 'ed' script to change", "oldfile to newfile in reverse order.") do |_ctx| + @format = :reverse_ed + end + o.on( + "-a", "--text", + "Treat the files as text and compare them", "line-by-line, even if they do not seem", "to be text." + ) do |_txt| + @binary = false + end + o.on("--binary", "Treats the files as binary.") do |_bin| + @binary = true + end + o.on("-q", "--brief", "Report only whether or not the files", "differ, not the details.") do |_ctx| + @format = :report + end + o.on_tail("--help", "Shows this text.") do + error << o + return 0 + end + o.on_tail("--version", "Shows the version of Diff::LCS.") do + error << Diff::LCS::Ldiff::BANNER + return 0 + end + o.on_tail "" + o.on_tail 'By default, runs produces an "old-style" diff, with output like UNIX diff.' + o.parse! + end + + unless args.size == 2 + error << args.options + return 127 + end + + # Defaults are for old-style diff + @format ||= :old + @lines ||= 0 + + file_old, file_new = *ARGV + diff?( + InputInfo.new(file_old), + InputInfo.new(file_new), + @format, + output, + binary: @binary, + lines: @lines + ) ? 1 : 0 + end + + def diff?(info_old, info_new, format, output, binary: nil, lines: 0) + case format + when :context + char_old = "*" * 3 + char_new = "-" * 3 + when :unified + char_old = "-" * 3 + char_new = "+" * 3 + end + + # After we've read up to a certain point in each file, the number of + # items we've read from each file will differ by FLD (could be 0). + file_length_difference = 0 + + # Test binary status + if binary.nil? + old_bin = info_old.data[0, 4096].include?("\0") + new_bin = info_new.data[0, 4096].include?("\0") + binary = old_bin || new_bin + end + + # diff yields lots of pieces, each of which is basically a Block object + if binary + has_diffs = (info_old.data != info_new.data) + if format != :report + if has_diffs + output << "Binary files #{info_old.filename} and #{info_new.filename} differ\n" + return true + end + return false + end + else + data_old = info_old.data.lines.to_a + data_new = info_new.data.lines.to_a + diffs = Diff::LCS.diff(data_old, data_new) + return false if diffs.empty? + end + + case format + when :report + output << "Files #{info_old.filename} and #{info_new.filename} differ\n" + return true + when :unified, :context + ft = info_old.stat.mtime.localtime.strftime("%Y-%m-%d %H:%M:%S.000000000 %z") + output << "#{char_old} #{info_old.filename}\t#{ft}\n" + ft = info_new.stat.mtime.localtime.strftime("%Y-%m-%d %H:%M:%S.000000000 %z") + output << "#{char_new} #{info_new.filename}\t#{ft}\n" + when :ed + real_output = output + output = [] + end + + # Loop over hunks. If a hunk overlaps with the last hunk, join them. + # Otherwise, print out the old one. + oldhunk = hunk = nil + diffs.each do |piece| + begin + hunk = Diff::LCS::Hunk.new(data_old, data_new, piece, lines, file_length_difference) + file_length_difference = hunk.file_length_difference + + next unless oldhunk + next if lines.positive? && hunk.merge(oldhunk) + + output << oldhunk.diff(format) + output << "\n" if format == :unified + ensure + oldhunk = hunk + end + end + + last = oldhunk.diff(format, true) + last << "\n" unless last.is_a?(Diff::LCS::Hunk) || last.empty? || last.end_with?("\n") + + output << last + + output.reverse_each { |e| real_output << e.diff(:ed_finish, e == output[0]) } if format == :ed + + true + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/string.rb b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/string.rb new file mode 100644 index 0000000..9ab32e9 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/string.rb @@ -0,0 +1,5 @@ +# frozen_string_literal: true + +class String + include Diff::LCS +end diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/version.rb b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/version.rb new file mode 100644 index 0000000..82830e3 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/lib/diff/lcs/version.rb @@ -0,0 +1,7 @@ +# frozen_string_literal: true + +module Diff + module LCS + VERSION = "1.6.2" + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/mise.toml b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/mise.toml new file mode 100644 index 0000000..22418cf --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/mise.toml @@ -0,0 +1,5 @@ +[tools] +ruby = "3.4" + +[env] +MAINTENANCE = "true" diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/change_spec.rb b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/change_spec.rb new file mode 100644 index 0000000..42533ae --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/change_spec.rb @@ -0,0 +1,89 @@ +# frozen_string_literal: true + +require "spec_helper" + +describe Diff::LCS::Change do + describe "an add" do + subject { described_class.new("+", 0, "element") } + it { should_not be_deleting } + it { should be_adding } + it { should_not be_unchanged } + it { should_not be_changed } + it { should_not be_finished_a } + it { should_not be_finished_b } + end + + describe "a delete" do + subject { described_class.new("-", 0, "element") } + it { should be_deleting } + it { should_not be_adding } + it { should_not be_unchanged } + it { should_not be_changed } + it { should_not be_finished_a } + it { should_not be_finished_b } + end + + describe "an unchanged" do + subject { described_class.new("=", 0, "element") } + it { should_not be_deleting } + it { should_not be_adding } + it { should be_unchanged } + it { should_not be_changed } + it { should_not be_finished_a } + it { should_not be_finished_b } + end + + describe "a changed" do + subject { described_class.new("!", 0, "element") } + it { should_not be_deleting } + it { should_not be_adding } + it { should_not be_unchanged } + it { should be_changed } + it { should_not be_finished_a } + it { should_not be_finished_b } + end + + describe "a finished_a" do + subject { described_class.new(">", 0, "element") } + it { should_not be_deleting } + it { should_not be_adding } + it { should_not be_unchanged } + it { should_not be_changed } + it { should be_finished_a } + it { should_not be_finished_b } + end + + describe "a finished_b" do + subject { described_class.new("<", 0, "element") } + it { should_not be_deleting } + it { should_not be_adding } + it { should_not be_unchanged } + it { should_not be_changed } + it { should_not be_finished_a } + it { should be_finished_b } + end + + describe "as array" do + it "should be converted" do + action, position, element = described_class.new("!", 0, "element") + expect(action).to eq "!" + expect(position).to eq 0 + expect(element).to eq "element" + end + end +end + +describe Diff::LCS::ContextChange do + describe "as array" do + it "should be converted" do + action, (old_position, old_element), (new_position, new_element) = + described_class.new("!", 1, "old_element", 2, "new_element") + + expect(action).to eq "!" + expect(old_position).to eq 1 + expect(old_element).to eq "old_element" + expect(new_position).to eq 2 + expect(new_element).to eq "new_element" + end + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/diff_spec.rb b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/diff_spec.rb new file mode 100644 index 0000000..869f098 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/diff_spec.rb @@ -0,0 +1,51 @@ +# frozen_string_literal: true + +require "spec_helper" + +describe Diff::LCS, ".diff" do + include Diff::LCS::SpecHelper::Matchers + + it "correctly diffs seq1 to seq2" do + diff_s1_s2 = Diff::LCS.diff(seq1, seq2) + expect(change_diff(correct_forward_diff)).to eq(diff_s1_s2) + end + + it "correctly diffs seq2 to seq1" do + diff_s2_s1 = Diff::LCS.diff(seq2, seq1) + expect(change_diff(correct_backward_diff)).to eq(diff_s2_s1) + end + + it "correctly diffs against an empty sequence" do + diff = Diff::LCS.diff(word_sequence, []) + correct_diff = [ + [ + ["-", 0, "abcd"], + ["-", 1, "efgh"], + ["-", 2, "ijkl"], + ["-", 3, "mnopqrstuvwxyz"] + ] + ] + + expect(change_diff(correct_diff)).to eq(diff) + + diff = Diff::LCS.diff([], word_sequence) + correct_diff.each do |hunk| + hunk.each { |change| change[0] = "+" } + end + expect(change_diff(correct_diff)).to eq(diff) + end + + it "correctly diffs 'xx' and 'xaxb'" do + left = "xx" + right = "xaxb" + expect(Diff::LCS.patch(left, Diff::LCS.diff(left, right))).to eq(right) + end + + it "returns an empty diff with (hello, hello)" do + expect(Diff::LCS.diff(hello, hello)).to be_empty + end + + it "returns an empty diff with (hello_ary, hello_ary)" do + expect(Diff::LCS.diff(hello_ary, hello_ary)).to be_empty + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/123_x b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/123_x new file mode 100644 index 0000000..cd34c23 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/123_x @@ -0,0 +1,2 @@ +123 +x diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/456_x b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/456_x new file mode 100644 index 0000000..9a823ac --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/456_x @@ -0,0 +1,2 @@ +456 +x diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/aX b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/aX new file mode 100644 index 0000000..5765d6a --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/aX @@ -0,0 +1 @@ +aX diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/bXaX b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/bXaX new file mode 100644 index 0000000..a1c813d --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/bXaX @@ -0,0 +1 @@ +bXaX diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ds1.csv b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ds1.csv new file mode 100644 index 0000000..9ac8428 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ds1.csv @@ -0,0 +1,50 @@ +1,3 +2,7 +3,13 +4,21 +5,31 +6,43 +7,57 +8,73 +9,91 +10,111 +11,133 +12,157 +13,183 +14,211 +15,241 +16,273 +17,307 +18,343 +19,381 +20,421 +21,463 +22,507 +23,553 +24,601 +25,651 +26,703 +27,757 +28,813 +29,871 +30,931 +31,993 +32,1057 +33,1123 +34,1191 +35,1261 +36,1333 +37,1407 +38,1483 +39,1561 +40,1641 +41,1723 +42,1807 +43,1893 +44,1981 +45,2071 +46,2163 +47,2257 +48,2353 +49,2451 +50,2500 \ No newline at end of file diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ds2.csv b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ds2.csv new file mode 100644 index 0000000..797de76 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ds2.csv @@ -0,0 +1,51 @@ + 1,3 +2,7 +3,13 +4,21 +5,31 +6,42 +7,57 +8,73 +9,91 +10,111 +11,133 +12,157 +13,183 +14,211 +15,241 +16,273 +17,307 +18,343 +19,200 +20,421 +21,463 +22,507 +23,553 +24,601 +25,651 +26,703 +27,757 +28,813 +29,871 +30,931 +31,123 +32,1057 +33,1123 +34,1000 +35,1261 +36,1333 +37,1407 +38,1483 +39,1561 +40,1641 +41,1723 +42,1807 +43,1893 +44,1981 +45,2071 +46,2163 +47,1524 +48,2353 +49,2451 +50,2500 +51,2520 diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/empty b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/empty new file mode 100644 index 0000000..e69de29 diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/file1.bin b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/file1.bin new file mode 100644 index 0000000000000000000000000000000000000000..f76dd238ade08917e6712764a16a22005a50573d GIT binary patch literal 1 IcmZPo000310RR91 literal 0 HcmV?d00001 diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/file2.bin b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/file2.bin new file mode 100644 index 0000000000000000000000000000000000000000..ba18e3dcc474e720bdd955f81c8848324c862840 GIT binary patch literal 6 Ncmc~u&B@7U000O<0u=xN literal 0 HcmV?d00001 diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/four_lines b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/four_lines new file mode 100644 index 0000000..f384549 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/four_lines @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/four_lines_with_missing_new_line b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/four_lines_with_missing_new_line new file mode 100644 index 0000000..c40a3bd --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/four_lines_with_missing_new_line @@ -0,0 +1,4 @@ +one +two +three +four \ No newline at end of file diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/diff.missing_new_line1-e b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/diff.missing_new_line1-e new file mode 100644 index 0000000..1e8a89c --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/diff.missing_new_line1-e @@ -0,0 +1 @@ +No newline at end of file diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/diff.missing_new_line1-f b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/diff.missing_new_line1-f new file mode 100644 index 0000000..1e8a89c --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/diff.missing_new_line1-f @@ -0,0 +1 @@ +No newline at end of file diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/diff.missing_new_line2-e b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/diff.missing_new_line2-e new file mode 100644 index 0000000..1e8a89c --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/diff.missing_new_line2-e @@ -0,0 +1 @@ +No newline at end of file diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/diff.missing_new_line2-f b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/diff.missing_new_line2-f new file mode 100644 index 0000000..1e8a89c --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/diff.missing_new_line2-f @@ -0,0 +1 @@ +No newline at end of file diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.chef-e b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.chef-e new file mode 100644 index 0000000..8ed0319 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.chef-e @@ -0,0 +1,2 @@ +: No newline at end of file +: No newline at end of file diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.chef-f b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.chef-f new file mode 100644 index 0000000..8ed0319 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.chef-f @@ -0,0 +1,2 @@ +: No newline at end of file +: No newline at end of file diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.missing_new_line1-e b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.missing_new_line1-e new file mode 100644 index 0000000..397dd5b --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.missing_new_line1-e @@ -0,0 +1 @@ +: No newline at end of file diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.missing_new_line1-f b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.missing_new_line1-f new file mode 100644 index 0000000..397dd5b --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.missing_new_line1-f @@ -0,0 +1 @@ +: No newline at end of file diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.missing_new_line2-e b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.missing_new_line2-e new file mode 100644 index 0000000..f9493ef --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.missing_new_line2-e @@ -0,0 +1 @@ +: No newline at end of file diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.missing_new_line2-f b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.missing_new_line2-f new file mode 100644 index 0000000..f9493ef --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.missing_new_line2-f @@ -0,0 +1 @@ +: No newline at end of file diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff new file mode 100644 index 0000000..fa1a347 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff @@ -0,0 +1,4 @@ +1c1 +< aX +--- +> bXaX diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff-c b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff-c new file mode 100644 index 0000000..0e1ad99 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff-c @@ -0,0 +1,7 @@ +*** spec/fixtures/aX 2020-06-23 11:15:32.000000000 -0400 +--- spec/fixtures/bXaX 2020-06-23 11:15:32.000000000 -0400 +*************** +*** 1 **** +! aX +--- 1 ---- +! bXaX diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff-e b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff-e new file mode 100644 index 0000000..13e0f7f --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff-e @@ -0,0 +1,3 @@ +1c +bXaX +. diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff-f b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff-f new file mode 100644 index 0000000..77710c7 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff-f @@ -0,0 +1,3 @@ +c1 +bXaX +. diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff-u b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff-u new file mode 100644 index 0000000..b84f718 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff-u @@ -0,0 +1,5 @@ +--- spec/fixtures/aX 2020-06-23 11:15:32.000000000 -0400 ++++ spec/fixtures/bXaX 2020-06-23 11:15:32.000000000 -0400 +@@ -1 +1 @@ +-aX ++bXaX diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin1 b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin1 new file mode 100644 index 0000000..e69de29 diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin1-c b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin1-c new file mode 100644 index 0000000..e69de29 diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin1-e b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin1-e new file mode 100644 index 0000000..e69de29 diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin1-f b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin1-f new file mode 100644 index 0000000..e69de29 diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin1-u b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin1-u new file mode 100644 index 0000000..e69de29 diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin2 b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin2 new file mode 100644 index 0000000..41b625c --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin2 @@ -0,0 +1 @@ +Binary files spec/fixtures/file1.bin and spec/fixtures/file2.bin differ diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin2-c b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin2-c new file mode 100644 index 0000000..41b625c --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin2-c @@ -0,0 +1 @@ +Binary files spec/fixtures/file1.bin and spec/fixtures/file2.bin differ diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin2-e b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin2-e new file mode 100644 index 0000000..41b625c --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin2-e @@ -0,0 +1 @@ +Binary files spec/fixtures/file1.bin and spec/fixtures/file2.bin differ diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin2-f b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin2-f new file mode 100644 index 0000000..41b625c --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin2-f @@ -0,0 +1 @@ +Binary files spec/fixtures/file1.bin and spec/fixtures/file2.bin differ diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin2-u b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin2-u new file mode 100644 index 0000000..41b625c --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin2-u @@ -0,0 +1 @@ +Binary files spec/fixtures/file1.bin and spec/fixtures/file2.bin differ diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef new file mode 100644 index 0000000..8b98efb --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef @@ -0,0 +1,4 @@ +3c3 +< "description": "hi" +--- +> "description": "lo" diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef-c b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef-c new file mode 100644 index 0000000..efbfa19 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef-c @@ -0,0 +1,15 @@ +*** spec/fixtures/old-chef 2020-06-23 23:18:20.000000000 -0400 +--- spec/fixtures/new-chef 2020-06-23 23:18:20.000000000 -0400 +*************** +*** 1,4 **** + { + "name": "x", +! "description": "hi" + } +\ No newline at end of file +--- 1,4 ---- + { + "name": "x", +! "description": "lo" + } +\ No newline at end of file diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef-e b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef-e new file mode 100644 index 0000000..775d881 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef-e @@ -0,0 +1,3 @@ +3c + "description": "lo" +. diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef-f b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef-f new file mode 100644 index 0000000..9bf1e67 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef-f @@ -0,0 +1,3 @@ +c3 + "description": "lo" +. diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef-u b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef-u new file mode 100644 index 0000000..dbacd88 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef-u @@ -0,0 +1,9 @@ +--- spec/fixtures/old-chef 2020-06-23 23:18:20.000000000 -0400 ++++ spec/fixtures/new-chef 2020-06-23 23:18:20.000000000 -0400 +@@ -1,4 +1,4 @@ + { + "name": "x", +- "description": "hi" ++ "description": "lo" + } +\ No newline at end of file diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2 b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2 new file mode 100644 index 0000000..496b3dc --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2 @@ -0,0 +1,7 @@ +2d1 +< recipe[b::default] +14a14,17 +> recipe[o::new] +> recipe[p::new] +> recipe[q::new] +> recipe[r::new] diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2-c b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2-c new file mode 100644 index 0000000..8349a7a --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2-c @@ -0,0 +1,20 @@ +*** spec/fixtures/old-chef2 2020-06-30 09:43:35.000000000 -0400 +--- spec/fixtures/new-chef2 2020-06-30 09:44:32.000000000 -0400 +*************** +*** 1,5 **** + recipe[a::default] +- recipe[b::default] + recipe[c::default] + recipe[d::default] + recipe[e::default] +--- 1,4 ---- +*************** +*** 12,14 **** +--- 11,17 ---- + recipe[l::default] + recipe[m::default] + recipe[n::default] ++ recipe[o::new] ++ recipe[p::new] ++ recipe[q::new] ++ recipe[r::new] diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2-d b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2-d new file mode 100644 index 0000000..ca32a49 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2-d @@ -0,0 +1,7 @@ +d2 +a14 +recipe[o::new] +recipe[p::new] +recipe[q::new] +recipe[r::new] +. diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2-e b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2-e new file mode 100644 index 0000000..89f3fa0 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2-e @@ -0,0 +1,7 @@ +14a +recipe[o::new] +recipe[p::new] +recipe[q::new] +recipe[r::new] +. +2d diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2-f b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2-f new file mode 100644 index 0000000..ca32a49 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2-f @@ -0,0 +1,7 @@ +d2 +a14 +recipe[o::new] +recipe[p::new] +recipe[q::new] +recipe[r::new] +. diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2-u b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2-u new file mode 100644 index 0000000..ef025c7 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2-u @@ -0,0 +1,16 @@ +--- spec/fixtures/old-chef2 2020-06-30 09:43:35.000000000 -0400 ++++ spec/fixtures/new-chef2 2020-06-30 09:44:32.000000000 -0400 +@@ -1,5 +1,4 @@ + recipe[a::default] +-recipe[b::default] + recipe[c::default] + recipe[d::default] + recipe[e::default] +@@ -12,3 +11,7 @@ + recipe[l::default] + recipe[m::default] + recipe[n::default] ++recipe[o::new] ++recipe[p::new] ++recipe[q::new] ++recipe[r::new] diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.empty.vs.four_lines b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.empty.vs.four_lines new file mode 100644 index 0000000..e2afc31 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.empty.vs.four_lines @@ -0,0 +1,5 @@ +0a1,4 +> one +> two +> three +> four diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.empty.vs.four_lines-c b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.empty.vs.four_lines-c new file mode 100644 index 0000000..be0e827 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.empty.vs.four_lines-c @@ -0,0 +1,9 @@ +*** spec/fixtures/empty 2025-01-31 12:14:52.856031635 +0100 +--- spec/fixtures/four_lines 2025-01-31 12:13:45.476036544 +0100 +*************** +*** 0 **** +--- 1,4 ---- ++ one ++ two ++ three ++ four diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.empty.vs.four_lines-e b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.empty.vs.four_lines-e new file mode 100644 index 0000000..f8f92fe --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.empty.vs.four_lines-e @@ -0,0 +1,6 @@ +0a +one +two +three +four +. diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.empty.vs.four_lines-f b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.empty.vs.four_lines-f new file mode 100644 index 0000000..f02e5a0 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.empty.vs.four_lines-f @@ -0,0 +1,6 @@ +a0 +one +two +three +four +. diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.empty.vs.four_lines-u b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.empty.vs.four_lines-u new file mode 100644 index 0000000..60bd55c --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.empty.vs.four_lines-u @@ -0,0 +1,7 @@ +--- spec/fixtures/empty 2025-01-31 12:14:52.856031635 +0100 ++++ spec/fixtures/four_lines 2025-01-31 12:13:45.476036544 +0100 +@@ -0,0 +1,4 @@ ++one ++two ++three ++four diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.four_lines.vs.empty b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.four_lines.vs.empty new file mode 100644 index 0000000..67d0a58 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.four_lines.vs.empty @@ -0,0 +1,5 @@ +1,4d0 +< one +< two +< three +< four diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.four_lines.vs.empty-c b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.four_lines.vs.empty-c new file mode 100644 index 0000000..b216344 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.four_lines.vs.empty-c @@ -0,0 +1,9 @@ +*** spec/fixtures/four_lines 2025-01-31 12:13:45.476036544 +0100 +--- spec/fixtures/empty 2025-01-31 12:14:52.856031635 +0100 +*************** +*** 1,4 **** +- one +- two +- three +- four +--- 0 ---- diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.four_lines.vs.empty-e b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.four_lines.vs.empty-e new file mode 100644 index 0000000..c821d7c --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.four_lines.vs.empty-e @@ -0,0 +1 @@ +1,4d diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.four_lines.vs.empty-f b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.four_lines.vs.empty-f new file mode 100644 index 0000000..442bd5a --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.four_lines.vs.empty-f @@ -0,0 +1 @@ +d1 4 diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.four_lines.vs.empty-u b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.four_lines.vs.empty-u new file mode 100644 index 0000000..79e6d75 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.four_lines.vs.empty-u @@ -0,0 +1,7 @@ +--- spec/fixtures/four_lines 2025-01-31 12:13:45.476036544 +0100 ++++ spec/fixtures/empty 2025-01-31 12:14:52.856031635 +0100 +@@ -1,4 +0,0 @@ +-one +-two +-three +-four diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.issue95_trailing_context b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.issue95_trailing_context new file mode 100644 index 0000000..4335560 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.issue95_trailing_context @@ -0,0 +1,4 @@ +1c1 +< 123 +--- +> 456 diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.issue95_trailing_context-c b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.issue95_trailing_context-c new file mode 100644 index 0000000..4b759fa --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.issue95_trailing_context-c @@ -0,0 +1,9 @@ +*** spec/fixtures/123_x 2025-01-31 17:00:17.070615716 +0100 +--- spec/fixtures/456_x 2025-01-31 16:58:26.380624827 +0100 +*************** +*** 1,2 **** +! 123 + x +--- 1,2 ---- +! 456 + x diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.issue95_trailing_context-e b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.issue95_trailing_context-e new file mode 100644 index 0000000..7a8334b --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.issue95_trailing_context-e @@ -0,0 +1,3 @@ +1c +456 +. diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.issue95_trailing_context-f b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.issue95_trailing_context-f new file mode 100644 index 0000000..97223a8 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.issue95_trailing_context-f @@ -0,0 +1,3 @@ +c1 +456 +. diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.issue95_trailing_context-u b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.issue95_trailing_context-u new file mode 100644 index 0000000..7fbf0e2 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.issue95_trailing_context-u @@ -0,0 +1,6 @@ +--- spec/fixtures/123_x 2025-01-31 17:00:17.070615716 +0100 ++++ spec/fixtures/456_x 2025-01-31 16:58:26.380624827 +0100 +@@ -1,2 +1,2 @@ +-123 ++456 + x diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line1 b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line1 new file mode 100644 index 0000000..c5cb113 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line1 @@ -0,0 +1,5 @@ +4c4 +< four +--- +> four +\ No newline at end of file diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line1-c b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line1-c new file mode 100644 index 0000000..55d1ade --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line1-c @@ -0,0 +1,14 @@ +*** spec/fixtures/four_lines 2025-01-31 12:17:43.926013315 +0100 +--- spec/fixtures/four_lines_with_missing_new_line 2025-01-31 12:17:43.926013315 +0100 +*************** +*** 1,4 **** + one + two + three +! four +--- 1,4 ---- + one + two + three +! four +\ No newline at end of file diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line1-e b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line1-e new file mode 100644 index 0000000..e69de29 diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line1-f b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line1-f new file mode 100644 index 0000000..e69de29 diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line1-u b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line1-u new file mode 100644 index 0000000..010518b --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line1-u @@ -0,0 +1,9 @@ +--- spec/fixtures/four_lines 2025-01-31 12:17:43.926013315 +0100 ++++ spec/fixtures/four_lines_with_missing_new_line 2025-01-31 12:17:43.926013315 +0100 +@@ -1,4 +1,4 @@ + one + two + three +-four ++four +\ No newline at end of file diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line2 b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line2 new file mode 100644 index 0000000..10e4326 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line2 @@ -0,0 +1,5 @@ +4c4 +< four +\ No newline at end of file +--- +> four diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line2-c b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line2-c new file mode 100644 index 0000000..b431030 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line2-c @@ -0,0 +1,14 @@ +*** spec/fixtures/four_lines_with_missing_new_line 2025-01-31 12:17:43.926013315 +0100 +--- spec/fixtures/four_lines 2025-01-31 12:17:43.926013315 +0100 +*************** +*** 1,4 **** + one + two + three +! four +\ No newline at end of file +--- 1,4 ---- + one + two + three +! four diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line2-e b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line2-e new file mode 100644 index 0000000..e69de29 diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line2-f b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line2-f new file mode 100644 index 0000000..e69de29 diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line2-u b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line2-u new file mode 100644 index 0000000..2481a9e --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line2-u @@ -0,0 +1,9 @@ +--- spec/fixtures/four_lines_with_missing_new_line 2025-01-31 12:17:43.926013315 +0100 ++++ spec/fixtures/four_lines 2025-01-31 12:17:43.926013315 +0100 +@@ -1,4 +1,4 @@ + one + two + three +-four +\ No newline at end of file ++four diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/new-chef b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/new-chef new file mode 100644 index 0000000..d7babfe --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/new-chef @@ -0,0 +1,4 @@ +{ + "name": "x", + "description": "lo" +} \ No newline at end of file diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/new-chef2 b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/new-chef2 new file mode 100644 index 0000000..8213c73 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/new-chef2 @@ -0,0 +1,17 @@ +recipe[a::default] +recipe[c::default] +recipe[d::default] +recipe[e::default] +recipe[f::default] +recipe[g::default] +recipe[h::default] +recipe[i::default] +recipe[j::default] +recipe[k::default] +recipe[l::default] +recipe[m::default] +recipe[n::default] +recipe[o::new] +recipe[p::new] +recipe[q::new] +recipe[r::new] diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/old-chef b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/old-chef new file mode 100644 index 0000000..5f9e38b --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/old-chef @@ -0,0 +1,4 @@ +{ + "name": "x", + "description": "hi" +} \ No newline at end of file diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/old-chef2 b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/old-chef2 new file mode 100644 index 0000000..4a23407 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/fixtures/old-chef2 @@ -0,0 +1,14 @@ +recipe[a::default] +recipe[b::default] +recipe[c::default] +recipe[d::default] +recipe[e::default] +recipe[f::default] +recipe[g::default] +recipe[h::default] +recipe[i::default] +recipe[j::default] +recipe[k::default] +recipe[l::default] +recipe[m::default] +recipe[n::default] diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/hunk_spec.rb b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/hunk_spec.rb new file mode 100644 index 0000000..7d91039 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/hunk_spec.rb @@ -0,0 +1,83 @@ +# frozen_string_literal: true + +require "spec_helper" + +if String.method_defined?(:encoding) + require "diff/lcs/hunk" + + describe Diff::LCS::Hunk do + let(:old_data) { ["Tu a un carté avec {count} itéms".encode("UTF-16LE")] } + let(:new_data) { ["Tu a un carte avec {count} items".encode("UTF-16LE")] } + let(:pieces) { Diff::LCS.diff old_data, new_data } + let(:hunk) { Diff::LCS::Hunk.new(old_data, new_data, pieces[0], 3, 0) } + + it "produces a unified diff from the two pieces" do + expected = <<-EXPECTED.gsub(/^\s+/, "").encode("UTF-16LE").chomp + @@ -1 +1 @@ + -Tu a un carté avec {count} itéms + +Tu a un carte avec {count} items + EXPECTED + + expect(hunk.diff(:unified)).to eq(expected) + end + + it "produces a unified diff from the two pieces (last entry)" do + expected = <<-EXPECTED.gsub(/^\s+/, "").encode("UTF-16LE").chomp + @@ -1 +1 @@ + -Tu a un carté avec {count} itéms + +Tu a un carte avec {count} items + \\ No newline at end of file + EXPECTED + + expect(hunk.diff(:unified, true)).to eq(expected) + end + + it "produces a context diff from the two pieces" do + expected = <<-EXPECTED.gsub(/^\s+/, "").encode("UTF-16LE").chomp + *************** + *** 1 **** + ! Tu a un carté avec {count} itéms + --- 1 ---- + ! Tu a un carte avec {count} items + EXPECTED + + expect(hunk.diff(:context)).to eq(expected) + end + + it "produces an old diff from the two pieces" do + expected = <<-EXPECTED.gsub(/^ +/, "").encode("UTF-16LE").chomp + 1c1 + < Tu a un carté avec {count} itéms + --- + > Tu a un carte avec {count} items + + EXPECTED + + expect(hunk.diff(:old)).to eq(expected) + end + + it "produces a reverse ed diff from the two pieces" do + expected = <<-EXPECTED.gsub(/^ +/, "").encode("UTF-16LE").chomp + c1 + Tu a un carte avec {count} items + . + + EXPECTED + + expect(hunk.diff(:reverse_ed)).to eq(expected) + end + + context "with empty first data set" do + let(:old_data) { [] } + + it "produces a unified diff" do + expected = <<-EXPECTED.gsub(/^\s+/, "").encode("UTF-16LE").chomp + @@ -0,0 +1 @@ + +Tu a un carte avec {count} items + EXPECTED + + expect(hunk.diff(:unified)).to eq(expected) + end + end + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/issues_spec.rb b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/issues_spec.rb new file mode 100644 index 0000000..5b0fb2a --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/issues_spec.rb @@ -0,0 +1,160 @@ +# frozen_string_literal: true + +require "spec_helper" +require "diff/lcs/hunk" + +describe "Diff::LCS Issues" do + include Diff::LCS::SpecHelper::Matchers + + describe "issue #1" do + shared_examples "handles simple diffs" do |s1, s2, forward_diff| + before do + @diff_s1_s2 = Diff::LCS.diff(s1, s2) + end + + it "creates the correct diff" do + expect(change_diff(forward_diff)).to eq(@diff_s1_s2) + end + + it "creates the correct patch s1->s2" do + expect(Diff::LCS.patch(s1, @diff_s1_s2)).to eq(s2) + end + + it "creates the correct patch s2->s1" do + expect(Diff::LCS.patch(s2, @diff_s1_s2)).to eq(s1) + end + end + + describe "string" do + it_has_behavior "handles simple diffs", "aX", "bXaX", [ + [ + ["+", 0, "b"], + ["+", 1, "X"] + ] + ] + it_has_behavior "handles simple diffs", "bXaX", "aX", [ + [ + ["-", 0, "b"], + ["-", 1, "X"] + ] + ] + end + + describe "array" do + it_has_behavior "handles simple diffs", %w[a X], %w[b X a X], [ + [ + ["+", 0, "b"], + ["+", 1, "X"] + ] + ] + it_has_behavior "handles simple diffs", %w[b X a X], %w[a X], [ + [ + ["-", 0, "b"], + ["-", 1, "X"] + ] + ] + end + end + + describe "issue #57" do + it "should fail with a correct error" do + # standard:disable Style/HashSyntax + expect { + actual = {:category => "app.rack.request"} + expected = {:category => "rack.middleware", :title => "Anonymous Middleware"} + expect(actual).to eq(expected) + }.to raise_error(RSpec::Expectations::ExpectationNotMetError) + # standard:enable Style/HashSyntax + end + end + + describe "issue #65" do + def diff_lines(old_lines, new_lines) + file_length_difference = 0 + previous_hunk = nil + output = [] + + Diff::LCS.diff(old_lines, new_lines).each do |piece| + hunk = Diff::LCS::Hunk.new(old_lines, new_lines, piece, 3, file_length_difference) + file_length_difference = hunk.file_length_difference + maybe_contiguous_hunks = previous_hunk.nil? || hunk.merge(previous_hunk) + + output << "#{previous_hunk.diff(:unified)}\n" unless maybe_contiguous_hunks + + previous_hunk = hunk + end + output << "#{previous_hunk.diff(:unified, true)}\n" unless previous_hunk.nil? + output.join + end + + it "should not misplace the new chunk" do + old_data = [ + "recipe[a::default]", "recipe[b::default]", "recipe[c::default]", + "recipe[d::default]", "recipe[e::default]", "recipe[f::default]", + "recipe[g::default]", "recipe[h::default]", "recipe[i::default]", + "recipe[j::default]", "recipe[k::default]", "recipe[l::default]", + "recipe[m::default]", "recipe[n::default]" + ] + + new_data = [ + "recipe[a::default]", "recipe[c::default]", "recipe[d::default]", + "recipe[e::default]", "recipe[f::default]", "recipe[g::default]", + "recipe[h::default]", "recipe[i::default]", "recipe[j::default]", + "recipe[k::default]", "recipe[l::default]", "recipe[m::default]", + "recipe[n::default]", "recipe[o::new]", "recipe[p::new]", + "recipe[q::new]", "recipe[r::new]" + ] + + # standard:disable Layout/HeredocIndentation + expect(diff_lines(old_data, new_data)).to eq(<<-EODIFF) +@@ -1,5 +1,4 @@ + recipe[a::default] +-recipe[b::default] + recipe[c::default] + recipe[d::default] + recipe[e::default] +@@ -12,3 +11,7 @@ + recipe[l::default] + recipe[m::default] + recipe[n::default] ++recipe[o::new] ++recipe[p::new] ++recipe[q::new] ++recipe[r::new] + EODIFF + # standard:enable Layout/HeredocIndentation + end + end + + describe "issue #107 (replaces issue #60)" do + it "should produce unified output with correct context" do + # standard:disable Layout/HeredocIndentation + old_data = <<-DATA_OLD.strip.split("\n").map(&:chomp) +{ + "name": "x", + "description": "hi" +} + DATA_OLD + + new_data = <<-DATA_NEW.strip.split("\n").map(&:chomp) +{ + "name": "x", + "description": "lo" +} + DATA_NEW + + diff = ::Diff::LCS.diff(old_data, new_data) + hunk = ::Diff::LCS::Hunk.new(old_data, new_data, diff.first, 3, 0) + + expect(hunk.diff(:unified)).to eq(<<-EXPECTED.chomp) +@@ -1,4 +1,4 @@ + { + "name": "x", +- "description": "hi" ++ "description": "lo" + } + EXPECTED + # standard:enable Layout/HeredocIndentation + end + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/lcs_spec.rb b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/lcs_spec.rb new file mode 100644 index 0000000..c17f22f --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/lcs_spec.rb @@ -0,0 +1,56 @@ +# frozen_string_literal: true + +require "spec_helper" + +describe Diff::LCS::Internals, ".lcs" do + include Diff::LCS::SpecHelper::Matchers + + it "returns a meaningful LCS array with (seq1, seq2)" do + res = Diff::LCS::Internals.lcs(seq1, seq2) + # The result of the LCS (less the +nil+ values) must be as long as the + # correct result. + expect(res.compact.size).to eq(correct_lcs.size) + expect(res).to correctly_map_sequence(seq1).to_other_sequence(seq2) + + # Compact these transformations and they should be the correct LCS. + x_seq1 = (0...res.size).map { |ix| res[ix] ? seq1[ix] : nil }.compact + x_seq2 = (0...res.size).map { |ix| res[ix] ? seq2[res[ix]] : nil }.compact + + expect(x_seq1).to eq(correct_lcs) + expect(x_seq2).to eq(correct_lcs) + end + + it "returns all indexes with (hello, hello)" do + expect(Diff::LCS::Internals.lcs(hello, hello)).to \ + eq((0...hello.size).to_a) + end + + it "returns all indexes with (hello_ary, hello_ary)" do + expect(Diff::LCS::Internals.lcs(hello_ary, hello_ary)).to \ + eq((0...hello_ary.size).to_a) + end +end + +describe Diff::LCS, ".LCS" do + include Diff::LCS::SpecHelper::Matchers + + it "returns the correct compacted values from Diff::LCS.LCS" do + res = Diff::LCS.LCS(seq1, seq2) + expect(res).to eq(correct_lcs) + expect(res.compact).to eq(res) + end + + it "is transitive" do + res = Diff::LCS.LCS(seq2, seq1) + expect(res).to eq(correct_lcs) + expect(res.compact).to eq(res) + end + + it "returns %W(h e l l o) with (hello, hello)" do + expect(Diff::LCS.LCS(hello, hello)).to eq(hello.chars) + end + + it "returns hello_ary with (hello_ary, hello_ary)" do + expect(Diff::LCS.LCS(hello_ary, hello_ary)).to eq(hello_ary) + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/ldiff_spec.rb b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/ldiff_spec.rb new file mode 100644 index 0000000..e13b561 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/ldiff_spec.rb @@ -0,0 +1,100 @@ +# frozen_string_literal: true + +require "spec_helper" + +RSpec.describe "bin/ldiff" do + include CaptureSubprocessIO + + # standard:disable Style/HashSyntax + fixtures = [ + {:name => "diff", :left => "aX", :right => "bXaX", :diff => 1}, + {:name => "diff.missing_new_line1", :left => "four_lines", :right => "four_lines_with_missing_new_line", :diff => 1}, + {:name => "diff.missing_new_line2", :left => "four_lines_with_missing_new_line", :right => "four_lines", :diff => 1}, + {:name => "diff.issue95_trailing_context", :left => "123_x", :right => "456_x", :diff => 1}, + {:name => "diff.four_lines.vs.empty", :left => "four_lines", :right => "empty", :diff => 1}, + {:name => "diff.empty.vs.four_lines", :left => "empty", :right => "four_lines", :diff => 1}, + {:name => "diff.bin1", :left => "file1.bin", :right => "file1.bin", :diff => 0}, + {:name => "diff.bin2", :left => "file1.bin", :right => "file2.bin", :diff => 1}, + {:name => "diff.chef", :left => "old-chef", :right => "new-chef", :diff => 1}, + {:name => "diff.chef2", :left => "old-chef2", :right => "new-chef2", :diff => 1} + ].product([nil, "-e", "-f", "-c", "-u"]).map { |(fixture, flag)| + fixture = fixture.dup + fixture[:flag] = flag + fixture + } + # standard:enable Style/HashSyntax + + def self.test_ldiff(fixture) + desc = [ + fixture[:flag], + "spec/fixtures/#{fixture[:left]}", + "spec/fixtures/#{fixture[:right]}", + "#", + "=>", + "spec/fixtures/ldiff/output.#{fixture[:name]}#{fixture[:flag]}" + ].join(" ") + + it desc do + stdout, stderr, status = run_ldiff(fixture) + expect(status).to eq(fixture[:diff]) + expect(stderr).to eq(read_fixture(fixture, mode: "error", allow_missing: true)) + expect(stdout).to eq(read_fixture(fixture, mode: "output", allow_missing: false)) + end + end + + fixtures.each do |fixture| + test_ldiff(fixture) + end + + def read_fixture(options, mode: "output", allow_missing: false) + fixture = options.fetch(:name) + flag = options.fetch(:flag) + name = "spec/fixtures/ldiff/#{mode}.#{fixture}#{flag}" + + return "" if !::File.exist?(name) && allow_missing + + data = IO.__send__(IO.respond_to?(:binread) ? :binread : :read, name) + clean_data(data, flag) + end + + def clean_data(data, flag) + data = + case flag + when "-c", "-u" + clean_output_timestamp(data) + else + data + end + data.gsub(/\r\n?/, "\n") + end + + def clean_output_timestamp(data) + data.gsub( + %r{ + ^ + [-+*]{3} + \s* + spec/fixtures/(\S+) + \s* + \d{4}-\d\d-\d\d + \s* + \d\d:\d\d:\d\d(?:\.\d+) + \s* + (?:[-+]\d{4}|Z) + }x, + '*** spec/fixtures/\1 0000-00-00 :00 =>:00 =>00.000000000 -0000' + ) + end + + def run_ldiff(options) + flag = options.fetch(:flag) + left = options.fetch(:left) + right = options.fetch(:right) + + stdout, stderr = capture_subprocess_io do + system("ruby -Ilib bin/ldiff #{flag} spec/fixtures/#{left} spec/fixtures/#{right}") + end + + [clean_data(stdout, flag), stderr, $?.exitstatus] + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/patch_spec.rb b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/patch_spec.rb new file mode 100644 index 0000000..8fc3ee2 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/patch_spec.rb @@ -0,0 +1,416 @@ +# frozen_string_literal: true + +require "spec_helper" + +describe "Diff::LCS.patch" do + include Diff::LCS::SpecHelper::Matchers + + shared_examples "patch sequences correctly" do + it "correctly patches left-to-right (patch autodiscovery)" do + expect(Diff::LCS.patch(s1, patch_set)).to eq(s2) + end + + it "correctly patches left-to-right (explicit patch)" do + expect(Diff::LCS.patch(s1, patch_set, :patch)).to eq(s2) + expect(Diff::LCS.patch!(s1, patch_set)).to eq(s2) + end + + it "correctly patches right-to-left (unpatch autodiscovery)" do + expect(Diff::LCS.patch(s2, patch_set)).to eq(s1) + end + + it "correctly patches right-to-left (explicit unpatch)" do + expect(Diff::LCS.patch(s2, patch_set, :unpatch)).to eq(s1) + expect(Diff::LCS.unpatch!(s2, patch_set)).to eq(s1) + end + end + + describe "using a Diff::LCS.diff patchset" do + describe "an empty patchset returns the source" do + it "works on a string (hello)" do + diff = Diff::LCS.diff(hello, hello) + expect(Diff::LCS.patch(hello, diff)).to eq(hello) + end + + it "works on an array %W(h e l l o)" do + diff = Diff::LCS.diff(hello_ary, hello_ary) + expect(Diff::LCS.patch(hello_ary, diff)).to eq(hello_ary) + end + end + + describe "with default diff callbacks (DiffCallbacks)" do + describe "forward (s1 -> s2)" do + it_has_behavior "patch sequences correctly" do + let(:s1) { seq1 } + let(:s2) { seq2 } + let(:patch_set) { Diff::LCS.diff(seq1, seq2) } + end + end + + describe "reverse (s2 -> s1)" do + it_has_behavior "patch sequences correctly" do + let(:s1) { seq2 } + let(:s2) { seq1 } + let(:patch_set) { Diff::LCS.diff(seq2, seq1) } + end + end + end + + describe "with context diff callbacks (ContextDiffCallbacks)" do + describe "forward (s1 -> s2)" do + it_has_behavior "patch sequences correctly" do + let(:s1) { seq1 } + let(:s2) { seq2 } + let(:patch_set) { + Diff::LCS.diff(seq1, seq2, Diff::LCS::ContextDiffCallbacks) + } + end + end + + describe "reverse (s2 -> s1)" do + it_has_behavior "patch sequences correctly" do + let(:s1) { seq2 } + let(:s2) { seq1 } + let(:patch_set) { + Diff::LCS.diff(seq2, seq1, Diff::LCS::ContextDiffCallbacks) + } + end + end + end + + describe "with sdiff callbacks (SDiffCallbacks)" do + describe "forward (s1 -> s2)" do + it_has_behavior "patch sequences correctly" do + let(:s1) { seq1 } + let(:s2) { seq2 } + let(:patch_set) { + Diff::LCS.diff(seq1, seq2, Diff::LCS::SDiffCallbacks) + } + end + end + + describe "reverse (s2 -> s1)" do + it_has_behavior "patch sequences correctly" do + let(:s1) { seq2 } + let(:s2) { seq1 } + let(:patch_set) { + Diff::LCS.diff(seq2, seq1, Diff::LCS::SDiffCallbacks) + } + end + end + end + end + + describe "using a Diff::LCS.sdiff patchset" do + describe "an empty patchset returns the source" do + it "works on a string (hello)" do + expect(Diff::LCS.patch(hello, Diff::LCS.sdiff(hello, hello))).to eq(hello) + end + + it "works on an array %W(h e l l o)" do + expect(Diff::LCS.patch(hello_ary, Diff::LCS.sdiff(hello_ary, hello_ary))).to eq(hello_ary) + end + end + + describe "with default diff callbacks (DiffCallbacks)" do + describe "forward (s1 -> s2)" do + it_has_behavior "patch sequences correctly" do + let(:s1) { seq1 } + let(:s2) { seq2 } + let(:patch_set) { + Diff::LCS.sdiff(seq1, seq2, Diff::LCS::DiffCallbacks) + } + end + end + + describe "reverse (s2 -> s1)" do + it_has_behavior "patch sequences correctly" do + let(:s1) { seq2 } + let(:s2) { seq1 } + let(:patch_set) { + Diff::LCS.sdiff(seq2, seq1, Diff::LCS::DiffCallbacks) + } + end + end + end + + describe "with context diff callbacks (DiffCallbacks)" do + describe "forward (s1 -> s2)" do + it_has_behavior "patch sequences correctly" do + let(:s1) { seq1 } + let(:s2) { seq2 } + let(:patch_set) { + Diff::LCS.sdiff(seq1, seq2, Diff::LCS::ContextDiffCallbacks) + } + end + end + + describe "reverse (s2 -> s1)" do + it_has_behavior "patch sequences correctly" do + let(:s1) { seq2 } + let(:s2) { seq1 } + let(:patch_set) { + Diff::LCS.sdiff(seq2, seq1, Diff::LCS::ContextDiffCallbacks) + } + end + end + end + + describe "with sdiff callbacks (SDiffCallbacks)" do + describe "forward (s1 -> s2)" do + it_has_behavior "patch sequences correctly" do + let(:s1) { seq1 } + let(:s2) { seq2 } + let(:patch_set) { Diff::LCS.sdiff(seq1, seq2) } + end + end + + describe "reverse (s2 -> s1)" do + it_has_behavior "patch sequences correctly" do + let(:s1) { seq2 } + let(:s2) { seq1 } + let(:patch_set) { Diff::LCS.sdiff(seq2, seq1) } + end + end + end + end + + # Note: because of the error in autodiscovery ("does not autodiscover s1 + # to s2 patches"), this cannot use the "patch sequences correctly" shared + # set. Once the bug in autodiscovery is fixed, this can be converted as + # above. + describe "fix bug 891: patchsets do not contain the last equal part" do + before :each do + @s1 = %w[a b c d e f g h i j k] # standard:disable Layout/SpaceInsideArrayPercentLiteral + @s2 = %w[a b c d D e f g h i j k] + end + + describe "using Diff::LCS.diff with default diff callbacks" do + before :each do + @patch_set_s1_s2 = Diff::LCS.diff(@s1, @s2) + @patch_set_s2_s1 = Diff::LCS.diff(@s2, @s1) + end + + it "autodiscovers s1 to s2 patches" do + expect do + expect(Diff::LCS.patch(@s1, @patch_set_s1_s2)).to eq(@s2) + end.to_not raise_error + end + + it "autodiscovers s2 to s1 patches" do + expect do + expect(Diff::LCS.patch(@s1, @patch_set_s2_s1)).to eq(@s2) + end.to_not raise_error + end + + it "autodiscovers s2 to s1 the left-to-right patches" do + expect(Diff::LCS.patch(@s2, @patch_set_s2_s1)).to eq(@s1) + expect(Diff::LCS.patch(@s2, @patch_set_s1_s2)).to eq(@s1) + end + + it "correctly patches left-to-right (explicit patch)" do + expect(Diff::LCS.patch(@s1, @patch_set_s1_s2, :patch)).to eq(@s2) + expect(Diff::LCS.patch(@s2, @patch_set_s2_s1, :patch)).to eq(@s1) + expect(Diff::LCS.patch!(@s1, @patch_set_s1_s2)).to eq(@s2) + expect(Diff::LCS.patch!(@s2, @patch_set_s2_s1)).to eq(@s1) + end + + it "correctly patches right-to-left (explicit unpatch)" do + expect(Diff::LCS.patch(@s2, @patch_set_s1_s2, :unpatch)).to eq(@s1) + expect(Diff::LCS.patch(@s1, @patch_set_s2_s1, :unpatch)).to eq(@s2) + expect(Diff::LCS.unpatch!(@s2, @patch_set_s1_s2)).to eq(@s1) + expect(Diff::LCS.unpatch!(@s1, @patch_set_s2_s1)).to eq(@s2) + end + end + + describe "using Diff::LCS.diff with context diff callbacks" do + before :each do + @patch_set_s1_s2 = Diff::LCS.diff(@s1, @s2, Diff::LCS::ContextDiffCallbacks) + @patch_set_s2_s1 = Diff::LCS.diff(@s2, @s1, Diff::LCS::ContextDiffCallbacks) + end + + it "autodiscovers s1 to s2 patches" do + expect do + expect(Diff::LCS.patch(@s1, @patch_set_s1_s2)).to eq(@s2) + end.to_not raise_error + end + + it "autodiscovers s2 to s1 patches" do + expect do + expect(Diff::LCS.patch(@s1, @patch_set_s2_s1)).to eq(@s2) + end.to_not raise_error + end + + it "autodiscovers s2 to s1 the left-to-right patches" do + expect(Diff::LCS.patch(@s2, @patch_set_s2_s1)).to eq(@s1) + expect(Diff::LCS.patch(@s2, @patch_set_s1_s2)).to eq(@s1) + end + + it "correctly patches left-to-right (explicit patch)" do + expect(Diff::LCS.patch(@s1, @patch_set_s1_s2, :patch)).to eq(@s2) + expect(Diff::LCS.patch(@s2, @patch_set_s2_s1, :patch)).to eq(@s1) + expect(Diff::LCS.patch!(@s1, @patch_set_s1_s2)).to eq(@s2) + expect(Diff::LCS.patch!(@s2, @patch_set_s2_s1)).to eq(@s1) + end + + it "correctly patches right-to-left (explicit unpatch)" do + expect(Diff::LCS.patch(@s2, @patch_set_s1_s2, :unpatch)).to eq(@s1) + expect(Diff::LCS.patch(@s1, @patch_set_s2_s1, :unpatch)).to eq(@s2) + expect(Diff::LCS.unpatch!(@s2, @patch_set_s1_s2)).to eq(@s1) + expect(Diff::LCS.unpatch!(@s1, @patch_set_s2_s1)).to eq(@s2) + end + end + + describe "using Diff::LCS.diff with sdiff callbacks" do + before(:each) do + @patch_set_s1_s2 = Diff::LCS.diff(@s1, @s2, Diff::LCS::SDiffCallbacks) + @patch_set_s2_s1 = Diff::LCS.diff(@s2, @s1, Diff::LCS::SDiffCallbacks) + end + + it "autodiscovers s1 to s2 patches" do + expect do + expect(Diff::LCS.patch(@s1, @patch_set_s1_s2)).to eq(@s2) + end.to_not raise_error + end + + it "autodiscovers s2 to s1 patches" do + expect do + expect(Diff::LCS.patch(@s1, @patch_set_s2_s1)).to eq(@s2) + end.to_not raise_error + end + + it "autodiscovers s2 to s1 the left-to-right patches" do + expect(Diff::LCS.patch(@s2, @patch_set_s2_s1)).to eq(@s1) + expect(Diff::LCS.patch(@s2, @patch_set_s1_s2)).to eq(@s1) + end + + it "correctly patches left-to-right (explicit patch)" do + expect(Diff::LCS.patch(@s1, @patch_set_s1_s2, :patch)).to eq(@s2) + expect(Diff::LCS.patch(@s2, @patch_set_s2_s1, :patch)).to eq(@s1) + expect(Diff::LCS.patch!(@s1, @patch_set_s1_s2)).to eq(@s2) + expect(Diff::LCS.patch!(@s2, @patch_set_s2_s1)).to eq(@s1) + end + + it "correctly patches right-to-left (explicit unpatch)" do + expect(Diff::LCS.patch(@s2, @patch_set_s1_s2, :unpatch)).to eq(@s1) + expect(Diff::LCS.patch(@s1, @patch_set_s2_s1, :unpatch)).to eq(@s2) + expect(Diff::LCS.unpatch!(@s2, @patch_set_s1_s2)).to eq(@s1) + expect(Diff::LCS.unpatch!(@s1, @patch_set_s2_s1)).to eq(@s2) + end + end + + describe "using Diff::LCS.sdiff with default sdiff callbacks" do + before(:each) do + @patch_set_s1_s2 = Diff::LCS.sdiff(@s1, @s2) + @patch_set_s2_s1 = Diff::LCS.sdiff(@s2, @s1) + end + + it "autodiscovers s1 to s2 patches" do + expect do + expect(Diff::LCS.patch(@s1, @patch_set_s1_s2)).to eq(@s2) + end.to_not raise_error + end + + it "autodiscovers s2 to s1 patches" do + expect do + expect(Diff::LCS.patch(@s1, @patch_set_s2_s1)).to eq(@s2) + end.to_not raise_error + end + + it "autodiscovers s2 to s1 the left-to-right patches" do + expect(Diff::LCS.patch(@s2, @patch_set_s2_s1)).to eq(@s1) + expect(Diff::LCS.patch(@s2, @patch_set_s1_s2)).to eq(@s1) + end + + it "correctly patches left-to-right (explicit patch)" do + expect(Diff::LCS.patch(@s1, @patch_set_s1_s2, :patch)).to eq(@s2) + expect(Diff::LCS.patch(@s2, @patch_set_s2_s1, :patch)).to eq(@s1) + expect(Diff::LCS.patch!(@s1, @patch_set_s1_s2)).to eq(@s2) + expect(Diff::LCS.patch!(@s2, @patch_set_s2_s1)).to eq(@s1) + end + + it "correctly patches right-to-left (explicit unpatch)" do + expect(Diff::LCS.patch(@s2, @patch_set_s1_s2, :unpatch)).to eq(@s1) + expect(Diff::LCS.patch(@s1, @patch_set_s2_s1, :unpatch)).to eq(@s2) + expect(Diff::LCS.unpatch!(@s2, @patch_set_s1_s2)).to eq(@s1) + expect(Diff::LCS.unpatch!(@s1, @patch_set_s2_s1)).to eq(@s2) + end + end + + describe "using Diff::LCS.sdiff with context diff callbacks" do + before(:each) do + @patch_set_s1_s2 = Diff::LCS.sdiff(@s1, @s2, Diff::LCS::ContextDiffCallbacks) + @patch_set_s2_s1 = Diff::LCS.sdiff(@s2, @s1, Diff::LCS::ContextDiffCallbacks) + end + + it "autodiscovers s1 to s2 patches" do + expect do + expect(Diff::LCS.patch(@s1, @patch_set_s1_s2)).to eq(@s2) + end.to_not raise_error + end + + it "autodiscovers s2 to s1 patches" do + expect do + expect(Diff::LCS.patch(@s1, @patch_set_s2_s1)).to eq(@s2) + end.to_not raise_error + end + + it "autodiscovers s2 to s1 the left-to-right patches" do + expect(Diff::LCS.patch(@s2, @patch_set_s2_s1)).to eq(@s1) + expect(Diff::LCS.patch(@s2, @patch_set_s1_s2)).to eq(@s1) + end + + it "correctly patches left-to-right (explicit patch)" do + expect(Diff::LCS.patch(@s1, @patch_set_s1_s2, :patch)).to eq(@s2) + expect(Diff::LCS.patch(@s2, @patch_set_s2_s1, :patch)).to eq(@s1) + expect(Diff::LCS.patch!(@s1, @patch_set_s1_s2)).to eq(@s2) + expect(Diff::LCS.patch!(@s2, @patch_set_s2_s1)).to eq(@s1) + end + + it "correctly patches right-to-left (explicit unpatch)" do + expect(Diff::LCS.patch(@s2, @patch_set_s1_s2, :unpatch)).to eq(@s1) + expect(Diff::LCS.patch(@s1, @patch_set_s2_s1, :unpatch)).to eq(@s2) + expect(Diff::LCS.unpatch!(@s2, @patch_set_s1_s2)).to eq(@s1) + expect(Diff::LCS.unpatch!(@s1, @patch_set_s2_s1)).to eq(@s2) + end + end + + describe "using Diff::LCS.sdiff with default diff callbacks" do + before(:each) do + @patch_set_s1_s2 = Diff::LCS.sdiff(@s1, @s2, Diff::LCS::DiffCallbacks) + @patch_set_s2_s1 = Diff::LCS.sdiff(@s2, @s1, Diff::LCS::DiffCallbacks) + end + + it "autodiscovers s1 to s2 patches" do + expect do + expect(Diff::LCS.patch(@s1, @patch_set_s1_s2)).to eq(@s2) + end.to_not raise_error + end + + it "autodiscovers s2 to s1 patches" do + expect do + expect(Diff::LCS.patch(@s1, @patch_set_s2_s1)).to eq(@s2) + end.to_not raise_error + end + + it "autodiscovers s2 to s1 the left-to-right patches" do + expect(Diff::LCS.patch(@s2, @patch_set_s2_s1)).to eq(@s1) + expect(Diff::LCS.patch(@s2, @patch_set_s1_s2)).to eq(@s1) + end + + it "correctly patches left-to-right (explicit patch)" do + expect(Diff::LCS.patch(@s1, @patch_set_s1_s2, :patch)).to eq(@s2) + expect(Diff::LCS.patch(@s2, @patch_set_s2_s1, :patch)).to eq(@s1) + expect(Diff::LCS.patch!(@s1, @patch_set_s1_s2)).to eq(@s2) + expect(Diff::LCS.patch!(@s2, @patch_set_s2_s1)).to eq(@s1) + end + + it "correctly patches right-to-left (explicit unpatch)" do + expect(Diff::LCS.patch(@s2, @patch_set_s1_s2, :unpatch)).to eq(@s1) + expect(Diff::LCS.patch(@s1, @patch_set_s2_s1, :unpatch)).to eq(@s2) + expect(Diff::LCS.unpatch!(@s2, @patch_set_s1_s2)).to eq(@s1) + expect(Diff::LCS.unpatch!(@s1, @patch_set_s2_s1)).to eq(@s2) + end + end + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/sdiff_spec.rb b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/sdiff_spec.rb new file mode 100644 index 0000000..aded301 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/sdiff_spec.rb @@ -0,0 +1,216 @@ +# frozen_string_literal: true + +require "spec_helper" + +describe "Diff::LCS.sdiff" do + include Diff::LCS::SpecHelper::Matchers + + shared_examples "compare sequences correctly" do + it "compares s1 -> s2 correctly" do + expect(Diff::LCS.sdiff(s1, s2)).to eq(context_diff(result)) + end + + it "compares s2 -> s1 correctly" do + expect(Diff::LCS.sdiff(s2, s1)).to eq(context_diff(reverse_sdiff(result))) + end + end + + describe "using seq1 & seq2" do + let(:s1) { seq1 } + let(:s2) { seq2 } + let(:result) { correct_forward_sdiff } + + it_has_behavior "compare sequences correctly" + end + + describe "using %w(abc def yyy xxx ghi jkl) & %w(abc dxf xxx ghi jkl)" do + let(:s1) { %w[abc def yyy xxx ghi jkl] } + let(:s2) { %w[abc dxf xxx ghi jkl] } + let(:result) { + # standard:disable Layout/ExtraSpacing + [ + ["=", [0, "abc"], [0, "abc"]], + ["!", [1, "def"], [1, "dxf"]], + ["-", [2, "yyy"], [2, nil]], + ["=", [3, "xxx"], [2, "xxx"]], + ["=", [4, "ghi"], [3, "ghi"]], + ["=", [5, "jkl"], [4, "jkl"]] + ] + # standard:enable Layout/ExtraSpacing + } + + it_has_behavior "compare sequences correctly" + end + + describe "using %w(a b c d e) & %w(a e)" do + let(:s1) { %w[a b c d e] } + let(:s2) { %w[a e] } + let(:result) { + [ + ["=", [0, "a"], [0, "a"]], + ["-", [1, "b"], [1, nil]], + ["-", [2, "c"], [1, nil]], + ["-", [3, "d"], [1, nil]], + ["=", [4, "e"], [1, "e"]] + ] + } + + it_has_behavior "compare sequences correctly" + end + + describe "using %w(a e) & %w(a b c d e)" do + let(:s1) { %w[a e] } + let(:s2) { %w[a b c d e] } + let(:result) { + [ + ["=", [0, "a"], [0, "a"]], + ["+", [1, nil], [1, "b"]], + ["+", [1, nil], [2, "c"]], + ["+", [1, nil], [3, "d"]], + ["=", [1, "e"], [4, "e"]] + ] + } + + it_has_behavior "compare sequences correctly" + end + + describe "using %w(v x a e) & %w(w y a b c d e)" do + let(:s1) { %w[v x a e] } + let(:s2) { %w[w y a b c d e] } + let(:result) { + [ + ["!", [0, "v"], [0, "w"]], + ["!", [1, "x"], [1, "y"]], + ["=", [2, "a"], [2, "a"]], + ["+", [3, nil], [3, "b"]], + ["+", [3, nil], [4, "c"]], + ["+", [3, nil], [5, "d"]], + ["=", [3, "e"], [6, "e"]] + ] + } + + it_has_behavior "compare sequences correctly" + end + + describe "using %w(x a e) & %w(a b c d e)" do + let(:s1) { %w[x a e] } + let(:s2) { %w[a b c d e] } + let(:result) { + [ + ["-", [0, "x"], [0, nil]], + ["=", [1, "a"], [0, "a"]], + ["+", [2, nil], [1, "b"]], + ["+", [2, nil], [2, "c"]], + ["+", [2, nil], [3, "d"]], + ["=", [2, "e"], [4, "e"]] + ] + } + + it_has_behavior "compare sequences correctly" + end + + describe "using %w(a e) & %w(x a b c d e)" do + let(:s1) { %w[a e] } + let(:s2) { %w[x a b c d e] } + let(:result) { + [ + ["+", [0, nil], [0, "x"]], + ["=", [0, "a"], [1, "a"]], + ["+", [1, nil], [2, "b"]], + ["+", [1, nil], [3, "c"]], + ["+", [1, nil], [4, "d"]], + ["=", [1, "e"], [5, "e"]] + ] + } + + it_has_behavior "compare sequences correctly" + end + + describe "using %w(a e v) & %w(x a b c d e w x)" do + let(:s1) { %w[a e v] } + let(:s2) { %w[x a b c d e w x] } + let(:result) { + [ + ["+", [0, nil], [0, "x"]], + ["=", [0, "a"], [1, "a"]], + ["+", [1, nil], [2, "b"]], + ["+", [1, nil], [3, "c"]], + ["+", [1, nil], [4, "d"]], + ["=", [1, "e"], [5, "e"]], + ["!", [2, "v"], [6, "w"]], + ["+", [3, nil], [7, "x"]] + ] + } + + it_has_behavior "compare sequences correctly" + end + + describe "using %w() & %w(a b c)" do + let(:s1) { %w[] } + let(:s2) { %w[a b c] } + let(:result) { + [ + ["+", [0, nil], [0, "a"]], + ["+", [0, nil], [1, "b"]], + ["+", [0, nil], [2, "c"]] + ] + } + + it_has_behavior "compare sequences correctly" + end + + describe "using %w(a b c) & %w(1)" do + let(:s1) { %w[a b c] } + let(:s2) { %w[1] } + let(:result) { + [ + ["!", [0, "a"], [0, "1"]], + ["-", [1, "b"], [1, nil]], + ["-", [2, "c"], [1, nil]] + ] + } + + it_has_behavior "compare sequences correctly" + end + + describe "using %w(a b c) & %w(c)" do + let(:s1) { %w[a b c] } + let(:s2) { %w[c] } + let(:result) { + [ + ["-", [0, "a"], [0, nil]], + ["-", [1, "b"], [0, nil]], + ["=", [2, "c"], [0, "c"]] + ] + } + + it_has_behavior "compare sequences correctly" + end + + describe "using %w(abcd efgh ijkl mnop) & []" do + let(:s1) { %w[abcd efgh ijkl mnop] } + let(:s2) { [] } + let(:result) { + [ + ["-", [0, "abcd"], [0, nil]], + ["-", [1, "efgh"], [0, nil]], + ["-", [2, "ijkl"], [0, nil]], + ["-", [3, "mnop"], [0, nil]] + ] + } + + it_has_behavior "compare sequences correctly" + end + + describe "using [[1,2]] & []" do + let(:s1) { [[1, 2]] } + let(:s2) { [] } + let(:result) { + [ + ["-", [0, [1, 2]], [0, nil]] + ] + } + + it_has_behavior "compare sequences correctly" + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/spec_helper.rb b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/spec_helper.rb new file mode 100644 index 0000000..baaa3d0 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/spec_helper.rb @@ -0,0 +1,376 @@ +# frozen_string_literal: true + +require "rubygems" +require "pathname" + +require "psych" if RUBY_VERSION >= "1.9" + +if ENV["COVERAGE"] + require "simplecov" + require "simplecov-lcov" + + SimpleCov::Formatter::LcovFormatter.config do |config| + config.report_with_single_file = true + config.lcov_file_name = "lcov.info" + end + + SimpleCov.start "test_frameworks" do + enable_coverage :branch + primary_coverage :branch + formatter SimpleCov::Formatter::MultiFormatter.new([ + SimpleCov::Formatter::HTMLFormatter, + SimpleCov::Formatter::LcovFormatter, + SimpleCov::Formatter::SimpleFormatter + ]) + end +end + +file = Pathname.new(__FILE__).expand_path +path = file.parent +parent = path.parent + +$:.unshift parent.join("lib") + +module CaptureSubprocessIO + def _synchronize + yield + end + + def capture_subprocess_io + _synchronize { _capture_subprocess_io { yield } } + end + + def _capture_subprocess_io + require "tempfile" + + captured_stdout, captured_stderr = Tempfile.new("out"), Tempfile.new("err") + + orig_stdout, orig_stderr = $stdout.dup, $stderr.dup + $stdout.reopen captured_stdout + $stderr.reopen captured_stderr + + yield + + $stdout.rewind + $stderr.rewind + + [captured_stdout.read, captured_stderr.read] + ensure + captured_stdout.unlink + captured_stderr.unlink + $stdout.reopen orig_stdout + $stderr.reopen orig_stderr + end + private :_capture_subprocess_io +end + +require "diff-lcs" + +module Diff::LCS::SpecHelper + def hello + "hello" + end + + def hello_ary + %w[h e l l o] + end + + def seq1 + %w[a b c e h j l m n p] + end + + def skipped_seq1 + %w[a h n p] + end + + def seq2 + %w[b c d e f j k l m r s t] + end + + def skipped_seq2 + %w[d f k r s t] + end + + def word_sequence + %w[abcd efgh ijkl mnopqrstuvwxyz] + end + + def correct_lcs + %w[b c e j l m] + end + + # standard:disable Layout/ExtraSpacing + def correct_forward_diff + [ + [ + ["-", 0, "a"] + ], + [ + ["+", 2, "d"] + ], + [ + ["-", 4, "h"], + ["+", 4, "f"] + ], + [ + ["+", 6, "k"] + ], + [ + ["-", 8, "n"], + ["+", 9, "r"], + ["-", 9, "p"], + ["+", 10, "s"], + ["+", 11, "t"] + ] + ] + end + + def correct_backward_diff + [ + [ + ["+", 0, "a"] + ], + [ + ["-", 2, "d"] + ], + [ + ["-", 4, "f"], + ["+", 4, "h"] + ], + [ + ["-", 6, "k"] + ], + [ + ["-", 9, "r"], + ["+", 8, "n"], + ["-", 10, "s"], + ["+", 9, "p"], + ["-", 11, "t"] + ] + ] + end + + def correct_forward_sdiff + [ + ["-", [0, "a"], [0, nil]], + ["=", [1, "b"], [0, "b"]], + ["=", [2, "c"], [1, "c"]], + ["+", [3, nil], [2, "d"]], + ["=", [3, "e"], [3, "e"]], + ["!", [4, "h"], [4, "f"]], + ["=", [5, "j"], [5, "j"]], + ["+", [6, nil], [6, "k"]], + ["=", [6, "l"], [7, "l"]], + ["=", [7, "m"], [8, "m"]], + ["!", [8, "n"], [9, "r"]], + ["!", [9, "p"], [10, "s"]], + ["+", [10, nil], [11, "t"]] + ] + end + # standard:enable Layout/ExtraSpacing + + def reverse_sdiff(forward_sdiff) + forward_sdiff.map { |line| + line[1], line[2] = line[2], line[1] + case line[0] + when "-" then line[0] = "+" + when "+" then line[0] = "-" + end + line + } + end + + def change_diff(diff) + map_diffs(diff, Diff::LCS::Change) + end + + def context_diff(diff) + map_diffs(diff, Diff::LCS::ContextChange) + end + + def format_diffs(diffs) + diffs.map { |e| + if e.is_a?(Array) + e.map { |f| f.to_a.join }.join(", ") + else + e.to_a.join + end + }.join("\n") + end + + def map_diffs(diffs, klass = Diff::LCS::ContextChange) + diffs.map do |chunks| + if klass == Diff::LCS::ContextChange + klass.from_a(chunks) + else + chunks.map { |changes| klass.from_a(changes) } + end + end + end + + def balanced_traversal(s1, s2, callback_type) + callback = __send__(callback_type) + Diff::LCS.traverse_balanced(s1, s2, callback) + callback + end + + def balanced_reverse(change_result) + new_result = [] + change_result.each do |line| + line = [line[0], line[2], line[1]] + case line[0] + when "<" + line[0] = ">" + when ">" + line[0] = "<" + end + new_result << line + end + new_result.sort_by { |line| [line[1], line[2]] } + end + + def map_to_no_change(change_result) + new_result = [] + change_result.each do |line| + case line[0] + when "!" + new_result << ["<", line[1], line[2]] + new_result << [">", line[1] + 1, line[2]] + else + new_result << line + end + end + new_result + end + + class SimpleCallback + def initialize + reset + end + + attr_reader :matched_a + attr_reader :matched_b + attr_reader :discards_a + attr_reader :discards_b + attr_reader :done_a + attr_reader :done_b + + def reset + @matched_a = [] + @matched_b = [] + @discards_a = [] + @discards_b = [] + @done_a = [] + @done_b = [] + self + end + + def match(event) + @matched_a << event.old_element + @matched_b << event.new_element + end + + def discard_b(event) + @discards_b << event.new_element + end + + def discard_a(event) + @discards_a << event.old_element + end + + def finished_a(event) + @done_a << [ + event.old_element, event.old_position, + event.new_element, event.new_position + ] + end + + def finished_b(event) + @done_b << [ + event.old_element, event.old_position, + event.new_element, event.new_position + ] + end + end + + def simple_callback + SimpleCallback.new + end + + class SimpleCallbackNoFinishers < SimpleCallback + undef :finished_a + undef :finished_b + end + + def simple_callback_no_finishers + SimpleCallbackNoFinishers.new + end + + class BalancedCallback + def initialize + reset + end + + attr_reader :result + + def reset + @result = [] + end + + def match(event) + @result << ["=", event.old_position, event.new_position] + end + + def discard_a(event) + @result << ["<", event.old_position, event.new_position] + end + + def discard_b(event) + @result << [">", event.old_position, event.new_position] + end + + def change(event) + @result << ["!", event.old_position, event.new_position] + end + end + + def balanced_callback + BalancedCallback.new + end + + class BalancedCallbackNoChange < BalancedCallback + undef :change + end + + def balanced_callback_no_change + BalancedCallbackNoChange.new + end + + module Matchers + extend RSpec::Matchers::DSL + + matcher :be_nil_or_match_values do |ii, s1, s2| + match do |ee| + expect(ee).to(satisfy { |vee| vee.nil? || s1[ii] == s2[ee] }) + end + end + + matcher :correctly_map_sequence do |s1| + match do |actual| + actual.each_index { |ii| expect(actual[ii]).to be_nil_or_match_values(ii, s1, @s2) } + end + + chain :to_other_sequence do |s2| + @s2 = s2 + end + end + end +end + +RSpec.configure do |conf| + conf.include Diff::LCS::SpecHelper + conf.alias_it_should_behave_like_to :it_has_behavior, "has behavior:" + # standard:disable Style/HashSyntax + conf.filter_run_excluding :broken => true + # standard:enable Style/HashSyntax +end diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/traverse_balanced_spec.rb b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/traverse_balanced_spec.rb new file mode 100644 index 0000000..3a3f677 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/traverse_balanced_spec.rb @@ -0,0 +1,312 @@ +# frozen_string_literal: true + +require "spec_helper" + +describe "Diff::LCS.traverse_balanced" do + include Diff::LCS::SpecHelper::Matchers + + shared_examples "with a #change callback" do |s1, s2, result| + it "traverses s1 -> s2 correctly" do + traversal = balanced_traversal(s1, s2, :balanced_callback) + expect(traversal.result).to eq(result) + end + + it "traverses s2 -> s1 correctly" do + traversal = balanced_traversal(s2, s1, :balanced_callback) + expect(traversal.result).to eq(balanced_reverse(result)) + end + end + + shared_examples "without a #change callback" do |s1, s2, result| + it "traverses s1 -> s2 correctly" do + traversal = balanced_traversal(s1, s2, :balanced_callback_no_change) + expect(traversal.result).to eq(map_to_no_change(result)) + end + + it "traverses s2 -> s1 correctly" do + traversal = balanced_traversal(s2, s1, :balanced_callback_no_change) + expect(traversal.result).to eq(map_to_no_change(balanced_reverse(result))) + end + end + + describe "identical string sequences ('abc')" do + s1 = s2 = "abc" + + result = [ + ["=", 0, 0], + ["=", 1, 1], + ["=", 2, 2] + ] + + it_has_behavior "with a #change callback", s1, s2, result + it_has_behavior "without a #change callback", s1, s2, result + end + + describe "identical array sequences %w(a b c)" do + s1 = s2 = %w[a b c] + + result = [ + ["=", 0, 0], + ["=", 1, 1], + ["=", 2, 2] + ] + + it_has_behavior "with a #change callback", s1, s2, result + it_has_behavior "without a #change callback", s1, s2, result + end + + describe "sequences %w(a b c) & %w(a x c)" do + s1 = %w[a b c] + s2 = %w[a x c] + + result = [ + ["=", 0, 0], + ["!", 1, 1], + ["=", 2, 2] + ] + + it_has_behavior "with a #change callback", s1, s2, result + it_has_behavior "without a #change callback", s1, s2, result + end + + describe "sequences %w(a x y c) & %w(a v w c)" do + s1 = %w[a x y c] + s2 = %w[a v w c] + + result = [ + ["=", 0, 0], + ["!", 1, 1], + ["!", 2, 2], + ["=", 3, 3] + ] + + it_has_behavior "with a #change callback", s1, s2, result + it_has_behavior "without a #change callback", s1, s2, result + end + + describe "sequences %w(x y c) & %w(v w c)" do + s1 = %w[x y c] + s2 = %w[v w c] + result = [ + ["!", 0, 0], + ["!", 1, 1], + ["=", 2, 2] + ] + + it_has_behavior "with a #change callback", s1, s2, result + it_has_behavior "without a #change callback", s1, s2, result + end + + describe "sequences %w(a x y z) & %w(b v w)" do + s1 = %w[a x y z] + s2 = %w[b v w] + result = [ + ["!", 0, 0], + ["!", 1, 1], + ["!", 2, 2], + ["<", 3, 3] + ] + + it_has_behavior "with a #change callback", s1, s2, result + it_has_behavior "without a #change callback", s1, s2, result + end + + describe "sequences %w(a z) & %w(a)" do + s1 = %w[a z] + s2 = %w[a] + result = [ + ["=", 0, 0], + ["<", 1, 1] + ] + + it_has_behavior "with a #change callback", s1, s2, result + it_has_behavior "without a #change callback", s1, s2, result + end + + describe "sequences %w(z a) & %w(a)" do + s1 = %w[z a] + s2 = %w[a] + result = [ + ["<", 0, 0], + ["=", 1, 0] + ] + + it_has_behavior "with a #change callback", s1, s2, result + it_has_behavior "without a #change callback", s1, s2, result + end + + describe "sequences %w(a b c) & %w(x y z)" do + s1 = %w[a b c] + s2 = %w[x y z] + result = [ + ["!", 0, 0], + ["!", 1, 1], + ["!", 2, 2] + ] + + it_has_behavior "with a #change callback", s1, s2, result + it_has_behavior "without a #change callback", s1, s2, result + end + + describe "sequences %w(abcd efgh ijkl mnoopqrstuvwxyz) & []" do + s1 = %w[abcd efgh ijkl mnopqrstuvwxyz] + s2 = [] + result = [ + ["<", 0, 0], + ["<", 1, 0], + ["<", 2, 0], + ["<", 3, 0] + ] + + it_has_behavior "with a #change callback", s1, s2, result + it_has_behavior "without a #change callback", s1, s2, result + end + + describe "strings %q(a b c) & %q(a x c)" do + s1 = "a b c" + s2 = "a x c" + + result = [ + ["=", 0, 0], + ["=", 1, 1], + ["!", 2, 2], + ["=", 3, 3], + ["=", 4, 4] + ] + + it_has_behavior "with a #change callback", s1, s2, result + it_has_behavior "without a #change callback", s1, s2, result + end + + describe "strings %q(a x y c) & %q(a v w c)" do + s1 = "a x y c" + s2 = "a v w c" + + result = [ + ["=", 0, 0], + ["=", 1, 1], + ["!", 2, 2], + ["=", 3, 3], + ["!", 4, 4], + ["=", 5, 5], + ["=", 6, 6] + ] + + it_has_behavior "with a #change callback", s1, s2, result + it_has_behavior "without a #change callback", s1, s2, result + end + + describe "strings %q(x y c) & %q(v w c)" do + s1 = "x y c" + s2 = "v w c" + result = [ + ["!", 0, 0], + ["=", 1, 1], + ["!", 2, 2], + ["=", 3, 3], + ["=", 4, 4] + ] + + it_has_behavior "with a #change callback", s1, s2, result + it_has_behavior "without a #change callback", s1, s2, result + end + + describe "strings %q(a x y z) & %q(b v w)" do + s1 = "a x y z" + s2 = "b v w" + result = [ + ["!", 0, 0], + ["=", 1, 1], + ["!", 2, 2], + ["=", 3, 3], + ["!", 4, 4], + ["<", 5, 5], + ["<", 6, 5] + ] + + it_has_behavior "with a #change callback", s1, s2, result + it_has_behavior "without a #change callback", s1, s2, result + end + + describe "strings %q(a z) & %q(a)" do + s1 = "a z" + s2 = "a" + result = [ + ["=", 0, 0], + ["<", 1, 1], + ["<", 2, 1] + ] + + it_has_behavior "with a #change callback", s1, s2, result + it_has_behavior "without a #change callback", s1, s2, result + end + + describe "strings %q(z a) & %q(a)" do + s1 = "z a" + s2 = "a" + result = [ + ["<", 0, 0], + ["<", 1, 0], + ["=", 2, 0] + ] + + it_has_behavior "with a #change callback", s1, s2, result + it_has_behavior "without a #change callback", s1, s2, result + end + + describe "strings %q(a b c) & %q(x y z)" do + s1 = "a b c" + s2 = "x y z" + result = [ + ["!", 0, 0], + ["=", 1, 1], + ["!", 2, 2], + ["=", 3, 3], + ["!", 4, 4] + ] + + it_has_behavior "with a #change callback", s1, s2, result + it_has_behavior "without a #change callback", s1, s2, result + end + + describe "strings %q(abcd efgh ijkl mnopqrstuvwxyz) & %q()" do + s1 = "abcd efgh ijkl mnopqrstuvwxyz" + s2 = "" + # standard:disable Layout/ExtraSpacing + result = [ + ["<", 0, 0], + ["<", 1, 0], + ["<", 2, 0], + ["<", 3, 0], + ["<", 4, 0], + ["<", 5, 0], + ["<", 6, 0], + ["<", 7, 0], + ["<", 8, 0], + ["<", 9, 0], + ["<", 10, 0], + ["<", 11, 0], + ["<", 12, 0], + ["<", 13, 0], + ["<", 14, 0], + ["<", 15, 0], + ["<", 16, 0], + ["<", 17, 0], + ["<", 18, 0], + ["<", 19, 0], + ["<", 20, 0], + ["<", 21, 0], + ["<", 22, 0], + ["<", 23, 0], + ["<", 24, 0], + ["<", 25, 0], + ["<", 26, 0], + ["<", 27, 0], + ["<", 28, 0] + ] + # standard:enable Layout/ExtraSpacing + + it_has_behavior "with a #change callback", s1, s2, result + it_has_behavior "without a #change callback", s1, s2, result + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/traverse_sequences_spec.rb b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/traverse_sequences_spec.rb new file mode 100644 index 0000000..8e9928f --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.6.2/spec/traverse_sequences_spec.rb @@ -0,0 +1,137 @@ +# frozen_string_literal: true + +require "spec_helper" + +describe "Diff::LCS.traverse_sequences" do + describe "callback with no finishers" do + describe "over (seq1, seq2)" do + before(:each) do + @callback_s1_s2 = simple_callback_no_finishers + Diff::LCS.traverse_sequences(seq1, seq2, @callback_s1_s2) + + @callback_s2_s1 = simple_callback_no_finishers + Diff::LCS.traverse_sequences(seq2, seq1, @callback_s2_s1) + end + + it "has the correct LCS result on left-matches" do + expect(@callback_s1_s2.matched_a).to eq(correct_lcs) + expect(@callback_s2_s1.matched_a).to eq(correct_lcs) + end + + it "has the correct LCS result on right-matches" do + expect(@callback_s1_s2.matched_b).to eq(correct_lcs) + expect(@callback_s2_s1.matched_b).to eq(correct_lcs) + end + + it "has the correct skipped sequences with the left sequence" do + expect(@callback_s1_s2.discards_a).to eq(skipped_seq1) + expect(@callback_s2_s1.discards_a).to eq(skipped_seq2) + end + + it "has the correct skipped sequences with the right sequence" do + expect(@callback_s1_s2.discards_b).to eq(skipped_seq2) + expect(@callback_s2_s1.discards_b).to eq(skipped_seq1) + end + + it "does not have anything done markers from the left or right sequences" do + expect(@callback_s1_s2.done_a).to be_empty + expect(@callback_s1_s2.done_b).to be_empty + expect(@callback_s2_s1.done_a).to be_empty + expect(@callback_s2_s1.done_b).to be_empty + end + end + + describe "over (hello, hello)" do + before(:each) do + @callback = simple_callback_no_finishers + Diff::LCS.traverse_sequences(hello, hello, @callback) + end + + it "has the correct LCS result on left-matches" do + expect(@callback.matched_a).to eq(hello.chars) + end + + it "has the correct LCS result on right-matches" do + expect(@callback.matched_b).to eq(hello.chars) + end + + it "has the correct skipped sequences with the left sequence" do + expect(@callback.discards_a).to be_empty + end + + it "has the correct skipped sequences with the right sequence" do + expect(@callback.discards_b).to be_empty + end + + it "does not have anything done markers from the left or right sequences" do + expect(@callback.done_a).to be_empty + expect(@callback.done_b).to be_empty + end + end + + describe "over (hello_ary, hello_ary)" do + before(:each) do + @callback = simple_callback_no_finishers + Diff::LCS.traverse_sequences(hello_ary, hello_ary, @callback) + end + + it "has the correct LCS result on left-matches" do + expect(@callback.matched_a).to eq(hello_ary) + end + + it "has the correct LCS result on right-matches" do + expect(@callback.matched_b).to eq(hello_ary) + end + + it "has the correct skipped sequences with the left sequence" do + expect(@callback.discards_a).to be_empty + end + + it "has the correct skipped sequences with the right sequence" do + expect(@callback.discards_b).to be_empty + end + + it "does not have anything done markers from the left or right sequences" do + expect(@callback.done_a).to be_empty + expect(@callback.done_b).to be_empty + end + end + end + + describe "callback with finisher" do + before(:each) do + @callback_s1_s2 = simple_callback + Diff::LCS.traverse_sequences(seq1, seq2, @callback_s1_s2) + @callback_s2_s1 = simple_callback + Diff::LCS.traverse_sequences(seq2, seq1, @callback_s2_s1) + end + + it "has the correct LCS result on left-matches" do + expect(@callback_s1_s2.matched_a).to eq(correct_lcs) + expect(@callback_s2_s1.matched_a).to eq(correct_lcs) + end + + it "has the correct LCS result on right-matches" do + expect(@callback_s1_s2.matched_b).to eq(correct_lcs) + expect(@callback_s2_s1.matched_b).to eq(correct_lcs) + end + + it "has the correct skipped sequences for the left sequence" do + expect(@callback_s1_s2.discards_a).to eq(skipped_seq1) + expect(@callback_s2_s1.discards_a).to eq(skipped_seq2) + end + + it "has the correct skipped sequences for the right sequence" do + expect(@callback_s1_s2.discards_b).to eq(skipped_seq2) + expect(@callback_s2_s1.discards_b).to eq(skipped_seq1) + end + + it "has done markers differently-sized sequences" do + expect(@callback_s1_s2.done_a).to eq([["p", 9, "t", 11]]) + expect(@callback_s1_s2.done_b).to be_empty + + expect(@callback_s2_s1.done_a).to be_empty + expect(@callback_s2_s1.done_b).to eq([["t", 11, "p", 9]]) + end + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/.editorconfig b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/.editorconfig new file mode 100644 index 0000000..13c6966 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/.editorconfig @@ -0,0 +1,18 @@ +; This file is for unifying the coding style for different editors and IDEs. +; More information at http://EditorConfig.org + +root = true +[*] +end_of_line = lf +trim_trailing_whitespace = true + +[**.rb] +indent_size = 2 +indent_style = spaces +insert_final_newline = true + +[**.xml] +trim_trailing_whitespace = false + +[**.html] +trim_trailing_whitespace = false diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/.github/dependabot.yml b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/.github/dependabot.yml new file mode 100644 index 0000000..5ace460 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/.github/dependabot.yml @@ -0,0 +1,6 @@ +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/.github/workflows/ci.yml b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/.github/workflows/ci.yml new file mode 100644 index 0000000..875c76a --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/.github/workflows/ci.yml @@ -0,0 +1,24 @@ +name: CI +on: [push, pull_request] +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + ruby: + - 2.7 + - "3.0" # Quoted, to avoid YAML float 3.0 interplated to "3" + - 3.1 + - 3.2 + - 3.3 + - 3.4 + steps: + - name: Check out repository code + uses: actions/checkout@v4 + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby }} + bundler-cache: true # Run "bundle install", and cache the result automatically. + - name: Run Rake + run: bundle exec rake diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/.gitignore b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/.gitignore new file mode 100644 index 0000000..e6d2c64 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/.gitignore @@ -0,0 +1,14 @@ +Gemfile.lock +.DS_Store +.yardoc/ +doc/ +tmp/ +log/ +pkg/ +*.swp +/.bundle +.rvmrc +coverage +*.gem +.idea +.tool-versions diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/.rubocop.yml b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/.rubocop.yml new file mode 100644 index 0000000..d06156e --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/.rubocop.yml @@ -0,0 +1,92 @@ +inherit_from: .rubocop_todo.yml + +# Offense count: 963 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, SupportedStyles. +Style/StringLiterals: + Enabled: false + +# Offense count: 327 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SupportedStyles. +Style/SpaceInsideHashLiteralBraces: + Enabled: false + +# Offense count: 33 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, SupportedStyles, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters. +Style/SpaceInsideBlockBraces: + Enabled: false + +# Offense count: 1 +# Cop supports --auto-correct. +Style/SpaceBeforeSemicolon: + Enabled: false + +# Offense count: 20 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, SupportedStyles. +Style/SignalException: + Enabled: false + +# Offense count: 1 +# Configuration parameters: Methods. +Style/SingleLineBlockParams: + Enabled: false + +# Offense count: 6 +# Cop supports --auto-correct. +Style/PerlBackrefs: + Enabled: false + +# Offense count: 2 +# Cop supports --auto-correct. +# Configuration parameters: AllowAsExpressionSeparator. +Style/Semicolon: + Enabled: false + +# Offense count: 77 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, SupportedStyles. +Style/BracesAroundHashParameters: + Enabled: false + +# Offense count: 36 +Style/Documentation: + Enabled: false + +# Offense count: 6 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, SupportedStyles, AllowInnerSlashes. +Style/RegexpLiteral: + Enabled: false + +# Offense count: 5 +# Cop supports --auto-correct. +Style/NumericLiterals: + MinDigits: 6 + +# Offense count: 4 +# Cop supports --auto-correct. +Lint/UnusedMethodArgument: + Enabled: false + +# Offense count: 11 +# Cop supports --auto-correct. +Lint/UnusedBlockArgument: + Enabled: false + +# Offense count: 1 +Lint/Void: + Enabled: false + +# Offense count: 22 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, SupportedStyles. +Style/IndentHash: + Enabled: false + +# Offense count: 7 +# Configuration parameters: MinBodyLength. +Style/GuardClause: + Enabled: false diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/.rubocop_todo.yml b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/.rubocop_todo.yml new file mode 100644 index 0000000..be9903f --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/.rubocop_todo.yml @@ -0,0 +1,124 @@ +# This configuration was generated by `rubocop --auto-gen-config` +# on 2015-04-24 07:22:28 +0200 using RuboCop version 0.30.0. +# The point is for the user to remove these configuration records +# one by one as the offenses are removed from the code base. +# Note that changes in the inspected code, or installation of new +# versions of RuboCop, may require this file to be generated again. + +# Offense count: 33 +Lint/AmbiguousRegexpLiteral: + Enabled: false + +# Offense count: 1 +# Configuration parameters: AlignWith, SupportedStyles. +Lint/EndAlignment: + Enabled: false + +# Offense count: 1 +Lint/SuppressedException: + Enabled: false + +# Offense count: 5 +Lint/UselessAssignment: + Enabled: false + +# Offense count: 23 +Metrics/AbcSize: + Max: 86 + +# Offense count: 1 +# Configuration parameters: CountComments. +Metrics/ClassLength: + Max: 285 + +# Offense count: 8 +Metrics/CyclomaticComplexity: + Max: 17 + +# Offense count: 332 +# Configuration parameters: AllowURI, URISchemes. +Metrics/LineLength: + Max: 266 + +# Offense count: 17 +# Configuration parameters: CountComments. +Metrics/MethodLength: + Max: 39 + +# Offense count: 8 +Metrics/PerceivedComplexity: + Max: 20 + +# Offense count: 1 +Style/AccessorMethodName: + Enabled: false + +# Offense count: 1 +Style/AsciiComments: + Enabled: false + +# Offense count: 14 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, SupportedStyles, ProceduralMethods, FunctionalMethods, IgnoredMethods. +Style/BlockDelimiters: + Enabled: false + +# Offense count: 2 +Style/CaseEquality: + Enabled: false + +# Offense count: 3 +# Configuration parameters: IndentWhenRelativeTo, SupportedStyles, IndentOneStep. +Style/CaseIndentation: + Enabled: false + +# Offense count: 4 +# Configuration parameters: EnforcedStyle, SupportedStyles. +Style/ClassAndModuleChildren: + Enabled: false + +# Offense count: 7 +Style/ConstantName: + Enabled: false + +# Offense count: 2 +Style/EachWithObject: + Enabled: false + +# Offense count: 2 +# Cop supports --auto-correct. +Style/ElseAlignment: + Enabled: false + +# Offense count: 3 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, SupportedStyles. +Style/FirstParameterIndentation: + Enabled: false + +# Offense count: 2 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, SupportedStyles, UseHashRocketsWithSymbolValues. +Style/HashSyntax: + Enabled: false + +# Offense count: 7 +# Cop supports --auto-correct. +# Configuration parameters: MaxLineLength. +Style/IfUnlessModifier: + Enabled: false + +# Offense count: 11 +# Cop supports --auto-correct. +Style/Lambda: + Enabled: false + +# Offense count: 1 +# Configuration parameters: EnforcedStyle, MinBodyLength, SupportedStyles. +Style/Next: + Enabled: false + +# Offense count: 2 +# Configuration parameters: EnforcedStyle, SupportedStyles. +Style/RaiseArgs: + Enabled: false diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/CONTRIBUTING.md b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/CONTRIBUTING.md new file mode 100644 index 0000000..3bac5b1 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/CONTRIBUTING.md @@ -0,0 +1,23 @@ +# Contributing + +* Contributions will not be accepted without tests. +* Please post unconfirmed bugs to the mailing list first: https://groups.google.com/forum/#!forum/httparty-gem +* Don't change the version. The maintainers will handle that when they release. +* Always provide as much information and reproducibility as possible when filing an issue or submitting a pull request. + +## Workflow + +* Fork the project. +* Run `bundle` +* Run `bundle exec rake` +* Make your feature addition or bug fix. +* Add tests for it. This is important so I don't break it in a future version unintentionally. +* Run `bundle exec rake` (No, REALLY :)) +* Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself in another branch so I can ignore when I pull) +* Send me a pull request. Bonus points for topic branches. + +## Help and Docs + +* https://groups.google.com/forum/#!forum/httparty-gem +* http://stackoverflow.com/questions/tagged/httparty +* http://rdoc.info/projects/jnunemaker/httparty diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/Changelog.md b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/Changelog.md new file mode 100644 index 0000000..e0fc332 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/Changelog.md @@ -0,0 +1,624 @@ +# Changelog + +All notable [changes since 0.22 are documented in GitHub Releases](https://github.com/jnunemaker/httparty/releases). + +## 0.21.0 + +- [escape filename in the multipart/form-data Content-Disposition header](https://github.com/jnunemaker/httparty/commit/cdb45a678c43e44570b4e73f84b1abeb5ec22b8e) +- [Fix request marshaling](https://github.com/jnunemaker/httparty/pull/767) +- [Replace `mime-types` with `mini_mime`](https://github.com/jnunemaker/httparty/pull/769) + +## 0.20.0 + +Breaking changes + +- Require Ruby >= 2.3.0 + +Fixes + +- [`Marshal.dump` fails on response objects when request option `:logger` is set or `:parser` is a proc](https://github.com/jnunemaker/httparty/pull/714) +- [Switch `:pem` option to to `OpenSSL::PKey.read` to support other algorithms](https://github.com/jnunemaker/httparty/pull/720) + +## 0.19.1 + +- [Remove use of unary + method for creating non-frozen string to increase compatibility with older versions of ruby](https://github.com/jnunemaker/httparty/commit/4416141d37fd71bdba4f37589ec265f55aa446ce) + +## 0.19.0 + +- [Multipart/Form-Data: rewind files after read](https://github.com/jnunemaker/httparty/pull/709) +- [add frozen_string_literal pragma to all files](https://github.com/jnunemaker/httparty/pull/711) +- [Better handling of Accept-Encoding / Content-Encoding decompression (fixes #562)](https://github.com/jnunemaker/httparty/pull/729) + +## 0.18.1 + +- [Rename cop Lint/HandleExceptions to Lint/SuppressedException](https://github.com/jnunemaker/httparty/pull/699). +- [Encode keys in query params](https://github.com/jnunemaker/httparty/pull/698). +- [Fixed SSL doc example](https://github.com/jnunemaker/httparty/pull/692). +- [Add a build status badge](https://github.com/jnunemaker/httparty/pull/701). + +## 0.18.0 + +- [Support gzip/deflate transfer encoding when explicit headers are set](https://github.com/jnunemaker/httparty/pull/678). +- [Support edge case cookie format with a blank attribute](https://github.com/jnunemaker/httparty/pull/685). + +## 0.17.3 + +0.17.2 is broken https://github.com/jnunemaker/httparty/issues/681 + +## 0.17.2 + +- [Add Response#nil? deprecetion warning](https://github.com/jnunemaker/httparty/pull/680) + +## 0.17.1 + +- [Pass options to dynamic block headers](https://github.com/jnunemaker/httparty/pull/661) +- [Normalize urls with URI adapter to allow International Domain Names support](https://github.com/jnunemaker/httparty/pull/668) +- [Add max_retries support](https://github.com/jnunemaker/httparty/pull/660) +- [Minize gem size by removing test files](https://github.com/jnunemaker/httparty/pull/658) + +## 0.17.0 + +- [Fix encoding of streamed chunk](https://github.com/jnunemaker/httparty/pull/644) +- [Avoid modifying frozen strings](https://github.com/jnunemaker/httparty/pull/649) +- [Expose .connection on fragment block param](https://github.com/jnunemaker/httparty/pull/648) +- [Add support for `Net::HTTP#write_timeout` method (Ruby 2.6.0)](https://github.com/jnunemaker/httparty/pull/647) + +## 0.16.4 + +- [Add support for Ruby 2.6](https://github.com/jnunemaker/httparty/pull/636) +- [Fix a few multipart issues](https://github.com/jnunemaker/httparty/pull/626) +- [Improve a memory usage for https requests](https://github.com/jnunemaker/httparty/pull/625) +- [Add response code to streamed body](https://github.com/jnunemaker/httparty/pull/588) + +## 0.16.3 + +- [Add Logstash-compatible formatter](https://github.com/jnunemaker/httparty/pull/612) +- [Add support for headers specified with symbols](https://github.com/jnunemaker/httparty/pull/622) +- [Fix response object marshalling](https://github.com/jnunemaker/httparty/pull/618) +- [Add ability to send multipart, without passing file](https://github.com/jnunemaker/httparty/pull/615) +- [Fix detection of content_type for multipart payload](https://github.com/jnunemaker/httparty/pull/616) +- [Process dynamic headers before making actual request](https://github.com/jnunemaker/httparty/pull/606) +- [Fix multipart uploads with ActionDispatch::Http::UploadedFile TempFile by using original_filename](https://github.com/jnunemaker/httparty/pull/598) +- [Added support for lock and unlock http requests](https://github.com/jnunemaker/httparty/pull/596) + +## 0.16.2 + +- [Support ActionDispatch::Http::UploadedFile again](https://github.com/jnunemaker/httparty/pull/585) + +## 0.16.1 + +- [Parse content with application/hal+json content type as JSON](https://github.com/jnunemaker/httparty/pull/573) +- [Convert objects to string when concatenating in multipart stuff](https://github.com/jnunemaker/httparty/pull/575) +- [Fix multipart to set its header even when other headers are provided](https://github.com/jnunemaker/httparty/pull/576) + +## 0.16.0 + +- [Add multipart support](https://github.com/jnunemaker/httparty/pull/569) + +## 0.15.7 + +Fixed + +- [Add Response#pretty_print | Restore documented behavior](https://github.com/jnunemaker/httparty/pull/570) +- [Add ability to parse response from JSONAPI ](https://github.com/jnunemaker/httparty/pull/553) + +## 0.15.6 + +Fixed + +- [Encoding and content type stuff](https://github.com/jnunemaker/httparty/pull/543) + +## 0.15.5 + +Fixed + +- [Use non-destructive gsub](https://github.com/jnunemaker/httparty/pull/540) + +## 0.15.4 + +Fixed + +- Prevent gsub errors with different encodings. +- Prevent passing nil to encode_body. + +## 0.15.3 + +Fixed + +- [Fix processing nil body for HEAD requests](https://github.com/jnunemaker/httparty/pull/530). +- Add missing require to headers.rb (33439a8). + +## 0.15.2 + +Fixed + +- Remove symlink from specs. It was reportedly still getting bundled with gem. + +## 0.15.1 + +Fixed + +- Stop including test files in gem. Fixes installation issues on windows due to symlink in spec dir. + +## 0.15.0 + +Breaking Changes + +- require Ruby >= 2.0.0 + +Fixed + +- [fix numerous bugs](https://github.com/jnunemaker/httparty/pull/513) +- [handle utf-8 bom for json parsing](https://github.com/jnunemaker/httparty/pull/520) +- [do not overwrite default headers unless specified](https://github.com/jnunemaker/httparty/pull/518) + +## 0.14.0 + +Breaking Changes + +- None + +Added + +- [added status predicate methods to Response#respond_to?](https://github.com/jnunemaker/httparty/pull/482) +- [support for MKCOL method](https://github.com/jnunemaker/httparty/pull/465) +- one fewer dependency: [remove json gem from gemspec](https://github.com/jnunemaker/httparty/pull/464) +- [optional raising exception on certain status codes](https://github.com/jnunemaker/httparty/pull/455) + +Fixed + +- [allow empty array to be used as param](https://github.com/jnunemaker/httparty/pull/477) +- [stop mutating cookie hash](https://github.com/jnunemaker/httparty/pull/460) + +## 0.13.7 aka "party not as hard" + +- remove post install emoji as it caused installation issues for some people + +## 0.13.6 + +- avoid calling String#strip on invalid Strings +- preserve request method on 307 and 308 redirects +- output version with --version for command line bin +- maintain head request method across redirects by default +- add support for RFC2617 MD5-sess algorithm type +- add party popper emoji to post install message + +## 0.13.5 + +- allow setting a custom URI adapter + +## 0.13.4 + +- correct redirect url for redirect paths without leading slash +- remove core_extensions.rb as backwards compat for ruby 1.8 not needed +- replace URI.encode with ERB::Util.url_encode +- allow the response to be tapped + +## 0.13.3 + +- minor improvement + - added option to allow for streaming large files without loading them into memory (672cdae) + +## 0.13.2 + +- minor improvement + - [Set correct path on redirect to filename](https://github.com/jnunemaker/httparty/pull/337) + - ensure logger works with curl format + +## 0.13.1 2014-04-08 + +- new + - [Added ability to specify a body_stream in HttpRequest](https://github.com/jnunemaker/httparty/pull/275) + - [Added read_timeout and open_timeout options](https://github.com/jnunemaker/httparty/pull/278) +- change + - [Initialize HTTParty requests with an URI object and a String](https://github.com/jnunemaker/httparty/pull/274) +- minor improvement + - [Add stackexchange API example](https://github.com/jnunemaker/httparty/pull/280) + +## 0.13.0 2014-02-14 + +- new + - [Add CSV support](https://github.com/jnunemaker/httparty/pull/269) + - [Allows PKCS12 client certificates](https://github.com/jnunemaker/httparty/pull/246) +- bug fix + - [Digest auth no longer fails when multiple headers are sent by the server](https://github.com/jnunemaker/httparty/pull/272) + - [Use 'Basement.copy' when calling 'HTTParty.copy'](https://github.com/jnunemaker/httparty/pull/268) + - [No longer appends ampersand when queries are embedded in paths](https://github.com/jnunemaker/httparty/pull/252) +- change + - [Merge - instead of overwrite - default headers with request provided headers](https://github.com/jnunemaker/httparty/pull/270) + - [Modernize respond_to implementations to support second param](https://github.com/jnunemaker/httparty/pull/264) + - [Sort query parameters by key before processing](https://github.com/jnunemaker/httparty/pull/245) +- minor improvement + - [Add HTTParty::Error base class](https://github.com/jnunemaker/httparty/pull/260) + +## 0.12.0 2013-10-10 + +- new + - [Added initial logging support](https://github.com/jnunemaker/httparty/pull/243) + - [Add support for local host and port binding](https://github.com/jnunemaker/httparty/pull/238) + - [content_type_charset_support](https://github.com/jnunemaker/httparty/commit/82e351f0904e8ecc856015ff2854698a2ca47fbc) +- bug fix + - [No longer attempt to decompress the body on HEAD requests](https://github.com/jnunemaker/httparty/commit/f2b8cc3d49e0e9363d7054b14f30c340d7b8e7f1) + - [Adding java check in aliasing of multiple choices](https://github.com/jnunemaker/httparty/pull/204/commits) +- change + - [MIME-type files of javascript are returned as a string instead of JSON](https://github.com/jnunemaker/httparty/pull/239) + - [Made SSL connections use the system certificate store by default](https://github.com/jnunemaker/httparty/pull/226) + - [Do not pass proxy options to Net::HTTP connection if not specified](https://github.com/jnunemaker/httparty/pull/222) + - [Replace multi_json with stdlib json](https://github.com/jnunemaker/httparty/pull/214) + - [Require Ruby >= 1.9.3] + - [Response returns array of returned cookie strings](https://github.com/jnunemaker/httparty/pull/218) + - [Allow '=' within value of a cookie] +- minor improvements + - [Improve documentation of ssl_ca_file, ssl_ca_path](https://github.com/jnunemaker/httparty/pull/223) + - [Fix example URLs](https://github.com/jnunemaker/httparty/pull/232) + +## 0.11.0 2013-04-10 + +- new + - [Add COPY http request handling](https://github.com/jnunemaker/httparty/pull/190) + - [Ruby 2.0 tests](https://github.com/jnunemaker/httparty/pull/194) + - [Ruby >= 2.0.0 support both multiple_choice? and multiple_choices?] +- bug fix + - [Maintain blocks passed to 'perform' in redirects](https://github.com/jnunemaker/httparty/pull/191) + - [Fixed nc value being quoted, this was against spec](https://github.com/jnunemaker/httparty/pull/196) + - [Request#uri no longer duplicates non-relative-path params](https://github.com/jnunemaker/httparty/pull/189) +- change + - [Client-side-only cookie attributes are removed: case-insensitive](https://github.com/jnunemaker/httparty/pull/188) + +## 0.10.2 2013-01-26 + +- bug fix + - [hash_conversions misnamed variable](https://github.com/jnunemaker/httparty/pull/187) + +## 0.10.1 2013-01-26 + +- new + - [Added support for MOVE requests](https://github.com/jnunemaker/httparty/pull/183) + - [Bump multi xml version](https://github.com/jnunemaker/httparty/pull/181) + +## 0.10.0 2013-01-10 + +- changes + - removed yaml support because of security risk (see rails yaml issues) + +## 0.9.0 2012-09-07 + +- new + - [support for connection adapters](https://github.com/jnunemaker/httparty/pull/157) + - [allow ssl_version on ruby 1.9](https://github.com/jnunemaker/httparty/pull/159) +- bug fixes + - [don't treat port 4430 as ssl](https://github.com/jnunemaker/httparty/commit/a296b1c97f83d7dcc6ef85720a43664c265685ac) + - [deep clone default options](https://github.com/jnunemaker/httparty/commit/f74227d30f9389b4b23a888c9af49fb9b8248e1f) + - a few net digest auth fixes + +## 0.8.3 2012-04-21 + +- new + - [lazy parsing of responses](https://github.com/jnunemaker/httparty/commit/9fd5259c8dab00e426082b66af44ede2c9068f45) + - [add support for PATCH requests](https://github.com/jnunemaker/httparty/commit/7ab6641e37a9e31517e46f6124f38c615395d38a) +- bug fixes + - [subclasses no longer override superclass options](https://github.com/jnunemaker/httparty/commit/682af8fbf672e7b3009e650da776c85cdfe78d39) + +## 0.8.2 2012-04-12 + +- new + - add -r to make CLI return failure code if status >= 400 + - allow blank username from CLI +- bug fixes + - return nil for null body + - automatically deflate responses with a Content-Encoding: x-gzip header + - Do not HEAD on POST request with digest authentication + - add support for proxy authentication + - fix posting data with CLI + - require rexml/document if xml format from CLI + - support for fragmented responses + +## 0.8.1 2011-10-05 + +- bug fixes + - content-encoding header should be removed when automatically inflating the body + +## 0.8.0 2011-09-13 + +- new + - switch to multi json/xml for parsing by default +- bug fixes + - fix redirects to relative uri's + +## 0.7.8 2011-06-06 + +- bug fix + - Make response honor respond to + - net http timeout can also be a float + +## 0.7.7 2011-04-16 + +- bug fix + - Fix NoMethodError when using the NON_RAILS_QUERY_STRING_NORMALIZER with a hash whose key is a symbol and value is nil + +## 0.7.5 2011-04-16 + +- bug fix + - caused issue with latest rubygems + +## 0.7.4 2011-02-13 + +- bug fixes + - Set VERIFY_NONE when using https. Ruby 1.9.2 no longer sets this for us. gh-67 + +## 0.7.3 2011-01-20 + +- bug fixes + - Fix digest auth for unspecified quality of protection (bjoernalbers, mtrudel, dwo) + +## 0.7.2 2011-01-20 + +- bug fixes + - Fix gem dependencies + +## 0.7.1 2011-01-19 + +- bug fixes + - Fix uninitialized constant HTTParty::Response::Net in 1.9.2 (cap10morgan) + - Other fixes for 1.9.2, full suite still fails (cap10morgan) + +## 0.7.0 2011-01-18 + +- minor enhancements + - Added query methods for HTTP status codes, i.e. response.success? + response.created? (thanks citizenparker) + - Added support for ssl_ca_file and ssl_ca_path (dlitz) + - Allow custom query string normalization. gh-8 + - Unlock private keys with password (freerange) + - Added high level request documentation (phildarnowsky) + - Added basic post example (pbuckley) + - Response object has access to its corresponding request object + - Added example of siginin into tripit.com + - Added option to follow redirects (rkj). gh-56 +- bug fixes + - Fixed superclass mismatch exception while running tests + (thanks dlitz http://github.com/dlitz/httparty/commit/48224f0615b32133afcff4718ad426df7a4b401b) + +## 0.6.1 2010-07-07 + +- minor enhancements + - updated to crack 0.1.8 +- bug fixes + - subclasses always merge into the parent's default_options and + default_cookies (l4rk). + - subclasses play nicely with grand parents. gh-49 + +## 0.6.0 2010-06-13 + +- major enhancements + + - Digest Auth (bartiaco, sbecker, gilles, and aaronrussell) + - Maintain HTTP method across redirects (bartiaco and sbecker) + - HTTParty::Response#response returns the Net::HTTPResponse object + - HTTParty::Response#headers returns a HTTParty::Response::Headers object + which quacks like a Hash + Net::HTTPHeader. The #headers method continues + to be backwards-compatible with the old Hash return value but may become + deprecated in the future. + +- minor enhancements + - Update crack requirement to version 0.1.7 + You may still get a warning because Crack's version constant is out of date + - Timeout option can be set for all requests using HTTParty.default_timeout (taazza) + - Closed #38 "headers hash should downcase keys so canonical header name can be used" + - Closed #40 "Gzip response" wherein gziped and deflated responses are + automatically inflated. (carsonmcdonald) + +## 0.5.2 2010-01-31 + +- minor enhancements + - Update crack requirement to version 0.1.6 + +## 0.5.1 2010-01-30 + +- bug fixes + + - Handle 304 response correctly by returning the HTTParty::Response object instead of redirecting (seth and hellvinz) + - Only redirect 300 responses if the header contains a Location + - Don't append empty query strings to the uri. Closes #31 + - When no_follow is enabled, only raise the RedirectionTooDeep exception when a response tries redirecting. Closes #28 + +- major enhancements + + - Removed rubygems dependency. I suggest adding rubygems to RUBYOPT if this causes problems for you. + $ export RUBYOPT='rubygems' + - HTTParty#debug_output prints debugging information for the current request (iwarshak) + - HTTParty#no_follow now available as a class-level option. Sets whether or not to follow redirects. + +- minor enhancements + - HTTParty::VERSION now available + - Update crack requirement to version 0.1.5 + +## 0.5.0 2009-12-07 + +- bug fixes + + - inheritable attributes no longer mutable by subclasses (yyyc514) + - namespace BasicObject within HTTParty to avoid class name collisions (eric) + +- major enhancements + + - Custom Parsers via class or proc + - Deprecation warning on HTTParty::AllowedFormats + moved to HTTParty::Parser::SupportedFormats + +- minor enhancements + - Curl inspired output when using the binary in verbose mode (alexvollmer) + - raise UnsupportedURIScheme when scheme is not HTTP or HTTPS (djspinmonkey) + - Allow SSL for ports other than 443 when scheme is HTTPS (stefankroes) + - Accept PEM certificates via HTTParty#pem (chrislo) + - Support HEAD and OPTION verbs (grempe) + - Verify SSL certificates when providing a PEM file (collectiveidea/danielmorrison) + +## 0.4.5 2009-09-12 + +- bug fixes + + - Fixed class-level headers overwritten by cookie management code. Closes #19 + - Fixed "superclass mismatch for class BlankSlate" error. Closes #20 + - Fixed reading files as post data from the command line (vesan) + +- minor enhancements + - Timeout option added; will raise a Timeout::Error after the timeout has elapsed (attack). Closes #17 + HTTParty.get "http://github.com", timeout: 1 + - Building gem with Jeweler + +## 0.4.4 2009-07-19 + +- 2 minor update + - :query no longer sets form data. Use body and set content type to application/x-www-form-urlencoded if you need it. :query was wrong for that. + - Fixed a bug in the cookies class method that caused cookies to be forgotten after the first request. + - Also, some general cleanup of tests and such. + +## 0.4.3 2009-04-23 + +- 1 minor update + - added message to the response object + +## 0.4.2 2009-03-30 + +- 2 minor changes + - response code now returns an integer instead of a string (jqr) + - rubyforge project setup for crack so i'm now depending on that instead of jnunemaker-crack + +## 0.4.1 2009-03-29 + +- 1 minor fix + - gem 'jnunemaker-crack' instead of gem 'crack' + +## 0.4.0 2009-03-29 + +- 1 minor change + - Switched xml and json parsing to crack (same code as before just moved to gem for easier reuse in other projects) + +## 0.3.1 2009-02-10 + +- 1 minor fix, 1 minor enhancement + - Fixed unescaping umlauts (siebertm) + - Added yaml response parsing (Miha Filej) + +## 0.3.0 2009-01-31 + +- 1 major enhancement, 1 bug fix + - JSON gem no longer a requirement. It was conflicting with rails json stuff so I just stole ActiveSupport's json decoding and bundled it with HTTParty. + - Fixed bug where query strings were being duplicated on redirects + - Added a bunch of specs and moved some code around. + +## 0.2.10 2009-01-29 + +- 1 minor enhancement + - Made encoding on query parameters treat everything except URI::PATTERN::UNRESERVED as UNSAFE to force encoding of '+' character (Julian Russell) + +## 0.2.9 2009-01-29 + +- 3 minor enhancements + - Added a 'headers' accessor to the response with a hash of any HTTP headers. (Don Peterson) + - Add support for a ":cookies" option to be used at the class level, or as an option on any individual call. It should be passed a hash, which will be converted to the proper format and added to the request headers when the call is made. (Don Peterson) + - Refactored several specs and added a full suite of cucumber features (Don Peterson) + +## 0.2.8 2009-01-28 + +- 1 major fix + - fixed major bug with response where it wouldn't iterate or really work at all with parsed responses + +## 0.2.7 2009-01-28 + +- 2 minor fixes, 2 minor enhancements, 2 major enhancements + - fixed undefined method add_node for nil class error that occasionally happened (juliocesar) + - Handle nil or unexpected values better when typecasting. (Brian Landau) + - More robust handling of mime types (Alex Vollmer) + - Fixed support for specifying headers and added support for basic auth to CLI. (Alex Vollmer) + - Added first class response object that includes original body and status code (Alex Vollmer) + - Now parsing all response types as some non-200 responses provide important information, this means no more exception raising (Alex Vollmer) + +## 0.2.6 2009-01-05 + +- 1 minor bug fix + - added explicit require of time as Time#parse failed outside of rails (willcodeforfoo) + +## 0.2.5 2009-01-05 + +- 1 major enhancement + - Add command line interface to HTTParty (Alex Vollmer) + +## 0.2.4 2008-12-23 + +- 1 bug fix + - Fixed that mimetype detection was failing if no mimetype was returned from service (skippy) + +## 0.2.3 2008-12-23 + +- 1 bug fix + - Fixed typecasting class variable naming issue + +## 0.2.2 2008-12-08 + +- 1 bug fix + - Added the missing core extension hash method to_xml_attributes + +## 0.2.1 2008-12-08 + +- 1 bug fix + - Fixed that HTTParty was borking ActiveSupport and as such Rails (thanks to Rob Sanheim) + +## 0.2.0 2008-12-07 + +- 1 major enhancement + - Removed ActiveSupport as a dependency. Now requires json gem for json deserialization and uses an included class to do the xml parsing. + +## 0.1.8 2008-11-30 + +- 3 major enhancements + - Moved base_uri normalization into request class and out of httparty module, fixing + the problem where base_uri was not always being normalized. + - Stupid simple support for HTTParty.get/post/put/delete. (jqr) + - Switched gem management to Echoe from newgem. + +## 0.1.7 2008-11-30 + +- 1 major enhancement + - fixed multiple class definitions overriding each others options + +## 0.1.6 2008-11-26 + +- 1 major enhancement + - now passing :query to set_form_data if post request to avoid content length errors + +## 0.1.5 2008-11-14 + +- 2 major enhancements + - Refactored send request method out into its own object. + - Added :html format if you just want to do that. + +## 0.1.4 2008-11-08 + +- 3 major enhancements: + - Removed some cruft + - Added ability to follow redirects automatically and turn that off (Alex Vollmer) + +## 0.1.3 2008-08-22 + +- 3 major enhancements: + - Added http_proxy key for setting proxy server and port (francxk@gmail.com) + - Now raises exception when http error occurs (francxk@gmail.com) + - Changed auto format detection from file extension to response content type (Jay Pignata) + +## 0.1.2 2008-08-09 + +- 1 major enhancement: + - default_params were not being appended to query string if option[:query] was blank + +## 0.1.1 2008-07-30 + +- 2 major enhancement: + - Added :basic_auth key for options when making a request + - :query and :body both now work with query string or hash + +## 0.1.0 2008-07-27 + +- 1 major enhancement: + - Initial release diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/Gemfile b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/Gemfile new file mode 100644 index 0000000..ae8ef23 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/Gemfile @@ -0,0 +1,27 @@ +source 'https://rubygems.org' +gemspec + +gem 'base64' +gem 'rake' +gem 'mongrel', '1.2.0.pre2' +gem 'json' + +group :development do + gem 'guard' + gem 'guard-rspec' + gem 'guard-bundler' +end + +group :test do + gem 'rexml' + gem 'rspec', '~> 3.4' + gem 'simplecov', require: false + gem 'aruba' + gem 'cucumber', '~> 2.3' + gem 'webmock' + gem 'addressable' +end + +group :development, :test do + gem 'pry' +end diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/Guardfile b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/Guardfile new file mode 100644 index 0000000..4075dc5 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/Guardfile @@ -0,0 +1,17 @@ +rspec_options = { + all_after_pass: false, + all_on_start: false, + failed_mode: :keep, + cmd: 'bundle exec rspec', +} + +guard 'rspec', rspec_options do + watch(%r{^spec/.+_spec\.rb$}) + watch(%r{^lib/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" } + watch('spec/spec_helper.rb') { "spec" } +end + +guard 'bundler' do + watch('Gemfile') + watch(/^.+\.gemspec/) +end diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/MIT-LICENSE b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/MIT-LICENSE new file mode 100644 index 0000000..ea4d340 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/MIT-LICENSE @@ -0,0 +1,20 @@ +Copyright (c) 2008 John Nunemaker + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/README.md b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/README.md new file mode 100644 index 0000000..9aa163d --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/README.md @@ -0,0 +1,79 @@ +# httparty + +[![CI](https://github.com/jnunemaker/httparty/actions/workflows/ci.yml/badge.svg)](https://github.com/jnunemaker/httparty/actions/workflows/ci.yml) + +Makes http fun again! Ain't no party like a httparty, because a httparty don't stop. + +## Install + +``` +gem install httparty +``` + +## Requirements + +- Ruby 2.7.0 or higher +- You like to party! + +## Examples + +```ruby +# Use the class methods to get down to business quickly +response = HTTParty.get('http://api.stackexchange.com/2.2/questions?site=stackoverflow') + +puts response.body, response.code, response.message, response.headers.inspect + +# Or wrap things up in your own class +class StackExchange + include HTTParty + base_uri 'api.stackexchange.com' + + def initialize(service, page) + @options = { query: { site: service, page: page } } + end + + def questions + self.class.get("/2.2/questions", @options) + end + + def users + self.class.get("/2.2/users", @options) + end +end + +stack_exchange = StackExchange.new("stackoverflow", 1) +puts stack_exchange.questions +puts stack_exchange.users +``` + +See the [examples directory](http://github.com/jnunemaker/httparty/tree/main/examples) for even more goodies. + +## Command Line Interface + +httparty also includes the executable `httparty` which can be +used to query web services and examine the resulting output. By default +it will output the response as a pretty-printed Ruby object (useful for +grokking the structure of output). This can also be overridden to output +formatted XML or JSON. Execute `httparty --help` for all the +options. Below is an example of how easy it is. + +``` +httparty "https://api.stackexchange.com/2.2/questions?site=stackoverflow" +``` + +## Help and Docs + +- [Docs](https://github.com/jnunemaker/httparty/tree/main/docs) +- https://github.com/jnunemaker/httparty/discussions +- https://www.rubydoc.info/github/jnunemaker/httparty + +## Contributing + +- Fork the project. +- Run `bundle` +- Run `bundle exec rake` +- Make your feature addition or bug fix. +- Add tests for it. This is important so I don't break it in a future version unintentionally. +- Run `bundle exec rake` (No, REALLY :)) +- Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself in another branch so I can ignore when I pull) +- Send me a pull request. Bonus points for topic branches. diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/Rakefile b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/Rakefile new file mode 100644 index 0000000..d994fb6 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/Rakefile @@ -0,0 +1,10 @@ +begin + require 'rspec/core/rake_task' + RSpec::Core::RakeTask.new(:spec) +rescue LoadError +end + +require 'cucumber/rake/task' +Cucumber::Rake::Task.new(:features) + +task default: [:spec, :features] diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/bin/httparty b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/bin/httparty new file mode 100755 index 0000000..3bdb86f --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/bin/httparty @@ -0,0 +1,123 @@ +#!/usr/bin/env ruby + +require "optparse" +require "pp" + +$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), "/../lib")) +require "httparty" + +opts = { + action: :get, + headers: {}, + verbose: false +} + +OptionParser.new do |o| + o.banner = "USAGE: #{$PROGRAM_NAME} [options] [url]" + + o.on("-f", + "--format [FORMAT]", + "Output format to use instead of pretty-print ruby: " \ + "plain, csv, json or xml") do |f| + opts[:output_format] = f.downcase.to_sym + end + + o.on("-a", + "--action [ACTION]", + "HTTP action: get (default), post, put, delete, head, or options") do |a| + opts[:action] = a.downcase.to_sym + end + + o.on("-d", + "--data [BODY]", + "Data to put in request body (prefix with '@' for file)") do |d| + if d =~ /^@/ + opts[:body] = open(d[1..-1]).read + else + opts[:body] = d + end + end + + o.on("-H", "--header [NAME:VALUE]", "Additional HTTP headers in NAME:VALUE form") do |h| + abort "Invalid header specification, should be Name:Value" unless h =~ /.+:.+/ + name, value = h.split(':') + opts[:headers][name.strip] = value.strip + end + + o.on("-v", "--verbose", "If set, print verbose output") do |v| + opts[:verbose] = true + end + + o.on("-u", "--user [CREDS]", "Use basic authentication. Value should be user:password") do |u| + abort "Invalid credentials format. Must be user:password" unless u =~ /.*:.+/ + user, password = u.split(':') + opts[:basic_auth] = { username: user, password: password } + end + + o.on("-r", "--response-code", "Command fails if response code >= 400") do + opts[:response_code] = true + end + + o.on("-h", "--help", "Show help documentation") do |h| + puts o + exit + end + + o.on("--version", "Show HTTParty version") do |ver| + puts "Version: #{HTTParty::VERSION}" + exit + end +end.parse! + +if ARGV.empty? + STDERR.puts "You need to provide a URL" + STDERR.puts "USAGE: #{$PROGRAM_NAME} [options] [url]" +end + +def dump_headers(response) + resp_type = Net::HTTPResponse::CODE_TO_OBJ[response.code.to_s] + puts "#{response.code} #{resp_type.to_s.sub(/^Net::HTTP/, '')}" + response.headers.each do |n, v| + puts "#{n}: #{v}" + end + puts +end + +if opts[:verbose] + puts "#{opts[:action].to_s.upcase} #{ARGV.first}" + opts[:headers].each do |n, v| + puts "#{n}: #{v}" + end + puts +end + +response = HTTParty.send(opts[:action], ARGV.first, opts) +if opts[:output_format].nil? + dump_headers(response) if opts[:verbose] + pp response +else + print_format = opts[:output_format] + dump_headers(response) if opts[:verbose] + + case opts[:output_format] + when :json + begin + require 'json' + puts JSON.pretty_generate(response.parsed_response) + rescue LoadError + puts YAML.dump(response) + rescue JSON::JSONError + puts response.inspect + end + when :xml + require 'rexml/document' + REXML::Document.new(response.body).write(STDOUT, 2) + puts + when :csv + require 'csv' + puts CSV.parse(response.body).map(&:to_s) + else + puts response + end +end +exit false if opts[:response_code] && response.code >= 400 diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/cucumber.yml b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/cucumber.yml new file mode 100644 index 0000000..80df8ac --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/cucumber.yml @@ -0,0 +1 @@ +default: features --format progress diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/docs/README.md b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/docs/README.md new file mode 100644 index 0000000..3806d48 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/docs/README.md @@ -0,0 +1,193 @@ +# httparty + +Makes http fun again! + +## Table of contents +- [Parsing JSON](#parsing-json) +- [Working with SSL](#working-with-ssl) + +## Parsing JSON +If the response Content Type is `application/json`, HTTParty will parse the response and return Ruby objects such as a hash or array. The default behavior for parsing JSON will return keys as strings. This can be supressed with the `format` option. To get hash keys as symbols: + +```ruby +response = HTTParty.get('http://example.com', format: :plain) +JSON.parse response, symbolize_names: true +``` + +## Posting JSON +When using Content Type `application/json` with `POST`, `PUT` or `PATCH` requests, the body should be a string of valid JSON: + +```ruby +# With written JSON +HTTParty.post('http://example.com', body: "{\"foo\":\"bar\"}", headers: { 'Content-Type' => 'application/json' }) + +# Using JSON.generate +HTTParty.post('http://example.com', body: JSON.generate({ foo: 'bar' }), headers: { 'Content-Type' => 'application/json' }) + +# Using object.to_json +HTTParty.post('http://example.com', body: { foo: 'bar' }.to_json, headers: { 'Content-Type' => 'application/json' }) +``` + +## Working with SSL + +You can use this guide to work with SSL certificates. + +#### Using `pem` option + +```ruby +# Use this example if you are using a pem file +# - cert.pem must contain the content of a PEM file having the private key appended (separated from the cert by a newline \n) +# - Use an empty string for the password if the cert is not password protected + +class Client + include HTTParty + + base_uri "https://example.com" + pem File.read("#{File.expand_path('.')}/path/to/certs/cert.pem"), "123456" +end +``` + +#### Using `pkcs12` option + +```ruby +# Use this example if you are using a pkcs12 file + +class Client + include HTTParty + + base_uri "https://example.com" + pkcs12 File.read("#{File.expand_path('.')}/path/to/certs/cert.p12"), "123456" +end +``` + +#### Using `ssl_ca_file` option + +```ruby +# Use this example if you are using a pkcs12 file + +class Client + include HTTParty + + base_uri "https://example.com" + ssl_ca_file "#{File.expand_path('.')}/path/to/certs/cert.pem" +end +``` + +#### Using `ssl_ca_path` option + +```ruby +# Use this example if you are using a pkcs12 file + +class Client + include HTTParty + + base_uri "https://example.com" + ssl_ca_path '/path/to/certs' +end +``` + +You can also include all of these options with the call: + +```ruby +class Client + include HTTParty + + base_uri "https://example.com" + + def self.fetch + get("/resources", pem: File.read("#{File.expand_path('.')}/path/to/certs/cert.pem"), pem_password: "123456") + end +end +``` + +### Avoid SSL verification + +In some cases you may want to skip SSL verification, because the entity that issued the certificate is not a valid one, but you still want to work with it. You can achieve this through: + +```ruby +# Skips SSL certificate verification + +class Client + include HTTParty + + base_uri "https://example.com" + pem File.read("#{File.expand_path('.')}/path/to/certs/cert.pem"), "123456" + + def self.fetch + get("/resources", verify: false) + # You can also use something like: + # get("resources", verify_peer: false) + end +end +``` + +### HTTP Compression + +The `Accept-Encoding` request header and `Content-Encoding` response header +are used to control compression (gzip, etc.) over the wire. Refer to +[RFC-2616](https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html) for details. +(For clarity: these headers are **not** used for character encoding i.e. `utf-8` +which is specified in the `Accept` and `Content-Type` headers.) + +Unless you have specific requirements otherwise, we recommend to **not** set +set the `Accept-Encoding` header on HTTParty requests. In this case, `Net::HTTP` +will set a sensible default compression scheme and automatically decompress the response. + +If you explicitly set `Accept-Encoding`, there be dragons: + +* If the HTTP response `Content-Encoding` received on the wire is `gzip` or `deflate`, + `Net::HTTP` will automatically decompress it, and will omit `Content-Encoding` + from your `HTTParty::Response` headers. + +* For the following encodings, HTTParty will automatically decompress them if you include + the required gem into your project. Similar to above, if decompression succeeds, + `Content-Encoding` will be omitted from your `HTTParty::Response` headers. + **Warning:** Support for these encodings is experimental and not fully battle-tested. + + | Content-Encoding | Required Gem | + | --- | --- | + | `br` (Brotli) | [brotli](https://rubygems.org/gems/brotli) | + | `compress` (LZW) | [ruby-lzws](https://rubygems.org/gems/ruby-lzws) | + | `zstd` (Zstandard) | [zstd-ruby](https://rubygems.org/gems/zstd-ruby) | + +* For other encodings, `HTTParty::Response#body` will return the raw uncompressed byte string, + and you'll need to inspect the `Content-Encoding` response header and decompress it yourself. + In this case, `HTTParty::Response#parsed_response` will be `nil`. + +* Lastly, you may use the `skip_decompression` option to disable all automatic decompression + and always get `HTTParty::Response#body` in its raw form along with the `Content-Encoding` header. + +```ruby +# Accept-Encoding=gzip,deflate can be safely assumed to be auto-decompressed + +res = HTTParty.get('https://example.com/test.json', headers: { 'Accept-Encoding' => 'gzip,deflate,identity' }) +JSON.parse(res.body) # safe + + +# Accept-Encoding=br,compress requires third-party gems + +require 'brotli' +require 'lzws' +require 'zstd-ruby' +res = HTTParty.get('https://example.com/test.json', headers: { 'Accept-Encoding' => 'br,compress,zstd' }) +JSON.parse(res.body) + + +# Accept-Encoding=* may return unhandled Content-Encoding + +res = HTTParty.get('https://example.com/test.json', headers: { 'Accept-Encoding' => '*' }) +encoding = res.headers['Content-Encoding'] +if encoding +JSON.parse(your_decompression_handling(res.body, encoding)) +else +# Content-Encoding not present implies decompressed +JSON.parse(res.body) +end + + +# Gimme the raw data! + +res = HTTParty.get('https://example.com/test.json', skip_decompression: true) +encoding = res.headers['Content-Encoding'] +JSON.parse(your_decompression_handling(res.body, encoding)) +``` diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/README.md b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/README.md new file mode 100644 index 0000000..e79ddc4 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/README.md @@ -0,0 +1,89 @@ +## Examples + +* [Amazon Book Search](aaws.rb) + * Httparty included into poro class + * Uses `get` requests + * Transforms query params to uppercased params + +* [Google Search](google.rb) + * Httparty included into poro class + * Uses `get` requests + +* [Crack Custom Parser](crack.rb) + * Creates a custom parser for XML using crack gem + * Uses `get` request + +* [Create HTML Nokogiri parser](nokogiri_html_parser.rb) + * Adds Html as a format + * passed the body of request to Nokogiri + +* [More Custom Parsers](custom_parsers.rb) + * Create an additional parser for atom or make it the ONLY parser + +* [Basic Auth, Delicious](delicious.rb) + * Basic Auth, shows how to merge those into options + * Uses `get` requests + +* [Passing Headers, User Agent](headers_and_user_agents.rb) + * Use the class method of Httparty + * Pass the User-Agent in the headers + * Uses `get` requests + +* [Basic Post Request](basic.rb) + * Httparty included into poro class + * Uses `post` requests + +* [Access Rubyurl Shortener](rubyurl.rb) + * Httparty included into poro class + * Uses `post` requests + +* [Add a custom log file](logging.rb) + * create a log file and have httparty log requests + +* [Accessing StackExchange](stackexchange.rb) + * Httparty included into poro class + * Creates methods for different endpoints + * Uses `get` requests + +* [Accessing Tripit](tripit_sign_in.rb) + * Httparty included into poro class + * Example of using `debug_output` to see headers/urls passed + * Getting and using Cookies + * Uses `get` requests + +* [Accessing Twitter](twitter.rb) + * Httparty included into poro class + * Basic Auth + * Loads settings from a config file + * Uses `get` requests + * Uses `post` requests + +* [Accessing WhoIsMyRep](whoismyrep.rb) + * Httparty included into poro class + * Uses `get` requests + * Two ways to pass params to get, inline on the url or in query hash + +* [Rescue Json Error](rescue_json.rb) + * Rescue errors due to parsing response + +* [Download file using stream mode](stream_download.rb) + * Uses `get` requests + * Uses `stream_body` mode + * Download file without using the memory + +* [Microsoft graph](microsoft_graph.rb) + * Basic Auth + * Uses `post` requests + * Uses multipart + +* [Multipart](multipart.rb) + * Multipart data upload _(with and without file)_ + +* [Uploading File](body_stream.rb) + * Uses `body_stream` to upload file + +* [Accessing x509 Peer Certificate](peer_cert.rb) + * Provides access to the server's TLS certificate + +* [Accessing IDNs](idn.rb) + * Uses a `get` request with an International domain names, which are Urls with emojis and non-ASCII characters such as accented letters. \ No newline at end of file diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/aaws.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/aaws.rb new file mode 100644 index 0000000..1fb9a62 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/aaws.rb @@ -0,0 +1,36 @@ +require 'rubygems' +require 'active_support' +require 'active_support/core_ext/hash' +require 'active_support/core_ext/string' + +dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib')) +require File.join(dir, 'httparty') +require 'pp' +config = YAML.load(File.read(File.join(ENV['HOME'], '.aaws'))) + +module AAWS + class Book + include HTTParty + base_uri 'http://ecs.amazonaws.com' + default_params Service: 'AWSECommerceService', Operation: 'ItemSearch', SearchIndex: 'Books' + + def initialize(key) + @auth = { AWSAccessKeyId: key } + end + + def search(options = {}) + raise ArgumentError, 'You must search for something' if options[:query].blank? + + # amazon uses nasty camelized query params + options[:query] = options[:query] + .reverse_merge(@auth) + .transform_keys { |k| k.to_s.camelize } + + # make a request and return the items (NOTE: this doesn't handle errors at this point) + self.class.get('/onca/xml', options)['ItemSearchResponse']['Items'] + end + end +end + +aaws = AAWS::Book.new(config[:access_key]) +pp aaws.search(query: { title: 'Ruby On Rails' }) diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/basic.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/basic.rb new file mode 100644 index 0000000..6f784be --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/basic.rb @@ -0,0 +1,28 @@ +dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib')) +require File.join(dir, 'httparty') +require 'pp' + +# You can also use post, put, delete, head, options in the same fashion +response = HTTParty.get('https://api.stackexchange.com/2.2/questions?site=stackoverflow') +puts response.body, response.code, response.message, response.headers.inspect + +# An example post to a minimal rails app in the development environment +# Note that "skip_before_filter :verify_authenticity_token" must be set in the +# "pears" controller for this example + +class Partay + include HTTParty + base_uri 'http://localhost:3000' +end + +options = { + body: { + pear: { # your resource + foo: '123', # your columns/data + bar: 'second', + baz: 'last thing' + } + } +} + +pp Partay.post('/pears.xml', options) diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/body_stream.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/body_stream.rb new file mode 100644 index 0000000..8ca405e --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/body_stream.rb @@ -0,0 +1,14 @@ +# To upload file to a server use :body_stream + +HTTParty.put( + 'http://localhost:3000/train', + body_stream: File.open('sample_configs/config_train_server_md.yml', 'r') +) + + +# Actually, it works with any IO object + +HTTParty.put( + 'http://localhost:3000/train', + body_stream: StringIO.new('foo') +) diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/crack.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/crack.rb new file mode 100644 index 0000000..bd5eb58 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/crack.rb @@ -0,0 +1,19 @@ +require 'rubygems' +require 'crack' + +dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib')) +require File.join(dir, 'httparty') +require 'pp' + +class Rep + include HTTParty + + parser( + proc do |body, format| + Crack::XML.parse(body) + end + ) +end + +pp Rep.get('http://whoismyrepresentative.com/getall_mems.php?zip=46544') +pp Rep.get('http://whoismyrepresentative.com/getall_mems.php', query: { zip: 46544 }) diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/custom_parsers.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/custom_parsers.rb new file mode 100644 index 0000000..1c88f0f --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/custom_parsers.rb @@ -0,0 +1,68 @@ +dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib')) +require File.join(dir, 'httparty') +require 'pp' + +class ParseAtom + include HTTParty + + # Support Atom along with the default parsers: xml, json, etc. + class Parser::Atom < HTTParty::Parser + SupportedFormats.merge!({"application/atom+xml" => :atom}) + + protected + + # perform atom parsing on body + def atom + body.to_atom + end + end + + parser Parser::Atom +end + +class OnlyParseAtom + include HTTParty + + # Only support Atom + class Parser::OnlyAtom < HTTParty::Parser + SupportedFormats = { "application/atom+xml" => :atom } + + protected + + # perform atom parsing on body + def atom + body.to_atom + end + end + + parser Parser::OnlyAtom +end + +class SkipParsing + include HTTParty + + # Parse the response body however you like + class Parser::Simple < HTTParty::Parser + def parse + body + end + end + + parser Parser::Simple +end + +class AdHocParsing + include HTTParty + parser( + proc do |body, format| + case format + when :json + body.to_json + when :xml + body.to_xml + else + body + end + end + ) +end diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/delicious.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/delicious.rb new file mode 100644 index 0000000..86a7ad6 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/delicious.rb @@ -0,0 +1,37 @@ +dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib')) +require File.join(dir, 'httparty') +require 'pp' +config = YAML.load(File.read(File.join(ENV['HOME'], '.delicious'))) + +class Delicious + include HTTParty + base_uri 'https://api.del.icio.us/v1' + + def initialize(u, p) + @auth = { username: u, password: p } + end + + # query params that filter the posts are: + # tag (optional). Filter by this tag. + # dt (optional). Filter by this date (CCYY-MM-DDThh:mm:ssZ). + # url (optional). Filter by this url. + # ie: posts(query: {tag: 'ruby'}) + def posts(options = {}) + options.merge!({ basic_auth: @auth }) + self.class.get('/posts/get', options) + end + + # query params that filter the posts are: + # tag (optional). Filter by this tag. + # count (optional). Number of items to retrieve (Default:15, Maximum:100). + def recent(options = {}) + options.merge!({ basic_auth: @auth }) + self.class.get('/posts/recent', options) + end +end + +delicious = Delicious.new(config['username'], config['password']) +pp delicious.posts(query: { tag: 'ruby' }) +pp delicious.recent + +delicious.recent['posts']['post'].each { |post| puts post['href'] } diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/google.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/google.rb new file mode 100644 index 0000000..e91d793 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/google.rb @@ -0,0 +1,16 @@ +dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib')) +require File.join(dir, 'httparty') +require 'pp' + +class Google + include HTTParty + format :html +end + +# google.com redirects to www.google.com so this is live test for redirection +pp Google.get('http://google.com') + +puts '', '*' * 70, '' + +# check that ssl is requesting right +pp Google.get('https://www.google.com') diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/headers_and_user_agents.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/headers_and_user_agents.rb new file mode 100644 index 0000000..da8e7c6 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/headers_and_user_agents.rb @@ -0,0 +1,10 @@ +# To send custom user agents to identify your application to a web service (or mask as a specific browser for testing), send "User-Agent" as a hash to headers as shown below. + +dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib')) +require File.join(dir, 'httparty') +require 'pp' + +response = HTTParty.get('http://example.com', { + headers: {"User-Agent" => "Httparty"}, + debug_output: STDOUT, # To show that User-Agent is Httparty +}) diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/idn.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/idn.rb new file mode 100644 index 0000000..4c3d9ba --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/idn.rb @@ -0,0 +1,10 @@ +dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib')) +require File.join(dir, 'httparty') +require 'pp' + +class Idn + include HTTParty + uri_adapter Addressable::URI +end + +pp Idn.get("https://i❤️.ws/emojidomain/💎?format=json") \ No newline at end of file diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/logging.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/logging.rb new file mode 100644 index 0000000..d0dbae5 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/logging.rb @@ -0,0 +1,36 @@ +dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib')) +require File.join(dir, 'httparty') +require 'logger' +require 'pp' + +my_logger = Logger.new STDOUT + +my_logger.info "Logging can be used on the main HTTParty class. It logs redirects too." +HTTParty.get "http://google.com", logger: my_logger + +my_logger.info '*' * 70 + +my_logger.info "It can be used also on a custom class." + +class Google + include HTTParty + logger ::Logger.new STDOUT +end + +Google.get "http://google.com" + +my_logger.info '*' * 70 + +my_logger.info "The default formatter is :apache. The :curl formatter can also be used." +my_logger.info "You can tell which method to call on the logger too. It is info by default." +HTTParty.get "http://google.com", logger: my_logger, log_level: :debug, log_format: :curl + +my_logger.info '*' * 70 + +my_logger.info "These configs are also available on custom classes." +class Google + include HTTParty + logger ::Logger.new(STDOUT), :debug, :curl +end + +Google.get "http://google.com" diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/microsoft_graph.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/microsoft_graph.rb new file mode 100644 index 0000000..0e44b6c --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/microsoft_graph.rb @@ -0,0 +1,52 @@ +require 'httparty' + +class MicrosoftGraph + MS_BASE_URL = "https://login.microsoftonline.com".freeze + TOKEN_REQUEST_PATH = "oauth2/v2.0/token".freeze + + def initialize(tenant_id) + @tenant_id = tenant_id + end + + # Make a request to the Microsoft Graph API, for instance https://graph.microsoft.com/v1.0/users + def request(url) + return false unless (token = bearer_token) + + response = HTTParty.get( + url, + headers: { + Authorization: "Bearer #{token}" + } + ) + + return false unless response.code == 200 + + return JSON.parse(response.body) + end + + private + + # A post to the Microsoft Graph to get a bearer token for the specified tenant. In this example + # our Rails application has already been given permission to request these tokens by the admin of + # the specified tenant_id. + # + # See here for more information https://developer.microsoft.com/en-us/graph/docs/concepts/auth_v2_service + # + # This request also makes use of the multipart/form-data post body. + def bearer_token + response = HTTParty.post( + "#{MS_BASE_URL}/#{@tenant_id}/#{TOKEN_REQUEST_PATH}", + multipart: true, + body: { + client_id: Rails.application.credentials[Rails.env.to_sym][:microsoft_client_id], + client_secret: Rails.application.credentials[Rails.env.to_sym][:microsoft_client_secret], + scope: 'https://graph.microsoft.com/.default', + grant_type: 'client_credentials' + } + ) + + return false unless response.code == 200 + + JSON.parse(response.body)['access_token'] + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/multipart.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/multipart.rb new file mode 100644 index 0000000..24c6916 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/multipart.rb @@ -0,0 +1,22 @@ +# If you are uploading file in params, multipart will used as content-type automatically + +HTTParty.post( + 'http://localhost:3000/user', + body: { + name: 'Foo Bar', + email: 'example@email.com', + avatar: File.open('/full/path/to/avatar.jpg') + } +) + + +# However, you can force it yourself + +HTTParty.post( + 'http://localhost:3000/user', + multipart: true, + body: { + name: 'Foo Bar', + email: 'example@email.com' + } +) diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/nokogiri_html_parser.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/nokogiri_html_parser.rb new file mode 100644 index 0000000..94c3ae1 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/nokogiri_html_parser.rb @@ -0,0 +1,19 @@ +require 'rubygems' +require 'nokogiri' + +dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib')) +require File.join(dir, 'httparty') +require 'pp' + +class HtmlParserIncluded < HTTParty::Parser + def html + Nokogiri::HTML(body) + end +end + +class Page + include HTTParty + parser HtmlParserIncluded +end + +pp Page.get('http://www.google.com') diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/party_foul_mode.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/party_foul_mode.rb new file mode 100644 index 0000000..e11dcfc --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/party_foul_mode.rb @@ -0,0 +1,90 @@ +require 'httparty' + +class APIClient + include HTTParty + base_uri 'api.example.com' + + def self.fetch_user(id) + begin + get("/users/#{id}", foul: true) + rescue HTTParty::NetworkError => e + handle_network_error(e) + rescue HTTParty::ResponseError => e + handle_api_error(e) + end + end + + private + + def self.handle_network_error(error) + case error.cause + when Errno::ECONNREFUSED + { + error: :server_down, + message: "The API server appears to be down", + details: error.message + } + when Net::OpenTimeout, Timeout::Error + { + error: :timeout, + message: "The request timed out", + details: error.message + } + when SocketError + { + error: :network_error, + message: "Could not connect to the API server", + details: error.message + } + when OpenSSL::SSL::SSLError + { + error: :ssl_error, + message: "SSL certificate verification failed", + details: error.message + } + else + { + error: :unknown_network_error, + message: "An unexpected network error occurred", + details: error.message + } + end + end + + def self.handle_api_error(error) + { + error: :api_error, + message: "API returned error #{error.response.code}", + details: error.response.body + } + end +end + +# Example usage: + +# 1. When server is down +result = APIClient.fetch_user(123) +puts "Server down example:" +puts result.inspect +puts + +# 2. When request times out +result = APIClient.fetch_user(456) +puts "Timeout example:" +puts result.inspect +puts + +# 3. When SSL error occurs +result = APIClient.fetch_user(789) +puts "SSL error example:" +puts result.inspect +puts + +# 4. Simple example without a wrapper class +begin + HTTParty.get('https://api.example.com/users', foul: true) +rescue HTTParty::Foul => e + puts "Direct usage example:" + puts "Error type: #{e.cause.class}" + puts "Error message: #{e.message}" +end diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/peer_cert.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/peer_cert.rb new file mode 100644 index 0000000..a16de68 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/peer_cert.rb @@ -0,0 +1,9 @@ +dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib')) +require File.join(dir, 'httparty') + +peer_cert = nil +HTTParty.get("https://www.example.com") do |fragment| + peer_cert ||= fragment.connection.peer_cert +end + +puts "The server's certificate expires #{peer_cert.not_after}" diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/rescue_json.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/rescue_json.rb new file mode 100644 index 0000000..a4b6621 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/rescue_json.rb @@ -0,0 +1,17 @@ +dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib')) +require File.join(dir, 'httparty') + +# Take note of the "; 1" at the end of the following line. It's required only if +# running this in IRB, because IRB will try to inspect the variable named +# "request", triggering the exception. +request = HTTParty.get 'https://rubygems.org/api/v1/versions/doesnotexist.json' ; 1 + +# Check an exception due to parsing the response +# because HTTParty evaluate the response lazily +begin + request.inspect + # This would also suffice by forcing the request to be parsed: + # request.parsed_response +rescue => e + puts "Rescued #{e.inspect}" +end diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/rubyurl.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/rubyurl.rb new file mode 100644 index 0000000..54458e0 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/rubyurl.rb @@ -0,0 +1,14 @@ +dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib')) +require File.join(dir, 'httparty') +require 'pp' + +class Rubyurl + include HTTParty + base_uri 'rubyurl.com' + + def self.shorten(website_url) + post('/api/links.json', query: { link: { website_url: website_url } }) + end +end + +pp Rubyurl.shorten('http://istwitterdown.com/') diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/stackexchange.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/stackexchange.rb new file mode 100644 index 0000000..f262dc1 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/stackexchange.rb @@ -0,0 +1,24 @@ +dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib')) +require File.join(dir, 'httparty') +require 'pp' + +class StackExchange + include HTTParty + base_uri 'api.stackexchange.com' + + def initialize(service, page) + @options = { query: { site: service, page: page } } + end + + def questions + self.class.get("/2.2/questions", @options) + end + + def users + self.class.get("/2.2/users", @options) + end +end + +stack_exchange = StackExchange.new("stackoverflow", 1) +pp stack_exchange.questions +pp stack_exchange.users diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/stream_download.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/stream_download.rb new file mode 100644 index 0000000..4dfcf98 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/stream_download.rb @@ -0,0 +1,26 @@ +dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib')) +require File.join(dir, 'httparty') +require 'pp' + +# download file linux-4.6.4.tar.xz without using the memory +response = nil +filename = "linux-4.6.4.tar.xz" +url = "https://cdn.kernel.org/pub/linux/kernel/v4.x/#{filename}" + +File.open(filename, "w") do |file| + response = HTTParty.get(url, stream_body: true) do |fragment| + if [301, 302].include?(fragment.code) + print "skip writing for redirect" + elsif fragment.code == 200 + print "." + file.write(fragment) + else + raise StandardError, "Non-success status code while streaming #{fragment.code}" + end + end +end +puts + +pp "Success: #{response.success?}" +pp File.stat(filename).inspect +File.unlink(filename) diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/tripit_sign_in.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/tripit_sign_in.rb new file mode 100644 index 0000000..e0fc0cf --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/tripit_sign_in.rb @@ -0,0 +1,44 @@ +dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib')) +require File.join(dir, 'httparty') + +class TripIt + include HTTParty + base_uri 'https://www.tripit.com' + debug_output + + def initialize(email, password) + @email = email + get_response = self.class.get('/account/login') + get_response_cookie = parse_cookie(get_response.headers['Set-Cookie']) + + post_response = self.class.post( + '/account/login', + body: { + login_email_address: email, + login_password: password + }, + headers: {'Cookie' => get_response_cookie.to_cookie_string } + ) + + @cookie = parse_cookie(post_response.headers['Set-Cookie']) + end + + def account_settings + self.class.get('/account/edit', headers: { 'Cookie' => @cookie.to_cookie_string }) + end + + def logged_in? + account_settings.include? "You're logged in as #{@email}" + end + + private + + def parse_cookie(resp) + cookie_hash = CookieHash.new + resp.get_fields('Set-Cookie').each { |c| cookie_hash.add_cookies(c) } + cookie_hash + end +end + +tripit = TripIt.new('email', 'password') +puts "Logged in: #{tripit.logged_in?}" diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/twitter.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/twitter.rb new file mode 100644 index 0000000..812c1f1 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/twitter.rb @@ -0,0 +1,31 @@ +dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib')) +require File.join(dir, 'httparty') +require 'pp' +config = YAML.load(File.read(File.join(ENV['HOME'], '.twitter'))) + +class Twitter + include HTTParty + base_uri 'twitter.com' + + def initialize(u, p) + @auth = {username: u, password: p} + end + + # which can be :friends, :user or :public + # options[:query] can be things like since, since_id, count, etc. + def timeline(which = :friends, options = {}) + options.merge!({ basic_auth: @auth }) + self.class.get("/statuses/#{which}_timeline.json", options) + end + + def post(text) + options = { query: { status: text }, basic_auth: @auth } + self.class.post('/statuses/update.json', options) + end +end + +twitter = Twitter.new(config['email'], config['password']) +pp twitter.timeline +# pp twitter.timeline(:friends, query: {since_id: 868482746}) +# pp twitter.timeline(:friends, query: 'since_id=868482746') +# pp twitter.post('this is a test of 0.2.0') diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/whoismyrep.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/whoismyrep.rb new file mode 100644 index 0000000..c991918 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/examples/whoismyrep.rb @@ -0,0 +1,10 @@ +dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib')) +require File.join(dir, 'httparty') +require 'pp' + +class Rep + include HTTParty +end + +pp Rep.get('http://whoismyrepresentative.com/getall_mems.php?zip=46544') +pp Rep.get('http://whoismyrepresentative.com/getall_mems.php', query: { zip: 46544 }) diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/httparty.gemspec b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/httparty.gemspec new file mode 100644 index 0000000..864263e --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/httparty.gemspec @@ -0,0 +1,32 @@ +# -*- encoding: utf-8 -*- +$LOAD_PATH.push File.expand_path("../lib", __FILE__) +require "httparty/version" + +Gem::Specification.new do |s| + s.name = "httparty" + s.version = HTTParty::VERSION + s.platform = Gem::Platform::RUBY + s.licenses = ['MIT'] + s.authors = ["John Nunemaker", "Sandro Turriate"] + s.email = ["nunemaker@gmail.com"] + s.homepage = "https://github.com/jnunemaker/httparty" + s.summary = 'Makes http fun! Also, makes consuming restful web services dead easy.' + s.description = 'Makes http fun! Also, makes consuming restful web services dead easy.' + s.metadata["changelog_uri"] = 'https://github.com/jnunemaker/httparty/releases' + + s.required_ruby_version = '>= 2.7.0' + + s.add_dependency 'csv' + s.add_dependency 'multi_xml', ">= 0.5.2" + s.add_dependency 'mini_mime', ">= 1.0.0" + + # If this line is removed, all hard partying will cease. + s.post_install_message = "When you HTTParty, you must party hard!" + + all_files = `git ls-files`.split("\n") + test_files = `git ls-files -- {test,spec,features}/*`.split("\n") + + s.files = all_files - test_files + s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) } + s.require_paths = ["lib"] +end diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty.rb new file mode 100644 index 0000000..f04f8d0 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty.rb @@ -0,0 +1,699 @@ +# frozen_string_literal: true + +require 'pathname' +require 'net/http' +require 'uri' + +require 'httparty/module_inheritable_attributes' +require 'httparty/cookie_hash' +require 'httparty/net_digest_auth' +require 'httparty/version' +require 'httparty/connection_adapter' +require 'httparty/logger/logger' +require 'httparty/request/body' +require 'httparty/response_fragment' +require 'httparty/decompressor' +require 'httparty/text_encoder' +require 'httparty/headers_processor' + +# @see HTTParty::ClassMethods +module HTTParty + def self.included(base) + base.extend ClassMethods + base.send :include, ModuleInheritableAttributes + base.send(:mattr_inheritable, :default_options) + base.send(:mattr_inheritable, :default_cookies) + base.instance_variable_set(:@default_options, {}) + base.instance_variable_set(:@default_cookies, CookieHash.new) + end + + # == Common Request Options + # Request methods (get, post, patch, put, delete, head, options) all take a common set of options. These are: + # + # [:+body+:] Body of the request. If passed an object that responds to #to_hash, will try to normalize it first, by default passing it to ActiveSupport::to_params. Any other kind of object will get used as-is. + # [:+http_proxyaddr+:] Address of proxy server to use. + # [:+http_proxyport+:] Port of proxy server to use. + # [:+http_proxyuser+:] User for proxy server authentication. + # [:+http_proxypass+:] Password for proxy server authentication. + # [:+limit+:] Maximum number of redirects to follow. Takes precedences over :+no_follow+. + # [:+query+:] Query string, or an object that responds to #to_hash representing it. Normalized according to the same rules as :+body+. If you specify this on a POST, you must use an object which responds to #to_hash. See also HTTParty::ClassMethods.default_params. + # [:+timeout+:] Timeout for opening connection and reading data. + # [:+local_host+:] Local address to bind to before connecting. + # [:+local_port+:] Local port to bind to before connecting. + # [:+body_stream+:] Allow streaming to a REST server to specify a body_stream. + # [:+stream_body+:] Allow for streaming large files without loading them into memory. + # [:+multipart+:] Force content-type to be multipart + # + # There are also another set of options with names corresponding to various class methods. The methods in question are those that let you set a class-wide default, and the options override the defaults on a request-by-request basis. Those options are: + # * :+base_uri+: see HTTParty::ClassMethods.base_uri. + # * :+basic_auth+: see HTTParty::ClassMethods.basic_auth. Only one of :+basic_auth+ and :+digest_auth+ can be used at a time; if you try using both, you'll get an ArgumentError. + # * :+debug_output+: see HTTParty::ClassMethods.debug_output. + # * :+digest_auth+: see HTTParty::ClassMethods.digest_auth. Only one of :+basic_auth+ and :+digest_auth+ can be used at a time; if you try using both, you'll get an ArgumentError. + # * :+format+: see HTTParty::ClassMethods.format. + # * :+headers+: see HTTParty::ClassMethods.headers. Must be a an object which responds to #to_hash. + # * :+maintain_method_across_redirects+: see HTTParty::ClassMethods.maintain_method_across_redirects. + # * :+no_follow+: see HTTParty::ClassMethods.no_follow. + # * :+parser+: see HTTParty::ClassMethods.parser. + # * :+uri_adapter+: see HTTParty::ClassMethods.uri_adapter + # * :+connection_adapter+: see HTTParty::ClassMethods.connection_adapter. + # * :+pem+: see HTTParty::ClassMethods.pem. + # * :+query_string_normalizer+: see HTTParty::ClassMethods.query_string_normalizer + # * :+ssl_ca_file+: see HTTParty::ClassMethods.ssl_ca_file. + # * :+ssl_ca_path+: see HTTParty::ClassMethods.ssl_ca_path. + + module ClassMethods + # Turns on or off the foul option. + # + # class Foo + # include HTTParty + # foul true + # end + def foul(bool) + default_options[:foul] = bool + end + + # Turns on logging + # + # class Foo + # include HTTParty + # logger Logger.new('http_logger'), :info, :apache + # end + def logger(logger, level = :info, format = :apache) + default_options[:logger] = logger + default_options[:log_level] = level + default_options[:log_format] = format + end + + # Raises HTTParty::ResponseError if response's code matches this statuses + # + # class Foo + # include HTTParty + # raise_on [404, 500, '5[0-9]*'] + # end + def raise_on(codes = []) + default_options[:raise_on] = *codes + end + + # Allows setting http proxy information to be used + # + # class Foo + # include HTTParty + # http_proxy 'http://foo.com', 80, 'user', 'pass' + # end + def http_proxy(addr = nil, port = nil, user = nil, pass = nil) + default_options[:http_proxyaddr] = addr + default_options[:http_proxyport] = port + default_options[:http_proxyuser] = user + default_options[:http_proxypass] = pass + end + + # Allows setting a base uri to be used for each request. + # Will normalize uri to include http, etc. + # + # class Foo + # include HTTParty + # base_uri 'twitter.com' + # end + def base_uri(uri = nil) + return default_options[:base_uri] unless uri + default_options[:base_uri] = HTTParty.normalize_base_uri(uri) + end + + # Allows setting basic authentication username and password. + # + # class Foo + # include HTTParty + # basic_auth 'username', 'password' + # end + def basic_auth(u, p) + default_options[:basic_auth] = {username: u, password: p} + end + + # Allows setting digest authentication username and password. + # + # class Foo + # include HTTParty + # digest_auth 'username', 'password' + # end + def digest_auth(u, p) + default_options[:digest_auth] = {username: u, password: p} + end + + # Do not send rails style query strings. + # Specifically, don't use bracket notation when sending an array + # + # For a query: + # get '/', query: {selected_ids: [1,2,3]} + # + # The default query string looks like this: + # /?selected_ids[]=1&selected_ids[]=2&selected_ids[]=3 + # + # Call `disable_rails_query_string_format` to transform the query string + # into: + # /?selected_ids=1&selected_ids=2&selected_ids=3 + # + # @example + # class Foo + # include HTTParty + # disable_rails_query_string_format + # end + def disable_rails_query_string_format + query_string_normalizer Request::NON_RAILS_QUERY_STRING_NORMALIZER + end + + # Allows setting default parameters to be appended to each request. + # Great for api keys and such. + # + # class Foo + # include HTTParty + # default_params api_key: 'secret', another: 'foo' + # end + def default_params(h = {}) + raise ArgumentError, 'Default params must be an object which responds to #to_hash' unless h.respond_to?(:to_hash) + default_options[:default_params] ||= {} + default_options[:default_params].merge!(h) + end + + # Allows setting a default timeout for all HTTP calls + # Timeout is specified in seconds. + # + # class Foo + # include HTTParty + # default_timeout 10 + # end + def default_timeout(value) + validate_timeout_argument(__method__, value) + default_options[:timeout] = value + end + + # Allows setting a default open_timeout for all HTTP calls in seconds + # + # class Foo + # include HTTParty + # open_timeout 10 + # end + def open_timeout(value) + validate_timeout_argument(__method__, value) + default_options[:open_timeout] = value + end + + # Allows setting a default read_timeout for all HTTP calls in seconds + # + # class Foo + # include HTTParty + # read_timeout 10 + # end + def read_timeout(value) + validate_timeout_argument(__method__, value) + default_options[:read_timeout] = value + end + + # Allows setting a default write_timeout for all HTTP calls in seconds + # Supported by Ruby > 2.6.0 + # + # class Foo + # include HTTParty + # write_timeout 10 + # end + def write_timeout(value) + validate_timeout_argument(__method__, value) + default_options[:write_timeout] = value + end + + + # Set an output stream for debugging, defaults to $stderr. + # The output stream is passed on to Net::HTTP#set_debug_output. + # + # class Foo + # include HTTParty + # debug_output $stderr + # end + def debug_output(stream = $stderr) + default_options[:debug_output] = stream + end + + # Allows setting HTTP headers to be used for each request. + # + # class Foo + # include HTTParty + # headers 'Accept' => 'text/html' + # end + def headers(h = nil) + if h + raise ArgumentError, 'Headers must be an object which responds to #to_hash' unless h.respond_to?(:to_hash) + default_options[:headers] ||= {} + default_options[:headers].merge!(h.to_hash) + else + default_options[:headers] || {} + end + end + + def cookies(h = {}) + raise ArgumentError, 'Cookies must be an object which responds to #to_hash' unless h.respond_to?(:to_hash) + default_cookies.add_cookies(h) + end + + # Proceed to the location header when an HTTP response dictates a redirect. + # Redirects are always followed by default. + # + # @example + # class Foo + # include HTTParty + # base_uri 'http://google.com' + # follow_redirects true + # end + def follow_redirects(value = true) + default_options[:follow_redirects] = value + end + + # Allows setting the format with which to parse. + # Must be one of the allowed formats ie: json, xml + # + # class Foo + # include HTTParty + # format :json + # end + def format(f = nil) + if f.nil? + default_options[:format] + else + parser(Parser) if parser.nil? + default_options[:format] = f + validate_format + end + end + + # Declare whether or not to follow redirects. When true, an + # {HTTParty::RedirectionTooDeep} error will raise upon encountering a + # redirect. You can then gain access to the response object via + # HTTParty::RedirectionTooDeep#response. + # + # @see HTTParty::ResponseError#response + # + # @example + # class Foo + # include HTTParty + # base_uri 'http://google.com' + # no_follow true + # end + # + # begin + # Foo.get('/') + # rescue HTTParty::RedirectionTooDeep => e + # puts e.response.body + # end + def no_follow(value = false) + default_options[:no_follow] = value + end + + # Declare that you wish to maintain the chosen HTTP method across redirects. + # The default behavior is to follow redirects via the GET method, except + # if you are making a HEAD request, in which case the default is to + # follow all redirects with HEAD requests. + # If you wish to maintain the original method, you can set this option to true. + # + # @example + # class Foo + # include HTTParty + # base_uri 'http://google.com' + # maintain_method_across_redirects true + # end + + def maintain_method_across_redirects(value = true) + default_options[:maintain_method_across_redirects] = value + end + + # Declare that you wish to resend the full HTTP request across redirects, + # even on redirects that should logically become GET requests. + # A 303 redirect in HTTP signifies that the redirected url should normally + # retrieved using a GET request, for instance, it is the output of a previous + # POST. maintain_method_across_redirects respects this behavior, but you + # can force HTTParty to resend_on_redirect even on 303 responses. + # + # @example + # class Foo + # include HTTParty + # base_uri 'http://google.com' + # resend_on_redirect + # end + + def resend_on_redirect(value = true) + default_options[:resend_on_redirect] = value + end + + # Allows setting a PEM file to be used + # + # class Foo + # include HTTParty + # pem File.read('/home/user/my.pem'), "optional password" + # end + def pem(pem_contents, password = nil) + default_options[:pem] = pem_contents + default_options[:pem_password] = password + end + + # Allows setting a PKCS12 file to be used + # + # class Foo + # include HTTParty + # pkcs12 File.read('/home/user/my.p12'), "password" + # end + def pkcs12(p12_contents, password) + default_options[:p12] = p12_contents + default_options[:p12_password] = password + end + + # Override the way query strings are normalized. + # Helpful for overriding the default rails normalization of Array queries. + # + # For a query: + # get '/', query: {selected_ids: [1,2,3]} + # + # The default query string normalizer returns: + # /?selected_ids[]=1&selected_ids[]=2&selected_ids[]=3 + # + # Let's change it to this: + # /?selected_ids=1&selected_ids=2&selected_ids=3 + # + # Pass a Proc to the query normalizer which accepts the yielded query. + # + # @example Modifying Array query strings + # class ServiceWrapper + # include HTTParty + # + # query_string_normalizer proc { |query| + # query.map do |key, value| + # value.map {|v| "#{key}=#{v}"} + # end.join('&') + # } + # end + # + # @param [Proc] normalizer custom query string normalizer. + # @yield [Hash, String] query string + # @yieldreturn [Array] an array that will later be joined with '&' + def query_string_normalizer(normalizer) + default_options[:query_string_normalizer] = normalizer + end + + # Allows setting of SSL version to use. This only works in Ruby 1.9+. + # You can get a list of valid versions from OpenSSL::SSL::SSLContext::METHODS. + # + # class Foo + # include HTTParty + # ssl_version :SSLv3 + # end + def ssl_version(version) + default_options[:ssl_version] = version + end + + # Deactivate automatic decompression of the response body. + # This will require you to explicitly handle body decompression + # by inspecting the Content-Encoding response header. + # + # Refer to docs/README.md "HTTP Compression" section for + # further details. + # + # @example + # class Foo + # include HTTParty + # skip_decompression + # end + def skip_decompression(value = true) + default_options[:skip_decompression] = !!value + end + + # Allows setting of SSL ciphers to use. This only works in Ruby 1.9+. + # You can get a list of valid specific ciphers from OpenSSL::Cipher.ciphers. + # You also can specify a cipher suite here, listed here at openssl.org: + # http://www.openssl.org/docs/apps/ciphers.html#CIPHER_SUITE_NAMES + # + # class Foo + # include HTTParty + # ciphers "RC4-SHA" + # end + def ciphers(cipher_names) + default_options[:ciphers] = cipher_names + end + + # Allows setting an OpenSSL certificate authority file. The file + # should contain one or more certificates in PEM format. + # + # Setting this option enables certificate verification. All + # certificates along a chain must be available in ssl_ca_file or + # ssl_ca_path for verification to succeed. + # + # + # class Foo + # include HTTParty + # ssl_ca_file '/etc/ssl/certs/ca-certificates.crt' + # end + def ssl_ca_file(path) + default_options[:ssl_ca_file] = path + end + + # Allows setting an OpenSSL certificate authority path (directory). + # + # Setting this option enables certificate verification. All + # certificates along a chain must be available in ssl_ca_file or + # ssl_ca_path for verification to succeed. + # + # class Foo + # include HTTParty + # ssl_ca_path '/etc/ssl/certs/' + # end + def ssl_ca_path(path) + default_options[:ssl_ca_path] = path + end + + # Allows setting a custom parser for the response. + # + # class Foo + # include HTTParty + # parser Proc.new {|data| ...} + # end + def parser(custom_parser = nil) + if custom_parser.nil? + default_options[:parser] + else + default_options[:parser] = custom_parser + validate_format + end + end + + # Allows setting a custom URI adapter. + # + # class Foo + # include HTTParty + # uri_adapter Addressable::URI + # end + def uri_adapter(uri_adapter) + raise ArgumentError, 'The URI adapter should respond to #parse' unless uri_adapter.respond_to?(:parse) + default_options[:uri_adapter] = uri_adapter + end + + # Allows setting a custom connection_adapter for the http connections + # + # @example + # class Foo + # include HTTParty + # connection_adapter Proc.new {|uri, options| ... } + # end + # + # @example provide optional configuration for your connection_adapter + # class Foo + # include HTTParty + # connection_adapter Proc.new {|uri, options| ... }, {foo: :bar} + # end + # + # @see HTTParty::ConnectionAdapter + def connection_adapter(custom_adapter = nil, options = nil) + if custom_adapter.nil? + default_options[:connection_adapter] + else + default_options[:connection_adapter] = custom_adapter + default_options[:connection_adapter_options] = options + end + end + + # Allows making a get request to a url. + # + # class Foo + # include HTTParty + # end + # + # # Simple get with full url + # Foo.get('http://foo.com/resource.json') + # + # # Simple get with full url and query parameters + # # ie: http://foo.com/resource.json?limit=10 + # Foo.get('http://foo.com/resource.json', query: {limit: 10}) + def get(path, options = {}, &block) + perform_request Net::HTTP::Get, path, options, &block + end + + # Allows making a post request to a url. + # + # class Foo + # include HTTParty + # end + # + # # Simple post with full url and setting the body + # Foo.post('http://foo.com/resources', body: {bar: 'baz'}) + # + # # Simple post with full url using :query option, + # # which appends the parameters to the URI. + # Foo.post('http://foo.com/resources', query: {bar: 'baz'}) + def post(path, options = {}, &block) + perform_request Net::HTTP::Post, path, options, &block + end + + # Perform a PATCH request to a path + def patch(path, options = {}, &block) + perform_request Net::HTTP::Patch, path, options, &block + end + + # Perform a PUT request to a path + def put(path, options = {}, &block) + perform_request Net::HTTP::Put, path, options, &block + end + + # Perform a DELETE request to a path + def delete(path, options = {}, &block) + perform_request Net::HTTP::Delete, path, options, &block + end + + # Perform a MOVE request to a path + def move(path, options = {}, &block) + perform_request Net::HTTP::Move, path, options, &block + end + + # Perform a COPY request to a path + def copy(path, options = {}, &block) + perform_request Net::HTTP::Copy, path, options, &block + end + + # Perform a HEAD request to a path + def head(path, options = {}, &block) + ensure_method_maintained_across_redirects options + perform_request Net::HTTP::Head, path, options, &block + end + + # Perform an OPTIONS request to a path + def options(path, options = {}, &block) + perform_request Net::HTTP::Options, path, options, &block + end + + # Perform a MKCOL request to a path + def mkcol(path, options = {}, &block) + perform_request Net::HTTP::Mkcol, path, options, &block + end + + def lock(path, options = {}, &block) + perform_request Net::HTTP::Lock, path, options, &block + end + + def unlock(path, options = {}, &block) + perform_request Net::HTTP::Unlock, path, options, &block + end + + def build_request(http_method, path, options = {}) + options = ModuleInheritableAttributes.hash_deep_dup(default_options).merge(options) + HeadersProcessor.new(headers, options).call + process_cookies(options) + Request.new(http_method, path, options) + end + + attr_reader :default_options + + private + + def validate_timeout_argument(timeout_type, value) + raise ArgumentError, "#{ timeout_type } must be an integer or float" unless value && (value.is_a?(Integer) || value.is_a?(Float)) + end + + def ensure_method_maintained_across_redirects(options) + unless options.key?(:maintain_method_across_redirects) + options[:maintain_method_across_redirects] = true + end + end + + def perform_request(http_method, path, options, &block) #:nodoc: + build_request(http_method, path, options).perform(&block) + end + + def process_cookies(options) #:nodoc: + return unless options[:cookies] || default_cookies.any? + options[:headers] ||= headers.dup + options[:headers]['cookie'] = cookies.merge(options.delete(:cookies) || {}).to_cookie_string + end + + def validate_format + if format && parser.respond_to?(:supports_format?) && !parser.supports_format?(format) + supported_format_names = parser.supported_formats.map(&:to_s).sort.join(', ') + raise UnsupportedFormat, "'#{format.inspect}' Must be one of: #{supported_format_names}" + end + end + end + + def self.normalize_base_uri(url) #:nodoc: + normalized_url = url.dup + use_ssl = (normalized_url =~ /^https/) || (normalized_url =~ /:443\b/) + ends_with_slash = normalized_url =~ /\/$/ + + normalized_url.chop! if ends_with_slash + normalized_url.gsub!(/^https?:\/\//i, '') + + "http#{'s' if use_ssl}://#{normalized_url}" + end + + class Basement #:nodoc: + include HTTParty + end + + def self.get(*args, &block) + Basement.get(*args, &block) + end + + def self.post(*args, &block) + Basement.post(*args, &block) + end + + def self.patch(*args, &block) + Basement.patch(*args, &block) + end + + def self.put(*args, &block) + Basement.put(*args, &block) + end + + def self.delete(*args, &block) + Basement.delete(*args, &block) + end + + def self.move(*args, &block) + Basement.move(*args, &block) + end + + def self.copy(*args, &block) + Basement.copy(*args, &block) + end + + def self.head(*args, &block) + Basement.head(*args, &block) + end + + def self.options(*args, &block) + Basement.options(*args, &block) + end + + def self.build_request(*args, &block) + Basement.build_request(*args, &block) + end +end + +require 'httparty/hash_conversions' +require 'httparty/utils' +require 'httparty/exceptions' +require 'httparty/parser' +require 'httparty/request' +require 'httparty/response' diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/connection_adapter.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/connection_adapter.rb new file mode 100644 index 0000000..262016f --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/connection_adapter.rb @@ -0,0 +1,237 @@ +# frozen_string_literal: true + +module HTTParty + # Default connection adapter that returns a new Net::HTTP each time + # + # == Custom Connection Factories + # + # If you like to implement your own connection adapter, subclassing + # HTTParty::ConnectionAdapter will make it easier. Just override + # the #connection method. The uri and options attributes will have + # all the info you need to construct your http connection. Whatever + # you return from your connection method needs to adhere to the + # Net::HTTP interface as this is what HTTParty expects. + # + # @example log the uri and options + # class LoggingConnectionAdapter < HTTParty::ConnectionAdapter + # def connection + # puts uri + # puts options + # Net::HTTP.new(uri) + # end + # end + # + # @example count number of http calls + # class CountingConnectionAdapter < HTTParty::ConnectionAdapter + # @@count = 0 + # + # self.count + # @@count + # end + # + # def connection + # self.count += 1 + # super + # end + # end + # + # === Configuration + # There is lots of configuration data available for your connection adapter + # in the #options attribute. It is up to you to interpret them within your + # connection adapter. Take a look at the implementation of + # HTTParty::ConnectionAdapter#connection for examples of how they are used. + # The keys used in options are + # * :+timeout+: timeout in seconds + # * :+open_timeout+: http connection open_timeout in seconds, overrides timeout if set + # * :+read_timeout+: http connection read_timeout in seconds, overrides timeout if set + # * :+write_timeout+: http connection write_timeout in seconds, overrides timeout if set (Ruby >= 2.6.0 required) + # * :+debug_output+: see HTTParty::ClassMethods.debug_output. + # * :+cert_store+: contains certificate data. see method 'attach_ssl_certificates' + # * :+pem+: contains pem client certificate data. see method 'attach_ssl_certificates' + # * :+p12+: contains PKCS12 client client certificate data. see method 'attach_ssl_certificates' + # * :+verify+: verify the server’s certificate against the ca certificate. + # * :+verify_peer+: set to false to turn off server verification but still send client certificate + # * :+ssl_ca_file+: see HTTParty::ClassMethods.ssl_ca_file. + # * :+ssl_ca_path+: see HTTParty::ClassMethods.ssl_ca_path. + # * :+ssl_version+: SSL versions to allow. see method 'attach_ssl_certificates' + # * :+ciphers+: The list of SSL ciphers to support + # * :+connection_adapter_options+: contains the hash you passed to HTTParty.connection_adapter when you configured your connection adapter + # * :+local_host+: The local address to bind to + # * :+local_port+: The local port to bind to + # * :+http_proxyaddr+: HTTP Proxy address + # * :+http_proxyport+: HTTP Proxy port + # * :+http_proxyuser+: HTTP Proxy user + # * :+http_proxypass+: HTTP Proxy password + # + # === Inherited methods + # * :+clean_host+: Method used to sanitize host names + + class ConnectionAdapter + # Private: Regex used to strip brackets from IPv6 URIs. + StripIpv6BracketsRegex = /\A\[(.*)\]\z/ + + OPTION_DEFAULTS = { + verify: true, + verify_peer: true + } + + # Public + def self.call(uri, options) + new(uri, options).connection + end + + def self.default_cert_store + @default_cert_store ||= OpenSSL::X509::Store.new.tap do |cert_store| + cert_store.set_default_paths + end + end + + attr_reader :uri, :options + + def initialize(uri, options = {}) + uri_adapter = options[:uri_adapter] || URI + raise ArgumentError, "uri must be a #{uri_adapter}, not a #{uri.class}" unless uri.is_a? uri_adapter + + @uri = uri + @options = OPTION_DEFAULTS.merge(options) + end + + def connection + host = clean_host(uri.host) + port = uri.port || (uri.scheme == 'https' ? 443 : 80) + if options.key?(:http_proxyaddr) + http = Net::HTTP.new( + host, + port, + options[:http_proxyaddr], + options[:http_proxyport], + options[:http_proxyuser], + options[:http_proxypass] + ) + else + http = Net::HTTP.new(host, port) + end + + http.use_ssl = ssl_implied?(uri) + + attach_ssl_certificates(http, options) + + if add_timeout?(options[:timeout]) + http.open_timeout = options[:timeout] + http.read_timeout = options[:timeout] + http.write_timeout = options[:timeout] + end + + if add_timeout?(options[:read_timeout]) + http.read_timeout = options[:read_timeout] + end + + if add_timeout?(options[:open_timeout]) + http.open_timeout = options[:open_timeout] + end + + if add_timeout?(options[:write_timeout]) + http.write_timeout = options[:write_timeout] + end + + if add_max_retries?(options[:max_retries]) + http.max_retries = options[:max_retries] + end + + if options[:debug_output] + http.set_debug_output(options[:debug_output]) + end + + if options[:ciphers] + http.ciphers = options[:ciphers] + end + + # Bind to a specific local address or port + # + # @see https://bugs.ruby-lang.org/issues/6617 + if options[:local_host] + http.local_host = options[:local_host] + end + + if options[:local_port] + http.local_port = options[:local_port] + end + + http + end + + private + + def add_timeout?(timeout) + timeout && (timeout.is_a?(Integer) || timeout.is_a?(Float)) + end + + def add_max_retries?(max_retries) + max_retries && max_retries.is_a?(Integer) && max_retries >= 0 + end + + def clean_host(host) + strip_ipv6_brackets(host) + end + + def strip_ipv6_brackets(host) + StripIpv6BracketsRegex =~ host ? $1 : host + end + + def ssl_implied?(uri) + uri.port == 443 || uri.scheme == 'https' + end + + def verify_ssl_certificate? + !(options[:verify] == false || options[:verify_peer] == false) + end + + def attach_ssl_certificates(http, options) + if http.use_ssl? + if options.fetch(:verify, true) + http.verify_mode = OpenSSL::SSL::VERIFY_PEER + if options[:cert_store] + http.cert_store = options[:cert_store] + else + # Use the default cert store by default, i.e. system ca certs + http.cert_store = self.class.default_cert_store + end + else + http.verify_mode = OpenSSL::SSL::VERIFY_NONE + end + + # Client certificate authentication + # Note: options[:pem] must contain the content of a PEM file having the private key appended + if options[:pem] + http.cert = OpenSSL::X509::Certificate.new(options[:pem]) + http.key = OpenSSL::PKey.read(options[:pem], options[:pem_password]) + http.verify_mode = verify_ssl_certificate? ? OpenSSL::SSL::VERIFY_PEER : OpenSSL::SSL::VERIFY_NONE + end + + # PKCS12 client certificate authentication + if options[:p12] + p12 = OpenSSL::PKCS12.new(options[:p12], options[:p12_password]) + http.cert = p12.certificate + http.key = p12.key + http.verify_mode = verify_ssl_certificate? ? OpenSSL::SSL::VERIFY_PEER : OpenSSL::SSL::VERIFY_NONE + end + + # SSL certificate authority file and/or directory + if options[:ssl_ca_file] + http.ca_file = options[:ssl_ca_file] + http.verify_mode = OpenSSL::SSL::VERIFY_PEER + end + + if options[:ssl_ca_path] + http.ca_path = options[:ssl_ca_path] + http.verify_mode = OpenSSL::SSL::VERIFY_PEER + end + + # This is only Ruby 1.9+ + if options[:ssl_version] && http.respond_to?(:ssl_version=) + http.ssl_version = options[:ssl_version] + end + end + end + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/cookie_hash.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/cookie_hash.rb new file mode 100644 index 0000000..7d33d17 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/cookie_hash.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +class HTTParty::CookieHash < Hash #:nodoc: + CLIENT_COOKIES = %w(path expires domain path secure httponly samesite) + + def add_cookies(data) + case data + when Hash + merge!(data) + when String + data.split('; ').each do |cookie| + key, value = cookie.split('=', 2) + self[key.to_sym] = value if key + end + else + raise "add_cookies only takes a Hash or a String" + end + end + + def to_cookie_string + select { |k, v| !CLIENT_COOKIES.include?(k.to_s.downcase) }.collect { |k, v| "#{k}=#{v}" }.join('; ') + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/decompressor.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/decompressor.rb new file mode 100644 index 0000000..8557c47 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/decompressor.rb @@ -0,0 +1,102 @@ +# frozen_string_literal: true + +module HTTParty + # Decompresses the response body based on the Content-Encoding header. + # + # Net::HTTP automatically decompresses Content-Encoding values "gzip" and "deflate". + # This class will handle "br" (Brotli) and "compress" (LZW) if the requisite + # gems are installed. Otherwise, it returns nil if the body data cannot be + # decompressed. + # + # @abstract Read the HTTP Compression section for more information. + class Decompressor + + # "gzip" and "deflate" are handled by Net::HTTP + # hence they do not need to be handled by HTTParty + SupportedEncodings = { + 'none' => :none, + 'identity' => :none, + 'br' => :brotli, + 'compress' => :lzw, + 'zstd' => :zstd + }.freeze + + # The response body of the request + # @return [String] + attr_reader :body + + # The Content-Encoding algorithm used to encode the body + # @return [Symbol] e.g. :gzip + attr_reader :encoding + + # @param [String] body - the response body of the request + # @param [Symbol] encoding - the Content-Encoding algorithm used to encode the body + def initialize(body, encoding) + @body = body + @encoding = encoding + end + + # Perform decompression on the response body + # @return [String] the decompressed body + # @return [nil] when the response body is nil or cannot decompressed + def decompress + return nil if body.nil? + return body if encoding.nil? || encoding.strip.empty? + + if supports_encoding? + decompress_supported_encoding + else + nil + end + end + + protected + + def supports_encoding? + SupportedEncodings.keys.include?(encoding) + end + + def decompress_supported_encoding + method = SupportedEncodings[encoding] + if respond_to?(method, true) + send(method) + else + raise NotImplementedError, "#{self.class.name} has not implemented a decompression method for #{encoding.inspect} encoding." + end + end + + def none + body + end + + def brotli + return nil unless defined?(::Brotli) + begin + ::Brotli.inflate(body) + rescue StandardError + nil + end + end + + def lzw + begin + if defined?(::LZWS::String) + ::LZWS::String.decompress(body) + elsif defined?(::LZW::Simple) + ::LZW::Simple.new.decompress(body) + end + rescue StandardError + nil + end + end + + def zstd + return nil unless defined?(::Zstd) + begin + ::Zstd.decompress(body) + rescue StandardError + nil + end + end + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/exceptions.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/exceptions.rb new file mode 100644 index 0000000..ddc93fc --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/exceptions.rb @@ -0,0 +1,62 @@ +# frozen_string_literal: true + +module HTTParty + COMMON_NETWORK_ERRORS = [ + EOFError, + Errno::ECONNABORTED, + Errno::ECONNREFUSED, + Errno::ECONNRESET, + Errno::EHOSTUNREACH, + Errno::EINVAL, + Errno::ENETUNREACH, + Errno::ENOTSOCK, + Errno::EPIPE, + Errno::ETIMEDOUT, + Net::HTTPBadResponse, + Net::HTTPHeaderSyntaxError, + Net::ProtocolError, + Net::ReadTimeout, + OpenSSL::SSL::SSLError, + SocketError, + Timeout::Error # Also covers subclasses like Net::OpenTimeout + ].freeze + + # @abstract Exceptions raised by HTTParty inherit from Error + class Error < StandardError; end + + # @abstract Exceptions raised by HTTParty inherit from this because it is funny + # and if you don't like fun you should be using a different library. + class Foul < Error; end + + # Exception raised when you attempt to set a non-existent format + class UnsupportedFormat < Foul; end + + # Exception raised when using a URI scheme other than HTTP or HTTPS + class UnsupportedURIScheme < Foul; end + + # @abstract Exceptions which inherit from ResponseError contain the Net::HTTP + # response object accessible via the {#response} method. + class ResponseError < Foul + # Returns the response of the last request + # @return [Net::HTTPResponse] A subclass of Net::HTTPResponse, e.g. + # Net::HTTPOK + attr_reader :response + + # Instantiate an instance of ResponseError with a Net::HTTPResponse object + # @param [Net::HTTPResponse] + def initialize(response) + @response = response + super(response) + end + end + + # Exception that is raised when request has redirected too many times. + # Calling {#response} returns the Net:HTTP response object. + class RedirectionTooDeep < ResponseError; end + + # Exception that is raised when request redirects and location header is present more than once + class DuplicateLocationHeader < ResponseError; end + + # Exception that is raised when common network errors occur. + class NetworkError < Foul; end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/hash_conversions.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/hash_conversions.rb new file mode 100644 index 0000000..270effe --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/hash_conversions.rb @@ -0,0 +1,71 @@ +# frozen_string_literal: true + +require 'erb' + +module HTTParty + module HashConversions + # @return This hash as a query string + # + # @example + # { name: "Bob", + # address: { + # street: '111 Ruby Ave.', + # city: 'Ruby Central', + # phones: ['111-111-1111', '222-222-2222'] + # } + # }.to_params + # #=> "name=Bob&address[city]=Ruby Central&address[phones][]=111-111-1111&address[phones][]=222-222-2222&address[street]=111 Ruby Ave." + def self.to_params(hash) + hash.to_hash.map { |k, v| normalize_param(k, v) }.join.chop + end + + # @param key The key for the param. + # @param value The value for the param. + # + # @return This key value pair as a param + # + # @example normalize_param(:name, "Bob Jones") #=> "name=Bob%20Jones&" + def self.normalize_param(key, value) + normalized_keys = normalize_keys(key, value) + + normalized_keys.flatten.each_slice(2).inject(''.dup) do |string, (k, v)| + string << "#{ERB::Util.url_encode(k)}=#{ERB::Util.url_encode(v.to_s)}&" + end + end + + def self.normalize_keys(key, value) + stack = [] + normalized_keys = [] + + if value.respond_to?(:to_ary) + if value.empty? + normalized_keys << ["#{key}[]", ''] + else + normalized_keys = value.to_ary.flat_map do |element| + normalize_keys("#{key}[]", element) + end + end + elsif value.respond_to?(:to_hash) + stack << [key, value.to_hash] + else + normalized_keys << [key.to_s, value] + end + + stack.each do |parent, hash| + hash.each do |child_key, child_value| + if child_value.respond_to?(:to_hash) + stack << ["#{parent}[#{child_key}]", child_value.to_hash] + elsif child_value.respond_to?(:to_ary) + child_value.to_ary.each do |v| + normalized_keys << normalize_keys("#{parent}[#{child_key}][]", v).flatten + end + else + normalized_keys << normalize_keys("#{parent}[#{child_key}]", child_value).flatten + end + end + end + + normalized_keys + end + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/headers_processor.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/headers_processor.rb new file mode 100644 index 0000000..05b82c6 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/headers_processor.rb @@ -0,0 +1,32 @@ +# frozen_string_literal: true + +module HTTParty + class HeadersProcessor + attr_reader :headers, :options + + def initialize(headers, options) + @headers = headers + @options = options + end + + def call + return unless options[:headers] + + options[:headers] = headers.merge(options[:headers]) if headers.any? + options[:headers] = Utils.stringify_keys(process_dynamic_headers) + end + + private + + def process_dynamic_headers + options[:headers].each_with_object({}) do |header, processed_headers| + key, value = header + processed_headers[key] = if value.respond_to?(:call) + value.arity == 0 ? value.call : value.call(options) + else + value + end + end + end + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/logger/apache_formatter.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/logger/apache_formatter.rb new file mode 100644 index 0000000..1e3fe97 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/logger/apache_formatter.rb @@ -0,0 +1,47 @@ +# frozen_string_literal: true + +module HTTParty + module Logger + class ApacheFormatter #:nodoc: + TAG_NAME = HTTParty.name + + attr_accessor :level, :logger + + def initialize(logger, level) + @logger = logger + @level = level.to_sym + end + + def format(request, response) + @request = request + @response = response + + logger.public_send level, message + end + + private + + attr_reader :request, :response + + def message + "[#{TAG_NAME}] [#{current_time}] #{response.code} \"#{http_method} #{path}\" #{content_length || '-'} " + end + + def current_time + Time.now.strftime('%Y-%m-%d %H:%M:%S %z') + end + + def http_method + request.http_method.name.split('::').last.upcase + end + + def path + request.path.to_s + end + + def content_length + response.respond_to?(:headers) ? response.headers['Content-Length'] : response['Content-Length'] + end + end + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/logger/curl_formatter.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/logger/curl_formatter.rb new file mode 100644 index 0000000..eee2aad --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/logger/curl_formatter.rb @@ -0,0 +1,93 @@ +# frozen_string_literal: true + +module HTTParty + module Logger + class CurlFormatter #:nodoc: + TAG_NAME = HTTParty.name + OUT = '>' + IN = '<' + + attr_accessor :level, :logger + + def initialize(logger, level) + @logger = logger + @level = level.to_sym + @messages = [] + end + + def format(request, response) + @request = request + @response = response + + log_request + log_response + + logger.public_send level, messages.join("\n") + end + + private + + attr_reader :request, :response + attr_accessor :messages + + def log_request + log_url + log_headers + log_query + log OUT, request.raw_body if request.raw_body + log OUT + end + + def log_response + log IN, "HTTP/#{response.http_version} #{response.code}" + log_response_headers + log IN, "\n#{response.body}" + log IN + end + + def log_url + http_method = request.http_method.name.split('::').last.upcase + uri = if request.options[:base_uri] + request.options[:base_uri] + request.path.path + else + request.path.to_s + end + + log OUT, "#{http_method} #{uri}" + end + + def log_headers + return unless request.options[:headers] && request.options[:headers].size > 0 + + log OUT, 'Headers: ' + log_hash request.options[:headers] + end + + def log_query + return unless request.options[:query] + + log OUT, 'Query: ' + log_hash request.options[:query] + end + + def log_response_headers + headers = response.respond_to?(:headers) ? response.headers : response + response.each_header do |response_header| + log IN, "#{response_header.capitalize}: #{headers[response_header]}" + end + end + + def log_hash(hash) + hash.each { |k, v| log(OUT, "#{k}: #{v}") } + end + + def log(direction, line = '') + messages << "[#{TAG_NAME}] [#{current_time}] #{direction} #{line}" + end + + def current_time + Time.now.strftime("%Y-%m-%d %H:%M:%S %z") + end + end + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/logger/logger.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/logger/logger.rb new file mode 100644 index 0000000..b1db782 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/logger/logger.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +require 'httparty/logger/apache_formatter' +require 'httparty/logger/curl_formatter' +require 'httparty/logger/logstash_formatter' + +module HTTParty + module Logger + def self.formatters + @formatters ||= { + :curl => Logger::CurlFormatter, + :apache => Logger::ApacheFormatter, + :logstash => Logger::LogstashFormatter, + } + end + + def self.add_formatter(name, formatter) + raise HTTParty::Error.new("Log Formatter with name #{name} already exists") if formatters.include?(name) + formatters.merge!(name.to_sym => formatter) + end + + def self.build(logger, level, formatter) + level ||= :info + formatter ||= :apache + + logger_klass = formatters[formatter] || Logger::ApacheFormatter + logger_klass.new(logger, level) + end + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/logger/logstash_formatter.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/logger/logstash_formatter.rb new file mode 100644 index 0000000..dd129ec --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/logger/logstash_formatter.rb @@ -0,0 +1,62 @@ +# frozen_string_literal: true + +module HTTParty + module Logger + class LogstashFormatter #:nodoc: + TAG_NAME = HTTParty.name + + attr_accessor :level, :logger + + def initialize(logger, level) + @logger = logger + @level = level.to_sym + end + + def format(request, response) + @request = request + @response = response + + logger.public_send level, logstash_message + end + + private + + attr_reader :request, :response + + def logstash_message + require 'json' + { + '@timestamp' => current_time, + '@version' => 1, + 'content_length' => content_length || '-', + 'http_method' => http_method, + 'message' => message, + 'path' => path, + 'response_code' => response.code, + 'severity' => level, + 'tags' => [TAG_NAME], + }.to_json + end + + def message + "[#{TAG_NAME}] #{response.code} \"#{http_method} #{path}\" #{content_length || '-'} " + end + + def current_time + Time.now.strftime('%Y-%m-%d %H:%M:%S %z') + end + + def http_method + @http_method ||= request.http_method.name.split('::').last.upcase + end + + def path + @path ||= request.path.to_s + end + + def content_length + @content_length ||= response.respond_to?(:headers) ? response.headers['Content-Length'] : response['Content-Length'] + end + end + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/module_inheritable_attributes.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/module_inheritable_attributes.rb new file mode 100644 index 0000000..eb841fa --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/module_inheritable_attributes.rb @@ -0,0 +1,56 @@ +# frozen_string_literal: true + +module HTTParty + module ModuleInheritableAttributes #:nodoc: + def self.included(base) + base.extend(ClassMethods) + end + + # borrowed from Rails 3.2 ActiveSupport + def self.hash_deep_dup(hash) + duplicate = hash.dup + + duplicate.each_pair do |key, value| + if value.is_a?(Hash) + duplicate[key] = hash_deep_dup(value) + elsif value.is_a?(Proc) + duplicate[key] = value.dup + else + duplicate[key] = value + end + end + + duplicate + end + + module ClassMethods #:nodoc: + def mattr_inheritable(*args) + @mattr_inheritable_attrs ||= [:mattr_inheritable_attrs] + @mattr_inheritable_attrs += args + + args.each do |arg| + singleton_class.attr_accessor(arg) + end + + @mattr_inheritable_attrs + end + + def inherited(subclass) + super + @mattr_inheritable_attrs.each do |inheritable_attribute| + ivar = :"@#{inheritable_attribute}" + subclass.instance_variable_set(ivar, instance_variable_get(ivar).clone) + + if instance_variable_get(ivar).respond_to?(:merge) + subclass.class_eval <<~RUBY, __FILE__, __LINE__ + 1 + def self.#{inheritable_attribute} + duplicate = ModuleInheritableAttributes.hash_deep_dup(#{ivar}) + #{ivar} = superclass.#{inheritable_attribute}.merge(duplicate) + end + RUBY + end + end + end + end + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/net_digest_auth.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/net_digest_auth.rb new file mode 100644 index 0000000..a6b6cc2 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/net_digest_auth.rb @@ -0,0 +1,135 @@ +# frozen_string_literal: true + +require 'digest/md5' +require 'net/http' + +module Net + module HTTPHeader + def digest_auth(username, password, response) + authenticator = DigestAuthenticator.new( + username, + password, + @method, + @path, + response + ) + + authenticator.authorization_header.each do |v| + add_field('Authorization', v) + end + + authenticator.cookie_header.each do |v| + add_field('Cookie', v) + end + end + + class DigestAuthenticator + def initialize(username, password, method, path, response_header) + @username = username + @password = password + @method = method + @path = path + @response = parse(response_header) + @cookies = parse_cookies(response_header) + end + + def authorization_header + @cnonce = md5(random) + header = [ + %(Digest username="#{@username}"), + %(realm="#{@response['realm']}"), + %(nonce="#{@response['nonce']}"), + %(uri="#{@path}"), + %(response="#{request_digest}") + ] + + header << %(algorithm="#{@response['algorithm']}") if algorithm_present? + + if qop_present? + header << %(cnonce="#{@cnonce}") + header << %(qop="#{@response['qop']}") + header << 'nc=00000001' + end + + header << %(opaque="#{@response['opaque']}") if opaque_present? + header + end + + def cookie_header + @cookies + end + + private + + def parse(response_header) + header = response_header['www-authenticate'] + + header = header.gsub(/qop=(auth(?:-int)?)/, 'qop="\\1"') + + header =~ /Digest (.*)/ + params = {} + if $1 + non_quoted = $1.gsub(/(\w+)="(.*?)"/) { params[$1] = $2 } + non_quoted.gsub(/(\w+)=([^,]*)/) { params[$1] = $2 } + end + params + end + + def parse_cookies(response_header) + return [] unless response_header['Set-Cookie'] + + cookies = response_header['Set-Cookie'].split('; ') + + cookies.reduce([]) do |ret, cookie| + ret << cookie + ret + end + + cookies + end + + def opaque_present? + @response.key?('opaque') && !@response['opaque'].empty? + end + + def qop_present? + @response.key?('qop') && !@response['qop'].empty? + end + + def random + format '%x', (Time.now.to_i + rand(65535)) + end + + def request_digest + a = [md5(a1), @response['nonce'], md5(a2)] + a.insert(2, '00000001', @cnonce, @response['qop']) if qop_present? + md5(a.join(':')) + end + + def md5(str) + Digest::MD5.hexdigest(str) + end + + def algorithm_present? + @response.key?('algorithm') && !@response['algorithm'].empty? + end + + def use_md5_sess? + algorithm_present? && @response['algorithm'] == 'MD5-sess' + end + + def a1 + a1_user_realm_pwd = [@username, @response['realm'], @password].join(':') + if use_md5_sess? + [ md5(a1_user_realm_pwd), @response['nonce'], @cnonce ].join(':') + else + a1_user_realm_pwd + end + end + + def a2 + [@method, @path].join(':') + end + end + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/parser.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/parser.rb new file mode 100644 index 0000000..44451ce --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/parser.rb @@ -0,0 +1,157 @@ +# frozen_string_literal: true + +module HTTParty + # The default parser used by HTTParty, supports xml, json, html, csv and + # plain text. + # + # == Custom Parsers + # + # If you'd like to do your own custom parsing, subclassing HTTParty::Parser + # will make that process much easier. There are a few different ways you can + # utilize HTTParty::Parser as a superclass. + # + # @example Intercept the parsing for all formats + # class SimpleParser < HTTParty::Parser + # def parse + # perform_parsing + # end + # end + # + # @example Add the atom format and parsing method to the default parser + # class AtomParsingIncluded < HTTParty::Parser + # SupportedFormats.merge!( + # {"application/atom+xml" => :atom} + # ) + # + # def atom + # perform_atom_parsing + # end + # end + # + # @example Only support the atom format + # class ParseOnlyAtom < HTTParty::Parser + # SupportedFormats = {"application/atom+xml" => :atom} + # + # def atom + # perform_atom_parsing + # end + # end + # + # @abstract Read the Custom Parsers section for more information. + class Parser + SupportedFormats = { + 'text/xml' => :xml, + 'application/xml' => :xml, + 'application/json' => :json, + 'application/vnd.api+json' => :json, + 'application/hal+json' => :json, + 'text/json' => :json, + 'application/javascript' => :plain, + 'text/javascript' => :plain, + 'text/html' => :html, + 'text/plain' => :plain, + 'text/csv' => :csv, + 'application/csv' => :csv, + 'text/comma-separated-values' => :csv + } + + # The response body of the request + # @return [String] + attr_reader :body + + # The intended parsing format for the request + # @return [Symbol] e.g. :json + attr_reader :format + + # Instantiate the parser and call {#parse}. + # @param [String] body the response body + # @param [Symbol] format the response format + # @return parsed response + def self.call(body, format) + new(body, format).parse + end + + # @return [Hash] the SupportedFormats hash + def self.formats + const_get(:SupportedFormats) + end + + # @param [String] mimetype response MIME type + # @return [Symbol] + # @return [nil] mime type not supported + def self.format_from_mimetype(mimetype) + formats[formats.keys.detect {|k| mimetype.include?(k)}] + end + + # @return [Array] list of supported formats + def self.supported_formats + formats.values.uniq + end + + # @param [Symbol] format e.g. :json, :xml + # @return [Boolean] + def self.supports_format?(format) + supported_formats.include?(format) + end + + def initialize(body, format) + @body = body + @format = format + end + + # @return [Object] the parsed body + # @return [nil] when the response body is nil, an empty string, spaces only or "null" + def parse + return nil if body.nil? + return nil if body == 'null' + return nil if body.valid_encoding? && body.strip.empty? + if body.valid_encoding? && body.encoding == Encoding::UTF_8 + @body = body.gsub(/\A#{UTF8_BOM}/, '') + end + if supports_format? + parse_supported_format + else + body + end + end + + protected + + def xml + require 'multi_xml' + MultiXml.parse(body) + end + + UTF8_BOM = "\xEF\xBB\xBF" + + def json + require 'json' + JSON.parse(body, :quirks_mode => true, :allow_nan => true) + end + + def csv + require 'csv' + CSV.parse(body) + end + + def html + body + end + + def plain + body + end + + def supports_format? + self.class.supports_format?(format) + end + + def parse_supported_format + if respond_to?(format, true) + send(format) + else + raise NotImplementedError, "#{self.class.name} has not implemented a parsing method for the #{format.inspect} format." + end + end + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/request.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/request.rb new file mode 100644 index 0000000..36b7d35 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/request.rb @@ -0,0 +1,437 @@ +# frozen_string_literal: true + +require 'erb' + +module HTTParty + class Request #:nodoc: + SupportedHTTPMethods = [ + Net::HTTP::Get, + Net::HTTP::Post, + Net::HTTP::Patch, + Net::HTTP::Put, + Net::HTTP::Delete, + Net::HTTP::Head, + Net::HTTP::Options, + Net::HTTP::Move, + Net::HTTP::Copy, + Net::HTTP::Mkcol, + Net::HTTP::Lock, + Net::HTTP::Unlock, + ] + + SupportedURISchemes = ['http', 'https', 'webcal', nil] + + NON_RAILS_QUERY_STRING_NORMALIZER = proc do |query| + Array(query).sort_by { |a| a[0].to_s }.map do |key, value| + if value.nil? + key.to_s + elsif value.respond_to?(:to_ary) + value.to_ary.map {|v| "#{key}=#{ERB::Util.url_encode(v.to_s)}"} + else + HashConversions.to_params(key => value) + end + end.flatten.join('&') + end + + JSON_API_QUERY_STRING_NORMALIZER = proc do |query| + Array(query).sort_by { |a| a[0].to_s }.map do |key, value| + if value.nil? + key.to_s + elsif value.respond_to?(:to_ary) + values = value.to_ary.map{|v| ERB::Util.url_encode(v.to_s)} + "#{key}=#{values.join(',')}" + else + HashConversions.to_params(key => value) + end + end.flatten.join('&') + end + + def self._load(data) + http_method, path, options, last_response, last_uri, raw_request = Marshal.load(data) + instance = new(http_method, path, options) + instance.last_response = last_response + instance.last_uri = last_uri + instance.instance_variable_set("@raw_request", raw_request) + instance + end + + attr_accessor :http_method, :options, :last_response, :redirect, :last_uri + attr_reader :path + + def initialize(http_method, path, o = {}) + @changed_hosts = false + @credentials_sent = false + + self.http_method = http_method + self.options = { + limit: o.delete(:no_follow) ? 1 : 5, + assume_utf16_is_big_endian: true, + default_params: {}, + follow_redirects: true, + parser: Parser, + uri_adapter: URI, + connection_adapter: ConnectionAdapter + }.merge(o) + self.path = path + set_basic_auth_from_uri + end + + def path=(uri) + uri_adapter = options[:uri_adapter] + + @path = if uri.is_a?(uri_adapter) + uri + elsif String.try_convert(uri) + uri_adapter.parse(uri).normalize + else + raise ArgumentError, + "bad argument (expected #{uri_adapter} object or URI string)" + end + end + + def request_uri(uri) + if uri.respond_to? :request_uri + uri.request_uri + else + uri.path + end + end + + def uri + if redirect && path.relative? && path.path[0] != '/' + last_uri_host = @last_uri.path.gsub(/[^\/]+$/, '') + + path.path = "/#{path.path}" if last_uri_host[-1] != '/' + path.path = "#{last_uri_host}#{path.path}" + end + + if path.relative? && path.host + new_uri = options[:uri_adapter].parse("#{@last_uri.scheme}:#{path}").normalize + elsif path.relative? + new_uri = options[:uri_adapter].parse("#{base_uri}#{path}").normalize + else + new_uri = path.clone + end + + # avoid double query string on redirects [#12] + unless redirect + new_uri.query = query_string(new_uri) + end + + unless SupportedURISchemes.include? new_uri.scheme + raise UnsupportedURIScheme, "'#{new_uri}' Must be HTTP, HTTPS or Generic" + end + + @last_uri = new_uri + end + + def base_uri + if redirect + base_uri = "#{@last_uri.scheme}://#{@last_uri.host}" + base_uri = "#{base_uri}:#{@last_uri.port}" if @last_uri.port != 80 + base_uri + else + options[:base_uri] && HTTParty.normalize_base_uri(options[:base_uri]) + end + end + + def format + options[:format] || (format_from_mimetype(last_response['content-type']) if last_response) + end + + def parser + options[:parser] + end + + def connection_adapter + options[:connection_adapter] + end + + def perform(&block) + validate + setup_raw_request + chunked_body = nil + current_http = http + + begin + self.last_response = current_http.request(@raw_request) do |http_response| + if block + chunks = [] + + http_response.read_body do |fragment| + encoded_fragment = encode_text(fragment, http_response['content-type']) + chunks << encoded_fragment if !options[:stream_body] + block.call ResponseFragment.new(encoded_fragment, http_response, current_http) + end + + chunked_body = chunks.join + end + end + + handle_host_redirection if response_redirects? + result = handle_unauthorized + result ||= handle_response(chunked_body, &block) + result + rescue *COMMON_NETWORK_ERRORS => e + raise options[:foul] ? HTTParty::NetworkError.new("#{e.class}: #{e.message}") : e + end + end + + def handle_unauthorized(&block) + return unless digest_auth? && response_unauthorized? && response_has_digest_auth_challenge? + return if @credentials_sent + @credentials_sent = true + perform(&block) + end + + def raw_body + @raw_request.body + end + + def _dump(_level) + opts = options.dup + opts.delete(:logger) + opts.delete(:parser) if opts[:parser] && opts[:parser].is_a?(Proc) + Marshal.dump([http_method, path, opts, last_response, @last_uri, @raw_request]) + end + + private + + def http + connection_adapter.call(uri, options) + end + + def credentials + (options[:basic_auth] || options[:digest_auth]).to_hash + end + + def username + credentials[:username] + end + + def password + credentials[:password] + end + + def normalize_query(query) + if query_string_normalizer + query_string_normalizer.call(query) + else + HashConversions.to_params(query) + end + end + + def query_string_normalizer + options[:query_string_normalizer] + end + + def setup_raw_request + if options[:headers].respond_to?(:to_hash) + headers_hash = options[:headers].to_hash + else + headers_hash = nil + end + + @raw_request = http_method.new(request_uri(uri), headers_hash) + @raw_request.body_stream = options[:body_stream] if options[:body_stream] + + if options[:body] + body = Body.new( + options[:body], + query_string_normalizer: query_string_normalizer, + force_multipart: options[:multipart] + ) + + if body.multipart? + content_type = "multipart/form-data; boundary=#{body.boundary}" + @raw_request['Content-Type'] = content_type + end + @raw_request.body = body.call + end + + @raw_request.instance_variable_set(:@decode_content, decompress_content?) + + if options[:basic_auth] && send_authorization_header? + @raw_request.basic_auth(username, password) + @credentials_sent = true + end + setup_digest_auth if digest_auth? && response_unauthorized? && response_has_digest_auth_challenge? + end + + def digest_auth? + !!options[:digest_auth] + end + + def decompress_content? + !options[:skip_decompression] + end + + def response_unauthorized? + !!last_response && last_response.code == '401' + end + + def response_has_digest_auth_challenge? + !last_response['www-authenticate'].nil? && last_response['www-authenticate'].length > 0 + end + + def setup_digest_auth + @raw_request.digest_auth(username, password, last_response) + end + + def query_string(uri) + query_string_parts = [] + query_string_parts << uri.query unless uri.query.nil? + + if options[:query].respond_to?(:to_hash) + query_string_parts << normalize_query(options[:default_params].merge(options[:query].to_hash)) + else + query_string_parts << normalize_query(options[:default_params]) unless options[:default_params].empty? + query_string_parts << options[:query] unless options[:query].nil? + end + + query_string_parts.reject!(&:empty?) unless query_string_parts == [''] + query_string_parts.size > 0 ? query_string_parts.join('&') : nil + end + + def assume_utf16_is_big_endian + options[:assume_utf16_is_big_endian] + end + + def handle_response(raw_body, &block) + if response_redirects? + handle_redirection(&block) + else + raw_body ||= last_response.body + + body = decompress(raw_body, last_response['content-encoding']) unless raw_body.nil? + + unless body.nil? + body = encode_text(body, last_response['content-type']) + + if decompress_content? + last_response.delete('content-encoding') + raw_body = body + end + end + + Response.new(self, last_response, lambda { parse_response(body) }, body: raw_body) + end + end + + def handle_redirection(&block) + options[:limit] -= 1 + if options[:logger] + logger = HTTParty::Logger.build(options[:logger], options[:log_level], options[:log_format]) + logger.format(self, last_response) + end + self.path = last_response['location'] + self.redirect = true + if last_response.class == Net::HTTPSeeOther + unless options[:maintain_method_across_redirects] && options[:resend_on_redirect] + self.http_method = Net::HTTP::Get + end + elsif last_response.code != '307' && last_response.code != '308' + unless options[:maintain_method_across_redirects] + self.http_method = Net::HTTP::Get + end + end + if http_method == Net::HTTP::Get + clear_body + end + capture_cookies(last_response) + perform(&block) + end + + def handle_host_redirection + check_duplicate_location_header + redirect_path = options[:uri_adapter].parse(last_response['location']).normalize + return if redirect_path.relative? || path.host == redirect_path.host || uri.host == redirect_path.host + @changed_hosts = true + end + + def check_duplicate_location_header + location = last_response.get_fields('location') + if location.is_a?(Array) && location.count > 1 + raise DuplicateLocationHeader.new(last_response) + end + end + + def send_authorization_header? + !@changed_hosts + end + + def response_redirects? + case last_response + when Net::HTTPNotModified # 304 + false + when Net::HTTPRedirection + options[:follow_redirects] && last_response.key?('location') + end + end + + def parse_response(body) + parser.call(body, format) + end + + # Some Web Application Firewalls reject incoming GET requests that have a body + # if we redirect, and the resulting verb is GET then we will clear the body that + # may be left behind from the initiating request + def clear_body + options[:body] = nil + @raw_request.body = nil + end + + def capture_cookies(response) + return unless response['Set-Cookie'] + cookies_hash = HTTParty::CookieHash.new + cookies_hash.add_cookies(options[:headers].to_hash['Cookie']) if options[:headers] && options[:headers].to_hash['Cookie'] + response.get_fields('Set-Cookie').each { |cookie| cookies_hash.add_cookies(cookie) } + + options[:headers] ||= {} + options[:headers]['Cookie'] = cookies_hash.to_cookie_string + end + + # Uses the HTTP Content-Type header to determine the format of the + # response It compares the MIME type returned to the types stored in the + # SupportedFormats hash + def format_from_mimetype(mimetype) + if mimetype && parser.respond_to?(:format_from_mimetype) + parser.format_from_mimetype(mimetype) + end + end + + def validate + raise HTTParty::RedirectionTooDeep.new(last_response), 'HTTP redirects too deep' if options[:limit].to_i <= 0 + raise ArgumentError, 'only get, post, patch, put, delete, head, and options methods are supported' unless SupportedHTTPMethods.include?(http_method) + raise ArgumentError, ':headers must be a hash' if options[:headers] && !options[:headers].respond_to?(:to_hash) + raise ArgumentError, 'only one authentication method, :basic_auth or :digest_auth may be used at a time' if options[:basic_auth] && options[:digest_auth] + raise ArgumentError, ':basic_auth must be a hash' if options[:basic_auth] && !options[:basic_auth].respond_to?(:to_hash) + raise ArgumentError, ':digest_auth must be a hash' if options[:digest_auth] && !options[:digest_auth].respond_to?(:to_hash) + raise ArgumentError, ':query must be hash if using HTTP Post' if post? && !options[:query].nil? && !options[:query].respond_to?(:to_hash) + end + + def post? + Net::HTTP::Post == http_method + end + + def set_basic_auth_from_uri + if path.userinfo + username, password = path.userinfo.split(':') + options[:basic_auth] = {username: username, password: password} + @credentials_sent = true + end + end + + def decompress(body, encoding) + Decompressor.new(body, encoding).decompress + end + + def encode_text(text, content_type) + TextEncoder.new( + text, + content_type: content_type, + assume_utf16_is_big_endian: assume_utf16_is_big_endian + ).call + end + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/request/body.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/request/body.rb new file mode 100644 index 0000000..3e63664 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/request/body.rb @@ -0,0 +1,107 @@ +# frozen_string_literal: true + +require_relative 'multipart_boundary' + +module HTTParty + class Request + class Body + NEWLINE = "\r\n" + private_constant :NEWLINE + + def initialize(params, query_string_normalizer: nil, force_multipart: false) + @params = params + @query_string_normalizer = query_string_normalizer + @force_multipart = force_multipart + end + + def call + if params.respond_to?(:to_hash) + multipart? ? generate_multipart : normalize_query(params) + else + params + end + end + + def boundary + @boundary ||= MultipartBoundary.generate + end + + def multipart? + params.respond_to?(:to_hash) && (force_multipart || has_file?(params)) + end + + private + + # https://html.spec.whatwg.org/#multipart-form-data + MULTIPART_FORM_DATA_REPLACEMENT_TABLE = { + '"' => '%22', + "\r" => '%0D', + "\n" => '%0A' + }.freeze + + def generate_multipart + normalized_params = params.flat_map { |key, value| HashConversions.normalize_keys(key, value) } + + multipart = normalized_params.inject(''.dup) do |memo, (key, value)| + memo << "--#{boundary}#{NEWLINE}" + memo << %(Content-Disposition: form-data; name="#{key}") + # value.path is used to support ActionDispatch::Http::UploadedFile + # https://github.com/jnunemaker/httparty/pull/585 + memo << %(; filename="#{file_name(value).gsub(/["\r\n]/, MULTIPART_FORM_DATA_REPLACEMENT_TABLE)}") if file?(value) + memo << NEWLINE + memo << "Content-Type: #{content_type(value)}#{NEWLINE}" if file?(value) + memo << NEWLINE + memo << content_body(value) + memo << NEWLINE + end + + multipart << "--#{boundary}--#{NEWLINE}" + end + + def has_file?(value) + if value.respond_to?(:to_hash) + value.to_hash.any? { |_, v| has_file?(v) } + elsif value.respond_to?(:to_ary) + value.to_ary.any? { |v| has_file?(v) } + else + file?(value) + end + end + + def file?(object) + object.respond_to?(:path) && object.respond_to?(:read) + end + + def normalize_query(query) + if query_string_normalizer + query_string_normalizer.call(query) + else + HashConversions.to_params(query) + end + end + + def content_body(object) + if file?(object) + object = (file = object).read + object.force_encoding(Encoding::UTF_8) if object.respond_to?(:force_encoding) + file.rewind if file.respond_to?(:rewind) + end + + object.to_s + end + + def content_type(object) + return object.content_type if object.respond_to?(:content_type) + require 'mini_mime' + mime = MiniMime.lookup_by_filename(object.path) + mime ? mime.content_type : 'application/octet-stream' + end + + def file_name(object) + object.respond_to?(:original_filename) ? object.original_filename : File.basename(object.path) + end + + attr_reader :params, :query_string_normalizer, :force_multipart + end + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/request/multipart_boundary.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/request/multipart_boundary.rb new file mode 100644 index 0000000..f9e2ac1 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/request/multipart_boundary.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +require 'securerandom' + +module HTTParty + class Request + class MultipartBoundary + def self.generate + "------------------------#{SecureRandom.urlsafe_base64(12)}" + end + end + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/response.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/response.rb new file mode 100644 index 0000000..2a6fa42 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/response.rb @@ -0,0 +1,156 @@ +# frozen_string_literal: true + +module HTTParty + class Response < Object + def self.underscore(string) + string.gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2').gsub(/([a-z])([A-Z])/, '\1_\2').downcase + end + + def self._load(data) + req, resp, parsed_resp, resp_body = Marshal.load(data) + + new(req, resp, -> { parsed_resp }, body: resp_body) + end + + attr_reader :request, :response, :body, :headers + + def initialize(request, response, parsed_block, options = {}) + @request = request + @response = response + @body = options[:body] || response.body + @parsed_block = parsed_block + @headers = Headers.new(response.to_hash) + + if request.options[:logger] + logger = ::HTTParty::Logger.build( + request.options[:logger], + request.options[:log_level], + request.options[:log_format] + ) + logger.format(request, self) + end + + throw_exception + end + + def parsed_response + @parsed_response ||= @parsed_block.call + end + + def code + response.code.to_i + end + + def http_version + response.http_version + end + + def tap + yield self + self + end + + def inspect + inspect_id = ::Kernel::format '%x', (object_id * 2) + %(#<#{self.class}:0x#{inspect_id} parsed_response=#{parsed_response.inspect}, @response=#{response.inspect}, @headers=#{headers.inspect}>) + end + + CODES_TO_OBJ = ::Net::HTTPResponse::CODE_CLASS_TO_OBJ.merge ::Net::HTTPResponse::CODE_TO_OBJ + + CODES_TO_OBJ.each do |response_code, klass| + name = klass.name.sub('Net::HTTP', '') + name = "#{underscore(name)}?".to_sym + + define_method(name) do + klass === response + end + end + + # Support old multiple_choice? method from pre 2.0.0 era. + if ::RUBY_PLATFORM != 'java' + alias_method :multiple_choice?, :multiple_choices? + end + + # Support old status codes method from pre 2.6.0 era. + if ::RUBY_PLATFORM != 'java' + alias_method :gateway_time_out?, :gateway_timeout? + alias_method :request_entity_too_large?, :payload_too_large? + alias_method :request_time_out?, :request_timeout? + alias_method :request_uri_too_long?, :uri_too_long? + alias_method :requested_range_not_satisfiable?, :range_not_satisfiable? + end + + def nil? + warn_about_nil_deprecation + response.nil? || response.body.nil? || response.body.empty? + end + + def to_s + if !response.nil? && !response.body.nil? && response.body.respond_to?(:to_s) + response.body.to_s + else + inspect + end + end + + def pretty_print(pp) + if !parsed_response.nil? && parsed_response.respond_to?(:pretty_print) + parsed_response.pretty_print(pp) + else + super + end + end + + def display(port=$>) + if !parsed_response.nil? && parsed_response.respond_to?(:display) + parsed_response.display(port) + elsif !response.nil? && !response.body.nil? && response.body.respond_to?(:display) + response.body.display(port) + else + port.write(inspect) + end + end + + def respond_to_missing?(name, *args) + return true if super + parsed_response.respond_to?(name) || response.respond_to?(name) + end + + def _dump(_level) + Marshal.dump([request, response, parsed_response, body]) + end + + protected + + def method_missing(name, *args, &block) + if parsed_response.respond_to?(name) + parsed_response.send(name, *args, &block) + elsif response.respond_to?(name) + response.send(name, *args, &block) + else + super + end + end + + def throw_exception + if @request.options[:raise_on].to_a.detect { |c| code.to_s.match(/#{c.to_s}/) } + ::Kernel.raise ::HTTParty::ResponseError.new(@response), "Code #{code} - #{body}" + end + end + + private + + def warn_about_nil_deprecation + trace_line = caller.reject { |line| line.include?('httparty') }.first + warning = "[DEPRECATION] HTTParty will no longer override `response#nil?`. " \ + "This functionality will be removed in future versions. " \ + "Please, add explicit check `response.body.nil? || response.body.empty?`. " \ + "For more info refer to: https://github.com/jnunemaker/httparty/issues/568\n" \ + "#{trace_line}" + + warn(warning) + end + end +end + +require 'httparty/response/headers' diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/response/headers.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/response/headers.rb new file mode 100644 index 0000000..cc5fc7b --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/response/headers.rb @@ -0,0 +1,35 @@ +# frozen_string_literal: true + +require 'delegate' + +module HTTParty + class Response #:nodoc: + class Headers < ::SimpleDelegator + include ::Net::HTTPHeader + + def initialize(header_values = nil) + @header = {} + if header_values + header_values.each_pair do |k,v| + if v.is_a?(Array) + v.each do |sub_v| + add_field(k, sub_v) + end + else + add_field(k, v) + end + end + end + super(@header) + end + + def ==(other) + if other.is_a?(::Net::HTTPHeader) + @header == other.instance_variable_get(:@header) + elsif other.is_a?(Hash) + @header == other || @header == Headers.new(other).instance_variable_get(:@header) + end + end + end + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/response_fragment.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/response_fragment.rb new file mode 100644 index 0000000..1fb15a0 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/response_fragment.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +require 'delegate' + +module HTTParty + # Allow access to http_response and code by delegation on fragment + class ResponseFragment < SimpleDelegator + attr_reader :http_response, :connection + + def code + @http_response.code.to_i + end + + def initialize(fragment, http_response, connection) + @fragment = fragment + @http_response = http_response + @connection = connection + super fragment + end + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/text_encoder.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/text_encoder.rb new file mode 100644 index 0000000..006893e --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/text_encoder.rb @@ -0,0 +1,72 @@ +# frozen_string_literal: true + +module HTTParty + class TextEncoder + attr_reader :text, :content_type, :assume_utf16_is_big_endian + + def initialize(text, assume_utf16_is_big_endian: true, content_type: nil) + @text = +text + @content_type = content_type + @assume_utf16_is_big_endian = assume_utf16_is_big_endian + end + + def call + if can_encode? + encoded_text + else + text + end + end + + private + + def can_encode? + ''.respond_to?(:encoding) && charset + end + + def encoded_text + if 'utf-16'.casecmp(charset) == 0 + encode_utf_16 + else + encode_with_ruby_encoding + end + end + + def encode_utf_16 + if text.bytesize >= 2 + if text.getbyte(0) == 0xFF && text.getbyte(1) == 0xFE + return text.force_encoding('UTF-16LE') + elsif text.getbyte(0) == 0xFE && text.getbyte(1) == 0xFF + return text.force_encoding('UTF-16BE') + end + end + + if assume_utf16_is_big_endian # option + text.force_encoding('UTF-16BE') + else + text.force_encoding('UTF-16LE') + end + end + + def encode_with_ruby_encoding + # NOTE: This will raise an argument error if the + # charset does not exist + encoding = Encoding.find(charset) + text.force_encoding(encoding.to_s) + rescue ArgumentError + text + end + + def charset + return nil if content_type.nil? + + if (matchdata = content_type.match(/;\s*charset\s*=\s*([^=,;"\s]+)/i)) + return matchdata.captures.first + end + + if (matchdata = content_type.match(/;\s*charset\s*=\s*"((\\.|[^\\"])+)"/i)) + return matchdata.captures.first.gsub(/\\(.)/, '\1') + end + end + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/utils.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/utils.rb new file mode 100644 index 0000000..8393e92 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/utils.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module HTTParty + module Utils + def self.stringify_keys(hash) + return hash.transform_keys(&:to_s) if hash.respond_to?(:transform_keys) + + hash.each_with_object({}) do |(key, value), new_hash| + new_hash[key.to_s] = value + end + end + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/version.rb b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/version.rb new file mode 100644 index 0000000..4e0f71b --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/lib/httparty/version.rb @@ -0,0 +1,5 @@ +# frozen_string_literal: true + +module HTTParty + VERSION = '0.23.2' +end diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/script/release b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/script/release new file mode 100755 index 0000000..72bd6b4 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/script/release @@ -0,0 +1,42 @@ +#!/bin/sh +#/ Usage: release +#/ +#/ Tag the version in the repo and push the gem. +#/ + +set -e +cd $(dirname "$0")/.. + +[ "$1" = "--help" -o "$1" = "-h" -o "$1" = "help" ] && { + grep '^#/' <"$0"| cut -c4- + exit 0 +} + +gem_name=httparty + +# Build a new gem archive. +rm -rf $gem_name-*.gem +gem build -q $gem_name.gemspec + +# Make sure we're on the main branch. +(git branch | grep -q '* main') || { + echo "Only release from the main branch." + exit 1 +} + +# Figure out what version we're releasing. +tag=v`ls $gem_name-*.gem | sed "s/^$gem_name-\(.*\)\.gem$/\1/"` + +echo "Releasing $tag" + +# Make sure we haven't released this version before. +git fetch -t origin + +(git tag -l | grep -q "$tag") && { + echo "Whoops, there's already a '${tag}' tag." + exit 1 +} + +# Tag it and bag it. +gem push $gem_name-*.gem && git tag "$tag" && + git push origin main && git push origin "$tag" diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/website/css/common.css b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/website/css/common.css new file mode 100644 index 0000000..1467d23 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/website/css/common.css @@ -0,0 +1,47 @@ +@media screen, projection { + /* + Copyright (c) 2007, Yahoo! Inc. All rights reserved. + Code licensed under the BSD License: + http://developer.yahoo.net/yui/license.txt + version: 2.2.0 + */ + body {font:13px arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small;}table {font-size:inherit;font:100%;}select, input, textarea {font:99% arial,helvetica,clean,sans-serif;}pre, code {font:115% monospace;*font-size:100%;}body * {line-height:1.22em;} + body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}/*ol,ul {list-style:none;}*/caption,th {text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym {border:0;} + /* end of yahoo reset and fonts */ + + body {color:#333; background:#4b1a1a; line-height:1.3;} + p {margin:0 0 20px;} + a {color:#4b1a1a;} + a:hover {text-decoration:none;} + strong {font-weight:bold;} + em {font-style:italics;} + h1,h2,h3,h4,h5,h6 {font-weight:bold;} + h1 {font-size:197%; margin:30px 0; color:#4b1a1a;} + h2 {font-size:174%; margin:20px 0; color:#b8111a;} + h3 {font-size:152%; margin:10px 0;} + h4 {font-size:129%; margin:10px 0;} + pre {background:#eee; margin:0 0 20px; padding:20px; border:1px solid #ccc; font-size:100%; overflow:auto;} + code {font-size:100%; margin:0; padding:0;} + ul, ol {margin:10px 0 10px 25px;} + ol li {margin:0 0 10px;} + + + + + + div#wrapper {background:#fff; width:560px; margin:0 auto; padding:20px; border:10px solid #bc8c46; border-width:0 10px;} + div#header {position:relative; border-bottom:1px dotted; margin:0 0 10px; padding:0 0 10px;} + div#header p {margin:0; padding:0;} + div#header h1 {margin:0; padding:0;} + ul#nav {position:absolute; top:0; right:0; list-style:none; margin:0; padding:0;} + ul#nav li {display:inline; padding:0 0 0 5px;} + ul#nav li a {} + div#content {} + div#footer {margin:40px 0 0; border-top:1px dotted; padding:10px 0 0;} + + + + + + +} \ No newline at end of file diff --git a/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/website/index.html b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/website/index.html new file mode 100644 index 0000000..86916b3 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/httparty-0.23.2/website/index.html @@ -0,0 +1,73 @@ + + + + + HTTParty by John Nunemaker + + + + +
    + + +
    +

    Install

    +
    $ sudo gem install httparty
    + +

    Some Quick Examples

    + +

    The following is a simple example of wrapping Twitter's API for posting updates.

    + +
    class Twitter
    +  include HTTParty
    +  base_uri 'twitter.com'
    +  basic_auth 'username', 'password'
    +end
    +
    +Twitter.post('/statuses/update.json', query: {status: "It's an HTTParty and everyone is invited!"})
    + +

    That is really it! The object returned is a ruby hash that is decoded from Twitter's json response. JSON parsing is used because of the .json extension in the path of the request. You can also explicitly set a format (see the examples).

    + +

    That works and all but what if you don't want to embed your username and password in the class? Below is an example to fix that:

    + +
    class Twitter
    +  include HTTParty
    +  base_uri 'twitter.com'
    +
    +  def initialize(u, p)
    +    @auth = {username: u, password: p}
    +  end
    +
    +  def post(text)
    +    options = { query: {status: text}, basic_auth: @auth }
    +    self.class.post('/statuses/update.json', options)
    +  end
    +end
    +
    +Twitter.new('username', 'password').post("It's an HTTParty and everyone is invited!")
    + +

    More Examples: There are several examples in the gem itself.

    + +

    Support

    +

    Conversations welcome in the google group and bugs/features over at Github.

    + + +
    + + +
    + + + \ No newline at end of file diff --git a/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/.github/workflows/ci.yml b/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/.github/workflows/ci.yml new file mode 100644 index 0000000..17c98d9 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/.github/workflows/ci.yml @@ -0,0 +1,51 @@ +name: Mini Mime Tests + +on: + pull_request: + push: + branches: + - main + +jobs: + build: + runs-on: ${{ matrix.os }}-latest + name: "Ruby ${{ matrix.ruby }} / ${{ matrix.os }} / Failure allowed: ${{ matrix.experimental }}" + continue-on-error: ${{ matrix.experimental }} + timeout-minutes: 5 + + strategy: + fail-fast: false + matrix: + os: ["ubuntu"] + ruby: ["2.6", "2.7", "3.0", "3.1", "3.2"] + experimental: [false] + include: + - ruby: "3.2" + os: "windows" + experimental: false + - ruby: "ruby-head" + os: "ubuntu" + experimental: true + - ruby: "truffleruby-head" + os: "ubuntu" + experimental: true + - ruby: "jruby-head" + os: "ubuntu" + experimental: true + - ruby: "jruby-9.3.9.0" + os: "ubuntu" + experimental: true + - ruby: "jruby-9.4.0.0" + os: "ubuntu" + experimental: true + steps: + - uses: actions/checkout@v3 + - uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby }} + bundler-cache: true + - name: Rubocop + run: bundle exec rubocop + if: "!contains(matrix.ruby, 'jruby')" + - name: Tests + run: bundle exec rake test diff --git a/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/.github/workflows/db.yml b/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/.github/workflows/db.yml new file mode 100644 index 0000000..b95e8f8 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/.github/workflows/db.yml @@ -0,0 +1,26 @@ +name: Update MIME type DB + +on: + schedule: + # 10am on the 1st every month https://crontab.guru/#0_10_1_*_* + - cron: "0 10 1 * *" + workflow_dispatch: + +jobs: + update_db: + runs-on: ubuntu-latest + name: "Update MIME type DB" + steps: + - uses: actions/checkout@v3 + - uses: ruby/setup-ruby@v1 + with: + ruby-version: "2.7" + bundler-cache: true + - name: Update mime-types-data + run: bundle update mime-types-data + - name: Update DB + run: bundle exec rake rebuild_db + - name: Create PR + run: bin/db_pull_request + env: + GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} diff --git a/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/.gitignore b/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/.gitignore new file mode 100644 index 0000000..0cb6eeb --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/.gitignore @@ -0,0 +1,9 @@ +/.bundle/ +/.yardoc +/Gemfile.lock +/_yardoc/ +/coverage/ +/doc/ +/pkg/ +/spec/reports/ +/tmp/ diff --git a/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/.rubocop.yml b/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/.rubocop.yml new file mode 100644 index 0000000..05f8562 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/.rubocop.yml @@ -0,0 +1,5 @@ +inherit_gem: + rubocop-discourse: default.yml +inherit_mode: + merge: + - Exclude diff --git a/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/CHANGELOG b/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/CHANGELOG new file mode 100644 index 0000000..99b1d31 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/CHANGELOG @@ -0,0 +1,65 @@ +08-08-2023 + - Version 1.1.5 + - Update mime types from upstream + +08-08-2023 + - Version 1.1.4 + - Version 1.1.3 had issues on Windows which does not support pread, added a polyfill + +04-08-2023 + - Version 1.1.3 + - Added fork safety by migrating from seek+read to pread + +11-10-2021 + - Version 1.1.2 + - update mime types from upstream + +23-08-2021 + - Version 1.1.1 + - update mime types from upstream + +05-04-2021 + - Version 1.1.0 + - MiniMime.lookup_by_extension is now case insensitive + +26-03-2021 + - Version 1.0.3 + - Update mime types from upstream + +08-07-2019 + - Version 1.0.2 + - Update mime types from upstream + +14-08-2018 + - Version 1.0.1 + - Update mime types from upstream + - Add lookup_by_extension to the public API + +08-11-2017 + - Version 1.0.0 + - Other than the version number, no difference from 0.1.4 + +11-08-2017 + - Version 0.1.4 + - Return preferred extension when looking up by content type + + +28-03-2016 + + - Version 0.1.3 + - Prefer non-obsolete mime types to obsolete ones + +14-12-2016 + + - Version 0.1.2 + - Backwards compat with ancient Ruby to match mail gem + +14-12-2016 + + - Version 0.1.1 + - Adjusted API to be more consistent + +14-12-2016 + + - Version 0.1.0 + - Initial version diff --git a/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/CODE_OF_CONDUCT.md b/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..951cdde --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/CODE_OF_CONDUCT.md @@ -0,0 +1,74 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of experience, +nationality, personal appearance, race, religion, or sexual identity and +orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or +advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at sam.saffron@gmail.com. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ diff --git a/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/Gemfile b/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/Gemfile new file mode 100644 index 0000000..1e36790 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/Gemfile @@ -0,0 +1,9 @@ +# frozen_string_literal: true +source 'https://rubygems.org' + +# Specify your gem's dependencies in mini_mime.gemspec +gemspec + +gem "mime-types", "~> 3" if RUBY_VERSION > '2' +gem "memory_profiler" +gem "benchmark-ips" diff --git a/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/LICENSE.txt b/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/LICENSE.txt new file mode 100644 index 0000000..e2ea531 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/LICENSE.txt @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 Discourse Construction Kit, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/README.md b/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/README.md new file mode 100644 index 0000000..e44033f --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/README.md @@ -0,0 +1,114 @@ +# MiniMime + +Minimal mime type implementation for use with the mail and rest-client gem. + +## Installation + +Add this line to your application's Gemfile: + +```ruby +gem 'mini_mime' +``` + +And then execute: + + $ bundle + +Or install it yourself as: + + $ gem install mini_mime + +## Usage + +``` +require 'mini_mime' + +MiniMime.lookup_by_filename("a.txt").content_type +# => "text/plain" + +MiniMime.lookup_by_extension("txt").content_type +# => "text/plain" + +MiniMime.lookup_by_content_type("text/plain").extension +# => "txt" + +MiniMime.lookup_by_content_type("text/plain").binary? +# => false + +``` + +## Configuration + +If you'd like to add your own mime types, try using custom database files: + +``` +MiniMime::Configuration.ext_db_path = "path_to_file_extension_db" +MiniMime::Configuration.content_type_db_path = "path_to_content_type_db" +``` + +Check out the [default databases](lib/db) for proper formatting and structure hints. + +## Performance + +MiniMime is optimised to minimize memory usage. It keeps a cache of 100 mime type lookups (and 100 misses). There are benchmarks in the [bench directory](https://github.com/discourse/mini_mime/blob/master/bench/bench.rb) + +``` +Memory stats for requiring mime/types/columnar +Total allocated: 8712144 bytes (98242 objects) +Total retained: 3372545 bytes (33599 objects) + +Memory stats for requiring mini_mime +Total allocated: 42625 bytes (369 objects) +Total retained: 8992 bytes (72 objects) +Warming up -------------------------------------- +cached content_type lookup MiniMime + 85.109k i/100ms +content_type lookup MIME::Types + 17.879k i/100ms +Calculating ------------------------------------- +cached content_type lookup MiniMime + 1.105M (± 4.1%) i/s - 5.532M in 5.014895s +content_type lookup MIME::Types + 193.528k (± 7.1%) i/s - 965.466k in 5.013925s +Warming up -------------------------------------- +uncached content_type lookup MiniMime + 1.410k i/100ms +content_type lookup MIME::Types + 18.012k i/100ms +Calculating ------------------------------------- +uncached content_type lookup MiniMime + 14.689k (± 4.2%) i/s - 73.320k in 5.000779s +content_type lookup MIME::Types + 193.459k (± 6.9%) i/s - 972.648k in 5.050731s +``` + +As a general guideline, cached lookups are 6x faster than MIME::Types equivalent. Uncached lookups are 10x slower. + +Note: It was run on macOS 10.14.2, and versions of Ruby and gems are below. + +- Ruby 2.6.0 +- mini_mime (1.0.1) +- mime-types (3.2.2) +- mime-types-data (3.2018.0812) + +## Development + +MiniMime uses the officially maintained list of mime types at [mime-types-data](https://github.com/mime-types/mime-types-data) repo to build the internal database. + +To update the database run: + +```ruby +bundle exec rake rebuild_db +``` + +After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. + +To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org). + +## Contributing + +Bug reports and pull requests are welcome on GitHub at https://github.com/discourse/mini_mime. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct. + +## License + +The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT). diff --git a/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/Rakefile b/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/Rakefile new file mode 100644 index 0000000..31a3514 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/Rakefile @@ -0,0 +1,97 @@ +# frozen_string_literal: true +require "bundler/gem_tasks" +require "rake/testtask" + +Rake::TestTask.new(:test) do |t| + t.libs << "test" + t.libs << "lib" + t.test_files = FileList['test/**/*_test.rb'] +end + +task default: :test + +def pad(array) + max = [] + array.each do |row| + i = 0 + row.each do |col| + max[i] = [max[i] || 0, col.length].max + i += 1 + end + end + + array.each do |row| + i = 0 + row.each do |col| + col << " " * (max[i] - col.length) + i += 1 + end + end + +end + +desc "generate mime type database" +task :rebuild_db do + puts "Generating mime type DB" + require 'mime/types' + index = {} + + MIME::Types.each do |type| + type.extensions.each { |ext| (index[ext.downcase] ||= []) << type } + end + + index.each do |k, list| + list.sort! { |a, b| a.priority_compare(b) } + end + + buffer = [] + + index.each do |ext, list| + mime_type = list.detect { |t| !t.obsolete? } + mime_type ||= list.detect(&:registered) + mime_type ||= list.first + buffer << [ext.dup, mime_type.content_type.dup, mime_type.encoding.dup] + end + + pad(buffer) + + buffer.sort! { |a, b| a[0] <=> b[0] } + + File.open("lib/db/ext_mime.db", File::CREAT | File::TRUNC | File::RDWR) do |f| + buffer.each do |row| + f.write "#{row[0]} #{row[1]} #{row[2]}\n" + end + end + + puts "#{buffer.count} rows written to lib/db/ext_mime.db" + + buffer.sort! { |a, b| [a[1], a[0]] <=> [b[1], b[0]] } + + # strip cause we are going to re-pad + buffer.each do |row| + row.each do |col| + col.strip! + end + end + + # we got to confirm we pick the right extension for each type + buffer.each do |row| + row[0] = MIME::Types.type_for("xyz.#{row[0].strip}")[0].extensions[0].dup + end + + pad(buffer) + + File.open("lib/db/content_type_mime.db", File::CREAT | File::TRUNC | File::RDWR) do |f| + last = nil + count = 0 + buffer.each do |row| + unless last == row[1] + f.write "#{row[0]} #{row[1]} #{row[2]}\n" + count += 1 + end + last = row[1] + end + puts "#{count} rows written to lib/db/content_type_mime.db" + end + +end diff --git a/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/bench/bench.rb b/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/bench/bench.rb new file mode 100644 index 0000000..a246a49 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/bench/bench.rb @@ -0,0 +1,51 @@ +# frozen_string_literal: true +require 'memory_profiler' +require 'benchmark/ips' + +$: << File.expand_path('../../lib', __FILE__) + +puts +puts "Memory stats for requiring mime/types/columnar" +result = MemoryProfiler.report do + require 'mime/types/columnar' +end + +puts "Total allocated: #{result.total_allocated_memsize} bytes (#{result.total_allocated} objects)" +puts "Total retained: #{result.total_retained_memsize} bytes (#{result.total_retained} objects)" + +puts +puts "Memory stats for requiring mini_mime" +result = MemoryProfiler.report do + require 'mini_mime' +end + +puts "Total allocated: #{result.total_allocated_memsize} bytes (#{result.total_allocated} objects)" +puts "Total retained: #{result.total_retained_memsize} bytes (#{result.total_retained} objects)" + +Benchmark.ips do |bm| + bm.report 'cached content_type lookup MiniMime' do + MiniMime.lookup_by_filename("a.txt").content_type + end + + bm.report 'content_type lookup MIME::Types' do + MIME::Types.type_for("a.txt")[0].content_type + end +end + +module MiniMime + class Db + class RandomAccessDb + alias_method :lookup, :lookup_uncached + end + end +end + +Benchmark.ips do |bm| + bm.report 'uncached content_type lookup MiniMime' do + MiniMime.lookup_by_filename("a.txt").content_type + end + + bm.report 'content_type lookup MIME::Types' do + MIME::Types.type_for("a.txt")[0].content_type + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/bin/console b/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/bin/console new file mode 100755 index 0000000..184d708 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/bin/console @@ -0,0 +1,15 @@ +#!/usr/bin/env ruby +# frozen_string_literal: true + +require "bundler/setup" +require "mini_mime" + +# You can add fixtures and/or initialization code here to make experimenting +# with your gem easier. You can also use a different console, if you like. + +# (If you use this, don't forget to add pry to your Gemfile!) +# require "pry" +# Pry.start + +require "irb" +IRB.start diff --git a/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/bin/db_pull_request b/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/bin/db_pull_request new file mode 100755 index 0000000..55bba04 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/bin/db_pull_request @@ -0,0 +1,20 @@ +#!/usr/bin/env ruby +# frozen_string_literal: true + +require "time" + +if `git status --porcelain lib/db`.empty? + puts "Skipping, no DB changes to commit..." + return +end + +moment = Time.now.utc +branch_name = "db-updates-#{moment.strftime("%Y%m%d%H%M%S")}" + +system("git", "checkout", "-b", branch_name) || abort("Unable to create branch") +system("git", "add", "lib/db") +system("git", "config", "--local", "user.email", "actions@github.com") +system("git", "config", "--local", "user.name", "github-actions") +system("git", "commit", "-m", "DB updates #{moment.iso8601}") || abort("Unable to commit changes") +system("git", "push", "-u", "origin", branch_name) || abort("Unable to push branch") +system("gh", "pr", "create", "--title", "DB updates #{moment.iso8601}", "--body", "From Github Actions") || abort("Unable to create PR") diff --git a/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/bin/setup b/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/bin/setup new file mode 100755 index 0000000..dce67d8 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/bin/setup @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +set -euo pipefail +IFS=$'\n\t' +set -vx + +bundle install + +# Do any other automated setup that you need to do here diff --git a/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/lib/db/content_type_mime.db b/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/lib/db/content_type_mime.db new file mode 100644 index 0000000..e571ada --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/lib/db/content_type_mime.db @@ -0,0 +1,880 @@ +ez application/andrew-inset base64 +aw application/applixware base64 +atom application/atom+xml 8bit +atomcat application/atomcat+xml 8bit +atomsvc application/atomsvc+xml 8bit +ccxml application/ccxml+xml base64 +cdmia application/cdmi-capability base64 +cdmic application/cdmi-container base64 +cdmid application/cdmi-domain base64 +cdmio application/cdmi-object base64 +cdmiq application/cdmi-queue base64 +cu application/cu-seeme base64 +davmount application/davmount+xml base64 +dcm application/dicom base64 +dbk application/docbook+xml base64 +dssc application/dssc+der base64 +xdssc application/dssc+xml base64 +ecma application/ecmascript base64 +emma application/emma+xml base64 +epub application/epub+zip base64 +exi application/exi base64 +pfr application/font-tdpfr base64 +gml application/gml+xml base64 +gpx application/gpx+xml base64 +gxf application/gxf base64 +gz application/gzip base64 +stk application/hyperstudio base64 +ink application/inkml+xml base64 +ipfix application/ipfix base64 +jar application/java-archive base64 +ser application/java-serialized-object base64 +js application/javascript 8bit +json application/json 8bit +jsonml application/jsonml+json base64 +lostxml application/lost+xml base64 +hqx application/mac-binhex40 8bit +mads application/mads+xml base64 +webmanifest application/manifest+json base64 +mrc application/marc base64 +mrcx application/marcxml+xml base64 +ma application/mathematica base64 +mathml application/mathml+xml base64 +mbox application/mbox base64 +mscml application/mediaservercontrol+xml base64 +metalink application/metalink+xml base64 +meta4 application/metalink4+xml base64 +mets application/mets+xml base64 +mods application/mods+xml base64 +m21 application/mp21 base64 +mp4 application/mp4 base64 +doc application/msword base64 +mxf application/mxf base64 +nc application/netcdf base64 +bin application/octet-stream base64 +oda application/oda base64 +opf application/oebps-package+xml base64 +ogx application/ogg base64 +omdoc application/omdoc+xml base64 +onepkg application/onenote base64 +oxps application/oxps base64 +xer application/patch-ops-error+xml base64 +pdf application/pdf base64 +asc application/pgp-signature base64 +prf application/pics-rules base64 +p10 application/pkcs10 base64 +p7m application/pkcs7-mime base64 +p7s application/pkcs7-signature base64 +p8 application/pkcs8 base64 +ac application/pkix-attr-cert base64 +cer application/pkix-cert base64 +crl application/pkix-crl base64 +pkipath application/pkix-pkipath base64 +pki application/pkixcmp base64 +pls application/pls+xml base64 +eps application/postscript 8bit +cw application/prs.cww base64 +rnd application/prs.nprend base64 +pskcxml application/pskc+xml base64 +rdf application/rdf+xml 8bit +rif application/reginfo+xml base64 +rnc application/relax-ng-compact-syntax base64 +rl application/resource-lists+xml base64 +rld application/resource-lists-diff+xml base64 +rs application/rls-services+xml base64 +gbr application/rpki-ghostbusters base64 +mft application/rpki-manifest base64 +roa application/rpki-roa base64 +rsd application/rsd+xml base64 +rss application/rss+xml base64 +rtf application/rtf base64 +sbml application/sbml+xml base64 +scq application/scvp-cv-request base64 +scs application/scvp-cv-response base64 +spq application/scvp-vp-request base64 +spp application/scvp-vp-response base64 +sdp application/sdp base64 +setpay application/set-payment-initiation base64 +setreg application/set-registration-initiation base64 +sgml application/sgml base64 +soc application/sgml-open-catalog base64 +shf application/shf+xml base64 +siv application/sieve base64 +smi application/smil+xml 8bit +rq application/sparql-query base64 +srx application/sparql-results+xml base64 +gram application/srgs base64 +grxml application/srgs+xml base64 +sru application/sru+xml base64 +ssdl application/ssdl+xml base64 +ssml application/ssml+xml base64 +tei application/tei+xml base64 +tfi application/thraud+xml base64 +tsd application/timestamped-data base64 +pwn application/vnd.3M.Post-it-Notes base64 +plb application/vnd.3gpp.pic-bw-large base64 +psb application/vnd.3gpp.pic-bw-small base64 +pvb application/vnd.3gpp.pic-bw-var base64 +sms application/vnd.3gpp.sms base64 +tcap application/vnd.3gpp2.tcap base64 +gph application/vnd.FloGraphIt base64 +zmm application/vnd.HandHeld-Entertainment+xml base64 +kne application/vnd.Kinar base64 +mwf application/vnd.MFER base64 +daf application/vnd.Mobius.DAF base64 +dis application/vnd.Mobius.DIS base64 +mbk application/vnd.Mobius.MBK base64 +mqy application/vnd.Mobius.MQY base64 +msl application/vnd.Mobius.MSL base64 +plc application/vnd.Mobius.PLC base64 +txf application/vnd.Mobius.TXF base64 +qxd application/vnd.Quark.QuarkXPress 8bit +twd application/vnd.SimTech-MindMapper base64 +aso application/vnd.accpac.simply.aso base64 +imp application/vnd.accpac.simply.imp base64 +acu application/vnd.acucobol base64 +atc application/vnd.acucorp 7bit +air application/vnd.adobe.air-application-installer-package+zip base64 +fcdt application/vnd.adobe.formscentral.fcdt base64 +fxp application/vnd.adobe.fxp base64 +xdp application/vnd.adobe.xdp+xml base64 +xfdf application/vnd.adobe.xfdf base64 +ahead application/vnd.ahead.space base64 +azf application/vnd.airzip.filesecure.azf base64 +azs application/vnd.airzip.filesecure.azs base64 +azw application/vnd.amazon.ebook base64 +acc application/vnd.americandynamics.acc base64 +ami application/vnd.amiga.ami base64 +apk application/vnd.android.package-archive base64 +cii application/vnd.anser-web-certificate-issue-initiation base64 +fti application/vnd.anser-web-funds-transfer-initiation base64 +atx application/vnd.antix.game-component base64 +mpkg application/vnd.apple.installer+xml base64 +m3u8 application/vnd.apple.mpegurl base64 +pkpass application/vnd.apple.pkpass base64 +swi application/vnd.aristanetworks.swi base64 +iota application/vnd.astraea-software.iota base64 +aep application/vnd.audiograph base64 +mpm application/vnd.blueice.multipass base64 +bmi application/vnd.bmi base64 +rep application/vnd.businessobjects base64 +cdxml application/vnd.chemdraw+xml base64 +mmd application/vnd.chipnuts.karaoke-mmd base64 +cdy application/vnd.cinderella base64 +cla application/vnd.claymore base64 +rp9 application/vnd.cloanto.rp9 base64 +c4d application/vnd.clonk.c4group base64 +c11amc application/vnd.cluetrust.cartomobile-config base64 +c11amz application/vnd.cluetrust.cartomobile-config-pkg base64 +csp application/vnd.commonspace base64 +cdbcmsg application/vnd.contact.cmsg base64 +cmc application/vnd.cosmocaller base64 +clkx application/vnd.crick.clicker base64 +clkk application/vnd.crick.clicker.keyboard base64 +clkp application/vnd.crick.clicker.palette base64 +clkt application/vnd.crick.clicker.template base64 +clkw application/vnd.crick.clicker.wordbank base64 +wbs application/vnd.criticaltools.wbs+xml base64 +pml application/vnd.ctc-posml base64 +ppd application/vnd.cups-ppd base64 +curl application/vnd.curl base64 +car application/vnd.curl.car base64 +pcurl application/vnd.curl.pcurl base64 +dart application/vnd.dart base64 +rdz application/vnd.data-vision.rdz base64 +uvd application/vnd.dece.data base64 +uvt application/vnd.dece.ttml+xml base64 +uvvx application/vnd.dece.unspecified base64 +uvvz application/vnd.dece.zip base64 +fe_launch application/vnd.denovo.fcselayout-link base64 +dna application/vnd.dna base64 +mlp application/vnd.dolby.mlp base64 +dpg application/vnd.dpgraph base64 +dfac application/vnd.dreamfactory base64 +kpxx application/vnd.ds-keypoint base64 +ait application/vnd.dvb.ait base64 +svc application/vnd.dvb.service base64 +geo application/vnd.dynageo base64 +mag application/vnd.ecowin.chart base64 +nml application/vnd.enliven base64 +esf application/vnd.epson.esf base64 +msf application/vnd.epson.msf base64 +qam application/vnd.epson.quickanime base64 +slt application/vnd.epson.salt base64 +ssf application/vnd.epson.ssf base64 +es3 application/vnd.eszigno3+xml base64 +ez2 application/vnd.ezpix-album base64 +ez3 application/vnd.ezpix-package base64 +fdf application/vnd.fdf base64 +mseed application/vnd.fdsn.mseed base64 +dataless application/vnd.fdsn.seed base64 +ftc application/vnd.fluxtime.clip base64 +frm application/vnd.framemaker base64 +fnc application/vnd.frogans.fnc base64 +ltf application/vnd.frogans.ltf base64 +fsc application/vnd.fsc.weblaunch 7bit +oas application/vnd.fujitsu.oasys base64 +oa2 application/vnd.fujitsu.oasys2 base64 +oa3 application/vnd.fujitsu.oasys3 base64 +fg5 application/vnd.fujitsu.oasysgp base64 +bh2 application/vnd.fujitsu.oasysprs base64 +ddd application/vnd.fujixerox.ddd base64 +xdw application/vnd.fujixerox.docuworks base64 +xbd application/vnd.fujixerox.docuworks.binder base64 +fzs application/vnd.fuzzysheet base64 +txd application/vnd.genomatix.tuxedo base64 +ggb application/vnd.geogebra.file base64 +ggs application/vnd.geogebra.slides base64 +ggt application/vnd.geogebra.tool base64 +gex application/vnd.geometry-explorer base64 +gxt application/vnd.geonext base64 +g2w application/vnd.geoplan base64 +g3w application/vnd.geospace base64 +gmx application/vnd.gmx base64 +kml application/vnd.google-earth.kml+xml 8bit +kmz application/vnd.google-earth.kmz 8bit +gqf application/vnd.grafeq base64 +gac application/vnd.groove-account base64 +ghf application/vnd.groove-help base64 +gim application/vnd.groove-identity-message base64 +grv application/vnd.groove-injector base64 +gtm application/vnd.groove-tool-message base64 +tpl application/vnd.groove-tool-template base64 +vcg application/vnd.groove-vcard base64 +hal application/vnd.hal+xml base64 +hbci application/vnd.hbci base64 +les application/vnd.hhe.lesson-player base64 +plt application/vnd.hp-HPGL base64 +pcl application/vnd.hp-PCL base64 +pclxl application/vnd.hp-PCLXL base64 +hpid application/vnd.hp-hpid base64 +hps application/vnd.hp-hps base64 +jlt application/vnd.hp-jlyt base64 +sfd-hdstx application/vnd.hydrostatix.sof-data base64 +mpy application/vnd.ibm.MiniPay base64 +emm application/vnd.ibm.electronic-media base64 +afp application/vnd.ibm.modcap base64 +irm application/vnd.ibm.rights-management base64 +sc application/vnd.ibm.secure-container base64 +icc application/vnd.iccprofile base64 +igl application/vnd.igloader base64 +ivp application/vnd.immervision-ivp base64 +ivu application/vnd.immervision-ivu base64 +igm application/vnd.insors.igm base64 +xpw application/vnd.intercon.formnet base64 +i2g application/vnd.intergeo base64 +qbo application/vnd.intu.qbo base64 +qfx application/vnd.intu.qfx base64 +rcprofile application/vnd.ipunplugged.rcprofile base64 +irp application/vnd.irepository.package+xml base64 +xpr application/vnd.is-xpr base64 +fcs application/vnd.isac.fcs base64 +jam application/vnd.jam base64 +rms application/vnd.jcp.javame.midlet-rms base64 +jisp application/vnd.jisp base64 +joda application/vnd.joost.joda-archive base64 +ktr application/vnd.kahootz base64 +karbon application/vnd.kde.karbon base64 +chrt application/vnd.kde.kchart base64 +kfo application/vnd.kde.kformula base64 +flw application/vnd.kde.kivio base64 +kon application/vnd.kde.kontour base64 +kpr application/vnd.kde.kpresenter base64 +ksp application/vnd.kde.kspread base64 +kwd application/vnd.kde.kword base64 +htke application/vnd.kenameaapp base64 +kia application/vnd.kidspiration base64 +skd application/vnd.koan base64 +sse application/vnd.kodak-descriptor base64 +lasxml application/vnd.las.las+xml base64 +lbd application/vnd.llamagraphics.life-balance.desktop base64 +lbe application/vnd.llamagraphics.life-balance.exchange+xml base64 +wks application/vnd.lotus-1-2-3 base64 +apr application/vnd.lotus-approach base64 +pre application/vnd.lotus-freelance base64 +nsf application/vnd.lotus-notes base64 +org application/vnd.lotus-organizer base64 +scm application/vnd.lotus-screencam base64 +lwp application/vnd.lotus-wordpro base64 +portpkg application/vnd.macports.portpkg base64 +mcd application/vnd.mcd base64 +mc1 application/vnd.medcalcdata base64 +cdkey application/vnd.mediastation.cdkey base64 +mfm application/vnd.mfmp base64 +flo application/vnd.micrografx.flo base64 +igx application/vnd.micrografx.igx base64 +mif application/vnd.mif base64 +mpn application/vnd.mophun.application base64 +mpc application/vnd.mophun.certificate base64 +xul application/vnd.mozilla.xul+xml base64 +cil application/vnd.ms-artgalry base64 +asf application/vnd.ms-asf base64 +cab application/vnd.ms-cab-compressed base64 +xls application/vnd.ms-excel base64 +xlam application/vnd.ms-excel.addin.macroEnabled.12 base64 +xlsb application/vnd.ms-excel.sheet.binary.macroEnabled.12 base64 +xlsm application/vnd.ms-excel.sheet.macroEnabled.12 base64 +xltm application/vnd.ms-excel.template.macroEnabled.12 base64 +eot application/vnd.ms-fontobject base64 +chm application/vnd.ms-htmlhelp base64 +ims application/vnd.ms-ims base64 +lrm application/vnd.ms-lrm base64 +thmx application/vnd.ms-officetheme base64 +msg application/vnd.ms-outlook base64 +cat application/vnd.ms-pki.seccat base64 +stl application/vnd.ms-pki.stl base64 +ppt application/vnd.ms-powerpoint base64 +ppam application/vnd.ms-powerpoint.addin.macroEnabled.12 base64 +pptm application/vnd.ms-powerpoint.presentation.macroEnabled.12 base64 +sldm application/vnd.ms-powerpoint.slide.macroEnabled.12 base64 +ppsm application/vnd.ms-powerpoint.slideshow.macroEnabled.12 base64 +potm application/vnd.ms-powerpoint.template.macroEnabled.12 base64 +mpp application/vnd.ms-project base64 +docm application/vnd.ms-word.document.macroEnabled.12 base64 +dotm application/vnd.ms-word.template.macroEnabled.12 base64 +wcm application/vnd.ms-works base64 +wpl application/vnd.ms-wpl base64 +xps application/vnd.ms-xpsdocument 8bit +mseq application/vnd.mseq base64 +mus application/vnd.musician base64 +msty application/vnd.muvee.style base64 +taglet application/vnd.mynfc base64 +ent application/vnd.nervana base64 +nlu application/vnd.neurolanguage.nlu base64 +nitf application/vnd.nitf base64 +nnd application/vnd.noblenet-directory base64 +nns application/vnd.noblenet-sealer base64 +nnw application/vnd.noblenet-web base64 +ngdat application/vnd.nokia.n-gage.data base64 +n-gage application/vnd.nokia.n-gage.symbian.install base64 +rpst application/vnd.nokia.radio-preset base64 +rpss application/vnd.nokia.radio-presets base64 +edm application/vnd.novadigm.EDM base64 +edx application/vnd.novadigm.EDX base64 +ext application/vnd.novadigm.EXT base64 +odc application/vnd.oasis.opendocument.chart base64 +odc application/vnd.oasis.opendocument.chart-template base64 +odb application/vnd.oasis.opendocument.database base64 +odf application/vnd.oasis.opendocument.formula base64 +odf application/vnd.oasis.opendocument.formula-template base64 +odg application/vnd.oasis.opendocument.graphics base64 +otg application/vnd.oasis.opendocument.graphics-template base64 +odi application/vnd.oasis.opendocument.image base64 +odi application/vnd.oasis.opendocument.image-template base64 +odp application/vnd.oasis.opendocument.presentation base64 +otp application/vnd.oasis.opendocument.presentation-template base64 +ods application/vnd.oasis.opendocument.spreadsheet base64 +ots application/vnd.oasis.opendocument.spreadsheet-template base64 +odt application/vnd.oasis.opendocument.text base64 +odm application/vnd.oasis.opendocument.text-master base64 +ott application/vnd.oasis.opendocument.text-template base64 +oth application/vnd.oasis.opendocument.text-web base64 +xo application/vnd.olpc-sugar base64 +dd2 application/vnd.oma.dd2+xml base64 +oxt application/vnd.openofficeorg.extension base64 +pptx application/vnd.openxmlformats-officedocument.presentationml.presentation base64 +sldx application/vnd.openxmlformats-officedocument.presentationml.slide base64 +ppsx application/vnd.openxmlformats-officedocument.presentationml.slideshow base64 +potx application/vnd.openxmlformats-officedocument.presentationml.template base64 +xlsx application/vnd.openxmlformats-officedocument.spreadsheetml.sheet base64 +xltx application/vnd.openxmlformats-officedocument.spreadsheetml.template base64 +docx application/vnd.openxmlformats-officedocument.wordprocessingml.document base64 +dotx application/vnd.openxmlformats-officedocument.wordprocessingml.template base64 +mgp application/vnd.osgeo.mapguide.package base64 +dp application/vnd.osgi.dp base64 +esa application/vnd.osgi.subsystem base64 +prc application/vnd.palm base64 +paw application/vnd.pawaafile base64 +str application/vnd.pg.format base64 +ei6 application/vnd.pg.osasli base64 +efif application/vnd.picsel base64 +wg application/vnd.pmi.widget base64 +plf application/vnd.pocketlearn base64 +pbd application/vnd.powerbuilder6 base64 +box application/vnd.previewsystems.box base64 +mgz application/vnd.proteus.magazine base64 +qps application/vnd.publishare-delta-tree base64 +pti application/vnd.pvi.ptid1 base64 +bed application/vnd.realvnc.bed base64 +mxl application/vnd.recordare.musicxml base64 +musicxml application/vnd.recordare.musicxml+xml base64 +cryptonote application/vnd.rig.cryptonote base64 +cod application/vnd.rim.cod base64 +rm application/vnd.rn-realmedia base64 +rmvb application/vnd.rn-realmedia-vbr base64 +link66 application/vnd.route66.link66+xml base64 +st application/vnd.sailingtracker.track base64 +sdoc application/vnd.sealed.doc base64 +seml application/vnd.sealed.eml base64 +smht application/vnd.sealed.mht base64 +sppt application/vnd.sealed.ppt base64 +sxls application/vnd.sealed.xls base64 +stml application/vnd.sealedmedia.softseal.html base64 +spdf application/vnd.sealedmedia.softseal.pdf base64 +see application/vnd.seemail base64 +sema application/vnd.sema base64 +semd application/vnd.semd base64 +semf application/vnd.semf base64 +ifm application/vnd.shana.informed.formdata base64 +itp application/vnd.shana.informed.formtemplate base64 +iif application/vnd.shana.informed.interchange base64 +ipk application/vnd.shana.informed.package base64 +mmf application/vnd.smaf base64 +teacher application/vnd.smart.teacher base64 +sdkd application/vnd.solent.sdkm+xml base64 +dxp application/vnd.spotfire.dxp base64 +sfs application/vnd.spotfire.sfs base64 +sdc application/vnd.stardivision.calc base64 +sds application/vnd.stardivision.chart base64 +sda application/vnd.stardivision.draw base64 +sdd application/vnd.stardivision.impress base64 +sdf application/vnd.stardivision.math base64 +sdw application/vnd.stardivision.writer base64 +sgl application/vnd.stardivision.writer-global base64 +smzip application/vnd.stepmania.package base64 +sm application/vnd.stepmania.stepchart base64 +sxc application/vnd.sun.xml.calc base64 +stc application/vnd.sun.xml.calc.template base64 +sxd application/vnd.sun.xml.draw base64 +std application/vnd.sun.xml.draw.template base64 +sxi application/vnd.sun.xml.impress base64 +sti application/vnd.sun.xml.impress.template base64 +sxm application/vnd.sun.xml.math base64 +sxw application/vnd.sun.xml.writer base64 +sxg application/vnd.sun.xml.writer.global base64 +stw application/vnd.sun.xml.writer.template base64 +sus application/vnd.sus-calendar base64 +svd application/vnd.svd base64 +sis application/vnd.symbian.install base64 +xsm application/vnd.syncml+xml base64 +bdm application/vnd.syncml.dm+wbxml base64 +xdm application/vnd.syncml.dm+xml base64 +tao application/vnd.tao.intent-module-archive base64 +cap application/vnd.tcpdump.pcap base64 +tmo application/vnd.tmobile-livetv base64 +tpt application/vnd.trid.tpt base64 +mxs application/vnd.triscape.mxs base64 +tra application/vnd.trueapp base64 +ufd application/vnd.ufdl base64 +utz application/vnd.uiq.theme base64 +umj application/vnd.umajin base64 +unityweb application/vnd.unity base64 +uoml application/vnd.uoml+xml base64 +vcx application/vnd.vcx base64 +vsc application/vnd.vidsoft.vidconference 8bit +vsd application/vnd.visio base64 +vis application/vnd.visionary base64 +vsf application/vnd.vsf base64 +sic application/vnd.wap.sic base64 +slc application/vnd.wap.slc base64 +wbxml application/vnd.wap.wbxml base64 +wmlc application/vnd.wap.wmlc base64 +wmlsc application/vnd.wap.wmlscriptc base64 +wtb application/vnd.webturbo base64 +nbp application/vnd.wolfram.player base64 +wpd application/vnd.wordperfect base64 +wqd application/vnd.wqd base64 +stf application/vnd.wt.stf base64 +wv application/vnd.wv.csp+wbxml base64 +xar application/vnd.xara base64 +xfdl application/vnd.xfdl base64 +hvd application/vnd.yamaha.hv-dic base64 +hvs application/vnd.yamaha.hv-script base64 +hvp application/vnd.yamaha.hv-voice base64 +osf application/vnd.yamaha.openscoreformat base64 +osfpvg application/vnd.yamaha.openscoreformat.osfpvg+xml base64 +saf application/vnd.yamaha.smaf-audio base64 +spf application/vnd.yamaha.smaf-phrase base64 +cmp application/vnd.yellowriver-custom-menu base64 +zir application/vnd.zul base64 +zaz application/vnd.zzazz.deck+xml base64 +vxml application/voicexml+xml base64 +wasm application/wasm 8bit +wif application/watcherinfo+xml base64 +wgt application/widget base64 +wp5 application/wordperfect5.1 base64 +wsdl application/wsdl+xml base64 +wspolicy application/wspolicy+xml base64 +wk application/x-123 base64 +7z application/x-7z-compressed base64 +bck application/x-VMSBACKUP base64 +wz application/x-Wingz base64 +abw application/x-abiword base64 +ace application/x-ace-compressed base64 +dmg application/x-apple-diskimage base64 +aab application/x-authorware-bin base64 +aam application/x-authorware-map base64 +aas application/x-authorware-seg base64 +bcpio application/x-bcpio base64 +torrent application/x-bittorrent base64 +bleep application/x-bleeper base64 +blb application/x-blorb base64 +bz application/x-bzip base64 +boz application/x-bzip2 base64 +cb7 application/x-cbr base64 +vcd application/x-cdlink base64 +cfs application/x-cfs-compressed base64 +chat application/x-chat base64 +pgn application/x-chess-pgn base64 +crx application/x-chrome-extension base64 +z application/x-compressed base64 +nsc application/x-conference base64 +cpio application/x-cpio base64 +csh application/x-csh 8bit +csm application/x-cu-seeme base64 +deb application/x-debian-package base64 +dgc application/x-dgc-compressed base64 +dcr application/x-director base64 +wad application/x-doom base64 +ncx application/x-dtbncx+xml base64 +dtb application/x-dtbook+xml base64 +res application/x-dtbresource+xml base64 +dvi application/x-dvi base64 +evy application/x-envoy base64 +eva application/x-eva base64 +bdf application/x-font-bdf base64 +gsf application/x-font-ghostscript base64 +psf application/x-font-linux-psf base64 +pcf application/x-font-pcf base64 +snf application/x-font-snf base64 +afm application/x-font-type1 base64 +arc application/x-freearc base64 +spl application/x-futuresplash base64 +gca application/x-gca-compressed base64 +ulx application/x-glulx base64 +gnumeric application/x-gnumeric base64 +gramps application/x-gramps-xml base64 +gtar application/x-gtar base64 +hdf application/x-hdf base64 +hep application/x-hep base64 +rhtml application/x-html+ruby 8bit +phtml application/x-httpd-php 8bit +ibooks application/x-ibooks+zip base64 +ica application/x-ica base64 +imagemap application/x-imagemap 8bit +install application/x-install-instructions base64 +iso application/x-iso9660-image base64 +key application/x-iwork-keynote-sffkey base64 +numbers application/x-iwork-numbers-sffnumbers base64 +pages application/x-iwork-pages-sffpages base64 +jnlp application/x-java-jnlp-file base64 +ltx application/x-latex 8bit +cpt application/x-mac-compactpro base64 +mie application/x-mie base64 +mobi application/x-mobipocket-ebook base64 +application application/x-ms-application base64 +exe application/x-ms-dos-executable base64 +lnk application/x-ms-shortcut base64 +wmd application/x-ms-wmd base64 +wmz application/x-ms-wmz base64 +xbap application/x-ms-xbap base64 +mda application/x-msaccess base64 +obd application/x-msbinder base64 +crd application/x-mscardfile base64 +clp application/x-msclip base64 +cmd application/x-msdos-program base64 +exe application/x-msdownload base64 +m13 application/x-msmediaview base64 +emf application/x-msmetafile base64 +mny application/x-msmoney base64 +pub application/x-mspublisher base64 +scd application/x-msschedule base64 +trm application/x-msterminal base64 +wri application/x-mswrite base64 +pac application/x-ns-proxy-autoconfig base64 +nzb application/x-nzb base64 +oex application/x-opera-extension base64 +pm application/x-pagemaker base64 +pl application/x-perl 8bit +p12 application/x-pkcs12 base64 +p7b application/x-pkcs7-certificates base64 +p7r application/x-pkcs7-certreqresp base64 +py application/x-python 8bit +qtl application/x-quicktimeplayer base64 +rar application/x-rar-compressed base64 +ris application/x-research-info-systems base64 +rb application/x-ruby 8bit +sh application/x-sh 8bit +shar application/x-shar 8bit +swf application/x-shockwave-flash base64 +xap application/x-silverlight-app base64 +notebook application/x-smarttech-notebook base64 +sav application/x-spss base64 +sql application/x-sql base64 +sit application/x-stuffit base64 +sitx application/x-stuffitx base64 +srt application/x-subrip base64 +sv4cpio application/x-sv4cpio base64 +sv4crc application/x-sv4crc base64 +t3 application/x-t3vm-image base64 +gam application/x-tads base64 +tar application/x-tar base64 +tcl application/x-tcl 8bit +tex application/x-tex 8bit +tfm application/x-tex-tfm base64 +texinfo application/x-texinfo 8bit +obj application/x-tgif base64 +tbk application/x-toolbook base64 +ustar application/x-ustar base64 +src application/x-wais-source base64 +webapp application/x-web-app-manifest+json base64 +wp6 application/x-wordperfect6.1 base64 +crt application/x-x509-ca-cert base64 +fig application/x-xfig base64 +xlf application/x-xliff+xml base64 +xpi application/x-xpinstall base64 +xz application/x-xz base64 +z1 application/x-zmachine base64 +xaml application/xaml+xml base64 +xdf application/xcap-diff+xml base64 +xenc application/xenc+xml base64 +xht application/xhtml+xml 8bit +xml application/xml 8bit +dtd application/xml-dtd 8bit +xop application/xop+xml base64 +xpl application/xproc+xml base64 +xslt application/xslt+xml base64 +xspf application/xspf+xml base64 +mxml application/xv+xml base64 +yang application/yang base64 +yin application/yin+xml base64 +zip application/zip base64 +amr audio/AMR base64 +awb audio/AMR-WB base64 +evc audio/EVRC base64 +l16 audio/L16 base64 +smv audio/SMV base64 +adp audio/adpcm base64 +au audio/basic base64 +kar audio/midi base64 +mp4 audio/mp4 base64 +mpga audio/mpeg base64 +oga audio/ogg base64 +s3m audio/s3m base64 +sil audio/silk base64 +uva audio/vnd.dece.audio base64 +eol audio/vnd.digital-winds 7bit +dra audio/vnd.dra base64 +dts audio/vnd.dts base64 +dtshd audio/vnd.dts.hd base64 +plj audio/vnd.everad.plj base64 +lvp audio/vnd.lucent.voice base64 +pya audio/vnd.ms-playready.media.pya base64 +mxmf audio/vnd.nokia.mobile-xmf base64 +vbk audio/vnd.nortel.vbk base64 +ecelp4800 audio/vnd.nuera.ecelp4800 base64 +ecelp7470 audio/vnd.nuera.ecelp7470 base64 +ecelp9600 audio/vnd.nuera.ecelp9600 base64 +qcp audio/vnd.qcelp base64 +rip audio/vnd.rip base64 +smp3 audio/vnd.sealedmedia.softseal.mpeg base64 +wav audio/wav base64 +weba audio/webm base64 +aac audio/x-aac base64 +aif audio/x-aiff base64 +caf audio/x-caf base64 +flac audio/x-flac base64 +mka audio/x-matroska base64 +m3u audio/x-mpegurl base64 +wax audio/x-ms-wax base64 +wma audio/x-ms-wma base64 +wmv audio/x-ms-wmv base64 +ra audio/x-pn-realaudio base64 +rmp audio/x-pn-realaudio-plugin base64 +xm audio/xm base64 +cdx chemical/x-cdx base64 +cif chemical/x-cif base64 +cmdf chemical/x-cmdf base64 +cml chemical/x-cml base64 +csml chemical/x-csml base64 +ttc font/collection base64 +otf font/otf base64 +ttf font/ttf base64 +woff font/woff base64 +woff2 font/woff2 base64 +avif image/avif base64 +bmp image/bmp base64 +cgm image/cgm base64 +g3 image/g3fax base64 +gif image/gif base64 +heic image/heic base64 +heics image/heic-sequence base64 +heif image/heif base64 +heifs image/heif-sequence base64 +ief image/ief base64 +jp2 image/jp2 base64 +jpeg image/jpeg base64 +jpm image/jpm base64 +jpx image/jpx base64 +ktx image/ktx base64 +png image/png base64 +btif image/prs.btif base64 +sgi image/sgi base64 +svg image/svg+xml 8bit +tiff image/tiff base64 +psd image/vnd.adobe.photoshop base64 +uvg image/vnd.dece.graphic base64 +djvu image/vnd.djvu base64 +sub image/vnd.dvb.subtitle base64 +dwg image/vnd.dwg base64 +dxf image/vnd.dxf base64 +fbs image/vnd.fastbidsheet base64 +fpx image/vnd.fpx base64 +fst image/vnd.fst base64 +mmr image/vnd.fujixerox.edmics-mmr base64 +rlc image/vnd.fujixerox.edmics-rlc base64 +pgb image/vnd.globalgraphics.pgb base64 +ico image/vnd.microsoft.icon base64 +mdi image/vnd.ms-modi base64 +wdp image/vnd.ms-photo base64 +npx image/vnd.net-fpx base64 +wbmp image/vnd.wap.wbmp base64 +xif image/vnd.xiff base64 +webp image/webp base64 +3ds image/x-3ds base64 +dng image/x-adobe-dng base64 +cr2 image/x-canon-cr2 base64 +crw image/x-canon-crw base64 +ras image/x-cmu-raster base64 +cmx image/x-cmx base64 +xcfbz2 image/x-compressed-xcf base64 +erf image/x-epson-erf base64 +fh image/x-freehand base64 +raf image/x-fuji-raf base64 +3fr image/x-hasselblad-3fr base64 +k25 image/x-kodak-k25 base64 +kdc image/x-kodak-kdc base64 +mrw image/x-minolta-mrw base64 +sid image/x-mrsid-image base64 +nef image/x-nikon-nef base64 +orf image/x-olympus-orf base64 +psp image/x-paintshoppro base64 +raw image/x-panasonic-raw base64 +pcx image/x-pcx base64 +pef image/x-pentax-pef base64 +pct image/x-pict base64 +pnm image/x-portable-anymap base64 +pbm image/x-portable-bitmap base64 +pgm image/x-portable-graymap base64 +ppm image/x-portable-pixmap base64 +rgb image/x-rgb base64 +x3f image/x-sigma-x3f base64 +arw image/x-sony-arw base64 +sr2 image/x-sony-sr2 base64 +srf image/x-sony-srf base64 +tga image/x-targa base64 +dgn image/x-vnd.dgn base64 +xbm image/x-xbitmap 7bit +xcf image/x-xcf base64 +xpm image/x-xpixmap 8bit +xwd image/x-xwindowdump base64 +eml message/rfc822 8bit +igs model/iges base64 +msh model/mesh base64 +dae model/vnd.collada+xml base64 +dwf model/vnd.dwf base64 +gdl model/vnd.gdl base64 +gtw model/vnd.gtw base64 +mts model/vnd.mts base64 +x_b model/vnd.parasolid.transmit.binary base64 +x_t model/vnd.parasolid.transmit.text quoted-printable +vtu model/vnd.vtu base64 +wrl model/vrml base64 +x3db model/x3d+binary base64 +x3dv model/x3d+vrml base64 +x3d model/x3d+xml base64 +appcache text/cache-manifest quoted-printable +ics text/calendar quoted-printable +css text/css 8bit +csv text/csv 8bit +html text/html 8bit +js text/javascript quoted-printable +markdown text/markdown quoted-printable +n3 text/n3 quoted-printable +txt text/plain quoted-printable +dsc text/prs.lines.tag quoted-printable +rtx text/richtext 8bit +sgml text/sgml quoted-printable +tsv text/tab-separated-values quoted-printable +t text/troff 8bit +ttl text/turtle quoted-printable +uri text/uri-list quoted-printable +vcard text/vcard quoted-printable +dcurl text/vnd.curl.dcurl quoted-printable +mcurl text/vnd.curl.mcurl quoted-printable +scurl text/vnd.curl.scurl quoted-printable +fly text/vnd.fly quoted-printable +flx text/vnd.fmi.flexstor quoted-printable +gv text/vnd.graphviz quoted-printable +3dml text/vnd.in3d.3dml quoted-printable +spot text/vnd.in3d.spot quoted-printable +ccc text/vnd.net2phone.commcenter.command quoted-printable +jad text/vnd.sun.j2me.app-descriptor 8bit +si text/vnd.wap.si quoted-printable +sl text/vnd.wap.sl quoted-printable +wml text/vnd.wap.wml quoted-printable +wmls text/vnd.wap.wmlscript quoted-printable +vtt text/vtt quoted-printable +asm text/x-asm quoted-printable +c text/x-c quoted-printable +coffee text/x-coffescript 8bit +htc text/x-component 8bit +f text/x-fortran quoted-printable +java text/x-java-source quoted-printable +nfo text/x-nfo quoted-printable +opml text/x-opml quoted-printable +p text/x-pascal quoted-printable +etx text/x-setext quoted-printable +sfv text/x-sfv quoted-printable +uu text/x-uuencode quoted-printable +vcs text/x-vcalendar 8bit +vcf text/x-vcard 8bit +yaml text/x-yaml 8bit +xml text/xml 8bit +3gp video/3gpp base64 +3g2 video/3gpp2 base64 +dv video/DV base64 +h261 video/H261 base64 +h263 video/H263 base64 +h264 video/H264 base64 +jpgv video/JPEG base64 +mj2 video/MJ2 base64 +ts video/MP2T base64 +mp4 video/mp4 base64 +mp2 video/mpeg base64 +ogg video/ogg base64 +qt video/quicktime base64 +uvh video/vnd.dece.hd base64 +uvm video/vnd.dece.mobile base64 +uvp video/vnd.dece.pd base64 +uvs video/vnd.dece.sd base64 +uvv video/vnd.dece.video base64 +dvb video/vnd.dvb.file base64 +fvt video/vnd.fvt base64 +mxu video/vnd.mpegurl 8bit +pyv video/vnd.ms-playready.media.pyv base64 +nim video/vnd.nokia.interleaved-multimedia base64 +mp4 video/vnd.objectvideo base64 +s11 video/vnd.sealed.mpeg1 base64 +smpg video/vnd.sealed.mpeg4 base64 +sswf video/vnd.sealed.swf base64 +smov video/vnd.sealedmedia.softseal.mov base64 +uvu video/vnd.uvvu.mp4 base64 +viv video/vnd.vivo base64 +dl video/x-dl base64 +fli video/x-fli base64 +flv video/x-flv base64 +gl video/x-gl base64 +ivf video/x-ivf base64 +mk3d video/x-matroska base64 +mng video/x-mng base64 +mjpg video/x-motion-jpeg base64 +asf video/x-ms-asf base64 +vob video/x-ms-vob base64 +wm video/x-ms-wm base64 +wmx video/x-ms-wmx base64 +wvx video/x-ms-wvx base64 +avi video/x-msvideo base64 +movie video/x-sgi-movie base64 +xyz x-chemical/x-xyz base64 +ice x-conference/x-cooltalk base64 diff --git a/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/lib/db/ext_mime.db b/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/lib/db/ext_mime.db new file mode 100644 index 0000000..5cf98a5 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/lib/db/ext_mime.db @@ -0,0 +1,1201 @@ +123 application/vnd.lotus-1-2-3 base64 +3dml text/vnd.in3d.3dml quoted-printable +3ds image/x-3ds base64 +3fr image/x-hasselblad-3fr base64 +3g2 video/3gpp2 base64 +3gp video/3gpp base64 +3gpp video/3gpp base64 +3gpp2 video/3gpp2 base64 +7z application/x-7z-compressed base64 +@dir application/x-director base64 +@dxr application/x-director base64 +aab application/x-authorware-bin base64 +aac audio/x-aac base64 +aam application/x-authorware-map base64 +aas application/x-authorware-seg base64 +abw application/x-abiword base64 +ac application/pkix-attr-cert base64 +acc application/vnd.americandynamics.acc base64 +ace application/x-ace-compressed base64 +acu application/vnd.acucobol base64 +acutc application/vnd.acucorp 7bit +adp audio/adpcm base64 +aep application/vnd.audiograph base64 +afm application/x-font-type1 base64 +afp application/vnd.ibm.modcap base64 +ahead application/vnd.ahead.space base64 +ai application/pdf base64 +aif audio/x-aiff base64 +aifc audio/x-aiff base64 +aiff audio/x-aiff base64 +air application/vnd.adobe.air-application-installer-package+zip base64 +ait application/vnd.dvb.ait base64 +ami application/vnd.amiga.ami base64 +amr audio/AMR base64 +ani application/octet-stream base64 +apk application/vnd.android.package-archive base64 +appcache text/cache-manifest quoted-printable +application application/x-ms-application base64 +apr application/vnd.lotus-approach base64 +arc application/x-freearc base64 +arw image/x-sony-arw base64 +asc application/pgp-signature base64 +asf application/vnd.ms-asf base64 +asm text/x-asm quoted-printable +aso application/vnd.accpac.simply.aso base64 +asx video/x-ms-asf base64 +atc application/vnd.acucorp 7bit +atom application/atom+xml 8bit +atomcat application/atomcat+xml 8bit +atomsvc application/atomsvc+xml 8bit +atx application/vnd.antix.game-component base64 +au audio/basic base64 +avi video/x-msvideo base64 +avif image/avif base64 +aw application/applixware base64 +awb audio/AMR-WB base64 +azf application/vnd.airzip.filesecure.azf base64 +azs application/vnd.airzip.filesecure.azs base64 +azw application/vnd.amazon.ebook base64 +bat application/x-msdos-program base64 +bck application/x-VMSBACKUP base64 +bcpio application/x-bcpio base64 +bdf application/x-font-bdf base64 +bdm application/vnd.syncml.dm+wbxml base64 +bed application/vnd.realvnc.bed base64 +bh2 application/vnd.fujitsu.oasysprs base64 +bin application/octet-stream base64 +bkm application/vnd.nervana base64 +blb application/x-blorb base64 +bleep application/x-bleeper base64 +blorb application/x-blorb base64 +bmi application/vnd.bmi base64 +bmp image/bmp base64 +book application/vnd.framemaker base64 +box application/vnd.previewsystems.box base64 +boz application/x-bzip2 base64 +bpd application/vnd.hbci base64 +bpk application/octet-stream base64 +btif image/prs.btif base64 +bz application/x-bzip base64 +bz2 application/x-bzip2 base64 +c text/plain quoted-printable +c11amc application/vnd.cluetrust.cartomobile-config base64 +c11amz application/vnd.cluetrust.cartomobile-config-pkg base64 +c4d application/vnd.clonk.c4group base64 +c4f application/vnd.clonk.c4group base64 +c4g application/vnd.clonk.c4group base64 +c4p application/vnd.clonk.c4group base64 +c4u application/vnd.clonk.c4group base64 +cab application/vnd.ms-cab-compressed base64 +caf audio/x-caf base64 +cap application/vnd.tcpdump.pcap base64 +car application/vnd.curl.car base64 +cat application/vnd.ms-pki.seccat base64 +cb7 application/x-cbr base64 +cba application/x-cbr base64 +cbr application/x-cbr base64 +cbt application/x-cbr base64 +cbz application/x-cbr base64 +cc text/plain quoted-printable +ccc text/vnd.net2phone.commcenter.command quoted-printable +cct application/x-director base64 +ccxml application/ccxml+xml base64 +cdbcmsg application/vnd.contact.cmsg base64 +cdf application/netcdf base64 +cdkey application/vnd.mediastation.cdkey base64 +cdmia application/cdmi-capability base64 +cdmic application/cdmi-container base64 +cdmid application/cdmi-domain base64 +cdmio application/cdmi-object base64 +cdmiq application/cdmi-queue base64 +cdx chemical/x-cdx base64 +cdxml application/vnd.chemdraw+xml base64 +cdy application/vnd.cinderella base64 +cer application/pkix-cert base64 +cfs application/x-cfs-compressed base64 +cgm image/cgm base64 +chat application/x-chat base64 +chm application/vnd.ms-htmlhelp base64 +chrt application/vnd.kde.kchart base64 +cif chemical/x-cif base64 +cii application/vnd.anser-web-certificate-issue-initiation base64 +cil application/vnd.ms-artgalry base64 +cjs text/javascript quoted-printable +cla application/vnd.claymore base64 +class application/octet-stream base64 +clkk application/vnd.crick.clicker.keyboard base64 +clkp application/vnd.crick.clicker.palette base64 +clkt application/vnd.crick.clicker.template base64 +clkw application/vnd.crick.clicker.wordbank base64 +clkx application/vnd.crick.clicker base64 +clp application/x-msclip base64 +clpi video/MP2T base64 +cmc application/vnd.cosmocaller base64 +cmd application/x-msdos-program base64 +cmdf chemical/x-cmdf base64 +cml chemical/x-cml base64 +cmp application/vnd.yellowriver-custom-menu base64 +cmx image/x-cmx base64 +cod application/vnd.rim.cod base64 +coffee text/x-coffescript 8bit +com application/x-msdos-program base64 +conf text/plain quoted-printable +cpi video/MP2T base64 +cpio application/x-cpio base64 +cpp text/plain quoted-printable +cpt application/x-mac-compactpro base64 +cr2 image/x-canon-cr2 base64 +crd application/x-mscardfile base64 +crl application/pkix-crl base64 +crt application/x-x509-ca-cert base64 +crw image/x-canon-crw base64 +crx application/x-chrome-extension base64 +cryptonote application/vnd.rig.cryptonote base64 +csh application/x-csh 8bit +csm application/x-cu-seeme base64 +csml chemical/x-csml base64 +csp application/vnd.commonspace base64 +css text/css 8bit +cst application/x-director base64 +csv text/csv 8bit +cu application/cu-seeme base64 +curl application/vnd.curl base64 +cw application/prs.cww base64 +cww application/prs.cww base64 +cxt application/x-director base64 +cxx text/x-c quoted-printable +dae model/vnd.collada+xml base64 +daf application/vnd.Mobius.DAF base64 +dart application/vnd.dart base64 +dat text/plain quoted-printable +dataless application/vnd.fdsn.seed base64 +davmount application/davmount+xml base64 +dbk application/docbook+xml base64 +dcm application/dicom base64 +dcr application/x-director base64 +dcurl text/vnd.curl.dcurl quoted-printable +dd2 application/vnd.oma.dd2+xml base64 +ddd application/vnd.fujixerox.ddd base64 +deb application/x-debian-package base64 +def text/plain quoted-printable +deploy application/octet-stream base64 +der application/x-x509-ca-cert base64 +dfac application/vnd.dreamfactory base64 +dgc application/x-dgc-compressed base64 +dgn image/x-vnd.dgn base64 +dic text/x-c quoted-printable +dir application/x-director base64 +dis application/vnd.Mobius.DIS base64 +dist application/octet-stream base64 +distz application/octet-stream base64 +djv image/vnd.djvu base64 +djvu image/vnd.djvu base64 +dl video/x-dl base64 +dll application/octet-stream base64 +dmg application/x-apple-diskimage base64 +dmp application/vnd.tcpdump.pcap base64 +dms application/octet-stream base64 +dna application/vnd.dna base64 +dng image/x-adobe-dng base64 +doc application/msword base64 +docm application/vnd.ms-word.document.macroEnabled.12 base64 +docx application/vnd.openxmlformats-officedocument.wordprocessingml.document base64 +dot application/msword base64 +dotm application/vnd.ms-word.template.macroEnabled.12 base64 +dotx application/vnd.openxmlformats-officedocument.wordprocessingml.template base64 +dp application/vnd.osgi.dp base64 +dpg application/vnd.dpgraph base64 +dra audio/vnd.dra base64 +dsc text/prs.lines.tag quoted-printable +dssc application/dssc+der base64 +dtb application/x-dtbook+xml base64 +dtd application/xml-dtd 8bit +dts audio/vnd.dts base64 +dtshd audio/vnd.dts.hd base64 +dump application/octet-stream base64 +dv video/DV base64 +dvb video/vnd.dvb.file base64 +dvi application/x-dvi base64 +dwf model/vnd.dwf base64 +dwg image/vnd.dwg base64 +dxf image/vnd.dxf base64 +dxp application/vnd.spotfire.dxp base64 +dxr application/x-director base64 +dylib application/octet-stream base64 +ecelp4800 audio/vnd.nuera.ecelp4800 base64 +ecelp7470 audio/vnd.nuera.ecelp7470 base64 +ecelp9600 audio/vnd.nuera.ecelp9600 base64 +ecma application/ecmascript base64 +edm application/vnd.novadigm.EDM base64 +edx application/vnd.novadigm.EDX base64 +efif application/vnd.picsel base64 +ei6 application/vnd.pg.osasli base64 +elc application/octet-stream base64 +emf application/x-msmetafile base64 +eml message/rfc822 8bit +emm application/vnd.ibm.electronic-media base64 +emma application/emma+xml base64 +emz application/x-msmetafile base64 +ent application/vnd.nervana base64 +entity application/vnd.nervana base64 +eol audio/vnd.digital-winds 7bit +eot application/vnd.ms-fontobject base64 +eps application/postscript 8bit +epub application/epub+zip base64 +erf image/x-epson-erf base64 +es application/ecmascript base64 +es3 application/vnd.eszigno3+xml base64 +esa application/vnd.osgi.subsystem base64 +esf application/vnd.epson.esf base64 +et3 application/vnd.eszigno3+xml base64 +etx text/x-setext quoted-printable +eva application/x-eva base64 +evc audio/EVRC base64 +evy application/x-envoy base64 +exe application/x-ms-dos-executable base64 +exi application/exi base64 +ext application/vnd.novadigm.EXT base64 +ez application/andrew-inset base64 +ez2 application/vnd.ezpix-album base64 +ez3 application/vnd.ezpix-package base64 +f text/x-fortran quoted-printable +f4a audio/mp4 base64 +f4b audio/mp4 base64 +f4p video/mp4 base64 +f4v video/mp4 base64 +f77 text/x-fortran quoted-printable +f90 text/x-fortran quoted-printable +fb application/vnd.framemaker base64 +fbdoc application/vnd.framemaker base64 +fbs image/vnd.fastbidsheet base64 +fcdt application/vnd.adobe.formscentral.fcdt base64 +fcs application/vnd.isac.fcs base64 +fdf application/vnd.fdf base64 +fe_launch application/vnd.denovo.fcselayout-link base64 +fg5 application/vnd.fujitsu.oasysgp base64 +fgd application/x-director base64 +fh image/x-freehand base64 +fh4 image/x-freehand base64 +fh5 image/x-freehand base64 +fh7 image/x-freehand base64 +fhc image/x-freehand base64 +fig application/x-xfig base64 +flac audio/x-flac base64 +fli video/x-fli base64 +flo application/vnd.micrografx.flo base64 +flv video/x-flv base64 +flw application/vnd.kde.kivio base64 +flx text/vnd.fmi.flexstor quoted-printable +fly text/vnd.fly quoted-printable +fm application/vnd.framemaker base64 +fnc application/vnd.frogans.fnc base64 +for text/x-fortran quoted-printable +fpx image/vnd.fpx base64 +frame application/vnd.framemaker base64 +frm application/vnd.framemaker base64 +fsc application/vnd.fsc.weblaunch 7bit +fst image/vnd.fst base64 +ftc application/vnd.fluxtime.clip base64 +fti application/vnd.anser-web-funds-transfer-initiation base64 +fvt video/vnd.fvt base64 +fxp application/vnd.adobe.fxp base64 +fxpl application/vnd.adobe.fxp base64 +fzs application/vnd.fuzzysheet base64 +g2w application/vnd.geoplan base64 +g3 image/g3fax base64 +g3w application/vnd.geospace base64 +gac application/vnd.groove-account base64 +gam application/x-tads base64 +gbr application/rpki-ghostbusters base64 +gca application/x-gca-compressed base64 +gdl model/vnd.gdl base64 +geo application/vnd.dynageo base64 +gex application/vnd.geometry-explorer base64 +ggb application/vnd.geogebra.file base64 +ggs application/vnd.geogebra.slides base64 +ggt application/vnd.geogebra.tool base64 +ghf application/vnd.groove-help base64 +gif image/gif base64 +gim application/vnd.groove-identity-message base64 +gl video/x-gl base64 +gml application/gml+xml base64 +gmx application/vnd.gmx base64 +gnumeric application/x-gnumeric base64 +gpg application/octet-stream base64 +gph application/vnd.FloGraphIt base64 +gpx application/gpx+xml base64 +gqf application/vnd.grafeq base64 +gqs application/vnd.grafeq base64 +gram application/srgs base64 +gramps application/x-gramps-xml base64 +gre application/vnd.geometry-explorer base64 +grv application/vnd.groove-injector base64 +grxml application/srgs+xml base64 +gsf application/x-font-ghostscript base64 +gtar application/x-gtar base64 +gtm application/vnd.groove-tool-message base64 +gtw model/vnd.gtw base64 +gv text/vnd.graphviz quoted-printable +gxf application/gxf base64 +gxt application/vnd.geonext base64 +gz application/gzip base64 +h text/plain quoted-printable +h261 video/H261 base64 +h263 video/H263 base64 +h264 video/H264 base64 +hal application/vnd.hal+xml base64 +hbc application/vnd.hbci base64 +hbci application/vnd.hbci base64 +hdf application/x-hdf base64 +heic image/heic base64 +heics image/heic-sequence base64 +heif image/heif base64 +heifs image/heif-sequence base64 +hep application/x-hep base64 +hh text/plain quoted-printable +hif image/heic base64 +hlp text/plain quoted-printable +hpgl application/vnd.hp-HPGL base64 +hpid application/vnd.hp-hpid base64 +hpp text/plain quoted-printable +hps application/vnd.hp-hps base64 +hqx application/mac-binhex40 8bit +htc text/x-component 8bit +htke application/vnd.kenameaapp base64 +htm text/html 8bit +html text/html 8bit +htmlx text/html 8bit +htx text/html 8bit +hvd application/vnd.yamaha.hv-dic base64 +hvp application/vnd.yamaha.hv-voice base64 +hvs application/vnd.yamaha.hv-script base64 +i2g application/vnd.intergeo base64 +ibooks application/x-ibooks+zip base64 +ica application/x-ica base64 +icc application/vnd.iccprofile base64 +ice x-conference/x-cooltalk base64 +icm application/vnd.iccprofile base64 +ico image/vnd.microsoft.icon base64 +ics text/calendar quoted-printable +ief image/ief base64 +ifb text/calendar quoted-printable +ifm application/vnd.shana.informed.formdata base64 +iges model/iges base64 +igl application/vnd.igloader base64 +igm application/vnd.insors.igm base64 +igs model/iges base64 +igx application/vnd.micrografx.igx base64 +iif application/vnd.shana.informed.interchange base64 +imagemap application/x-imagemap 8bit +imap application/x-imagemap 8bit +imp application/vnd.accpac.simply.imp base64 +ims application/vnd.ms-ims base64 +in text/plain quoted-printable +ink application/inkml+xml base64 +inkml application/inkml+xml base64 +install application/x-install-instructions base64 +iota application/vnd.astraea-software.iota base64 +ipa application/octet-stream base64 +ipfix application/ipfix base64 +ipk application/vnd.shana.informed.package base64 +irm application/vnd.ibm.rights-management base64 +irp application/vnd.irepository.package+xml base64 +iso application/x-iso9660-image base64 +itp application/vnd.shana.informed.formtemplate base64 +ivf video/x-ivf base64 +ivp application/vnd.immervision-ivp base64 +ivu application/vnd.immervision-ivu base64 +jad text/vnd.sun.j2me.app-descriptor 8bit +jam application/vnd.jam base64 +jar application/java-archive base64 +java text/x-java-source quoted-printable +jfif image/jpeg base64 +jisp application/vnd.jisp base64 +jlt application/vnd.hp-jlyt base64 +jnlp application/x-java-jnlp-file base64 +joda application/vnd.joost.joda-archive base64 +jp2 image/jp2 base64 +jpe image/jpeg base64 +jpeg image/jpeg base64 +jpf image/jpx base64 +jpg image/jpeg base64 +jpg2 image/jp2 base64 +jpgm image/jpm base64 +jpgv video/JPEG base64 +jpm image/jpm base64 +jpx image/jpx base64 +js text/javascript quoted-printable +json application/json 8bit +jsonml application/jsonml+json base64 +k25 image/x-kodak-k25 base64 +kar audio/midi base64 +karbon application/vnd.kde.karbon base64 +kcm application/vnd.nervana base64 +kdc image/x-kodak-kdc base64 +key application/x-iwork-keynote-sffkey base64 +kfo application/vnd.kde.kformula base64 +kia application/vnd.kidspiration base64 +kml application/vnd.google-earth.kml+xml 8bit +kmz application/vnd.google-earth.kmz 8bit +kne application/vnd.Kinar base64 +knp application/vnd.Kinar base64 +kom application/vnd.hbci base64 +kon application/vnd.kde.kontour base64 +kpr application/vnd.kde.kpresenter base64 +kpt application/vnd.kde.kpresenter base64 +kpxx application/vnd.ds-keypoint base64 +ksp application/vnd.kde.kspread base64 +ktr application/vnd.kahootz base64 +ktx image/ktx base64 +ktz application/vnd.kahootz base64 +kwd application/vnd.kde.kword base64 +kwt application/vnd.kde.kword base64 +l16 audio/L16 base64 +lasxml application/vnd.las.las+xml base64 +latex application/x-latex 8bit +lbd application/vnd.llamagraphics.life-balance.desktop base64 +lbe application/vnd.llamagraphics.life-balance.exchange+xml base64 +les application/vnd.hhe.lesson-player base64 +lha application/octet-stream base64 +link66 application/vnd.route66.link66+xml base64 +list text/plain quoted-printable +list3820 application/vnd.ibm.modcap base64 +listafp application/vnd.ibm.modcap base64 +lnk application/x-ms-shortcut base64 +log text/plain quoted-printable +lostxml application/lost+xml base64 +lrf application/octet-stream base64 +lrm application/vnd.ms-lrm base64 +ltf application/vnd.frogans.ltf base64 +ltx application/x-latex 8bit +lvp audio/vnd.lucent.voice base64 +lwp application/vnd.lotus-wordpro base64 +lzh application/octet-stream base64 +m13 application/x-msmediaview base64 +m14 application/x-msmediaview base64 +m1v video/mpeg base64 +m21 application/mp21 base64 +m2a audio/mpeg base64 +m2ts video/MP2T base64 +m2v video/mpeg base64 +m3a audio/mpeg base64 +m3u audio/x-mpegurl base64 +m3u8 application/vnd.apple.mpegurl base64 +m4a audio/mp4 base64 +m4u video/vnd.mpegurl 8bit +m4v video/vnd.objectvideo base64 +ma application/mathematica base64 +mads application/mads+xml base64 +mag application/vnd.ecowin.chart base64 +maker application/vnd.framemaker base64 +man text/troff 8bit +manifest text/cache-manifest quoted-printable +mar application/octet-stream base64 +markdown text/markdown quoted-printable +mathml application/mathml+xml base64 +mb application/mathematica base64 +mbk application/vnd.Mobius.MBK base64 +mbox application/mbox base64 +mc1 application/vnd.medcalcdata base64 +mcd application/vnd.mcd base64 +mcurl text/vnd.curl.mcurl quoted-printable +md text/markdown quoted-printable +mda application/x-msaccess base64 +mdb application/x-msaccess base64 +mde application/x-msaccess base64 +mdf application/x-msaccess base64 +mdi image/vnd.ms-modi base64 +me text/troff 8bit +mesh model/mesh base64 +meta4 application/metalink4+xml base64 +metalink application/metalink+xml base64 +mets application/mets+xml base64 +mfm application/vnd.mfmp base64 +mft application/rpki-manifest base64 +mgp application/vnd.osgeo.mapguide.package base64 +mgz application/vnd.proteus.magazine base64 +mid audio/midi base64 +midi audio/midi base64 +mie application/x-mie base64 +mif application/vnd.mif base64 +mime message/rfc822 8bit +mj2 video/MJ2 base64 +mjp2 video/MJ2 base64 +mjpeg video/x-motion-jpeg base64 +mjpg video/x-motion-jpeg base64 +mjs text/javascript quoted-printable +mk3d video/x-matroska base64 +mka audio/x-matroska base64 +mkd text/markdown quoted-printable +mks video/x-matroska base64 +mkv video/x-matroska base64 +mlp application/vnd.dolby.mlp base64 +mmd application/vnd.chipnuts.karaoke-mmd base64 +mmf application/vnd.smaf base64 +mmr image/vnd.fujixerox.edmics-mmr base64 +mng video/x-mng base64 +mny application/x-msmoney base64 +mobi application/x-mobipocket-ebook base64 +mods application/mods+xml base64 +mov video/quicktime base64 +movie video/x-sgi-movie base64 +mp2 audio/mpeg base64 +mp21 application/mp21 base64 +mp2a audio/mpeg base64 +mp3 audio/mpeg base64 +mp3g video/mpeg base64 +mp4 application/mp4 base64 +mp4a audio/mp4 base64 +mp4s application/mp4 base64 +mp4v video/mp4 base64 +mpc application/vnd.mophun.certificate base64 +mpe video/mpeg base64 +mpeg video/mpeg base64 +mpg video/mpeg base64 +mpg4 application/mp4 base64 +mpga audio/mpeg base64 +mpkg application/vnd.apple.installer+xml base64 +mpl video/MP2T base64 +mpls video/MP2T base64 +mpm application/vnd.blueice.multipass base64 +mpn application/vnd.mophun.application base64 +mpp application/vnd.ms-project base64 +mpt application/vnd.ms-project base64 +mpy application/vnd.ibm.MiniPay base64 +mqy application/vnd.Mobius.MQY base64 +mrc application/marc base64 +mrcx application/marcxml+xml base64 +mrw image/x-minolta-mrw base64 +ms text/troff 8bit +mscml application/mediaservercontrol+xml base64 +mseed application/vnd.fdsn.mseed base64 +mseq application/vnd.mseq base64 +msf application/vnd.epson.msf base64 +msg application/vnd.ms-outlook base64 +msh model/mesh base64 +msi application/x-msdownload base64 +msl application/vnd.Mobius.MSL base64 +msty application/vnd.muvee.style base64 +mts model/vnd.mts base64 +mus application/vnd.musician base64 +musicxml application/vnd.recordare.musicxml+xml base64 +mvb application/x-msmediaview base64 +mwf application/vnd.MFER base64 +mxf application/mxf base64 +mxl application/vnd.recordare.musicxml base64 +mxmf audio/vnd.nokia.mobile-xmf base64 +mxml application/xv+xml base64 +mxs application/vnd.triscape.mxs base64 +mxu video/vnd.mpegurl 8bit +n-gage application/vnd.nokia.n-gage.symbian.install base64 +n3 text/n3 quoted-printable +nb application/mathematica base64 +nbp application/vnd.wolfram.player base64 +nc application/netcdf base64 +ncx application/x-dtbncx+xml base64 +nef image/x-nikon-nef base64 +nfo text/x-nfo quoted-printable +ngdat application/vnd.nokia.n-gage.data base64 +nim video/vnd.nokia.interleaved-multimedia base64 +nitf application/vnd.nitf base64 +nlu application/vnd.neurolanguage.nlu base64 +nml application/vnd.enliven base64 +nnd application/vnd.noblenet-directory base64 +nns application/vnd.noblenet-sealer base64 +nnw application/vnd.noblenet-web base64 +notebook application/x-smarttech-notebook base64 +npx image/vnd.net-fpx base64 +nsc application/x-conference base64 +nsf application/vnd.lotus-notes base64 +ntf application/vnd.nitf base64 +numbers application/x-iwork-numbers-sffnumbers base64 +nzb application/x-nzb base64 +oa2 application/vnd.fujitsu.oasys2 base64 +oa3 application/vnd.fujitsu.oasys3 base64 +oas application/vnd.fujitsu.oasys base64 +obd application/x-msbinder base64 +obj application/x-tgif base64 +oda application/oda base64 +odb application/vnd.oasis.opendocument.database base64 +odc application/vnd.oasis.opendocument.chart base64 +odf application/vnd.oasis.opendocument.formula base64 +odft application/vnd.oasis.opendocument.formula-template base64 +odg application/vnd.oasis.opendocument.graphics base64 +odi application/vnd.oasis.opendocument.image base64 +odm application/vnd.oasis.opendocument.text-master base64 +odp application/vnd.oasis.opendocument.presentation base64 +ods application/vnd.oasis.opendocument.spreadsheet base64 +odt application/vnd.oasis.opendocument.text base64 +oex application/x-opera-extension base64 +oga audio/ogg base64 +ogg audio/ogg base64 +ogv video/ogg base64 +ogx application/ogg base64 +omdoc application/omdoc+xml base64 +onepkg application/onenote base64 +onetmp application/onenote base64 +onetoc application/onenote base64 +onetoc2 application/onenote base64 +opf application/oebps-package+xml base64 +opml text/x-opml quoted-printable +oprc application/vnd.palm base64 +opus audio/ogg base64 +orf image/x-olympus-orf base64 +org application/vnd.lotus-organizer base64 +osf application/vnd.yamaha.openscoreformat base64 +osfpvg application/vnd.yamaha.openscoreformat.osfpvg+xml base64 +otc application/vnd.oasis.opendocument.chart-template base64 +otf font/otf base64 +otg application/vnd.oasis.opendocument.graphics-template base64 +oth application/vnd.oasis.opendocument.text-web base64 +oti application/vnd.oasis.opendocument.image-template base64 +otp application/vnd.oasis.opendocument.presentation-template base64 +ots application/vnd.oasis.opendocument.spreadsheet-template base64 +ott application/vnd.oasis.opendocument.text-template base64 +oxps application/oxps base64 +oxt application/vnd.openofficeorg.extension base64 +p text/x-pascal quoted-printable +p10 application/pkcs10 base64 +p12 application/x-pkcs12 base64 +p7b application/x-pkcs7-certificates base64 +p7c application/pkcs7-mime base64 +p7m application/pkcs7-mime base64 +p7r application/x-pkcs7-certreqresp base64 +p7s application/pkcs7-signature base64 +p8 application/pkcs8 base64 +pac application/x-ns-proxy-autoconfig base64 +pages application/x-iwork-pages-sffpages base64 +pas text/x-pascal quoted-printable +paw application/vnd.pawaafile base64 +pbd application/vnd.powerbuilder6 base64 +pbm image/x-portable-bitmap base64 +pcap application/vnd.tcpdump.pcap base64 +pcf application/x-font-pcf base64 +pcl application/vnd.hp-PCL base64 +pclxl application/vnd.hp-PCLXL base64 +pct image/x-pict base64 +pcurl application/vnd.curl.pcurl base64 +pcx image/x-pcx base64 +pdb application/vnd.palm base64 +pdf application/pdf base64 +pef image/x-pentax-pef base64 +pfa application/x-font-type1 base64 +pfb application/x-font-type1 base64 +pfm application/x-font-type1 base64 +pfr application/font-tdpfr base64 +pfx application/x-pkcs12 base64 +pgb image/vnd.globalgraphics.pgb base64 +pgm image/x-portable-graymap base64 +pgn application/x-chess-pgn base64 +pgp application/octet-stream base64 +php application/x-httpd-php 8bit +pht application/x-httpd-php 8bit +phtml application/x-httpd-php 8bit +pic image/x-pict base64 +pkd application/vnd.hbci base64 +pkg application/octet-stream base64 +pki application/pkixcmp base64 +pkipath application/pkix-pkipath base64 +pkpass application/vnd.apple.pkpass base64 +pl application/x-perl 8bit +plb application/vnd.3gpp.pic-bw-large base64 +plc application/vnd.Mobius.PLC base64 +plf application/vnd.pocketlearn base64 +plj audio/vnd.everad.plj base64 +pls application/pls+xml base64 +plt application/vnd.hp-HPGL base64 +pm application/x-pagemaker base64 +pm5 application/x-pagemaker base64 +pml application/vnd.ctc-posml base64 +png image/png base64 +pnm image/x-portable-anymap base64 +portpkg application/vnd.macports.portpkg base64 +pot application/vnd.ms-powerpoint base64 +potm application/vnd.ms-powerpoint.template.macroEnabled.12 base64 +potx application/vnd.openxmlformats-officedocument.presentationml.template base64 +ppam application/vnd.ms-powerpoint.addin.macroEnabled.12 base64 +ppd application/vnd.cups-ppd base64 +ppm image/x-portable-pixmap base64 +pps application/vnd.ms-powerpoint base64 +ppsm application/vnd.ms-powerpoint.slideshow.macroEnabled.12 base64 +ppsx application/vnd.openxmlformats-officedocument.presentationml.slideshow base64 +ppt application/vnd.ms-powerpoint base64 +pptm application/vnd.ms-powerpoint.presentation.macroEnabled.12 base64 +pptx application/vnd.openxmlformats-officedocument.presentationml.presentation base64 +pqa application/vnd.palm base64 +prc application/vnd.palm base64 +pre application/vnd.lotus-freelance base64 +prf application/pics-rules base64 +ps application/postscript 8bit +ps1 application/x-msdos-program base64 +psb application/vnd.3gpp.pic-bw-small base64 +psd image/vnd.adobe.photoshop base64 +psf application/x-font-linux-psf base64 +pskcxml application/pskc+xml base64 +psp image/x-paintshoppro base64 +pspimage image/x-paintshoppro base64 +pt5 application/x-pagemaker base64 +pti application/vnd.pvi.ptid1 base64 +ptid application/vnd.pvi.ptid1 base64 +pub application/x-mspublisher base64 +pvb application/vnd.3gpp.pic-bw-var base64 +pwn application/vnd.3M.Post-it-Notes base64 +py application/x-python 8bit +pya audio/vnd.ms-playready.media.pya base64 +pyv video/vnd.ms-playready.media.pyv base64 +qam application/vnd.epson.quickanime base64 +qbo application/vnd.intu.qbo base64 +qcp audio/vnd.qcelp base64 +qfx application/vnd.intu.qfx base64 +qps application/vnd.publishare-delta-tree base64 +qt video/quicktime base64 +qtl application/x-quicktimeplayer base64 +qwd application/vnd.Quark.QuarkXPress 8bit +qwt application/vnd.Quark.QuarkXPress 8bit +qxb application/vnd.Quark.QuarkXPress 8bit +qxd application/vnd.Quark.QuarkXPress 8bit +qxl application/vnd.Quark.QuarkXPress 8bit +qxt application/vnd.Quark.QuarkXPress 8bit +ra audio/x-pn-realaudio base64 +raf image/x-fuji-raf base64 +ram audio/x-pn-realaudio base64 +rar application/x-rar-compressed base64 +ras image/x-cmu-raster base64 +raw image/x-panasonic-raw base64 +rb application/x-ruby 8bit +rbw application/x-ruby 8bit +rcprofile application/vnd.ipunplugged.rcprofile base64 +rct application/prs.nprend base64 +rdf application/rdf+xml 8bit +rdz application/vnd.data-vision.rdz base64 +reg application/x-msdos-program base64 +rep application/vnd.businessobjects base64 +req application/vnd.nervana base64 +request application/vnd.nervana base64 +res application/x-dtbresource+xml base64 +rgb image/x-rgb base64 +rhtml application/x-html+ruby 8bit +rif application/reginfo+xml base64 +rip audio/vnd.rip base64 +ris application/x-research-info-systems base64 +rl application/resource-lists+xml base64 +rlc image/vnd.fujixerox.edmics-rlc base64 +rld application/resource-lists-diff+xml base64 +rm application/vnd.rn-realmedia base64 +rmi audio/midi base64 +rmp audio/x-pn-realaudio-plugin base64 +rms application/vnd.jcp.javame.midlet-rms base64 +rmvb application/vnd.rn-realmedia-vbr base64 +rnc application/relax-ng-compact-syntax base64 +rnd application/prs.nprend base64 +roa application/rpki-roa base64 +roff text/troff 8bit +rp9 application/vnd.cloanto.rp9 base64 +rpm audio/x-pn-realaudio-plugin base64 +rpss application/vnd.nokia.radio-presets base64 +rpst application/vnd.nokia.radio-preset base64 +rq application/sparql-query base64 +rs application/rls-services+xml base64 +rsd application/rsd+xml base64 +rss application/rss+xml base64 +rst text/plain quoted-printable +rtf application/rtf base64 +rtx text/richtext 8bit +s text/x-asm quoted-printable +s11 video/vnd.sealed.mpeg1 base64 +s14 video/vnd.sealed.mpeg4 base64 +s1a application/vnd.sealedmedia.softseal.pdf base64 +s1e application/vnd.sealed.xls base64 +s1h application/vnd.sealedmedia.softseal.html base64 +s1m audio/vnd.sealedmedia.softseal.mpeg base64 +s1p application/vnd.sealed.ppt base64 +s1q video/vnd.sealedmedia.softseal.mov base64 +s1w application/vnd.sealed.doc base64 +s3m audio/s3m base64 +saf application/vnd.yamaha.smaf-audio base64 +sav application/x-spss base64 +sbml application/sbml+xml base64 +sbs application/x-spss base64 +sc application/vnd.ibm.secure-container base64 +scd application/x-msschedule base64 +scm application/vnd.lotus-screencam base64 +scq application/scvp-cv-request base64 +scs application/scvp-cv-response base64 +scurl text/vnd.curl.scurl quoted-printable +sda application/vnd.stardivision.draw base64 +sdc application/vnd.stardivision.calc base64 +sdd application/vnd.stardivision.impress base64 +sdf application/vnd.Kinar base64 +sdkd application/vnd.solent.sdkm+xml base64 +sdkm application/vnd.solent.sdkm+xml base64 +sdo application/vnd.sealed.doc base64 +sdoc application/vnd.sealed.doc base64 +sdp application/sdp base64 +sds application/vnd.stardivision.chart base64 +sdw application/vnd.stardivision.writer base64 +see application/vnd.seemail base64 +seed application/vnd.fdsn.seed base64 +sem application/vnd.sealed.eml base64 +sema application/vnd.sema base64 +semd application/vnd.semd base64 +semf application/vnd.semf base64 +seml application/vnd.sealed.eml base64 +ser application/java-serialized-object base64 +setpay application/set-payment-initiation base64 +setreg application/set-registration-initiation base64 +sfd-hdstx application/vnd.hydrostatix.sof-data base64 +sfs application/vnd.spotfire.sfs base64 +sfv text/x-sfv quoted-printable +sgi image/sgi base64 +sgl application/vnd.stardivision.writer-global base64 +sgm text/sgml quoted-printable +sgml application/sgml base64 +sh application/x-sh 8bit +shar application/x-shar 8bit +shf application/shf+xml base64 +shtml text/html 8bit +si text/vnd.wap.si quoted-printable +sic application/vnd.wap.sic base64 +sid image/x-mrsid-image base64 +sig application/pgp-signature base64 +sil audio/silk base64 +silo model/mesh base64 +sis application/vnd.symbian.install base64 +sisx application/vnd.symbian.install base64 +sit application/x-stuffit base64 +sitx application/x-stuffitx base64 +siv application/sieve base64 +sj application/javascript 8bit +skd application/vnd.koan base64 +skm application/vnd.koan base64 +skp application/vnd.koan base64 +skt application/vnd.koan base64 +sl text/vnd.wap.sl quoted-printable +slc application/vnd.wap.slc base64 +sldm application/vnd.ms-powerpoint.slide.macroEnabled.12 base64 +sldx application/vnd.openxmlformats-officedocument.presentationml.slide base64 +slt application/vnd.epson.salt base64 +sm application/vnd.stepmania.stepchart base64 +smf application/vnd.stardivision.math base64 +smh application/vnd.sealed.mht base64 +smht application/vnd.sealed.mht base64 +smi application/smil+xml 8bit +smil application/smil+xml 8bit +smo video/vnd.sealedmedia.softseal.mov base64 +smov video/vnd.sealedmedia.softseal.mov base64 +smp audio/vnd.sealedmedia.softseal.mpeg base64 +smp3 audio/vnd.sealedmedia.softseal.mpeg base64 +smpg video/vnd.sealed.mpeg4 base64 +sms application/vnd.3gpp.sms base64 +smv audio/SMV base64 +smzip application/vnd.stepmania.package base64 +snd audio/basic base64 +snf application/x-font-snf base64 +so application/octet-stream base64 +soc application/sgml-open-catalog base64 +spc application/x-pkcs7-certificates base64 +spd application/vnd.sealedmedia.softseal.pdf base64 +spdf application/vnd.sealedmedia.softseal.pdf base64 +spf application/vnd.yamaha.smaf-phrase base64 +spl application/x-futuresplash base64 +spo application/x-spss base64 +spot text/vnd.in3d.spot quoted-printable +spp application/scvp-vp-response base64 +sppt application/vnd.sealed.ppt base64 +spq application/scvp-vp-request base64 +sps application/x-spss base64 +spx audio/ogg base64 +sql application/x-sql base64 +sr2 image/x-sony-sr2 base64 +src application/x-wais-source base64 +srf image/x-sony-srf base64 +srt application/x-subrip base64 +sru application/sru+xml base64 +srx application/sparql-results+xml base64 +ssdl application/ssdl+xml base64 +sse application/vnd.kodak-descriptor base64 +ssf application/vnd.epson.ssf base64 +ssml application/ssml+xml base64 +ssw video/vnd.sealed.swf base64 +sswf video/vnd.sealed.swf base64 +st application/vnd.sailingtracker.track base64 +stc application/vnd.sun.xml.calc.template base64 +std application/vnd.sun.xml.draw.template base64 +stf application/vnd.wt.stf base64 +sti application/vnd.sun.xml.impress.template base64 +stk application/hyperstudio base64 +stl application/vnd.ms-pki.stl base64 +stm application/vnd.sealedmedia.softseal.html base64 +stml application/vnd.sealedmedia.softseal.html base64 +str application/vnd.pg.format base64 +stw application/vnd.sun.xml.writer.template base64 +sub image/vnd.dvb.subtitle base64 +sus application/vnd.sus-calendar base64 +susp application/vnd.sus-calendar base64 +sv4cpio application/x-sv4cpio base64 +sv4crc application/x-sv4crc base64 +svc application/vnd.dvb.service base64 +svd application/vnd.svd base64 +svg image/svg+xml 8bit +svgz image/svg+xml 8bit +swa application/x-director base64 +swf application/x-shockwave-flash base64 +swi application/vnd.aristanetworks.swi base64 +sxc application/vnd.sun.xml.calc base64 +sxd application/vnd.sun.xml.draw base64 +sxg application/vnd.sun.xml.writer.global base64 +sxi application/vnd.sun.xml.impress base64 +sxl application/vnd.sealed.xls base64 +sxls application/vnd.sealed.xls base64 +sxm application/vnd.sun.xml.math base64 +sxw application/vnd.sun.xml.writer base64 +t text/troff 8bit +t3 application/x-t3vm-image base64 +taglet application/vnd.mynfc base64 +tao application/vnd.tao.intent-module-archive base64 +tar application/x-tar base64 +tbk application/x-toolbook base64 +tbz application/x-gtar base64 +tbz2 application/x-gtar base64 +tcap application/vnd.3gpp2.tcap base64 +tcl application/x-tcl 8bit +teacher application/vnd.smart.teacher base64 +tei application/tei+xml base64 +teicorpus application/tei+xml base64 +tex application/x-tex 8bit +texi application/x-texinfo 8bit +texinfo application/x-texinfo 8bit +text text/plain quoted-printable +textile text/plain quoted-printable +tfi application/thraud+xml base64 +tfm application/x-tex-tfm base64 +tga image/x-targa base64 +tgz application/x-gtar base64 +thmx application/vnd.ms-officetheme base64 +tif image/tiff base64 +tiff image/tiff base64 +tmo application/vnd.tmobile-livetv base64 +torrent application/x-bittorrent base64 +tpl application/vnd.groove-tool-template base64 +tpt application/vnd.trid.tpt base64 +tr text/troff 8bit +tra application/vnd.trueapp base64 +trm application/x-msterminal base64 +troff text/troff 8bit +ts video/MP2T base64 +tsd application/timestamped-data base64 +tsv text/tab-separated-values quoted-printable +ttc font/collection base64 +ttf font/ttf base64 +ttl text/turtle quoted-printable +twd application/vnd.SimTech-MindMapper base64 +twds application/vnd.SimTech-MindMapper base64 +txd application/vnd.genomatix.tuxedo base64 +txf application/vnd.Mobius.TXF base64 +txt text/plain quoted-printable +u32 application/x-authorware-bin base64 +udeb application/x-debian-package base64 +ufd application/vnd.ufdl base64 +ufdl application/vnd.ufdl base64 +ulx application/x-glulx base64 +umj application/vnd.umajin base64 +unityweb application/vnd.unity base64 +uoml application/vnd.uoml+xml base64 +upa application/vnd.hbci base64 +uri text/uri-list quoted-printable +uris text/uri-list quoted-printable +urls text/uri-list quoted-printable +ustar application/x-ustar base64 +utz application/vnd.uiq.theme base64 +uu text/x-uuencode quoted-printable +uva audio/vnd.dece.audio base64 +uvd application/vnd.dece.data base64 +uvf application/vnd.dece.data base64 +uvg image/vnd.dece.graphic base64 +uvh video/vnd.dece.hd base64 +uvi image/vnd.dece.graphic base64 +uvm video/vnd.dece.mobile base64 +uvp video/vnd.dece.pd base64 +uvs video/vnd.dece.sd base64 +uvt application/vnd.dece.ttml+xml base64 +uvu video/vnd.uvvu.mp4 base64 +uvv video/vnd.dece.video base64 +uvva audio/vnd.dece.audio base64 +uvvd application/vnd.dece.data base64 +uvvf application/vnd.dece.data base64 +uvvg image/vnd.dece.graphic base64 +uvvh video/vnd.dece.hd base64 +uvvi image/vnd.dece.graphic base64 +uvvm video/vnd.dece.mobile base64 +uvvp video/vnd.dece.pd base64 +uvvs video/vnd.dece.sd base64 +uvvt application/vnd.dece.ttml+xml base64 +uvvu video/vnd.uvvu.mp4 base64 +uvvv video/vnd.dece.video base64 +uvvx application/vnd.dece.unspecified base64 +uvvz application/vnd.dece.zip base64 +uvx application/vnd.dece.unspecified base64 +uvz application/vnd.dece.zip base64 +vbk audio/vnd.nortel.vbk base64 +vbs application/x-msdos-program base64 +vcard text/vcard quoted-printable +vcd application/x-cdlink base64 +vcf text/x-vcard 8bit +vcg application/vnd.groove-vcard base64 +vcs text/x-vcalendar 8bit +vcx application/vnd.vcx base64 +vis application/vnd.visionary base64 +viv video/vnd.vivo base64 +vivo video/vnd.vivo base64 +vob video/x-ms-vob base64 +vor application/vnd.stardivision.writer base64 +vox application/x-authorware-bin base64 +vrml model/vrml base64 +vsc application/vnd.vidsoft.vidconference 8bit +vsd application/vnd.visio base64 +vsf application/vnd.vsf base64 +vss application/vnd.visio base64 +vst application/vnd.visio base64 +vsw application/vnd.visio base64 +vtt text/vtt quoted-printable +vtu model/vnd.vtu base64 +vxml application/voicexml+xml base64 +w3d application/x-director base64 +wad application/x-doom base64 +wasm application/wasm 8bit +wav audio/wav base64 +wax audio/x-ms-wax base64 +wbmp image/vnd.wap.wbmp base64 +wbs application/vnd.criticaltools.wbs+xml base64 +wbxml application/vnd.wap.wbxml base64 +wcm application/vnd.ms-works base64 +wdb application/vnd.ms-works base64 +wdp image/vnd.ms-photo base64 +weba audio/webm base64 +webapp application/x-web-app-manifest+json base64 +webm audio/webm base64 +webmanifest application/manifest+json base64 +webp image/webp base64 +wg application/vnd.pmi.widget base64 +wgt application/widget base64 +wif application/watcherinfo+xml base64 +wk application/x-123 base64 +wks application/vnd.lotus-1-2-3 base64 +wkz application/x-Wingz base64 +wm video/x-ms-wm base64 +wma audio/x-ms-wma base64 +wmd application/x-ms-wmd base64 +wmf application/x-msmetafile base64 +wml text/vnd.wap.wml quoted-printable +wmlc application/vnd.wap.wmlc base64 +wmls text/vnd.wap.wmlscript quoted-printable +wmlsc application/vnd.wap.wmlscriptc base64 +wmv audio/x-ms-wmv base64 +wmx video/x-ms-wmx base64 +wmz application/x-ms-wmz base64 +woff font/woff base64 +woff2 font/woff2 base64 +wp application/wordperfect5.1 base64 +wp5 application/wordperfect5.1 base64 +wp6 application/x-wordperfect6.1 base64 +wpd application/vnd.wordperfect base64 +wpl application/vnd.ms-wpl base64 +wps application/vnd.ms-works base64 +wqd application/vnd.wqd base64 +wrd application/msword base64 +wri application/x-mswrite base64 +wrl model/vrml base64 +wsdl application/wsdl+xml base64 +wspolicy application/wspolicy+xml base64 +wtb application/vnd.webturbo base64 +wv application/vnd.wv.csp+wbxml base64 +wvx video/x-ms-wvx base64 +wz application/x-Wingz base64 +x32 application/x-authorware-bin base64 +x3d model/x3d+xml base64 +x3db model/x3d+binary base64 +x3dbz model/x3d+binary base64 +x3dv model/x3d+vrml base64 +x3dvz model/x3d+vrml base64 +x3dz model/x3d+xml base64 +x3f image/x-sigma-x3f base64 +x_b model/vnd.parasolid.transmit.binary base64 +x_t model/vnd.parasolid.transmit.text quoted-printable +xaml application/xaml+xml base64 +xap application/x-silverlight-app base64 +xar application/vnd.xara base64 +xbap application/x-ms-xbap base64 +xbd application/vnd.fujixerox.docuworks.binder base64 +xbm image/x-xbitmap 7bit +xcf image/x-xcf base64 +xcfbz2 image/x-compressed-xcf base64 +xcfgz image/x-compressed-xcf base64 +xdf application/xcap-diff+xml base64 +xdm application/vnd.syncml.dm+xml base64 +xdp application/vnd.adobe.xdp+xml base64 +xdssc application/dssc+xml base64 +xdw application/vnd.fujixerox.docuworks base64 +xenc application/xenc+xml base64 +xer application/patch-ops-error+xml base64 +xfdf application/vnd.adobe.xfdf base64 +xfdl application/vnd.xfdl base64 +xht application/xhtml+xml 8bit +xhtml application/xhtml+xml 8bit +xhvml application/xv+xml base64 +xif image/vnd.xiff base64 +xla application/vnd.ms-excel base64 +xlam application/vnd.ms-excel.addin.macroEnabled.12 base64 +xlc application/vnd.ms-excel base64 +xlf application/x-xliff+xml base64 +xlm application/vnd.ms-excel base64 +xls application/vnd.ms-excel base64 +xlsb application/vnd.ms-excel.sheet.binary.macroEnabled.12 base64 +xlsm application/vnd.ms-excel.sheet.macroEnabled.12 base64 +xlsx application/vnd.openxmlformats-officedocument.spreadsheetml.sheet base64 +xlt application/vnd.ms-excel base64 +xltm application/vnd.ms-excel.template.macroEnabled.12 base64 +xltx application/vnd.openxmlformats-officedocument.spreadsheetml.template base64 +xlw application/vnd.ms-excel base64 +xm audio/xm base64 +xml application/xml 8bit +xmt_bin model/vnd.parasolid.transmit.binary base64 +xmt_txt model/vnd.parasolid.transmit.text quoted-printable +xo application/vnd.olpc-sugar base64 +xop application/xop+xml base64 +xpi application/x-xpinstall base64 +xpl application/xproc+xml base64 +xpm image/x-xpixmap 8bit +xpr application/vnd.is-xpr base64 +xps application/vnd.ms-xpsdocument 8bit +xpw application/vnd.intercon.formnet base64 +xpx application/vnd.intercon.formnet base64 +xsd text/xml 8bit +xsl application/xml 8bit +xslt application/xslt+xml base64 +xsm application/vnd.syncml+xml base64 +xspf application/xspf+xml base64 +xul application/vnd.mozilla.xul+xml base64 +xvm application/xv+xml base64 +xvml application/xv+xml base64 +xwd image/x-xwindowdump base64 +xyz x-chemical/x-xyz base64 +xz application/x-xz base64 +yaml text/x-yaml 8bit +yang application/yang base64 +yin application/yin+xml base64 +yml text/x-yaml 8bit +z application/x-compressed base64 +z1 application/x-zmachine base64 +z2 application/x-zmachine base64 +z3 application/x-zmachine base64 +z4 application/x-zmachine base64 +z5 application/x-zmachine base64 +z6 application/x-zmachine base64 +z7 application/x-zmachine base64 +z8 application/x-zmachine base64 +zaz application/vnd.zzazz.deck+xml base64 +zip application/zip base64 +zir application/vnd.zul base64 +zirz application/vnd.zul base64 +zmm application/vnd.HandHeld-Entertainment+xml base64 diff --git a/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/lib/mini_mime.rb b/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/lib/mini_mime.rb new file mode 100644 index 0000000..eadde55 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/lib/mini_mime.rb @@ -0,0 +1,186 @@ +# frozen_string_literal: true +require "mini_mime/version" +require "thread" + +module MiniMime + def self.lookup_by_filename(filename) + Db.lookup_by_filename(filename) + end + + def self.lookup_by_extension(extension) + Db.lookup_by_extension(extension) + end + + def self.lookup_by_content_type(mime) + Db.lookup_by_content_type(mime) + end + + module Configuration + class << self + attr_accessor :ext_db_path + attr_accessor :content_type_db_path + end + + self.ext_db_path = File.expand_path("../db/ext_mime.db", __FILE__) + self.content_type_db_path = File.expand_path("../db/content_type_mime.db", __FILE__) + end + + class Info + BINARY_ENCODINGS = %w(base64 8bit) + + attr_accessor :extension, :content_type, :encoding + + def initialize(buffer) + @extension, @content_type, @encoding = buffer.split(/\s+/).map!(&:freeze) + end + + def [](idx) + if idx == 0 + @extension + elsif idx == 1 + @content_type + elsif idx == 2 + @encoding + end + end + + def binary? + BINARY_ENCODINGS.include?(encoding) + end + end + + class Db + def self.lookup_by_filename(filename) + extension = File.extname(filename) + return if extension.empty? + extension = extension[1..-1] + lookup_by_extension(extension) + end + + def self.lookup_by_extension(extension) + @db ||= new + @db.lookup_by_extension(extension) || + @db.lookup_by_extension(extension.downcase) + end + + def self.lookup_by_content_type(content_type) + @db ||= new + @db.lookup_by_content_type(content_type) + end + + class Cache + def initialize(size) + @size = size + @hash = {} + end + + def []=(key, val) + rval = @hash[key] = val + @hash.shift if @hash.length > @size + rval + end + + def fetch(key, &blk) + @hash.fetch(key, &blk) + end + end + + if ::File.method_defined?(:pread) + PReadFile = ::File + else + # For Windows support + class PReadFile + def initialize(filename) + @mutex = Mutex.new + # We must open the file in binary mode + # otherwise Ruby's automatic line terminator + # translation will skew the row size + @file = ::File.open(filename, 'rb') + end + + def readline(*args) + @file.readline(*args) + end + + def pread(size, offset) + @mutex.synchronize do + @file.seek(offset, IO::SEEK_SET) + @file.read(size) + end + end + end + end + + class RandomAccessDb + MAX_CACHED = 100 + + def initialize(path, sort_order) + @path = path + @file = PReadFile.new(@path) + + @row_length = @file.readline("\n").length + @file_length = File.size(@path) + @rows = @file_length / @row_length + + @hit_cache = Cache.new(MAX_CACHED) + @miss_cache = Cache.new(MAX_CACHED) + + @sort_order = sort_order + end + + def lookup(val) + @hit_cache.fetch(val) do + @miss_cache.fetch(val) do + data = lookup_uncached(val) + if data + @hit_cache[val] = data + else + @miss_cache[val] = nil + end + + data + end + end + end + + # lifted from marcandre/backports + def lookup_uncached(val) + from = 0 + to = @rows - 1 + result = nil + + while from <= to do + midpoint = from + (to - from).div(2) + current = resolve(midpoint) + data = current[@sort_order] + if data > val + to = midpoint - 1 + elsif data < val + from = midpoint + 1 + else + result = current + break + end + end + result + end + + def resolve(row) + Info.new(@file.pread(@row_length, row * @row_length).force_encoding(Encoding::UTF_8)) + end + end + + def initialize + @ext_db = RandomAccessDb.new(Configuration.ext_db_path, 0) + @content_type_db = RandomAccessDb.new(Configuration.content_type_db_path, 1) + end + + def lookup_by_extension(extension) + @ext_db.lookup(extension) + end + + def lookup_by_content_type(content_type) + @content_type_db.lookup(content_type) + end + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/lib/mini_mime/version.rb b/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/lib/mini_mime/version.rb new file mode 100644 index 0000000..968cf0b --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/lib/mini_mime/version.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true +module MiniMime + VERSION = "1.1.5" +end diff --git a/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/mini_mime.gemspec b/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/mini_mime.gemspec new file mode 100644 index 0000000..2ab398f --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/mini_mime.gemspec @@ -0,0 +1,31 @@ +# coding: utf-8 +# frozen_string_literal: true +lib = File.expand_path('../lib', __FILE__) +$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) +require 'mini_mime/version' + +Gem::Specification.new do |spec| + spec.name = "mini_mime" + spec.version = MiniMime::VERSION + spec.authors = ["Sam Saffron"] + spec.email = ["sam.saffron@gmail.com"] + + spec.summary = %q{A minimal mime type library} + spec.description = %q{A minimal mime type library} + spec.homepage = "https://github.com/discourse/mini_mime" + spec.license = "MIT" + + spec.files = `git ls-files -z`.split("\x0").reject do |f| + f.match(%r{^(test|spec|features)/}) + end + spec.bindir = "exe" + spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } + spec.require_paths = ["lib"] + spec.required_ruby_version = ">= 2.6.0" + + spec.add_development_dependency "bundler" + spec.add_development_dependency "rake" + spec.add_development_dependency "minitest" + spec.add_development_dependency "rubocop" + spec.add_development_dependency "rubocop-discourse" +end diff --git a/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/.rspec b/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/.rspec new file mode 100644 index 0000000..0912718 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/.rspec @@ -0,0 +1,2 @@ +--color +--order random diff --git a/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/.rubocop.yml b/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/.rubocop.yml new file mode 100644 index 0000000..5014b23 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/.rubocop.yml @@ -0,0 +1,56 @@ +require: + - standard + +plugins: + - rubocop-performance + - rubocop-rake + - rubocop-rspec + - standard-performance + +AllCops: + NewCops: enable + TargetRubyVersion: 3.2 + +Layout/ArgumentAlignment: + EnforcedStyle: with_fixed_indentation + IndentationWidth: 2 + +Layout/CaseIndentation: + EnforcedStyle: end + +Layout/EndAlignment: + EnforcedStyleAlignWith: start_of_line + +Layout/LineLength: + Max: 140 + +Layout/ParameterAlignment: + EnforcedStyle: with_fixed_indentation + IndentationWidth: 2 + +Layout/SpaceInsideHashLiteralBraces: + EnforcedStyle: no_space + +Metrics/ParameterLists: + CountKeywordArgs: false + +Style/Alias: + EnforcedStyle: prefer_alias_method + +Style/Documentation: + Enabled: false + +Style/FrozenStringLiteralComment: + EnforcedStyle: never + +Style/OpenStructUse: + Enabled: false + +Style/StringLiterals: + EnforcedStyle: double_quotes + +Style/StringLiteralsInInterpolation: + EnforcedStyle: double_quotes + +Style/TernaryParentheses: + EnforcedStyle: require_parentheses diff --git a/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/.yardopts b/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/.yardopts new file mode 100644 index 0000000..b7f7711 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/.yardopts @@ -0,0 +1,8 @@ +--no-private +--protected +--markup markdown +- +CHANGELOG.md +CONTRIBUTING.md +LICENSE.md +README.md diff --git a/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/CHANGELOG.md b/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/CHANGELOG.md new file mode 100644 index 0000000..b71074b --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/CHANGELOG.md @@ -0,0 +1,113 @@ +0.7.2 +----- +* [Drop support for Ruby 3.1](https://github.com/sferik/multi_xml/commit/fab6288edd36c58a2b13e0206d8bed305fcb4a4b) + +0.7.1 +----- +* [Relax required Ruby version constraint to allow installation on Debian stable](https://github.com/sferik/multi_xml/commit/7d18711466a15e158dc71344ca6f6e18838ecc8d) + +0.7.0 +----- +* [Add support for Ruby 3.3](https://github.com/sferik/multi_xml/pull/67) +* [Drop support for Ruby 3.0](https://github.com/sferik/multi_xml/commit/eec72c56307fede3a93f1a61553587cb278b0c8a) [and](https://github.com/sferik/multi_xml/commit/6a6dec80a36c30774a5525b45f71d346fb561e69) [earlier](https://github.com/sferik/multi_xml/commit/e7dad37a0a0be8383a26ffe515c575b5b4d04588) +* [Don't mutate strings](https://github.com/sferik/multi_xml/commit/71be3fff4afb0277a7e1c47c5f1f4b6106a8eb45) + +0.6.0 +----- +* [Duplexed Streams](https://github.com/sferik/multi_xml/pull/45) +* [Support for Oga](https://github.com/sferik/multi_xml/pull/47) +* [Integer unification for Ruby 2.4](https://github.com/sferik/multi_xml/pull/54) + +0.5.5 +----- +* [Fix symbolize_keys function](https://github.com/sferik/multi_xml/commit/a4cae3aeb690999287cd30206399abaa5ce1ae81) +* [Fix Nokogiri parser for the same attr and inner element name](https://github.com/sferik/multi_xml/commit/a28ed86e2d7826b2edeed98552736b4c7ca52726) + +0.5.4 +----- +* [Add option to not cast parsed values](https://github.com/sferik/multi_xml/commit/44fc05fbcfd60cc8b555b75212471fab29fa8cd0) +* [Use message instead of to_s](https://github.com/sferik/multi_xml/commit/b06f0114434ffe1957dd7bc2712cb5b76c1b45fe) + +0.5.3 +----- +* [Add cryptographic signature](https://github.com/sferik/multi_xml/commit/f39f0c74308090737816c622dbb7d7aa28c646c0) + +0.5.2 +----- +* [Remove ability to parse symbols and YAML](https://github.com/sferik/multi_xml/pull/34) + +0.5.1 +----- +* [Revert "Reset @@parser in between specs"](https://github.com/sferik/multi_xml/issues/28) + +0.5.0 +----- +* [Reset @@parser in between specs](https://github.com/sferik/multi_xml/commit/b562bed265918b43ac1c4c638ae3a7ffe95ecd83) +* [Add attributes being passed through on content nodes](https://github.com/sferik/multi_xml/commit/631a8bb3c2253db0024f77f47c16d5a53b8128fd) + +0.4.4 +----- +* [Fix regression in MultiXml.parse](https://github.com/sferik/multi_xml/commit/45ae597d9a35cbd89cc7f5518c85bac30199fc06) + +0.4.3 +----- +* [Make parser a class variable](https://github.com/sferik/multi_xml/commit/6804ffc8680ed6466c66f2472f5e016c412c2c24) +* [Add TYPE_NAMES constant](https://github.com/sferik/multi_xml/commit/72a21f2e86c8e3ac9689cee5f3a62102cfb98028) + +0.4.2 +----- +* [Fix bug in dealing with xml element attributes for both REXML and Ox](https://github.com/sferik/multi_xml/commit/ba3c1ac427ff0268abaf8186fb4bd81100c99559) +* [Make Ox the preferred XML parser](https://github.com/sferik/multi_xml/commit/0a718d740c30fba426f300a929cda9ee8250d238) + +0.4.1 +----- +* [Use the SAX like parser with Ox](https://github.com/sferik/multi_xml/commit/d289d42817a32e48483c00d5361c76fbea62a166) + +0.4.0 +----- +* [Add support for Ox](https://github.com/sferik/multi_xml/pull/14) + +0.3.0 +----- +* [Remove core class monkeypatches](https://github.com/sferik/multi_xml/commit/f7cc3ce4d2924c0e0adc6935d1fba5ec79282938) +* [Sort out some class / singleton class issues](https://github.com/sferik/multi_xml/commit/a5dac06bcf658facaaf7afa295f1291c7be15a44) +* [Have parsers refer to toplevel CONTENT_ROOT instead of defining it](https://github.com/sferik/multi_xml/commit/94e6fa49e69b2a2467a0e6d3558f7d9815cae47e) +* [Move redundant input sanitizing to top-level](https://github.com/sferik/multi_xml/commit/4874148214dbbd2e5a4b877734e2519af42d6132) +* [Refactor libxml and nokogiri parsers to inherit from a common ancestor](https://github.com/sferik/multi_xml/commit/e0fdffcbfe641b6aaa3952ffa0570a893de325c2) + +0.2.2 +----- +* [Respect the global load path](https://github.com/sferik/multi_xml/commit/68eb3011b37f0e0222bb842abd2a78e1285a97c1) + +0.2.1 +----- +* [Add BlueCloth gem as development dependency for Markdown formatting](https://github.com/sferik/multi_xml/commit/18195cd1789176709f68f0d7f8df7fc944fe4d24) +* [Replace BlueCloth with Maruku for JRuby compatibility](https://github.com/sferik/multi_xml/commit/bad5516a5ec5e7ef7fc5a35c411721522357fa19) + +0.2.0 +----- +* [Do not automatically load all library files](https://github.com/sferik/multi_xml/commit/dbd0447e062e8930118573c5453150e9371e5955) + +0.1.4 +----- +* [Preserve backtrace when catching/throwing exceptions](https://github.com/sferik/multi_xml/commit/7475ee90201c2701fddd524082832d16ca62552d) + +0.1.3 +----- +* [Common error handling for all parsers](https://github.com/sferik/multi_xml/commit/5357c28eddc14e921fd1be1f445db602a8dddaf2) + +0.1.2 +----- +* [Make wrap an Array class method](https://github.com/sferik/multi_xml/commit/28307b69bd1d9460353c861466e425c2afadcf56) + +0.1.1 +----- +* [Fix parsing for strings that contain newlines](https://github.com/sferik/multi_xml/commit/68087a4ce50b5d63cfa60d6f1fcbc2f6d689e43f) + +0.1.0 +----- +* [Add support for LibXML and Nokogiri](https://github.com/sferik/multi_xml/commit/856bb17fce66601e0b3d3eb3b64dbeb25aed3bca) + +0.0.1 +----- +* [REXML support](https://github.com/sferik/multi_xml/commit/2a848384a7b90fb3e26b5a8d4dc3fa3e3f2db5fc) diff --git a/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/CONTRIBUTING.md b/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/CONTRIBUTING.md new file mode 100644 index 0000000..fdb7416 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/CONTRIBUTING.md @@ -0,0 +1,51 @@ +## Contributing +In the spirit of [free software][free-sw] , **everyone** is encouraged to help +improve this project. + +[free-sw]: http://www.fsf.org/licensing/essays/free-sw.html + +Here are some ways *you* can contribute: + +* by using alpha, beta, and prerelease versions +* by reporting bugs +* by suggesting new features +* by writing or editing documentation +* by writing specifications +* by writing code (**no patch is too small**: fix typos, add comments, clean up + inconsistent whitespace) +* by refactoring code +* by resolving [issues][] +* by reviewing patches +* [financially][gittip] + +[issues]: https://github.com/sferik/multi_xml/issues +[gittip]: https://www.gittip.com/sferik/ + +## Submitting an Issue +We use the [GitHub issue tracker][issues] to track bugs and features. Before +submitting a bug report or feature request, check to make sure it hasn't +already been submitted. When submitting a bug report, please include a [Gist][] +that includes a stack trace and any details that may be necessary to reproduce +the bug, including your gem version, Ruby version, and operating system. +Ideally, a bug report should include a pull request with failing specs. + +[gist]: https://gist.github.com/ + +## Submitting a Pull Request +1. [Fork the repository.][fork] +2. [Create a topic branch.][branch] +3. Add specs for your unimplemented feature or bug fix. +4. Run `bundle exec rake spec`. If your specs pass, return to step 3. +5. Implement your feature or bug fix. +6. Run `bundle exec rake`. If your specs fail, return to step 5. +7. Run `open coverage/index.html`. If your changes are not completely covered + by your tests, return to step 3. +8. Add documentation for your feature or bug fix. +9. Run `bundle exec rake verify_measurements`. If your changes are not 100% + documented, go back to step 8. +10. Add, commit, and push your changes. +11. [Submit a pull request.][pr] + +[fork]: http://help.github.com/fork-a-repo/ +[branch]: http://learn.github.com/p/branching.html +[pr]: http://help.github.com/send-pull-requests/ diff --git a/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/Gemfile b/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/Gemfile new file mode 100644 index 0000000..b7164f9 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/Gemfile @@ -0,0 +1,21 @@ +source "https://rubygems.org" + +gem "libxml-ruby", require: nil, platforms: :ruby +gem "nokogiri", require: nil +gem "oga", ">= 2.3", require: nil +gem "ox", require: nil, platforms: :ruby +gem "rexml", require: nil + +gem "rake", ">= 13.2.1" +gem "rspec", ">= 3.12" +gem "rubocop", ">= 1.62.1" +gem "rubocop-performance", ">= 1.20.2" +gem "rubocop-rake", ">= 0.6" +gem "rubocop-rspec", ">= 2.24" +gem "simplecov", ">= 0.22" +gem "standard", ">= 1.35.1" +gem "standard-performance", ">= 1.3.1" +gem "yard", ">= 0.9.36" +gem "yardstick", ">= 0.9.9" + +gemspec diff --git a/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/LICENSE.md b/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/LICENSE.md new file mode 100644 index 0000000..7dd9288 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/LICENSE.md @@ -0,0 +1,20 @@ +Copyright (c) 2010-2025 Erik Berlin + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/README.md b/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/README.md new file mode 100644 index 0000000..c5b0187 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/README.md @@ -0,0 +1,75 @@ +# MultiXML + +A generic swappable back-end for XML parsing + +## Installation + gem install multi_xml + +## Documentation +[http://rdoc.info/gems/multi_xml][documentation] + +[documentation]: http://rdoc.info/gems/multi_xml + +## Usage Examples +```ruby +require 'multi_xml' + +MultiXml.parser = :ox +MultiXml.parser = MultiXml::Parsers::Ox # Same as above +MultiXml.parse('This is the contents') # Parsed using Ox + +MultiXml.parser = :libxml +MultiXml.parser = MultiXml::Parsers::Libxml # Same as above +MultiXml.parse('This is the contents') # Parsed using LibXML + +MultiXml.parser = :nokogiri +MultiXml.parser = MultiXml::Parsers::Nokogiri # Same as above +MultiXml.parse('This is the contents') # Parsed using Nokogiri + +MultiXml.parser = :rexml +MultiXml.parser = MultiXml::Parsers::Rexml # Same as above +MultiXml.parse('This is the contents') # Parsed using REXML + +MultiXml.parser = :oga +MultiXml.parser = MultiXml::Parsers::Oga # Same as above +MultiXml.parse('This is the contents') # Parsed using Oga +``` +The `parser` setter takes either a symbol or a class (to allow for custom XML +parsers) that responds to `.parse` at the class level. + +MultiXML tries to have intelligent defaulting. That is, if you have any of the +supported parsers already loaded, it will use them before attempting to load +a new one. When loading, libraries are ordered by speed: first Ox, then LibXML, +then Nokogiri, and finally REXML. + +## Supported Ruby Versions +This library aims to support and is tested against the following Ruby +implementations: + +* 3.2 +* 3.3 +* 3.4 +* JRuby 10 + +If something doesn't work on one of these versions, it's a bug. + +This library may inadvertently work (or seem to work) on other Ruby +implementations, however support will only be provided for the versions listed +above. + +If you would like this library to support another Ruby version, you may +volunteer to be a maintainer. Being a maintainer entails making sure all tests +run and pass on that implementation. When something breaks on your +implementation, you will be responsible for providing patches in a timely +fashion. If critical issues for a particular implementation exist at the time +of a major release, support for that Ruby version may be dropped. + +## Inspiration +MultiXML was inspired by [MultiJSON][]. + +[multijson]: https://github.com/intridea/multi_json/ + +## Copyright +Copyright (c) 2010-2025 Erik Berlin. See [LICENSE][] for details. + +[license]: LICENSE.md diff --git a/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/Rakefile b/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/Rakefile new file mode 100644 index 0000000..54f21fe --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/Rakefile @@ -0,0 +1,33 @@ +require "bundler" +Bundler::GemHelper.install_tasks + +require "rspec/core/rake_task" +RSpec::Core::RakeTask.new(:spec) + +task test: :spec + +require "rubocop/rake_task" +RuboCop::RakeTask.new + +require "yard" +YARD::Rake::YardocTask.new do |task| + task.files = ["lib/**/*.rb", "-", "LICENSE.md"] + task.options = [ + "--no-private", + "--protected", + "--output-dir", "doc/yard", + "--markup", "markdown" + ] +end + +require "yardstick/rake/measurement" +Yardstick::Rake::Measurement.new do |measurement| + measurement.output = "measurement/report.txt" +end + +require "yardstick/rake/verify" +Yardstick::Rake::Verify.new do |verify| + verify.threshold = 48.8 +end + +task default: %i[spec rubocop verify_measurements] diff --git a/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/lib/multi_xml.rb b/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/lib/multi_xml.rb new file mode 100644 index 0000000..87e66d0 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/lib/multi_xml.rb @@ -0,0 +1,311 @@ +require "bigdecimal" +require "date" +require "stringio" +require "time" +require "yaml" + +module MultiXml # rubocop:disable Metrics/ModuleLength + class ParseError < StandardError; end + + class NoParserError < StandardError; end + + class DisallowedTypeError < StandardError + def initialize(type) + super("Disallowed type attribute: #{type.inspect}") + end + end + + unless defined?(REQUIREMENT_MAP) + REQUIREMENT_MAP = [ + ["ox", :ox], + ["libxml", :libxml], + ["nokogiri", :nokogiri], + ["rexml/document", :rexml], + ["oga", :oga] + ].freeze + end + + CONTENT_ROOT = "__content__".freeze unless defined?(CONTENT_ROOT) + + unless defined?(PARSING) + float_proc = proc { |float| float.to_f } + datetime_proc = proc { |time| Time.parse(time).utc rescue DateTime.parse(time).utc } # rubocop:disable Style/RescueModifier + + PARSING = { + "symbol" => proc { |symbol| symbol.to_sym }, + "date" => proc { |date| Date.parse(date) }, + "datetime" => datetime_proc, + "dateTime" => datetime_proc, + "integer" => proc { |integer| integer.to_i }, + "float" => float_proc, + "double" => float_proc, + "decimal" => proc { |number| BigDecimal(number) }, + "boolean" => proc { |boolean| !%w[0 false].include?(boolean.strip) }, + "string" => proc { |string| string.to_s }, + "yaml" => proc { |yaml| YAML.load(yaml) rescue yaml }, # rubocop:disable Style/RescueModifier + "base64Binary" => proc { |binary| base64_decode(binary) }, + "binary" => proc { |binary, entity| parse_binary(binary, entity) }, + "file" => proc { |file, entity| parse_file(file, entity) } + }.freeze + end + + unless defined?(TYPE_NAMES) + TYPE_NAMES = { + "Symbol" => "symbol", + "Integer" => "integer", + "BigDecimal" => "decimal", + "Float" => "float", + "TrueClass" => "boolean", + "FalseClass" => "boolean", + "Date" => "date", + "DateTime" => "datetime", + "Time" => "datetime", + "Array" => "array", + "Hash" => "hash" + }.freeze + end + + DISALLOWED_XML_TYPES = %w[symbol yaml].freeze + + DEFAULT_OPTIONS = { + typecast_xml_value: true, + disallowed_types: DISALLOWED_XML_TYPES, + symbolize_keys: false + }.freeze + + class << self + # Get the current parser class. + def parser + return @parser if defined?(@parser) + + self.parser = default_parser + @parser + end + + # The default parser based on what you currently + # have loaded and installed. First checks to see + # if any parsers are already loaded, then checks + # to see which are installed if none are loaded. + def default_parser + return :ox if defined?(::Ox) + return :libxml if defined?(::LibXML) + return :nokogiri if defined?(::Nokogiri) + return :oga if defined?(::Oga) + + REQUIREMENT_MAP.each do |library, parser| + require library + return parser + rescue LoadError + next + end + raise(NoParserError, + "No XML parser detected. If you're using Rubinius and Bundler, try adding an XML parser to your Gemfile (e.g. libxml-ruby, nokogiri, or rubysl-rexml). For more information, see https://github.com/sferik/multi_xml/issues/42.") + end + + # Set the XML parser utilizing a symbol, string, or class. + # Supported by default are: + # + # * :libxml + # * :nokogiri + # * :ox + # * :rexml + # * :oga + def parser=(new_parser) + case new_parser + when String, Symbol + require "multi_xml/parsers/#{new_parser.to_s.downcase}" + @parser = MultiXml::Parsers.const_get(new_parser.to_s.split("_").collect(&:capitalize).join.to_s) + when Class, Module + @parser = new_parser + else + raise("Did not recognize your parser specification. Please specify either a symbol or a class.") + end + end + + # Parse an XML string or IO into Ruby. + # + # Options + # + # :symbolize_keys :: If true, will use symbols instead of strings for the keys. + # + # :disallowed_types :: Types to disallow from being typecasted. Defaults to `['yaml', 'symbol']`. Use `[]` to allow all types. + # + # :typecast_xml_value :: If true, won't typecast values for parsed document + def parse(xml, options = {}) # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity + xml ||= "" + + options = DEFAULT_OPTIONS.merge(options) + + xml = xml.strip if xml.respond_to?(:strip) + begin + xml = StringIO.new(xml) unless xml.respond_to?(:read) + + char = xml.getc + return {} if char.nil? + + xml.ungetc(char) + + hash = undasherize_keys(parser.parse(xml) || {}) + hash = typecast_xml_value(hash, options[:disallowed_types]) if options[:typecast_xml_value] + rescue DisallowedTypeError + raise + rescue parser.parse_error => e + raise(ParseError, e.message, e.backtrace) + end + hash = symbolize_keys(hash) if options[:symbolize_keys] + hash + end + + # This module decorates files with the original_filename + # and content_type methods. + module FileLike # :nodoc: + attr_writer :original_filename, :content_type + + def original_filename + @original_filename || "untitled" + end + + def content_type + @content_type || "application/octet-stream" + end + end + + private + + # TODO: Add support for other encodings + def parse_binary(binary, entity) # :nodoc: + case entity["encoding"] + when "base64" + base64_decode(binary) + else + binary + end + end + + def parse_file(file, entity) + f = StringIO.new(base64_decode(file)) + f.extend(FileLike) + f.original_filename = entity["name"] + f.content_type = entity["content_type"] + f + end + + def base64_decode(input) + input.unpack1("m") + end + + def symbolize_keys(params) + case params + when Hash + params.inject({}) do |result, (key, value)| + result.merge(key.to_sym => symbolize_keys(value)) + end + when Array + params.collect { |value| symbolize_keys(value) } + else + params + end + end + + def undasherize_keys(params) + case params + when Hash + params.each_with_object({}) do |(key, value), hash| + hash[key.to_s.tr("-", "_")] = undasherize_keys(value) + hash + end + when Array + params.collect { |value| undasherize_keys(value) } + else + params + end + end + + def typecast_xml_value(value, disallowed_types = nil) # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity + disallowed_types ||= DISALLOWED_XML_TYPES + + case value + when Hash + if value.include?("type") && !value["type"].is_a?(Hash) && disallowed_types.include?(value["type"]) + raise(DisallowedTypeError, value["type"]) + end + + if value["type"] == "array" + + # this commented-out suggestion helps to avoid the multiple attribute + # problem, but it breaks when there is only one item in the array. + # + # from: https://github.com/jnunemaker/httparty/issues/102 + # + # _, entries = value.detect { |k, v| k != 'type' && v.is_a?(Array) } + + # This attempt fails to consider the order that the detect method + # retrieves the entries. + # _, entries = value.detect {|key, _| key != 'type'} + + # This approach ignores attribute entries that are not convertable + # to an Array which allows attributes to be ignored. + _, entries = value.detect { |k, v| k != "type" && (v.is_a?(Array) || v.is_a?(Hash)) } + + case entries + when NilClass + [] + when String + [] if entries.strip.empty? + when Array + entries.collect { |entry| typecast_xml_value(entry, disallowed_types) } + when Hash + [typecast_xml_value(entries, disallowed_types)] + else + raise("can't typecast #{entries.class.name}: #{entries.inspect}") + end + + elsif value.key?(CONTENT_ROOT) + content = value[CONTENT_ROOT] + block = PARSING[value["type"]] + if block + if block.arity == 1 + value.delete("type") if PARSING[value["type"]] + if value.keys.size > 1 + value[CONTENT_ROOT] = block.call(content) + value + else + block.call(content) + end + else + block.call(content, value) + end + else + (value.keys.size > 1) ? value : content + end + elsif value["type"] == "string" && value["nil"] != "true" + "" + # blank or nil parsed values are represented by nil + elsif value.empty? || value["nil"] == "true" + nil + # If the type is the only element which makes it then + # this still makes the value nil, except if type is + # a XML node(where type['value'] is a Hash) + elsif value["type"] && value.size == 1 && !value["type"].is_a?(Hash) + nil + else + xml_value = value.each_with_object({}) do |(k, v), hash| + hash[k] = typecast_xml_value(v, disallowed_types) + hash + end + + # Turn {:files => {:file => #} into {:files => #} so it is compatible with + # how multipart uploaded files from HTML appear + (xml_value["file"].is_a?(StringIO)) ? xml_value["file"] : xml_value + end + when Array + value.map! { |i| typecast_xml_value(i, disallowed_types) } + (value.length > 1) ? value : value.first + when String + value + else + raise("can't typecast #{value.class.name}: #{value.inspect}") + end + end + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/lib/multi_xml/parsers/libxml.rb b/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/lib/multi_xml/parsers/libxml.rb new file mode 100644 index 0000000..79ddc20 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/lib/multi_xml/parsers/libxml.rb @@ -0,0 +1,33 @@ +require "libxml" unless defined?(LibXML) +require "multi_xml/parsers/libxml2_parser" + +module MultiXml + module Parsers + module Libxml # :nodoc: + include Libxml2Parser + extend self + + def parse_error + ::LibXML::XML::Error + end + + def parse(xml) + node_to_hash(LibXML::XML::Parser.io(xml).parse.root) + end + + private + + def each_child(node, &) + node.each_child(&) + end + + def each_attr(node, &) + node.each_attr(&) + end + + def node_name(node) + node.name + end + end + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/lib/multi_xml/parsers/libxml2_parser.rb b/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/lib/multi_xml/parsers/libxml2_parser.rb new file mode 100644 index 0000000..d94caed --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/lib/multi_xml/parsers/libxml2_parser.rb @@ -0,0 +1,70 @@ +module MultiXml + module Parsers + module Libxml2Parser # :nodoc: + # Convert XML document to hash + # + # node:: + # The XML node object to convert to a hash. + # + # hash:: + # Hash to merge the converted element into. + def node_to_hash(node, hash = {}) # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength + node_hash = {MultiXml::CONTENT_ROOT => ""} + + name = node_name(node) + + # Insert node hash into parent hash correctly. + case hash[name] + when Array + hash[name] << node_hash + when Hash + hash[name] = [hash[name], node_hash] + when NilClass + hash[name] = node_hash + end + + # Handle child elements + each_child(node) do |c| + if c.element? + node_to_hash(c, node_hash) + elsif c.text? || c.cdata? + node_hash[MultiXml::CONTENT_ROOT] += c.content + end + end + + # Remove content node if it is empty + node_hash.delete(MultiXml::CONTENT_ROOT) if node_hash[MultiXml::CONTENT_ROOT].strip.empty? + + # Handle attributes + each_attr(node) do |a| + key = node_name(a) + v = node_hash[key] + node_hash[key] = ((v) ? [a.value, v] : a.value) + end + + hash + end + + # Parse an XML Document IO into a simple hash. + # xml:: + # XML Document IO to parse + def parse(_) + raise(NotImplementedError, "inheritor should define #{__method__}") + end + + private + + def each_child(*) + raise(NotImplementedError, "inheritor should define #{__method__}") + end + + def each_attr(*) + raise(NotImplementedError, "inheritor should define #{__method__}") + end + + def node_name(*) + raise(NotImplementedError, "inheritor should define #{__method__}") + end + end + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/lib/multi_xml/parsers/nokogiri.rb b/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/lib/multi_xml/parsers/nokogiri.rb new file mode 100644 index 0000000..67a02bc --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/lib/multi_xml/parsers/nokogiri.rb @@ -0,0 +1,36 @@ +require "nokogiri" unless defined?(Nokogiri) +require "multi_xml/parsers/libxml2_parser" + +module MultiXml + module Parsers + module Nokogiri # :nodoc: + include Libxml2Parser + extend self + + def parse_error + ::Nokogiri::XML::SyntaxError + end + + def parse(xml) + doc = ::Nokogiri::XML(xml) + raise(doc.errors.first) unless doc.errors.empty? + + node_to_hash(doc.root) + end + + private + + def each_child(node, &) + node.children.each(&) + end + + def each_attr(node, &) + node.attribute_nodes.each(&) + end + + def node_name(node) + node.node_name + end + end + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/lib/multi_xml/parsers/oga.rb b/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/lib/multi_xml/parsers/oga.rb new file mode 100644 index 0000000..9d30b2a --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/lib/multi_xml/parsers/oga.rb @@ -0,0 +1,71 @@ +require "oga" unless defined?(Oga) +require "multi_xml/parsers/libxml2_parser" + +module MultiXml + module Parsers + module Oga # :nodoc: + include Libxml2Parser + extend self + + def parse_error + LL::ParserError + end + + def parse(io) + document = ::Oga.parse_xml(io) + node_to_hash(document.children[0]) + end + + def node_to_hash(node, hash = {}) # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength + node_hash = {MultiXml::CONTENT_ROOT => ""} + + name = node_name(node) + + # Insert node hash into parent hash correctly. + case hash[name] + when Array + hash[name] << node_hash + when Hash + hash[name] = [hash[name], node_hash] + when NilClass + hash[name] = node_hash + end + + # Handle child elements + each_child(node) do |c| + if c.is_a?(::Oga::XML::Element) + node_to_hash(c, node_hash) + elsif c.is_a?(::Oga::XML::Text) || c.is_a?(::Oga::XML::Cdata) + node_hash[MultiXml::CONTENT_ROOT] += c.text + end + end + + # Remove content node if it is empty + node_hash.delete(MultiXml::CONTENT_ROOT) if node_hash[MultiXml::CONTENT_ROOT].strip.empty? + + # Handle attributes + each_attr(node) do |a| + key = node_name(a) + v = node_hash[key] + node_hash[key] = ((v) ? [a.value, v] : a.value) + end + + hash + end + + private + + def each_child(node, &) + node.children.each(&) + end + + def each_attr(node, &) + node.attributes.each(&) + end + + def node_name(node) + node.name + end + end + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/lib/multi_xml/parsers/ox.rb b/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/lib/multi_xml/parsers/ox.rb new file mode 100644 index 0000000..2679a06 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/lib/multi_xml/parsers/ox.rb @@ -0,0 +1,91 @@ +require "ox" unless defined?(Ox) + +# Each MultiXml parser is expected to parse an XML document into a Hash. The +# conversion rules are: +# +# - Each document starts out as an empty Hash. +# +# - Reading an element created an entry in the parent Hash that has a key of +# the element name and a value of a Hash with attributes as key value +# pairs. Children are added as described by this rule. +# +# - Text and CDATE is stored in the parent element Hash with a key of +# MultiXml::CONTENT_ROOT and a value of the text itself. +# +# - If a key already exists in the Hash then the value associated with the key +# is converted to an Array with the old and new value in it. +# +# - Other elements such as the xml prolog, doctype, and comments are ignored. +# + +module MultiXml + module Parsers + module Ox # :nodoc: + module_function + + def parse_error + Exception + end + + def parse(io) + handler = Handler.new + ::Ox.sax_parse(handler, io, convert_special: true, skip: :skip_return) + handler.doc + end + + class Handler + attr_accessor :stack + + def initialize + @stack = [] + end + + def doc + @stack[0] + end + + def attr(name, value) + append(name, value) unless @stack.empty? + end + + def text(value) + append(MultiXml::CONTENT_ROOT, value) + end + + def cdata(value) + append(MultiXml::CONTENT_ROOT, value) + end + + def start_element(name) + @stack.push({}) if @stack.empty? + h = {} + append(name, h) + @stack.push(h) + end + + def end_element(_) + @stack.pop + end + + def error(message, line, column) + raise(StandardError, "#{message} at #{line}:#{column}") + end + + def append(key, value) + key = key.to_s + h = @stack.last + if h.key?(key) + v = h[key] + if v.is_a?(Array) + v << value + else + h[key] = [v, value] + end + else + h[key] = value + end + end + end + end + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/lib/multi_xml/parsers/rexml.rb b/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/lib/multi_xml/parsers/rexml.rb new file mode 100644 index 0000000..2c09fea --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/lib/multi_xml/parsers/rexml.rb @@ -0,0 +1,113 @@ +require "rexml/document" unless defined?(REXML::Document) + +module MultiXml + module Parsers + module Rexml # :nodoc: + extend self + + def parse_error + ::REXML::ParseException + end + + # Parse an XML Document IO into a simple hash using REXML + # + # xml:: + # XML Document IO to parse + def parse(xml) + doc = REXML::Document.new(xml) + raise(REXML::ParseException, "The document #{doc.to_s.inspect} does not have a valid root") unless doc.root + + merge_element!({}, doc.root) + end + + private + + # Convert an XML element and merge into the hash + # + # hash:: + # Hash to merge the converted element into. + # element:: + # XML element to merge into hash + def merge_element!(hash, element) + merge!(hash, element.name, collapse(element)) + end + + # Actually converts an XML document element into a data structure. + # + # element:: + # The document element to be collapsed. + def collapse(element) + hash = get_attributes(element) + + if element.has_elements? + element.each_element { |child| merge_element!(hash, child) } + merge_texts!(hash, element) unless empty_content?(element) + hash + else + merge_texts!(hash, element) + end + end + + # Merge all the texts of an element into the hash + # + # hash:: + # Hash to add the converted element to. + # element:: + # XML element whose texts are to me merged into the hash + def merge_texts!(hash, element) + if element.has_text? + # must use value to prevent double-escaping + texts = element.texts.map(&:value).join + merge!(hash, MultiXml::CONTENT_ROOT, texts) + else + hash + end + end + + # Adds a new key/value pair to an existing Hash. If the key to be added + # already exists and the existing value associated with key is not + # an Array, it will be wrapped in an Array. Then the new value is + # appended to that Array. + # + # hash:: + # Hash to add key/value pair to. + # key:: + # Key to be added. + # value:: + # Value to be associated with key. + def merge!(hash, key, value) + if hash.key?(key) + if hash[key].instance_of?(Array) + hash[key] << value + else + hash[key] = [hash[key], value] + end + elsif value.instance_of?(Array) + hash[key] = [value] + else + hash[key] = value + end + hash + end + + # Converts the attributes array of an XML element into a hash. + # Returns an empty Hash if node has no attributes. + # + # element:: + # XML element to extract attributes from. + def get_attributes(element) + attributes = {} + element.attributes.each { |n, v| attributes[n] = v } + attributes + end + + # Determines if a document element has text content + # + # element:: + # XML element to be checked. + def empty_content?(element) + element.texts.join.strip.empty? + end + end + end +end diff --git a/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/lib/multi_xml/version.rb b/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/lib/multi_xml/version.rb new file mode 100644 index 0000000..71d2ab1 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/multi_xml-0.7.2/lib/multi_xml/version.rb @@ -0,0 +1,3 @@ +module MultiXml + VERSION = Gem::Version.create("0.7.2") +end diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/Gemfile b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/Gemfile new file mode 100644 index 0000000..affe3ac --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/Gemfile @@ -0,0 +1,40 @@ +# frozen_string_literal: true + +source "https://rubygems.org" + +gemspec + +group :development do + # bootstrapping + gem "bundler", "~> 2.3" + gem "rake", "13.2.1" + + # building extensions + gem "rake-compiler", "1.2.8" + gem "rake-compiler-dock", "1.7.0" + + # parser generator + gem "rexical", "1.0.8" + + # tests + gem "minitest", "5.25.4" + gem "minitest-parallel_fork", "2.0.0" + gem "ruby_memcheck", "3.0.0" + gem "rubyzip", "~> 2.3.2" + gem "simplecov", "= 0.21.2" + + # rubocop + unless RUBY_PLATFORM == "java" + gem "standard", "1.43.0" + gem "rubocop-minitest", "0.36.0" + gem "rubocop-packaging", "0.5.2" + gem "rubocop-rake", "0.6.0" + end +end + +# If Psych doesn't build, you can disable this group locally by running +# `bundle config set --local without rdoc` +# Then re-run `bundle install`. +group :rdoc do + gem "rdoc", "6.10.0" unless RUBY_PLATFORM == "java" || ENV["CI"] +end diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/LICENSE-DEPENDENCIES.md b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/LICENSE-DEPENDENCIES.md new file mode 100644 index 0000000..1e950b6 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/LICENSE-DEPENDENCIES.md @@ -0,0 +1,2224 @@ +# Vendored Dependency Licenses + +Nokogiri ships with some third party dependencies, which are listed here along with their licenses. + +Note that this document is broken into multiple sections, each of which describes the dependencies of a different "platform release" of Nokogiri. + + + + + +- [Platform Releases](#platform-releases) + * [Default platform release ("ruby")](#default-platform-release-ruby) + * [Native LinuxⓇ platform releases ("x86_64-linux", "aarch64-linux", and "arm-linux")](#native-linux%E2%93%A1-platform-releases-x86_64-linux-aarch64-linux-and-arm-linux) + * [Native Darwin (macOSⓇ) platform releases ("x86_64-darwin" and "arm64-darwin")](#native-darwin-macos%E2%93%A1-platform-releases-x86_64-darwin-and-arm64-darwin) + * [Native WindowsⓇ platform releases ("x64-mingw-ucrt")](#native-windows%E2%93%A1-platform-releases-x64-mingw-ucrt) + * [JavaⓇ (JRuby) platform release ("java")](#java%E2%93%A1-jruby-platform-release-java) +- [Appendix: Dependencies' License Texts](#appendix-dependencies-license-texts) + * [libgumbo](#libgumbo) + * [libxml2](#libxml2) + * [libxslt](#libxslt) + * [zlib](#zlib) + * [libiconv](#libiconv) + * [isorelax:isorelax](#isorelaxisorelax) + * [net.sf.saxon:Saxon-HE](#netsfsaxonsaxon-he) + * [net.sourceforge.htmlunit:neko-htmlunit](#netsourceforgehtmlunitneko-htmlunit) + * [nu.validator:jing](#nuvalidatorjing) + * [org.nokogiri:nekodtd](#orgnokogirinekodtd) + * [xalan:serializer and xalan:xalan](#xalanserializer-and-xalanxalan) + * [xerces:xercesImpl](#xercesxercesimpl) + * [xml-apis:xml-apis](#xml-apisxml-apis) + + + +Anyone consuming this file via license-tracking software should endeavor to understand which gem file you're downloading and using, so as not to misinterpret the contents of this file and the licenses of the software being distributed. + +You can double-check the dependencies in your gem file by examining the output of `nokogiri -v` after installation, which will emit the complete set of libraries in use (for versions `>= 1.11.0.rc4`). + +In particular, I'm sure somebody's lawyer, somewhere, is going to freak out that the LGPL appears in this file; and so I'd like to take special note that the dependency covered by LGPL, `libiconv`, is only being redistributed in the native Windows and native Darwin platform releases. It's not present in default, JavaⓇ, or native LinuxⓇ releases. + + +## Platform Releases + +### Default platform release ("ruby") + +The default platform release distributes the following dependencies in source form: + +* [libxml2](#libxml2) +* [libxslt](#libxslt) +* [libgumbo](#libgumbo) + +This distribution can be identified by inspecting the included Gem::Specification, which will have the value "ruby" for its "platform" attribute. + + +### Native LinuxⓇ platform releases ("x86_64-linux", "aarch64-linux", and "arm-linux") + +The native LinuxⓇ platform release distributes the following dependencies in source form: + +* [libxml2](#libxml2) +* [libxslt](#libxslt) +* [libgumbo](#libgumbo) +* [zlib](#zlib) + +This distribution can be identified by inspecting the included Gem::Specification, which will have a value similar to "x86_64-linux" or "aarch64-linux" for its "platform.cpu" attribute. + + +### Native Darwin (macOSⓇ) platform releases ("x86_64-darwin" and "arm64-darwin") + +The native Darwin platform release distributes the following dependencies in source form: + +* [libxml2](#libxml2) +* [libxslt](#libxslt) +* [libgumbo](#libgumbo) +* [zlib](#zlib) +* [libiconv](#libiconv) + +This distribution can be identified by inspecting the included Gem::Specification, which will have a value similar to "x86_64-darwin" or "arm64-darwin" for its "platform.cpu" attribute. Darwin is also known more familiarly as "OSX" or "macOSⓇ" and is the operating system for many AppleⓇ computers. + + +### Native WindowsⓇ platform releases ("x64-mingw-ucrt") + +The native WindowsⓇ platform release distributes the following dependencies in source form: + +* [libxml2](#libxml2) +* [libxslt](#libxslt) +* [libgumbo](#libgumbo) +* [zlib](#zlib) +* [libiconv](#libiconv) + +This distribution can be identified by inspecting the included Gem::Specification, which will have a value similar to "x64-mingw-ucrt" for its "platform.cpu" attribute. + + +### JavaⓇ (JRuby) platform release ("java") + +The Java platform release distributes the following dependencies as compiled jar files: + +* [isorelax:isorelax](#isorelaxisorelax) +* [net.sf.saxon:Saxon-HE](#netsfsaxonsaxon-he) +* [net.sourceforge.htmlunit:neko-htmlunit](#netsourceforgehtmlunitneko-htmlunit) +* [nu.validator:jing](#nuvalidatorjing) +* [org.nokogiri:nekodtd](#orgnokogirinekodtd) +* [xalan:serializer and xalan:xalan](#xalanserializer-and-xalanxalan) +* [xerces:xercesImpl](#xercesxercesimpl) +* [xml-apis:xml-apis](#xml-apisxml-apis) + +This distribution can be identified by inspecting the included Gem::Specification, which will have the value "java" for its "platform.os" attribute. + + +## Appendix: Dependencies' License Texts + +This section contains a subsection for each potentially-distributed dependency, which includes the name of the license and the license text. + +Please see previous sections to understand which of these potential dependencies is actually distributed in the gem file you're downloading and using. + + +### libgumbo + +Apache 2.0 + +https://github.com/sparklemotion/nokogiri/blob/main/gumbo-parser/src/README.md + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + +### libxml2 + +MIT + +http://xmlsoft.org/ + + Except where otherwise noted in the source code (e.g. the files hash.c, + list.c and the trio files, which are covered by a similar licence but + with different Copyright notices) all the files are: + + Copyright (C) 1998-2012 Daniel Veillard. All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is fur- + nished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT- + NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + + +### libxslt + +MIT + +http://xmlsoft.org/libxslt/ + + Licence for libxslt except libexslt + ---------------------------------------------------------------------- + Copyright (C) 2001-2002 Daniel Veillard. All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is fur- + nished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT- + NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + DANIEL VEILLARD BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON- + NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + Except as contained in this notice, the name of Daniel Veillard shall not + be used in advertising or otherwise to promote the sale, use or other deal- + ings in this Software without prior written authorization from him. + + ---------------------------------------------------------------------- + + Licence for libexslt + ---------------------------------------------------------------------- + Copyright (C) 2001-2002 Thomas Broyer, Charlie Bozeman and Daniel Veillard. + All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is fur- + nished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT- + NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON- + NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + Except as contained in this notice, the name of the authors shall not + be used in advertising or otherwise to promote the sale, use or other deal- + ings in this Software without prior written authorization from him. + ---------------------------------------------------------------------- + + +### zlib + +zlib license + +http://www.zlib.net/zlib_license.html + + Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu + + +### libiconv + +LGPL + +https://www.gnu.org/software/libiconv/ + + GNU LIBRARY GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1991 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + [This is the first released version of the library GPL. It is + numbered 2 because it goes with version 2 of the ordinary GPL.] + + Preamble + + The licenses for most software are designed to take away your + freedom to share and change it. By contrast, the GNU General Public + Licenses are intended to guarantee your freedom to share and change + free software--to make sure the software is free for all its users. + + This license, the Library General Public License, applies to some + specially designated Free Software Foundation software, and to any + other libraries whose authors decide to use it. You can use it for + your libraries, too. + + When we speak of free software, we are referring to freedom, not + price. Our General Public Licenses are designed to make sure that you + have the freedom to distribute copies of free software (and charge for + this service if you wish), that you receive source code or can get it + if you want it, that you can change the software or use pieces of it + in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid + anyone to deny you these rights or to ask you to surrender the rights. + These restrictions translate to certain responsibilities for you if + you distribute copies of the library, or if you modify it. + + For example, if you distribute copies of the library, whether gratis + or for a fee, you must give the recipients all the rights that we gave + you. You must make sure that they, too, receive or can get the source + code. If you link a program with the library, you must provide + complete object files to the recipients so that they can relink them + with the library, after making changes to the library and recompiling + it. And you must show them these terms so they know their rights. + + Our method of protecting your rights has two steps: (1) copyright + the library, and (2) offer you this license which gives you legal + permission to copy, distribute and/or modify the library. + + Also, for each distributor's protection, we want to make certain + that everyone understands that there is no warranty for this free + library. If the library is modified by someone else and passed on, we + want its recipients to know that what they have is not the original + version, so that any problems introduced by others will not reflect on + the original authors' reputations. + + Finally, any free program is threatened constantly by software + patents. We wish to avoid the danger that companies distributing free + software will individually obtain patent licenses, thus in effect + transforming the program into proprietary software. To prevent this, + we have made it clear that any patent must be licensed for everyone's + free use or not licensed at all. + + Most GNU software, including some libraries, is covered by the ordinary + GNU General Public License, which was designed for utility programs. This + license, the GNU Library General Public License, applies to certain + designated libraries. This license is quite different from the ordinary + one; be sure to read it in full, and don't assume that anything in it is + the same as in the ordinary license. + + The reason we have a separate public license for some libraries is that + they blur the distinction we usually make between modifying or adding to a + program and simply using it. Linking a program with a library, without + changing the library, is in some sense simply using the library, and is + analogous to running a utility program or application program. However, in + a textual and legal sense, the linked executable is a combined work, a + derivative of the original library, and the ordinary General Public License + treats it as such. + + Because of this blurred distinction, using the ordinary General + Public License for libraries did not effectively promote software + sharing, because most developers did not use the libraries. We + concluded that weaker conditions might promote sharing better. + + However, unrestricted linking of non-free programs would deprive the + users of those programs of all benefit from the free status of the + libraries themselves. This Library General Public License is intended to + permit developers of non-free programs to use free libraries, while + preserving your freedom as a user of such programs to change the free + libraries that are incorporated in them. (We have not seen how to achieve + this as regards changes in header files, but we have achieved it as regards + changes in the actual functions of the Library.) The hope is that this + will lead to faster development of free libraries. + + The precise terms and conditions for copying, distribution and + modification follow. Pay close attention to the difference between a + "work based on the library" and a "work that uses the library". The + former contains code derived from the library, while the latter only + works together with the library. + + Note that it is possible for a library to be covered by the ordinary + General Public License rather than by this special one. + + GNU LIBRARY GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library which + contains a notice placed by the copyright holder or other authorized + party saying it may be distributed under the terms of this Library + General Public License (also called "this License"). Each licensee is + addressed as "you". + + A "library" means a collection of software functions and/or data + prepared so as to be conveniently linked with application programs + (which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work + which has been distributed under these terms. A "work based on the + Library" means either the Library or any derivative work under + copyright law: that is to say, a work containing the Library or a + portion of it, either verbatim or with modifications and/or translated + straightforwardly into another language. (Hereinafter, translation is + included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for + making modifications to it. For a library, complete source code means + all the source code for all modules it contains, plus any associated + interface definition files, plus the scripts used to control compilation + and installation of the library. + + Activities other than copying, distribution and modification are not + covered by this License; they are outside its scope. The act of + running a program using the Library is not restricted, and output from + such a program is covered only if its contents constitute a work based + on the Library (independent of the use of the Library in a tool for + writing it). Whether that is true depends on what the Library does + and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's + complete source code as you receive it, in any medium, provided that + you conspicuously and appropriately publish on each copy an + appropriate copyright notice and disclaimer of warranty; keep intact + all the notices that refer to this License and to the absence of any + warranty; and distribute a copy of this License along with the + Library. + + You may charge a fee for the physical act of transferring a copy, + and you may at your option offer warranty protection in exchange for a + fee. + + 2. You may modify your copy or copies of the Library or any portion + of it, thus forming a work based on the Library, and copy and + distribute such modifications or work under the terms of Section 1 + above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + + These requirements apply to the modified work as a whole. If + identifiable sections of that work are not derived from the Library, + and can be reasonably considered independent and separate works in + themselves, then this License, and its terms, do not apply to those + sections when you distribute them as separate works. But when you + distribute the same sections as part of a whole which is a work based + on the Library, the distribution of the whole must be on the terms of + this License, whose permissions for other licensees extend to the + entire whole, and thus to each and every part regardless of who wrote + it. + + Thus, it is not the intent of this section to claim rights or contest + your rights to work written entirely by you; rather, the intent is to + exercise the right to control the distribution of derivative or + collective works based on the Library. + + In addition, mere aggregation of another work not based on the Library + with the Library (or with a work based on the Library) on a volume of + a storage or distribution medium does not bring the other work under + the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public + License instead of this License to a given copy of the Library. To do + this, you must alter all the notices that refer to this License, so + that they refer to the ordinary GNU General Public License, version 2, + instead of to this License. (If a newer version than version 2 of the + ordinary GNU General Public License has appeared, then you can specify + that version instead if you wish.) Do not make any other change in + these notices. + + Once this change is made in a given copy, it is irreversible for + that copy, so the ordinary GNU General Public License applies to all + subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of + the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or + derivative of it, under Section 2) in object code or executable form + under the terms of Sections 1 and 2 above provided that you accompany + it with the complete corresponding machine-readable source code, which + must be distributed under the terms of Sections 1 and 2 above on a + medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy + from a designated place, then offering equivalent access to copy the + source code from the same place satisfies the requirement to + distribute the source code, even though third parties are not + compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the + Library, but is designed to work with the Library by being compiled or + linked with it, is called a "work that uses the Library". Such a + work, in isolation, is not a derivative work of the Library, and + therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library + creates an executable that is a derivative of the Library (because it + contains portions of the Library), rather than a "work that uses the + library". The executable is therefore covered by this License. + Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file + that is part of the Library, the object code for the work may be a + derivative work of the Library even though the source code is not. + Whether this is true is especially significant if the work can be + linked without the Library, or if the work is itself a library. The + threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data + structure layouts and accessors, and small macros and small inline + functions (ten lines or less in length), then the use of the object + file is unrestricted, regardless of whether it is legally a derivative + work. (Executables containing this object code plus portions of the + Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may + distribute the object code for the work under the terms of Section 6. + Any executables containing that work also fall under Section 6, + whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also compile or + link a "work that uses the Library" with the Library to produce a + work containing portions of the Library, and distribute that work + under terms of your choice, provided that the terms permit + modification of the work for the customer's own use and reverse + engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the + Library is used in it and that the Library and its use are covered by + this License. You must supply a copy of this License. If the work + during execution displays copyright notices, you must include the + copyright notice for the Library among them, as well as a reference + directing the user to the copy of this License. Also, you must do one + of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + c) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + d) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the + Library" must include any data and utility programs needed for + reproducing the executable from it. However, as a special exception, + the source code distributed need not include anything that is normally + distributed (in either source or binary form) with the major + components (compiler, kernel, and so on) of the operating system on + which the executable runs, unless that component itself accompanies + the executable. + + It may happen that this requirement contradicts the license + restrictions of other proprietary libraries that do not normally + accompany the operating system. Such a contradiction means you cannot + use both them and the Library together in an executable that you + distribute. + + 7. You may place library facilities that are a work based on the + Library side-by-side in a single library together with other library + facilities not covered by this License, and distribute such a combined + library, provided that the separate distribution of the work based on + the Library and of the other library facilities is otherwise + permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute + the Library except as expressly provided under this License. Any + attempt otherwise to copy, modify, sublicense, link with, or + distribute the Library is void, and will automatically terminate your + rights under this License. However, parties who have received copies, + or rights, from you under this License will not have their licenses + terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not + signed it. However, nothing else grants you permission to modify or + distribute the Library or its derivative works. These actions are + prohibited by law if you do not accept this License. Therefore, by + modifying or distributing the Library (or any work based on the + Library), you indicate your acceptance of this License to do so, and + all its terms and conditions for copying, distributing or modifying + the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the + Library), the recipient automatically receives a license from the + original licensor to copy, distribute, link with or modify the Library + subject to these terms and conditions. You may not impose any further + restrictions on the recipients' exercise of the rights granted herein. + You are not responsible for enforcing compliance by third parties to + this License. + + 11. If, as a consequence of a court judgment or allegation of patent + infringement or for any other reason (not limited to patent issues), + conditions are imposed on you (whether by court order, agreement or + otherwise) that contradict the conditions of this License, they do not + excuse you from the conditions of this License. If you cannot + distribute so as to satisfy simultaneously your obligations under this + License and any other pertinent obligations, then as a consequence you + may not distribute the Library at all. For example, if a patent + license would not permit royalty-free redistribution of the Library by + all those who receive copies directly or indirectly through you, then + the only way you could satisfy both it and this License would be to + refrain entirely from distribution of the Library. + + If any portion of this section is held invalid or unenforceable under any + particular circumstance, the balance of the section is intended to apply, + and the section as a whole is intended to apply in other circumstances. + + It is not the purpose of this section to induce you to infringe any + patents or other property right claims or to contest validity of any + such claims; this section has the sole purpose of protecting the + integrity of the free software distribution system which is + implemented by public license practices. Many people have made + generous contributions to the wide range of software distributed + through that system in reliance on consistent application of that + system; it is up to the author/donor to decide if he or she is willing + to distribute software through any other system and a licensee cannot + impose that choice. + + This section is intended to make thoroughly clear what is believed to + be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in + certain countries either by patents or by copyrighted interfaces, the + original copyright holder who places the Library under this License may add + an explicit geographical distribution limitation excluding those countries, + so that distribution is permitted only in or among countries not thus + excluded. In such case, this License incorporates the limitation as if + written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new + versions of the Library General Public License from time to time. + Such new versions will be similar in spirit to the present version, + but may differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the Library + specifies a version number of this License which applies to it and + "any later version", you have the option of following the terms and + conditions either of that version or of any later version published by + the Free Software Foundation. If the Library does not specify a + license version number, you may choose any version ever published by + the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free + programs whose distribution conditions are incompatible with these, + write to the author to ask for permission. For software which is + copyrighted by the Free Software Foundation, write to the Free + Software Foundation; we sometimes make exceptions for this. Our + decision will be guided by the two goals of preserving the free status + of all derivatives of our free software and of promoting the sharing + and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO + WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. + EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR + OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY + KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE + LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME + THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN + WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY + AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU + FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR + CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE + LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING + RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A + FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF + SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + + END OF TERMS AND CONDITIONS + + +### isorelax:isorelax + +MIT + +http://iso-relax.sourceforge.net/ + + Copyright (c) 2001-2002, SourceForge ISO-RELAX Project (ASAMI + Tomoharu, Daisuke Okajima, Kohsuke Kawaguchi, and MURATA Makoto) + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +### net.sf.saxon:Saxon-HE + +MPL 2.0 + +http://www.saxonica.com/ + + Mozilla Public License Version 2.0 + ================================== + + 1. Definitions + -------------- + + 1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + + 1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + + 1.3. "Contribution" + means Covered Software of a particular Contributor. + + 1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + + 1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + + 1.6. "Executable Form" + means any form of the work other than Source Code Form. + + 1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + + 1.8. "License" + means this document. + + 1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + + 1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + + 1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + + 1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + + 1.13. "Source Code Form" + means the form of the work preferred for making modifications. + + 1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + + 2. License Grants and Conditions + -------------------------------- + + 2.1. Grants + + Each Contributor hereby grants You a world-wide, royalty-free, + non-exclusive license: + + (a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + + (b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + + 2.2. Effective Date + + The licenses granted in Section 2.1 with respect to any Contribution + become effective for each Contribution on the date the Contributor first + distributes such Contribution. + + 2.3. Limitations on Grant Scope + + The licenses granted in this Section 2 are the only rights granted under + this License. No additional rights or licenses will be implied from the + distribution or licensing of Covered Software under this License. + Notwithstanding Section 2.1(b) above, no patent license is granted by a + Contributor: + + (a) for any code that a Contributor has removed from Covered Software; + or + + (b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + + (c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + + This License does not grant any rights in the trademarks, service marks, + or logos of any Contributor (except as may be necessary to comply with + the notice requirements in Section 3.4). + + 2.4. Subsequent Licenses + + No Contributor makes additional grants as a result of Your choice to + distribute the Covered Software under a subsequent version of this + License (see Section 10.2) or under the terms of a Secondary License (if + permitted under the terms of Section 3.3). + + 2.5. Representation + + Each Contributor represents that the Contributor believes its + Contributions are its original creation(s) or it has sufficient rights + to grant the rights to its Contributions conveyed by this License. + + 2.6. Fair Use + + This License is not intended to limit any rights You have under + applicable copyright doctrines of fair use, fair dealing, or other + equivalents. + + 2.7. Conditions + + Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted + in Section 2.1. + + 3. Responsibilities + ------------------- + + 3.1. Distribution of Source Form + + All distribution of Covered Software in Source Code Form, including any + Modifications that You create or to which You contribute, must be under + the terms of this License. You must inform recipients that the Source + Code Form of the Covered Software is governed by the terms of this + License, and how they can obtain a copy of this License. You may not + attempt to alter or restrict the recipients' rights in the Source Code + Form. + + 3.2. Distribution of Executable Form + + If You distribute Covered Software in Executable Form then: + + (a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + + (b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + + 3.3. Distribution of a Larger Work + + You may create and distribute a Larger Work under terms of Your choice, + provided that You also comply with the requirements of this License for + the Covered Software. If the Larger Work is a combination of Covered + Software with a work governed by one or more Secondary Licenses, and the + Covered Software is not Incompatible With Secondary Licenses, this + License permits You to additionally distribute such Covered Software + under the terms of such Secondary License(s), so that the recipient of + the Larger Work may, at their option, further distribute the Covered + Software under the terms of either this License or such Secondary + License(s). + + 3.4. Notices + + You may not remove or alter the substance of any license notices + (including copyright notices, patent notices, disclaimers of warranty, + or limitations of liability) contained within the Source Code Form of + the Covered Software, except that You may alter any license notices to + the extent required to remedy known factual inaccuracies. + + 3.5. Application of Additional Terms + + You may choose to offer, and to charge a fee for, warranty, support, + indemnity or liability obligations to one or more recipients of Covered + Software. However, You may do so only on Your own behalf, and not on + behalf of any Contributor. You must make it absolutely clear that any + such warranty, support, indemnity, or liability obligation is offered by + You alone, and You hereby agree to indemnify every Contributor for any + liability incurred by such Contributor as a result of warranty, support, + indemnity or liability terms You offer. You may include additional + disclaimers of warranty and limitations of liability specific to any + jurisdiction. + + 4. Inability to Comply Due to Statute or Regulation + --------------------------------------------------- + + If it is impossible for You to comply with any of the terms of this + License with respect to some or all of the Covered Software due to + statute, judicial order, or regulation then You must: (a) comply with + the terms of this License to the maximum extent possible; and (b) + describe the limitations and the code they affect. Such description must + be placed in a text file included with all distributions of the Covered + Software under this License. Except to the extent prohibited by statute + or regulation, such description must be sufficiently detailed for a + recipient of ordinary skill to be able to understand it. + + 5. Termination + -------------- + + 5.1. The rights granted under this License will terminate automatically + if You fail to comply with any of its terms. However, if You become + compliant, then the rights granted under this License from a particular + Contributor are reinstated (a) provisionally, unless and until such + Contributor explicitly and finally terminates Your grants, and (b) on an + ongoing basis, if such Contributor fails to notify You of the + non-compliance by some reasonable means prior to 60 days after You have + come back into compliance. Moreover, Your grants from a particular + Contributor are reinstated on an ongoing basis if such Contributor + notifies You of the non-compliance by some reasonable means, this is the + first time You have received notice of non-compliance with this License + from such Contributor, and You become compliant prior to 30 days after + Your receipt of the notice. + + 5.2. If You initiate litigation against any entity by asserting a patent + infringement claim (excluding declaratory judgment actions, + counter-claims, and cross-claims) alleging that a Contributor Version + directly or indirectly infringes any patent, then the rights granted to + You by any and all Contributors for the Covered Software under Section + 2.1 of this License shall terminate. + + 5.3. In the event of termination under Sections 5.1 or 5.2 above, all + end user license agreements (excluding distributors and resellers) which + have been validly granted by You or Your distributors under this License + prior to termination shall survive termination. + + ************************************************************************ + * * + * 6. Disclaimer of Warranty * + * ------------------------- * + * * + * Covered Software is provided under this License on an "as is" * + * basis, without warranty of any kind, either expressed, implied, or * + * statutory, including, without limitation, warranties that the * + * Covered Software is free of defects, merchantable, fit for a * + * particular purpose or non-infringing. The entire risk as to the * + * quality and performance of the Covered Software is with You. * + * Should any Covered Software prove defective in any respect, You * + * (not any Contributor) assume the cost of any necessary servicing, * + * repair, or correction. This disclaimer of warranty constitutes an * + * essential part of this License. No use of any Covered Software is * + * authorized under this License except under this disclaimer. * + * * + ************************************************************************ + + ************************************************************************ + * * + * 7. Limitation of Liability * + * -------------------------- * + * * + * Under no circumstances and under no legal theory, whether tort * + * (including negligence), contract, or otherwise, shall any * + * Contributor, or anyone who distributes Covered Software as * + * permitted above, be liable to You for any direct, indirect, * + * special, incidental, or consequential damages of any character * + * including, without limitation, damages for lost profits, loss of * + * goodwill, work stoppage, computer failure or malfunction, or any * + * and all other commercial damages or losses, even if such party * + * shall have been informed of the possibility of such damages. This * + * limitation of liability shall not apply to liability for death or * + * personal injury resulting from such party's negligence to the * + * extent applicable law prohibits such limitation. Some * + * jurisdictions do not allow the exclusion or limitation of * + * incidental or consequential damages, so this exclusion and * + * limitation may not apply to You. * + * * + ************************************************************************ + + 8. Litigation + ------------- + + Any litigation relating to this License may be brought only in the + courts of a jurisdiction where the defendant maintains its principal + place of business and such litigation shall be governed by laws of that + jurisdiction, without reference to its conflict-of-law provisions. + Nothing in this Section shall prevent a party's ability to bring + cross-claims or counter-claims. + + 9. Miscellaneous + ---------------- + + This License represents the complete agreement concerning the subject + matter hereof. If any provision of this License is held to be + unenforceable, such provision shall be reformed only to the extent + necessary to make it enforceable. Any law or regulation which provides + that the language of a contract shall be construed against the drafter + shall not be used to construe this License against a Contributor. + + 10. Versions of the License + --------------------------- + + 10.1. New Versions + + Mozilla Foundation is the license steward. Except as provided in Section + 10.3, no one other than the license steward has the right to modify or + publish new versions of this License. Each version will be given a + distinguishing version number. + + 10.2. Effect of New Versions + + You may distribute the Covered Software under the terms of the version + of the License under which You originally received the Covered Software, + or under the terms of any subsequent version published by the license + steward. + + 10.3. Modified Versions + + If you create software not governed by this License, and you want to + create a new license for such software, you may create and use a + modified version of this License if you rename the license and remove + any references to the name of the license steward (except to note that + such modified license differs from this License). + + 10.4. Distributing Source Code Form that is Incompatible With Secondary + Licenses + + If You choose to distribute Source Code Form that is Incompatible With + Secondary Licenses under the terms of this version of the License, the + notice described in Exhibit B of this License must be attached. + + +### net.sourceforge.htmlunit:neko-htmlunit + +Apache 2.0 + +https://github.com/HtmlUnit/htmlunit-neko + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + +### nu.validator:jing + +BSD-3-Clause + +http://www.thaiopensource.com/relaxng/jing.html + + Copyright (c) 2001-2003 Thai Open Source Software Center Ltd + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + * Neither the name of the Thai Open Source Software Center Ltd nor + the names of its contributors may be used to endorse or promote + products derived from this software without specific prior + written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + + +### org.nokogiri:nekodtd + +Apache 2.0 + +https://github.com/sparklemotion/nekodtd + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + +### xalan:serializer and xalan:xalan + +Apache 2.0 + +https://xml.apache.org/xalan-j/ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + +### xerces:xercesImpl + +Apache 2.0 + +https://xerces.apache.org/xerces2-j/ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + +### xml-apis:xml-apis + +Apache 2.0 + +https://xerces.apache.org/xml-commons/ + + Unless otherwise noted all files in XML Commons are covered under the + Apache License Version 2.0. Please read the LICENSE and NOTICE files. + + XML Commons contains some software and documentation that is covered + under a number of different licenses. This applies particularly to the + xml-commons/java/external/ directory. Most files under + xml-commons/java/external/ are covered under their respective + LICENSE.*.txt files; see the matching README.*.txt files for + descriptions. + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/LICENSE.md b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/LICENSE.md new file mode 100644 index 0000000..b649dd8 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/LICENSE.md @@ -0,0 +1,9 @@ +The MIT License + +Copyright 2008 -- 2023 by Mike Dalessio, Aaron Patterson, Yoko Harada, Akinori MUSHA, John Shahid, Karol Bucek, Sam Ruby, Craig Barnes, Stephen Checkoway, Lars Kanis, Sergio Arbeo, Timothy Elliott, Nobuyoshi Nakada, Charles Nutter, Patrick Mahoney. + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/README.md b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/README.md new file mode 100644 index 0000000..df466f4 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/README.md @@ -0,0 +1,293 @@ +
    + +# Nokogiri + +Nokogiri (鋸) makes it easy and painless to work with XML and HTML from Ruby. It provides a sensible, easy-to-understand API for [reading](https://nokogiri.org/tutorials/parsing_an_html_xml_document.html), writing, [modifying](https://nokogiri.org/tutorials/modifying_an_html_xml_document.html), and [querying](https://nokogiri.org/tutorials/searching_a_xml_html_document.html) documents. It is fast and standards-compliant by relying on native parsers like libxml2, libgumbo, and xerces. + +## Guiding Principles + +Some guiding principles Nokogiri tries to follow: + +- be secure-by-default by treating all documents as **untrusted** by default +- be a **thin-as-reasonable layer** on top of the underlying parsers, and don't attempt to fix behavioral differences between the parsers + + +## Features Overview + +- DOM Parser for XML, HTML4, and HTML5 +- SAX Parser for XML and HTML4 +- Push Parser for XML and HTML4 +- Document search via XPath 1.0 +- Document search via CSS3 selectors, with some jquery-like extensions +- XSD Schema validation +- XSLT transformation +- "Builder" DSL for XML and HTML documents + + +## Status + +[![Github Actions CI](https://github.com/sparklemotion/nokogiri/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/sparklemotion/nokogiri/actions/workflows/ci.yml) +[![Appveyor CI](https://ci.appveyor.com/api/projects/status/xj2pqwvlxwuwgr06/branch/main?svg=true)](https://ci.appveyor.com/project/flavorjones/nokogiri/branch/main) + +[![Gem Version](https://badge.fury.io/rb/nokogiri.svg)](https://rubygems.org/gems/nokogiri) +[![SemVer compatibility](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=nokogiri&package-manager=bundler&previous-version=1.11.7&new-version=1.12.5)](https://docs.github.com/en/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-dependabot-security-updates#about-compatibility-scores) + +[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/5344/badge)](https://bestpractices.coreinfrastructure.org/projects/5344) +[![Tidelift dependencies](https://tidelift.com/badges/package/rubygems/nokogiri)](https://tidelift.com/subscription/pkg/rubygems-nokogiri?utm_source=rubygems-nokogiri&utm_medium=referral&utm_campaign=readme) + + +## Support, Getting Help, and Reporting Issues + +All official documentation is posted at https://nokogiri.org (the source for which is at https://github.com/sparklemotion/nokogiri.org/, and we welcome contributions). + +### Reading + +Your first stops for learning more about Nokogiri should be: + +- [API Documentation](https://nokogiri.org/rdoc/index.html) +- [Tutorials](https://nokogiri.org/tutorials/toc.html) +- An excellent community-maintained [Cheat Sheet](https://github.com/sparklemotion/nokogiri/wiki/Cheat-sheet) + + +### Ask For Help + +There are a few ways to ask exploratory questions: + +- The Nokogiri mailing list is active at https://groups.google.com/group/nokogiri-talk +- Open an issue using the "Help Request" template at https://github.com/sparklemotion/nokogiri/issues +- Open a discussion at https://github.com/sparklemotion/nokogiri/discussions + +Please do not mail the maintainers at their personal addresses. + + +### Report A Bug + +The Nokogiri bug tracker is at https://github.com/sparklemotion/nokogiri/issues + +Please use the "Bug Report" or "Installation Difficulties" templates. + + +### Security and Vulnerability Reporting + +Please report vulnerabilities at https://hackerone.com/nokogiri + +Full information and description of our security policy is in [`SECURITY.md`](SECURITY.md) + + +### Semantic Versioning Policy + +Nokogiri follows [Semantic Versioning](https://semver.org/) (since 2017 or so). [![Dependabot's SemVer compatibility score for Nokogiri](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=nokogiri&package-manager=bundler&previous-version=1.11.7&new-version=1.12.5)](https://docs.github.com/en/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-dependabot-security-updates#about-compatibility-scores) + +We bump `Major.Minor.Patch` versions following this guidance: + +`Major`: (we've never done this) + +- Significant backwards-incompatible changes to the public API that would require rewriting existing application code. +- Some examples of backwards-incompatible changes we might someday consider for a Major release are at [`ROADMAP.md`](ROADMAP.md). + +`Minor`: + +- Features and bugfixes. +- Updating packaged libraries for non-security-related reasons. +- Dropping support for EOLed Ruby versions. [Some folks find this objectionable](https://github.com/sparklemotion/nokogiri/issues/1568), but [SemVer says this is OK if the public API hasn't changed](https://semver.org/#what-should-i-do-if-i-update-my-own-dependencies-without-changing-the-public-api). +- Backwards-incompatible changes to internal or private methods and constants. These are detailed in the "Changes" section of each changelog entry. +- Removal of deprecated methods or parameters, after a generous transition period; usually when those methods or parameters are rarely-used or dangerous to the user. Essentially, removals that do not justify a major version bump. + + +`Patch`: + +- Bugfixes. +- Security updates. +- Updating packaged libraries for security-related reasons. + + +### Sponsorship + +You can help sponsor the maintainers of this software through one of these organizations: + +- [github.com/sponsors/flavorjones](https://github.com/sponsors/flavorjones) +- [opencollective.com/nokogiri](https://opencollective.com/nokogiri) +- [tidelift.com/subscription/pkg/rubygems-nokogiri](https://tidelift.com/subscription/pkg/rubygems-nokogiri?utm_source=rubygems-nokogiri&utm_medium=referral&utm_campaign=readme) + + +## Installation + +Requirements: + +- Ruby >= 3.1 +- JRuby >= 9.4.0.0 + +If you are compiling the native extension against a system version of libxml2: + +- libxml2 >= 2.9.2 (recommended >= 2.12.0) + + +### Native Gems: Faster, more reliable installation + +"Native gems" contain pre-compiled libraries for a specific machine architecture. On supported platforms, this removes the need for compiling the C extension and the packaged libraries, or for system dependencies to exist. This results in **much faster installation** and **more reliable installation**, which as you probably know are the biggest headaches for Nokogiri users. + +### Supported Platforms + +Nokogiri ships pre-compiled, "native" gems for the following platforms: + +- Linux: + - `x86_64-linux-gnu`, `aarch64-linux-gnu`, and `arm-linux-gnu` (req: `glibc >= 2.29`) + - `x86_64-linux-musl`, `aarch64-linux-musl`, and `arm-linux-musl` +- Darwin/MacOS: `x86_64-darwin` and `arm64-darwin` +- Windows: `x64-mingw-ucrt` +- Java: any platform running JRuby 9.4 or higher + +To determine whether your system supports one of these gems, look at the output of `bundle platform` or `ruby -e 'puts Gem::Platform.local.to_s'`. + +If you're on a supported platform, either `gem install` or `bundle install` should install a native gem without any additional action on your part. This installation should only take a few seconds, and your output should look something like: + +``` sh +$ gem install nokogiri +Fetching nokogiri-1.11.0-x86_64-linux.gem +Successfully installed nokogiri-1.11.0-x86_64-linux +1 gem installed +``` + + +### Other Installation Options + +Because Nokogiri is a C extension, it requires that you have a C compiler toolchain, Ruby development header files, and some system dependencies installed. + +The following may work for you if you have an appropriately-configured system: + +``` bash +gem install nokogiri +``` + +If you have any issues, please visit [Installing Nokogiri](https://nokogiri.org/tutorials/installing_nokogiri.html) for more complete instructions and troubleshooting. + + +## How To Use Nokogiri + +Nokogiri is a large library, and so it's challenging to briefly summarize it. We've tried to provide long, real-world examples at [Tutorials](https://nokogiri.org/tutorials/toc.html). + +### Parsing and Querying + +Here is example usage for parsing and querying a document: + +```ruby +#! /usr/bin/env ruby + +require 'nokogiri' +require 'open-uri' + +# Fetch and parse HTML document +doc = Nokogiri::HTML(URI.open('https://nokogiri.org/tutorials/installing_nokogiri.html')) + +# Search for nodes by css +doc.css('nav ul.menu li a', 'article h2').each do |link| + puts link.content +end + +# Search for nodes by xpath +doc.xpath('//nav//ul//li/a', '//article//h2').each do |link| + puts link.content +end + +# Or mix and match +doc.search('nav ul.menu li a', '//article//h2').each do |link| + puts link.content +end +``` + + +### Encoding + +Strings are always stored as UTF-8 internally. Methods that return +text values will always return UTF-8 encoded strings. Methods that +return a string containing markup (like `to_xml`, `to_html` and +`inner_html`) will return a string encoded like the source document. + +__WARNING__ + +Some documents declare one encoding, but actually use a different +one. In these cases, which encoding should the parser choose? + +Data is just a stream of bytes. Humans add meaning to that stream. Any +particular set of bytes could be valid characters in multiple +encodings, so detecting encoding with 100% accuracy is not +possible. `libxml2` does its best, but it can't be right all the time. + +If you want Nokogiri to handle the document encoding properly, your +best bet is to explicitly set the encoding. Here is an example of +explicitly setting the encoding to EUC-JP on the parser: + +```ruby + doc = Nokogiri.XML('', nil, 'EUC-JP') +``` + + +## Technical Overview + +### Guiding Principles + +As noted above, two guiding principles of the software are: + +- be secure-by-default by treating all documents as **untrusted** by default +- be a **thin-as-reasonable layer** on top of the underlying parsers, and don't attempt to fix behavioral differences between the parsers + +Notably, despite all parsers being standards-compliant, there are behavioral inconsistencies between the parsers used in the CRuby and JRuby implementations, and Nokogiri does not and should not attempt to remove these inconsistencies. Instead, we surface these differences in the test suite when they are important/semantic; or we intentionally write tests to depend only on the important/semantic bits (omitting whitespace from regex matchers on results, for example). + + +### CRuby + +The Ruby (a.k.a., CRuby, MRI, YARV) implementation is a C extension that depends on libxml2 and libxslt (which in turn depend on zlib and possibly libiconv). + +These dependencies are met by default by Nokogiri's packaged versions of the libxml2 and libxslt source code, but a configuration option `--use-system-libraries` is provided to allow specification of alternative library locations. See [Installing Nokogiri](https://nokogiri.org/tutorials/installing_nokogiri.html) for full documentation. + +We provide native gems by pre-compiling libxml2 and libxslt (and potentially zlib and libiconv) and packaging them into the gem file. In this case, no compilation is necessary at installation time, which leads to faster and more reliable installation. + +See [`LICENSE-DEPENDENCIES.md`](LICENSE-DEPENDENCIES.md) for more information on which dependencies are provided in which native and source gems. + + +### JRuby + +The Java (a.k.a. JRuby) implementation is a Java extension that depends primarily on Xerces and NekoHTML for parsing, though additional dependencies are on `isorelax`, `nekodtd`, `jing`, `serializer`, `xalan-j`, and `xml-apis`. + +These dependencies are provided by pre-compiled jar files packaged in the `java` platform gem. + +See [`LICENSE-DEPENDENCIES.md`](LICENSE-DEPENDENCIES.md) for more information on which dependencies are provided in which native and source gems. + + +## Contributing + +See [`CONTRIBUTING.md`](CONTRIBUTING.md) for an intro guide to developing Nokogiri. + + +## Code of Conduct + +We've adopted the Contributor Covenant code of conduct, which you can read in full in [`CODE_OF_CONDUCT.md`](CODE_OF_CONDUCT.md). + + +## License + +This project is licensed under the terms of the MIT license. + +See this license at [`LICENSE.md`](LICENSE.md). + + +### Dependencies + +Some additional libraries may be distributed with your version of Nokogiri. Please see [`LICENSE-DEPENDENCIES.md`](LICENSE-DEPENDENCIES.md) for a discussion of the variations as well as the licenses thereof. + + +## Authors + +- Mike Dalessio +- Aaron Patterson +- Yoko Harada +- Akinori MUSHA +- John Shahid +- Karol Bucek +- Sam Ruby +- Craig Barnes +- Stephen Checkoway +- Lars Kanis +- Sergio Arbeo +- Timothy Elliott +- Nobuyoshi Nakada diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/bin/nokogiri b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/bin/nokogiri new file mode 100755 index 0000000..04a5cea --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/bin/nokogiri @@ -0,0 +1,131 @@ +#!/usr/bin/env ruby +# frozen_string_literal: true + +require "optparse" +require "open-uri" +require "uri" +require "rubygems" +require "nokogiri" +autoload :IRB, "irb" + +parse_class = Nokogiri +encoding = nil + +# This module provides some tunables with the nokogiri CLI for use in +# your ~/.nokogirirc. +module Nokogiri + module CLI + class << self + # Specify the console engine, defaulted to IRB. + # + # call-seq: + # require 'pry' + # Nokogiri::CLI.console = Pry + attr_writer :console + + def console + case @console + when Symbol + Kernel.const_get(@console) + else + @console + end + end + + attr_accessor :rcfile + end + + self.rcfile = File.expand_path("~/.nokogirirc") + self.console = :IRB + end +end + +def safe_read(uri_or_path) + uri = URI.parse(uri_or_path) + case uri + when URI::HTTP + uri.read + when URI::File + File.read(uri.path) + else + File.read(uri_or_path) + end +end + +opts = OptionParser.new do |opts| + opts.banner = "Nokogiri: an HTML, XML, SAX, and Reader parser" + opts.define_head("Usage: nokogiri [options]") + opts.separator("") + opts.separator("Examples:") + opts.separator(" nokogiri https://www.ruby-lang.org/") + opts.separator(" nokogiri ./public/index.html") + opts.separator(" curl -s http://www.nokogiri.org | nokogiri -e'p $_.css(\"h1\").length'") + opts.separator("") + opts.separator("Options:") + + opts.on("--type type", "Parse as type: xml or html (default: auto)", [:xml, :html]) do |v| + parse_class = { xml: Nokogiri::XML, html: Nokogiri::HTML }[v] + end + + opts.on("-C file", "Specifies initialization file to load (default #{Nokogiri::CLI.rcfile})") do |v| + Nokogiri::CLI.rcfile = v + end + + opts.on("-E", "--encoding encoding", "Read as encoding (default: #{encoding || "none"})") do |v| + encoding = v + end + + opts.on("-e command", "Specifies script from command-line.") do |v| + @script = v + end + + opts.on("--rng ", "Validate using this rng file.") do |v| + @rng = Nokogiri::XML::RelaxNG(safe_read(v)) + end + + opts.on_tail("-?", "--help", "Show this message") do + puts opts + exit + end + + opts.on_tail("-v", "--version", "Show version") do + puts Nokogiri::VersionInfo.instance.to_markdown + exit + end +end +opts.parse! + +url = ARGV.shift + +if url.to_s.strip.empty? && $stdin.tty? + puts opts + exit 1 +end + +if File.file?(Nokogiri::CLI.rcfile) + load Nokogiri::CLI.rcfile +end + +@doc = if url || $stdin.tty? + parse_class.parse(safe_read(url), url, encoding) +else + parse_class.parse($stdin, nil, encoding) +end + +$_ = @doc + +if @rng + @rng.validate(@doc).each do |error| + puts error.message + end +elsif @script + begin + eval(@script, binding, "
    ") # rubocop:disable Security/Eval + rescue Exception => e # rubocop:disable Lint/RescueException + warn("ERROR: Exception raised while evaluating '#{@script}'") + raise e + end +else + puts "Your document is stored in @doc..." + Nokogiri::CLI.console.start +end diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/dependencies.yml b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/dependencies.yml new file mode 100644 index 0000000..a6b5264 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/dependencies.yml @@ -0,0 +1,31 @@ +--- +libxml2: + version: "2.13.9" + sha256: "a2c9ae7b770da34860050c309f903221c67830c86e4a7e760692b803df95143a" + # sha-256 hash provided in https://download.gnome.org/sources/libxml2/2.13/libxml2-2.13.9.sha256sum + +libxslt: + version: "1.1.43" + sha256: "5a3d6b383ca5afc235b171118e90f5ff6aa27e9fea3303065231a6d403f0183a" + # sha-256 hash provided in https://download.gnome.org/sources/libxslt/1.1/libxslt-1.1.43.sha256sum + +zlib: + version: "1.3.1" + sha256: "9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23" + # SHA-256 hash provided on http://zlib.net/ + +libiconv: + # $ gpg --keyserver keyserver.ubuntu.com --recv 9001B85AF9E1B83DF1BDA942F5BE8B267C6A406D + # gpg: key F5BE8B267C6A406D: public key "Bruno Haible (Open Source Development) " imported + # gpg: Total number processed: 1 + # gpg: imported: 1 + # $ gpg --verify libiconv-1.18.tar.gz.sig ports/archives/libiconv-1.18.tar.gz + # gpg: Signature made Sun 15 Dec 2024 07:26:18 AM EST + # gpg: using RSA key 9001B85AF9E1B83DF1BDA942F5BE8B267C6A406D + # gpg: Good signature from "Bruno Haible (Open Source Development) " [expired] + # gpg: Note: This key has expired! + # Primary key fingerprint: 9001 B85A F9E1 B83D F1BD A942 F5BE 8B26 7C6A 406D + # $ sha256sum ports/archives/libiconv-1.18.tar.gz + # 3b08f5f4f9b4eb82f151a7040bfd6fe6c6fb922efe4b1659c66ea933276965e8 ports/archives/libiconv-1.18.tar.gz + version: "1.18" + sha256: "3b08f5f4f9b4eb82f151a7040bfd6fe6c6fb922efe4b1659c66ea933276965e8" diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/depend b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/depend new file mode 100644 index 0000000..24f5908 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/depend @@ -0,0 +1,38 @@ +# -*-makefile-*- +# DO NOT DELETE + +gumbo.o: $(srcdir)/nokogiri.h +html_document.o: $(srcdir)/nokogiri.h +html_element_description.o: $(srcdir)/nokogiri.h +html_entity_lookup.o: $(srcdir)/nokogiri.h +html_sax_parser_context.o: $(srcdir)/nokogiri.h +html_sax_push_parser.o: $(srcdir)/nokogiri.h +libxml2_backwards_compat.o: $(srcdir)/nokogiri.h +nokogiri.o: $(srcdir)/nokogiri.h +test_global_handlers.o: $(srcdir)/nokogiri.h +xml_attr.o: $(srcdir)/nokogiri.h +xml_attribute_decl.o: $(srcdir)/nokogiri.h +xml_cdata.o: $(srcdir)/nokogiri.h +xml_comment.o: $(srcdir)/nokogiri.h +xml_document.o: $(srcdir)/nokogiri.h +xml_document_fragment.o: $(srcdir)/nokogiri.h +xml_dtd.o: $(srcdir)/nokogiri.h +xml_element_content.o: $(srcdir)/nokogiri.h +xml_element_decl.o: $(srcdir)/nokogiri.h +xml_encoding_handler.o: $(srcdir)/nokogiri.h +xml_entity_decl.o: $(srcdir)/nokogiri.h +xml_entity_reference.o: $(srcdir)/nokogiri.h +xml_namespace.o: $(srcdir)/nokogiri.h +xml_node.o: $(srcdir)/nokogiri.h +xml_node_set.o: $(srcdir)/nokogiri.h +xml_processing_instruction.o: $(srcdir)/nokogiri.h +xml_reader.o: $(srcdir)/nokogiri.h +xml_relax_ng.o: $(srcdir)/nokogiri.h +xml_sax_parser.o: $(srcdir)/nokogiri.h +xml_sax_parser_context.o: $(srcdir)/nokogiri.h +xml_sax_push_parser.o: $(srcdir)/nokogiri.h +xml_schema.o: $(srcdir)/nokogiri.h +xml_syntax_error.o: $(srcdir)/nokogiri.h +xml_text.o: $(srcdir)/nokogiri.h +xml_xpath_context.o: $(srcdir)/nokogiri.h +xslt_stylesheet.o: $(srcdir)/nokogiri.h diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/extconf.rb b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/extconf.rb new file mode 100644 index 0000000..2a8ba4e --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/extconf.rb @@ -0,0 +1,1165 @@ +# frozen_string_literal: true + +# rubocop:disable Style/GlobalVars + +ENV["RC_ARCHS"] = "" if RUBY_PLATFORM.include?("darwin") + +require "mkmf" +require "rbconfig" +require "fileutils" +require "shellwords" +require "pathname" + +# helpful constants +PACKAGE_ROOT_DIR = File.expand_path(File.join(File.dirname(__FILE__), "..", "..")) +REQUIRED_LIBXML_VERSION = "2.9.2" +RECOMMENDED_LIBXML_VERSION = "2.12.0" + +REQUIRED_MINI_PORTILE_VERSION = "~> 2.8.2" # keep this version in sync with the one in the gemspec +REQUIRED_PKG_CONFIG_VERSION = "~> 1.1" + +# Keep track of what versions of what libraries we build against +OTHER_LIBRARY_VERSIONS = {} + +NOKOGIRI_HELP_MESSAGE = <<~HELP + USAGE: ruby #{$PROGRAM_NAME} [options] + + Flags that are always valid: + + --use-system-libraries + --enable-system-libraries + Use system libraries instead of building and using the packaged libraries. + + --disable-system-libraries + Use the packaged libraries, and ignore the system libraries. This is the default on most + platforms, and overrides `--use-system-libraries` and the environment variable + `NOKOGIRI_USE_SYSTEM_LIBRARIES`. + + --disable-clean + Do not clean out intermediate files after successful build. + + --prevent-strip + Take steps to prevent stripping the symbol table and debugging info from the shared + library, potentially overriding RbConfig's CFLAGS/LDFLAGS/DLDFLAGS. + + + Flags only used when using system libraries: + + General: + + --with-opt-dir=DIRECTORY + Look for headers and libraries in DIRECTORY. + + --with-opt-lib=DIRECTORY + Look for libraries in DIRECTORY. + + --with-opt-include=DIRECTORY + Look for headers in DIRECTORY. + + + Related to libxml2: + + --with-xml2-dir=DIRECTORY + Look for xml2 headers and library in DIRECTORY. + + --with-xml2-lib=DIRECTORY + Look for xml2 library in DIRECTORY. + + --with-xml2-include=DIRECTORY + Look for xml2 headers in DIRECTORY. + + --with-xml2-source-dir=DIRECTORY + (dev only) Build libxml2 from the source code in DIRECTORY + + --disable-xml2-legacy + Do not build libxml2 with zlib, liblzma, or HTTP support. This will become the default + in a future version of Nokogiri. + + + Related to libxslt: + + --with-xslt-dir=DIRECTORY + Look for xslt headers and library in DIRECTORY. + + --with-xslt-lib=DIRECTORY + Look for xslt library in DIRECTORY. + + --with-xslt-include=DIRECTORY + Look for xslt headers in DIRECTORY. + + --with-xslt-source-dir=DIRECTORY + (dev only) Build libxslt from the source code in DIRECTORY + + + Related to libexslt: + + --with-exslt-dir=DIRECTORY + Look for exslt headers and library in DIRECTORY. + + --with-exslt-lib=DIRECTORY + Look for exslt library in DIRECTORY. + + --with-exslt-include=DIRECTORY + Look for exslt headers in DIRECTORY. + + + Related to iconv: + + --with-iconv-dir=DIRECTORY + Look for iconv headers and library in DIRECTORY. + + --with-iconv-lib=DIRECTORY + Look for iconv library in DIRECTORY. + + --with-iconv-include=DIRECTORY + Look for iconv headers in DIRECTORY. + + + Related to zlib (ignored if `--disable-xml2-legacy` is used): + + --with-zlib-dir=DIRECTORY + Look for zlib headers and library in DIRECTORY. + + --with-zlib-lib=DIRECTORY + Look for zlib library in DIRECTORY. + + --with-zlib-include=DIRECTORY + Look for zlib headers in DIRECTORY. + + + Flags only used when building and using the packaged libraries: + + --disable-static + Do not statically link packaged libraries, instead use shared libraries. + + --enable-cross-build + Enable cross-build mode. (You probably do not want to set this manually.) + + + Environment variables used: + + NOKOGIRI_USE_SYSTEM_LIBRARIES + Equivalent to `--enable-system-libraries` when set, even if nil or blank. + + AR + Use this path to invoke the library archiver instead of `RbConfig::CONFIG['AR']` + + CC + Use this path to invoke the compiler instead of `RbConfig::CONFIG['CC']` + + CPPFLAGS + If this string is accepted by the C preprocessor, add it to the flags passed to the C preprocessor + + CFLAGS + If this string is accepted by the compiler, add it to the flags passed to the compiler + + LD + Use this path to invoke the linker instead of `RbConfig::CONFIG['LD']` + + LDFLAGS + If this string is accepted by the linker, add it to the flags passed to the linker + + LIBS + Add this string to the flags passed to the linker +HELP + +# +# utility functions +# +def config_clean? + enable_config("clean", true) +end + +def config_static? + default_static = !truffle? + enable_config("static", default_static) +end + +def config_cross_build? + enable_config("cross-build") +end + +def config_system_libraries? + enable_config("system-libraries", ENV.key?("NOKOGIRI_USE_SYSTEM_LIBRARIES")) do |_, default| + arg_config("--use-system-libraries", default) + end +end + +def config_with_xml2_legacy? + enable_config("xml2-legacy", true) +end + +def windows? + RbConfig::CONFIG["target_os"].match?(/mingw|mswin/) +end + +def solaris? + RbConfig::CONFIG["target_os"].include?("solaris") +end + +def darwin? + RbConfig::CONFIG["target_os"].include?("darwin") +end + +def openbsd? + RbConfig::CONFIG["target_os"].include?("openbsd") +end + +def aix? + RbConfig::CONFIG["target_os"].include?("aix") +end + +def unix? + !(windows? || solaris? || darwin?) +end + +def nix? + ENV.key?("NIX_CC") +end + +def truffle? + RUBY_ENGINE == "truffleruby" +end + +def concat_flags(*args) + args.compact.join(" ") +end + +def local_have_library(lib, func = nil, headers = nil) + have_library(lib, func, headers) || have_library("lib#{lib}", func, headers) +end + +def zlib_source(version_string) + # As of 2022-12, I'm starting to see failed downloads often enough from zlib.net that I want to + # change the default to github. + if ENV["NOKOGIRI_USE_CANONICAL_ZLIB_SOURCE"] + "https://zlib.net/fossils/zlib-#{version_string}.tar.gz" + else + "https://github.com/madler/zlib/releases/download/v#{version_string}/zlib-#{version_string}.tar.gz" + end +end + +def gnome_source + "https://download.gnome.org" +end + +LOCAL_PACKAGE_RESPONSE = Object.new +def LOCAL_PACKAGE_RESPONSE.%(package) + package ? "yes: #{package}" : "no" +end + +# wrapper around MakeMakefil#pkg_config and the PKGConfig gem +def try_package_configuration(pc) + unless ENV.key?("NOKOGIRI_TEST_PKG_CONFIG_GEM") + # try MakeMakefile#pkg_config, which uses the system utility `pkg-config`. + return if checking_for("#{pc} using `pkg_config`", LOCAL_PACKAGE_RESPONSE) do + pkg_config(pc) + end + end + + # `pkg-config` probably isn't installed, which appears to be the case for lots of freebsd systems. + # let's fall back to the pkg-config gem, which knows how to parse .pc files, and wrap it with the + # same logic as MakeMakefile#pkg_config + begin + require "rubygems" + gem("pkg-config", REQUIRED_PKG_CONFIG_VERSION) + require "pkg-config" + + checking_for("#{pc} using pkg-config gem version #{PKGConfig::VERSION}", LOCAL_PACKAGE_RESPONSE) do + if PKGConfig.have_package(pc) + cflags = PKGConfig.cflags(pc) + ldflags = PKGConfig.libs_only_L(pc) + libs = PKGConfig.libs_only_l(pc) + + Logging.message("pkg-config gem found package configuration for %s\n", pc) + Logging.message("cflags: %s\nldflags: %s\nlibs: %s\n\n", cflags, ldflags, libs) + + [cflags, ldflags, libs] + end + end + rescue LoadError + message("Please install either the `pkg-config` utility or the `pkg-config` rubygem.\n") + end +end + +# set up mkmf to link against the library if we can find it +def have_package_configuration(opt: nil, pc: nil, lib:, func:, headers:) + if opt + dir_config(opt) + dir_config("opt") + end + + # see if we have enough path info to do this without trying any harder + unless ENV.key?("NOKOGIRI_TEST_PKG_CONFIG") + return true if local_have_library(lib, func, headers) + end + + try_package_configuration(pc) if pc + + # verify that we can compile and link against the library + local_have_library(lib, func, headers) +end + +def ensure_package_configuration(opt: nil, pc: nil, lib:, func:, headers:) + have_package_configuration(opt: opt, pc: pc, lib: lib, func: func, headers: headers) || + abort_could_not_find_library(lib) +end + +def ensure_func(func, headers = nil) + have_func(func, headers) || abort_could_not_find_library(func) +end + +def preserving_globals + values = [$arg_config, $INCFLAGS, $CFLAGS, $CPPFLAGS, $LDFLAGS, $DLDFLAGS, $LIBPATH, $libs].map(&:dup) + yield +ensure + $arg_config, $INCFLAGS, $CFLAGS, $CPPFLAGS, $LDFLAGS, $DLDFLAGS, $LIBPATH, $libs = values +end + +def abort_could_not_find_library(lib) + callers = caller(1..2).join("\n") + abort("-----\n#{callers}\n#{lib} is missing. Please locate mkmf.log to investigate how it is failing.\n-----") +end + +def chdir_for_build(&block) + # When using rake-compiler-dock on Windows, the underlying Virtualbox shared + # folders don't support symlinks, but libiconv expects it for a build on + # Linux. We work around this limitation by using the temp dir for cooking. + build_dir = /mingw|mswin|cygwin/.match?(ENV["RCD_HOST_RUBY_PLATFORM"].to_s) ? "/tmp" : "." + Dir.chdir(build_dir, &block) +end + +def sh_export_path(path) + # because libxslt 1.1.29 configure.in uses AC_PATH_TOOL which treats ":" + # as a $PATH separator, we need to convert windows paths from + # + # C:/path/to/foo + # + # to + # + # /C/path/to/foo + # + # which is sh-compatible, in order to find things properly during + # configuration + return path unless windows? + + match = Regexp.new("^([A-Z]):(/.*)").match(path) + if match && match.length == 3 + return File.join("/", match[1], match[2]) + end + + path +end + +def libflag_to_filename(ldflag) + case ldflag + when /\A-l(.+)/ + "lib#{Regexp.last_match(1)}.#{$LIBEXT}" + end +end + +def have_libxml_headers?(version = nil) + source = if version.nil? + <<~SRC + #include + SRC + else + version_int = format("%d%2.2d%2.2d", *version.split(".")) + <<~SRC + #include + #if LIBXML_VERSION < #{version_int} + # error libxml2 is older than #{version} + #endif + SRC + end + + try_cpp(source) +end + +def try_link_iconv(using = nil) + checking_for(using ? "iconv using #{using}" : "iconv") do + ["", "-liconv"].any? do |opt| + preserving_globals do + yield if block_given? + + try_link(<<~SRC, opt) + #include + #include + int main(void) + { + iconv_t cd = iconv_open("", ""); + iconv(cd, NULL, NULL, NULL, NULL); + return EXIT_SUCCESS; + } + SRC + end + end + end +end + +def iconv_configure_flags + # give --with-iconv-dir and --with-opt-dir first priority + ["iconv", "opt"].each do |target| + config = preserving_globals { dir_config(target) } + next unless config.any? && try_link_iconv("--with-#{target}-* flags") { dir_config(target) } + + idirs, ldirs = config.map do |dirs| + Array(dirs).flat_map do |dir| + dir.split(File::PATH_SEPARATOR) + end if dirs + end + + return [ + "--with-iconv=yes", + *("CPPFLAGS=#{idirs.map { |dir| "-I" + dir }.join(" ")}" if idirs), + *("LDFLAGS=#{ldirs.map { |dir| "-L" + dir }.join(" ")}" if ldirs), + ] + end + + if try_link_iconv + return ["--with-iconv=yes"] + end + + config = preserving_globals { pkg_config("libiconv") } + if config && try_link_iconv("pkg-config libiconv") { pkg_config("libiconv") } + cflags, ldflags, libs = config + + return [ + "--with-iconv=yes", + "CPPFLAGS=#{cflags}", + "LDFLAGS=#{ldflags}", + "LIBS=#{libs}", + ] + end + + abort_could_not_find_library("libiconv") +end + +def process_recipe(name, version, static_p, cross_p, cacheable_p = true) + require "rubygems" + gem("mini_portile2", REQUIRED_MINI_PORTILE_VERSION) # gemspec is not respected at install time + require "mini_portile2" + message("Using mini_portile version #{MiniPortile::VERSION}\n") + + unless ["libxml2", "libxslt"].include?(name) + OTHER_LIBRARY_VERSIONS[name] = version + end + + MiniPortile.new(name, version).tap do |recipe| + def recipe.port_path + "#{@target}/#{RUBY_PLATFORM}/#{@name}/#{@version}" + end + + # We use 'host' to set compiler prefix for cross-compiling. Prefer host_alias over host. And + # prefer i686 (what external dev tools use) to i386 (what ruby's configure.ac emits). + recipe.host = RbConfig::CONFIG["host_alias"].empty? ? RbConfig::CONFIG["host"] : RbConfig::CONFIG["host_alias"] + recipe.host = recipe.host.gsub("i386", "i686") + + recipe.target = File.join(PACKAGE_ROOT_DIR, "ports") if cacheable_p + recipe.configure_options << "--libdir=#{File.join(recipe.path, "lib")}" + + yield recipe + + env = Hash.new do |hash, key| + hash[key] = (ENV[key]).to_s + end + + recipe.configure_options.flatten! + + recipe.configure_options.delete_if do |option| + case option + when /\A(\w+)=(.*)\z/ + env[Regexp.last_match(1)] = if env.key?(Regexp.last_match(1)) + concat_flags(env[Regexp.last_match(1)], Regexp.last_match(2)) + else + Regexp.last_match(2) + end + true + else + false + end + end + + if static_p + recipe.configure_options += [ + "--disable-shared", + "--enable-static", + ] + env["CFLAGS"] = concat_flags(env["CFLAGS"], "-fPIC") + else + recipe.configure_options += [ + "--enable-shared", + "--disable-static", + ] + end + + if cross_p + recipe.configure_options += [ + "--target=#{recipe.host}", + "--host=#{recipe.host}", + ] + end + + if RbConfig::CONFIG["target_cpu"] == "universal" + ["CFLAGS", "LDFLAGS"].each do |key| + unless env[key].include?("-arch") + env[key] = concat_flags(env[key], RbConfig::CONFIG["ARCH_FLAG"]) + end + end + end + + recipe.configure_options += env.map do |key, value| + "#{key}=#{value.strip}" + end + + checkpoint = "#{recipe.target}/#{recipe.name}-#{recipe.version}-#{RUBY_PLATFORM}.installed" + if File.exist?(checkpoint) && !recipe.source_directory + message("Building Nokogiri with a packaged version of #{name}-#{version}.\n") + else + message(<<~EOM) + ---------- IMPORTANT NOTICE ---------- + Building Nokogiri with a packaged version of #{name}-#{version}. + Configuration options: #{recipe.configure_options.shelljoin} + EOM + + unless recipe.patch_files.empty? + message("The following patches are being applied:\n") + + recipe.patch_files.each do |patch| + message(format(" - %s\n", File.basename(patch))) + end + end + + message(<<~EOM) if name != "libgumbo" + + The Nokogiri maintainers intend to provide timely security updates, but if + this is a concern for you and want to use your OS/distro system library + instead, then abort this installation process and install nokogiri as + instructed at: + + https://nokogiri.org/tutorials/installing_nokogiri.html#installing-using-standard-system-libraries + + EOM + + message(<<~EOM) if name == "libxml2" + Note, however, that nokogiri cannot guarantee compatibility with every + version of libxml2 that may be provided by OS/package vendors. + + EOM + + chdir_for_build { recipe.cook } + FileUtils.touch(checkpoint) + end + recipe.activate + end +end + +def copy_packaged_libraries_headers(to_path:, from_recipes:) + FileUtils.rm_rf(to_path, secure: true) + FileUtils.mkdir(to_path) + from_recipes.each do |recipe| + FileUtils.cp_r(Dir[File.join(recipe.path, "include/*")], to_path) + end +end + +def do_help + print(NOKOGIRI_HELP_MESSAGE) + exit!(0) +end + +def do_clean + root = Pathname(PACKAGE_ROOT_DIR) + pwd = Pathname(Dir.pwd) + + # Skip if this is a development work tree + unless (root + ".git").exist? + message("Cleaning files only used during build.\n") + + # (root + 'tmp') cannot be removed at this stage because + # nokogiri.so is yet to be copied to lib. + + # clean the ports build directory + Pathname.glob(pwd.join("tmp", "*", "ports")) do |dir| + FileUtils.rm_rf(dir, verbose: true) + end + + if config_static? + # ports installation can be safely removed if statically linked. + FileUtils.rm_rf(root + "ports", verbose: true) + else + FileUtils.rm_rf(root + "ports" + "archives", verbose: true) + end + end + + exit!(0) +end + +# In ruby 3.2, symbol resolution changed on Darwin, to introduce the `-bundle_loader` flag to +# resolve symbols against the ruby binary. +# +# This makes it challenging to build a single extension that works with both a ruby with +# `--enable-shared` and one with `--disable-shared. To work around that, we choose to add +# `-flat_namespace` to the link line (later in this file). +# +# The `-flat_namespace` line introduces its own behavior change, which is that (similar to on +# Linux), any symbols in the extension that are exported may now be resolved by shared libraries +# loaded by the Ruby process. Specifically, that means that libxml2 and libxslt, which are +# statically linked into the nokogiri bundle, will resolve (at runtime) to a system libxml2 loaded +# by Ruby on Darwin. And it appears that often Ruby on Darwin does indeed load the system libxml2, +# and that messes with our assumptions about whether we're running with a patched libxml2 or a +# vanilla libxml2. +# +# We choose to use `-load_hidden` in this case to prevent exporting those symbols from libxml2 and +# libxslt, which ensures that they will be resolved to the static libraries in the bundle. In other +# words, when we use `load_hidden`, what happens in the extension stays in the extension. +# +# See https://github.com/rake-compiler/rake-compiler-dock/issues/87 for more info. +# +# Anyway, this method is the logical bit to tell us when to turn on these workarounds. +def needs_darwin_linker_hack + config_cross_build? && + darwin? && + Gem::Requirement.new("~> 3.2").satisfied_by?(Gem::Version.new(RbConfig::CONFIG["ruby_version"].split("+").first)) +end + +# +# main +# +do_help if arg_config("--help") +do_clean if arg_config("--clean") + +if openbsd? && !config_system_libraries? + unless %x(#{ENV["CC"] || "/usr/bin/cc"} -v 2>&1).include?("clang") + (ENV["CC"] ||= find_executable("egcc")) || + abort("Please install gcc 4.9+ from ports using `pkg_add -v gcc`") + end + append_cppflags "-I/usr/local/include" +end + +if ENV["AR"] + RbConfig::CONFIG["AR"] = RbConfig::MAKEFILE_CONFIG["AR"] = ENV["AR"] +end + +if ENV["CC"] + RbConfig::CONFIG["CC"] = RbConfig::MAKEFILE_CONFIG["CC"] = ENV["CC"] +end + +if ENV["LD"] + RbConfig::CONFIG["LD"] = RbConfig::MAKEFILE_CONFIG["LD"] = ENV["LD"] +end + +# use same toolchain for libxml and libxslt +ENV["AR"] = RbConfig::CONFIG["AR"] +ENV["CC"] = RbConfig::CONFIG["CC"] +ENV["LD"] = RbConfig::CONFIG["LD"] + +if arg_config("--prevent-strip") + old_cflags = $CFLAGS.split.join(" ") + old_ldflags = $LDFLAGS.split.join(" ") + old_dldflags = $DLDFLAGS.split.join(" ") + $CFLAGS = $CFLAGS.split.reject { |flag| flag == "-s" }.join(" ") + $LDFLAGS = $LDFLAGS.split.reject { |flag| flag == "-s" }.join(" ") + $DLDFLAGS = $DLDFLAGS.split.reject { |flag| flag == "-s" }.join(" ") + puts "Prevent stripping by removing '-s' from $CFLAGS" if old_cflags != $CFLAGS + puts "Prevent stripping by removing '-s' from $LDFLAGS" if old_ldflags != $LDFLAGS + puts "Prevent stripping by removing '-s' from $DLDFLAGS" if old_dldflags != $DLDFLAGS +end + +# adopt environment config +append_cflags(ENV["CFLAGS"]) unless ENV["CFLAGS"].nil? +append_cppflags(ENV["CPPFLAGS"]) unless ENV["CPPFLAGS"].nil? +append_ldflags(ENV["LDFLAGS"]) unless ENV["LDFLAGS"].nil? +$LIBS = concat_flags($LIBS, ENV["LIBS"]) + +# libgumbo uses C90/C99 features, see #2302 +append_cflags(["-std=c99", "-Wno-declaration-after-statement"]) + +# gumbo html5 serialization is slower with O3, let's make sure we use O2 +append_cflags("-O2") + +# always include debugging information +append_cflags("-g") + +# we use at least one inline function in the C extension +append_cflags("-Winline") + +# good to have no matter what Ruby was compiled with +append_cflags("-Wmissing-noreturn") + +# check integer loss of precision. this flag won't generally work until Ruby 3.4. +# see https://bugs.ruby-lang.org/issues/20507 +append_cflags("-Wconversion") + +# handle clang variations, see #1101 +if darwin? + append_cflags("-Wno-error=unused-command-line-argument-hard-error-in-future") + append_cflags("-Wno-unknown-warning-option") +end + +# these tend to be noisy, but on occasion useful during development +# append_cflags(["-Wcast-qual", "-Wwrite-strings"]) + +# Add SDK-specific include path for macOS and brew versions before v2.2.12 (2020-04-08) [#1851, #1801] +macos_mojave_sdk_include_path = "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libxml2" +if config_system_libraries? && darwin? && Dir.exist?(macos_mojave_sdk_include_path) && !nix? + append_cppflags("-I#{macos_mojave_sdk_include_path}") +end + +# Work around a character escaping bug in MSYS by passing an arbitrary double-quoted parameter to gcc. +# See https://sourceforge.net/p/mingw/bugs/2142 +append_cppflags(' "-Idummypath"') if windows? + +if config_system_libraries? + message "Building nokogiri using system libraries.\n" + if config_with_xml2_legacy? + ensure_package_configuration( + opt: "zlib", + pc: "zlib", + lib: "z", + headers: "zlib.h", + func: "gzdopen", + ) + end + ensure_package_configuration( + opt: "xml2", + pc: "libxml-2.0", + lib: "xml2", + headers: "libxml/parser.h", + func: "xmlParseDoc", + ) + ensure_package_configuration( + opt: "xslt", + pc: "libxslt", + lib: "xslt", + headers: "libxslt/xslt.h", + func: "xsltParseStylesheetDoc", + ) + ensure_package_configuration( + opt: "exslt", + pc: "libexslt", + lib: "exslt", + headers: "libexslt/exslt.h", + func: "exsltFuncRegister", + ) + + have_libxml_headers?(REQUIRED_LIBXML_VERSION) || + abort("ERROR: libxml2 version #{REQUIRED_LIBXML_VERSION} or later is required!") + have_libxml_headers?(RECOMMENDED_LIBXML_VERSION) || + warn("WARNING: libxml2 version #{RECOMMENDED_LIBXML_VERSION} or later is highly recommended, but proceeding anyway.") + +else + message "Building nokogiri using packaged libraries.\n" + + static_p = config_static? + message "Static linking is #{static_p ? "enabled" : "disabled"}.\n" + + cross_build_p = config_cross_build? + message "Cross build is #{cross_build_p ? "enabled" : "disabled"}.\n" + + if needs_darwin_linker_hack + append_ldflags("-Wl,-flat_namespace") + end + + require "yaml" + dependencies = YAML.load_file(File.join(PACKAGE_ROOT_DIR, "dependencies.yml")) + + dir_config("zlib") if config_with_xml2_legacy? + + if cross_build_p || windows? + if config_with_xml2_legacy? + zlib_recipe = process_recipe("zlib", dependencies["zlib"]["version"], static_p, cross_build_p) do |recipe| + recipe.files = [{ + url: zlib_source(recipe.version), + sha256: dependencies["zlib"]["sha256"], + }] + if windows? + class << recipe + attr_accessor :cross_build_p + + def configure + Dir.chdir(work_path) do + mk = File.read("win32/Makefile.gcc") + File.open("win32/Makefile.gcc", "wb") do |f| + f.puts "BINARY_PATH = #{path}/bin" + f.puts "LIBRARY_PATH = #{path}/lib" + f.puts "INCLUDE_PATH = #{path}/include" + mk.sub!(/^PREFIX\s*=\s*$/, "PREFIX = #{host}-") if cross_build_p + f.puts mk + end + end + end + + def configured? + Dir.chdir(work_path) do + !!(File.read("win32/Makefile.gcc") =~ /^BINARY_PATH/) + end + end + + def compile + execute("compile", "make -f win32/Makefile.gcc") + end + + def install + execute("install", "make -f win32/Makefile.gcc install") + end + end + recipe.cross_build_p = cross_build_p + else + class << recipe + def configure + env = {} + env["CFLAGS"] = concat_flags(ENV["CFLAGS"], "-fPIC", "-g") + env["CHOST"] = host + execute("configure", ["./configure", "--static", configure_prefix], { env: env }) + if darwin? + # needed as of zlib 1.2.13 + Dir.chdir(work_path) do + makefile = File.read("Makefile").gsub(/^AR=.*$/, "AR=#{host}-libtool") + File.open("Makefile", "w") { |m| m.write(makefile) } + end + end + end + end + end + end + end + + unless unix? + libiconv_recipe = process_recipe( + "libiconv", + dependencies["libiconv"]["version"], + static_p, + cross_build_p, + ) do |recipe| + recipe.files = [{ + url: "https://ftpmirror.gnu.org/gnu/libiconv/#{recipe.name}-#{recipe.version}.tar.gz", + sha256: dependencies["libiconv"]["sha256"], + }] + + # The libiconv configure script doesn't accept "arm64" host string but "aarch64" + recipe.host = recipe.host.gsub("arm64-apple-darwin", "aarch64-apple-darwin") + + cflags = concat_flags(ENV["CFLAGS"], "-O2", "-g") + + recipe.configure_options += [ + "--disable-dependency-tracking", + "CPPFLAGS=-Wall", + "CFLAGS=#{cflags}", + "CXXFLAGS=#{cflags}", + "LDFLAGS=", + ] + end + end + elsif darwin? && !have_header("iconv.h") + abort(<<~EOM.chomp) + ----- + The file "iconv.h" is missing in your build environment, + which means you haven't installed Xcode Command Line Tools properly. + + To install Command Line Tools, try running `xcode-select --install` on + terminal and follow the instructions. If it fails, open Xcode.app, + select from the menu "Xcode" - "Open Developer Tool" - "More Developer + Tools" to open the developer site, download the installer for your OS + version and run it. + ----- + EOM + end + + if zlib_recipe + append_cppflags("-I#{zlib_recipe.path}/include") + $LIBPATH = ["#{zlib_recipe.path}/lib"] | $LIBPATH + ensure_package_configuration( + opt: "zlib", + pc: "zlib", + lib: "z", + headers: "zlib.h", + func: "gzdopen", + ) + end + + if libiconv_recipe + append_cppflags("-I#{libiconv_recipe.path}/include") + $LIBPATH = ["#{libiconv_recipe.path}/lib"] | $LIBPATH + ensure_package_configuration( + opt: "iconv", + pc: "iconv", + lib: "iconv", + headers: "iconv.h", + func: "iconv_open", + ) + end + + libxml2_recipe = process_recipe("libxml2", dependencies["libxml2"]["version"], static_p, cross_build_p) do |recipe| + source_dir = arg_config("--with-xml2-source-dir") + if source_dir + recipe.source_directory = source_dir + else + minor_version = Gem::Version.new(recipe.version).segments.take(2).join(".") + recipe.files = [{ + url: "#{gnome_source}/sources/libxml2/#{minor_version}/#{recipe.name}-#{recipe.version}.tar.xz", + sha256: dependencies["libxml2"]["sha256"], + }] + recipe.patch_files = Dir[File.join(PACKAGE_ROOT_DIR, "patches", "libxml2", "*.patch")].sort + end + + cppflags = concat_flags(ENV["CPPFLAGS"]) + cflags = concat_flags(ENV["CFLAGS"], "-O2", "-g") + + if cross_build_p + cppflags = concat_flags(cppflags, "-DNOKOGIRI_PRECOMPILED_LIBRARIES") + end + + if config_with_xml2_legacy? + recipe.configure_options << "--with-legacy" + end + + if zlib_recipe + recipe.configure_options << "--with-zlib=#{zlib_recipe.path}" + end + + if libiconv_recipe + recipe.configure_options << "--with-iconv=#{libiconv_recipe.path}" + else + recipe.configure_options += iconv_configure_flags + end + + if darwin? && !cross_build_p + recipe.configure_options << "RANLIB=/usr/bin/ranlib" unless ENV.key?("RANLIB") + recipe.configure_options << "AR=/usr/bin/ar" unless ENV.key?("AR") + end + + if windows? + cflags = concat_flags(cflags, "-ULIBXML_STATIC", "-DIN_LIBXML") + end + + recipe.configure_options << if source_dir + "--config-cache" + else + "--disable-dependency-tracking" + end + + recipe.configure_options += [ + "--without-python", + "--without-readline", + "--with-c14n", + "--with-debug", + "--with-threads", + "CPPFLAGS=#{cppflags}", + "CFLAGS=#{cflags}", + ] + end + + libxslt_recipe = process_recipe("libxslt", dependencies["libxslt"]["version"], static_p, cross_build_p) do |recipe| + source_dir = arg_config("--with-xslt-source-dir") + if source_dir + recipe.source_directory = source_dir + else + minor_version = Gem::Version.new(recipe.version).segments.take(2).join(".") + recipe.files = [{ + url: "#{gnome_source}/sources/libxslt/#{minor_version}/#{recipe.name}-#{recipe.version}.tar.xz", + sha256: dependencies["libxslt"]["sha256"], + }] + recipe.patch_files = Dir[File.join(PACKAGE_ROOT_DIR, "patches", "libxslt", "*.patch")].sort + end + + cflags = concat_flags(ENV["CFLAGS"], "-O2", "-g") + + if darwin? && !cross_build_p + recipe.configure_options << "RANLIB=/usr/bin/ranlib" unless ENV.key?("RANLIB") + recipe.configure_options << "AR=/usr/bin/ar" unless ENV.key?("AR") + end + + if windows? + cflags = concat_flags(cflags, "-ULIBXSLT_STATIC", "-DIN_LIBXSLT") + cflags = concat_flags(cflags, "-ULIBEXSLT_STATIC", "-DIN_LIBEXSLT") + end + + recipe.configure_options << if source_dir + "--config-cache" + else + "--disable-dependency-tracking" + end + + recipe.configure_options += [ + "--without-python", + "--without-crypto", + "--with-debug", + "--with-libxml-prefix=#{sh_export_path(libxml2_recipe.path)}", + "CFLAGS=#{cflags}", + ] + end + + append_cppflags("-DNOKOGIRI_PACKAGED_LIBRARIES") + append_cppflags("-DNOKOGIRI_PRECOMPILED_LIBRARIES") if cross_build_p + + $libs = $libs.shellsplit.tap do |libs| + [libxml2_recipe, libxslt_recipe].each do |recipe| + libname = recipe.name[/\Alib(.+)\z/, 1] + config_basename = "#{libname}-config" + File.join(recipe.path, "bin", config_basename).tap do |config| + # call config scripts explicit with 'sh' for compat with Windows + cflags = %x(sh #{config} --cflags).strip + message("#{config_basename} cflags: #{cflags}\n") + $CPPFLAGS = concat_flags(cflags, $CPPFLAGS) # prepend + + %x(sh #{config} --libs).strip.shellsplit.each do |arg| + case arg + when /\A-L(.+)\z/ + # Prioritize ports' directories + $LIBPATH = if Regexp.last_match(1).start_with?(PACKAGE_ROOT_DIR + "/") + [Regexp.last_match(1)] | $LIBPATH + else + $LIBPATH | [Regexp.last_match(1)] + end + when /\A-l./ + libs.unshift(arg) + else + $LDFLAGS << " " << arg.shellescape + end + end + end + + patches_string = recipe.patch_files.map { |path| File.basename(path) }.join(" ") + append_cppflags(%[-DNOKOGIRI_#{recipe.name.upcase}_PATCHES="\\"#{patches_string}\\""]) + + case libname + when "xml2" + # xslt-config --libs or pkg-config libxslt --libs does not include + # -llzma, so we need to add it manually when linking statically. + if static_p && preserving_globals { local_have_library("lzma") } + # Add it at the end; GH #988 + libs << "-llzma" + end + when "xslt" + # xslt-config does not have a flag to emit options including + # -lexslt, so add it manually. + libs.unshift("-lexslt") + end + end + end.shelljoin + + if static_p + static_archive_ld_flag = needs_darwin_linker_hack ? ["-load_hidden"] : [] + $libs = $libs.shellsplit.map do |arg| + case arg + when "-lxml2" + static_archive_ld_flag + [File.join(libxml2_recipe.path, "lib", libflag_to_filename(arg))] + when "-lxslt", "-lexslt" + static_archive_ld_flag + [File.join(libxslt_recipe.path, "lib", libflag_to_filename(arg))] + else + arg + end + end.flatten.shelljoin + end + + ensure_func("xmlParseDoc", "libxml/parser.h") + ensure_func("xsltParseStylesheetDoc", "libxslt/xslt.h") + ensure_func("exsltFuncRegister", "libexslt/exslt.h") +end + +if arg_config("--gumbo-dev") + message("DEV MODE ENABLED: build libgumbo as packaged source") + ext_dir = File.dirname(__FILE__) + Dir.chdir(ext_dir) do + $srcs = Dir["*.c", "../../gumbo-parser/src/*.c"] + $hdrs = Dir["*.h", "../../gumbo-parser/src/*.h"] + end + $INCFLAGS << " -I$(srcdir)/../../gumbo-parser/src" + $VPATH << "$(srcdir)/../../gumbo-parser/src" + find_header("nokogiri_gumbo.h") || abort("nokogiri_gumbo.h not found") +else + libgumbo_recipe = process_recipe("libgumbo", "1.0.0-nokogiri", static_p, cross_build_p, false) do |recipe| + recipe.configure_options = [] + + class << recipe + def downloaded? + true + end + + def extract + target = File.join(tmp_path, "gumbo-parser") + output("Copying gumbo-parser files into #{target}...") + FileUtils.mkdir_p(target) + FileUtils.cp(Dir.glob(File.join(PACKAGE_ROOT_DIR, "gumbo-parser/src/*")), target) + end + + def configured? + true + end + + def install + lib_dir = File.join(port_path, "lib") + inc_dir = File.join(port_path, "include") + FileUtils.mkdir_p([lib_dir, inc_dir]) + FileUtils.cp(File.join(work_path, "libgumbo.a"), lib_dir) + FileUtils.cp(Dir.glob(File.join(work_path, "*.h")), inc_dir) + end + + def compile + cflags = concat_flags(ENV["CFLAGS"], "-fPIC", "-O2", "-g") + + env = { "CC" => gcc_cmd, "CFLAGS" => cflags } + if config_cross_build? + if host.include?("darwin") + env["AR"] = "#{host}-libtool" + env["ARFLAGS"] = "-o" + else + env["AR"] = "#{host}-ar" + end + env["RANLIB"] = "#{host}-ranlib" + if windows? + concat_flags(env["CFLAGS"], "-D_RUBY_UCRT") + end + end + + execute("compile", make_cmd, { env: env }) + end + end + end + append_cppflags("-I#{File.join(libgumbo_recipe.path, "include")}") + $libs = $libs + " " + File.join(libgumbo_recipe.path, "lib", "libgumbo.a") + $LIBPATH = $LIBPATH | [File.join(libgumbo_recipe.path, "lib")] + ensure_func("gumbo_parse_with_options", "nokogiri_gumbo.h") +end + +have_func("xmlCtxtSetOptions") # introduced in libxml2 2.13.0 +have_func("xmlCtxtGetOptions") # introduced in libxml2 2.14.0 +have_func("xmlSwitchEncodingName") # introduced in libxml2 2.13.0 +have_func("rb_category_warning") # introduced in Ruby 3.0 but had trouble resolving this symbol in truffleruby + +other_library_versions_string = OTHER_LIBRARY_VERSIONS.map { |k, v| [k, v].join(":") }.join(",") +append_cppflags(%[-DNOKOGIRI_OTHER_LIBRARY_VERSIONS="\\"#{other_library_versions_string}\\""]) + +unless config_system_libraries? + if cross_build_p + # When precompiling native gems, copy packaged libraries' headers to ext/nokogiri/include + # These are packaged up by the cross-compiling callback in the ExtensionTask + copy_packaged_libraries_headers( + to_path: File.join(PACKAGE_ROOT_DIR, "ext/nokogiri/include"), + from_recipes: [libxml2_recipe, libxslt_recipe], + ) + else + # When compiling during installation, install packaged libraries' header files into ext/nokogiri/include + copy_packaged_libraries_headers( + to_path: "include", + from_recipes: [libxml2_recipe, libxslt_recipe], + ) + $INSTALLFILES << ["include/**/*.h", "$(rubylibdir)"] + end +end + +create_makefile("nokogiri/nokogiri") + +if config_clean? + # Do not clean if run in a development work tree. + File.open("Makefile", "at") do |mk| + mk.print(<<~EOF) + + all: clean-ports + clean-ports: $(TARGET_SO) + \t-$(Q)$(RUBY) $(srcdir)/extconf.rb --clean --#{static_p ? "enable" : "disable"}-static + EOF + end +end + +# rubocop:enable Style/GlobalVars diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/gumbo.c b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/gumbo.c new file mode 100644 index 0000000..fd938f3 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/gumbo.c @@ -0,0 +1,610 @@ +// +// Copyright 2013-2021 Sam Ruby, Stephen Checkoway +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +// +// nokogumbo.c defines the following: +// +// class Nokogumbo +// def parse(utf8_string) # returns Nokogiri::HTML5::Document +// end +// +// Processing starts by calling gumbo_parse_with_options. The resulting document tree +// is then walked, a parallel libxml2 tree is constructed, and the final document is +// then wrapped using noko_xml_document_wrap. This approach reduces memory and CPU +// requirements as Ruby objects are only built when necessary. +// + +#include + +#include "nokogiri_gumbo.h" + +VALUE cNokogiriHtml5Document; + +// Interned symbols +static ID internal_subset; +static ID parent; + +#include +#include +#include + +// URI = system id +// external id = public id +static xmlDocPtr +new_html_doc(const char *dtd_name, const char *system, const char *public) +{ + // These two libxml2 functions take the public and system ids in + // opposite orders. + htmlDocPtr doc = htmlNewDocNoDtD(/* URI */ NULL, /* ExternalID */NULL); + assert(doc); + if (dtd_name) { + xmlCreateIntSubset(doc, (const xmlChar *)dtd_name, (const xmlChar *)public, (const xmlChar *)system); + } + return doc; +} + +static xmlNodePtr +get_parent(xmlNodePtr node) +{ + return node->parent; +} + +static GumboOutput * +perform_parse(const GumboOptions *options, VALUE input) +{ + assert(RTEST(input)); + Check_Type(input, T_STRING); + GumboOutput *output = gumbo_parse_with_options( + options, + RSTRING_PTR(input), + (size_t)RSTRING_LEN(input) + ); + + const char *status_string = gumbo_status_to_string(output->status); + switch (output->status) { + case GUMBO_STATUS_OK: + break; + case GUMBO_STATUS_TOO_MANY_ATTRIBUTES: + case GUMBO_STATUS_TREE_TOO_DEEP: + gumbo_destroy_output(output); + rb_raise(rb_eArgError, "%s", status_string); + case GUMBO_STATUS_OUT_OF_MEMORY: + gumbo_destroy_output(output); + rb_raise(rb_eNoMemError, "%s", status_string); + } + return output; +} + +static xmlNsPtr +lookup_or_add_ns( + xmlDocPtr doc, + xmlNodePtr root, + const char *href, + const char *prefix +) +{ + xmlNsPtr ns = xmlSearchNs(doc, root, (const xmlChar *)prefix); + if (ns) { + return ns; + } + return xmlNewNs(root, (const xmlChar *)href, (const xmlChar *)prefix); +} + +static void +set_line(xmlNodePtr node, size_t line) +{ + // libxml2 uses 65535 to mean look elsewhere for the line number on some + // nodes. + if (line < 65535) { + node->line = (unsigned short)line; + } +} + +// Construct an XML tree rooted at xml_output_node from the Gumbo tree rooted +// at gumbo_node. +static void +build_tree( + xmlDocPtr doc, + xmlNodePtr xml_output_node, + const GumboNode *gumbo_node +) +{ + xmlNodePtr xml_root = NULL; + xmlNodePtr xml_node = xml_output_node; + size_t child_index = 0; + + while (true) { + assert(gumbo_node != NULL); + const GumboVector *children = gumbo_node->type == GUMBO_NODE_DOCUMENT ? + &gumbo_node->v.document.children : &gumbo_node->v.element.children; + if (child_index >= children->length) { + // Move up the tree and to the next child. + if (xml_node == xml_output_node) { + // We've built as much of the tree as we can. + return; + } + child_index = gumbo_node->index_within_parent + 1; + gumbo_node = gumbo_node->parent; + xml_node = get_parent(xml_node); + // Children of fragments don't share the same root, so reset it and + // it'll be set below. In the non-fragment case, this will only happen + // after the html element has been finished at which point there are no + // further elements. + if (xml_node == xml_output_node) { + xml_root = NULL; + } + continue; + } + const GumboNode *gumbo_child = children->data[child_index++]; + xmlNodePtr xml_child; + + switch (gumbo_child->type) { + case GUMBO_NODE_DOCUMENT: + abort(); // Bug in Gumbo. + + case GUMBO_NODE_TEXT: + case GUMBO_NODE_WHITESPACE: + xml_child = xmlNewDocText(doc, (const xmlChar *)gumbo_child->v.text.text); + set_line(xml_child, gumbo_child->v.text.start_pos.line); + xmlAddChild(xml_node, xml_child); + break; + + case GUMBO_NODE_CDATA: + xml_child = xmlNewCDataBlock(doc, (const xmlChar *)gumbo_child->v.text.text, + (int) strlen(gumbo_child->v.text.text)); + set_line(xml_child, gumbo_child->v.text.start_pos.line); + xmlAddChild(xml_node, xml_child); + break; + + case GUMBO_NODE_COMMENT: + xml_child = xmlNewDocComment(doc, (const xmlChar *)gumbo_child->v.text.text); + set_line(xml_child, gumbo_child->v.text.start_pos.line); + xmlAddChild(xml_node, xml_child); + break; + + case GUMBO_NODE_TEMPLATE: + // XXX: Should create a template element and a new DocumentFragment + case GUMBO_NODE_ELEMENT: { + xml_child = xmlNewDocNode(doc, NULL, (const xmlChar *)gumbo_child->v.element.name, NULL); + set_line(xml_child, gumbo_child->v.element.start_pos.line); + if (xml_root == NULL) { + xml_root = xml_child; + } + xmlNsPtr ns = NULL; + switch (gumbo_child->v.element.tag_namespace) { + case GUMBO_NAMESPACE_HTML: + break; + case GUMBO_NAMESPACE_SVG: + ns = lookup_or_add_ns(doc, xml_root, "http://www.w3.org/2000/svg", "svg"); + break; + case GUMBO_NAMESPACE_MATHML: + ns = lookup_or_add_ns(doc, xml_root, "http://www.w3.org/1998/Math/MathML", "math"); + break; + } + if (ns != NULL) { + xmlSetNs(xml_child, ns); + } + xmlAddChild(xml_node, xml_child); + + // Add the attributes. + const GumboVector *attrs = &gumbo_child->v.element.attributes; + for (size_t i = 0; i < attrs->length; i++) { + const GumboAttribute *attr = attrs->data[i]; + + switch (attr->attr_namespace) { + case GUMBO_ATTR_NAMESPACE_XLINK: + ns = lookup_or_add_ns(doc, xml_root, "http://www.w3.org/1999/xlink", "xlink"); + break; + + case GUMBO_ATTR_NAMESPACE_XML: + ns = lookup_or_add_ns(doc, xml_root, "http://www.w3.org/XML/1998/namespace", "xml"); + break; + + case GUMBO_ATTR_NAMESPACE_XMLNS: + ns = lookup_or_add_ns(doc, xml_root, "http://www.w3.org/2000/xmlns/", "xmlns"); + break; + + default: + ns = NULL; + } + xmlNewNsProp(xml_child, ns, (const xmlChar *)attr->name, (const xmlChar *)attr->value); + } + + // Add children for this element. + child_index = 0; + gumbo_node = gumbo_child; + xml_node = xml_child; + } + } + } +} + +static void +add_errors(const GumboOutput *output, VALUE rdoc, VALUE input, VALUE url) +{ + const char *input_str = RSTRING_PTR(input); + size_t input_len = (size_t)RSTRING_LEN(input); + + // Add parse errors to rdoc. + if (output->errors.length) { + const GumboVector *errors = &output->errors; + VALUE rerrors = rb_ary_new2(errors->length); + + for (size_t i = 0; i < errors->length; i++) { + GumboError *err = errors->data[i]; + GumboSourcePosition position = gumbo_error_position(err); + char *msg; + size_t size = gumbo_caret_diagnostic_to_string(err, input_str, input_len, &msg); + VALUE err_str = rb_utf8_str_new(msg, (int)size); + free(msg); + VALUE syntax_error = rb_class_new_instance(1, &err_str, cNokogiriXmlSyntaxError); + const char *error_code = gumbo_error_code(err); + VALUE str1 = error_code ? rb_utf8_str_new_static(error_code, (int)strlen(error_code)) : Qnil; + rb_iv_set(syntax_error, "@domain", INT2NUM(1)); // XML_FROM_PARSER + rb_iv_set(syntax_error, "@code", INT2NUM(1)); // XML_ERR_INTERNAL_ERROR + rb_iv_set(syntax_error, "@level", INT2NUM(2)); // XML_ERR_ERROR + rb_iv_set(syntax_error, "@file", url); + rb_iv_set(syntax_error, "@line", SIZET2NUM(position.line)); + rb_iv_set(syntax_error, "@str1", str1); + rb_iv_set(syntax_error, "@str2", Qnil); + rb_iv_set(syntax_error, "@str3", Qnil); + rb_iv_set(syntax_error, "@int1", INT2NUM(0)); + rb_iv_set(syntax_error, "@column", SIZET2NUM(position.column)); + rb_ary_push(rerrors, syntax_error); + } + rb_iv_set(rdoc, "@errors", rerrors); + } +} + +typedef struct { + GumboOutput *output; + VALUE input; + VALUE url_or_frag; + VALUE klass; + xmlDocPtr doc; +} ParseArgs; + +static VALUE +parse_cleanup(VALUE parse_args) +{ + ParseArgs *args = (ParseArgs *)parse_args; + gumbo_destroy_output(args->output); + // Make sure garbage collection doesn't mark the objects as being live based + // on references from the ParseArgs. This may be unnecessary. + args->input = Qnil; + args->url_or_frag = Qnil; + if (args->doc != NULL) { + xmlFreeDoc(args->doc); + } + return Qnil; +} + +// Scan the keyword arguments for options common to the document and fragment +// parse. +static GumboOptions +common_options(VALUE kwargs) +{ + // The order of the keywords determines the order of the values below. + // If this order is changed, then setting the options below must change as + // well. + ID keywords[] = { + // Required keywords. + rb_intern_const("max_attributes"), + rb_intern_const("max_errors"), + rb_intern_const("max_tree_depth"), + + // Optional keywords. + rb_intern_const("parse_noscript_content_as_text"), + }; + VALUE values[sizeof keywords / sizeof keywords[0]]; + + // Extract the values coresponding to the required keywords. Raise an error + // if required arguments are missing. + rb_get_kwargs(kwargs, keywords, 3, 1, values); + + GumboOptions options = kGumboDefaultOptions; + options.max_attributes = NUM2INT(values[0]); + options.max_errors = NUM2INT(values[1]); + + // handle negative values + int depth = NUM2INT(values[2]); + options.max_tree_depth = depth < 0 ? UINT_MAX : (unsigned int)depth; + + options.parse_noscript_content_as_text = values[3] != Qundef && RTEST(values[3]); + + return options; +} + +static VALUE parse_continue(VALUE parse_args); + +/* + * @!visibility protected + */ +static VALUE +noko_gumbo_s_parse(int argc, VALUE *argv, VALUE _self) +{ + VALUE input, url, klass, kwargs; + + rb_scan_args(argc, argv, "3:", &input, &url, &klass, &kwargs); + if (NIL_P(kwargs)) { + kwargs = rb_hash_new(); + } + + GumboOptions options = common_options(kwargs); + + GumboOutput *output = perform_parse(&options, input); + ParseArgs args = { + .output = output, + .input = input, + .url_or_frag = url, + .klass = klass, + .doc = NULL, + }; + + return rb_ensure(parse_continue, (VALUE)(&args), parse_cleanup, (VALUE)(&args)); +} + +static VALUE +parse_continue(VALUE parse_args) +{ + ParseArgs *args = (ParseArgs *)parse_args; + GumboOutput *output = args->output; + xmlDocPtr doc; + if (output->document->v.document.has_doctype) { + const char *name = output->document->v.document.name; + const char *public = output->document->v.document.public_identifier; + const char *system = output->document->v.document.system_identifier; + public = public[0] ? public : NULL; + system = system[0] ? system : NULL; + doc = new_html_doc(name, system, public); + } else { + doc = new_html_doc(NULL, NULL, NULL); + } + args->doc = doc; // Make sure doc gets cleaned up if an error is thrown. + build_tree(doc, (xmlNodePtr)doc, output->document); + VALUE rdoc = noko_xml_document_wrap(args->klass, doc); + rb_iv_set(rdoc, "@url", args->url_or_frag); + rb_iv_set(rdoc, "@quirks_mode", INT2NUM(output->document->v.document.doc_type_quirks_mode)); + args->doc = NULL; // The Ruby runtime now owns doc so don't delete it. + add_errors(output, rdoc, args->input, args->url_or_frag); + return rdoc; +} + +static int +lookup_namespace(VALUE node, bool require_known_ns) +{ + ID namespace, href; + CONST_ID(namespace, "namespace"); + CONST_ID(href, "href"); + VALUE ns = rb_funcall(node, namespace, 0); + + if (NIL_P(ns)) { + return GUMBO_NAMESPACE_HTML; + } + ns = rb_funcall(ns, href, 0); + assert(RTEST(ns)); + Check_Type(ns, T_STRING); + + const char *href_ptr = RSTRING_PTR(ns); + size_t href_len = (size_t)RSTRING_LEN(ns); +#define NAMESPACE_P(uri) (href_len == sizeof uri - 1 && !memcmp(href_ptr, uri, href_len)) + if (NAMESPACE_P("http://www.w3.org/1999/xhtml")) { + return GUMBO_NAMESPACE_HTML; + } + if (NAMESPACE_P("http://www.w3.org/1998/Math/MathML")) { + return GUMBO_NAMESPACE_MATHML; + } + if (NAMESPACE_P("http://www.w3.org/2000/svg")) { + return GUMBO_NAMESPACE_SVG; + } +#undef NAMESPACE_P + if (require_known_ns) { + rb_raise(rb_eArgError, "Unexpected namespace URI \"%*s\"", (int)href_len, href_ptr); + } + return -1; +} + +static xmlNodePtr +extract_xml_node(VALUE node) +{ + xmlNodePtr xml_node; + Noko_Node_Get_Struct(node, xmlNode, xml_node); + return xml_node; +} + +static VALUE fragment_continue(VALUE parse_args); + +/* + * @!visibility protected + */ +static VALUE +noko_gumbo_s_fragment(int argc, VALUE *argv, VALUE _self) +{ + VALUE doc_fragment; + VALUE tags; + VALUE ctx; + VALUE kwargs; + ID name = rb_intern_const("name"); + const char *ctx_tag; + GumboNamespaceEnum ctx_ns; + GumboQuirksModeEnum quirks_mode; + bool form = false; + const char *encoding = NULL; + + rb_scan_args(argc, argv, "3:", &doc_fragment, &tags, &ctx, &kwargs); + if (NIL_P(kwargs)) { + kwargs = rb_hash_new(); + } + + GumboOptions options = common_options(kwargs); + + if (NIL_P(ctx)) { + ctx_tag = "body"; + ctx_ns = GUMBO_NAMESPACE_HTML; + } else if (TYPE(ctx) == T_STRING) { + ctx_tag = StringValueCStr(ctx); + ctx_ns = GUMBO_NAMESPACE_HTML; + size_t len = (size_t)RSTRING_LEN(ctx); + const char *colon = memchr(ctx_tag, ':', len); + if (colon) { + switch (colon - ctx_tag) { + case 3: + if (st_strncasecmp(ctx_tag, "svg", 3) != 0) { + goto error; + } + ctx_ns = GUMBO_NAMESPACE_SVG; + break; + case 4: + if (st_strncasecmp(ctx_tag, "html", 4) == 0) { + ctx_ns = GUMBO_NAMESPACE_HTML; + } else if (st_strncasecmp(ctx_tag, "math", 4) == 0) { + ctx_ns = GUMBO_NAMESPACE_MATHML; + } else { + goto error; + } + break; + default: +error: + rb_raise(rb_eArgError, "Invalid context namespace '%*s'", (int)(colon - ctx_tag), ctx_tag); + } + ctx_tag = colon + 1; + } else { + // For convenience, put 'svg' and 'math' in their namespaces. + if (len == 3 && st_strncasecmp(ctx_tag, "svg", 3) == 0) { + ctx_ns = GUMBO_NAMESPACE_SVG; + } else if (len == 4 && st_strncasecmp(ctx_tag, "math", 4) == 0) { + ctx_ns = GUMBO_NAMESPACE_MATHML; + } + } + + // Check if it's a form. + form = ctx_ns == GUMBO_NAMESPACE_HTML && st_strcasecmp(ctx_tag, "form") == 0; + } else { + ID element_ = rb_intern_const("element?"); + + // Context fragment name. + VALUE tag_name = rb_funcall(ctx, name, 0); + assert(RTEST(tag_name)); + Check_Type(tag_name, T_STRING); + ctx_tag = StringValueCStr(tag_name); + + // Context fragment namespace. + ctx_ns = lookup_namespace(ctx, true); + + // Check for a form ancestor, including self. + for (VALUE node = ctx; + !NIL_P(node); + node = rb_respond_to(node, parent) ? rb_funcall(node, parent, 0) : Qnil) { + if (!RTEST(rb_funcall(node, element_, 0))) { + continue; + } + VALUE element_name = rb_funcall(node, name, 0); + if (RSTRING_LEN(element_name) == 4 + && !st_strcasecmp(RSTRING_PTR(element_name), "form") + && lookup_namespace(node, false) == GUMBO_NAMESPACE_HTML) { + form = true; + break; + } + } + + // Encoding. + if (ctx_ns == GUMBO_NAMESPACE_MATHML + && RSTRING_LEN(tag_name) == 14 + && !st_strcasecmp(ctx_tag, "annotation-xml")) { + VALUE enc = rb_funcall(ctx, rb_intern_const("[]"), + 1, + rb_utf8_str_new_static("encoding", 8)); + if (RTEST(enc)) { + Check_Type(enc, T_STRING); + encoding = StringValueCStr(enc); + } + } + } + + // Quirks mode. + VALUE doc = rb_funcall(doc_fragment, rb_intern_const("document"), 0); + VALUE dtd = rb_funcall(doc, internal_subset, 0); + VALUE doc_quirks_mode = rb_iv_get(doc, "@quirks_mode"); + if (NIL_P(ctx) || (TYPE(ctx) == T_STRING) || NIL_P(doc_quirks_mode)) { + quirks_mode = GUMBO_DOCTYPE_NO_QUIRKS; + } else if (NIL_P(dtd)) { + quirks_mode = GUMBO_DOCTYPE_QUIRKS; + } else { + VALUE dtd_name = rb_funcall(dtd, name, 0); + VALUE pubid = rb_funcall(dtd, rb_intern_const("external_id"), 0); + VALUE sysid = rb_funcall(dtd, rb_intern_const("system_id"), 0); + quirks_mode = gumbo_compute_quirks_mode( + NIL_P(dtd_name) ? NULL : StringValueCStr(dtd_name), + NIL_P(pubid) ? NULL : StringValueCStr(pubid), + NIL_P(sysid) ? NULL : StringValueCStr(sysid) + ); + } + + // Perform a fragment parse. + options.fragment_context = ctx_tag; + options.fragment_namespace = ctx_ns; + options.fragment_encoding = encoding; + options.quirks_mode = quirks_mode; + options.fragment_context_has_form_ancestor = form; + + // Add one to the max tree depth to account for the HTML element. + if (options.max_tree_depth < UINT_MAX) { options.max_tree_depth++; } + + GumboOutput *output = perform_parse(&options, tags); + ParseArgs args = { + .output = output, + .input = tags, + .url_or_frag = doc_fragment, + .doc = (xmlDocPtr)extract_xml_node(doc), + }; + rb_ensure(fragment_continue, (VALUE)(&args), parse_cleanup, (VALUE)(&args)); + return Qnil; +} + +static VALUE +fragment_continue(VALUE parse_args) +{ + ParseArgs *args = (ParseArgs *)parse_args; + GumboOutput *output = args->output; + VALUE doc_fragment = args->url_or_frag; + xmlDocPtr xml_doc = args->doc; + + args->doc = NULL; // The Ruby runtime owns doc so make sure we don't delete it. + xmlNodePtr xml_frag = extract_xml_node(doc_fragment); + build_tree(xml_doc, xml_frag, output->root); + rb_iv_set(doc_fragment, "@quirks_mode", INT2NUM(output->document->v.document.doc_type_quirks_mode)); + add_errors(output, doc_fragment, args->input, rb_utf8_str_new_static("#fragment", 9)); + return Qnil; +} + +// Initialize the Nokogumbo class and fetch constants we will use later. +void +noko_init_gumbo(void) +{ + // Class constants. + cNokogiriHtml5Document = rb_define_class_under(mNokogiriHtml5, "Document", cNokogiriHtml4Document); + rb_gc_register_mark_object(cNokogiriHtml5Document); + + // Interned symbols. + internal_subset = rb_intern_const("internal_subset"); + parent = rb_intern_const("parent"); + + // Define Nokogumbo module with parse and fragment methods. + rb_define_singleton_method(mNokogiriGumbo, "parse", noko_gumbo_s_parse, -1); + rb_define_singleton_method(mNokogiriGumbo, "fragment", noko_gumbo_s_fragment, -1); +} + +// vim: set shiftwidth=2 softtabstop=2 tabstop=8 expandtab: diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/html4_document.c b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/html4_document.c new file mode 100644 index 0000000..e3e0ee0 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/html4_document.c @@ -0,0 +1,171 @@ +#include + +VALUE cNokogiriHtml4Document ; + +static ID id_encoding_found; +static ID id_to_s; + +/* + * call-seq: + * new(uri=nil, external_id=nil) → HTML4::Document + * + * Create a new empty document with base URI +uri+ and external ID +external_id+. + */ +static VALUE +rb_html_document_s_new(int argc, VALUE *argv, VALUE klass) +{ + VALUE uri, external_id, rest, rb_doc; + htmlDocPtr doc; + + rb_scan_args(argc, argv, "0*", &rest); + uri = rb_ary_entry(rest, (long)0); + external_id = rb_ary_entry(rest, (long)1); + + doc = htmlNewDoc( + RTEST(uri) ? (const xmlChar *)StringValueCStr(uri) : NULL, + RTEST(external_id) ? (const xmlChar *)StringValueCStr(external_id) : NULL + ); + rb_doc = noko_xml_document_wrap_with_init_args(klass, doc, argc, argv); + return rb_doc ; +} + +/* + * call-seq: + * read_io(io, url, encoding, options) + * + * Read the HTML document from +io+ with given +url+, +encoding+, + * and +options+. See Nokogiri::HTML4.parse + */ +static VALUE +rb_html_document_s_read_io(VALUE klass, VALUE rb_io, VALUE rb_url, VALUE rb_encoding, VALUE rb_options) +{ + VALUE rb_doc; + VALUE rb_error_list = rb_ary_new(); + htmlDocPtr c_doc; + const char *c_url = NIL_P(rb_url) ? NULL : StringValueCStr(rb_url); + const char *c_encoding = NIL_P(rb_encoding) ? NULL : StringValueCStr(rb_encoding); + int options = NUM2INT(rb_options); + + xmlSetStructuredErrorFunc((void *)rb_error_list, noko__error_array_pusher); + + c_doc = htmlReadIO(noko_io_read, noko_io_close, (void *)rb_io, c_url, c_encoding, options); + + xmlSetStructuredErrorFunc(NULL, NULL); + + /* + * If EncodingFound has occurred in EncodingReader, make sure to do + * a cleanup and propagate the error. + */ + if (rb_respond_to(rb_io, id_encoding_found)) { + VALUE encoding_found = rb_funcall(rb_io, id_encoding_found, 0); + if (!NIL_P(encoding_found)) { + xmlFreeDoc(c_doc); + rb_exc_raise(encoding_found); + } + } + + if ((c_doc == NULL) || (!(options & XML_PARSE_RECOVER) && (RARRAY_LEN(rb_error_list) > 0))) { + VALUE rb_error ; + + xmlFreeDoc(c_doc); + + rb_error = rb_ary_entry(rb_error_list, 0); + if (rb_error == Qnil) { + rb_raise(rb_eRuntimeError, "Could not parse document"); + } else { + VALUE exception_message = rb_funcall(rb_error, id_to_s, 0); + exception_message = rb_str_concat(rb_str_new2("Parser without recover option encountered error or warning: "), + exception_message); + rb_exc_raise(rb_class_new_instance(1, &exception_message, cNokogiriXmlSyntaxError)); + } + + return Qnil; + } + + rb_doc = noko_xml_document_wrap(klass, c_doc); + rb_iv_set(rb_doc, "@errors", rb_error_list); + return rb_doc; +} + +/* + * call-seq: + * read_memory(string, url, encoding, options) + * + * Read the HTML document contained in +string+ with given +url+, +encoding+, + * and +options+. See Nokogiri::HTML4.parse + */ +static VALUE +rb_html_document_s_read_memory(VALUE klass, VALUE rb_html, VALUE rb_url, VALUE rb_encoding, VALUE rb_options) +{ + VALUE rb_doc; + VALUE rb_error_list = rb_ary_new(); + htmlDocPtr c_doc; + const char *c_buffer = StringValuePtr(rb_html); + const char *c_url = NIL_P(rb_url) ? NULL : StringValueCStr(rb_url); + const char *c_encoding = NIL_P(rb_encoding) ? NULL : StringValueCStr(rb_encoding); + int html_len = (int)RSTRING_LEN(rb_html); + int options = NUM2INT(rb_options); + + xmlSetStructuredErrorFunc((void *)rb_error_list, noko__error_array_pusher); + + c_doc = htmlReadMemory(c_buffer, html_len, c_url, c_encoding, options); + + xmlSetStructuredErrorFunc(NULL, NULL); + + if ((c_doc == NULL) || (!(options & XML_PARSE_RECOVER) && (RARRAY_LEN(rb_error_list) > 0))) { + VALUE rb_error ; + + xmlFreeDoc(c_doc); + + rb_error = rb_ary_entry(rb_error_list, 0); + if (rb_error == Qnil) { + rb_raise(rb_eRuntimeError, "Could not parse document"); + } else { + VALUE exception_message = rb_funcall(rb_error, id_to_s, 0); + exception_message = rb_str_concat(rb_str_new2("Parser without recover option encountered error or warning: "), + exception_message); + rb_exc_raise(rb_class_new_instance(1, &exception_message, cNokogiriXmlSyntaxError)); + } + + return Qnil; + } + + rb_doc = noko_xml_document_wrap(klass, c_doc); + rb_iv_set(rb_doc, "@errors", rb_error_list); + return rb_doc; +} + +/* + * call-seq: + * type + * + * The type for this document + */ +static VALUE +rb_html_document_type(VALUE self) +{ + htmlDocPtr doc = noko_xml_document_unwrap(self); + return INT2NUM(doc->type); +} + +void +noko_init_html_document(void) +{ + /* this is here so that rdoc doesn't ignore this file. */ + /* + mNokogiri = rb_define_module("Nokogiri"); + mNokogiriHtml4 = rb_define_module_under(mNokogiri, "HTML4"); + */ + + assert(cNokogiriXmlDocument); + cNokogiriHtml4Document = rb_define_class_under(mNokogiriHtml4, "Document", cNokogiriXmlDocument); + + rb_define_singleton_method(cNokogiriHtml4Document, "read_memory", rb_html_document_s_read_memory, 4); + rb_define_singleton_method(cNokogiriHtml4Document, "read_io", rb_html_document_s_read_io, 4); + rb_define_singleton_method(cNokogiriHtml4Document, "new", rb_html_document_s_new, -1); + + rb_define_method(cNokogiriHtml4Document, "type", rb_html_document_type, 0); + + id_encoding_found = rb_intern("encoding_found"); + id_to_s = rb_intern("to_s"); +} diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/html4_element_description.c b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/html4_element_description.c new file mode 100644 index 0000000..bd345d1 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/html4_element_description.c @@ -0,0 +1,299 @@ +#include + +static const rb_data_type_t html_elem_desc_type = { + .wrap_struct_name = "htmlElemDesc", + .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED, +}; + +VALUE cNokogiriHtml4ElementDescription ; + +/* + * call-seq: + * required_attributes + * + * A list of required attributes for this element + */ +static VALUE +required_attributes(VALUE self) +{ + const htmlElemDesc *description; + VALUE list; + int i; + + TypedData_Get_Struct(self, htmlElemDesc, &html_elem_desc_type, description); + + list = rb_ary_new(); + + if (NULL == description->attrs_req) { return list; } + + for (i = 0; description->attrs_depr[i]; i++) { + rb_ary_push(list, NOKOGIRI_STR_NEW2(description->attrs_req[i])); + } + + return list; +} + +/* + * call-seq: + * deprecated_attributes + * + * A list of deprecated attributes for this element + */ +static VALUE +deprecated_attributes(VALUE self) +{ + const htmlElemDesc *description; + VALUE list; + int i; + + TypedData_Get_Struct(self, htmlElemDesc, &html_elem_desc_type, description); + + list = rb_ary_new(); + + if (NULL == description->attrs_depr) { return list; } + + for (i = 0; description->attrs_depr[i]; i++) { + rb_ary_push(list, NOKOGIRI_STR_NEW2(description->attrs_depr[i])); + } + + return list; +} + +/* + * call-seq: + * optional_attributes + * + * A list of optional attributes for this element + */ +static VALUE +optional_attributes(VALUE self) +{ + const htmlElemDesc *description; + VALUE list; + int i; + + TypedData_Get_Struct(self, htmlElemDesc, &html_elem_desc_type, description); + + list = rb_ary_new(); + + if (NULL == description->attrs_opt) { return list; } + + for (i = 0; description->attrs_opt[i]; i++) { + rb_ary_push(list, NOKOGIRI_STR_NEW2(description->attrs_opt[i])); + } + + return list; +} + +/* + * call-seq: + * default_sub_element + * + * The default sub element for this element + */ +static VALUE +default_sub_element(VALUE self) +{ + const htmlElemDesc *description; + TypedData_Get_Struct(self, htmlElemDesc, &html_elem_desc_type, description); + + if (description->defaultsubelt) { + return NOKOGIRI_STR_NEW2(description->defaultsubelt); + } + + return Qnil; +} + +/* + * call-seq: + * sub_elements + * + * A list of allowed sub elements for this element. + */ +static VALUE +sub_elements(VALUE self) +{ + const htmlElemDesc *description; + VALUE list; + int i; + + TypedData_Get_Struct(self, htmlElemDesc, &html_elem_desc_type, description); + + list = rb_ary_new(); + + if (NULL == description->subelts) { return list; } + + for (i = 0; description->subelts[i]; i++) { + rb_ary_push(list, NOKOGIRI_STR_NEW2(description->subelts[i])); + } + + return list; +} + +/* + * call-seq: + * description + * + * The description for this element + */ +static VALUE +description(VALUE self) +{ + const htmlElemDesc *description; + TypedData_Get_Struct(self, htmlElemDesc, &html_elem_desc_type, description); + + return NOKOGIRI_STR_NEW2(description->desc); +} + +/* + * call-seq: + * inline? + * + * Is this element an inline element? + */ +static VALUE +inline_eh(VALUE self) +{ + const htmlElemDesc *description; + TypedData_Get_Struct(self, htmlElemDesc, &html_elem_desc_type, description); + + if (description->isinline) { return Qtrue; } + return Qfalse; +} + +/* + * call-seq: + * deprecated? + * + * Is this element deprecated? + */ +static VALUE +deprecated_eh(VALUE self) +{ + const htmlElemDesc *description; + TypedData_Get_Struct(self, htmlElemDesc, &html_elem_desc_type, description); + + if (description->depr) { return Qtrue; } + return Qfalse; +} + +/* + * call-seq: + * empty? + * + * Is this an empty element? + */ +static VALUE +empty_eh(VALUE self) +{ + const htmlElemDesc *description; + TypedData_Get_Struct(self, htmlElemDesc, &html_elem_desc_type, description); + + if (description->empty) { return Qtrue; } + return Qfalse; +} + +/* + * call-seq: + * save_end_tag? + * + * Should the end tag be saved? + */ +static VALUE +save_end_tag_eh(VALUE self) +{ + const htmlElemDesc *description; + TypedData_Get_Struct(self, htmlElemDesc, &html_elem_desc_type, description); + + if (description->saveEndTag) { return Qtrue; } + return Qfalse; +} + +/* + * call-seq: + * implied_end_tag? + * + * Can the end tag be implied for this tag? + */ +static VALUE +implied_end_tag_eh(VALUE self) +{ + const htmlElemDesc *description; + TypedData_Get_Struct(self, htmlElemDesc, &html_elem_desc_type, description); + + if (description->endTag) { return Qtrue; } + return Qfalse; +} + +/* + * call-seq: + * implied_start_tag? + * + * Can the start tag be implied for this tag? + */ +static VALUE +implied_start_tag_eh(VALUE self) +{ + const htmlElemDesc *description; + TypedData_Get_Struct(self, htmlElemDesc, &html_elem_desc_type, description); + + if (description->startTag) { return Qtrue; } + return Qfalse; +} + +/* + * call-seq: + * name + * + * Get the tag name for this ElementDescription + */ +static VALUE +name(VALUE self) +{ + const htmlElemDesc *description; + TypedData_Get_Struct(self, htmlElemDesc, &html_elem_desc_type, description); + + if (NULL == description->name) { return Qnil; } + return NOKOGIRI_STR_NEW2(description->name); +} + +/* + * call-seq: + * [](tag_name) + * + * Get ElementDescription for +tag_name+ + */ +static VALUE +get_description(VALUE klass, VALUE tag_name) +{ + const htmlElemDesc *description = htmlTagLookup( + (const xmlChar *)StringValueCStr(tag_name) + ); + + if (NULL == description) { return Qnil; } + return TypedData_Wrap_Struct(klass, &html_elem_desc_type, DISCARD_CONST_QUAL(void *, description)); +} + +void +noko_init_html_element_description(void) +{ + cNokogiriHtml4ElementDescription = rb_define_class_under(mNokogiriHtml4, "ElementDescription", rb_cObject); + + rb_undef_alloc_func(cNokogiriHtml4ElementDescription); + + rb_define_singleton_method(cNokogiriHtml4ElementDescription, "[]", get_description, 1); + + rb_define_method(cNokogiriHtml4ElementDescription, "name", name, 0); + rb_define_method(cNokogiriHtml4ElementDescription, "implied_start_tag?", implied_start_tag_eh, 0); + rb_define_method(cNokogiriHtml4ElementDescription, "implied_end_tag?", implied_end_tag_eh, 0); + rb_define_method(cNokogiriHtml4ElementDescription, "save_end_tag?", save_end_tag_eh, 0); + rb_define_method(cNokogiriHtml4ElementDescription, "empty?", empty_eh, 0); + rb_define_method(cNokogiriHtml4ElementDescription, "deprecated?", deprecated_eh, 0); + rb_define_method(cNokogiriHtml4ElementDescription, "inline?", inline_eh, 0); + rb_define_method(cNokogiriHtml4ElementDescription, "description", description, 0); + rb_define_method(cNokogiriHtml4ElementDescription, "sub_elements", sub_elements, 0); + rb_define_method(cNokogiriHtml4ElementDescription, "default_sub_element", default_sub_element, 0); + rb_define_method(cNokogiriHtml4ElementDescription, "optional_attributes", optional_attributes, 0); + rb_define_method(cNokogiriHtml4ElementDescription, "deprecated_attributes", deprecated_attributes, 0); + rb_define_method(cNokogiriHtml4ElementDescription, "required_attributes", required_attributes, 0); +} diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/html4_entity_lookup.c b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/html4_entity_lookup.c new file mode 100644 index 0000000..85ad384 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/html4_entity_lookup.c @@ -0,0 +1,37 @@ +#include + +static VALUE cNokogiriHtml4EntityLookup; + +/* + * call-seq: + * get(key) + * + * Get the HTML4::EntityDescription for +key+ + */ +static VALUE +get(VALUE _, VALUE rb_entity_name) +{ + VALUE cNokogiriHtml4EntityDescription; + const htmlEntityDesc *c_entity_desc; + VALUE rb_constructor_args[3]; + + c_entity_desc = htmlEntityLookup((const xmlChar *)StringValueCStr(rb_entity_name)); + if (NULL == c_entity_desc) { + return Qnil; + } + + rb_constructor_args[0] = UINT2NUM(c_entity_desc->value); + rb_constructor_args[1] = NOKOGIRI_STR_NEW2(c_entity_desc->name); + rb_constructor_args[2] = NOKOGIRI_STR_NEW2(c_entity_desc->desc); + + cNokogiriHtml4EntityDescription = rb_const_get_at(mNokogiriHtml4, rb_intern("EntityDescription")); + return rb_class_new_instance(3, rb_constructor_args, cNokogiriHtml4EntityDescription); +} + +void +noko_init_html_entity_lookup(void) +{ + cNokogiriHtml4EntityLookup = rb_define_class_under(mNokogiriHtml4, "EntityLookup", rb_cObject); + + rb_define_method(cNokogiriHtml4EntityLookup, "get", get, 1); +} diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/html4_sax_parser.c b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/html4_sax_parser.c new file mode 100644 index 0000000..2316ec2 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/html4_sax_parser.c @@ -0,0 +1,40 @@ +#include + +VALUE cNokogiriHtml4SaxParser; + +static ID id_start_document; + +static void +noko_html4_sax_parser_start_document(void *ctx) +{ + xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr)ctx; + VALUE self = (VALUE)ctxt->_private; + VALUE doc = rb_iv_get(self, "@document"); + + xmlSAX2StartDocument(ctx); + + rb_funcall(doc, id_start_document, 0); +} + +static VALUE +noko_html4_sax_parser_initialize(VALUE self) +{ + xmlSAXHandlerPtr handler = noko_xml_sax_parser_unwrap(self); + + rb_call_super(0, NULL); + + handler->startDocument = noko_html4_sax_parser_start_document; + + return self; +} + +void +noko_init_html4_sax_parser(void) +{ + cNokogiriHtml4SaxParser = rb_define_class_under(mNokogiriHtml4Sax, "Parser", cNokogiriXmlSaxParser); + + rb_define_private_method(cNokogiriHtml4SaxParser, "initialize_native", + noko_html4_sax_parser_initialize, 0); + + id_start_document = rb_intern("start_document"); +} diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/html4_sax_parser_context.c b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/html4_sax_parser_context.c new file mode 100644 index 0000000..6f971d1 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/html4_sax_parser_context.c @@ -0,0 +1,98 @@ +#include + +VALUE cNokogiriHtml4SaxParserContext ; + +/* :nodoc: */ +static VALUE +noko_html4_sax_parser_context_s_native_memory(VALUE rb_class, VALUE rb_input, VALUE rb_encoding) +{ + Check_Type(rb_input, T_STRING); + if (!(int)RSTRING_LEN(rb_input)) { + rb_raise(rb_eRuntimeError, "input string cannot be empty"); + } + + if (!NIL_P(rb_encoding) && !rb_obj_is_kind_of(rb_encoding, rb_cEncoding)) { + rb_raise(rb_eTypeError, "argument must be an Encoding object"); + } + + htmlParserCtxtPtr c_context = + htmlCreateMemoryParserCtxt(StringValuePtr(rb_input), (int)RSTRING_LEN(rb_input)); + if (!c_context) { + rb_raise(rb_eRuntimeError, "failed to create xml sax parser context"); + } + + noko_xml_sax_parser_context_set_encoding(c_context, rb_encoding); + + if (c_context->sax) { + xmlFree(c_context->sax); + c_context->sax = NULL; + } + + return noko_xml_sax_parser_context_wrap(rb_class, c_context); +} + +/* :nodoc: */ +static VALUE +noko_html4_sax_parser_context_s_native_file(VALUE rb_class, VALUE rb_filename, VALUE rb_encoding) +{ + if (!NIL_P(rb_encoding) && !rb_obj_is_kind_of(rb_encoding, rb_cEncoding)) { + rb_raise(rb_eTypeError, "argument must be an Encoding object"); + } + + htmlParserCtxtPtr c_context = htmlCreateFileParserCtxt(StringValueCStr(rb_filename), NULL); + if (!c_context) { + rb_raise(rb_eRuntimeError, "failed to create xml sax parser context"); + } + + noko_xml_sax_parser_context_set_encoding(c_context, rb_encoding); + + if (c_context->sax) { + xmlFree(c_context->sax); + c_context->sax = NULL; + } + + return noko_xml_sax_parser_context_wrap(rb_class, c_context); +} + +static VALUE +noko_html4_sax_parser_context__parse_with(VALUE rb_context, VALUE rb_sax_parser) +{ + htmlParserCtxtPtr ctxt; + htmlSAXHandlerPtr sax; + + if (!rb_obj_is_kind_of(rb_sax_parser, cNokogiriXmlSaxParser)) { + rb_raise(rb_eArgError, "argument must be a Nokogiri::XML::SAX::Parser"); + } + + ctxt = noko_xml_sax_parser_context_unwrap(rb_context); + sax = noko_xml_sax_parser_unwrap(rb_sax_parser); + + ctxt->sax = sax; + ctxt->userData = ctxt; /* so we can use libxml2/SAX2.c handlers if we want to */ + ctxt->_private = (void *)rb_sax_parser; + + xmlSetStructuredErrorFunc(NULL, NULL); + + /* although we're calling back into Ruby here, we don't need to worry about exceptions, because we + * don't have any cleanup to do. The only memory we need to free is handled by + * xml_sax_parser_context_type_free */ + htmlParseDocument(ctxt); + + return Qnil; +} + +void +noko_init_html_sax_parser_context(void) +{ + assert(cNokogiriXmlSaxParserContext); + cNokogiriHtml4SaxParserContext = rb_define_class_under(mNokogiriHtml4Sax, "ParserContext", + cNokogiriXmlSaxParserContext); + + rb_define_singleton_method(cNokogiriHtml4SaxParserContext, "native_memory", + noko_html4_sax_parser_context_s_native_memory, 2); + rb_define_singleton_method(cNokogiriHtml4SaxParserContext, "native_file", + noko_html4_sax_parser_context_s_native_file, 2); + + rb_define_method(cNokogiriHtml4SaxParserContext, "parse_with", + noko_html4_sax_parser_context__parse_with, 1); +} diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/html4_sax_push_parser.c b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/html4_sax_push_parser.c new file mode 100644 index 0000000..845baf0 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/html4_sax_push_parser.c @@ -0,0 +1,96 @@ +#include + +VALUE cNokogiriHtml4SaxPushParser; + +/* + * Write +chunk+ to PushParser. +last_chunk+ triggers the end_document handle + */ +static VALUE +noko_html4_sax_push_parser__native_write(VALUE self, VALUE rb_chunk, VALUE rb_last_chunk) +{ + xmlParserCtxtPtr ctx; + const char *chunk = NULL; + int size = 0; + int status = 0; + libxmlStructuredErrorHandlerState handler_state; + + ctx = noko_xml_sax_push_parser_unwrap(self); + + if (Qnil != rb_chunk) { + chunk = StringValuePtr(rb_chunk); + size = (int)RSTRING_LEN(rb_chunk); + } + + noko__structured_error_func_save_and_set(&handler_state, NULL, NULL); + + status = htmlParseChunk(ctx, chunk, size, Qtrue == rb_last_chunk ? 1 : 0); + + noko__structured_error_func_restore(&handler_state); + + if ((status != 0) && !(xmlCtxtGetOptions(ctx) & XML_PARSE_RECOVER)) { + // TODO: there appear to be no tests for this block + xmlErrorConstPtr e = xmlCtxtGetLastError(ctx); + noko__error_raise(NULL, e); + } + + return self; +} + +/* + * Initialize the push parser with +xml_sax+ using +filename+ + */ +static VALUE +noko_html4_sax_push_parser__initialize_native( + VALUE self, + VALUE rb_xml_sax, + VALUE rb_filename, + VALUE encoding +) +{ + htmlSAXHandlerPtr sax; + const char *filename = NULL; + htmlParserCtxtPtr ctx; + xmlCharEncoding enc = XML_CHAR_ENCODING_NONE; + + sax = noko_xml_sax_parser_unwrap(rb_xml_sax); + + if (rb_filename != Qnil) { filename = StringValueCStr(rb_filename); } + + if (!NIL_P(encoding)) { + enc = xmlParseCharEncoding(StringValueCStr(encoding)); + if (enc == XML_CHAR_ENCODING_ERROR) { + rb_raise(rb_eArgError, "Unsupported Encoding"); + } + } + + ctx = htmlCreatePushParserCtxt( + sax, + NULL, + NULL, + 0, + filename, + enc + ); + if (ctx == NULL) { + rb_raise(rb_eRuntimeError, "Could not create a parser context"); + } + + ctx->userData = ctx; + ctx->_private = (void *)rb_xml_sax; + + DATA_PTR(self) = ctx; + return self; +} + +void +noko_init_html_sax_push_parser(void) +{ + assert(cNokogiriXmlSaxPushParser); + cNokogiriHtml4SaxPushParser = + rb_define_class_under(mNokogiriHtml4Sax, "PushParser", cNokogiriXmlSaxPushParser); + + rb_define_private_method(cNokogiriHtml4SaxPushParser, "initialize_native", + noko_html4_sax_push_parser__initialize_native, 3); + rb_define_private_method(cNokogiriHtml4SaxPushParser, "native_write", + noko_html4_sax_push_parser__native_write, 2); +} diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libexslt/exslt.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libexslt/exslt.h new file mode 100644 index 0000000..dfbd09b --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libexslt/exslt.h @@ -0,0 +1,108 @@ +/* + * Summary: main header file + * + * Copy: See Copyright for the status of this software. + */ + + +#ifndef __EXSLT_H__ +#define __EXSLT_H__ + +#include +#include +#include "exsltexports.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +EXSLTPUBVAR const char *exsltLibraryVersion; +EXSLTPUBVAR const int exsltLibexsltVersion; +EXSLTPUBVAR const int exsltLibxsltVersion; +EXSLTPUBVAR const int exsltLibxmlVersion; + +/** + * EXSLT_COMMON_NAMESPACE: + * + * Namespace for EXSLT common functions + */ +#define EXSLT_COMMON_NAMESPACE ((const xmlChar *) "http://exslt.org/common") +/** + * EXSLT_CRYPTO_NAMESPACE: + * + * Namespace for EXSLT crypto functions + */ +#define EXSLT_CRYPTO_NAMESPACE ((const xmlChar *) "http://exslt.org/crypto") +/** + * EXSLT_MATH_NAMESPACE: + * + * Namespace for EXSLT math functions + */ +#define EXSLT_MATH_NAMESPACE ((const xmlChar *) "http://exslt.org/math") +/** + * EXSLT_SETS_NAMESPACE: + * + * Namespace for EXSLT set functions + */ +#define EXSLT_SETS_NAMESPACE ((const xmlChar *) "http://exslt.org/sets") +/** + * EXSLT_FUNCTIONS_NAMESPACE: + * + * Namespace for EXSLT functions extension functions + */ +#define EXSLT_FUNCTIONS_NAMESPACE ((const xmlChar *) "http://exslt.org/functions") +/** + * EXSLT_STRINGS_NAMESPACE: + * + * Namespace for EXSLT strings functions + */ +#define EXSLT_STRINGS_NAMESPACE ((const xmlChar *) "http://exslt.org/strings") +/** + * EXSLT_DATE_NAMESPACE: + * + * Namespace for EXSLT date functions + */ +#define EXSLT_DATE_NAMESPACE ((const xmlChar *) "http://exslt.org/dates-and-times") +/** + * EXSLT_DYNAMIC_NAMESPACE: + * + * Namespace for EXSLT dynamic functions + */ +#define EXSLT_DYNAMIC_NAMESPACE ((const xmlChar *) "http://exslt.org/dynamic") + +/** + * SAXON_NAMESPACE: + * + * Namespace for SAXON extensions functions + */ +#define SAXON_NAMESPACE ((const xmlChar *) "http://icl.com/saxon") + +EXSLTPUBFUN void EXSLTCALL exsltCommonRegister (void); +#ifdef EXSLT_CRYPTO_ENABLED +EXSLTPUBFUN void EXSLTCALL exsltCryptoRegister (void); +#endif +EXSLTPUBFUN void EXSLTCALL exsltMathRegister (void); +EXSLTPUBFUN void EXSLTCALL exsltSetsRegister (void); +EXSLTPUBFUN void EXSLTCALL exsltFuncRegister (void); +EXSLTPUBFUN void EXSLTCALL exsltStrRegister (void); +EXSLTPUBFUN void EXSLTCALL exsltDateRegister (void); +EXSLTPUBFUN void EXSLTCALL exsltSaxonRegister (void); +EXSLTPUBFUN void EXSLTCALL exsltDynRegister(void); + +EXSLTPUBFUN void EXSLTCALL exsltRegisterAll (void); + +EXSLTPUBFUN int EXSLTCALL exsltDateXpathCtxtRegister (xmlXPathContextPtr ctxt, + const xmlChar *prefix); +EXSLTPUBFUN int EXSLTCALL exsltMathXpathCtxtRegister (xmlXPathContextPtr ctxt, + const xmlChar *prefix); +EXSLTPUBFUN int EXSLTCALL exsltSetsXpathCtxtRegister (xmlXPathContextPtr ctxt, + const xmlChar *prefix); +EXSLTPUBFUN int EXSLTCALL exsltStrXpathCtxtRegister (xmlXPathContextPtr ctxt, + const xmlChar *prefix); + +#ifdef __cplusplus +} +#endif +#endif /* __EXSLT_H__ */ + diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libexslt/exsltconfig.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libexslt/exsltconfig.h new file mode 100644 index 0000000..10e43b0 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libexslt/exsltconfig.h @@ -0,0 +1,70 @@ +/* + * exsltconfig.h: compile-time version information for the EXSLT library + * + * See Copyright for the status of this software. + * + * daniel@veillard.com + */ + +#ifndef __XML_EXSLTCONFIG_H__ +#define __XML_EXSLTCONFIG_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * LIBEXSLT_DOTTED_VERSION: + * + * the version string like "1.2.3" + */ +#define LIBEXSLT_DOTTED_VERSION "0.8.24" + +/** + * LIBEXSLT_VERSION: + * + * the version number: 1.2.3 value is 10203 + */ +#define LIBEXSLT_VERSION 824 + +/** + * LIBEXSLT_VERSION_STRING: + * + * the version number string, 1.2.3 value is "10203" + */ +#define LIBEXSLT_VERSION_STRING "824" + +/** + * LIBEXSLT_VERSION_EXTRA: + * + * extra version information, used to show a Git commit description + */ +#define LIBEXSLT_VERSION_EXTRA "" + +/** + * WITH_CRYPTO: + * + * Whether crypto support is configured into exslt + */ +#if 0 +#define EXSLT_CRYPTO_ENABLED +#endif + +/** + * ATTRIBUTE_UNUSED: + * + * This macro is used to flag unused function parameters to GCC + */ +#ifdef __GNUC__ +#ifndef ATTRIBUTE_UNUSED +#define ATTRIBUTE_UNUSED __attribute__((unused)) +#endif +#else +#define ATTRIBUTE_UNUSED +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* __XML_EXSLTCONFIG_H__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libexslt/exsltexports.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libexslt/exsltexports.h new file mode 100644 index 0000000..ee79ec7 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libexslt/exsltexports.h @@ -0,0 +1,63 @@ +/* + * Summary: macros for marking symbols as exportable/importable. + * + * Copy: See Copyright for the status of this software. + */ + +#ifndef __EXSLT_EXPORTS_H__ +#define __EXSLT_EXPORTS_H__ + +#if defined(_WIN32) || defined(__CYGWIN__) +/** DOC_DISABLE */ + +#ifdef LIBEXSLT_STATIC + #define EXSLTPUBLIC +#elif defined(IN_LIBEXSLT) + #define EXSLTPUBLIC __declspec(dllexport) +#else + #define EXSLTPUBLIC __declspec(dllimport) +#endif + +#define EXSLTCALL __cdecl + +/** DOC_ENABLE */ +#else /* not Windows */ + +/** + * EXSLTPUBLIC: + * + * Macro which declares a public symbol + */ +#define EXSLTPUBLIC + +/** + * EXSLTCALL: + * + * Macro which declares the calling convention for exported functions + */ +#define EXSLTCALL + +#endif /* platform switch */ + +/* + * EXSLTPUBFUN: + * + * Macro which declares an exportable function + */ +#define EXSLTPUBFUN EXSLTPUBLIC + +/** + * EXSLTPUBVAR: + * + * Macro which declares an exportable variable + */ +#define EXSLTPUBVAR EXSLTPUBLIC extern + +/* Compatibility */ +#if !defined(LIBEXSLT_PUBLIC) +#define LIBEXSLT_PUBLIC EXSLTPUBVAR +#endif + +#endif /* __EXSLT_EXPORTS_H__ */ + + diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/HTMLparser.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/HTMLparser.h new file mode 100644 index 0000000..7be3d2b --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/HTMLparser.h @@ -0,0 +1,336 @@ +/* + * Summary: interface for an HTML 4.0 non-verifying parser + * Description: this module implements an HTML 4.0 non-verifying parser + * with API compatible with the XML parser ones. It should + * be able to parse "real world" HTML, even if severely + * broken from a specification point of view. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __HTML_PARSER_H__ +#define __HTML_PARSER_H__ +#include +#include + +#ifdef LIBXML_HTML_ENABLED + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Most of the back-end structures from XML and HTML are shared. + */ +typedef xmlParserCtxt htmlParserCtxt; +typedef xmlParserCtxtPtr htmlParserCtxtPtr; +typedef xmlParserNodeInfo htmlParserNodeInfo; +typedef xmlSAXHandler htmlSAXHandler; +typedef xmlSAXHandlerPtr htmlSAXHandlerPtr; +typedef xmlParserInput htmlParserInput; +typedef xmlParserInputPtr htmlParserInputPtr; +typedef xmlDocPtr htmlDocPtr; +typedef xmlNodePtr htmlNodePtr; + +/* + * Internal description of an HTML element, representing HTML 4.01 + * and XHTML 1.0 (which share the same structure). + */ +typedef struct _htmlElemDesc htmlElemDesc; +typedef htmlElemDesc *htmlElemDescPtr; +struct _htmlElemDesc { + const char *name; /* The tag name */ + char startTag; /* Whether the start tag can be implied */ + char endTag; /* Whether the end tag can be implied */ + char saveEndTag; /* Whether the end tag should be saved */ + char empty; /* Is this an empty element ? */ + char depr; /* Is this a deprecated element ? */ + char dtd; /* 1: only in Loose DTD, 2: only Frameset one */ + char isinline; /* is this a block 0 or inline 1 element */ + const char *desc; /* the description */ + +/* NRK Jan.2003 + * New fields encapsulating HTML structure + * + * Bugs: + * This is a very limited representation. It fails to tell us when + * an element *requires* subelements (we only have whether they're + * allowed or not), and it doesn't tell us where CDATA and PCDATA + * are allowed. Some element relationships are not fully represented: + * these are flagged with the word MODIFIER + */ + const char** subelts; /* allowed sub-elements of this element */ + const char* defaultsubelt; /* subelement for suggested auto-repair + if necessary or NULL */ + const char** attrs_opt; /* Optional Attributes */ + const char** attrs_depr; /* Additional deprecated attributes */ + const char** attrs_req; /* Required attributes */ +}; + +/* + * Internal description of an HTML entity. + */ +typedef struct _htmlEntityDesc htmlEntityDesc; +typedef htmlEntityDesc *htmlEntityDescPtr; +struct _htmlEntityDesc { + unsigned int value; /* the UNICODE value for the character */ + const char *name; /* The entity name */ + const char *desc; /* the description */ +}; + +#ifdef LIBXML_SAX1_ENABLED + +XML_DEPRECATED +XMLPUBVAR const xmlSAXHandlerV1 htmlDefaultSAXHandler; + +#ifdef LIBXML_THREAD_ENABLED +XML_DEPRECATED +XMLPUBFUN const xmlSAXHandlerV1 *__htmlDefaultSAXHandler(void); +#endif + +#endif /* LIBXML_SAX1_ENABLED */ + +/* + * There is only few public functions. + */ +XML_DEPRECATED +XMLPUBFUN void + htmlInitAutoClose (void); +XMLPUBFUN const htmlElemDesc * + htmlTagLookup (const xmlChar *tag); +XMLPUBFUN const htmlEntityDesc * + htmlEntityLookup(const xmlChar *name); +XMLPUBFUN const htmlEntityDesc * + htmlEntityValueLookup(unsigned int value); + +XMLPUBFUN int + htmlIsAutoClosed(htmlDocPtr doc, + htmlNodePtr elem); +XMLPUBFUN int + htmlAutoCloseTag(htmlDocPtr doc, + const xmlChar *name, + htmlNodePtr elem); +XML_DEPRECATED +XMLPUBFUN const htmlEntityDesc * + htmlParseEntityRef(htmlParserCtxtPtr ctxt, + const xmlChar **str); +XML_DEPRECATED +XMLPUBFUN int + htmlParseCharRef(htmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN void + htmlParseElement(htmlParserCtxtPtr ctxt); + +XMLPUBFUN htmlParserCtxtPtr + htmlNewParserCtxt(void); +XMLPUBFUN htmlParserCtxtPtr + htmlNewSAXParserCtxt(const htmlSAXHandler *sax, + void *userData); + +XMLPUBFUN htmlParserCtxtPtr + htmlCreateMemoryParserCtxt(const char *buffer, + int size); + +XMLPUBFUN int + htmlParseDocument(htmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN htmlDocPtr + htmlSAXParseDoc (const xmlChar *cur, + const char *encoding, + htmlSAXHandlerPtr sax, + void *userData); +XMLPUBFUN htmlDocPtr + htmlParseDoc (const xmlChar *cur, + const char *encoding); +XMLPUBFUN htmlParserCtxtPtr + htmlCreateFileParserCtxt(const char *filename, + const char *encoding); +XML_DEPRECATED +XMLPUBFUN htmlDocPtr + htmlSAXParseFile(const char *filename, + const char *encoding, + htmlSAXHandlerPtr sax, + void *userData); +XMLPUBFUN htmlDocPtr + htmlParseFile (const char *filename, + const char *encoding); +XMLPUBFUN int + UTF8ToHtml (unsigned char *out, + int *outlen, + const unsigned char *in, + int *inlen); +XMLPUBFUN int + htmlEncodeEntities(unsigned char *out, + int *outlen, + const unsigned char *in, + int *inlen, int quoteChar); +XMLPUBFUN int + htmlIsScriptAttribute(const xmlChar *name); +XML_DEPRECATED +XMLPUBFUN int + htmlHandleOmittedElem(int val); + +#ifdef LIBXML_PUSH_ENABLED +/** + * Interfaces for the Push mode. + */ +XMLPUBFUN htmlParserCtxtPtr + htmlCreatePushParserCtxt(htmlSAXHandlerPtr sax, + void *user_data, + const char *chunk, + int size, + const char *filename, + xmlCharEncoding enc); +XMLPUBFUN int + htmlParseChunk (htmlParserCtxtPtr ctxt, + const char *chunk, + int size, + int terminate); +#endif /* LIBXML_PUSH_ENABLED */ + +XMLPUBFUN void + htmlFreeParserCtxt (htmlParserCtxtPtr ctxt); + +/* + * New set of simpler/more flexible APIs + */ +/** + * xmlParserOption: + * + * This is the set of XML parser options that can be passed down + * to the xmlReadDoc() and similar calls. + */ +typedef enum { + HTML_PARSE_RECOVER = 1<<0, /* Relaxed parsing */ + HTML_PARSE_NODEFDTD = 1<<2, /* do not default a doctype if not found */ + HTML_PARSE_NOERROR = 1<<5, /* suppress error reports */ + HTML_PARSE_NOWARNING= 1<<6, /* suppress warning reports */ + HTML_PARSE_PEDANTIC = 1<<7, /* pedantic error reporting */ + HTML_PARSE_NOBLANKS = 1<<8, /* remove blank nodes */ + HTML_PARSE_NONET = 1<<11,/* Forbid network access */ + HTML_PARSE_NOIMPLIED= 1<<13,/* Do not add implied html/body... elements */ + HTML_PARSE_COMPACT = 1<<16,/* compact small text nodes */ + HTML_PARSE_IGNORE_ENC=1<<21 /* ignore internal document encoding hint */ +} htmlParserOption; + +XMLPUBFUN void + htmlCtxtReset (htmlParserCtxtPtr ctxt); +XMLPUBFUN int + htmlCtxtUseOptions (htmlParserCtxtPtr ctxt, + int options); +XMLPUBFUN htmlDocPtr + htmlReadDoc (const xmlChar *cur, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN htmlDocPtr + htmlReadFile (const char *URL, + const char *encoding, + int options); +XMLPUBFUN htmlDocPtr + htmlReadMemory (const char *buffer, + int size, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN htmlDocPtr + htmlReadFd (int fd, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN htmlDocPtr + htmlReadIO (xmlInputReadCallback ioread, + xmlInputCloseCallback ioclose, + void *ioctx, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN htmlDocPtr + htmlCtxtParseDocument (htmlParserCtxtPtr ctxt, + xmlParserInputPtr input); +XMLPUBFUN htmlDocPtr + htmlCtxtReadDoc (xmlParserCtxtPtr ctxt, + const xmlChar *cur, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN htmlDocPtr + htmlCtxtReadFile (xmlParserCtxtPtr ctxt, + const char *filename, + const char *encoding, + int options); +XMLPUBFUN htmlDocPtr + htmlCtxtReadMemory (xmlParserCtxtPtr ctxt, + const char *buffer, + int size, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN htmlDocPtr + htmlCtxtReadFd (xmlParserCtxtPtr ctxt, + int fd, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN htmlDocPtr + htmlCtxtReadIO (xmlParserCtxtPtr ctxt, + xmlInputReadCallback ioread, + xmlInputCloseCallback ioclose, + void *ioctx, + const char *URL, + const char *encoding, + int options); + +/* NRK/Jan2003: further knowledge of HTML structure + */ +typedef enum { + HTML_NA = 0 , /* something we don't check at all */ + HTML_INVALID = 0x1 , + HTML_DEPRECATED = 0x2 , + HTML_VALID = 0x4 , + HTML_REQUIRED = 0xc /* VALID bit set so ( & HTML_VALID ) is TRUE */ +} htmlStatus ; + +/* Using htmlElemDesc rather than name here, to emphasise the fact + that otherwise there's a lookup overhead +*/ +XMLPUBFUN htmlStatus htmlAttrAllowed(const htmlElemDesc*, const xmlChar*, int) ; +XMLPUBFUN int htmlElementAllowedHere(const htmlElemDesc*, const xmlChar*) ; +XMLPUBFUN htmlStatus htmlElementStatusHere(const htmlElemDesc*, const htmlElemDesc*) ; +XMLPUBFUN htmlStatus htmlNodeStatus(htmlNodePtr, int) ; +/** + * htmlDefaultSubelement: + * @elt: HTML element + * + * Returns the default subelement for this element + */ +#define htmlDefaultSubelement(elt) elt->defaultsubelt +/** + * htmlElementAllowedHereDesc: + * @parent: HTML parent element + * @elt: HTML element + * + * Checks whether an HTML element description may be a + * direct child of the specified element. + * + * Returns 1 if allowed; 0 otherwise. + */ +#define htmlElementAllowedHereDesc(parent,elt) \ + htmlElementAllowedHere((parent), (elt)->name) +/** + * htmlRequiredAttrs: + * @elt: HTML element + * + * Returns the attributes required for the specified element. + */ +#define htmlRequiredAttrs(elt) (elt)->attrs_req + + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_HTML_ENABLED */ +#endif /* __HTML_PARSER_H__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/HTMLtree.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/HTMLtree.h new file mode 100644 index 0000000..8e1ba90 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/HTMLtree.h @@ -0,0 +1,147 @@ +/* + * Summary: specific APIs to process HTML tree, especially serialization + * Description: this module implements a few function needed to process + * tree in an HTML specific way. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __HTML_TREE_H__ +#define __HTML_TREE_H__ + +#include +#include +#include +#include + +#ifdef LIBXML_HTML_ENABLED + +#ifdef __cplusplus +extern "C" { +#endif + + +/** + * HTML_TEXT_NODE: + * + * Macro. A text node in a HTML document is really implemented + * the same way as a text node in an XML document. + */ +#define HTML_TEXT_NODE XML_TEXT_NODE +/** + * HTML_ENTITY_REF_NODE: + * + * Macro. An entity reference in a HTML document is really implemented + * the same way as an entity reference in an XML document. + */ +#define HTML_ENTITY_REF_NODE XML_ENTITY_REF_NODE +/** + * HTML_COMMENT_NODE: + * + * Macro. A comment in a HTML document is really implemented + * the same way as a comment in an XML document. + */ +#define HTML_COMMENT_NODE XML_COMMENT_NODE +/** + * HTML_PRESERVE_NODE: + * + * Macro. A preserved node in a HTML document is really implemented + * the same way as a CDATA section in an XML document. + */ +#define HTML_PRESERVE_NODE XML_CDATA_SECTION_NODE +/** + * HTML_PI_NODE: + * + * Macro. A processing instruction in a HTML document is really implemented + * the same way as a processing instruction in an XML document. + */ +#define HTML_PI_NODE XML_PI_NODE + +XMLPUBFUN htmlDocPtr + htmlNewDoc (const xmlChar *URI, + const xmlChar *ExternalID); +XMLPUBFUN htmlDocPtr + htmlNewDocNoDtD (const xmlChar *URI, + const xmlChar *ExternalID); +XMLPUBFUN const xmlChar * + htmlGetMetaEncoding (htmlDocPtr doc); +XMLPUBFUN int + htmlSetMetaEncoding (htmlDocPtr doc, + const xmlChar *encoding); +#ifdef LIBXML_OUTPUT_ENABLED +XMLPUBFUN void + htmlDocDumpMemory (xmlDocPtr cur, + xmlChar **mem, + int *size); +XMLPUBFUN void + htmlDocDumpMemoryFormat (xmlDocPtr cur, + xmlChar **mem, + int *size, + int format); +XMLPUBFUN int + htmlDocDump (FILE *f, + xmlDocPtr cur); +XMLPUBFUN int + htmlSaveFile (const char *filename, + xmlDocPtr cur); +XMLPUBFUN int + htmlNodeDump (xmlBufferPtr buf, + xmlDocPtr doc, + xmlNodePtr cur); +XMLPUBFUN void + htmlNodeDumpFile (FILE *out, + xmlDocPtr doc, + xmlNodePtr cur); +XMLPUBFUN int + htmlNodeDumpFileFormat (FILE *out, + xmlDocPtr doc, + xmlNodePtr cur, + const char *encoding, + int format); +XMLPUBFUN int + htmlSaveFileEnc (const char *filename, + xmlDocPtr cur, + const char *encoding); +XMLPUBFUN int + htmlSaveFileFormat (const char *filename, + xmlDocPtr cur, + const char *encoding, + int format); + +XMLPUBFUN void + htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf, + xmlDocPtr doc, + xmlNodePtr cur, + const char *encoding, + int format); +XMLPUBFUN void + htmlDocContentDumpOutput(xmlOutputBufferPtr buf, + xmlDocPtr cur, + const char *encoding); +XMLPUBFUN void + htmlDocContentDumpFormatOutput(xmlOutputBufferPtr buf, + xmlDocPtr cur, + const char *encoding, + int format); +XMLPUBFUN void + htmlNodeDumpOutput (xmlOutputBufferPtr buf, + xmlDocPtr doc, + xmlNodePtr cur, + const char *encoding); + +#endif /* LIBXML_OUTPUT_ENABLED */ + +XMLPUBFUN int + htmlIsBooleanAttr (const xmlChar *name); + + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_HTML_ENABLED */ + +#endif /* __HTML_TREE_H__ */ + diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/SAX.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/SAX.h new file mode 100644 index 0000000..eea1057 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/SAX.h @@ -0,0 +1,202 @@ +/* + * Summary: Old SAX version 1 handler, deprecated + * Description: DEPRECATED set of SAX version 1 interfaces used to + * build the DOM tree. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + + +#ifndef __XML_SAX_H__ +#define __XML_SAX_H__ + +#include +#include + +#ifdef LIBXML_LEGACY_ENABLED + +#ifdef __cplusplus +extern "C" { +#endif +XML_DEPRECATED +XMLPUBFUN const xmlChar * + getPublicId (void *ctx); +XML_DEPRECATED +XMLPUBFUN const xmlChar * + getSystemId (void *ctx); +XML_DEPRECATED +XMLPUBFUN void + setDocumentLocator (void *ctx, + xmlSAXLocatorPtr loc); + +XML_DEPRECATED +XMLPUBFUN int + getLineNumber (void *ctx); +XML_DEPRECATED +XMLPUBFUN int + getColumnNumber (void *ctx); + +XML_DEPRECATED +XMLPUBFUN int + isStandalone (void *ctx); +XML_DEPRECATED +XMLPUBFUN int + hasInternalSubset (void *ctx); +XML_DEPRECATED +XMLPUBFUN int + hasExternalSubset (void *ctx); + +XML_DEPRECATED +XMLPUBFUN void + internalSubset (void *ctx, + const xmlChar *name, + const xmlChar *ExternalID, + const xmlChar *SystemID); +XML_DEPRECATED +XMLPUBFUN void + externalSubset (void *ctx, + const xmlChar *name, + const xmlChar *ExternalID, + const xmlChar *SystemID); +XML_DEPRECATED +XMLPUBFUN xmlEntityPtr + getEntity (void *ctx, + const xmlChar *name); +XML_DEPRECATED +XMLPUBFUN xmlEntityPtr + getParameterEntity (void *ctx, + const xmlChar *name); +XML_DEPRECATED +XMLPUBFUN xmlParserInputPtr + resolveEntity (void *ctx, + const xmlChar *publicId, + const xmlChar *systemId); + +XML_DEPRECATED +XMLPUBFUN void + entityDecl (void *ctx, + const xmlChar *name, + int type, + const xmlChar *publicId, + const xmlChar *systemId, + xmlChar *content); +XML_DEPRECATED +XMLPUBFUN void + attributeDecl (void *ctx, + const xmlChar *elem, + const xmlChar *fullname, + int type, + int def, + const xmlChar *defaultValue, + xmlEnumerationPtr tree); +XML_DEPRECATED +XMLPUBFUN void + elementDecl (void *ctx, + const xmlChar *name, + int type, + xmlElementContentPtr content); +XML_DEPRECATED +XMLPUBFUN void + notationDecl (void *ctx, + const xmlChar *name, + const xmlChar *publicId, + const xmlChar *systemId); +XML_DEPRECATED +XMLPUBFUN void + unparsedEntityDecl (void *ctx, + const xmlChar *name, + const xmlChar *publicId, + const xmlChar *systemId, + const xmlChar *notationName); + +XML_DEPRECATED +XMLPUBFUN void + startDocument (void *ctx); +XML_DEPRECATED +XMLPUBFUN void + endDocument (void *ctx); +XML_DEPRECATED +XMLPUBFUN void + attribute (void *ctx, + const xmlChar *fullname, + const xmlChar *value); +XML_DEPRECATED +XMLPUBFUN void + startElement (void *ctx, + const xmlChar *fullname, + const xmlChar **atts); +XML_DEPRECATED +XMLPUBFUN void + endElement (void *ctx, + const xmlChar *name); +XML_DEPRECATED +XMLPUBFUN void + reference (void *ctx, + const xmlChar *name); +XML_DEPRECATED +XMLPUBFUN void + characters (void *ctx, + const xmlChar *ch, + int len); +XML_DEPRECATED +XMLPUBFUN void + ignorableWhitespace (void *ctx, + const xmlChar *ch, + int len); +XML_DEPRECATED +XMLPUBFUN void + processingInstruction (void *ctx, + const xmlChar *target, + const xmlChar *data); +XML_DEPRECATED +XMLPUBFUN void + globalNamespace (void *ctx, + const xmlChar *href, + const xmlChar *prefix); +XML_DEPRECATED +XMLPUBFUN void + setNamespace (void *ctx, + const xmlChar *name); +XML_DEPRECATED +XMLPUBFUN xmlNsPtr + getNamespace (void *ctx); +XML_DEPRECATED +XMLPUBFUN int + checkNamespace (void *ctx, + xmlChar *nameSpace); +XML_DEPRECATED +XMLPUBFUN void + namespaceDecl (void *ctx, + const xmlChar *href, + const xmlChar *prefix); +XML_DEPRECATED +XMLPUBFUN void + comment (void *ctx, + const xmlChar *value); +XML_DEPRECATED +XMLPUBFUN void + cdataBlock (void *ctx, + const xmlChar *value, + int len); + +#ifdef LIBXML_SAX1_ENABLED +XML_DEPRECATED +XMLPUBFUN void + initxmlDefaultSAXHandler (xmlSAXHandlerV1 *hdlr, + int warning); +#ifdef LIBXML_HTML_ENABLED +XML_DEPRECATED +XMLPUBFUN void + inithtmlDefaultSAXHandler (xmlSAXHandlerV1 *hdlr); +#endif +#endif /* LIBXML_SAX1_ENABLED */ + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_LEGACY_ENABLED */ + +#endif /* __XML_SAX_H__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/SAX2.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/SAX2.h new file mode 100644 index 0000000..4c4ecce --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/SAX2.h @@ -0,0 +1,171 @@ +/* + * Summary: SAX2 parser interface used to build the DOM tree + * Description: those are the default SAX2 interfaces used by + * the library when building DOM tree. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + + +#ifndef __XML_SAX2_H__ +#define __XML_SAX2_H__ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif +XMLPUBFUN const xmlChar * + xmlSAX2GetPublicId (void *ctx); +XMLPUBFUN const xmlChar * + xmlSAX2GetSystemId (void *ctx); +XMLPUBFUN void + xmlSAX2SetDocumentLocator (void *ctx, + xmlSAXLocatorPtr loc); + +XMLPUBFUN int + xmlSAX2GetLineNumber (void *ctx); +XMLPUBFUN int + xmlSAX2GetColumnNumber (void *ctx); + +XMLPUBFUN int + xmlSAX2IsStandalone (void *ctx); +XMLPUBFUN int + xmlSAX2HasInternalSubset (void *ctx); +XMLPUBFUN int + xmlSAX2HasExternalSubset (void *ctx); + +XMLPUBFUN void + xmlSAX2InternalSubset (void *ctx, + const xmlChar *name, + const xmlChar *ExternalID, + const xmlChar *SystemID); +XMLPUBFUN void + xmlSAX2ExternalSubset (void *ctx, + const xmlChar *name, + const xmlChar *ExternalID, + const xmlChar *SystemID); +XMLPUBFUN xmlEntityPtr + xmlSAX2GetEntity (void *ctx, + const xmlChar *name); +XMLPUBFUN xmlEntityPtr + xmlSAX2GetParameterEntity (void *ctx, + const xmlChar *name); +XMLPUBFUN xmlParserInputPtr + xmlSAX2ResolveEntity (void *ctx, + const xmlChar *publicId, + const xmlChar *systemId); + +XMLPUBFUN void + xmlSAX2EntityDecl (void *ctx, + const xmlChar *name, + int type, + const xmlChar *publicId, + const xmlChar *systemId, + xmlChar *content); +XMLPUBFUN void + xmlSAX2AttributeDecl (void *ctx, + const xmlChar *elem, + const xmlChar *fullname, + int type, + int def, + const xmlChar *defaultValue, + xmlEnumerationPtr tree); +XMLPUBFUN void + xmlSAX2ElementDecl (void *ctx, + const xmlChar *name, + int type, + xmlElementContentPtr content); +XMLPUBFUN void + xmlSAX2NotationDecl (void *ctx, + const xmlChar *name, + const xmlChar *publicId, + const xmlChar *systemId); +XMLPUBFUN void + xmlSAX2UnparsedEntityDecl (void *ctx, + const xmlChar *name, + const xmlChar *publicId, + const xmlChar *systemId, + const xmlChar *notationName); + +XMLPUBFUN void + xmlSAX2StartDocument (void *ctx); +XMLPUBFUN void + xmlSAX2EndDocument (void *ctx); +#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || \ + defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_LEGACY_ENABLED) +XMLPUBFUN void + xmlSAX2StartElement (void *ctx, + const xmlChar *fullname, + const xmlChar **atts); +XMLPUBFUN void + xmlSAX2EndElement (void *ctx, + const xmlChar *name); +#endif /* LIBXML_SAX1_ENABLED or LIBXML_HTML_ENABLED or LIBXML_LEGACY_ENABLED */ +XMLPUBFUN void + xmlSAX2StartElementNs (void *ctx, + const xmlChar *localname, + const xmlChar *prefix, + const xmlChar *URI, + int nb_namespaces, + const xmlChar **namespaces, + int nb_attributes, + int nb_defaulted, + const xmlChar **attributes); +XMLPUBFUN void + xmlSAX2EndElementNs (void *ctx, + const xmlChar *localname, + const xmlChar *prefix, + const xmlChar *URI); +XMLPUBFUN void + xmlSAX2Reference (void *ctx, + const xmlChar *name); +XMLPUBFUN void + xmlSAX2Characters (void *ctx, + const xmlChar *ch, + int len); +XMLPUBFUN void + xmlSAX2IgnorableWhitespace (void *ctx, + const xmlChar *ch, + int len); +XMLPUBFUN void + xmlSAX2ProcessingInstruction (void *ctx, + const xmlChar *target, + const xmlChar *data); +XMLPUBFUN void + xmlSAX2Comment (void *ctx, + const xmlChar *value); +XMLPUBFUN void + xmlSAX2CDataBlock (void *ctx, + const xmlChar *value, + int len); + +#ifdef LIBXML_SAX1_ENABLED +XML_DEPRECATED +XMLPUBFUN int + xmlSAXDefaultVersion (int version); +#endif /* LIBXML_SAX1_ENABLED */ + +XMLPUBFUN int + xmlSAXVersion (xmlSAXHandler *hdlr, + int version); +XMLPUBFUN void + xmlSAX2InitDefaultSAXHandler (xmlSAXHandler *hdlr, + int warning); +#ifdef LIBXML_HTML_ENABLED +XMLPUBFUN void + xmlSAX2InitHtmlDefaultSAXHandler(xmlSAXHandler *hdlr); +XML_DEPRECATED +XMLPUBFUN void + htmlDefaultSAXHandlerInit (void); +#endif +XML_DEPRECATED +XMLPUBFUN void + xmlDefaultSAXHandlerInit (void); +#ifdef __cplusplus +} +#endif +#endif /* __XML_SAX2_H__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/c14n.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/c14n.h new file mode 100644 index 0000000..8ccd1ce --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/c14n.h @@ -0,0 +1,115 @@ +/* + * Summary: Provide Canonical XML and Exclusive XML Canonicalization + * Description: the c14n modules provides a + * + * "Canonical XML" implementation + * http://www.w3.org/TR/xml-c14n + * + * and an + * + * "Exclusive XML Canonicalization" implementation + * http://www.w3.org/TR/xml-exc-c14n + + * Copy: See Copyright for the status of this software. + * + * Author: Aleksey Sanin + */ +#ifndef __XML_C14N_H__ +#define __XML_C14N_H__ + +#include + +#ifdef LIBXML_C14N_ENABLED + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +/* + * XML Canonicalization + * http://www.w3.org/TR/xml-c14n + * + * Exclusive XML Canonicalization + * http://www.w3.org/TR/xml-exc-c14n + * + * Canonical form of an XML document could be created if and only if + * a) default attributes (if any) are added to all nodes + * b) all character and parsed entity references are resolved + * In order to achieve this in libxml2 the document MUST be loaded with + * following options: XML_PARSE_DTDATTR | XML_PARSE_NOENT + */ + +/* + * xmlC14NMode: + * + * Predefined values for C14N modes + * + */ +typedef enum { + XML_C14N_1_0 = 0, /* Original C14N 1.0 spec */ + XML_C14N_EXCLUSIVE_1_0 = 1, /* Exclusive C14N 1.0 spec */ + XML_C14N_1_1 = 2 /* C14N 1.1 spec */ +} xmlC14NMode; + +XMLPUBFUN int + xmlC14NDocSaveTo (xmlDocPtr doc, + xmlNodeSetPtr nodes, + int mode, /* a xmlC14NMode */ + xmlChar **inclusive_ns_prefixes, + int with_comments, + xmlOutputBufferPtr buf); + +XMLPUBFUN int + xmlC14NDocDumpMemory (xmlDocPtr doc, + xmlNodeSetPtr nodes, + int mode, /* a xmlC14NMode */ + xmlChar **inclusive_ns_prefixes, + int with_comments, + xmlChar **doc_txt_ptr); + +XMLPUBFUN int + xmlC14NDocSave (xmlDocPtr doc, + xmlNodeSetPtr nodes, + int mode, /* a xmlC14NMode */ + xmlChar **inclusive_ns_prefixes, + int with_comments, + const char* filename, + int compression); + + +/** + * This is the core C14N function + */ +/** + * xmlC14NIsVisibleCallback: + * @user_data: user data + * @node: the current node + * @parent: the parent node + * + * Signature for a C14N callback on visible nodes + * + * Returns 1 if the node should be included + */ +typedef int (*xmlC14NIsVisibleCallback) (void* user_data, + xmlNodePtr node, + xmlNodePtr parent); + +XMLPUBFUN int + xmlC14NExecute (xmlDocPtr doc, + xmlC14NIsVisibleCallback is_visible_callback, + void* user_data, + int mode, /* a xmlC14NMode */ + xmlChar **inclusive_ns_prefixes, + int with_comments, + xmlOutputBufferPtr buf); + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* LIBXML_C14N_ENABLED */ +#endif /* __XML_C14N_H__ */ + diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/catalog.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/catalog.h new file mode 100644 index 0000000..02fa7ab --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/catalog.h @@ -0,0 +1,182 @@ +/** + * Summary: interfaces to the Catalog handling system + * Description: the catalog module implements the support for + * XML Catalogs and SGML catalogs + * + * SGML Open Technical Resolution TR9401:1997. + * http://www.jclark.com/sp/catalog.htm + * + * XML Catalogs Working Draft 06 August 2001 + * http://www.oasis-open.org/committees/entity/spec-2001-08-06.html + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_CATALOG_H__ +#define __XML_CATALOG_H__ + +#include + +#include +#include +#include + +#ifdef LIBXML_CATALOG_ENABLED + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * XML_CATALOGS_NAMESPACE: + * + * The namespace for the XML Catalogs elements. + */ +#define XML_CATALOGS_NAMESPACE \ + (const xmlChar *) "urn:oasis:names:tc:entity:xmlns:xml:catalog" +/** + * XML_CATALOG_PI: + * + * The specific XML Catalog Processing Instruction name. + */ +#define XML_CATALOG_PI \ + (const xmlChar *) "oasis-xml-catalog" + +/* + * The API is voluntarily limited to general cataloging. + */ +typedef enum { + XML_CATA_PREFER_NONE = 0, + XML_CATA_PREFER_PUBLIC = 1, + XML_CATA_PREFER_SYSTEM +} xmlCatalogPrefer; + +typedef enum { + XML_CATA_ALLOW_NONE = 0, + XML_CATA_ALLOW_GLOBAL = 1, + XML_CATA_ALLOW_DOCUMENT = 2, + XML_CATA_ALLOW_ALL = 3 +} xmlCatalogAllow; + +typedef struct _xmlCatalog xmlCatalog; +typedef xmlCatalog *xmlCatalogPtr; + +/* + * Operations on a given catalog. + */ +XMLPUBFUN xmlCatalogPtr + xmlNewCatalog (int sgml); +XMLPUBFUN xmlCatalogPtr + xmlLoadACatalog (const char *filename); +XMLPUBFUN xmlCatalogPtr + xmlLoadSGMLSuperCatalog (const char *filename); +XMLPUBFUN int + xmlConvertSGMLCatalog (xmlCatalogPtr catal); +XMLPUBFUN int + xmlACatalogAdd (xmlCatalogPtr catal, + const xmlChar *type, + const xmlChar *orig, + const xmlChar *replace); +XMLPUBFUN int + xmlACatalogRemove (xmlCatalogPtr catal, + const xmlChar *value); +XMLPUBFUN xmlChar * + xmlACatalogResolve (xmlCatalogPtr catal, + const xmlChar *pubID, + const xmlChar *sysID); +XMLPUBFUN xmlChar * + xmlACatalogResolveSystem(xmlCatalogPtr catal, + const xmlChar *sysID); +XMLPUBFUN xmlChar * + xmlACatalogResolvePublic(xmlCatalogPtr catal, + const xmlChar *pubID); +XMLPUBFUN xmlChar * + xmlACatalogResolveURI (xmlCatalogPtr catal, + const xmlChar *URI); +#ifdef LIBXML_OUTPUT_ENABLED +XMLPUBFUN void + xmlACatalogDump (xmlCatalogPtr catal, + FILE *out); +#endif /* LIBXML_OUTPUT_ENABLED */ +XMLPUBFUN void + xmlFreeCatalog (xmlCatalogPtr catal); +XMLPUBFUN int + xmlCatalogIsEmpty (xmlCatalogPtr catal); + +/* + * Global operations. + */ +XMLPUBFUN void + xmlInitializeCatalog (void); +XMLPUBFUN int + xmlLoadCatalog (const char *filename); +XMLPUBFUN void + xmlLoadCatalogs (const char *paths); +XMLPUBFUN void + xmlCatalogCleanup (void); +#ifdef LIBXML_OUTPUT_ENABLED +XMLPUBFUN void + xmlCatalogDump (FILE *out); +#endif /* LIBXML_OUTPUT_ENABLED */ +XMLPUBFUN xmlChar * + xmlCatalogResolve (const xmlChar *pubID, + const xmlChar *sysID); +XMLPUBFUN xmlChar * + xmlCatalogResolveSystem (const xmlChar *sysID); +XMLPUBFUN xmlChar * + xmlCatalogResolvePublic (const xmlChar *pubID); +XMLPUBFUN xmlChar * + xmlCatalogResolveURI (const xmlChar *URI); +XMLPUBFUN int + xmlCatalogAdd (const xmlChar *type, + const xmlChar *orig, + const xmlChar *replace); +XMLPUBFUN int + xmlCatalogRemove (const xmlChar *value); +XMLPUBFUN xmlDocPtr + xmlParseCatalogFile (const char *filename); +XMLPUBFUN int + xmlCatalogConvert (void); + +/* + * Strictly minimal interfaces for per-document catalogs used + * by the parser. + */ +XMLPUBFUN void + xmlCatalogFreeLocal (void *catalogs); +XMLPUBFUN void * + xmlCatalogAddLocal (void *catalogs, + const xmlChar *URL); +XMLPUBFUN xmlChar * + xmlCatalogLocalResolve (void *catalogs, + const xmlChar *pubID, + const xmlChar *sysID); +XMLPUBFUN xmlChar * + xmlCatalogLocalResolveURI(void *catalogs, + const xmlChar *URI); +/* + * Preference settings. + */ +XMLPUBFUN int + xmlCatalogSetDebug (int level); +XMLPUBFUN xmlCatalogPrefer + xmlCatalogSetDefaultPrefer(xmlCatalogPrefer prefer); +XMLPUBFUN void + xmlCatalogSetDefaults (xmlCatalogAllow allow); +XMLPUBFUN xmlCatalogAllow + xmlCatalogGetDefaults (void); + + +/* DEPRECATED interfaces */ +XMLPUBFUN const xmlChar * + xmlCatalogGetSystem (const xmlChar *sysID); +XMLPUBFUN const xmlChar * + xmlCatalogGetPublic (const xmlChar *pubID); + +#ifdef __cplusplus +} +#endif +#endif /* LIBXML_CATALOG_ENABLED */ +#endif /* __XML_CATALOG_H__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/chvalid.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/chvalid.h new file mode 100644 index 0000000..8225c95 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/chvalid.h @@ -0,0 +1,230 @@ +/* + * Summary: Unicode character range checking + * Description: this module exports interfaces for the character + * range validation APIs + * + * This file is automatically generated from the cvs source + * definition files using the genChRanges.py Python script + * + * Generation date: Mon Mar 27 11:09:48 2006 + * Sources: chvalid.def + * Author: William Brack + */ + +#ifndef __XML_CHVALID_H__ +#define __XML_CHVALID_H__ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Define our typedefs and structures + * + */ +typedef struct _xmlChSRange xmlChSRange; +typedef xmlChSRange *xmlChSRangePtr; +struct _xmlChSRange { + unsigned short low; + unsigned short high; +}; + +typedef struct _xmlChLRange xmlChLRange; +typedef xmlChLRange *xmlChLRangePtr; +struct _xmlChLRange { + unsigned int low; + unsigned int high; +}; + +typedef struct _xmlChRangeGroup xmlChRangeGroup; +typedef xmlChRangeGroup *xmlChRangeGroupPtr; +struct _xmlChRangeGroup { + int nbShortRange; + int nbLongRange; + const xmlChSRange *shortRange; /* points to an array of ranges */ + const xmlChLRange *longRange; +}; + +/** + * Range checking routine + */ +XMLPUBFUN int + xmlCharInRange(unsigned int val, const xmlChRangeGroup *group); + + +/** + * xmlIsBaseChar_ch: + * @c: char to validate + * + * Automatically generated by genChRanges.py + */ +#define xmlIsBaseChar_ch(c) (((0x41 <= (c)) && ((c) <= 0x5a)) || \ + ((0x61 <= (c)) && ((c) <= 0x7a)) || \ + ((0xc0 <= (c)) && ((c) <= 0xd6)) || \ + ((0xd8 <= (c)) && ((c) <= 0xf6)) || \ + (0xf8 <= (c))) + +/** + * xmlIsBaseCharQ: + * @c: char to validate + * + * Automatically generated by genChRanges.py + */ +#define xmlIsBaseCharQ(c) (((c) < 0x100) ? \ + xmlIsBaseChar_ch((c)) : \ + xmlCharInRange((c), &xmlIsBaseCharGroup)) + +XMLPUBVAR const xmlChRangeGroup xmlIsBaseCharGroup; + +/** + * xmlIsBlank_ch: + * @c: char to validate + * + * Automatically generated by genChRanges.py + */ +#define xmlIsBlank_ch(c) (((c) == 0x20) || \ + ((0x9 <= (c)) && ((c) <= 0xa)) || \ + ((c) == 0xd)) + +/** + * xmlIsBlankQ: + * @c: char to validate + * + * Automatically generated by genChRanges.py + */ +#define xmlIsBlankQ(c) (((c) < 0x100) ? \ + xmlIsBlank_ch((c)) : 0) + + +/** + * xmlIsChar_ch: + * @c: char to validate + * + * Automatically generated by genChRanges.py + */ +#define xmlIsChar_ch(c) (((0x9 <= (c)) && ((c) <= 0xa)) || \ + ((c) == 0xd) || \ + (0x20 <= (c))) + +/** + * xmlIsCharQ: + * @c: char to validate + * + * Automatically generated by genChRanges.py + */ +#define xmlIsCharQ(c) (((c) < 0x100) ? \ + xmlIsChar_ch((c)) :\ + (((0x100 <= (c)) && ((c) <= 0xd7ff)) || \ + ((0xe000 <= (c)) && ((c) <= 0xfffd)) || \ + ((0x10000 <= (c)) && ((c) <= 0x10ffff)))) + +XMLPUBVAR const xmlChRangeGroup xmlIsCharGroup; + +/** + * xmlIsCombiningQ: + * @c: char to validate + * + * Automatically generated by genChRanges.py + */ +#define xmlIsCombiningQ(c) (((c) < 0x100) ? \ + 0 : \ + xmlCharInRange((c), &xmlIsCombiningGroup)) + +XMLPUBVAR const xmlChRangeGroup xmlIsCombiningGroup; + +/** + * xmlIsDigit_ch: + * @c: char to validate + * + * Automatically generated by genChRanges.py + */ +#define xmlIsDigit_ch(c) (((0x30 <= (c)) && ((c) <= 0x39))) + +/** + * xmlIsDigitQ: + * @c: char to validate + * + * Automatically generated by genChRanges.py + */ +#define xmlIsDigitQ(c) (((c) < 0x100) ? \ + xmlIsDigit_ch((c)) : \ + xmlCharInRange((c), &xmlIsDigitGroup)) + +XMLPUBVAR const xmlChRangeGroup xmlIsDigitGroup; + +/** + * xmlIsExtender_ch: + * @c: char to validate + * + * Automatically generated by genChRanges.py + */ +#define xmlIsExtender_ch(c) (((c) == 0xb7)) + +/** + * xmlIsExtenderQ: + * @c: char to validate + * + * Automatically generated by genChRanges.py + */ +#define xmlIsExtenderQ(c) (((c) < 0x100) ? \ + xmlIsExtender_ch((c)) : \ + xmlCharInRange((c), &xmlIsExtenderGroup)) + +XMLPUBVAR const xmlChRangeGroup xmlIsExtenderGroup; + +/** + * xmlIsIdeographicQ: + * @c: char to validate + * + * Automatically generated by genChRanges.py + */ +#define xmlIsIdeographicQ(c) (((c) < 0x100) ? \ + 0 :\ + (((0x4e00 <= (c)) && ((c) <= 0x9fa5)) || \ + ((c) == 0x3007) || \ + ((0x3021 <= (c)) && ((c) <= 0x3029)))) + +XMLPUBVAR const xmlChRangeGroup xmlIsIdeographicGroup; +XMLPUBVAR const unsigned char xmlIsPubidChar_tab[256]; + +/** + * xmlIsPubidChar_ch: + * @c: char to validate + * + * Automatically generated by genChRanges.py + */ +#define xmlIsPubidChar_ch(c) (xmlIsPubidChar_tab[(c)]) + +/** + * xmlIsPubidCharQ: + * @c: char to validate + * + * Automatically generated by genChRanges.py + */ +#define xmlIsPubidCharQ(c) (((c) < 0x100) ? \ + xmlIsPubidChar_ch((c)) : 0) + +XMLPUBFUN int + xmlIsBaseChar(unsigned int ch); +XMLPUBFUN int + xmlIsBlank(unsigned int ch); +XMLPUBFUN int + xmlIsChar(unsigned int ch); +XMLPUBFUN int + xmlIsCombining(unsigned int ch); +XMLPUBFUN int + xmlIsDigit(unsigned int ch); +XMLPUBFUN int + xmlIsExtender(unsigned int ch); +XMLPUBFUN int + xmlIsIdeographic(unsigned int ch); +XMLPUBFUN int + xmlIsPubidChar(unsigned int ch); + +#ifdef __cplusplus +} +#endif +#endif /* __XML_CHVALID_H__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/debugXML.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/debugXML.h new file mode 100644 index 0000000..1332dd7 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/debugXML.h @@ -0,0 +1,217 @@ +/* + * Summary: Tree debugging APIs + * Description: Interfaces to a set of routines used for debugging the tree + * produced by the XML parser. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __DEBUG_XML__ +#define __DEBUG_XML__ +#include +#include +#include + +#ifdef LIBXML_DEBUG_ENABLED + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * The standard Dump routines. + */ +XMLPUBFUN void + xmlDebugDumpString (FILE *output, + const xmlChar *str); +XMLPUBFUN void + xmlDebugDumpAttr (FILE *output, + xmlAttrPtr attr, + int depth); +XMLPUBFUN void + xmlDebugDumpAttrList (FILE *output, + xmlAttrPtr attr, + int depth); +XMLPUBFUN void + xmlDebugDumpOneNode (FILE *output, + xmlNodePtr node, + int depth); +XMLPUBFUN void + xmlDebugDumpNode (FILE *output, + xmlNodePtr node, + int depth); +XMLPUBFUN void + xmlDebugDumpNodeList (FILE *output, + xmlNodePtr node, + int depth); +XMLPUBFUN void + xmlDebugDumpDocumentHead(FILE *output, + xmlDocPtr doc); +XMLPUBFUN void + xmlDebugDumpDocument (FILE *output, + xmlDocPtr doc); +XMLPUBFUN void + xmlDebugDumpDTD (FILE *output, + xmlDtdPtr dtd); +XMLPUBFUN void + xmlDebugDumpEntities (FILE *output, + xmlDocPtr doc); + +/**************************************************************** + * * + * Checking routines * + * * + ****************************************************************/ + +XMLPUBFUN int + xmlDebugCheckDocument (FILE * output, + xmlDocPtr doc); + +/**************************************************************** + * * + * XML shell helpers * + * * + ****************************************************************/ + +XMLPUBFUN void + xmlLsOneNode (FILE *output, xmlNodePtr node); +XMLPUBFUN int + xmlLsCountNode (xmlNodePtr node); + +XMLPUBFUN const char * + xmlBoolToText (int boolval); + +/**************************************************************** + * * + * The XML shell related structures and functions * + * * + ****************************************************************/ + +#ifdef LIBXML_XPATH_ENABLED +/** + * xmlShellReadlineFunc: + * @prompt: a string prompt + * + * This is a generic signature for the XML shell input function. + * + * Returns a string which will be freed by the Shell. + */ +typedef char * (* xmlShellReadlineFunc)(char *prompt); + +/** + * xmlShellCtxt: + * + * A debugging shell context. + * TODO: add the defined function tables. + */ +typedef struct _xmlShellCtxt xmlShellCtxt; +typedef xmlShellCtxt *xmlShellCtxtPtr; +struct _xmlShellCtxt { + char *filename; + xmlDocPtr doc; + xmlNodePtr node; + xmlXPathContextPtr pctxt; + int loaded; + FILE *output; + xmlShellReadlineFunc input; +}; + +/** + * xmlShellCmd: + * @ctxt: a shell context + * @arg: a string argument + * @node: a first node + * @node2: a second node + * + * This is a generic signature for the XML shell functions. + * + * Returns an int, negative returns indicating errors. + */ +typedef int (* xmlShellCmd) (xmlShellCtxtPtr ctxt, + char *arg, + xmlNodePtr node, + xmlNodePtr node2); + +XMLPUBFUN void + xmlShellPrintXPathError (int errorType, + const char *arg); +XMLPUBFUN void + xmlShellPrintXPathResult(xmlXPathObjectPtr list); +XMLPUBFUN int + xmlShellList (xmlShellCtxtPtr ctxt, + char *arg, + xmlNodePtr node, + xmlNodePtr node2); +XMLPUBFUN int + xmlShellBase (xmlShellCtxtPtr ctxt, + char *arg, + xmlNodePtr node, + xmlNodePtr node2); +XMLPUBFUN int + xmlShellDir (xmlShellCtxtPtr ctxt, + char *arg, + xmlNodePtr node, + xmlNodePtr node2); +XMLPUBFUN int + xmlShellLoad (xmlShellCtxtPtr ctxt, + char *filename, + xmlNodePtr node, + xmlNodePtr node2); +#ifdef LIBXML_OUTPUT_ENABLED +XMLPUBFUN void + xmlShellPrintNode (xmlNodePtr node); +XMLPUBFUN int + xmlShellCat (xmlShellCtxtPtr ctxt, + char *arg, + xmlNodePtr node, + xmlNodePtr node2); +XMLPUBFUN int + xmlShellWrite (xmlShellCtxtPtr ctxt, + char *filename, + xmlNodePtr node, + xmlNodePtr node2); +XMLPUBFUN int + xmlShellSave (xmlShellCtxtPtr ctxt, + char *filename, + xmlNodePtr node, + xmlNodePtr node2); +#endif /* LIBXML_OUTPUT_ENABLED */ +#ifdef LIBXML_VALID_ENABLED +XMLPUBFUN int + xmlShellValidate (xmlShellCtxtPtr ctxt, + char *dtd, + xmlNodePtr node, + xmlNodePtr node2); +#endif /* LIBXML_VALID_ENABLED */ +XMLPUBFUN int + xmlShellDu (xmlShellCtxtPtr ctxt, + char *arg, + xmlNodePtr tree, + xmlNodePtr node2); +XMLPUBFUN int + xmlShellPwd (xmlShellCtxtPtr ctxt, + char *buffer, + xmlNodePtr node, + xmlNodePtr node2); + +/* + * The Shell interface. + */ +XMLPUBFUN void + xmlShell (xmlDocPtr doc, + const char *filename, + xmlShellReadlineFunc input, + FILE *output); + +#endif /* LIBXML_XPATH_ENABLED */ + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_DEBUG_ENABLED */ +#endif /* __DEBUG_XML__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/dict.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/dict.h new file mode 100644 index 0000000..22aa3d9 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/dict.h @@ -0,0 +1,82 @@ +/* + * Summary: string dictionary + * Description: dictionary of reusable strings, just used to avoid allocation + * and freeing operations. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_DICT_H__ +#define __XML_DICT_H__ + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * The dictionary. + */ +typedef struct _xmlDict xmlDict; +typedef xmlDict *xmlDictPtr; + +/* + * Initializer + */ +XML_DEPRECATED +XMLPUBFUN int xmlInitializeDict(void); + +/* + * Constructor and destructor. + */ +XMLPUBFUN xmlDictPtr + xmlDictCreate (void); +XMLPUBFUN size_t + xmlDictSetLimit (xmlDictPtr dict, + size_t limit); +XMLPUBFUN size_t + xmlDictGetUsage (xmlDictPtr dict); +XMLPUBFUN xmlDictPtr + xmlDictCreateSub(xmlDictPtr sub); +XMLPUBFUN int + xmlDictReference(xmlDictPtr dict); +XMLPUBFUN void + xmlDictFree (xmlDictPtr dict); + +/* + * Lookup of entry in the dictionary. + */ +XMLPUBFUN const xmlChar * + xmlDictLookup (xmlDictPtr dict, + const xmlChar *name, + int len); +XMLPUBFUN const xmlChar * + xmlDictExists (xmlDictPtr dict, + const xmlChar *name, + int len); +XMLPUBFUN const xmlChar * + xmlDictQLookup (xmlDictPtr dict, + const xmlChar *prefix, + const xmlChar *name); +XMLPUBFUN int + xmlDictOwns (xmlDictPtr dict, + const xmlChar *str); +XMLPUBFUN int + xmlDictSize (xmlDictPtr dict); + +/* + * Cleanup function + */ +XML_DEPRECATED +XMLPUBFUN void + xmlDictCleanup (void); + +#ifdef __cplusplus +} +#endif +#endif /* ! __XML_DICT_H__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/encoding.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/encoding.h new file mode 100644 index 0000000..599a03e --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/encoding.h @@ -0,0 +1,244 @@ +/* + * Summary: interface for the encoding conversion functions + * Description: interface for the encoding conversion functions needed for + * XML basic encoding and iconv() support. + * + * Related specs are + * rfc2044 (UTF-8 and UTF-16) F. Yergeau Alis Technologies + * [ISO-10646] UTF-8 and UTF-16 in Annexes + * [ISO-8859-1] ISO Latin-1 characters codes. + * [UNICODE] The Unicode Consortium, "The Unicode Standard -- + * Worldwide Character Encoding -- Version 1.0", Addison- + * Wesley, Volume 1, 1991, Volume 2, 1992. UTF-8 is + * described in Unicode Technical Report #4. + * [US-ASCII] Coded Character Set--7-bit American Standard Code for + * Information Interchange, ANSI X3.4-1986. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_CHAR_ENCODING_H__ +#define __XML_CHAR_ENCODING_H__ + +#include + +#ifdef LIBXML_ICONV_ENABLED +#include +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum { + XML_ENC_ERR_SUCCESS = 0, + XML_ENC_ERR_SPACE = -1, + XML_ENC_ERR_INPUT = -2, + XML_ENC_ERR_PARTIAL = -3, + XML_ENC_ERR_INTERNAL = -4, + XML_ENC_ERR_MEMORY = -5 +} xmlCharEncError; + +/* + * xmlCharEncoding: + * + * Predefined values for some standard encodings. + * Libxml does not do beforehand translation on UTF8 and ISOLatinX. + * It also supports ASCII, ISO-8859-1, and UTF16 (LE and BE) by default. + * + * Anything else would have to be translated to UTF8 before being + * given to the parser itself. The BOM for UTF16 and the encoding + * declaration are looked at and a converter is looked for at that + * point. If not found the parser stops here as asked by the XML REC. A + * converter can be registered by the user using xmlRegisterCharEncodingHandler + * but the current form doesn't allow stateful transcoding (a serious + * problem agreed !). If iconv has been found it will be used + * automatically and allow stateful transcoding, the simplest is then + * to be sure to enable iconv and to provide iconv libs for the encoding + * support needed. + * + * Note that the generic "UTF-16" is not a predefined value. Instead, only + * the specific UTF-16LE and UTF-16BE are present. + */ +typedef enum { + XML_CHAR_ENCODING_ERROR= -1, /* No char encoding detected */ + XML_CHAR_ENCODING_NONE= 0, /* No char encoding detected */ + XML_CHAR_ENCODING_UTF8= 1, /* UTF-8 */ + XML_CHAR_ENCODING_UTF16LE= 2, /* UTF-16 little endian */ + XML_CHAR_ENCODING_UTF16BE= 3, /* UTF-16 big endian */ + XML_CHAR_ENCODING_UCS4LE= 4, /* UCS-4 little endian */ + XML_CHAR_ENCODING_UCS4BE= 5, /* UCS-4 big endian */ + XML_CHAR_ENCODING_EBCDIC= 6, /* EBCDIC uh! */ + XML_CHAR_ENCODING_UCS4_2143=7, /* UCS-4 unusual ordering */ + XML_CHAR_ENCODING_UCS4_3412=8, /* UCS-4 unusual ordering */ + XML_CHAR_ENCODING_UCS2= 9, /* UCS-2 */ + XML_CHAR_ENCODING_8859_1= 10,/* ISO-8859-1 ISO Latin 1 */ + XML_CHAR_ENCODING_8859_2= 11,/* ISO-8859-2 ISO Latin 2 */ + XML_CHAR_ENCODING_8859_3= 12,/* ISO-8859-3 */ + XML_CHAR_ENCODING_8859_4= 13,/* ISO-8859-4 */ + XML_CHAR_ENCODING_8859_5= 14,/* ISO-8859-5 */ + XML_CHAR_ENCODING_8859_6= 15,/* ISO-8859-6 */ + XML_CHAR_ENCODING_8859_7= 16,/* ISO-8859-7 */ + XML_CHAR_ENCODING_8859_8= 17,/* ISO-8859-8 */ + XML_CHAR_ENCODING_8859_9= 18,/* ISO-8859-9 */ + XML_CHAR_ENCODING_2022_JP= 19,/* ISO-2022-JP */ + XML_CHAR_ENCODING_SHIFT_JIS=20,/* Shift_JIS */ + XML_CHAR_ENCODING_EUC_JP= 21,/* EUC-JP */ + XML_CHAR_ENCODING_ASCII= 22 /* pure ASCII */ +} xmlCharEncoding; + +/** + * xmlCharEncodingInputFunc: + * @out: a pointer to an array of bytes to store the UTF-8 result + * @outlen: the length of @out + * @in: a pointer to an array of chars in the original encoding + * @inlen: the length of @in + * + * Take a block of chars in the original encoding and try to convert + * it to an UTF-8 block of chars out. + * + * Returns the number of bytes written, -1 if lack of space, or -2 + * if the transcoding failed. + * The value of @inlen after return is the number of octets consumed + * if the return value is positive, else unpredictiable. + * The value of @outlen after return is the number of octets consumed. + */ +typedef int (* xmlCharEncodingInputFunc)(unsigned char *out, int *outlen, + const unsigned char *in, int *inlen); + + +/** + * xmlCharEncodingOutputFunc: + * @out: a pointer to an array of bytes to store the result + * @outlen: the length of @out + * @in: a pointer to an array of UTF-8 chars + * @inlen: the length of @in + * + * Take a block of UTF-8 chars in and try to convert it to another + * encoding. + * Note: a first call designed to produce heading info is called with + * in = NULL. If stateful this should also initialize the encoder state. + * + * Returns the number of bytes written, -1 if lack of space, or -2 + * if the transcoding failed. + * The value of @inlen after return is the number of octets consumed + * if the return value is positive, else unpredictiable. + * The value of @outlen after return is the number of octets produced. + */ +typedef int (* xmlCharEncodingOutputFunc)(unsigned char *out, int *outlen, + const unsigned char *in, int *inlen); + + +/* + * Block defining the handlers for non UTF-8 encodings. + * If iconv is supported, there are two extra fields. + */ +typedef struct _xmlCharEncodingHandler xmlCharEncodingHandler; +typedef xmlCharEncodingHandler *xmlCharEncodingHandlerPtr; +struct _xmlCharEncodingHandler { + char *name; + xmlCharEncodingInputFunc input; + xmlCharEncodingOutputFunc output; +#ifdef LIBXML_ICONV_ENABLED + iconv_t iconv_in; + iconv_t iconv_out; +#endif /* LIBXML_ICONV_ENABLED */ +#ifdef LIBXML_ICU_ENABLED + struct _uconv_t *uconv_in; + struct _uconv_t *uconv_out; +#endif /* LIBXML_ICU_ENABLED */ +}; + +/* + * Interfaces for encoding handlers. + */ +XML_DEPRECATED +XMLPUBFUN void + xmlInitCharEncodingHandlers (void); +XML_DEPRECATED +XMLPUBFUN void + xmlCleanupCharEncodingHandlers (void); +XMLPUBFUN void + xmlRegisterCharEncodingHandler (xmlCharEncodingHandlerPtr handler); +XMLPUBFUN int + xmlLookupCharEncodingHandler (xmlCharEncoding enc, + xmlCharEncodingHandlerPtr *out); +XMLPUBFUN int + xmlOpenCharEncodingHandler (const char *name, + int output, + xmlCharEncodingHandlerPtr *out); +XMLPUBFUN xmlCharEncodingHandlerPtr + xmlGetCharEncodingHandler (xmlCharEncoding enc); +XMLPUBFUN xmlCharEncodingHandlerPtr + xmlFindCharEncodingHandler (const char *name); +XMLPUBFUN xmlCharEncodingHandlerPtr + xmlNewCharEncodingHandler (const char *name, + xmlCharEncodingInputFunc input, + xmlCharEncodingOutputFunc output); + +/* + * Interfaces for encoding names and aliases. + */ +XMLPUBFUN int + xmlAddEncodingAlias (const char *name, + const char *alias); +XMLPUBFUN int + xmlDelEncodingAlias (const char *alias); +XMLPUBFUN const char * + xmlGetEncodingAlias (const char *alias); +XMLPUBFUN void + xmlCleanupEncodingAliases (void); +XMLPUBFUN xmlCharEncoding + xmlParseCharEncoding (const char *name); +XMLPUBFUN const char * + xmlGetCharEncodingName (xmlCharEncoding enc); + +/* + * Interfaces directly used by the parsers. + */ +XMLPUBFUN xmlCharEncoding + xmlDetectCharEncoding (const unsigned char *in, + int len); + +/** DOC_DISABLE */ +struct _xmlBuffer; +/** DOC_ENABLE */ +XMLPUBFUN int + xmlCharEncOutFunc (xmlCharEncodingHandler *handler, + struct _xmlBuffer *out, + struct _xmlBuffer *in); + +XMLPUBFUN int + xmlCharEncInFunc (xmlCharEncodingHandler *handler, + struct _xmlBuffer *out, + struct _xmlBuffer *in); +XML_DEPRECATED +XMLPUBFUN int + xmlCharEncFirstLine (xmlCharEncodingHandler *handler, + struct _xmlBuffer *out, + struct _xmlBuffer *in); +XMLPUBFUN int + xmlCharEncCloseFunc (xmlCharEncodingHandler *handler); + +/* + * Export a few useful functions + */ +#ifdef LIBXML_OUTPUT_ENABLED +XMLPUBFUN int + UTF8Toisolat1 (unsigned char *out, + int *outlen, + const unsigned char *in, + int *inlen); +#endif /* LIBXML_OUTPUT_ENABLED */ +XMLPUBFUN int + isolat1ToUTF8 (unsigned char *out, + int *outlen, + const unsigned char *in, + int *inlen); +#ifdef __cplusplus +} +#endif + +#endif /* __XML_CHAR_ENCODING_H__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/entities.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/entities.h new file mode 100644 index 0000000..a0cfca8 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/entities.h @@ -0,0 +1,166 @@ +/* + * Summary: interface for the XML entities handling + * Description: this module provides some of the entity API needed + * for the parser and applications. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_ENTITIES_H__ +#define __XML_ENTITIES_H__ + +/** DOC_DISABLE */ +#include +#define XML_TREE_INTERNALS +#include +#undef XML_TREE_INTERNALS +/** DOC_ENABLE */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * The different valid entity types. + */ +typedef enum { + XML_INTERNAL_GENERAL_ENTITY = 1, + XML_EXTERNAL_GENERAL_PARSED_ENTITY = 2, + XML_EXTERNAL_GENERAL_UNPARSED_ENTITY = 3, + XML_INTERNAL_PARAMETER_ENTITY = 4, + XML_EXTERNAL_PARAMETER_ENTITY = 5, + XML_INTERNAL_PREDEFINED_ENTITY = 6 +} xmlEntityType; + +/* + * An unit of storage for an entity, contains the string, the value + * and the linkind data needed for the linking in the hash table. + */ + +struct _xmlEntity { + void *_private; /* application data */ + xmlElementType type; /* XML_ENTITY_DECL, must be second ! */ + const xmlChar *name; /* Entity name */ + struct _xmlNode *children; /* First child link */ + struct _xmlNode *last; /* Last child link */ + struct _xmlDtd *parent; /* -> DTD */ + struct _xmlNode *next; /* next sibling link */ + struct _xmlNode *prev; /* previous sibling link */ + struct _xmlDoc *doc; /* the containing document */ + + xmlChar *orig; /* content without ref substitution */ + xmlChar *content; /* content or ndata if unparsed */ + int length; /* the content length */ + xmlEntityType etype; /* The entity type */ + const xmlChar *ExternalID; /* External identifier for PUBLIC */ + const xmlChar *SystemID; /* URI for a SYSTEM or PUBLIC Entity */ + + struct _xmlEntity *nexte; /* unused */ + const xmlChar *URI; /* the full URI as computed */ + int owner; /* unused */ + int flags; /* various flags */ + unsigned long expandedSize; /* expanded size */ +}; + +/* + * All entities are stored in an hash table. + * There is 2 separate hash tables for global and parameter entities. + */ + +typedef struct _xmlHashTable xmlEntitiesTable; +typedef xmlEntitiesTable *xmlEntitiesTablePtr; + +/* + * External functions: + */ + +#ifdef LIBXML_LEGACY_ENABLED +XML_DEPRECATED +XMLPUBFUN void + xmlInitializePredefinedEntities (void); +#endif /* LIBXML_LEGACY_ENABLED */ + +XMLPUBFUN xmlEntityPtr + xmlNewEntity (xmlDocPtr doc, + const xmlChar *name, + int type, + const xmlChar *ExternalID, + const xmlChar *SystemID, + const xmlChar *content); +XMLPUBFUN void + xmlFreeEntity (xmlEntityPtr entity); +XMLPUBFUN int + xmlAddEntity (xmlDocPtr doc, + int extSubset, + const xmlChar *name, + int type, + const xmlChar *ExternalID, + const xmlChar *SystemID, + const xmlChar *content, + xmlEntityPtr *out); +XMLPUBFUN xmlEntityPtr + xmlAddDocEntity (xmlDocPtr doc, + const xmlChar *name, + int type, + const xmlChar *ExternalID, + const xmlChar *SystemID, + const xmlChar *content); +XMLPUBFUN xmlEntityPtr + xmlAddDtdEntity (xmlDocPtr doc, + const xmlChar *name, + int type, + const xmlChar *ExternalID, + const xmlChar *SystemID, + const xmlChar *content); +XMLPUBFUN xmlEntityPtr + xmlGetPredefinedEntity (const xmlChar *name); +XMLPUBFUN xmlEntityPtr + xmlGetDocEntity (const xmlDoc *doc, + const xmlChar *name); +XMLPUBFUN xmlEntityPtr + xmlGetDtdEntity (xmlDocPtr doc, + const xmlChar *name); +XMLPUBFUN xmlEntityPtr + xmlGetParameterEntity (xmlDocPtr doc, + const xmlChar *name); +#ifdef LIBXML_LEGACY_ENABLED +XML_DEPRECATED +XMLPUBFUN const xmlChar * + xmlEncodeEntities (xmlDocPtr doc, + const xmlChar *input); +#endif /* LIBXML_LEGACY_ENABLED */ +XMLPUBFUN xmlChar * + xmlEncodeEntitiesReentrant(xmlDocPtr doc, + const xmlChar *input); +XMLPUBFUN xmlChar * + xmlEncodeSpecialChars (const xmlDoc *doc, + const xmlChar *input); +XMLPUBFUN xmlEntitiesTablePtr + xmlCreateEntitiesTable (void); +#ifdef LIBXML_TREE_ENABLED +XMLPUBFUN xmlEntitiesTablePtr + xmlCopyEntitiesTable (xmlEntitiesTablePtr table); +#endif /* LIBXML_TREE_ENABLED */ +XMLPUBFUN void + xmlFreeEntitiesTable (xmlEntitiesTablePtr table); +#ifdef LIBXML_OUTPUT_ENABLED +XMLPUBFUN void + xmlDumpEntitiesTable (xmlBufferPtr buf, + xmlEntitiesTablePtr table); +XMLPUBFUN void + xmlDumpEntityDecl (xmlBufferPtr buf, + xmlEntityPtr ent); +#endif /* LIBXML_OUTPUT_ENABLED */ +#ifdef LIBXML_LEGACY_ENABLED +XMLPUBFUN void + xmlCleanupPredefinedEntities(void); +#endif /* LIBXML_LEGACY_ENABLED */ + + +#ifdef __cplusplus +} +#endif + +# endif /* __XML_ENTITIES_H__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/globals.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/globals.h new file mode 100644 index 0000000..92f4131 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/globals.h @@ -0,0 +1,41 @@ +/* + * Summary: interface for all global variables of the library + * Description: Deprecated, don't use + * + * Copy: See Copyright for the status of this software. + */ + +#ifndef __XML_GLOBALS_H +#define __XML_GLOBALS_H + +#include + +/* + * This file was required to access global variables until version v2.12.0. + * + * These includes are for backward compatibility. + */ +#include +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct _xmlGlobalState xmlGlobalState; +typedef xmlGlobalState *xmlGlobalStatePtr; + +XML_DEPRECATED XMLPUBFUN void +xmlInitializeGlobalState(xmlGlobalStatePtr gs); +XML_DEPRECATED XMLPUBFUN +xmlGlobalStatePtr xmlGetGlobalState(void); + +#ifdef __cplusplus +} +#endif + +#endif /* __XML_GLOBALS_H */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/hash.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/hash.h new file mode 100644 index 0000000..135b696 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/hash.h @@ -0,0 +1,251 @@ +/* + * Summary: Chained hash tables + * Description: This module implements the hash table support used in + * various places in the library. + * + * Copy: See Copyright for the status of this software. + * + * Author: Bjorn Reese + */ + +#ifndef __XML_HASH_H__ +#define __XML_HASH_H__ + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * The hash table. + */ +typedef struct _xmlHashTable xmlHashTable; +typedef xmlHashTable *xmlHashTablePtr; + +/* + * Recent version of gcc produce a warning when a function pointer is assigned + * to an object pointer, or vice versa. The following macro is a dirty hack + * to allow suppression of the warning. If your architecture has function + * pointers which are a different size than a void pointer, there may be some + * serious trouble within the library. + */ +/** + * XML_CAST_FPTR: + * @fptr: pointer to a function + * + * Macro to do a casting from an object pointer to a + * function pointer without encountering a warning from + * gcc + * + * #define XML_CAST_FPTR(fptr) (*(void **)(&fptr)) + * This macro violated ISO C aliasing rules (gcc4 on s390 broke) + * so it is disabled now + */ + +#define XML_CAST_FPTR(fptr) fptr + +/* + * function types: + */ +/** + * xmlHashDeallocator: + * @payload: the data in the hash + * @name: the name associated + * + * Callback to free data from a hash. + */ +typedef void (*xmlHashDeallocator)(void *payload, const xmlChar *name); +/** + * xmlHashCopier: + * @payload: the data in the hash + * @name: the name associated + * + * Callback to copy data from a hash. + * + * Returns a copy of the data or NULL in case of error. + */ +typedef void *(*xmlHashCopier)(void *payload, const xmlChar *name); +/** + * xmlHashScanner: + * @payload: the data in the hash + * @data: extra scanner data + * @name: the name associated + * + * Callback when scanning data in a hash with the simple scanner. + */ +typedef void (*xmlHashScanner)(void *payload, void *data, const xmlChar *name); +/** + * xmlHashScannerFull: + * @payload: the data in the hash + * @data: extra scanner data + * @name: the name associated + * @name2: the second name associated + * @name3: the third name associated + * + * Callback when scanning data in a hash with the full scanner. + */ +typedef void (*xmlHashScannerFull)(void *payload, void *data, + const xmlChar *name, const xmlChar *name2, + const xmlChar *name3); + +/* + * Constructor and destructor. + */ +XMLPUBFUN xmlHashTablePtr + xmlHashCreate (int size); +XMLPUBFUN xmlHashTablePtr + xmlHashCreateDict (int size, + xmlDictPtr dict); +XMLPUBFUN void + xmlHashFree (xmlHashTablePtr hash, + xmlHashDeallocator dealloc); +XMLPUBFUN void + xmlHashDefaultDeallocator(void *entry, + const xmlChar *name); + +/* + * Add a new entry to the hash table. + */ +XMLPUBFUN int + xmlHashAdd (xmlHashTablePtr hash, + const xmlChar *name, + void *userdata); +XMLPUBFUN int + xmlHashAddEntry (xmlHashTablePtr hash, + const xmlChar *name, + void *userdata); +XMLPUBFUN int + xmlHashUpdateEntry (xmlHashTablePtr hash, + const xmlChar *name, + void *userdata, + xmlHashDeallocator dealloc); +XMLPUBFUN int + xmlHashAdd2 (xmlHashTablePtr hash, + const xmlChar *name, + const xmlChar *name2, + void *userdata); +XMLPUBFUN int + xmlHashAddEntry2 (xmlHashTablePtr hash, + const xmlChar *name, + const xmlChar *name2, + void *userdata); +XMLPUBFUN int + xmlHashUpdateEntry2 (xmlHashTablePtr hash, + const xmlChar *name, + const xmlChar *name2, + void *userdata, + xmlHashDeallocator dealloc); +XMLPUBFUN int + xmlHashAdd3 (xmlHashTablePtr hash, + const xmlChar *name, + const xmlChar *name2, + const xmlChar *name3, + void *userdata); +XMLPUBFUN int + xmlHashAddEntry3 (xmlHashTablePtr hash, + const xmlChar *name, + const xmlChar *name2, + const xmlChar *name3, + void *userdata); +XMLPUBFUN int + xmlHashUpdateEntry3 (xmlHashTablePtr hash, + const xmlChar *name, + const xmlChar *name2, + const xmlChar *name3, + void *userdata, + xmlHashDeallocator dealloc); + +/* + * Remove an entry from the hash table. + */ +XMLPUBFUN int + xmlHashRemoveEntry (xmlHashTablePtr hash, + const xmlChar *name, + xmlHashDeallocator dealloc); +XMLPUBFUN int + xmlHashRemoveEntry2 (xmlHashTablePtr hash, + const xmlChar *name, + const xmlChar *name2, + xmlHashDeallocator dealloc); +XMLPUBFUN int + xmlHashRemoveEntry3 (xmlHashTablePtr hash, + const xmlChar *name, + const xmlChar *name2, + const xmlChar *name3, + xmlHashDeallocator dealloc); + +/* + * Retrieve the payload. + */ +XMLPUBFUN void * + xmlHashLookup (xmlHashTablePtr hash, + const xmlChar *name); +XMLPUBFUN void * + xmlHashLookup2 (xmlHashTablePtr hash, + const xmlChar *name, + const xmlChar *name2); +XMLPUBFUN void * + xmlHashLookup3 (xmlHashTablePtr hash, + const xmlChar *name, + const xmlChar *name2, + const xmlChar *name3); +XMLPUBFUN void * + xmlHashQLookup (xmlHashTablePtr hash, + const xmlChar *prefix, + const xmlChar *name); +XMLPUBFUN void * + xmlHashQLookup2 (xmlHashTablePtr hash, + const xmlChar *prefix, + const xmlChar *name, + const xmlChar *prefix2, + const xmlChar *name2); +XMLPUBFUN void * + xmlHashQLookup3 (xmlHashTablePtr hash, + const xmlChar *prefix, + const xmlChar *name, + const xmlChar *prefix2, + const xmlChar *name2, + const xmlChar *prefix3, + const xmlChar *name3); + +/* + * Helpers. + */ +XMLPUBFUN xmlHashTablePtr + xmlHashCopySafe (xmlHashTablePtr hash, + xmlHashCopier copy, + xmlHashDeallocator dealloc); +XMLPUBFUN xmlHashTablePtr + xmlHashCopy (xmlHashTablePtr hash, + xmlHashCopier copy); +XMLPUBFUN int + xmlHashSize (xmlHashTablePtr hash); +XMLPUBFUN void + xmlHashScan (xmlHashTablePtr hash, + xmlHashScanner scan, + void *data); +XMLPUBFUN void + xmlHashScan3 (xmlHashTablePtr hash, + const xmlChar *name, + const xmlChar *name2, + const xmlChar *name3, + xmlHashScanner scan, + void *data); +XMLPUBFUN void + xmlHashScanFull (xmlHashTablePtr hash, + xmlHashScannerFull scan, + void *data); +XMLPUBFUN void + xmlHashScanFull3 (xmlHashTablePtr hash, + const xmlChar *name, + const xmlChar *name2, + const xmlChar *name3, + xmlHashScannerFull scan, + void *data); +#ifdef __cplusplus +} +#endif +#endif /* ! __XML_HASH_H__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/list.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/list.h new file mode 100644 index 0000000..1fa76af --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/list.h @@ -0,0 +1,137 @@ +/* + * Summary: lists interfaces + * Description: this module implement the list support used in + * various place in the library. + * + * Copy: See Copyright for the status of this software. + * + * Author: Gary Pennington + */ + +#ifndef __XML_LINK_INCLUDE__ +#define __XML_LINK_INCLUDE__ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct _xmlLink xmlLink; +typedef xmlLink *xmlLinkPtr; + +typedef struct _xmlList xmlList; +typedef xmlList *xmlListPtr; + +/** + * xmlListDeallocator: + * @lk: the data to deallocate + * + * Callback function used to free data from a list. + */ +typedef void (*xmlListDeallocator) (xmlLinkPtr lk); +/** + * xmlListDataCompare: + * @data0: the first data + * @data1: the second data + * + * Callback function used to compare 2 data. + * + * Returns 0 is equality, -1 or 1 otherwise depending on the ordering. + */ +typedef int (*xmlListDataCompare) (const void *data0, const void *data1); +/** + * xmlListWalker: + * @data: the data found in the list + * @user: extra user provided data to the walker + * + * Callback function used when walking a list with xmlListWalk(). + * + * Returns 0 to stop walking the list, 1 otherwise. + */ +typedef int (*xmlListWalker) (const void *data, void *user); + +/* Creation/Deletion */ +XMLPUBFUN xmlListPtr + xmlListCreate (xmlListDeallocator deallocator, + xmlListDataCompare compare); +XMLPUBFUN void + xmlListDelete (xmlListPtr l); + +/* Basic Operators */ +XMLPUBFUN void * + xmlListSearch (xmlListPtr l, + void *data); +XMLPUBFUN void * + xmlListReverseSearch (xmlListPtr l, + void *data); +XMLPUBFUN int + xmlListInsert (xmlListPtr l, + void *data) ; +XMLPUBFUN int + xmlListAppend (xmlListPtr l, + void *data) ; +XMLPUBFUN int + xmlListRemoveFirst (xmlListPtr l, + void *data); +XMLPUBFUN int + xmlListRemoveLast (xmlListPtr l, + void *data); +XMLPUBFUN int + xmlListRemoveAll (xmlListPtr l, + void *data); +XMLPUBFUN void + xmlListClear (xmlListPtr l); +XMLPUBFUN int + xmlListEmpty (xmlListPtr l); +XMLPUBFUN xmlLinkPtr + xmlListFront (xmlListPtr l); +XMLPUBFUN xmlLinkPtr + xmlListEnd (xmlListPtr l); +XMLPUBFUN int + xmlListSize (xmlListPtr l); + +XMLPUBFUN void + xmlListPopFront (xmlListPtr l); +XMLPUBFUN void + xmlListPopBack (xmlListPtr l); +XMLPUBFUN int + xmlListPushFront (xmlListPtr l, + void *data); +XMLPUBFUN int + xmlListPushBack (xmlListPtr l, + void *data); + +/* Advanced Operators */ +XMLPUBFUN void + xmlListReverse (xmlListPtr l); +XMLPUBFUN void + xmlListSort (xmlListPtr l); +XMLPUBFUN void + xmlListWalk (xmlListPtr l, + xmlListWalker walker, + void *user); +XMLPUBFUN void + xmlListReverseWalk (xmlListPtr l, + xmlListWalker walker, + void *user); +XMLPUBFUN void + xmlListMerge (xmlListPtr l1, + xmlListPtr l2); +XMLPUBFUN xmlListPtr + xmlListDup (xmlListPtr old); +XMLPUBFUN int + xmlListCopy (xmlListPtr cur, + xmlListPtr old); +/* Link operators */ +XMLPUBFUN void * + xmlLinkGetData (xmlLinkPtr lk); + +/* xmlListUnique() */ +/* xmlListSwap */ + +#ifdef __cplusplus +} +#endif + +#endif /* __XML_LINK_INCLUDE__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/nanoftp.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/nanoftp.h new file mode 100644 index 0000000..ed3ac4f --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/nanoftp.h @@ -0,0 +1,186 @@ +/* + * Summary: minimal FTP implementation + * Description: minimal FTP implementation allowing to fetch resources + * like external subset. This module is DEPRECATED, do not + * use any of its functions. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __NANO_FTP_H__ +#define __NANO_FTP_H__ + +#include + +#if defined(LIBXML_FTP_ENABLED) + +/* Needed for portability to Windows 64 bits */ +#if defined(_WIN32) +#include +#else +/** + * SOCKET: + * + * macro used to provide portability of code to windows sockets + */ +#define SOCKET int +/** + * INVALID_SOCKET: + * + * macro used to provide portability of code to windows sockets + * the value to be used when the socket is not valid + */ +#undef INVALID_SOCKET +#define INVALID_SOCKET (-1) +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * ftpListCallback: + * @userData: user provided data for the callback + * @filename: the file name (including "->" when links are shown) + * @attrib: the attribute string + * @owner: the owner string + * @group: the group string + * @size: the file size + * @links: the link count + * @year: the year + * @month: the month + * @day: the day + * @hour: the hour + * @minute: the minute + * + * A callback for the xmlNanoFTPList command. + * Note that only one of year and day:minute are specified. + */ +typedef void (*ftpListCallback) (void *userData, + const char *filename, const char *attrib, + const char *owner, const char *group, + unsigned long size, int links, int year, + const char *month, int day, int hour, + int minute); +/** + * ftpDataCallback: + * @userData: the user provided context + * @data: the data received + * @len: its size in bytes + * + * A callback for the xmlNanoFTPGet command. + */ +typedef void (*ftpDataCallback) (void *userData, + const char *data, + int len); + +/* + * Init + */ +XML_DEPRECATED +XMLPUBFUN void + xmlNanoFTPInit (void); +XML_DEPRECATED +XMLPUBFUN void + xmlNanoFTPCleanup (void); + +/* + * Creating/freeing contexts. + */ +XML_DEPRECATED +XMLPUBFUN void * + xmlNanoFTPNewCtxt (const char *URL); +XML_DEPRECATED +XMLPUBFUN void + xmlNanoFTPFreeCtxt (void * ctx); +XML_DEPRECATED +XMLPUBFUN void * + xmlNanoFTPConnectTo (const char *server, + int port); +/* + * Opening/closing session connections. + */ +XML_DEPRECATED +XMLPUBFUN void * + xmlNanoFTPOpen (const char *URL); +XML_DEPRECATED +XMLPUBFUN int + xmlNanoFTPConnect (void *ctx); +XML_DEPRECATED +XMLPUBFUN int + xmlNanoFTPClose (void *ctx); +XML_DEPRECATED +XMLPUBFUN int + xmlNanoFTPQuit (void *ctx); +XML_DEPRECATED +XMLPUBFUN void + xmlNanoFTPScanProxy (const char *URL); +XML_DEPRECATED +XMLPUBFUN void + xmlNanoFTPProxy (const char *host, + int port, + const char *user, + const char *passwd, + int type); +XML_DEPRECATED +XMLPUBFUN int + xmlNanoFTPUpdateURL (void *ctx, + const char *URL); + +/* + * Rather internal commands. + */ +XML_DEPRECATED +XMLPUBFUN int + xmlNanoFTPGetResponse (void *ctx); +XML_DEPRECATED +XMLPUBFUN int + xmlNanoFTPCheckResponse (void *ctx); + +/* + * CD/DIR/GET handlers. + */ +XML_DEPRECATED +XMLPUBFUN int + xmlNanoFTPCwd (void *ctx, + const char *directory); +XML_DEPRECATED +XMLPUBFUN int + xmlNanoFTPDele (void *ctx, + const char *file); + +XML_DEPRECATED +XMLPUBFUN SOCKET + xmlNanoFTPGetConnection (void *ctx); +XML_DEPRECATED +XMLPUBFUN int + xmlNanoFTPCloseConnection(void *ctx); +XML_DEPRECATED +XMLPUBFUN int + xmlNanoFTPList (void *ctx, + ftpListCallback callback, + void *userData, + const char *filename); +XML_DEPRECATED +XMLPUBFUN SOCKET + xmlNanoFTPGetSocket (void *ctx, + const char *filename); +XML_DEPRECATED +XMLPUBFUN int + xmlNanoFTPGet (void *ctx, + ftpDataCallback callback, + void *userData, + const char *filename); +XML_DEPRECATED +XMLPUBFUN int + xmlNanoFTPRead (void *ctx, + void *dest, + int len); + +#ifdef __cplusplus +} +#endif +#endif /* defined(LIBXML_FTP_ENABLED) || defined(LIBXML_LEGACY_ENABLED) */ +#endif /* __NANO_FTP_H__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/nanohttp.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/nanohttp.h new file mode 100644 index 0000000..c70d1c2 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/nanohttp.h @@ -0,0 +1,98 @@ +/* + * Summary: minimal HTTP implementation + * Description: minimal HTTP implementation allowing to fetch resources + * like external subset. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __NANO_HTTP_H__ +#define __NANO_HTTP_H__ + +#include + +#ifdef LIBXML_HTTP_ENABLED + +#ifdef __cplusplus +extern "C" { +#endif +XML_DEPRECATED +XMLPUBFUN void + xmlNanoHTTPInit (void); +XML_DEPRECATED +XMLPUBFUN void + xmlNanoHTTPCleanup (void); +XML_DEPRECATED +XMLPUBFUN void + xmlNanoHTTPScanProxy (const char *URL); +XML_DEPRECATED +XMLPUBFUN int + xmlNanoHTTPFetch (const char *URL, + const char *filename, + char **contentType); +XML_DEPRECATED +XMLPUBFUN void * + xmlNanoHTTPMethod (const char *URL, + const char *method, + const char *input, + char **contentType, + const char *headers, + int ilen); +XML_DEPRECATED +XMLPUBFUN void * + xmlNanoHTTPMethodRedir (const char *URL, + const char *method, + const char *input, + char **contentType, + char **redir, + const char *headers, + int ilen); +XML_DEPRECATED +XMLPUBFUN void * + xmlNanoHTTPOpen (const char *URL, + char **contentType); +XML_DEPRECATED +XMLPUBFUN void * + xmlNanoHTTPOpenRedir (const char *URL, + char **contentType, + char **redir); +XML_DEPRECATED +XMLPUBFUN int + xmlNanoHTTPReturnCode (void *ctx); +XML_DEPRECATED +XMLPUBFUN const char * + xmlNanoHTTPAuthHeader (void *ctx); +XML_DEPRECATED +XMLPUBFUN const char * + xmlNanoHTTPRedir (void *ctx); +XML_DEPRECATED +XMLPUBFUN int + xmlNanoHTTPContentLength( void * ctx ); +XML_DEPRECATED +XMLPUBFUN const char * + xmlNanoHTTPEncoding (void *ctx); +XML_DEPRECATED +XMLPUBFUN const char * + xmlNanoHTTPMimeType (void *ctx); +XML_DEPRECATED +XMLPUBFUN int + xmlNanoHTTPRead (void *ctx, + void *dest, + int len); +#ifdef LIBXML_OUTPUT_ENABLED +XML_DEPRECATED +XMLPUBFUN int + xmlNanoHTTPSave (void *ctxt, + const char *filename); +#endif /* LIBXML_OUTPUT_ENABLED */ +XML_DEPRECATED +XMLPUBFUN void + xmlNanoHTTPClose (void *ctx); +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_HTTP_ENABLED */ +#endif /* __NANO_HTTP_H__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/parser.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/parser.h new file mode 100644 index 0000000..78d29ca --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/parser.h @@ -0,0 +1,1390 @@ +/* + * Summary: the core parser module + * Description: Interfaces, constants and types related to the XML parser + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_PARSER_H__ +#define __XML_PARSER_H__ + +/** DOC_DISABLE */ +#include +#define XML_TREE_INTERNALS +#include +#undef XML_TREE_INTERNALS +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* for compatibility */ +#include +#include +/** DOC_ENABLE */ + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * XML_DEFAULT_VERSION: + * + * The default version of XML used: 1.0 + */ +#define XML_DEFAULT_VERSION "1.0" + +/** + * xmlParserInput: + * + * An xmlParserInput is an input flow for the XML processor. + * Each entity parsed is associated an xmlParserInput (except the + * few predefined ones). This is the case both for internal entities + * - in which case the flow is already completely in memory - or + * external entities - in which case we use the buf structure for + * progressive reading and I18N conversions to the internal UTF-8 format. + */ + +/** + * xmlParserInputDeallocate: + * @str: the string to deallocate + * + * Callback for freeing some parser input allocations. + */ +typedef void (* xmlParserInputDeallocate)(xmlChar *str); + +struct _xmlParserInput { + /* Input buffer */ + xmlParserInputBufferPtr buf; /* UTF-8 encoded buffer */ + + const char *filename; /* The file analyzed, if any */ + const char *directory; /* unused */ + const xmlChar *base; /* Base of the array to parse */ + const xmlChar *cur; /* Current char being parsed */ + const xmlChar *end; /* end of the array to parse */ + int length; /* unused */ + int line; /* Current line */ + int col; /* Current column */ + unsigned long consumed; /* How many xmlChars already consumed */ + xmlParserInputDeallocate free; /* function to deallocate the base */ + const xmlChar *encoding; /* unused */ + const xmlChar *version; /* the version string for entity */ + int flags; /* Flags */ + int id; /* an unique identifier for the entity */ + unsigned long parentConsumed; /* unused */ + xmlEntityPtr entity; /* entity, if any */ +}; + +/** + * xmlParserNodeInfo: + * + * The parser can be asked to collect Node information, i.e. at what + * place in the file they were detected. + * NOTE: This is off by default and not very well tested. + */ +typedef struct _xmlParserNodeInfo xmlParserNodeInfo; +typedef xmlParserNodeInfo *xmlParserNodeInfoPtr; + +struct _xmlParserNodeInfo { + const struct _xmlNode* node; + /* Position & line # that text that created the node begins & ends on */ + unsigned long begin_pos; + unsigned long begin_line; + unsigned long end_pos; + unsigned long end_line; +}; + +typedef struct _xmlParserNodeInfoSeq xmlParserNodeInfoSeq; +typedef xmlParserNodeInfoSeq *xmlParserNodeInfoSeqPtr; +struct _xmlParserNodeInfoSeq { + unsigned long maximum; + unsigned long length; + xmlParserNodeInfo* buffer; +}; + +/** + * xmlParserInputState: + * + * The parser is now working also as a state based parser. + * The recursive one use the state info for entities processing. + */ +typedef enum { + XML_PARSER_EOF = -1, /* nothing is to be parsed */ + XML_PARSER_START = 0, /* nothing has been parsed */ + XML_PARSER_MISC, /* Misc* before int subset */ + XML_PARSER_PI, /* Within a processing instruction */ + XML_PARSER_DTD, /* within some DTD content */ + XML_PARSER_PROLOG, /* Misc* after internal subset */ + XML_PARSER_COMMENT, /* within a comment */ + XML_PARSER_START_TAG, /* within a start tag */ + XML_PARSER_CONTENT, /* within the content */ + XML_PARSER_CDATA_SECTION, /* within a CDATA section */ + XML_PARSER_END_TAG, /* within a closing tag */ + XML_PARSER_ENTITY_DECL, /* within an entity declaration */ + XML_PARSER_ENTITY_VALUE, /* within an entity value in a decl */ + XML_PARSER_ATTRIBUTE_VALUE, /* within an attribute value */ + XML_PARSER_SYSTEM_LITERAL, /* within a SYSTEM value */ + XML_PARSER_EPILOG, /* the Misc* after the last end tag */ + XML_PARSER_IGNORE, /* within an IGNORED section */ + XML_PARSER_PUBLIC_LITERAL, /* within a PUBLIC value */ + XML_PARSER_XML_DECL /* before XML decl (but after BOM) */ +} xmlParserInputState; + +/** DOC_DISABLE */ +/* + * Internal bits in the 'loadsubset' context member + */ +#define XML_DETECT_IDS 2 +#define XML_COMPLETE_ATTRS 4 +#define XML_SKIP_IDS 8 +/** DOC_ENABLE */ + +/** + * xmlParserMode: + * + * A parser can operate in various modes + */ +typedef enum { + XML_PARSE_UNKNOWN = 0, + XML_PARSE_DOM = 1, + XML_PARSE_SAX = 2, + XML_PARSE_PUSH_DOM = 3, + XML_PARSE_PUSH_SAX = 4, + XML_PARSE_READER = 5 +} xmlParserMode; + +typedef struct _xmlStartTag xmlStartTag; +typedef struct _xmlParserNsData xmlParserNsData; +typedef struct _xmlAttrHashBucket xmlAttrHashBucket; + +/** + * xmlParserCtxt: + * + * The parser context. + * NOTE This doesn't completely define the parser state, the (current ?) + * design of the parser uses recursive function calls since this allow + * and easy mapping from the production rules of the specification + * to the actual code. The drawback is that the actual function call + * also reflect the parser state. However most of the parsing routines + * takes as the only argument the parser context pointer, so migrating + * to a state based parser for progressive parsing shouldn't be too hard. + */ +struct _xmlParserCtxt { + struct _xmlSAXHandler *sax; /* The SAX handler */ + void *userData; /* For SAX interface only, used by DOM build */ + xmlDocPtr myDoc; /* the document being built */ + int wellFormed; /* is the document well formed */ + int replaceEntities; /* shall we replace entities ? */ + const xmlChar *version; /* the XML version string */ + const xmlChar *encoding; /* the declared encoding, if any */ + int standalone; /* standalone document */ + int html; /* an HTML(1) document + * 3 is HTML after + * 10 is HTML after + */ + + /* Input stream stack */ + xmlParserInputPtr input; /* Current input stream */ + int inputNr; /* Number of current input streams */ + int inputMax; /* Max number of input streams */ + xmlParserInputPtr *inputTab; /* stack of inputs */ + + /* Node analysis stack only used for DOM building */ + xmlNodePtr node; /* Current parsed Node */ + int nodeNr; /* Depth of the parsing stack */ + int nodeMax; /* Max depth of the parsing stack */ + xmlNodePtr *nodeTab; /* array of nodes */ + + int record_info; /* Whether node info should be kept */ + xmlParserNodeInfoSeq node_seq; /* info about each node parsed */ + + int errNo; /* error code */ + + int hasExternalSubset; /* reference and external subset */ + int hasPErefs; /* the internal subset has PE refs */ + int external; /* unused */ + + int valid; /* is the document valid */ + int validate; /* shall we try to validate ? */ + xmlValidCtxt vctxt; /* The validity context */ + + xmlParserInputState instate; /* push parser state */ + int token; /* unused */ + + char *directory; /* unused */ + + /* Node name stack */ + const xmlChar *name; /* Current parsed Node */ + int nameNr; /* Depth of the parsing stack */ + int nameMax; /* Max depth of the parsing stack */ + const xmlChar * *nameTab; /* array of nodes */ + + long nbChars; /* unused */ + long checkIndex; /* used by progressive parsing lookup */ + int keepBlanks; /* ugly but ... */ + int disableSAX; /* SAX callbacks are disabled */ + int inSubset; /* Parsing is in int 1/ext 2 subset */ + const xmlChar * intSubName; /* name of subset */ + xmlChar * extSubURI; /* URI of external subset */ + xmlChar * extSubSystem; /* SYSTEM ID of external subset */ + + /* xml:space values */ + int * space; /* Should the parser preserve spaces */ + int spaceNr; /* Depth of the parsing stack */ + int spaceMax; /* Max depth of the parsing stack */ + int * spaceTab; /* array of space infos */ + + int depth; /* to prevent entity substitution loops */ + xmlParserInputPtr entity; /* unused */ + int charset; /* unused */ + int nodelen; /* Those two fields are there to */ + int nodemem; /* Speed up large node parsing */ + int pedantic; /* signal pedantic warnings */ + void *_private; /* For user data, libxml won't touch it */ + + int loadsubset; /* should the external subset be loaded */ + int linenumbers; /* set line number in element content */ + void *catalogs; /* document's own catalog */ + int recovery; /* run in recovery mode */ + int progressive; /* unused */ + xmlDictPtr dict; /* dictionary for the parser */ + const xmlChar * *atts; /* array for the attributes callbacks */ + int maxatts; /* the size of the array */ + int docdict; /* unused */ + + /* + * pre-interned strings + */ + const xmlChar *str_xml; + const xmlChar *str_xmlns; + const xmlChar *str_xml_ns; + + /* + * Everything below is used only by the new SAX mode + */ + int sax2; /* operating in the new SAX mode */ + int nsNr; /* the number of inherited namespaces */ + int nsMax; /* the size of the arrays */ + const xmlChar * *nsTab; /* the array of prefix/namespace name */ + unsigned *attallocs; /* which attribute were allocated */ + xmlStartTag *pushTab; /* array of data for push */ + xmlHashTablePtr attsDefault; /* defaulted attributes if any */ + xmlHashTablePtr attsSpecial; /* non-CDATA attributes if any */ + int nsWellFormed; /* is the document XML Namespace okay */ + int options; /* Extra options */ + + /* + * Those fields are needed only for streaming parsing so far + */ + int dictNames; /* Use dictionary names for the tree */ + int freeElemsNr; /* number of freed element nodes */ + xmlNodePtr freeElems; /* List of freed element nodes */ + int freeAttrsNr; /* number of freed attributes nodes */ + xmlAttrPtr freeAttrs; /* List of freed attributes nodes */ + + /* + * the complete error information for the last error. + */ + xmlError lastError; + xmlParserMode parseMode; /* the parser mode */ + unsigned long nbentities; /* unused */ + unsigned long sizeentities; /* size of external entities */ + + /* for use by HTML non-recursive parser */ + xmlParserNodeInfo *nodeInfo; /* Current NodeInfo */ + int nodeInfoNr; /* Depth of the parsing stack */ + int nodeInfoMax; /* Max depth of the parsing stack */ + xmlParserNodeInfo *nodeInfoTab; /* array of nodeInfos */ + + int input_id; /* we need to label inputs */ + unsigned long sizeentcopy; /* volume of entity copy */ + + int endCheckState; /* quote state for push parser */ + unsigned short nbErrors; /* number of errors */ + unsigned short nbWarnings; /* number of warnings */ + unsigned maxAmpl; /* maximum amplification factor */ + + xmlParserNsData *nsdb; /* namespace database */ + unsigned attrHashMax; /* allocated size */ + xmlAttrHashBucket *attrHash; /* atttribute hash table */ + + xmlStructuredErrorFunc errorHandler; + void *errorCtxt; +}; + +/** + * xmlSAXLocator: + * + * A SAX Locator. + */ +struct _xmlSAXLocator { + const xmlChar *(*getPublicId)(void *ctx); + const xmlChar *(*getSystemId)(void *ctx); + int (*getLineNumber)(void *ctx); + int (*getColumnNumber)(void *ctx); +}; + +/** + * xmlSAXHandler: + * + * A SAX handler is bunch of callbacks called by the parser when processing + * of the input generate data or structure information. + */ + +/** + * resolveEntitySAXFunc: + * @ctx: the user data (XML parser context) + * @publicId: The public ID of the entity + * @systemId: The system ID of the entity + * + * Callback: + * The entity loader, to control the loading of external entities, + * the application can either: + * - override this resolveEntity() callback in the SAX block + * - or better use the xmlSetExternalEntityLoader() function to + * set up it's own entity resolution routine + * + * Returns the xmlParserInputPtr if inlined or NULL for DOM behaviour. + */ +typedef xmlParserInputPtr (*resolveEntitySAXFunc) (void *ctx, + const xmlChar *publicId, + const xmlChar *systemId); +/** + * internalSubsetSAXFunc: + * @ctx: the user data (XML parser context) + * @name: the root element name + * @ExternalID: the external ID + * @SystemID: the SYSTEM ID (e.g. filename or URL) + * + * Callback on internal subset declaration. + */ +typedef void (*internalSubsetSAXFunc) (void *ctx, + const xmlChar *name, + const xmlChar *ExternalID, + const xmlChar *SystemID); +/** + * externalSubsetSAXFunc: + * @ctx: the user data (XML parser context) + * @name: the root element name + * @ExternalID: the external ID + * @SystemID: the SYSTEM ID (e.g. filename or URL) + * + * Callback on external subset declaration. + */ +typedef void (*externalSubsetSAXFunc) (void *ctx, + const xmlChar *name, + const xmlChar *ExternalID, + const xmlChar *SystemID); +/** + * getEntitySAXFunc: + * @ctx: the user data (XML parser context) + * @name: The entity name + * + * Get an entity by name. + * + * Returns the xmlEntityPtr if found. + */ +typedef xmlEntityPtr (*getEntitySAXFunc) (void *ctx, + const xmlChar *name); +/** + * getParameterEntitySAXFunc: + * @ctx: the user data (XML parser context) + * @name: The entity name + * + * Get a parameter entity by name. + * + * Returns the xmlEntityPtr if found. + */ +typedef xmlEntityPtr (*getParameterEntitySAXFunc) (void *ctx, + const xmlChar *name); +/** + * entityDeclSAXFunc: + * @ctx: the user data (XML parser context) + * @name: the entity name + * @type: the entity type + * @publicId: The public ID of the entity + * @systemId: The system ID of the entity + * @content: the entity value (without processing). + * + * An entity definition has been parsed. + */ +typedef void (*entityDeclSAXFunc) (void *ctx, + const xmlChar *name, + int type, + const xmlChar *publicId, + const xmlChar *systemId, + xmlChar *content); +/** + * notationDeclSAXFunc: + * @ctx: the user data (XML parser context) + * @name: The name of the notation + * @publicId: The public ID of the entity + * @systemId: The system ID of the entity + * + * What to do when a notation declaration has been parsed. + */ +typedef void (*notationDeclSAXFunc)(void *ctx, + const xmlChar *name, + const xmlChar *publicId, + const xmlChar *systemId); +/** + * attributeDeclSAXFunc: + * @ctx: the user data (XML parser context) + * @elem: the name of the element + * @fullname: the attribute name + * @type: the attribute type + * @def: the type of default value + * @defaultValue: the attribute default value + * @tree: the tree of enumerated value set + * + * An attribute definition has been parsed. + */ +typedef void (*attributeDeclSAXFunc)(void *ctx, + const xmlChar *elem, + const xmlChar *fullname, + int type, + int def, + const xmlChar *defaultValue, + xmlEnumerationPtr tree); +/** + * elementDeclSAXFunc: + * @ctx: the user data (XML parser context) + * @name: the element name + * @type: the element type + * @content: the element value tree + * + * An element definition has been parsed. + */ +typedef void (*elementDeclSAXFunc)(void *ctx, + const xmlChar *name, + int type, + xmlElementContentPtr content); +/** + * unparsedEntityDeclSAXFunc: + * @ctx: the user data (XML parser context) + * @name: The name of the entity + * @publicId: The public ID of the entity + * @systemId: The system ID of the entity + * @notationName: the name of the notation + * + * What to do when an unparsed entity declaration is parsed. + */ +typedef void (*unparsedEntityDeclSAXFunc)(void *ctx, + const xmlChar *name, + const xmlChar *publicId, + const xmlChar *systemId, + const xmlChar *notationName); +/** + * setDocumentLocatorSAXFunc: + * @ctx: the user data (XML parser context) + * @loc: A SAX Locator + * + * Receive the document locator at startup, actually xmlDefaultSAXLocator. + * Everything is available on the context, so this is useless in our case. + */ +typedef void (*setDocumentLocatorSAXFunc) (void *ctx, + xmlSAXLocatorPtr loc); +/** + * startDocumentSAXFunc: + * @ctx: the user data (XML parser context) + * + * Called when the document start being processed. + */ +typedef void (*startDocumentSAXFunc) (void *ctx); +/** + * endDocumentSAXFunc: + * @ctx: the user data (XML parser context) + * + * Called when the document end has been detected. + */ +typedef void (*endDocumentSAXFunc) (void *ctx); +/** + * startElementSAXFunc: + * @ctx: the user data (XML parser context) + * @name: The element name, including namespace prefix + * @atts: An array of name/value attributes pairs, NULL terminated + * + * Called when an opening tag has been processed. + */ +typedef void (*startElementSAXFunc) (void *ctx, + const xmlChar *name, + const xmlChar **atts); +/** + * endElementSAXFunc: + * @ctx: the user data (XML parser context) + * @name: The element name + * + * Called when the end of an element has been detected. + */ +typedef void (*endElementSAXFunc) (void *ctx, + const xmlChar *name); +/** + * attributeSAXFunc: + * @ctx: the user data (XML parser context) + * @name: The attribute name, including namespace prefix + * @value: The attribute value + * + * Handle an attribute that has been read by the parser. + * The default handling is to convert the attribute into an + * DOM subtree and past it in a new xmlAttr element added to + * the element. + */ +typedef void (*attributeSAXFunc) (void *ctx, + const xmlChar *name, + const xmlChar *value); +/** + * referenceSAXFunc: + * @ctx: the user data (XML parser context) + * @name: The entity name + * + * Called when an entity reference is detected. + */ +typedef void (*referenceSAXFunc) (void *ctx, + const xmlChar *name); +/** + * charactersSAXFunc: + * @ctx: the user data (XML parser context) + * @ch: a xmlChar string + * @len: the number of xmlChar + * + * Receiving some chars from the parser. + */ +typedef void (*charactersSAXFunc) (void *ctx, + const xmlChar *ch, + int len); +/** + * ignorableWhitespaceSAXFunc: + * @ctx: the user data (XML parser context) + * @ch: a xmlChar string + * @len: the number of xmlChar + * + * Receiving some ignorable whitespaces from the parser. + * UNUSED: by default the DOM building will use characters. + */ +typedef void (*ignorableWhitespaceSAXFunc) (void *ctx, + const xmlChar *ch, + int len); +/** + * processingInstructionSAXFunc: + * @ctx: the user data (XML parser context) + * @target: the target name + * @data: the PI data's + * + * A processing instruction has been parsed. + */ +typedef void (*processingInstructionSAXFunc) (void *ctx, + const xmlChar *target, + const xmlChar *data); +/** + * commentSAXFunc: + * @ctx: the user data (XML parser context) + * @value: the comment content + * + * A comment has been parsed. + */ +typedef void (*commentSAXFunc) (void *ctx, + const xmlChar *value); +/** + * cdataBlockSAXFunc: + * @ctx: the user data (XML parser context) + * @value: The pcdata content + * @len: the block length + * + * Called when a pcdata block has been parsed. + */ +typedef void (*cdataBlockSAXFunc) ( + void *ctx, + const xmlChar *value, + int len); +/** + * warningSAXFunc: + * @ctx: an XML parser context + * @msg: the message to display/transmit + * @...: extra parameters for the message display + * + * Display and format a warning messages, callback. + */ +typedef void (*warningSAXFunc) (void *ctx, + const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); +/** + * errorSAXFunc: + * @ctx: an XML parser context + * @msg: the message to display/transmit + * @...: extra parameters for the message display + * + * Display and format an error messages, callback. + */ +typedef void (*errorSAXFunc) (void *ctx, + const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); +/** + * fatalErrorSAXFunc: + * @ctx: an XML parser context + * @msg: the message to display/transmit + * @...: extra parameters for the message display + * + * Display and format fatal error messages, callback. + * Note: so far fatalError() SAX callbacks are not used, error() + * get all the callbacks for errors. + */ +typedef void (*fatalErrorSAXFunc) (void *ctx, + const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); +/** + * isStandaloneSAXFunc: + * @ctx: the user data (XML parser context) + * + * Is this document tagged standalone? + * + * Returns 1 if true + */ +typedef int (*isStandaloneSAXFunc) (void *ctx); +/** + * hasInternalSubsetSAXFunc: + * @ctx: the user data (XML parser context) + * + * Does this document has an internal subset. + * + * Returns 1 if true + */ +typedef int (*hasInternalSubsetSAXFunc) (void *ctx); + +/** + * hasExternalSubsetSAXFunc: + * @ctx: the user data (XML parser context) + * + * Does this document has an external subset? + * + * Returns 1 if true + */ +typedef int (*hasExternalSubsetSAXFunc) (void *ctx); + +/************************************************************************ + * * + * The SAX version 2 API extensions * + * * + ************************************************************************/ +/** + * XML_SAX2_MAGIC: + * + * Special constant found in SAX2 blocks initialized fields + */ +#define XML_SAX2_MAGIC 0xDEEDBEAF + +/** + * startElementNsSAX2Func: + * @ctx: the user data (XML parser context) + * @localname: the local name of the element + * @prefix: the element namespace prefix if available + * @URI: the element namespace name if available + * @nb_namespaces: number of namespace definitions on that node + * @namespaces: pointer to the array of prefix/URI pairs namespace definitions + * @nb_attributes: the number of attributes on that node + * @nb_defaulted: the number of defaulted attributes. The defaulted + * ones are at the end of the array + * @attributes: pointer to the array of (localname/prefix/URI/value/end) + * attribute values. + * + * SAX2 callback when an element start has been detected by the parser. + * It provides the namespace information for the element, as well as + * the new namespace declarations on the element. + */ + +typedef void (*startElementNsSAX2Func) (void *ctx, + const xmlChar *localname, + const xmlChar *prefix, + const xmlChar *URI, + int nb_namespaces, + const xmlChar **namespaces, + int nb_attributes, + int nb_defaulted, + const xmlChar **attributes); + +/** + * endElementNsSAX2Func: + * @ctx: the user data (XML parser context) + * @localname: the local name of the element + * @prefix: the element namespace prefix if available + * @URI: the element namespace name if available + * + * SAX2 callback when an element end has been detected by the parser. + * It provides the namespace information for the element. + */ + +typedef void (*endElementNsSAX2Func) (void *ctx, + const xmlChar *localname, + const xmlChar *prefix, + const xmlChar *URI); + + +struct _xmlSAXHandler { + internalSubsetSAXFunc internalSubset; + isStandaloneSAXFunc isStandalone; + hasInternalSubsetSAXFunc hasInternalSubset; + hasExternalSubsetSAXFunc hasExternalSubset; + resolveEntitySAXFunc resolveEntity; + getEntitySAXFunc getEntity; + entityDeclSAXFunc entityDecl; + notationDeclSAXFunc notationDecl; + attributeDeclSAXFunc attributeDecl; + elementDeclSAXFunc elementDecl; + unparsedEntityDeclSAXFunc unparsedEntityDecl; + setDocumentLocatorSAXFunc setDocumentLocator; + startDocumentSAXFunc startDocument; + endDocumentSAXFunc endDocument; + /* + * `startElement` and `endElement` are only used by the legacy SAX1 + * interface and should not be used in new software. If you really + * have to enable SAX1, the preferred way is set the `initialized` + * member to 1 instead of XML_SAX2_MAGIC. + * + * For backward compatibility, it's also possible to set the + * `startElementNs` and `endElementNs` handlers to NULL. + * + * You can also set the XML_PARSE_SAX1 parser option, but versions + * older than 2.12.0 will probably crash if this option is provided + * together with custom SAX callbacks. + */ + startElementSAXFunc startElement; + endElementSAXFunc endElement; + referenceSAXFunc reference; + charactersSAXFunc characters; + ignorableWhitespaceSAXFunc ignorableWhitespace; + processingInstructionSAXFunc processingInstruction; + commentSAXFunc comment; + warningSAXFunc warning; + errorSAXFunc error; + fatalErrorSAXFunc fatalError; /* unused error() get all the errors */ + getParameterEntitySAXFunc getParameterEntity; + cdataBlockSAXFunc cdataBlock; + externalSubsetSAXFunc externalSubset; + /* + * `initialized` should always be set to XML_SAX2_MAGIC to enable the + * modern SAX2 interface. + */ + unsigned int initialized; + /* + * The following members are only used by the SAX2 interface. + */ + void *_private; + startElementNsSAX2Func startElementNs; + endElementNsSAX2Func endElementNs; + xmlStructuredErrorFunc serror; +}; + +/* + * SAX Version 1 + */ +typedef struct _xmlSAXHandlerV1 xmlSAXHandlerV1; +typedef xmlSAXHandlerV1 *xmlSAXHandlerV1Ptr; +struct _xmlSAXHandlerV1 { + internalSubsetSAXFunc internalSubset; + isStandaloneSAXFunc isStandalone; + hasInternalSubsetSAXFunc hasInternalSubset; + hasExternalSubsetSAXFunc hasExternalSubset; + resolveEntitySAXFunc resolveEntity; + getEntitySAXFunc getEntity; + entityDeclSAXFunc entityDecl; + notationDeclSAXFunc notationDecl; + attributeDeclSAXFunc attributeDecl; + elementDeclSAXFunc elementDecl; + unparsedEntityDeclSAXFunc unparsedEntityDecl; + setDocumentLocatorSAXFunc setDocumentLocator; + startDocumentSAXFunc startDocument; + endDocumentSAXFunc endDocument; + startElementSAXFunc startElement; + endElementSAXFunc endElement; + referenceSAXFunc reference; + charactersSAXFunc characters; + ignorableWhitespaceSAXFunc ignorableWhitespace; + processingInstructionSAXFunc processingInstruction; + commentSAXFunc comment; + warningSAXFunc warning; + errorSAXFunc error; + fatalErrorSAXFunc fatalError; /* unused error() get all the errors */ + getParameterEntitySAXFunc getParameterEntity; + cdataBlockSAXFunc cdataBlock; + externalSubsetSAXFunc externalSubset; + unsigned int initialized; +}; + + +/** + * xmlExternalEntityLoader: + * @URL: The System ID of the resource requested + * @ID: The Public ID of the resource requested + * @context: the XML parser context + * + * External entity loaders types. + * + * Returns the entity input parser. + */ +typedef xmlParserInputPtr (*xmlExternalEntityLoader) (const char *URL, + const char *ID, + xmlParserCtxtPtr context); + +/* + * Variables + */ + +XMLPUBVAR const char *const xmlParserVersion; +XML_DEPRECATED +XMLPUBVAR const int oldXMLWDcompatibility; +XML_DEPRECATED +XMLPUBVAR const int xmlParserDebugEntities; +XML_DEPRECATED +XMLPUBVAR const xmlSAXLocator xmlDefaultSAXLocator; +#ifdef LIBXML_SAX1_ENABLED +XML_DEPRECATED +XMLPUBVAR const xmlSAXHandlerV1 xmlDefaultSAXHandler; +#endif + +#ifdef LIBXML_THREAD_ENABLED +/* backward compatibility */ +XMLPUBFUN const char *const *__xmlParserVersion(void); +XML_DEPRECATED +XMLPUBFUN const int *__oldXMLWDcompatibility(void); +XML_DEPRECATED +XMLPUBFUN const int *__xmlParserDebugEntities(void); +XML_DEPRECATED +XMLPUBFUN const xmlSAXLocator *__xmlDefaultSAXLocator(void); +#ifdef LIBXML_SAX1_ENABLED +XML_DEPRECATED +XMLPUBFUN const xmlSAXHandlerV1 *__xmlDefaultSAXHandler(void); +#endif +#endif + +/** DOC_DISABLE */ +#define XML_GLOBALS_PARSER_CORE \ + XML_OP(xmlDoValidityCheckingDefaultValue, int, XML_DEPRECATED) \ + XML_OP(xmlGetWarningsDefaultValue, int, XML_DEPRECATED) \ + XML_OP(xmlKeepBlanksDefaultValue, int, XML_DEPRECATED) \ + XML_OP(xmlLineNumbersDefaultValue, int, XML_DEPRECATED) \ + XML_OP(xmlLoadExtDtdDefaultValue, int, XML_DEPRECATED) \ + XML_OP(xmlPedanticParserDefaultValue, int, XML_DEPRECATED) \ + XML_OP(xmlSubstituteEntitiesDefaultValue, int, XML_DEPRECATED) + +#ifdef LIBXML_OUTPUT_ENABLED + #define XML_GLOBALS_PARSER_OUTPUT \ + XML_OP(xmlIndentTreeOutput, int, XML_NO_ATTR) \ + XML_OP(xmlTreeIndentString, const char *, XML_NO_ATTR) \ + XML_OP(xmlSaveNoEmptyTags, int, XML_NO_ATTR) +#else + #define XML_GLOBALS_PARSER_OUTPUT +#endif + +#define XML_GLOBALS_PARSER \ + XML_GLOBALS_PARSER_CORE \ + XML_GLOBALS_PARSER_OUTPUT + +#define XML_OP XML_DECLARE_GLOBAL +XML_GLOBALS_PARSER +#undef XML_OP + +#if defined(LIBXML_THREAD_ENABLED) && !defined(XML_GLOBALS_NO_REDEFINITION) + #define xmlDoValidityCheckingDefaultValue \ + XML_GLOBAL_MACRO(xmlDoValidityCheckingDefaultValue) + #define xmlGetWarningsDefaultValue \ + XML_GLOBAL_MACRO(xmlGetWarningsDefaultValue) + #define xmlKeepBlanksDefaultValue XML_GLOBAL_MACRO(xmlKeepBlanksDefaultValue) + #define xmlLineNumbersDefaultValue \ + XML_GLOBAL_MACRO(xmlLineNumbersDefaultValue) + #define xmlLoadExtDtdDefaultValue XML_GLOBAL_MACRO(xmlLoadExtDtdDefaultValue) + #define xmlPedanticParserDefaultValue \ + XML_GLOBAL_MACRO(xmlPedanticParserDefaultValue) + #define xmlSubstituteEntitiesDefaultValue \ + XML_GLOBAL_MACRO(xmlSubstituteEntitiesDefaultValue) + #ifdef LIBXML_OUTPUT_ENABLED + #define xmlIndentTreeOutput XML_GLOBAL_MACRO(xmlIndentTreeOutput) + #define xmlTreeIndentString XML_GLOBAL_MACRO(xmlTreeIndentString) + #define xmlSaveNoEmptyTags XML_GLOBAL_MACRO(xmlSaveNoEmptyTags) + #endif +#endif +/** DOC_ENABLE */ + +/* + * Init/Cleanup + */ +XMLPUBFUN void + xmlInitParser (void); +XMLPUBFUN void + xmlCleanupParser (void); +XML_DEPRECATED +XMLPUBFUN void + xmlInitGlobals (void); +XML_DEPRECATED +XMLPUBFUN void + xmlCleanupGlobals (void); + +/* + * Input functions + */ +XML_DEPRECATED +XMLPUBFUN int + xmlParserInputRead (xmlParserInputPtr in, + int len); +XML_DEPRECATED +XMLPUBFUN int + xmlParserInputGrow (xmlParserInputPtr in, + int len); + +/* + * Basic parsing Interfaces + */ +#ifdef LIBXML_SAX1_ENABLED +XMLPUBFUN xmlDocPtr + xmlParseDoc (const xmlChar *cur); +XMLPUBFUN xmlDocPtr + xmlParseFile (const char *filename); +XMLPUBFUN xmlDocPtr + xmlParseMemory (const char *buffer, + int size); +#endif /* LIBXML_SAX1_ENABLED */ +XML_DEPRECATED XMLPUBFUN int + xmlSubstituteEntitiesDefault(int val); +XML_DEPRECATED XMLPUBFUN int + xmlThrDefSubstituteEntitiesDefaultValue(int v); +XMLPUBFUN int + xmlKeepBlanksDefault (int val); +XML_DEPRECATED XMLPUBFUN int + xmlThrDefKeepBlanksDefaultValue(int v); +XMLPUBFUN void + xmlStopParser (xmlParserCtxtPtr ctxt); +XML_DEPRECATED XMLPUBFUN int + xmlPedanticParserDefault(int val); +XML_DEPRECATED XMLPUBFUN int + xmlThrDefPedanticParserDefaultValue(int v); +XML_DEPRECATED XMLPUBFUN int + xmlLineNumbersDefault (int val); +XML_DEPRECATED XMLPUBFUN int + xmlThrDefLineNumbersDefaultValue(int v); +XML_DEPRECATED XMLPUBFUN int + xmlThrDefDoValidityCheckingDefaultValue(int v); +XML_DEPRECATED XMLPUBFUN int + xmlThrDefGetWarningsDefaultValue(int v); +XML_DEPRECATED XMLPUBFUN int + xmlThrDefLoadExtDtdDefaultValue(int v); +XML_DEPRECATED XMLPUBFUN int + xmlThrDefParserDebugEntities(int v); + +#ifdef LIBXML_SAX1_ENABLED +/* + * Recovery mode + */ +XML_DEPRECATED +XMLPUBFUN xmlDocPtr + xmlRecoverDoc (const xmlChar *cur); +XML_DEPRECATED +XMLPUBFUN xmlDocPtr + xmlRecoverMemory (const char *buffer, + int size); +XML_DEPRECATED +XMLPUBFUN xmlDocPtr + xmlRecoverFile (const char *filename); +#endif /* LIBXML_SAX1_ENABLED */ + +/* + * Less common routines and SAX interfaces + */ +XMLPUBFUN int + xmlParseDocument (xmlParserCtxtPtr ctxt); +XMLPUBFUN int + xmlParseExtParsedEnt (xmlParserCtxtPtr ctxt); +#ifdef LIBXML_SAX1_ENABLED +XML_DEPRECATED +XMLPUBFUN int + xmlSAXUserParseFile (xmlSAXHandlerPtr sax, + void *user_data, + const char *filename); +XML_DEPRECATED +XMLPUBFUN int + xmlSAXUserParseMemory (xmlSAXHandlerPtr sax, + void *user_data, + const char *buffer, + int size); +XML_DEPRECATED +XMLPUBFUN xmlDocPtr + xmlSAXParseDoc (xmlSAXHandlerPtr sax, + const xmlChar *cur, + int recovery); +XML_DEPRECATED +XMLPUBFUN xmlDocPtr + xmlSAXParseMemory (xmlSAXHandlerPtr sax, + const char *buffer, + int size, + int recovery); +XML_DEPRECATED +XMLPUBFUN xmlDocPtr + xmlSAXParseMemoryWithData (xmlSAXHandlerPtr sax, + const char *buffer, + int size, + int recovery, + void *data); +XML_DEPRECATED +XMLPUBFUN xmlDocPtr + xmlSAXParseFile (xmlSAXHandlerPtr sax, + const char *filename, + int recovery); +XML_DEPRECATED +XMLPUBFUN xmlDocPtr + xmlSAXParseFileWithData (xmlSAXHandlerPtr sax, + const char *filename, + int recovery, + void *data); +XML_DEPRECATED +XMLPUBFUN xmlDocPtr + xmlSAXParseEntity (xmlSAXHandlerPtr sax, + const char *filename); +XML_DEPRECATED +XMLPUBFUN xmlDocPtr + xmlParseEntity (const char *filename); +#endif /* LIBXML_SAX1_ENABLED */ + +#ifdef LIBXML_VALID_ENABLED +XML_DEPRECATED +XMLPUBFUN xmlDtdPtr + xmlSAXParseDTD (xmlSAXHandlerPtr sax, + const xmlChar *ExternalID, + const xmlChar *SystemID); +XMLPUBFUN xmlDtdPtr + xmlParseDTD (const xmlChar *ExternalID, + const xmlChar *SystemID); +XMLPUBFUN xmlDtdPtr + xmlIOParseDTD (xmlSAXHandlerPtr sax, + xmlParserInputBufferPtr input, + xmlCharEncoding enc); +#endif /* LIBXML_VALID_ENABLE */ +#ifdef LIBXML_SAX1_ENABLED +XMLPUBFUN int + xmlParseBalancedChunkMemory(xmlDocPtr doc, + xmlSAXHandlerPtr sax, + void *user_data, + int depth, + const xmlChar *string, + xmlNodePtr *lst); +#endif /* LIBXML_SAX1_ENABLED */ +XMLPUBFUN xmlParserErrors + xmlParseInNodeContext (xmlNodePtr node, + const char *data, + int datalen, + int options, + xmlNodePtr *lst); +#ifdef LIBXML_SAX1_ENABLED +XMLPUBFUN int + xmlParseBalancedChunkMemoryRecover(xmlDocPtr doc, + xmlSAXHandlerPtr sax, + void *user_data, + int depth, + const xmlChar *string, + xmlNodePtr *lst, + int recover); +XML_DEPRECATED +XMLPUBFUN int + xmlParseExternalEntity (xmlDocPtr doc, + xmlSAXHandlerPtr sax, + void *user_data, + int depth, + const xmlChar *URL, + const xmlChar *ID, + xmlNodePtr *lst); +#endif /* LIBXML_SAX1_ENABLED */ +XMLPUBFUN int + xmlParseCtxtExternalEntity(xmlParserCtxtPtr ctx, + const xmlChar *URL, + const xmlChar *ID, + xmlNodePtr *lst); + +/* + * Parser contexts handling. + */ +XMLPUBFUN xmlParserCtxtPtr + xmlNewParserCtxt (void); +XMLPUBFUN xmlParserCtxtPtr + xmlNewSAXParserCtxt (const xmlSAXHandler *sax, + void *userData); +XMLPUBFUN int + xmlInitParserCtxt (xmlParserCtxtPtr ctxt); +XMLPUBFUN void + xmlClearParserCtxt (xmlParserCtxtPtr ctxt); +XMLPUBFUN void + xmlFreeParserCtxt (xmlParserCtxtPtr ctxt); +#ifdef LIBXML_SAX1_ENABLED +XML_DEPRECATED +XMLPUBFUN void + xmlSetupParserForBuffer (xmlParserCtxtPtr ctxt, + const xmlChar* buffer, + const char *filename); +#endif /* LIBXML_SAX1_ENABLED */ +XMLPUBFUN xmlParserCtxtPtr + xmlCreateDocParserCtxt (const xmlChar *cur); + +#ifdef LIBXML_LEGACY_ENABLED +/* + * Reading/setting optional parsing features. + */ +XML_DEPRECATED +XMLPUBFUN int + xmlGetFeaturesList (int *len, + const char **result); +XML_DEPRECATED +XMLPUBFUN int + xmlGetFeature (xmlParserCtxtPtr ctxt, + const char *name, + void *result); +XML_DEPRECATED +XMLPUBFUN int + xmlSetFeature (xmlParserCtxtPtr ctxt, + const char *name, + void *value); +#endif /* LIBXML_LEGACY_ENABLED */ + +#ifdef LIBXML_PUSH_ENABLED +/* + * Interfaces for the Push mode. + */ +XMLPUBFUN xmlParserCtxtPtr + xmlCreatePushParserCtxt(xmlSAXHandlerPtr sax, + void *user_data, + const char *chunk, + int size, + const char *filename); +XMLPUBFUN int + xmlParseChunk (xmlParserCtxtPtr ctxt, + const char *chunk, + int size, + int terminate); +#endif /* LIBXML_PUSH_ENABLED */ + +/* + * Special I/O mode. + */ + +XMLPUBFUN xmlParserCtxtPtr + xmlCreateIOParserCtxt (xmlSAXHandlerPtr sax, + void *user_data, + xmlInputReadCallback ioread, + xmlInputCloseCallback ioclose, + void *ioctx, + xmlCharEncoding enc); + +XMLPUBFUN xmlParserInputPtr + xmlNewIOInputStream (xmlParserCtxtPtr ctxt, + xmlParserInputBufferPtr input, + xmlCharEncoding enc); + +/* + * Node infos. + */ +XMLPUBFUN const xmlParserNodeInfo* + xmlParserFindNodeInfo (xmlParserCtxtPtr ctxt, + xmlNodePtr node); +XMLPUBFUN void + xmlInitNodeInfoSeq (xmlParserNodeInfoSeqPtr seq); +XMLPUBFUN void + xmlClearNodeInfoSeq (xmlParserNodeInfoSeqPtr seq); +XMLPUBFUN unsigned long + xmlParserFindNodeInfoIndex(xmlParserNodeInfoSeqPtr seq, + xmlNodePtr node); +XMLPUBFUN void + xmlParserAddNodeInfo (xmlParserCtxtPtr ctxt, + xmlParserNodeInfoPtr info); + +/* + * External entities handling actually implemented in xmlIO. + */ + +XMLPUBFUN void + xmlSetExternalEntityLoader(xmlExternalEntityLoader f); +XMLPUBFUN xmlExternalEntityLoader + xmlGetExternalEntityLoader(void); +XMLPUBFUN xmlParserInputPtr + xmlLoadExternalEntity (const char *URL, + const char *ID, + xmlParserCtxtPtr ctxt); + +/* + * Index lookup, actually implemented in the encoding module + */ +XMLPUBFUN long + xmlByteConsumed (xmlParserCtxtPtr ctxt); + +/* + * New set of simpler/more flexible APIs + */ +/** + * xmlParserOption: + * + * This is the set of XML parser options that can be passed down + * to the xmlReadDoc() and similar calls. + */ +typedef enum { + XML_PARSE_RECOVER = 1<<0, /* recover on errors */ + XML_PARSE_NOENT = 1<<1, /* substitute entities */ + XML_PARSE_DTDLOAD = 1<<2, /* load the external subset */ + XML_PARSE_DTDATTR = 1<<3, /* default DTD attributes */ + XML_PARSE_DTDVALID = 1<<4, /* validate with the DTD */ + XML_PARSE_NOERROR = 1<<5, /* suppress error reports */ + XML_PARSE_NOWARNING = 1<<6, /* suppress warning reports */ + XML_PARSE_PEDANTIC = 1<<7, /* pedantic error reporting */ + XML_PARSE_NOBLANKS = 1<<8, /* remove blank nodes */ + XML_PARSE_SAX1 = 1<<9, /* use the SAX1 interface internally */ + XML_PARSE_XINCLUDE = 1<<10,/* Implement XInclude substitution */ + XML_PARSE_NONET = 1<<11,/* Forbid network access */ + XML_PARSE_NODICT = 1<<12,/* Do not reuse the context dictionary */ + XML_PARSE_NSCLEAN = 1<<13,/* remove redundant namespaces declarations */ + XML_PARSE_NOCDATA = 1<<14,/* merge CDATA as text nodes */ + XML_PARSE_NOXINCNODE= 1<<15,/* do not generate XINCLUDE START/END nodes */ + XML_PARSE_COMPACT = 1<<16,/* compact small text nodes; no modification of + the tree allowed afterwards (will possibly + crash if you try to modify the tree) */ + XML_PARSE_OLD10 = 1<<17,/* parse using XML-1.0 before update 5 */ + XML_PARSE_NOBASEFIX = 1<<18,/* do not fixup XINCLUDE xml:base uris */ + XML_PARSE_HUGE = 1<<19,/* relax any hardcoded limit from the parser */ + XML_PARSE_OLDSAX = 1<<20,/* parse using SAX2 interface before 2.7.0 */ + XML_PARSE_IGNORE_ENC= 1<<21,/* ignore internal document encoding hint */ + XML_PARSE_BIG_LINES = 1<<22,/* Store big lines numbers in text PSVI field */ + XML_PARSE_NO_XXE = 1<<23 /* disable loading of external content */ +} xmlParserOption; + +XMLPUBFUN void + xmlCtxtReset (xmlParserCtxtPtr ctxt); +XMLPUBFUN int + xmlCtxtResetPush (xmlParserCtxtPtr ctxt, + const char *chunk, + int size, + const char *filename, + const char *encoding); +XMLPUBFUN int + xmlCtxtSetOptions (xmlParserCtxtPtr ctxt, + int options); +XMLPUBFUN int + xmlCtxtUseOptions (xmlParserCtxtPtr ctxt, + int options); +XMLPUBFUN void + xmlCtxtSetErrorHandler (xmlParserCtxtPtr ctxt, + xmlStructuredErrorFunc handler, + void *data); +XMLPUBFUN void + xmlCtxtSetMaxAmplification(xmlParserCtxtPtr ctxt, + unsigned maxAmpl); +XMLPUBFUN xmlDocPtr + xmlReadDoc (const xmlChar *cur, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlDocPtr + xmlReadFile (const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlDocPtr + xmlReadMemory (const char *buffer, + int size, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlDocPtr + xmlReadFd (int fd, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlDocPtr + xmlReadIO (xmlInputReadCallback ioread, + xmlInputCloseCallback ioclose, + void *ioctx, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlDocPtr + xmlCtxtParseDocument (xmlParserCtxtPtr ctxt, + xmlParserInputPtr input); +XMLPUBFUN xmlDocPtr + xmlCtxtReadDoc (xmlParserCtxtPtr ctxt, + const xmlChar *cur, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlDocPtr + xmlCtxtReadFile (xmlParserCtxtPtr ctxt, + const char *filename, + const char *encoding, + int options); +XMLPUBFUN xmlDocPtr + xmlCtxtReadMemory (xmlParserCtxtPtr ctxt, + const char *buffer, + int size, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlDocPtr + xmlCtxtReadFd (xmlParserCtxtPtr ctxt, + int fd, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlDocPtr + xmlCtxtReadIO (xmlParserCtxtPtr ctxt, + xmlInputReadCallback ioread, + xmlInputCloseCallback ioclose, + void *ioctx, + const char *URL, + const char *encoding, + int options); + +/* + * Library wide options + */ +/** + * xmlFeature: + * + * Used to examine the existence of features that can be enabled + * or disabled at compile-time. + * They used to be called XML_FEATURE_xxx but this clashed with Expat + */ +typedef enum { + XML_WITH_THREAD = 1, + XML_WITH_TREE = 2, + XML_WITH_OUTPUT = 3, + XML_WITH_PUSH = 4, + XML_WITH_READER = 5, + XML_WITH_PATTERN = 6, + XML_WITH_WRITER = 7, + XML_WITH_SAX1 = 8, + XML_WITH_FTP = 9, + XML_WITH_HTTP = 10, + XML_WITH_VALID = 11, + XML_WITH_HTML = 12, + XML_WITH_LEGACY = 13, + XML_WITH_C14N = 14, + XML_WITH_CATALOG = 15, + XML_WITH_XPATH = 16, + XML_WITH_XPTR = 17, + XML_WITH_XINCLUDE = 18, + XML_WITH_ICONV = 19, + XML_WITH_ISO8859X = 20, + XML_WITH_UNICODE = 21, + XML_WITH_REGEXP = 22, + XML_WITH_AUTOMATA = 23, + XML_WITH_EXPR = 24, + XML_WITH_SCHEMAS = 25, + XML_WITH_SCHEMATRON = 26, + XML_WITH_MODULES = 27, + XML_WITH_DEBUG = 28, + XML_WITH_DEBUG_MEM = 29, + XML_WITH_DEBUG_RUN = 30, /* unused */ + XML_WITH_ZLIB = 31, + XML_WITH_ICU = 32, + XML_WITH_LZMA = 33, + XML_WITH_NONE = 99999 /* just to be sure of allocation size */ +} xmlFeature; + +XMLPUBFUN int + xmlHasFeature (xmlFeature feature); + +#ifdef __cplusplus +} +#endif +#endif /* __XML_PARSER_H__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/parserInternals.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/parserInternals.h new file mode 100644 index 0000000..c4d4363 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/parserInternals.h @@ -0,0 +1,671 @@ +/* + * Summary: internals routines and limits exported by the parser. + * Description: this module exports a number of internal parsing routines + * they are not really all intended for applications but + * can prove useful doing low level processing. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_PARSER_INTERNALS_H__ +#define __XML_PARSER_INTERNALS_H__ + +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * xmlParserMaxDepth: + * + * DEPRECATED: has no effect + * + * arbitrary depth limit for the XML documents that we allow to + * process. This is not a limitation of the parser but a safety + * boundary feature, use XML_PARSE_HUGE option to override it. + */ +XML_DEPRECATED +XMLPUBVAR const unsigned int xmlParserMaxDepth; + +/** + * XML_MAX_TEXT_LENGTH: + * + * Maximum size allowed for a single text node when building a tree. + * This is not a limitation of the parser but a safety boundary feature, + * use XML_PARSE_HUGE option to override it. + * Introduced in 2.9.0 + */ +#define XML_MAX_TEXT_LENGTH 10000000 + +/** + * XML_MAX_HUGE_LENGTH: + * + * Maximum size allowed when XML_PARSE_HUGE is set. + */ +#define XML_MAX_HUGE_LENGTH 1000000000 + +/** + * XML_MAX_NAME_LENGTH: + * + * Maximum size allowed for a markup identifier. + * This is not a limitation of the parser but a safety boundary feature, + * use XML_PARSE_HUGE option to override it. + * Note that with the use of parsing dictionaries overriding the limit + * may result in more runtime memory usage in face of "unfriendly' content + * Introduced in 2.9.0 + */ +#define XML_MAX_NAME_LENGTH 50000 + +/** + * XML_MAX_DICTIONARY_LIMIT: + * + * Maximum size allowed by the parser for a dictionary by default + * This is not a limitation of the parser but a safety boundary feature, + * use XML_PARSE_HUGE option to override it. + * Introduced in 2.9.0 + */ +#define XML_MAX_DICTIONARY_LIMIT 10000000 + +/** + * XML_MAX_LOOKUP_LIMIT: + * + * Maximum size allowed by the parser for ahead lookup + * This is an upper boundary enforced by the parser to avoid bad + * behaviour on "unfriendly' content + * Introduced in 2.9.0 + */ +#define XML_MAX_LOOKUP_LIMIT 10000000 + +/** + * XML_MAX_NAMELEN: + * + * Identifiers can be longer, but this will be more costly + * at runtime. + */ +#define XML_MAX_NAMELEN 100 + +/** + * INPUT_CHUNK: + * + * The parser tries to always have that amount of input ready. + * One of the point is providing context when reporting errors. + */ +#define INPUT_CHUNK 250 + +/************************************************************************ + * * + * UNICODE version of the macros. * + * * + ************************************************************************/ +/** + * IS_BYTE_CHAR: + * @c: an byte value (int) + * + * Macro to check the following production in the XML spec: + * + * [2] Char ::= #x9 | #xA | #xD | [#x20...] + * any byte character in the accepted range + */ +#define IS_BYTE_CHAR(c) xmlIsChar_ch(c) + +/** + * IS_CHAR: + * @c: an UNICODE value (int) + * + * Macro to check the following production in the XML spec: + * + * [2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] + * | [#x10000-#x10FFFF] + * any Unicode character, excluding the surrogate blocks, FFFE, and FFFF. + */ +#define IS_CHAR(c) xmlIsCharQ(c) + +/** + * IS_CHAR_CH: + * @c: an xmlChar (usually an unsigned char) + * + * Behaves like IS_CHAR on single-byte value + */ +#define IS_CHAR_CH(c) xmlIsChar_ch(c) + +/** + * IS_BLANK: + * @c: an UNICODE value (int) + * + * Macro to check the following production in the XML spec: + * + * [3] S ::= (#x20 | #x9 | #xD | #xA)+ + */ +#define IS_BLANK(c) xmlIsBlankQ(c) + +/** + * IS_BLANK_CH: + * @c: an xmlChar value (normally unsigned char) + * + * Behaviour same as IS_BLANK + */ +#define IS_BLANK_CH(c) xmlIsBlank_ch(c) + +/** + * IS_BASECHAR: + * @c: an UNICODE value (int) + * + * Macro to check the following production in the XML spec: + * + * [85] BaseChar ::= ... long list see REC ... + */ +#define IS_BASECHAR(c) xmlIsBaseCharQ(c) + +/** + * IS_DIGIT: + * @c: an UNICODE value (int) + * + * Macro to check the following production in the XML spec: + * + * [88] Digit ::= ... long list see REC ... + */ +#define IS_DIGIT(c) xmlIsDigitQ(c) + +/** + * IS_DIGIT_CH: + * @c: an xmlChar value (usually an unsigned char) + * + * Behaves like IS_DIGIT but with a single byte argument + */ +#define IS_DIGIT_CH(c) xmlIsDigit_ch(c) + +/** + * IS_COMBINING: + * @c: an UNICODE value (int) + * + * Macro to check the following production in the XML spec: + * + * [87] CombiningChar ::= ... long list see REC ... + */ +#define IS_COMBINING(c) xmlIsCombiningQ(c) + +/** + * IS_COMBINING_CH: + * @c: an xmlChar (usually an unsigned char) + * + * Always false (all combining chars > 0xff) + */ +#define IS_COMBINING_CH(c) 0 + +/** + * IS_EXTENDER: + * @c: an UNICODE value (int) + * + * Macro to check the following production in the XML spec: + * + * + * [89] Extender ::= #x00B7 | #x02D0 | #x02D1 | #x0387 | #x0640 | + * #x0E46 | #x0EC6 | #x3005 | [#x3031-#x3035] | + * [#x309D-#x309E] | [#x30FC-#x30FE] + */ +#define IS_EXTENDER(c) xmlIsExtenderQ(c) + +/** + * IS_EXTENDER_CH: + * @c: an xmlChar value (usually an unsigned char) + * + * Behaves like IS_EXTENDER but with a single-byte argument + */ +#define IS_EXTENDER_CH(c) xmlIsExtender_ch(c) + +/** + * IS_IDEOGRAPHIC: + * @c: an UNICODE value (int) + * + * Macro to check the following production in the XML spec: + * + * + * [86] Ideographic ::= [#x4E00-#x9FA5] | #x3007 | [#x3021-#x3029] + */ +#define IS_IDEOGRAPHIC(c) xmlIsIdeographicQ(c) + +/** + * IS_LETTER: + * @c: an UNICODE value (int) + * + * Macro to check the following production in the XML spec: + * + * + * [84] Letter ::= BaseChar | Ideographic + */ +#define IS_LETTER(c) (IS_BASECHAR(c) || IS_IDEOGRAPHIC(c)) + +/** + * IS_LETTER_CH: + * @c: an xmlChar value (normally unsigned char) + * + * Macro behaves like IS_LETTER, but only check base chars + * + */ +#define IS_LETTER_CH(c) xmlIsBaseChar_ch(c) + +/** + * IS_ASCII_LETTER: + * @c: an xmlChar value + * + * Macro to check [a-zA-Z] + * + */ +#define IS_ASCII_LETTER(c) (((0x41 <= (c)) && ((c) <= 0x5a)) || \ + ((0x61 <= (c)) && ((c) <= 0x7a))) + +/** + * IS_ASCII_DIGIT: + * @c: an xmlChar value + * + * Macro to check [0-9] + * + */ +#define IS_ASCII_DIGIT(c) ((0x30 <= (c)) && ((c) <= 0x39)) + +/** + * IS_PUBIDCHAR: + * @c: an UNICODE value (int) + * + * Macro to check the following production in the XML spec: + * + * + * [13] PubidChar ::= #x20 | #xD | #xA | [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%] + */ +#define IS_PUBIDCHAR(c) xmlIsPubidCharQ(c) + +/** + * IS_PUBIDCHAR_CH: + * @c: an xmlChar value (normally unsigned char) + * + * Same as IS_PUBIDCHAR but for single-byte value + */ +#define IS_PUBIDCHAR_CH(c) xmlIsPubidChar_ch(c) + +/** + * Global variables used for predefined strings. + */ +XMLPUBVAR const xmlChar xmlStringText[]; +XMLPUBVAR const xmlChar xmlStringTextNoenc[]; +XMLPUBVAR const xmlChar xmlStringComment[]; + +/* + * Function to finish the work of the macros where needed. + */ +XMLPUBFUN int xmlIsLetter (int c); + +/** + * Parser context. + */ +XMLPUBFUN xmlParserCtxtPtr + xmlCreateFileParserCtxt (const char *filename); +XMLPUBFUN xmlParserCtxtPtr + xmlCreateURLParserCtxt (const char *filename, + int options); +XMLPUBFUN xmlParserCtxtPtr + xmlCreateMemoryParserCtxt(const char *buffer, + int size); +XMLPUBFUN xmlParserCtxtPtr + xmlCreateEntityParserCtxt(const xmlChar *URL, + const xmlChar *ID, + const xmlChar *base); +XMLPUBFUN void + xmlCtxtErrMemory (xmlParserCtxtPtr ctxt); +XMLPUBFUN int + xmlSwitchEncoding (xmlParserCtxtPtr ctxt, + xmlCharEncoding enc); +XMLPUBFUN int + xmlSwitchEncodingName (xmlParserCtxtPtr ctxt, + const char *encoding); +XMLPUBFUN int + xmlSwitchToEncoding (xmlParserCtxtPtr ctxt, + xmlCharEncodingHandlerPtr handler); +XML_DEPRECATED +XMLPUBFUN int + xmlSwitchInputEncoding (xmlParserCtxtPtr ctxt, + xmlParserInputPtr input, + xmlCharEncodingHandlerPtr handler); + +/** + * Input Streams. + */ +XMLPUBFUN xmlParserInputPtr + xmlNewStringInputStream (xmlParserCtxtPtr ctxt, + const xmlChar *buffer); +XML_DEPRECATED +XMLPUBFUN xmlParserInputPtr + xmlNewEntityInputStream (xmlParserCtxtPtr ctxt, + xmlEntityPtr entity); +XMLPUBFUN int + xmlPushInput (xmlParserCtxtPtr ctxt, + xmlParserInputPtr input); +XMLPUBFUN xmlChar + xmlPopInput (xmlParserCtxtPtr ctxt); +XMLPUBFUN void + xmlFreeInputStream (xmlParserInputPtr input); +XMLPUBFUN xmlParserInputPtr + xmlNewInputFromFile (xmlParserCtxtPtr ctxt, + const char *filename); +XMLPUBFUN xmlParserInputPtr + xmlNewInputStream (xmlParserCtxtPtr ctxt); + +/** + * Namespaces. + */ +XMLPUBFUN xmlChar * + xmlSplitQName (xmlParserCtxtPtr ctxt, + const xmlChar *name, + xmlChar **prefix); + +/** + * Generic production rules. + */ +XML_DEPRECATED +XMLPUBFUN const xmlChar * + xmlParseName (xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN xmlChar * + xmlParseNmtoken (xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN xmlChar * + xmlParseEntityValue (xmlParserCtxtPtr ctxt, + xmlChar **orig); +XML_DEPRECATED +XMLPUBFUN xmlChar * + xmlParseAttValue (xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN xmlChar * + xmlParseSystemLiteral (xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN xmlChar * + xmlParsePubidLiteral (xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN void + xmlParseCharData (xmlParserCtxtPtr ctxt, + int cdata); +XML_DEPRECATED +XMLPUBFUN xmlChar * + xmlParseExternalID (xmlParserCtxtPtr ctxt, + xmlChar **publicID, + int strict); +XML_DEPRECATED +XMLPUBFUN void + xmlParseComment (xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN const xmlChar * + xmlParsePITarget (xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN void + xmlParsePI (xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN void + xmlParseNotationDecl (xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN void + xmlParseEntityDecl (xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN int + xmlParseDefaultDecl (xmlParserCtxtPtr ctxt, + xmlChar **value); +XML_DEPRECATED +XMLPUBFUN xmlEnumerationPtr + xmlParseNotationType (xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN xmlEnumerationPtr + xmlParseEnumerationType (xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN int + xmlParseEnumeratedType (xmlParserCtxtPtr ctxt, + xmlEnumerationPtr *tree); +XML_DEPRECATED +XMLPUBFUN int + xmlParseAttributeType (xmlParserCtxtPtr ctxt, + xmlEnumerationPtr *tree); +XML_DEPRECATED +XMLPUBFUN void + xmlParseAttributeListDecl(xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN xmlElementContentPtr + xmlParseElementMixedContentDecl + (xmlParserCtxtPtr ctxt, + int inputchk); +XML_DEPRECATED +XMLPUBFUN xmlElementContentPtr + xmlParseElementChildrenContentDecl + (xmlParserCtxtPtr ctxt, + int inputchk); +XML_DEPRECATED +XMLPUBFUN int + xmlParseElementContentDecl(xmlParserCtxtPtr ctxt, + const xmlChar *name, + xmlElementContentPtr *result); +XML_DEPRECATED +XMLPUBFUN int + xmlParseElementDecl (xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN void + xmlParseMarkupDecl (xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN int + xmlParseCharRef (xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN xmlEntityPtr + xmlParseEntityRef (xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN void + xmlParseReference (xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN void + xmlParsePEReference (xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN void + xmlParseDocTypeDecl (xmlParserCtxtPtr ctxt); +#ifdef LIBXML_SAX1_ENABLED +XML_DEPRECATED +XMLPUBFUN const xmlChar * + xmlParseAttribute (xmlParserCtxtPtr ctxt, + xmlChar **value); +XML_DEPRECATED +XMLPUBFUN const xmlChar * + xmlParseStartTag (xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN void + xmlParseEndTag (xmlParserCtxtPtr ctxt); +#endif /* LIBXML_SAX1_ENABLED */ +XML_DEPRECATED +XMLPUBFUN void + xmlParseCDSect (xmlParserCtxtPtr ctxt); +XMLPUBFUN void + xmlParseContent (xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN void + xmlParseElement (xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN xmlChar * + xmlParseVersionNum (xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN xmlChar * + xmlParseVersionInfo (xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN xmlChar * + xmlParseEncName (xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN const xmlChar * + xmlParseEncodingDecl (xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN int + xmlParseSDDecl (xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN void + xmlParseXMLDecl (xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN void + xmlParseTextDecl (xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN void + xmlParseMisc (xmlParserCtxtPtr ctxt); +XMLPUBFUN void + xmlParseExternalSubset (xmlParserCtxtPtr ctxt, + const xmlChar *ExternalID, + const xmlChar *SystemID); +/** + * XML_SUBSTITUTE_NONE: + * + * If no entities need to be substituted. + */ +#define XML_SUBSTITUTE_NONE 0 +/** + * XML_SUBSTITUTE_REF: + * + * Whether general entities need to be substituted. + */ +#define XML_SUBSTITUTE_REF 1 +/** + * XML_SUBSTITUTE_PEREF: + * + * Whether parameter entities need to be substituted. + */ +#define XML_SUBSTITUTE_PEREF 2 +/** + * XML_SUBSTITUTE_BOTH: + * + * Both general and parameter entities need to be substituted. + */ +#define XML_SUBSTITUTE_BOTH 3 + +XML_DEPRECATED +XMLPUBFUN xmlChar * + xmlStringDecodeEntities (xmlParserCtxtPtr ctxt, + const xmlChar *str, + int what, + xmlChar end, + xmlChar end2, + xmlChar end3); +XML_DEPRECATED +XMLPUBFUN xmlChar * + xmlStringLenDecodeEntities (xmlParserCtxtPtr ctxt, + const xmlChar *str, + int len, + int what, + xmlChar end, + xmlChar end2, + xmlChar end3); + +/* + * Generated by MACROS on top of parser.c c.f. PUSH_AND_POP. + */ +XML_DEPRECATED +XMLPUBFUN int nodePush (xmlParserCtxtPtr ctxt, + xmlNodePtr value); +XML_DEPRECATED +XMLPUBFUN xmlNodePtr nodePop (xmlParserCtxtPtr ctxt); +XMLPUBFUN int inputPush (xmlParserCtxtPtr ctxt, + xmlParserInputPtr value); +XMLPUBFUN xmlParserInputPtr inputPop (xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN const xmlChar * namePop (xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN int namePush (xmlParserCtxtPtr ctxt, + const xmlChar *value); + +/* + * other commodities shared between parser.c and parserInternals. + */ +XML_DEPRECATED +XMLPUBFUN int xmlSkipBlankChars (xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN int xmlStringCurrentChar (xmlParserCtxtPtr ctxt, + const xmlChar *cur, + int *len); +XML_DEPRECATED +XMLPUBFUN void xmlParserHandlePEReference(xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN int xmlCheckLanguageID (const xmlChar *lang); + +/* + * Really core function shared with HTML parser. + */ +XML_DEPRECATED +XMLPUBFUN int xmlCurrentChar (xmlParserCtxtPtr ctxt, + int *len); +XMLPUBFUN int xmlCopyCharMultiByte (xmlChar *out, + int val); +XMLPUBFUN int xmlCopyChar (int len, + xmlChar *out, + int val); +XML_DEPRECATED +XMLPUBFUN void xmlNextChar (xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN void xmlParserInputShrink (xmlParserInputPtr in); + +/* + * Specific function to keep track of entities references + * and used by the XSLT debugger. + */ +#ifdef LIBXML_LEGACY_ENABLED +/** + * xmlEntityReferenceFunc: + * @ent: the entity + * @firstNode: the fist node in the chunk + * @lastNode: the last nod in the chunk + * + * Callback function used when one needs to be able to track back the + * provenance of a chunk of nodes inherited from an entity replacement. + */ +typedef void (*xmlEntityReferenceFunc) (xmlEntityPtr ent, + xmlNodePtr firstNode, + xmlNodePtr lastNode); + +XML_DEPRECATED +XMLPUBFUN void xmlSetEntityReferenceFunc (xmlEntityReferenceFunc func); + +XML_DEPRECATED +XMLPUBFUN xmlChar * + xmlParseQuotedString (xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN void + xmlParseNamespace (xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN xmlChar * + xmlNamespaceParseNSDef (xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN xmlChar * + xmlScanName (xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN xmlChar * + xmlNamespaceParseNCName (xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN void xmlParserHandleReference(xmlParserCtxtPtr ctxt); +XML_DEPRECATED +XMLPUBFUN xmlChar * + xmlNamespaceParseQName (xmlParserCtxtPtr ctxt, + xmlChar **prefix); +/** + * Entities + */ +XML_DEPRECATED +XMLPUBFUN xmlChar * + xmlDecodeEntities (xmlParserCtxtPtr ctxt, + int len, + int what, + xmlChar end, + xmlChar end2, + xmlChar end3); +XML_DEPRECATED +XMLPUBFUN void + xmlHandleEntity (xmlParserCtxtPtr ctxt, + xmlEntityPtr entity); + +#endif /* LIBXML_LEGACY_ENABLED */ + +#ifdef __cplusplus +} +#endif +#endif /* __XML_PARSER_INTERNALS_H__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/pattern.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/pattern.h new file mode 100644 index 0000000..947f090 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/pattern.h @@ -0,0 +1,106 @@ +/* + * Summary: pattern expression handling + * Description: allows to compile and test pattern expressions for nodes + * either in a tree or based on a parser state. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_PATTERN_H__ +#define __XML_PATTERN_H__ + +#include +#include +#include + +#ifdef LIBXML_PATTERN_ENABLED + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * xmlPattern: + * + * A compiled (XPath based) pattern to select nodes + */ +typedef struct _xmlPattern xmlPattern; +typedef xmlPattern *xmlPatternPtr; + +/** + * xmlPatternFlags: + * + * This is the set of options affecting the behaviour of pattern + * matching with this module + * + */ +typedef enum { + XML_PATTERN_DEFAULT = 0, /* simple pattern match */ + XML_PATTERN_XPATH = 1<<0, /* standard XPath pattern */ + XML_PATTERN_XSSEL = 1<<1, /* XPath subset for schema selector */ + XML_PATTERN_XSFIELD = 1<<2 /* XPath subset for schema field */ +} xmlPatternFlags; + +XMLPUBFUN void + xmlFreePattern (xmlPatternPtr comp); + +XMLPUBFUN void + xmlFreePatternList (xmlPatternPtr comp); + +XMLPUBFUN xmlPatternPtr + xmlPatterncompile (const xmlChar *pattern, + xmlDict *dict, + int flags, + const xmlChar **namespaces); +XMLPUBFUN int + xmlPatternCompileSafe (const xmlChar *pattern, + xmlDict *dict, + int flags, + const xmlChar **namespaces, + xmlPatternPtr *patternOut); +XMLPUBFUN int + xmlPatternMatch (xmlPatternPtr comp, + xmlNodePtr node); + +/* streaming interfaces */ +typedef struct _xmlStreamCtxt xmlStreamCtxt; +typedef xmlStreamCtxt *xmlStreamCtxtPtr; + +XMLPUBFUN int + xmlPatternStreamable (xmlPatternPtr comp); +XMLPUBFUN int + xmlPatternMaxDepth (xmlPatternPtr comp); +XMLPUBFUN int + xmlPatternMinDepth (xmlPatternPtr comp); +XMLPUBFUN int + xmlPatternFromRoot (xmlPatternPtr comp); +XMLPUBFUN xmlStreamCtxtPtr + xmlPatternGetStreamCtxt (xmlPatternPtr comp); +XMLPUBFUN void + xmlFreeStreamCtxt (xmlStreamCtxtPtr stream); +XMLPUBFUN int + xmlStreamPushNode (xmlStreamCtxtPtr stream, + const xmlChar *name, + const xmlChar *ns, + int nodeType); +XMLPUBFUN int + xmlStreamPush (xmlStreamCtxtPtr stream, + const xmlChar *name, + const xmlChar *ns); +XMLPUBFUN int + xmlStreamPushAttr (xmlStreamCtxtPtr stream, + const xmlChar *name, + const xmlChar *ns); +XMLPUBFUN int + xmlStreamPop (xmlStreamCtxtPtr stream); +XMLPUBFUN int + xmlStreamWantsAnyNode (xmlStreamCtxtPtr stream); +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_PATTERN_ENABLED */ + +#endif /* __XML_PATTERN_H__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/relaxng.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/relaxng.h new file mode 100644 index 0000000..079b7f1 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/relaxng.h @@ -0,0 +1,219 @@ +/* + * Summary: implementation of the Relax-NG validation + * Description: implementation of the Relax-NG validation + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_RELAX_NG__ +#define __XML_RELAX_NG__ + +#include +#include +#include +#include + +#ifdef LIBXML_SCHEMAS_ENABLED + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct _xmlRelaxNG xmlRelaxNG; +typedef xmlRelaxNG *xmlRelaxNGPtr; + + +/** + * xmlRelaxNGValidityErrorFunc: + * @ctx: the validation context + * @msg: the message + * @...: extra arguments + * + * Signature of an error callback from a Relax-NG validation + */ +typedef void (*xmlRelaxNGValidityErrorFunc) (void *ctx, + const char *msg, + ...) LIBXML_ATTR_FORMAT(2,3); + +/** + * xmlRelaxNGValidityWarningFunc: + * @ctx: the validation context + * @msg: the message + * @...: extra arguments + * + * Signature of a warning callback from a Relax-NG validation + */ +typedef void (*xmlRelaxNGValidityWarningFunc) (void *ctx, + const char *msg, + ...) LIBXML_ATTR_FORMAT(2,3); + +/** + * A schemas validation context + */ +typedef struct _xmlRelaxNGParserCtxt xmlRelaxNGParserCtxt; +typedef xmlRelaxNGParserCtxt *xmlRelaxNGParserCtxtPtr; + +typedef struct _xmlRelaxNGValidCtxt xmlRelaxNGValidCtxt; +typedef xmlRelaxNGValidCtxt *xmlRelaxNGValidCtxtPtr; + +/* + * xmlRelaxNGValidErr: + * + * List of possible Relax NG validation errors + */ +typedef enum { + XML_RELAXNG_OK = 0, + XML_RELAXNG_ERR_MEMORY, + XML_RELAXNG_ERR_TYPE, + XML_RELAXNG_ERR_TYPEVAL, + XML_RELAXNG_ERR_DUPID, + XML_RELAXNG_ERR_TYPECMP, + XML_RELAXNG_ERR_NOSTATE, + XML_RELAXNG_ERR_NODEFINE, + XML_RELAXNG_ERR_LISTEXTRA, + XML_RELAXNG_ERR_LISTEMPTY, + XML_RELAXNG_ERR_INTERNODATA, + XML_RELAXNG_ERR_INTERSEQ, + XML_RELAXNG_ERR_INTEREXTRA, + XML_RELAXNG_ERR_ELEMNAME, + XML_RELAXNG_ERR_ATTRNAME, + XML_RELAXNG_ERR_ELEMNONS, + XML_RELAXNG_ERR_ATTRNONS, + XML_RELAXNG_ERR_ELEMWRONGNS, + XML_RELAXNG_ERR_ATTRWRONGNS, + XML_RELAXNG_ERR_ELEMEXTRANS, + XML_RELAXNG_ERR_ATTREXTRANS, + XML_RELAXNG_ERR_ELEMNOTEMPTY, + XML_RELAXNG_ERR_NOELEM, + XML_RELAXNG_ERR_NOTELEM, + XML_RELAXNG_ERR_ATTRVALID, + XML_RELAXNG_ERR_CONTENTVALID, + XML_RELAXNG_ERR_EXTRACONTENT, + XML_RELAXNG_ERR_INVALIDATTR, + XML_RELAXNG_ERR_DATAELEM, + XML_RELAXNG_ERR_VALELEM, + XML_RELAXNG_ERR_LISTELEM, + XML_RELAXNG_ERR_DATATYPE, + XML_RELAXNG_ERR_VALUE, + XML_RELAXNG_ERR_LIST, + XML_RELAXNG_ERR_NOGRAMMAR, + XML_RELAXNG_ERR_EXTRADATA, + XML_RELAXNG_ERR_LACKDATA, + XML_RELAXNG_ERR_INTERNAL, + XML_RELAXNG_ERR_ELEMWRONG, + XML_RELAXNG_ERR_TEXTWRONG +} xmlRelaxNGValidErr; + +/* + * xmlRelaxNGParserFlags: + * + * List of possible Relax NG Parser flags + */ +typedef enum { + XML_RELAXNGP_NONE = 0, + XML_RELAXNGP_FREE_DOC = 1, + XML_RELAXNGP_CRNG = 2 +} xmlRelaxNGParserFlag; + +XMLPUBFUN int + xmlRelaxNGInitTypes (void); +XML_DEPRECATED +XMLPUBFUN void + xmlRelaxNGCleanupTypes (void); + +/* + * Interfaces for parsing. + */ +XMLPUBFUN xmlRelaxNGParserCtxtPtr + xmlRelaxNGNewParserCtxt (const char *URL); +XMLPUBFUN xmlRelaxNGParserCtxtPtr + xmlRelaxNGNewMemParserCtxt (const char *buffer, + int size); +XMLPUBFUN xmlRelaxNGParserCtxtPtr + xmlRelaxNGNewDocParserCtxt (xmlDocPtr doc); + +XMLPUBFUN int + xmlRelaxParserSetFlag (xmlRelaxNGParserCtxtPtr ctxt, + int flag); + +XMLPUBFUN void + xmlRelaxNGFreeParserCtxt (xmlRelaxNGParserCtxtPtr ctxt); +XMLPUBFUN void + xmlRelaxNGSetParserErrors(xmlRelaxNGParserCtxtPtr ctxt, + xmlRelaxNGValidityErrorFunc err, + xmlRelaxNGValidityWarningFunc warn, + void *ctx); +XMLPUBFUN int + xmlRelaxNGGetParserErrors(xmlRelaxNGParserCtxtPtr ctxt, + xmlRelaxNGValidityErrorFunc *err, + xmlRelaxNGValidityWarningFunc *warn, + void **ctx); +XMLPUBFUN void + xmlRelaxNGSetParserStructuredErrors( + xmlRelaxNGParserCtxtPtr ctxt, + xmlStructuredErrorFunc serror, + void *ctx); +XMLPUBFUN xmlRelaxNGPtr + xmlRelaxNGParse (xmlRelaxNGParserCtxtPtr ctxt); +XMLPUBFUN void + xmlRelaxNGFree (xmlRelaxNGPtr schema); +#ifdef LIBXML_OUTPUT_ENABLED +XMLPUBFUN void + xmlRelaxNGDump (FILE *output, + xmlRelaxNGPtr schema); +XMLPUBFUN void + xmlRelaxNGDumpTree (FILE * output, + xmlRelaxNGPtr schema); +#endif /* LIBXML_OUTPUT_ENABLED */ +/* + * Interfaces for validating + */ +XMLPUBFUN void + xmlRelaxNGSetValidErrors(xmlRelaxNGValidCtxtPtr ctxt, + xmlRelaxNGValidityErrorFunc err, + xmlRelaxNGValidityWarningFunc warn, + void *ctx); +XMLPUBFUN int + xmlRelaxNGGetValidErrors(xmlRelaxNGValidCtxtPtr ctxt, + xmlRelaxNGValidityErrorFunc *err, + xmlRelaxNGValidityWarningFunc *warn, + void **ctx); +XMLPUBFUN void + xmlRelaxNGSetValidStructuredErrors(xmlRelaxNGValidCtxtPtr ctxt, + xmlStructuredErrorFunc serror, void *ctx); +XMLPUBFUN xmlRelaxNGValidCtxtPtr + xmlRelaxNGNewValidCtxt (xmlRelaxNGPtr schema); +XMLPUBFUN void + xmlRelaxNGFreeValidCtxt (xmlRelaxNGValidCtxtPtr ctxt); +XMLPUBFUN int + xmlRelaxNGValidateDoc (xmlRelaxNGValidCtxtPtr ctxt, + xmlDocPtr doc); +/* + * Interfaces for progressive validation when possible + */ +XMLPUBFUN int + xmlRelaxNGValidatePushElement (xmlRelaxNGValidCtxtPtr ctxt, + xmlDocPtr doc, + xmlNodePtr elem); +XMLPUBFUN int + xmlRelaxNGValidatePushCData (xmlRelaxNGValidCtxtPtr ctxt, + const xmlChar *data, + int len); +XMLPUBFUN int + xmlRelaxNGValidatePopElement (xmlRelaxNGValidCtxtPtr ctxt, + xmlDocPtr doc, + xmlNodePtr elem); +XMLPUBFUN int + xmlRelaxNGValidateFullElement (xmlRelaxNGValidCtxtPtr ctxt, + xmlDocPtr doc, + xmlNodePtr elem); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_SCHEMAS_ENABLED */ + +#endif /* __XML_RELAX_NG__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/schemasInternals.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/schemasInternals.h new file mode 100644 index 0000000..e9d3b3c --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/schemasInternals.h @@ -0,0 +1,959 @@ +/* + * Summary: internal interfaces for XML Schemas + * Description: internal interfaces for the XML Schemas handling + * and schema validity checking + * The Schemas development is a Work In Progress. + * Some of those interfaces are not guaranteed to be API or ABI stable ! + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + + +#ifndef __XML_SCHEMA_INTERNALS_H__ +#define __XML_SCHEMA_INTERNALS_H__ + +#include + +#ifdef LIBXML_SCHEMAS_ENABLED + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum { + XML_SCHEMAS_UNKNOWN = 0, + XML_SCHEMAS_STRING = 1, + XML_SCHEMAS_NORMSTRING = 2, + XML_SCHEMAS_DECIMAL = 3, + XML_SCHEMAS_TIME = 4, + XML_SCHEMAS_GDAY = 5, + XML_SCHEMAS_GMONTH = 6, + XML_SCHEMAS_GMONTHDAY = 7, + XML_SCHEMAS_GYEAR = 8, + XML_SCHEMAS_GYEARMONTH = 9, + XML_SCHEMAS_DATE = 10, + XML_SCHEMAS_DATETIME = 11, + XML_SCHEMAS_DURATION = 12, + XML_SCHEMAS_FLOAT = 13, + XML_SCHEMAS_DOUBLE = 14, + XML_SCHEMAS_BOOLEAN = 15, + XML_SCHEMAS_TOKEN = 16, + XML_SCHEMAS_LANGUAGE = 17, + XML_SCHEMAS_NMTOKEN = 18, + XML_SCHEMAS_NMTOKENS = 19, + XML_SCHEMAS_NAME = 20, + XML_SCHEMAS_QNAME = 21, + XML_SCHEMAS_NCNAME = 22, + XML_SCHEMAS_ID = 23, + XML_SCHEMAS_IDREF = 24, + XML_SCHEMAS_IDREFS = 25, + XML_SCHEMAS_ENTITY = 26, + XML_SCHEMAS_ENTITIES = 27, + XML_SCHEMAS_NOTATION = 28, + XML_SCHEMAS_ANYURI = 29, + XML_SCHEMAS_INTEGER = 30, + XML_SCHEMAS_NPINTEGER = 31, + XML_SCHEMAS_NINTEGER = 32, + XML_SCHEMAS_NNINTEGER = 33, + XML_SCHEMAS_PINTEGER = 34, + XML_SCHEMAS_INT = 35, + XML_SCHEMAS_UINT = 36, + XML_SCHEMAS_LONG = 37, + XML_SCHEMAS_ULONG = 38, + XML_SCHEMAS_SHORT = 39, + XML_SCHEMAS_USHORT = 40, + XML_SCHEMAS_BYTE = 41, + XML_SCHEMAS_UBYTE = 42, + XML_SCHEMAS_HEXBINARY = 43, + XML_SCHEMAS_BASE64BINARY = 44, + XML_SCHEMAS_ANYTYPE = 45, + XML_SCHEMAS_ANYSIMPLETYPE = 46 +} xmlSchemaValType; + +/* + * XML Schemas defines multiple type of types. + */ +typedef enum { + XML_SCHEMA_TYPE_BASIC = 1, /* A built-in datatype */ + XML_SCHEMA_TYPE_ANY, + XML_SCHEMA_TYPE_FACET, + XML_SCHEMA_TYPE_SIMPLE, + XML_SCHEMA_TYPE_COMPLEX, + XML_SCHEMA_TYPE_SEQUENCE = 6, + XML_SCHEMA_TYPE_CHOICE, + XML_SCHEMA_TYPE_ALL, + XML_SCHEMA_TYPE_SIMPLE_CONTENT, + XML_SCHEMA_TYPE_COMPLEX_CONTENT, + XML_SCHEMA_TYPE_UR, + XML_SCHEMA_TYPE_RESTRICTION, + XML_SCHEMA_TYPE_EXTENSION, + XML_SCHEMA_TYPE_ELEMENT, + XML_SCHEMA_TYPE_ATTRIBUTE, + XML_SCHEMA_TYPE_ATTRIBUTEGROUP, + XML_SCHEMA_TYPE_GROUP, + XML_SCHEMA_TYPE_NOTATION, + XML_SCHEMA_TYPE_LIST, + XML_SCHEMA_TYPE_UNION, + XML_SCHEMA_TYPE_ANY_ATTRIBUTE, + XML_SCHEMA_TYPE_IDC_UNIQUE, + XML_SCHEMA_TYPE_IDC_KEY, + XML_SCHEMA_TYPE_IDC_KEYREF, + XML_SCHEMA_TYPE_PARTICLE = 25, + XML_SCHEMA_TYPE_ATTRIBUTE_USE, + XML_SCHEMA_FACET_MININCLUSIVE = 1000, + XML_SCHEMA_FACET_MINEXCLUSIVE, + XML_SCHEMA_FACET_MAXINCLUSIVE, + XML_SCHEMA_FACET_MAXEXCLUSIVE, + XML_SCHEMA_FACET_TOTALDIGITS, + XML_SCHEMA_FACET_FRACTIONDIGITS, + XML_SCHEMA_FACET_PATTERN, + XML_SCHEMA_FACET_ENUMERATION, + XML_SCHEMA_FACET_WHITESPACE, + XML_SCHEMA_FACET_LENGTH, + XML_SCHEMA_FACET_MAXLENGTH, + XML_SCHEMA_FACET_MINLENGTH, + XML_SCHEMA_EXTRA_QNAMEREF = 2000, + XML_SCHEMA_EXTRA_ATTR_USE_PROHIB +} xmlSchemaTypeType; + +typedef enum { + XML_SCHEMA_CONTENT_UNKNOWN = 0, + XML_SCHEMA_CONTENT_EMPTY = 1, + XML_SCHEMA_CONTENT_ELEMENTS, + XML_SCHEMA_CONTENT_MIXED, + XML_SCHEMA_CONTENT_SIMPLE, + XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS, /* Obsolete */ + XML_SCHEMA_CONTENT_BASIC, + XML_SCHEMA_CONTENT_ANY +} xmlSchemaContentType; + +typedef struct _xmlSchemaVal xmlSchemaVal; +typedef xmlSchemaVal *xmlSchemaValPtr; + +typedef struct _xmlSchemaType xmlSchemaType; +typedef xmlSchemaType *xmlSchemaTypePtr; + +typedef struct _xmlSchemaFacet xmlSchemaFacet; +typedef xmlSchemaFacet *xmlSchemaFacetPtr; + +/** + * Annotation + */ +typedef struct _xmlSchemaAnnot xmlSchemaAnnot; +typedef xmlSchemaAnnot *xmlSchemaAnnotPtr; +struct _xmlSchemaAnnot { + struct _xmlSchemaAnnot *next; + xmlNodePtr content; /* the annotation */ +}; + +/** + * XML_SCHEMAS_ANYATTR_SKIP: + * + * Skip unknown attribute from validation + * Obsolete, not used anymore. + */ +#define XML_SCHEMAS_ANYATTR_SKIP 1 +/** + * XML_SCHEMAS_ANYATTR_LAX: + * + * Ignore validation non definition on attributes + * Obsolete, not used anymore. + */ +#define XML_SCHEMAS_ANYATTR_LAX 2 +/** + * XML_SCHEMAS_ANYATTR_STRICT: + * + * Apply strict validation rules on attributes + * Obsolete, not used anymore. + */ +#define XML_SCHEMAS_ANYATTR_STRICT 3 +/** + * XML_SCHEMAS_ANY_SKIP: + * + * Skip unknown attribute from validation + */ +#define XML_SCHEMAS_ANY_SKIP 1 +/** + * XML_SCHEMAS_ANY_LAX: + * + * Used by wildcards. + * Validate if type found, don't worry if not found + */ +#define XML_SCHEMAS_ANY_LAX 2 +/** + * XML_SCHEMAS_ANY_STRICT: + * + * Used by wildcards. + * Apply strict validation rules + */ +#define XML_SCHEMAS_ANY_STRICT 3 +/** + * XML_SCHEMAS_ATTR_USE_PROHIBITED: + * + * Used by wildcards. + * The attribute is prohibited. + */ +#define XML_SCHEMAS_ATTR_USE_PROHIBITED 0 +/** + * XML_SCHEMAS_ATTR_USE_REQUIRED: + * + * The attribute is required. + */ +#define XML_SCHEMAS_ATTR_USE_REQUIRED 1 +/** + * XML_SCHEMAS_ATTR_USE_OPTIONAL: + * + * The attribute is optional. + */ +#define XML_SCHEMAS_ATTR_USE_OPTIONAL 2 +/** + * XML_SCHEMAS_ATTR_GLOBAL: + * + * allow elements in no namespace + */ +#define XML_SCHEMAS_ATTR_GLOBAL 1 << 0 +/** + * XML_SCHEMAS_ATTR_NSDEFAULT: + * + * allow elements in no namespace + */ +#define XML_SCHEMAS_ATTR_NSDEFAULT 1 << 7 +/** + * XML_SCHEMAS_ATTR_INTERNAL_RESOLVED: + * + * this is set when the "type" and "ref" references + * have been resolved. + */ +#define XML_SCHEMAS_ATTR_INTERNAL_RESOLVED 1 << 8 +/** + * XML_SCHEMAS_ATTR_FIXED: + * + * the attribute has a fixed value + */ +#define XML_SCHEMAS_ATTR_FIXED 1 << 9 + +/** + * xmlSchemaAttribute: + * An attribute definition. + */ + +typedef struct _xmlSchemaAttribute xmlSchemaAttribute; +typedef xmlSchemaAttribute *xmlSchemaAttributePtr; +struct _xmlSchemaAttribute { + xmlSchemaTypeType type; + struct _xmlSchemaAttribute *next; /* the next attribute (not used?) */ + const xmlChar *name; /* the name of the declaration */ + const xmlChar *id; /* Deprecated; not used */ + const xmlChar *ref; /* Deprecated; not used */ + const xmlChar *refNs; /* Deprecated; not used */ + const xmlChar *typeName; /* the local name of the type definition */ + const xmlChar *typeNs; /* the ns URI of the type definition */ + xmlSchemaAnnotPtr annot; + + xmlSchemaTypePtr base; /* Deprecated; not used */ + int occurs; /* Deprecated; not used */ + const xmlChar *defValue; /* The initial value of the value constraint */ + xmlSchemaTypePtr subtypes; /* the type definition */ + xmlNodePtr node; + const xmlChar *targetNamespace; + int flags; + const xmlChar *refPrefix; /* Deprecated; not used */ + xmlSchemaValPtr defVal; /* The compiled value constraint */ + xmlSchemaAttributePtr refDecl; /* Deprecated; not used */ +}; + +/** + * xmlSchemaAttributeLink: + * Used to build a list of attribute uses on complexType definitions. + * WARNING: Deprecated; not used. + */ +typedef struct _xmlSchemaAttributeLink xmlSchemaAttributeLink; +typedef xmlSchemaAttributeLink *xmlSchemaAttributeLinkPtr; +struct _xmlSchemaAttributeLink { + struct _xmlSchemaAttributeLink *next;/* the next attribute link ... */ + struct _xmlSchemaAttribute *attr;/* the linked attribute */ +}; + +/** + * XML_SCHEMAS_WILDCARD_COMPLETE: + * + * If the wildcard is complete. + */ +#define XML_SCHEMAS_WILDCARD_COMPLETE 1 << 0 + +/** + * xmlSchemaCharValueLink: + * Used to build a list of namespaces on wildcards. + */ +typedef struct _xmlSchemaWildcardNs xmlSchemaWildcardNs; +typedef xmlSchemaWildcardNs *xmlSchemaWildcardNsPtr; +struct _xmlSchemaWildcardNs { + struct _xmlSchemaWildcardNs *next;/* the next constraint link ... */ + const xmlChar *value;/* the value */ +}; + +/** + * xmlSchemaWildcard. + * A wildcard. + */ +typedef struct _xmlSchemaWildcard xmlSchemaWildcard; +typedef xmlSchemaWildcard *xmlSchemaWildcardPtr; +struct _xmlSchemaWildcard { + xmlSchemaTypeType type; /* The kind of type */ + const xmlChar *id; /* Deprecated; not used */ + xmlSchemaAnnotPtr annot; + xmlNodePtr node; + int minOccurs; /* Deprecated; not used */ + int maxOccurs; /* Deprecated; not used */ + int processContents; + int any; /* Indicates if the ns constraint is of ##any */ + xmlSchemaWildcardNsPtr nsSet; /* The list of allowed namespaces */ + xmlSchemaWildcardNsPtr negNsSet; /* The negated namespace */ + int flags; +}; + +/** + * XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED: + * + * The attribute wildcard has been built. + */ +#define XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED 1 << 0 +/** + * XML_SCHEMAS_ATTRGROUP_GLOBAL: + * + * The attribute group has been defined. + */ +#define XML_SCHEMAS_ATTRGROUP_GLOBAL 1 << 1 +/** + * XML_SCHEMAS_ATTRGROUP_MARKED: + * + * Marks the attr group as marked; used for circular checks. + */ +#define XML_SCHEMAS_ATTRGROUP_MARKED 1 << 2 + +/** + * XML_SCHEMAS_ATTRGROUP_REDEFINED: + * + * The attr group was redefined. + */ +#define XML_SCHEMAS_ATTRGROUP_REDEFINED 1 << 3 +/** + * XML_SCHEMAS_ATTRGROUP_HAS_REFS: + * + * Whether this attr. group contains attr. group references. + */ +#define XML_SCHEMAS_ATTRGROUP_HAS_REFS 1 << 4 + +/** + * An attribute group definition. + * + * xmlSchemaAttribute and xmlSchemaAttributeGroup start of structures + * must be kept similar + */ +typedef struct _xmlSchemaAttributeGroup xmlSchemaAttributeGroup; +typedef xmlSchemaAttributeGroup *xmlSchemaAttributeGroupPtr; +struct _xmlSchemaAttributeGroup { + xmlSchemaTypeType type; /* The kind of type */ + struct _xmlSchemaAttribute *next;/* the next attribute if in a group ... */ + const xmlChar *name; + const xmlChar *id; + const xmlChar *ref; /* Deprecated; not used */ + const xmlChar *refNs; /* Deprecated; not used */ + xmlSchemaAnnotPtr annot; + + xmlSchemaAttributePtr attributes; /* Deprecated; not used */ + xmlNodePtr node; + int flags; + xmlSchemaWildcardPtr attributeWildcard; + const xmlChar *refPrefix; /* Deprecated; not used */ + xmlSchemaAttributeGroupPtr refItem; /* Deprecated; not used */ + const xmlChar *targetNamespace; + void *attrUses; +}; + +/** + * xmlSchemaTypeLink: + * Used to build a list of types (e.g. member types of + * simpleType with variety "union"). + */ +typedef struct _xmlSchemaTypeLink xmlSchemaTypeLink; +typedef xmlSchemaTypeLink *xmlSchemaTypeLinkPtr; +struct _xmlSchemaTypeLink { + struct _xmlSchemaTypeLink *next;/* the next type link ... */ + xmlSchemaTypePtr type;/* the linked type */ +}; + +/** + * xmlSchemaFacetLink: + * Used to build a list of facets. + */ +typedef struct _xmlSchemaFacetLink xmlSchemaFacetLink; +typedef xmlSchemaFacetLink *xmlSchemaFacetLinkPtr; +struct _xmlSchemaFacetLink { + struct _xmlSchemaFacetLink *next;/* the next facet link ... */ + xmlSchemaFacetPtr facet;/* the linked facet */ +}; + +/** + * XML_SCHEMAS_TYPE_MIXED: + * + * the element content type is mixed + */ +#define XML_SCHEMAS_TYPE_MIXED 1 << 0 +/** + * XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION: + * + * the simple or complex type has a derivation method of "extension". + */ +#define XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION 1 << 1 +/** + * XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION: + * + * the simple or complex type has a derivation method of "restriction". + */ +#define XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION 1 << 2 +/** + * XML_SCHEMAS_TYPE_GLOBAL: + * + * the type is global + */ +#define XML_SCHEMAS_TYPE_GLOBAL 1 << 3 +/** + * XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD: + * + * the complexType owns an attribute wildcard, i.e. + * it can be freed by the complexType + */ +#define XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD 1 << 4 /* Obsolete. */ +/** + * XML_SCHEMAS_TYPE_VARIETY_ABSENT: + * + * the simpleType has a variety of "absent". + * TODO: Actually not necessary :-/, since if + * none of the variety flags occur then it's + * automatically absent. + */ +#define XML_SCHEMAS_TYPE_VARIETY_ABSENT 1 << 5 +/** + * XML_SCHEMAS_TYPE_VARIETY_LIST: + * + * the simpleType has a variety of "list". + */ +#define XML_SCHEMAS_TYPE_VARIETY_LIST 1 << 6 +/** + * XML_SCHEMAS_TYPE_VARIETY_UNION: + * + * the simpleType has a variety of "union". + */ +#define XML_SCHEMAS_TYPE_VARIETY_UNION 1 << 7 +/** + * XML_SCHEMAS_TYPE_VARIETY_ATOMIC: + * + * the simpleType has a variety of "union". + */ +#define XML_SCHEMAS_TYPE_VARIETY_ATOMIC 1 << 8 +/** + * XML_SCHEMAS_TYPE_FINAL_EXTENSION: + * + * the complexType has a final of "extension". + */ +#define XML_SCHEMAS_TYPE_FINAL_EXTENSION 1 << 9 +/** + * XML_SCHEMAS_TYPE_FINAL_RESTRICTION: + * + * the simpleType/complexType has a final of "restriction". + */ +#define XML_SCHEMAS_TYPE_FINAL_RESTRICTION 1 << 10 +/** + * XML_SCHEMAS_TYPE_FINAL_LIST: + * + * the simpleType has a final of "list". + */ +#define XML_SCHEMAS_TYPE_FINAL_LIST 1 << 11 +/** + * XML_SCHEMAS_TYPE_FINAL_UNION: + * + * the simpleType has a final of "union". + */ +#define XML_SCHEMAS_TYPE_FINAL_UNION 1 << 12 +/** + * XML_SCHEMAS_TYPE_FINAL_DEFAULT: + * + * the simpleType has a final of "default". + */ +#define XML_SCHEMAS_TYPE_FINAL_DEFAULT 1 << 13 +/** + * XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE: + * + * Marks the item as a builtin primitive. + */ +#define XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE 1 << 14 +/** + * XML_SCHEMAS_TYPE_MARKED: + * + * Marks the item as marked; used for circular checks. + */ +#define XML_SCHEMAS_TYPE_MARKED 1 << 16 +/** + * XML_SCHEMAS_TYPE_BLOCK_DEFAULT: + * + * the complexType did not specify 'block' so use the default of the + * item. + */ +#define XML_SCHEMAS_TYPE_BLOCK_DEFAULT 1 << 17 +/** + * XML_SCHEMAS_TYPE_BLOCK_EXTENSION: + * + * the complexType has a 'block' of "extension". + */ +#define XML_SCHEMAS_TYPE_BLOCK_EXTENSION 1 << 18 +/** + * XML_SCHEMAS_TYPE_BLOCK_RESTRICTION: + * + * the complexType has a 'block' of "restriction". + */ +#define XML_SCHEMAS_TYPE_BLOCK_RESTRICTION 1 << 19 +/** + * XML_SCHEMAS_TYPE_ABSTRACT: + * + * the simple/complexType is abstract. + */ +#define XML_SCHEMAS_TYPE_ABSTRACT 1 << 20 +/** + * XML_SCHEMAS_TYPE_FACETSNEEDVALUE: + * + * indicates if the facets need a computed value + */ +#define XML_SCHEMAS_TYPE_FACETSNEEDVALUE 1 << 21 +/** + * XML_SCHEMAS_TYPE_INTERNAL_RESOLVED: + * + * indicates that the type was typefixed + */ +#define XML_SCHEMAS_TYPE_INTERNAL_RESOLVED 1 << 22 +/** + * XML_SCHEMAS_TYPE_INTERNAL_INVALID: + * + * indicates that the type is invalid + */ +#define XML_SCHEMAS_TYPE_INTERNAL_INVALID 1 << 23 +/** + * XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE: + * + * a whitespace-facet value of "preserve" + */ +#define XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE 1 << 24 +/** + * XML_SCHEMAS_TYPE_WHITESPACE_REPLACE: + * + * a whitespace-facet value of "replace" + */ +#define XML_SCHEMAS_TYPE_WHITESPACE_REPLACE 1 << 25 +/** + * XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE: + * + * a whitespace-facet value of "collapse" + */ +#define XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE 1 << 26 +/** + * XML_SCHEMAS_TYPE_HAS_FACETS: + * + * has facets + */ +#define XML_SCHEMAS_TYPE_HAS_FACETS 1 << 27 +/** + * XML_SCHEMAS_TYPE_NORMVALUENEEDED: + * + * indicates if the facets (pattern) need a normalized value + */ +#define XML_SCHEMAS_TYPE_NORMVALUENEEDED 1 << 28 + +/** + * XML_SCHEMAS_TYPE_FIXUP_1: + * + * First stage of fixup was done. + */ +#define XML_SCHEMAS_TYPE_FIXUP_1 1 << 29 + +/** + * XML_SCHEMAS_TYPE_REDEFINED: + * + * The type was redefined. + */ +#define XML_SCHEMAS_TYPE_REDEFINED 1 << 30 +/** + * XML_SCHEMAS_TYPE_REDEFINING: + * + * The type redefines an other type. + */ +/* #define XML_SCHEMAS_TYPE_REDEFINING 1 << 31 */ + +/** + * _xmlSchemaType: + * + * Schemas type definition. + */ +struct _xmlSchemaType { + xmlSchemaTypeType type; /* The kind of type */ + struct _xmlSchemaType *next; /* the next type if in a sequence ... */ + const xmlChar *name; + const xmlChar *id ; /* Deprecated; not used */ + const xmlChar *ref; /* Deprecated; not used */ + const xmlChar *refNs; /* Deprecated; not used */ + xmlSchemaAnnotPtr annot; + xmlSchemaTypePtr subtypes; + xmlSchemaAttributePtr attributes; /* Deprecated; not used */ + xmlNodePtr node; + int minOccurs; /* Deprecated; not used */ + int maxOccurs; /* Deprecated; not used */ + + int flags; + xmlSchemaContentType contentType; + const xmlChar *base; /* Base type's local name */ + const xmlChar *baseNs; /* Base type's target namespace */ + xmlSchemaTypePtr baseType; /* The base type component */ + xmlSchemaFacetPtr facets; /* Local facets */ + struct _xmlSchemaType *redef; /* Deprecated; not used */ + int recurse; /* Obsolete */ + xmlSchemaAttributeLinkPtr *attributeUses; /* Deprecated; not used */ + xmlSchemaWildcardPtr attributeWildcard; + int builtInType; /* Type of built-in types. */ + xmlSchemaTypeLinkPtr memberTypes; /* member-types if a union type. */ + xmlSchemaFacetLinkPtr facetSet; /* All facets (incl. inherited) */ + const xmlChar *refPrefix; /* Deprecated; not used */ + xmlSchemaTypePtr contentTypeDef; /* Used for the simple content of complex types. + Could we use @subtypes for this? */ + xmlRegexpPtr contModel; /* Holds the automaton of the content model */ + const xmlChar *targetNamespace; + void *attrUses; +}; + +/* + * xmlSchemaElement: + * An element definition. + * + * xmlSchemaType, xmlSchemaFacet and xmlSchemaElement start of + * structures must be kept similar + */ +/** + * XML_SCHEMAS_ELEM_NILLABLE: + * + * the element is nillable + */ +#define XML_SCHEMAS_ELEM_NILLABLE 1 << 0 +/** + * XML_SCHEMAS_ELEM_GLOBAL: + * + * the element is global + */ +#define XML_SCHEMAS_ELEM_GLOBAL 1 << 1 +/** + * XML_SCHEMAS_ELEM_DEFAULT: + * + * the element has a default value + */ +#define XML_SCHEMAS_ELEM_DEFAULT 1 << 2 +/** + * XML_SCHEMAS_ELEM_FIXED: + * + * the element has a fixed value + */ +#define XML_SCHEMAS_ELEM_FIXED 1 << 3 +/** + * XML_SCHEMAS_ELEM_ABSTRACT: + * + * the element is abstract + */ +#define XML_SCHEMAS_ELEM_ABSTRACT 1 << 4 +/** + * XML_SCHEMAS_ELEM_TOPLEVEL: + * + * the element is top level + * obsolete: use XML_SCHEMAS_ELEM_GLOBAL instead + */ +#define XML_SCHEMAS_ELEM_TOPLEVEL 1 << 5 +/** + * XML_SCHEMAS_ELEM_REF: + * + * the element is a reference to a type + */ +#define XML_SCHEMAS_ELEM_REF 1 << 6 +/** + * XML_SCHEMAS_ELEM_NSDEFAULT: + * + * allow elements in no namespace + * Obsolete, not used anymore. + */ +#define XML_SCHEMAS_ELEM_NSDEFAULT 1 << 7 +/** + * XML_SCHEMAS_ELEM_INTERNAL_RESOLVED: + * + * this is set when "type", "ref", "substitutionGroup" + * references have been resolved. + */ +#define XML_SCHEMAS_ELEM_INTERNAL_RESOLVED 1 << 8 + /** + * XML_SCHEMAS_ELEM_CIRCULAR: + * + * a helper flag for the search of circular references. + */ +#define XML_SCHEMAS_ELEM_CIRCULAR 1 << 9 +/** + * XML_SCHEMAS_ELEM_BLOCK_ABSENT: + * + * the "block" attribute is absent + */ +#define XML_SCHEMAS_ELEM_BLOCK_ABSENT 1 << 10 +/** + * XML_SCHEMAS_ELEM_BLOCK_EXTENSION: + * + * disallowed substitutions are absent + */ +#define XML_SCHEMAS_ELEM_BLOCK_EXTENSION 1 << 11 +/** + * XML_SCHEMAS_ELEM_BLOCK_RESTRICTION: + * + * disallowed substitutions: "restriction" + */ +#define XML_SCHEMAS_ELEM_BLOCK_RESTRICTION 1 << 12 +/** + * XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION: + * + * disallowed substitutions: "substitution" + */ +#define XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION 1 << 13 +/** + * XML_SCHEMAS_ELEM_FINAL_ABSENT: + * + * substitution group exclusions are absent + */ +#define XML_SCHEMAS_ELEM_FINAL_ABSENT 1 << 14 +/** + * XML_SCHEMAS_ELEM_FINAL_EXTENSION: + * + * substitution group exclusions: "extension" + */ +#define XML_SCHEMAS_ELEM_FINAL_EXTENSION 1 << 15 +/** + * XML_SCHEMAS_ELEM_FINAL_RESTRICTION: + * + * substitution group exclusions: "restriction" + */ +#define XML_SCHEMAS_ELEM_FINAL_RESTRICTION 1 << 16 +/** + * XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD: + * + * the declaration is a substitution group head + */ +#define XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD 1 << 17 +/** + * XML_SCHEMAS_ELEM_INTERNAL_CHECKED: + * + * this is set when the elem decl has been checked against + * all constraints + */ +#define XML_SCHEMAS_ELEM_INTERNAL_CHECKED 1 << 18 + +typedef struct _xmlSchemaElement xmlSchemaElement; +typedef xmlSchemaElement *xmlSchemaElementPtr; +struct _xmlSchemaElement { + xmlSchemaTypeType type; /* The kind of type */ + struct _xmlSchemaType *next; /* Not used? */ + const xmlChar *name; + const xmlChar *id; /* Deprecated; not used */ + const xmlChar *ref; /* Deprecated; not used */ + const xmlChar *refNs; /* Deprecated; not used */ + xmlSchemaAnnotPtr annot; + xmlSchemaTypePtr subtypes; /* the type definition */ + xmlSchemaAttributePtr attributes; + xmlNodePtr node; + int minOccurs; /* Deprecated; not used */ + int maxOccurs; /* Deprecated; not used */ + + int flags; + const xmlChar *targetNamespace; + const xmlChar *namedType; + const xmlChar *namedTypeNs; + const xmlChar *substGroup; + const xmlChar *substGroupNs; + const xmlChar *scope; + const xmlChar *value; /* The original value of the value constraint. */ + struct _xmlSchemaElement *refDecl; /* This will now be used for the + substitution group affiliation */ + xmlRegexpPtr contModel; /* Obsolete for WXS, maybe used for RelaxNG */ + xmlSchemaContentType contentType; + const xmlChar *refPrefix; /* Deprecated; not used */ + xmlSchemaValPtr defVal; /* The compiled value constraint. */ + void *idcs; /* The identity-constraint defs */ +}; + +/* + * XML_SCHEMAS_FACET_UNKNOWN: + * + * unknown facet handling + */ +#define XML_SCHEMAS_FACET_UNKNOWN 0 +/* + * XML_SCHEMAS_FACET_PRESERVE: + * + * preserve the type of the facet + */ +#define XML_SCHEMAS_FACET_PRESERVE 1 +/* + * XML_SCHEMAS_FACET_REPLACE: + * + * replace the type of the facet + */ +#define XML_SCHEMAS_FACET_REPLACE 2 +/* + * XML_SCHEMAS_FACET_COLLAPSE: + * + * collapse the types of the facet + */ +#define XML_SCHEMAS_FACET_COLLAPSE 3 +/** + * A facet definition. + */ +struct _xmlSchemaFacet { + xmlSchemaTypeType type; /* The kind of type */ + struct _xmlSchemaFacet *next;/* the next type if in a sequence ... */ + const xmlChar *value; /* The original value */ + const xmlChar *id; /* Obsolete */ + xmlSchemaAnnotPtr annot; + xmlNodePtr node; + int fixed; /* XML_SCHEMAS_FACET_PRESERVE, etc. */ + int whitespace; + xmlSchemaValPtr val; /* The compiled value */ + xmlRegexpPtr regexp; /* The regex for patterns */ +}; + +/** + * A notation definition. + */ +typedef struct _xmlSchemaNotation xmlSchemaNotation; +typedef xmlSchemaNotation *xmlSchemaNotationPtr; +struct _xmlSchemaNotation { + xmlSchemaTypeType type; /* The kind of type */ + const xmlChar *name; + xmlSchemaAnnotPtr annot; + const xmlChar *identifier; + const xmlChar *targetNamespace; +}; + +/* +* TODO: Actually all those flags used for the schema should sit +* on the schema parser context, since they are used only +* during parsing an XML schema document, and not available +* on the component level as per spec. +*/ +/** + * XML_SCHEMAS_QUALIF_ELEM: + * + * Reflects elementFormDefault == qualified in + * an XML schema document. + */ +#define XML_SCHEMAS_QUALIF_ELEM 1 << 0 +/** + * XML_SCHEMAS_QUALIF_ATTR: + * + * Reflects attributeFormDefault == qualified in + * an XML schema document. + */ +#define XML_SCHEMAS_QUALIF_ATTR 1 << 1 +/** + * XML_SCHEMAS_FINAL_DEFAULT_EXTENSION: + * + * the schema has "extension" in the set of finalDefault. + */ +#define XML_SCHEMAS_FINAL_DEFAULT_EXTENSION 1 << 2 +/** + * XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION: + * + * the schema has "restriction" in the set of finalDefault. + */ +#define XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION 1 << 3 +/** + * XML_SCHEMAS_FINAL_DEFAULT_LIST: + * + * the schema has "list" in the set of finalDefault. + */ +#define XML_SCHEMAS_FINAL_DEFAULT_LIST 1 << 4 +/** + * XML_SCHEMAS_FINAL_DEFAULT_UNION: + * + * the schema has "union" in the set of finalDefault. + */ +#define XML_SCHEMAS_FINAL_DEFAULT_UNION 1 << 5 +/** + * XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION: + * + * the schema has "extension" in the set of blockDefault. + */ +#define XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION 1 << 6 +/** + * XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION: + * + * the schema has "restriction" in the set of blockDefault. + */ +#define XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION 1 << 7 +/** + * XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION: + * + * the schema has "substitution" in the set of blockDefault. + */ +#define XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION 1 << 8 +/** + * XML_SCHEMAS_INCLUDING_CONVERT_NS: + * + * the schema is currently including an other schema with + * no target namespace. + */ +#define XML_SCHEMAS_INCLUDING_CONVERT_NS 1 << 9 +/** + * _xmlSchema: + * + * A Schemas definition + */ +struct _xmlSchema { + const xmlChar *name; /* schema name */ + const xmlChar *targetNamespace; /* the target namespace */ + const xmlChar *version; + const xmlChar *id; /* Obsolete */ + xmlDocPtr doc; + xmlSchemaAnnotPtr annot; + int flags; + + xmlHashTablePtr typeDecl; + xmlHashTablePtr attrDecl; + xmlHashTablePtr attrgrpDecl; + xmlHashTablePtr elemDecl; + xmlHashTablePtr notaDecl; + + xmlHashTablePtr schemasImports; + + void *_private; /* unused by the library for users or bindings */ + xmlHashTablePtr groupDecl; + xmlDictPtr dict; + void *includes; /* the includes, this is opaque for now */ + int preserve; /* whether to free the document */ + int counter; /* used to give anonymous components unique names */ + xmlHashTablePtr idcDef; /* All identity-constraint defs. */ + void *volatiles; /* Obsolete */ +}; + +XMLPUBFUN void xmlSchemaFreeType (xmlSchemaTypePtr type); +XMLPUBFUN void xmlSchemaFreeWildcard(xmlSchemaWildcardPtr wildcard); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_SCHEMAS_ENABLED */ +#endif /* __XML_SCHEMA_INTERNALS_H__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/schematron.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/schematron.h new file mode 100644 index 0000000..8dd8d25 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/schematron.h @@ -0,0 +1,143 @@ +/* + * Summary: XML Schematron implementation + * Description: interface to the XML Schematron validity checking. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + + +#ifndef __XML_SCHEMATRON_H__ +#define __XML_SCHEMATRON_H__ + +#include + +#ifdef LIBXML_SCHEMATRON_ENABLED + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum { + XML_SCHEMATRON_OUT_QUIET = 1 << 0, /* quiet no report */ + XML_SCHEMATRON_OUT_TEXT = 1 << 1, /* build a textual report */ + XML_SCHEMATRON_OUT_XML = 1 << 2, /* output SVRL */ + XML_SCHEMATRON_OUT_ERROR = 1 << 3, /* output via xmlStructuredErrorFunc */ + XML_SCHEMATRON_OUT_FILE = 1 << 8, /* output to a file descriptor */ + XML_SCHEMATRON_OUT_BUFFER = 1 << 9, /* output to a buffer */ + XML_SCHEMATRON_OUT_IO = 1 << 10 /* output to I/O mechanism */ +} xmlSchematronValidOptions; + +/** + * The schemas related types are kept internal + */ +typedef struct _xmlSchematron xmlSchematron; +typedef xmlSchematron *xmlSchematronPtr; + +/** + * xmlSchematronValidityErrorFunc: + * @ctx: the validation context + * @msg: the message + * @...: extra arguments + * + * Signature of an error callback from a Schematron validation + */ +typedef void (*xmlSchematronValidityErrorFunc) (void *ctx, const char *msg, ...); + +/** + * xmlSchematronValidityWarningFunc: + * @ctx: the validation context + * @msg: the message + * @...: extra arguments + * + * Signature of a warning callback from a Schematron validation + */ +typedef void (*xmlSchematronValidityWarningFunc) (void *ctx, const char *msg, ...); + +/** + * A schemas validation context + */ +typedef struct _xmlSchematronParserCtxt xmlSchematronParserCtxt; +typedef xmlSchematronParserCtxt *xmlSchematronParserCtxtPtr; + +typedef struct _xmlSchematronValidCtxt xmlSchematronValidCtxt; +typedef xmlSchematronValidCtxt *xmlSchematronValidCtxtPtr; + +/* + * Interfaces for parsing. + */ +XMLPUBFUN xmlSchematronParserCtxtPtr + xmlSchematronNewParserCtxt (const char *URL); +XMLPUBFUN xmlSchematronParserCtxtPtr + xmlSchematronNewMemParserCtxt(const char *buffer, + int size); +XMLPUBFUN xmlSchematronParserCtxtPtr + xmlSchematronNewDocParserCtxt(xmlDocPtr doc); +XMLPUBFUN void + xmlSchematronFreeParserCtxt (xmlSchematronParserCtxtPtr ctxt); +/***** +XMLPUBFUN void + xmlSchematronSetParserErrors(xmlSchematronParserCtxtPtr ctxt, + xmlSchematronValidityErrorFunc err, + xmlSchematronValidityWarningFunc warn, + void *ctx); +XMLPUBFUN int + xmlSchematronGetParserErrors(xmlSchematronParserCtxtPtr ctxt, + xmlSchematronValidityErrorFunc * err, + xmlSchematronValidityWarningFunc * warn, + void **ctx); +XMLPUBFUN int + xmlSchematronIsValid (xmlSchematronValidCtxtPtr ctxt); + *****/ +XMLPUBFUN xmlSchematronPtr + xmlSchematronParse (xmlSchematronParserCtxtPtr ctxt); +XMLPUBFUN void + xmlSchematronFree (xmlSchematronPtr schema); +/* + * Interfaces for validating + */ +XMLPUBFUN void + xmlSchematronSetValidStructuredErrors( + xmlSchematronValidCtxtPtr ctxt, + xmlStructuredErrorFunc serror, + void *ctx); +/****** +XMLPUBFUN void + xmlSchematronSetValidErrors (xmlSchematronValidCtxtPtr ctxt, + xmlSchematronValidityErrorFunc err, + xmlSchematronValidityWarningFunc warn, + void *ctx); +XMLPUBFUN int + xmlSchematronGetValidErrors (xmlSchematronValidCtxtPtr ctxt, + xmlSchematronValidityErrorFunc *err, + xmlSchematronValidityWarningFunc *warn, + void **ctx); +XMLPUBFUN int + xmlSchematronSetValidOptions(xmlSchematronValidCtxtPtr ctxt, + int options); +XMLPUBFUN int + xmlSchematronValidCtxtGetOptions(xmlSchematronValidCtxtPtr ctxt); +XMLPUBFUN int + xmlSchematronValidateOneElement (xmlSchematronValidCtxtPtr ctxt, + xmlNodePtr elem); + *******/ + +XMLPUBFUN xmlSchematronValidCtxtPtr + xmlSchematronNewValidCtxt (xmlSchematronPtr schema, + int options); +XMLPUBFUN void + xmlSchematronFreeValidCtxt (xmlSchematronValidCtxtPtr ctxt); +XMLPUBFUN int + xmlSchematronValidateDoc (xmlSchematronValidCtxtPtr ctxt, + xmlDocPtr instance); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_SCHEMATRON_ENABLED */ +#endif /* __XML_SCHEMATRON_H__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/threads.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/threads.h new file mode 100644 index 0000000..8f4b6e1 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/threads.h @@ -0,0 +1,87 @@ +/** + * Summary: interfaces for thread handling + * Description: set of generic threading related routines + * should work with pthreads, Windows native or TLS threads + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_THREADS_H__ +#define __XML_THREADS_H__ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * xmlMutex are a simple mutual exception locks. + */ +typedef struct _xmlMutex xmlMutex; +typedef xmlMutex *xmlMutexPtr; + +/* + * xmlRMutex are reentrant mutual exception locks. + */ +typedef struct _xmlRMutex xmlRMutex; +typedef xmlRMutex *xmlRMutexPtr; + +XMLPUBFUN int + xmlCheckThreadLocalStorage(void); + +XMLPUBFUN xmlMutexPtr + xmlNewMutex (void); +XMLPUBFUN void + xmlMutexLock (xmlMutexPtr tok); +XMLPUBFUN void + xmlMutexUnlock (xmlMutexPtr tok); +XMLPUBFUN void + xmlFreeMutex (xmlMutexPtr tok); + +XMLPUBFUN xmlRMutexPtr + xmlNewRMutex (void); +XMLPUBFUN void + xmlRMutexLock (xmlRMutexPtr tok); +XMLPUBFUN void + xmlRMutexUnlock (xmlRMutexPtr tok); +XMLPUBFUN void + xmlFreeRMutex (xmlRMutexPtr tok); + +/* + * Library wide APIs. + */ +XML_DEPRECATED +XMLPUBFUN void + xmlInitThreads (void); +XMLPUBFUN void + xmlLockLibrary (void); +XMLPUBFUN void + xmlUnlockLibrary(void); +XML_DEPRECATED +XMLPUBFUN int + xmlGetThreadId (void); +XML_DEPRECATED +XMLPUBFUN int + xmlIsMainThread (void); +XML_DEPRECATED +XMLPUBFUN void + xmlCleanupThreads(void); + +/** DOC_DISABLE */ +#if defined(LIBXML_THREAD_ENABLED) && defined(_WIN32) && \ + defined(LIBXML_STATIC_FOR_DLL) +int +xmlDllMain(void *hinstDLL, unsigned long fdwReason, + void *lpvReserved); +#endif +/** DOC_ENABLE */ + +#ifdef __cplusplus +} +#endif + + +#endif /* __XML_THREADS_H__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/tree.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/tree.h new file mode 100644 index 0000000..4070375 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/tree.h @@ -0,0 +1,1382 @@ +/* + * Summary: interfaces for tree manipulation + * Description: this module describes the structures found in an tree resulting + * from an XML or HTML parsing, as well as the API provided for + * various processing on that tree + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef XML_TREE_INTERNALS + +/* + * Emulate circular dependency for backward compatibility + */ +#include + +#else /* XML_TREE_INTERNALS */ + +#ifndef __XML_TREE_H__ +#define __XML_TREE_H__ + +#include +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Some of the basic types pointer to structures: + */ +/* xmlIO.h */ +typedef struct _xmlParserInputBuffer xmlParserInputBuffer; +typedef xmlParserInputBuffer *xmlParserInputBufferPtr; + +typedef struct _xmlOutputBuffer xmlOutputBuffer; +typedef xmlOutputBuffer *xmlOutputBufferPtr; + +/* parser.h */ +typedef struct _xmlParserInput xmlParserInput; +typedef xmlParserInput *xmlParserInputPtr; + +typedef struct _xmlParserCtxt xmlParserCtxt; +typedef xmlParserCtxt *xmlParserCtxtPtr; + +typedef struct _xmlSAXLocator xmlSAXLocator; +typedef xmlSAXLocator *xmlSAXLocatorPtr; + +typedef struct _xmlSAXHandler xmlSAXHandler; +typedef xmlSAXHandler *xmlSAXHandlerPtr; + +/* entities.h */ +typedef struct _xmlEntity xmlEntity; +typedef xmlEntity *xmlEntityPtr; + +/** + * BASE_BUFFER_SIZE: + * + * default buffer size 4000. + */ +#define BASE_BUFFER_SIZE 4096 + +/** + * LIBXML_NAMESPACE_DICT: + * + * Defines experimental behaviour: + * 1) xmlNs gets an additional field @context (a xmlDoc) + * 2) when creating a tree, xmlNs->href is stored in the dict of xmlDoc. + */ +/* #define LIBXML_NAMESPACE_DICT */ + +/** + * xmlBufferAllocationScheme: + * + * A buffer allocation scheme can be defined to either match exactly the + * need or double it's allocated size each time it is found too small. + */ + +typedef enum { + XML_BUFFER_ALLOC_DOUBLEIT, /* double each time one need to grow */ + XML_BUFFER_ALLOC_EXACT, /* grow only to the minimal size */ + XML_BUFFER_ALLOC_IMMUTABLE, /* immutable buffer, deprecated */ + XML_BUFFER_ALLOC_IO, /* special allocation scheme used for I/O */ + XML_BUFFER_ALLOC_HYBRID, /* exact up to a threshold, and doubleit thereafter */ + XML_BUFFER_ALLOC_BOUNDED /* limit the upper size of the buffer */ +} xmlBufferAllocationScheme; + +/** + * xmlBuffer: + * + * A buffer structure, this old construct is limited to 2GB and + * is being deprecated, use API with xmlBuf instead + */ +typedef struct _xmlBuffer xmlBuffer; +typedef xmlBuffer *xmlBufferPtr; +struct _xmlBuffer { + xmlChar *content; /* The buffer content UTF8 */ + unsigned int use; /* The buffer size used */ + unsigned int size; /* The buffer size */ + xmlBufferAllocationScheme alloc; /* The realloc method */ + xmlChar *contentIO; /* in IO mode we may have a different base */ +}; + +/** + * xmlBuf: + * + * A buffer structure, new one, the actual structure internals are not public + */ + +typedef struct _xmlBuf xmlBuf; + +/** + * xmlBufPtr: + * + * A pointer to a buffer structure, the actual structure internals are not + * public + */ + +typedef xmlBuf *xmlBufPtr; + +/* + * A few public routines for xmlBuf. As those are expected to be used + * mostly internally the bulk of the routines are internal in buf.h + */ +XMLPUBFUN xmlChar* xmlBufContent (const xmlBuf* buf); +XMLPUBFUN xmlChar* xmlBufEnd (xmlBufPtr buf); +XMLPUBFUN size_t xmlBufUse (const xmlBufPtr buf); +XMLPUBFUN size_t xmlBufShrink (xmlBufPtr buf, size_t len); + +/* + * LIBXML2_NEW_BUFFER: + * + * Macro used to express that the API use the new buffers for + * xmlParserInputBuffer and xmlOutputBuffer. The change was + * introduced in 2.9.0. + */ +#define LIBXML2_NEW_BUFFER + +/** + * XML_XML_NAMESPACE: + * + * This is the namespace for the special xml: prefix predefined in the + * XML Namespace specification. + */ +#define XML_XML_NAMESPACE \ + (const xmlChar *) "http://www.w3.org/XML/1998/namespace" + +/** + * XML_XML_ID: + * + * This is the name for the special xml:id attribute + */ +#define XML_XML_ID (const xmlChar *) "xml:id" + +/* + * The different element types carried by an XML tree. + * + * NOTE: This is synchronized with DOM Level1 values + * See http://www.w3.org/TR/REC-DOM-Level-1/ + * + * Actually this had diverged a bit, and now XML_DOCUMENT_TYPE_NODE should + * be deprecated to use an XML_DTD_NODE. + */ +typedef enum { + XML_ELEMENT_NODE= 1, + XML_ATTRIBUTE_NODE= 2, + XML_TEXT_NODE= 3, + XML_CDATA_SECTION_NODE= 4, + XML_ENTITY_REF_NODE= 5, + XML_ENTITY_NODE= 6, /* unused */ + XML_PI_NODE= 7, + XML_COMMENT_NODE= 8, + XML_DOCUMENT_NODE= 9, + XML_DOCUMENT_TYPE_NODE= 10, /* unused */ + XML_DOCUMENT_FRAG_NODE= 11, + XML_NOTATION_NODE= 12, /* unused */ + XML_HTML_DOCUMENT_NODE= 13, + XML_DTD_NODE= 14, + XML_ELEMENT_DECL= 15, + XML_ATTRIBUTE_DECL= 16, + XML_ENTITY_DECL= 17, + XML_NAMESPACE_DECL= 18, + XML_XINCLUDE_START= 19, + XML_XINCLUDE_END= 20 + /* XML_DOCB_DOCUMENT_NODE= 21 */ /* removed */ +} xmlElementType; + +/** DOC_DISABLE */ +/* For backward compatibility */ +#define XML_DOCB_DOCUMENT_NODE 21 +/** DOC_ENABLE */ + +/** + * xmlNotation: + * + * A DTD Notation definition. + */ + +typedef struct _xmlNotation xmlNotation; +typedef xmlNotation *xmlNotationPtr; +struct _xmlNotation { + const xmlChar *name; /* Notation name */ + const xmlChar *PublicID; /* Public identifier, if any */ + const xmlChar *SystemID; /* System identifier, if any */ +}; + +/** + * xmlAttributeType: + * + * A DTD Attribute type definition. + */ + +typedef enum { + XML_ATTRIBUTE_CDATA = 1, + XML_ATTRIBUTE_ID, + XML_ATTRIBUTE_IDREF , + XML_ATTRIBUTE_IDREFS, + XML_ATTRIBUTE_ENTITY, + XML_ATTRIBUTE_ENTITIES, + XML_ATTRIBUTE_NMTOKEN, + XML_ATTRIBUTE_NMTOKENS, + XML_ATTRIBUTE_ENUMERATION, + XML_ATTRIBUTE_NOTATION +} xmlAttributeType; + +/** + * xmlAttributeDefault: + * + * A DTD Attribute default definition. + */ + +typedef enum { + XML_ATTRIBUTE_NONE = 1, + XML_ATTRIBUTE_REQUIRED, + XML_ATTRIBUTE_IMPLIED, + XML_ATTRIBUTE_FIXED +} xmlAttributeDefault; + +/** + * xmlEnumeration: + * + * List structure used when there is an enumeration in DTDs. + */ + +typedef struct _xmlEnumeration xmlEnumeration; +typedef xmlEnumeration *xmlEnumerationPtr; +struct _xmlEnumeration { + struct _xmlEnumeration *next; /* next one */ + const xmlChar *name; /* Enumeration name */ +}; + +/** + * xmlAttribute: + * + * An Attribute declaration in a DTD. + */ + +typedef struct _xmlAttribute xmlAttribute; +typedef xmlAttribute *xmlAttributePtr; +struct _xmlAttribute { + void *_private; /* application data */ + xmlElementType type; /* XML_ATTRIBUTE_DECL, must be second ! */ + const xmlChar *name; /* Attribute name */ + struct _xmlNode *children; /* NULL */ + struct _xmlNode *last; /* NULL */ + struct _xmlDtd *parent; /* -> DTD */ + struct _xmlNode *next; /* next sibling link */ + struct _xmlNode *prev; /* previous sibling link */ + struct _xmlDoc *doc; /* the containing document */ + + struct _xmlAttribute *nexth; /* next in hash table */ + xmlAttributeType atype; /* The attribute type */ + xmlAttributeDefault def; /* the default */ + const xmlChar *defaultValue; /* or the default value */ + xmlEnumerationPtr tree; /* or the enumeration tree if any */ + const xmlChar *prefix; /* the namespace prefix if any */ + const xmlChar *elem; /* Element holding the attribute */ +}; + +/** + * xmlElementContentType: + * + * Possible definitions of element content types. + */ +typedef enum { + XML_ELEMENT_CONTENT_PCDATA = 1, + XML_ELEMENT_CONTENT_ELEMENT, + XML_ELEMENT_CONTENT_SEQ, + XML_ELEMENT_CONTENT_OR +} xmlElementContentType; + +/** + * xmlElementContentOccur: + * + * Possible definitions of element content occurrences. + */ +typedef enum { + XML_ELEMENT_CONTENT_ONCE = 1, + XML_ELEMENT_CONTENT_OPT, + XML_ELEMENT_CONTENT_MULT, + XML_ELEMENT_CONTENT_PLUS +} xmlElementContentOccur; + +/** + * xmlElementContent: + * + * An XML Element content as stored after parsing an element definition + * in a DTD. + */ + +typedef struct _xmlElementContent xmlElementContent; +typedef xmlElementContent *xmlElementContentPtr; +struct _xmlElementContent { + xmlElementContentType type; /* PCDATA, ELEMENT, SEQ or OR */ + xmlElementContentOccur ocur; /* ONCE, OPT, MULT or PLUS */ + const xmlChar *name; /* Element name */ + struct _xmlElementContent *c1; /* first child */ + struct _xmlElementContent *c2; /* second child */ + struct _xmlElementContent *parent; /* parent */ + const xmlChar *prefix; /* Namespace prefix */ +}; + +/** + * xmlElementTypeVal: + * + * The different possibilities for an element content type. + */ + +typedef enum { + XML_ELEMENT_TYPE_UNDEFINED = 0, + XML_ELEMENT_TYPE_EMPTY = 1, + XML_ELEMENT_TYPE_ANY, + XML_ELEMENT_TYPE_MIXED, + XML_ELEMENT_TYPE_ELEMENT +} xmlElementTypeVal; + +/** + * xmlElement: + * + * An XML Element declaration from a DTD. + */ + +typedef struct _xmlElement xmlElement; +typedef xmlElement *xmlElementPtr; +struct _xmlElement { + void *_private; /* application data */ + xmlElementType type; /* XML_ELEMENT_DECL, must be second ! */ + const xmlChar *name; /* Element name */ + struct _xmlNode *children; /* NULL */ + struct _xmlNode *last; /* NULL */ + struct _xmlDtd *parent; /* -> DTD */ + struct _xmlNode *next; /* next sibling link */ + struct _xmlNode *prev; /* previous sibling link */ + struct _xmlDoc *doc; /* the containing document */ + + xmlElementTypeVal etype; /* The type */ + xmlElementContentPtr content; /* the allowed element content */ + xmlAttributePtr attributes; /* List of the declared attributes */ + const xmlChar *prefix; /* the namespace prefix if any */ +#ifdef LIBXML_REGEXP_ENABLED + xmlRegexpPtr contModel; /* the validating regexp */ +#else + void *contModel; +#endif +}; + + +/** + * XML_LOCAL_NAMESPACE: + * + * A namespace declaration node. + */ +#define XML_LOCAL_NAMESPACE XML_NAMESPACE_DECL +typedef xmlElementType xmlNsType; + +/** + * xmlNs: + * + * An XML namespace. + * Note that prefix == NULL is valid, it defines the default namespace + * within the subtree (until overridden). + * + * xmlNsType is unified with xmlElementType. + */ + +typedef struct _xmlNs xmlNs; +typedef xmlNs *xmlNsPtr; +struct _xmlNs { + struct _xmlNs *next; /* next Ns link for this node */ + xmlNsType type; /* global or local */ + const xmlChar *href; /* URL for the namespace */ + const xmlChar *prefix; /* prefix for the namespace */ + void *_private; /* application data */ + struct _xmlDoc *context; /* normally an xmlDoc */ +}; + +/** + * xmlDtd: + * + * An XML DTD, as defined by parent link */ + struct _xmlNode *next; /* next sibling link */ + struct _xmlNode *prev; /* previous sibling link */ + struct _xmlDoc *doc; /* the containing document */ + + /* End of common part */ + void *notations; /* Hash table for notations if any */ + void *elements; /* Hash table for elements if any */ + void *attributes; /* Hash table for attributes if any */ + void *entities; /* Hash table for entities if any */ + const xmlChar *ExternalID; /* External identifier for PUBLIC DTD */ + const xmlChar *SystemID; /* URI for a SYSTEM or PUBLIC DTD */ + void *pentities; /* Hash table for param entities if any */ +}; + +/** + * xmlAttr: + * + * An attribute on an XML node. + */ +typedef struct _xmlAttr xmlAttr; +typedef xmlAttr *xmlAttrPtr; +struct _xmlAttr { + void *_private; /* application data */ + xmlElementType type; /* XML_ATTRIBUTE_NODE, must be second ! */ + const xmlChar *name; /* the name of the property */ + struct _xmlNode *children; /* the value of the property */ + struct _xmlNode *last; /* NULL */ + struct _xmlNode *parent; /* child->parent link */ + struct _xmlAttr *next; /* next sibling link */ + struct _xmlAttr *prev; /* previous sibling link */ + struct _xmlDoc *doc; /* the containing document */ + xmlNs *ns; /* pointer to the associated namespace */ + xmlAttributeType atype; /* the attribute type if validating */ + void *psvi; /* for type/PSVI information */ + struct _xmlID *id; /* the ID struct */ +}; + +/** + * xmlID: + * + * An XML ID instance. + */ + +typedef struct _xmlID xmlID; +typedef xmlID *xmlIDPtr; +struct _xmlID { + struct _xmlID *next; /* next ID */ + const xmlChar *value; /* The ID name */ + xmlAttrPtr attr; /* The attribute holding it */ + const xmlChar *name; /* The attribute if attr is not available */ + int lineno; /* The line number if attr is not available */ + struct _xmlDoc *doc; /* The document holding the ID */ +}; + +/** + * xmlRef: + * + * An XML IDREF instance. + */ + +typedef struct _xmlRef xmlRef; +typedef xmlRef *xmlRefPtr; +struct _xmlRef { + struct _xmlRef *next; /* next Ref */ + const xmlChar *value; /* The Ref name */ + xmlAttrPtr attr; /* The attribute holding it */ + const xmlChar *name; /* The attribute if attr is not available */ + int lineno; /* The line number if attr is not available */ +}; + +/** + * xmlNode: + * + * A node in an XML tree. + */ +typedef struct _xmlNode xmlNode; +typedef xmlNode *xmlNodePtr; +struct _xmlNode { + void *_private; /* application data */ + xmlElementType type; /* type number, must be second ! */ + const xmlChar *name; /* the name of the node, or the entity */ + struct _xmlNode *children; /* parent->childs link */ + struct _xmlNode *last; /* last child link */ + struct _xmlNode *parent; /* child->parent link */ + struct _xmlNode *next; /* next sibling link */ + struct _xmlNode *prev; /* previous sibling link */ + struct _xmlDoc *doc; /* the containing document */ + + /* End of common part */ + xmlNs *ns; /* pointer to the associated namespace */ + xmlChar *content; /* the content */ + struct _xmlAttr *properties;/* properties list */ + xmlNs *nsDef; /* namespace definitions on this node */ + void *psvi; /* for type/PSVI information */ + unsigned short line; /* line number */ + unsigned short extra; /* extra data for XPath/XSLT */ +}; + +/** + * XML_GET_CONTENT: + * + * Macro to extract the content pointer of a node. + */ +#define XML_GET_CONTENT(n) \ + ((n)->type == XML_ELEMENT_NODE ? NULL : (n)->content) + +/** + * XML_GET_LINE: + * + * Macro to extract the line number of an element node. + */ +#define XML_GET_LINE(n) \ + (xmlGetLineNo(n)) + +/** + * xmlDocProperty + * + * Set of properties of the document as found by the parser + * Some of them are linked to similarly named xmlParserOption + */ +typedef enum { + XML_DOC_WELLFORMED = 1<<0, /* document is XML well formed */ + XML_DOC_NSVALID = 1<<1, /* document is Namespace valid */ + XML_DOC_OLD10 = 1<<2, /* parsed with old XML-1.0 parser */ + XML_DOC_DTDVALID = 1<<3, /* DTD validation was successful */ + XML_DOC_XINCLUDE = 1<<4, /* XInclude substitution was done */ + XML_DOC_USERBUILT = 1<<5, /* Document was built using the API + and not by parsing an instance */ + XML_DOC_INTERNAL = 1<<6, /* built for internal processing */ + XML_DOC_HTML = 1<<7 /* parsed or built HTML document */ +} xmlDocProperties; + +/** + * xmlDoc: + * + * An XML document. + */ +typedef struct _xmlDoc xmlDoc; +typedef xmlDoc *xmlDocPtr; +struct _xmlDoc { + void *_private; /* application data */ + xmlElementType type; /* XML_DOCUMENT_NODE, must be second ! */ + char *name; /* name/filename/URI of the document */ + struct _xmlNode *children; /* the document tree */ + struct _xmlNode *last; /* last child link */ + struct _xmlNode *parent; /* child->parent link */ + struct _xmlNode *next; /* next sibling link */ + struct _xmlNode *prev; /* previous sibling link */ + struct _xmlDoc *doc; /* autoreference to itself */ + + /* End of common part */ + int compression;/* level of zlib compression */ + int standalone; /* standalone document (no external refs) + 1 if standalone="yes" + 0 if standalone="no" + -1 if there is no XML declaration + -2 if there is an XML declaration, but no + standalone attribute was specified */ + struct _xmlDtd *intSubset; /* the document internal subset */ + struct _xmlDtd *extSubset; /* the document external subset */ + struct _xmlNs *oldNs; /* Global namespace, the old way */ + const xmlChar *version; /* the XML version string */ + const xmlChar *encoding; /* actual encoding, if any */ + void *ids; /* Hash table for ID attributes if any */ + void *refs; /* Hash table for IDREFs attributes if any */ + const xmlChar *URL; /* The URI for that document */ + int charset; /* unused */ + struct _xmlDict *dict; /* dict used to allocate names or NULL */ + void *psvi; /* for type/PSVI information */ + int parseFlags; /* set of xmlParserOption used to parse the + document */ + int properties; /* set of xmlDocProperties for this document + set at the end of parsing */ +}; + + +typedef struct _xmlDOMWrapCtxt xmlDOMWrapCtxt; +typedef xmlDOMWrapCtxt *xmlDOMWrapCtxtPtr; + +/** + * xmlDOMWrapAcquireNsFunction: + * @ctxt: a DOM wrapper context + * @node: the context node (element or attribute) + * @nsName: the requested namespace name + * @nsPrefix: the requested namespace prefix + * + * A function called to acquire namespaces (xmlNs) from the wrapper. + * + * Returns an xmlNsPtr or NULL in case of an error. + */ +typedef xmlNsPtr (*xmlDOMWrapAcquireNsFunction) (xmlDOMWrapCtxtPtr ctxt, + xmlNodePtr node, + const xmlChar *nsName, + const xmlChar *nsPrefix); + +/** + * xmlDOMWrapCtxt: + * + * Context for DOM wrapper-operations. + */ +struct _xmlDOMWrapCtxt { + void * _private; + /* + * The type of this context, just in case we need specialized + * contexts in the future. + */ + int type; + /* + * Internal namespace map used for various operations. + */ + void * namespaceMap; + /* + * Use this one to acquire an xmlNsPtr intended for node->ns. + * (Note that this is not intended for elem->nsDef). + */ + xmlDOMWrapAcquireNsFunction getNsForNodeFunc; +}; + +/** + * xmlRegisterNodeFunc: + * @node: the current node + * + * Signature for the registration callback of a created node + */ +typedef void (*xmlRegisterNodeFunc) (xmlNodePtr node); + +/** + * xmlDeregisterNodeFunc: + * @node: the current node + * + * Signature for the deregistration callback of a discarded node + */ +typedef void (*xmlDeregisterNodeFunc) (xmlNodePtr node); + +/** + * xmlChildrenNode: + * + * Macro for compatibility naming layer with libxml1. Maps + * to "children." + */ +#ifndef xmlChildrenNode +#define xmlChildrenNode children +#endif + +/** + * xmlRootNode: + * + * Macro for compatibility naming layer with libxml1. Maps + * to "children". + */ +#ifndef xmlRootNode +#define xmlRootNode children +#endif + +/* + * Variables. + */ + +/** DOC_DISABLE */ +#define XML_GLOBALS_TREE \ + XML_OP(xmlBufferAllocScheme, xmlBufferAllocationScheme, XML_DEPRECATED) \ + XML_OP(xmlDefaultBufferSize, int, XML_DEPRECATED) \ + XML_OP(xmlRegisterNodeDefaultValue, xmlRegisterNodeFunc, XML_DEPRECATED) \ + XML_OP(xmlDeregisterNodeDefaultValue, xmlDeregisterNodeFunc, \ + XML_DEPRECATED) + +#define XML_OP XML_DECLARE_GLOBAL +XML_GLOBALS_TREE +#undef XML_OP + +#if defined(LIBXML_THREAD_ENABLED) && !defined(XML_GLOBALS_NO_REDEFINITION) + #define xmlBufferAllocScheme XML_GLOBAL_MACRO(xmlBufferAllocScheme) + #define xmlDefaultBufferSize XML_GLOBAL_MACRO(xmlDefaultBufferSize) + #define xmlRegisterNodeDefaultValue \ + XML_GLOBAL_MACRO(xmlRegisterNodeDefaultValue) + #define xmlDeregisterNodeDefaultValue \ + XML_GLOBAL_MACRO(xmlDeregisterNodeDefaultValue) +#endif +/** DOC_ENABLE */ + +/* + * Some helper functions + */ +XMLPUBFUN int + xmlValidateNCName (const xmlChar *value, + int space); + +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) +XMLPUBFUN int + xmlValidateQName (const xmlChar *value, + int space); +XMLPUBFUN int + xmlValidateName (const xmlChar *value, + int space); +XMLPUBFUN int + xmlValidateNMToken (const xmlChar *value, + int space); +#endif + +XMLPUBFUN xmlChar * + xmlBuildQName (const xmlChar *ncname, + const xmlChar *prefix, + xmlChar *memory, + int len); +XMLPUBFUN xmlChar * + xmlSplitQName2 (const xmlChar *name, + xmlChar **prefix); +XMLPUBFUN const xmlChar * + xmlSplitQName3 (const xmlChar *name, + int *len); + +/* + * Handling Buffers, the old ones see @xmlBuf for the new ones. + */ + +XMLPUBFUN void + xmlSetBufferAllocationScheme(xmlBufferAllocationScheme scheme); +XMLPUBFUN xmlBufferAllocationScheme + xmlGetBufferAllocationScheme(void); + +XMLPUBFUN xmlBufferPtr + xmlBufferCreate (void); +XMLPUBFUN xmlBufferPtr + xmlBufferCreateSize (size_t size); +XMLPUBFUN xmlBufferPtr + xmlBufferCreateStatic (void *mem, + size_t size); +XMLPUBFUN int + xmlBufferResize (xmlBufferPtr buf, + unsigned int size); +XMLPUBFUN void + xmlBufferFree (xmlBufferPtr buf); +XMLPUBFUN int + xmlBufferDump (FILE *file, + xmlBufferPtr buf); +XMLPUBFUN int + xmlBufferAdd (xmlBufferPtr buf, + const xmlChar *str, + int len); +XMLPUBFUN int + xmlBufferAddHead (xmlBufferPtr buf, + const xmlChar *str, + int len); +XMLPUBFUN int + xmlBufferCat (xmlBufferPtr buf, + const xmlChar *str); +XMLPUBFUN int + xmlBufferCCat (xmlBufferPtr buf, + const char *str); +XMLPUBFUN int + xmlBufferShrink (xmlBufferPtr buf, + unsigned int len); +XMLPUBFUN int + xmlBufferGrow (xmlBufferPtr buf, + unsigned int len); +XMLPUBFUN void + xmlBufferEmpty (xmlBufferPtr buf); +XMLPUBFUN const xmlChar* + xmlBufferContent (const xmlBuffer *buf); +XMLPUBFUN xmlChar* + xmlBufferDetach (xmlBufferPtr buf); +XMLPUBFUN void + xmlBufferSetAllocationScheme(xmlBufferPtr buf, + xmlBufferAllocationScheme scheme); +XMLPUBFUN int + xmlBufferLength (const xmlBuffer *buf); + +/* + * Creating/freeing new structures. + */ +XMLPUBFUN xmlDtdPtr + xmlCreateIntSubset (xmlDocPtr doc, + const xmlChar *name, + const xmlChar *ExternalID, + const xmlChar *SystemID); +XMLPUBFUN xmlDtdPtr + xmlNewDtd (xmlDocPtr doc, + const xmlChar *name, + const xmlChar *ExternalID, + const xmlChar *SystemID); +XMLPUBFUN xmlDtdPtr + xmlGetIntSubset (const xmlDoc *doc); +XMLPUBFUN void + xmlFreeDtd (xmlDtdPtr cur); +#ifdef LIBXML_LEGACY_ENABLED +XML_DEPRECATED +XMLPUBFUN xmlNsPtr + xmlNewGlobalNs (xmlDocPtr doc, + const xmlChar *href, + const xmlChar *prefix); +#endif /* LIBXML_LEGACY_ENABLED */ +XMLPUBFUN xmlNsPtr + xmlNewNs (xmlNodePtr node, + const xmlChar *href, + const xmlChar *prefix); +XMLPUBFUN void + xmlFreeNs (xmlNsPtr cur); +XMLPUBFUN void + xmlFreeNsList (xmlNsPtr cur); +XMLPUBFUN xmlDocPtr + xmlNewDoc (const xmlChar *version); +XMLPUBFUN void + xmlFreeDoc (xmlDocPtr cur); +XMLPUBFUN xmlAttrPtr + xmlNewDocProp (xmlDocPtr doc, + const xmlChar *name, + const xmlChar *value); +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || \ + defined(LIBXML_SCHEMAS_ENABLED) +XMLPUBFUN xmlAttrPtr + xmlNewProp (xmlNodePtr node, + const xmlChar *name, + const xmlChar *value); +#endif +XMLPUBFUN xmlAttrPtr + xmlNewNsProp (xmlNodePtr node, + xmlNsPtr ns, + const xmlChar *name, + const xmlChar *value); +XMLPUBFUN xmlAttrPtr + xmlNewNsPropEatName (xmlNodePtr node, + xmlNsPtr ns, + xmlChar *name, + const xmlChar *value); +XMLPUBFUN void + xmlFreePropList (xmlAttrPtr cur); +XMLPUBFUN void + xmlFreeProp (xmlAttrPtr cur); +XMLPUBFUN xmlAttrPtr + xmlCopyProp (xmlNodePtr target, + xmlAttrPtr cur); +XMLPUBFUN xmlAttrPtr + xmlCopyPropList (xmlNodePtr target, + xmlAttrPtr cur); +#ifdef LIBXML_TREE_ENABLED +XMLPUBFUN xmlDtdPtr + xmlCopyDtd (xmlDtdPtr dtd); +#endif /* LIBXML_TREE_ENABLED */ +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) +XMLPUBFUN xmlDocPtr + xmlCopyDoc (xmlDocPtr doc, + int recursive); +#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) */ +/* + * Creating new nodes. + */ +XMLPUBFUN xmlNodePtr + xmlNewDocNode (xmlDocPtr doc, + xmlNsPtr ns, + const xmlChar *name, + const xmlChar *content); +XMLPUBFUN xmlNodePtr + xmlNewDocNodeEatName (xmlDocPtr doc, + xmlNsPtr ns, + xmlChar *name, + const xmlChar *content); +XMLPUBFUN xmlNodePtr + xmlNewNode (xmlNsPtr ns, + const xmlChar *name); +XMLPUBFUN xmlNodePtr + xmlNewNodeEatName (xmlNsPtr ns, + xmlChar *name); +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) +XMLPUBFUN xmlNodePtr + xmlNewChild (xmlNodePtr parent, + xmlNsPtr ns, + const xmlChar *name, + const xmlChar *content); +#endif +XMLPUBFUN xmlNodePtr + xmlNewDocText (const xmlDoc *doc, + const xmlChar *content); +XMLPUBFUN xmlNodePtr + xmlNewText (const xmlChar *content); +XMLPUBFUN xmlNodePtr + xmlNewDocPI (xmlDocPtr doc, + const xmlChar *name, + const xmlChar *content); +XMLPUBFUN xmlNodePtr + xmlNewPI (const xmlChar *name, + const xmlChar *content); +XMLPUBFUN xmlNodePtr + xmlNewDocTextLen (xmlDocPtr doc, + const xmlChar *content, + int len); +XMLPUBFUN xmlNodePtr + xmlNewTextLen (const xmlChar *content, + int len); +XMLPUBFUN xmlNodePtr + xmlNewDocComment (xmlDocPtr doc, + const xmlChar *content); +XMLPUBFUN xmlNodePtr + xmlNewComment (const xmlChar *content); +XMLPUBFUN xmlNodePtr + xmlNewCDataBlock (xmlDocPtr doc, + const xmlChar *content, + int len); +XMLPUBFUN xmlNodePtr + xmlNewCharRef (xmlDocPtr doc, + const xmlChar *name); +XMLPUBFUN xmlNodePtr + xmlNewReference (const xmlDoc *doc, + const xmlChar *name); +XMLPUBFUN xmlNodePtr + xmlCopyNode (xmlNodePtr node, + int recursive); +XMLPUBFUN xmlNodePtr + xmlDocCopyNode (xmlNodePtr node, + xmlDocPtr doc, + int recursive); +XMLPUBFUN xmlNodePtr + xmlDocCopyNodeList (xmlDocPtr doc, + xmlNodePtr node); +XMLPUBFUN xmlNodePtr + xmlCopyNodeList (xmlNodePtr node); +#ifdef LIBXML_TREE_ENABLED +XMLPUBFUN xmlNodePtr + xmlNewTextChild (xmlNodePtr parent, + xmlNsPtr ns, + const xmlChar *name, + const xmlChar *content); +XMLPUBFUN xmlNodePtr + xmlNewDocRawNode (xmlDocPtr doc, + xmlNsPtr ns, + const xmlChar *name, + const xmlChar *content); +XMLPUBFUN xmlNodePtr + xmlNewDocFragment (xmlDocPtr doc); +#endif /* LIBXML_TREE_ENABLED */ + +/* + * Navigating. + */ +XMLPUBFUN long + xmlGetLineNo (const xmlNode *node); +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED) +XMLPUBFUN xmlChar * + xmlGetNodePath (const xmlNode *node); +#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED) */ +XMLPUBFUN xmlNodePtr + xmlDocGetRootElement (const xmlDoc *doc); +XMLPUBFUN xmlNodePtr + xmlGetLastChild (const xmlNode *parent); +XMLPUBFUN int + xmlNodeIsText (const xmlNode *node); +XMLPUBFUN int + xmlIsBlankNode (const xmlNode *node); + +/* + * Changing the structure. + */ +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) +XMLPUBFUN xmlNodePtr + xmlDocSetRootElement (xmlDocPtr doc, + xmlNodePtr root); +#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) */ +#ifdef LIBXML_TREE_ENABLED +XMLPUBFUN void + xmlNodeSetName (xmlNodePtr cur, + const xmlChar *name); +#endif /* LIBXML_TREE_ENABLED */ +XMLPUBFUN xmlNodePtr + xmlAddChild (xmlNodePtr parent, + xmlNodePtr cur); +XMLPUBFUN xmlNodePtr + xmlAddChildList (xmlNodePtr parent, + xmlNodePtr cur); +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) +XMLPUBFUN xmlNodePtr + xmlReplaceNode (xmlNodePtr old, + xmlNodePtr cur); +#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) */ +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || \ + defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) +XMLPUBFUN xmlNodePtr + xmlAddPrevSibling (xmlNodePtr cur, + xmlNodePtr elem); +#endif /* LIBXML_TREE_ENABLED || LIBXML_HTML_ENABLED || LIBXML_SCHEMAS_ENABLED */ +XMLPUBFUN xmlNodePtr + xmlAddSibling (xmlNodePtr cur, + xmlNodePtr elem); +XMLPUBFUN xmlNodePtr + xmlAddNextSibling (xmlNodePtr cur, + xmlNodePtr elem); +XMLPUBFUN void + xmlUnlinkNode (xmlNodePtr cur); +XMLPUBFUN xmlNodePtr + xmlTextMerge (xmlNodePtr first, + xmlNodePtr second); +XMLPUBFUN int + xmlTextConcat (xmlNodePtr node, + const xmlChar *content, + int len); +XMLPUBFUN void + xmlFreeNodeList (xmlNodePtr cur); +XMLPUBFUN void + xmlFreeNode (xmlNodePtr cur); +XMLPUBFUN int + xmlSetTreeDoc (xmlNodePtr tree, + xmlDocPtr doc); +XMLPUBFUN int + xmlSetListDoc (xmlNodePtr list, + xmlDocPtr doc); +/* + * Namespaces. + */ +XMLPUBFUN xmlNsPtr + xmlSearchNs (xmlDocPtr doc, + xmlNodePtr node, + const xmlChar *nameSpace); +XMLPUBFUN xmlNsPtr + xmlSearchNsByHref (xmlDocPtr doc, + xmlNodePtr node, + const xmlChar *href); +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || \ + defined(LIBXML_SCHEMAS_ENABLED) +XMLPUBFUN int + xmlGetNsListSafe (const xmlDoc *doc, + const xmlNode *node, + xmlNsPtr **out); +XMLPUBFUN xmlNsPtr * + xmlGetNsList (const xmlDoc *doc, + const xmlNode *node); +#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) */ + +XMLPUBFUN void + xmlSetNs (xmlNodePtr node, + xmlNsPtr ns); +XMLPUBFUN xmlNsPtr + xmlCopyNamespace (xmlNsPtr cur); +XMLPUBFUN xmlNsPtr + xmlCopyNamespaceList (xmlNsPtr cur); + +/* + * Changing the content. + */ +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || \ + defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED) +XMLPUBFUN xmlAttrPtr + xmlSetProp (xmlNodePtr node, + const xmlChar *name, + const xmlChar *value); +XMLPUBFUN xmlAttrPtr + xmlSetNsProp (xmlNodePtr node, + xmlNsPtr ns, + const xmlChar *name, + const xmlChar *value); +#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || \ + defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED) */ +XMLPUBFUN int + xmlNodeGetAttrValue (const xmlNode *node, + const xmlChar *name, + const xmlChar *nsUri, + xmlChar **out); +XMLPUBFUN xmlChar * + xmlGetNoNsProp (const xmlNode *node, + const xmlChar *name); +XMLPUBFUN xmlChar * + xmlGetProp (const xmlNode *node, + const xmlChar *name); +XMLPUBFUN xmlAttrPtr + xmlHasProp (const xmlNode *node, + const xmlChar *name); +XMLPUBFUN xmlAttrPtr + xmlHasNsProp (const xmlNode *node, + const xmlChar *name, + const xmlChar *nameSpace); +XMLPUBFUN xmlChar * + xmlGetNsProp (const xmlNode *node, + const xmlChar *name, + const xmlChar *nameSpace); +XMLPUBFUN xmlNodePtr + xmlStringGetNodeList (const xmlDoc *doc, + const xmlChar *value); +XMLPUBFUN xmlNodePtr + xmlStringLenGetNodeList (const xmlDoc *doc, + const xmlChar *value, + int len); +XMLPUBFUN xmlChar * + xmlNodeListGetString (xmlDocPtr doc, + const xmlNode *list, + int inLine); +#ifdef LIBXML_TREE_ENABLED +XMLPUBFUN xmlChar * + xmlNodeListGetRawString (const xmlDoc *doc, + const xmlNode *list, + int inLine); +#endif /* LIBXML_TREE_ENABLED */ +XMLPUBFUN int + xmlNodeSetContent (xmlNodePtr cur, + const xmlChar *content); +#ifdef LIBXML_TREE_ENABLED +XMLPUBFUN int + xmlNodeSetContentLen (xmlNodePtr cur, + const xmlChar *content, + int len); +#endif /* LIBXML_TREE_ENABLED */ +XMLPUBFUN int + xmlNodeAddContent (xmlNodePtr cur, + const xmlChar *content); +XMLPUBFUN int + xmlNodeAddContentLen (xmlNodePtr cur, + const xmlChar *content, + int len); +XMLPUBFUN xmlChar * + xmlNodeGetContent (const xmlNode *cur); + +XMLPUBFUN int + xmlNodeBufGetContent (xmlBufferPtr buffer, + const xmlNode *cur); +XMLPUBFUN int + xmlBufGetNodeContent (xmlBufPtr buf, + const xmlNode *cur); + +XMLPUBFUN xmlChar * + xmlNodeGetLang (const xmlNode *cur); +XMLPUBFUN int + xmlNodeGetSpacePreserve (const xmlNode *cur); +#ifdef LIBXML_TREE_ENABLED +XMLPUBFUN int + xmlNodeSetLang (xmlNodePtr cur, + const xmlChar *lang); +XMLPUBFUN int + xmlNodeSetSpacePreserve (xmlNodePtr cur, + int val); +#endif /* LIBXML_TREE_ENABLED */ +XMLPUBFUN int + xmlNodeGetBaseSafe (const xmlDoc *doc, + const xmlNode *cur, + xmlChar **baseOut); +XMLPUBFUN xmlChar * + xmlNodeGetBase (const xmlDoc *doc, + const xmlNode *cur); +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) +XMLPUBFUN int + xmlNodeSetBase (xmlNodePtr cur, + const xmlChar *uri); +#endif + +/* + * Removing content. + */ +XMLPUBFUN int + xmlRemoveProp (xmlAttrPtr cur); +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) +XMLPUBFUN int + xmlUnsetNsProp (xmlNodePtr node, + xmlNsPtr ns, + const xmlChar *name); +XMLPUBFUN int + xmlUnsetProp (xmlNodePtr node, + const xmlChar *name); +#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) */ + +/* + * Internal, don't use. + */ +XMLPUBFUN void + xmlBufferWriteCHAR (xmlBufferPtr buf, + const xmlChar *string); +XMLPUBFUN void + xmlBufferWriteChar (xmlBufferPtr buf, + const char *string); +XMLPUBFUN void + xmlBufferWriteQuotedString(xmlBufferPtr buf, + const xmlChar *string); + +#ifdef LIBXML_OUTPUT_ENABLED +XMLPUBFUN void xmlAttrSerializeTxtContent(xmlBufferPtr buf, + xmlDocPtr doc, + xmlAttrPtr attr, + const xmlChar *string); +#endif /* LIBXML_OUTPUT_ENABLED */ + +#ifdef LIBXML_TREE_ENABLED +/* + * Namespace handling. + */ +XMLPUBFUN int + xmlReconciliateNs (xmlDocPtr doc, + xmlNodePtr tree); +#endif + +#ifdef LIBXML_OUTPUT_ENABLED +/* + * Saving. + */ +XMLPUBFUN void + xmlDocDumpFormatMemory (xmlDocPtr cur, + xmlChar **mem, + int *size, + int format); +XMLPUBFUN void + xmlDocDumpMemory (xmlDocPtr cur, + xmlChar **mem, + int *size); +XMLPUBFUN void + xmlDocDumpMemoryEnc (xmlDocPtr out_doc, + xmlChar **doc_txt_ptr, + int * doc_txt_len, + const char *txt_encoding); +XMLPUBFUN void + xmlDocDumpFormatMemoryEnc(xmlDocPtr out_doc, + xmlChar **doc_txt_ptr, + int * doc_txt_len, + const char *txt_encoding, + int format); +XMLPUBFUN int + xmlDocFormatDump (FILE *f, + xmlDocPtr cur, + int format); +XMLPUBFUN int + xmlDocDump (FILE *f, + xmlDocPtr cur); +XMLPUBFUN void + xmlElemDump (FILE *f, + xmlDocPtr doc, + xmlNodePtr cur); +XMLPUBFUN int + xmlSaveFile (const char *filename, + xmlDocPtr cur); +XMLPUBFUN int + xmlSaveFormatFile (const char *filename, + xmlDocPtr cur, + int format); +XMLPUBFUN size_t + xmlBufNodeDump (xmlBufPtr buf, + xmlDocPtr doc, + xmlNodePtr cur, + int level, + int format); +XMLPUBFUN int + xmlNodeDump (xmlBufferPtr buf, + xmlDocPtr doc, + xmlNodePtr cur, + int level, + int format); + +XMLPUBFUN int + xmlSaveFileTo (xmlOutputBufferPtr buf, + xmlDocPtr cur, + const char *encoding); +XMLPUBFUN int + xmlSaveFormatFileTo (xmlOutputBufferPtr buf, + xmlDocPtr cur, + const char *encoding, + int format); +XMLPUBFUN void + xmlNodeDumpOutput (xmlOutputBufferPtr buf, + xmlDocPtr doc, + xmlNodePtr cur, + int level, + int format, + const char *encoding); + +XMLPUBFUN int + xmlSaveFormatFileEnc (const char *filename, + xmlDocPtr cur, + const char *encoding, + int format); + +XMLPUBFUN int + xmlSaveFileEnc (const char *filename, + xmlDocPtr cur, + const char *encoding); + +#endif /* LIBXML_OUTPUT_ENABLED */ +/* + * XHTML + */ +XMLPUBFUN int + xmlIsXHTML (const xmlChar *systemID, + const xmlChar *publicID); + +/* + * Compression. + */ +XMLPUBFUN int + xmlGetDocCompressMode (const xmlDoc *doc); +XMLPUBFUN void + xmlSetDocCompressMode (xmlDocPtr doc, + int mode); +XML_DEPRECATED +XMLPUBFUN int + xmlGetCompressMode (void); +XML_DEPRECATED +XMLPUBFUN void + xmlSetCompressMode (int mode); + +/* +* DOM-wrapper helper functions. +*/ +XMLPUBFUN xmlDOMWrapCtxtPtr + xmlDOMWrapNewCtxt (void); +XMLPUBFUN void + xmlDOMWrapFreeCtxt (xmlDOMWrapCtxtPtr ctxt); +XMLPUBFUN int + xmlDOMWrapReconcileNamespaces(xmlDOMWrapCtxtPtr ctxt, + xmlNodePtr elem, + int options); +XMLPUBFUN int + xmlDOMWrapAdoptNode (xmlDOMWrapCtxtPtr ctxt, + xmlDocPtr sourceDoc, + xmlNodePtr node, + xmlDocPtr destDoc, + xmlNodePtr destParent, + int options); +XMLPUBFUN int + xmlDOMWrapRemoveNode (xmlDOMWrapCtxtPtr ctxt, + xmlDocPtr doc, + xmlNodePtr node, + int options); +XMLPUBFUN int + xmlDOMWrapCloneNode (xmlDOMWrapCtxtPtr ctxt, + xmlDocPtr sourceDoc, + xmlNodePtr node, + xmlNodePtr *clonedNode, + xmlDocPtr destDoc, + xmlNodePtr destParent, + int deep, + int options); + +#ifdef LIBXML_TREE_ENABLED +/* + * 5 interfaces from DOM ElementTraversal, but different in entities + * traversal. + */ +XMLPUBFUN unsigned long + xmlChildElementCount (xmlNodePtr parent); +XMLPUBFUN xmlNodePtr + xmlNextElementSibling (xmlNodePtr node); +XMLPUBFUN xmlNodePtr + xmlFirstElementChild (xmlNodePtr parent); +XMLPUBFUN xmlNodePtr + xmlLastElementChild (xmlNodePtr parent); +XMLPUBFUN xmlNodePtr + xmlPreviousElementSibling (xmlNodePtr node); +#endif + +XML_DEPRECATED +XMLPUBFUN xmlRegisterNodeFunc + xmlRegisterNodeDefault (xmlRegisterNodeFunc func); +XML_DEPRECATED +XMLPUBFUN xmlDeregisterNodeFunc + xmlDeregisterNodeDefault (xmlDeregisterNodeFunc func); +XML_DEPRECATED +XMLPUBFUN xmlRegisterNodeFunc + xmlThrDefRegisterNodeDefault(xmlRegisterNodeFunc func); +XML_DEPRECATED +XMLPUBFUN xmlDeregisterNodeFunc + xmlThrDefDeregisterNodeDefault(xmlDeregisterNodeFunc func); + +XML_DEPRECATED XMLPUBFUN xmlBufferAllocationScheme + xmlThrDefBufferAllocScheme (xmlBufferAllocationScheme v); +XML_DEPRECATED XMLPUBFUN int + xmlThrDefDefaultBufferSize (int v); + +#ifdef __cplusplus +} +#endif + +#endif /* __XML_TREE_H__ */ + +#endif /* XML_TREE_INTERNALS */ + diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/uri.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/uri.h new file mode 100644 index 0000000..19980b7 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/uri.h @@ -0,0 +1,106 @@ +/** + * Summary: library of generic URI related routines + * Description: library of generic URI related routines + * Implements RFC 2396 + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_URI_H__ +#define __XML_URI_H__ + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * xmlURI: + * + * A parsed URI reference. This is a struct containing the various fields + * as described in RFC 2396 but separated for further processing. + * + * Note: query is a deprecated field which is incorrectly unescaped. + * query_raw takes precedence over query if the former is set. + * See: http://mail.gnome.org/archives/xml/2007-April/thread.html#00127 + */ +typedef struct _xmlURI xmlURI; +typedef xmlURI *xmlURIPtr; +struct _xmlURI { + char *scheme; /* the URI scheme */ + char *opaque; /* opaque part */ + char *authority; /* the authority part */ + char *server; /* the server part */ + char *user; /* the user part */ + int port; /* the port number */ + char *path; /* the path string */ + char *query; /* the query string (deprecated - use with caution) */ + char *fragment; /* the fragment identifier */ + int cleanup; /* parsing potentially unclean URI */ + char *query_raw; /* the query string (as it appears in the URI) */ +}; + +/* + * This function is in tree.h: + * xmlChar * xmlNodeGetBase (xmlDocPtr doc, + * xmlNodePtr cur); + */ +XMLPUBFUN xmlURIPtr + xmlCreateURI (void); +XMLPUBFUN int + xmlBuildURISafe (const xmlChar *URI, + const xmlChar *base, + xmlChar **out); +XMLPUBFUN xmlChar * + xmlBuildURI (const xmlChar *URI, + const xmlChar *base); +XMLPUBFUN int + xmlBuildRelativeURISafe (const xmlChar *URI, + const xmlChar *base, + xmlChar **out); +XMLPUBFUN xmlChar * + xmlBuildRelativeURI (const xmlChar *URI, + const xmlChar *base); +XMLPUBFUN xmlURIPtr + xmlParseURI (const char *str); +XMLPUBFUN int + xmlParseURISafe (const char *str, + xmlURIPtr *uri); +XMLPUBFUN xmlURIPtr + xmlParseURIRaw (const char *str, + int raw); +XMLPUBFUN int + xmlParseURIReference (xmlURIPtr uri, + const char *str); +XMLPUBFUN xmlChar * + xmlSaveUri (xmlURIPtr uri); +XMLPUBFUN void + xmlPrintURI (FILE *stream, + xmlURIPtr uri); +XMLPUBFUN xmlChar * + xmlURIEscapeStr (const xmlChar *str, + const xmlChar *list); +XMLPUBFUN char * + xmlURIUnescapeString (const char *str, + int len, + char *target); +XMLPUBFUN int + xmlNormalizeURIPath (char *path); +XMLPUBFUN xmlChar * + xmlURIEscape (const xmlChar *str); +XMLPUBFUN void + xmlFreeURI (xmlURIPtr uri); +XMLPUBFUN xmlChar* + xmlCanonicPath (const xmlChar *path); +XMLPUBFUN xmlChar* + xmlPathToURI (const xmlChar *path); + +#ifdef __cplusplus +} +#endif +#endif /* __XML_URI_H__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/valid.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/valid.h new file mode 100644 index 0000000..e1698d7 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/valid.h @@ -0,0 +1,477 @@ +/* + * Summary: The DTD validation + * Description: API for the DTD handling and the validity checking + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + + +#ifndef __XML_VALID_H__ +#define __XML_VALID_H__ + +/** DOC_DISABLE */ +#include +#include +#define XML_TREE_INTERNALS +#include +#undef XML_TREE_INTERNALS +#include +#include +#include +/** DOC_ENABLE */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Validation state added for non-determinist content model. + */ +typedef struct _xmlValidState xmlValidState; +typedef xmlValidState *xmlValidStatePtr; + +/** + * xmlValidityErrorFunc: + * @ctx: usually an xmlValidCtxtPtr to a validity error context, + * but comes from ctxt->userData (which normally contains such + * a pointer); ctxt->userData can be changed by the user. + * @msg: the string to format *printf like vararg + * @...: remaining arguments to the format + * + * Callback called when a validity error is found. This is a message + * oriented function similar to an *printf function. + */ +typedef void (*xmlValidityErrorFunc) (void *ctx, + const char *msg, + ...) LIBXML_ATTR_FORMAT(2,3); + +/** + * xmlValidityWarningFunc: + * @ctx: usually an xmlValidCtxtPtr to a validity error context, + * but comes from ctxt->userData (which normally contains such + * a pointer); ctxt->userData can be changed by the user. + * @msg: the string to format *printf like vararg + * @...: remaining arguments to the format + * + * Callback called when a validity warning is found. This is a message + * oriented function similar to an *printf function. + */ +typedef void (*xmlValidityWarningFunc) (void *ctx, + const char *msg, + ...) LIBXML_ATTR_FORMAT(2,3); + +/* + * xmlValidCtxt: + * An xmlValidCtxt is used for error reporting when validating. + */ +typedef struct _xmlValidCtxt xmlValidCtxt; +typedef xmlValidCtxt *xmlValidCtxtPtr; +struct _xmlValidCtxt { + void *userData; /* user specific data block */ + xmlValidityErrorFunc error; /* the callback in case of errors */ + xmlValidityWarningFunc warning; /* the callback in case of warning */ + + /* Node analysis stack used when validating within entities */ + xmlNodePtr node; /* Current parsed Node */ + int nodeNr; /* Depth of the parsing stack */ + int nodeMax; /* Max depth of the parsing stack */ + xmlNodePtr *nodeTab; /* array of nodes */ + + unsigned int flags; /* internal flags */ + xmlDocPtr doc; /* the document */ + int valid; /* temporary validity check result */ + + /* state state used for non-determinist content validation */ + xmlValidState *vstate; /* current state */ + int vstateNr; /* Depth of the validation stack */ + int vstateMax; /* Max depth of the validation stack */ + xmlValidState *vstateTab; /* array of validation states */ + +#ifdef LIBXML_REGEXP_ENABLED + xmlAutomataPtr am; /* the automata */ + xmlAutomataStatePtr state; /* used to build the automata */ +#else + void *am; + void *state; +#endif +}; + +/* + * ALL notation declarations are stored in a table. + * There is one table per DTD. + */ + +typedef struct _xmlHashTable xmlNotationTable; +typedef xmlNotationTable *xmlNotationTablePtr; + +/* + * ALL element declarations are stored in a table. + * There is one table per DTD. + */ + +typedef struct _xmlHashTable xmlElementTable; +typedef xmlElementTable *xmlElementTablePtr; + +/* + * ALL attribute declarations are stored in a table. + * There is one table per DTD. + */ + +typedef struct _xmlHashTable xmlAttributeTable; +typedef xmlAttributeTable *xmlAttributeTablePtr; + +/* + * ALL IDs attributes are stored in a table. + * There is one table per document. + */ + +typedef struct _xmlHashTable xmlIDTable; +typedef xmlIDTable *xmlIDTablePtr; + +/* + * ALL Refs attributes are stored in a table. + * There is one table per document. + */ + +typedef struct _xmlHashTable xmlRefTable; +typedef xmlRefTable *xmlRefTablePtr; + +/* Notation */ +XMLPUBFUN xmlNotationPtr + xmlAddNotationDecl (xmlValidCtxtPtr ctxt, + xmlDtdPtr dtd, + const xmlChar *name, + const xmlChar *PublicID, + const xmlChar *SystemID); +#ifdef LIBXML_TREE_ENABLED +XMLPUBFUN xmlNotationTablePtr + xmlCopyNotationTable (xmlNotationTablePtr table); +#endif /* LIBXML_TREE_ENABLED */ +XMLPUBFUN void + xmlFreeNotationTable (xmlNotationTablePtr table); +#ifdef LIBXML_OUTPUT_ENABLED +XML_DEPRECATED +XMLPUBFUN void + xmlDumpNotationDecl (xmlBufferPtr buf, + xmlNotationPtr nota); +/* XML_DEPRECATED, still used in lxml */ +XMLPUBFUN void + xmlDumpNotationTable (xmlBufferPtr buf, + xmlNotationTablePtr table); +#endif /* LIBXML_OUTPUT_ENABLED */ + +/* Element Content */ +/* the non Doc version are being deprecated */ +XMLPUBFUN xmlElementContentPtr + xmlNewElementContent (const xmlChar *name, + xmlElementContentType type); +XMLPUBFUN xmlElementContentPtr + xmlCopyElementContent (xmlElementContentPtr content); +XMLPUBFUN void + xmlFreeElementContent (xmlElementContentPtr cur); +/* the new versions with doc argument */ +XMLPUBFUN xmlElementContentPtr + xmlNewDocElementContent (xmlDocPtr doc, + const xmlChar *name, + xmlElementContentType type); +XMLPUBFUN xmlElementContentPtr + xmlCopyDocElementContent(xmlDocPtr doc, + xmlElementContentPtr content); +XMLPUBFUN void + xmlFreeDocElementContent(xmlDocPtr doc, + xmlElementContentPtr cur); +XMLPUBFUN void + xmlSnprintfElementContent(char *buf, + int size, + xmlElementContentPtr content, + int englob); +#ifdef LIBXML_OUTPUT_ENABLED +XML_DEPRECATED +XMLPUBFUN void + xmlSprintfElementContent(char *buf, + xmlElementContentPtr content, + int englob); +#endif /* LIBXML_OUTPUT_ENABLED */ + +/* Element */ +XMLPUBFUN xmlElementPtr + xmlAddElementDecl (xmlValidCtxtPtr ctxt, + xmlDtdPtr dtd, + const xmlChar *name, + xmlElementTypeVal type, + xmlElementContentPtr content); +#ifdef LIBXML_TREE_ENABLED +XMLPUBFUN xmlElementTablePtr + xmlCopyElementTable (xmlElementTablePtr table); +#endif /* LIBXML_TREE_ENABLED */ +XMLPUBFUN void + xmlFreeElementTable (xmlElementTablePtr table); +#ifdef LIBXML_OUTPUT_ENABLED +XML_DEPRECATED +XMLPUBFUN void + xmlDumpElementTable (xmlBufferPtr buf, + xmlElementTablePtr table); +XML_DEPRECATED +XMLPUBFUN void + xmlDumpElementDecl (xmlBufferPtr buf, + xmlElementPtr elem); +#endif /* LIBXML_OUTPUT_ENABLED */ + +/* Enumeration */ +XMLPUBFUN xmlEnumerationPtr + xmlCreateEnumeration (const xmlChar *name); +XMLPUBFUN void + xmlFreeEnumeration (xmlEnumerationPtr cur); +#ifdef LIBXML_TREE_ENABLED +XMLPUBFUN xmlEnumerationPtr + xmlCopyEnumeration (xmlEnumerationPtr cur); +#endif /* LIBXML_TREE_ENABLED */ + +/* Attribute */ +XMLPUBFUN xmlAttributePtr + xmlAddAttributeDecl (xmlValidCtxtPtr ctxt, + xmlDtdPtr dtd, + const xmlChar *elem, + const xmlChar *name, + const xmlChar *ns, + xmlAttributeType type, + xmlAttributeDefault def, + const xmlChar *defaultValue, + xmlEnumerationPtr tree); +#ifdef LIBXML_TREE_ENABLED +XMLPUBFUN xmlAttributeTablePtr + xmlCopyAttributeTable (xmlAttributeTablePtr table); +#endif /* LIBXML_TREE_ENABLED */ +XMLPUBFUN void + xmlFreeAttributeTable (xmlAttributeTablePtr table); +#ifdef LIBXML_OUTPUT_ENABLED +XML_DEPRECATED +XMLPUBFUN void + xmlDumpAttributeTable (xmlBufferPtr buf, + xmlAttributeTablePtr table); +XML_DEPRECATED +XMLPUBFUN void + xmlDumpAttributeDecl (xmlBufferPtr buf, + xmlAttributePtr attr); +#endif /* LIBXML_OUTPUT_ENABLED */ + +/* IDs */ +XMLPUBFUN int + xmlAddIDSafe (xmlAttrPtr attr, + const xmlChar *value); +XMLPUBFUN xmlIDPtr + xmlAddID (xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + const xmlChar *value, + xmlAttrPtr attr); +XMLPUBFUN void + xmlFreeIDTable (xmlIDTablePtr table); +XMLPUBFUN xmlAttrPtr + xmlGetID (xmlDocPtr doc, + const xmlChar *ID); +XMLPUBFUN int + xmlIsID (xmlDocPtr doc, + xmlNodePtr elem, + xmlAttrPtr attr); +XMLPUBFUN int + xmlRemoveID (xmlDocPtr doc, + xmlAttrPtr attr); + +/* IDREFs */ +XML_DEPRECATED +XMLPUBFUN xmlRefPtr + xmlAddRef (xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + const xmlChar *value, + xmlAttrPtr attr); +XML_DEPRECATED +XMLPUBFUN void + xmlFreeRefTable (xmlRefTablePtr table); +XML_DEPRECATED +XMLPUBFUN int + xmlIsRef (xmlDocPtr doc, + xmlNodePtr elem, + xmlAttrPtr attr); +XML_DEPRECATED +XMLPUBFUN int + xmlRemoveRef (xmlDocPtr doc, + xmlAttrPtr attr); +XML_DEPRECATED +XMLPUBFUN xmlListPtr + xmlGetRefs (xmlDocPtr doc, + const xmlChar *ID); + +/** + * The public function calls related to validity checking. + */ +#ifdef LIBXML_VALID_ENABLED +/* Allocate/Release Validation Contexts */ +XMLPUBFUN xmlValidCtxtPtr + xmlNewValidCtxt(void); +XMLPUBFUN void + xmlFreeValidCtxt(xmlValidCtxtPtr); + +XML_DEPRECATED +XMLPUBFUN int + xmlValidateRoot (xmlValidCtxtPtr ctxt, + xmlDocPtr doc); +XML_DEPRECATED +XMLPUBFUN int + xmlValidateElementDecl (xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + xmlElementPtr elem); +XML_DEPRECATED +XMLPUBFUN xmlChar * + xmlValidNormalizeAttributeValue(xmlDocPtr doc, + xmlNodePtr elem, + const xmlChar *name, + const xmlChar *value); +XML_DEPRECATED +XMLPUBFUN xmlChar * + xmlValidCtxtNormalizeAttributeValue(xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + xmlNodePtr elem, + const xmlChar *name, + const xmlChar *value); +XML_DEPRECATED +XMLPUBFUN int + xmlValidateAttributeDecl(xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + xmlAttributePtr attr); +XML_DEPRECATED +XMLPUBFUN int + xmlValidateAttributeValue(xmlAttributeType type, + const xmlChar *value); +XML_DEPRECATED +XMLPUBFUN int + xmlValidateNotationDecl (xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + xmlNotationPtr nota); +XMLPUBFUN int + xmlValidateDtd (xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + xmlDtdPtr dtd); +XML_DEPRECATED +XMLPUBFUN int + xmlValidateDtdFinal (xmlValidCtxtPtr ctxt, + xmlDocPtr doc); +XMLPUBFUN int + xmlValidateDocument (xmlValidCtxtPtr ctxt, + xmlDocPtr doc); +XMLPUBFUN int + xmlValidateElement (xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + xmlNodePtr elem); +XML_DEPRECATED +XMLPUBFUN int + xmlValidateOneElement (xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + xmlNodePtr elem); +XML_DEPRECATED +XMLPUBFUN int + xmlValidateOneAttribute (xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + xmlNodePtr elem, + xmlAttrPtr attr, + const xmlChar *value); +XML_DEPRECATED +XMLPUBFUN int + xmlValidateOneNamespace (xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + xmlNodePtr elem, + const xmlChar *prefix, + xmlNsPtr ns, + const xmlChar *value); +XML_DEPRECATED +XMLPUBFUN int + xmlValidateDocumentFinal(xmlValidCtxtPtr ctxt, + xmlDocPtr doc); +#endif /* LIBXML_VALID_ENABLED */ + +#if defined(LIBXML_VALID_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) +XML_DEPRECATED +XMLPUBFUN int + xmlValidateNotationUse (xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + const xmlChar *notationName); +#endif /* LIBXML_VALID_ENABLED or LIBXML_SCHEMAS_ENABLED */ + +XMLPUBFUN int + xmlIsMixedElement (xmlDocPtr doc, + const xmlChar *name); +XMLPUBFUN xmlAttributePtr + xmlGetDtdAttrDesc (xmlDtdPtr dtd, + const xmlChar *elem, + const xmlChar *name); +XMLPUBFUN xmlAttributePtr + xmlGetDtdQAttrDesc (xmlDtdPtr dtd, + const xmlChar *elem, + const xmlChar *name, + const xmlChar *prefix); +XMLPUBFUN xmlNotationPtr + xmlGetDtdNotationDesc (xmlDtdPtr dtd, + const xmlChar *name); +XMLPUBFUN xmlElementPtr + xmlGetDtdQElementDesc (xmlDtdPtr dtd, + const xmlChar *name, + const xmlChar *prefix); +XMLPUBFUN xmlElementPtr + xmlGetDtdElementDesc (xmlDtdPtr dtd, + const xmlChar *name); + +#ifdef LIBXML_VALID_ENABLED + +XMLPUBFUN int + xmlValidGetPotentialChildren(xmlElementContent *ctree, + const xmlChar **names, + int *len, + int max); + +XMLPUBFUN int + xmlValidGetValidElements(xmlNode *prev, + xmlNode *next, + const xmlChar **names, + int max); +XMLPUBFUN int + xmlValidateNameValue (const xmlChar *value); +XMLPUBFUN int + xmlValidateNamesValue (const xmlChar *value); +XMLPUBFUN int + xmlValidateNmtokenValue (const xmlChar *value); +XMLPUBFUN int + xmlValidateNmtokensValue(const xmlChar *value); + +#ifdef LIBXML_REGEXP_ENABLED +/* + * Validation based on the regexp support + */ +XML_DEPRECATED +XMLPUBFUN int + xmlValidBuildContentModel(xmlValidCtxtPtr ctxt, + xmlElementPtr elem); + +XML_DEPRECATED +XMLPUBFUN int + xmlValidatePushElement (xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + xmlNodePtr elem, + const xmlChar *qname); +XML_DEPRECATED +XMLPUBFUN int + xmlValidatePushCData (xmlValidCtxtPtr ctxt, + const xmlChar *data, + int len); +XML_DEPRECATED +XMLPUBFUN int + xmlValidatePopElement (xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + xmlNodePtr elem, + const xmlChar *qname); +#endif /* LIBXML_REGEXP_ENABLED */ +#endif /* LIBXML_VALID_ENABLED */ +#ifdef __cplusplus +} +#endif +#endif /* __XML_VALID_H__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xinclude.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xinclude.h new file mode 100644 index 0000000..71fa4c2 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xinclude.h @@ -0,0 +1,136 @@ +/* + * Summary: implementation of XInclude + * Description: API to handle XInclude processing, + * implements the + * World Wide Web Consortium Last Call Working Draft 10 November 2003 + * http://www.w3.org/TR/2003/WD-xinclude-20031110 + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_XINCLUDE_H__ +#define __XML_XINCLUDE_H__ + +#include +#include +#include + +#ifdef LIBXML_XINCLUDE_ENABLED + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * XINCLUDE_NS: + * + * Macro defining the Xinclude namespace: http://www.w3.org/2003/XInclude + */ +#define XINCLUDE_NS (const xmlChar *) "http://www.w3.org/2003/XInclude" +/** + * XINCLUDE_OLD_NS: + * + * Macro defining the draft Xinclude namespace: http://www.w3.org/2001/XInclude + */ +#define XINCLUDE_OLD_NS (const xmlChar *) "http://www.w3.org/2001/XInclude" +/** + * XINCLUDE_NODE: + * + * Macro defining "include" + */ +#define XINCLUDE_NODE (const xmlChar *) "include" +/** + * XINCLUDE_FALLBACK: + * + * Macro defining "fallback" + */ +#define XINCLUDE_FALLBACK (const xmlChar *) "fallback" +/** + * XINCLUDE_HREF: + * + * Macro defining "href" + */ +#define XINCLUDE_HREF (const xmlChar *) "href" +/** + * XINCLUDE_PARSE: + * + * Macro defining "parse" + */ +#define XINCLUDE_PARSE (const xmlChar *) "parse" +/** + * XINCLUDE_PARSE_XML: + * + * Macro defining "xml" + */ +#define XINCLUDE_PARSE_XML (const xmlChar *) "xml" +/** + * XINCLUDE_PARSE_TEXT: + * + * Macro defining "text" + */ +#define XINCLUDE_PARSE_TEXT (const xmlChar *) "text" +/** + * XINCLUDE_PARSE_ENCODING: + * + * Macro defining "encoding" + */ +#define XINCLUDE_PARSE_ENCODING (const xmlChar *) "encoding" +/** + * XINCLUDE_PARSE_XPOINTER: + * + * Macro defining "xpointer" + */ +#define XINCLUDE_PARSE_XPOINTER (const xmlChar *) "xpointer" + +typedef struct _xmlXIncludeCtxt xmlXIncludeCtxt; +typedef xmlXIncludeCtxt *xmlXIncludeCtxtPtr; + +/* + * standalone processing + */ +XMLPUBFUN int + xmlXIncludeProcess (xmlDocPtr doc); +XMLPUBFUN int + xmlXIncludeProcessFlags (xmlDocPtr doc, + int flags); +XMLPUBFUN int + xmlXIncludeProcessFlagsData(xmlDocPtr doc, + int flags, + void *data); +XMLPUBFUN int + xmlXIncludeProcessTreeFlagsData(xmlNodePtr tree, + int flags, + void *data); +XMLPUBFUN int + xmlXIncludeProcessTree (xmlNodePtr tree); +XMLPUBFUN int + xmlXIncludeProcessTreeFlags(xmlNodePtr tree, + int flags); +/* + * contextual processing + */ +XMLPUBFUN xmlXIncludeCtxtPtr + xmlXIncludeNewContext (xmlDocPtr doc); +XMLPUBFUN int + xmlXIncludeSetFlags (xmlXIncludeCtxtPtr ctxt, + int flags); +XMLPUBFUN void + xmlXIncludeSetErrorHandler(xmlXIncludeCtxtPtr ctxt, + xmlStructuredErrorFunc handler, + void *data); +XMLPUBFUN int + xmlXIncludeGetLastError (xmlXIncludeCtxtPtr ctxt); +XMLPUBFUN void + xmlXIncludeFreeContext (xmlXIncludeCtxtPtr ctxt); +XMLPUBFUN int + xmlXIncludeProcessNode (xmlXIncludeCtxtPtr ctxt, + xmlNodePtr tree); +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_XINCLUDE_ENABLED */ + +#endif /* __XML_XINCLUDE_H__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xlink.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xlink.h new file mode 100644 index 0000000..1065736 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xlink.h @@ -0,0 +1,189 @@ +/* + * Summary: unfinished XLink detection module + * Description: unfinished XLink detection module + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_XLINK_H__ +#define __XML_XLINK_H__ + +#include +#include + +#ifdef LIBXML_XPTR_ENABLED + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Various defines for the various Link properties. + * + * NOTE: the link detection layer will try to resolve QName expansion + * of namespaces. If "foo" is the prefix for "http://foo.com/" + * then the link detection layer will expand role="foo:myrole" + * to "http://foo.com/:myrole". + * NOTE: the link detection layer will expand URI-References found on + * href attributes by using the base mechanism if found. + */ +typedef xmlChar *xlinkHRef; +typedef xmlChar *xlinkRole; +typedef xmlChar *xlinkTitle; + +typedef enum { + XLINK_TYPE_NONE = 0, + XLINK_TYPE_SIMPLE, + XLINK_TYPE_EXTENDED, + XLINK_TYPE_EXTENDED_SET +} xlinkType; + +typedef enum { + XLINK_SHOW_NONE = 0, + XLINK_SHOW_NEW, + XLINK_SHOW_EMBED, + XLINK_SHOW_REPLACE +} xlinkShow; + +typedef enum { + XLINK_ACTUATE_NONE = 0, + XLINK_ACTUATE_AUTO, + XLINK_ACTUATE_ONREQUEST +} xlinkActuate; + +/** + * xlinkNodeDetectFunc: + * @ctx: user data pointer + * @node: the node to check + * + * This is the prototype for the link detection routine. + * It calls the default link detection callbacks upon link detection. + */ +typedef void (*xlinkNodeDetectFunc) (void *ctx, xmlNodePtr node); + +/* + * The link detection module interact with the upper layers using + * a set of callback registered at parsing time. + */ + +/** + * xlinkSimpleLinkFunk: + * @ctx: user data pointer + * @node: the node carrying the link + * @href: the target of the link + * @role: the role string + * @title: the link title + * + * This is the prototype for a simple link detection callback. + */ +typedef void +(*xlinkSimpleLinkFunk) (void *ctx, + xmlNodePtr node, + const xlinkHRef href, + const xlinkRole role, + const xlinkTitle title); + +/** + * xlinkExtendedLinkFunk: + * @ctx: user data pointer + * @node: the node carrying the link + * @nbLocators: the number of locators detected on the link + * @hrefs: pointer to the array of locator hrefs + * @roles: pointer to the array of locator roles + * @nbArcs: the number of arcs detected on the link + * @from: pointer to the array of source roles found on the arcs + * @to: pointer to the array of target roles found on the arcs + * @show: array of values for the show attributes found on the arcs + * @actuate: array of values for the actuate attributes found on the arcs + * @nbTitles: the number of titles detected on the link + * @title: array of titles detected on the link + * @langs: array of xml:lang values for the titles + * + * This is the prototype for a extended link detection callback. + */ +typedef void +(*xlinkExtendedLinkFunk)(void *ctx, + xmlNodePtr node, + int nbLocators, + const xlinkHRef *hrefs, + const xlinkRole *roles, + int nbArcs, + const xlinkRole *from, + const xlinkRole *to, + xlinkShow *show, + xlinkActuate *actuate, + int nbTitles, + const xlinkTitle *titles, + const xmlChar **langs); + +/** + * xlinkExtendedLinkSetFunk: + * @ctx: user data pointer + * @node: the node carrying the link + * @nbLocators: the number of locators detected on the link + * @hrefs: pointer to the array of locator hrefs + * @roles: pointer to the array of locator roles + * @nbTitles: the number of titles detected on the link + * @title: array of titles detected on the link + * @langs: array of xml:lang values for the titles + * + * This is the prototype for a extended link set detection callback. + */ +typedef void +(*xlinkExtendedLinkSetFunk) (void *ctx, + xmlNodePtr node, + int nbLocators, + const xlinkHRef *hrefs, + const xlinkRole *roles, + int nbTitles, + const xlinkTitle *titles, + const xmlChar **langs); + +/** + * This is the structure containing a set of Links detection callbacks. + * + * There is no default xlink callbacks, if one want to get link + * recognition activated, those call backs must be provided before parsing. + */ +typedef struct _xlinkHandler xlinkHandler; +typedef xlinkHandler *xlinkHandlerPtr; +struct _xlinkHandler { + xlinkSimpleLinkFunk simple; + xlinkExtendedLinkFunk extended; + xlinkExtendedLinkSetFunk set; +}; + +/* + * The default detection routine, can be overridden, they call the default + * detection callbacks. + */ + +XMLPUBFUN xlinkNodeDetectFunc + xlinkGetDefaultDetect (void); +XMLPUBFUN void + xlinkSetDefaultDetect (xlinkNodeDetectFunc func); + +/* + * Routines to set/get the default handlers. + */ +XMLPUBFUN xlinkHandlerPtr + xlinkGetDefaultHandler (void); +XMLPUBFUN void + xlinkSetDefaultHandler (xlinkHandlerPtr handler); + +/* + * Link detection module itself. + */ +XMLPUBFUN xlinkType + xlinkIsLink (xmlDocPtr doc, + xmlNodePtr node); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_XPTR_ENABLED */ + +#endif /* __XML_XLINK_H__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlIO.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlIO.h new file mode 100644 index 0000000..e950773 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlIO.h @@ -0,0 +1,438 @@ +/* + * Summary: interface for the I/O interfaces used by the parser + * Description: interface for the I/O interfaces used by the parser + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_IO_H__ +#define __XML_IO_H__ + +/** DOC_DISABLE */ +#include +#include +#include +#define XML_TREE_INTERNALS +#include +#undef XML_TREE_INTERNALS +/** DOC_ENABLE */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Those are the functions and datatypes for the parser input + * I/O structures. + */ + +/** + * xmlInputMatchCallback: + * @filename: the filename or URI + * + * Callback used in the I/O Input API to detect if the current handler + * can provide input functionality for this resource. + * + * Returns 1 if yes and 0 if another Input module should be used + */ +typedef int (*xmlInputMatchCallback) (char const *filename); +/** + * xmlInputOpenCallback: + * @filename: the filename or URI + * + * Callback used in the I/O Input API to open the resource + * + * Returns an Input context or NULL in case or error + */ +typedef void * (*xmlInputOpenCallback) (char const *filename); +/** + * xmlInputReadCallback: + * @context: an Input context + * @buffer: the buffer to store data read + * @len: the length of the buffer in bytes + * + * Callback used in the I/O Input API to read the resource + * + * Returns the number of bytes read or -1 in case of error + */ +typedef int (*xmlInputReadCallback) (void * context, char * buffer, int len); +/** + * xmlInputCloseCallback: + * @context: an Input context + * + * Callback used in the I/O Input API to close the resource + * + * Returns 0 or -1 in case of error + */ +typedef int (*xmlInputCloseCallback) (void * context); + +#ifdef LIBXML_OUTPUT_ENABLED +/* + * Those are the functions and datatypes for the library output + * I/O structures. + */ + +/** + * xmlOutputMatchCallback: + * @filename: the filename or URI + * + * Callback used in the I/O Output API to detect if the current handler + * can provide output functionality for this resource. + * + * Returns 1 if yes and 0 if another Output module should be used + */ +typedef int (*xmlOutputMatchCallback) (char const *filename); +/** + * xmlOutputOpenCallback: + * @filename: the filename or URI + * + * Callback used in the I/O Output API to open the resource + * + * Returns an Output context or NULL in case or error + */ +typedef void * (*xmlOutputOpenCallback) (char const *filename); +/** + * xmlOutputWriteCallback: + * @context: an Output context + * @buffer: the buffer of data to write + * @len: the length of the buffer in bytes + * + * Callback used in the I/O Output API to write to the resource + * + * Returns the number of bytes written or -1 in case of error + */ +typedef int (*xmlOutputWriteCallback) (void * context, const char * buffer, + int len); +/** + * xmlOutputCloseCallback: + * @context: an Output context + * + * Callback used in the I/O Output API to close the resource + * + * Returns 0 or -1 in case of error + */ +typedef int (*xmlOutputCloseCallback) (void * context); +#endif /* LIBXML_OUTPUT_ENABLED */ + +/** + * xmlParserInputBufferCreateFilenameFunc: + * @URI: the URI to read from + * @enc: the requested source encoding + * + * Signature for the function doing the lookup for a suitable input method + * corresponding to an URI. + * + * Returns the new xmlParserInputBufferPtr in case of success or NULL if no + * method was found. + */ +typedef xmlParserInputBufferPtr +(*xmlParserInputBufferCreateFilenameFunc)(const char *URI, xmlCharEncoding enc); + +/** + * xmlOutputBufferCreateFilenameFunc: + * @URI: the URI to write to + * @enc: the requested target encoding + * + * Signature for the function doing the lookup for a suitable output method + * corresponding to an URI. + * + * Returns the new xmlOutputBufferPtr in case of success or NULL if no + * method was found. + */ +typedef xmlOutputBufferPtr +(*xmlOutputBufferCreateFilenameFunc)(const char *URI, + xmlCharEncodingHandlerPtr encoder, int compression); + +struct _xmlParserInputBuffer { + void* context; + xmlInputReadCallback readcallback; + xmlInputCloseCallback closecallback; + + xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */ + + xmlBufPtr buffer; /* Local buffer encoded in UTF-8 */ + xmlBufPtr raw; /* if encoder != NULL buffer for raw input */ + int compressed; /* -1=unknown, 0=not compressed, 1=compressed */ + int error; + unsigned long rawconsumed;/* amount consumed from raw */ +}; + + +#ifdef LIBXML_OUTPUT_ENABLED +struct _xmlOutputBuffer { + void* context; + xmlOutputWriteCallback writecallback; + xmlOutputCloseCallback closecallback; + + xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */ + + xmlBufPtr buffer; /* Local buffer encoded in UTF-8 or ISOLatin */ + xmlBufPtr conv; /* if encoder != NULL buffer for output */ + int written; /* total number of byte written */ + int error; +}; +#endif /* LIBXML_OUTPUT_ENABLED */ + +/** DOC_DISABLE */ +#define XML_GLOBALS_IO \ + XML_OP(xmlParserInputBufferCreateFilenameValue, \ + xmlParserInputBufferCreateFilenameFunc, XML_DEPRECATED) \ + XML_OP(xmlOutputBufferCreateFilenameValue, \ + xmlOutputBufferCreateFilenameFunc, XML_DEPRECATED) + +#define XML_OP XML_DECLARE_GLOBAL +XML_GLOBALS_IO +#undef XML_OP + +#if defined(LIBXML_THREAD_ENABLED) && !defined(XML_GLOBALS_NO_REDEFINITION) + #define xmlParserInputBufferCreateFilenameValue \ + XML_GLOBAL_MACRO(xmlParserInputBufferCreateFilenameValue) + #define xmlOutputBufferCreateFilenameValue \ + XML_GLOBAL_MACRO(xmlOutputBufferCreateFilenameValue) +#endif +/** DOC_ENABLE */ + +/* + * Interfaces for input + */ +XMLPUBFUN void + xmlCleanupInputCallbacks (void); + +XMLPUBFUN int + xmlPopInputCallbacks (void); + +XMLPUBFUN void + xmlRegisterDefaultInputCallbacks (void); +XMLPUBFUN xmlParserInputBufferPtr + xmlAllocParserInputBuffer (xmlCharEncoding enc); + +XMLPUBFUN xmlParserInputBufferPtr + xmlParserInputBufferCreateFilename (const char *URI, + xmlCharEncoding enc); +XMLPUBFUN xmlParserInputBufferPtr + xmlParserInputBufferCreateFile (FILE *file, + xmlCharEncoding enc); +XMLPUBFUN xmlParserInputBufferPtr + xmlParserInputBufferCreateFd (int fd, + xmlCharEncoding enc); +XMLPUBFUN xmlParserInputBufferPtr + xmlParserInputBufferCreateMem (const char *mem, int size, + xmlCharEncoding enc); +XMLPUBFUN xmlParserInputBufferPtr + xmlParserInputBufferCreateStatic (const char *mem, int size, + xmlCharEncoding enc); +XMLPUBFUN xmlParserInputBufferPtr + xmlParserInputBufferCreateIO (xmlInputReadCallback ioread, + xmlInputCloseCallback ioclose, + void *ioctx, + xmlCharEncoding enc); +XMLPUBFUN int + xmlParserInputBufferRead (xmlParserInputBufferPtr in, + int len); +XMLPUBFUN int + xmlParserInputBufferGrow (xmlParserInputBufferPtr in, + int len); +XMLPUBFUN int + xmlParserInputBufferPush (xmlParserInputBufferPtr in, + int len, + const char *buf); +XMLPUBFUN void + xmlFreeParserInputBuffer (xmlParserInputBufferPtr in); +XMLPUBFUN char * + xmlParserGetDirectory (const char *filename); + +XMLPUBFUN int + xmlRegisterInputCallbacks (xmlInputMatchCallback matchFunc, + xmlInputOpenCallback openFunc, + xmlInputReadCallback readFunc, + xmlInputCloseCallback closeFunc); + +XMLPUBFUN xmlParserInputBufferPtr + __xmlParserInputBufferCreateFilename(const char *URI, + xmlCharEncoding enc); + +#ifdef LIBXML_OUTPUT_ENABLED +/* + * Interfaces for output + */ +XMLPUBFUN void + xmlCleanupOutputCallbacks (void); +XMLPUBFUN int + xmlPopOutputCallbacks (void); +XMLPUBFUN void + xmlRegisterDefaultOutputCallbacks(void); +XMLPUBFUN xmlOutputBufferPtr + xmlAllocOutputBuffer (xmlCharEncodingHandlerPtr encoder); + +XMLPUBFUN xmlOutputBufferPtr + xmlOutputBufferCreateFilename (const char *URI, + xmlCharEncodingHandlerPtr encoder, + int compression); + +XMLPUBFUN xmlOutputBufferPtr + xmlOutputBufferCreateFile (FILE *file, + xmlCharEncodingHandlerPtr encoder); + +XMLPUBFUN xmlOutputBufferPtr + xmlOutputBufferCreateBuffer (xmlBufferPtr buffer, + xmlCharEncodingHandlerPtr encoder); + +XMLPUBFUN xmlOutputBufferPtr + xmlOutputBufferCreateFd (int fd, + xmlCharEncodingHandlerPtr encoder); + +XMLPUBFUN xmlOutputBufferPtr + xmlOutputBufferCreateIO (xmlOutputWriteCallback iowrite, + xmlOutputCloseCallback ioclose, + void *ioctx, + xmlCharEncodingHandlerPtr encoder); + +/* Couple of APIs to get the output without digging into the buffers */ +XMLPUBFUN const xmlChar * + xmlOutputBufferGetContent (xmlOutputBufferPtr out); +XMLPUBFUN size_t + xmlOutputBufferGetSize (xmlOutputBufferPtr out); + +XMLPUBFUN int + xmlOutputBufferWrite (xmlOutputBufferPtr out, + int len, + const char *buf); +XMLPUBFUN int + xmlOutputBufferWriteString (xmlOutputBufferPtr out, + const char *str); +XMLPUBFUN int + xmlOutputBufferWriteEscape (xmlOutputBufferPtr out, + const xmlChar *str, + xmlCharEncodingOutputFunc escaping); + +XMLPUBFUN int + xmlOutputBufferFlush (xmlOutputBufferPtr out); +XMLPUBFUN int + xmlOutputBufferClose (xmlOutputBufferPtr out); + +XMLPUBFUN int + xmlRegisterOutputCallbacks (xmlOutputMatchCallback matchFunc, + xmlOutputOpenCallback openFunc, + xmlOutputWriteCallback writeFunc, + xmlOutputCloseCallback closeFunc); + +XMLPUBFUN xmlOutputBufferPtr + __xmlOutputBufferCreateFilename(const char *URI, + xmlCharEncodingHandlerPtr encoder, + int compression); + +#ifdef LIBXML_HTTP_ENABLED +/* This function only exists if HTTP support built into the library */ +XML_DEPRECATED +XMLPUBFUN void + xmlRegisterHTTPPostCallbacks (void ); +#endif /* LIBXML_HTTP_ENABLED */ + +#endif /* LIBXML_OUTPUT_ENABLED */ + +XML_DEPRECATED +XMLPUBFUN xmlParserInputPtr + xmlCheckHTTPInput (xmlParserCtxtPtr ctxt, + xmlParserInputPtr ret); + +/* + * A predefined entity loader disabling network accesses + */ +XMLPUBFUN xmlParserInputPtr + xmlNoNetExternalEntityLoader (const char *URL, + const char *ID, + xmlParserCtxtPtr ctxt); + +XML_DEPRECATED +XMLPUBFUN xmlChar * + xmlNormalizeWindowsPath (const xmlChar *path); + +XML_DEPRECATED +XMLPUBFUN int + xmlCheckFilename (const char *path); +/** + * Default 'file://' protocol callbacks + */ +XML_DEPRECATED +XMLPUBFUN int + xmlFileMatch (const char *filename); +XML_DEPRECATED +XMLPUBFUN void * + xmlFileOpen (const char *filename); +XML_DEPRECATED +XMLPUBFUN int + xmlFileRead (void * context, + char * buffer, + int len); +XML_DEPRECATED +XMLPUBFUN int + xmlFileClose (void * context); + +/** + * Default 'http://' protocol callbacks + */ +#ifdef LIBXML_HTTP_ENABLED +XML_DEPRECATED +XMLPUBFUN int + xmlIOHTTPMatch (const char *filename); +XML_DEPRECATED +XMLPUBFUN void * + xmlIOHTTPOpen (const char *filename); +#ifdef LIBXML_OUTPUT_ENABLED +XML_DEPRECATED +XMLPUBFUN void * + xmlIOHTTPOpenW (const char * post_uri, + int compression ); +#endif /* LIBXML_OUTPUT_ENABLED */ +XML_DEPRECATED +XMLPUBFUN int + xmlIOHTTPRead (void * context, + char * buffer, + int len); +XML_DEPRECATED +XMLPUBFUN int + xmlIOHTTPClose (void * context); +#endif /* LIBXML_HTTP_ENABLED */ + +/** + * Default 'ftp://' protocol callbacks + */ +#if defined(LIBXML_FTP_ENABLED) +XML_DEPRECATED +XMLPUBFUN int + xmlIOFTPMatch (const char *filename); +XML_DEPRECATED +XMLPUBFUN void * + xmlIOFTPOpen (const char *filename); +XML_DEPRECATED +XMLPUBFUN int + xmlIOFTPRead (void * context, + char * buffer, + int len); +XML_DEPRECATED +XMLPUBFUN int + xmlIOFTPClose (void * context); +#endif /* defined(LIBXML_FTP_ENABLED) */ + +XMLPUBFUN xmlParserInputBufferCreateFilenameFunc + xmlParserInputBufferCreateFilenameDefault( + xmlParserInputBufferCreateFilenameFunc func); +XMLPUBFUN xmlOutputBufferCreateFilenameFunc + xmlOutputBufferCreateFilenameDefault( + xmlOutputBufferCreateFilenameFunc func); +XML_DEPRECATED +XMLPUBFUN xmlOutputBufferCreateFilenameFunc + xmlThrDefOutputBufferCreateFilenameDefault( + xmlOutputBufferCreateFilenameFunc func); +XML_DEPRECATED +XMLPUBFUN xmlParserInputBufferCreateFilenameFunc + xmlThrDefParserInputBufferCreateFilenameDefault( + xmlParserInputBufferCreateFilenameFunc func); + +#ifdef __cplusplus +} +#endif + +#endif /* __XML_IO_H__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlautomata.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlautomata.h new file mode 100644 index 0000000..ea38eb3 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlautomata.h @@ -0,0 +1,146 @@ +/* + * Summary: API to build regexp automata + * Description: the API to build regexp automata + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_AUTOMATA_H__ +#define __XML_AUTOMATA_H__ + +#include + +#ifdef LIBXML_REGEXP_ENABLED +#ifdef LIBXML_AUTOMATA_ENABLED + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * xmlAutomataPtr: + * + * A libxml automata description, It can be compiled into a regexp + */ +typedef struct _xmlAutomata xmlAutomata; +typedef xmlAutomata *xmlAutomataPtr; + +/** + * xmlAutomataStatePtr: + * + * A state int the automata description, + */ +typedef struct _xmlAutomataState xmlAutomataState; +typedef xmlAutomataState *xmlAutomataStatePtr; + +/* + * Building API + */ +XMLPUBFUN xmlAutomataPtr + xmlNewAutomata (void); +XMLPUBFUN void + xmlFreeAutomata (xmlAutomataPtr am); + +XMLPUBFUN xmlAutomataStatePtr + xmlAutomataGetInitState (xmlAutomataPtr am); +XMLPUBFUN int + xmlAutomataSetFinalState (xmlAutomataPtr am, + xmlAutomataStatePtr state); +XMLPUBFUN xmlAutomataStatePtr + xmlAutomataNewState (xmlAutomataPtr am); +XMLPUBFUN xmlAutomataStatePtr + xmlAutomataNewTransition (xmlAutomataPtr am, + xmlAutomataStatePtr from, + xmlAutomataStatePtr to, + const xmlChar *token, + void *data); +XMLPUBFUN xmlAutomataStatePtr + xmlAutomataNewTransition2 (xmlAutomataPtr am, + xmlAutomataStatePtr from, + xmlAutomataStatePtr to, + const xmlChar *token, + const xmlChar *token2, + void *data); +XMLPUBFUN xmlAutomataStatePtr + xmlAutomataNewNegTrans (xmlAutomataPtr am, + xmlAutomataStatePtr from, + xmlAutomataStatePtr to, + const xmlChar *token, + const xmlChar *token2, + void *data); + +XMLPUBFUN xmlAutomataStatePtr + xmlAutomataNewCountTrans (xmlAutomataPtr am, + xmlAutomataStatePtr from, + xmlAutomataStatePtr to, + const xmlChar *token, + int min, + int max, + void *data); +XMLPUBFUN xmlAutomataStatePtr + xmlAutomataNewCountTrans2 (xmlAutomataPtr am, + xmlAutomataStatePtr from, + xmlAutomataStatePtr to, + const xmlChar *token, + const xmlChar *token2, + int min, + int max, + void *data); +XMLPUBFUN xmlAutomataStatePtr + xmlAutomataNewOnceTrans (xmlAutomataPtr am, + xmlAutomataStatePtr from, + xmlAutomataStatePtr to, + const xmlChar *token, + int min, + int max, + void *data); +XMLPUBFUN xmlAutomataStatePtr + xmlAutomataNewOnceTrans2 (xmlAutomataPtr am, + xmlAutomataStatePtr from, + xmlAutomataStatePtr to, + const xmlChar *token, + const xmlChar *token2, + int min, + int max, + void *data); +XMLPUBFUN xmlAutomataStatePtr + xmlAutomataNewAllTrans (xmlAutomataPtr am, + xmlAutomataStatePtr from, + xmlAutomataStatePtr to, + int lax); +XMLPUBFUN xmlAutomataStatePtr + xmlAutomataNewEpsilon (xmlAutomataPtr am, + xmlAutomataStatePtr from, + xmlAutomataStatePtr to); +XMLPUBFUN xmlAutomataStatePtr + xmlAutomataNewCountedTrans (xmlAutomataPtr am, + xmlAutomataStatePtr from, + xmlAutomataStatePtr to, + int counter); +XMLPUBFUN xmlAutomataStatePtr + xmlAutomataNewCounterTrans (xmlAutomataPtr am, + xmlAutomataStatePtr from, + xmlAutomataStatePtr to, + int counter); +XMLPUBFUN int + xmlAutomataNewCounter (xmlAutomataPtr am, + int min, + int max); + +XMLPUBFUN struct _xmlRegexp * + xmlAutomataCompile (xmlAutomataPtr am); +XMLPUBFUN int + xmlAutomataIsDeterminist (xmlAutomataPtr am); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_AUTOMATA_ENABLED */ +#endif /* LIBXML_REGEXP_ENABLED */ + +#endif /* __XML_AUTOMATA_H__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlerror.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlerror.h new file mode 100644 index 0000000..36381be --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlerror.h @@ -0,0 +1,962 @@ +/* + * Summary: error handling + * Description: the API used to report errors + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_ERROR_H__ +#define __XML_ERROR_H__ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * xmlErrorLevel: + * + * Indicates the level of an error + */ +typedef enum { + XML_ERR_NONE = 0, + XML_ERR_WARNING = 1, /* A simple warning */ + XML_ERR_ERROR = 2, /* A recoverable error */ + XML_ERR_FATAL = 3 /* A fatal error */ +} xmlErrorLevel; + +/** + * xmlErrorDomain: + * + * Indicates where an error may have come from + */ +typedef enum { + XML_FROM_NONE = 0, + XML_FROM_PARSER, /* The XML parser */ + XML_FROM_TREE, /* The tree module */ + XML_FROM_NAMESPACE, /* The XML Namespace module */ + XML_FROM_DTD, /* The XML DTD validation with parser context*/ + XML_FROM_HTML, /* The HTML parser */ + XML_FROM_MEMORY, /* The memory allocator */ + XML_FROM_OUTPUT, /* The serialization code */ + XML_FROM_IO, /* The Input/Output stack */ + XML_FROM_FTP, /* The FTP module */ + XML_FROM_HTTP, /* The HTTP module */ + XML_FROM_XINCLUDE, /* The XInclude processing */ + XML_FROM_XPATH, /* The XPath module */ + XML_FROM_XPOINTER, /* The XPointer module */ + XML_FROM_REGEXP, /* The regular expressions module */ + XML_FROM_DATATYPE, /* The W3C XML Schemas Datatype module */ + XML_FROM_SCHEMASP, /* The W3C XML Schemas parser module */ + XML_FROM_SCHEMASV, /* The W3C XML Schemas validation module */ + XML_FROM_RELAXNGP, /* The Relax-NG parser module */ + XML_FROM_RELAXNGV, /* The Relax-NG validator module */ + XML_FROM_CATALOG, /* The Catalog module */ + XML_FROM_C14N, /* The Canonicalization module */ + XML_FROM_XSLT, /* The XSLT engine from libxslt */ + XML_FROM_VALID, /* The XML DTD validation with valid context */ + XML_FROM_CHECK, /* The error checking module */ + XML_FROM_WRITER, /* The xmlwriter module */ + XML_FROM_MODULE, /* The dynamically loaded module module*/ + XML_FROM_I18N, /* The module handling character conversion */ + XML_FROM_SCHEMATRONV,/* The Schematron validator module */ + XML_FROM_BUFFER, /* The buffers module */ + XML_FROM_URI /* The URI module */ +} xmlErrorDomain; + +/** + * xmlError: + * + * An XML Error instance. + */ + +typedef struct _xmlError xmlError; +typedef xmlError *xmlErrorPtr; +struct _xmlError { + int domain; /* What part of the library raised this error */ + int code; /* The error code, e.g. an xmlParserError */ + char *message;/* human-readable informative error message */ + xmlErrorLevel level;/* how consequent is the error */ + char *file; /* the filename */ + int line; /* the line number if available */ + char *str1; /* extra string information */ + char *str2; /* extra string information */ + char *str3; /* extra string information */ + int int1; /* extra number information */ + int int2; /* error column # or 0 if N/A (todo: rename field when we would brk ABI) */ + void *ctxt; /* the parser context if available */ + void *node; /* the node in the tree */ +}; + +/** + * xmlParserError: + * + * This is an error that the XML (or HTML) parser can generate + */ +typedef enum { + XML_ERR_OK = 0, + XML_ERR_INTERNAL_ERROR, /* 1 */ + XML_ERR_NO_MEMORY, /* 2 */ + XML_ERR_DOCUMENT_START, /* 3 */ + XML_ERR_DOCUMENT_EMPTY, /* 4 */ + XML_ERR_DOCUMENT_END, /* 5 */ + XML_ERR_INVALID_HEX_CHARREF, /* 6 */ + XML_ERR_INVALID_DEC_CHARREF, /* 7 */ + XML_ERR_INVALID_CHARREF, /* 8 */ + XML_ERR_INVALID_CHAR, /* 9 */ + XML_ERR_CHARREF_AT_EOF, /* 10 */ + XML_ERR_CHARREF_IN_PROLOG, /* 11 */ + XML_ERR_CHARREF_IN_EPILOG, /* 12 */ + XML_ERR_CHARREF_IN_DTD, /* 13 */ + XML_ERR_ENTITYREF_AT_EOF, /* 14 */ + XML_ERR_ENTITYREF_IN_PROLOG, /* 15 */ + XML_ERR_ENTITYREF_IN_EPILOG, /* 16 */ + XML_ERR_ENTITYREF_IN_DTD, /* 17 */ + XML_ERR_PEREF_AT_EOF, /* 18 */ + XML_ERR_PEREF_IN_PROLOG, /* 19 */ + XML_ERR_PEREF_IN_EPILOG, /* 20 */ + XML_ERR_PEREF_IN_INT_SUBSET, /* 21 */ + XML_ERR_ENTITYREF_NO_NAME, /* 22 */ + XML_ERR_ENTITYREF_SEMICOL_MISSING, /* 23 */ + XML_ERR_PEREF_NO_NAME, /* 24 */ + XML_ERR_PEREF_SEMICOL_MISSING, /* 25 */ + XML_ERR_UNDECLARED_ENTITY, /* 26 */ + XML_WAR_UNDECLARED_ENTITY, /* 27 */ + XML_ERR_UNPARSED_ENTITY, /* 28 */ + XML_ERR_ENTITY_IS_EXTERNAL, /* 29 */ + XML_ERR_ENTITY_IS_PARAMETER, /* 30 */ + XML_ERR_UNKNOWN_ENCODING, /* 31 */ + XML_ERR_UNSUPPORTED_ENCODING, /* 32 */ + XML_ERR_STRING_NOT_STARTED, /* 33 */ + XML_ERR_STRING_NOT_CLOSED, /* 34 */ + XML_ERR_NS_DECL_ERROR, /* 35 */ + XML_ERR_ENTITY_NOT_STARTED, /* 36 */ + XML_ERR_ENTITY_NOT_FINISHED, /* 37 */ + XML_ERR_LT_IN_ATTRIBUTE, /* 38 */ + XML_ERR_ATTRIBUTE_NOT_STARTED, /* 39 */ + XML_ERR_ATTRIBUTE_NOT_FINISHED, /* 40 */ + XML_ERR_ATTRIBUTE_WITHOUT_VALUE, /* 41 */ + XML_ERR_ATTRIBUTE_REDEFINED, /* 42 */ + XML_ERR_LITERAL_NOT_STARTED, /* 43 */ + XML_ERR_LITERAL_NOT_FINISHED, /* 44 */ + XML_ERR_COMMENT_NOT_FINISHED, /* 45 */ + XML_ERR_PI_NOT_STARTED, /* 46 */ + XML_ERR_PI_NOT_FINISHED, /* 47 */ + XML_ERR_NOTATION_NOT_STARTED, /* 48 */ + XML_ERR_NOTATION_NOT_FINISHED, /* 49 */ + XML_ERR_ATTLIST_NOT_STARTED, /* 50 */ + XML_ERR_ATTLIST_NOT_FINISHED, /* 51 */ + XML_ERR_MIXED_NOT_STARTED, /* 52 */ + XML_ERR_MIXED_NOT_FINISHED, /* 53 */ + XML_ERR_ELEMCONTENT_NOT_STARTED, /* 54 */ + XML_ERR_ELEMCONTENT_NOT_FINISHED, /* 55 */ + XML_ERR_XMLDECL_NOT_STARTED, /* 56 */ + XML_ERR_XMLDECL_NOT_FINISHED, /* 57 */ + XML_ERR_CONDSEC_NOT_STARTED, /* 58 */ + XML_ERR_CONDSEC_NOT_FINISHED, /* 59 */ + XML_ERR_EXT_SUBSET_NOT_FINISHED, /* 60 */ + XML_ERR_DOCTYPE_NOT_FINISHED, /* 61 */ + XML_ERR_MISPLACED_CDATA_END, /* 62 */ + XML_ERR_CDATA_NOT_FINISHED, /* 63 */ + XML_ERR_RESERVED_XML_NAME, /* 64 */ + XML_ERR_SPACE_REQUIRED, /* 65 */ + XML_ERR_SEPARATOR_REQUIRED, /* 66 */ + XML_ERR_NMTOKEN_REQUIRED, /* 67 */ + XML_ERR_NAME_REQUIRED, /* 68 */ + XML_ERR_PCDATA_REQUIRED, /* 69 */ + XML_ERR_URI_REQUIRED, /* 70 */ + XML_ERR_PUBID_REQUIRED, /* 71 */ + XML_ERR_LT_REQUIRED, /* 72 */ + XML_ERR_GT_REQUIRED, /* 73 */ + XML_ERR_LTSLASH_REQUIRED, /* 74 */ + XML_ERR_EQUAL_REQUIRED, /* 75 */ + XML_ERR_TAG_NAME_MISMATCH, /* 76 */ + XML_ERR_TAG_NOT_FINISHED, /* 77 */ + XML_ERR_STANDALONE_VALUE, /* 78 */ + XML_ERR_ENCODING_NAME, /* 79 */ + XML_ERR_HYPHEN_IN_COMMENT, /* 80 */ + XML_ERR_INVALID_ENCODING, /* 81 */ + XML_ERR_EXT_ENTITY_STANDALONE, /* 82 */ + XML_ERR_CONDSEC_INVALID, /* 83 */ + XML_ERR_VALUE_REQUIRED, /* 84 */ + XML_ERR_NOT_WELL_BALANCED, /* 85 */ + XML_ERR_EXTRA_CONTENT, /* 86 */ + XML_ERR_ENTITY_CHAR_ERROR, /* 87 */ + XML_ERR_ENTITY_PE_INTERNAL, /* 88 */ + XML_ERR_ENTITY_LOOP, /* 89 */ + XML_ERR_ENTITY_BOUNDARY, /* 90 */ + XML_ERR_INVALID_URI, /* 91 */ + XML_ERR_URI_FRAGMENT, /* 92 */ + XML_WAR_CATALOG_PI, /* 93 */ + XML_ERR_NO_DTD, /* 94 */ + XML_ERR_CONDSEC_INVALID_KEYWORD, /* 95 */ + XML_ERR_VERSION_MISSING, /* 96 */ + XML_WAR_UNKNOWN_VERSION, /* 97 */ + XML_WAR_LANG_VALUE, /* 98 */ + XML_WAR_NS_URI, /* 99 */ + XML_WAR_NS_URI_RELATIVE, /* 100 */ + XML_ERR_MISSING_ENCODING, /* 101 */ + XML_WAR_SPACE_VALUE, /* 102 */ + XML_ERR_NOT_STANDALONE, /* 103 */ + XML_ERR_ENTITY_PROCESSING, /* 104 */ + XML_ERR_NOTATION_PROCESSING, /* 105 */ + XML_WAR_NS_COLUMN, /* 106 */ + XML_WAR_ENTITY_REDEFINED, /* 107 */ + XML_ERR_UNKNOWN_VERSION, /* 108 */ + XML_ERR_VERSION_MISMATCH, /* 109 */ + XML_ERR_NAME_TOO_LONG, /* 110 */ + XML_ERR_USER_STOP, /* 111 */ + XML_ERR_COMMENT_ABRUPTLY_ENDED, /* 112 */ + XML_WAR_ENCODING_MISMATCH, /* 113 */ + XML_ERR_RESOURCE_LIMIT, /* 114 */ + XML_ERR_ARGUMENT, /* 115 */ + XML_ERR_SYSTEM, /* 116 */ + XML_ERR_REDECL_PREDEF_ENTITY, /* 117 */ + XML_ERR_INT_SUBSET_NOT_FINISHED, /* 118 */ + XML_NS_ERR_XML_NAMESPACE = 200, + XML_NS_ERR_UNDEFINED_NAMESPACE, /* 201 */ + XML_NS_ERR_QNAME, /* 202 */ + XML_NS_ERR_ATTRIBUTE_REDEFINED, /* 203 */ + XML_NS_ERR_EMPTY, /* 204 */ + XML_NS_ERR_COLON, /* 205 */ + XML_DTD_ATTRIBUTE_DEFAULT = 500, + XML_DTD_ATTRIBUTE_REDEFINED, /* 501 */ + XML_DTD_ATTRIBUTE_VALUE, /* 502 */ + XML_DTD_CONTENT_ERROR, /* 503 */ + XML_DTD_CONTENT_MODEL, /* 504 */ + XML_DTD_CONTENT_NOT_DETERMINIST, /* 505 */ + XML_DTD_DIFFERENT_PREFIX, /* 506 */ + XML_DTD_ELEM_DEFAULT_NAMESPACE, /* 507 */ + XML_DTD_ELEM_NAMESPACE, /* 508 */ + XML_DTD_ELEM_REDEFINED, /* 509 */ + XML_DTD_EMPTY_NOTATION, /* 510 */ + XML_DTD_ENTITY_TYPE, /* 511 */ + XML_DTD_ID_FIXED, /* 512 */ + XML_DTD_ID_REDEFINED, /* 513 */ + XML_DTD_ID_SUBSET, /* 514 */ + XML_DTD_INVALID_CHILD, /* 515 */ + XML_DTD_INVALID_DEFAULT, /* 516 */ + XML_DTD_LOAD_ERROR, /* 517 */ + XML_DTD_MISSING_ATTRIBUTE, /* 518 */ + XML_DTD_MIXED_CORRUPT, /* 519 */ + XML_DTD_MULTIPLE_ID, /* 520 */ + XML_DTD_NO_DOC, /* 521 */ + XML_DTD_NO_DTD, /* 522 */ + XML_DTD_NO_ELEM_NAME, /* 523 */ + XML_DTD_NO_PREFIX, /* 524 */ + XML_DTD_NO_ROOT, /* 525 */ + XML_DTD_NOTATION_REDEFINED, /* 526 */ + XML_DTD_NOTATION_VALUE, /* 527 */ + XML_DTD_NOT_EMPTY, /* 528 */ + XML_DTD_NOT_PCDATA, /* 529 */ + XML_DTD_NOT_STANDALONE, /* 530 */ + XML_DTD_ROOT_NAME, /* 531 */ + XML_DTD_STANDALONE_WHITE_SPACE, /* 532 */ + XML_DTD_UNKNOWN_ATTRIBUTE, /* 533 */ + XML_DTD_UNKNOWN_ELEM, /* 534 */ + XML_DTD_UNKNOWN_ENTITY, /* 535 */ + XML_DTD_UNKNOWN_ID, /* 536 */ + XML_DTD_UNKNOWN_NOTATION, /* 537 */ + XML_DTD_STANDALONE_DEFAULTED, /* 538 */ + XML_DTD_XMLID_VALUE, /* 539 */ + XML_DTD_XMLID_TYPE, /* 540 */ + XML_DTD_DUP_TOKEN, /* 541 */ + XML_HTML_STRUCURE_ERROR = 800, + XML_HTML_UNKNOWN_TAG, /* 801 */ + XML_HTML_INCORRECTLY_OPENED_COMMENT, /* 802 */ + XML_RNGP_ANYNAME_ATTR_ANCESTOR = 1000, + XML_RNGP_ATTR_CONFLICT, /* 1001 */ + XML_RNGP_ATTRIBUTE_CHILDREN, /* 1002 */ + XML_RNGP_ATTRIBUTE_CONTENT, /* 1003 */ + XML_RNGP_ATTRIBUTE_EMPTY, /* 1004 */ + XML_RNGP_ATTRIBUTE_NOOP, /* 1005 */ + XML_RNGP_CHOICE_CONTENT, /* 1006 */ + XML_RNGP_CHOICE_EMPTY, /* 1007 */ + XML_RNGP_CREATE_FAILURE, /* 1008 */ + XML_RNGP_DATA_CONTENT, /* 1009 */ + XML_RNGP_DEF_CHOICE_AND_INTERLEAVE, /* 1010 */ + XML_RNGP_DEFINE_CREATE_FAILED, /* 1011 */ + XML_RNGP_DEFINE_EMPTY, /* 1012 */ + XML_RNGP_DEFINE_MISSING, /* 1013 */ + XML_RNGP_DEFINE_NAME_MISSING, /* 1014 */ + XML_RNGP_ELEM_CONTENT_EMPTY, /* 1015 */ + XML_RNGP_ELEM_CONTENT_ERROR, /* 1016 */ + XML_RNGP_ELEMENT_EMPTY, /* 1017 */ + XML_RNGP_ELEMENT_CONTENT, /* 1018 */ + XML_RNGP_ELEMENT_NAME, /* 1019 */ + XML_RNGP_ELEMENT_NO_CONTENT, /* 1020 */ + XML_RNGP_ELEM_TEXT_CONFLICT, /* 1021 */ + XML_RNGP_EMPTY, /* 1022 */ + XML_RNGP_EMPTY_CONSTRUCT, /* 1023 */ + XML_RNGP_EMPTY_CONTENT, /* 1024 */ + XML_RNGP_EMPTY_NOT_EMPTY, /* 1025 */ + XML_RNGP_ERROR_TYPE_LIB, /* 1026 */ + XML_RNGP_EXCEPT_EMPTY, /* 1027 */ + XML_RNGP_EXCEPT_MISSING, /* 1028 */ + XML_RNGP_EXCEPT_MULTIPLE, /* 1029 */ + XML_RNGP_EXCEPT_NO_CONTENT, /* 1030 */ + XML_RNGP_EXTERNALREF_EMTPY, /* 1031 */ + XML_RNGP_EXTERNAL_REF_FAILURE, /* 1032 */ + XML_RNGP_EXTERNALREF_RECURSE, /* 1033 */ + XML_RNGP_FORBIDDEN_ATTRIBUTE, /* 1034 */ + XML_RNGP_FOREIGN_ELEMENT, /* 1035 */ + XML_RNGP_GRAMMAR_CONTENT, /* 1036 */ + XML_RNGP_GRAMMAR_EMPTY, /* 1037 */ + XML_RNGP_GRAMMAR_MISSING, /* 1038 */ + XML_RNGP_GRAMMAR_NO_START, /* 1039 */ + XML_RNGP_GROUP_ATTR_CONFLICT, /* 1040 */ + XML_RNGP_HREF_ERROR, /* 1041 */ + XML_RNGP_INCLUDE_EMPTY, /* 1042 */ + XML_RNGP_INCLUDE_FAILURE, /* 1043 */ + XML_RNGP_INCLUDE_RECURSE, /* 1044 */ + XML_RNGP_INTERLEAVE_ADD, /* 1045 */ + XML_RNGP_INTERLEAVE_CREATE_FAILED, /* 1046 */ + XML_RNGP_INTERLEAVE_EMPTY, /* 1047 */ + XML_RNGP_INTERLEAVE_NO_CONTENT, /* 1048 */ + XML_RNGP_INVALID_DEFINE_NAME, /* 1049 */ + XML_RNGP_INVALID_URI, /* 1050 */ + XML_RNGP_INVALID_VALUE, /* 1051 */ + XML_RNGP_MISSING_HREF, /* 1052 */ + XML_RNGP_NAME_MISSING, /* 1053 */ + XML_RNGP_NEED_COMBINE, /* 1054 */ + XML_RNGP_NOTALLOWED_NOT_EMPTY, /* 1055 */ + XML_RNGP_NSNAME_ATTR_ANCESTOR, /* 1056 */ + XML_RNGP_NSNAME_NO_NS, /* 1057 */ + XML_RNGP_PARAM_FORBIDDEN, /* 1058 */ + XML_RNGP_PARAM_NAME_MISSING, /* 1059 */ + XML_RNGP_PARENTREF_CREATE_FAILED, /* 1060 */ + XML_RNGP_PARENTREF_NAME_INVALID, /* 1061 */ + XML_RNGP_PARENTREF_NO_NAME, /* 1062 */ + XML_RNGP_PARENTREF_NO_PARENT, /* 1063 */ + XML_RNGP_PARENTREF_NOT_EMPTY, /* 1064 */ + XML_RNGP_PARSE_ERROR, /* 1065 */ + XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME, /* 1066 */ + XML_RNGP_PAT_ATTR_ATTR, /* 1067 */ + XML_RNGP_PAT_ATTR_ELEM, /* 1068 */ + XML_RNGP_PAT_DATA_EXCEPT_ATTR, /* 1069 */ + XML_RNGP_PAT_DATA_EXCEPT_ELEM, /* 1070 */ + XML_RNGP_PAT_DATA_EXCEPT_EMPTY, /* 1071 */ + XML_RNGP_PAT_DATA_EXCEPT_GROUP, /* 1072 */ + XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE, /* 1073 */ + XML_RNGP_PAT_DATA_EXCEPT_LIST, /* 1074 */ + XML_RNGP_PAT_DATA_EXCEPT_ONEMORE, /* 1075 */ + XML_RNGP_PAT_DATA_EXCEPT_REF, /* 1076 */ + XML_RNGP_PAT_DATA_EXCEPT_TEXT, /* 1077 */ + XML_RNGP_PAT_LIST_ATTR, /* 1078 */ + XML_RNGP_PAT_LIST_ELEM, /* 1079 */ + XML_RNGP_PAT_LIST_INTERLEAVE, /* 1080 */ + XML_RNGP_PAT_LIST_LIST, /* 1081 */ + XML_RNGP_PAT_LIST_REF, /* 1082 */ + XML_RNGP_PAT_LIST_TEXT, /* 1083 */ + XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME, /* 1084 */ + XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME, /* 1085 */ + XML_RNGP_PAT_ONEMORE_GROUP_ATTR, /* 1086 */ + XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR, /* 1087 */ + XML_RNGP_PAT_START_ATTR, /* 1088 */ + XML_RNGP_PAT_START_DATA, /* 1089 */ + XML_RNGP_PAT_START_EMPTY, /* 1090 */ + XML_RNGP_PAT_START_GROUP, /* 1091 */ + XML_RNGP_PAT_START_INTERLEAVE, /* 1092 */ + XML_RNGP_PAT_START_LIST, /* 1093 */ + XML_RNGP_PAT_START_ONEMORE, /* 1094 */ + XML_RNGP_PAT_START_TEXT, /* 1095 */ + XML_RNGP_PAT_START_VALUE, /* 1096 */ + XML_RNGP_PREFIX_UNDEFINED, /* 1097 */ + XML_RNGP_REF_CREATE_FAILED, /* 1098 */ + XML_RNGP_REF_CYCLE, /* 1099 */ + XML_RNGP_REF_NAME_INVALID, /* 1100 */ + XML_RNGP_REF_NO_DEF, /* 1101 */ + XML_RNGP_REF_NO_NAME, /* 1102 */ + XML_RNGP_REF_NOT_EMPTY, /* 1103 */ + XML_RNGP_START_CHOICE_AND_INTERLEAVE, /* 1104 */ + XML_RNGP_START_CONTENT, /* 1105 */ + XML_RNGP_START_EMPTY, /* 1106 */ + XML_RNGP_START_MISSING, /* 1107 */ + XML_RNGP_TEXT_EXPECTED, /* 1108 */ + XML_RNGP_TEXT_HAS_CHILD, /* 1109 */ + XML_RNGP_TYPE_MISSING, /* 1110 */ + XML_RNGP_TYPE_NOT_FOUND, /* 1111 */ + XML_RNGP_TYPE_VALUE, /* 1112 */ + XML_RNGP_UNKNOWN_ATTRIBUTE, /* 1113 */ + XML_RNGP_UNKNOWN_COMBINE, /* 1114 */ + XML_RNGP_UNKNOWN_CONSTRUCT, /* 1115 */ + XML_RNGP_UNKNOWN_TYPE_LIB, /* 1116 */ + XML_RNGP_URI_FRAGMENT, /* 1117 */ + XML_RNGP_URI_NOT_ABSOLUTE, /* 1118 */ + XML_RNGP_VALUE_EMPTY, /* 1119 */ + XML_RNGP_VALUE_NO_CONTENT, /* 1120 */ + XML_RNGP_XMLNS_NAME, /* 1121 */ + XML_RNGP_XML_NS, /* 1122 */ + XML_XPATH_EXPRESSION_OK = 1200, + XML_XPATH_NUMBER_ERROR, /* 1201 */ + XML_XPATH_UNFINISHED_LITERAL_ERROR, /* 1202 */ + XML_XPATH_START_LITERAL_ERROR, /* 1203 */ + XML_XPATH_VARIABLE_REF_ERROR, /* 1204 */ + XML_XPATH_UNDEF_VARIABLE_ERROR, /* 1205 */ + XML_XPATH_INVALID_PREDICATE_ERROR, /* 1206 */ + XML_XPATH_EXPR_ERROR, /* 1207 */ + XML_XPATH_UNCLOSED_ERROR, /* 1208 */ + XML_XPATH_UNKNOWN_FUNC_ERROR, /* 1209 */ + XML_XPATH_INVALID_OPERAND, /* 1210 */ + XML_XPATH_INVALID_TYPE, /* 1211 */ + XML_XPATH_INVALID_ARITY, /* 1212 */ + XML_XPATH_INVALID_CTXT_SIZE, /* 1213 */ + XML_XPATH_INVALID_CTXT_POSITION, /* 1214 */ + XML_XPATH_MEMORY_ERROR, /* 1215 */ + XML_XPTR_SYNTAX_ERROR, /* 1216 */ + XML_XPTR_RESOURCE_ERROR, /* 1217 */ + XML_XPTR_SUB_RESOURCE_ERROR, /* 1218 */ + XML_XPATH_UNDEF_PREFIX_ERROR, /* 1219 */ + XML_XPATH_ENCODING_ERROR, /* 1220 */ + XML_XPATH_INVALID_CHAR_ERROR, /* 1221 */ + XML_TREE_INVALID_HEX = 1300, + XML_TREE_INVALID_DEC, /* 1301 */ + XML_TREE_UNTERMINATED_ENTITY, /* 1302 */ + XML_TREE_NOT_UTF8, /* 1303 */ + XML_SAVE_NOT_UTF8 = 1400, + XML_SAVE_CHAR_INVALID, /* 1401 */ + XML_SAVE_NO_DOCTYPE, /* 1402 */ + XML_SAVE_UNKNOWN_ENCODING, /* 1403 */ + XML_REGEXP_COMPILE_ERROR = 1450, + XML_IO_UNKNOWN = 1500, + XML_IO_EACCES, /* 1501 */ + XML_IO_EAGAIN, /* 1502 */ + XML_IO_EBADF, /* 1503 */ + XML_IO_EBADMSG, /* 1504 */ + XML_IO_EBUSY, /* 1505 */ + XML_IO_ECANCELED, /* 1506 */ + XML_IO_ECHILD, /* 1507 */ + XML_IO_EDEADLK, /* 1508 */ + XML_IO_EDOM, /* 1509 */ + XML_IO_EEXIST, /* 1510 */ + XML_IO_EFAULT, /* 1511 */ + XML_IO_EFBIG, /* 1512 */ + XML_IO_EINPROGRESS, /* 1513 */ + XML_IO_EINTR, /* 1514 */ + XML_IO_EINVAL, /* 1515 */ + XML_IO_EIO, /* 1516 */ + XML_IO_EISDIR, /* 1517 */ + XML_IO_EMFILE, /* 1518 */ + XML_IO_EMLINK, /* 1519 */ + XML_IO_EMSGSIZE, /* 1520 */ + XML_IO_ENAMETOOLONG, /* 1521 */ + XML_IO_ENFILE, /* 1522 */ + XML_IO_ENODEV, /* 1523 */ + XML_IO_ENOENT, /* 1524 */ + XML_IO_ENOEXEC, /* 1525 */ + XML_IO_ENOLCK, /* 1526 */ + XML_IO_ENOMEM, /* 1527 */ + XML_IO_ENOSPC, /* 1528 */ + XML_IO_ENOSYS, /* 1529 */ + XML_IO_ENOTDIR, /* 1530 */ + XML_IO_ENOTEMPTY, /* 1531 */ + XML_IO_ENOTSUP, /* 1532 */ + XML_IO_ENOTTY, /* 1533 */ + XML_IO_ENXIO, /* 1534 */ + XML_IO_EPERM, /* 1535 */ + XML_IO_EPIPE, /* 1536 */ + XML_IO_ERANGE, /* 1537 */ + XML_IO_EROFS, /* 1538 */ + XML_IO_ESPIPE, /* 1539 */ + XML_IO_ESRCH, /* 1540 */ + XML_IO_ETIMEDOUT, /* 1541 */ + XML_IO_EXDEV, /* 1542 */ + XML_IO_NETWORK_ATTEMPT, /* 1543 */ + XML_IO_ENCODER, /* 1544 */ + XML_IO_FLUSH, /* 1545 */ + XML_IO_WRITE, /* 1546 */ + XML_IO_NO_INPUT, /* 1547 */ + XML_IO_BUFFER_FULL, /* 1548 */ + XML_IO_LOAD_ERROR, /* 1549 */ + XML_IO_ENOTSOCK, /* 1550 */ + XML_IO_EISCONN, /* 1551 */ + XML_IO_ECONNREFUSED, /* 1552 */ + XML_IO_ENETUNREACH, /* 1553 */ + XML_IO_EADDRINUSE, /* 1554 */ + XML_IO_EALREADY, /* 1555 */ + XML_IO_EAFNOSUPPORT, /* 1556 */ + XML_IO_UNSUPPORTED_PROTOCOL, /* 1557 */ + XML_XINCLUDE_RECURSION=1600, + XML_XINCLUDE_PARSE_VALUE, /* 1601 */ + XML_XINCLUDE_ENTITY_DEF_MISMATCH, /* 1602 */ + XML_XINCLUDE_NO_HREF, /* 1603 */ + XML_XINCLUDE_NO_FALLBACK, /* 1604 */ + XML_XINCLUDE_HREF_URI, /* 1605 */ + XML_XINCLUDE_TEXT_FRAGMENT, /* 1606 */ + XML_XINCLUDE_TEXT_DOCUMENT, /* 1607 */ + XML_XINCLUDE_INVALID_CHAR, /* 1608 */ + XML_XINCLUDE_BUILD_FAILED, /* 1609 */ + XML_XINCLUDE_UNKNOWN_ENCODING, /* 1610 */ + XML_XINCLUDE_MULTIPLE_ROOT, /* 1611 */ + XML_XINCLUDE_XPTR_FAILED, /* 1612 */ + XML_XINCLUDE_XPTR_RESULT, /* 1613 */ + XML_XINCLUDE_INCLUDE_IN_INCLUDE, /* 1614 */ + XML_XINCLUDE_FALLBACKS_IN_INCLUDE, /* 1615 */ + XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE, /* 1616 */ + XML_XINCLUDE_DEPRECATED_NS, /* 1617 */ + XML_XINCLUDE_FRAGMENT_ID, /* 1618 */ + XML_CATALOG_MISSING_ATTR = 1650, + XML_CATALOG_ENTRY_BROKEN, /* 1651 */ + XML_CATALOG_PREFER_VALUE, /* 1652 */ + XML_CATALOG_NOT_CATALOG, /* 1653 */ + XML_CATALOG_RECURSION, /* 1654 */ + XML_SCHEMAP_PREFIX_UNDEFINED = 1700, + XML_SCHEMAP_ATTRFORMDEFAULT_VALUE, /* 1701 */ + XML_SCHEMAP_ATTRGRP_NONAME_NOREF, /* 1702 */ + XML_SCHEMAP_ATTR_NONAME_NOREF, /* 1703 */ + XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF, /* 1704 */ + XML_SCHEMAP_ELEMFORMDEFAULT_VALUE, /* 1705 */ + XML_SCHEMAP_ELEM_NONAME_NOREF, /* 1706 */ + XML_SCHEMAP_EXTENSION_NO_BASE, /* 1707 */ + XML_SCHEMAP_FACET_NO_VALUE, /* 1708 */ + XML_SCHEMAP_FAILED_BUILD_IMPORT, /* 1709 */ + XML_SCHEMAP_GROUP_NONAME_NOREF, /* 1710 */ + XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI, /* 1711 */ + XML_SCHEMAP_IMPORT_REDEFINE_NSNAME, /* 1712 */ + XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI, /* 1713 */ + XML_SCHEMAP_INVALID_BOOLEAN, /* 1714 */ + XML_SCHEMAP_INVALID_ENUM, /* 1715 */ + XML_SCHEMAP_INVALID_FACET, /* 1716 */ + XML_SCHEMAP_INVALID_FACET_VALUE, /* 1717 */ + XML_SCHEMAP_INVALID_MAXOCCURS, /* 1718 */ + XML_SCHEMAP_INVALID_MINOCCURS, /* 1719 */ + XML_SCHEMAP_INVALID_REF_AND_SUBTYPE, /* 1720 */ + XML_SCHEMAP_INVALID_WHITE_SPACE, /* 1721 */ + XML_SCHEMAP_NOATTR_NOREF, /* 1722 */ + XML_SCHEMAP_NOTATION_NO_NAME, /* 1723 */ + XML_SCHEMAP_NOTYPE_NOREF, /* 1724 */ + XML_SCHEMAP_REF_AND_SUBTYPE, /* 1725 */ + XML_SCHEMAP_RESTRICTION_NONAME_NOREF, /* 1726 */ + XML_SCHEMAP_SIMPLETYPE_NONAME, /* 1727 */ + XML_SCHEMAP_TYPE_AND_SUBTYPE, /* 1728 */ + XML_SCHEMAP_UNKNOWN_ALL_CHILD, /* 1729 */ + XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD, /* 1730 */ + XML_SCHEMAP_UNKNOWN_ATTR_CHILD, /* 1731 */ + XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD, /* 1732 */ + XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP, /* 1733 */ + XML_SCHEMAP_UNKNOWN_BASE_TYPE, /* 1734 */ + XML_SCHEMAP_UNKNOWN_CHOICE_CHILD, /* 1735 */ + XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD, /* 1736 */ + XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD, /* 1737 */ + XML_SCHEMAP_UNKNOWN_ELEM_CHILD, /* 1738 */ + XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD, /* 1739 */ + XML_SCHEMAP_UNKNOWN_FACET_CHILD, /* 1740 */ + XML_SCHEMAP_UNKNOWN_FACET_TYPE, /* 1741 */ + XML_SCHEMAP_UNKNOWN_GROUP_CHILD, /* 1742 */ + XML_SCHEMAP_UNKNOWN_IMPORT_CHILD, /* 1743 */ + XML_SCHEMAP_UNKNOWN_LIST_CHILD, /* 1744 */ + XML_SCHEMAP_UNKNOWN_NOTATION_CHILD, /* 1745 */ + XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD, /* 1746 */ + XML_SCHEMAP_UNKNOWN_REF, /* 1747 */ + XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD, /* 1748 */ + XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD, /* 1749 */ + XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD, /* 1750 */ + XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD, /* 1751 */ + XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD, /* 1752 */ + XML_SCHEMAP_UNKNOWN_TYPE, /* 1753 */ + XML_SCHEMAP_UNKNOWN_UNION_CHILD, /* 1754 */ + XML_SCHEMAP_ELEM_DEFAULT_FIXED, /* 1755 */ + XML_SCHEMAP_REGEXP_INVALID, /* 1756 */ + XML_SCHEMAP_FAILED_LOAD, /* 1757 */ + XML_SCHEMAP_NOTHING_TO_PARSE, /* 1758 */ + XML_SCHEMAP_NOROOT, /* 1759 */ + XML_SCHEMAP_REDEFINED_GROUP, /* 1760 */ + XML_SCHEMAP_REDEFINED_TYPE, /* 1761 */ + XML_SCHEMAP_REDEFINED_ELEMENT, /* 1762 */ + XML_SCHEMAP_REDEFINED_ATTRGROUP, /* 1763 */ + XML_SCHEMAP_REDEFINED_ATTR, /* 1764 */ + XML_SCHEMAP_REDEFINED_NOTATION, /* 1765 */ + XML_SCHEMAP_FAILED_PARSE, /* 1766 */ + XML_SCHEMAP_UNKNOWN_PREFIX, /* 1767 */ + XML_SCHEMAP_DEF_AND_PREFIX, /* 1768 */ + XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD, /* 1769 */ + XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI, /* 1770 */ + XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI, /* 1771 */ + XML_SCHEMAP_NOT_SCHEMA, /* 1772 */ + XML_SCHEMAP_UNKNOWN_MEMBER_TYPE, /* 1773 */ + XML_SCHEMAP_INVALID_ATTR_USE, /* 1774 */ + XML_SCHEMAP_RECURSIVE, /* 1775 */ + XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE, /* 1776 */ + XML_SCHEMAP_INVALID_ATTR_COMBINATION, /* 1777 */ + XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION, /* 1778 */ + XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD, /* 1779 */ + XML_SCHEMAP_INVALID_ATTR_NAME, /* 1780 */ + XML_SCHEMAP_REF_AND_CONTENT, /* 1781 */ + XML_SCHEMAP_CT_PROPS_CORRECT_1, /* 1782 */ + XML_SCHEMAP_CT_PROPS_CORRECT_2, /* 1783 */ + XML_SCHEMAP_CT_PROPS_CORRECT_3, /* 1784 */ + XML_SCHEMAP_CT_PROPS_CORRECT_4, /* 1785 */ + XML_SCHEMAP_CT_PROPS_CORRECT_5, /* 1786 */ + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1, /* 1787 */ + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1, /* 1788 */ + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2, /* 1789 */ + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2, /* 1790 */ + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3, /* 1791 */ + XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER, /* 1792 */ + XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE, /* 1793 */ + XML_SCHEMAP_UNION_NOT_EXPRESSIBLE, /* 1794 */ + XML_SCHEMAP_SRC_IMPORT_3_1, /* 1795 */ + XML_SCHEMAP_SRC_IMPORT_3_2, /* 1796 */ + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1, /* 1797 */ + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2, /* 1798 */ + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3, /* 1799 */ + XML_SCHEMAP_COS_CT_EXTENDS_1_3, /* 1800 */ + XML_SCHEMAV_NOROOT = 1801, + XML_SCHEMAV_UNDECLAREDELEM, /* 1802 */ + XML_SCHEMAV_NOTTOPLEVEL, /* 1803 */ + XML_SCHEMAV_MISSING, /* 1804 */ + XML_SCHEMAV_WRONGELEM, /* 1805 */ + XML_SCHEMAV_NOTYPE, /* 1806 */ + XML_SCHEMAV_NOROLLBACK, /* 1807 */ + XML_SCHEMAV_ISABSTRACT, /* 1808 */ + XML_SCHEMAV_NOTEMPTY, /* 1809 */ + XML_SCHEMAV_ELEMCONT, /* 1810 */ + XML_SCHEMAV_HAVEDEFAULT, /* 1811 */ + XML_SCHEMAV_NOTNILLABLE, /* 1812 */ + XML_SCHEMAV_EXTRACONTENT, /* 1813 */ + XML_SCHEMAV_INVALIDATTR, /* 1814 */ + XML_SCHEMAV_INVALIDELEM, /* 1815 */ + XML_SCHEMAV_NOTDETERMINIST, /* 1816 */ + XML_SCHEMAV_CONSTRUCT, /* 1817 */ + XML_SCHEMAV_INTERNAL, /* 1818 */ + XML_SCHEMAV_NOTSIMPLE, /* 1819 */ + XML_SCHEMAV_ATTRUNKNOWN, /* 1820 */ + XML_SCHEMAV_ATTRINVALID, /* 1821 */ + XML_SCHEMAV_VALUE, /* 1822 */ + XML_SCHEMAV_FACET, /* 1823 */ + XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1, /* 1824 */ + XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2, /* 1825 */ + XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3, /* 1826 */ + XML_SCHEMAV_CVC_TYPE_3_1_1, /* 1827 */ + XML_SCHEMAV_CVC_TYPE_3_1_2, /* 1828 */ + XML_SCHEMAV_CVC_FACET_VALID, /* 1829 */ + XML_SCHEMAV_CVC_LENGTH_VALID, /* 1830 */ + XML_SCHEMAV_CVC_MINLENGTH_VALID, /* 1831 */ + XML_SCHEMAV_CVC_MAXLENGTH_VALID, /* 1832 */ + XML_SCHEMAV_CVC_MININCLUSIVE_VALID, /* 1833 */ + XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID, /* 1834 */ + XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID, /* 1835 */ + XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID, /* 1836 */ + XML_SCHEMAV_CVC_TOTALDIGITS_VALID, /* 1837 */ + XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID, /* 1838 */ + XML_SCHEMAV_CVC_PATTERN_VALID, /* 1839 */ + XML_SCHEMAV_CVC_ENUMERATION_VALID, /* 1840 */ + XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1, /* 1841 */ + XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2, /* 1842 */ + XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3, /* 1843 */ + XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4, /* 1844 */ + XML_SCHEMAV_CVC_ELT_1, /* 1845 */ + XML_SCHEMAV_CVC_ELT_2, /* 1846 */ + XML_SCHEMAV_CVC_ELT_3_1, /* 1847 */ + XML_SCHEMAV_CVC_ELT_3_2_1, /* 1848 */ + XML_SCHEMAV_CVC_ELT_3_2_2, /* 1849 */ + XML_SCHEMAV_CVC_ELT_4_1, /* 1850 */ + XML_SCHEMAV_CVC_ELT_4_2, /* 1851 */ + XML_SCHEMAV_CVC_ELT_4_3, /* 1852 */ + XML_SCHEMAV_CVC_ELT_5_1_1, /* 1853 */ + XML_SCHEMAV_CVC_ELT_5_1_2, /* 1854 */ + XML_SCHEMAV_CVC_ELT_5_2_1, /* 1855 */ + XML_SCHEMAV_CVC_ELT_5_2_2_1, /* 1856 */ + XML_SCHEMAV_CVC_ELT_5_2_2_2_1, /* 1857 */ + XML_SCHEMAV_CVC_ELT_5_2_2_2_2, /* 1858 */ + XML_SCHEMAV_CVC_ELT_6, /* 1859 */ + XML_SCHEMAV_CVC_ELT_7, /* 1860 */ + XML_SCHEMAV_CVC_ATTRIBUTE_1, /* 1861 */ + XML_SCHEMAV_CVC_ATTRIBUTE_2, /* 1862 */ + XML_SCHEMAV_CVC_ATTRIBUTE_3, /* 1863 */ + XML_SCHEMAV_CVC_ATTRIBUTE_4, /* 1864 */ + XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1, /* 1865 */ + XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1, /* 1866 */ + XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2, /* 1867 */ + XML_SCHEMAV_CVC_COMPLEX_TYPE_4, /* 1868 */ + XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1, /* 1869 */ + XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2, /* 1870 */ + XML_SCHEMAV_ELEMENT_CONTENT, /* 1871 */ + XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING, /* 1872 */ + XML_SCHEMAV_CVC_COMPLEX_TYPE_1, /* 1873 */ + XML_SCHEMAV_CVC_AU, /* 1874 */ + XML_SCHEMAV_CVC_TYPE_1, /* 1875 */ + XML_SCHEMAV_CVC_TYPE_2, /* 1876 */ + XML_SCHEMAV_CVC_IDC, /* 1877 */ + XML_SCHEMAV_CVC_WILDCARD, /* 1878 */ + XML_SCHEMAV_MISC, /* 1879 */ + XML_XPTR_UNKNOWN_SCHEME = 1900, + XML_XPTR_CHILDSEQ_START, /* 1901 */ + XML_XPTR_EVAL_FAILED, /* 1902 */ + XML_XPTR_EXTRA_OBJECTS, /* 1903 */ + XML_C14N_CREATE_CTXT = 1950, + XML_C14N_REQUIRES_UTF8, /* 1951 */ + XML_C14N_CREATE_STACK, /* 1952 */ + XML_C14N_INVALID_NODE, /* 1953 */ + XML_C14N_UNKNOW_NODE, /* 1954 */ + XML_C14N_RELATIVE_NAMESPACE, /* 1955 */ + XML_FTP_PASV_ANSWER = 2000, + XML_FTP_EPSV_ANSWER, /* 2001 */ + XML_FTP_ACCNT, /* 2002 */ + XML_FTP_URL_SYNTAX, /* 2003 */ + XML_HTTP_URL_SYNTAX = 2020, + XML_HTTP_USE_IP, /* 2021 */ + XML_HTTP_UNKNOWN_HOST, /* 2022 */ + XML_SCHEMAP_SRC_SIMPLE_TYPE_1 = 3000, + XML_SCHEMAP_SRC_SIMPLE_TYPE_2, /* 3001 */ + XML_SCHEMAP_SRC_SIMPLE_TYPE_3, /* 3002 */ + XML_SCHEMAP_SRC_SIMPLE_TYPE_4, /* 3003 */ + XML_SCHEMAP_SRC_RESOLVE, /* 3004 */ + XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE, /* 3005 */ + XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE, /* 3006 */ + XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES, /* 3007 */ + XML_SCHEMAP_ST_PROPS_CORRECT_1, /* 3008 */ + XML_SCHEMAP_ST_PROPS_CORRECT_2, /* 3009 */ + XML_SCHEMAP_ST_PROPS_CORRECT_3, /* 3010 */ + XML_SCHEMAP_COS_ST_RESTRICTS_1_1, /* 3011 */ + XML_SCHEMAP_COS_ST_RESTRICTS_1_2, /* 3012 */ + XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1, /* 3013 */ + XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2, /* 3014 */ + XML_SCHEMAP_COS_ST_RESTRICTS_2_1, /* 3015 */ + XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1, /* 3016 */ + XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2, /* 3017 */ + XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1, /* 3018 */ + XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2, /* 3019 */ + XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3, /* 3020 */ + XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4, /* 3021 */ + XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5, /* 3022 */ + XML_SCHEMAP_COS_ST_RESTRICTS_3_1, /* 3023 */ + XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1, /* 3024 */ + XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2, /* 3025 */ + XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2, /* 3026 */ + XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1, /* 3027 */ + XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3, /* 3028 */ + XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4, /* 3029 */ + XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5, /* 3030 */ + XML_SCHEMAP_COS_ST_DERIVED_OK_2_1, /* 3031 */ + XML_SCHEMAP_COS_ST_DERIVED_OK_2_2, /* 3032 */ + XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED, /* 3033 */ + XML_SCHEMAP_S4S_ELEM_MISSING, /* 3034 */ + XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, /* 3035 */ + XML_SCHEMAP_S4S_ATTR_MISSING, /* 3036 */ + XML_SCHEMAP_S4S_ATTR_INVALID_VALUE, /* 3037 */ + XML_SCHEMAP_SRC_ELEMENT_1, /* 3038 */ + XML_SCHEMAP_SRC_ELEMENT_2_1, /* 3039 */ + XML_SCHEMAP_SRC_ELEMENT_2_2, /* 3040 */ + XML_SCHEMAP_SRC_ELEMENT_3, /* 3041 */ + XML_SCHEMAP_P_PROPS_CORRECT_1, /* 3042 */ + XML_SCHEMAP_P_PROPS_CORRECT_2_1, /* 3043 */ + XML_SCHEMAP_P_PROPS_CORRECT_2_2, /* 3044 */ + XML_SCHEMAP_E_PROPS_CORRECT_2, /* 3045 */ + XML_SCHEMAP_E_PROPS_CORRECT_3, /* 3046 */ + XML_SCHEMAP_E_PROPS_CORRECT_4, /* 3047 */ + XML_SCHEMAP_E_PROPS_CORRECT_5, /* 3048 */ + XML_SCHEMAP_E_PROPS_CORRECT_6, /* 3049 */ + XML_SCHEMAP_SRC_INCLUDE, /* 3050 */ + XML_SCHEMAP_SRC_ATTRIBUTE_1, /* 3051 */ + XML_SCHEMAP_SRC_ATTRIBUTE_2, /* 3052 */ + XML_SCHEMAP_SRC_ATTRIBUTE_3_1, /* 3053 */ + XML_SCHEMAP_SRC_ATTRIBUTE_3_2, /* 3054 */ + XML_SCHEMAP_SRC_ATTRIBUTE_4, /* 3055 */ + XML_SCHEMAP_NO_XMLNS, /* 3056 */ + XML_SCHEMAP_NO_XSI, /* 3057 */ + XML_SCHEMAP_COS_VALID_DEFAULT_1, /* 3058 */ + XML_SCHEMAP_COS_VALID_DEFAULT_2_1, /* 3059 */ + XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1, /* 3060 */ + XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2, /* 3061 */ + XML_SCHEMAP_CVC_SIMPLE_TYPE, /* 3062 */ + XML_SCHEMAP_COS_CT_EXTENDS_1_1, /* 3063 */ + XML_SCHEMAP_SRC_IMPORT_1_1, /* 3064 */ + XML_SCHEMAP_SRC_IMPORT_1_2, /* 3065 */ + XML_SCHEMAP_SRC_IMPORT_2, /* 3066 */ + XML_SCHEMAP_SRC_IMPORT_2_1, /* 3067 */ + XML_SCHEMAP_SRC_IMPORT_2_2, /* 3068 */ + XML_SCHEMAP_INTERNAL, /* 3069 non-W3C */ + XML_SCHEMAP_NOT_DETERMINISTIC, /* 3070 non-W3C */ + XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1, /* 3071 */ + XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2, /* 3072 */ + XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3, /* 3073 */ + XML_SCHEMAP_MG_PROPS_CORRECT_1, /* 3074 */ + XML_SCHEMAP_MG_PROPS_CORRECT_2, /* 3075 */ + XML_SCHEMAP_SRC_CT_1, /* 3076 */ + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3, /* 3077 */ + XML_SCHEMAP_AU_PROPS_CORRECT_2, /* 3078 */ + XML_SCHEMAP_A_PROPS_CORRECT_2, /* 3079 */ + XML_SCHEMAP_C_PROPS_CORRECT, /* 3080 */ + XML_SCHEMAP_SRC_REDEFINE, /* 3081 */ + XML_SCHEMAP_SRC_IMPORT, /* 3082 */ + XML_SCHEMAP_WARN_SKIP_SCHEMA, /* 3083 */ + XML_SCHEMAP_WARN_UNLOCATED_SCHEMA, /* 3084 */ + XML_SCHEMAP_WARN_ATTR_REDECL_PROH, /* 3085 */ + XML_SCHEMAP_WARN_ATTR_POINTLESS_PROH, /* 3085 */ + XML_SCHEMAP_AG_PROPS_CORRECT, /* 3086 */ + XML_SCHEMAP_COS_CT_EXTENDS_1_2, /* 3087 */ + XML_SCHEMAP_AU_PROPS_CORRECT, /* 3088 */ + XML_SCHEMAP_A_PROPS_CORRECT_3, /* 3089 */ + XML_SCHEMAP_COS_ALL_LIMITED, /* 3090 */ + XML_SCHEMATRONV_ASSERT = 4000, /* 4000 */ + XML_SCHEMATRONV_REPORT, + XML_MODULE_OPEN = 4900, /* 4900 */ + XML_MODULE_CLOSE, /* 4901 */ + XML_CHECK_FOUND_ELEMENT = 5000, + XML_CHECK_FOUND_ATTRIBUTE, /* 5001 */ + XML_CHECK_FOUND_TEXT, /* 5002 */ + XML_CHECK_FOUND_CDATA, /* 5003 */ + XML_CHECK_FOUND_ENTITYREF, /* 5004 */ + XML_CHECK_FOUND_ENTITY, /* 5005 */ + XML_CHECK_FOUND_PI, /* 5006 */ + XML_CHECK_FOUND_COMMENT, /* 5007 */ + XML_CHECK_FOUND_DOCTYPE, /* 5008 */ + XML_CHECK_FOUND_FRAGMENT, /* 5009 */ + XML_CHECK_FOUND_NOTATION, /* 5010 */ + XML_CHECK_UNKNOWN_NODE, /* 5011 */ + XML_CHECK_ENTITY_TYPE, /* 5012 */ + XML_CHECK_NO_PARENT, /* 5013 */ + XML_CHECK_NO_DOC, /* 5014 */ + XML_CHECK_NO_NAME, /* 5015 */ + XML_CHECK_NO_ELEM, /* 5016 */ + XML_CHECK_WRONG_DOC, /* 5017 */ + XML_CHECK_NO_PREV, /* 5018 */ + XML_CHECK_WRONG_PREV, /* 5019 */ + XML_CHECK_NO_NEXT, /* 5020 */ + XML_CHECK_WRONG_NEXT, /* 5021 */ + XML_CHECK_NOT_DTD, /* 5022 */ + XML_CHECK_NOT_ATTR, /* 5023 */ + XML_CHECK_NOT_ATTR_DECL, /* 5024 */ + XML_CHECK_NOT_ELEM_DECL, /* 5025 */ + XML_CHECK_NOT_ENTITY_DECL, /* 5026 */ + XML_CHECK_NOT_NS_DECL, /* 5027 */ + XML_CHECK_NO_HREF, /* 5028 */ + XML_CHECK_WRONG_PARENT,/* 5029 */ + XML_CHECK_NS_SCOPE, /* 5030 */ + XML_CHECK_NS_ANCESTOR, /* 5031 */ + XML_CHECK_NOT_UTF8, /* 5032 */ + XML_CHECK_NO_DICT, /* 5033 */ + XML_CHECK_NOT_NCNAME, /* 5034 */ + XML_CHECK_OUTSIDE_DICT, /* 5035 */ + XML_CHECK_WRONG_NAME, /* 5036 */ + XML_CHECK_NAME_NOT_NULL, /* 5037 */ + XML_I18N_NO_NAME = 6000, + XML_I18N_NO_HANDLER, /* 6001 */ + XML_I18N_EXCESS_HANDLER, /* 6002 */ + XML_I18N_CONV_FAILED, /* 6003 */ + XML_I18N_NO_OUTPUT, /* 6004 */ + XML_BUF_OVERFLOW = 7000 +} xmlParserErrors; + +/** + * xmlGenericErrorFunc: + * @ctx: a parsing context + * @msg: the message + * @...: the extra arguments of the varargs to format the message + * + * Signature of the function to use when there is an error and + * no parsing or validity context available . + */ +typedef void (*xmlGenericErrorFunc) (void *ctx, + const char *msg, + ...) LIBXML_ATTR_FORMAT(2,3); +/** + * xmlStructuredErrorFunc: + * @userData: user provided data for the error callback + * @error: the error being raised. + * + * Signature of the function to use when there is an error and + * the module handles the new error reporting mechanism. + */ +typedef void (*xmlStructuredErrorFunc) (void *userData, const xmlError *error); + +/** DOC_DISABLE */ +#define XML_GLOBALS_ERROR \ + XML_OP(xmlLastError, xmlError, XML_DEPRECATED) \ + XML_OP(xmlGenericError, xmlGenericErrorFunc, XML_NO_ATTR) \ + XML_OP(xmlGenericErrorContext, void *, XML_NO_ATTR) \ + XML_OP(xmlStructuredError, xmlStructuredErrorFunc, XML_NO_ATTR) \ + XML_OP(xmlStructuredErrorContext, void *, XML_NO_ATTR) + +#define XML_OP XML_DECLARE_GLOBAL +XML_GLOBALS_ERROR +#undef XML_OP + +#if defined(LIBXML_THREAD_ENABLED) && !defined(XML_GLOBALS_NO_REDEFINITION) + #define xmlLastError XML_GLOBAL_MACRO(xmlLastError) + #define xmlGenericError XML_GLOBAL_MACRO(xmlGenericError) + #define xmlGenericErrorContext XML_GLOBAL_MACRO(xmlGenericErrorContext) + #define xmlStructuredError XML_GLOBAL_MACRO(xmlStructuredError) + #define xmlStructuredErrorContext XML_GLOBAL_MACRO(xmlStructuredErrorContext) +#endif +/** DOC_ENABLE */ + +/* + * Use the following function to reset the two global variables + * xmlGenericError and xmlGenericErrorContext. + */ +XMLPUBFUN void + xmlSetGenericErrorFunc (void *ctx, + xmlGenericErrorFunc handler); +XML_DEPRECATED +XMLPUBFUN void + xmlThrDefSetGenericErrorFunc(void *ctx, + xmlGenericErrorFunc handler); +XML_DEPRECATED +XMLPUBFUN void + initGenericErrorDefaultFunc (xmlGenericErrorFunc *handler); + +XMLPUBFUN void + xmlSetStructuredErrorFunc (void *ctx, + xmlStructuredErrorFunc handler); +XML_DEPRECATED +XMLPUBFUN void + xmlThrDefSetStructuredErrorFunc(void *ctx, + xmlStructuredErrorFunc handler); +/* + * Default message routines used by SAX and Valid context for error + * and warning reporting. + */ +XMLPUBFUN void + xmlParserError (void *ctx, + const char *msg, + ...) LIBXML_ATTR_FORMAT(2,3); +XMLPUBFUN void + xmlParserWarning (void *ctx, + const char *msg, + ...) LIBXML_ATTR_FORMAT(2,3); +XMLPUBFUN void + xmlParserValidityError (void *ctx, + const char *msg, + ...) LIBXML_ATTR_FORMAT(2,3); +XMLPUBFUN void + xmlParserValidityWarning (void *ctx, + const char *msg, + ...) LIBXML_ATTR_FORMAT(2,3); +/** DOC_DISABLE */ +struct _xmlParserInput; +/** DOC_ENABLE */ +XMLPUBFUN void + xmlParserPrintFileInfo (struct _xmlParserInput *input); +XMLPUBFUN void + xmlParserPrintFileContext (struct _xmlParserInput *input); +XMLPUBFUN void +xmlFormatError (const xmlError *err, + xmlGenericErrorFunc channel, + void *data); + +/* + * Extended error information routines + */ +XMLPUBFUN const xmlError * + xmlGetLastError (void); +XMLPUBFUN void + xmlResetLastError (void); +XMLPUBFUN const xmlError * + xmlCtxtGetLastError (void *ctx); +XMLPUBFUN void + xmlCtxtResetLastError (void *ctx); +XMLPUBFUN void + xmlResetError (xmlErrorPtr err); +XMLPUBFUN int + xmlCopyError (const xmlError *from, + xmlErrorPtr to); + +#ifdef __cplusplus +} +#endif +#endif /* __XML_ERROR_H__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlexports.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlexports.h new file mode 100644 index 0000000..3c1d83f --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlexports.h @@ -0,0 +1,146 @@ +/* + * Summary: macros for marking symbols as exportable/importable. + * Description: macros for marking symbols as exportable/importable. + * + * Copy: See Copyright for the status of this software. + */ + +#ifndef __XML_EXPORTS_H__ +#define __XML_EXPORTS_H__ + +/** DOC_DISABLE */ + +/* + * Symbol visibility + */ + +#if defined(_WIN32) || defined(__CYGWIN__) + #ifdef LIBXML_STATIC + #define XMLPUBLIC + #elif defined(IN_LIBXML) + #define XMLPUBLIC __declspec(dllexport) + #else + #define XMLPUBLIC __declspec(dllimport) + #endif +#else /* not Windows */ + #define XMLPUBLIC +#endif /* platform switch */ + +#define XMLPUBFUN XMLPUBLIC + +#define XMLPUBVAR XMLPUBLIC extern + +/* Compatibility */ +#define XMLCALL +#define XMLCDECL +#ifndef LIBXML_DLL_IMPORT + #define LIBXML_DLL_IMPORT XMLPUBVAR +#endif + +/* + * Attributes + */ + +#ifndef ATTRIBUTE_UNUSED + #if __GNUC__ * 100 + __GNUC_MINOR__ >= 207 || defined(__clang__) + #define ATTRIBUTE_UNUSED __attribute__((unused)) + #else + #define ATTRIBUTE_UNUSED + #endif +#endif + +#if !defined(__clang__) && (__GNUC__ * 100 + __GNUC_MINOR__ >= 403) + #define LIBXML_ATTR_ALLOC_SIZE(x) __attribute__((alloc_size(x))) +#else + #define LIBXML_ATTR_ALLOC_SIZE(x) +#endif + +#if __GNUC__ * 100 + __GNUC_MINOR__ >= 303 + #define LIBXML_ATTR_FORMAT(fmt,args) \ + __attribute__((__format__(__printf__,fmt,args))) +#else + #define LIBXML_ATTR_FORMAT(fmt,args) +#endif + +#ifndef XML_DEPRECATED + #if defined(IN_LIBXML) + #define XML_DEPRECATED + #elif __GNUC__ * 100 + __GNUC_MINOR__ >= 301 + #define XML_DEPRECATED __attribute__((deprecated)) + #elif defined(_MSC_VER) && _MSC_VER >= 1400 + /* Available since Visual Studio 2005 */ + #define XML_DEPRECATED __declspec(deprecated) + #else + #define XML_DEPRECATED + #endif +#endif + +/* + * Warnings pragmas, should be moved from public headers + */ + +#if defined(__LCC__) + + #define XML_IGNORE_FPTR_CAST_WARNINGS + #define XML_POP_WARNINGS \ + _Pragma("diag_default 1215") + +#elif defined(__clang__) || (__GNUC__ * 100 + __GNUC_MINOR__ >= 406) + + #if defined(__clang__) || (__GNUC__ * 100 + __GNUC_MINOR__ >= 800) + #define XML_IGNORE_FPTR_CAST_WARNINGS \ + _Pragma("GCC diagnostic push") \ + _Pragma("GCC diagnostic ignored \"-Wpedantic\"") \ + _Pragma("GCC diagnostic ignored \"-Wcast-function-type\"") + #else + #define XML_IGNORE_FPTR_CAST_WARNINGS \ + _Pragma("GCC diagnostic push") \ + _Pragma("GCC diagnostic ignored \"-Wpedantic\"") + #endif + #define XML_POP_WARNINGS \ + _Pragma("GCC diagnostic pop") + +#elif defined(_MSC_VER) && _MSC_VER >= 1400 + + #define XML_IGNORE_FPTR_CAST_WARNINGS __pragma(warning(push)) + #define XML_POP_WARNINGS __pragma(warning(pop)) + +#else + + #define XML_IGNORE_FPTR_CAST_WARNINGS + #define XML_POP_WARNINGS + +#endif + +/* + * Accessors for globals + */ + +#define XML_NO_ATTR + +#ifdef LIBXML_THREAD_ENABLED + #define XML_DECLARE_GLOBAL(name, type, attrs) \ + attrs XMLPUBFUN type *__##name(void); + #define XML_GLOBAL_MACRO(name) (*__##name()) +#else + #define XML_DECLARE_GLOBAL(name, type, attrs) \ + attrs XMLPUBVAR type name; +#endif + +/* + * Originally declared in xmlversion.h which is generated + */ + +#ifdef __cplusplus +extern "C" { +#endif + +XMLPUBFUN void xmlCheckVersion(int version); + +#ifdef __cplusplus +} +#endif + +#endif /* __XML_EXPORTS_H__ */ + + diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlmemory.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlmemory.h new file mode 100644 index 0000000..1de3e9f --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlmemory.h @@ -0,0 +1,188 @@ +/* + * Summary: interface for the memory allocator + * Description: provides interfaces for the memory allocator, + * including debugging capabilities. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + + +#ifndef __DEBUG_MEMORY_ALLOC__ +#define __DEBUG_MEMORY_ALLOC__ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * The XML memory wrapper support 4 basic overloadable functions. + */ +/** + * xmlFreeFunc: + * @mem: an already allocated block of memory + * + * Signature for a free() implementation. + */ +typedef void (*xmlFreeFunc)(void *mem); +/** + * xmlMallocFunc: + * @size: the size requested in bytes + * + * Signature for a malloc() implementation. + * + * Returns a pointer to the newly allocated block or NULL in case of error. + */ +typedef void *(LIBXML_ATTR_ALLOC_SIZE(1) *xmlMallocFunc)(size_t size); + +/** + * xmlReallocFunc: + * @mem: an already allocated block of memory + * @size: the new size requested in bytes + * + * Signature for a realloc() implementation. + * + * Returns a pointer to the newly reallocated block or NULL in case of error. + */ +typedef void *(*xmlReallocFunc)(void *mem, size_t size); + +/** + * xmlStrdupFunc: + * @str: a zero terminated string + * + * Signature for an strdup() implementation. + * + * Returns the copy of the string or NULL in case of error. + */ +typedef char *(*xmlStrdupFunc)(const char *str); + +/* + * In general the memory allocation entry points are not kept + * thread specific but this can be overridden by LIBXML_THREAD_ALLOC_ENABLED + * - xmlMalloc + * - xmlMallocAtomic + * - xmlRealloc + * - xmlMemStrdup + * - xmlFree + */ +/** DOC_DISABLE */ +#ifdef LIBXML_THREAD_ALLOC_ENABLED + #define XML_GLOBALS_ALLOC \ + XML_OP(xmlMalloc, xmlMallocFunc, XML_NO_ATTR) \ + XML_OP(xmlMallocAtomic, xmlMallocFunc, XML_NO_ATTR) \ + XML_OP(xmlRealloc, xmlReallocFunc, XML_NO_ATTR) \ + XML_OP(xmlFree, xmlFreeFunc, XML_NO_ATTR) \ + XML_OP(xmlMemStrdup, xmlStrdupFunc, XML_NO_ATTR) + #define XML_OP XML_DECLARE_GLOBAL + XML_GLOBALS_ALLOC + #undef XML_OP + #if defined(LIBXML_THREAD_ENABLED) && !defined(XML_GLOBALS_NO_REDEFINITION) + #define xmlMalloc XML_GLOBAL_MACRO(xmlMalloc) + #define xmlMallocAtomic XML_GLOBAL_MACRO(xmlMallocAtomic) + #define xmlRealloc XML_GLOBAL_MACRO(xmlRealloc) + #define xmlFree XML_GLOBAL_MACRO(xmlFree) + #define xmlMemStrdup XML_GLOBAL_MACRO(xmlMemStrdup) + #endif +#else + #define XML_GLOBALS_ALLOC +/** DOC_ENABLE */ + XMLPUBVAR xmlMallocFunc xmlMalloc; + XMLPUBVAR xmlMallocFunc xmlMallocAtomic; + XMLPUBVAR xmlReallocFunc xmlRealloc; + XMLPUBVAR xmlFreeFunc xmlFree; + XMLPUBVAR xmlStrdupFunc xmlMemStrdup; +#endif + +/* + * The way to overload the existing functions. + * The xmlGc function have an extra entry for atomic block + * allocations useful for garbage collected memory allocators + */ +XMLPUBFUN int + xmlMemSetup (xmlFreeFunc freeFunc, + xmlMallocFunc mallocFunc, + xmlReallocFunc reallocFunc, + xmlStrdupFunc strdupFunc); +XMLPUBFUN int + xmlMemGet (xmlFreeFunc *freeFunc, + xmlMallocFunc *mallocFunc, + xmlReallocFunc *reallocFunc, + xmlStrdupFunc *strdupFunc); +XMLPUBFUN int + xmlGcMemSetup (xmlFreeFunc freeFunc, + xmlMallocFunc mallocFunc, + xmlMallocFunc mallocAtomicFunc, + xmlReallocFunc reallocFunc, + xmlStrdupFunc strdupFunc); +XMLPUBFUN int + xmlGcMemGet (xmlFreeFunc *freeFunc, + xmlMallocFunc *mallocFunc, + xmlMallocFunc *mallocAtomicFunc, + xmlReallocFunc *reallocFunc, + xmlStrdupFunc *strdupFunc); + +/* + * Initialization of the memory layer. + */ +XML_DEPRECATED +XMLPUBFUN int + xmlInitMemory (void); + +/* + * Cleanup of the memory layer. + */ +XML_DEPRECATED +XMLPUBFUN void + xmlCleanupMemory (void); +/* + * These are specific to the XML debug memory wrapper. + */ +XMLPUBFUN size_t + xmlMemSize (void *ptr); +XMLPUBFUN int + xmlMemUsed (void); +XMLPUBFUN int + xmlMemBlocks (void); +XML_DEPRECATED +XMLPUBFUN void + xmlMemDisplay (FILE *fp); +XML_DEPRECATED +XMLPUBFUN void + xmlMemDisplayLast(FILE *fp, long nbBytes); +XML_DEPRECATED +XMLPUBFUN void + xmlMemShow (FILE *fp, int nr); +XML_DEPRECATED +XMLPUBFUN void + xmlMemoryDump (void); +XMLPUBFUN void * + xmlMemMalloc (size_t size) LIBXML_ATTR_ALLOC_SIZE(1); +XMLPUBFUN void * + xmlMemRealloc (void *ptr,size_t size); +XMLPUBFUN void + xmlMemFree (void *ptr); +XMLPUBFUN char * + xmlMemoryStrdup (const char *str); +XML_DEPRECATED +XMLPUBFUN void * + xmlMallocLoc (size_t size, const char *file, int line) LIBXML_ATTR_ALLOC_SIZE(1); +XML_DEPRECATED +XMLPUBFUN void * + xmlReallocLoc (void *ptr, size_t size, const char *file, int line); +XML_DEPRECATED +XMLPUBFUN void * + xmlMallocAtomicLoc (size_t size, const char *file, int line) LIBXML_ATTR_ALLOC_SIZE(1); +XML_DEPRECATED +XMLPUBFUN char * + xmlMemStrdupLoc (const char *str, const char *file, int line); + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* __DEBUG_MEMORY_ALLOC__ */ + diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlmodule.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlmodule.h new file mode 100644 index 0000000..279986c --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlmodule.h @@ -0,0 +1,57 @@ +/* + * Summary: dynamic module loading + * Description: basic API for dynamic module loading, used by + * libexslt added in 2.6.17 + * + * Copy: See Copyright for the status of this software. + * + * Author: Joel W. Reed + */ + +#ifndef __XML_MODULE_H__ +#define __XML_MODULE_H__ + +#include + +#ifdef LIBXML_MODULES_ENABLED + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * xmlModulePtr: + * + * A handle to a dynamically loaded module + */ +typedef struct _xmlModule xmlModule; +typedef xmlModule *xmlModulePtr; + +/** + * xmlModuleOption: + * + * enumeration of options that can be passed down to xmlModuleOpen() + */ +typedef enum { + XML_MODULE_LAZY = 1, /* lazy binding */ + XML_MODULE_LOCAL= 2 /* local binding */ +} xmlModuleOption; + +XMLPUBFUN xmlModulePtr xmlModuleOpen (const char *filename, + int options); + +XMLPUBFUN int xmlModuleSymbol (xmlModulePtr module, + const char* name, + void **result); + +XMLPUBFUN int xmlModuleClose (xmlModulePtr module); + +XMLPUBFUN int xmlModuleFree (xmlModulePtr module); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_MODULES_ENABLED */ + +#endif /*__XML_MODULE_H__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlreader.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlreader.h new file mode 100644 index 0000000..5d4fc5d --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlreader.h @@ -0,0 +1,436 @@ +/* + * Summary: the XMLReader implementation + * Description: API of the XML streaming API based on C# interfaces. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_XMLREADER_H__ +#define __XML_XMLREADER_H__ + +#include +#include +#include +#include +#ifdef LIBXML_SCHEMAS_ENABLED +#include +#include +#endif +/* for compatibility */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * xmlParserSeverities: + * + * How severe an error callback is when the per-reader error callback API + * is used. + */ +typedef enum { + XML_PARSER_SEVERITY_VALIDITY_WARNING = 1, + XML_PARSER_SEVERITY_VALIDITY_ERROR = 2, + XML_PARSER_SEVERITY_WARNING = 3, + XML_PARSER_SEVERITY_ERROR = 4 +} xmlParserSeverities; + +#ifdef LIBXML_READER_ENABLED + +/** + * xmlTextReaderMode: + * + * Internal state values for the reader. + */ +typedef enum { + XML_TEXTREADER_MODE_INITIAL = 0, + XML_TEXTREADER_MODE_INTERACTIVE = 1, + XML_TEXTREADER_MODE_ERROR = 2, + XML_TEXTREADER_MODE_EOF =3, + XML_TEXTREADER_MODE_CLOSED = 4, + XML_TEXTREADER_MODE_READING = 5 +} xmlTextReaderMode; + +/** + * xmlParserProperties: + * + * Some common options to use with xmlTextReaderSetParserProp, but it + * is better to use xmlParserOption and the xmlReaderNewxxx and + * xmlReaderForxxx APIs now. + */ +typedef enum { + XML_PARSER_LOADDTD = 1, + XML_PARSER_DEFAULTATTRS = 2, + XML_PARSER_VALIDATE = 3, + XML_PARSER_SUBST_ENTITIES = 4 +} xmlParserProperties; + +/** + * xmlReaderTypes: + * + * Predefined constants for the different types of nodes. + */ +typedef enum { + XML_READER_TYPE_NONE = 0, + XML_READER_TYPE_ELEMENT = 1, + XML_READER_TYPE_ATTRIBUTE = 2, + XML_READER_TYPE_TEXT = 3, + XML_READER_TYPE_CDATA = 4, + XML_READER_TYPE_ENTITY_REFERENCE = 5, + XML_READER_TYPE_ENTITY = 6, + XML_READER_TYPE_PROCESSING_INSTRUCTION = 7, + XML_READER_TYPE_COMMENT = 8, + XML_READER_TYPE_DOCUMENT = 9, + XML_READER_TYPE_DOCUMENT_TYPE = 10, + XML_READER_TYPE_DOCUMENT_FRAGMENT = 11, + XML_READER_TYPE_NOTATION = 12, + XML_READER_TYPE_WHITESPACE = 13, + XML_READER_TYPE_SIGNIFICANT_WHITESPACE = 14, + XML_READER_TYPE_END_ELEMENT = 15, + XML_READER_TYPE_END_ENTITY = 16, + XML_READER_TYPE_XML_DECLARATION = 17 +} xmlReaderTypes; + +/** + * xmlTextReader: + * + * Structure for an xmlReader context. + */ +typedef struct _xmlTextReader xmlTextReader; + +/** + * xmlTextReaderPtr: + * + * Pointer to an xmlReader context. + */ +typedef xmlTextReader *xmlTextReaderPtr; + +/* + * Constructors & Destructor + */ +XMLPUBFUN xmlTextReaderPtr + xmlNewTextReader (xmlParserInputBufferPtr input, + const char *URI); +XMLPUBFUN xmlTextReaderPtr + xmlNewTextReaderFilename(const char *URI); + +XMLPUBFUN void + xmlFreeTextReader (xmlTextReaderPtr reader); + +XMLPUBFUN int + xmlTextReaderSetup(xmlTextReaderPtr reader, + xmlParserInputBufferPtr input, const char *URL, + const char *encoding, int options); +XMLPUBFUN void + xmlTextReaderSetMaxAmplification(xmlTextReaderPtr reader, + unsigned maxAmpl); +XMLPUBFUN const xmlError * + xmlTextReaderGetLastError(xmlTextReaderPtr reader); + +/* + * Iterators + */ +XMLPUBFUN int + xmlTextReaderRead (xmlTextReaderPtr reader); + +#ifdef LIBXML_WRITER_ENABLED +XMLPUBFUN xmlChar * + xmlTextReaderReadInnerXml(xmlTextReaderPtr reader); + +XMLPUBFUN xmlChar * + xmlTextReaderReadOuterXml(xmlTextReaderPtr reader); +#endif + +XMLPUBFUN xmlChar * + xmlTextReaderReadString (xmlTextReaderPtr reader); +XMLPUBFUN int + xmlTextReaderReadAttributeValue(xmlTextReaderPtr reader); + +/* + * Attributes of the node + */ +XMLPUBFUN int + xmlTextReaderAttributeCount(xmlTextReaderPtr reader); +XMLPUBFUN int + xmlTextReaderDepth (xmlTextReaderPtr reader); +XMLPUBFUN int + xmlTextReaderHasAttributes(xmlTextReaderPtr reader); +XMLPUBFUN int + xmlTextReaderHasValue(xmlTextReaderPtr reader); +XMLPUBFUN int + xmlTextReaderIsDefault (xmlTextReaderPtr reader); +XMLPUBFUN int + xmlTextReaderIsEmptyElement(xmlTextReaderPtr reader); +XMLPUBFUN int + xmlTextReaderNodeType (xmlTextReaderPtr reader); +XMLPUBFUN int + xmlTextReaderQuoteChar (xmlTextReaderPtr reader); +XMLPUBFUN int + xmlTextReaderReadState (xmlTextReaderPtr reader); +XMLPUBFUN int + xmlTextReaderIsNamespaceDecl(xmlTextReaderPtr reader); + +XMLPUBFUN const xmlChar * + xmlTextReaderConstBaseUri (xmlTextReaderPtr reader); +XMLPUBFUN const xmlChar * + xmlTextReaderConstLocalName (xmlTextReaderPtr reader); +XMLPUBFUN const xmlChar * + xmlTextReaderConstName (xmlTextReaderPtr reader); +XMLPUBFUN const xmlChar * + xmlTextReaderConstNamespaceUri(xmlTextReaderPtr reader); +XMLPUBFUN const xmlChar * + xmlTextReaderConstPrefix (xmlTextReaderPtr reader); +XMLPUBFUN const xmlChar * + xmlTextReaderConstXmlLang (xmlTextReaderPtr reader); +XMLPUBFUN const xmlChar * + xmlTextReaderConstString (xmlTextReaderPtr reader, + const xmlChar *str); +XMLPUBFUN const xmlChar * + xmlTextReaderConstValue (xmlTextReaderPtr reader); + +/* + * use the Const version of the routine for + * better performance and simpler code + */ +XMLPUBFUN xmlChar * + xmlTextReaderBaseUri (xmlTextReaderPtr reader); +XMLPUBFUN xmlChar * + xmlTextReaderLocalName (xmlTextReaderPtr reader); +XMLPUBFUN xmlChar * + xmlTextReaderName (xmlTextReaderPtr reader); +XMLPUBFUN xmlChar * + xmlTextReaderNamespaceUri(xmlTextReaderPtr reader); +XMLPUBFUN xmlChar * + xmlTextReaderPrefix (xmlTextReaderPtr reader); +XMLPUBFUN xmlChar * + xmlTextReaderXmlLang (xmlTextReaderPtr reader); +XMLPUBFUN xmlChar * + xmlTextReaderValue (xmlTextReaderPtr reader); + +/* + * Methods of the XmlTextReader + */ +XMLPUBFUN int + xmlTextReaderClose (xmlTextReaderPtr reader); +XMLPUBFUN xmlChar * + xmlTextReaderGetAttributeNo (xmlTextReaderPtr reader, + int no); +XMLPUBFUN xmlChar * + xmlTextReaderGetAttribute (xmlTextReaderPtr reader, + const xmlChar *name); +XMLPUBFUN xmlChar * + xmlTextReaderGetAttributeNs (xmlTextReaderPtr reader, + const xmlChar *localName, + const xmlChar *namespaceURI); +XMLPUBFUN xmlParserInputBufferPtr + xmlTextReaderGetRemainder (xmlTextReaderPtr reader); +XMLPUBFUN xmlChar * + xmlTextReaderLookupNamespace(xmlTextReaderPtr reader, + const xmlChar *prefix); +XMLPUBFUN int + xmlTextReaderMoveToAttributeNo(xmlTextReaderPtr reader, + int no); +XMLPUBFUN int + xmlTextReaderMoveToAttribute(xmlTextReaderPtr reader, + const xmlChar *name); +XMLPUBFUN int + xmlTextReaderMoveToAttributeNs(xmlTextReaderPtr reader, + const xmlChar *localName, + const xmlChar *namespaceURI); +XMLPUBFUN int + xmlTextReaderMoveToFirstAttribute(xmlTextReaderPtr reader); +XMLPUBFUN int + xmlTextReaderMoveToNextAttribute(xmlTextReaderPtr reader); +XMLPUBFUN int + xmlTextReaderMoveToElement (xmlTextReaderPtr reader); +XMLPUBFUN int + xmlTextReaderNormalization (xmlTextReaderPtr reader); +XMLPUBFUN const xmlChar * + xmlTextReaderConstEncoding (xmlTextReaderPtr reader); + +/* + * Extensions + */ +XMLPUBFUN int + xmlTextReaderSetParserProp (xmlTextReaderPtr reader, + int prop, + int value); +XMLPUBFUN int + xmlTextReaderGetParserProp (xmlTextReaderPtr reader, + int prop); +XMLPUBFUN xmlNodePtr + xmlTextReaderCurrentNode (xmlTextReaderPtr reader); + +XMLPUBFUN int + xmlTextReaderGetParserLineNumber(xmlTextReaderPtr reader); + +XMLPUBFUN int + xmlTextReaderGetParserColumnNumber(xmlTextReaderPtr reader); + +XMLPUBFUN xmlNodePtr + xmlTextReaderPreserve (xmlTextReaderPtr reader); +#ifdef LIBXML_PATTERN_ENABLED +XMLPUBFUN int + xmlTextReaderPreservePattern(xmlTextReaderPtr reader, + const xmlChar *pattern, + const xmlChar **namespaces); +#endif /* LIBXML_PATTERN_ENABLED */ +XMLPUBFUN xmlDocPtr + xmlTextReaderCurrentDoc (xmlTextReaderPtr reader); +XMLPUBFUN xmlNodePtr + xmlTextReaderExpand (xmlTextReaderPtr reader); +XMLPUBFUN int + xmlTextReaderNext (xmlTextReaderPtr reader); +XMLPUBFUN int + xmlTextReaderNextSibling (xmlTextReaderPtr reader); +XMLPUBFUN int + xmlTextReaderIsValid (xmlTextReaderPtr reader); +#ifdef LIBXML_SCHEMAS_ENABLED +XMLPUBFUN int + xmlTextReaderRelaxNGValidate(xmlTextReaderPtr reader, + const char *rng); +XMLPUBFUN int + xmlTextReaderRelaxNGValidateCtxt(xmlTextReaderPtr reader, + xmlRelaxNGValidCtxtPtr ctxt, + int options); + +XMLPUBFUN int + xmlTextReaderRelaxNGSetSchema(xmlTextReaderPtr reader, + xmlRelaxNGPtr schema); +XMLPUBFUN int + xmlTextReaderSchemaValidate (xmlTextReaderPtr reader, + const char *xsd); +XMLPUBFUN int + xmlTextReaderSchemaValidateCtxt(xmlTextReaderPtr reader, + xmlSchemaValidCtxtPtr ctxt, + int options); +XMLPUBFUN int + xmlTextReaderSetSchema (xmlTextReaderPtr reader, + xmlSchemaPtr schema); +#endif +XMLPUBFUN const xmlChar * + xmlTextReaderConstXmlVersion(xmlTextReaderPtr reader); +XMLPUBFUN int + xmlTextReaderStandalone (xmlTextReaderPtr reader); + + +/* + * Index lookup + */ +XMLPUBFUN long + xmlTextReaderByteConsumed (xmlTextReaderPtr reader); + +/* + * New more complete APIs for simpler creation and reuse of readers + */ +XMLPUBFUN xmlTextReaderPtr + xmlReaderWalker (xmlDocPtr doc); +XMLPUBFUN xmlTextReaderPtr + xmlReaderForDoc (const xmlChar * cur, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlTextReaderPtr + xmlReaderForFile (const char *filename, + const char *encoding, + int options); +XMLPUBFUN xmlTextReaderPtr + xmlReaderForMemory (const char *buffer, + int size, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlTextReaderPtr + xmlReaderForFd (int fd, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlTextReaderPtr + xmlReaderForIO (xmlInputReadCallback ioread, + xmlInputCloseCallback ioclose, + void *ioctx, + const char *URL, + const char *encoding, + int options); + +XMLPUBFUN int + xmlReaderNewWalker (xmlTextReaderPtr reader, + xmlDocPtr doc); +XMLPUBFUN int + xmlReaderNewDoc (xmlTextReaderPtr reader, + const xmlChar * cur, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN int + xmlReaderNewFile (xmlTextReaderPtr reader, + const char *filename, + const char *encoding, + int options); +XMLPUBFUN int + xmlReaderNewMemory (xmlTextReaderPtr reader, + const char *buffer, + int size, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN int + xmlReaderNewFd (xmlTextReaderPtr reader, + int fd, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN int + xmlReaderNewIO (xmlTextReaderPtr reader, + xmlInputReadCallback ioread, + xmlInputCloseCallback ioclose, + void *ioctx, + const char *URL, + const char *encoding, + int options); +/* + * Error handling extensions + */ +typedef void * xmlTextReaderLocatorPtr; + +/** + * xmlTextReaderErrorFunc: + * @arg: the user argument + * @msg: the message + * @severity: the severity of the error + * @locator: a locator indicating where the error occurred + * + * Signature of an error callback from a reader parser + */ +typedef void (*xmlTextReaderErrorFunc)(void *arg, + const char *msg, + xmlParserSeverities severity, + xmlTextReaderLocatorPtr locator); +XMLPUBFUN int + xmlTextReaderLocatorLineNumber(xmlTextReaderLocatorPtr locator); +XMLPUBFUN xmlChar * + xmlTextReaderLocatorBaseURI (xmlTextReaderLocatorPtr locator); +XMLPUBFUN void + xmlTextReaderSetErrorHandler(xmlTextReaderPtr reader, + xmlTextReaderErrorFunc f, + void *arg); +XMLPUBFUN void + xmlTextReaderSetStructuredErrorHandler(xmlTextReaderPtr reader, + xmlStructuredErrorFunc f, + void *arg); +XMLPUBFUN void + xmlTextReaderGetErrorHandler(xmlTextReaderPtr reader, + xmlTextReaderErrorFunc *f, + void **arg); + +#endif /* LIBXML_READER_ENABLED */ + +#ifdef __cplusplus +} +#endif + +#endif /* __XML_XMLREADER_H__ */ + diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlregexp.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlregexp.h new file mode 100644 index 0000000..2d66437 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlregexp.h @@ -0,0 +1,215 @@ +/* + * Summary: regular expressions handling + * Description: basic API for libxml regular expressions handling used + * for XML Schemas and validation. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_REGEXP_H__ +#define __XML_REGEXP_H__ + +#include +#include +#include + +#ifdef LIBXML_REGEXP_ENABLED + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * xmlRegexpPtr: + * + * A libxml regular expression, they can actually be far more complex + * thank the POSIX regex expressions. + */ +typedef struct _xmlRegexp xmlRegexp; +typedef xmlRegexp *xmlRegexpPtr; + +/** + * xmlRegExecCtxtPtr: + * + * A libxml progressive regular expression evaluation context + */ +typedef struct _xmlRegExecCtxt xmlRegExecCtxt; +typedef xmlRegExecCtxt *xmlRegExecCtxtPtr; + +/* + * The POSIX like API + */ +XMLPUBFUN xmlRegexpPtr + xmlRegexpCompile (const xmlChar *regexp); +XMLPUBFUN void xmlRegFreeRegexp(xmlRegexpPtr regexp); +XMLPUBFUN int + xmlRegexpExec (xmlRegexpPtr comp, + const xmlChar *value); +XMLPUBFUN void + xmlRegexpPrint (FILE *output, + xmlRegexpPtr regexp); +XMLPUBFUN int + xmlRegexpIsDeterminist(xmlRegexpPtr comp); + +/** + * xmlRegExecCallbacks: + * @exec: the regular expression context + * @token: the current token string + * @transdata: transition data + * @inputdata: input data + * + * Callback function when doing a transition in the automata + */ +typedef void (*xmlRegExecCallbacks) (xmlRegExecCtxtPtr exec, + const xmlChar *token, + void *transdata, + void *inputdata); + +/* + * The progressive API + */ +XMLPUBFUN xmlRegExecCtxtPtr + xmlRegNewExecCtxt (xmlRegexpPtr comp, + xmlRegExecCallbacks callback, + void *data); +XMLPUBFUN void + xmlRegFreeExecCtxt (xmlRegExecCtxtPtr exec); +XMLPUBFUN int + xmlRegExecPushString(xmlRegExecCtxtPtr exec, + const xmlChar *value, + void *data); +XMLPUBFUN int + xmlRegExecPushString2(xmlRegExecCtxtPtr exec, + const xmlChar *value, + const xmlChar *value2, + void *data); + +XMLPUBFUN int + xmlRegExecNextValues(xmlRegExecCtxtPtr exec, + int *nbval, + int *nbneg, + xmlChar **values, + int *terminal); +XMLPUBFUN int + xmlRegExecErrInfo (xmlRegExecCtxtPtr exec, + const xmlChar **string, + int *nbval, + int *nbneg, + xmlChar **values, + int *terminal); +#ifdef LIBXML_EXPR_ENABLED +/* + * Formal regular expression handling + * Its goal is to do some formal work on content models + */ + +/* expressions are used within a context */ +typedef struct _xmlExpCtxt xmlExpCtxt; +typedef xmlExpCtxt *xmlExpCtxtPtr; + +XMLPUBFUN void + xmlExpFreeCtxt (xmlExpCtxtPtr ctxt); +XMLPUBFUN xmlExpCtxtPtr + xmlExpNewCtxt (int maxNodes, + xmlDictPtr dict); + +XMLPUBFUN int + xmlExpCtxtNbNodes(xmlExpCtxtPtr ctxt); +XMLPUBFUN int + xmlExpCtxtNbCons(xmlExpCtxtPtr ctxt); + +/* Expressions are trees but the tree is opaque */ +typedef struct _xmlExpNode xmlExpNode; +typedef xmlExpNode *xmlExpNodePtr; + +typedef enum { + XML_EXP_EMPTY = 0, + XML_EXP_FORBID = 1, + XML_EXP_ATOM = 2, + XML_EXP_SEQ = 3, + XML_EXP_OR = 4, + XML_EXP_COUNT = 5 +} xmlExpNodeType; + +/* + * 2 core expressions shared by all for the empty language set + * and for the set with just the empty token + */ +XMLPUBVAR xmlExpNodePtr forbiddenExp; +XMLPUBVAR xmlExpNodePtr emptyExp; + +/* + * Expressions are reference counted internally + */ +XMLPUBFUN void + xmlExpFree (xmlExpCtxtPtr ctxt, + xmlExpNodePtr expr); +XMLPUBFUN void + xmlExpRef (xmlExpNodePtr expr); + +/* + * constructors can be either manual or from a string + */ +XMLPUBFUN xmlExpNodePtr + xmlExpParse (xmlExpCtxtPtr ctxt, + const char *expr); +XMLPUBFUN xmlExpNodePtr + xmlExpNewAtom (xmlExpCtxtPtr ctxt, + const xmlChar *name, + int len); +XMLPUBFUN xmlExpNodePtr + xmlExpNewOr (xmlExpCtxtPtr ctxt, + xmlExpNodePtr left, + xmlExpNodePtr right); +XMLPUBFUN xmlExpNodePtr + xmlExpNewSeq (xmlExpCtxtPtr ctxt, + xmlExpNodePtr left, + xmlExpNodePtr right); +XMLPUBFUN xmlExpNodePtr + xmlExpNewRange (xmlExpCtxtPtr ctxt, + xmlExpNodePtr subset, + int min, + int max); +/* + * The really interesting APIs + */ +XMLPUBFUN int + xmlExpIsNillable(xmlExpNodePtr expr); +XMLPUBFUN int + xmlExpMaxToken (xmlExpNodePtr expr); +XMLPUBFUN int + xmlExpGetLanguage(xmlExpCtxtPtr ctxt, + xmlExpNodePtr expr, + const xmlChar**langList, + int len); +XMLPUBFUN int + xmlExpGetStart (xmlExpCtxtPtr ctxt, + xmlExpNodePtr expr, + const xmlChar**tokList, + int len); +XMLPUBFUN xmlExpNodePtr + xmlExpStringDerive(xmlExpCtxtPtr ctxt, + xmlExpNodePtr expr, + const xmlChar *str, + int len); +XMLPUBFUN xmlExpNodePtr + xmlExpExpDerive (xmlExpCtxtPtr ctxt, + xmlExpNodePtr expr, + xmlExpNodePtr sub); +XMLPUBFUN int + xmlExpSubsume (xmlExpCtxtPtr ctxt, + xmlExpNodePtr expr, + xmlExpNodePtr sub); +XMLPUBFUN void + xmlExpDump (xmlBufferPtr buf, + xmlExpNodePtr expr); +#endif /* LIBXML_EXPR_ENABLED */ +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_REGEXP_ENABLED */ + +#endif /*__XML_REGEXP_H__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlsave.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlsave.h new file mode 100644 index 0000000..e266e46 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlsave.h @@ -0,0 +1,102 @@ +/* + * Summary: the XML document serializer + * Description: API to save document or subtree of document + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_XMLSAVE_H__ +#define __XML_XMLSAVE_H__ + +#include +#include +#include +#include + +#ifdef LIBXML_OUTPUT_ENABLED +#ifdef __cplusplus +extern "C" { +#endif + +/** + * xmlSaveOption: + * + * This is the set of XML save options that can be passed down + * to the xmlSaveToFd() and similar calls. + */ +typedef enum { + XML_SAVE_FORMAT = 1<<0, /* format save output */ + XML_SAVE_NO_DECL = 1<<1, /* drop the xml declaration */ + XML_SAVE_NO_EMPTY = 1<<2, /* no empty tags */ + XML_SAVE_NO_XHTML = 1<<3, /* disable XHTML1 specific rules */ + XML_SAVE_XHTML = 1<<4, /* force XHTML1 specific rules */ + XML_SAVE_AS_XML = 1<<5, /* force XML serialization on HTML doc */ + XML_SAVE_AS_HTML = 1<<6, /* force HTML serialization on XML doc */ + XML_SAVE_WSNONSIG = 1<<7 /* format with non-significant whitespace */ +} xmlSaveOption; + + +typedef struct _xmlSaveCtxt xmlSaveCtxt; +typedef xmlSaveCtxt *xmlSaveCtxtPtr; + +XMLPUBFUN xmlSaveCtxtPtr + xmlSaveToFd (int fd, + const char *encoding, + int options); +XMLPUBFUN xmlSaveCtxtPtr + xmlSaveToFilename (const char *filename, + const char *encoding, + int options); + +XMLPUBFUN xmlSaveCtxtPtr + xmlSaveToBuffer (xmlBufferPtr buffer, + const char *encoding, + int options); + +XMLPUBFUN xmlSaveCtxtPtr + xmlSaveToIO (xmlOutputWriteCallback iowrite, + xmlOutputCloseCallback ioclose, + void *ioctx, + const char *encoding, + int options); + +XMLPUBFUN long + xmlSaveDoc (xmlSaveCtxtPtr ctxt, + xmlDocPtr doc); +XMLPUBFUN long + xmlSaveTree (xmlSaveCtxtPtr ctxt, + xmlNodePtr node); + +XMLPUBFUN int + xmlSaveFlush (xmlSaveCtxtPtr ctxt); +XMLPUBFUN int + xmlSaveClose (xmlSaveCtxtPtr ctxt); +XMLPUBFUN int + xmlSaveFinish (xmlSaveCtxtPtr ctxt); +XMLPUBFUN int + xmlSaveSetEscape (xmlSaveCtxtPtr ctxt, + xmlCharEncodingOutputFunc escape); +XMLPUBFUN int + xmlSaveSetAttrEscape (xmlSaveCtxtPtr ctxt, + xmlCharEncodingOutputFunc escape); + +XML_DEPRECATED +XMLPUBFUN int + xmlThrDefIndentTreeOutput(int v); +XML_DEPRECATED +XMLPUBFUN const char * + xmlThrDefTreeIndentString(const char * v); +XML_DEPRECATED +XMLPUBFUN int + xmlThrDefSaveNoEmptyTags(int v); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_OUTPUT_ENABLED */ +#endif /* __XML_XMLSAVE_H__ */ + + diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlschemas.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlschemas.h new file mode 100644 index 0000000..c2af3d7 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlschemas.h @@ -0,0 +1,249 @@ +/* + * Summary: incomplete XML Schemas structure implementation + * Description: interface to the XML Schemas handling and schema validity + * checking, it is incomplete right now. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + + +#ifndef __XML_SCHEMA_H__ +#define __XML_SCHEMA_H__ + +#include + +#ifdef LIBXML_SCHEMAS_ENABLED + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * This error codes are obsolete; not used any more. + */ +typedef enum { + XML_SCHEMAS_ERR_OK = 0, + XML_SCHEMAS_ERR_NOROOT = 1, + XML_SCHEMAS_ERR_UNDECLAREDELEM, + XML_SCHEMAS_ERR_NOTTOPLEVEL, + XML_SCHEMAS_ERR_MISSING, + XML_SCHEMAS_ERR_WRONGELEM, + XML_SCHEMAS_ERR_NOTYPE, + XML_SCHEMAS_ERR_NOROLLBACK, + XML_SCHEMAS_ERR_ISABSTRACT, + XML_SCHEMAS_ERR_NOTEMPTY, + XML_SCHEMAS_ERR_ELEMCONT, + XML_SCHEMAS_ERR_HAVEDEFAULT, + XML_SCHEMAS_ERR_NOTNILLABLE, + XML_SCHEMAS_ERR_EXTRACONTENT, + XML_SCHEMAS_ERR_INVALIDATTR, + XML_SCHEMAS_ERR_INVALIDELEM, + XML_SCHEMAS_ERR_NOTDETERMINIST, + XML_SCHEMAS_ERR_CONSTRUCT, + XML_SCHEMAS_ERR_INTERNAL, + XML_SCHEMAS_ERR_NOTSIMPLE, + XML_SCHEMAS_ERR_ATTRUNKNOWN, + XML_SCHEMAS_ERR_ATTRINVALID, + XML_SCHEMAS_ERR_VALUE, + XML_SCHEMAS_ERR_FACET, + XML_SCHEMAS_ERR_, + XML_SCHEMAS_ERR_XXX +} xmlSchemaValidError; + +/* +* ATTENTION: Change xmlSchemaSetValidOptions's check +* for invalid values, if adding to the validation +* options below. +*/ +/** + * xmlSchemaValidOption: + * + * This is the set of XML Schema validation options. + */ +typedef enum { + XML_SCHEMA_VAL_VC_I_CREATE = 1<<0 + /* Default/fixed: create an attribute node + * or an element's text node on the instance. + */ +} xmlSchemaValidOption; + +/* + XML_SCHEMA_VAL_XSI_ASSEMBLE = 1<<1, + * assemble schemata using + * xsi:schemaLocation and + * xsi:noNamespaceSchemaLocation +*/ + +/** + * The schemas related types are kept internal + */ +typedef struct _xmlSchema xmlSchema; +typedef xmlSchema *xmlSchemaPtr; + +/** + * xmlSchemaValidityErrorFunc: + * @ctx: the validation context + * @msg: the message + * @...: extra arguments + * + * Signature of an error callback from an XSD validation + */ +typedef void (*xmlSchemaValidityErrorFunc) + (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); + +/** + * xmlSchemaValidityWarningFunc: + * @ctx: the validation context + * @msg: the message + * @...: extra arguments + * + * Signature of a warning callback from an XSD validation + */ +typedef void (*xmlSchemaValidityWarningFunc) + (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); + +/** + * A schemas validation context + */ +typedef struct _xmlSchemaParserCtxt xmlSchemaParserCtxt; +typedef xmlSchemaParserCtxt *xmlSchemaParserCtxtPtr; + +typedef struct _xmlSchemaValidCtxt xmlSchemaValidCtxt; +typedef xmlSchemaValidCtxt *xmlSchemaValidCtxtPtr; + +/** + * xmlSchemaValidityLocatorFunc: + * @ctx: user provided context + * @file: returned file information + * @line: returned line information + * + * A schemas validation locator, a callback called by the validator. + * This is used when file or node information are not available + * to find out what file and line number are affected + * + * Returns: 0 in case of success and -1 in case of error + */ + +typedef int (*xmlSchemaValidityLocatorFunc) (void *ctx, + const char **file, unsigned long *line); + +/* + * Interfaces for parsing. + */ +XMLPUBFUN xmlSchemaParserCtxtPtr + xmlSchemaNewParserCtxt (const char *URL); +XMLPUBFUN xmlSchemaParserCtxtPtr + xmlSchemaNewMemParserCtxt (const char *buffer, + int size); +XMLPUBFUN xmlSchemaParserCtxtPtr + xmlSchemaNewDocParserCtxt (xmlDocPtr doc); +XMLPUBFUN void + xmlSchemaFreeParserCtxt (xmlSchemaParserCtxtPtr ctxt); +XMLPUBFUN void + xmlSchemaSetParserErrors (xmlSchemaParserCtxtPtr ctxt, + xmlSchemaValidityErrorFunc err, + xmlSchemaValidityWarningFunc warn, + void *ctx); +XMLPUBFUN void + xmlSchemaSetParserStructuredErrors(xmlSchemaParserCtxtPtr ctxt, + xmlStructuredErrorFunc serror, + void *ctx); +XMLPUBFUN int + xmlSchemaGetParserErrors(xmlSchemaParserCtxtPtr ctxt, + xmlSchemaValidityErrorFunc * err, + xmlSchemaValidityWarningFunc * warn, + void **ctx); +XMLPUBFUN int + xmlSchemaIsValid (xmlSchemaValidCtxtPtr ctxt); + +XMLPUBFUN xmlSchemaPtr + xmlSchemaParse (xmlSchemaParserCtxtPtr ctxt); +XMLPUBFUN void + xmlSchemaFree (xmlSchemaPtr schema); +#ifdef LIBXML_OUTPUT_ENABLED +XMLPUBFUN void + xmlSchemaDump (FILE *output, + xmlSchemaPtr schema); +#endif /* LIBXML_OUTPUT_ENABLED */ +/* + * Interfaces for validating + */ +XMLPUBFUN void + xmlSchemaSetValidErrors (xmlSchemaValidCtxtPtr ctxt, + xmlSchemaValidityErrorFunc err, + xmlSchemaValidityWarningFunc warn, + void *ctx); +XMLPUBFUN void + xmlSchemaSetValidStructuredErrors(xmlSchemaValidCtxtPtr ctxt, + xmlStructuredErrorFunc serror, + void *ctx); +XMLPUBFUN int + xmlSchemaGetValidErrors (xmlSchemaValidCtxtPtr ctxt, + xmlSchemaValidityErrorFunc *err, + xmlSchemaValidityWarningFunc *warn, + void **ctx); +XMLPUBFUN int + xmlSchemaSetValidOptions (xmlSchemaValidCtxtPtr ctxt, + int options); +XMLPUBFUN void + xmlSchemaValidateSetFilename(xmlSchemaValidCtxtPtr vctxt, + const char *filename); +XMLPUBFUN int + xmlSchemaValidCtxtGetOptions(xmlSchemaValidCtxtPtr ctxt); + +XMLPUBFUN xmlSchemaValidCtxtPtr + xmlSchemaNewValidCtxt (xmlSchemaPtr schema); +XMLPUBFUN void + xmlSchemaFreeValidCtxt (xmlSchemaValidCtxtPtr ctxt); +XMLPUBFUN int + xmlSchemaValidateDoc (xmlSchemaValidCtxtPtr ctxt, + xmlDocPtr instance); +XMLPUBFUN int + xmlSchemaValidateOneElement (xmlSchemaValidCtxtPtr ctxt, + xmlNodePtr elem); +XMLPUBFUN int + xmlSchemaValidateStream (xmlSchemaValidCtxtPtr ctxt, + xmlParserInputBufferPtr input, + xmlCharEncoding enc, + xmlSAXHandlerPtr sax, + void *user_data); +XMLPUBFUN int + xmlSchemaValidateFile (xmlSchemaValidCtxtPtr ctxt, + const char * filename, + int options); + +XMLPUBFUN xmlParserCtxtPtr + xmlSchemaValidCtxtGetParserCtxt(xmlSchemaValidCtxtPtr ctxt); + +/* + * Interface to insert Schemas SAX validation in a SAX stream + */ +typedef struct _xmlSchemaSAXPlug xmlSchemaSAXPlugStruct; +typedef xmlSchemaSAXPlugStruct *xmlSchemaSAXPlugPtr; + +XMLPUBFUN xmlSchemaSAXPlugPtr + xmlSchemaSAXPlug (xmlSchemaValidCtxtPtr ctxt, + xmlSAXHandlerPtr *sax, + void **user_data); +XMLPUBFUN int + xmlSchemaSAXUnplug (xmlSchemaSAXPlugPtr plug); + + +XMLPUBFUN void + xmlSchemaValidateSetLocator (xmlSchemaValidCtxtPtr vctxt, + xmlSchemaValidityLocatorFunc f, + void *ctxt); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_SCHEMAS_ENABLED */ +#endif /* __XML_SCHEMA_H__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlschemastypes.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlschemastypes.h new file mode 100644 index 0000000..e2cde35 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlschemastypes.h @@ -0,0 +1,152 @@ +/* + * Summary: implementation of XML Schema Datatypes + * Description: module providing the XML Schema Datatypes implementation + * both definition and validity checking + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + + +#ifndef __XML_SCHEMA_TYPES_H__ +#define __XML_SCHEMA_TYPES_H__ + +#include + +#ifdef LIBXML_SCHEMAS_ENABLED + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum { + XML_SCHEMA_WHITESPACE_UNKNOWN = 0, + XML_SCHEMA_WHITESPACE_PRESERVE = 1, + XML_SCHEMA_WHITESPACE_REPLACE = 2, + XML_SCHEMA_WHITESPACE_COLLAPSE = 3 +} xmlSchemaWhitespaceValueType; + +XMLPUBFUN int + xmlSchemaInitTypes (void); +XML_DEPRECATED +XMLPUBFUN void + xmlSchemaCleanupTypes (void); +XMLPUBFUN xmlSchemaTypePtr + xmlSchemaGetPredefinedType (const xmlChar *name, + const xmlChar *ns); +XMLPUBFUN int + xmlSchemaValidatePredefinedType (xmlSchemaTypePtr type, + const xmlChar *value, + xmlSchemaValPtr *val); +XMLPUBFUN int + xmlSchemaValPredefTypeNode (xmlSchemaTypePtr type, + const xmlChar *value, + xmlSchemaValPtr *val, + xmlNodePtr node); +XMLPUBFUN int + xmlSchemaValidateFacet (xmlSchemaTypePtr base, + xmlSchemaFacetPtr facet, + const xmlChar *value, + xmlSchemaValPtr val); +XMLPUBFUN int + xmlSchemaValidateFacetWhtsp (xmlSchemaFacetPtr facet, + xmlSchemaWhitespaceValueType fws, + xmlSchemaValType valType, + const xmlChar *value, + xmlSchemaValPtr val, + xmlSchemaWhitespaceValueType ws); +XMLPUBFUN void + xmlSchemaFreeValue (xmlSchemaValPtr val); +XMLPUBFUN xmlSchemaFacetPtr + xmlSchemaNewFacet (void); +XMLPUBFUN int + xmlSchemaCheckFacet (xmlSchemaFacetPtr facet, + xmlSchemaTypePtr typeDecl, + xmlSchemaParserCtxtPtr ctxt, + const xmlChar *name); +XMLPUBFUN void + xmlSchemaFreeFacet (xmlSchemaFacetPtr facet); +XMLPUBFUN int + xmlSchemaCompareValues (xmlSchemaValPtr x, + xmlSchemaValPtr y); +XMLPUBFUN xmlSchemaTypePtr + xmlSchemaGetBuiltInListSimpleTypeItemType (xmlSchemaTypePtr type); +XMLPUBFUN int + xmlSchemaValidateListSimpleTypeFacet (xmlSchemaFacetPtr facet, + const xmlChar *value, + unsigned long actualLen, + unsigned long *expectedLen); +XMLPUBFUN xmlSchemaTypePtr + xmlSchemaGetBuiltInType (xmlSchemaValType type); +XMLPUBFUN int + xmlSchemaIsBuiltInTypeFacet (xmlSchemaTypePtr type, + int facetType); +XMLPUBFUN xmlChar * + xmlSchemaCollapseString (const xmlChar *value); +XMLPUBFUN xmlChar * + xmlSchemaWhiteSpaceReplace (const xmlChar *value); +XMLPUBFUN unsigned long + xmlSchemaGetFacetValueAsULong (xmlSchemaFacetPtr facet); +XMLPUBFUN int + xmlSchemaValidateLengthFacet (xmlSchemaTypePtr type, + xmlSchemaFacetPtr facet, + const xmlChar *value, + xmlSchemaValPtr val, + unsigned long *length); +XMLPUBFUN int + xmlSchemaValidateLengthFacetWhtsp(xmlSchemaFacetPtr facet, + xmlSchemaValType valType, + const xmlChar *value, + xmlSchemaValPtr val, + unsigned long *length, + xmlSchemaWhitespaceValueType ws); +XMLPUBFUN int + xmlSchemaValPredefTypeNodeNoNorm(xmlSchemaTypePtr type, + const xmlChar *value, + xmlSchemaValPtr *val, + xmlNodePtr node); +XMLPUBFUN int + xmlSchemaGetCanonValue (xmlSchemaValPtr val, + const xmlChar **retValue); +XMLPUBFUN int + xmlSchemaGetCanonValueWhtsp (xmlSchemaValPtr val, + const xmlChar **retValue, + xmlSchemaWhitespaceValueType ws); +XMLPUBFUN int + xmlSchemaValueAppend (xmlSchemaValPtr prev, + xmlSchemaValPtr cur); +XMLPUBFUN xmlSchemaValPtr + xmlSchemaValueGetNext (xmlSchemaValPtr cur); +XMLPUBFUN const xmlChar * + xmlSchemaValueGetAsString (xmlSchemaValPtr val); +XMLPUBFUN int + xmlSchemaValueGetAsBoolean (xmlSchemaValPtr val); +XMLPUBFUN xmlSchemaValPtr + xmlSchemaNewStringValue (xmlSchemaValType type, + const xmlChar *value); +XMLPUBFUN xmlSchemaValPtr + xmlSchemaNewNOTATIONValue (const xmlChar *name, + const xmlChar *ns); +XMLPUBFUN xmlSchemaValPtr + xmlSchemaNewQNameValue (const xmlChar *namespaceName, + const xmlChar *localName); +XMLPUBFUN int + xmlSchemaCompareValuesWhtsp (xmlSchemaValPtr x, + xmlSchemaWhitespaceValueType xws, + xmlSchemaValPtr y, + xmlSchemaWhitespaceValueType yws); +XMLPUBFUN xmlSchemaValPtr + xmlSchemaCopyValue (xmlSchemaValPtr val); +XMLPUBFUN xmlSchemaValType + xmlSchemaGetValType (xmlSchemaValPtr val); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_SCHEMAS_ENABLED */ +#endif /* __XML_SCHEMA_TYPES_H__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlstring.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlstring.h new file mode 100644 index 0000000..db11a0b --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlstring.h @@ -0,0 +1,140 @@ +/* + * Summary: set of routines to process strings + * Description: type and interfaces needed for the internal string handling + * of the library, especially UTF8 processing. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_STRING_H__ +#define __XML_STRING_H__ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * xmlChar: + * + * This is a basic byte in an UTF-8 encoded string. + * It's unsigned allowing to pinpoint case where char * are assigned + * to xmlChar * (possibly making serialization back impossible). + */ +typedef unsigned char xmlChar; + +/** + * BAD_CAST: + * + * Macro to cast a string to an xmlChar * when one know its safe. + */ +#define BAD_CAST (xmlChar *) + +/* + * xmlChar handling + */ +XMLPUBFUN xmlChar * + xmlStrdup (const xmlChar *cur); +XMLPUBFUN xmlChar * + xmlStrndup (const xmlChar *cur, + int len); +XMLPUBFUN xmlChar * + xmlCharStrndup (const char *cur, + int len); +XMLPUBFUN xmlChar * + xmlCharStrdup (const char *cur); +XMLPUBFUN xmlChar * + xmlStrsub (const xmlChar *str, + int start, + int len); +XMLPUBFUN const xmlChar * + xmlStrchr (const xmlChar *str, + xmlChar val); +XMLPUBFUN const xmlChar * + xmlStrstr (const xmlChar *str, + const xmlChar *val); +XMLPUBFUN const xmlChar * + xmlStrcasestr (const xmlChar *str, + const xmlChar *val); +XMLPUBFUN int + xmlStrcmp (const xmlChar *str1, + const xmlChar *str2); +XMLPUBFUN int + xmlStrncmp (const xmlChar *str1, + const xmlChar *str2, + int len); +XMLPUBFUN int + xmlStrcasecmp (const xmlChar *str1, + const xmlChar *str2); +XMLPUBFUN int + xmlStrncasecmp (const xmlChar *str1, + const xmlChar *str2, + int len); +XMLPUBFUN int + xmlStrEqual (const xmlChar *str1, + const xmlChar *str2); +XMLPUBFUN int + xmlStrQEqual (const xmlChar *pref, + const xmlChar *name, + const xmlChar *str); +XMLPUBFUN int + xmlStrlen (const xmlChar *str); +XMLPUBFUN xmlChar * + xmlStrcat (xmlChar *cur, + const xmlChar *add); +XMLPUBFUN xmlChar * + xmlStrncat (xmlChar *cur, + const xmlChar *add, + int len); +XMLPUBFUN xmlChar * + xmlStrncatNew (const xmlChar *str1, + const xmlChar *str2, + int len); +XMLPUBFUN int + xmlStrPrintf (xmlChar *buf, + int len, + const char *msg, + ...) LIBXML_ATTR_FORMAT(3,4); +XMLPUBFUN int + xmlStrVPrintf (xmlChar *buf, + int len, + const char *msg, + va_list ap) LIBXML_ATTR_FORMAT(3,0); + +XMLPUBFUN int + xmlGetUTF8Char (const unsigned char *utf, + int *len); +XMLPUBFUN int + xmlCheckUTF8 (const unsigned char *utf); +XMLPUBFUN int + xmlUTF8Strsize (const xmlChar *utf, + int len); +XMLPUBFUN xmlChar * + xmlUTF8Strndup (const xmlChar *utf, + int len); +XMLPUBFUN const xmlChar * + xmlUTF8Strpos (const xmlChar *utf, + int pos); +XMLPUBFUN int + xmlUTF8Strloc (const xmlChar *utf, + const xmlChar *utfchar); +XMLPUBFUN xmlChar * + xmlUTF8Strsub (const xmlChar *utf, + int start, + int len); +XMLPUBFUN int + xmlUTF8Strlen (const xmlChar *utf); +XMLPUBFUN int + xmlUTF8Size (const xmlChar *utf); +XMLPUBFUN int + xmlUTF8Charcmp (const xmlChar *utf1, + const xmlChar *utf2); + +#ifdef __cplusplus +} +#endif +#endif /* __XML_STRING_H__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlunicode.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlunicode.h new file mode 100644 index 0000000..b6d795b --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlunicode.h @@ -0,0 +1,366 @@ +/* + * Summary: Unicode character APIs + * Description: API for the Unicode character APIs + * + * This file is automatically generated from the + * UCS description files of the Unicode Character Database + * http://www.unicode.org/Public/4.0-Update1/UCD-4.0.1.html + * using the genUnicode.py Python script. + * + * Generation date: Tue Apr 30 17:30:38 2024 + * Sources: Blocks-4.0.1.txt UnicodeData-4.0.1.txt + * Author: Daniel Veillard + */ + +#ifndef __XML_UNICODE_H__ +#define __XML_UNICODE_H__ + +#include + +#ifdef LIBXML_UNICODE_ENABLED + +#ifdef __cplusplus +extern "C" { +#endif + +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsAegeanNumbers (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsAlphabeticPresentationForms (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsArabic (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsArabicPresentationFormsA (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsArabicPresentationFormsB (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsArmenian (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsArrows (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsBasicLatin (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsBengali (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsBlockElements (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsBopomofo (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsBopomofoExtended (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsBoxDrawing (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsBraillePatterns (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsBuhid (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsByzantineMusicalSymbols (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCJKCompatibility (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCJKCompatibilityForms (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCJKCompatibilityIdeographs (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCJKCompatibilityIdeographsSupplement (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCJKRadicalsSupplement (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCJKSymbolsandPunctuation (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCJKUnifiedIdeographs (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCJKUnifiedIdeographsExtensionA (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCJKUnifiedIdeographsExtensionB (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCherokee (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCombiningDiacriticalMarks (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCombiningDiacriticalMarksforSymbols (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCombiningHalfMarks (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCombiningMarksforSymbols (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsControlPictures (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCurrencySymbols (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCypriotSyllabary (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCyrillic (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCyrillicSupplement (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsDeseret (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsDevanagari (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsDingbats (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsEnclosedAlphanumerics (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsEnclosedCJKLettersandMonths (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsEthiopic (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsGeneralPunctuation (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsGeometricShapes (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsGeorgian (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsGothic (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsGreek (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsGreekExtended (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsGreekandCoptic (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsGujarati (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsGurmukhi (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsHalfwidthandFullwidthForms (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsHangulCompatibilityJamo (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsHangulJamo (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsHangulSyllables (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsHanunoo (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsHebrew (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsHighPrivateUseSurrogates (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsHighSurrogates (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsHiragana (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsIPAExtensions (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsIdeographicDescriptionCharacters (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsKanbun (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsKangxiRadicals (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsKannada (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsKatakana (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsKatakanaPhoneticExtensions (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsKhmer (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsKhmerSymbols (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsLao (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsLatin1Supplement (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsLatinExtendedA (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsLatinExtendedB (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsLatinExtendedAdditional (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsLetterlikeSymbols (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsLimbu (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsLinearBIdeograms (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsLinearBSyllabary (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsLowSurrogates (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsMalayalam (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsMathematicalAlphanumericSymbols (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsMathematicalOperators (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsMiscellaneousMathematicalSymbolsA (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsMiscellaneousMathematicalSymbolsB (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsMiscellaneousSymbols (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsMiscellaneousSymbolsandArrows (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsMiscellaneousTechnical (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsMongolian (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsMusicalSymbols (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsMyanmar (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsNumberForms (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsOgham (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsOldItalic (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsOpticalCharacterRecognition (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsOriya (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsOsmanya (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsPhoneticExtensions (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsPrivateUse (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsPrivateUseArea (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsRunic (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsShavian (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsSinhala (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsSmallFormVariants (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsSpacingModifierLetters (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsSpecials (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsSuperscriptsandSubscripts (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsSupplementalArrowsA (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsSupplementalArrowsB (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsSupplementalMathematicalOperators (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsSupplementaryPrivateUseAreaA (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsSupplementaryPrivateUseAreaB (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsSyriac (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsTagalog (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsTagbanwa (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsTags (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsTaiLe (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsTaiXuanJingSymbols (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsTamil (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsTelugu (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsThaana (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsThai (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsTibetan (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsUgaritic (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsUnifiedCanadianAboriginalSyllabics (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsVariationSelectors (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsVariationSelectorsSupplement (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsYiRadicals (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsYiSyllables (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsYijingHexagramSymbols (int code); + +XMLPUBFUN int xmlUCSIsBlock (int code, const char *block); + +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCatC (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCatCc (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCatCf (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCatCo (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCatCs (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCatL (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCatLl (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCatLm (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCatLo (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCatLt (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCatLu (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCatM (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCatMc (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCatMe (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCatMn (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCatN (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCatNd (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCatNl (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCatNo (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCatP (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCatPc (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCatPd (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCatPe (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCatPf (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCatPi (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCatPo (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCatPs (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCatS (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCatSc (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCatSk (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCatSm (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCatSo (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCatZ (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCatZl (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCatZp (int code); +XML_DEPRECATED +XMLPUBFUN int xmlUCSIsCatZs (int code); + +XMLPUBFUN int xmlUCSIsCat (int code, const char *cat); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_UNICODE_ENABLED */ + +#endif /* __XML_UNICODE_H__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlversion.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlversion.h new file mode 100644 index 0000000..59c08cf --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlversion.h @@ -0,0 +1,347 @@ +/* + * Summary: compile-time version information + * Description: compile-time version information for the XML library + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_VERSION_H__ +#define __XML_VERSION_H__ + +/** + * LIBXML_DOTTED_VERSION: + * + * the version string like "1.2.3" + */ +#define LIBXML_DOTTED_VERSION "2.13.9" + +/** + * LIBXML_VERSION: + * + * the version number: 1.2.3 value is 10203 + */ +#define LIBXML_VERSION 21309 + +/** + * LIBXML_VERSION_STRING: + * + * the version number string, 1.2.3 value is "10203" + */ +#define LIBXML_VERSION_STRING "21309" + +/** + * LIBXML_VERSION_EXTRA: + * + * extra version information, used to show a git commit description + */ +#define LIBXML_VERSION_EXTRA "" + +/** + * LIBXML_TEST_VERSION: + * + * Macro to check that the libxml version in use is compatible with + * the version the software has been compiled against + */ +#define LIBXML_TEST_VERSION xmlCheckVersion(21309); + +/** + * LIBXML_THREAD_ENABLED: + * + * Whether the thread support is configured in + */ +#if 1 +#define LIBXML_THREAD_ENABLED +#endif + +/** + * LIBXML_THREAD_ALLOC_ENABLED: + * + * Whether the allocation hooks are per-thread + */ +#if 0 +#define LIBXML_THREAD_ALLOC_ENABLED +#endif + +/** + * LIBXML_TREE_ENABLED: + * + * Whether the DOM like tree manipulation API support is configured in + */ +#if 1 +#define LIBXML_TREE_ENABLED +#endif + +/** + * LIBXML_OUTPUT_ENABLED: + * + * Whether the serialization/saving support is configured in + */ +#if 1 +#define LIBXML_OUTPUT_ENABLED +#endif + +/** + * LIBXML_PUSH_ENABLED: + * + * Whether the push parsing interfaces are configured in + */ +#if 1 +#define LIBXML_PUSH_ENABLED +#endif + +/** + * LIBXML_READER_ENABLED: + * + * Whether the xmlReader parsing interface is configured in + */ +#if 1 +#define LIBXML_READER_ENABLED +#endif + +/** + * LIBXML_PATTERN_ENABLED: + * + * Whether the xmlPattern node selection interface is configured in + */ +#if 1 +#define LIBXML_PATTERN_ENABLED +#endif + +/** + * LIBXML_WRITER_ENABLED: + * + * Whether the xmlWriter saving interface is configured in + */ +#if 1 +#define LIBXML_WRITER_ENABLED +#endif + +/** + * LIBXML_SAX1_ENABLED: + * + * Whether the older SAX1 interface is configured in + */ +#if 1 +#define LIBXML_SAX1_ENABLED +#endif + +/** + * LIBXML_FTP_ENABLED: + * + * Whether the FTP support is configured in + */ +#if 0 +#define LIBXML_FTP_ENABLED +#endif + +/** + * LIBXML_HTTP_ENABLED: + * + * Whether the HTTP support is configured in + */ +#if 1 +#define LIBXML_HTTP_ENABLED +#endif + +/** + * LIBXML_VALID_ENABLED: + * + * Whether the DTD validation support is configured in + */ +#if 1 +#define LIBXML_VALID_ENABLED +#endif + +/** + * LIBXML_HTML_ENABLED: + * + * Whether the HTML support is configured in + */ +#if 1 +#define LIBXML_HTML_ENABLED +#endif + +/** + * LIBXML_LEGACY_ENABLED: + * + * Whether the deprecated APIs are compiled in for compatibility + */ +#if 1 +#define LIBXML_LEGACY_ENABLED +#endif + +/** + * LIBXML_C14N_ENABLED: + * + * Whether the Canonicalization support is configured in + */ +#if 1 +#define LIBXML_C14N_ENABLED +#endif + +/** + * LIBXML_CATALOG_ENABLED: + * + * Whether the Catalog support is configured in + */ +#if 1 +#define LIBXML_CATALOG_ENABLED +#endif + +/** + * LIBXML_XPATH_ENABLED: + * + * Whether XPath is configured in + */ +#if 1 +#define LIBXML_XPATH_ENABLED +#endif + +/** + * LIBXML_XPTR_ENABLED: + * + * Whether XPointer is configured in + */ +#if 1 +#define LIBXML_XPTR_ENABLED +#endif + +/** + * LIBXML_XPTR_LOCS_ENABLED: + * + * Whether support for XPointer locations is configured in + */ +#if 0 +#define LIBXML_XPTR_LOCS_ENABLED +#endif + +/** + * LIBXML_XINCLUDE_ENABLED: + * + * Whether XInclude is configured in + */ +#if 1 +#define LIBXML_XINCLUDE_ENABLED +#endif + +/** + * LIBXML_ICONV_ENABLED: + * + * Whether iconv support is available + */ +#if 1 +#define LIBXML_ICONV_ENABLED +#endif + +/** + * LIBXML_ICU_ENABLED: + * + * Whether icu support is available + */ +#if 0 +#define LIBXML_ICU_ENABLED +#endif + +/** + * LIBXML_ISO8859X_ENABLED: + * + * Whether ISO-8859-* support is made available in case iconv is not + */ +#if 1 +#define LIBXML_ISO8859X_ENABLED +#endif + +/** + * LIBXML_DEBUG_ENABLED: + * + * Whether Debugging module is configured in + */ +#if 1 +#define LIBXML_DEBUG_ENABLED +#endif + +/** + * LIBXML_UNICODE_ENABLED: + * + * Whether the Unicode related interfaces are compiled in + */ +#if 1 +#define LIBXML_UNICODE_ENABLED +#endif + +/** + * LIBXML_REGEXP_ENABLED: + * + * Whether the regular expressions interfaces are compiled in + */ +#if 1 +#define LIBXML_REGEXP_ENABLED +#endif + +/** + * LIBXML_AUTOMATA_ENABLED: + * + * Whether the automata interfaces are compiled in + */ +#if 1 +#define LIBXML_AUTOMATA_ENABLED +#endif + +/** + * LIBXML_SCHEMAS_ENABLED: + * + * Whether the Schemas validation interfaces are compiled in + */ +#if 1 +#define LIBXML_SCHEMAS_ENABLED +#endif + +/** + * LIBXML_SCHEMATRON_ENABLED: + * + * Whether the Schematron validation interfaces are compiled in + */ +#if 1 +#define LIBXML_SCHEMATRON_ENABLED +#endif + +/** + * LIBXML_MODULES_ENABLED: + * + * Whether the module interfaces are compiled in + */ +#if 1 +#define LIBXML_MODULES_ENABLED +/** + * LIBXML_MODULE_EXTENSION: + * + * the string suffix used by dynamic modules (usually shared libraries) + */ +#define LIBXML_MODULE_EXTENSION ".so" +#endif + +/** + * LIBXML_ZLIB_ENABLED: + * + * Whether the Zlib support is compiled in + */ +#if 1 +#define LIBXML_ZLIB_ENABLED +#endif + +/** + * LIBXML_LZMA_ENABLED: + * + * Whether the Lzma support is compiled in + */ +#if 0 +#define LIBXML_LZMA_ENABLED +#endif + +#include + +#endif + + diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlwriter.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlwriter.h new file mode 100644 index 0000000..55f88bc --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlwriter.h @@ -0,0 +1,489 @@ +/* + * Summary: text writing API for XML + * Description: text writing API for XML + * + * Copy: See Copyright for the status of this software. + * + * Author: Alfred Mickautsch + */ + +#ifndef __XML_XMLWRITER_H__ +#define __XML_XMLWRITER_H__ + +#include + +#ifdef LIBXML_WRITER_ENABLED + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + + typedef struct _xmlTextWriter xmlTextWriter; + typedef xmlTextWriter *xmlTextWriterPtr; + +/* + * Constructors & Destructor + */ + XMLPUBFUN xmlTextWriterPtr + xmlNewTextWriter(xmlOutputBufferPtr out); + XMLPUBFUN xmlTextWriterPtr + xmlNewTextWriterFilename(const char *uri, int compression); + XMLPUBFUN xmlTextWriterPtr + xmlNewTextWriterMemory(xmlBufferPtr buf, int compression); + XMLPUBFUN xmlTextWriterPtr + xmlNewTextWriterPushParser(xmlParserCtxtPtr ctxt, int compression); + XMLPUBFUN xmlTextWriterPtr + xmlNewTextWriterDoc(xmlDocPtr * doc, int compression); + XMLPUBFUN xmlTextWriterPtr + xmlNewTextWriterTree(xmlDocPtr doc, xmlNodePtr node, + int compression); + XMLPUBFUN void xmlFreeTextWriter(xmlTextWriterPtr writer); + +/* + * Functions + */ + + +/* + * Document + */ + XMLPUBFUN int + xmlTextWriterStartDocument(xmlTextWriterPtr writer, + const char *version, + const char *encoding, + const char *standalone); + XMLPUBFUN int xmlTextWriterEndDocument(xmlTextWriterPtr + writer); + +/* + * Comments + */ + XMLPUBFUN int xmlTextWriterStartComment(xmlTextWriterPtr + writer); + XMLPUBFUN int xmlTextWriterEndComment(xmlTextWriterPtr writer); + XMLPUBFUN int + xmlTextWriterWriteFormatComment(xmlTextWriterPtr writer, + const char *format, ...) + LIBXML_ATTR_FORMAT(2,3); + XMLPUBFUN int + xmlTextWriterWriteVFormatComment(xmlTextWriterPtr writer, + const char *format, + va_list argptr) + LIBXML_ATTR_FORMAT(2,0); + XMLPUBFUN int xmlTextWriterWriteComment(xmlTextWriterPtr + writer, + const xmlChar * + content); + +/* + * Elements + */ + XMLPUBFUN int + xmlTextWriterStartElement(xmlTextWriterPtr writer, + const xmlChar * name); + XMLPUBFUN int xmlTextWriterStartElementNS(xmlTextWriterPtr + writer, + const xmlChar * + prefix, + const xmlChar * name, + const xmlChar * + namespaceURI); + XMLPUBFUN int xmlTextWriterEndElement(xmlTextWriterPtr writer); + XMLPUBFUN int xmlTextWriterFullEndElement(xmlTextWriterPtr + writer); + +/* + * Elements conveniency functions + */ + XMLPUBFUN int + xmlTextWriterWriteFormatElement(xmlTextWriterPtr writer, + const xmlChar * name, + const char *format, ...) + LIBXML_ATTR_FORMAT(3,4); + XMLPUBFUN int + xmlTextWriterWriteVFormatElement(xmlTextWriterPtr writer, + const xmlChar * name, + const char *format, + va_list argptr) + LIBXML_ATTR_FORMAT(3,0); + XMLPUBFUN int xmlTextWriterWriteElement(xmlTextWriterPtr + writer, + const xmlChar * name, + const xmlChar * + content); + XMLPUBFUN int + xmlTextWriterWriteFormatElementNS(xmlTextWriterPtr writer, + const xmlChar * prefix, + const xmlChar * name, + const xmlChar * namespaceURI, + const char *format, ...) + LIBXML_ATTR_FORMAT(5,6); + XMLPUBFUN int + xmlTextWriterWriteVFormatElementNS(xmlTextWriterPtr writer, + const xmlChar * prefix, + const xmlChar * name, + const xmlChar * namespaceURI, + const char *format, + va_list argptr) + LIBXML_ATTR_FORMAT(5,0); + XMLPUBFUN int xmlTextWriterWriteElementNS(xmlTextWriterPtr + writer, + const xmlChar * + prefix, + const xmlChar * name, + const xmlChar * + namespaceURI, + const xmlChar * + content); + +/* + * Text + */ + XMLPUBFUN int + xmlTextWriterWriteFormatRaw(xmlTextWriterPtr writer, + const char *format, ...) + LIBXML_ATTR_FORMAT(2,3); + XMLPUBFUN int + xmlTextWriterWriteVFormatRaw(xmlTextWriterPtr writer, + const char *format, va_list argptr) + LIBXML_ATTR_FORMAT(2,0); + XMLPUBFUN int + xmlTextWriterWriteRawLen(xmlTextWriterPtr writer, + const xmlChar * content, int len); + XMLPUBFUN int + xmlTextWriterWriteRaw(xmlTextWriterPtr writer, + const xmlChar * content); + XMLPUBFUN int xmlTextWriterWriteFormatString(xmlTextWriterPtr + writer, + const char + *format, ...) + LIBXML_ATTR_FORMAT(2,3); + XMLPUBFUN int xmlTextWriterWriteVFormatString(xmlTextWriterPtr + writer, + const char + *format, + va_list argptr) + LIBXML_ATTR_FORMAT(2,0); + XMLPUBFUN int xmlTextWriterWriteString(xmlTextWriterPtr writer, + const xmlChar * + content); + XMLPUBFUN int xmlTextWriterWriteBase64(xmlTextWriterPtr writer, + const char *data, + int start, int len); + XMLPUBFUN int xmlTextWriterWriteBinHex(xmlTextWriterPtr writer, + const char *data, + int start, int len); + +/* + * Attributes + */ + XMLPUBFUN int + xmlTextWriterStartAttribute(xmlTextWriterPtr writer, + const xmlChar * name); + XMLPUBFUN int xmlTextWriterStartAttributeNS(xmlTextWriterPtr + writer, + const xmlChar * + prefix, + const xmlChar * + name, + const xmlChar * + namespaceURI); + XMLPUBFUN int xmlTextWriterEndAttribute(xmlTextWriterPtr + writer); + +/* + * Attributes conveniency functions + */ + XMLPUBFUN int + xmlTextWriterWriteFormatAttribute(xmlTextWriterPtr writer, + const xmlChar * name, + const char *format, ...) + LIBXML_ATTR_FORMAT(3,4); + XMLPUBFUN int + xmlTextWriterWriteVFormatAttribute(xmlTextWriterPtr writer, + const xmlChar * name, + const char *format, + va_list argptr) + LIBXML_ATTR_FORMAT(3,0); + XMLPUBFUN int xmlTextWriterWriteAttribute(xmlTextWriterPtr + writer, + const xmlChar * name, + const xmlChar * + content); + XMLPUBFUN int + xmlTextWriterWriteFormatAttributeNS(xmlTextWriterPtr writer, + const xmlChar * prefix, + const xmlChar * name, + const xmlChar * namespaceURI, + const char *format, ...) + LIBXML_ATTR_FORMAT(5,6); + XMLPUBFUN int + xmlTextWriterWriteVFormatAttributeNS(xmlTextWriterPtr writer, + const xmlChar * prefix, + const xmlChar * name, + const xmlChar * namespaceURI, + const char *format, + va_list argptr) + LIBXML_ATTR_FORMAT(5,0); + XMLPUBFUN int xmlTextWriterWriteAttributeNS(xmlTextWriterPtr + writer, + const xmlChar * + prefix, + const xmlChar * + name, + const xmlChar * + namespaceURI, + const xmlChar * + content); + +/* + * PI's + */ + XMLPUBFUN int + xmlTextWriterStartPI(xmlTextWriterPtr writer, + const xmlChar * target); + XMLPUBFUN int xmlTextWriterEndPI(xmlTextWriterPtr writer); + +/* + * PI conveniency functions + */ + XMLPUBFUN int + xmlTextWriterWriteFormatPI(xmlTextWriterPtr writer, + const xmlChar * target, + const char *format, ...) + LIBXML_ATTR_FORMAT(3,4); + XMLPUBFUN int + xmlTextWriterWriteVFormatPI(xmlTextWriterPtr writer, + const xmlChar * target, + const char *format, va_list argptr) + LIBXML_ATTR_FORMAT(3,0); + XMLPUBFUN int + xmlTextWriterWritePI(xmlTextWriterPtr writer, + const xmlChar * target, + const xmlChar * content); + +/** + * xmlTextWriterWriteProcessingInstruction: + * + * This macro maps to xmlTextWriterWritePI + */ +#define xmlTextWriterWriteProcessingInstruction xmlTextWriterWritePI + +/* + * CDATA + */ + XMLPUBFUN int xmlTextWriterStartCDATA(xmlTextWriterPtr writer); + XMLPUBFUN int xmlTextWriterEndCDATA(xmlTextWriterPtr writer); + +/* + * CDATA conveniency functions + */ + XMLPUBFUN int + xmlTextWriterWriteFormatCDATA(xmlTextWriterPtr writer, + const char *format, ...) + LIBXML_ATTR_FORMAT(2,3); + XMLPUBFUN int + xmlTextWriterWriteVFormatCDATA(xmlTextWriterPtr writer, + const char *format, va_list argptr) + LIBXML_ATTR_FORMAT(2,0); + XMLPUBFUN int + xmlTextWriterWriteCDATA(xmlTextWriterPtr writer, + const xmlChar * content); + +/* + * DTD + */ + XMLPUBFUN int + xmlTextWriterStartDTD(xmlTextWriterPtr writer, + const xmlChar * name, + const xmlChar * pubid, + const xmlChar * sysid); + XMLPUBFUN int xmlTextWriterEndDTD(xmlTextWriterPtr writer); + +/* + * DTD conveniency functions + */ + XMLPUBFUN int + xmlTextWriterWriteFormatDTD(xmlTextWriterPtr writer, + const xmlChar * name, + const xmlChar * pubid, + const xmlChar * sysid, + const char *format, ...) + LIBXML_ATTR_FORMAT(5,6); + XMLPUBFUN int + xmlTextWriterWriteVFormatDTD(xmlTextWriterPtr writer, + const xmlChar * name, + const xmlChar * pubid, + const xmlChar * sysid, + const char *format, va_list argptr) + LIBXML_ATTR_FORMAT(5,0); + XMLPUBFUN int + xmlTextWriterWriteDTD(xmlTextWriterPtr writer, + const xmlChar * name, + const xmlChar * pubid, + const xmlChar * sysid, + const xmlChar * subset); + +/** + * xmlTextWriterWriteDocType: + * + * this macro maps to xmlTextWriterWriteDTD + */ +#define xmlTextWriterWriteDocType xmlTextWriterWriteDTD + +/* + * DTD element definition + */ + XMLPUBFUN int + xmlTextWriterStartDTDElement(xmlTextWriterPtr writer, + const xmlChar * name); + XMLPUBFUN int xmlTextWriterEndDTDElement(xmlTextWriterPtr + writer); + +/* + * DTD element definition conveniency functions + */ + XMLPUBFUN int + xmlTextWriterWriteFormatDTDElement(xmlTextWriterPtr writer, + const xmlChar * name, + const char *format, ...) + LIBXML_ATTR_FORMAT(3,4); + XMLPUBFUN int + xmlTextWriterWriteVFormatDTDElement(xmlTextWriterPtr writer, + const xmlChar * name, + const char *format, + va_list argptr) + LIBXML_ATTR_FORMAT(3,0); + XMLPUBFUN int xmlTextWriterWriteDTDElement(xmlTextWriterPtr + writer, + const xmlChar * + name, + const xmlChar * + content); + +/* + * DTD attribute list definition + */ + XMLPUBFUN int + xmlTextWriterStartDTDAttlist(xmlTextWriterPtr writer, + const xmlChar * name); + XMLPUBFUN int xmlTextWriterEndDTDAttlist(xmlTextWriterPtr + writer); + +/* + * DTD attribute list definition conveniency functions + */ + XMLPUBFUN int + xmlTextWriterWriteFormatDTDAttlist(xmlTextWriterPtr writer, + const xmlChar * name, + const char *format, ...) + LIBXML_ATTR_FORMAT(3,4); + XMLPUBFUN int + xmlTextWriterWriteVFormatDTDAttlist(xmlTextWriterPtr writer, + const xmlChar * name, + const char *format, + va_list argptr) + LIBXML_ATTR_FORMAT(3,0); + XMLPUBFUN int xmlTextWriterWriteDTDAttlist(xmlTextWriterPtr + writer, + const xmlChar * + name, + const xmlChar * + content); + +/* + * DTD entity definition + */ + XMLPUBFUN int + xmlTextWriterStartDTDEntity(xmlTextWriterPtr writer, + int pe, const xmlChar * name); + XMLPUBFUN int xmlTextWriterEndDTDEntity(xmlTextWriterPtr + writer); + +/* + * DTD entity definition conveniency functions + */ + XMLPUBFUN int + xmlTextWriterWriteFormatDTDInternalEntity(xmlTextWriterPtr writer, + int pe, + const xmlChar * name, + const char *format, ...) + LIBXML_ATTR_FORMAT(4,5); + XMLPUBFUN int + xmlTextWriterWriteVFormatDTDInternalEntity(xmlTextWriterPtr writer, + int pe, + const xmlChar * name, + const char *format, + va_list argptr) + LIBXML_ATTR_FORMAT(4,0); + XMLPUBFUN int + xmlTextWriterWriteDTDInternalEntity(xmlTextWriterPtr writer, + int pe, + const xmlChar * name, + const xmlChar * content); + XMLPUBFUN int + xmlTextWriterWriteDTDExternalEntity(xmlTextWriterPtr writer, + int pe, + const xmlChar * name, + const xmlChar * pubid, + const xmlChar * sysid, + const xmlChar * ndataid); + XMLPUBFUN int + xmlTextWriterWriteDTDExternalEntityContents(xmlTextWriterPtr + writer, + const xmlChar * pubid, + const xmlChar * sysid, + const xmlChar * + ndataid); + XMLPUBFUN int xmlTextWriterWriteDTDEntity(xmlTextWriterPtr + writer, int pe, + const xmlChar * name, + const xmlChar * + pubid, + const xmlChar * + sysid, + const xmlChar * + ndataid, + const xmlChar * + content); + +/* + * DTD notation definition + */ + XMLPUBFUN int + xmlTextWriterWriteDTDNotation(xmlTextWriterPtr writer, + const xmlChar * name, + const xmlChar * pubid, + const xmlChar * sysid); + +/* + * Indentation + */ + XMLPUBFUN int + xmlTextWriterSetIndent(xmlTextWriterPtr writer, int indent); + XMLPUBFUN int + xmlTextWriterSetIndentString(xmlTextWriterPtr writer, + const xmlChar * str); + + XMLPUBFUN int + xmlTextWriterSetQuoteChar(xmlTextWriterPtr writer, xmlChar quotechar); + + +/* + * misc + */ + XMLPUBFUN int xmlTextWriterFlush(xmlTextWriterPtr writer); + XMLPUBFUN int xmlTextWriterClose(xmlTextWriterPtr writer); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_WRITER_ENABLED */ + +#endif /* __XML_XMLWRITER_H__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xpath.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xpath.h new file mode 100644 index 0000000..b89e105 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xpath.h @@ -0,0 +1,579 @@ +/* + * Summary: XML Path Language implementation + * Description: API for the XML Path Language implementation + * + * XML Path Language implementation + * XPath is a language for addressing parts of an XML document, + * designed to be used by both XSLT and XPointer + * http://www.w3.org/TR/xpath + * + * Implements + * W3C Recommendation 16 November 1999 + * http://www.w3.org/TR/1999/REC-xpath-19991116 + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_XPATH_H__ +#define __XML_XPATH_H__ + +#include + +#ifdef LIBXML_XPATH_ENABLED + +#include +#include +#include +#endif /* LIBXML_XPATH_ENABLED */ + +#if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) +#ifdef __cplusplus +extern "C" { +#endif +#endif /* LIBXML_XPATH_ENABLED or LIBXML_SCHEMAS_ENABLED */ + +#ifdef LIBXML_XPATH_ENABLED + +typedef struct _xmlXPathContext xmlXPathContext; +typedef xmlXPathContext *xmlXPathContextPtr; +typedef struct _xmlXPathParserContext xmlXPathParserContext; +typedef xmlXPathParserContext *xmlXPathParserContextPtr; + +/** + * The set of XPath error codes. + */ + +typedef enum { + XPATH_EXPRESSION_OK = 0, + XPATH_NUMBER_ERROR, + XPATH_UNFINISHED_LITERAL_ERROR, + XPATH_START_LITERAL_ERROR, + XPATH_VARIABLE_REF_ERROR, + XPATH_UNDEF_VARIABLE_ERROR, + XPATH_INVALID_PREDICATE_ERROR, + XPATH_EXPR_ERROR, + XPATH_UNCLOSED_ERROR, + XPATH_UNKNOWN_FUNC_ERROR, + XPATH_INVALID_OPERAND, + XPATH_INVALID_TYPE, + XPATH_INVALID_ARITY, + XPATH_INVALID_CTXT_SIZE, + XPATH_INVALID_CTXT_POSITION, + XPATH_MEMORY_ERROR, + XPTR_SYNTAX_ERROR, + XPTR_RESOURCE_ERROR, + XPTR_SUB_RESOURCE_ERROR, + XPATH_UNDEF_PREFIX_ERROR, + XPATH_ENCODING_ERROR, + XPATH_INVALID_CHAR_ERROR, + XPATH_INVALID_CTXT, + XPATH_STACK_ERROR, + XPATH_FORBID_VARIABLE_ERROR, + XPATH_OP_LIMIT_EXCEEDED, + XPATH_RECURSION_LIMIT_EXCEEDED +} xmlXPathError; + +/* + * A node-set (an unordered collection of nodes without duplicates). + */ +typedef struct _xmlNodeSet xmlNodeSet; +typedef xmlNodeSet *xmlNodeSetPtr; +struct _xmlNodeSet { + int nodeNr; /* number of nodes in the set */ + int nodeMax; /* size of the array as allocated */ + xmlNodePtr *nodeTab; /* array of nodes in no particular order */ + /* @@ with_ns to check whether namespace nodes should be looked at @@ */ +}; + +/* + * An expression is evaluated to yield an object, which + * has one of the following four basic types: + * - node-set + * - boolean + * - number + * - string + * + * @@ XPointer will add more types ! + */ + +typedef enum { + XPATH_UNDEFINED = 0, + XPATH_NODESET = 1, + XPATH_BOOLEAN = 2, + XPATH_NUMBER = 3, + XPATH_STRING = 4, +#ifdef LIBXML_XPTR_LOCS_ENABLED + XPATH_POINT = 5, + XPATH_RANGE = 6, + XPATH_LOCATIONSET = 7, +#endif + XPATH_USERS = 8, + XPATH_XSLT_TREE = 9 /* An XSLT value tree, non modifiable */ +} xmlXPathObjectType; + +#ifndef LIBXML_XPTR_LOCS_ENABLED +/** DOC_DISABLE */ +#define XPATH_POINT 5 +#define XPATH_RANGE 6 +#define XPATH_LOCATIONSET 7 +/** DOC_ENABLE */ +#endif + +typedef struct _xmlXPathObject xmlXPathObject; +typedef xmlXPathObject *xmlXPathObjectPtr; +struct _xmlXPathObject { + xmlXPathObjectType type; + xmlNodeSetPtr nodesetval; + int boolval; + double floatval; + xmlChar *stringval; + void *user; + int index; + void *user2; + int index2; +}; + +/** + * xmlXPathConvertFunc: + * @obj: an XPath object + * @type: the number of the target type + * + * A conversion function is associated to a type and used to cast + * the new type to primitive values. + * + * Returns -1 in case of error, 0 otherwise + */ +typedef int (*xmlXPathConvertFunc) (xmlXPathObjectPtr obj, int type); + +/* + * Extra type: a name and a conversion function. + */ + +typedef struct _xmlXPathType xmlXPathType; +typedef xmlXPathType *xmlXPathTypePtr; +struct _xmlXPathType { + const xmlChar *name; /* the type name */ + xmlXPathConvertFunc func; /* the conversion function */ +}; + +/* + * Extra variable: a name and a value. + */ + +typedef struct _xmlXPathVariable xmlXPathVariable; +typedef xmlXPathVariable *xmlXPathVariablePtr; +struct _xmlXPathVariable { + const xmlChar *name; /* the variable name */ + xmlXPathObjectPtr value; /* the value */ +}; + +/** + * xmlXPathEvalFunc: + * @ctxt: an XPath parser context + * @nargs: the number of arguments passed to the function + * + * An XPath evaluation function, the parameters are on the XPath context stack. + */ + +typedef void (*xmlXPathEvalFunc)(xmlXPathParserContextPtr ctxt, + int nargs); + +/* + * Extra function: a name and a evaluation function. + */ + +typedef struct _xmlXPathFunct xmlXPathFunct; +typedef xmlXPathFunct *xmlXPathFuncPtr; +struct _xmlXPathFunct { + const xmlChar *name; /* the function name */ + xmlXPathEvalFunc func; /* the evaluation function */ +}; + +/** + * xmlXPathAxisFunc: + * @ctxt: the XPath interpreter context + * @cur: the previous node being explored on that axis + * + * An axis traversal function. To traverse an axis, the engine calls + * the first time with cur == NULL and repeat until the function returns + * NULL indicating the end of the axis traversal. + * + * Returns the next node in that axis or NULL if at the end of the axis. + */ + +typedef xmlXPathObjectPtr (*xmlXPathAxisFunc) (xmlXPathParserContextPtr ctxt, + xmlXPathObjectPtr cur); + +/* + * Extra axis: a name and an axis function. + */ + +typedef struct _xmlXPathAxis xmlXPathAxis; +typedef xmlXPathAxis *xmlXPathAxisPtr; +struct _xmlXPathAxis { + const xmlChar *name; /* the axis name */ + xmlXPathAxisFunc func; /* the search function */ +}; + +/** + * xmlXPathFunction: + * @ctxt: the XPath interprestation context + * @nargs: the number of arguments + * + * An XPath function. + * The arguments (if any) are popped out from the context stack + * and the result is pushed on the stack. + */ + +typedef void (*xmlXPathFunction) (xmlXPathParserContextPtr ctxt, int nargs); + +/* + * Function and Variable Lookup. + */ + +/** + * xmlXPathVariableLookupFunc: + * @ctxt: an XPath context + * @name: name of the variable + * @ns_uri: the namespace name hosting this variable + * + * Prototype for callbacks used to plug variable lookup in the XPath + * engine. + * + * Returns the XPath object value or NULL if not found. + */ +typedef xmlXPathObjectPtr (*xmlXPathVariableLookupFunc) (void *ctxt, + const xmlChar *name, + const xmlChar *ns_uri); + +/** + * xmlXPathFuncLookupFunc: + * @ctxt: an XPath context + * @name: name of the function + * @ns_uri: the namespace name hosting this function + * + * Prototype for callbacks used to plug function lookup in the XPath + * engine. + * + * Returns the XPath function or NULL if not found. + */ +typedef xmlXPathFunction (*xmlXPathFuncLookupFunc) (void *ctxt, + const xmlChar *name, + const xmlChar *ns_uri); + +/** + * xmlXPathFlags: + * Flags for XPath engine compilation and runtime + */ +/** + * XML_XPATH_CHECKNS: + * + * check namespaces at compilation + */ +#define XML_XPATH_CHECKNS (1<<0) +/** + * XML_XPATH_NOVAR: + * + * forbid variables in expression + */ +#define XML_XPATH_NOVAR (1<<1) + +/** + * xmlXPathContext: + * + * Expression evaluation occurs with respect to a context. + * he context consists of: + * - a node (the context node) + * - a node list (the context node list) + * - a set of variable bindings + * - a function library + * - the set of namespace declarations in scope for the expression + * Following the switch to hash tables, this need to be trimmed up at + * the next binary incompatible release. + * The node may be modified when the context is passed to libxml2 + * for an XPath evaluation so you may need to initialize it again + * before the next call. + */ + +struct _xmlXPathContext { + xmlDocPtr doc; /* The current document */ + xmlNodePtr node; /* The current node */ + + int nb_variables_unused; /* unused (hash table) */ + int max_variables_unused; /* unused (hash table) */ + xmlHashTablePtr varHash; /* Hash table of defined variables */ + + int nb_types; /* number of defined types */ + int max_types; /* max number of types */ + xmlXPathTypePtr types; /* Array of defined types */ + + int nb_funcs_unused; /* unused (hash table) */ + int max_funcs_unused; /* unused (hash table) */ + xmlHashTablePtr funcHash; /* Hash table of defined funcs */ + + int nb_axis; /* number of defined axis */ + int max_axis; /* max number of axis */ + xmlXPathAxisPtr axis; /* Array of defined axis */ + + /* the namespace nodes of the context node */ + xmlNsPtr *namespaces; /* Array of namespaces */ + int nsNr; /* number of namespace in scope */ + void *user; /* function to free */ + + /* extra variables */ + int contextSize; /* the context size */ + int proximityPosition; /* the proximity position */ + + /* extra stuff for XPointer */ + int xptr; /* is this an XPointer context? */ + xmlNodePtr here; /* for here() */ + xmlNodePtr origin; /* for origin() */ + + /* the set of namespace declarations in scope for the expression */ + xmlHashTablePtr nsHash; /* The namespaces hash table */ + xmlXPathVariableLookupFunc varLookupFunc;/* variable lookup func */ + void *varLookupData; /* variable lookup data */ + + /* Possibility to link in an extra item */ + void *extra; /* needed for XSLT */ + + /* The function name and URI when calling a function */ + const xmlChar *function; + const xmlChar *functionURI; + + /* function lookup function and data */ + xmlXPathFuncLookupFunc funcLookupFunc;/* function lookup func */ + void *funcLookupData; /* function lookup data */ + + /* temporary namespace lists kept for walking the namespace axis */ + xmlNsPtr *tmpNsList; /* Array of namespaces */ + int tmpNsNr; /* number of namespaces in scope */ + + /* error reporting mechanism */ + void *userData; /* user specific data block */ + xmlStructuredErrorFunc error; /* the callback in case of errors */ + xmlError lastError; /* the last error */ + xmlNodePtr debugNode; /* the source node XSLT */ + + /* dictionary */ + xmlDictPtr dict; /* dictionary if any */ + + int flags; /* flags to control compilation */ + + /* Cache for reusal of XPath objects */ + void *cache; + + /* Resource limits */ + unsigned long opLimit; + unsigned long opCount; + int depth; +}; + +/* + * The structure of a compiled expression form is not public. + */ + +typedef struct _xmlXPathCompExpr xmlXPathCompExpr; +typedef xmlXPathCompExpr *xmlXPathCompExprPtr; + +/** + * xmlXPathParserContext: + * + * An XPath parser context. It contains pure parsing information, + * an xmlXPathContext, and the stack of objects. + */ +struct _xmlXPathParserContext { + const xmlChar *cur; /* the current char being parsed */ + const xmlChar *base; /* the full expression */ + + int error; /* error code */ + + xmlXPathContextPtr context; /* the evaluation context */ + xmlXPathObjectPtr value; /* the current value */ + int valueNr; /* number of values stacked */ + int valueMax; /* max number of values stacked */ + xmlXPathObjectPtr *valueTab; /* stack of values */ + + xmlXPathCompExprPtr comp; /* the precompiled expression */ + int xptr; /* it this an XPointer expression */ + xmlNodePtr ancestor; /* used for walking preceding axis */ + + int valueFrame; /* always zero for compatibility */ +}; + +/************************************************************************ + * * + * Public API * + * * + ************************************************************************/ + +/** + * Objects and Nodesets handling + */ + +XMLPUBVAR double xmlXPathNAN; +XMLPUBVAR double xmlXPathPINF; +XMLPUBVAR double xmlXPathNINF; + +/* These macros may later turn into functions */ +/** + * xmlXPathNodeSetGetLength: + * @ns: a node-set + * + * Implement a functionality similar to the DOM NodeList.length. + * + * Returns the number of nodes in the node-set. + */ +#define xmlXPathNodeSetGetLength(ns) ((ns) ? (ns)->nodeNr : 0) +/** + * xmlXPathNodeSetItem: + * @ns: a node-set + * @index: index of a node in the set + * + * Implements a functionality similar to the DOM NodeList.item(). + * + * Returns the xmlNodePtr at the given @index in @ns or NULL if + * @index is out of range (0 to length-1) + */ +#define xmlXPathNodeSetItem(ns, index) \ + ((((ns) != NULL) && \ + ((index) >= 0) && ((index) < (ns)->nodeNr)) ? \ + (ns)->nodeTab[(index)] \ + : NULL) +/** + * xmlXPathNodeSetIsEmpty: + * @ns: a node-set + * + * Checks whether @ns is empty or not. + * + * Returns %TRUE if @ns is an empty node-set. + */ +#define xmlXPathNodeSetIsEmpty(ns) \ + (((ns) == NULL) || ((ns)->nodeNr == 0) || ((ns)->nodeTab == NULL)) + + +XMLPUBFUN void + xmlXPathFreeObject (xmlXPathObjectPtr obj); +XMLPUBFUN xmlNodeSetPtr + xmlXPathNodeSetCreate (xmlNodePtr val); +XMLPUBFUN void + xmlXPathFreeNodeSetList (xmlXPathObjectPtr obj); +XMLPUBFUN void + xmlXPathFreeNodeSet (xmlNodeSetPtr obj); +XMLPUBFUN xmlXPathObjectPtr + xmlXPathObjectCopy (xmlXPathObjectPtr val); +XMLPUBFUN int + xmlXPathCmpNodes (xmlNodePtr node1, + xmlNodePtr node2); +/** + * Conversion functions to basic types. + */ +XMLPUBFUN int + xmlXPathCastNumberToBoolean (double val); +XMLPUBFUN int + xmlXPathCastStringToBoolean (const xmlChar * val); +XMLPUBFUN int + xmlXPathCastNodeSetToBoolean(xmlNodeSetPtr ns); +XMLPUBFUN int + xmlXPathCastToBoolean (xmlXPathObjectPtr val); + +XMLPUBFUN double + xmlXPathCastBooleanToNumber (int val); +XMLPUBFUN double + xmlXPathCastStringToNumber (const xmlChar * val); +XMLPUBFUN double + xmlXPathCastNodeToNumber (xmlNodePtr node); +XMLPUBFUN double + xmlXPathCastNodeSetToNumber (xmlNodeSetPtr ns); +XMLPUBFUN double + xmlXPathCastToNumber (xmlXPathObjectPtr val); + +XMLPUBFUN xmlChar * + xmlXPathCastBooleanToString (int val); +XMLPUBFUN xmlChar * + xmlXPathCastNumberToString (double val); +XMLPUBFUN xmlChar * + xmlXPathCastNodeToString (xmlNodePtr node); +XMLPUBFUN xmlChar * + xmlXPathCastNodeSetToString (xmlNodeSetPtr ns); +XMLPUBFUN xmlChar * + xmlXPathCastToString (xmlXPathObjectPtr val); + +XMLPUBFUN xmlXPathObjectPtr + xmlXPathConvertBoolean (xmlXPathObjectPtr val); +XMLPUBFUN xmlXPathObjectPtr + xmlXPathConvertNumber (xmlXPathObjectPtr val); +XMLPUBFUN xmlXPathObjectPtr + xmlXPathConvertString (xmlXPathObjectPtr val); + +/** + * Context handling. + */ +XMLPUBFUN xmlXPathContextPtr + xmlXPathNewContext (xmlDocPtr doc); +XMLPUBFUN void + xmlXPathFreeContext (xmlXPathContextPtr ctxt); +XMLPUBFUN void + xmlXPathSetErrorHandler(xmlXPathContextPtr ctxt, + xmlStructuredErrorFunc handler, + void *context); +XMLPUBFUN int + xmlXPathContextSetCache(xmlXPathContextPtr ctxt, + int active, + int value, + int options); +/** + * Evaluation functions. + */ +XMLPUBFUN long + xmlXPathOrderDocElems (xmlDocPtr doc); +XMLPUBFUN int + xmlXPathSetContextNode (xmlNodePtr node, + xmlXPathContextPtr ctx); +XMLPUBFUN xmlXPathObjectPtr + xmlXPathNodeEval (xmlNodePtr node, + const xmlChar *str, + xmlXPathContextPtr ctx); +XMLPUBFUN xmlXPathObjectPtr + xmlXPathEval (const xmlChar *str, + xmlXPathContextPtr ctx); +XMLPUBFUN xmlXPathObjectPtr + xmlXPathEvalExpression (const xmlChar *str, + xmlXPathContextPtr ctxt); +XMLPUBFUN int + xmlXPathEvalPredicate (xmlXPathContextPtr ctxt, + xmlXPathObjectPtr res); +/** + * Separate compilation/evaluation entry points. + */ +XMLPUBFUN xmlXPathCompExprPtr + xmlXPathCompile (const xmlChar *str); +XMLPUBFUN xmlXPathCompExprPtr + xmlXPathCtxtCompile (xmlXPathContextPtr ctxt, + const xmlChar *str); +XMLPUBFUN xmlXPathObjectPtr + xmlXPathCompiledEval (xmlXPathCompExprPtr comp, + xmlXPathContextPtr ctx); +XMLPUBFUN int + xmlXPathCompiledEvalToBoolean(xmlXPathCompExprPtr comp, + xmlXPathContextPtr ctxt); +XMLPUBFUN void + xmlXPathFreeCompExpr (xmlXPathCompExprPtr comp); +#endif /* LIBXML_XPATH_ENABLED */ +#if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) +XML_DEPRECATED +XMLPUBFUN void + xmlXPathInit (void); +XMLPUBFUN int + xmlXPathIsNaN (double val); +XMLPUBFUN int + xmlXPathIsInf (double val); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_XPATH_ENABLED or LIBXML_SCHEMAS_ENABLED*/ +#endif /* ! __XML_XPATH_H__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xpathInternals.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xpathInternals.h new file mode 100644 index 0000000..d1c90df --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xpathInternals.h @@ -0,0 +1,633 @@ +/* + * Summary: internal interfaces for XML Path Language implementation + * Description: internal interfaces for XML Path Language implementation + * used to build new modules on top of XPath like XPointer and + * XSLT + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_XPATH_INTERNALS_H__ +#define __XML_XPATH_INTERNALS_H__ + +#include +#include +#include + +#ifdef LIBXML_XPATH_ENABLED + +#ifdef __cplusplus +extern "C" { +#endif + +/************************************************************************ + * * + * Helpers * + * * + ************************************************************************/ + +/* + * Many of these macros may later turn into functions. They + * shouldn't be used in #ifdef's preprocessor instructions. + */ +/** + * xmlXPathSetError: + * @ctxt: an XPath parser context + * @err: an xmlXPathError code + * + * Raises an error. + */ +#define xmlXPathSetError(ctxt, err) \ + { xmlXPatherror((ctxt), __FILE__, __LINE__, (err)); \ + if ((ctxt) != NULL) (ctxt)->error = (err); } + +/** + * xmlXPathSetArityError: + * @ctxt: an XPath parser context + * + * Raises an XPATH_INVALID_ARITY error. + */ +#define xmlXPathSetArityError(ctxt) \ + xmlXPathSetError((ctxt), XPATH_INVALID_ARITY) + +/** + * xmlXPathSetTypeError: + * @ctxt: an XPath parser context + * + * Raises an XPATH_INVALID_TYPE error. + */ +#define xmlXPathSetTypeError(ctxt) \ + xmlXPathSetError((ctxt), XPATH_INVALID_TYPE) + +/** + * xmlXPathGetError: + * @ctxt: an XPath parser context + * + * Get the error code of an XPath context. + * + * Returns the context error. + */ +#define xmlXPathGetError(ctxt) ((ctxt)->error) + +/** + * xmlXPathCheckError: + * @ctxt: an XPath parser context + * + * Check if an XPath error was raised. + * + * Returns true if an error has been raised, false otherwise. + */ +#define xmlXPathCheckError(ctxt) ((ctxt)->error != XPATH_EXPRESSION_OK) + +/** + * xmlXPathGetDocument: + * @ctxt: an XPath parser context + * + * Get the document of an XPath context. + * + * Returns the context document. + */ +#define xmlXPathGetDocument(ctxt) ((ctxt)->context->doc) + +/** + * xmlXPathGetContextNode: + * @ctxt: an XPath parser context + * + * Get the context node of an XPath context. + * + * Returns the context node. + */ +#define xmlXPathGetContextNode(ctxt) ((ctxt)->context->node) + +XMLPUBFUN int + xmlXPathPopBoolean (xmlXPathParserContextPtr ctxt); +XMLPUBFUN double + xmlXPathPopNumber (xmlXPathParserContextPtr ctxt); +XMLPUBFUN xmlChar * + xmlXPathPopString (xmlXPathParserContextPtr ctxt); +XMLPUBFUN xmlNodeSetPtr + xmlXPathPopNodeSet (xmlXPathParserContextPtr ctxt); +XMLPUBFUN void * + xmlXPathPopExternal (xmlXPathParserContextPtr ctxt); + +/** + * xmlXPathReturnBoolean: + * @ctxt: an XPath parser context + * @val: a boolean + * + * Pushes the boolean @val on the context stack. + */ +#define xmlXPathReturnBoolean(ctxt, val) \ + valuePush((ctxt), xmlXPathNewBoolean(val)) + +/** + * xmlXPathReturnTrue: + * @ctxt: an XPath parser context + * + * Pushes true on the context stack. + */ +#define xmlXPathReturnTrue(ctxt) xmlXPathReturnBoolean((ctxt), 1) + +/** + * xmlXPathReturnFalse: + * @ctxt: an XPath parser context + * + * Pushes false on the context stack. + */ +#define xmlXPathReturnFalse(ctxt) xmlXPathReturnBoolean((ctxt), 0) + +/** + * xmlXPathReturnNumber: + * @ctxt: an XPath parser context + * @val: a double + * + * Pushes the double @val on the context stack. + */ +#define xmlXPathReturnNumber(ctxt, val) \ + valuePush((ctxt), xmlXPathNewFloat(val)) + +/** + * xmlXPathReturnString: + * @ctxt: an XPath parser context + * @str: a string + * + * Pushes the string @str on the context stack. + */ +#define xmlXPathReturnString(ctxt, str) \ + valuePush((ctxt), xmlXPathWrapString(str)) + +/** + * xmlXPathReturnEmptyString: + * @ctxt: an XPath parser context + * + * Pushes an empty string on the stack. + */ +#define xmlXPathReturnEmptyString(ctxt) \ + valuePush((ctxt), xmlXPathNewCString("")) + +/** + * xmlXPathReturnNodeSet: + * @ctxt: an XPath parser context + * @ns: a node-set + * + * Pushes the node-set @ns on the context stack. + */ +#define xmlXPathReturnNodeSet(ctxt, ns) \ + valuePush((ctxt), xmlXPathWrapNodeSet(ns)) + +/** + * xmlXPathReturnEmptyNodeSet: + * @ctxt: an XPath parser context + * + * Pushes an empty node-set on the context stack. + */ +#define xmlXPathReturnEmptyNodeSet(ctxt) \ + valuePush((ctxt), xmlXPathNewNodeSet(NULL)) + +/** + * xmlXPathReturnExternal: + * @ctxt: an XPath parser context + * @val: user data + * + * Pushes user data on the context stack. + */ +#define xmlXPathReturnExternal(ctxt, val) \ + valuePush((ctxt), xmlXPathWrapExternal(val)) + +/** + * xmlXPathStackIsNodeSet: + * @ctxt: an XPath parser context + * + * Check if the current value on the XPath stack is a node set or + * an XSLT value tree. + * + * Returns true if the current object on the stack is a node-set. + */ +#define xmlXPathStackIsNodeSet(ctxt) \ + (((ctxt)->value != NULL) \ + && (((ctxt)->value->type == XPATH_NODESET) \ + || ((ctxt)->value->type == XPATH_XSLT_TREE))) + +/** + * xmlXPathStackIsExternal: + * @ctxt: an XPath parser context + * + * Checks if the current value on the XPath stack is an external + * object. + * + * Returns true if the current object on the stack is an external + * object. + */ +#define xmlXPathStackIsExternal(ctxt) \ + ((ctxt->value != NULL) && (ctxt->value->type == XPATH_USERS)) + +/** + * xmlXPathEmptyNodeSet: + * @ns: a node-set + * + * Empties a node-set. + */ +#define xmlXPathEmptyNodeSet(ns) \ + { while ((ns)->nodeNr > 0) (ns)->nodeTab[--(ns)->nodeNr] = NULL; } + +/** + * CHECK_ERROR: + * + * Macro to return from the function if an XPath error was detected. + */ +#define CHECK_ERROR \ + if (ctxt->error != XPATH_EXPRESSION_OK) return + +/** + * CHECK_ERROR0: + * + * Macro to return 0 from the function if an XPath error was detected. + */ +#define CHECK_ERROR0 \ + if (ctxt->error != XPATH_EXPRESSION_OK) return(0) + +/** + * XP_ERROR: + * @X: the error code + * + * Macro to raise an XPath error and return. + */ +#define XP_ERROR(X) \ + { xmlXPathErr(ctxt, X); return; } + +/** + * XP_ERROR0: + * @X: the error code + * + * Macro to raise an XPath error and return 0. + */ +#define XP_ERROR0(X) \ + { xmlXPathErr(ctxt, X); return(0); } + +/** + * CHECK_TYPE: + * @typeval: the XPath type + * + * Macro to check that the value on top of the XPath stack is of a given + * type. + */ +#define CHECK_TYPE(typeval) \ + if ((ctxt->value == NULL) || (ctxt->value->type != typeval)) \ + XP_ERROR(XPATH_INVALID_TYPE) + +/** + * CHECK_TYPE0: + * @typeval: the XPath type + * + * Macro to check that the value on top of the XPath stack is of a given + * type. Return(0) in case of failure + */ +#define CHECK_TYPE0(typeval) \ + if ((ctxt->value == NULL) || (ctxt->value->type != typeval)) \ + XP_ERROR0(XPATH_INVALID_TYPE) + +/** + * CHECK_ARITY: + * @x: the number of expected args + * + * Macro to check that the number of args passed to an XPath function matches. + */ +#define CHECK_ARITY(x) \ + if (ctxt == NULL) return; \ + if (nargs != (x)) \ + XP_ERROR(XPATH_INVALID_ARITY); \ + if (ctxt->valueNr < (x)) \ + XP_ERROR(XPATH_STACK_ERROR); + +/** + * CAST_TO_STRING: + * + * Macro to try to cast the value on the top of the XPath stack to a string. + */ +#define CAST_TO_STRING \ + if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_STRING)) \ + xmlXPathStringFunction(ctxt, 1); + +/** + * CAST_TO_NUMBER: + * + * Macro to try to cast the value on the top of the XPath stack to a number. + */ +#define CAST_TO_NUMBER \ + if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_NUMBER)) \ + xmlXPathNumberFunction(ctxt, 1); + +/** + * CAST_TO_BOOLEAN: + * + * Macro to try to cast the value on the top of the XPath stack to a boolean. + */ +#define CAST_TO_BOOLEAN \ + if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_BOOLEAN)) \ + xmlXPathBooleanFunction(ctxt, 1); + +/* + * Variable Lookup forwarding. + */ + +XMLPUBFUN void + xmlXPathRegisterVariableLookup (xmlXPathContextPtr ctxt, + xmlXPathVariableLookupFunc f, + void *data); + +/* + * Function Lookup forwarding. + */ + +XMLPUBFUN void + xmlXPathRegisterFuncLookup (xmlXPathContextPtr ctxt, + xmlXPathFuncLookupFunc f, + void *funcCtxt); + +/* + * Error reporting. + */ +XMLPUBFUN void + xmlXPatherror (xmlXPathParserContextPtr ctxt, + const char *file, + int line, + int no); + +XMLPUBFUN void + xmlXPathErr (xmlXPathParserContextPtr ctxt, + int error); + +#ifdef LIBXML_DEBUG_ENABLED +XMLPUBFUN void + xmlXPathDebugDumpObject (FILE *output, + xmlXPathObjectPtr cur, + int depth); +XMLPUBFUN void + xmlXPathDebugDumpCompExpr(FILE *output, + xmlXPathCompExprPtr comp, + int depth); +#endif +/** + * NodeSet handling. + */ +XMLPUBFUN int + xmlXPathNodeSetContains (xmlNodeSetPtr cur, + xmlNodePtr val); +XMLPUBFUN xmlNodeSetPtr + xmlXPathDifference (xmlNodeSetPtr nodes1, + xmlNodeSetPtr nodes2); +XMLPUBFUN xmlNodeSetPtr + xmlXPathIntersection (xmlNodeSetPtr nodes1, + xmlNodeSetPtr nodes2); + +XMLPUBFUN xmlNodeSetPtr + xmlXPathDistinctSorted (xmlNodeSetPtr nodes); +XMLPUBFUN xmlNodeSetPtr + xmlXPathDistinct (xmlNodeSetPtr nodes); + +XMLPUBFUN int + xmlXPathHasSameNodes (xmlNodeSetPtr nodes1, + xmlNodeSetPtr nodes2); + +XMLPUBFUN xmlNodeSetPtr + xmlXPathNodeLeadingSorted (xmlNodeSetPtr nodes, + xmlNodePtr node); +XMLPUBFUN xmlNodeSetPtr + xmlXPathLeadingSorted (xmlNodeSetPtr nodes1, + xmlNodeSetPtr nodes2); +XMLPUBFUN xmlNodeSetPtr + xmlXPathNodeLeading (xmlNodeSetPtr nodes, + xmlNodePtr node); +XMLPUBFUN xmlNodeSetPtr + xmlXPathLeading (xmlNodeSetPtr nodes1, + xmlNodeSetPtr nodes2); + +XMLPUBFUN xmlNodeSetPtr + xmlXPathNodeTrailingSorted (xmlNodeSetPtr nodes, + xmlNodePtr node); +XMLPUBFUN xmlNodeSetPtr + xmlXPathTrailingSorted (xmlNodeSetPtr nodes1, + xmlNodeSetPtr nodes2); +XMLPUBFUN xmlNodeSetPtr + xmlXPathNodeTrailing (xmlNodeSetPtr nodes, + xmlNodePtr node); +XMLPUBFUN xmlNodeSetPtr + xmlXPathTrailing (xmlNodeSetPtr nodes1, + xmlNodeSetPtr nodes2); + + +/** + * Extending a context. + */ + +XMLPUBFUN int + xmlXPathRegisterNs (xmlXPathContextPtr ctxt, + const xmlChar *prefix, + const xmlChar *ns_uri); +XMLPUBFUN const xmlChar * + xmlXPathNsLookup (xmlXPathContextPtr ctxt, + const xmlChar *prefix); +XMLPUBFUN void + xmlXPathRegisteredNsCleanup (xmlXPathContextPtr ctxt); + +XMLPUBFUN int + xmlXPathRegisterFunc (xmlXPathContextPtr ctxt, + const xmlChar *name, + xmlXPathFunction f); +XMLPUBFUN int + xmlXPathRegisterFuncNS (xmlXPathContextPtr ctxt, + const xmlChar *name, + const xmlChar *ns_uri, + xmlXPathFunction f); +XMLPUBFUN int + xmlXPathRegisterVariable (xmlXPathContextPtr ctxt, + const xmlChar *name, + xmlXPathObjectPtr value); +XMLPUBFUN int + xmlXPathRegisterVariableNS (xmlXPathContextPtr ctxt, + const xmlChar *name, + const xmlChar *ns_uri, + xmlXPathObjectPtr value); +XMLPUBFUN xmlXPathFunction + xmlXPathFunctionLookup (xmlXPathContextPtr ctxt, + const xmlChar *name); +XMLPUBFUN xmlXPathFunction + xmlXPathFunctionLookupNS (xmlXPathContextPtr ctxt, + const xmlChar *name, + const xmlChar *ns_uri); +XMLPUBFUN void + xmlXPathRegisteredFuncsCleanup (xmlXPathContextPtr ctxt); +XMLPUBFUN xmlXPathObjectPtr + xmlXPathVariableLookup (xmlXPathContextPtr ctxt, + const xmlChar *name); +XMLPUBFUN xmlXPathObjectPtr + xmlXPathVariableLookupNS (xmlXPathContextPtr ctxt, + const xmlChar *name, + const xmlChar *ns_uri); +XMLPUBFUN void + xmlXPathRegisteredVariablesCleanup(xmlXPathContextPtr ctxt); + +/** + * Utilities to extend XPath. + */ +XMLPUBFUN xmlXPathParserContextPtr + xmlXPathNewParserContext (const xmlChar *str, + xmlXPathContextPtr ctxt); +XMLPUBFUN void + xmlXPathFreeParserContext (xmlXPathParserContextPtr ctxt); + +/* TODO: remap to xmlXPathValuePop and Push. */ +XMLPUBFUN xmlXPathObjectPtr + valuePop (xmlXPathParserContextPtr ctxt); +XMLPUBFUN int + valuePush (xmlXPathParserContextPtr ctxt, + xmlXPathObjectPtr value); + +XMLPUBFUN xmlXPathObjectPtr + xmlXPathNewString (const xmlChar *val); +XMLPUBFUN xmlXPathObjectPtr + xmlXPathNewCString (const char *val); +XMLPUBFUN xmlXPathObjectPtr + xmlXPathWrapString (xmlChar *val); +XMLPUBFUN xmlXPathObjectPtr + xmlXPathWrapCString (char * val); +XMLPUBFUN xmlXPathObjectPtr + xmlXPathNewFloat (double val); +XMLPUBFUN xmlXPathObjectPtr + xmlXPathNewBoolean (int val); +XMLPUBFUN xmlXPathObjectPtr + xmlXPathNewNodeSet (xmlNodePtr val); +XMLPUBFUN xmlXPathObjectPtr + xmlXPathNewValueTree (xmlNodePtr val); +XMLPUBFUN int + xmlXPathNodeSetAdd (xmlNodeSetPtr cur, + xmlNodePtr val); +XMLPUBFUN int + xmlXPathNodeSetAddUnique (xmlNodeSetPtr cur, + xmlNodePtr val); +XMLPUBFUN int + xmlXPathNodeSetAddNs (xmlNodeSetPtr cur, + xmlNodePtr node, + xmlNsPtr ns); +XMLPUBFUN void + xmlXPathNodeSetSort (xmlNodeSetPtr set); + +XMLPUBFUN void + xmlXPathRoot (xmlXPathParserContextPtr ctxt); +XMLPUBFUN void + xmlXPathEvalExpr (xmlXPathParserContextPtr ctxt); +XMLPUBFUN xmlChar * + xmlXPathParseName (xmlXPathParserContextPtr ctxt); +XMLPUBFUN xmlChar * + xmlXPathParseNCName (xmlXPathParserContextPtr ctxt); + +/* + * Existing functions. + */ +XMLPUBFUN double + xmlXPathStringEvalNumber (const xmlChar *str); +XMLPUBFUN int + xmlXPathEvaluatePredicateResult (xmlXPathParserContextPtr ctxt, + xmlXPathObjectPtr res); +XMLPUBFUN void + xmlXPathRegisterAllFunctions (xmlXPathContextPtr ctxt); +XMLPUBFUN xmlNodeSetPtr + xmlXPathNodeSetMerge (xmlNodeSetPtr val1, + xmlNodeSetPtr val2); +XMLPUBFUN void + xmlXPathNodeSetDel (xmlNodeSetPtr cur, + xmlNodePtr val); +XMLPUBFUN void + xmlXPathNodeSetRemove (xmlNodeSetPtr cur, + int val); +XMLPUBFUN xmlXPathObjectPtr + xmlXPathNewNodeSetList (xmlNodeSetPtr val); +XMLPUBFUN xmlXPathObjectPtr + xmlXPathWrapNodeSet (xmlNodeSetPtr val); +XMLPUBFUN xmlXPathObjectPtr + xmlXPathWrapExternal (void *val); + +XMLPUBFUN int xmlXPathEqualValues(xmlXPathParserContextPtr ctxt); +XMLPUBFUN int xmlXPathNotEqualValues(xmlXPathParserContextPtr ctxt); +XMLPUBFUN int xmlXPathCompareValues(xmlXPathParserContextPtr ctxt, int inf, int strict); +XMLPUBFUN void xmlXPathValueFlipSign(xmlXPathParserContextPtr ctxt); +XMLPUBFUN void xmlXPathAddValues(xmlXPathParserContextPtr ctxt); +XMLPUBFUN void xmlXPathSubValues(xmlXPathParserContextPtr ctxt); +XMLPUBFUN void xmlXPathMultValues(xmlXPathParserContextPtr ctxt); +XMLPUBFUN void xmlXPathDivValues(xmlXPathParserContextPtr ctxt); +XMLPUBFUN void xmlXPathModValues(xmlXPathParserContextPtr ctxt); + +XMLPUBFUN int xmlXPathIsNodeType(const xmlChar *name); + +/* + * Some of the axis navigation routines. + */ +XMLPUBFUN xmlNodePtr xmlXPathNextSelf(xmlXPathParserContextPtr ctxt, + xmlNodePtr cur); +XMLPUBFUN xmlNodePtr xmlXPathNextChild(xmlXPathParserContextPtr ctxt, + xmlNodePtr cur); +XMLPUBFUN xmlNodePtr xmlXPathNextDescendant(xmlXPathParserContextPtr ctxt, + xmlNodePtr cur); +XMLPUBFUN xmlNodePtr xmlXPathNextDescendantOrSelf(xmlXPathParserContextPtr ctxt, + xmlNodePtr cur); +XMLPUBFUN xmlNodePtr xmlXPathNextParent(xmlXPathParserContextPtr ctxt, + xmlNodePtr cur); +XMLPUBFUN xmlNodePtr xmlXPathNextAncestorOrSelf(xmlXPathParserContextPtr ctxt, + xmlNodePtr cur); +XMLPUBFUN xmlNodePtr xmlXPathNextFollowingSibling(xmlXPathParserContextPtr ctxt, + xmlNodePtr cur); +XMLPUBFUN xmlNodePtr xmlXPathNextFollowing(xmlXPathParserContextPtr ctxt, + xmlNodePtr cur); +XMLPUBFUN xmlNodePtr xmlXPathNextNamespace(xmlXPathParserContextPtr ctxt, + xmlNodePtr cur); +XMLPUBFUN xmlNodePtr xmlXPathNextAttribute(xmlXPathParserContextPtr ctxt, + xmlNodePtr cur); +XMLPUBFUN xmlNodePtr xmlXPathNextPreceding(xmlXPathParserContextPtr ctxt, + xmlNodePtr cur); +XMLPUBFUN xmlNodePtr xmlXPathNextAncestor(xmlXPathParserContextPtr ctxt, + xmlNodePtr cur); +XMLPUBFUN xmlNodePtr xmlXPathNextPrecedingSibling(xmlXPathParserContextPtr ctxt, + xmlNodePtr cur); +/* + * The official core of XPath functions. + */ +XMLPUBFUN void xmlXPathLastFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void xmlXPathPositionFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void xmlXPathCountFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void xmlXPathIdFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void xmlXPathLocalNameFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void xmlXPathNamespaceURIFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void xmlXPathStringFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void xmlXPathStringLengthFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void xmlXPathConcatFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void xmlXPathContainsFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void xmlXPathStartsWithFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void xmlXPathSubstringFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void xmlXPathSubstringBeforeFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void xmlXPathSubstringAfterFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void xmlXPathNormalizeFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void xmlXPathTranslateFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void xmlXPathNotFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void xmlXPathTrueFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void xmlXPathFalseFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void xmlXPathLangFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void xmlXPathNumberFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void xmlXPathSumFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void xmlXPathFloorFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void xmlXPathCeilingFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void xmlXPathRoundFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void xmlXPathBooleanFunction(xmlXPathParserContextPtr ctxt, int nargs); + +/** + * Really internal functions + */ +XMLPUBFUN void xmlXPathNodeSetFreeNs(xmlNsPtr ns); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_XPATH_ENABLED */ +#endif /* ! __XML_XPATH_INTERNALS_H__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xpointer.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xpointer.h new file mode 100644 index 0000000..a526000 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xpointer.h @@ -0,0 +1,138 @@ +/* + * Summary: API to handle XML Pointers + * Description: API to handle XML Pointers + * Base implementation was made accordingly to + * W3C Candidate Recommendation 7 June 2000 + * http://www.w3.org/TR/2000/CR-xptr-20000607 + * + * Added support for the element() scheme described in: + * W3C Proposed Recommendation 13 November 2002 + * http://www.w3.org/TR/2002/PR-xptr-element-20021113/ + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_XPTR_H__ +#define __XML_XPTR_H__ + +#include + +#ifdef LIBXML_XPTR_ENABLED + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#if defined(LIBXML_XPTR_LOCS_ENABLED) +/* + * A Location Set + */ +typedef struct _xmlLocationSet xmlLocationSet; +typedef xmlLocationSet *xmlLocationSetPtr; +struct _xmlLocationSet { + int locNr; /* number of locations in the set */ + int locMax; /* size of the array as allocated */ + xmlXPathObjectPtr *locTab;/* array of locations */ +}; + +/* + * Handling of location sets. + */ + +XML_DEPRECATED +XMLPUBFUN xmlLocationSetPtr + xmlXPtrLocationSetCreate (xmlXPathObjectPtr val); +XML_DEPRECATED +XMLPUBFUN void + xmlXPtrFreeLocationSet (xmlLocationSetPtr obj); +XML_DEPRECATED +XMLPUBFUN xmlLocationSetPtr + xmlXPtrLocationSetMerge (xmlLocationSetPtr val1, + xmlLocationSetPtr val2); +XML_DEPRECATED +XMLPUBFUN xmlXPathObjectPtr + xmlXPtrNewRange (xmlNodePtr start, + int startindex, + xmlNodePtr end, + int endindex); +XML_DEPRECATED +XMLPUBFUN xmlXPathObjectPtr + xmlXPtrNewRangePoints (xmlXPathObjectPtr start, + xmlXPathObjectPtr end); +XML_DEPRECATED +XMLPUBFUN xmlXPathObjectPtr + xmlXPtrNewRangeNodePoint (xmlNodePtr start, + xmlXPathObjectPtr end); +XML_DEPRECATED +XMLPUBFUN xmlXPathObjectPtr + xmlXPtrNewRangePointNode (xmlXPathObjectPtr start, + xmlNodePtr end); +XML_DEPRECATED +XMLPUBFUN xmlXPathObjectPtr + xmlXPtrNewRangeNodes (xmlNodePtr start, + xmlNodePtr end); +XML_DEPRECATED +XMLPUBFUN xmlXPathObjectPtr + xmlXPtrNewLocationSetNodes (xmlNodePtr start, + xmlNodePtr end); +XML_DEPRECATED +XMLPUBFUN xmlXPathObjectPtr + xmlXPtrNewLocationSetNodeSet(xmlNodeSetPtr set); +XML_DEPRECATED +XMLPUBFUN xmlXPathObjectPtr + xmlXPtrNewRangeNodeObject (xmlNodePtr start, + xmlXPathObjectPtr end); +XML_DEPRECATED +XMLPUBFUN xmlXPathObjectPtr + xmlXPtrNewCollapsedRange (xmlNodePtr start); +XML_DEPRECATED +XMLPUBFUN void + xmlXPtrLocationSetAdd (xmlLocationSetPtr cur, + xmlXPathObjectPtr val); +XML_DEPRECATED +XMLPUBFUN xmlXPathObjectPtr + xmlXPtrWrapLocationSet (xmlLocationSetPtr val); +XML_DEPRECATED +XMLPUBFUN void + xmlXPtrLocationSetDel (xmlLocationSetPtr cur, + xmlXPathObjectPtr val); +XML_DEPRECATED +XMLPUBFUN void + xmlXPtrLocationSetRemove (xmlLocationSetPtr cur, + int val); +#endif /* defined(LIBXML_XPTR_LOCS_ENABLED) */ + +/* + * Functions. + */ +XMLPUBFUN xmlXPathContextPtr + xmlXPtrNewContext (xmlDocPtr doc, + xmlNodePtr here, + xmlNodePtr origin); +XMLPUBFUN xmlXPathObjectPtr + xmlXPtrEval (const xmlChar *str, + xmlXPathContextPtr ctx); + +#if defined(LIBXML_XPTR_LOCS_ENABLED) +XML_DEPRECATED +XMLPUBFUN void + xmlXPtrRangeToFunction (xmlXPathParserContextPtr ctxt, + int nargs); +XML_DEPRECATED +XMLPUBFUN xmlNodePtr + xmlXPtrBuildNodeList (xmlXPathObjectPtr obj); +XML_DEPRECATED +XMLPUBFUN void + xmlXPtrEvalRangePredicate (xmlXPathParserContextPtr ctxt); +#endif /* defined(LIBXML_XPTR_LOCS_ENABLED) */ +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_XPTR_ENABLED */ +#endif /* __XML_XPTR_H__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/attributes.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/attributes.h new file mode 100644 index 0000000..d9b99a7 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/attributes.h @@ -0,0 +1,39 @@ +/* + * Summary: interface for the XSLT attribute handling + * Description: this module handles the specificities of attribute + * and attribute groups processing. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_XSLT_ATTRIBUTES_H__ +#define __XML_XSLT_ATTRIBUTES_H__ + +#include +#include "xsltexports.h" +#include "xsltInternals.h" + +#ifdef __cplusplus +extern "C" { +#endif + +XSLTPUBFUN void XSLTCALL + xsltParseStylesheetAttributeSet (xsltStylesheetPtr style, + xmlNodePtr cur); +XSLTPUBFUN void XSLTCALL + xsltFreeAttributeSetsHashes (xsltStylesheetPtr style); +XSLTPUBFUN void XSLTCALL + xsltApplyAttributeSet (xsltTransformContextPtr ctxt, + xmlNodePtr node, + xmlNodePtr inst, + const xmlChar *attributes); +XSLTPUBFUN void XSLTCALL + xsltResolveStylesheetAttributeSet(xsltStylesheetPtr style); +#ifdef __cplusplus +} +#endif + +#endif /* __XML_XSLT_ATTRIBUTES_H__ */ + diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/documents.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/documents.h new file mode 100644 index 0000000..ae7c0ca --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/documents.h @@ -0,0 +1,93 @@ +/* + * Summary: interface for the document handling + * Description: implements document loading and cache (multiple + * document() reference for the same resources must + * be equal. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_XSLT_DOCUMENTS_H__ +#define __XML_XSLT_DOCUMENTS_H__ + +#include +#include "xsltexports.h" +#include "xsltInternals.h" + +#ifdef __cplusplus +extern "C" { +#endif + +XSLTPUBFUN xsltDocumentPtr XSLTCALL + xsltNewDocument (xsltTransformContextPtr ctxt, + xmlDocPtr doc); +XSLTPUBFUN xsltDocumentPtr XSLTCALL + xsltLoadDocument (xsltTransformContextPtr ctxt, + const xmlChar *URI); +XSLTPUBFUN xsltDocumentPtr XSLTCALL + xsltFindDocument (xsltTransformContextPtr ctxt, + xmlDocPtr doc); +XSLTPUBFUN void XSLTCALL + xsltFreeDocuments (xsltTransformContextPtr ctxt); + +XSLTPUBFUN xsltDocumentPtr XSLTCALL + xsltLoadStyleDocument (xsltStylesheetPtr style, + const xmlChar *URI); +XSLTPUBFUN xsltDocumentPtr XSLTCALL + xsltNewStyleDocument (xsltStylesheetPtr style, + xmlDocPtr doc); +XSLTPUBFUN void XSLTCALL + xsltFreeStyleDocuments (xsltStylesheetPtr style); + +/* + * Hooks for document loading + */ + +/** + * xsltLoadType: + * + * Enum defining the kind of loader requirement. + */ +typedef enum { + XSLT_LOAD_START = 0, /* loading for a top stylesheet */ + XSLT_LOAD_STYLESHEET = 1, /* loading for a stylesheet include/import */ + XSLT_LOAD_DOCUMENT = 2 /* loading document at transformation time */ +} xsltLoadType; + +/** + * xsltDocLoaderFunc: + * @URI: the URI of the document to load + * @dict: the dictionary to use when parsing that document + * @options: parsing options, a set of xmlParserOption + * @ctxt: the context, either a stylesheet or a transformation context + * @type: the xsltLoadType indicating the kind of loading required + * + * An xsltDocLoaderFunc is a signature for a function which can be + * registered to load document not provided by the compilation or + * transformation API themselve, for example when an xsl:import, + * xsl:include is found at compilation time or when a document() + * call is made at runtime. + * + * Returns the pointer to the document (which will be modified and + * freed by the engine later), or NULL in case of error. + */ +typedef xmlDocPtr (*xsltDocLoaderFunc) (const xmlChar *URI, + xmlDictPtr dict, + int options, + void *ctxt, + xsltLoadType type); + +XSLTPUBFUN void XSLTCALL + xsltSetLoaderFunc (xsltDocLoaderFunc f); + +/* the loader may be needed by extension libraries so it is exported */ +XSLTPUBVAR xsltDocLoaderFunc xsltDocDefaultLoader; + +#ifdef __cplusplus +} +#endif + +#endif /* __XML_XSLT_DOCUMENTS_H__ */ + diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/extensions.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/extensions.h new file mode 100644 index 0000000..84d6aa4 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/extensions.h @@ -0,0 +1,262 @@ +/* + * Summary: interface for the extension support + * Description: This provide the API needed for simple and module + * extension support. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_XSLT_EXTENSION_H__ +#define __XML_XSLT_EXTENSION_H__ + +#include +#include "xsltexports.h" +#include "xsltInternals.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Extension Modules API. + */ + +/** + * xsltInitGlobals: + * + * Initialize the global variables for extensions + * + */ + +XSLTPUBFUN void XSLTCALL + xsltInitGlobals (void); + +/** + * xsltStyleExtInitFunction: + * @ctxt: an XSLT stylesheet + * @URI: the namespace URI for the extension + * + * A function called at initialization time of an XSLT extension module. + * + * Returns a pointer to the module specific data for this transformation. + */ +typedef void * (*xsltStyleExtInitFunction) (xsltStylesheetPtr style, + const xmlChar *URI); + +/** + * xsltStyleExtShutdownFunction: + * @ctxt: an XSLT stylesheet + * @URI: the namespace URI for the extension + * @data: the data associated to this module + * + * A function called at shutdown time of an XSLT extension module. + */ +typedef void (*xsltStyleExtShutdownFunction) (xsltStylesheetPtr style, + const xmlChar *URI, + void *data); + +/** + * xsltExtInitFunction: + * @ctxt: an XSLT transformation context + * @URI: the namespace URI for the extension + * + * A function called at initialization time of an XSLT extension module. + * + * Returns a pointer to the module specific data for this transformation. + */ +typedef void * (*xsltExtInitFunction) (xsltTransformContextPtr ctxt, + const xmlChar *URI); + +/** + * xsltExtShutdownFunction: + * @ctxt: an XSLT transformation context + * @URI: the namespace URI for the extension + * @data: the data associated to this module + * + * A function called at shutdown time of an XSLT extension module. + */ +typedef void (*xsltExtShutdownFunction) (xsltTransformContextPtr ctxt, + const xmlChar *URI, + void *data); + +XSLTPUBFUN int XSLTCALL + xsltRegisterExtModule (const xmlChar *URI, + xsltExtInitFunction initFunc, + xsltExtShutdownFunction shutdownFunc); +XSLTPUBFUN int XSLTCALL + xsltRegisterExtModuleFull + (const xmlChar * URI, + xsltExtInitFunction initFunc, + xsltExtShutdownFunction shutdownFunc, + xsltStyleExtInitFunction styleInitFunc, + xsltStyleExtShutdownFunction styleShutdownFunc); + +XSLTPUBFUN int XSLTCALL + xsltUnregisterExtModule (const xmlChar * URI); + +XSLTPUBFUN void * XSLTCALL + xsltGetExtData (xsltTransformContextPtr ctxt, + const xmlChar *URI); + +XSLTPUBFUN void * XSLTCALL + xsltStyleGetExtData (xsltStylesheetPtr style, + const xmlChar *URI); +#ifdef XSLT_REFACTORED +XSLTPUBFUN void * XSLTCALL + xsltStyleStylesheetLevelGetExtData( + xsltStylesheetPtr style, + const xmlChar * URI); +#endif +XSLTPUBFUN void XSLTCALL + xsltShutdownCtxtExts (xsltTransformContextPtr ctxt); + +XSLTPUBFUN void XSLTCALL + xsltShutdownExts (xsltStylesheetPtr style); + +XSLTPUBFUN xsltTransformContextPtr XSLTCALL + xsltXPathGetTransformContext + (xmlXPathParserContextPtr ctxt); + +/* + * extension functions +*/ +XSLTPUBFUN int XSLTCALL + xsltRegisterExtModuleFunction + (const xmlChar *name, + const xmlChar *URI, + xmlXPathFunction function); +XSLTPUBFUN xmlXPathFunction XSLTCALL + xsltExtModuleFunctionLookup (const xmlChar *name, + const xmlChar *URI); +XSLTPUBFUN int XSLTCALL + xsltUnregisterExtModuleFunction + (const xmlChar *name, + const xmlChar *URI); + +/* + * extension elements + */ +typedef xsltElemPreCompPtr (*xsltPreComputeFunction) + (xsltStylesheetPtr style, + xmlNodePtr inst, + xsltTransformFunction function); + +XSLTPUBFUN xsltElemPreCompPtr XSLTCALL + xsltNewElemPreComp (xsltStylesheetPtr style, + xmlNodePtr inst, + xsltTransformFunction function); +XSLTPUBFUN void XSLTCALL + xsltInitElemPreComp (xsltElemPreCompPtr comp, + xsltStylesheetPtr style, + xmlNodePtr inst, + xsltTransformFunction function, + xsltElemPreCompDeallocator freeFunc); + +XSLTPUBFUN int XSLTCALL + xsltRegisterExtModuleElement + (const xmlChar *name, + const xmlChar *URI, + xsltPreComputeFunction precomp, + xsltTransformFunction transform); +XSLTPUBFUN xsltTransformFunction XSLTCALL + xsltExtElementLookup (xsltTransformContextPtr ctxt, + const xmlChar *name, + const xmlChar *URI); +XSLTPUBFUN xsltTransformFunction XSLTCALL + xsltExtModuleElementLookup + (const xmlChar *name, + const xmlChar *URI); +XSLTPUBFUN xsltPreComputeFunction XSLTCALL + xsltExtModuleElementPreComputeLookup + (const xmlChar *name, + const xmlChar *URI); +XSLTPUBFUN int XSLTCALL + xsltUnregisterExtModuleElement + (const xmlChar *name, + const xmlChar *URI); + +/* + * top-level elements + */ +typedef void (*xsltTopLevelFunction) (xsltStylesheetPtr style, + xmlNodePtr inst); + +XSLTPUBFUN int XSLTCALL + xsltRegisterExtModuleTopLevel + (const xmlChar *name, + const xmlChar *URI, + xsltTopLevelFunction function); +XSLTPUBFUN xsltTopLevelFunction XSLTCALL + xsltExtModuleTopLevelLookup + (const xmlChar *name, + const xmlChar *URI); +XSLTPUBFUN int XSLTCALL + xsltUnregisterExtModuleTopLevel + (const xmlChar *name, + const xmlChar *URI); + + +/* These 2 functions are deprecated for use within modules. */ +XSLTPUBFUN int XSLTCALL + xsltRegisterExtFunction (xsltTransformContextPtr ctxt, + const xmlChar *name, + const xmlChar *URI, + xmlXPathFunction function); +XSLTPUBFUN int XSLTCALL + xsltRegisterExtElement (xsltTransformContextPtr ctxt, + const xmlChar *name, + const xmlChar *URI, + xsltTransformFunction function); + +/* + * Extension Prefix handling API. + * Those are used by the XSLT (pre)processor. + */ + +XSLTPUBFUN int XSLTCALL + xsltRegisterExtPrefix (xsltStylesheetPtr style, + const xmlChar *prefix, + const xmlChar *URI); +XSLTPUBFUN int XSLTCALL + xsltCheckExtPrefix (xsltStylesheetPtr style, + const xmlChar *URI); +XSLTPUBFUN int XSLTCALL + xsltCheckExtURI (xsltStylesheetPtr style, + const xmlChar *URI); +XSLTPUBFUN int XSLTCALL + xsltInitCtxtExts (xsltTransformContextPtr ctxt); +XSLTPUBFUN void XSLTCALL + xsltFreeCtxtExts (xsltTransformContextPtr ctxt); +XSLTPUBFUN void XSLTCALL + xsltFreeExts (xsltStylesheetPtr style); + +XSLTPUBFUN xsltElemPreCompPtr XSLTCALL + xsltPreComputeExtModuleElement + (xsltStylesheetPtr style, + xmlNodePtr inst); +/* + * Extension Infos access. + * Used by exslt initialisation + */ + +XSLTPUBFUN xmlHashTablePtr XSLTCALL + xsltGetExtInfo (xsltStylesheetPtr style, + const xmlChar *URI); + +/** + * Test of the extension module API + */ +XSLTPUBFUN void XSLTCALL + xsltRegisterTestModule (void); +XSLTPUBFUN void XSLTCALL + xsltDebugDumpExtensions (FILE * output); + + +#ifdef __cplusplus +} +#endif + +#endif /* __XML_XSLT_EXTENSION_H__ */ + diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/extra.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/extra.h new file mode 100644 index 0000000..e512fd0 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/extra.h @@ -0,0 +1,72 @@ +/* + * Summary: interface for the non-standard features + * Description: implement some extension outside the XSLT namespace + * but not EXSLT with is in a different library. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_XSLT_EXTRA_H__ +#define __XML_XSLT_EXTRA_H__ + +#include +#include "xsltexports.h" +#include "xsltInternals.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * XSLT_LIBXSLT_NAMESPACE: + * + * This is the libxslt namespace for specific extensions. + */ +#define XSLT_LIBXSLT_NAMESPACE ((xmlChar *) "http://xmlsoft.org/XSLT/namespace") + +/** + * XSLT_SAXON_NAMESPACE: + * + * This is Michael Kay's Saxon processor namespace for extensions. + */ +#define XSLT_SAXON_NAMESPACE ((xmlChar *) "http://icl.com/saxon") + +/** + * XSLT_XT_NAMESPACE: + * + * This is James Clark's XT processor namespace for extensions. + */ +#define XSLT_XT_NAMESPACE ((xmlChar *) "http://www.jclark.com/xt") + +/** + * XSLT_XALAN_NAMESPACE: + * + * This is the Apache project XALAN processor namespace for extensions. + */ +#define XSLT_XALAN_NAMESPACE ((xmlChar *) \ + "org.apache.xalan.xslt.extensions.Redirect") + + +XSLTPUBFUN void XSLTCALL + xsltFunctionNodeSet (xmlXPathParserContextPtr ctxt, + int nargs); +XSLTPUBFUN void XSLTCALL + xsltDebug (xsltTransformContextPtr ctxt, + xmlNodePtr node, + xmlNodePtr inst, + xsltElemPreCompPtr comp); + + +XSLTPUBFUN void XSLTCALL + xsltRegisterExtras (xsltTransformContextPtr ctxt); +XSLTPUBFUN void XSLTCALL + xsltRegisterAllExtras (void); + +#ifdef __cplusplus +} +#endif + +#endif /* __XML_XSLT_EXTRA_H__ */ + diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/functions.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/functions.h new file mode 100644 index 0000000..5455b7f --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/functions.h @@ -0,0 +1,78 @@ +/* + * Summary: interface for the XSLT functions not from XPath + * Description: a set of extra functions coming from XSLT but not in XPath + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard and Bjorn Reese + */ + +#ifndef __XML_XSLT_FUNCTIONS_H__ +#define __XML_XSLT_FUNCTIONS_H__ + +#include +#include +#include "xsltexports.h" +#include "xsltInternals.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * XSLT_REGISTER_FUNCTION_LOOKUP: + * + * Registering macro, not general purpose at all but used in different modules. + */ +#define XSLT_REGISTER_FUNCTION_LOOKUP(ctxt) \ + xmlXPathRegisterFuncLookup((ctxt)->xpathCtxt, \ + xsltXPathFunctionLookup, \ + (void *)(ctxt->xpathCtxt)); + +XSLTPUBFUN xmlXPathFunction XSLTCALL + xsltXPathFunctionLookup (void *vctxt, + const xmlChar *name, + const xmlChar *ns_uri); + +/* + * Interfaces for the functions implementations. + */ + +XSLTPUBFUN void XSLTCALL + xsltDocumentFunction (xmlXPathParserContextPtr ctxt, + int nargs); +XSLTPUBFUN void XSLTCALL + xsltKeyFunction (xmlXPathParserContextPtr ctxt, + int nargs); +XSLTPUBFUN void XSLTCALL + xsltUnparsedEntityURIFunction (xmlXPathParserContextPtr ctxt, + int nargs); +XSLTPUBFUN void XSLTCALL + xsltFormatNumberFunction (xmlXPathParserContextPtr ctxt, + int nargs); +XSLTPUBFUN void XSLTCALL + xsltGenerateIdFunction (xmlXPathParserContextPtr ctxt, + int nargs); +XSLTPUBFUN void XSLTCALL + xsltSystemPropertyFunction (xmlXPathParserContextPtr ctxt, + int nargs); +XSLTPUBFUN void XSLTCALL + xsltElementAvailableFunction (xmlXPathParserContextPtr ctxt, + int nargs); +XSLTPUBFUN void XSLTCALL + xsltFunctionAvailableFunction (xmlXPathParserContextPtr ctxt, + int nargs); + +/* + * And the registration + */ + +XSLTPUBFUN void XSLTCALL + xsltRegisterAllFunctions (xmlXPathContextPtr ctxt); + +#ifdef __cplusplus +} +#endif + +#endif /* __XML_XSLT_FUNCTIONS_H__ */ + diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/imports.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/imports.h new file mode 100644 index 0000000..95e44e5 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/imports.h @@ -0,0 +1,75 @@ +/* + * Summary: interface for the XSLT import support + * Description: macros and fuctions needed to implement and + * access the import tree + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_XSLT_IMPORTS_H__ +#define __XML_XSLT_IMPORTS_H__ + +#include +#include "xsltexports.h" +#include "xsltInternals.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * XSLT_GET_IMPORT_PTR: + * + * A macro to import pointers from the stylesheet cascading order. + */ +#define XSLT_GET_IMPORT_PTR(res, style, name) { \ + xsltStylesheetPtr st = style; \ + res = NULL; \ + while (st != NULL) { \ + if (st->name != NULL) { res = st->name; break; } \ + st = xsltNextImport(st); \ + }} + +/** + * XSLT_GET_IMPORT_INT: + * + * A macro to import intergers from the stylesheet cascading order. + */ +#define XSLT_GET_IMPORT_INT(res, style, name) { \ + xsltStylesheetPtr st = style; \ + res = -1; \ + while (st != NULL) { \ + if (st->name != -1) { res = st->name; break; } \ + st = xsltNextImport(st); \ + }} + +/* + * Module interfaces + */ +XSLTPUBFUN int XSLTCALL + xsltParseStylesheetImport(xsltStylesheetPtr style, + xmlNodePtr cur); +XSLTPUBFUN int XSLTCALL + xsltParseStylesheetInclude + (xsltStylesheetPtr style, + xmlNodePtr cur); +XSLTPUBFUN xsltStylesheetPtr XSLTCALL + xsltNextImport (xsltStylesheetPtr style); +XSLTPUBFUN int XSLTCALL + xsltNeedElemSpaceHandling(xsltTransformContextPtr ctxt); +XSLTPUBFUN int XSLTCALL + xsltFindElemSpaceHandling(xsltTransformContextPtr ctxt, + xmlNodePtr node); +XSLTPUBFUN xsltTemplatePtr XSLTCALL + xsltFindTemplate (xsltTransformContextPtr ctxt, + const xmlChar *name, + const xmlChar *nameURI); + +#ifdef __cplusplus +} +#endif + +#endif /* __XML_XSLT_IMPORTS_H__ */ + diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/keys.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/keys.h new file mode 100644 index 0000000..757d122 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/keys.h @@ -0,0 +1,53 @@ +/* + * Summary: interface for the key matching used in key() and template matches. + * Description: implementation of the key mechanims. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_XSLT_KEY_H__ +#define __XML_XSLT_KEY_H__ + +#include +#include "xsltexports.h" +#include "xsltInternals.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * NODE_IS_KEYED: + * + * check for bit 15 set + */ +#define NODE_IS_KEYED (1 >> 15) + +XSLTPUBFUN int XSLTCALL + xsltAddKey (xsltStylesheetPtr style, + const xmlChar *name, + const xmlChar *nameURI, + const xmlChar *match, + const xmlChar *use, + xmlNodePtr inst); +XSLTPUBFUN xmlNodeSetPtr XSLTCALL + xsltGetKey (xsltTransformContextPtr ctxt, + const xmlChar *name, + const xmlChar *nameURI, + const xmlChar *value); +XSLTPUBFUN void XSLTCALL + xsltInitCtxtKeys (xsltTransformContextPtr ctxt, + xsltDocumentPtr doc); +XSLTPUBFUN void XSLTCALL + xsltFreeKeys (xsltStylesheetPtr style); +XSLTPUBFUN void XSLTCALL + xsltFreeDocumentKeys (xsltDocumentPtr doc); + +#ifdef __cplusplus +} +#endif + +#endif /* __XML_XSLT_H__ */ + diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/namespaces.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/namespaces.h new file mode 100644 index 0000000..fa2d3b4 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/namespaces.h @@ -0,0 +1,68 @@ +/* + * Summary: interface for the XSLT namespace handling + * Description: set of function easing the processing and generation + * of namespace nodes in XSLT. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_XSLT_NAMESPACES_H__ +#define __XML_XSLT_NAMESPACES_H__ + +#include +#include "xsltexports.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Used within nsAliases hashtable when the default namespace is required + * but it's not been explicitly defined + */ +/** + * UNDEFINED_DEFAULT_NS: + * + * Special value for undefined namespace, internal + */ +#define UNDEFINED_DEFAULT_NS (const xmlChar *) -1L + +XSLTPUBFUN void XSLTCALL + xsltNamespaceAlias (xsltStylesheetPtr style, + xmlNodePtr node); +XSLTPUBFUN xmlNsPtr XSLTCALL + xsltGetNamespace (xsltTransformContextPtr ctxt, + xmlNodePtr cur, + xmlNsPtr ns, + xmlNodePtr out); +XSLTPUBFUN xmlNsPtr XSLTCALL + xsltGetPlainNamespace (xsltTransformContextPtr ctxt, + xmlNodePtr cur, + xmlNsPtr ns, + xmlNodePtr out); +XSLTPUBFUN xmlNsPtr XSLTCALL + xsltGetSpecialNamespace (xsltTransformContextPtr ctxt, + xmlNodePtr cur, + const xmlChar *URI, + const xmlChar *prefix, + xmlNodePtr out); +XSLTPUBFUN xmlNsPtr XSLTCALL + xsltCopyNamespace (xsltTransformContextPtr ctxt, + xmlNodePtr elem, + xmlNsPtr ns); +XSLTPUBFUN xmlNsPtr XSLTCALL + xsltCopyNamespaceList (xsltTransformContextPtr ctxt, + xmlNodePtr node, + xmlNsPtr cur); +XSLTPUBFUN void XSLTCALL + xsltFreeNamespaceAliasHashes + (xsltStylesheetPtr style); + +#ifdef __cplusplus +} +#endif + +#endif /* __XML_XSLT_NAMESPACES_H__ */ + diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/numbersInternals.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/numbersInternals.h new file mode 100644 index 0000000..8524592 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/numbersInternals.h @@ -0,0 +1,73 @@ +/* + * Summary: Implementation of the XSLT number functions + * Description: Implementation of the XSLT number functions + * + * Copy: See Copyright for the status of this software. + * + * Author: Bjorn Reese and Daniel Veillard + */ + +#ifndef __XML_XSLT_NUMBERSINTERNALS_H__ +#define __XML_XSLT_NUMBERSINTERNALS_H__ + +#include +#include "xsltexports.h" + +#ifdef __cplusplus +extern "C" { +#endif + +struct _xsltCompMatch; + +/** + * xsltNumberData: + * + * This data structure is just a wrapper to pass xsl:number data in. + */ +typedef struct _xsltNumberData xsltNumberData; +typedef xsltNumberData *xsltNumberDataPtr; + +struct _xsltNumberData { + const xmlChar *level; + const xmlChar *count; + const xmlChar *from; + const xmlChar *value; + const xmlChar *format; + int has_format; + int digitsPerGroup; + int groupingCharacter; + int groupingCharacterLen; + xmlDocPtr doc; + xmlNodePtr node; + struct _xsltCompMatch *countPat; + struct _xsltCompMatch *fromPat; + + /* + * accelerators + */ +}; + +/** + * xsltFormatNumberInfo,: + * + * This data structure lists the various parameters needed to format numbers. + */ +typedef struct _xsltFormatNumberInfo xsltFormatNumberInfo; +typedef xsltFormatNumberInfo *xsltFormatNumberInfoPtr; + +struct _xsltFormatNumberInfo { + int integer_hash; /* Number of '#' in integer part */ + int integer_digits; /* Number of '0' in integer part */ + int frac_digits; /* Number of '0' in fractional part */ + int frac_hash; /* Number of '#' in fractional part */ + int group; /* Number of chars per display 'group' */ + int multiplier; /* Scaling for percent or permille */ + char add_decimal; /* Flag for whether decimal point appears in pattern */ + char is_multiplier_set; /* Flag to catch multiple occurences of percent/permille */ + char is_negative_pattern;/* Flag for processing -ve prefix/suffix */ +}; + +#ifdef __cplusplus +} +#endif +#endif /* __XML_XSLT_NUMBERSINTERNALS_H__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/pattern.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/pattern.h new file mode 100644 index 0000000..a0991c0 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/pattern.h @@ -0,0 +1,84 @@ +/* + * Summary: interface for the pattern matching used in template matches. + * Description: the implementation of the lookup of the right template + * for a given node must be really fast in order to keep + * decent performances. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_XSLT_PATTERN_H__ +#define __XML_XSLT_PATTERN_H__ + +#include "xsltInternals.h" +#include "xsltexports.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * xsltCompMatch: + * + * Data structure used for the implementation of patterns. + * It is kept private (in pattern.c). + */ +typedef struct _xsltCompMatch xsltCompMatch; +typedef xsltCompMatch *xsltCompMatchPtr; + +/* + * Pattern related interfaces. + */ + +XSLTPUBFUN xsltCompMatchPtr XSLTCALL + xsltCompilePattern (const xmlChar *pattern, + xmlDocPtr doc, + xmlNodePtr node, + xsltStylesheetPtr style, + xsltTransformContextPtr runtime); +XSLTPUBFUN void XSLTCALL + xsltFreeCompMatchList (xsltCompMatchPtr comp); +XSLTPUBFUN int XSLTCALL + xsltTestCompMatchList (xsltTransformContextPtr ctxt, + xmlNodePtr node, + xsltCompMatchPtr comp); +XSLTPUBFUN void XSLTCALL + xsltCompMatchClearCache (xsltTransformContextPtr ctxt, + xsltCompMatchPtr comp); +XSLTPUBFUN void XSLTCALL + xsltNormalizeCompSteps (void *payload, + void *data, + const xmlChar *name); + +/* + * Template related interfaces. + */ +XSLTPUBFUN int XSLTCALL + xsltAddTemplate (xsltStylesheetPtr style, + xsltTemplatePtr cur, + const xmlChar *mode, + const xmlChar *modeURI); +XSLTPUBFUN xsltTemplatePtr XSLTCALL + xsltGetTemplate (xsltTransformContextPtr ctxt, + xmlNodePtr node, + xsltStylesheetPtr style); +XSLTPUBFUN void XSLTCALL + xsltFreeTemplateHashes (xsltStylesheetPtr style); +XSLTPUBFUN void XSLTCALL + xsltCleanupTemplates (xsltStylesheetPtr style); + +#if 0 +int xsltMatchPattern (xsltTransformContextPtr ctxt, + xmlNodePtr node, + const xmlChar *pattern, + xmlDocPtr ctxtdoc, + xmlNodePtr ctxtnode); +#endif +#ifdef __cplusplus +} +#endif + +#endif /* __XML_XSLT_PATTERN_H__ */ + diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/preproc.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/preproc.h new file mode 100644 index 0000000..2a2fc7e --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/preproc.h @@ -0,0 +1,43 @@ +/* + * Summary: precomputing stylesheets + * Description: this is the compilation phase, where most of the + * stylesheet is "compiled" into faster to use data. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_XSLT_PRECOMP_H__ +#define __XML_XSLT_PRECOMP_H__ + +#include +#include "xsltexports.h" +#include "xsltInternals.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Interfaces + */ +XSLTPUBVAR const xmlChar *xsltExtMarker; + +XSLTPUBFUN xsltElemPreCompPtr XSLTCALL + xsltDocumentComp (xsltStylesheetPtr style, + xmlNodePtr inst, + xsltTransformFunction function); + +XSLTPUBFUN void XSLTCALL + xsltStylePreCompute (xsltStylesheetPtr style, + xmlNodePtr inst); +XSLTPUBFUN void XSLTCALL + xsltFreeStylePreComps (xsltStylesheetPtr style); + +#ifdef __cplusplus +} +#endif + +#endif /* __XML_XSLT_PRECOMP_H__ */ + diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/security.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/security.h new file mode 100644 index 0000000..bab5c8c --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/security.h @@ -0,0 +1,104 @@ +/* + * Summary: interface for the libxslt security framework + * Description: the libxslt security framework allow to restrict + * the access to new resources (file or URL) from + * the stylesheet at runtime. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_XSLT_SECURITY_H__ +#define __XML_XSLT_SECURITY_H__ + +#include +#include "xsltexports.h" +#include "xsltInternals.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * xsltSecurityPref: + * + * structure to indicate the preferences for security in the XSLT + * transformation. + */ +typedef struct _xsltSecurityPrefs xsltSecurityPrefs; +typedef xsltSecurityPrefs *xsltSecurityPrefsPtr; + +/** + * xsltSecurityOption: + * + * the set of option that can be configured + */ +typedef enum { + XSLT_SECPREF_READ_FILE = 1, + XSLT_SECPREF_WRITE_FILE, + XSLT_SECPREF_CREATE_DIRECTORY, + XSLT_SECPREF_READ_NETWORK, + XSLT_SECPREF_WRITE_NETWORK +} xsltSecurityOption; + +/** + * xsltSecurityCheck: + * + * User provided function to check the value of a string like a file + * path or an URL ... + */ +typedef int (*xsltSecurityCheck) (xsltSecurityPrefsPtr sec, + xsltTransformContextPtr ctxt, + const char *value); + +/* + * Module interfaces + */ +XSLTPUBFUN xsltSecurityPrefsPtr XSLTCALL + xsltNewSecurityPrefs (void); +XSLTPUBFUN void XSLTCALL + xsltFreeSecurityPrefs (xsltSecurityPrefsPtr sec); +XSLTPUBFUN int XSLTCALL + xsltSetSecurityPrefs (xsltSecurityPrefsPtr sec, + xsltSecurityOption option, + xsltSecurityCheck func); +XSLTPUBFUN xsltSecurityCheck XSLTCALL + xsltGetSecurityPrefs (xsltSecurityPrefsPtr sec, + xsltSecurityOption option); + +XSLTPUBFUN void XSLTCALL + xsltSetDefaultSecurityPrefs (xsltSecurityPrefsPtr sec); +XSLTPUBFUN xsltSecurityPrefsPtr XSLTCALL + xsltGetDefaultSecurityPrefs (void); + +XSLTPUBFUN int XSLTCALL + xsltSetCtxtSecurityPrefs (xsltSecurityPrefsPtr sec, + xsltTransformContextPtr ctxt); + +XSLTPUBFUN int XSLTCALL + xsltSecurityAllow (xsltSecurityPrefsPtr sec, + xsltTransformContextPtr ctxt, + const char *value); +XSLTPUBFUN int XSLTCALL + xsltSecurityForbid (xsltSecurityPrefsPtr sec, + xsltTransformContextPtr ctxt, + const char *value); +/* + * internal interfaces + */ +XSLTPUBFUN int XSLTCALL + xsltCheckWrite (xsltSecurityPrefsPtr sec, + xsltTransformContextPtr ctxt, + const xmlChar *URL); +XSLTPUBFUN int XSLTCALL + xsltCheckRead (xsltSecurityPrefsPtr sec, + xsltTransformContextPtr ctxt, + const xmlChar *URL); + +#ifdef __cplusplus +} +#endif + +#endif /* __XML_XSLT_SECURITY_H__ */ + diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/templates.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/templates.h new file mode 100644 index 0000000..84a9de4 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/templates.h @@ -0,0 +1,77 @@ +/* + * Summary: interface for the template processing + * Description: This set of routine encapsulates XPath calls + * and Attribute Value Templates evaluation. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_XSLT_TEMPLATES_H__ +#define __XML_XSLT_TEMPLATES_H__ + +#include +#include +#include "xsltexports.h" +#include "xsltInternals.h" + +#ifdef __cplusplus +extern "C" { +#endif + +XSLTPUBFUN int XSLTCALL + xsltEvalXPathPredicate (xsltTransformContextPtr ctxt, + xmlXPathCompExprPtr comp, + xmlNsPtr *nsList, + int nsNr); +XSLTPUBFUN xmlChar * XSLTCALL + xsltEvalTemplateString (xsltTransformContextPtr ctxt, + xmlNodePtr contextNode, + xmlNodePtr inst); +XSLTPUBFUN xmlChar * XSLTCALL + xsltEvalAttrValueTemplate (xsltTransformContextPtr ctxt, + xmlNodePtr node, + const xmlChar *name, + const xmlChar *ns); +XSLTPUBFUN const xmlChar * XSLTCALL + xsltEvalStaticAttrValueTemplate (xsltStylesheetPtr style, + xmlNodePtr node, + const xmlChar *name, + const xmlChar *ns, + int *found); + +/* TODO: this is obviously broken ... the namespaces should be passed too ! */ +XSLTPUBFUN xmlChar * XSLTCALL + xsltEvalXPathString (xsltTransformContextPtr ctxt, + xmlXPathCompExprPtr comp); +XSLTPUBFUN xmlChar * XSLTCALL + xsltEvalXPathStringNs (xsltTransformContextPtr ctxt, + xmlXPathCompExprPtr comp, + int nsNr, + xmlNsPtr *nsList); + +XSLTPUBFUN xmlNodePtr * XSLTCALL + xsltTemplateProcess (xsltTransformContextPtr ctxt, + xmlNodePtr node); +XSLTPUBFUN xmlAttrPtr XSLTCALL + xsltAttrListTemplateProcess (xsltTransformContextPtr ctxt, + xmlNodePtr target, + xmlAttrPtr cur); +XSLTPUBFUN xmlAttrPtr XSLTCALL + xsltAttrTemplateProcess (xsltTransformContextPtr ctxt, + xmlNodePtr target, + xmlAttrPtr attr); +XSLTPUBFUN xmlChar * XSLTCALL + xsltAttrTemplateValueProcess (xsltTransformContextPtr ctxt, + const xmlChar* attr); +XSLTPUBFUN xmlChar * XSLTCALL + xsltAttrTemplateValueProcessNode(xsltTransformContextPtr ctxt, + const xmlChar* str, + xmlNodePtr node); +#ifdef __cplusplus +} +#endif + +#endif /* __XML_XSLT_TEMPLATES_H__ */ + diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/transform.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/transform.h new file mode 100644 index 0000000..5a6f795 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/transform.h @@ -0,0 +1,207 @@ +/* + * Summary: the XSLT engine transformation part. + * Description: This module implements the bulk of the actual + * transformation processing. Most of the xsl: element + * constructs are implemented in this module. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_XSLT_TRANSFORM_H__ +#define __XML_XSLT_TRANSFORM_H__ + +#include +#include +#include "xsltexports.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * XInclude default processing. + */ +XSLTPUBFUN void XSLTCALL + xsltSetXIncludeDefault (int xinclude); +XSLTPUBFUN int XSLTCALL + xsltGetXIncludeDefault (void); + +/** + * Export context to users. + */ +XSLTPUBFUN xsltTransformContextPtr XSLTCALL + xsltNewTransformContext (xsltStylesheetPtr style, + xmlDocPtr doc); + +XSLTPUBFUN void XSLTCALL + xsltFreeTransformContext(xsltTransformContextPtr ctxt); + +XSLTPUBFUN xmlDocPtr XSLTCALL + xsltApplyStylesheetUser (xsltStylesheetPtr style, + xmlDocPtr doc, + const char **params, + const char *output, + FILE * profile, + xsltTransformContextPtr userCtxt); +XSLTPUBFUN void XSLTCALL + xsltProcessOneNode (xsltTransformContextPtr ctxt, + xmlNodePtr node, + xsltStackElemPtr params); +/** + * Private Interfaces. + */ +XSLTPUBFUN void XSLTCALL + xsltApplyStripSpaces (xsltTransformContextPtr ctxt, + xmlNodePtr node); +XSLTPUBFUN xmlDocPtr XSLTCALL + xsltApplyStylesheet (xsltStylesheetPtr style, + xmlDocPtr doc, + const char **params); +XSLTPUBFUN xmlDocPtr XSLTCALL + xsltProfileStylesheet (xsltStylesheetPtr style, + xmlDocPtr doc, + const char **params, + FILE * output); +XSLTPUBFUN int XSLTCALL + xsltRunStylesheet (xsltStylesheetPtr style, + xmlDocPtr doc, + const char **params, + const char *output, + xmlSAXHandlerPtr SAX, + xmlOutputBufferPtr IObuf); +XSLTPUBFUN int XSLTCALL + xsltRunStylesheetUser (xsltStylesheetPtr style, + xmlDocPtr doc, + const char **params, + const char *output, + xmlSAXHandlerPtr SAX, + xmlOutputBufferPtr IObuf, + FILE * profile, + xsltTransformContextPtr userCtxt); +XSLTPUBFUN void XSLTCALL + xsltApplyOneTemplate (xsltTransformContextPtr ctxt, + xmlNodePtr node, + xmlNodePtr list, + xsltTemplatePtr templ, + xsltStackElemPtr params); +XSLTPUBFUN void XSLTCALL + xsltDocumentElem (xsltTransformContextPtr ctxt, + xmlNodePtr node, + xmlNodePtr inst, + xsltElemPreCompPtr comp); +XSLTPUBFUN void XSLTCALL + xsltSort (xsltTransformContextPtr ctxt, + xmlNodePtr node, + xmlNodePtr inst, + xsltElemPreCompPtr comp); +XSLTPUBFUN void XSLTCALL + xsltCopy (xsltTransformContextPtr ctxt, + xmlNodePtr node, + xmlNodePtr inst, + xsltElemPreCompPtr comp); +XSLTPUBFUN void XSLTCALL + xsltText (xsltTransformContextPtr ctxt, + xmlNodePtr node, + xmlNodePtr inst, + xsltElemPreCompPtr comp); +XSLTPUBFUN void XSLTCALL + xsltElement (xsltTransformContextPtr ctxt, + xmlNodePtr node, + xmlNodePtr inst, + xsltElemPreCompPtr comp); +XSLTPUBFUN void XSLTCALL + xsltComment (xsltTransformContextPtr ctxt, + xmlNodePtr node, + xmlNodePtr inst, + xsltElemPreCompPtr comp); +XSLTPUBFUN void XSLTCALL + xsltAttribute (xsltTransformContextPtr ctxt, + xmlNodePtr node, + xmlNodePtr inst, + xsltElemPreCompPtr comp); +XSLTPUBFUN void XSLTCALL + xsltProcessingInstruction(xsltTransformContextPtr ctxt, + xmlNodePtr node, + xmlNodePtr inst, + xsltElemPreCompPtr comp); +XSLTPUBFUN void XSLTCALL + xsltCopyOf (xsltTransformContextPtr ctxt, + xmlNodePtr node, + xmlNodePtr inst, + xsltElemPreCompPtr comp); +XSLTPUBFUN void XSLTCALL + xsltValueOf (xsltTransformContextPtr ctxt, + xmlNodePtr node, + xmlNodePtr inst, + xsltElemPreCompPtr comp); +XSLTPUBFUN void XSLTCALL + xsltNumber (xsltTransformContextPtr ctxt, + xmlNodePtr node, + xmlNodePtr inst, + xsltElemPreCompPtr comp); +XSLTPUBFUN void XSLTCALL + xsltApplyImports (xsltTransformContextPtr ctxt, + xmlNodePtr node, + xmlNodePtr inst, + xsltElemPreCompPtr comp); +XSLTPUBFUN void XSLTCALL + xsltCallTemplate (xsltTransformContextPtr ctxt, + xmlNodePtr node, + xmlNodePtr inst, + xsltElemPreCompPtr comp); +XSLTPUBFUN void XSLTCALL + xsltApplyTemplates (xsltTransformContextPtr ctxt, + xmlNodePtr node, + xmlNodePtr inst, + xsltElemPreCompPtr comp); +XSLTPUBFUN void XSLTCALL + xsltChoose (xsltTransformContextPtr ctxt, + xmlNodePtr node, + xmlNodePtr inst, + xsltElemPreCompPtr comp); +XSLTPUBFUN void XSLTCALL + xsltIf (xsltTransformContextPtr ctxt, + xmlNodePtr node, + xmlNodePtr inst, + xsltElemPreCompPtr comp); +XSLTPUBFUN void XSLTCALL + xsltForEach (xsltTransformContextPtr ctxt, + xmlNodePtr node, + xmlNodePtr inst, + xsltElemPreCompPtr comp); +XSLTPUBFUN void XSLTCALL + xsltRegisterAllElement (xsltTransformContextPtr ctxt); + +XSLTPUBFUN xmlNodePtr XSLTCALL + xsltCopyTextString (xsltTransformContextPtr ctxt, + xmlNodePtr target, + const xmlChar *string, + int noescape); + +/* Following 2 functions needed for libexslt/functions.c */ +XSLTPUBFUN void XSLTCALL + xsltLocalVariablePop (xsltTransformContextPtr ctxt, + int limitNr, + int level); +XSLTPUBFUN int XSLTCALL + xsltLocalVariablePush (xsltTransformContextPtr ctxt, + xsltStackElemPtr variable, + int level); +/* + * Hook for the debugger if activated. + */ +XSLTPUBFUN void XSLTCALL + xslHandleDebugger (xmlNodePtr cur, + xmlNodePtr node, + xsltTemplatePtr templ, + xsltTransformContextPtr ctxt); + +#ifdef __cplusplus +} +#endif + +#endif /* __XML_XSLT_TRANSFORM_H__ */ + diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/variables.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/variables.h new file mode 100644 index 0000000..e2adee0 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/variables.h @@ -0,0 +1,118 @@ +/* + * Summary: interface for the variable matching and lookup. + * Description: interface for the variable matching and lookup. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_XSLT_VARIABLES_H__ +#define __XML_XSLT_VARIABLES_H__ + +#include +#include +#include "xsltexports.h" +#include "xsltInternals.h" +#include "functions.h" + +#ifdef __cplusplus +extern "C" { +#endif + + +/** + * XSLT_REGISTER_VARIABLE_LOOKUP: + * + * Registering macro, not general purpose at all but used in different modules. + */ + +#define XSLT_REGISTER_VARIABLE_LOOKUP(ctxt) \ + xmlXPathRegisterVariableLookup((ctxt)->xpathCtxt, \ + xsltXPathVariableLookup, (void *)(ctxt)); \ + xsltRegisterAllFunctions((ctxt)->xpathCtxt); \ + xsltRegisterAllElement(ctxt); \ + (ctxt)->xpathCtxt->extra = ctxt + +/* + * Flags for memory management of RVTs + */ + +/** + * XSLT_RVT_LOCAL: + * + * RVT is destroyed after the current instructions ends. + */ +#define XSLT_RVT_LOCAL 1 + +/** + * XSLT_RVT_FUNC_RESULT: + * + * RVT is part of results returned with func:result. The RVT won't be + * destroyed after exiting a template and will be reset to XSLT_RVT_LOCAL or + * XSLT_RVT_VARIABLE in the template that receives the return value. + */ +#define XSLT_RVT_FUNC_RESULT 2 + +/** + * XSLT_RVT_GLOBAL: + * + * RVT is part of a global variable. + */ +#define XSLT_RVT_GLOBAL 3 + +/* + * Interfaces for the variable module. + */ + +XSLTPUBFUN int XSLTCALL + xsltEvalGlobalVariables (xsltTransformContextPtr ctxt); +XSLTPUBFUN int XSLTCALL + xsltEvalUserParams (xsltTransformContextPtr ctxt, + const char **params); +XSLTPUBFUN int XSLTCALL + xsltQuoteUserParams (xsltTransformContextPtr ctxt, + const char **params); +XSLTPUBFUN int XSLTCALL + xsltEvalOneUserParam (xsltTransformContextPtr ctxt, + const xmlChar * name, + const xmlChar * value); +XSLTPUBFUN int XSLTCALL + xsltQuoteOneUserParam (xsltTransformContextPtr ctxt, + const xmlChar * name, + const xmlChar * value); + +XSLTPUBFUN void XSLTCALL + xsltParseGlobalVariable (xsltStylesheetPtr style, + xmlNodePtr cur); +XSLTPUBFUN void XSLTCALL + xsltParseGlobalParam (xsltStylesheetPtr style, + xmlNodePtr cur); +XSLTPUBFUN void XSLTCALL + xsltParseStylesheetVariable (xsltTransformContextPtr ctxt, + xmlNodePtr cur); +XSLTPUBFUN void XSLTCALL + xsltParseStylesheetParam (xsltTransformContextPtr ctxt, + xmlNodePtr cur); +XSLTPUBFUN xsltStackElemPtr XSLTCALL + xsltParseStylesheetCallerParam (xsltTransformContextPtr ctxt, + xmlNodePtr cur); +XSLTPUBFUN int XSLTCALL + xsltAddStackElemList (xsltTransformContextPtr ctxt, + xsltStackElemPtr elems); +XSLTPUBFUN void XSLTCALL + xsltFreeGlobalVariables (xsltTransformContextPtr ctxt); +XSLTPUBFUN xmlXPathObjectPtr XSLTCALL + xsltVariableLookup (xsltTransformContextPtr ctxt, + const xmlChar *name, + const xmlChar *ns_uri); +XSLTPUBFUN xmlXPathObjectPtr XSLTCALL + xsltXPathVariableLookup (void *ctxt, + const xmlChar *name, + const xmlChar *ns_uri); +#ifdef __cplusplus +} +#endif + +#endif /* __XML_XSLT_VARIABLES_H__ */ + diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/xslt.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/xslt.h new file mode 100644 index 0000000..02f491a --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/xslt.h @@ -0,0 +1,110 @@ +/* + * Summary: Interfaces, constants and types related to the XSLT engine + * Description: Interfaces, constants and types related to the XSLT engine + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_XSLT_H__ +#define __XML_XSLT_H__ + +#include +#include "xsltexports.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * XSLT_DEFAULT_VERSION: + * + * The default version of XSLT supported. + */ +#define XSLT_DEFAULT_VERSION "1.0" + +/** + * XSLT_DEFAULT_VENDOR: + * + * The XSLT "vendor" string for this processor. + */ +#define XSLT_DEFAULT_VENDOR "libxslt" + +/** + * XSLT_DEFAULT_URL: + * + * The XSLT "vendor" URL for this processor. + */ +#define XSLT_DEFAULT_URL "http://xmlsoft.org/XSLT/" + +/** + * XSLT_NAMESPACE: + * + * The XSLT specification namespace. + */ +#define XSLT_NAMESPACE ((const xmlChar *)"http://www.w3.org/1999/XSL/Transform") + +/** + * XSLT_PARSE_OPTIONS: + * + * The set of options to pass to an xmlReadxxx when loading files for + * XSLT consumption. + */ +#define XSLT_PARSE_OPTIONS \ + XML_PARSE_NOENT | XML_PARSE_DTDLOAD | XML_PARSE_DTDATTR | XML_PARSE_NOCDATA + +/** + * xsltMaxDepth: + * + * This value is used to detect templates loops. + */ +XSLTPUBVAR int xsltMaxDepth; + +/** + * * xsltMaxVars: + * * + * * This value is used to detect templates loops. + * */ +XSLTPUBVAR int xsltMaxVars; + +/** + * xsltEngineVersion: + * + * The version string for libxslt. + */ +XSLTPUBVAR const char *xsltEngineVersion; + +/** + * xsltLibxsltVersion: + * + * The version of libxslt compiled. + */ +XSLTPUBVAR const int xsltLibxsltVersion; + +/** + * xsltLibxmlVersion: + * + * The version of libxml libxslt was compiled against. + */ +XSLTPUBVAR const int xsltLibxmlVersion; + +/* + * Global initialization function. + */ + +XSLTPUBFUN void XSLTCALL + xsltInit (void); + +/* + * Global cleanup function. + */ +XSLTPUBFUN void XSLTCALL + xsltCleanupGlobals (void); + +#ifdef __cplusplus +} +#endif + +#endif /* __XML_XSLT_H__ */ + diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/xsltInternals.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/xsltInternals.h new file mode 100644 index 0000000..6faa07d --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/xsltInternals.h @@ -0,0 +1,1995 @@ +/* + * Summary: internal data structures, constants and functions + * Description: Internal data structures, constants and functions used + * by the XSLT engine. + * They are not part of the API or ABI, i.e. they can change + * without prior notice, use carefully. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_XSLT_INTERNALS_H__ +#define __XML_XSLT_INTERNALS_H__ + +#include +#include +#include +#include +#include +#include +#include +#include "xsltexports.h" +#include "numbersInternals.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* #define XSLT_DEBUG_PROFILE_CACHE */ + +/** + * XSLT_IS_TEXT_NODE: + * + * check if the argument is a text node + */ +#define XSLT_IS_TEXT_NODE(n) ((n != NULL) && \ + (((n)->type == XML_TEXT_NODE) || \ + ((n)->type == XML_CDATA_SECTION_NODE))) + + +/** + * XSLT_MARK_RES_TREE_FRAG: + * + * internal macro to set up tree fragments + */ +#define XSLT_MARK_RES_TREE_FRAG(n) \ + (n)->name = (char *) xmlStrdup(BAD_CAST " fake node libxslt"); + +/** + * XSLT_IS_RES_TREE_FRAG: + * + * internal macro to test tree fragments + */ +#define XSLT_IS_RES_TREE_FRAG(n) \ + ((n != NULL) && ((n)->type == XML_DOCUMENT_NODE) && \ + ((n)->name != NULL) && ((n)->name[0] == ' ')) + +/** + * XSLT_REFACTORED_KEYCOMP: + * + * Internal define to enable on-demand xsl:key computation. + * That's the only mode now but the define is kept for compatibility + */ +#define XSLT_REFACTORED_KEYCOMP + +/** + * XSLT_FAST_IF: + * + * Internal define to enable usage of xmlXPathCompiledEvalToBoolean() + * for XSLT "tests"; e.g. in + */ +#define XSLT_FAST_IF + +/** + * XSLT_REFACTORED: + * + * Internal define to enable the refactored parts of Libxslt. + */ +/* #define XSLT_REFACTORED */ +/* ==================================================================== */ + +/** + * XSLT_REFACTORED_VARS: + * + * Internal define to enable the refactored variable part of libxslt + */ +#define XSLT_REFACTORED_VARS + +#ifdef XSLT_REFACTORED + +extern const xmlChar *xsltXSLTAttrMarker; + + +/* TODO: REMOVE: #define XSLT_REFACTORED_EXCLRESNS */ + +/* TODO: REMOVE: #define XSLT_REFACTORED_NSALIAS */ + +/** + * XSLT_REFACTORED_XSLT_NSCOMP + * + * Internal define to enable the pointer-comparison of + * namespaces of XSLT elements. + */ +/* #define XSLT_REFACTORED_XSLT_NSCOMP */ + +#ifdef XSLT_REFACTORED_XSLT_NSCOMP + +extern const xmlChar *xsltConstNamespaceNameXSLT; + +/** + * IS_XSLT_ELEM_FAST: + * + * quick test to detect XSLT elements + */ +#define IS_XSLT_ELEM_FAST(n) \ + (((n) != NULL) && ((n)->ns != NULL) && \ + ((n)->ns->href == xsltConstNamespaceNameXSLT)) + +/** + * IS_XSLT_ATTR_FAST: + * + * quick test to detect XSLT attributes + */ +#define IS_XSLT_ATTR_FAST(a) \ + (((a) != NULL) && ((a)->ns != NULL) && \ + ((a)->ns->href == xsltConstNamespaceNameXSLT)) + +/** + * XSLT_HAS_INTERNAL_NSMAP: + * + * check for namespace mapping + */ +#define XSLT_HAS_INTERNAL_NSMAP(s) \ + (((s) != NULL) && ((s)->principal) && \ + ((s)->principal->principalData) && \ + ((s)->principal->principalData->nsMap)) + +/** + * XSLT_GET_INTERNAL_NSMAP: + * + * get pointer to namespace map + */ +#define XSLT_GET_INTERNAL_NSMAP(s) ((s)->principal->principalData->nsMap) + +#else /* XSLT_REFACTORED_XSLT_NSCOMP */ + +/** + * IS_XSLT_ELEM_FAST: + * + * quick check whether this is an xslt element + */ +#define IS_XSLT_ELEM_FAST(n) \ + (((n) != NULL) && ((n)->ns != NULL) && \ + (xmlStrEqual((n)->ns->href, XSLT_NAMESPACE))) + +/** + * IS_XSLT_ATTR_FAST: + * + * quick check for xslt namespace attribute + */ +#define IS_XSLT_ATTR_FAST(a) \ + (((a) != NULL) && ((a)->ns != NULL) && \ + (xmlStrEqual((a)->ns->href, XSLT_NAMESPACE))) + + +#endif /* XSLT_REFACTORED_XSLT_NSCOMP */ + + +/** + * XSLT_REFACTORED_MANDATORY_VERSION: + * + * TODO: Currently disabled to surpress regression test failures, since + * the old behaviour was that a missing version attribute + * produced a only a warning and not an error, which was incerrect. + * So the regression tests need to be fixed if this is enabled. + */ +/* #define XSLT_REFACTORED_MANDATORY_VERSION */ + +/** + * xsltPointerList: + * + * Pointer-list for various purposes. + */ +typedef struct _xsltPointerList xsltPointerList; +typedef xsltPointerList *xsltPointerListPtr; +struct _xsltPointerList { + void **items; + int number; + int size; +}; + +#endif + +/** + * XSLT_REFACTORED_PARSING: + * + * Internal define to enable the refactored parts of Libxslt + * related to parsing. + */ +/* #define XSLT_REFACTORED_PARSING */ + +/** + * XSLT_MAX_SORT: + * + * Max number of specified xsl:sort on an element. + */ +#define XSLT_MAX_SORT 15 + +/** + * XSLT_PAT_NO_PRIORITY: + * + * Specific value for pattern without priority expressed. + */ +#define XSLT_PAT_NO_PRIORITY -12345789 + +/** + * xsltRuntimeExtra: + * + * Extra information added to the transformation context. + */ +typedef struct _xsltRuntimeExtra xsltRuntimeExtra; +typedef xsltRuntimeExtra *xsltRuntimeExtraPtr; +struct _xsltRuntimeExtra { + void *info; /* pointer to the extra data */ + xmlFreeFunc deallocate; /* pointer to the deallocation routine */ + union { /* dual-purpose field */ + void *ptr; /* data not needing deallocation */ + int ival; /* integer value storage */ + } val; +}; + +/** + * XSLT_RUNTIME_EXTRA_LST: + * @ctxt: the transformation context + * @nr: the index + * + * Macro used to access extra information stored in the context + */ +#define XSLT_RUNTIME_EXTRA_LST(ctxt, nr) (ctxt)->extras[(nr)].info +/** + * XSLT_RUNTIME_EXTRA_FREE: + * @ctxt: the transformation context + * @nr: the index + * + * Macro used to free extra information stored in the context + */ +#define XSLT_RUNTIME_EXTRA_FREE(ctxt, nr) (ctxt)->extras[(nr)].deallocate +/** + * XSLT_RUNTIME_EXTRA: + * @ctxt: the transformation context + * @nr: the index + * + * Macro used to define extra information stored in the context + */ +#define XSLT_RUNTIME_EXTRA(ctxt, nr, typ) (ctxt)->extras[(nr)].val.typ + +/** + * xsltTemplate: + * + * The in-memory structure corresponding to an XSLT Template. + */ +typedef struct _xsltTemplate xsltTemplate; +typedef xsltTemplate *xsltTemplatePtr; +struct _xsltTemplate { + struct _xsltTemplate *next;/* chained list sorted by priority */ + struct _xsltStylesheet *style;/* the containing stylesheet */ + xmlChar *match; /* the matching string */ + float priority; /* as given from the stylesheet, not computed */ + const xmlChar *name; /* the local part of the name QName */ + const xmlChar *nameURI; /* the URI part of the name QName */ + const xmlChar *mode;/* the local part of the mode QName */ + const xmlChar *modeURI;/* the URI part of the mode QName */ + xmlNodePtr content; /* the template replacement value */ + xmlNodePtr elem; /* the source element */ + + /* + * TODO: @inheritedNsNr and @inheritedNs won't be used in the + * refactored code. + */ + int inheritedNsNr; /* number of inherited namespaces */ + xmlNsPtr *inheritedNs;/* inherited non-excluded namespaces */ + + /* Profiling information */ + int nbCalls; /* the number of time the template was called */ + unsigned long time; /* the time spent in this template */ + void *params; /* xsl:param instructions */ + + int templNr; /* Nb of templates in the stack */ + int templMax; /* Size of the templtes stack */ + xsltTemplatePtr *templCalledTab; /* templates called */ + int *templCountTab; /* .. and how often */ + + /* Conflict resolution */ + int position; +}; + +/** + * xsltDecimalFormat: + * + * Data structure of decimal-format. + */ +typedef struct _xsltDecimalFormat xsltDecimalFormat; +typedef xsltDecimalFormat *xsltDecimalFormatPtr; +struct _xsltDecimalFormat { + struct _xsltDecimalFormat *next; /* chained list */ + xmlChar *name; + /* Used for interpretation of pattern */ + xmlChar *digit; + xmlChar *patternSeparator; + /* May appear in result */ + xmlChar *minusSign; + xmlChar *infinity; + xmlChar *noNumber; /* Not-a-number */ + /* Used for interpretation of pattern and may appear in result */ + xmlChar *decimalPoint; + xmlChar *grouping; + xmlChar *percent; + xmlChar *permille; + xmlChar *zeroDigit; + const xmlChar *nsUri; +}; + +/** + * xsltDocument: + * + * Data structure associated to a parsed document. + */ +typedef struct _xsltDocument xsltDocument; +typedef xsltDocument *xsltDocumentPtr; +struct _xsltDocument { + struct _xsltDocument *next; /* documents are kept in a chained list */ + int main; /* is this the main document */ + xmlDocPtr doc; /* the parsed document */ + void *keys; /* key tables storage */ + struct _xsltDocument *includes; /* subsidiary includes */ + int preproc; /* pre-processing already done */ + int nbKeysComputed; +}; + +/** + * xsltKeyDef: + * + * Representation of an xsl:key. + */ +typedef struct _xsltKeyDef xsltKeyDef; +typedef xsltKeyDef *xsltKeyDefPtr; +struct _xsltKeyDef { + struct _xsltKeyDef *next; + xmlNodePtr inst; + xmlChar *name; + xmlChar *nameURI; + xmlChar *match; + xmlChar *use; + xmlXPathCompExprPtr comp; + xmlXPathCompExprPtr usecomp; + xmlNsPtr *nsList; /* the namespaces in scope */ + int nsNr; /* the number of namespaces in scope */ +}; + +/** + * xsltKeyTable: + * + * Holds the computed keys for key definitions of the same QName. + * Is owned by an xsltDocument. + */ +typedef struct _xsltKeyTable xsltKeyTable; +typedef xsltKeyTable *xsltKeyTablePtr; +struct _xsltKeyTable { + struct _xsltKeyTable *next; + xmlChar *name; + xmlChar *nameURI; + xmlHashTablePtr keys; +}; + +/* + * The in-memory structure corresponding to an XSLT Stylesheet. + * NOTE: most of the content is simply linked from the doc tree + * structure, no specific allocation is made. + */ +typedef struct _xsltStylesheet xsltStylesheet; +typedef xsltStylesheet *xsltStylesheetPtr; + +typedef struct _xsltTransformContext xsltTransformContext; +typedef xsltTransformContext *xsltTransformContextPtr; + +/** + * xsltElemPreComp: + * + * The in-memory structure corresponding to element precomputed data, + * designed to be extended by extension implementors. + */ +typedef struct _xsltElemPreComp xsltElemPreComp; +typedef xsltElemPreComp *xsltElemPreCompPtr; + +/** + * xsltTransformFunction: + * @ctxt: the XSLT transformation context + * @node: the input node + * @inst: the stylesheet node + * @comp: the compiled information from the stylesheet + * + * Signature of the function associated to elements part of the + * stylesheet language like xsl:if or xsl:apply-templates. + */ +typedef void (*xsltTransformFunction) (xsltTransformContextPtr ctxt, + xmlNodePtr node, + xmlNodePtr inst, + xsltElemPreCompPtr comp); + +/** + * xsltSortFunc: + * @ctxt: a transformation context + * @sorts: the node-set to sort + * @nbsorts: the number of sorts + * + * Signature of the function to use during sorting + */ +typedef void (*xsltSortFunc) (xsltTransformContextPtr ctxt, xmlNodePtr *sorts, + int nbsorts); + +typedef enum { + XSLT_FUNC_COPY=1, + XSLT_FUNC_SORT, + XSLT_FUNC_TEXT, + XSLT_FUNC_ELEMENT, + XSLT_FUNC_ATTRIBUTE, + XSLT_FUNC_COMMENT, + XSLT_FUNC_PI, + XSLT_FUNC_COPYOF, + XSLT_FUNC_VALUEOF, + XSLT_FUNC_NUMBER, + XSLT_FUNC_APPLYIMPORTS, + XSLT_FUNC_CALLTEMPLATE, + XSLT_FUNC_APPLYTEMPLATES, + XSLT_FUNC_CHOOSE, + XSLT_FUNC_IF, + XSLT_FUNC_FOREACH, + XSLT_FUNC_DOCUMENT, + XSLT_FUNC_WITHPARAM, + XSLT_FUNC_PARAM, + XSLT_FUNC_VARIABLE, + XSLT_FUNC_WHEN, + XSLT_FUNC_EXTENSION +#ifdef XSLT_REFACTORED + , + XSLT_FUNC_OTHERWISE, + XSLT_FUNC_FALLBACK, + XSLT_FUNC_MESSAGE, + XSLT_FUNC_INCLUDE, + XSLT_FUNC_ATTRSET, + XSLT_FUNC_LITERAL_RESULT_ELEMENT, + XSLT_FUNC_UNKOWN_FORWARDS_COMPAT +#endif +} xsltStyleType; + +/** + * xsltElemPreCompDeallocator: + * @comp: the #xsltElemPreComp to free up + * + * Deallocates an #xsltElemPreComp structure. + */ +typedef void (*xsltElemPreCompDeallocator) (xsltElemPreCompPtr comp); + +/** + * xsltElemPreComp: + * + * The basic structure for compiled items of the AST of the XSLT processor. + * This structure is also intended to be extended by extension implementors. + * TODO: This is somehow not nice, since it has a "free" field, which + * derived stylesheet-structs do not have. + */ +struct _xsltElemPreComp { + xsltElemPreCompPtr next; /* next item in the global chained + list held by xsltStylesheet. */ + xsltStyleType type; /* type of the element */ + xsltTransformFunction func; /* handling function */ + xmlNodePtr inst; /* the node in the stylesheet's tree + corresponding to this item */ + + /* end of common part */ + xsltElemPreCompDeallocator free; /* the deallocator */ +}; + +/** + * xsltStylePreComp: + * + * The abstract basic structure for items of the XSLT processor. + * This includes: + * 1) compiled forms of XSLT instructions (xsl:if, xsl:attribute, etc.) + * 2) compiled forms of literal result elements + * 3) compiled forms of extension elements + */ +typedef struct _xsltStylePreComp xsltStylePreComp; +typedef xsltStylePreComp *xsltStylePreCompPtr; + +#ifdef XSLT_REFACTORED + +/* +* Some pointer-list utility functions. +*/ +XSLTPUBFUN xsltPointerListPtr XSLTCALL + xsltPointerListCreate (int initialSize); +XSLTPUBFUN void XSLTCALL + xsltPointerListFree (xsltPointerListPtr list); +XSLTPUBFUN void XSLTCALL + xsltPointerListClear (xsltPointerListPtr list); +XSLTPUBFUN int XSLTCALL + xsltPointerListAddSize (xsltPointerListPtr list, + void *item, + int initialSize); + +/************************************************************************ + * * + * Refactored structures * + * * + ************************************************************************/ + +typedef struct _xsltNsListContainer xsltNsListContainer; +typedef xsltNsListContainer *xsltNsListContainerPtr; +struct _xsltNsListContainer { + xmlNsPtr *list; + int totalNumber; + int xpathNumber; +}; + +/** + * XSLT_ITEM_COMPATIBILITY_FIELDS: + * + * Fields for API compatibility to the structure + * _xsltElemPreComp which is used for extension functions. + * Note that @next is used for storage; it does not reflect a next + * sibling in the tree. + * TODO: Evaluate if we really need such a compatibility. + */ +#define XSLT_ITEM_COMPATIBILITY_FIELDS \ + xsltElemPreCompPtr next;\ + xsltStyleType type;\ + xsltTransformFunction func;\ + xmlNodePtr inst; + +/** + * XSLT_ITEM_NAVIGATION_FIELDS: + * + * Currently empty. + * TODO: It is intended to hold navigational fields in the future. + */ +#define XSLT_ITEM_NAVIGATION_FIELDS +/* + xsltStylePreCompPtr parent;\ + xsltStylePreCompPtr children;\ + xsltStylePreCompPtr nextItem; +*/ + +/** + * XSLT_ITEM_NSINSCOPE_FIELDS: + * + * The in-scope namespaces. + */ +#define XSLT_ITEM_NSINSCOPE_FIELDS xsltNsListContainerPtr inScopeNs; + +/** + * XSLT_ITEM_COMMON_FIELDS: + * + * Common fields used for all items. + */ +#define XSLT_ITEM_COMMON_FIELDS \ + XSLT_ITEM_COMPATIBILITY_FIELDS \ + XSLT_ITEM_NAVIGATION_FIELDS \ + XSLT_ITEM_NSINSCOPE_FIELDS + +/** + * _xsltStylePreComp: + * + * The abstract basic structure for items of the XSLT processor. + * This includes: + * 1) compiled forms of XSLT instructions (e.g. xsl:if, xsl:attribute, etc.) + * 2) compiled forms of literal result elements + * 3) various properties for XSLT instructions (e.g. xsl:when, + * xsl:with-param) + * + * REVISIT TODO: Keep this structure equal to the fields + * defined by XSLT_ITEM_COMMON_FIELDS + */ +struct _xsltStylePreComp { + xsltElemPreCompPtr next; /* next item in the global chained + list held by xsltStylesheet */ + xsltStyleType type; /* type of the item */ + xsltTransformFunction func; /* handling function */ + xmlNodePtr inst; /* the node in the stylesheet's tree + corresponding to this item. */ + /* Currently no navigational fields. */ + xsltNsListContainerPtr inScopeNs; +}; + +/** + * xsltStyleBasicEmptyItem: + * + * Abstract structure only used as a short-cut for + * XSLT items with no extra fields. + * NOTE that it is intended that this structure looks the same as + * _xsltStylePreComp. + */ +typedef struct _xsltStyleBasicEmptyItem xsltStyleBasicEmptyItem; +typedef xsltStyleBasicEmptyItem *xsltStyleBasicEmptyItemPtr; + +struct _xsltStyleBasicEmptyItem { + XSLT_ITEM_COMMON_FIELDS +}; + +/** + * xsltStyleBasicExpressionItem: + * + * Abstract structure only used as a short-cut for + * XSLT items with just an expression. + */ +typedef struct _xsltStyleBasicExpressionItem xsltStyleBasicExpressionItem; +typedef xsltStyleBasicExpressionItem *xsltStyleBasicExpressionItemPtr; + +struct _xsltStyleBasicExpressionItem { + XSLT_ITEM_COMMON_FIELDS + + const xmlChar *select; /* TODO: Change this to "expression". */ + xmlXPathCompExprPtr comp; /* TODO: Change this to compExpr. */ +}; + +/************************************************************************ + * * + * XSLT-instructions/declarations * + * * + ************************************************************************/ + +/** + * xsltStyleItemElement: + * + * + * + * + * + */ +typedef struct _xsltStyleItemElement xsltStyleItemElement; +typedef xsltStyleItemElement *xsltStyleItemElementPtr; + +struct _xsltStyleItemElement { + XSLT_ITEM_COMMON_FIELDS + + const xmlChar *use; + int has_use; + const xmlChar *name; + int has_name; + const xmlChar *ns; + const xmlChar *nsPrefix; + int has_ns; +}; + +/** + * xsltStyleItemAttribute: + * + * + * + * + * + */ +typedef struct _xsltStyleItemAttribute xsltStyleItemAttribute; +typedef xsltStyleItemAttribute *xsltStyleItemAttributePtr; + +struct _xsltStyleItemAttribute { + XSLT_ITEM_COMMON_FIELDS + const xmlChar *name; + int has_name; + const xmlChar *ns; + const xmlChar *nsPrefix; + int has_ns; +}; + +/** + * xsltStyleItemText: + * + * + * + * + * + */ +typedef struct _xsltStyleItemText xsltStyleItemText; +typedef xsltStyleItemText *xsltStyleItemTextPtr; + +struct _xsltStyleItemText { + XSLT_ITEM_COMMON_FIELDS + int noescape; /* text */ +}; + +/** + * xsltStyleItemComment: + * + * + * + * + * + */ +typedef xsltStyleBasicEmptyItem xsltStyleItemComment; +typedef xsltStyleItemComment *xsltStyleItemCommentPtr; + +/** + * xsltStyleItemPI: + * + * + * + * + * + */ +typedef struct _xsltStyleItemPI xsltStyleItemPI; +typedef xsltStyleItemPI *xsltStyleItemPIPtr; + +struct _xsltStyleItemPI { + XSLT_ITEM_COMMON_FIELDS + const xmlChar *name; + int has_name; +}; + +/** + * xsltStyleItemApplyImports: + * + * + * + */ +typedef xsltStyleBasicEmptyItem xsltStyleItemApplyImports; +typedef xsltStyleItemApplyImports *xsltStyleItemApplyImportsPtr; + +/** + * xsltStyleItemApplyTemplates: + * + * + * + * + * + */ +typedef struct _xsltStyleItemApplyTemplates xsltStyleItemApplyTemplates; +typedef xsltStyleItemApplyTemplates *xsltStyleItemApplyTemplatesPtr; + +struct _xsltStyleItemApplyTemplates { + XSLT_ITEM_COMMON_FIELDS + + const xmlChar *mode; /* apply-templates */ + const xmlChar *modeURI; /* apply-templates */ + const xmlChar *select; /* sort, copy-of, value-of, apply-templates */ + xmlXPathCompExprPtr comp; /* a precompiled XPath expression */ + /* TODO: with-params */ +}; + +/** + * xsltStyleItemCallTemplate: + * + * + * + * + * + */ +typedef struct _xsltStyleItemCallTemplate xsltStyleItemCallTemplate; +typedef xsltStyleItemCallTemplate *xsltStyleItemCallTemplatePtr; + +struct _xsltStyleItemCallTemplate { + XSLT_ITEM_COMMON_FIELDS + + xsltTemplatePtr templ; /* call-template */ + const xmlChar *name; /* element, attribute, pi */ + int has_name; /* element, attribute, pi */ + const xmlChar *ns; /* element */ + int has_ns; /* element */ + /* TODO: with-params */ +}; + +/** + * xsltStyleItemCopy: + * + * + * + * + * + */ +typedef struct _xsltStyleItemCopy xsltStyleItemCopy; +typedef xsltStyleItemCopy *xsltStyleItemCopyPtr; + +struct _xsltStyleItemCopy { + XSLT_ITEM_COMMON_FIELDS + const xmlChar *use; /* copy, element */ + int has_use; /* copy, element */ +}; + +/** + * xsltStyleItemIf: + * + * + * + * + * + */ +typedef struct _xsltStyleItemIf xsltStyleItemIf; +typedef xsltStyleItemIf *xsltStyleItemIfPtr; + +struct _xsltStyleItemIf { + XSLT_ITEM_COMMON_FIELDS + + const xmlChar *test; /* if */ + xmlXPathCompExprPtr comp; /* a precompiled XPath expression */ +}; + + +/** + * xsltStyleItemCopyOf: + * + * + * + */ +typedef xsltStyleBasicExpressionItem xsltStyleItemCopyOf; +typedef xsltStyleItemCopyOf *xsltStyleItemCopyOfPtr; + +/** + * xsltStyleItemValueOf: + * + * + * + */ +typedef struct _xsltStyleItemValueOf xsltStyleItemValueOf; +typedef xsltStyleItemValueOf *xsltStyleItemValueOfPtr; + +struct _xsltStyleItemValueOf { + XSLT_ITEM_COMMON_FIELDS + + const xmlChar *select; + xmlXPathCompExprPtr comp; /* a precompiled XPath expression */ + int noescape; +}; + +/** + * xsltStyleItemNumber: + * + * + * + */ +typedef struct _xsltStyleItemNumber xsltStyleItemNumber; +typedef xsltStyleItemNumber *xsltStyleItemNumberPtr; + +struct _xsltStyleItemNumber { + XSLT_ITEM_COMMON_FIELDS + xsltNumberData numdata; /* number */ +}; + +/** + * xsltStyleItemChoose: + * + * + * + * + * + */ +typedef xsltStyleBasicEmptyItem xsltStyleItemChoose; +typedef xsltStyleItemChoose *xsltStyleItemChoosePtr; + +/** + * xsltStyleItemFallback: + * + * + * + * + * + */ +typedef xsltStyleBasicEmptyItem xsltStyleItemFallback; +typedef xsltStyleItemFallback *xsltStyleItemFallbackPtr; + +/** + * xsltStyleItemForEach: + * + * + * + * + * + */ +typedef xsltStyleBasicExpressionItem xsltStyleItemForEach; +typedef xsltStyleItemForEach *xsltStyleItemForEachPtr; + +/** + * xsltStyleItemMessage: + * + * + * + * + * + */ +typedef struct _xsltStyleItemMessage xsltStyleItemMessage; +typedef xsltStyleItemMessage *xsltStyleItemMessagePtr; + +struct _xsltStyleItemMessage { + XSLT_ITEM_COMMON_FIELDS + int terminate; +}; + +/** + * xsltStyleItemDocument: + * + * NOTE: This is not an instruction of XSLT 1.0. + */ +typedef struct _xsltStyleItemDocument xsltStyleItemDocument; +typedef xsltStyleItemDocument *xsltStyleItemDocumentPtr; + +struct _xsltStyleItemDocument { + XSLT_ITEM_COMMON_FIELDS + int ver11; /* assigned: in xsltDocumentComp; + read: nowhere; + TODO: Check if we need. */ + const xmlChar *filename; /* document URL */ + int has_filename; +}; + +/************************************************************************ + * * + * Non-instructions (actually properties of instructions/declarations) * + * * + ************************************************************************/ + +/** + * xsltStyleBasicItemVariable: + * + * Basic struct for xsl:variable, xsl:param and xsl:with-param. + * It's currently important to have equal fields, since + * xsltParseStylesheetCallerParam() is used with xsl:with-param from + * the xslt side and with xsl:param from the exslt side (in + * exsltFuncFunctionFunction()). + * + * FUTURE NOTE: In XSLT 2.0 xsl:param, xsl:variable and xsl:with-param + * have additional different fields. + */ +typedef struct _xsltStyleBasicItemVariable xsltStyleBasicItemVariable; +typedef xsltStyleBasicItemVariable *xsltStyleBasicItemVariablePtr; + +struct _xsltStyleBasicItemVariable { + XSLT_ITEM_COMMON_FIELDS + + const xmlChar *select; + xmlXPathCompExprPtr comp; + + const xmlChar *name; + int has_name; + const xmlChar *ns; + int has_ns; +}; + +/** + * xsltStyleItemVariable: + * + * + * + * + * + */ +typedef xsltStyleBasicItemVariable xsltStyleItemVariable; +typedef xsltStyleItemVariable *xsltStyleItemVariablePtr; + +/** + * xsltStyleItemParam: + * + * + * + * + * + */ +typedef struct _xsltStyleItemParam xsltStyleItemParam; +typedef xsltStyleItemParam *xsltStyleItemParamPtr; + +struct _xsltStyleItemParam { + XSLT_ITEM_COMMON_FIELDS + + const xmlChar *select; + xmlXPathCompExprPtr comp; + + const xmlChar *name; + int has_name; + const xmlChar *ns; + int has_ns; +}; + +/** + * xsltStyleItemWithParam: + * + * + * + * + */ +typedef xsltStyleBasicItemVariable xsltStyleItemWithParam; +typedef xsltStyleItemWithParam *xsltStyleItemWithParamPtr; + +/** + * xsltStyleItemSort: + * + * Reflects the XSLT xsl:sort item. + * Allowed parents: xsl:apply-templates, xsl:for-each + * + */ +typedef struct _xsltStyleItemSort xsltStyleItemSort; +typedef xsltStyleItemSort *xsltStyleItemSortPtr; + +struct _xsltStyleItemSort { + XSLT_ITEM_COMMON_FIELDS + + const xmlChar *stype; /* sort */ + int has_stype; /* sort */ + int number; /* sort */ + const xmlChar *order; /* sort */ + int has_order; /* sort */ + int descending; /* sort */ + const xmlChar *lang; /* sort */ + int has_lang; /* sort */ + const xmlChar *case_order; /* sort */ + int lower_first; /* sort */ + + const xmlChar *use; + int has_use; + + const xmlChar *select; /* sort, copy-of, value-of, apply-templates */ + + xmlXPathCompExprPtr comp; /* a precompiled XPath expression */ +}; + + +/** + * xsltStyleItemWhen: + * + * + * + * + * Allowed parent: xsl:choose + */ +typedef struct _xsltStyleItemWhen xsltStyleItemWhen; +typedef xsltStyleItemWhen *xsltStyleItemWhenPtr; + +struct _xsltStyleItemWhen { + XSLT_ITEM_COMMON_FIELDS + + const xmlChar *test; + xmlXPathCompExprPtr comp; +}; + +/** + * xsltStyleItemOtherwise: + * + * Allowed parent: xsl:choose + * + * + * + */ +typedef struct _xsltStyleItemOtherwise xsltStyleItemOtherwise; +typedef xsltStyleItemOtherwise *xsltStyleItemOtherwisePtr; + +struct _xsltStyleItemOtherwise { + XSLT_ITEM_COMMON_FIELDS +}; + +typedef struct _xsltStyleItemInclude xsltStyleItemInclude; +typedef xsltStyleItemInclude *xsltStyleItemIncludePtr; + +struct _xsltStyleItemInclude { + XSLT_ITEM_COMMON_FIELDS + xsltDocumentPtr include; +}; + +/************************************************************************ + * * + * XSLT elements in forwards-compatible mode * + * * + ************************************************************************/ + +typedef struct _xsltStyleItemUknown xsltStyleItemUknown; +typedef xsltStyleItemUknown *xsltStyleItemUknownPtr; +struct _xsltStyleItemUknown { + XSLT_ITEM_COMMON_FIELDS +}; + + +/************************************************************************ + * * + * Extension elements * + * * + ************************************************************************/ + +/* + * xsltStyleItemExtElement: + * + * Reflects extension elements. + * + * NOTE: Due to the fact that the structure xsltElemPreComp is most + * probably already heavily in use out there by users, so we cannot + * easily change it, we'll create an intermediate structure which will + * hold an xsltElemPreCompPtr. + * BIG NOTE: The only problem I see here is that the user processes the + * content of the stylesheet tree, possibly he'll lookup the node->psvi + * fields in order to find subsequent extension functions. + * In this case, the user's code will break, since the node->psvi + * field will hold now the xsltStyleItemExtElementPtr and not + * the xsltElemPreCompPtr. + * However the place where the structure is anchored in the node-tree, + * namely node->psvi, has beed already once been moved from node->_private + * to node->psvi, so we have a precedent here, which, I think, should allow + * us to change such semantics without headaches. + */ +typedef struct _xsltStyleItemExtElement xsltStyleItemExtElement; +typedef xsltStyleItemExtElement *xsltStyleItemExtElementPtr; +struct _xsltStyleItemExtElement { + XSLT_ITEM_COMMON_FIELDS + xsltElemPreCompPtr item; +}; + +/************************************************************************ + * * + * Literal result elements * + * * + ************************************************************************/ + +typedef struct _xsltEffectiveNs xsltEffectiveNs; +typedef xsltEffectiveNs *xsltEffectiveNsPtr; +struct _xsltEffectiveNs { + xsltEffectiveNsPtr nextInStore; /* storage next */ + xsltEffectiveNsPtr next; /* next item in the list */ + const xmlChar *prefix; + const xmlChar *nsName; + /* + * Indicates if eclared on the literal result element; dunno if really + * needed. + */ + int holdByElem; +}; + +/* + * Info for literal result elements. + * This will be set on the elem->psvi field and will be + * shared by literal result elements, which have the same + * excluded result namespaces; i.e., this *won't* be created uniquely + * for every literal result element. + */ +typedef struct _xsltStyleItemLRElementInfo xsltStyleItemLRElementInfo; +typedef xsltStyleItemLRElementInfo *xsltStyleItemLRElementInfoPtr; +struct _xsltStyleItemLRElementInfo { + XSLT_ITEM_COMMON_FIELDS + /* + * @effectiveNs is the set of effective ns-nodes + * on the literal result element, which will be added to the result + * element if not already existing in the result tree. + * This means that excluded namespaces (via exclude-result-prefixes, + * extension-element-prefixes and the XSLT namespace) not added + * to the set. + * Namespace-aliasing was applied on the @effectiveNs. + */ + xsltEffectiveNsPtr effectiveNs; + +}; + +#ifdef XSLT_REFACTORED + +typedef struct _xsltNsAlias xsltNsAlias; +typedef xsltNsAlias *xsltNsAliasPtr; +struct _xsltNsAlias { + xsltNsAliasPtr next; /* next in the list */ + xmlNsPtr literalNs; + xmlNsPtr targetNs; + xmlDocPtr docOfTargetNs; +}; +#endif + +#ifdef XSLT_REFACTORED_XSLT_NSCOMP + +typedef struct _xsltNsMap xsltNsMap; +typedef xsltNsMap *xsltNsMapPtr; +struct _xsltNsMap { + xsltNsMapPtr next; /* next in the list */ + xmlDocPtr doc; + xmlNodePtr elem; /* the element holding the ns-decl */ + xmlNsPtr ns; /* the xmlNs structure holding the XML namespace name */ + const xmlChar *origNsName; /* the original XML namespace name */ + const xmlChar *newNsName; /* the mapped XML namespace name */ +}; +#endif + +/************************************************************************ + * * + * Compile-time structures for *internal* use only * + * * + ************************************************************************/ + +typedef struct _xsltPrincipalStylesheetData xsltPrincipalStylesheetData; +typedef xsltPrincipalStylesheetData *xsltPrincipalStylesheetDataPtr; + +typedef struct _xsltNsList xsltNsList; +typedef xsltNsList *xsltNsListPtr; +struct _xsltNsList { + xsltNsListPtr next; /* next in the list */ + xmlNsPtr ns; +}; + +/* +* xsltVarInfo: +* +* Used at compilation time for parameters and variables. +*/ +typedef struct _xsltVarInfo xsltVarInfo; +typedef xsltVarInfo *xsltVarInfoPtr; +struct _xsltVarInfo { + xsltVarInfoPtr next; /* next in the list */ + xsltVarInfoPtr prev; + int depth; /* the depth in the tree */ + const xmlChar *name; + const xmlChar *nsName; +}; + +/** + * xsltCompilerNodeInfo: + * + * Per-node information during compile-time. + */ +typedef struct _xsltCompilerNodeInfo xsltCompilerNodeInfo; +typedef xsltCompilerNodeInfo *xsltCompilerNodeInfoPtr; +struct _xsltCompilerNodeInfo { + xsltCompilerNodeInfoPtr next; + xsltCompilerNodeInfoPtr prev; + xmlNodePtr node; + int depth; + xsltTemplatePtr templ; /* The owning template */ + int category; /* XSLT element, LR-element or + extension element */ + xsltStyleType type; + xsltElemPreCompPtr item; /* The compiled information */ + /* The current in-scope namespaces */ + xsltNsListContainerPtr inScopeNs; + /* The current excluded result namespaces */ + xsltPointerListPtr exclResultNs; + /* The current extension instruction namespaces */ + xsltPointerListPtr extElemNs; + + /* The current info for literal result elements. */ + xsltStyleItemLRElementInfoPtr litResElemInfo; + /* + * Set to 1 if in-scope namespaces changed, + * or excluded result namespaces changed, + * or extension element namespaces changed. + * This will trigger creation of new infos + * for literal result elements. + */ + int nsChanged; + int preserveWhitespace; + int stripWhitespace; + int isRoot; /* whether this is the stylesheet's root node */ + int forwardsCompat; /* whether forwards-compatible mode is enabled */ + /* whether the content of an extension element was processed */ + int extContentHandled; + /* the type of the current child */ + xsltStyleType curChildType; +}; + +/** + * XSLT_CCTXT: + * + * get pointer to compiler context + */ +#define XSLT_CCTXT(style) ((xsltCompilerCtxtPtr) style->compCtxt) + +typedef enum { + XSLT_ERROR_SEVERITY_ERROR = 0, + XSLT_ERROR_SEVERITY_WARNING +} xsltErrorSeverityType; + +typedef struct _xsltCompilerCtxt xsltCompilerCtxt; +typedef xsltCompilerCtxt *xsltCompilerCtxtPtr; +struct _xsltCompilerCtxt { + void *errorCtxt; /* user specific error context */ + /* + * used for error/warning reports; e.g. XSLT_ERROR_SEVERITY_WARNING */ + xsltErrorSeverityType errSeverity; + int warnings; /* TODO: number of warnings found at + compilation */ + int errors; /* TODO: number of errors found at + compilation */ + xmlDictPtr dict; + xsltStylesheetPtr style; + int simplified; /* whether this is a simplified stylesheet */ + /* TODO: structured/unstructured error contexts. */ + int depth; /* Current depth of processing */ + + xsltCompilerNodeInfoPtr inode; + xsltCompilerNodeInfoPtr inodeList; + xsltCompilerNodeInfoPtr inodeLast; + xsltPointerListPtr tmpList; /* Used for various purposes */ + /* + * The XSLT version as specified by the stylesheet's root element. + */ + int isInclude; + int hasForwardsCompat; /* whether forwards-compatible mode was used + in a parsing episode */ + int maxNodeInfos; /* TEMP TODO: just for the interest */ + int maxLREs; /* TEMP TODO: just for the interest */ + /* + * In order to keep the old behaviour, applying strict rules of + * the spec can be turned off. This has effect only on special + * mechanisms like whitespace-stripping in the stylesheet. + */ + int strict; + xsltPrincipalStylesheetDataPtr psData; + xsltStyleItemUknownPtr unknownItem; + int hasNsAliases; /* Indicator if there was an xsl:namespace-alias. */ + xsltNsAliasPtr nsAliases; + xsltVarInfoPtr ivars; /* Storage of local in-scope variables/params. */ + xsltVarInfoPtr ivar; /* topmost local variable/param. */ +}; + +#else /* XSLT_REFACTORED */ +/* +* The old structures before refactoring. +*/ + +/** + * _xsltStylePreComp: + * + * The in-memory structure corresponding to XSLT stylesheet constructs + * precomputed data. + */ +struct _xsltStylePreComp { + xsltElemPreCompPtr next; /* chained list */ + xsltStyleType type; /* type of the element */ + xsltTransformFunction func; /* handling function */ + xmlNodePtr inst; /* the instruction */ + + /* + * Pre computed values. + */ + + const xmlChar *stype; /* sort */ + int has_stype; /* sort */ + int number; /* sort */ + const xmlChar *order; /* sort */ + int has_order; /* sort */ + int descending; /* sort */ + const xmlChar *lang; /* sort */ + int has_lang; /* sort */ + const xmlChar *case_order; /* sort */ + int lower_first; /* sort */ + + const xmlChar *use; /* copy, element */ + int has_use; /* copy, element */ + + int noescape; /* text */ + + const xmlChar *name; /* element, attribute, pi */ + int has_name; /* element, attribute, pi */ + const xmlChar *ns; /* element */ + int has_ns; /* element */ + + const xmlChar *mode; /* apply-templates */ + const xmlChar *modeURI; /* apply-templates */ + + const xmlChar *test; /* if */ + + xsltTemplatePtr templ; /* call-template */ + + const xmlChar *select; /* sort, copy-of, value-of, apply-templates */ + + int ver11; /* document */ + const xmlChar *filename; /* document URL */ + int has_filename; /* document */ + + xsltNumberData numdata; /* number */ + + xmlXPathCompExprPtr comp; /* a precompiled XPath expression */ + xmlNsPtr *nsList; /* the namespaces in scope */ + int nsNr; /* the number of namespaces in scope */ +}; + +#endif /* XSLT_REFACTORED */ + + +/* + * The in-memory structure corresponding to an XSLT Variable + * or Param. + */ +typedef struct _xsltStackElem xsltStackElem; +typedef xsltStackElem *xsltStackElemPtr; +struct _xsltStackElem { + struct _xsltStackElem *next;/* chained list */ + xsltStylePreCompPtr comp; /* the compiled form */ + int computed; /* was the evaluation done */ + const xmlChar *name; /* the local part of the name QName */ + const xmlChar *nameURI; /* the URI part of the name QName */ + const xmlChar *select; /* the eval string */ + xmlNodePtr tree; /* the sequence constructor if no eval + string or the location */ + xmlXPathObjectPtr value; /* The value if computed */ + xmlDocPtr fragment; /* The Result Tree Fragments (needed for XSLT 1.0) + which are bound to the variable's lifetime. */ + int level; /* the depth in the tree; + -1 if persistent (e.g. a given xsl:with-param) */ + xsltTransformContextPtr context; /* The transformation context; needed to cache + the variables */ + int flags; +}; + +#ifdef XSLT_REFACTORED + +struct _xsltPrincipalStylesheetData { + /* + * Namespace dictionary for ns-prefixes and ns-names: + * TODO: Shared between stylesheets, and XPath mechanisms. + * Not used yet. + */ + xmlDictPtr namespaceDict; + /* + * Global list of in-scope namespaces. + */ + xsltPointerListPtr inScopeNamespaces; + /* + * Global list of information for [xsl:]excluded-result-prefixes. + */ + xsltPointerListPtr exclResultNamespaces; + /* + * Global list of information for [xsl:]extension-element-prefixes. + */ + xsltPointerListPtr extElemNamespaces; + xsltEffectiveNsPtr effectiveNs; +#ifdef XSLT_REFACTORED_XSLT_NSCOMP + /* + * Namespace name map to get rid of string comparison of namespace names. + */ + xsltNsMapPtr nsMap; +#endif +}; + + +#endif +/* + * Note that we added a @compCtxt field to anchor an stylesheet compilation + * context, since, due to historical reasons, various compile-time function + * take only the stylesheet as argument and not a compilation context. + */ +struct _xsltStylesheet { + /* + * The stylesheet import relation is kept as a tree. + */ + struct _xsltStylesheet *parent; + struct _xsltStylesheet *next; + struct _xsltStylesheet *imports; + + xsltDocumentPtr docList; /* the include document list */ + + /* + * General data on the style sheet document. + */ + xmlDocPtr doc; /* the parsed XML stylesheet */ + xmlHashTablePtr stripSpaces;/* the hash table of the strip-space and + preserve space elements */ + int stripAll; /* strip-space * (1) preserve-space * (-1) */ + xmlHashTablePtr cdataSection;/* the hash table of the cdata-section */ + + /* + * Global variable or parameters. + */ + xsltStackElemPtr variables; /* linked list of param and variables */ + + /* + * Template descriptions. + */ + xsltTemplatePtr templates; /* the ordered list of templates */ + xmlHashTablePtr templatesHash; /* hash table or wherever compiled + templates information is stored */ + struct _xsltCompMatch *rootMatch; /* template based on / */ + struct _xsltCompMatch *keyMatch; /* template based on key() */ + struct _xsltCompMatch *elemMatch; /* template based on * */ + struct _xsltCompMatch *attrMatch; /* template based on @* */ + struct _xsltCompMatch *parentMatch; /* template based on .. */ + struct _xsltCompMatch *textMatch; /* template based on text() */ + struct _xsltCompMatch *piMatch; /* template based on + processing-instruction() */ + struct _xsltCompMatch *commentMatch; /* template based on comment() */ + + /* + * Namespace aliases. + * NOTE: Not used in the refactored code. + */ + xmlHashTablePtr nsAliases; /* the namespace alias hash tables */ + + /* + * Attribute sets. + */ + xmlHashTablePtr attributeSets;/* the attribute sets hash tables */ + + /* + * Namespaces. + * TODO: Eliminate this. + */ + xmlHashTablePtr nsHash; /* the set of namespaces in use: + ATTENTION: This is used for + execution of XPath expressions; unfortunately + it restricts the stylesheet to have distinct + prefixes. + TODO: We need to get rid of this. + */ + void *nsDefs; /* ATTENTION TODO: This is currently used to store + xsltExtDefPtr (in extensions.c) and + *not* xmlNsPtr. + */ + + /* + * Key definitions. + */ + void *keys; /* key definitions */ + + /* + * Output related stuff. + */ + xmlChar *method; /* the output method */ + xmlChar *methodURI; /* associated namespace if any */ + xmlChar *version; /* version string */ + xmlChar *encoding; /* encoding string */ + int omitXmlDeclaration; /* omit-xml-declaration = "yes" | "no" */ + + /* + * Number formatting. + */ + xsltDecimalFormatPtr decimalFormat; + int standalone; /* standalone = "yes" | "no" */ + xmlChar *doctypePublic; /* doctype-public string */ + xmlChar *doctypeSystem; /* doctype-system string */ + int indent; /* should output being indented */ + xmlChar *mediaType; /* media-type string */ + + /* + * Precomputed blocks. + */ + xsltElemPreCompPtr preComps;/* list of precomputed blocks */ + int warnings; /* number of warnings found at compilation */ + int errors; /* number of errors found at compilation */ + + xmlChar *exclPrefix; /* last excluded prefixes */ + xmlChar **exclPrefixTab; /* array of excluded prefixes */ + int exclPrefixNr; /* number of excluded prefixes in scope */ + int exclPrefixMax; /* size of the array */ + + void *_private; /* user defined data */ + + /* + * Extensions. + */ + xmlHashTablePtr extInfos; /* the extension data */ + int extrasNr; /* the number of extras required */ + + /* + * For keeping track of nested includes + */ + xsltDocumentPtr includes; /* points to last nested include */ + + /* + * dictionary: shared between stylesheet, context and documents. + */ + xmlDictPtr dict; + /* + * precompiled attribute value templates. + */ + void *attVTs; + /* + * if namespace-alias has an alias for the default stylesheet prefix + * NOTE: Not used in the refactored code. + */ + const xmlChar *defaultAlias; + /* + * bypass pre-processing (already done) (used in imports) + */ + int nopreproc; + /* + * all document text strings were internalized + */ + int internalized; + /* + * Literal Result Element as Stylesheet c.f. section 2.3 + */ + int literal_result; + /* + * The principal stylesheet + */ + xsltStylesheetPtr principal; +#ifdef XSLT_REFACTORED + /* + * Compilation context used during compile-time. + */ + xsltCompilerCtxtPtr compCtxt; /* TODO: Change this to (void *). */ + + xsltPrincipalStylesheetDataPtr principalData; +#endif + /* + * Forwards-compatible processing + */ + int forwards_compatible; + + xmlHashTablePtr namedTemplates; /* hash table of named templates */ + + xmlXPathContextPtr xpathCtxt; + + unsigned long opLimit; + unsigned long opCount; +}; + +typedef struct _xsltTransformCache xsltTransformCache; +typedef xsltTransformCache *xsltTransformCachePtr; +struct _xsltTransformCache { + xmlDocPtr RVT; + int nbRVT; + xsltStackElemPtr stackItems; + int nbStackItems; +#ifdef XSLT_DEBUG_PROFILE_CACHE + int dbgCachedRVTs; + int dbgReusedRVTs; + int dbgCachedVars; + int dbgReusedVars; +#endif +}; + +/* + * The in-memory structure corresponding to an XSLT Transformation. + */ +typedef enum { + XSLT_OUTPUT_XML = 0, + XSLT_OUTPUT_HTML, + XSLT_OUTPUT_TEXT +} xsltOutputType; + +typedef void * +(*xsltNewLocaleFunc)(const xmlChar *lang, int lowerFirst); +typedef void +(*xsltFreeLocaleFunc)(void *locale); +typedef xmlChar * +(*xsltGenSortKeyFunc)(void *locale, const xmlChar *lang); + +typedef enum { + XSLT_STATE_OK = 0, + XSLT_STATE_ERROR, + XSLT_STATE_STOPPED +} xsltTransformState; + +struct _xsltTransformContext { + xsltStylesheetPtr style; /* the stylesheet used */ + xsltOutputType type; /* the type of output */ + + xsltTemplatePtr templ; /* the current template */ + int templNr; /* Nb of templates in the stack */ + int templMax; /* Size of the templtes stack */ + xsltTemplatePtr *templTab; /* the template stack */ + + xsltStackElemPtr vars; /* the current variable list */ + int varsNr; /* Nb of variable list in the stack */ + int varsMax; /* Size of the variable list stack */ + xsltStackElemPtr *varsTab; /* the variable list stack */ + int varsBase; /* the var base for current templ */ + + /* + * Extensions + */ + xmlHashTablePtr extFunctions; /* the extension functions */ + xmlHashTablePtr extElements; /* the extension elements */ + xmlHashTablePtr extInfos; /* the extension data */ + + const xmlChar *mode; /* the current mode */ + const xmlChar *modeURI; /* the current mode URI */ + + xsltDocumentPtr docList; /* the document list */ + + xsltDocumentPtr document; /* the current source document; can be NULL if an RTF */ + xmlNodePtr node; /* the current node being processed */ + xmlNodeSetPtr nodeList; /* the current node list */ + /* xmlNodePtr current; the node */ + + xmlDocPtr output; /* the resulting document */ + xmlNodePtr insert; /* the insertion node */ + + xmlXPathContextPtr xpathCtxt; /* the XPath context */ + xsltTransformState state; /* the current state */ + + /* + * Global variables + */ + xmlHashTablePtr globalVars; /* the global variables and params */ + + xmlNodePtr inst; /* the instruction in the stylesheet */ + + int xinclude; /* should XInclude be processed */ + + const char * outputFile; /* the output URI if known */ + + int profile; /* is this run profiled */ + long prof; /* the current profiled value */ + int profNr; /* Nb of templates in the stack */ + int profMax; /* Size of the templtaes stack */ + long *profTab; /* the profile template stack */ + + void *_private; /* user defined data */ + + int extrasNr; /* the number of extras used */ + int extrasMax; /* the number of extras allocated */ + xsltRuntimeExtraPtr extras; /* extra per runtime information */ + + xsltDocumentPtr styleList; /* the stylesheet docs list */ + void * sec; /* the security preferences if any */ + + xmlGenericErrorFunc error; /* a specific error handler */ + void * errctx; /* context for the error handler */ + + xsltSortFunc sortfunc; /* a ctxt specific sort routine */ + + /* + * handling of temporary Result Value Tree + * (XSLT 1.0 term: "Result Tree Fragment") + */ + xmlDocPtr tmpRVT; /* list of RVT without persistance */ + xmlDocPtr persistRVT; /* list of persistant RVTs */ + int ctxtflags; /* context processing flags */ + + /* + * Speed optimization when coalescing text nodes + */ + const xmlChar *lasttext; /* last text node content */ + int lasttsize; /* last text node size */ + int lasttuse; /* last text node use */ + /* + * Per Context Debugging + */ + int debugStatus; /* the context level debug status */ + unsigned long* traceCode; /* pointer to the variable holding the mask */ + + int parserOptions; /* parser options xmlParserOption */ + + /* + * dictionary: shared between stylesheet, context and documents. + */ + xmlDictPtr dict; + xmlDocPtr tmpDoc; /* Obsolete; not used in the library. */ + /* + * all document text strings are internalized + */ + int internalized; + int nbKeys; + int hasTemplKeyPatterns; + xsltTemplatePtr currentTemplateRule; /* the Current Template Rule */ + xmlNodePtr initialContextNode; + xmlDocPtr initialContextDoc; + xsltTransformCachePtr cache; + void *contextVariable; /* the current variable item */ + xmlDocPtr localRVT; /* list of local tree fragments; will be freed when + the instruction which created the fragment + exits */ + xmlDocPtr localRVTBase; /* Obsolete */ + int keyInitLevel; /* Needed to catch recursive keys issues */ + int depth; /* Needed to catch recursions */ + int maxTemplateDepth; + int maxTemplateVars; + unsigned long opLimit; + unsigned long opCount; + int sourceDocDirty; + unsigned long currentId; /* For generate-id() */ + + xsltNewLocaleFunc newLocale; + xsltFreeLocaleFunc freeLocale; + xsltGenSortKeyFunc genSortKey; +}; + +/** + * CHECK_STOPPED: + * + * Macro to check if the XSLT processing should be stopped. + * Will return from the function. + */ +#define CHECK_STOPPED if (ctxt->state == XSLT_STATE_STOPPED) return; + +/** + * CHECK_STOPPEDE: + * + * Macro to check if the XSLT processing should be stopped. + * Will goto the error: label. + */ +#define CHECK_STOPPEDE if (ctxt->state == XSLT_STATE_STOPPED) goto error; + +/** + * CHECK_STOPPED0: + * + * Macro to check if the XSLT processing should be stopped. + * Will return from the function with a 0 value. + */ +#define CHECK_STOPPED0 if (ctxt->state == XSLT_STATE_STOPPED) return(0); + +/* + * The macro XML_CAST_FPTR is a hack to avoid a gcc warning about + * possible incompatibilities between function pointers and object + * pointers. It is defined in libxml/hash.h within recent versions + * of libxml2, but is put here for compatibility. + */ +#ifndef XML_CAST_FPTR +/** + * XML_CAST_FPTR: + * @fptr: pointer to a function + * + * Macro to do a casting from an object pointer to a + * function pointer without encountering a warning from + * gcc + * + * #define XML_CAST_FPTR(fptr) (*(void **)(&fptr)) + * This macro violated ISO C aliasing rules (gcc4 on s390 broke) + * so it is disabled now + */ + +#define XML_CAST_FPTR(fptr) fptr +#endif +/* + * Functions associated to the internal types +xsltDecimalFormatPtr xsltDecimalFormatGetByName(xsltStylesheetPtr sheet, + xmlChar *name); + */ +XSLTPUBFUN xsltStylesheetPtr XSLTCALL + xsltNewStylesheet (void); +XSLTPUBFUN xsltStylesheetPtr XSLTCALL + xsltParseStylesheetFile (const xmlChar* filename); +XSLTPUBFUN void XSLTCALL + xsltFreeStylesheet (xsltStylesheetPtr style); +XSLTPUBFUN int XSLTCALL + xsltIsBlank (xmlChar *str); +XSLTPUBFUN void XSLTCALL + xsltFreeStackElemList (xsltStackElemPtr elem); +XSLTPUBFUN xsltDecimalFormatPtr XSLTCALL + xsltDecimalFormatGetByName(xsltStylesheetPtr style, + xmlChar *name); +XSLTPUBFUN xsltDecimalFormatPtr XSLTCALL + xsltDecimalFormatGetByQName(xsltStylesheetPtr style, + const xmlChar *nsUri, + const xmlChar *name); + +XSLTPUBFUN xsltStylesheetPtr XSLTCALL + xsltParseStylesheetProcess(xsltStylesheetPtr ret, + xmlDocPtr doc); +XSLTPUBFUN void XSLTCALL + xsltParseStylesheetOutput(xsltStylesheetPtr style, + xmlNodePtr cur); +XSLTPUBFUN xsltStylesheetPtr XSLTCALL + xsltParseStylesheetDoc (xmlDocPtr doc); +XSLTPUBFUN xsltStylesheetPtr XSLTCALL + xsltParseStylesheetImportedDoc(xmlDocPtr doc, + xsltStylesheetPtr style); +XSLTPUBFUN int XSLTCALL + xsltParseStylesheetUser(xsltStylesheetPtr style, + xmlDocPtr doc); +XSLTPUBFUN xsltStylesheetPtr XSLTCALL + xsltLoadStylesheetPI (xmlDocPtr doc); +XSLTPUBFUN void XSLTCALL + xsltNumberFormat (xsltTransformContextPtr ctxt, + xsltNumberDataPtr data, + xmlNodePtr node); +XSLTPUBFUN xmlXPathError XSLTCALL + xsltFormatNumberConversion(xsltDecimalFormatPtr self, + xmlChar *format, + double number, + xmlChar **result); + +XSLTPUBFUN void XSLTCALL + xsltParseTemplateContent(xsltStylesheetPtr style, + xmlNodePtr templ); +XSLTPUBFUN int XSLTCALL + xsltAllocateExtra (xsltStylesheetPtr style); +XSLTPUBFUN int XSLTCALL + xsltAllocateExtraCtxt (xsltTransformContextPtr ctxt); +/* + * Extra functions for Result Value Trees + */ +XSLTPUBFUN xmlDocPtr XSLTCALL + xsltCreateRVT (xsltTransformContextPtr ctxt); +XSLTPUBFUN int XSLTCALL + xsltRegisterTmpRVT (xsltTransformContextPtr ctxt, + xmlDocPtr RVT); +XSLTPUBFUN int XSLTCALL + xsltRegisterLocalRVT (xsltTransformContextPtr ctxt, + xmlDocPtr RVT); +XSLTPUBFUN int XSLTCALL + xsltRegisterPersistRVT (xsltTransformContextPtr ctxt, + xmlDocPtr RVT); +XSLTPUBFUN int XSLTCALL + xsltExtensionInstructionResultRegister( + xsltTransformContextPtr ctxt, + xmlXPathObjectPtr obj); +XSLTPUBFUN int XSLTCALL + xsltExtensionInstructionResultFinalize( + xsltTransformContextPtr ctxt); +XSLTPUBFUN int XSLTCALL + xsltFlagRVTs( + xsltTransformContextPtr ctxt, + xmlXPathObjectPtr obj, + int val); +XSLTPUBFUN void XSLTCALL + xsltFreeRVTs (xsltTransformContextPtr ctxt); +XSLTPUBFUN void XSLTCALL + xsltReleaseRVT (xsltTransformContextPtr ctxt, + xmlDocPtr RVT); +/* + * Extra functions for Attribute Value Templates + */ +XSLTPUBFUN void XSLTCALL + xsltCompileAttr (xsltStylesheetPtr style, + xmlAttrPtr attr); +XSLTPUBFUN xmlChar * XSLTCALL + xsltEvalAVT (xsltTransformContextPtr ctxt, + void *avt, + xmlNodePtr node); +XSLTPUBFUN void XSLTCALL + xsltFreeAVTList (void *avt); + +/* + * Extra function for successful xsltCleanupGlobals / xsltInit sequence. + */ + +XSLTPUBFUN void XSLTCALL + xsltUninit (void); + +/************************************************************************ + * * + * Compile-time functions for *internal* use only * + * * + ************************************************************************/ + +#ifdef XSLT_REFACTORED +XSLTPUBFUN void XSLTCALL + xsltParseSequenceConstructor( + xsltCompilerCtxtPtr cctxt, + xmlNodePtr start); +XSLTPUBFUN int XSLTCALL + xsltParseAnyXSLTElem (xsltCompilerCtxtPtr cctxt, + xmlNodePtr elem); +#ifdef XSLT_REFACTORED_XSLT_NSCOMP +XSLTPUBFUN int XSLTCALL + xsltRestoreDocumentNamespaces( + xsltNsMapPtr ns, + xmlDocPtr doc); +#endif +#endif /* XSLT_REFACTORED */ + +/************************************************************************ + * * + * Transformation-time functions for *internal* use only * + * * + ************************************************************************/ +XSLTPUBFUN int XSLTCALL + xsltInitCtxtKey (xsltTransformContextPtr ctxt, + xsltDocumentPtr doc, + xsltKeyDefPtr keyd); +XSLTPUBFUN int XSLTCALL + xsltInitAllDocKeys (xsltTransformContextPtr ctxt); +#ifdef __cplusplus +} +#endif + +#endif /* __XML_XSLT_H__ */ + diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/xsltconfig.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/xsltconfig.h new file mode 100644 index 0000000..e05f253 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/xsltconfig.h @@ -0,0 +1,146 @@ +/* + * Summary: compile-time version information for the XSLT engine + * Description: compile-time version information for the XSLT engine + * this module is autogenerated. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_XSLTCONFIG_H__ +#define __XML_XSLTCONFIG_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * LIBXSLT_DOTTED_VERSION: + * + * the version string like "1.2.3" + */ +#define LIBXSLT_DOTTED_VERSION "1.1.43" + +/** + * LIBXSLT_VERSION: + * + * the version number: 1.2.3 value is 10203 + */ +#define LIBXSLT_VERSION 10143 + +/** + * LIBXSLT_VERSION_STRING: + * + * the version number string, 1.2.3 value is "10203" + */ +#define LIBXSLT_VERSION_STRING "10143" + +/** + * LIBXSLT_VERSION_EXTRA: + * + * extra version information, used to show a Git commit description + */ +#define LIBXSLT_VERSION_EXTRA "" + +/** + * WITH_XSLT_DEBUG: + * + * Activate the compilation of the debug reporting. Speed penalty + * is insignifiant and being able to run xsltpoc -v is useful. On + * by default unless --without-debug is passed to configure + */ +#if 1 +#define WITH_XSLT_DEBUG +#endif + +/** + * XSLT_NEED_TRIO: + * + * should be activated if the existing libc library lacks some of the + * string formatting function, in that case reuse the Trio ones already + * compiled in the libxml2 library. + */ + +#if 0 +#define XSLT_NEED_TRIO +#endif +#ifdef __VMS +#define HAVE_SYS_STAT_H 1 +#ifndef XSLT_NEED_TRIO +#define XSLT_NEED_TRIO +#endif +#endif + +#ifdef XSLT_NEED_TRIO +#define TRIO_REPLACE_STDIO +#endif + +/** + * WITH_XSLT_DEBUGGER: + * + * Activate the compilation of the debugger support. Speed penalty + * is insignifiant. + * On by default unless --without-debugger is passed to configure + */ +#if 0 +#ifndef WITH_DEBUGGER +#define WITH_DEBUGGER +#endif +#endif + +/** + * WITH_PROFILER: + * + * Activate the compilation of the profiler. Speed penalty + * is insignifiant. + * On by default unless --without-profiler is passed to configure + */ +#if 1 +#ifndef WITH_PROFILER +#define WITH_PROFILER +#endif +#endif + +/** + * WITH_MODULES: + * + * Whether module support is configured into libxslt + * Note: no default module path for win32 platforms + */ +#if 0 +#ifndef WITH_MODULES +#define WITH_MODULES +#endif +#define LIBXSLT_DEFAULT_PLUGINS_PATH() "" +#endif + +/** + * LIBXSLT_ATTR_FORMAT: + * + * This macro is used to indicate to GCC the parameters are printf-like + */ +#ifdef __GNUC__ +#define LIBXSLT_ATTR_FORMAT(fmt,args) __attribute__((__format__(__printf__,fmt,args))) +#else +#define LIBXSLT_ATTR_FORMAT(fmt,args) +#endif + +/** + * LIBXSLT_PUBLIC: + * + * This macro is used to declare PUBLIC variables for Cygwin and for MSC on Windows + */ +#if !defined LIBXSLT_PUBLIC +#if (defined(__CYGWIN__) || defined _MSC_VER) && !defined IN_LIBXSLT && !defined LIBXSLT_STATIC +#define LIBXSLT_PUBLIC __declspec(dllimport) +#else +#define LIBXSLT_PUBLIC +#endif +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* __XML_XSLTCONFIG_H__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/xsltexports.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/xsltexports.h new file mode 100644 index 0000000..95c352f --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/xsltexports.h @@ -0,0 +1,64 @@ +/* + * Summary: macros for marking symbols as exportable/importable. + * Description: macros for marking symbols as exportable/importable. + * + * Copy: See Copyright for the status of this software. + */ + +#ifndef __XSLT_EXPORTS_H__ +#define __XSLT_EXPORTS_H__ + +#if defined(_WIN32) || defined(__CYGWIN__) +/** DOC_DISABLE */ + +#ifdef LIBXSLT_STATIC + #define XSLTPUBLIC +#elif defined(IN_LIBXSLT) + #define XSLTPUBLIC __declspec(dllexport) +#else + #define XSLTPUBLIC __declspec(dllimport) +#endif + +#define XSLTCALL __cdecl + +/** DOC_ENABLE */ +#else /* not Windows */ + +/** + * XSLTPUBLIC: + * + * Macro which declares a public symbol + */ +#define XSLTPUBLIC + +/** + * XSLTCALL: + * + * Macro which declares the calling convention for exported functions + */ +#define XSLTCALL + +#endif /* platform switch */ + +/* + * XSLTPUBFUN: + * + * Macro which declares an exportable function + */ +#define XSLTPUBFUN XSLTPUBLIC + +/** + * XSLTPUBVAR: + * + * Macro which declares an exportable variable + */ +#define XSLTPUBVAR XSLTPUBLIC extern + +/* Compatibility */ +#if !defined(LIBXSLT_PUBLIC) +#define LIBXSLT_PUBLIC XSLTPUBVAR +#endif + +#endif /* __XSLT_EXPORTS_H__ */ + + diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/xsltlocale.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/xsltlocale.h new file mode 100644 index 0000000..c8be58d --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/xsltlocale.h @@ -0,0 +1,44 @@ +/* + * Summary: Locale handling + * Description: Interfaces for locale handling. Needed for language dependent + * sorting. + * + * Copy: See Copyright for the status of this software. + * + * Author: Nick Wellnhofer + */ + +#ifndef __XML_XSLTLOCALE_H__ +#define __XML_XSLTLOCALE_H__ + +#include +#include "xsltexports.h" + +#ifdef __cplusplus +extern "C" { +#endif + +XSLTPUBFUN void * XSLTCALL + xsltNewLocale (const xmlChar *langName, + int lowerFirst); +XSLTPUBFUN void XSLTCALL + xsltFreeLocale (void *locale); +XSLTPUBFUN xmlChar * XSLTCALL + xsltStrxfrm (void *locale, + const xmlChar *string); +XSLTPUBFUN void XSLTCALL + xsltFreeLocales (void); + +/* Backward compatibility */ +typedef void *xsltLocale; +typedef xmlChar xsltLocaleChar; +XSLTPUBFUN int XSLTCALL + xsltLocaleStrcmp (void *locale, + const xmlChar *str1, + const xmlChar *str2); + +#ifdef __cplusplus +} +#endif + +#endif /* __XML_XSLTLOCALE_H__ */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/xsltutils.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/xsltutils.h new file mode 100644 index 0000000..2514774 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/include/libxslt/xsltutils.h @@ -0,0 +1,343 @@ +/* + * Summary: set of utilities for the XSLT engine + * Description: interfaces for the utilities module of the XSLT engine. + * things like message handling, profiling, and other + * generally useful routines. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_XSLTUTILS_H__ +#define __XML_XSLTUTILS_H__ + +#include +#include +#include +#include +#include "xsltexports.h" +#include "xsltInternals.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * XSLT_TODO: + * + * Macro to flag unimplemented blocks. + */ +#define XSLT_TODO \ + xsltGenericError(xsltGenericErrorContext, \ + "Unimplemented block at %s:%d\n", \ + __FILE__, __LINE__); + +/** + * XSLT_STRANGE: + * + * Macro to flag that a problem was detected internally. + */ +#define XSLT_STRANGE \ + xsltGenericError(xsltGenericErrorContext, \ + "Internal error at %s:%d\n", \ + __FILE__, __LINE__); + +/** + * IS_XSLT_ELEM: + * + * Checks that the element pertains to XSLT namespace. + */ +#define IS_XSLT_ELEM(n) \ + (((n) != NULL) && ((n)->type == XML_ELEMENT_NODE) && \ + ((n)->ns != NULL) && (xmlStrEqual((n)->ns->href, XSLT_NAMESPACE))) + +/** + * IS_XSLT_NAME: + * + * Checks the value of an element in XSLT namespace. + */ +#define IS_XSLT_NAME(n, val) \ + (xmlStrEqual((n)->name, (const xmlChar *) (val))) + +/** + * IS_XSLT_REAL_NODE: + * + * Check that a node is a 'real' one: document, element, text or attribute. + */ +#define IS_XSLT_REAL_NODE(n) \ + (((n) != NULL) && \ + (((n)->type == XML_ELEMENT_NODE) || \ + ((n)->type == XML_TEXT_NODE) || \ + ((n)->type == XML_CDATA_SECTION_NODE) || \ + ((n)->type == XML_ATTRIBUTE_NODE) || \ + ((n)->type == XML_DOCUMENT_NODE) || \ + ((n)->type == XML_HTML_DOCUMENT_NODE) || \ + ((n)->type == XML_COMMENT_NODE) || \ + ((n)->type == XML_PI_NODE))) + +/* + * Our own version of namespaced attributes lookup. + */ +XSLTPUBFUN xmlChar * XSLTCALL + xsltGetNsProp (xmlNodePtr node, + const xmlChar *name, + const xmlChar *nameSpace); +XSLTPUBFUN const xmlChar * XSLTCALL + xsltGetCNsProp (xsltStylesheetPtr style, + xmlNodePtr node, + const xmlChar *name, + const xmlChar *nameSpace); +XSLTPUBFUN int XSLTCALL + xsltGetUTF8Char (const unsigned char *utf, + int *len); +#ifdef IN_LIBXSLT +/** DOC_DISABLE */ +XSLTPUBFUN int XSLTCALL + xsltGetUTF8CharZ (const unsigned char *utf, + int *len); +/** DOC_ENABLE */ +#endif + +/* + * XSLT Debug Tracing Tracing Types + */ +typedef enum { + XSLT_TRACE_ALL = -1, + XSLT_TRACE_NONE = 0, + XSLT_TRACE_COPY_TEXT = 1<<0, + XSLT_TRACE_PROCESS_NODE = 1<<1, + XSLT_TRACE_APPLY_TEMPLATE = 1<<2, + XSLT_TRACE_COPY = 1<<3, + XSLT_TRACE_COMMENT = 1<<4, + XSLT_TRACE_PI = 1<<5, + XSLT_TRACE_COPY_OF = 1<<6, + XSLT_TRACE_VALUE_OF = 1<<7, + XSLT_TRACE_CALL_TEMPLATE = 1<<8, + XSLT_TRACE_APPLY_TEMPLATES = 1<<9, + XSLT_TRACE_CHOOSE = 1<<10, + XSLT_TRACE_IF = 1<<11, + XSLT_TRACE_FOR_EACH = 1<<12, + XSLT_TRACE_STRIP_SPACES = 1<<13, + XSLT_TRACE_TEMPLATES = 1<<14, + XSLT_TRACE_KEYS = 1<<15, + XSLT_TRACE_VARIABLES = 1<<16 +} xsltDebugTraceCodes; + +/** + * XSLT_TRACE: + * + * Control the type of xsl debugtrace messages emitted. + */ +#define XSLT_TRACE(ctxt,code,call) \ + if (ctxt->traceCode && (*(ctxt->traceCode) & code)) \ + call + +XSLTPUBFUN void XSLTCALL + xsltDebugSetDefaultTrace(xsltDebugTraceCodes val); +XSLTPUBFUN xsltDebugTraceCodes XSLTCALL + xsltDebugGetDefaultTrace(void); + +/* + * XSLT specific error and debug reporting functions. + */ +XSLTPUBVAR xmlGenericErrorFunc xsltGenericError; +XSLTPUBVAR void *xsltGenericErrorContext; +XSLTPUBVAR xmlGenericErrorFunc xsltGenericDebug; +XSLTPUBVAR void *xsltGenericDebugContext; + +XSLTPUBFUN void XSLTCALL + xsltPrintErrorContext (xsltTransformContextPtr ctxt, + xsltStylesheetPtr style, + xmlNodePtr node); +XSLTPUBFUN void XSLTCALL + xsltMessage (xsltTransformContextPtr ctxt, + xmlNodePtr node, + xmlNodePtr inst); +XSLTPUBFUN void XSLTCALL + xsltSetGenericErrorFunc (void *ctx, + xmlGenericErrorFunc handler); +XSLTPUBFUN void XSLTCALL + xsltSetGenericDebugFunc (void *ctx, + xmlGenericErrorFunc handler); +XSLTPUBFUN void XSLTCALL + xsltSetTransformErrorFunc (xsltTransformContextPtr ctxt, + void *ctx, + xmlGenericErrorFunc handler); +XSLTPUBFUN void XSLTCALL + xsltTransformError (xsltTransformContextPtr ctxt, + xsltStylesheetPtr style, + xmlNodePtr node, + const char *msg, + ...) LIBXSLT_ATTR_FORMAT(4,5); + +XSLTPUBFUN int XSLTCALL + xsltSetCtxtParseOptions (xsltTransformContextPtr ctxt, + int options); +/* + * Sorting. + */ + +XSLTPUBFUN void XSLTCALL + xsltDocumentSortFunction (xmlNodeSetPtr list); +XSLTPUBFUN void XSLTCALL + xsltSetSortFunc (xsltSortFunc handler); +XSLTPUBFUN void XSLTCALL + xsltSetCtxtSortFunc (xsltTransformContextPtr ctxt, + xsltSortFunc handler); +XSLTPUBFUN void XSLTCALL + xsltSetCtxtLocaleHandlers (xsltTransformContextPtr ctxt, + xsltNewLocaleFunc newLocale, + xsltFreeLocaleFunc freeLocale, + xsltGenSortKeyFunc genSortKey); +XSLTPUBFUN void XSLTCALL + xsltDefaultSortFunction (xsltTransformContextPtr ctxt, + xmlNodePtr *sorts, + int nbsorts); +XSLTPUBFUN void XSLTCALL + xsltDoSortFunction (xsltTransformContextPtr ctxt, + xmlNodePtr * sorts, + int nbsorts); +XSLTPUBFUN xmlXPathObjectPtr * XSLTCALL + xsltComputeSortResult (xsltTransformContextPtr ctxt, + xmlNodePtr sort); + +/* + * QNames handling. + */ + +XSLTPUBFUN const xmlChar * XSLTCALL + xsltSplitQName (xmlDictPtr dict, + const xmlChar *name, + const xmlChar **prefix); +XSLTPUBFUN const xmlChar * XSLTCALL + xsltGetQNameURI (xmlNodePtr node, + xmlChar **name); + +XSLTPUBFUN const xmlChar * XSLTCALL + xsltGetQNameURI2 (xsltStylesheetPtr style, + xmlNodePtr node, + const xmlChar **name); + +/* + * Output, reuse libxml I/O buffers. + */ +XSLTPUBFUN int XSLTCALL + xsltSaveResultTo (xmlOutputBufferPtr buf, + xmlDocPtr result, + xsltStylesheetPtr style); +XSLTPUBFUN int XSLTCALL + xsltSaveResultToFilename (const char *URI, + xmlDocPtr result, + xsltStylesheetPtr style, + int compression); +XSLTPUBFUN int XSLTCALL + xsltSaveResultToFile (FILE *file, + xmlDocPtr result, + xsltStylesheetPtr style); +XSLTPUBFUN int XSLTCALL + xsltSaveResultToFd (int fd, + xmlDocPtr result, + xsltStylesheetPtr style); +XSLTPUBFUN int XSLTCALL + xsltSaveResultToString (xmlChar **doc_txt_ptr, + int * doc_txt_len, + xmlDocPtr result, + xsltStylesheetPtr style); + +/* + * XPath interface + */ +XSLTPUBFUN xmlXPathCompExprPtr XSLTCALL + xsltXPathCompile (xsltStylesheetPtr style, + const xmlChar *str); +XSLTPUBFUN xmlXPathCompExprPtr XSLTCALL + xsltXPathCompileFlags (xsltStylesheetPtr style, + const xmlChar *str, + int flags); + +#ifdef IN_LIBXSLT +/** DOC_DISABLE */ +#define XSLT_SOURCE_NODE_MASK 15u +#define XSLT_SOURCE_NODE_HAS_KEY 1u +#define XSLT_SOURCE_NODE_HAS_ID 2u +int +xsltGetSourceNodeFlags(xmlNodePtr node); +int +xsltSetSourceNodeFlags(xsltTransformContextPtr ctxt, xmlNodePtr node, + int flags); +int +xsltClearSourceNodeFlags(xmlNodePtr node, int flags); +void ** +xsltGetPSVIPtr(xmlNodePtr cur); +/** DOC_ENABLE */ +#endif + +#ifdef WITH_PROFILER +/* + * Profiling. + */ +XSLTPUBFUN void XSLTCALL + xsltSaveProfiling (xsltTransformContextPtr ctxt, + FILE *output); +XSLTPUBFUN xmlDocPtr XSLTCALL + xsltGetProfileInformation (xsltTransformContextPtr ctxt); + +XSLTPUBFUN long XSLTCALL + xsltTimestamp (void); +XSLTPUBFUN void XSLTCALL + xsltCalibrateAdjust (long delta); +#endif + +/** + * XSLT_TIMESTAMP_TICS_PER_SEC: + * + * Sampling precision for profiling + */ +#define XSLT_TIMESTAMP_TICS_PER_SEC 100000l + +/* + * Hooks for the debugger. + */ + +typedef enum { + XSLT_DEBUG_NONE = 0, /* no debugging allowed */ + XSLT_DEBUG_INIT, + XSLT_DEBUG_STEP, + XSLT_DEBUG_STEPOUT, + XSLT_DEBUG_NEXT, + XSLT_DEBUG_STOP, + XSLT_DEBUG_CONT, + XSLT_DEBUG_RUN, + XSLT_DEBUG_RUN_RESTART, + XSLT_DEBUG_QUIT +} xsltDebugStatusCodes; + +XSLTPUBVAR int xslDebugStatus; + +typedef void (*xsltHandleDebuggerCallback) (xmlNodePtr cur, xmlNodePtr node, + xsltTemplatePtr templ, xsltTransformContextPtr ctxt); +typedef int (*xsltAddCallCallback) (xsltTemplatePtr templ, xmlNodePtr source); +typedef void (*xsltDropCallCallback) (void); + +XSLTPUBFUN int XSLTCALL + xsltGetDebuggerStatus (void); +#ifdef WITH_DEBUGGER +XSLTPUBFUN void XSLTCALL + xsltSetDebuggerStatus (int value); +XSLTPUBFUN int XSLTCALL + xsltSetDebuggerCallbacks (int no, void *block); +XSLTPUBFUN int XSLTCALL + xslAddCall (xsltTemplatePtr templ, + xmlNodePtr source); +XSLTPUBFUN void XSLTCALL + xslDropCall (void); +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* __XML_XSLTUTILS_H__ */ + + diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/libxml2_polyfill.c b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/libxml2_polyfill.c new file mode 100644 index 0000000..750b1b5 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/libxml2_polyfill.c @@ -0,0 +1,114 @@ +#include + +#ifndef HAVE_XMLCTXTSETOPTIONS +/* based on libxml2-2.14.0-dev (1d8bd126) parser.c xmlCtxtSetInternalOptions */ +int +xmlCtxtSetOptions(xmlParserCtxtPtr ctxt, int options) +{ + int keepMask = 0; + int allMask; + + if (ctxt == NULL) { + return (-1); + } + + /* + * XInclude options aren't handled by the parser. + * + * XML_PARSE_XINCLUDE + * XML_PARSE_NOXINCNODE + * XML_PARSE_NOBASEFIX + */ + allMask = XML_PARSE_RECOVER | + XML_PARSE_NOENT | + XML_PARSE_DTDLOAD | + XML_PARSE_DTDATTR | + XML_PARSE_DTDVALID | + XML_PARSE_NOERROR | + XML_PARSE_NOWARNING | + XML_PARSE_PEDANTIC | + XML_PARSE_NOBLANKS | +#ifdef LIBXML_SAX1_ENABLED + XML_PARSE_SAX1 | +#endif + XML_PARSE_NONET | + XML_PARSE_NODICT | + XML_PARSE_NSCLEAN | + XML_PARSE_NOCDATA | + XML_PARSE_COMPACT | + XML_PARSE_OLD10 | + XML_PARSE_HUGE | + XML_PARSE_OLDSAX | + XML_PARSE_IGNORE_ENC | + XML_PARSE_BIG_LINES; + + ctxt->options = (ctxt->options & keepMask) | (options & allMask); + + /* + * For some options, struct members are historically the source + * of truth. The values are initalized from global variables and + * old code could also modify them directly. Several older API + * functions that don't take an options argument rely on these + * deprecated mechanisms. + * + * Once public access to struct members and the globals are + * disabled, we can use the options bitmask as source of + * truth, making all these struct members obsolete. + * + * The XML_DETECT_IDS flags is misnamed. It simply enables + * loading of the external subset. + */ + ctxt->recovery = (options & XML_PARSE_RECOVER) ? 1 : 0; + ctxt->replaceEntities = (options & XML_PARSE_NOENT) ? 1 : 0; + ctxt->loadsubset = (options & XML_PARSE_DTDLOAD) ? XML_DETECT_IDS : 0; + ctxt->loadsubset |= (options & XML_PARSE_DTDATTR) ? XML_COMPLETE_ATTRS : 0; + ctxt->validate = (options & XML_PARSE_DTDVALID) ? 1 : 0; + ctxt->pedantic = (options & XML_PARSE_PEDANTIC) ? 1 : 0; + ctxt->keepBlanks = (options & XML_PARSE_NOBLANKS) ? 0 : 1; + ctxt->dictNames = (options & XML_PARSE_NODICT) ? 0 : 1; + + /* + * Changing SAX callbacks is a bad idea. This should be fixed. + */ + if (options & XML_PARSE_NOBLANKS) { + ctxt->sax->ignorableWhitespace = xmlSAX2IgnorableWhitespace; + } + if (options & XML_PARSE_NOCDATA) { + ctxt->sax->cdataBlock = NULL; + } + if (options & XML_PARSE_HUGE) { + if (ctxt->dict != NULL) { + xmlDictSetLimit(ctxt->dict, 0); + } + } + + ctxt->linenumbers = 1; + + return (options & ~allMask); +} +#endif + +#ifndef HAVE_XMLCTXTGETOPTIONS +int +xmlCtxtGetOptions(xmlParserCtxtPtr ctxt) +{ + return (ctxt->options); +} +#endif + +#ifndef HAVE_XMLSWITCHENCODINGNAME +int +xmlSwitchEncodingName(xmlParserCtxtPtr ctxt, const char *encoding) +{ + if (ctxt == NULL) { + return (-1); + } + + xmlCharEncodingHandlerPtr handler = xmlFindCharEncodingHandler(encoding); + if (handler == NULL) { + return (-1); + } + + return (xmlSwitchToEncoding(ctxt, handler)); +} +#endif diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/nokogiri.c b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/nokogiri.c new file mode 100644 index 0000000..a43813b --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/nokogiri.c @@ -0,0 +1,294 @@ +#include + +VALUE mNokogiri ; +VALUE mNokogiriGumbo ; +VALUE mNokogiriHtml4 ; +VALUE mNokogiriHtml4Sax ; +VALUE mNokogiriHtml5 ; +VALUE mNokogiriXml ; +VALUE mNokogiriXmlSax ; +VALUE mNokogiriXmlXpath ; +VALUE mNokogiriXslt ; + +VALUE cNokogiriSyntaxError; +VALUE cNokogiriXmlCharacterData; +VALUE cNokogiriXmlElement; +VALUE cNokogiriXmlXpathSyntaxError; + +void noko_init_xml_attr(void); +void noko_init_xml_attribute_decl(void); +void noko_init_xml_cdata(void); +void noko_init_xml_comment(void); +void noko_init_xml_document(void); +void noko_init_xml_document_fragment(void); +void noko_init_xml_dtd(void); +void noko_init_xml_element_content(void); +void noko_init_xml_element_decl(void); +void noko_init_xml_encoding_handler(void); +void noko_init_xml_entity_decl(void); +void noko_init_xml_entity_reference(void); +void noko_init_xml_namespace(void); +void noko_init_xml_node(void); +void noko_init_xml_node_set(void); +void noko_init_xml_processing_instruction(void); +void noko_init_xml_reader(void); +void noko_init_xml_relax_ng(void); +void noko_init_xml_sax_parser(void); +void noko_init_xml_sax_parser_context(void); +void noko_init_xml_sax_push_parser(void); +void noko_init_xml_schema(void); +void noko_init_xml_syntax_error(void); +void noko_init_xml_text(void); +void noko_init_xml_xpath_context(void); +void noko_init_xslt_stylesheet(void); +void noko_init_html_document(void); +void noko_init_html_element_description(void); +void noko_init_html_entity_lookup(void); +void noko_init_html_sax_parser_context(void); +void noko_init_html_sax_push_parser(void); +void noko_init_html4_sax_parser(void); +void noko_init_gumbo(void); +void noko_init_test_global_handlers(void); + +static ID id_read, id_write, id_external_encoding; + + +static VALUE +noko_io_read_check(VALUE val) +{ + VALUE *args = (VALUE *)val; + return rb_funcall(args[0], id_read, 1, args[1]); +} + + +static VALUE +noko_io_read_failed(VALUE arg, VALUE exc) +{ + return Qundef; +} + + +int +noko_io_read(void *io, char *c_buffer, int c_buffer_len) +{ + VALUE rb_io = (VALUE)io; + VALUE rb_read_string, rb_args[2]; + size_t n_bytes_read, safe_len; + + rb_args[0] = rb_io; + rb_args[1] = INT2NUM(c_buffer_len); + + rb_read_string = rb_rescue(noko_io_read_check, (VALUE)rb_args, noko_io_read_failed, 0); + + if (NIL_P(rb_read_string)) { return 0; } + if (rb_read_string == Qundef) { return -1; } + if (TYPE(rb_read_string) != T_STRING) { return -1; } + + n_bytes_read = (size_t)RSTRING_LEN(rb_read_string); + safe_len = (n_bytes_read > (size_t)c_buffer_len) ? (size_t)c_buffer_len : n_bytes_read; + memcpy(c_buffer, StringValuePtr(rb_read_string), safe_len); + + return (int)safe_len; +} + + +static VALUE +noko_io_write_check(VALUE rb_args) +{ + VALUE rb_io = ((VALUE *)rb_args)[0]; + VALUE rb_output = ((VALUE *)rb_args)[1]; + return rb_funcall(rb_io, id_write, 1, rb_output); +} + + +static VALUE +noko_io_write_failed(VALUE arg, VALUE exc) +{ + return Qundef; +} + + +int +noko_io_write(void *io, char *c_buffer, int c_buffer_len) +{ + VALUE rb_args[2], rb_n_bytes_written; + VALUE rb_io = (VALUE)io; + VALUE rb_enc = Qnil; + rb_encoding *io_encoding; + + if (rb_respond_to(rb_io, id_external_encoding)) { + rb_enc = rb_funcall(rb_io, id_external_encoding, 0); + } + io_encoding = RB_NIL_P(rb_enc) ? rb_ascii8bit_encoding() : rb_to_encoding(rb_enc); + + rb_args[0] = rb_io; + rb_args[1] = rb_enc_str_new(c_buffer, (long)c_buffer_len, io_encoding); + + rb_n_bytes_written = rb_rescue(noko_io_write_check, (VALUE)rb_args, noko_io_write_failed, 0); + if (rb_n_bytes_written == Qundef) { return -1; } + + return NUM2INT(rb_n_bytes_written); +} + + +int +noko_io_close(void *io) +{ + return 0; +} + + +#if defined(_WIN32) && !defined(NOKOGIRI_PACKAGED_LIBRARIES) +# define NOKOGIRI_WINDOWS_DLLS 1 +#else +# define NOKOGIRI_WINDOWS_DLLS 0 +#endif + +// +// | dlls || true | false | +// | nlmm || | | +// |-----------++---------+---------| +// | NULL || default | ruby | +// | "random" || default | ruby | +// | "ruby" || ruby | ruby | +// | "default" || default | default | +// +// We choose *not* to use Ruby's memory management functions with windows DLLs because of this +// issue: https://github.com/sparklemotion/nokogiri/issues/2241 +// +static void +set_libxml_memory_management(void) +{ + const char *nlmm = getenv("NOKOGIRI_LIBXML_MEMORY_MANAGEMENT"); + if (nlmm) { + if (strcmp(nlmm, "default") == 0) { + goto libxml_uses_default_memory_management; + } else if (strcmp(nlmm, "ruby") == 0) { + goto libxml_uses_ruby_memory_management; + } + } + if (NOKOGIRI_WINDOWS_DLLS) { +libxml_uses_default_memory_management: + rb_const_set(mNokogiri, rb_intern("LIBXML_MEMORY_MANAGEMENT"), NOKOGIRI_STR_NEW2("default")); + return; + } else { +libxml_uses_ruby_memory_management: + rb_const_set(mNokogiri, rb_intern("LIBXML_MEMORY_MANAGEMENT"), NOKOGIRI_STR_NEW2("ruby")); + xmlMemSetup((xmlFreeFunc)ruby_xfree, (xmlMallocFunc)ruby_xmalloc, (xmlReallocFunc)ruby_xrealloc, ruby_strdup); + return; + } +} + + +void +Init_nokogiri(void) +{ + mNokogiri = rb_define_module("Nokogiri"); + mNokogiriGumbo = rb_define_module_under(mNokogiri, "Gumbo"); + mNokogiriHtml4 = rb_define_module_under(mNokogiri, "HTML4"); + mNokogiriHtml4Sax = rb_define_module_under(mNokogiriHtml4, "SAX"); + mNokogiriHtml5 = rb_define_module_under(mNokogiri, "HTML5"); + mNokogiriXml = rb_define_module_under(mNokogiri, "XML"); + mNokogiriXmlSax = rb_define_module_under(mNokogiriXml, "SAX"); + mNokogiriXmlXpath = rb_define_module_under(mNokogiriXml, "XPath"); + mNokogiriXslt = rb_define_module_under(mNokogiri, "XSLT"); + + set_libxml_memory_management(); /* must be before any function calls that might invoke xmlInitParser() */ + xmlInitParser(); + exsltRegisterAll(); + + rb_const_set(mNokogiri, rb_intern("LIBXML_COMPILED_VERSION"), NOKOGIRI_STR_NEW2(LIBXML_DOTTED_VERSION)); + rb_const_set(mNokogiri, rb_intern("LIBXML_LOADED_VERSION"), NOKOGIRI_STR_NEW2(xmlParserVersion)); + + rb_const_set(mNokogiri, rb_intern("LIBXSLT_COMPILED_VERSION"), NOKOGIRI_STR_NEW2(LIBXSLT_DOTTED_VERSION)); + rb_const_set(mNokogiri, rb_intern("LIBXSLT_LOADED_VERSION"), NOKOGIRI_STR_NEW2(xsltEngineVersion)); + + rb_const_set(mNokogiri, rb_intern("LIBXML_ZLIB_ENABLED"), + xmlHasFeature(XML_WITH_ZLIB) == 1 ? Qtrue : Qfalse); + +#ifdef NOKOGIRI_PACKAGED_LIBRARIES + rb_const_set(mNokogiri, rb_intern("PACKAGED_LIBRARIES"), Qtrue); +# ifdef NOKOGIRI_PRECOMPILED_LIBRARIES + rb_const_set(mNokogiri, rb_intern("PRECOMPILED_LIBRARIES"), Qtrue); +# else + rb_const_set(mNokogiri, rb_intern("PRECOMPILED_LIBRARIES"), Qfalse); +# endif + rb_const_set(mNokogiri, rb_intern("LIBXML2_PATCHES"), rb_str_split(NOKOGIRI_STR_NEW2(NOKOGIRI_LIBXML2_PATCHES), " ")); + rb_const_set(mNokogiri, rb_intern("LIBXSLT_PATCHES"), rb_str_split(NOKOGIRI_STR_NEW2(NOKOGIRI_LIBXSLT_PATCHES), " ")); +#else + rb_const_set(mNokogiri, rb_intern("PACKAGED_LIBRARIES"), Qfalse); + rb_const_set(mNokogiri, rb_intern("PRECOMPILED_LIBRARIES"), Qfalse); + rb_const_set(mNokogiri, rb_intern("LIBXML2_PATCHES"), Qnil); + rb_const_set(mNokogiri, rb_intern("LIBXSLT_PATCHES"), Qnil); +#endif + +#ifdef LIBXML_ICONV_ENABLED + rb_const_set(mNokogiri, rb_intern("LIBXML_ICONV_ENABLED"), Qtrue); +#else + rb_const_set(mNokogiri, rb_intern("LIBXML_ICONV_ENABLED"), Qfalse); +#endif + +#ifdef NOKOGIRI_OTHER_LIBRARY_VERSIONS + rb_const_set(mNokogiri, rb_intern("OTHER_LIBRARY_VERSIONS"), NOKOGIRI_STR_NEW2(NOKOGIRI_OTHER_LIBRARY_VERSIONS)); +#endif + + if (xsltExtModuleFunctionLookup((const xmlChar *)"date-time", EXSLT_DATE_NAMESPACE)) { + rb_const_set(mNokogiri, rb_intern("LIBXSLT_DATETIME_ENABLED"), Qtrue); + } else { + rb_const_set(mNokogiri, rb_intern("LIBXSLT_DATETIME_ENABLED"), Qfalse); + } + + cNokogiriSyntaxError = rb_define_class_under(mNokogiri, "SyntaxError", rb_eStandardError); + noko_init_xml_syntax_error(); + assert(cNokogiriXmlSyntaxError); + cNokogiriXmlXpathSyntaxError = rb_define_class_under(mNokogiriXmlXpath, "SyntaxError", cNokogiriXmlSyntaxError); + + noko_init_xml_element_content(); + noko_init_xml_encoding_handler(); + noko_init_xml_namespace(); + noko_init_xml_node_set(); + noko_init_xml_reader(); + + noko_init_xml_sax_parser(); + noko_init_html4_sax_parser(); + + noko_init_xml_xpath_context(); + noko_init_xslt_stylesheet(); + noko_init_html_element_description(); + noko_init_html_entity_lookup(); + + noko_init_xml_schema(); + noko_init_xml_relax_ng(); + + noko_init_xml_sax_parser_context(); + noko_init_html_sax_parser_context(); + + noko_init_xml_sax_push_parser(); + noko_init_html_sax_push_parser(); + + noko_init_xml_node(); + noko_init_xml_attr(); + noko_init_xml_attribute_decl(); + noko_init_xml_dtd(); + noko_init_xml_element_decl(); + noko_init_xml_entity_decl(); + noko_init_xml_entity_reference(); + noko_init_xml_processing_instruction(); + assert(cNokogiriXmlNode); + cNokogiriXmlElement = rb_define_class_under(mNokogiriXml, "Element", cNokogiriXmlNode); + cNokogiriXmlCharacterData = rb_define_class_under(mNokogiriXml, "CharacterData", cNokogiriXmlNode); + noko_init_xml_comment(); + noko_init_xml_text(); + noko_init_xml_cdata(); + + noko_init_xml_document_fragment(); + noko_init_xml_document(); + noko_init_html_document(); + noko_init_gumbo(); + + noko_init_test_global_handlers(); + + id_read = rb_intern("read"); + id_write = rb_intern("write"); + id_external_encoding = rb_intern("external_encoding"); +} diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/nokogiri.h b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/nokogiri.h new file mode 100644 index 0000000..b75ebc4 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/nokogiri.h @@ -0,0 +1,238 @@ +#ifndef NOKOGIRI_NATIVE +#define NOKOGIRI_NATIVE + +#include // https://github.com/sparklemotion/nokogiri/issues/2696 + +#ifdef _MSC_VER +# ifndef WIN32_LEAN_AND_MEAN +# define WIN32_LEAN_AND_MEAN +# endif /* WIN32_LEAN_AND_MEAN */ + +# ifndef WIN32 +# define WIN32 +# endif /* WIN32 */ + +# include +# include +# include +#endif + +#ifdef _WIN32 +# define NOKOPUBFUN __declspec(dllexport) +# define NOKOPUBVAR __declspec(dllexport) extern +#else +# define NOKOPUBFUN +# define NOKOPUBVAR extern +#endif + +#include +#include +#include +#include +#include + + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include + +/* libxml2_polyfill.c */ +#ifndef HAVE_XMLCTXTSETOPTIONS +int xmlCtxtSetOptions(xmlParserCtxtPtr ctxt, int options); +#endif +#ifndef HAVE_XMLCTXTGETOPTIONS +int xmlCtxtGetOptions(xmlParserCtxtPtr ctxt); +#endif +#ifndef HAVE_XMLSWITCHENCODINGNAME +int xmlSwitchEncodingName(xmlParserCtxtPtr ctxt, const char *encoding); +#endif + +#define XMLNS_PREFIX "xmlns" +#define XMLNS_PREFIX_LEN 6 /* including either colon or \0 */ + +#ifndef xmlErrorConstPtr +# if LIBXML_VERSION >= 21200 +# define xmlErrorConstPtr const xmlError * +# else +# define xmlErrorConstPtr xmlError * +# endif +#endif + +#include +#include +#include +#include +#include + +#define NOKOGIRI_STR_NEW2(str) NOKOGIRI_STR_NEW(str, strlen((const char *)(str))) +#define NOKOGIRI_STR_NEW(str, len) rb_external_str_new_with_enc((const char *)(str), (long)(len), rb_utf8_encoding()) +#define RBSTR_OR_QNIL(_str) (_str ? NOKOGIRI_STR_NEW2(_str) : Qnil) + +#ifndef NORETURN_DECL +# if defined(__GNUC__) +# define NORETURN_DECL __attribute__ ((noreturn)) +# else +# define NORETURN_DECL +# endif +#endif + +#ifndef PRINTFLIKE_DECL +# if defined(__GNUC__) +# define PRINTFLIKE_DECL(stringidx, argidx) __attribute__ ((format(printf,stringidx,argidx))) +# else +# define PRINTFLIKE_DECL(stringidx, argidx) +# endif +#endif + +#if defined(TRUFFLERUBY) && !defined(NOKOGIRI_PACKAGED_LIBRARIES) +# define TRUFFLERUBY_NOKOGIRI_SYSTEM_LIBRARIES +#endif + +NOKOPUBVAR VALUE mNokogiri ; +NOKOPUBVAR VALUE mNokogiriGumbo ; +NOKOPUBVAR VALUE mNokogiriHtml4 ; +NOKOPUBVAR VALUE mNokogiriHtml4Sax ; +NOKOPUBVAR VALUE mNokogiriHtml5 ; +NOKOPUBVAR VALUE mNokogiriXml ; +NOKOPUBVAR VALUE mNokogiriXmlSax ; +NOKOPUBVAR VALUE mNokogiriXmlXpath ; +NOKOPUBVAR VALUE mNokogiriXslt ; + +NOKOPUBVAR VALUE cNokogiriEncodingHandler; +NOKOPUBVAR VALUE cNokogiriSyntaxError; +NOKOPUBVAR VALUE cNokogiriXmlAttr; +NOKOPUBVAR VALUE cNokogiriXmlAttributeDecl; +NOKOPUBVAR VALUE cNokogiriXmlCData; +NOKOPUBVAR VALUE cNokogiriXmlCharacterData; +NOKOPUBVAR VALUE cNokogiriXmlComment; +NOKOPUBVAR VALUE cNokogiriXmlDocument ; +NOKOPUBVAR VALUE cNokogiriXmlDocumentFragment; +NOKOPUBVAR VALUE cNokogiriXmlDtd; +NOKOPUBVAR VALUE cNokogiriXmlElement ; +NOKOPUBVAR VALUE cNokogiriXmlElementContent; +NOKOPUBVAR VALUE cNokogiriXmlElementDecl; +NOKOPUBVAR VALUE cNokogiriXmlEntityDecl; +NOKOPUBVAR VALUE cNokogiriXmlEntityReference; +NOKOPUBVAR VALUE cNokogiriXmlNamespace ; +NOKOPUBVAR VALUE cNokogiriXmlNode ; +NOKOPUBVAR VALUE cNokogiriXmlNodeSet ; +NOKOPUBVAR VALUE cNokogiriXmlProcessingInstruction; +NOKOPUBVAR VALUE cNokogiriXmlReader; +NOKOPUBVAR VALUE cNokogiriXmlRelaxNG; +NOKOPUBVAR VALUE cNokogiriXmlSaxParser ; +NOKOPUBVAR VALUE cNokogiriXmlSaxParserContext; +NOKOPUBVAR VALUE cNokogiriXmlSaxPushParser ; +NOKOPUBVAR VALUE cNokogiriXmlSchema; +NOKOPUBVAR VALUE cNokogiriXmlSyntaxError; +NOKOPUBVAR VALUE cNokogiriXmlText ; +NOKOPUBVAR VALUE cNokogiriXmlXpathContext; +NOKOPUBVAR VALUE cNokogiriXmlXpathSyntaxError; +NOKOPUBVAR VALUE cNokogiriXsltStylesheet ; + +NOKOPUBVAR VALUE cNokogiriHtml4Document ; +NOKOPUBVAR VALUE cNokogiriHtml4SaxPushParser ; +NOKOPUBVAR VALUE cNokogiriHtml4ElementDescription ; +NOKOPUBVAR VALUE cNokogiriHtml4SaxParser; +NOKOPUBVAR VALUE cNokogiriHtml4SaxParserContext; +NOKOPUBVAR VALUE cNokogiriHtml5Document ; + +typedef struct _nokogiriTuple { + VALUE doc; + st_table *unlinkedNodes; + VALUE node_cache; +} nokogiriTuple; +typedef nokogiriTuple *nokogiriTuplePtr; + +typedef struct _libxmlStructuredErrorHandlerState { + void *user_data; + xmlStructuredErrorFunc handler; +} libxmlStructuredErrorHandlerState ; + +typedef struct _nokogiriXsltStylesheetTuple { + xsltStylesheetPtr ss; + VALUE func_instances; +} nokogiriXsltStylesheetTuple; + +void noko_xml_document_pin_node(xmlNodePtr); +void noko_xml_document_pin_namespace(xmlNsPtr, xmlDocPtr); +int noko_xml_document_has_wrapped_blank_nodes_p(xmlDocPtr c_document); + +int noko_io_read(void *ctx, char *buffer, int len); +int noko_io_write(void *ctx, char *buffer, int len); +int noko_io_close(void *ctx); + +#define Noko_Node_Get_Struct(obj,type,sval) ((sval) = (type*)DATA_PTR(obj)) +#define Noko_Namespace_Get_Struct(obj,type,sval) ((sval) = (type*)DATA_PTR(obj)) + +VALUE noko_xml_node_wrap(VALUE klass, xmlNodePtr node) ; +VALUE noko_xml_node_wrap_node_set_result(xmlNodePtr node, VALUE node_set) ; +VALUE noko_xml_node_attrs(xmlNodePtr node) ; + +VALUE noko_xml_namespace_wrap(xmlNsPtr node, xmlDocPtr doc); +VALUE noko_xml_namespace_wrap_xpath_copy(xmlNsPtr node); + +VALUE noko_xml_element_content_wrap(VALUE doc, xmlElementContentPtr element); + +VALUE noko_xml_node_set_wrap(xmlNodeSetPtr node_set, VALUE document) ; +xmlNodeSetPtr noko_xml_node_set_unwrap(VALUE rb_node_set) ; + +VALUE noko_xml_document_wrap_with_init_args(VALUE klass, xmlDocPtr doc, int argc, VALUE *argv); +VALUE noko_xml_document_wrap(VALUE klass, xmlDocPtr doc); +xmlDocPtr noko_xml_document_unwrap(VALUE rb_document); +NOKOPUBFUN VALUE Nokogiri_wrap_xml_document(VALUE klass, + xmlDocPtr doc); /* deprecated. use noko_xml_document_wrap() instead. */ + +xmlSAXHandlerPtr noko_xml_sax_parser_unwrap(VALUE rb_sax_handler); + +xmlParserCtxtPtr noko_xml_sax_push_parser_unwrap(VALUE rb_parser); + +VALUE noko_xml_sax_parser_context_wrap(VALUE klass, xmlParserCtxtPtr c_context); +xmlParserCtxtPtr noko_xml_sax_parser_context_unwrap(VALUE rb_context); +void noko_xml_sax_parser_context_set_encoding(xmlParserCtxtPtr c_context, VALUE rb_encoding); + +#define DOC_RUBY_OBJECT_TEST(x) ((nokogiriTuplePtr)(x->_private)) +#define DOC_RUBY_OBJECT(x) (((nokogiriTuplePtr)(x->_private))->doc) +#define DOC_UNLINKED_NODE_HASH(x) (((nokogiriTuplePtr)(x->_private))->unlinkedNodes) +#define DOC_NODE_CACHE(x) (((nokogiriTuplePtr)(x->_private))->node_cache) +#define NOKOGIRI_NAMESPACE_EH(node) ((node)->type == XML_NAMESPACE_DECL) + +#define DISCARD_CONST_QUAL(t, v) ((t)(uintptr_t)(v)) +#define DISCARD_CONST_QUAL_XMLCHAR(v) DISCARD_CONST_QUAL(xmlChar *, v) + +#if HAVE_RB_CATEGORY_WARNING +# define NOKO_WARN_DEPRECATION(message...) rb_category_warning(RB_WARN_CATEGORY_DEPRECATED, message) +#else +# define NOKO_WARN_DEPRECATION(message...) rb_warning(message) +#endif + +void noko__structured_error_func_save(libxmlStructuredErrorHandlerState *handler_state); +void noko__structured_error_func_save_and_set(libxmlStructuredErrorHandlerState *handler_state, void *user_data, + xmlStructuredErrorFunc handler); +void noko__structured_error_func_restore(libxmlStructuredErrorHandlerState *handler_state); +VALUE noko_xml_syntax_error__wrap(xmlErrorConstPtr error); +void noko__error_array_pusher(void *ctx, xmlErrorConstPtr error); +NORETURN_DECL void noko__error_raise(void *ctx, xmlErrorConstPtr error); +void Nokogiri_marshal_xpath_funcall_and_return_values(xmlXPathParserContextPtr ctx, int nargs, VALUE handler, + const char *function_name) ; + +#endif /* NOKOGIRI_NATIVE */ diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/test_global_handlers.c b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/test_global_handlers.c new file mode 100644 index 0000000..cec0915 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/test_global_handlers.c @@ -0,0 +1,40 @@ +#include + +static VALUE foreign_error_handler_block = Qnil; + +static void +foreign_error_handler(void *user_data, xmlErrorConstPtr c_error) +{ + rb_funcall(foreign_error_handler_block, rb_intern("call"), 0); +} + +/* + * call-seq: + * __foreign_error_handler { ... } -> nil + * + * Override libxml2's global error handlers to call the block. This method thus has very little + * value except to test that Nokogiri is properly setting error handlers elsewhere in the code. See + * test/helper.rb for how this is being used. + */ +static VALUE +rb_foreign_error_handler(VALUE klass) +{ + rb_need_block(); + foreign_error_handler_block = rb_block_proc(); + xmlSetStructuredErrorFunc(NULL, foreign_error_handler); + return Qnil; +} + +/* + * Document-module: Nokogiri::Test + * + * The Nokogiri::Test module should only be used for testing Nokogiri. + * Do NOT use this outside of the Nokogiri test suite. + */ +void +noko_init_test_global_handlers(void) +{ + VALUE mNokogiriTest = rb_define_module_under(mNokogiri, "Test"); + + rb_define_singleton_method(mNokogiriTest, "__foreign_error_handler", rb_foreign_error_handler, 0); +} diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_attr.c b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_attr.c new file mode 100644 index 0000000..90eea3c --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_attr.c @@ -0,0 +1,103 @@ +#include + +VALUE cNokogiriXmlAttr; + +/* + * call-seq: + * value=(content) + * + * Set the value for this Attr to +content+. Use +nil+ to remove the value + * (e.g., a HTML boolean attribute). + */ +static VALUE +set_value(VALUE self, VALUE content) +{ + xmlAttrPtr attr; + xmlChar *value; + xmlNode *cur; + + Noko_Node_Get_Struct(self, xmlAttr, attr); + + if (attr->children) { + xmlFreeNodeList(attr->children); + } + attr->children = attr->last = NULL; + + if (content == Qnil) { + return content; + } + + value = xmlEncodeEntitiesReentrant(attr->doc, (unsigned char *)StringValueCStr(content)); + if (xmlStrlen(value) == 0) { + attr->children = xmlNewDocText(attr->doc, value); + } else { + attr->children = xmlStringGetNodeList(attr->doc, value); + } + xmlFree(value); + + for (cur = attr->children; cur; cur = cur->next) { + cur->parent = (xmlNode *)attr; + cur->doc = attr->doc; + if (cur->next == NULL) { + attr->last = cur; + } + } + + return content; +} + +/* + * call-seq: + * new(document, name) + * + * Create a new Attr element on the +document+ with +name+ + */ +static VALUE +new (int argc, VALUE *argv, VALUE klass) +{ + xmlDocPtr xml_doc; + VALUE document; + VALUE name; + VALUE rest; + xmlAttrPtr node; + VALUE rb_node; + + rb_scan_args(argc, argv, "2*", &document, &name, &rest); + + if (! rb_obj_is_kind_of(document, cNokogiriXmlDocument)) { + rb_raise(rb_eArgError, "parameter must be a Nokogiri::XML::Document"); + } + + xml_doc = noko_xml_document_unwrap(document); + + node = xmlNewDocProp( + xml_doc, + (const xmlChar *)StringValueCStr(name), + NULL + ); + + noko_xml_document_pin_node((xmlNodePtr)node); + + rb_node = noko_xml_node_wrap(klass, (xmlNodePtr)node); + rb_obj_call_init(rb_node, argc, argv); + + if (rb_block_given_p()) { + rb_yield(rb_node); + } + + return rb_node; +} + +void +noko_init_xml_attr(void) +{ + assert(cNokogiriXmlNode); + /* + * Attr represents a Attr node in an xml document. + */ + cNokogiriXmlAttr = rb_define_class_under(mNokogiriXml, "Attr", cNokogiriXmlNode); + + rb_define_singleton_method(cNokogiriXmlAttr, "new", new, -1); + + rb_define_method(cNokogiriXmlAttr, "value=", set_value, 1); +} diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_attribute_decl.c b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_attribute_decl.c new file mode 100644 index 0000000..3f9bebc --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_attribute_decl.c @@ -0,0 +1,70 @@ +#include + +VALUE cNokogiriXmlAttributeDecl; + +/* + * call-seq: + * attribute_type + * + * The attribute_type for this AttributeDecl + */ +static VALUE +attribute_type(VALUE self) +{ + xmlAttributePtr node; + Noko_Node_Get_Struct(self, xmlAttribute, node); + return INT2NUM(node->atype); +} + +/* + * call-seq: + * default + * + * The default value + */ +static VALUE +default_value(VALUE self) +{ + xmlAttributePtr node; + Noko_Node_Get_Struct(self, xmlAttribute, node); + + if (node->defaultValue) { return NOKOGIRI_STR_NEW2(node->defaultValue); } + return Qnil; +} + +/* + * call-seq: + * enumeration + * + * An enumeration of possible values + */ +static VALUE +enumeration(VALUE self) +{ + xmlAttributePtr node; + xmlEnumerationPtr enm; + VALUE list; + + Noko_Node_Get_Struct(self, xmlAttribute, node); + + list = rb_ary_new(); + enm = node->tree; + + while (enm) { + rb_ary_push(list, NOKOGIRI_STR_NEW2(enm->name)); + enm = enm->next; + } + + return list; +} + +void +noko_init_xml_attribute_decl(void) +{ + assert(cNokogiriXmlNode); + cNokogiriXmlAttributeDecl = rb_define_class_under(mNokogiriXml, "AttributeDecl", cNokogiriXmlNode); + + rb_define_method(cNokogiriXmlAttributeDecl, "attribute_type", attribute_type, 0); + rb_define_method(cNokogiriXmlAttributeDecl, "default", default_value, 0); + rb_define_method(cNokogiriXmlAttributeDecl, "enumeration", enumeration, 0); +} diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_cdata.c b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_cdata.c new file mode 100644 index 0000000..4431d20 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_cdata.c @@ -0,0 +1,62 @@ +#include + +VALUE cNokogiriXmlCData; + +/* + * call-seq: + * new(document, content) + * + * Create a new CDATA element on the +document+ with +content+ + * + * If +content+ cannot be implicitly converted to a string, this method will + * raise a TypeError exception. + */ +static VALUE +rb_xml_cdata_s_new(int argc, VALUE *argv, VALUE klass) +{ + xmlDocPtr c_document; + xmlNodePtr c_node; + VALUE rb_document; + VALUE rb_content; + VALUE rb_rest; + VALUE rb_node; + + rb_scan_args(argc, argv, "2*", &rb_document, &rb_content, &rb_rest); + + Check_Type(rb_content, T_STRING); + if (!rb_obj_is_kind_of(rb_document, cNokogiriXmlNode)) { + rb_raise(rb_eTypeError, + "expected first parameter to be a Nokogiri::XML::Document, received %"PRIsVALUE, + rb_obj_class(rb_document)); + } + + if (!rb_obj_is_kind_of(rb_document, cNokogiriXmlDocument)) { + xmlNodePtr deprecated_node_type_arg; + NOKO_WARN_DEPRECATION("Passing a Node as the first parameter to CDATA.new is deprecated. Please pass a Document instead. This will become an error in Nokogiri v1.17.0."); // TODO: deprecated in v1.15.3, remove in v1.17.0 + Noko_Node_Get_Struct(rb_document, xmlNode, deprecated_node_type_arg); + c_document = deprecated_node_type_arg->doc; + } else { + c_document = noko_xml_document_unwrap(rb_document); + } + + c_node = xmlNewCDataBlock(c_document, (xmlChar *)StringValueCStr(rb_content), RSTRING_LENINT(rb_content)); + noko_xml_document_pin_node(c_node); + rb_node = noko_xml_node_wrap(klass, c_node); + rb_obj_call_init(rb_node, argc, argv); + + if (rb_block_given_p()) { rb_yield(rb_node); } + + return rb_node; +} + +void +noko_init_xml_cdata(void) +{ + assert(cNokogiriXmlText); + /* + * CData represents a CData node in an xml document. + */ + cNokogiriXmlCData = rb_define_class_under(mNokogiriXml, "CDATA", cNokogiriXmlText); + + rb_define_singleton_method(cNokogiriXmlCData, "new", rb_xml_cdata_s_new, -1); +} diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_comment.c b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_comment.c new file mode 100644 index 0000000..211761c --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_comment.c @@ -0,0 +1,57 @@ +#include + +VALUE cNokogiriXmlComment; + +static ID document_id ; + +/* + * call-seq: + * new(document_or_node, content) + * + * Create a new Comment element on the +document+ with +content+. + * Alternatively, if a +node+ is passed, the +node+'s document is used. + */ +static VALUE +new (int argc, VALUE *argv, VALUE klass) +{ + xmlDocPtr xml_doc; + xmlNodePtr node; + VALUE document; + VALUE content; + VALUE rest; + VALUE rb_node; + + rb_scan_args(argc, argv, "2*", &document, &content, &rest); + + Check_Type(content, T_STRING); + if (rb_obj_is_kind_of(document, cNokogiriXmlNode)) { + document = rb_funcall(document, document_id, 0); + } else if (!rb_obj_is_kind_of(document, cNokogiriXmlDocument) + && !rb_obj_is_kind_of(document, cNokogiriXmlDocumentFragment)) { + rb_raise(rb_eArgError, "first argument must be a XML::Document or XML::Node"); + } + xml_doc = noko_xml_document_unwrap(document); + + node = xmlNewDocComment(xml_doc, (const xmlChar *)StringValueCStr(content)); + noko_xml_document_pin_node(node); + rb_node = noko_xml_node_wrap(klass, node); + rb_obj_call_init(rb_node, argc, argv); + + if (rb_block_given_p()) { rb_yield(rb_node); } + + return rb_node; +} + +void +noko_init_xml_comment(void) +{ + assert(cNokogiriXmlCharacterData); + /* + * Comment represents a comment node in an xml document. + */ + cNokogiriXmlComment = rb_define_class_under(mNokogiriXml, "Comment", cNokogiriXmlCharacterData); + + rb_define_singleton_method(cNokogiriXmlComment, "new", new, -1); + + document_id = rb_intern("document"); +} diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_document.c b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_document.c new file mode 100644 index 0000000..7408193 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_document.c @@ -0,0 +1,784 @@ +#include + +VALUE cNokogiriXmlDocument ; + +static int +dealloc_node_i2(xmlNodePtr key, xmlNodePtr node, xmlDocPtr doc) +{ + switch (node->type) { + case XML_ATTRIBUTE_NODE: + xmlFreePropList((xmlAttrPtr)node); + break; + case XML_NAMESPACE_DECL: + xmlFreeNs((xmlNsPtr)node); + break; + case XML_DTD_NODE: + xmlFreeDtd((xmlDtdPtr)node); + break; + default: + if (node->parent == NULL) { + node->next = NULL; + node->prev = NULL; + xmlAddChild((xmlNodePtr)doc, node); + } + } + return ST_CONTINUE; +} + +static int +dealloc_node_i(st_data_t key, st_data_t node, st_data_t doc) +{ + return dealloc_node_i2((xmlNodePtr)key, (xmlNodePtr)node, (xmlDocPtr)doc); +} + +static void +remove_private(xmlNodePtr node) +{ + xmlNodePtr child; + + for (child = node->children; child; child = child->next) { + remove_private(child); + } + + if ((node->type == XML_ELEMENT_NODE || + node->type == XML_XINCLUDE_START || + node->type == XML_XINCLUDE_END) && + node->properties) { + for (child = (xmlNodePtr)node->properties; child; child = child->next) { + remove_private(child); + } + } + + node->_private = NULL; +} + +static void +mark(void *data) +{ + xmlDocPtr doc = (xmlDocPtr)data; + nokogiriTuplePtr tuple = (nokogiriTuplePtr)doc->_private; + if (tuple) { + rb_gc_mark(tuple->doc); + rb_gc_mark(tuple->node_cache); + } +} + +static void +dealloc(void *data) +{ + xmlDocPtr doc = (xmlDocPtr)data; + st_table *node_hash; + + node_hash = DOC_UNLINKED_NODE_HASH(doc); + + st_foreach(node_hash, dealloc_node_i, (st_data_t)doc); + st_free_table(node_hash); + + ruby_xfree(doc->_private); + +#if defined(__GNUC__) && __GNUC__ >= 5 +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" // xmlDeregisterNodeDefault is deprecated as of libxml2 2.11.0 +#endif + /* + * libxml-ruby < 3.0.0 uses xmlDeregisterNodeDefault. If the user is using one of those older + * versions, the registered callback from libxml-ruby will access the _private pointers set by + * nokogiri, which will result in segfaults. + * + * To avoid this, we need to clear the _private pointers from all nodes in this document tree + * before that callback gets invoked. + * + * libxml-ruby 3.0.0 was released in 2017-02, so at some point we can probably safely remove this + * safeguard (though probably pairing with a runtime check on the libxml-ruby version). + */ + if (xmlDeregisterNodeDefaultValue) { + remove_private((xmlNodePtr)doc); + } +#if defined(__GNUC__) && __GNUC__ >= 5 +#pragma GCC diagnostic pop +#endif + + xmlFreeDoc(doc); +} + +static size_t +memsize_node(const xmlNodePtr node) +{ + /* note we don't count namespace definitions, just going for a good-enough number here */ + xmlNodePtr child; + xmlAttrPtr property; + size_t memsize = 0; + + memsize += (size_t)xmlStrlen(node->name); + + if (node->type == XML_ELEMENT_NODE) { + for (property = node->properties; property; property = property->next) { + memsize += sizeof(xmlAttr) + memsize_node((xmlNodePtr)property); + } + } + if (node->type == XML_TEXT_NODE) { + memsize += (size_t)xmlStrlen(node->content); + } + for (child = node->children; child; child = child->next) { + memsize += sizeof(xmlNode) + memsize_node(child); + } + return memsize; +} + +static size_t +memsize(const void *data) +{ + xmlDocPtr doc = (const xmlDocPtr)data; + size_t memsize = sizeof(xmlDoc); + /* This may not account for all memory use */ + memsize += memsize_node((xmlNodePtr)doc); + return memsize; +} + +static const rb_data_type_t xml_doc_type = { + .wrap_struct_name = "xmlDoc", + .function = { + .dmark = mark, + .dfree = dealloc, + .dsize = memsize, + }, + // .flags = RUBY_TYPED_FREE_IMMEDIATELY, // TODO see https://github.com/sparklemotion/nokogiri/issues/2822 +}; + +static VALUE +_xml_document_alloc(VALUE klass) +{ + return TypedData_Wrap_Struct(klass, &xml_doc_type, NULL); +} + +static void +_xml_document_data_ptr_set(VALUE rb_document, xmlDocPtr c_document) +{ + nokogiriTuplePtr tuple; + + assert(DATA_PTR(rb_document) == NULL); + assert(c_document->_private == NULL); + + DATA_PTR(rb_document) = c_document; + + tuple = (nokogiriTuplePtr)ruby_xmalloc(sizeof(nokogiriTuple)); + tuple->doc = rb_document; + tuple->unlinkedNodes = st_init_numtable_with_size(128); + tuple->node_cache = rb_ary_new(); + + c_document->_private = tuple ; + + rb_iv_set(rb_document, "@node_cache", tuple->node_cache); + + return; +} + +/* :nodoc: */ +static VALUE +rb_xml_document_initialize_copy_with_args(VALUE rb_self, VALUE rb_other, VALUE rb_level) +{ + xmlDocPtr c_other, c_self; + int c_level; + + c_other = noko_xml_document_unwrap(rb_other); + c_level = (int)NUM2INT(rb_level); + + c_self = xmlCopyDoc(c_other, c_level); + if (c_self == NULL) { return Qnil; } + + c_self->type = c_other->type; + _xml_document_data_ptr_set(rb_self, c_self); + + return rb_self ; +} + +static void +recursively_remove_namespaces_from_node(xmlNodePtr node) +{ + xmlNodePtr child ; + xmlAttrPtr property ; + + xmlSetNs(node, NULL); + + for (child = node->children ; child ; child = child->next) { + recursively_remove_namespaces_from_node(child); + } + + if (((node->type == XML_ELEMENT_NODE) || + (node->type == XML_XINCLUDE_START) || + (node->type == XML_XINCLUDE_END)) && + node->nsDef) { + xmlNsPtr curr = node->nsDef; + while (curr) { + noko_xml_document_pin_namespace(curr, node->doc); + curr = curr->next; + } + node->nsDef = NULL; + } + + if (node->type == XML_ELEMENT_NODE && node->properties != NULL) { + property = node->properties ; + while (property != NULL) { + if (property->ns) { property->ns = NULL ; } + property = property->next ; + } + } +} + +/* + * call-seq: + * url + * + * Get the url name for this document. + */ +static VALUE +url(VALUE self) +{ + xmlDocPtr doc = noko_xml_document_unwrap(self); + + if (doc->URL) { return NOKOGIRI_STR_NEW2(doc->URL); } + + return Qnil; +} + +/* + * call-seq: + * root= + * + * Set the root element on this document + */ +static VALUE +rb_xml_document_root_set(VALUE self, VALUE rb_new_root) +{ + xmlDocPtr c_document; + xmlNodePtr c_new_root = NULL, c_current_root; + + c_document = noko_xml_document_unwrap(self); + + c_current_root = xmlDocGetRootElement(c_document); + if (c_current_root) { + xmlUnlinkNode(c_current_root); + noko_xml_document_pin_node(c_current_root); + } + + if (!NIL_P(rb_new_root)) { + if (!rb_obj_is_kind_of(rb_new_root, cNokogiriXmlNode)) { + rb_raise(rb_eArgError, + "expected Nokogiri::XML::Node but received %"PRIsVALUE, + rb_obj_class(rb_new_root)); + } + + Noko_Node_Get_Struct(rb_new_root, xmlNode, c_new_root); + + /* If the new root's document is not the same as the current document, + * then we need to dup the node in to this document. */ + if (c_new_root->doc != c_document) { + c_new_root = xmlDocCopyNode(c_new_root, c_document, 1); + if (!c_new_root) { + rb_raise(rb_eRuntimeError, "Could not reparent node (xmlDocCopyNode)"); + } + } + } + + xmlDocSetRootElement(c_document, c_new_root); + + return rb_new_root; +} + +/* + * call-seq: + * root + * + * Get the root node for this document. + */ +static VALUE +rb_xml_document_root(VALUE self) +{ + xmlDocPtr c_document; + xmlNodePtr c_root; + + c_document = noko_xml_document_unwrap(self); + + c_root = xmlDocGetRootElement(c_document); + if (!c_root) { + return Qnil; + } + + return noko_xml_node_wrap(Qnil, c_root) ; +} + +/* + * call-seq: + * encoding= encoding + * + * Set the encoding string for this Document + */ +static VALUE +set_encoding(VALUE self, VALUE encoding) +{ + xmlDocPtr doc = noko_xml_document_unwrap(self); + + if (doc->encoding) { + xmlFree(DISCARD_CONST_QUAL_XMLCHAR(doc->encoding)); + } + + doc->encoding = xmlStrdup((xmlChar *)StringValueCStr(encoding)); + + return encoding; +} + +/* + * call-seq: + * encoding + * + * Get the encoding for this Document + */ +static VALUE +encoding(VALUE self) +{ + xmlDocPtr doc = noko_xml_document_unwrap(self); + + if (!doc->encoding) { return Qnil; } + return NOKOGIRI_STR_NEW2(doc->encoding); +} + +/* + * call-seq: + * version + * + * Get the XML version for this Document + */ +static VALUE +version(VALUE self) +{ + xmlDocPtr doc = noko_xml_document_unwrap(self); + + if (!doc->version) { return Qnil; } + return NOKOGIRI_STR_NEW2(doc->version); +} + +/* + * call-seq: + * read_io(io, url, encoding, options) + * + * Create a new document from an IO object + */ +static VALUE +noko_xml_document_s_read_io(VALUE rb_class, + VALUE rb_io, + VALUE rb_url, + VALUE rb_encoding, + VALUE rb_options) +{ + /* TODO: deprecate this method, parse should be the preferred entry point. then we can make this + private. */ + libxmlStructuredErrorHandlerState handler_state; + VALUE rb_errors = rb_ary_new(); + + noko__structured_error_func_save_and_set(&handler_state, (void *)rb_errors, noko__error_array_pusher); + + const char *c_url = NIL_P(rb_url) ? NULL : StringValueCStr(rb_url); + const char *c_enc = NIL_P(rb_encoding) ? NULL : StringValueCStr(rb_encoding); + xmlDocPtr c_document = xmlReadIO( + (xmlInputReadCallback)noko_io_read, + (xmlInputCloseCallback)noko_io_close, + (void *)rb_io, + c_url, + c_enc, + (int)NUM2INT(rb_options) + ); + + noko__structured_error_func_restore(&handler_state); + + if (c_document == NULL) { + xmlFreeDoc(c_document); + + VALUE exception = rb_funcall(cNokogiriXmlSyntaxError, rb_intern("aggregate"), 1, rb_errors); + if (RB_TEST(exception)) { + rb_exc_raise(exception); + } else { + rb_raise(rb_eRuntimeError, "Could not parse document"); + } + } + + VALUE rb_document = noko_xml_document_wrap(rb_class, c_document); + rb_iv_set(rb_document, "@errors", rb_errors); + return rb_document; +} + +/* + * call-seq: + * read_memory(string, url, encoding, options) + * + * Create a new document from a String + */ +static VALUE +noko_xml_document_s_read_memory(VALUE rb_class, + VALUE rb_input, + VALUE rb_url, + VALUE rb_encoding, + VALUE rb_options) +{ + /* TODO: deprecate this method, parse should be the preferred entry point. then we can make this + private. */ + VALUE rb_errors = rb_ary_new(); + xmlSetStructuredErrorFunc((void *)rb_errors, noko__error_array_pusher); + + const char *c_buffer = StringValuePtr(rb_input); + const char *c_url = NIL_P(rb_url) ? NULL : StringValueCStr(rb_url); + const char *c_enc = NIL_P(rb_encoding) ? NULL : StringValueCStr(rb_encoding); + int c_buffer_len = (int)RSTRING_LEN(rb_input); + xmlDocPtr c_document = xmlReadMemory(c_buffer, c_buffer_len, c_url, c_enc, (int)NUM2INT(rb_options)); + + xmlSetStructuredErrorFunc(NULL, NULL); + + if (c_document == NULL) { + VALUE exception = rb_funcall(cNokogiriXmlSyntaxError, rb_intern("aggregate"), 1, rb_errors); + if (RB_TEST(exception)) { + rb_exc_raise(exception); + } else { + rb_raise(rb_eRuntimeError, "Could not parse document"); + } + } + + VALUE document = noko_xml_document_wrap(rb_class, c_document); + rb_iv_set(document, "@errors", rb_errors); + return document; +} + +/* + * call-seq: + * new(version = "1.0") + * + * Create a new empty document declaring XML version +version+. + */ +static VALUE +new (int argc, VALUE *argv, VALUE klass) +{ + xmlDocPtr doc; + VALUE version, rest, rb_doc ; + + rb_scan_args(argc, argv, "0*", &rest); + version = rb_ary_entry(rest, (long)0); + if (NIL_P(version)) { version = rb_str_new2("1.0"); } + + doc = xmlNewDoc((xmlChar *)StringValueCStr(version)); + rb_doc = noko_xml_document_wrap_with_init_args(klass, doc, argc, argv); + return rb_doc ; +} + +/* + * call-seq: + * remove_namespaces! + * + * Remove all namespaces from all nodes in the document. + * + * This could be useful for developers who either don't understand namespaces + * or don't care about them. + * + * The following example shows a use case, and you can decide for yourself + * whether this is a good thing or not: + * + * doc = Nokogiri::XML <<-EOXML + * + * + * Michelin Model XGV + * + * + * I'm a bicycle tire! + * + * + * EOXML + * + * doc.xpath("//tire").to_s # => "" + * doc.xpath("//part:tire", "part" => "http://general-motors.com/").to_s # => "Michelin Model XGV" + * doc.xpath("//part:tire", "part" => "http://schwinn.com/").to_s # => "I'm a bicycle tire!" + * + * doc.remove_namespaces! + * + * doc.xpath("//tire").to_s # => "Michelin Model XGVI'm a bicycle tire!" + * doc.xpath("//part:tire", "part" => "http://general-motors.com/").to_s # => "" + * doc.xpath("//part:tire", "part" => "http://schwinn.com/").to_s # => "" + * + * For more information on why this probably is *not* a good thing in general, + * please direct your browser to + * http://tenderlovemaking.com/2009/04/23/namespaces-in-xml.html + */ +static VALUE +remove_namespaces_bang(VALUE self) +{ + xmlDocPtr doc = noko_xml_document_unwrap(self); + + recursively_remove_namespaces_from_node((xmlNodePtr)doc); + return self; +} + +/* call-seq: + * doc.create_entity(name, type, external_id, system_id, content) + * + * Create a new entity named +name+. + * + * +type+ is an integer representing the type of entity to be created, and it defaults to + * +Nokogiri::XML::EntityDecl::INTERNAL_GENERAL+. See the constants on Nokogiri::XML::EntityDecl for + * more information. + * + * +external_id+, +system_id+, and +content+ set the External ID, System ID, + * and content respectively. All of these parameters are optional. + */ +static VALUE +noko_xml_document__create_entity(int argc, VALUE *argv, VALUE rb_document) +{ + VALUE rb_name; + VALUE rb_type; + VALUE rb_ext_id; + VALUE rb_sys_id; + VALUE rb_content; + + rb_scan_args(argc, argv, "14", + &rb_name, + &rb_type, &rb_ext_id, &rb_sys_id, &rb_content); + + xmlDocPtr c_document = noko_xml_document_unwrap(rb_document); + + libxmlStructuredErrorHandlerState handler_state; + VALUE rb_errors = rb_ary_new(); + noko__structured_error_func_save_and_set(&handler_state, (void *)rb_errors, noko__error_array_pusher); + + xmlEntityPtr c_entity = xmlAddDocEntity( + c_document, + (xmlChar *)(NIL_P(rb_name) ? NULL : StringValueCStr(rb_name)), + (int)(NIL_P(rb_type) ? XML_INTERNAL_GENERAL_ENTITY : NUM2INT(rb_type)), + (xmlChar *)(NIL_P(rb_ext_id) ? NULL : StringValueCStr(rb_ext_id)), + (xmlChar *)(NIL_P(rb_sys_id) ? NULL : StringValueCStr(rb_sys_id)), + (xmlChar *)(NIL_P(rb_content) ? NULL : StringValueCStr(rb_content)) + ); + + noko__structured_error_func_restore(&handler_state); + + if (NULL == c_entity) { + VALUE exception = rb_funcall(cNokogiriXmlSyntaxError, rb_intern("aggregate"), 1, rb_errors); + if (RB_TEST(exception)) { + rb_exc_raise(exception); + } else { + rb_raise(rb_eRuntimeError, "Could not create entity"); + } + } + + return noko_xml_node_wrap(cNokogiriXmlEntityDecl, (xmlNodePtr)c_entity); +} + +static int +block_caller(void *ctx, xmlNodePtr c_node, xmlNodePtr c_parent_node) +{ + VALUE block = (VALUE)ctx; + VALUE rb_node; + VALUE rb_parent_node; + VALUE ret; + + if (c_node->type == XML_NAMESPACE_DECL) { + rb_node = noko_xml_namespace_wrap((xmlNsPtr)c_node, c_parent_node->doc); + } else { + rb_node = noko_xml_node_wrap(Qnil, c_node); + } + rb_parent_node = c_parent_node ? noko_xml_node_wrap(Qnil, c_parent_node) : Qnil; + + ret = rb_funcall(block, rb_intern("call"), 2, rb_node, rb_parent_node); + + return (Qfalse == ret || Qnil == ret) ? 0 : 1; +} + +/* call-seq: + * doc.canonicalize(mode=XML_C14N_1_0,inclusive_namespaces=nil,with_comments=false) + * doc.canonicalize { |obj, parent| ... } + * + * Canonicalize a document and return the results. Takes an optional block + * that takes two parameters: the +obj+ and that node's +parent+. + * The +obj+ will be either a Nokogiri::XML::Node, or a Nokogiri::XML::Namespace + * The block must return a non-nil, non-false value if the +obj+ passed in + * should be included in the canonicalized document. + */ +static VALUE +rb_xml_document_canonicalize(int argc, VALUE *argv, VALUE self) +{ + VALUE rb_mode; + VALUE rb_namespaces; + VALUE rb_comments_p; + int c_mode = 0; + xmlChar **c_namespaces; + + xmlDocPtr c_doc; + xmlOutputBufferPtr c_obuf; + xmlC14NIsVisibleCallback c_callback_wrapper = NULL; + void *rb_callback = NULL; + + VALUE rb_cStringIO; + VALUE rb_io; + + rb_scan_args(argc, argv, "03", &rb_mode, &rb_namespaces, &rb_comments_p); + if (!NIL_P(rb_mode)) { + Check_Type(rb_mode, T_FIXNUM); + c_mode = NUM2INT(rb_mode); + } + if (!NIL_P(rb_namespaces)) { + Check_Type(rb_namespaces, T_ARRAY); + if (c_mode == XML_C14N_1_0 || c_mode == XML_C14N_1_1) { + rb_raise(rb_eRuntimeError, "This canonicalizer does not support this operation"); + } + } + + c_doc = noko_xml_document_unwrap(self); + + rb_cStringIO = rb_const_get_at(rb_cObject, rb_intern("StringIO")); + rb_io = rb_class_new_instance(0, 0, rb_cStringIO); + c_obuf = xmlAllocOutputBuffer(NULL); + + c_obuf->writecallback = (xmlOutputWriteCallback)noko_io_write; + c_obuf->closecallback = (xmlOutputCloseCallback)noko_io_close; + c_obuf->context = (void *)rb_io; + + if (rb_block_given_p()) { + c_callback_wrapper = block_caller; + rb_callback = (void *)rb_block_proc(); + } + + if (NIL_P(rb_namespaces)) { + c_namespaces = NULL; + } else { + long ns_len = RARRAY_LEN(rb_namespaces); + c_namespaces = ruby_xcalloc((size_t)ns_len + 1, sizeof(xmlChar *)); + for (int j = 0 ; j < ns_len ; j++) { + VALUE entry = rb_ary_entry(rb_namespaces, j); + c_namespaces[j] = (xmlChar *)StringValueCStr(entry); + } + } + + xmlC14NExecute(c_doc, c_callback_wrapper, rb_callback, + c_mode, + c_namespaces, + (int)RTEST(rb_comments_p), + c_obuf); + + ruby_xfree(c_namespaces); + xmlOutputBufferClose(c_obuf); + + return rb_funcall(rb_io, rb_intern("string"), 0); +} + +VALUE +noko_xml_document_wrap_with_init_args(VALUE klass, xmlDocPtr c_document, int argc, VALUE *argv) +{ + VALUE rb_document; + + if (!klass) { + klass = cNokogiriXmlDocument; + } + + rb_document = _xml_document_alloc(klass); + _xml_document_data_ptr_set(rb_document, c_document); + + rb_iv_set(rb_document, "@decorators", Qnil); + rb_iv_set(rb_document, "@errors", Qnil); + + rb_obj_call_init(rb_document, argc, argv); + + return rb_document ; +} + + +/* deprecated. use noko_xml_document_wrap() instead. */ +VALUE +Nokogiri_wrap_xml_document(VALUE klass, xmlDocPtr doc) +{ + /* TODO: deprecate this method in v2.0 */ + return noko_xml_document_wrap_with_init_args(klass, doc, 0, NULL); +} + +VALUE +noko_xml_document_wrap(VALUE klass, xmlDocPtr doc) +{ + return noko_xml_document_wrap_with_init_args(klass, doc, 0, NULL); +} + +xmlDocPtr +noko_xml_document_unwrap(VALUE rb_document) +{ + xmlDocPtr c_document; + TypedData_Get_Struct(rb_document, xmlDoc, &xml_doc_type, c_document); + return c_document; +} + +/* Schema creation will remove and deallocate "blank" nodes. + * If those blank nodes have been exposed to Ruby, they could get freed + * out from under the VALUE pointer. This function checks to see if any of + * those nodes have been exposed to Ruby, and if so we should raise an exception. + */ +int +noko_xml_document_has_wrapped_blank_nodes_p(xmlDocPtr c_document) +{ + VALUE cache = DOC_NODE_CACHE(c_document); + + if (NIL_P(cache)) { + return 0; + } + + for (long jnode = 0; jnode < RARRAY_LEN(cache); jnode++) { + xmlNodePtr node; + VALUE element = rb_ary_entry(cache, jnode); + + Noko_Node_Get_Struct(element, xmlNode, node); + if (xmlIsBlankNode(node)) { + return 1; + } + } + + return 0; +} + +void +noko_xml_document_pin_node(xmlNodePtr node) +{ + xmlDocPtr doc; + nokogiriTuplePtr tuple; + + doc = node->doc; + tuple = (nokogiriTuplePtr)doc->_private; + st_insert(tuple->unlinkedNodes, (st_data_t)node, (st_data_t)node); +} + + +void +noko_xml_document_pin_namespace(xmlNsPtr ns, xmlDocPtr doc) +{ + nokogiriTuplePtr tuple; + + tuple = (nokogiriTuplePtr)doc->_private; + st_insert(tuple->unlinkedNodes, (st_data_t)ns, (st_data_t)ns); +} + + +void +noko_init_xml_document(void) +{ + assert(cNokogiriXmlNode); + + cNokogiriXmlDocument = rb_define_class_under(mNokogiriXml, "Document", cNokogiriXmlNode); + + rb_define_alloc_func(cNokogiriXmlDocument, _xml_document_alloc); + + rb_define_singleton_method(cNokogiriXmlDocument, "read_memory", noko_xml_document_s_read_memory, 4); + rb_define_singleton_method(cNokogiriXmlDocument, "read_io", noko_xml_document_s_read_io, 4); + rb_define_singleton_method(cNokogiriXmlDocument, "new", new, -1); + + rb_define_method(cNokogiriXmlDocument, "root", rb_xml_document_root, 0); + rb_define_method(cNokogiriXmlDocument, "root=", rb_xml_document_root_set, 1); + rb_define_method(cNokogiriXmlDocument, "encoding", encoding, 0); + rb_define_method(cNokogiriXmlDocument, "encoding=", set_encoding, 1); + rb_define_method(cNokogiriXmlDocument, "version", version, 0); + rb_define_method(cNokogiriXmlDocument, "canonicalize", rb_xml_document_canonicalize, -1); + rb_define_method(cNokogiriXmlDocument, "url", url, 0); + rb_define_method(cNokogiriXmlDocument, "create_entity", noko_xml_document__create_entity, -1); + rb_define_method(cNokogiriXmlDocument, "remove_namespaces!", remove_namespaces_bang, 0); + + rb_define_protected_method(cNokogiriXmlDocument, "initialize_copy_with_args", rb_xml_document_initialize_copy_with_args, + 2); +} diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_document_fragment.c b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_document_fragment.c new file mode 100644 index 0000000..3f28d28 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_document_fragment.c @@ -0,0 +1,29 @@ +#include + +VALUE cNokogiriXmlDocumentFragment; + +/* :nodoc: */ +static VALUE +noko_xml_document_fragment_s_native_new(VALUE klass, VALUE rb_doc) +{ + xmlDocPtr c_doc; + xmlNodePtr c_node; + VALUE rb_node; + + c_doc = noko_xml_document_unwrap(rb_doc); + c_node = xmlNewDocFragment(c_doc->doc); + noko_xml_document_pin_node(c_node); + rb_node = noko_xml_node_wrap(klass, c_node); + + return rb_node; +} + +void +noko_init_xml_document_fragment(void) +{ + assert(cNokogiriXmlNode); + + cNokogiriXmlDocumentFragment = rb_define_class_under(mNokogiriXml, "DocumentFragment", cNokogiriXmlNode); + + rb_define_singleton_method(cNokogiriXmlDocumentFragment, "native_new", noko_xml_document_fragment_s_native_new, 1); +} diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_dtd.c b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_dtd.c new file mode 100644 index 0000000..d361020 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_dtd.c @@ -0,0 +1,208 @@ +#include + +VALUE cNokogiriXmlDtd; + +static void +notation_copier(void *c_notation_ptr, void *rb_hash_ptr, const xmlChar *name) +{ + VALUE rb_hash = (VALUE)rb_hash_ptr; + xmlNotationPtr c_notation = (xmlNotationPtr)c_notation_ptr; + VALUE rb_notation; + VALUE cNokogiriXmlNotation; + VALUE rb_constructor_args[3]; + + rb_constructor_args[0] = (c_notation->name ? NOKOGIRI_STR_NEW2(c_notation->name) : Qnil); + rb_constructor_args[1] = (c_notation->PublicID ? NOKOGIRI_STR_NEW2(c_notation->PublicID) : Qnil); + rb_constructor_args[2] = (c_notation->SystemID ? NOKOGIRI_STR_NEW2(c_notation->SystemID) : Qnil); + + cNokogiriXmlNotation = rb_const_get_at(mNokogiriXml, rb_intern("Notation")); + rb_notation = rb_class_new_instance(3, rb_constructor_args, cNokogiriXmlNotation); + + rb_hash_aset(rb_hash, NOKOGIRI_STR_NEW2(name), rb_notation); +} + +static void +element_copier(void *c_node_ptr, void *rb_hash_ptr, const xmlChar *c_name) +{ + VALUE rb_hash = (VALUE)rb_hash_ptr; + xmlNodePtr c_node = (xmlNodePtr)c_node_ptr; + + VALUE rb_node = noko_xml_node_wrap(Qnil, c_node); + + rb_hash_aset(rb_hash, NOKOGIRI_STR_NEW2(c_name), rb_node); +} + +/* + * call-seq: + * entities + * + * Get a hash of the elements for this DTD. + */ +static VALUE +entities(VALUE self) +{ + xmlDtdPtr dtd; + VALUE hash; + + Noko_Node_Get_Struct(self, xmlDtd, dtd); + + if (!dtd->entities) { return Qnil; } + + hash = rb_hash_new(); + + xmlHashScan((xmlHashTablePtr)dtd->entities, element_copier, (void *)hash); + + return hash; +} + +/* + * call-seq: + * notations() → Hash + * + * [Returns] All the notations for this DTD in a Hash of Notation +name+ to Notation. + */ +static VALUE +notations(VALUE self) +{ + xmlDtdPtr dtd; + VALUE hash; + + Noko_Node_Get_Struct(self, xmlDtd, dtd); + + if (!dtd->notations) { return Qnil; } + + hash = rb_hash_new(); + + xmlHashScan((xmlHashTablePtr)dtd->notations, notation_copier, (void *)hash); + + return hash; +} + +/* + * call-seq: + * attributes + * + * Get a hash of the attributes for this DTD. + */ +static VALUE +attributes(VALUE self) +{ + xmlDtdPtr dtd; + VALUE hash; + + Noko_Node_Get_Struct(self, xmlDtd, dtd); + + hash = rb_hash_new(); + + if (!dtd->attributes) { return hash; } + + xmlHashScan((xmlHashTablePtr)dtd->attributes, element_copier, (void *)hash); + + return hash; +} + +/* + * call-seq: + * elements + * + * Get a hash of the elements for this DTD. + */ +static VALUE +elements(VALUE self) +{ + xmlDtdPtr dtd; + VALUE hash; + + Noko_Node_Get_Struct(self, xmlDtd, dtd); + + if (!dtd->elements) { return Qnil; } + + hash = rb_hash_new(); + + xmlHashScan((xmlHashTablePtr)dtd->elements, element_copier, (void *)hash); + + return hash; +} + +/* + * call-seq: + * validate(document) + * + * Validate +document+ returning a list of errors + */ +static VALUE +validate(VALUE self, VALUE document) +{ + xmlDocPtr doc; + xmlDtdPtr dtd; + xmlValidCtxtPtr ctxt; + VALUE error_list; + + Noko_Node_Get_Struct(self, xmlDtd, dtd); + doc = noko_xml_document_unwrap(document); + error_list = rb_ary_new(); + + ctxt = xmlNewValidCtxt(); + + xmlSetStructuredErrorFunc((void *)error_list, noko__error_array_pusher); + + xmlValidateDtd(ctxt, doc, dtd); + + xmlSetStructuredErrorFunc(NULL, NULL); + + xmlFreeValidCtxt(ctxt); + + return error_list; +} + +/* + * call-seq: + * system_id + * + * Get the System ID for this DTD + */ +static VALUE +system_id(VALUE self) +{ + xmlDtdPtr dtd; + Noko_Node_Get_Struct(self, xmlDtd, dtd); + + if (!dtd->SystemID) { return Qnil; } + + return NOKOGIRI_STR_NEW2(dtd->SystemID); +} + +/* + * call-seq: + * external_id + * + * Get the External ID for this DTD + */ +static VALUE +external_id(VALUE self) +{ + xmlDtdPtr dtd; + Noko_Node_Get_Struct(self, xmlDtd, dtd); + + if (!dtd->ExternalID) { return Qnil; } + + return NOKOGIRI_STR_NEW2(dtd->ExternalID); +} + +void +noko_init_xml_dtd(void) +{ + assert(cNokogiriXmlNode); + /* + * Nokogiri::XML::DTD wraps DTD nodes in an XML document + */ + cNokogiriXmlDtd = rb_define_class_under(mNokogiriXml, "DTD", cNokogiriXmlNode); + + rb_define_method(cNokogiriXmlDtd, "notations", notations, 0); + rb_define_method(cNokogiriXmlDtd, "elements", elements, 0); + rb_define_method(cNokogiriXmlDtd, "entities", entities, 0); + rb_define_method(cNokogiriXmlDtd, "validate", validate, 1); + rb_define_method(cNokogiriXmlDtd, "attributes", attributes, 0); + rb_define_method(cNokogiriXmlDtd, "system_id", system_id, 0); + rb_define_method(cNokogiriXmlDtd, "external_id", external_id, 0); +} diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_element_content.c b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_element_content.c new file mode 100644 index 0000000..b4fa884 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_element_content.c @@ -0,0 +1,131 @@ +#include + +VALUE cNokogiriXmlElementContent; + +static const rb_data_type_t xml_element_content_type = { + .wrap_struct_name = "xmlElementContent", + .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED, +}; + +/* + * call-seq: + * name → String + * + * [Returns] The content element's +name+ + */ +static VALUE +get_name(VALUE self) +{ + xmlElementContentPtr elem; + TypedData_Get_Struct(self, xmlElementContent, &xml_element_content_type, elem); + + if (!elem->name) { return Qnil; } + return NOKOGIRI_STR_NEW2(elem->name); +} + +/* + * call-seq: + * type → Integer + * + * [Returns] The content element's +type+. Possible values are +PCDATA+, +ELEMENT+, +SEQ+, or +OR+. + */ +static VALUE +get_type(VALUE self) +{ + xmlElementContentPtr elem; + TypedData_Get_Struct(self, xmlElementContent, &xml_element_content_type, elem); + + return INT2NUM(elem->type); +} + +/* + * Get the first child. + */ +static VALUE +get_c1(VALUE self) +{ + xmlElementContentPtr elem; + TypedData_Get_Struct(self, xmlElementContent, &xml_element_content_type, elem); + + if (!elem->c1) { return Qnil; } + return noko_xml_element_content_wrap(rb_iv_get(self, "@document"), elem->c1); +} + +/* + * Get the second child. + */ +static VALUE +get_c2(VALUE self) +{ + xmlElementContentPtr elem; + TypedData_Get_Struct(self, xmlElementContent, &xml_element_content_type, elem); + + if (!elem->c2) { return Qnil; } + return noko_xml_element_content_wrap(rb_iv_get(self, "@document"), elem->c2); +} + +/* + * call-seq: + * occur → Integer + * + * [Returns] The content element's +occur+ flag. Possible values are +ONCE+, +OPT+, +MULT+ or +PLUS+. + */ +static VALUE +get_occur(VALUE self) +{ + xmlElementContentPtr elem; + TypedData_Get_Struct(self, xmlElementContent, &xml_element_content_type, elem); + + return INT2NUM(elem->ocur); +} + +/* + * call-seq: + * prefix → String + * + * [Returns] The content element's namespace +prefix+. + */ +static VALUE +get_prefix(VALUE self) +{ + xmlElementContentPtr elem; + TypedData_Get_Struct(self, xmlElementContent, &xml_element_content_type, elem); + + if (!elem->prefix) { return Qnil; } + + return NOKOGIRI_STR_NEW2(elem->prefix); +} + +/* + * create a Nokogiri::XML::ElementContent object around an +element+. + */ +VALUE +noko_xml_element_content_wrap(VALUE rb_document, xmlElementContentPtr c_element_content) +{ + VALUE elem = TypedData_Wrap_Struct( + cNokogiriXmlElementContent, + &xml_element_content_type, + c_element_content + ); + + /* keep a handle on the document for GC marking */ + rb_iv_set(elem, "@document", rb_document); + + return elem; +} + +void +noko_init_xml_element_content(void) +{ + cNokogiriXmlElementContent = rb_define_class_under(mNokogiriXml, "ElementContent", rb_cObject); + + rb_undef_alloc_func(cNokogiriXmlElementContent); + + rb_define_method(cNokogiriXmlElementContent, "name", get_name, 0); + rb_define_method(cNokogiriXmlElementContent, "type", get_type, 0); + rb_define_method(cNokogiriXmlElementContent, "occur", get_occur, 0); + rb_define_method(cNokogiriXmlElementContent, "prefix", get_prefix, 0); + + rb_define_private_method(cNokogiriXmlElementContent, "c1", get_c1, 0); + rb_define_private_method(cNokogiriXmlElementContent, "c2", get_c2, 0); +} diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_element_decl.c b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_element_decl.c new file mode 100644 index 0000000..58981d3 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_element_decl.c @@ -0,0 +1,69 @@ +#include + +VALUE cNokogiriXmlElementDecl; + +static ID id_document; + +/* + * call-seq: + * element_type → Integer + * + * The element_type + */ +static VALUE +element_type(VALUE self) +{ + xmlElementPtr node; + Noko_Node_Get_Struct(self, xmlElement, node); + return INT2NUM(node->etype); +} + +/* + * call-seq: + * content → Nokogiri::XML::ElementContent + * + * [Returns] The root of this element declaration's content tree. + */ +static VALUE +content(VALUE self) +{ + xmlElementPtr node; + Noko_Node_Get_Struct(self, xmlElement, node); + + if (!node->content) { return Qnil; } + + return noko_xml_element_content_wrap( + rb_funcall(self, id_document, 0), + node->content + ); +} + +/* + * call-seq: + * prefix → String + * + * [Returns] The namespace +prefix+ for this element declaration. + */ +static VALUE +prefix(VALUE self) +{ + xmlElementPtr node; + Noko_Node_Get_Struct(self, xmlElement, node); + + if (!node->prefix) { return Qnil; } + + return NOKOGIRI_STR_NEW2(node->prefix); +} + +void +noko_init_xml_element_decl(void) +{ + assert(cNokogiriXmlNode); + cNokogiriXmlElementDecl = rb_define_class_under(mNokogiriXml, "ElementDecl", cNokogiriXmlNode); + + rb_define_method(cNokogiriXmlElementDecl, "element_type", element_type, 0); + rb_define_method(cNokogiriXmlElementDecl, "content", content, 0); + rb_define_method(cNokogiriXmlElementDecl, "prefix", prefix, 0); + + id_document = rb_intern("document"); +} diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_encoding_handler.c b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_encoding_handler.c new file mode 100644 index 0000000..0992787 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_encoding_handler.c @@ -0,0 +1,112 @@ +#include + +VALUE cNokogiriEncodingHandler; + +static void +xml_encoding_handler_dealloc(void *data) +{ + /* make sure iconv handlers are cleaned up and freed */ + xmlCharEncodingHandlerPtr c_handler = data; + xmlCharEncCloseFunc(c_handler); +} + +static const rb_data_type_t xml_char_encoding_handler_type = { + .wrap_struct_name = "xmlCharEncodingHandler", + .function = { + .dfree = xml_encoding_handler_dealloc, + }, + .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED, +}; + + +/* + * call-seq: Nokogiri::EncodingHandler.[](name) + * + * Get the encoding handler for +name+ + */ +static VALUE +rb_xml_encoding_handler_s_get(VALUE klass, VALUE key) +{ + xmlCharEncodingHandlerPtr handler; + + handler = xmlFindCharEncodingHandler(StringValueCStr(key)); + if (handler) { + return TypedData_Wrap_Struct(klass, &xml_char_encoding_handler_type, handler); + } + + return Qnil; +} + + +/* + * call-seq: Nokogiri::EncodingHandler.delete(name) + * + * Delete the encoding alias named +name+ + */ +static VALUE +rb_xml_encoding_handler_s_delete(VALUE klass, VALUE name) +{ + if (xmlDelEncodingAlias(StringValueCStr(name))) { return Qnil; } + + return Qtrue; +} + + +/* + * call-seq: Nokogiri::EncodingHandler.alias(real_name, alias_name) + * + * Alias encoding handler with name +real_name+ to name +alias_name+ + */ +static VALUE +rb_xml_encoding_handler_s_alias(VALUE klass, VALUE from, VALUE to) +{ + xmlAddEncodingAlias(StringValueCStr(from), StringValueCStr(to)); + + return to; +} + + +/* + * call-seq: Nokogiri::EncodingHandler.clear_aliases! + * + * Remove all encoding aliases. + */ +static VALUE +rb_xml_encoding_handler_s_clear_aliases(VALUE klass) +{ + xmlCleanupEncodingAliases(); + + return klass; +} + + +/* + * call-seq: name + * + * Get the name of this EncodingHandler + */ +static VALUE +rb_xml_encoding_handler_name(VALUE self) +{ + xmlCharEncodingHandlerPtr handler; + + TypedData_Get_Struct(self, xmlCharEncodingHandler, &xml_char_encoding_handler_type, handler); + + return NOKOGIRI_STR_NEW2(handler->name); +} + + +void +noko_init_xml_encoding_handler(void) +{ + cNokogiriEncodingHandler = rb_define_class_under(mNokogiri, "EncodingHandler", rb_cObject); + + rb_undef_alloc_func(cNokogiriEncodingHandler); + + rb_define_singleton_method(cNokogiriEncodingHandler, "[]", rb_xml_encoding_handler_s_get, 1); + rb_define_singleton_method(cNokogiriEncodingHandler, "delete", rb_xml_encoding_handler_s_delete, 1); + rb_define_singleton_method(cNokogiriEncodingHandler, "alias", rb_xml_encoding_handler_s_alias, 2); + rb_define_singleton_method(cNokogiriEncodingHandler, "clear_aliases!", rb_xml_encoding_handler_s_clear_aliases, 0); + + rb_define_method(cNokogiriEncodingHandler, "name", rb_xml_encoding_handler_name, 0); +} diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_entity_decl.c b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_entity_decl.c new file mode 100644 index 0000000..4b7f407 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_entity_decl.c @@ -0,0 +1,112 @@ +#include + +VALUE cNokogiriXmlEntityDecl; + +/* + * call-seq: + * original_content + * + * Get the original_content before ref substitution + */ +static VALUE +original_content(VALUE self) +{ + xmlEntityPtr node; + Noko_Node_Get_Struct(self, xmlEntity, node); + + if (!node->orig) { return Qnil; } + + return NOKOGIRI_STR_NEW2(node->orig); +} + +/* + * call-seq: + * content + * + * Get the content + */ +static VALUE +get_content(VALUE self) +{ + xmlEntityPtr node; + Noko_Node_Get_Struct(self, xmlEntity, node); + + if (!node->content) { return Qnil; } + + return NOKOGIRI_STR_NEW(node->content, node->length); +} + +/* + * call-seq: + * entity_type + * + * Get the entity type + */ +static VALUE +entity_type(VALUE self) +{ + xmlEntityPtr node; + Noko_Node_Get_Struct(self, xmlEntity, node); + + return INT2NUM((int)node->etype); +} + +/* + * call-seq: + * external_id + * + * Get the external identifier for PUBLIC + */ +static VALUE +external_id(VALUE self) +{ + xmlEntityPtr node; + Noko_Node_Get_Struct(self, xmlEntity, node); + + if (!node->ExternalID) { return Qnil; } + + return NOKOGIRI_STR_NEW2(node->ExternalID); +} + +/* + * call-seq: + * system_id + * + * Get the URI for a SYSTEM or PUBLIC Entity + */ +static VALUE +system_id(VALUE self) +{ + xmlEntityPtr node; + Noko_Node_Get_Struct(self, xmlEntity, node); + + if (!node->SystemID) { return Qnil; } + + return NOKOGIRI_STR_NEW2(node->SystemID); +} + +void +noko_init_xml_entity_decl(void) +{ + assert(cNokogiriXmlNode); + cNokogiriXmlEntityDecl = rb_define_class_under(mNokogiriXml, "EntityDecl", cNokogiriXmlNode); + + rb_define_method(cNokogiriXmlEntityDecl, "original_content", original_content, 0); + rb_define_method(cNokogiriXmlEntityDecl, "content", get_content, 0); + rb_define_method(cNokogiriXmlEntityDecl, "entity_type", entity_type, 0); + rb_define_method(cNokogiriXmlEntityDecl, "external_id", external_id, 0); + rb_define_method(cNokogiriXmlEntityDecl, "system_id", system_id, 0); + + rb_const_set(cNokogiriXmlEntityDecl, rb_intern("INTERNAL_GENERAL"), + INT2NUM(XML_INTERNAL_GENERAL_ENTITY)); + rb_const_set(cNokogiriXmlEntityDecl, rb_intern("EXTERNAL_GENERAL_PARSED"), + INT2NUM(XML_EXTERNAL_GENERAL_PARSED_ENTITY)); + rb_const_set(cNokogiriXmlEntityDecl, rb_intern("EXTERNAL_GENERAL_UNPARSED"), + INT2NUM(XML_EXTERNAL_GENERAL_UNPARSED_ENTITY)); + rb_const_set(cNokogiriXmlEntityDecl, rb_intern("INTERNAL_PARAMETER"), + INT2NUM(XML_INTERNAL_PARAMETER_ENTITY)); + rb_const_set(cNokogiriXmlEntityDecl, rb_intern("EXTERNAL_PARAMETER"), + INT2NUM(XML_EXTERNAL_PARAMETER_ENTITY)); + rb_const_set(cNokogiriXmlEntityDecl, rb_intern("INTERNAL_PREDEFINED"), + INT2NUM(XML_INTERNAL_PREDEFINED_ENTITY)); +} diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_entity_reference.c b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_entity_reference.c new file mode 100644 index 0000000..3fcc3e5 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_entity_reference.c @@ -0,0 +1,50 @@ +#include + +VALUE cNokogiriXmlEntityReference; + +/* + * call-seq: + * new(document, content) + * + * Create a new EntityReference element on the +document+ with +name+ + */ +static VALUE +new (int argc, VALUE *argv, VALUE klass) +{ + xmlDocPtr xml_doc; + xmlNodePtr node; + VALUE document; + VALUE name; + VALUE rest; + VALUE rb_node; + + rb_scan_args(argc, argv, "2*", &document, &name, &rest); + + xml_doc = noko_xml_document_unwrap(document); + + node = xmlNewReference( + xml_doc, + (const xmlChar *)StringValueCStr(name) + ); + + noko_xml_document_pin_node(node); + + rb_node = noko_xml_node_wrap(klass, node); + rb_obj_call_init(rb_node, argc, argv); + + if (rb_block_given_p()) { rb_yield(rb_node); } + + return rb_node; +} + +void +noko_init_xml_entity_reference(void) +{ + assert(cNokogiriXmlNode); + /* + * EntityReference represents an EntityReference node in an xml document. + */ + cNokogiriXmlEntityReference = rb_define_class_under(mNokogiriXml, "EntityReference", cNokogiriXmlNode); + + rb_define_singleton_method(cNokogiriXmlEntityReference, "new", new, -1); +} diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_namespace.c b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_namespace.c new file mode 100644 index 0000000..b16ad45 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_namespace.c @@ -0,0 +1,181 @@ +#include + +/* + * The lifecycle of a Namespace node is more complicated than other Nodes, for two reasons: + * + * 1. the underlying C structure has a different layout than all the other node structs, with the + * `_private` member where we store a pointer to Ruby object data not being in first position. + * 2. xmlNs structures returned in an xmlNodeset from an XPath query are copies of the document's + * namespaces, and so do not share the same memory lifecycle as everything else in a document. + * + * As a result of 1, you may see special handling of XML_NAMESPACE_DECL node types throughout the + * Nokogiri C code, though I intend to wrap up that logic in ruby_object_{get,set} functions + * shortly. + * + * As a result of 2, you will see we have special handling in this file and in xml_node_set.c to + * carefully manage the memory lifecycle of xmlNs structs to match the Ruby object's GC + * lifecycle. In xml_node_set.c we have local versions of xmlXPathNodeSetDel() and + * xmlXPathFreeNodeSet() that avoid freeing xmlNs structs in the node set. In this file, we decide + * whether or not to call dealloc_namespace() depending on whether the xmlNs struct appears to be + * in an xmlNodeSet (and thus the result of an XPath query) or not. + * + * Yes, this is madness. + */ + +VALUE cNokogiriXmlNamespace ; + +static void +_xml_namespace_dealloc(void *ptr) +{ + /* + * this deallocator is only used for namespace nodes that are part of an xpath + * node set. see noko_xml_namespace_wrap(). + */ + xmlNsPtr ns = ptr; + + if (ns->href) { + xmlFree(DISCARD_CONST_QUAL_XMLCHAR(ns->href)); + } + if (ns->prefix) { + xmlFree(DISCARD_CONST_QUAL_XMLCHAR(ns->prefix)); + } + xmlFree(ns); +} + +static void +_xml_namespace_update_references(void *ptr) +{ + xmlNsPtr ns = ptr; + if (ns->_private) { + ns->_private = (void *)rb_gc_location((VALUE)ns->_private); + } +} + +static const rb_data_type_t xml_ns_type_with_free = { + .wrap_struct_name = "xmlNs (with free)", + .function = { + .dfree = _xml_namespace_dealloc, + .dcompact = _xml_namespace_update_references, + }, + .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED, +}; + +static const rb_data_type_t xml_ns_type_without_free = { + .wrap_struct_name = "xmlNs (without free)", + .function = { + .dcompact = _xml_namespace_update_references, + }, + .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED, +}; + +/* + * :call-seq: + * prefix() → String or nil + * + * Return the prefix for this Namespace, or +nil+ if there is no prefix (e.g., default namespace). + * + * *Example* + * + * doc = Nokogiri::XML.parse(<<~XML) + * + * + * + * + * + * XML + * + * doc.root.elements.first.namespace.prefix + * # => nil + * + * doc.root.elements.last.namespace.prefix + * # => "noko" + */ +static VALUE +prefix(VALUE self) +{ + xmlNsPtr ns; + + Noko_Namespace_Get_Struct(self, xmlNs, ns); + if (!ns->prefix) { return Qnil; } + + return NOKOGIRI_STR_NEW2(ns->prefix); +} + +/* + * :call-seq: + * href() → String + * + * Returns the URI reference for this Namespace. + * + * *Example* + * + * doc = Nokogiri::XML.parse(<<~XML) + * + * + * + * + * + * XML + * + * doc.root.elements.first.namespace.href + * # => "http://nokogiri.org/ns/default" + * + * doc.root.elements.last.namespace.href + * # => "http://nokogiri.org/ns/noko" + */ +static VALUE +href(VALUE self) +{ + xmlNsPtr ns; + + Noko_Namespace_Get_Struct(self, xmlNs, ns); + if (!ns->href) { return Qnil; } + + return NOKOGIRI_STR_NEW2(ns->href); +} + +VALUE +noko_xml_namespace_wrap(xmlNsPtr c_namespace, xmlDocPtr c_document) +{ + VALUE rb_namespace; + + if (c_namespace->_private) { + return (VALUE)c_namespace->_private; + } + + if (c_document) { + rb_namespace = TypedData_Wrap_Struct(cNokogiriXmlNamespace, + &xml_ns_type_without_free, + c_namespace); + + if (DOC_RUBY_OBJECT_TEST(c_document)) { + rb_iv_set(rb_namespace, "@document", DOC_RUBY_OBJECT(c_document)); + rb_ary_push(DOC_NODE_CACHE(c_document), rb_namespace); + } + } else { + rb_namespace = TypedData_Wrap_Struct(cNokogiriXmlNamespace, + &xml_ns_type_with_free, + c_namespace); + } + + c_namespace->_private = (void *)rb_namespace; + + return rb_namespace; +} + +VALUE +noko_xml_namespace_wrap_xpath_copy(xmlNsPtr c_namespace) +{ + return noko_xml_namespace_wrap(c_namespace, NULL); +} + +void +noko_init_xml_namespace(void) +{ + cNokogiriXmlNamespace = rb_define_class_under(mNokogiriXml, "Namespace", rb_cObject); + + rb_undef_alloc_func(cNokogiriXmlNamespace); + + rb_define_method(cNokogiriXmlNamespace, "prefix", prefix, 0); + rb_define_method(cNokogiriXmlNamespace, "href", href, 0); +} diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_node.c b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_node.c new file mode 100644 index 0000000..111e8f7 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_node.c @@ -0,0 +1,2459 @@ +#include + +#include + +// :stopdoc: + +VALUE cNokogiriXmlNode ; +static ID id_decorate, id_decorate_bang; + +typedef xmlNodePtr(*pivot_reparentee_func)(xmlNodePtr, xmlNodePtr); + +static void +_xml_node_mark(void *ptr) +{ + xmlNodePtr node = ptr; + + if (!DOC_RUBY_OBJECT_TEST(node->doc)) { + return; + } + + xmlDocPtr doc = node->doc; + if (doc->type == XML_DOCUMENT_NODE || doc->type == XML_HTML_DOCUMENT_NODE) { + if (DOC_RUBY_OBJECT_TEST(doc)) { + rb_gc_mark(DOC_RUBY_OBJECT(doc)); + } + } else if (node->doc->_private) { + rb_gc_mark((VALUE)doc->_private); + } +} + +static void +_xml_node_update_references(void *ptr) +{ + xmlNodePtr node = ptr; + + if (node->_private) { + node->_private = (void *)rb_gc_location((VALUE)node->_private); + } +} + +static const rb_data_type_t xml_node_type = { + .wrap_struct_name = "xmlNode", + .function = { + .dmark = _xml_node_mark, + .dcompact = _xml_node_update_references, + }, + .flags = RUBY_TYPED_FREE_IMMEDIATELY, +}; + +static VALUE +_xml_node_alloc(VALUE klass) +{ + return TypedData_Wrap_Struct(klass, &xml_node_type, NULL); +} + +static void +_xml_node_data_ptr_set(VALUE rb_node, xmlNodePtr c_node) +{ + assert(DATA_PTR(rb_node) == NULL); + assert(c_node->_private == NULL); + + DATA_PTR(rb_node) = c_node; + c_node->_private = (void *)rb_node; + + return; +} + +static void +relink_namespace(xmlNodePtr reparented) +{ + xmlNodePtr child; + xmlAttrPtr attr; + + if (reparented->type != XML_ATTRIBUTE_NODE && + reparented->type != XML_ELEMENT_NODE) { return; } + + if (reparented->ns == NULL || reparented->ns->prefix == NULL) { + xmlNsPtr ns = NULL; + xmlChar *name = NULL, *prefix = NULL; + + name = xmlSplitQName2(reparented->name, &prefix); + + if (reparented->type == XML_ATTRIBUTE_NODE) { + if (prefix == NULL || strcmp((char *)prefix, XMLNS_PREFIX) == 0) { + xmlFree(name); + xmlFree(prefix); + return; + } + } + + ns = xmlSearchNs(reparented->doc, reparented, prefix); + + if (ns != NULL) { + xmlNodeSetName(reparented, name); + xmlSetNs(reparented, ns); + } + + xmlFree(name); + xmlFree(prefix); + } + + /* Avoid segv when relinking against unlinked nodes. */ + if (reparented->type != XML_ELEMENT_NODE || !reparented->parent) { return; } + + /* Make sure that our reparented node has the correct namespaces */ + if (!reparented->ns && + (reparented->doc != (xmlDocPtr)reparented->parent) && + (rb_iv_get(DOC_RUBY_OBJECT(reparented->doc), "@namespace_inheritance") == Qtrue)) { + xmlSetNs(reparented, reparented->parent->ns); + } + + /* Search our parents for an existing definition */ + if (reparented->nsDef) { + xmlNsPtr curr = reparented->nsDef; + xmlNsPtr prev = NULL; + + while (curr) { + xmlNsPtr ns = xmlSearchNsByHref( + reparented->doc, + reparented->parent, + curr->href + ); + /* If we find the namespace is already declared, remove it from this + * definition list. */ + if (ns && ns != curr && xmlStrEqual(ns->prefix, curr->prefix)) { + if (prev) { + prev->next = curr->next; + } else { + reparented->nsDef = curr->next; + } + noko_xml_document_pin_namespace(curr, reparented->doc); + } else { + prev = curr; + } + curr = curr->next; + } + } + + /* + * Search our parents for an existing definition of current namespace, + * because the definition it's pointing to may have just been removed nsDef. + * + * And although that would technically probably be OK, I'd feel better if we + * referred to a namespace that's still present in a node's nsDef somewhere + * in the doc. + */ + if (reparented->ns) { + xmlNsPtr ns = xmlSearchNs(reparented->doc, reparented, reparented->ns->prefix); + if (ns + && ns != reparented->ns + && xmlStrEqual(ns->prefix, reparented->ns->prefix) + && xmlStrEqual(ns->href, reparented->ns->href) + ) { + xmlSetNs(reparented, ns); + } + } + + /* Only walk all children if there actually is a namespace we need to */ + /* reparent. */ + if (NULL == reparented->ns) { return; } + + /* When a node gets reparented, walk its children to make sure that */ + /* their namespaces are reparented as well. */ + child = reparented->children; + while (NULL != child) { + relink_namespace(child); + child = child->next; + } + + if (reparented->type == XML_ELEMENT_NODE) { + attr = reparented->properties; + while (NULL != attr) { + relink_namespace((xmlNodePtr)attr); + attr = attr->next; + } + } +} + + +/* internal function meant to wrap xmlReplaceNode + and fix some issues we have with libxml2 merging nodes */ +static xmlNodePtr +xmlReplaceNodeWrapper(xmlNodePtr pivot, xmlNodePtr new_node) +{ + xmlNodePtr retval ; + + retval = xmlReplaceNode(pivot, new_node) ; + + if (retval == pivot) { + retval = new_node ; /* return semantics for reparent_node_with */ + } + + /* work around libxml2 issue: https://bugzilla.gnome.org/show_bug.cgi?id=615612 */ + if (retval && retval->type == XML_TEXT_NODE) { + if (retval->prev && retval->prev->type == XML_TEXT_NODE) { + retval = xmlTextMerge(retval->prev, retval); + } + if (retval->next && retval->next->type == XML_TEXT_NODE) { + retval = xmlTextMerge(retval, retval->next); + } + } + + return retval ; +} + + +static void +raise_if_ancestor_of_self(xmlNodePtr self) +{ + for (xmlNodePtr ancestor = self->parent ; ancestor ; ancestor = ancestor->parent) { + if (self == ancestor) { + rb_raise(rb_eRuntimeError, "cycle detected: node '%s' is an ancestor of itself", self->name); + } + } +} + + +static VALUE +reparent_node_with(VALUE pivot_obj, VALUE reparentee_obj, pivot_reparentee_func prf) +{ + VALUE reparented_obj ; + xmlNodePtr reparentee, original_reparentee, pivot, reparented, next_text, new_next_text, parent ; + int original_ns_prefix_is_default = 0 ; + + if (!rb_obj_is_kind_of(reparentee_obj, cNokogiriXmlNode)) { + rb_raise(rb_eArgError, "node must be a Nokogiri::XML::Node"); + } + if (rb_obj_is_kind_of(reparentee_obj, cNokogiriXmlDocument)) { + rb_raise(rb_eArgError, "node must be a Nokogiri::XML::Node"); + } + + Noko_Node_Get_Struct(reparentee_obj, xmlNode, reparentee); + Noko_Node_Get_Struct(pivot_obj, xmlNode, pivot); + + /* + * Check if nodes given are appropriate to have a parent-child + * relationship, based on the DOM specification. + * + * cf. http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core.html#ID-1590626202 + */ + if (prf == xmlAddChild) { + parent = pivot; + } else { + parent = pivot->parent; + } + + if (parent) { + switch (parent->type) { + case XML_DOCUMENT_NODE: + case XML_HTML_DOCUMENT_NODE: + switch (reparentee->type) { + case XML_ELEMENT_NODE: + case XML_PI_NODE: + case XML_COMMENT_NODE: + case XML_DOCUMENT_TYPE_NODE: + /* + * The DOM specification says no to adding text-like nodes + * directly to a document, but we allow it for compatibility. + */ + case XML_TEXT_NODE: + case XML_CDATA_SECTION_NODE: + case XML_ENTITY_REF_NODE: + goto ok; + default: + break; + } + break; + case XML_DOCUMENT_FRAG_NODE: + case XML_ENTITY_REF_NODE: + case XML_ELEMENT_NODE: + switch (reparentee->type) { + case XML_ELEMENT_NODE: + case XML_PI_NODE: + case XML_COMMENT_NODE: + case XML_TEXT_NODE: + case XML_CDATA_SECTION_NODE: + case XML_ENTITY_REF_NODE: + goto ok; + default: + break; + } + break; + case XML_ATTRIBUTE_NODE: + switch (reparentee->type) { + case XML_TEXT_NODE: + case XML_ENTITY_REF_NODE: + goto ok; + default: + break; + } + break; + case XML_TEXT_NODE: + /* + * xmlAddChild() breaks the DOM specification in that it allows + * adding a text node to another, in which case text nodes are + * coalesced, but since our JRuby version does not support such + * operation, we should inhibit it. + */ + break; + default: + break; + } + + rb_raise(rb_eArgError, "cannot reparent %s there", rb_obj_classname(reparentee_obj)); + } + +ok: + original_reparentee = reparentee; + + if (reparentee->doc != pivot->doc || reparentee->type == XML_TEXT_NODE) { + /* + * if the reparentee is a text node, there's a very good chance it will be + * merged with an adjacent text node after being reparented, and in that case + * libxml will free the underlying C struct. + * + * since we clearly have a ruby object which references the underlying + * memory, we can't let the C struct get freed. let's pickle the original + * reparentee by rooting it; and then we'll reparent a duplicate of the + * node that we don't care about preserving. + * + * alternatively, if the reparentee is from a different document than the + * pivot node, libxml2 is going to get confused about which document's + * "dictionary" the node's strings belong to (this is an otherwise + * uninteresting libxml2 implementation detail). as a result, we cannot + * reparent the actual reparentee, so we reparent a duplicate. + */ + if (reparentee->type == XML_TEXT_NODE && reparentee->_private) { + /* + * additionally, since we know this C struct isn't going to be related to + * a Ruby object anymore, let's break the relationship on this end as + * well. + * + * this is not absolutely necessary unless libxml-ruby is also in effect, + * in which case its global callback `rxml_node_deregisterNode` will try + * to do things to our data. + * + * for more details on this particular (and particularly nasty) edge + * case, see: + * + * https://github.com/sparklemotion/nokogiri/issues/1426 + */ + reparentee->_private = NULL ; + } + + if (reparentee->ns != NULL && reparentee->ns->prefix == NULL) { + original_ns_prefix_is_default = 1; + } + + noko_xml_document_pin_node(reparentee); + + if (!(reparentee = xmlDocCopyNode(reparentee, pivot->doc, 1))) { + rb_raise(rb_eRuntimeError, "Could not reparent node (xmlDocCopyNode)"); + } + + if (original_ns_prefix_is_default && reparentee->ns != NULL && reparentee->ns->prefix != NULL) { + /* + * issue #391, where new node's prefix may become the string "default" + * see libxml2 tree.c xmlNewReconciliedNs which implements this behavior. + */ + xmlFree(DISCARD_CONST_QUAL_XMLCHAR(reparentee->ns->prefix)); + reparentee->ns->prefix = NULL; + } + } + + xmlUnlinkNode(original_reparentee); + + if (prf != xmlAddPrevSibling && prf != xmlAddNextSibling && prf != xmlAddChild + && reparentee->type == XML_TEXT_NODE && pivot->next && pivot->next->type == XML_TEXT_NODE) { + /* + * libxml merges text nodes in a right-to-left fashion, meaning that if + * there are two text nodes who would be adjacent, the right (or following, + * or next) node will be merged into the left (or preceding, or previous) + * node. + * + * and by "merged" I mean the string contents will be concatenated onto the + * left node's contents, and then the node will be freed. + * + * which means that if we have a ruby object wrapped around the right node, + * its memory would be freed out from under it. + * + * so, we detect this edge case and unlink-and-root the text node before it gets + * merged. then we dup the node and insert that duplicate back into the + * document where the real node was. + * + * yes, this is totally lame. + */ + next_text = pivot->next ; + new_next_text = xmlDocCopyNode(next_text, pivot->doc, 1) ; + + xmlUnlinkNode(next_text); + noko_xml_document_pin_node(next_text); + + xmlAddNextSibling(pivot, new_next_text); + } + + if (!(reparented = (*prf)(pivot, reparentee))) { + rb_raise(rb_eRuntimeError, "Could not reparent node"); + } + + /* + * make sure the ruby object is pointed at the just-reparented node, which + * might be a duplicate (see above) or might be the result of merging + * adjacent text nodes. + */ + DATA_PTR(reparentee_obj) = reparented ; + reparented_obj = noko_xml_node_wrap(Qnil, reparented); + + rb_funcall(reparented_obj, id_decorate_bang, 0); + + /* if we've created a cycle, raise an exception */ + raise_if_ancestor_of_self(reparented); + + relink_namespace(reparented); + + return reparented_obj ; +} + +// :startdoc: + +/* + * :call-seq: + * add_namespace_definition(prefix, href) → Nokogiri::XML::Namespace + * add_namespace(prefix, href) → Nokogiri::XML::Namespace + * + * :category: Manipulating Document Structure + * + * Adds a namespace definition to this node with +prefix+ using +href+ value, as if this node had + * included an attribute "xmlns:prefix=href". + * + * A default namespace definition for this node can be added by passing +nil+ for +prefix+. + * + * [Parameters] + * - +prefix+ (String, +nil+) An {XML Name}[https://www.w3.org/TR/xml-names/#ns-decl] + * - +href+ (String) The {URI reference}[https://www.w3.org/TR/xml-names/#sec-namespaces] + * + * [Returns] The new Nokogiri::XML::Namespace + * + * *Example:* adding a non-default namespace definition + * + * doc = Nokogiri::XML("") + * inventory = doc.at_css("inventory") + * inventory.add_namespace_definition("automobile", "http://alices-autos.com/") + * inventory.add_namespace_definition("bicycle", "http://bobs-bikes.com/") + * inventory.add_child("Michelin model XGV, size 75R") + * doc.to_xml + * # => "\n" + + * # "\n" + + * # " \n" + + * # " Michelin model XGV, size 75R\n" + + * # " \n" + + * # "\n" + * + * *Example:* adding a default namespace definition + * + * doc = Nokogiri::XML("Michelin model XGV, size 75R") + * doc.at_css("tire").add_namespace_definition(nil, "http://bobs-bikes.com/") + * doc.to_xml + * # => "\n" + + * # "\n" + + * # " \n" + + * # " Michelin model XGV, size 75R\n" + + * # " \n" + + * # "\n" + * + */ +static VALUE +rb_xml_node_add_namespace_definition(VALUE rb_node, VALUE rb_prefix, VALUE rb_href) +{ + xmlNodePtr c_node, element; + xmlNsPtr c_namespace; + const xmlChar *c_prefix = (const xmlChar *)(NIL_P(rb_prefix) ? NULL : StringValueCStr(rb_prefix)); + + Noko_Node_Get_Struct(rb_node, xmlNode, c_node); + element = c_node ; + + c_namespace = xmlSearchNs(c_node->doc, c_node, c_prefix); + + if (!c_namespace) { + if (c_node->type != XML_ELEMENT_NODE) { + element = c_node->parent; + } + c_namespace = xmlNewNs(element, (const xmlChar *)StringValueCStr(rb_href), c_prefix); + } + + if (!c_namespace) { + return Qnil ; + } + + if (NIL_P(rb_prefix) || c_node != element) { + xmlSetNs(c_node, c_namespace); + } + + return noko_xml_namespace_wrap(c_namespace, c_node->doc); +} + + +/* + * :call-seq: attribute(name) → Nokogiri::XML::Attr + * + * :category: Working With Node Attributes + * + * [Returns] Attribute (Nokogiri::XML::Attr) belonging to this node with name +name+. + * + * ⚠ Note that attribute namespaces are ignored and only the simple (non-namespace-prefixed) name is + * used to find a matching attribute. In case of a simple name collision, only one of the matching + * attributes will be returned. In this case, you will need to use #attribute_with_ns. + * + * *Example:* + * + * doc = Nokogiri::XML("") + * child = doc.at_css("child") + * child.attribute("size") # => # + * child.attribute("class") # => # + * + * *Example* showing that namespaced attributes will not be returned: + * + * ⚠ Note that only one of the two matching attributes is returned. + * + * doc = Nokogiri::XML(<<~EOF) + * + * + * + * EOF + * doc.at_css("child").attribute("size") + * # => #(Attr:0x550 { + * # name = "size", + * # namespace = #(Namespace:0x564 { + * # prefix = "width", + * # href = "http://example.com/widths" + * # }), + * # value = "broad" + * # }) + */ +static VALUE +rb_xml_node_attribute(VALUE self, VALUE name) +{ + xmlNodePtr node; + xmlAttrPtr prop; + Noko_Node_Get_Struct(self, xmlNode, node); + prop = xmlHasProp(node, (xmlChar *)StringValueCStr(name)); + + if (! prop) { return Qnil; } + return noko_xml_node_wrap(Qnil, (xmlNodePtr)prop); +} + + +/* + * :call-seq: attribute_nodes() → Array + * + * :category: Working With Node Attributes + * + * [Returns] Attributes (an Array of Nokogiri::XML::Attr) belonging to this node. + * + * Note that this is the preferred alternative to #attributes when the simple + * (non-namespace-prefixed) attribute names may collide. + * + * *Example:* + * + * Contrast this with the colliding-name example from #attributes. + * + * doc = Nokogiri::XML(<<~EOF) + * + * + * + * EOF + * doc.at_css("child").attribute_nodes + * # => [#(Attr:0x550 { + * # name = "size", + * # namespace = #(Namespace:0x564 { + * # prefix = "width", + * # href = "http://example.com/widths" + * # }), + * # value = "broad" + * # }), + * # #(Attr:0x578 { + * # name = "size", + * # namespace = #(Namespace:0x58c { + * # prefix = "height", + * # href = "http://example.com/heights" + * # }), + * # value = "tall" + * # })] + */ +static VALUE +rb_xml_node_attribute_nodes(VALUE rb_node) +{ + xmlNodePtr c_node; + + Noko_Node_Get_Struct(rb_node, xmlNode, c_node); + + return noko_xml_node_attrs(c_node); +} + + +/* + * :call-seq: attribute_with_ns(name, namespace) → Nokogiri::XML::Attr + * + * :category: Working With Node Attributes + * + * [Returns] + * Attribute (Nokogiri::XML::Attr) belonging to this node with matching +name+ and +namespace+. + * + * [Parameters] + * - +name+ (String): the simple (non-namespace-prefixed) name of the attribute + * - +namespace+ (String): the URI of the attribute's namespace + * + * See related: #attribute + * + * *Example:* + * + * doc = Nokogiri::XML(<<~EOF) + * + * + * + * EOF + * doc.at_css("child").attribute_with_ns("size", "http://example.com/widths") + * # => #(Attr:0x550 { + * # name = "size", + * # namespace = #(Namespace:0x564 { + * # prefix = "width", + * # href = "http://example.com/widths" + * # }), + * # value = "broad" + * # }) + * doc.at_css("child").attribute_with_ns("size", "http://example.com/heights") + * # => #(Attr:0x578 { + * # name = "size", + * # namespace = #(Namespace:0x58c { + * # prefix = "height", + * # href = "http://example.com/heights" + * # }), + * # value = "tall" + * # }) + */ +static VALUE +rb_xml_node_attribute_with_ns(VALUE self, VALUE name, VALUE namespace) +{ + xmlNodePtr node; + xmlAttrPtr prop; + Noko_Node_Get_Struct(self, xmlNode, node); + prop = xmlHasNsProp(node, (xmlChar *)StringValueCStr(name), + NIL_P(namespace) ? NULL : (xmlChar *)StringValueCStr(namespace)); + + if (! prop) { return Qnil; } + return noko_xml_node_wrap(Qnil, (xmlNodePtr)prop); +} + + + +/* + * call-seq: blank? → Boolean + * + * [Returns] +true+ if the node is an empty or whitespace-only text or cdata node, else +false+. + * + * *Example:* + * + * Nokogiri("").root.child.blank? # => false + * Nokogiri("\t \n").root.child.blank? # => true + * Nokogiri("").root.child.blank? # => true + * Nokogiri("not-blank").root.child + * .tap { |n| n.content = "" }.blank # => true + */ +static VALUE +rb_xml_node_blank_eh(VALUE self) +{ + xmlNodePtr node; + Noko_Node_Get_Struct(self, xmlNode, node); + return (1 == xmlIsBlankNode(node)) ? Qtrue : Qfalse ; +} + + +/* + * :call-seq: child() → Nokogiri::XML::Node + * + * :category: Traversing Document Structure + * + * [Returns] First of this node's children, or +nil+ if there are no children + * + * This is a convenience method and is equivalent to: + * + * node.children.first + * + * See related: #children + */ +static VALUE +rb_xml_node_child(VALUE self) +{ + xmlNodePtr node, child; + Noko_Node_Get_Struct(self, xmlNode, node); + + child = node->children; + if (!child) { return Qnil; } + + return noko_xml_node_wrap(Qnil, child); +} + + +/* + * :call-seq: children() → Nokogiri::XML::NodeSet + * + * :category: Traversing Document Structure + * + * [Returns] Nokogiri::XML::NodeSet containing this node's children. + */ +static VALUE +rb_xml_node_children(VALUE self) +{ + xmlNodePtr node; + xmlNodePtr child; + xmlNodeSetPtr set; + VALUE document; + VALUE node_set; + + Noko_Node_Get_Struct(self, xmlNode, node); + + child = node->children; + set = xmlXPathNodeSetCreate(child); + + document = DOC_RUBY_OBJECT(node->doc); + + if (!child) { return noko_xml_node_set_wrap(set, document); } + + child = child->next; + while (NULL != child) { + xmlXPathNodeSetAddUnique(set, child); + child = child->next; + } + + node_set = noko_xml_node_set_wrap(set, document); + + return node_set; +} + + +/* + * :call-seq: + * content() → String + * inner_text() → String + * text() → String + * to_str() → String + * + * [Returns] + * Contents of all the text nodes in this node's subtree, concatenated together into a single + * String. + * + * ⚠ Note that entities will _always_ be expanded in the returned String. + * + * See related: #inner_html + * + * *Example* of how entities are handled: + * + * Note that < becomes < in the returned String. + * + * doc = Nokogiri::XML.fragment("a < b") + * doc.at_css("child").content + * # => "a < b" + * + * *Example* of how a subtree is handled: + * + * Note that the tags are omitted and only the text node contents are returned, + * concatenated into a single string. + * + * doc = Nokogiri::XML.fragment("first second") + * doc.at_css("child").content + * # => "first second" + */ +static VALUE +rb_xml_node_content(VALUE self) +{ + xmlNodePtr node; + xmlChar *content; + + Noko_Node_Get_Struct(self, xmlNode, node); + + content = xmlNodeGetContent(node); + if (content) { + VALUE rval = NOKOGIRI_STR_NEW2(content); + xmlFree(content); + return rval; + } + return Qnil; +} + + +/* + * :call-seq: document() → Nokogiri::XML::Document + * + * :category: Traversing Document Structure + * + * [Returns] Parent Nokogiri::XML::Document for this node + */ +static VALUE +rb_xml_node_document(VALUE self) +{ + xmlNodePtr node; + Noko_Node_Get_Struct(self, xmlNode, node); + return DOC_RUBY_OBJECT(node->doc); +} + +/* + * :call-seq: pointer_id() → Integer + * + * [Returns] + * A unique id for this node based on the internal memory structures. This method is used by #== + * to determine node identity. + */ +static VALUE +rb_xml_node_pointer_id(VALUE self) +{ + xmlNodePtr node; + Noko_Node_Get_Struct(self, xmlNode, node); + + return rb_uint2inum((uintptr_t)(node)); +} + +/* + * :call-seq: encode_special_chars(string) → String + * + * Encode any special characters in +string+ + */ +static VALUE +encode_special_chars(VALUE self, VALUE string) +{ + xmlNodePtr node; + xmlChar *encoded; + VALUE encoded_str; + + Noko_Node_Get_Struct(self, xmlNode, node); + encoded = xmlEncodeSpecialChars( + node->doc, + (const xmlChar *)StringValueCStr(string) + ); + + encoded_str = NOKOGIRI_STR_NEW2(encoded); + xmlFree(encoded); + + return encoded_str; +} + +/* + * :call-seq: + * create_internal_subset(name, external_id, system_id) + * + * Create the internal subset of a document. + * + * doc.create_internal_subset("chapter", "-//OASIS//DTD DocBook XML//EN", "chapter.dtd") + * # => + * + * doc.create_internal_subset("chapter", nil, "chapter.dtd") + * # => + */ +static VALUE +create_internal_subset(VALUE self, VALUE name, VALUE external_id, VALUE system_id) +{ + xmlNodePtr node; + xmlDocPtr doc; + xmlDtdPtr dtd; + + Noko_Node_Get_Struct(self, xmlNode, node); + + doc = node->doc; + + if (xmlGetIntSubset(doc)) { + rb_raise(rb_eRuntimeError, "Document already has an internal subset"); + } + + dtd = xmlCreateIntSubset( + doc, + NIL_P(name) ? NULL : (const xmlChar *)StringValueCStr(name), + NIL_P(external_id) ? NULL : (const xmlChar *)StringValueCStr(external_id), + NIL_P(system_id) ? NULL : (const xmlChar *)StringValueCStr(system_id) + ); + + if (!dtd) { return Qnil; } + + return noko_xml_node_wrap(Qnil, (xmlNodePtr)dtd); +} + +/* + * :call-seq: + * create_external_subset(name, external_id, system_id) + * + * Create an external subset + */ +static VALUE +create_external_subset(VALUE self, VALUE name, VALUE external_id, VALUE system_id) +{ + xmlNodePtr node; + xmlDocPtr doc; + xmlDtdPtr dtd; + + Noko_Node_Get_Struct(self, xmlNode, node); + + doc = node->doc; + + if (doc->extSubset) { + rb_raise(rb_eRuntimeError, "Document already has an external subset"); + } + + dtd = xmlNewDtd( + doc, + NIL_P(name) ? NULL : (const xmlChar *)StringValueCStr(name), + NIL_P(external_id) ? NULL : (const xmlChar *)StringValueCStr(external_id), + NIL_P(system_id) ? NULL : (const xmlChar *)StringValueCStr(system_id) + ); + + if (!dtd) { return Qnil; } + + return noko_xml_node_wrap(Qnil, (xmlNodePtr)dtd); +} + +/* + * :call-seq: + * external_subset() + * + * Get the external subset + */ +static VALUE +external_subset(VALUE self) +{ + xmlNodePtr node; + xmlDocPtr doc; + xmlDtdPtr dtd; + + Noko_Node_Get_Struct(self, xmlNode, node); + + if (!node->doc) { return Qnil; } + + doc = node->doc; + dtd = doc->extSubset; + + if (!dtd) { return Qnil; } + + return noko_xml_node_wrap(Qnil, (xmlNodePtr)dtd); +} + +/* + * :call-seq: + * internal_subset() + * + * Get the internal subset + */ +static VALUE +internal_subset(VALUE self) +{ + xmlNodePtr node; + xmlDocPtr doc; + xmlDtdPtr dtd; + + Noko_Node_Get_Struct(self, xmlNode, node); + + if (!node->doc) { return Qnil; } + + doc = node->doc; + dtd = xmlGetIntSubset(doc); + + if (!dtd) { return Qnil; } + + return noko_xml_node_wrap(Qnil, (xmlNodePtr)dtd); +} + +/* :nodoc: */ +static VALUE +rb_xml_node_initialize_copy_with_args(VALUE rb_self, VALUE rb_other, VALUE rb_level, VALUE rb_new_parent_doc) +{ + xmlNodePtr c_self, c_other; + int c_level; + xmlDocPtr c_new_parent_doc; + VALUE rb_node_cache; + + Noko_Node_Get_Struct(rb_other, xmlNode, c_other); + c_level = (int)NUM2INT(rb_level); + c_new_parent_doc = noko_xml_document_unwrap(rb_new_parent_doc); + + c_self = xmlDocCopyNode(c_other, c_new_parent_doc, c_level); + if (c_self == NULL) { return Qnil; } + + _xml_node_data_ptr_set(rb_self, c_self); + noko_xml_document_pin_node(c_self); + + rb_node_cache = DOC_NODE_CACHE(c_new_parent_doc); + rb_ary_push(rb_node_cache, rb_self); + rb_funcall(rb_new_parent_doc, id_decorate, 1, rb_self); + + return rb_self; +} + +/* + * :call-seq: + * unlink() → self + * + * Unlink this node from its current context. + */ +static VALUE +unlink_node(VALUE self) +{ + xmlNodePtr node; + Noko_Node_Get_Struct(self, xmlNode, node); + xmlUnlinkNode(node); + noko_xml_document_pin_node(node); + return self; +} + + +/* + * call-seq: + * next_sibling + * + * Returns the next sibling node + */ +static VALUE +next_sibling(VALUE self) +{ + xmlNodePtr node, sibling; + Noko_Node_Get_Struct(self, xmlNode, node); + + sibling = node->next; + if (!sibling) { return Qnil; } + + return noko_xml_node_wrap(Qnil, sibling) ; +} + +/* + * call-seq: + * previous_sibling + * + * Returns the previous sibling node + */ +static VALUE +previous_sibling(VALUE self) +{ + xmlNodePtr node, sibling; + Noko_Node_Get_Struct(self, xmlNode, node); + + sibling = node->prev; + if (!sibling) { return Qnil; } + + return noko_xml_node_wrap(Qnil, sibling); +} + +/* + * call-seq: + * next_element + * + * Returns the next Nokogiri::XML::Element type sibling node. + */ +static VALUE +next_element(VALUE self) +{ + xmlNodePtr node, sibling; + Noko_Node_Get_Struct(self, xmlNode, node); + + sibling = xmlNextElementSibling(node); + if (!sibling) { return Qnil; } + + return noko_xml_node_wrap(Qnil, sibling); +} + +/* + * call-seq: + * previous_element + * + * Returns the previous Nokogiri::XML::Element type sibling node. + */ +static VALUE +previous_element(VALUE self) +{ + xmlNodePtr node, sibling; + Noko_Node_Get_Struct(self, xmlNode, node); + + sibling = xmlPreviousElementSibling(node); + if (!sibling) { return Qnil; } + + return noko_xml_node_wrap(Qnil, sibling); +} + +/* :nodoc: */ +static VALUE +replace(VALUE self, VALUE new_node) +{ + VALUE reparent = reparent_node_with(self, new_node, xmlReplaceNodeWrapper); + + xmlNodePtr pivot; + Noko_Node_Get_Struct(self, xmlNode, pivot); + noko_xml_document_pin_node(pivot); + + return reparent; +} + +/* + * :call-seq: + * element_children() → NodeSet + * elements() → NodeSet + * + * [Returns] + * The node's child elements as a NodeSet. Only children that are elements will be returned, which + * notably excludes Text nodes. + * + * *Example:* + * + * Note that #children returns the Text node "hello" while #element_children does not. + * + * div = Nokogiri::HTML5("
    helloworld").at_css("div") + * div.element_children + * # => [#]>] + * div.children + * # => [#, + * # #]>] + */ +static VALUE +rb_xml_node_element_children(VALUE self) +{ + xmlNodePtr node; + xmlNodePtr child; + xmlNodeSetPtr set; + VALUE document; + VALUE node_set; + + Noko_Node_Get_Struct(self, xmlNode, node); + + child = xmlFirstElementChild(node); + set = xmlXPathNodeSetCreate(child); + + document = DOC_RUBY_OBJECT(node->doc); + + if (!child) { return noko_xml_node_set_wrap(set, document); } + + child = xmlNextElementSibling(child); + while (NULL != child) { + xmlXPathNodeSetAddUnique(set, child); + child = xmlNextElementSibling(child); + } + + node_set = noko_xml_node_set_wrap(set, document); + + return node_set; +} + +/* + * :call-seq: + * first_element_child() → Node + * + * [Returns] The first child Node that is an element. + * + * *Example:* + * + * Note that the "hello" child, which is a Text node, is skipped and the element is + * returned. + * + * div = Nokogiri::HTML5("
    helloworld").at_css("div") + * div.first_element_child + * # => #(Element:0x3c { name = "span", children = [ #(Text "world")] }) + */ +static VALUE +rb_xml_node_first_element_child(VALUE self) +{ + xmlNodePtr node, child; + Noko_Node_Get_Struct(self, xmlNode, node); + + child = xmlFirstElementChild(node); + if (!child) { return Qnil; } + + return noko_xml_node_wrap(Qnil, child); +} + +/* + * :call-seq: + * last_element_child() → Node + * + * [Returns] The last child Node that is an element. + * + * *Example:* + * + * Note that the "hello" child, which is a Text node, is skipped and the yes + * element is returned. + * + * div = Nokogiri::HTML5("
    noyesskip
    ").at_css("div") + * div.last_element_child + * # => #(Element:0x3c { name = "span", children = [ #(Text "yes")] }) + */ +static VALUE +rb_xml_node_last_element_child(VALUE self) +{ + xmlNodePtr node, child; + Noko_Node_Get_Struct(self, xmlNode, node); + + child = xmlLastElementChild(node); + if (!child) { return Qnil; } + + return noko_xml_node_wrap(Qnil, child); +} + +/* + * call-seq: + * key?(attribute) + * + * Returns true if +attribute+ is set + */ +static VALUE +key_eh(VALUE self, VALUE attribute) +{ + xmlNodePtr node; + Noko_Node_Get_Struct(self, xmlNode, node); + if (xmlHasProp(node, (xmlChar *)StringValueCStr(attribute))) { + return Qtrue; + } + return Qfalse; +} + +/* + * call-seq: + * namespaced_key?(attribute, namespace) + * + * Returns true if +attribute+ is set with +namespace+ + */ +static VALUE +namespaced_key_eh(VALUE self, VALUE attribute, VALUE namespace) +{ + xmlNodePtr node; + Noko_Node_Get_Struct(self, xmlNode, node); + if (xmlHasNsProp(node, (xmlChar *)StringValueCStr(attribute), + NIL_P(namespace) ? NULL : (xmlChar *)StringValueCStr(namespace))) { + return Qtrue; + } + return Qfalse; +} + +/* + * call-seq: + * []=(property, value) + * + * Set the +property+ to +value+ + */ +static VALUE +set(VALUE self, VALUE property, VALUE value) +{ + xmlNodePtr node, cur; + xmlAttrPtr prop; + Noko_Node_Get_Struct(self, xmlNode, node); + + /* If a matching attribute node already exists, then xmlSetProp will destroy + * the existing node's children. However, if Nokogiri has a node object + * pointing to one of those children, we are left with a broken reference. + * + * We can avoid this by unlinking these nodes first. + */ + if (node->type != XML_ELEMENT_NODE) { + return (Qnil); + } + prop = xmlHasProp(node, (xmlChar *)StringValueCStr(property)); + if (prop && prop->children) { + for (cur = prop->children; cur; cur = cur->next) { + if (cur->_private) { + noko_xml_document_pin_node(cur); + xmlUnlinkNode(cur); + } + } + } + + xmlSetProp(node, (xmlChar *)StringValueCStr(property), + (xmlChar *)StringValueCStr(value)); + + return value; +} + +/* + * call-seq: + * get(attribute) + * + * Get the value for +attribute+ + */ +static VALUE +get(VALUE self, VALUE rattribute) +{ + xmlNodePtr node; + xmlChar *value = 0; + VALUE rvalue; + xmlChar *colon; + xmlChar *attribute, *attr_name, *prefix; + xmlNsPtr ns; + + if (NIL_P(rattribute)) { return Qnil; } + + Noko_Node_Get_Struct(self, xmlNode, node); + attribute = xmlCharStrdup(StringValueCStr(rattribute)); + + colon = DISCARD_CONST_QUAL_XMLCHAR(xmlStrchr(attribute, (const xmlChar)':')); + if (colon) { + /* split the attribute string into separate prefix and name by + * null-terminating the prefix at the colon */ + prefix = attribute; + attr_name = colon + 1; + (*colon) = 0; + + ns = xmlSearchNs(node->doc, node, prefix); + if (ns) { + value = xmlGetNsProp(node, attr_name, ns->href); + } else { + value = xmlGetProp(node, (xmlChar *)StringValueCStr(rattribute)); + } + } else { + value = xmlGetNoNsProp(node, attribute); + } + + xmlFree((void *)attribute); + if (!value) { return Qnil; } + + rvalue = NOKOGIRI_STR_NEW2(value); + xmlFree((void *)value); + + return rvalue ; +} + +/* + * call-seq: + * set_namespace(namespace) + * + * Set the namespace to +namespace+ + */ +static VALUE +set_namespace(VALUE self, VALUE namespace) +{ + xmlNodePtr node; + xmlNsPtr ns = NULL; + + Noko_Node_Get_Struct(self, xmlNode, node); + + if (!NIL_P(namespace)) { + Noko_Namespace_Get_Struct(namespace, xmlNs, ns); + } + + xmlSetNs(node, ns); + + return self; +} + +/* + * :call-seq: + * namespace() → Namespace + * + * [Returns] The Namespace of the element or attribute node, or +nil+ if there is no namespace. + * + * *Example:* + * + * doc = Nokogiri::XML(<<~EOF) + * + * + * + * + * + * EOF + * doc.at_xpath("//first").namespace + * # => nil + * doc.at_xpath("//xmlns:second", "xmlns" => "http://example.com/child").namespace + * # => #(Namespace:0x3c { href = "http://example.com/child" }) + * doc.at_xpath("//foo:third", "foo" => "http://example.com/foo").namespace + * # => #(Namespace:0x50 { prefix = "foo", href = "http://example.com/foo" }) + */ +static VALUE +rb_xml_node_namespace(VALUE rb_node) +{ + xmlNodePtr c_node ; + Noko_Node_Get_Struct(rb_node, xmlNode, c_node); + + if (c_node->ns) { + return noko_xml_namespace_wrap(c_node->ns, c_node->doc); + } + + return Qnil ; +} + +/* + * :call-seq: + * namespace_definitions() → Array + * + * [Returns] + * Namespaces that are defined directly on this node, as an Array of Namespace objects. The array + * will be empty if no namespaces are defined on this node. + * + * *Example:* + * + * doc = Nokogiri::XML(<<~EOF) + * + * + * + * + * + * EOF + * doc.at_xpath("//root:first", "root" => "http://example.com/root").namespace_definitions + * # => [] + * doc.at_xpath("//xmlns:second", "xmlns" => "http://example.com/child").namespace_definitions + * # => [#(Namespace:0x3c { href = "http://example.com/child" }), + * # #(Namespace:0x50 { + * # prefix = "unused", + * # href = "http://example.com/unused" + * # })] + * doc.at_xpath("//foo:third", "foo" => "http://example.com/foo").namespace_definitions + * # => [#(Namespace:0x64 { prefix = "foo", href = "http://example.com/foo" })] + */ +static VALUE +namespace_definitions(VALUE rb_node) +{ + /* this code in the mode of xmlHasProp() */ + xmlNodePtr c_node ; + xmlNsPtr c_namespace; + VALUE definitions = rb_ary_new(); + + Noko_Node_Get_Struct(rb_node, xmlNode, c_node); + + c_namespace = c_node->nsDef; + if (!c_namespace) { + return definitions; + } + + while (c_namespace != NULL) { + rb_ary_push(definitions, noko_xml_namespace_wrap(c_namespace, c_node->doc)); + c_namespace = c_namespace->next; + } + + return definitions; +} + +/* + * :call-seq: + * namespace_scopes() → Array + * + * [Returns] Array of all the Namespaces on this node and its ancestors. + * + * See also #namespaces + * + * *Example:* + * + * doc = Nokogiri::XML(<<~EOF) + * + * + * + * + * + * EOF + * doc.at_xpath("//root:first", "root" => "http://example.com/root").namespace_scopes + * # => [#(Namespace:0x3c { href = "http://example.com/root" }), + * # #(Namespace:0x50 { prefix = "bar", href = "http://example.com/bar" })] + * doc.at_xpath("//child:second", "child" => "http://example.com/child").namespace_scopes + * # => [#(Namespace:0x64 { href = "http://example.com/child" }), + * # #(Namespace:0x50 { prefix = "bar", href = "http://example.com/bar" })] + * doc.at_xpath("//root:third", "root" => "http://example.com/root").namespace_scopes + * # => [#(Namespace:0x78 { prefix = "foo", href = "http://example.com/foo" }), + * # #(Namespace:0x3c { href = "http://example.com/root" }), + * # #(Namespace:0x50 { prefix = "bar", href = "http://example.com/bar" })] + */ +static VALUE +rb_xml_node_namespace_scopes(VALUE rb_node) +{ + xmlNodePtr c_node ; + xmlNsPtr *namespaces; + VALUE scopes = rb_ary_new(); + int j; + + Noko_Node_Get_Struct(rb_node, xmlNode, c_node); + + namespaces = xmlGetNsList(c_node->doc, c_node); + if (!namespaces) { + return scopes; + } + + for (j = 0 ; namespaces[j] != NULL ; ++j) { + rb_ary_push(scopes, noko_xml_namespace_wrap(namespaces[j], c_node->doc)); + } + + xmlFree(namespaces); + return scopes; +} + +/* + * call-seq: + * node_type + * + * Get the type for this Node + */ +static VALUE +node_type(VALUE self) +{ + xmlNodePtr node; + Noko_Node_Get_Struct(self, xmlNode, node); + return INT2NUM(node->type); +} + +/* + * call-seq: + * native_content=(input) + * + * Set the content of this node to +input+. + * + * [Parameters] + * - +input+ (String) The new content for this node. + * + * ⚠ This method behaves differently depending on the node type. For Text, CDATA, Comment, and + * ProcessingInstruction nodes, it treats the input as raw content, which means that the final DOM + * will contain the entity-escaped version of the input (see example below). For Element and Attr + * nodes, it treats the input as parsed content and expects it to be valid markup that is already + * entity-escaped. + * + * 💡 Use Node#content= for a more consistent API across node types. + * + * [Example] + * Note the behavior differences of this method between Text and Element nodes: + * + * doc = Nokogiri::HTML::Document.parse(<<~HTML) + * + * + *
    asdf
    + *
    asdf
    + * HTML + * + * text_node = doc.at_css("div#first").children.first + * div_node = doc.at_css("div#second") + * + * value = "You & Me" + * + * text_node.native_content = value + * div_node.native_content = value + * + * doc.css("div").to_html + * # => "
    You &amp; Me
    + * #
    You & Me
    " + * + * See also: #content= + */ +static VALUE +set_native_content(VALUE self, VALUE content) +{ + xmlNodePtr node, child, next ; + Noko_Node_Get_Struct(self, xmlNode, node); + + child = node->children; + while (NULL != child) { + next = child->next ; + xmlUnlinkNode(child) ; + noko_xml_document_pin_node(child); + child = next ; + } + + xmlNodeSetContent(node, (xmlChar *)StringValueCStr(content)); + return content; +} + +/* + * call-seq: + * lang= + * + * Set the language of a node, i.e. the values of the xml:lang attribute. + */ +static VALUE +set_lang(VALUE self_rb, VALUE lang_rb) +{ + xmlNodePtr self ; + xmlChar *lang ; + + Noko_Node_Get_Struct(self_rb, xmlNode, self); + lang = (xmlChar *)StringValueCStr(lang_rb); + + xmlNodeSetLang(self, lang); + + return Qnil ; +} + +/* + * call-seq: + * lang + * + * Searches the language of a node, i.e. the values of the xml:lang attribute or + * the one carried by the nearest ancestor. + */ +static VALUE +get_lang(VALUE self_rb) +{ + xmlNodePtr self ; + xmlChar *lang ; + VALUE lang_rb ; + + Noko_Node_Get_Struct(self_rb, xmlNode, self); + + lang = xmlNodeGetLang(self); + if (lang) { + lang_rb = NOKOGIRI_STR_NEW2(lang); + xmlFree(lang); + return lang_rb ; + } + + return Qnil ; +} + +/* :nodoc: */ +static VALUE +add_child(VALUE self, VALUE new_child) +{ + return reparent_node_with(self, new_child, xmlAddChild); +} + +/* + * call-seq: + * parent + * + * Get the parent Node for this Node + */ +static VALUE +get_parent(VALUE self) +{ + xmlNodePtr node, parent; + Noko_Node_Get_Struct(self, xmlNode, node); + + parent = node->parent; + if (!parent) { return Qnil; } + + return noko_xml_node_wrap(Qnil, parent) ; +} + +/* + * call-seq: + * name=(new_name) + * + * Set the name for this Node + */ +static VALUE +set_name(VALUE self, VALUE new_name) +{ + xmlNodePtr node; + Noko_Node_Get_Struct(self, xmlNode, node); + xmlNodeSetName(node, (xmlChar *)StringValueCStr(new_name)); + return new_name; +} + +/* + * call-seq: + * name + * + * Returns the name for this Node + */ +static VALUE +get_name(VALUE self) +{ + xmlNodePtr node; + Noko_Node_Get_Struct(self, xmlNode, node); + if (node->name) { + return NOKOGIRI_STR_NEW2(node->name); + } + return Qnil; +} + +/* + * call-seq: + * path + * + * Returns the path associated with this Node + */ +static VALUE +rb_xml_node_path(VALUE rb_node) +{ + xmlNodePtr c_node; + xmlChar *c_path ; + VALUE rval; + + Noko_Node_Get_Struct(rb_node, xmlNode, c_node); + + c_path = xmlGetNodePath(c_node); + if (c_path == NULL) { + // see https://github.com/sparklemotion/nokogiri/issues/2250 + // this behavior is clearly undesirable, but is what libxml <= 2.9.10 returned, and so we + // do this for now to preserve the behavior across libxml2 versions. + rval = NOKOGIRI_STR_NEW2("?"); + } else { + rval = NOKOGIRI_STR_NEW2(c_path); + xmlFree(c_path); + } + + return rval ; +} + +/* :nodoc: */ +static VALUE +add_next_sibling(VALUE self, VALUE new_sibling) +{ + return reparent_node_with(self, new_sibling, xmlAddNextSibling) ; +} + +/* :nodoc: */ +static VALUE +add_previous_sibling(VALUE self, VALUE new_sibling) +{ + return reparent_node_with(self, new_sibling, xmlAddPrevSibling) ; +} + +/* + * call-seq: + * native_write_to(io, encoding, options) + * + * Write this Node to +io+ with +encoding+ and +options+ + */ +static VALUE +native_write_to( + VALUE self, + VALUE io, + VALUE encoding, + VALUE indent_string, + VALUE options +) +{ + xmlNodePtr node; + const char *before_indent; + xmlSaveCtxtPtr savectx; + + Noko_Node_Get_Struct(self, xmlNode, node); + + xmlIndentTreeOutput = 1; + + before_indent = xmlTreeIndentString; + + xmlTreeIndentString = StringValueCStr(indent_string); + + savectx = xmlSaveToIO( + (xmlOutputWriteCallback)noko_io_write, + (xmlOutputCloseCallback)noko_io_close, + (void *)io, + RTEST(encoding) ? StringValueCStr(encoding) : NULL, + (int)NUM2INT(options) + ); + + xmlSaveTree(savectx, node); + xmlSaveClose(savectx); + + xmlTreeIndentString = before_indent; + return io; +} + + +static inline void +output_partial_string(VALUE out, char const *str, size_t length) +{ + if (length) { + rb_enc_str_buf_cat(out, str, (long)length, rb_utf8_encoding()); + } +} + +static inline void +output_char(VALUE out, char ch) +{ + output_partial_string(out, &ch, 1); +} + +static inline void +output_string(VALUE out, char const *str) +{ + output_partial_string(out, str, strlen(str)); +} + +static inline void +output_tagname(VALUE out, xmlNodePtr elem) +{ + // Elements in the HTML, MathML, and SVG namespaces do not use a namespace + // prefix in the HTML syntax. + char const *name = (char const *)elem->name; + xmlNsPtr ns = elem->ns; + if (ns && ns->href && ns->prefix + && strcmp((char const *)ns->href, "http://www.w3.org/1999/xhtml") + && strcmp((char const *)ns->href, "http://www.w3.org/1998/Math/MathML") + && strcmp((char const *)ns->href, "http://www.w3.org/2000/svg")) { + output_string(out, (char const *)elem->ns->prefix); + output_char(out, ':'); + char const *colon = strchr(name, ':'); + if (colon) { + name = colon + 1; + } + } + output_string(out, name); +} + +static inline void +output_attr_name(VALUE out, xmlAttrPtr attr) +{ + xmlNsPtr ns = attr->ns; + char const *name = (char const *)attr->name; + if (ns && ns->href) { + char const *uri = (char const *)ns->href; + char const *localname = strchr(name, ':'); + if (localname) { + ++localname; + } else { + localname = name; + } + + if (!strcmp(uri, "http://www.w3.org/XML/1998/namespace")) { + output_string(out, "xml:"); + name = localname; + } else if (!strcmp(uri, "http://www.w3.org/2000/xmlns/")) { + // xmlns:xmlns -> xmlns + // xmlns:foo -> xmlns:foo + if (strcmp(localname, "xmlns")) { + output_string(out, "xmlns:"); + } + name = localname; + } else if (!strcmp(uri, "http://www.w3.org/1999/xlink")) { + output_string(out, "xlink:"); + name = localname; + } else if (ns->prefix) { + output_string(out, (char const *)ns->prefix); + output_char(out, ':'); + name = localname; + } + } + output_string(out, name); +} + +static void +output_escaped_string(VALUE out, xmlChar const *start, bool attr) +{ + xmlChar const *next = start; + int ch; + + while ((ch = *next) != 0) { + char const *replacement = NULL; + size_t replaced_bytes = 1; + if (ch == '&') { + replacement = "&"; + } else if (ch == 0xC2 && next[1] == 0xA0) { + // U+00A0 NO-BREAK SPACE has the UTF-8 encoding C2 A0. + replacement = " "; + replaced_bytes = 2; + } else if (attr && ch == '"') { + replacement = """; + } else if (!attr && ch == '<') { + replacement = "<"; + } else if (!attr && ch == '>') { + replacement = ">"; + } else { + ++next; + continue; + } + output_partial_string(out, (char const *)start, (size_t)(next - start)); + output_string(out, replacement); + next += replaced_bytes; + start = next; + } + output_partial_string(out, (char const *)start, (size_t)(next - start)); +} + +static bool +should_prepend_newline(xmlNodePtr node) +{ + char const *name = (char const *)node->name; + xmlNodePtr child = node->children; + + if (!name || !child || (strcmp(name, "pre") && strcmp(name, "textarea") && strcmp(name, "listing"))) { + return false; + } + + return child->type == XML_TEXT_NODE && child->content && child->content[0] == '\n'; +} + +static VALUE +rb_prepend_newline(VALUE self) +{ + xmlNodePtr node; + Noko_Node_Get_Struct(self, xmlNode, node); + return should_prepend_newline(node) ? Qtrue : Qfalse; +} + +static bool +is_one_of(xmlNodePtr node, char const *const *tagnames, size_t num_tagnames) +{ + char const *name = (char const *)node->name; + if (name == NULL) { // fragments don't have a name + return false; + } + + if (node->ns != NULL) { + // if the node has a namespace, it's in a foreign context and is not one of the HTML tags we're + // matching against. + return false; + } + + for (size_t idx = 0; idx < num_tagnames; ++idx) { + if (!strcmp(name, tagnames[idx])) { + return true; + } + } + return false; +} + +static void +output_node( + VALUE out, + xmlNodePtr node, + bool preserve_newline +) +{ + static char const *const VOID_ELEMENTS[] = { + "area", "base", "basefont", "bgsound", "br", "col", "embed", "frame", "hr", + "img", "input", "keygen", "link", "meta", "param", "source", "track", "wbr", + }; + + static char const *const UNESCAPED_TEXT_ELEMENTS[] = { + "style", "script", "xmp", "iframe", "noembed", "noframes", "plaintext", "noscript", + }; + + switch (node->type) { + case XML_ELEMENT_NODE: + // Serialize the start tag. + output_char(out, '<'); + output_tagname(out, node); + + // Add attributes. + for (xmlAttrPtr attr = node->properties; attr; attr = attr->next) { + output_char(out, ' '); + output_node(out, (xmlNodePtr)attr, preserve_newline); + } + output_char(out, '>'); + + // Add children and end tag if element is not void. + if (!is_one_of(node, VOID_ELEMENTS, sizeof VOID_ELEMENTS / sizeof VOID_ELEMENTS[0])) { + if (preserve_newline && should_prepend_newline(node)) { + output_char(out, '\n'); + } + for (xmlNodePtr child = node->children; child; child = child->next) { + output_node(out, child, preserve_newline); + } + output_string(out, "'); + } + break; + + case XML_ATTRIBUTE_NODE: { + xmlAttrPtr attr = (xmlAttrPtr)node; + output_attr_name(out, attr); + if (attr->children) { + output_string(out, "=\""); + xmlChar *value = xmlNodeListGetString(attr->doc, attr->children, 1); + output_escaped_string(out, value, true); + xmlFree(value); + output_char(out, '"'); + } else { + // Output name="" + output_string(out, "=\"\""); + } + } + break; + + case XML_TEXT_NODE: + if (node->parent + && is_one_of(node->parent, UNESCAPED_TEXT_ELEMENTS, + sizeof UNESCAPED_TEXT_ELEMENTS / sizeof UNESCAPED_TEXT_ELEMENTS[0])) { + output_string(out, (char const *)node->content); + } else { + output_escaped_string(out, node->content, false); + } + break; + + case XML_CDATA_SECTION_NODE: + output_string(out, "content); + output_string(out, "]]>"); + break; + + case XML_COMMENT_NODE: + output_string(out, ""); + break; + + case XML_PI_NODE: + output_string(out, "content); + output_char(out, '>'); + break; + + case XML_DOCUMENT_TYPE_NODE: + case XML_DTD_NODE: + output_string(out, "name); + output_string(out, ">"); + break; + + case XML_DOCUMENT_NODE: + case XML_DOCUMENT_FRAG_NODE: + case XML_HTML_DOCUMENT_NODE: + for (xmlNodePtr child = node->children; child; child = child->next) { + output_node(out, child, preserve_newline); + } + break; + + default: + rb_raise(rb_eRuntimeError, "Unsupported document node (%d); this is a bug in Nokogiri", node->type); + break; + } +} + +static VALUE +html_standard_serialize( + VALUE self, + VALUE preserve_newline +) +{ + xmlNodePtr node; + Noko_Node_Get_Struct(self, xmlNode, node); + VALUE output = rb_str_buf_new(4096); + output_node(output, node, RTEST(preserve_newline)); + return output; +} + +/* + * :call-seq: + * line() → Integer + * + * [Returns] The line number of this Node. + * + * --- + * + * ⚠ The CRuby and JRuby implementations differ in important ways! + * + * Semantic differences: + * - The CRuby method reflects the node's line number in the parsed string + * - The JRuby method reflects the node's line number in the final DOM structure after + * corrections have been applied + * + * Performance differences: + * - The CRuby method is {O(1)}[https://en.wikipedia.org/wiki/Time_complexity#Constant_time] + * (constant time) + * - The JRuby method is {O(n)}[https://en.wikipedia.org/wiki/Time_complexity#Linear_time] (linear + * time, where n is the number of nodes before/above the element in the DOM) + * + * If you'd like to help improve the JRuby implementation, please review these issues and reach out + * to the maintainers: + * - https://github.com/sparklemotion/nokogiri/issues/1223 + * - https://github.com/sparklemotion/nokogiri/pull/2177 + * - https://github.com/sparklemotion/nokogiri/issues/2380 + */ +static VALUE +rb_xml_node_line(VALUE rb_node) +{ + xmlNodePtr c_node; + Noko_Node_Get_Struct(rb_node, xmlNode, c_node); + + return LONG2NUM(xmlGetLineNo(c_node)); +} + +/* + * call-seq: + * line=(num) + * + * Sets the line for this Node. num must be less than 65535. + */ +static VALUE +rb_xml_node_line_set(VALUE rb_node, VALUE rb_line_number) +{ + xmlNodePtr c_node; + int line_number = NUM2INT(rb_line_number); + + Noko_Node_Get_Struct(rb_node, xmlNode, c_node); + + // libxml2 optionally uses xmlNode.psvi to store longer line numbers, but only for text nodes. + // search for "psvi" in SAX2.c and tree.c to learn more. + if (line_number < 65535) { + c_node->line = (short unsigned)line_number; + } else { + c_node->line = 65535; + if (c_node->type == XML_TEXT_NODE) { + c_node->psvi = (void *)(ptrdiff_t)line_number; + } + } + + return rb_line_number; +} + +/* :nodoc: documented in lib/nokogiri/xml/node.rb */ +static VALUE +rb_xml_node_new(int argc, VALUE *argv, VALUE klass) +{ + xmlNodePtr c_document_node; + xmlNodePtr c_node; + VALUE rb_name; + VALUE rb_document_node; + VALUE rest; + VALUE rb_node; + + rb_scan_args(argc, argv, "2*", &rb_name, &rb_document_node, &rest); + + if (!rb_obj_is_kind_of(rb_document_node, cNokogiriXmlNode)) { + rb_raise(rb_eArgError, "document must be a Nokogiri::XML::Node"); + } + if (!rb_obj_is_kind_of(rb_document_node, cNokogiriXmlDocument)) { + NOKO_WARN_DEPRECATION("Passing a Node as the second parameter to Node.new is deprecated. Please pass a Document instead, or prefer an alternative constructor like Node#add_child. This will become an error in Nokogiri v1.17.0."); // TODO: deprecated in v1.13.0, remove in v1.17.0 + } + Noko_Node_Get_Struct(rb_document_node, xmlNode, c_document_node); + + c_node = xmlNewNode(NULL, (xmlChar *)StringValueCStr(rb_name)); + c_node->doc = c_document_node->doc; + noko_xml_document_pin_node(c_node); + + rb_node = noko_xml_node_wrap( + klass == cNokogiriXmlNode ? (VALUE)NULL : klass, + c_node + ); + rb_obj_call_init(rb_node, argc, argv); + + if (rb_block_given_p()) { rb_yield(rb_node); } + + return rb_node; +} + +/* + * call-seq: + * dump_html + * + * Returns the Node as html. + */ +static VALUE +dump_html(VALUE self) +{ + xmlBufferPtr buf ; + xmlNodePtr node ; + VALUE html; + + Noko_Node_Get_Struct(self, xmlNode, node); + + buf = xmlBufferCreate() ; + htmlNodeDump(buf, node->doc, node); + html = NOKOGIRI_STR_NEW2(xmlBufferContent(buf)); + xmlBufferFree(buf); + return html ; +} + +/* + * call-seq: + * compare(other) + * + * Compare this Node to +other+ with respect to their Document + */ +static VALUE +compare(VALUE self, VALUE _other) +{ + xmlNodePtr node, other; + Noko_Node_Get_Struct(self, xmlNode, node); + Noko_Node_Get_Struct(_other, xmlNode, other); + + return INT2NUM(xmlXPathCmpNodes(other, node)); +} + + +/* + * call-seq: + * process_xincludes(flags) + * + * Loads and substitutes all xinclude elements below the node. The + * parser context will be initialized with +flags+. + */ +static VALUE +noko_xml_node__process_xincludes(VALUE rb_node, VALUE rb_flags) +{ + int status ; + xmlNodePtr c_node; + VALUE rb_errors = rb_ary_new(); + libxmlStructuredErrorHandlerState handler_state; + + Noko_Node_Get_Struct(rb_node, xmlNode, c_node); + + noko__structured_error_func_save_and_set(&handler_state, (void *)rb_errors, noko__error_array_pusher); + + status = xmlXIncludeProcessTreeFlags(c_node, (int)NUM2INT(rb_flags)); + + noko__structured_error_func_restore(&handler_state); + + if (status < 0) { + VALUE exception = rb_funcall(cNokogiriXmlSyntaxError, rb_intern("aggregate"), 1, rb_errors); + + if (RB_TEST(exception)) { + rb_exc_raise(exception); + } else { + rb_raise(rb_eRuntimeError, "Could not perform xinclude substitution"); + } + } + + return rb_node; +} + + +/* TODO: DOCUMENT ME */ +static VALUE +in_context(VALUE self, VALUE _str, VALUE _options) +{ + xmlNodePtr node, list = 0, tmp, child_iter, node_children, doc_children; + xmlNodeSetPtr set; + xmlParserErrors error; + VALUE doc, err; + int doc_is_empty; + + Noko_Node_Get_Struct(self, xmlNode, node); + + doc = DOC_RUBY_OBJECT(node->doc); + err = rb_iv_get(doc, "@errors"); + doc_is_empty = (node->doc->children == NULL) ? 1 : 0; + node_children = node->children; + doc_children = node->doc->children; + + xmlSetStructuredErrorFunc((void *)err, noko__error_array_pusher); + + /* This function adds a fake node to the child of +node+. If the parser + * does not exit cleanly with XML_ERR_OK, the list is freed. This can + * leave the child pointers in a bad state if they were originally empty. + * + * http://git.gnome.org/browse/libxml2/tree/parser.c#n13177 + * */ + error = xmlParseInNodeContext(node, StringValuePtr(_str), + (int)RSTRING_LEN(_str), + (int)NUM2INT(_options), &list); + + /* xmlParseInNodeContext should not mutate the original document or node, + * so reassigning these pointers should be OK. The reason we're reassigning + * is because if there were errors, it's possible for the child pointers + * to be manipulated. */ + if (error != XML_ERR_OK) { + node->doc->children = doc_children; + node->children = node_children; + } + + /* make sure parent/child pointers are coherent so an unlink will work + * properly (#331) + */ + child_iter = node->doc->children ; + while (child_iter) { + child_iter->parent = (xmlNodePtr)node->doc; + child_iter = child_iter->next; + } + + xmlSetStructuredErrorFunc(NULL, NULL); + + /* + * Workaround for a libxml2 bug where a parsing error may leave a broken + * node reference in node->doc->children. + * + * https://bugzilla.gnome.org/show_bug.cgi?id=668155 + * + * This workaround is limited to when a parse error occurs, the document + * went from having no children to having children, and the context node is + * part of a document fragment. + * + * TODO: This was fixed in libxml 2.8.0 by 71a243d + */ + if (error != XML_ERR_OK && doc_is_empty && node->doc->children != NULL) { + child_iter = node; + while (child_iter->parent) { + child_iter = child_iter->parent; + } + + if (child_iter->type == XML_DOCUMENT_FRAG_NODE) { + node->doc->children = NULL; + } + } + + /* FIXME: This probably needs to handle more constants... */ + switch (error) { + case XML_ERR_INTERNAL_ERROR: + case XML_ERR_NO_MEMORY: + rb_raise(rb_eRuntimeError, "error parsing fragment (%d)", error); + break; + default: + break; + } + + set = xmlXPathNodeSetCreate(NULL); + + while (list) { + tmp = list->next; + list->next = NULL; + xmlXPathNodeSetAddUnique(set, list); + noko_xml_document_pin_node(list); + list = tmp; + } + + return noko_xml_node_set_wrap(set, doc); +} + +/* :nodoc: */ +VALUE +rb_xml_node_data_ptr_eh(VALUE self) +{ + xmlNodePtr c_node; + Noko_Node_Get_Struct(self, xmlNode, c_node); + return c_node ? Qtrue : Qfalse; +} + +VALUE +noko_xml_node_wrap(VALUE rb_class, xmlNodePtr c_node) +{ + VALUE rb_document, rb_node_cache, rb_node; + nokogiriTuplePtr node_has_a_document; + xmlDocPtr c_doc; + + assert(c_node); + + if (c_node->type == XML_DOCUMENT_NODE || c_node->type == XML_HTML_DOCUMENT_NODE) { + return DOC_RUBY_OBJECT(c_node->doc); + } + + c_doc = c_node->doc; + + // Nodes yielded from XML::Reader don't have a fully-realized Document + node_has_a_document = DOC_RUBY_OBJECT_TEST(c_doc); + + if (c_node->_private && node_has_a_document) { + return (VALUE)c_node->_private; + } + + if (!RTEST(rb_class)) { + switch (c_node->type) { + case XML_ELEMENT_NODE: + rb_class = cNokogiriXmlElement; + break; + case XML_TEXT_NODE: + rb_class = cNokogiriXmlText; + break; + case XML_ATTRIBUTE_NODE: + rb_class = cNokogiriXmlAttr; + break; + case XML_ENTITY_REF_NODE: + rb_class = cNokogiriXmlEntityReference; + break; + case XML_COMMENT_NODE: + rb_class = cNokogiriXmlComment; + break; + case XML_DOCUMENT_FRAG_NODE: + rb_class = cNokogiriXmlDocumentFragment; + break; + case XML_PI_NODE: + rb_class = cNokogiriXmlProcessingInstruction; + break; + case XML_ENTITY_DECL: + rb_class = cNokogiriXmlEntityDecl; + break; + case XML_CDATA_SECTION_NODE: + rb_class = cNokogiriXmlCData; + break; + case XML_DTD_NODE: + rb_class = cNokogiriXmlDtd; + break; + case XML_ATTRIBUTE_DECL: + rb_class = cNokogiriXmlAttributeDecl; + break; + case XML_ELEMENT_DECL: + rb_class = cNokogiriXmlElementDecl; + break; + default: + rb_class = cNokogiriXmlNode; + } + } + + rb_node = _xml_node_alloc(rb_class); + _xml_node_data_ptr_set(rb_node, c_node); + + if (node_has_a_document) { + rb_document = DOC_RUBY_OBJECT(c_doc); + rb_node_cache = DOC_NODE_CACHE(c_doc); + rb_ary_push(rb_node_cache, rb_node); + rb_funcall(rb_document, id_decorate, 1, rb_node); + } + + return rb_node ; +} + + +/* + * return Array containing the node's attributes + */ +VALUE +noko_xml_node_attrs(xmlNodePtr c_node) +{ + VALUE rb_properties = rb_ary_new(); + xmlAttrPtr c_property; + + c_property = c_node->properties ; + while (c_property != NULL) { + rb_ary_push(rb_properties, noko_xml_node_wrap(Qnil, (xmlNodePtr)c_property)); + c_property = c_property->next ; + } + + return rb_properties; +} + +void +noko_init_xml_node(void) +{ + cNokogiriXmlNode = rb_define_class_under(mNokogiriXml, "Node", rb_cObject); + + rb_define_alloc_func(cNokogiriXmlNode, _xml_node_alloc); + + rb_define_singleton_method(cNokogiriXmlNode, "new", rb_xml_node_new, -1); + + rb_define_method(cNokogiriXmlNode, "add_namespace_definition", rb_xml_node_add_namespace_definition, 2); + rb_define_method(cNokogiriXmlNode, "attribute", rb_xml_node_attribute, 1); + rb_define_method(cNokogiriXmlNode, "attribute_nodes", rb_xml_node_attribute_nodes, 0); + rb_define_method(cNokogiriXmlNode, "attribute_with_ns", rb_xml_node_attribute_with_ns, 2); + rb_define_method(cNokogiriXmlNode, "blank?", rb_xml_node_blank_eh, 0); + rb_define_method(cNokogiriXmlNode, "child", rb_xml_node_child, 0); + rb_define_method(cNokogiriXmlNode, "children", rb_xml_node_children, 0); + rb_define_method(cNokogiriXmlNode, "content", rb_xml_node_content, 0); + rb_define_method(cNokogiriXmlNode, "create_external_subset", create_external_subset, 3); + rb_define_method(cNokogiriXmlNode, "create_internal_subset", create_internal_subset, 3); + rb_define_method(cNokogiriXmlNode, "data_ptr?", rb_xml_node_data_ptr_eh, 0); + rb_define_method(cNokogiriXmlNode, "document", rb_xml_node_document, 0); + rb_define_method(cNokogiriXmlNode, "element_children", rb_xml_node_element_children, 0); + rb_define_method(cNokogiriXmlNode, "encode_special_chars", encode_special_chars, 1); + rb_define_method(cNokogiriXmlNode, "external_subset", external_subset, 0); + rb_define_method(cNokogiriXmlNode, "first_element_child", rb_xml_node_first_element_child, 0); + rb_define_method(cNokogiriXmlNode, "internal_subset", internal_subset, 0); + rb_define_method(cNokogiriXmlNode, "key?", key_eh, 1); + rb_define_method(cNokogiriXmlNode, "lang", get_lang, 0); + rb_define_method(cNokogiriXmlNode, "lang=", set_lang, 1); + rb_define_method(cNokogiriXmlNode, "last_element_child", rb_xml_node_last_element_child, 0); + rb_define_method(cNokogiriXmlNode, "line", rb_xml_node_line, 0); + rb_define_method(cNokogiriXmlNode, "line=", rb_xml_node_line_set, 1); + rb_define_method(cNokogiriXmlNode, "namespace", rb_xml_node_namespace, 0); + rb_define_method(cNokogiriXmlNode, "namespace_definitions", namespace_definitions, 0); + rb_define_method(cNokogiriXmlNode, "namespace_scopes", rb_xml_node_namespace_scopes, 0); + rb_define_method(cNokogiriXmlNode, "namespaced_key?", namespaced_key_eh, 2); + rb_define_method(cNokogiriXmlNode, "native_content=", set_native_content, 1); + rb_define_method(cNokogiriXmlNode, "next_element", next_element, 0); + rb_define_method(cNokogiriXmlNode, "next_sibling", next_sibling, 0); + rb_define_method(cNokogiriXmlNode, "node_name", get_name, 0); + rb_define_method(cNokogiriXmlNode, "node_name=", set_name, 1); + rb_define_method(cNokogiriXmlNode, "node_type", node_type, 0); + rb_define_method(cNokogiriXmlNode, "parent", get_parent, 0); + rb_define_method(cNokogiriXmlNode, "path", rb_xml_node_path, 0); + rb_define_method(cNokogiriXmlNode, "pointer_id", rb_xml_node_pointer_id, 0); + rb_define_method(cNokogiriXmlNode, "previous_element", previous_element, 0); + rb_define_method(cNokogiriXmlNode, "previous_sibling", previous_sibling, 0); + rb_define_method(cNokogiriXmlNode, "unlink", unlink_node, 0); + + rb_define_protected_method(cNokogiriXmlNode, "initialize_copy_with_args", rb_xml_node_initialize_copy_with_args, 3); + + rb_define_private_method(cNokogiriXmlNode, "add_child_node", add_child, 1); + rb_define_private_method(cNokogiriXmlNode, "add_next_sibling_node", add_next_sibling, 1); + rb_define_private_method(cNokogiriXmlNode, "add_previous_sibling_node", add_previous_sibling, 1); + rb_define_private_method(cNokogiriXmlNode, "compare", compare, 1); + rb_define_private_method(cNokogiriXmlNode, "dump_html", dump_html, 0); + rb_define_private_method(cNokogiriXmlNode, "get", get, 1); + rb_define_private_method(cNokogiriXmlNode, "in_context", in_context, 2); + rb_define_private_method(cNokogiriXmlNode, "native_write_to", native_write_to, 4); + rb_define_private_method(cNokogiriXmlNode, "prepend_newline?", rb_prepend_newline, 0); + rb_define_private_method(cNokogiriXmlNode, "html_standard_serialize", html_standard_serialize, 1); + rb_define_private_method(cNokogiriXmlNode, "process_xincludes", noko_xml_node__process_xincludes, 1); + rb_define_private_method(cNokogiriXmlNode, "replace_node", replace, 1); + rb_define_private_method(cNokogiriXmlNode, "set", set, 2); + rb_define_private_method(cNokogiriXmlNode, "set_namespace", set_namespace, 1); + + id_decorate = rb_intern("decorate"); + id_decorate_bang = rb_intern("decorate!"); +} diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_node_set.c b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_node_set.c new file mode 100644 index 0000000..de1beeb --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_node_set.c @@ -0,0 +1,518 @@ +#include + +VALUE cNokogiriXmlNodeSet ; + +static ID decorate ; + +static void +Check_Node_Set_Node_Type(VALUE node) +{ + if (!(rb_obj_is_kind_of(node, cNokogiriXmlNode) || + rb_obj_is_kind_of(node, cNokogiriXmlNamespace))) { + rb_raise(rb_eArgError, "node must be a Nokogiri::XML::Node or Nokogiri::XML::Namespace"); + } +} + + +static +VALUE +ruby_object_get(xmlNodePtr c_node) +{ + /* see xmlElementType in libxml2 tree.h */ + switch (c_node->type) { + case XML_NAMESPACE_DECL: + /* _private is later in the namespace struct */ + return (VALUE)(((xmlNsPtr)c_node)->_private); + + case XML_DOCUMENT_NODE: + case XML_HTML_DOCUMENT_NODE: + /* in documents we use _private to store a tuple */ + if (DOC_RUBY_OBJECT_TEST(((xmlDocPtr)c_node))) { + return DOC_RUBY_OBJECT((xmlDocPtr)c_node); + } + return (VALUE)NULL; + + default: + return (VALUE)(c_node->_private); + } +} + + +static void +xml_node_set_mark(void *data) +{ + xmlNodeSetPtr node_set = data; + VALUE rb_node; + int jnode; + + for (jnode = 0; jnode < node_set->nodeNr; jnode++) { + rb_node = ruby_object_get(node_set->nodeTab[jnode]); + if (rb_node) { + rb_gc_mark(rb_node); + } + } +} + +static void +xml_node_set_deallocate(void *data) +{ + xmlNodeSetPtr node_set = data; + /* + * For reasons outlined in xml_namespace.c, here we reproduce xmlXPathFreeNodeSet() except for the + * offending call to xmlXPathNodeSetFreeNs(). + */ + if (node_set->nodeTab != NULL) { + xmlFree(node_set->nodeTab); + } + + xmlFree(node_set); +} + +static const rb_data_type_t xml_node_set_type = { + .wrap_struct_name = "xmlNodeSet", + .function = { + .dmark = xml_node_set_mark, + .dfree = xml_node_set_deallocate, + }, + .flags = RUBY_TYPED_FREE_IMMEDIATELY, +}; + +static VALUE +xml_node_set_allocate(VALUE klass) +{ + return TypedData_Wrap_Struct(klass, &xml_node_set_type, xmlXPathNodeSetCreate(NULL)); +} + +/* :nodoc: */ +static VALUE +rb_xml_node_set_initialize_copy(VALUE rb_self, VALUE rb_other) +{ + xmlNodeSetPtr c_self, c_other; + VALUE rb_document; + + TypedData_Get_Struct(rb_self, xmlNodeSet, &xml_node_set_type, c_self); + TypedData_Get_Struct(rb_other, xmlNodeSet, &xml_node_set_type, c_other); + + xmlXPathNodeSetMerge(c_self, c_other); + + rb_document = rb_iv_get(rb_other, "@document"); + if (!NIL_P(rb_document)) { + rb_iv_set(rb_self, "@document", rb_document); + rb_funcall(rb_document, decorate, 1, rb_self); + } + + return rb_self; +} + +static void +xpath_node_set_del(xmlNodeSetPtr cur, xmlNodePtr val) +{ + /* + * For reasons outlined in xml_namespace.c, here we reproduce xmlXPathNodeSetDel() except for the + * offending call to xmlXPathNodeSetFreeNs(). + */ + int i; + + if (cur == NULL) { return; } + if (val == NULL) { return; } + + /* + * find node in nodeTab + */ + for (i = 0; i < cur->nodeNr; i++) + if (cur->nodeTab[i] == val) { break; } + + if (i >= cur->nodeNr) { /* not found */ + return; + } + cur->nodeNr--; + for (; i < cur->nodeNr; i++) { + cur->nodeTab[i] = cur->nodeTab[i + 1]; + } + cur->nodeTab[cur->nodeNr] = NULL; +} + +/* + * call-seq: + * length + * + * Get the length of the node set + */ +static VALUE +length(VALUE rb_self) +{ + xmlNodeSetPtr c_self; + + TypedData_Get_Struct(rb_self, xmlNodeSet, &xml_node_set_type, c_self); + + return c_self ? INT2NUM(c_self->nodeNr) : INT2NUM(0); +} + +/* + * call-seq: + * push(node) + * + * Append +node+ to the NodeSet. + */ +static VALUE +push(VALUE rb_self, VALUE rb_node) +{ + xmlNodeSetPtr c_self; + xmlNodePtr node; + + Check_Node_Set_Node_Type(rb_node); + + TypedData_Get_Struct(rb_self, xmlNodeSet, &xml_node_set_type, c_self); + Noko_Node_Get_Struct(rb_node, xmlNode, node); + + xmlXPathNodeSetAdd(c_self, node); + + return rb_self; +} + +/* + * call-seq: + * delete(node) + * + * Delete +node+ from the Nodeset, if it is a member. Returns the deleted node + * if found, otherwise returns nil. + */ +static VALUE +delete (VALUE rb_self, VALUE rb_node) +{ + xmlNodeSetPtr c_self; + xmlNodePtr node; + + Check_Node_Set_Node_Type(rb_node); + + TypedData_Get_Struct(rb_self, xmlNodeSet, &xml_node_set_type, c_self); + Noko_Node_Get_Struct(rb_node, xmlNode, node); + + if (xmlXPathNodeSetContains(c_self, node)) { + xpath_node_set_del(c_self, node); + return rb_node; + } + return Qnil ; +} + + +/* + * call-seq: + * &(node_set) + * + * Set Intersection — Returns a new NodeSet containing nodes common to the two NodeSets. + */ +static VALUE +intersection(VALUE rb_self, VALUE rb_other) +{ + xmlNodeSetPtr c_self, c_other ; + xmlNodeSetPtr intersection; + + if (!rb_obj_is_kind_of(rb_other, cNokogiriXmlNodeSet)) { + rb_raise(rb_eArgError, "node_set must be a Nokogiri::XML::NodeSet"); + } + + TypedData_Get_Struct(rb_self, xmlNodeSet, &xml_node_set_type, c_self); + TypedData_Get_Struct(rb_other, xmlNodeSet, &xml_node_set_type, c_other); + + intersection = xmlXPathIntersection(c_self, c_other); + return noko_xml_node_set_wrap(intersection, rb_iv_get(rb_self, "@document")); +} + + +/* + * call-seq: + * include?(node) + * + * Returns true if any member of node set equals +node+. + */ +static VALUE +include_eh(VALUE rb_self, VALUE rb_node) +{ + xmlNodeSetPtr c_self; + xmlNodePtr node; + + Check_Node_Set_Node_Type(rb_node); + + TypedData_Get_Struct(rb_self, xmlNodeSet, &xml_node_set_type, c_self); + Noko_Node_Get_Struct(rb_node, xmlNode, node); + + return (xmlXPathNodeSetContains(c_self, node) ? Qtrue : Qfalse); +} + + +/* + * call-seq: + * |(node_set) + * + * Returns a new set built by merging the set and the elements of the given + * set. + */ +static VALUE +rb_xml_node_set_union(VALUE rb_self, VALUE rb_other) +{ + xmlNodeSetPtr c_self, c_other; + xmlNodeSetPtr c_new_node_set; + + if (!rb_obj_is_kind_of(rb_other, cNokogiriXmlNodeSet)) { + rb_raise(rb_eArgError, "node_set must be a Nokogiri::XML::NodeSet"); + } + + TypedData_Get_Struct(rb_self, xmlNodeSet, &xml_node_set_type, c_self); + TypedData_Get_Struct(rb_other, xmlNodeSet, &xml_node_set_type, c_other); + + c_new_node_set = xmlXPathNodeSetMerge(NULL, c_self); + c_new_node_set = xmlXPathNodeSetMerge(c_new_node_set, c_other); + + return noko_xml_node_set_wrap(c_new_node_set, rb_iv_get(rb_self, "@document")); +} + +/* + * call-seq: + * -(node_set) + * + * Difference - returns a new NodeSet that is a copy of this NodeSet, removing + * each item that also appears in +node_set+ + */ +static VALUE +minus(VALUE rb_self, VALUE rb_other) +{ + xmlNodeSetPtr c_self, c_other; + xmlNodeSetPtr new; + int j ; + + if (!rb_obj_is_kind_of(rb_other, cNokogiriXmlNodeSet)) { + rb_raise(rb_eArgError, "node_set must be a Nokogiri::XML::NodeSet"); + } + + TypedData_Get_Struct(rb_self, xmlNodeSet, &xml_node_set_type, c_self); + TypedData_Get_Struct(rb_other, xmlNodeSet, &xml_node_set_type, c_other); + + new = xmlXPathNodeSetMerge(NULL, c_self); + for (j = 0 ; j < c_other->nodeNr ; ++j) { + xpath_node_set_del(new, c_other->nodeTab[j]); + } + + return noko_xml_node_set_wrap(new, rb_iv_get(rb_self, "@document")); +} + + +static VALUE +index_at(VALUE rb_self, long offset) +{ + xmlNodeSetPtr c_self; + + TypedData_Get_Struct(rb_self, xmlNodeSet, &xml_node_set_type, c_self); + + if (offset >= c_self->nodeNr || abs((int)offset) > c_self->nodeNr) { + return Qnil; + } + + if (offset < 0) { offset += c_self->nodeNr ; } + + return noko_xml_node_wrap_node_set_result(c_self->nodeTab[offset], rb_self); +} + +static VALUE +subseq(VALUE rb_self, long beg, long len) +{ + long j; + xmlNodeSetPtr c_self; + xmlNodeSetPtr new_set ; + + TypedData_Get_Struct(rb_self, xmlNodeSet, &xml_node_set_type, c_self); + + if (beg > c_self->nodeNr) { return Qnil ; } + if (beg < 0 || len < 0) { return Qnil ; } + + if ((beg + len) > c_self->nodeNr) { + len = c_self->nodeNr - beg ; + } + + new_set = xmlXPathNodeSetCreate(NULL); + for (j = beg ; j < beg + len ; ++j) { + xmlXPathNodeSetAddUnique(new_set, c_self->nodeTab[j]); + } + return noko_xml_node_set_wrap(new_set, rb_iv_get(rb_self, "@document")); +} + +/* + * call-seq: + * [index] -> Node or nil + * [start, length] -> NodeSet or nil + * [range] -> NodeSet or nil + * slice(index) -> Node or nil + * slice(start, length) -> NodeSet or nil + * slice(range) -> NodeSet or nil + * + * Element reference - returns the node at +index+, or returns a NodeSet + * containing nodes starting at +start+ and continuing for +length+ elements, or + * returns a NodeSet containing nodes specified by +range+. Negative +indices+ + * count backward from the end of the +node_set+ (-1 is the last node). Returns + * nil if the +index+ (or +start+) are out of range. + */ +static VALUE +slice(int argc, VALUE *argv, VALUE rb_self) +{ + VALUE arg ; + long beg, len ; + xmlNodeSetPtr c_self; + + TypedData_Get_Struct(rb_self, xmlNodeSet, &xml_node_set_type, c_self); + + if (argc == 2) { + beg = NUM2LONG(argv[0]); + len = NUM2LONG(argv[1]); + if (beg < 0) { + beg += c_self->nodeNr ; + } + return subseq(rb_self, beg, len); + } + + if (argc != 1) { + rb_scan_args(argc, argv, "11", NULL, NULL); + } + arg = argv[0]; + + if (FIXNUM_P(arg)) { + return index_at(rb_self, FIX2LONG(arg)); + } + + /* if arg is Range */ + switch (rb_range_beg_len(arg, &beg, &len, (long)c_self->nodeNr, 0)) { + case Qfalse: + break; + case Qnil: + return Qnil; + default: + return subseq(rb_self, beg, len); + } + + return index_at(rb_self, NUM2LONG(arg)); +} + + +/* + * call-seq: + * to_a + * + * Return this list as an Array + */ +static VALUE +to_array(VALUE rb_self) +{ + xmlNodeSetPtr c_self ; + VALUE list; + int i; + + TypedData_Get_Struct(rb_self, xmlNodeSet, &xml_node_set_type, c_self); + + list = rb_ary_new2(c_self->nodeNr); + for (i = 0; i < c_self->nodeNr; i++) { + VALUE elt = noko_xml_node_wrap_node_set_result(c_self->nodeTab[i], rb_self); + rb_ary_push(list, elt); + } + + return list; +} + +/* + * call-seq: + * unlink + * + * Unlink this NodeSet and all Node objects it contains from their current context. + */ +static VALUE +unlink_nodeset(VALUE rb_self) +{ + xmlNodeSetPtr c_self; + int j, nodeNr ; + + TypedData_Get_Struct(rb_self, xmlNodeSet, &xml_node_set_type, c_self); + + nodeNr = c_self->nodeNr ; + for (j = 0 ; j < nodeNr ; j++) { + if (! NOKOGIRI_NAMESPACE_EH(c_self->nodeTab[j])) { + VALUE node ; + xmlNodePtr node_ptr; + node = noko_xml_node_wrap(Qnil, c_self->nodeTab[j]); + rb_funcall(node, rb_intern("unlink"), 0); /* modifies the C struct out from under the object */ + Noko_Node_Get_Struct(node, xmlNode, node_ptr); + c_self->nodeTab[j] = node_ptr ; + } + } + return rb_self ; +} + + +VALUE +noko_xml_node_set_wrap(xmlNodeSetPtr c_node_set, VALUE document) +{ + int j; + VALUE rb_node_set ; + + if (c_node_set == NULL) { + rb_node_set = xml_node_set_allocate(cNokogiriXmlNodeSet); + } else { + rb_node_set = TypedData_Wrap_Struct(cNokogiriXmlNodeSet, &xml_node_set_type, c_node_set); + } + + if (!NIL_P(document)) { + rb_iv_set(rb_node_set, "@document", document); + rb_funcall(document, decorate, 1, rb_node_set); + } + + if (c_node_set) { + /* create ruby objects for all the results, so they'll be marked during the GC mark phase */ + for (j = 0 ; j < c_node_set->nodeNr ; j++) { + noko_xml_node_wrap_node_set_result(c_node_set->nodeTab[j], rb_node_set); + } + } + + return rb_node_set ; +} + + +VALUE +noko_xml_node_wrap_node_set_result(xmlNodePtr node, VALUE node_set) +{ + if (NOKOGIRI_NAMESPACE_EH(node)) { + return noko_xml_namespace_wrap_xpath_copy((xmlNsPtr)node); + } else { + return noko_xml_node_wrap(Qnil, node); + } +} + + +xmlNodeSetPtr +noko_xml_node_set_unwrap(VALUE rb_node_set) +{ + xmlNodeSetPtr c_node_set; + TypedData_Get_Struct(rb_node_set, xmlNodeSet, &xml_node_set_type, c_node_set); + return c_node_set; +} + + +void +noko_init_xml_node_set(void) +{ + cNokogiriXmlNodeSet = rb_define_class_under(mNokogiriXml, "NodeSet", rb_cObject); + + rb_define_alloc_func(cNokogiriXmlNodeSet, xml_node_set_allocate); + + rb_define_method(cNokogiriXmlNodeSet, "&", intersection, 1); + rb_define_method(cNokogiriXmlNodeSet, "-", minus, 1); + rb_define_method(cNokogiriXmlNodeSet, "[]", slice, -1); + rb_define_method(cNokogiriXmlNodeSet, "delete", delete, 1); + rb_define_method(cNokogiriXmlNodeSet, "include?", include_eh, 1); + rb_define_method(cNokogiriXmlNodeSet, "length", length, 0); + rb_define_method(cNokogiriXmlNodeSet, "push", push, 1); + rb_define_method(cNokogiriXmlNodeSet, "slice", slice, -1); + rb_define_method(cNokogiriXmlNodeSet, "to_a", to_array, 0); + rb_define_method(cNokogiriXmlNodeSet, "unlink", unlink_nodeset, 0); + rb_define_method(cNokogiriXmlNodeSet, "|", rb_xml_node_set_union, 1); + + rb_define_private_method(cNokogiriXmlNodeSet, "initialize_copy", rb_xml_node_set_initialize_copy, 1); + + decorate = rb_intern("decorate"); +} diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_processing_instruction.c b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_processing_instruction.c new file mode 100644 index 0000000..6bcf15f --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_processing_instruction.c @@ -0,0 +1,54 @@ +#include + +VALUE cNokogiriXmlProcessingInstruction; + +/* + * call-seq: + * new(document, name, content) + * + * Create a new ProcessingInstruction element on the +document+ with +name+ + * and +content+ + */ +static VALUE +new (int argc, VALUE *argv, VALUE klass) +{ + xmlDocPtr xml_doc; + xmlNodePtr node; + VALUE document; + VALUE name; + VALUE content; + VALUE rest; + VALUE rb_node; + + rb_scan_args(argc, argv, "3*", &document, &name, &content, &rest); + + xml_doc = noko_xml_document_unwrap(document); + + node = xmlNewDocPI( + xml_doc, + (const xmlChar *)StringValueCStr(name), + (const xmlChar *)StringValueCStr(content) + ); + + noko_xml_document_pin_node(node); + + rb_node = noko_xml_node_wrap(klass, node); + rb_obj_call_init(rb_node, argc, argv); + + if (rb_block_given_p()) { rb_yield(rb_node); } + + return rb_node; +} + +void +noko_init_xml_processing_instruction(void) +{ + assert(cNokogiriXmlNode); + /* + * ProcessingInstruction represents a ProcessingInstruction node in an xml + * document. + */ + cNokogiriXmlProcessingInstruction = rb_define_class_under(mNokogiriXml, "ProcessingInstruction", cNokogiriXmlNode); + + rb_define_singleton_method(cNokogiriXmlProcessingInstruction, "new", new, -1); +} diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_reader.c b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_reader.c new file mode 100644 index 0000000..aa85749 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_reader.c @@ -0,0 +1,777 @@ +#include + +VALUE cNokogiriXmlReader; + +static void +xml_reader_deallocate(void *data) +{ + // free the document separately because we _may_ have triggered preservation by calling + // xmlTextReaderCurrentDoc during a read_more. + xmlTextReaderPtr reader = data; + xmlDocPtr doc = xmlTextReaderCurrentDoc(reader); + xmlFreeTextReader(reader); + if (doc) { + xmlFreeDoc(doc); + } +} + +static const rb_data_type_t xml_text_reader_type = { + .wrap_struct_name = "xmlTextReader", + .function = { + .dfree = xml_reader_deallocate, + }, + .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED, +}; + +static int +has_attributes(xmlTextReaderPtr reader) +{ + /* + * this implementation of xmlTextReaderHasAttributes explicitly includes + * namespaces and properties, because some earlier versions ignore + * namespaces. + */ + xmlNodePtr node ; + node = xmlTextReaderCurrentNode(reader); + if (node == NULL) { + return (0); + } + + if ((node->type == XML_ELEMENT_NODE) && + ((node->properties != NULL) || (node->nsDef != NULL))) { + return (1); + } + return (0); +} + +// TODO: merge this function into the `namespaces` method implementation +static void +Nokogiri_xml_node_namespaces(xmlNodePtr node, VALUE attr_hash) +{ + xmlNsPtr ns; + VALUE key; + + if (node->type != XML_ELEMENT_NODE) { return ; } + + ns = node->nsDef; + while (ns != NULL) { + + key = rb_enc_str_new_cstr(XMLNS_PREFIX, rb_utf8_encoding()); + if (ns->prefix) { + rb_str_cat_cstr(key, ":"); + rb_str_cat_cstr(key, (const char *)ns->prefix); + } + + key = rb_str_conv_enc(key, rb_utf8_encoding(), rb_default_internal_encoding()); + rb_hash_aset(attr_hash, + key, + (ns->href ? NOKOGIRI_STR_NEW2(ns->href) : Qnil) + ); + ns = ns->next ; + } +} + + +/* + * call-seq: + * default? + * + * Was an attribute generated from the default value in the DTD or schema? + */ +static VALUE +default_eh(VALUE self) +{ + xmlTextReaderPtr reader; + int eh; + + TypedData_Get_Struct(self, xmlTextReader, &xml_text_reader_type, reader); + eh = xmlTextReaderIsDefault(reader); + if (eh == 0) { return Qfalse; } + if (eh == 1) { return Qtrue; } + + return Qnil; +} + +/* + * call-seq: + * value? + * + * Does this node have a text value? + */ +static VALUE +value_eh(VALUE self) +{ + xmlTextReaderPtr reader; + int eh; + + TypedData_Get_Struct(self, xmlTextReader, &xml_text_reader_type, reader); + eh = xmlTextReaderHasValue(reader); + if (eh == 0) { return Qfalse; } + if (eh == 1) { return Qtrue; } + + return Qnil; +} + +/* + * call-seq: + * attributes? + * + * Does this node have attributes? + */ +static VALUE +attributes_eh(VALUE self) +{ + xmlTextReaderPtr reader; + int eh; + + TypedData_Get_Struct(self, xmlTextReader, &xml_text_reader_type, reader); + eh = has_attributes(reader); + if (eh == 0) { return Qfalse; } + if (eh == 1) { return Qtrue; } + + return Qnil; +} + +/* + * call-seq: + * namespaces + * + * Get a hash of namespaces for this Node + */ +static VALUE +rb_xml_reader_namespaces(VALUE rb_reader) +{ + VALUE rb_namespaces = rb_hash_new() ; + xmlTextReaderPtr c_reader; + xmlNodePtr c_node; + VALUE rb_errors; + + TypedData_Get_Struct(rb_reader, xmlTextReader, &xml_text_reader_type, c_reader); + + if (! has_attributes(c_reader)) { + return rb_namespaces ; + } + + rb_errors = rb_funcall(rb_reader, rb_intern("errors"), 0); + + xmlSetStructuredErrorFunc((void *)rb_errors, noko__error_array_pusher); + c_node = xmlTextReaderExpand(c_reader); + xmlSetStructuredErrorFunc(NULL, NULL); + + if (c_node == NULL) { + if (RARRAY_LEN(rb_errors) > 0) { + VALUE rb_error = rb_ary_entry(rb_errors, 0); + VALUE exception_message = rb_funcall(rb_error, rb_intern("to_s"), 0); + rb_exc_raise(rb_class_new_instance(1, &exception_message, cNokogiriXmlSyntaxError)); + } + return Qnil; + } + + Nokogiri_xml_node_namespaces(c_node, rb_namespaces); + + return rb_namespaces ; +} + +/* + :call-seq: attribute_hash() → Hash + + Get the attributes of the current node as a Hash of names and values. + + See related: #attributes and #namespaces + */ +static VALUE +rb_xml_reader_attribute_hash(VALUE rb_reader) +{ + VALUE rb_attributes = rb_hash_new(); + xmlTextReaderPtr c_reader; + xmlNodePtr c_node; + xmlAttrPtr c_property; + VALUE rb_errors; + + TypedData_Get_Struct(rb_reader, xmlTextReader, &xml_text_reader_type, c_reader); + + if (!has_attributes(c_reader)) { + return rb_attributes; + } + + rb_errors = rb_funcall(rb_reader, rb_intern("errors"), 0); + + xmlSetStructuredErrorFunc((void *)rb_errors, noko__error_array_pusher); + c_node = xmlTextReaderExpand(c_reader); + xmlSetStructuredErrorFunc(NULL, NULL); + + if (c_node == NULL) { + if (RARRAY_LEN(rb_errors) > 0) { + VALUE rb_error = rb_ary_entry(rb_errors, 0); + VALUE exception_message = rb_funcall(rb_error, rb_intern("to_s"), 0); + rb_exc_raise(rb_class_new_instance(1, &exception_message, cNokogiriXmlSyntaxError)); + } + return Qnil; + } + + c_property = c_node->properties; + while (c_property != NULL) { + VALUE rb_name = NOKOGIRI_STR_NEW2(c_property->name); + VALUE rb_value = Qnil; + xmlChar *c_value = xmlNodeGetContent((xmlNode *)c_property); + + if (c_value) { + rb_value = NOKOGIRI_STR_NEW2(c_value); + xmlFree(c_value); + } + + rb_hash_aset(rb_attributes, rb_name, rb_value); + + c_property = c_property->next; + } + + return rb_attributes; +} + +/* + * call-seq: + * attribute_at(index) + * + * Get the value of attribute at +index+ + */ +static VALUE +attribute_at(VALUE self, VALUE index) +{ + xmlTextReaderPtr reader; + xmlChar *value; + VALUE rb_value; + + TypedData_Get_Struct(self, xmlTextReader, &xml_text_reader_type, reader); + + if (NIL_P(index)) { return Qnil; } + index = rb_Integer(index); + + value = xmlTextReaderGetAttributeNo( + reader, + (int)NUM2INT(index) + ); + if (value == NULL) { return Qnil; } + + rb_value = NOKOGIRI_STR_NEW2(value); + xmlFree(value); + return rb_value; +} + +/* + * call-seq: + * attribute(name) + * + * Get the value of attribute named +name+ + */ +static VALUE +reader_attribute(VALUE self, VALUE name) +{ + xmlTextReaderPtr reader; + xmlChar *value ; + VALUE rb_value; + + TypedData_Get_Struct(self, xmlTextReader, &xml_text_reader_type, reader); + + if (NIL_P(name)) { return Qnil; } + name = StringValue(name) ; + + value = xmlTextReaderGetAttribute(reader, (xmlChar *)StringValueCStr(name)); + if (value == NULL) { return Qnil; } + + rb_value = NOKOGIRI_STR_NEW2(value); + xmlFree(value); + return rb_value; +} + +/* + * call-seq: + * attribute_count + * + * Get the number of attributes for the current node + */ +static VALUE +attribute_count(VALUE self) +{ + xmlTextReaderPtr reader; + int count; + + TypedData_Get_Struct(self, xmlTextReader, &xml_text_reader_type, reader); + count = xmlTextReaderAttributeCount(reader); + if (count == -1) { return Qnil; } + + return INT2NUM(count); +} + +/* + * call-seq: + * depth + * + * Get the depth of the node + */ +static VALUE +depth(VALUE self) +{ + xmlTextReaderPtr reader; + int depth; + + TypedData_Get_Struct(self, xmlTextReader, &xml_text_reader_type, reader); + depth = xmlTextReaderDepth(reader); + if (depth == -1) { return Qnil; } + + return INT2NUM(depth); +} + +/* + * call-seq: + * xml_version + * + * Get the XML version of the document being read + */ +static VALUE +xml_version(VALUE self) +{ + xmlTextReaderPtr reader; + const char *version; + + TypedData_Get_Struct(self, xmlTextReader, &xml_text_reader_type, reader); + version = (const char *)xmlTextReaderConstXmlVersion(reader); + if (version == NULL) { return Qnil; } + + return NOKOGIRI_STR_NEW2(version); +} + +/* + * call-seq: + * lang + * + * Get the xml:lang scope within which the node resides. + */ +static VALUE +lang(VALUE self) +{ + xmlTextReaderPtr reader; + const char *lang; + + TypedData_Get_Struct(self, xmlTextReader, &xml_text_reader_type, reader); + lang = (const char *)xmlTextReaderConstXmlLang(reader); + if (lang == NULL) { return Qnil; } + + return NOKOGIRI_STR_NEW2(lang); +} + +/* + * call-seq: + * value + * + * Get the text value of the node if present. Returns a utf-8 encoded string. + */ +static VALUE +value(VALUE self) +{ + xmlTextReaderPtr reader; + const char *value; + + TypedData_Get_Struct(self, xmlTextReader, &xml_text_reader_type, reader); + value = (const char *)xmlTextReaderConstValue(reader); + if (value == NULL) { return Qnil; } + + return NOKOGIRI_STR_NEW2(value); +} + +/* + * call-seq: + * prefix + * + * Get the shorthand reference to the namespace associated with the node. + */ +static VALUE +prefix(VALUE self) +{ + xmlTextReaderPtr reader; + const char *prefix; + + TypedData_Get_Struct(self, xmlTextReader, &xml_text_reader_type, reader); + prefix = (const char *)xmlTextReaderConstPrefix(reader); + if (prefix == NULL) { return Qnil; } + + return NOKOGIRI_STR_NEW2(prefix); +} + +/* + * call-seq: + * namespace_uri + * + * Get the URI defining the namespace associated with the node + */ +static VALUE +namespace_uri(VALUE self) +{ + xmlTextReaderPtr reader; + const char *uri; + + TypedData_Get_Struct(self, xmlTextReader, &xml_text_reader_type, reader); + uri = (const char *)xmlTextReaderConstNamespaceUri(reader); + if (uri == NULL) { return Qnil; } + + return NOKOGIRI_STR_NEW2(uri); +} + +/* + * call-seq: + * local_name + * + * Get the local name of the node + */ +static VALUE +local_name(VALUE self) +{ + xmlTextReaderPtr reader; + const char *name; + + TypedData_Get_Struct(self, xmlTextReader, &xml_text_reader_type, reader); + name = (const char *)xmlTextReaderConstLocalName(reader); + if (name == NULL) { return Qnil; } + + return NOKOGIRI_STR_NEW2(name); +} + +/* + * call-seq: + * name + * + * Get the name of the node. Returns a utf-8 encoded string. + */ +static VALUE +name(VALUE self) +{ + xmlTextReaderPtr reader; + const char *name; + + TypedData_Get_Struct(self, xmlTextReader, &xml_text_reader_type, reader); + name = (const char *)xmlTextReaderConstName(reader); + if (name == NULL) { return Qnil; } + + return NOKOGIRI_STR_NEW2(name); +} + +/* + * call-seq: + * base_uri + * + * Get the xml:base of the node + */ +static VALUE +rb_xml_reader_base_uri(VALUE rb_reader) +{ + VALUE rb_base_uri; + xmlTextReaderPtr c_reader; + xmlChar *c_base_uri; + + TypedData_Get_Struct(rb_reader, xmlTextReader, &xml_text_reader_type, c_reader); + + c_base_uri = xmlTextReaderBaseUri(c_reader); + if (c_base_uri == NULL) { + return Qnil; + } + + rb_base_uri = NOKOGIRI_STR_NEW2(c_base_uri); + xmlFree(c_base_uri); + + return rb_base_uri; +} + +/* + * call-seq: + * state + * + * Get the state of the reader + */ +static VALUE +state(VALUE self) +{ + xmlTextReaderPtr reader; + TypedData_Get_Struct(self, xmlTextReader, &xml_text_reader_type, reader); + return INT2NUM(xmlTextReaderReadState(reader)); +} + +/* + * call-seq: + * node_type + * + * Get the type of readers current node + */ +static VALUE +node_type(VALUE self) +{ + xmlTextReaderPtr reader; + TypedData_Get_Struct(self, xmlTextReader, &xml_text_reader_type, reader); + return INT2NUM(xmlTextReaderNodeType(reader)); +} + +/* + * call-seq: + * read + * + * Move the Reader forward through the XML document. + */ +static VALUE +read_more(VALUE rb_reader) +{ + xmlTextReaderPtr c_reader; + libxmlStructuredErrorHandlerState handler_state; + + TypedData_Get_Struct(rb_reader, xmlTextReader, &xml_text_reader_type, c_reader); + + VALUE rb_errors = rb_funcall(rb_reader, rb_intern("errors"), 0); + noko__structured_error_func_save_and_set(&handler_state, (void *)rb_errors, noko__error_array_pusher); + + int status = xmlTextReaderRead(c_reader); + + noko__structured_error_func_restore(&handler_state); + + xmlDocPtr c_document = xmlTextReaderCurrentDoc(c_reader); + if (c_document && c_document->encoding == NULL) { + VALUE constructor_encoding = rb_iv_get(rb_reader, "@encoding"); + if (RTEST(constructor_encoding)) { + c_document->encoding = xmlStrdup(BAD_CAST StringValueCStr(constructor_encoding)); + } else { + rb_iv_set(rb_reader, "@encoding", NOKOGIRI_STR_NEW2("UTF-8")); + c_document->encoding = xmlStrdup(BAD_CAST "UTF-8"); + } + } + + if (status == 1) { return rb_reader; } + if (status == 0) { return Qnil; } + + /* if we're here, there was an error */ + VALUE exception = rb_funcall(cNokogiriXmlSyntaxError, rb_intern("aggregate"), 1, rb_errors); + if (RB_TEST(exception)) { + rb_exc_raise(exception); + } else { + rb_raise(rb_eRuntimeError, "Error pulling: %d", status); + } +} + +/* + * call-seq: + * inner_xml + * + * Read the contents of the current node, including child nodes and markup. + * Returns a utf-8 encoded string. + */ +static VALUE +inner_xml(VALUE self) +{ + xmlTextReaderPtr reader; + xmlChar *value; + VALUE str; + + TypedData_Get_Struct(self, xmlTextReader, &xml_text_reader_type, reader); + + value = xmlTextReaderReadInnerXml(reader); + + str = Qnil; + if (value) { + str = NOKOGIRI_STR_NEW2((char *)value); + xmlFree(value); + } + + return str; +} + +/* + * call-seq: + * outer_xml + * + * Read the current node and its contents, including child nodes and markup. + * Returns a utf-8 encoded string. + */ +static VALUE +outer_xml(VALUE self) +{ + xmlTextReaderPtr reader; + xmlChar *value; + VALUE str = Qnil; + + TypedData_Get_Struct(self, xmlTextReader, &xml_text_reader_type, reader); + + value = xmlTextReaderReadOuterXml(reader); + + if (value) { + str = NOKOGIRI_STR_NEW2((char *)value); + xmlFree(value); + } + return str; +} + +/* + * call-seq: + * from_memory(string, url = nil, encoding = nil, options = 0) + * + * Create a new Reader to parse a String. + */ +static VALUE +from_memory(int argc, VALUE *argv, VALUE klass) +{ + /* TODO: deprecate this method, since Reader.new can handle both memory and IO. It can then + * become private. */ + VALUE rb_buffer, rb_url, encoding, rb_options; + xmlTextReaderPtr reader; + const char *c_url = NULL; + const char *c_encoding = NULL; + int c_options = 0; + VALUE rb_reader, args[3]; + + rb_scan_args(argc, argv, "13", &rb_buffer, &rb_url, &encoding, &rb_options); + + if (!RTEST(rb_buffer)) { rb_raise(rb_eArgError, "string cannot be nil"); } + if (RTEST(rb_url)) { c_url = StringValueCStr(rb_url); } + if (RTEST(encoding)) { c_encoding = StringValueCStr(encoding); } + if (RTEST(rb_options)) { c_options = (int)NUM2INT(rb_options); } + + reader = xmlReaderForMemory( + StringValuePtr(rb_buffer), + (int)RSTRING_LEN(rb_buffer), + c_url, + c_encoding, + c_options + ); + + if (reader == NULL) { + xmlFreeTextReader(reader); + rb_raise(rb_eRuntimeError, "couldn't create a parser"); + } + + rb_reader = TypedData_Wrap_Struct(klass, &xml_text_reader_type, reader); + args[0] = rb_buffer; + args[1] = rb_url; + args[2] = encoding; + rb_obj_call_init(rb_reader, 3, args); + + return rb_reader; +} + +/* + * call-seq: + * from_io(io, url = nil, encoding = nil, options = 0) + * + * Create a new Reader to parse an IO stream. + */ +static VALUE +from_io(int argc, VALUE *argv, VALUE klass) +{ + /* TODO: deprecate this method, since Reader.new can handle both memory and IO. It can then + * become private. */ + VALUE rb_io, rb_url, encoding, rb_options; + xmlTextReaderPtr reader; + const char *c_url = NULL; + const char *c_encoding = NULL; + int c_options = 0; + VALUE rb_reader, args[3]; + + rb_scan_args(argc, argv, "13", &rb_io, &rb_url, &encoding, &rb_options); + + if (!RTEST(rb_io)) { rb_raise(rb_eArgError, "io cannot be nil"); } + if (RTEST(rb_url)) { c_url = StringValueCStr(rb_url); } + if (RTEST(encoding)) { c_encoding = StringValueCStr(encoding); } + if (RTEST(rb_options)) { c_options = (int)NUM2INT(rb_options); } + + reader = xmlReaderForIO( + (xmlInputReadCallback)noko_io_read, + (xmlInputCloseCallback)noko_io_close, + (void *)rb_io, + c_url, + c_encoding, + c_options + ); + + if (reader == NULL) { + xmlFreeTextReader(reader); + rb_raise(rb_eRuntimeError, "couldn't create a parser"); + } + + rb_reader = TypedData_Wrap_Struct(klass, &xml_text_reader_type, reader); + args[0] = rb_io; + args[1] = rb_url; + args[2] = encoding; + rb_obj_call_init(rb_reader, 3, args); + + return rb_reader; +} + +/* + * call-seq: + * reader.empty_element? # => true or false + * + * Returns true if the current node is empty, otherwise false. + */ +static VALUE +empty_element_p(VALUE self) +{ + xmlTextReaderPtr reader; + + TypedData_Get_Struct(self, xmlTextReader, &xml_text_reader_type, reader); + + if (xmlTextReaderIsEmptyElement(reader)) { + return Qtrue; + } + + return Qfalse; +} + +static VALUE +rb_xml_reader_encoding(VALUE rb_reader) +{ + xmlTextReaderPtr c_reader; + const char *parser_encoding; + VALUE constructor_encoding; + + TypedData_Get_Struct(rb_reader, xmlTextReader, &xml_text_reader_type, c_reader); + parser_encoding = (const char *)xmlTextReaderConstEncoding(c_reader); + if (parser_encoding) { + return NOKOGIRI_STR_NEW2(parser_encoding); + } + + constructor_encoding = rb_iv_get(rb_reader, "@encoding"); + if (RTEST(constructor_encoding)) { + return constructor_encoding; + } + + return Qnil; +} + +void +noko_init_xml_reader(void) +{ + cNokogiriXmlReader = rb_define_class_under(mNokogiriXml, "Reader", rb_cObject); + + rb_undef_alloc_func(cNokogiriXmlReader); + + rb_define_singleton_method(cNokogiriXmlReader, "from_memory", from_memory, -1); + rb_define_singleton_method(cNokogiriXmlReader, "from_io", from_io, -1); + + rb_define_method(cNokogiriXmlReader, "attribute", reader_attribute, 1); + rb_define_method(cNokogiriXmlReader, "attribute_at", attribute_at, 1); + rb_define_method(cNokogiriXmlReader, "attribute_count", attribute_count, 0); + rb_define_method(cNokogiriXmlReader, "attribute_hash", rb_xml_reader_attribute_hash, 0); + rb_define_method(cNokogiriXmlReader, "attributes?", attributes_eh, 0); + rb_define_method(cNokogiriXmlReader, "base_uri", rb_xml_reader_base_uri, 0); + rb_define_method(cNokogiriXmlReader, "default?", default_eh, 0); + rb_define_method(cNokogiriXmlReader, "depth", depth, 0); + rb_define_method(cNokogiriXmlReader, "empty_element?", empty_element_p, 0); + rb_define_method(cNokogiriXmlReader, "encoding", rb_xml_reader_encoding, 0); + rb_define_method(cNokogiriXmlReader, "inner_xml", inner_xml, 0); + rb_define_method(cNokogiriXmlReader, "lang", lang, 0); + rb_define_method(cNokogiriXmlReader, "local_name", local_name, 0); + rb_define_method(cNokogiriXmlReader, "name", name, 0); + rb_define_method(cNokogiriXmlReader, "namespace_uri", namespace_uri, 0); + rb_define_method(cNokogiriXmlReader, "namespaces", rb_xml_reader_namespaces, 0); + rb_define_method(cNokogiriXmlReader, "node_type", node_type, 0); + rb_define_method(cNokogiriXmlReader, "outer_xml", outer_xml, 0); + rb_define_method(cNokogiriXmlReader, "prefix", prefix, 0); + rb_define_method(cNokogiriXmlReader, "read", read_more, 0); + rb_define_method(cNokogiriXmlReader, "state", state, 0); + rb_define_method(cNokogiriXmlReader, "value", value, 0); + rb_define_method(cNokogiriXmlReader, "value?", value_eh, 0); + rb_define_method(cNokogiriXmlReader, "xml_version", xml_version, 0); +} diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_relax_ng.c b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_relax_ng.c new file mode 100644 index 0000000..07b0567 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_relax_ng.c @@ -0,0 +1,149 @@ +#include + +VALUE cNokogiriXmlRelaxNG; + +static void +_noko_xml_relax_ng_deallocate(void *data) +{ + xmlRelaxNGPtr schema = data; + xmlRelaxNGFree(schema); +} + +static const rb_data_type_t xml_relax_ng_type = { + .wrap_struct_name = "xmlRelaxNG", + .function = { + .dfree = _noko_xml_relax_ng_deallocate, + }, + .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED, +}; + +static VALUE +noko_xml_relax_ng__validate_document(VALUE self, VALUE document) +{ + xmlDocPtr doc; + xmlRelaxNGPtr schema; + VALUE errors; + xmlRelaxNGValidCtxtPtr valid_ctxt; + + TypedData_Get_Struct(self, xmlRelaxNG, &xml_relax_ng_type, schema); + doc = noko_xml_document_unwrap(document); + + errors = rb_ary_new(); + + valid_ctxt = xmlRelaxNGNewValidCtxt(schema); + + if (NULL == valid_ctxt) { + /* we have a problem */ + rb_raise(rb_eRuntimeError, "Could not create a validation context"); + } + + xmlRelaxNGSetValidStructuredErrors( + valid_ctxt, + noko__error_array_pusher, + (void *)errors + ); + + xmlRelaxNGValidateDoc(valid_ctxt, doc); + + xmlRelaxNGFreeValidCtxt(valid_ctxt); + + return errors; +} + +static VALUE +_noko_xml_relax_ng_parse_schema( + VALUE rb_class, + xmlRelaxNGParserCtxtPtr c_parser_context, + VALUE rb_parse_options +) +{ + VALUE rb_errors; + VALUE rb_schema; + xmlRelaxNGPtr c_schema; + libxmlStructuredErrorHandlerState handler_state; + + if (NIL_P(rb_parse_options)) { + rb_parse_options = rb_const_get_at( + rb_const_get_at(mNokogiriXml, rb_intern("ParseOptions")), + rb_intern("DEFAULT_SCHEMA") + ); + } + + rb_errors = rb_ary_new(); + + noko__structured_error_func_save_and_set(&handler_state, (void *)rb_errors, noko__error_array_pusher); + xmlRelaxNGSetParserStructuredErrors( + c_parser_context, + noko__error_array_pusher, + (void *)rb_errors + ); + + c_schema = xmlRelaxNGParse(c_parser_context); + + xmlRelaxNGFreeParserCtxt(c_parser_context); + noko__structured_error_func_restore(&handler_state); + + if (NULL == c_schema) { + VALUE exception = rb_funcall(cNokogiriXmlSyntaxError, rb_intern("aggregate"), 1, rb_errors); + + if (RB_TEST(exception)) { + rb_exc_raise(exception); + } else { + rb_raise(rb_eRuntimeError, "Could not parse document"); + } + } + + rb_schema = TypedData_Wrap_Struct(rb_class, &xml_relax_ng_type, c_schema); + rb_iv_set(rb_schema, "@errors", rb_errors); + rb_iv_set(rb_schema, "@parse_options", rb_parse_options); + + return rb_schema; +} + +/* + * :call-seq: + * from_document(document) → Nokogiri::XML::RelaxNG + * from_document(document, parse_options) → Nokogiri::XML::RelaxNG + * + * Parse a RELAX NG schema definition from a Document to create a new Nokogiri::XML::RelaxNG. + * + * [Parameters] + * - +document+ (XML::Document) A document containing the RELAX NG schema definition + * - +parse_options+ (Nokogiri::XML::ParseOptions) + * Defaults to ParseOptions::DEFAULT_SCHEMA ⚠ Unused + * + * [Returns] Nokogiri::XML::RelaxNG + * + * ⚠ +parse_options+ is currently unused by this method and is present only as a placeholder for + * future functionality. + */ +static VALUE +noko_xml_relax_ng_s_from_document(int argc, VALUE *argv, VALUE rb_class) +{ + /* TODO: deprecate this method and put file-or-string logic into .new so that becomes the + * preferred entry point, and this can become a private method */ + VALUE rb_document; + VALUE rb_parse_options; + xmlDocPtr c_document; + xmlRelaxNGParserCtxtPtr c_parser_context; + + rb_scan_args(argc, argv, "11", &rb_document, &rb_parse_options); + + c_document = noko_xml_document_unwrap(rb_document); + c_document = c_document->doc; /* In case someone passes us a node. ugh. */ + + c_parser_context = xmlRelaxNGNewDocParserCtxt(c_document); + + return _noko_xml_relax_ng_parse_schema(rb_class, c_parser_context, rb_parse_options); +} + +void +noko_init_xml_relax_ng(void) +{ + assert(cNokogiriXmlSchema); + cNokogiriXmlRelaxNG = rb_define_class_under(mNokogiriXml, "RelaxNG", cNokogiriXmlSchema); + + rb_define_singleton_method(cNokogiriXmlRelaxNG, "from_document", noko_xml_relax_ng_s_from_document, -1); + + rb_define_private_method(cNokogiriXmlRelaxNG, "validate_document", noko_xml_relax_ng__validate_document, 1); +} diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_sax_parser.c b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_sax_parser.c new file mode 100644 index 0000000..ec2d2ad --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_sax_parser.c @@ -0,0 +1,403 @@ +#include + +VALUE cNokogiriXmlSaxParser ; + +static ID id_start_document; +static ID id_end_document; +static ID id_start_element; +static ID id_end_element; +static ID id_start_element_namespace; +static ID id_end_element_namespace; +static ID id_comment; +static ID id_characters; +static ID id_xmldecl; +static ID id_error; +static ID id_warning; +static ID id_cdata_block; +static ID id_processing_instruction; +static ID id_reference; + +static size_t +xml_sax_parser_memsize(const void *data) +{ + return sizeof(xmlSAXHandler); +} + +/* Used by Nokogiri::XML::SAX::Parser and Nokogiri::HTML::SAX::Parser */ +static const rb_data_type_t xml_sax_parser_type = { + .wrap_struct_name = "xmlSAXHandler", + .function = { + .dfree = RUBY_TYPED_DEFAULT_FREE, + .dsize = xml_sax_parser_memsize + }, + .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED +}; + +static void +noko_xml_sax_parser_start_document_callback(void *ctx) +{ + xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr)ctx; + VALUE self = (VALUE)ctxt->_private; + VALUE doc = rb_iv_get(self, "@document"); + + xmlSAX2StartDocument(ctx); + + if (ctxt->standalone != -1) { /* -1 means there was no declaration */ + VALUE encoding = Qnil ; + VALUE standalone = Qnil; + VALUE version; + + if (ctxt->encoding) { + encoding = NOKOGIRI_STR_NEW2(ctxt->encoding) ; + } else if (ctxt->input && ctxt->input->encoding) { // unnecessary after v2.12.0 / gnome/libxml2@ec7be506 + encoding = NOKOGIRI_STR_NEW2(ctxt->input->encoding) ; + } + + version = ctxt->version ? NOKOGIRI_STR_NEW2(ctxt->version) : Qnil; + + /* TODO try using xmlSAX2IsStandalone */ + switch (ctxt->standalone) { + case 0: + standalone = NOKOGIRI_STR_NEW2("no"); + break; + case 1: + standalone = NOKOGIRI_STR_NEW2("yes"); + break; + } + + rb_funcall(doc, id_xmldecl, 3, version, encoding, standalone); + } + + rb_funcall(doc, id_start_document, 0); +} + +static void +noko_xml_sax_parser_end_document_callback(void *ctx) +{ + xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr)ctx; + VALUE self = (VALUE)ctxt->_private; + VALUE doc = rb_iv_get(self, "@document"); + + rb_funcall(doc, id_end_document, 0); +} + +static void +noko_xml_sax_parser_start_element_callback(void *ctx, const xmlChar *name, const xmlChar **atts) +{ + xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr)ctx; + VALUE self = (VALUE)ctxt->_private; + VALUE doc = rb_iv_get(self, "@document"); + + VALUE attributes = rb_ary_new(); + const xmlChar *attr; + int i = 0; + if (atts) { + while ((attr = atts[i]) != NULL) { + const xmlChar *val = atts[i + 1]; + VALUE value = val != NULL ? NOKOGIRI_STR_NEW2(val) : Qnil; + rb_ary_push(attributes, rb_ary_new3(2, NOKOGIRI_STR_NEW2(attr), value)); + i += 2; + } + } + + rb_funcall(doc, + id_start_element, + 2, + NOKOGIRI_STR_NEW2(name), + attributes + ); +} + +static void +noko_xml_sax_parser_end_element_callback(void *ctx, const xmlChar *name) +{ + xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr)ctx; + VALUE self = (VALUE)ctxt->_private; + VALUE doc = rb_iv_get(self, "@document"); + + rb_funcall(doc, id_end_element, 1, NOKOGIRI_STR_NEW2(name)); +} + +static VALUE +xml_sax_parser_marshal_attributes(int attributes_len, const xmlChar **c_attributes) +{ + VALUE rb_array = rb_ary_new2((long)attributes_len); + VALUE cNokogiriXmlSaxParserAttribute; + + cNokogiriXmlSaxParserAttribute = rb_const_get_at(cNokogiriXmlSaxParser, rb_intern("Attribute")); + if (c_attributes) { + /* Each attribute is an array of [localname, prefix, URI, value, end] */ + int i; + for (i = 0; i < attributes_len * 5; i += 5) { + VALUE rb_constructor_args[4], rb_attribute; + + rb_constructor_args[0] = RBSTR_OR_QNIL(c_attributes[i + 0]); /* localname */ + rb_constructor_args[1] = RBSTR_OR_QNIL(c_attributes[i + 1]); /* prefix */ + rb_constructor_args[2] = RBSTR_OR_QNIL(c_attributes[i + 2]); /* URI */ + + /* value */ + rb_constructor_args[3] = NOKOGIRI_STR_NEW((const char *)c_attributes[i + 3], + (c_attributes[i + 4] - c_attributes[i + 3])); + + rb_attribute = rb_class_new_instance(4, rb_constructor_args, cNokogiriXmlSaxParserAttribute); + rb_ary_push(rb_array, rb_attribute); + } + } + + return rb_array; +} + +static void +noko_xml_sax_parser_start_element_ns_callback( + void *ctx, + const xmlChar *localname, + const xmlChar *prefix, + const xmlChar *uri, + int nb_namespaces, + const xmlChar **namespaces, + int nb_attributes, + int nb_defaulted, + const xmlChar **attributes) +{ + xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr)ctx; + VALUE self = (VALUE)ctxt->_private; + VALUE doc = rb_iv_get(self, "@document"); + + VALUE attribute_ary = xml_sax_parser_marshal_attributes(nb_attributes, attributes); + + VALUE ns_list = rb_ary_new2((long)nb_namespaces); + + if (namespaces) { + int i; + for (i = 0; i < nb_namespaces * 2; i += 2) { + rb_ary_push(ns_list, + rb_ary_new3((long)2, + RBSTR_OR_QNIL(namespaces[i + 0]), + RBSTR_OR_QNIL(namespaces[i + 1]) + ) + ); + } + } + + rb_funcall(doc, + id_start_element_namespace, + 5, + NOKOGIRI_STR_NEW2(localname), + attribute_ary, + RBSTR_OR_QNIL(prefix), + RBSTR_OR_QNIL(uri), + ns_list + ); +} + +/** + * end_element_ns was borrowed heavily from libxml-ruby. + */ +static void +noko_xml_sax_parser_end_element_ns_callback( + void *ctx, + const xmlChar *localname, + const xmlChar *prefix, + const xmlChar *uri) +{ + xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr)ctx; + VALUE self = (VALUE)ctxt->_private; + VALUE doc = rb_iv_get(self, "@document"); + + rb_funcall(doc, id_end_element_namespace, 3, + NOKOGIRI_STR_NEW2(localname), + RBSTR_OR_QNIL(prefix), + RBSTR_OR_QNIL(uri) + ); +} + +static void +noko_xml_sax_parser_characters_callback(void *ctx, const xmlChar *ch, int len) +{ + xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr)ctx; + VALUE self = (VALUE)ctxt->_private; + VALUE doc = rb_iv_get(self, "@document"); + + VALUE str = NOKOGIRI_STR_NEW(ch, len); + rb_funcall(doc, id_characters, 1, str); +} + +static void +noko_xml_sax_parser_comment_callback(void *ctx, const xmlChar *value) +{ + xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr)ctx; + VALUE self = (VALUE)ctxt->_private; + VALUE doc = rb_iv_get(self, "@document"); + + VALUE str = NOKOGIRI_STR_NEW2(value); + rb_funcall(doc, id_comment, 1, str); +} + +PRINTFLIKE_DECL(2, 3) +static void +noko_xml_sax_parser_warning_callback(void *ctx, const char *msg, ...) +{ + xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr)ctx; + VALUE self = (VALUE)ctxt->_private; + VALUE doc = rb_iv_get(self, "@document"); + + VALUE rb_message; + +#ifdef TRUFFLERUBY_NOKOGIRI_SYSTEM_LIBRARIES + /* It is not currently possible to pass var args from native + functions to sulong, so we work around the issue here. */ + rb_message = rb_sprintf("warning_func: %s", msg); +#else + va_list args; + va_start(args, msg); + rb_message = rb_vsprintf(msg, args); + va_end(args); +#endif + + rb_funcall(doc, id_warning, 1, rb_message); +} + +PRINTFLIKE_DECL(2, 3) +static void +noko_xml_sax_parser_error_callback(void *ctx, const char *msg, ...) +{ + xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr)ctx; + VALUE self = (VALUE)ctxt->_private; + VALUE doc = rb_iv_get(self, "@document"); + + VALUE rb_message; + +#ifdef TRUFFLERUBY_NOKOGIRI_SYSTEM_LIBRARIES + /* It is not currently possible to pass var args from native + functions to sulong, so we work around the issue here. */ + rb_message = rb_sprintf("error_func: %s", msg); +#else + va_list args; + va_start(args, msg); + rb_message = rb_vsprintf(msg, args); + va_end(args); +#endif + + rb_funcall(doc, id_error, 1, rb_message); +} + +static void +noko_xml_sax_parser_cdata_block_callback(void *ctx, const xmlChar *value, int len) +{ + xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr)ctx; + VALUE self = (VALUE)ctxt->_private; + VALUE doc = rb_iv_get(self, "@document"); + + VALUE string = NOKOGIRI_STR_NEW(value, len); + rb_funcall(doc, id_cdata_block, 1, string); +} + +static void +noko_xml_sax_parser_processing_instruction_callback(void *ctx, const xmlChar *name, const xmlChar *content) +{ + xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr)ctx; + VALUE self = (VALUE)ctxt->_private; + VALUE doc = rb_iv_get(self, "@document"); + + VALUE rb_content = content ? NOKOGIRI_STR_NEW2(content) : Qnil; + + rb_funcall(doc, + id_processing_instruction, + 2, + NOKOGIRI_STR_NEW2(name), + rb_content + ); +} + +static void +noko_xml_sax_parser_reference_callback(void *ctx, const xmlChar *name) +{ + xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr)ctx; + xmlEntityPtr entity = xmlSAX2GetEntity(ctxt, name); + + VALUE self = (VALUE)ctxt->_private; + VALUE doc = rb_iv_get(self, "@document"); + + if (entity && entity->content) { + rb_funcall(doc, id_reference, 2, NOKOGIRI_STR_NEW2(entity->name), NOKOGIRI_STR_NEW2(entity->content)); + } else { + rb_funcall(doc, id_reference, 2, NOKOGIRI_STR_NEW2(name), Qnil); + } +} + +static VALUE +noko_xml_sax_parser__initialize_native(VALUE self) +{ + xmlSAXHandlerPtr handler = noko_xml_sax_parser_unwrap(self); + + handler->startDocument = noko_xml_sax_parser_start_document_callback; + handler->endDocument = noko_xml_sax_parser_end_document_callback; + handler->startElement = noko_xml_sax_parser_start_element_callback; + handler->endElement = noko_xml_sax_parser_end_element_callback; + handler->startElementNs = noko_xml_sax_parser_start_element_ns_callback; + handler->endElementNs = noko_xml_sax_parser_end_element_ns_callback; + handler->characters = noko_xml_sax_parser_characters_callback; + handler->comment = noko_xml_sax_parser_comment_callback; + handler->warning = noko_xml_sax_parser_warning_callback; + handler->error = noko_xml_sax_parser_error_callback; + handler->cdataBlock = noko_xml_sax_parser_cdata_block_callback; + handler->processingInstruction = noko_xml_sax_parser_processing_instruction_callback; + handler->reference = noko_xml_sax_parser_reference_callback; + + /* use some of libxml2's default callbacks to managed DTDs and entities */ + handler->getEntity = xmlSAX2GetEntity; + handler->internalSubset = xmlSAX2InternalSubset; + handler->externalSubset = xmlSAX2ExternalSubset; + handler->isStandalone = xmlSAX2IsStandalone; + handler->hasInternalSubset = xmlSAX2HasInternalSubset; + handler->hasExternalSubset = xmlSAX2HasExternalSubset; + handler->resolveEntity = xmlSAX2ResolveEntity; + handler->getParameterEntity = xmlSAX2GetParameterEntity; + handler->entityDecl = xmlSAX2EntityDecl; + handler->unparsedEntityDecl = xmlSAX2UnparsedEntityDecl; + + handler->initialized = XML_SAX2_MAGIC; + + return self; +} + +static VALUE +noko_xml_sax_parser_allocate(VALUE klass) +{ + xmlSAXHandlerPtr handler; + return TypedData_Make_Struct(klass, xmlSAXHandler, &xml_sax_parser_type, handler); +} + +xmlSAXHandlerPtr +noko_xml_sax_parser_unwrap(VALUE rb_sax_handler) +{ + xmlSAXHandlerPtr c_sax_handler; + TypedData_Get_Struct(rb_sax_handler, xmlSAXHandler, &xml_sax_parser_type, c_sax_handler); + return c_sax_handler; +} + +void +noko_init_xml_sax_parser(void) +{ + cNokogiriXmlSaxParser = rb_define_class_under(mNokogiriXmlSax, "Parser", rb_cObject); + + rb_define_alloc_func(cNokogiriXmlSaxParser, noko_xml_sax_parser_allocate); + + rb_define_private_method(cNokogiriXmlSaxParser, "initialize_native", + noko_xml_sax_parser__initialize_native, 0); + + id_start_document = rb_intern("start_document"); + id_end_document = rb_intern("end_document"); + id_start_element = rb_intern("start_element"); + id_end_element = rb_intern("end_element"); + id_comment = rb_intern("comment"); + id_characters = rb_intern("characters"); + id_xmldecl = rb_intern("xmldecl"); + id_error = rb_intern("error"); + id_warning = rb_intern("warning"); + id_cdata_block = rb_intern("cdata_block"); + id_start_element_namespace = rb_intern("start_element_namespace"); + id_end_element_namespace = rb_intern("end_element_namespace"); + id_processing_instruction = rb_intern("processing_instruction"); + id_reference = rb_intern("reference"); +} diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_sax_parser_context.c b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_sax_parser_context.c new file mode 100644 index 0000000..0d2b65b --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_sax_parser_context.c @@ -0,0 +1,396 @@ +#include + +VALUE cNokogiriXmlSaxParserContext ; + +static ID id_read; + +static void +xml_sax_parser_context_type_free(void *data) +{ + xmlParserCtxtPtr ctxt = data; + ctxt->sax = NULL; + if (ctxt->myDoc) { + xmlFreeDoc(ctxt->myDoc); + } + if (ctxt) { + xmlFreeParserCtxt(ctxt); + } +} + +/* + * note that htmlParserCtxtPtr == xmlParserCtxtPtr and xmlFreeParserCtxt() == htmlFreeParserCtxt() + * so we use this type for both XML::SAX::ParserContext and HTML::SAX::ParserContext + */ +static const rb_data_type_t xml_sax_parser_context_type = { + .wrap_struct_name = "xmlParserCtxt", + .function = { + .dfree = xml_sax_parser_context_type_free, + }, + .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED, +}; + +xmlParserCtxtPtr +noko_xml_sax_parser_context_unwrap(VALUE rb_context) +{ + xmlParserCtxtPtr c_context; + TypedData_Get_Struct(rb_context, xmlParserCtxt, &xml_sax_parser_context_type, c_context); + return c_context; +} + +VALUE +noko_xml_sax_parser_context_wrap(VALUE klass, xmlParserCtxtPtr c_context) +{ + return TypedData_Wrap_Struct(klass, &xml_sax_parser_context_type, c_context); +} + +void +noko_xml_sax_parser_context_set_encoding(xmlParserCtxtPtr c_context, VALUE rb_encoding) +{ + if (!NIL_P(rb_encoding)) { + VALUE rb_encoding_name = rb_funcall(rb_encoding, rb_intern("name"), 0); + + char *encoding_name = StringValueCStr(rb_encoding_name); + if (encoding_name) { + libxmlStructuredErrorHandlerState handler_state; + VALUE rb_errors = rb_ary_new(); + + noko__structured_error_func_save_and_set(&handler_state, (void *)rb_errors, noko__error_array_pusher); + + int result = xmlSwitchEncodingName(c_context, encoding_name); + + noko__structured_error_func_restore(&handler_state); + + if (result != 0) { + xmlFreeParserCtxt(c_context); + + VALUE exception = rb_funcall(cNokogiriXmlSyntaxError, rb_intern("aggregate"), 1, rb_errors); + if (!NIL_P(exception)) { + rb_exc_raise(exception); + } else { + rb_raise(rb_eRuntimeError, "could not set encoding"); + } + } + } + } +} + +/* :nodoc: */ +static VALUE +noko_xml_sax_parser_context_s_native_io(VALUE rb_class, VALUE rb_io, VALUE rb_encoding) +{ + if (!rb_respond_to(rb_io, id_read)) { + rb_raise(rb_eTypeError, "argument expected to respond to :read"); + } + + if (!NIL_P(rb_encoding) && !rb_obj_is_kind_of(rb_encoding, rb_cEncoding)) { + rb_raise(rb_eTypeError, "argument must be an Encoding object"); + } + + xmlParserCtxtPtr c_context = + xmlCreateIOParserCtxt(NULL, NULL, + (xmlInputReadCallback)noko_io_read, + (xmlInputCloseCallback)noko_io_close, + (void *)rb_io, XML_CHAR_ENCODING_NONE); + if (!c_context) { + rb_raise(rb_eRuntimeError, "failed to create xml sax parser context"); + } + + noko_xml_sax_parser_context_set_encoding(c_context, rb_encoding); + + if (c_context->sax) { + xmlFree(c_context->sax); + c_context->sax = NULL; + } + + VALUE rb_context = noko_xml_sax_parser_context_wrap(rb_class, c_context); + rb_iv_set(rb_context, "@input", rb_io); + + return rb_context; +} + +/* :nodoc: */ +static VALUE +noko_xml_sax_parser_context_s_native_file(VALUE rb_class, VALUE rb_path, VALUE rb_encoding) +{ + if (!NIL_P(rb_encoding) && !rb_obj_is_kind_of(rb_encoding, rb_cEncoding)) { + rb_raise(rb_eTypeError, "argument must be an Encoding object"); + } + + xmlParserCtxtPtr c_context = xmlCreateFileParserCtxt(StringValueCStr(rb_path)); + if (!c_context) { + rb_raise(rb_eRuntimeError, "failed to create xml sax parser context"); + } + + noko_xml_sax_parser_context_set_encoding(c_context, rb_encoding); + + if (c_context->sax) { + xmlFree(c_context->sax); + c_context->sax = NULL; + } + + return noko_xml_sax_parser_context_wrap(rb_class, c_context); +} + +/* :nodoc: */ +static VALUE +noko_xml_sax_parser_context_s_native_memory(VALUE rb_class, VALUE rb_input, VALUE rb_encoding) +{ + Check_Type(rb_input, T_STRING); + if (!(int)RSTRING_LEN(rb_input)) { + rb_raise(rb_eRuntimeError, "input string cannot be empty"); + } + + if (!NIL_P(rb_encoding) && !rb_obj_is_kind_of(rb_encoding, rb_cEncoding)) { + rb_raise(rb_eTypeError, "argument must be an Encoding object"); + } + + xmlParserCtxtPtr c_context = + xmlCreateMemoryParserCtxt(StringValuePtr(rb_input), (int)RSTRING_LEN(rb_input)); + if (!c_context) { + rb_raise(rb_eRuntimeError, "failed to create xml sax parser context"); + } + + noko_xml_sax_parser_context_set_encoding(c_context, rb_encoding); + + if (c_context->sax) { + xmlFree(c_context->sax); + c_context->sax = NULL; + } + + VALUE rb_context = noko_xml_sax_parser_context_wrap(rb_class, c_context); + rb_iv_set(rb_context, "@input", rb_input); + + return rb_context; +} + +/* + * call-seq: + * parse_with(sax_handler) + * + * Use +sax_handler+ and parse the current document + * + * 💡 Calling this method directly is discouraged. Use Nokogiri::XML::SAX::Parser methods which are + * more convenient for most use cases. + */ +static VALUE +noko_xml_sax_parser_context__parse_with(VALUE rb_context, VALUE rb_sax_parser) +{ + xmlParserCtxtPtr c_context; + xmlSAXHandlerPtr sax; + + if (!rb_obj_is_kind_of(rb_sax_parser, cNokogiriXmlSaxParser)) { + rb_raise(rb_eArgError, "argument must be a Nokogiri::XML::SAX::Parser"); + } + + c_context = noko_xml_sax_parser_context_unwrap(rb_context); + sax = noko_xml_sax_parser_unwrap(rb_sax_parser); + + c_context->sax = sax; + c_context->userData = c_context; /* so we can use libxml2/SAX2.c handlers if we want to */ + c_context->_private = (void *)rb_sax_parser; + + xmlSetStructuredErrorFunc(NULL, NULL); + + /* although we're calling back into Ruby here, we don't need to worry about exceptions, because we + * don't have any cleanup to do. The only memory we need to free is handled by + * xml_sax_parser_context_type_free */ + xmlParseDocument(c_context); + + return Qnil; +} + +/* + * call-seq: + * replace_entities=(value) + * + * See Document@Entity+Handling for an explanation of the behavior controlled by this flag. + * + * [Parameters] + * - +value+ (Boolean) Whether external parsed entities will be resolved. + * + * ⚠ It is UNSAFE to set this option to +true+ when parsing untrusted documents. The option + * defaults to +false+ for this reason. + * + * This option is perhaps misnamed by the libxml2 author, since it controls resolution and not + * replacement. + * + * [Example] + * Because this class is generally not instantiated directly, you would typically set this option + * via the block argument to Nokogiri::XML::SAX::Parser.parse et al: + * + * parser = Nokogiri::XML::SAX::Parser.new(document_handler) + * parser.parse(xml) do |ctx| + * ctx.replace_entities = true # this is UNSAFE for untrusted documents! + * end + */ +static VALUE +noko_xml_sax_parser_context__replace_entities_set(VALUE rb_context, VALUE rb_value) +{ + int error; + xmlParserCtxtPtr ctxt = noko_xml_sax_parser_context_unwrap(rb_context); + + if (RB_TEST(rb_value)) { + error = xmlCtxtSetOptions(ctxt, xmlCtxtGetOptions(ctxt) | XML_PARSE_NOENT); + } else { + error = xmlCtxtSetOptions(ctxt, xmlCtxtGetOptions(ctxt) & ~XML_PARSE_NOENT); + } + + if (error) { + rb_raise(rb_eRuntimeError, "failed to set parser context options (%x)", error); + } + + return rb_value; +} + +/* + * call-seq: + * replace_entities + * + * See Document@Entity+Handling for an explanation of the behavior controlled by this flag. + * + * [Returns] (Boolean) Value of the parse option. (Default +false+) + * + * This option is perhaps misnamed by the libxml2 author, since it controls resolution and not + * replacement. + */ +static VALUE +noko_xml_sax_parser_context__replace_entities_get(VALUE rb_context) +{ + xmlParserCtxtPtr ctxt = noko_xml_sax_parser_context_unwrap(rb_context); + + if (xmlCtxtGetOptions(ctxt) & XML_PARSE_NOENT) { + return Qtrue; + } else { + return Qfalse; + } +} + +/* + * call-seq: line + * + * [Returns] (Integer) the line number of the line being currently parsed. + */ +static VALUE +noko_xml_sax_parser_context__line(VALUE rb_context) +{ + xmlParserInputPtr io; + xmlParserCtxtPtr ctxt = noko_xml_sax_parser_context_unwrap(rb_context); + + io = ctxt->input; + if (io) { + return INT2NUM(io->line); + } + + return Qnil; +} + +/* + * call-seq: column + * + * [Returns] (Integer) the column number of the column being currently parsed. + */ +static VALUE +noko_xml_sax_parser_context__column(VALUE rb_context) +{ + xmlParserCtxtPtr ctxt = noko_xml_sax_parser_context_unwrap(rb_context); + xmlParserInputPtr io; + + io = ctxt->input; + if (io) { + return INT2NUM(io->col); + } + + return Qnil; +} + +/* + * call-seq: + * recovery=(value) + * + * Controls whether this parser will recover from parsing errors. If set to +true+, the parser will + * invoke the SAX::Document#error callback and continue processing the file. If set to +false+, the + * parser will stop processing the file on the first parsing error. + * + * [Parameters] + * - +value+ (Boolean) Recover from parsing errors. (Default is +false+ for XML and +true+ for HTML.) + * + * [Returns] (Boolean) The passed +value+. + * + * [Example] + * Because this class is generally not instantiated directly, you would typically set this option + * via the block argument to Nokogiri::XML::SAX::Parser.parse et al: + * + * parser = Nokogiri::XML::SAX::Parser.new(document_handler) + * parser.parse(xml) do |ctx| + * ctx.recovery = true + * end + */ +static VALUE +noko_xml_sax_parser_context__recovery_set(VALUE rb_context, VALUE rb_value) +{ + int error; + xmlParserCtxtPtr ctxt = noko_xml_sax_parser_context_unwrap(rb_context); + + if (RB_TEST(rb_value)) { + error = xmlCtxtSetOptions(ctxt, xmlCtxtGetOptions(ctxt) | XML_PARSE_RECOVER); + } else { + error = xmlCtxtSetOptions(ctxt, xmlCtxtGetOptions(ctxt) & ~XML_PARSE_RECOVER); + } + + if (error) { + rb_raise(rb_eRuntimeError, "failed to set parser context options (%x)", error); + } + + return rb_value; +} + +/* + * call-seq: + * recovery + * + * Inspect whether this parser will recover from parsing errors. If set to +true+, the parser will + * invoke the SAX::Document#error callback and continue processing the file. If set to +false+, the + * parser will stop processing the file on the first parsing error. + * + * [Returns] (Boolean) Whether this parser will recover from parsing errors. + * + * Default is +false+ for XML and +true+ for HTML. + */ +static VALUE +noko_xml_sax_parser_context__recovery_get(VALUE rb_context) +{ + xmlParserCtxtPtr ctxt = noko_xml_sax_parser_context_unwrap(rb_context); + + if (xmlCtxtGetOptions(ctxt) & XML_PARSE_RECOVER) { + return Qtrue; + } else { + return Qfalse; + } +} + +void +noko_init_xml_sax_parser_context(void) +{ + cNokogiriXmlSaxParserContext = rb_define_class_under(mNokogiriXmlSax, "ParserContext", rb_cObject); + + rb_undef_alloc_func(cNokogiriXmlSaxParserContext); + + rb_define_singleton_method(cNokogiriXmlSaxParserContext, "native_io", + noko_xml_sax_parser_context_s_native_io, 2); + rb_define_singleton_method(cNokogiriXmlSaxParserContext, "native_memory", + noko_xml_sax_parser_context_s_native_memory, 2); + rb_define_singleton_method(cNokogiriXmlSaxParserContext, "native_file", + noko_xml_sax_parser_context_s_native_file, 2); + + rb_define_method(cNokogiriXmlSaxParserContext, "parse_with", noko_xml_sax_parser_context__parse_with, 1); + rb_define_method(cNokogiriXmlSaxParserContext, "replace_entities=", + noko_xml_sax_parser_context__replace_entities_set, 1); + rb_define_method(cNokogiriXmlSaxParserContext, "replace_entities", + noko_xml_sax_parser_context__replace_entities_get, 0); + rb_define_method(cNokogiriXmlSaxParserContext, "recovery=", noko_xml_sax_parser_context__recovery_set, 1); + rb_define_method(cNokogiriXmlSaxParserContext, "recovery", noko_xml_sax_parser_context__recovery_get, 0); + rb_define_method(cNokogiriXmlSaxParserContext, "line", noko_xml_sax_parser_context__line, 0); + rb_define_method(cNokogiriXmlSaxParserContext, "column", noko_xml_sax_parser_context__column, 0); + + id_read = rb_intern("read"); +} diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_sax_push_parser.c b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_sax_push_parser.c new file mode 100644 index 0000000..e6bffbf --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_sax_push_parser.c @@ -0,0 +1,206 @@ +#include + +VALUE cNokogiriXmlSaxPushParser ; + +static void +xml_sax_push_parser_free(void *data) +{ + xmlParserCtxtPtr ctx = data; + if (ctx->myDoc) { + xmlFreeDoc(ctx->myDoc); + } + if (ctx) { + xmlFreeParserCtxt(ctx); + } +} + +static const rb_data_type_t xml_sax_push_parser_type = { + .wrap_struct_name = "xmlParserCtxt", + .function = { + .dfree = xml_sax_push_parser_free, + }, + .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED, +}; + +static VALUE +xml_sax_push_parser_allocate(VALUE klass) +{ + return TypedData_Wrap_Struct(klass, &xml_sax_push_parser_type, NULL); +} + +xmlParserCtxtPtr +noko_xml_sax_push_parser_unwrap(VALUE rb_parser) +{ + xmlParserCtxtPtr c_parser; + TypedData_Get_Struct(rb_parser, xmlParserCtxt, &xml_sax_push_parser_type, c_parser); + return c_parser; +} + +/* + * Write +chunk+ to PushParser. +last_chunk+ triggers the end_document handle + */ +static VALUE +noko_xml_sax_push_parser__native_write(VALUE self, VALUE _chunk, VALUE _last_chunk) +{ + xmlParserCtxtPtr ctx; + const char *chunk = NULL; + int size = 0; + + ctx = noko_xml_sax_push_parser_unwrap(self); + + if (Qnil != _chunk) { + chunk = StringValuePtr(_chunk); + size = (int)RSTRING_LEN(_chunk); + } + + xmlSetStructuredErrorFunc(NULL, NULL); + + if (xmlParseChunk(ctx, chunk, size, Qtrue == _last_chunk ? 1 : 0)) { + if (!(xmlCtxtGetOptions(ctx) & XML_PARSE_RECOVER)) { + xmlErrorConstPtr e = xmlCtxtGetLastError(ctx); + noko__error_raise(NULL, e); + } + } + + return self; +} + +/* + * call-seq: + * initialize_native(xml_sax, filename) + * + * Initialize the push parser with +xml_sax+ using +filename+ + */ +static VALUE +noko_xml_sax_push_parser__initialize_native(VALUE self, VALUE _xml_sax, VALUE _filename) +{ + xmlSAXHandlerPtr sax; + const char *filename = NULL; + xmlParserCtxtPtr ctx; + + sax = noko_xml_sax_parser_unwrap(_xml_sax); + + if (_filename != Qnil) { filename = StringValueCStr(_filename); } + + ctx = xmlCreatePushParserCtxt( + sax, + NULL, + NULL, + 0, + filename + ); + if (ctx == NULL) { + rb_raise(rb_eRuntimeError, "Could not create a parser context"); + } + + ctx->userData = ctx; + ctx->_private = (void *)_xml_sax; + + DATA_PTR(self) = ctx; + return self; +} + +static VALUE +noko_xml_sax_push_parser__options_get(VALUE self) +{ + xmlParserCtxtPtr ctx; + + ctx = noko_xml_sax_push_parser_unwrap(self); + + return INT2NUM(xmlCtxtGetOptions(ctx)); +} + +static VALUE +noko_xml_sax_push_parser__options_set(VALUE self, VALUE options) +{ + int error; + xmlParserCtxtPtr ctx; + + ctx = noko_xml_sax_push_parser_unwrap(self); + + error = xmlCtxtSetOptions(ctx, (int)NUM2INT(options)); + if (error) { + rb_raise(rb_eRuntimeError, "Cannot set XML parser context options (%x)", error); + } + + return Qnil; +} + +/* + * call-seq: + * replace_entities + * + * See Document@Entity+Handling for an explanation of the behavior controlled by this flag. + * + * [Returns] (Boolean) Value of the parse option. (Default +false+) + * + * This option is perhaps misnamed by the libxml2 author, since it controls resolution and not + * replacement. + */ +static VALUE +noko_xml_sax_push_parser__replace_entities_get(VALUE self) +{ + xmlParserCtxtPtr ctxt = noko_xml_sax_push_parser_unwrap(self); + + if (xmlCtxtGetOptions(ctxt) & XML_PARSE_NOENT) { + return Qtrue; + } else { + return Qfalse; + } +} + +/* + * call-seq: + * replace_entities=(value) + * + * See Document@Entity+Handling for an explanation of the behavior controlled by this flag. + * + * [Parameters] + * - +value+ (Boolean) Whether external parsed entities will be resolved. + * + * ⚠ It is UNSAFE to set this option to +true+ when parsing untrusted documents. The option + * defaults to +false+ for this reason. + * + * This option is perhaps misnamed by the libxml2 author, since it controls resolution and not + * replacement. + */ +static VALUE +noko_xml_sax_push_parser__replace_entities_set(VALUE self, VALUE value) +{ + int error; + xmlParserCtxtPtr ctxt = noko_xml_sax_push_parser_unwrap(self); + + if (RB_TEST(value)) { + error = xmlCtxtSetOptions(ctxt, xmlCtxtGetOptions(ctxt) | XML_PARSE_NOENT); + } else { + error = xmlCtxtSetOptions(ctxt, xmlCtxtGetOptions(ctxt) & ~XML_PARSE_NOENT); + } + + if (error) { + rb_raise(rb_eRuntimeError, "failed to set parser context options (%x)", error); + } + + return value; +} + +void +noko_init_xml_sax_push_parser(void) +{ + cNokogiriXmlSaxPushParser = rb_define_class_under(mNokogiriXmlSax, "PushParser", rb_cObject); + + rb_define_alloc_func(cNokogiriXmlSaxPushParser, xml_sax_push_parser_allocate); + + rb_define_method(cNokogiriXmlSaxPushParser, "options", + noko_xml_sax_push_parser__options_get, 0); + rb_define_method(cNokogiriXmlSaxPushParser, "options=", + noko_xml_sax_push_parser__options_set, 1); + rb_define_method(cNokogiriXmlSaxPushParser, "replace_entities", + noko_xml_sax_push_parser__replace_entities_get, 0); + rb_define_method(cNokogiriXmlSaxPushParser, "replace_entities=", + noko_xml_sax_push_parser__replace_entities_set, 1); + + rb_define_private_method(cNokogiriXmlSaxPushParser, "initialize_native", + noko_xml_sax_push_parser__initialize_native, 2); + rb_define_private_method(cNokogiriXmlSaxPushParser, "native_write", + noko_xml_sax_push_parser__native_write, 2); +} diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_schema.c b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_schema.c new file mode 100644 index 0000000..b2bded9 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_schema.c @@ -0,0 +1,226 @@ +#include + +VALUE cNokogiriXmlSchema; + +static void +xml_schema_deallocate(void *data) +{ + xmlSchemaPtr schema = data; + xmlSchemaFree(schema); +} + +static const rb_data_type_t xml_schema_type = { + .wrap_struct_name = "xmlSchema", + .function = { + .dfree = xml_schema_deallocate, + }, + .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED, +}; + +static VALUE +noko_xml_schema__validate_document(VALUE self, VALUE document) +{ + xmlDocPtr doc; + xmlSchemaPtr schema; + xmlSchemaValidCtxtPtr valid_ctxt; + VALUE errors; + + TypedData_Get_Struct(self, xmlSchema, &xml_schema_type, schema); + doc = noko_xml_document_unwrap(document); + + errors = rb_ary_new(); + + valid_ctxt = xmlSchemaNewValidCtxt(schema); + + if (NULL == valid_ctxt) { + /* we have a problem */ + rb_raise(rb_eRuntimeError, "Could not create a validation context"); + } + + xmlSchemaSetValidStructuredErrors( + valid_ctxt, + noko__error_array_pusher, + (void *)errors + ); + + int status = xmlSchemaValidateDoc(valid_ctxt, doc); + + xmlSchemaFreeValidCtxt(valid_ctxt); + + if (status != 0) { + if (RARRAY_LEN(errors) == 0) { + rb_ary_push(errors, rb_str_new2("Could not validate document")); + } + } + + return errors; +} + +static VALUE +noko_xml_schema__validate_file(VALUE self, VALUE rb_filename) +{ + xmlSchemaPtr schema; + xmlSchemaValidCtxtPtr valid_ctxt; + const char *filename ; + VALUE errors; + + TypedData_Get_Struct(self, xmlSchema, &xml_schema_type, schema); + filename = (const char *)StringValueCStr(rb_filename) ; + + errors = rb_ary_new(); + + valid_ctxt = xmlSchemaNewValidCtxt(schema); + + if (NULL == valid_ctxt) { + /* we have a problem */ + rb_raise(rb_eRuntimeError, "Could not create a validation context"); + } + + xmlSchemaSetValidStructuredErrors( + valid_ctxt, + noko__error_array_pusher, + (void *)errors + ); + + int status = xmlSchemaValidateFile(valid_ctxt, filename, 0); + + xmlSchemaFreeValidCtxt(valid_ctxt); + + if (status != 0) { + if (RARRAY_LEN(errors) == 0) { + rb_ary_push(errors, rb_str_new2("Could not validate file.")); + } + } + + return errors; +} + +static VALUE +xml_schema_parse_schema( + VALUE rb_class, + xmlSchemaParserCtxtPtr c_parser_context, + VALUE rb_parse_options +) +{ + xmlExternalEntityLoader saved_loader = 0; + libxmlStructuredErrorHandlerState handler_state; + + if (NIL_P(rb_parse_options)) { + rb_parse_options = rb_const_get_at( + rb_const_get_at(mNokogiriXml, rb_intern("ParseOptions")), + rb_intern("DEFAULT_SCHEMA") + ); + } + int c_parse_options = (int)NUM2INT(rb_funcall(rb_parse_options, rb_intern("to_i"), 0)); + + VALUE rb_errors = rb_ary_new(); + noko__structured_error_func_save_and_set(&handler_state, (void *)rb_errors, noko__error_array_pusher); + + xmlSchemaSetParserStructuredErrors( + c_parser_context, + noko__error_array_pusher, + (void *)rb_errors + ); + + if (c_parse_options & XML_PARSE_NONET) { + saved_loader = xmlGetExternalEntityLoader(); + xmlSetExternalEntityLoader(xmlNoNetExternalEntityLoader); + } + + xmlSchemaPtr c_schema = xmlSchemaParse(c_parser_context); + + if (saved_loader) { + xmlSetExternalEntityLoader(saved_loader); + } + + xmlSchemaFreeParserCtxt(c_parser_context); + noko__structured_error_func_restore(&handler_state); + + if (NULL == c_schema) { + VALUE exception = rb_funcall(cNokogiriXmlSyntaxError, rb_intern("aggregate"), 1, rb_errors); + if (RB_TEST(exception)) { + rb_exc_raise(exception); + } else { + rb_raise(rb_eRuntimeError, "Could not parse document"); + } + } + + VALUE rb_schema = TypedData_Wrap_Struct(rb_class, &xml_schema_type, c_schema); + rb_iv_set(rb_schema, "@errors", rb_errors); + rb_iv_set(rb_schema, "@parse_options", rb_parse_options); + + return rb_schema; +} + +/* + * :call-seq: + * from_document(input) → Nokogiri::XML::Schema + * from_document(input, parse_options) → Nokogiri::XML::Schema + * + * Parse an \XSD schema definition from a Document to create a new Nokogiri::XML::Schema + * + * [Parameters] + * - +input+ (XML::Document) A document containing the \XSD schema definition + * - +parse_options+ (Nokogiri::XML::ParseOptions) + * Defaults to Nokogiri::XML::ParseOptions::DEFAULT_SCHEMA + * + * [Returns] Nokogiri::XML::Schema + */ +static VALUE +noko_xml_schema_s_from_document(int argc, VALUE *argv, VALUE rb_class) +{ + /* TODO: deprecate this method and put file-or-string logic into .new so that becomes the + * preferred entry point, and this can become a private method */ + VALUE rb_document; + VALUE rb_parse_options; + VALUE rb_schema; + xmlDocPtr c_document; + xmlSchemaParserCtxtPtr c_parser_context; + int defensive_copy_p = 0; + + rb_scan_args(argc, argv, "11", &rb_document, &rb_parse_options); + + if (!rb_obj_is_kind_of(rb_document, cNokogiriXmlNode)) { + rb_raise(rb_eTypeError, + "expected parameter to be a Nokogiri::XML::Document, received %"PRIsVALUE, + rb_obj_class(rb_document)); + } + + if (!rb_obj_is_kind_of(rb_document, cNokogiriXmlDocument)) { + xmlNodePtr deprecated_node_type_arg; + NOKO_WARN_DEPRECATION("Passing a Node as the first parameter to Schema.from_document is deprecated. Please pass a Document instead. This will become an error in Nokogiri v1.17.0."); // TODO: deprecated in v1.15.3, remove in v1.17.0 + Noko_Node_Get_Struct(rb_document, xmlNode, deprecated_node_type_arg); + c_document = deprecated_node_type_arg->doc; + } else { + c_document = noko_xml_document_unwrap(rb_document); + } + + if (noko_xml_document_has_wrapped_blank_nodes_p(c_document)) { + // see https://github.com/sparklemotion/nokogiri/pull/2001 + c_document = xmlCopyDoc(c_document, 1); + defensive_copy_p = 1; + } + + c_parser_context = xmlSchemaNewDocParserCtxt(c_document); + rb_schema = xml_schema_parse_schema(rb_class, c_parser_context, rb_parse_options); + + if (defensive_copy_p) { + xmlFreeDoc(c_document); + c_document = NULL; + } + + return rb_schema; +} + +void +noko_init_xml_schema(void) +{ + cNokogiriXmlSchema = rb_define_class_under(mNokogiriXml, "Schema", rb_cObject); + + rb_undef_alloc_func(cNokogiriXmlSchema); + + rb_define_singleton_method(cNokogiriXmlSchema, "from_document", noko_xml_schema_s_from_document, -1); + + rb_define_private_method(cNokogiriXmlSchema, "validate_document", noko_xml_schema__validate_document, 1); + rb_define_private_method(cNokogiriXmlSchema, "validate_file", noko_xml_schema__validate_file, 1); +} diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_syntax_error.c b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_syntax_error.c new file mode 100644 index 0000000..d0a3bf8 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_syntax_error.c @@ -0,0 +1,93 @@ +#include + +VALUE cNokogiriXmlSyntaxError; + +void +noko__structured_error_func_save(libxmlStructuredErrorHandlerState *handler_state) +{ + /* this method is tightly coupled to the implementation of xmlSetStructuredErrorFunc */ + handler_state->user_data = xmlStructuredErrorContext; + handler_state->handler = xmlStructuredError; +} + +void +noko__structured_error_func_save_and_set( + libxmlStructuredErrorHandlerState *handler_state, + void *user_data, + xmlStructuredErrorFunc handler +) +{ + noko__structured_error_func_save(handler_state); + xmlSetStructuredErrorFunc(user_data, handler); +} + +void +noko__structured_error_func_restore(libxmlStructuredErrorHandlerState *handler_state) +{ + xmlSetStructuredErrorFunc(handler_state->user_data, handler_state->handler); +} + +void +noko__error_array_pusher(void *ctx, xmlErrorConstPtr error) +{ + VALUE list = (VALUE)ctx; + Check_Type(list, T_ARRAY); + rb_ary_push(list, noko_xml_syntax_error__wrap(error)); +} + +void +noko__error_raise(void *ctx, xmlErrorConstPtr error) +{ + rb_exc_raise(noko_xml_syntax_error__wrap(error)); +} + +VALUE +noko_xml_syntax_error__wrap(xmlErrorConstPtr error) +{ + xmlChar *c_path ; + VALUE msg, e, klass; + + klass = cNokogiriXmlSyntaxError; + + if (error && error->domain == XML_FROM_XPATH) { + klass = cNokogiriXmlXpathSyntaxError; + } + + msg = (error && error->message) ? NOKOGIRI_STR_NEW2(error->message) : Qnil; + + e = rb_class_new_instance( + 1, + &msg, + klass + ); + + if (error) { + c_path = xmlGetNodePath(error->node); + + rb_iv_set(e, "@domain", INT2NUM(error->domain)); + rb_iv_set(e, "@code", INT2NUM(error->code)); + rb_iv_set(e, "@level", INT2NUM((short)error->level)); + rb_iv_set(e, "@file", RBSTR_OR_QNIL(error->file)); + rb_iv_set(e, "@line", INT2NUM(error->line)); + rb_iv_set(e, "@path", RBSTR_OR_QNIL(c_path)); + rb_iv_set(e, "@str1", RBSTR_OR_QNIL(error->str1)); + rb_iv_set(e, "@str2", RBSTR_OR_QNIL(error->str2)); + rb_iv_set(e, "@str3", RBSTR_OR_QNIL(error->str3)); + rb_iv_set(e, "@int1", INT2NUM(error->int1)); + rb_iv_set(e, "@column", INT2NUM(error->int2)); + + xmlFree(c_path); + } + + return e; +} + +void +noko_init_xml_syntax_error(void) +{ + assert(cNokogiriSyntaxError); + /* + * The XML::SyntaxError is raised on parse errors + */ + cNokogiriXmlSyntaxError = rb_define_class_under(mNokogiriXml, "SyntaxError", cNokogiriSyntaxError); +} diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_text.c b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_text.c new file mode 100644 index 0000000..e15de27 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_text.c @@ -0,0 +1,59 @@ +#include + +VALUE cNokogiriXmlText ; + +/* + * call-seq: + * new(content, document) + * + * Create a new Text element on the +document+ with +content+ + */ +static VALUE +rb_xml_text_s_new(int argc, VALUE *argv, VALUE klass) +{ + xmlDocPtr c_document; + xmlNodePtr c_node; + VALUE rb_string; + VALUE rb_document; + VALUE rb_rest; + VALUE rb_node; + + rb_scan_args(argc, argv, "2*", &rb_string, &rb_document, &rb_rest); + + Check_Type(rb_string, T_STRING); + if (!rb_obj_is_kind_of(rb_document, cNokogiriXmlNode)) { + rb_raise(rb_eTypeError, + "expected second parameter to be a Nokogiri::XML::Document, received %"PRIsVALUE, + rb_obj_class(rb_document)); + } + + if (!rb_obj_is_kind_of(rb_document, cNokogiriXmlDocument)) { + xmlNodePtr deprecated_node_type_arg; + NOKO_WARN_DEPRECATION("Passing a Node as the second parameter to Text.new is deprecated. Please pass a Document instead. This will become an error in Nokogiri v1.17.0."); // TODO: deprecated in v1.15.3, remove in v1.17.0 + Noko_Node_Get_Struct(rb_document, xmlNode, deprecated_node_type_arg); + c_document = deprecated_node_type_arg->doc; + } else { + c_document = noko_xml_document_unwrap(rb_document); + } + + c_node = xmlNewDocText(c_document, (xmlChar *)StringValueCStr(rb_string)); + noko_xml_document_pin_node(c_node); + rb_node = noko_xml_node_wrap(klass, c_node) ; + rb_obj_call_init(rb_node, argc, argv); + + if (rb_block_given_p()) { rb_yield(rb_node); } + + return rb_node; +} + +void +noko_init_xml_text(void) +{ + assert(cNokogiriXmlCharacterData); + /* + * Wraps Text nodes. + */ + cNokogiriXmlText = rb_define_class_under(mNokogiriXml, "Text", cNokogiriXmlCharacterData); + + rb_define_singleton_method(cNokogiriXmlText, "new", rb_xml_text_s_new, -1); +} diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_xpath_context.c b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_xpath_context.c new file mode 100644 index 0000000..8f71c2e --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xml_xpath_context.c @@ -0,0 +1,486 @@ +#include + +VALUE cNokogiriXmlXpathContext; + +/* + * these constants have matching declarations in + * ext/java/nokogiri/internals/NokogiriNamespaceContext.java + */ +static const xmlChar *NOKOGIRI_PREFIX = (const xmlChar *)"nokogiri"; +static const xmlChar *NOKOGIRI_URI = (const xmlChar *)"http://www.nokogiri.org/default_ns/ruby/extensions_functions"; +static const xmlChar *NOKOGIRI_BUILTIN_PREFIX = (const xmlChar *)"nokogiri-builtin"; +static const xmlChar *NOKOGIRI_BUILTIN_URI = (const xmlChar *)"https://www.nokogiri.org/default_ns/ruby/builtins"; + +static void +_noko_xml_xpath_context_dfree(void *data) +{ + xmlXPathContextPtr c_context = data; + xmlXPathFreeContext(c_context); +} + +static const rb_data_type_t _noko_xml_xpath_context_type = { + .wrap_struct_name = "xmlXPathContext", + .function = { + .dfree = _noko_xml_xpath_context_dfree, + }, + .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED, +}; + +/* find a CSS class in an HTML element's `class` attribute */ +static const xmlChar * +_noko_xml_xpath_context__css_class(const xmlChar *str, const xmlChar *val) +{ + int val_len; + + if (str == NULL) { return (NULL); } + if (val == NULL) { return (NULL); } + + val_len = xmlStrlen(val); + if (val_len == 0) { return (str); } + + while (*str != 0) { + if ((*str == *val) && !xmlStrncmp(str, val, val_len)) { + const xmlChar *next_byte = str + val_len; + + /* only match if the next byte is whitespace or end of string */ + if ((*next_byte == 0) || (IS_BLANK_CH(*next_byte))) { + return ((const xmlChar *)str); + } + } + + /* advance str to whitespace */ + while ((*str != 0) && !IS_BLANK_CH(*str)) { + str++; + } + + /* advance str to start of next word or end of string */ + while ((*str != 0) && IS_BLANK_CH(*str)) { + str++; + } + } + + return (NULL); +} + +/* xmlXPathFunction to wrap _noko_xml_xpath_context__css_class() */ +static void +noko_xml_xpath_context_xpath_func_css_class(xmlXPathParserContextPtr ctxt, int nargs) +{ + xmlXPathObjectPtr hay, needle; + + CHECK_ARITY(2); + + CAST_TO_STRING; + needle = valuePop(ctxt); + if ((needle == NULL) || (needle->type != XPATH_STRING)) { + xmlXPathFreeObject(needle); + XP_ERROR(XPATH_INVALID_TYPE); + } + + CAST_TO_STRING; + hay = valuePop(ctxt); + if ((hay == NULL) || (hay->type != XPATH_STRING)) { + xmlXPathFreeObject(hay); + xmlXPathFreeObject(needle); + XP_ERROR(XPATH_INVALID_TYPE); + } + + if (_noko_xml_xpath_context__css_class(hay->stringval, needle->stringval)) { + valuePush(ctxt, xmlXPathNewBoolean(1)); + } else { + valuePush(ctxt, xmlXPathNewBoolean(0)); + } + + xmlXPathFreeObject(hay); + xmlXPathFreeObject(needle); +} + + +/* xmlXPathFunction to select nodes whose local name matches, for HTML5 CSS queries that should + * ignore namespaces */ +static void +noko_xml_xpath_context_xpath_func_local_name_is(xmlXPathParserContextPtr ctxt, int nargs) +{ + xmlXPathObjectPtr element_name; + + assert(ctxt->context->node); + + CHECK_ARITY(1); + CAST_TO_STRING; + CHECK_TYPE(XPATH_STRING); + element_name = valuePop(ctxt); + + valuePush( + ctxt, + xmlXPathNewBoolean(xmlStrEqual(ctxt->context->node->name, element_name->stringval)) + ); + + xmlXPathFreeObject(element_name); +} + + +/* + * call-seq: + * register_ns(prefix, uri) → Nokogiri::XML::XPathContext + * + * Register the namespace with +prefix+ and +uri+ for use in future queries. + * Passing a uri of +nil+ will unregister the namespace. + * + * [Returns] +self+ + */ +static VALUE +noko_xml_xpath_context_register_ns(VALUE rb_context, VALUE prefix, VALUE uri) +{ + xmlXPathContextPtr c_context; + const xmlChar *ns_uri; + + TypedData_Get_Struct(rb_context, xmlXPathContext, &_noko_xml_xpath_context_type, c_context); + + if (NIL_P(uri)) { + ns_uri = NULL; + } else { + ns_uri = (const xmlChar *)StringValueCStr(uri); + } + + xmlXPathRegisterNs(c_context, (const xmlChar *)StringValueCStr(prefix), ns_uri); + + return rb_context; +} + +/* + * call-seq: + * register_variable(name, value) → Nokogiri::XML::XPathContext + * + * Register the variable +name+ with +value+ for use in future queries. + * Passing a value of +nil+ will unregister the variable. + * + * [Returns] +self+ + */ +static VALUE +noko_xml_xpath_context_register_variable(VALUE rb_context, VALUE name, VALUE value) +{ + xmlXPathContextPtr c_context; + xmlXPathObjectPtr xmlValue; + + TypedData_Get_Struct(rb_context, xmlXPathContext, &_noko_xml_xpath_context_type, c_context); + + if (NIL_P(value)) { + xmlValue = NULL; + } else { + xmlValue = xmlXPathNewCString(StringValueCStr(value)); + } + + xmlXPathRegisterVariable(c_context, (const xmlChar *)StringValueCStr(name), xmlValue); + + return rb_context; +} + + +/* + * convert an XPath object into a Ruby object of the appropriate type. + * returns Qundef if no conversion was possible. + */ +static VALUE +_noko_xml_xpath_context__xpath2ruby(xmlXPathObjectPtr c_xpath_object, xmlXPathContextPtr c_context) +{ + VALUE rb_retval; + + assert(c_context->doc); + assert(DOC_RUBY_OBJECT_TEST(c_context->doc)); + + switch (c_xpath_object->type) { + case XPATH_STRING: + rb_retval = NOKOGIRI_STR_NEW2(c_xpath_object->stringval); + xmlFree(c_xpath_object->stringval); + return rb_retval; + + case XPATH_NODESET: + return noko_xml_node_set_wrap( + c_xpath_object->nodesetval, + DOC_RUBY_OBJECT(c_context->doc) + ); + + case XPATH_NUMBER: + return rb_float_new(c_xpath_object->floatval); + + case XPATH_BOOLEAN: + return (c_xpath_object->boolval == 1) ? Qtrue : Qfalse; + + default: + return Qundef; + } +} + +void +Nokogiri_marshal_xpath_funcall_and_return_values( + xmlXPathParserContextPtr ctxt, + int argc, + VALUE rb_xpath_handler, + const char *method_name +) +{ + VALUE rb_retval; + VALUE *argv; + VALUE rb_node_set = Qnil; + xmlNodeSetPtr c_node_set = NULL; + xmlXPathObjectPtr c_xpath_object; + + assert(ctxt->context->doc); + assert(DOC_RUBY_OBJECT_TEST(ctxt->context->doc)); + + argv = (VALUE *)ruby_xcalloc((size_t)argc, sizeof(VALUE)); + for (int j = 0 ; j < argc ; ++j) { + rb_gc_register_address(&argv[j]); + } + + for (int j = argc - 1 ; j >= 0 ; --j) { + c_xpath_object = valuePop(ctxt); + argv[j] = _noko_xml_xpath_context__xpath2ruby(c_xpath_object, ctxt->context); + if (argv[j] == Qundef) { + argv[j] = NOKOGIRI_STR_NEW2(xmlXPathCastToString(c_xpath_object)); + } + xmlXPathFreeNodeSetList(c_xpath_object); + } + + rb_retval = rb_funcall2( + rb_xpath_handler, + rb_intern((const char *)method_name), + argc, + argv + ); + + for (int j = 0 ; j < argc ; ++j) { + rb_gc_unregister_address(&argv[j]); + } + ruby_xfree(argv); + + switch (TYPE(rb_retval)) { + case T_FLOAT: + case T_BIGNUM: + case T_FIXNUM: + xmlXPathReturnNumber(ctxt, NUM2DBL(rb_retval)); + break; + case T_STRING: + xmlXPathReturnString(ctxt, xmlCharStrdup(StringValueCStr(rb_retval))); + break; + case T_TRUE: + xmlXPathReturnTrue(ctxt); + break; + case T_FALSE: + xmlXPathReturnFalse(ctxt); + break; + case T_NIL: + break; + case T_ARRAY: { + VALUE construct_args[2] = { DOC_RUBY_OBJECT(ctxt->context->doc), rb_retval }; + rb_node_set = rb_class_new_instance(2, construct_args, cNokogiriXmlNodeSet); + c_node_set = noko_xml_node_set_unwrap(rb_node_set); + xmlXPathReturnNodeSet(ctxt, xmlXPathNodeSetMerge(NULL, c_node_set)); + } + break; + case T_DATA: + if (rb_obj_is_kind_of(rb_retval, cNokogiriXmlNodeSet)) { + c_node_set = noko_xml_node_set_unwrap(rb_retval); + /* Copy the node set, otherwise it will get GC'd. */ + xmlXPathReturnNodeSet(ctxt, xmlXPathNodeSetMerge(NULL, c_node_set)); + break; + } + default: + rb_raise(rb_eRuntimeError, "Invalid return type"); + } +} + +static void +_noko_xml_xpath_context__handler_invoker(xmlXPathParserContextPtr ctxt, int argc) +{ + VALUE rb_xpath_handler = Qnil; + const char *method_name = NULL ; + + assert(ctxt); + assert(ctxt->context); + assert(ctxt->context->userData); + assert(ctxt->context->function); + + rb_xpath_handler = (VALUE)(ctxt->context->userData); + method_name = (const char *)(ctxt->context->function); + + Nokogiri_marshal_xpath_funcall_and_return_values( + ctxt, + argc, + rb_xpath_handler, + method_name + ); +} + +static xmlXPathFunction +_noko_xml_xpath_context_handler_lookup(void *data, const xmlChar *c_name, const xmlChar *c_ns_uri) +{ + VALUE rb_handler = (VALUE)data; + if (rb_respond_to(rb_handler, rb_intern((const char *)c_name))) { + if (c_ns_uri == NULL) { + NOKO_WARN_DEPRECATION("A custom XPath or CSS handler function named '%s' is being invoked without a namespace. Please update your query to reference this function as 'nokogiri:%s'. Invoking custom handler functions without a namespace is deprecated and will become an error in Nokogiri v1.17.0.", + c_name, c_name); // TODO deprecated in v1.15.0, remove in v1.19.0 + } + return _noko_xml_xpath_context__handler_invoker; + } + + return NULL; +} + +PRINTFLIKE_DECL(2, 3) +static void +_noko_xml_xpath_context__generic_exception_pusher(void *data, const char *msg, ...) +{ + VALUE rb_errors = (VALUE)data; + VALUE rb_message; + VALUE rb_exception; + + Check_Type(rb_errors, T_ARRAY); + +#ifdef TRUFFLERUBY_NOKOGIRI_SYSTEM_LIBRARIES + /* It is not currently possible to pass var args from native + functions to sulong, so we work around the issue here. */ + rb_message = rb_sprintf("_noko_xml_xpath_context__generic_exception_pusher: %s", msg); +#else + va_list args; + va_start(args, msg); + rb_message = rb_vsprintf(msg, args); + va_end(args); +#endif + + rb_exception = rb_exc_new_str(cNokogiriXmlXpathSyntaxError, rb_message); + rb_ary_push(rb_errors, rb_exception); +} + +/* + * call-seq: + * evaluate(search_path, handler = nil) → Object + * + * Evaluate the +search_path+ query. + * + * [Returns] an object of the appropriate type for the query, which could be +NodeSet+, a +String+, + * a +Float+, or a boolean. + */ +static VALUE +noko_xml_xpath_context_evaluate(int argc, VALUE *argv, VALUE rb_context) +{ + xmlXPathContextPtr c_context; + VALUE rb_expression = Qnil; + VALUE rb_function_lookup_handler = Qnil; + xmlChar *c_expression_str = NULL; + VALUE rb_errors = rb_ary_new(); + xmlXPathObjectPtr c_xpath_object; + VALUE rb_xpath_object = Qnil; + + TypedData_Get_Struct(rb_context, xmlXPathContext, &_noko_xml_xpath_context_type, c_context); + + rb_scan_args(argc, argv, "11", &rb_expression, &rb_function_lookup_handler); + + c_expression_str = (xmlChar *)StringValueCStr(rb_expression); + + if (Qnil != rb_function_lookup_handler) { + /* FIXME: not sure if this is the correct place to shove private data. */ + c_context->userData = (void *)rb_function_lookup_handler; + xmlXPathRegisterFuncLookup( + c_context, + _noko_xml_xpath_context_handler_lookup, + (void *)rb_function_lookup_handler + ); + } + + /* TODO: use xmlXPathSetErrorHandler (as of 2.13.0) */ + xmlSetStructuredErrorFunc((void *)rb_errors, noko__error_array_pusher); + xmlSetGenericErrorFunc((void *)rb_errors, _noko_xml_xpath_context__generic_exception_pusher); + + c_xpath_object = xmlXPathEvalExpression(c_expression_str, c_context); + + xmlSetStructuredErrorFunc(NULL, NULL); + xmlSetGenericErrorFunc(NULL, NULL); + + xmlXPathRegisterFuncLookup(c_context, NULL, NULL); + + if (c_xpath_object == NULL) { + rb_exc_raise(rb_ary_entry(rb_errors, 0)); + } + + rb_xpath_object = _noko_xml_xpath_context__xpath2ruby(c_xpath_object, c_context); + if (rb_xpath_object == Qundef) { + rb_xpath_object = noko_xml_node_set_wrap(NULL, DOC_RUBY_OBJECT(c_context->doc)); + } + + xmlXPathFreeNodeSetList(c_xpath_object); + + return rb_xpath_object; +} + +/* + * call-seq: + * new(node) + * + * Create a new XPathContext with +node+ as the context node. + */ +static VALUE +noko_xml_xpath_context_new(VALUE klass, VALUE rb_node) +{ + xmlNodePtr c_node; + xmlXPathContextPtr c_context; + VALUE rb_context; + + Noko_Node_Get_Struct(rb_node, xmlNode, c_node); + +#if LIBXML_VERSION < 21000 + xmlXPathInit(); /* deprecated in 40483d0 */ +#endif + + c_context = xmlXPathNewContext(c_node->doc); + c_context->node = c_node; + + xmlXPathRegisterNs(c_context, NOKOGIRI_PREFIX, NOKOGIRI_URI); + xmlXPathRegisterNs(c_context, NOKOGIRI_BUILTIN_PREFIX, NOKOGIRI_BUILTIN_URI); + + xmlXPathRegisterFuncNS(c_context, + (const xmlChar *)"css-class", NOKOGIRI_BUILTIN_URI, + noko_xml_xpath_context_xpath_func_css_class); + xmlXPathRegisterFuncNS(c_context, + (const xmlChar *)"local-name-is", NOKOGIRI_BUILTIN_URI, + noko_xml_xpath_context_xpath_func_local_name_is); + + rb_context = TypedData_Wrap_Struct(klass, &_noko_xml_xpath_context_type, c_context); + + return rb_context; +} + + +/* :nodoc: */ +static VALUE +noko_xml_xpath_context_set_node(VALUE rb_context, VALUE rb_node) +{ + xmlNodePtr c_node; + xmlXPathContextPtr c_context; + + TypedData_Get_Struct(rb_context, xmlXPathContext, &_noko_xml_xpath_context_type, c_context); + Noko_Node_Get_Struct(rb_node, xmlNode, c_node); + + c_context->doc = c_node->doc; + c_context->node = c_node; + + return rb_node; +} + +void +noko_init_xml_xpath_context(void) +{ + /* + * XPathContext is the entry point for searching a +Document+ by using XPath. + */ + cNokogiriXmlXpathContext = rb_define_class_under(mNokogiriXml, "XPathContext", rb_cObject); + + rb_undef_alloc_func(cNokogiriXmlXpathContext); + + rb_define_singleton_method(cNokogiriXmlXpathContext, "new", noko_xml_xpath_context_new, 1); + + rb_define_method(cNokogiriXmlXpathContext, "evaluate", noko_xml_xpath_context_evaluate, -1); + rb_define_method(cNokogiriXmlXpathContext, "register_variable", noko_xml_xpath_context_register_variable, 2); + rb_define_method(cNokogiriXmlXpathContext, "register_ns", noko_xml_xpath_context_register_ns, 2); + rb_define_method(cNokogiriXmlXpathContext, "node=", noko_xml_xpath_context_set_node, 1); +} diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xslt_stylesheet.c b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xslt_stylesheet.c new file mode 100644 index 0000000..903f729 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/ext/nokogiri/xslt_stylesheet.c @@ -0,0 +1,421 @@ +#include + +VALUE cNokogiriXsltStylesheet; + +static void +mark(void *data) +{ + nokogiriXsltStylesheetTuple *wrapper = (nokogiriXsltStylesheetTuple *)data; + rb_gc_mark(wrapper->func_instances); +} + +static void +dealloc(void *data) +{ + nokogiriXsltStylesheetTuple *wrapper = (nokogiriXsltStylesheetTuple *)data; + xsltStylesheetPtr doc = wrapper->ss; + xsltFreeStylesheet(doc); + ruby_xfree(wrapper); +} + +static const rb_data_type_t nokogiri_xslt_stylesheet_tuple_type = { + .wrap_struct_name = "nokogiriXsltStylesheetTuple", + .function = { + .dmark = mark, + .dfree = dealloc, + }, + .flags = RUBY_TYPED_FREE_IMMEDIATELY +}; + +PRINTFLIKE_DECL(2, 3) +static void +xslt_generic_error_handler(void *ctx, const char *msg, ...) +{ + VALUE message; + +#ifdef TRUFFLERUBY_NOKOGIRI_SYSTEM_LIBRARIES + /* It is not currently possible to pass var args from native + functions to sulong, so we work around the issue here. */ + message = rb_sprintf("xslt_generic_error_handler: %s", msg); +#else + va_list args; + va_start(args, msg); + message = rb_vsprintf(msg, args); + va_end(args); +#endif + + rb_str_concat((VALUE)ctx, message); +} + +VALUE +Nokogiri_wrap_xslt_stylesheet(xsltStylesheetPtr ss) +{ + VALUE self; + nokogiriXsltStylesheetTuple *wrapper; + + self = TypedData_Make_Struct( + cNokogiriXsltStylesheet, + nokogiriXsltStylesheetTuple, + &nokogiri_xslt_stylesheet_tuple_type, + wrapper + ); + + ss->_private = (void *)self; + wrapper->ss = ss; + wrapper->func_instances = rb_ary_new(); + + return self; +} + +/* + * call-seq: + * parse_stylesheet_doc(document) + * + * Parse an XSLT::Stylesheet from +document+. + * + * [Parameters] + * - +document+ (Nokogiri::XML::Document) the document to be parsed. + * + * [Returns] Nokogiri::XSLT::Stylesheet + */ +static VALUE +parse_stylesheet_doc(VALUE klass, VALUE xmldocobj) +{ + xmlDocPtr xml, xml_cpy; + VALUE errstr, exception; + xsltStylesheetPtr ss ; + + xml = noko_xml_document_unwrap(xmldocobj); + + errstr = rb_str_new(0, 0); + xsltSetGenericErrorFunc((void *)errstr, xslt_generic_error_handler); + + xml_cpy = xmlCopyDoc(xml, 1); /* 1 => recursive */ + ss = xsltParseStylesheetDoc(xml_cpy); + + xsltSetGenericErrorFunc(NULL, NULL); + + if (!ss) { + xmlFreeDoc(xml_cpy); + exception = rb_exc_new3(rb_eRuntimeError, errstr); + rb_exc_raise(exception); + } + + return Nokogiri_wrap_xslt_stylesheet(ss); +} + + +/* + * call-seq: + * serialize(document) + * + * Serialize +document+ to an xml string, as specified by the +method+ parameter in the Stylesheet. + */ +static VALUE +rb_xslt_stylesheet_serialize(VALUE self, VALUE xmlobj) +{ + xmlDocPtr xml ; + nokogiriXsltStylesheetTuple *wrapper; + xmlChar *doc_ptr ; + int doc_len ; + VALUE rval ; + + xml = noko_xml_document_unwrap(xmlobj); + TypedData_Get_Struct( + self, + nokogiriXsltStylesheetTuple, + &nokogiri_xslt_stylesheet_tuple_type, + wrapper + ); + xsltSaveResultToString(&doc_ptr, &doc_len, xml, wrapper->ss); + rval = NOKOGIRI_STR_NEW(doc_ptr, doc_len); + xmlFree(doc_ptr); + return rval ; +} + +/* + * call-seq: + * transform(document) + * transform(document, params = {}) + * + * Transform an XML::Document as defined by an XSLT::Stylesheet. + * + * [Parameters] + * - +document+ (Nokogiri::XML::Document) the document to be transformed. + * - +params+ (Hash, Array) strings used as XSLT parameters. + * + * [Returns] Nokogiri::XML::Document + * + * *Example* of basic transformation: + * + * xslt = <<~XSLT + * + * + * + * + * + * + * + *

    + *
      + * + *
    1. + *
      + *
    + * + * + *
    + * XSLT + * + * xml = <<~XML + * + * + * + * EMP0001 + * Accountant + * + * + * EMP0002 + * Developer + * + * + * XML + * + * doc = Nokogiri::XML::Document.parse(xml) + * stylesheet = Nokogiri::XSLT.parse(xslt) + * + * ⚠ Note that the +h1+ element is empty because no param has been provided! + * + * stylesheet.transform(doc).to_xml + * # => "\n" + + * # "

    \n" + + * # "
      \n" + + * # "
    1. EMP0001
    2. \n" + + * # "
    3. EMP0002
    4. \n" + + * # "
    \n" + + * # "\n" + * + * *Example* of using an input parameter hash: + * + * ⚠ The title is populated, but note how we need to quote-escape the value. + * + * stylesheet.transform(doc, { "title" => "'Employee List'" }).to_xml + * # => "\n" + + * # "

    Employee List

    \n" + + * # "
      \n" + + * # "
    1. EMP0001
    2. \n" + + * # "
    3. EMP0002
    4. \n" + + * # "
    \n" + + * # "\n" + * + * *Example* using the XSLT.quote_params helper method to safely quote-escape strings: + * + * stylesheet.transform(doc, Nokogiri::XSLT.quote_params({ "title" => "Aaron's List" })).to_xml + * # => "\n" + + * # "

    Aaron's List

    \n" + + * # "
      \n" + + * # "
    1. EMP0001
    2. \n" + + * # "
    3. EMP0002
    4. \n" + + * # "
    \n" + + * # "\n" + * + * *Example* using an array of XSLT parameters + * + * You can also use an array if you want to. + * + * stylesheet.transform(doc, ["title", "'Employee List'"]).to_xml + * # => "\n" + + * # "

    Employee List

    \n" + + * # "
      \n" + + * # "
    1. EMP0001
    2. \n" + + * # "
    3. EMP0002
    4. \n" + + * # "
    \n" + + * # "\n" + * + * Or pass an array to XSLT.quote_params: + * + * stylesheet.transform(doc, Nokogiri::XSLT.quote_params(["title", "Aaron's List"])).to_xml + * # => "\n" + + * # "

    Aaron's List

    \n" + + * # "
      \n" + + * # "
    1. EMP0001
    2. \n" + + * # "
    3. EMP0002
    4. \n" + + * # "
    \n" + + * # "\n" + * + * See: Nokogiri::XSLT.quote_params + */ +static VALUE +rb_xslt_stylesheet_transform(int argc, VALUE *argv, VALUE self) +{ + VALUE rb_document, rb_param, rb_error_str; + xmlDocPtr c_document ; + xmlDocPtr c_result_document ; + nokogiriXsltStylesheetTuple *wrapper; + const char **params ; + long param_len, j ; + int parse_error_occurred ; + int defensive_copy_p = 0; + + rb_scan_args(argc, argv, "11", &rb_document, &rb_param); + if (NIL_P(rb_param)) { rb_param = rb_ary_new2(0L) ; } + if (!rb_obj_is_kind_of(rb_document, cNokogiriXmlDocument)) { + rb_raise(rb_eArgError, "argument must be a Nokogiri::XML::Document"); + } + + /* handle hashes as arguments. */ + if (T_HASH == TYPE(rb_param)) { + rb_param = rb_funcall(rb_param, rb_intern("to_a"), 0); + rb_param = rb_funcall(rb_param, rb_intern("flatten"), 0); + } + + Check_Type(rb_param, T_ARRAY); + + c_document = noko_xml_document_unwrap(rb_document); + TypedData_Get_Struct(self, nokogiriXsltStylesheetTuple, &nokogiri_xslt_stylesheet_tuple_type, wrapper); + + param_len = RARRAY_LEN(rb_param); + params = ruby_xcalloc((size_t)param_len + 1, sizeof(char *)); + for (j = 0 ; j < param_len ; j++) { + VALUE entry = rb_ary_entry(rb_param, j); + const char *ptr = StringValueCStr(entry); + params[j] = ptr; + } + params[param_len] = 0 ; + + xsltTransformContextPtr c_transform_context = xsltNewTransformContext(wrapper->ss, c_document); + if (xsltNeedElemSpaceHandling(c_transform_context) && + noko_xml_document_has_wrapped_blank_nodes_p(c_document)) { + // see https://github.com/sparklemotion/nokogiri/issues/2800 + c_document = xmlCopyDoc(c_document, 1); + defensive_copy_p = 1; + } + xsltFreeTransformContext(c_transform_context); + + rb_error_str = rb_str_new(0, 0); + xsltSetGenericErrorFunc((void *)rb_error_str, xslt_generic_error_handler); + xmlSetGenericErrorFunc((void *)rb_error_str, xslt_generic_error_handler); + + c_result_document = xsltApplyStylesheet(wrapper->ss, c_document, params); + + ruby_xfree(params); + if (defensive_copy_p) { + xmlFreeDoc(c_document); + c_document = NULL; + } + + xsltSetGenericErrorFunc(NULL, NULL); + xmlSetGenericErrorFunc(NULL, NULL); + + parse_error_occurred = (Qfalse == rb_funcall(rb_error_str, rb_intern("empty?"), 0)); + + if (parse_error_occurred) { + rb_exc_raise(rb_exc_new3(rb_eRuntimeError, rb_error_str)); + } + + return noko_xml_document_wrap((VALUE)0, c_result_document) ; +} + +static void +method_caller(xmlXPathParserContextPtr ctxt, int nargs) +{ + VALUE handler; + const char *function_name; + xsltTransformContextPtr transform; + const xmlChar *functionURI; + + transform = xsltXPathGetTransformContext(ctxt); + functionURI = ctxt->context->functionURI; + handler = (VALUE)xsltGetExtData(transform, functionURI); + function_name = (const char *)(ctxt->context->function); + + Nokogiri_marshal_xpath_funcall_and_return_values( + ctxt, + nargs, + handler, + (const char *)function_name + ); +} + +static void * +initFunc(xsltTransformContextPtr ctxt, const xmlChar *uri) +{ + VALUE modules = rb_iv_get(mNokogiriXslt, "@modules"); + VALUE obj = rb_hash_aref(modules, rb_str_new2((const char *)uri)); + VALUE args = { Qfalse }; + VALUE methods = rb_funcall(obj, rb_intern("instance_methods"), 1, args); + VALUE inst; + nokogiriXsltStylesheetTuple *wrapper; + int i; + + for (i = 0; i < RARRAY_LEN(methods); i++) { + VALUE method_name = rb_obj_as_string(rb_ary_entry(methods, i)); + xsltRegisterExtFunction( + ctxt, + (unsigned char *)StringValueCStr(method_name), + uri, + method_caller + ); + } + + TypedData_Get_Struct( + (VALUE)ctxt->style->_private, + nokogiriXsltStylesheetTuple, + &nokogiri_xslt_stylesheet_tuple_type, + wrapper + ); + inst = rb_class_new_instance(0, NULL, obj); + rb_ary_push(wrapper->func_instances, inst); + + return (void *)inst; +} + +static void +shutdownFunc(xsltTransformContextPtr ctxt, + const xmlChar *uri, void *data) +{ + nokogiriXsltStylesheetTuple *wrapper; + + TypedData_Get_Struct( + (VALUE)ctxt->style->_private, + nokogiriXsltStylesheetTuple, + &nokogiri_xslt_stylesheet_tuple_type, + wrapper + ); + + rb_ary_clear(wrapper->func_instances); +} + +/* docstring is in lib/nokogiri/xslt.rb */ +static VALUE +rb_xslt_s_register(VALUE self, VALUE uri, VALUE obj) +{ + VALUE modules = rb_iv_get(self, "@modules"); + if (NIL_P(modules)) { + rb_raise(rb_eRuntimeError, "internal error: @modules not set"); + } + + rb_hash_aset(modules, uri, obj); + xsltRegisterExtModule( + (unsigned char *)StringValueCStr(uri), + initFunc, + shutdownFunc + ); + return self; +} + +void +noko_init_xslt_stylesheet(void) +{ + rb_define_singleton_method(mNokogiriXslt, "register", rb_xslt_s_register, 2); + rb_iv_set(mNokogiriXslt, "@modules", rb_hash_new()); + + cNokogiriXsltStylesheet = rb_define_class_under(mNokogiriXslt, "Stylesheet", rb_cObject); + + rb_undef_alloc_func(cNokogiriXsltStylesheet); + + rb_define_singleton_method(cNokogiriXsltStylesheet, "parse_stylesheet_doc", parse_stylesheet_doc, 1); + rb_define_method(cNokogiriXsltStylesheet, "serialize", rb_xslt_stylesheet_serialize, 1); + rb_define_method(cNokogiriXsltStylesheet, "transform", rb_xslt_stylesheet_transform, -1); +} diff --git a/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/gumbo-parser/CHANGES.md b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/gumbo-parser/CHANGES.md new file mode 100644 index 0000000..277b3a2 --- /dev/null +++ b/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.10-x86_64-linux-gnu/gumbo-parser/CHANGES.md @@ -0,0 +1,63 @@ +## Gumbo 0.10.1 (2015-04-30) + +Same as 0.10.0, but with the version number bumped because the last version-number commit to v0.9.4 makes GitHub think that v0.9.4 is the latest version and so it's not highlighted on the webpage. + +## Gumbo 0.10.0 (2015-04-30) + +* Full support for `