@ai-ecoverse/wasix-ruby 3.4.11-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1123) hide show
  1. package/LICENSE +56 -0
  2. package/PRESTAGE.md +30 -0
  3. package/README.md +3 -0
  4. package/bin/ruby.wasm +0 -0
  5. package/lib/ruby/3.4.11/English.gemspec +22 -0
  6. package/lib/ruby/3.4.11/English.rb +164 -0
  7. package/lib/ruby/3.4.11/benchmark.gemspec +32 -0
  8. package/lib/ruby/3.4.11/benchmark.rb +594 -0
  9. package/lib/ruby/3.4.11/bundled_gems.rb +248 -0
  10. package/lib/ruby/3.4.11/bundler/.document +1 -0
  11. package/lib/ruby/3.4.11/bundler/build_metadata.rb +43 -0
  12. package/lib/ruby/3.4.11/bundler/bundler.gemspec +45 -0
  13. package/lib/ruby/3.4.11/bundler/capistrano.rb +22 -0
  14. package/lib/ruby/3.4.11/bundler/checksum.rb +264 -0
  15. package/lib/ruby/3.4.11/bundler/ci_detector.rb +75 -0
  16. package/lib/ruby/3.4.11/bundler/cli/add.rb +49 -0
  17. package/lib/ruby/3.4.11/bundler/cli/binstubs.rb +57 -0
  18. package/lib/ruby/3.4.11/bundler/cli/cache.rb +43 -0
  19. package/lib/ruby/3.4.11/bundler/cli/check.rb +40 -0
  20. package/lib/ruby/3.4.11/bundler/cli/clean.rb +25 -0
  21. package/lib/ruby/3.4.11/bundler/cli/common.rb +138 -0
  22. package/lib/ruby/3.4.11/bundler/cli/config.rb +204 -0
  23. package/lib/ruby/3.4.11/bundler/cli/console.rb +42 -0
  24. package/lib/ruby/3.4.11/bundler/cli/doctor/diagnose.rb +167 -0
  25. package/lib/ruby/3.4.11/bundler/cli/doctor/ssl.rb +249 -0
  26. package/lib/ruby/3.4.11/bundler/cli/doctor.rb +33 -0
  27. package/lib/ruby/3.4.11/bundler/cli/exec.rb +89 -0
  28. package/lib/ruby/3.4.11/bundler/cli/fund.rb +36 -0
  29. package/lib/ruby/3.4.11/bundler/cli/gem.rb +467 -0
  30. package/lib/ruby/3.4.11/bundler/cli/info.rb +83 -0
  31. package/lib/ruby/3.4.11/bundler/cli/init.rb +51 -0
  32. package/lib/ruby/3.4.11/bundler/cli/inject.rb +60 -0
  33. package/lib/ruby/3.4.11/bundler/cli/install.rb +199 -0
  34. package/lib/ruby/3.4.11/bundler/cli/issue.rb +41 -0
  35. package/lib/ruby/3.4.11/bundler/cli/list.rb +66 -0
  36. package/lib/ruby/3.4.11/bundler/cli/lock.rb +94 -0
  37. package/lib/ruby/3.4.11/bundler/cli/open.rb +29 -0
  38. package/lib/ruby/3.4.11/bundler/cli/outdated.rb +297 -0
  39. package/lib/ruby/3.4.11/bundler/cli/platform.rb +48 -0
  40. package/lib/ruby/3.4.11/bundler/cli/plugin.rb +35 -0
  41. package/lib/ruby/3.4.11/bundler/cli/pristine.rb +60 -0
  42. package/lib/ruby/3.4.11/bundler/cli/remove.rb +17 -0
  43. package/lib/ruby/3.4.11/bundler/cli/show.rb +75 -0
  44. package/lib/ruby/3.4.11/bundler/cli/update.rb +123 -0
  45. package/lib/ruby/3.4.11/bundler/cli/viz.rb +31 -0
  46. package/lib/ruby/3.4.11/bundler/cli.rb +790 -0
  47. package/lib/ruby/3.4.11/bundler/compact_index_client/cache.rb +96 -0
  48. package/lib/ruby/3.4.11/bundler/compact_index_client/cache_file.rb +148 -0
  49. package/lib/ruby/3.4.11/bundler/compact_index_client/parser.rb +84 -0
  50. package/lib/ruby/3.4.11/bundler/compact_index_client/updater.rb +105 -0
  51. package/lib/ruby/3.4.11/bundler/compact_index_client.rb +97 -0
  52. package/lib/ruby/3.4.11/bundler/constants.rb +14 -0
  53. package/lib/ruby/3.4.11/bundler/current_ruby.rb +82 -0
  54. package/lib/ruby/3.4.11/bundler/definition.rb +1187 -0
  55. package/lib/ruby/3.4.11/bundler/dependency.rb +151 -0
  56. package/lib/ruby/3.4.11/bundler/deployment.rb +69 -0
  57. package/lib/ruby/3.4.11/bundler/deprecate.rb +44 -0
  58. package/lib/ruby/3.4.11/bundler/digest.rb +71 -0
  59. package/lib/ruby/3.4.11/bundler/dsl.rb +638 -0
  60. package/lib/ruby/3.4.11/bundler/endpoint_specification.rb +174 -0
  61. package/lib/ruby/3.4.11/bundler/env.rb +148 -0
  62. package/lib/ruby/3.4.11/bundler/environment_preserver.rb +68 -0
  63. package/lib/ruby/3.4.11/bundler/errors.rb +281 -0
  64. package/lib/ruby/3.4.11/bundler/feature_flag.rb +50 -0
  65. package/lib/ruby/3.4.11/bundler/fetcher/base.rb +52 -0
  66. package/lib/ruby/3.4.11/bundler/fetcher/compact_index.rb +120 -0
  67. package/lib/ruby/3.4.11/bundler/fetcher/dependency.rb +78 -0
  68. package/lib/ruby/3.4.11/bundler/fetcher/downloader.rb +91 -0
  69. package/lib/ruby/3.4.11/bundler/fetcher/gem_remote_fetcher.rb +16 -0
  70. package/lib/ruby/3.4.11/bundler/fetcher/index.rb +25 -0
  71. package/lib/ruby/3.4.11/bundler/fetcher.rb +331 -0
  72. package/lib/ruby/3.4.11/bundler/force_platform.rb +16 -0
  73. package/lib/ruby/3.4.11/bundler/friendly_errors.rb +126 -0
  74. package/lib/ruby/3.4.11/bundler/gem_helper.rb +237 -0
  75. package/lib/ruby/3.4.11/bundler/gem_helpers.rb +144 -0
  76. package/lib/ruby/3.4.11/bundler/gem_tasks.rb +7 -0
  77. package/lib/ruby/3.4.11/bundler/gem_version_promoter.rb +147 -0
  78. package/lib/ruby/3.4.11/bundler/graph.rb +152 -0
  79. package/lib/ruby/3.4.11/bundler/index.rb +205 -0
  80. package/lib/ruby/3.4.11/bundler/injector.rb +285 -0
  81. package/lib/ruby/3.4.11/bundler/inline.rb +98 -0
  82. package/lib/ruby/3.4.11/bundler/installer/gem_installer.rb +85 -0
  83. package/lib/ruby/3.4.11/bundler/installer/parallel_installer.rb +203 -0
  84. package/lib/ruby/3.4.11/bundler/installer/standalone.rb +113 -0
  85. package/lib/ruby/3.4.11/bundler/installer.rb +243 -0
  86. package/lib/ruby/3.4.11/bundler/lazy_specification.rb +243 -0
  87. package/lib/ruby/3.4.11/bundler/lockfile_generator.rb +104 -0
  88. package/lib/ruby/3.4.11/bundler/lockfile_parser.rb +300 -0
  89. package/lib/ruby/3.4.11/bundler/man/.document +1 -0
  90. package/lib/ruby/3.4.11/bundler/man/bundle-add.1 +76 -0
  91. package/lib/ruby/3.4.11/bundler/man/bundle-add.1.ronn +87 -0
  92. package/lib/ruby/3.4.11/bundler/man/bundle-binstubs.1 +33 -0
  93. package/lib/ruby/3.4.11/bundler/man/bundle-binstubs.1.ronn +44 -0
  94. package/lib/ruby/3.4.11/bundler/man/bundle-cache.1 +68 -0
  95. package/lib/ruby/3.4.11/bundler/man/bundle-cache.1.ronn +108 -0
  96. package/lib/ruby/3.4.11/bundler/man/bundle-check.1 +24 -0
  97. package/lib/ruby/3.4.11/bundler/man/bundle-check.1.ronn +31 -0
  98. package/lib/ruby/3.4.11/bundler/man/bundle-clean.1 +17 -0
  99. package/lib/ruby/3.4.11/bundler/man/bundle-clean.1.ronn +18 -0
  100. package/lib/ruby/3.4.11/bundler/man/bundle-config.1 +317 -0
  101. package/lib/ruby/3.4.11/bundler/man/bundle-config.1.ronn +408 -0
  102. package/lib/ruby/3.4.11/bundler/man/bundle-console.1 +33 -0
  103. package/lib/ruby/3.4.11/bundler/man/bundle-console.1.ronn +39 -0
  104. package/lib/ruby/3.4.11/bundler/man/bundle-doctor.1 +30 -0
  105. package/lib/ruby/3.4.11/bundler/man/bundle-doctor.1.ronn +33 -0
  106. package/lib/ruby/3.4.11/bundler/man/bundle-env.1 +9 -0
  107. package/lib/ruby/3.4.11/bundler/man/bundle-env.1.ronn +10 -0
  108. package/lib/ruby/3.4.11/bundler/man/bundle-exec.1 +107 -0
  109. package/lib/ruby/3.4.11/bundler/man/bundle-exec.1.ronn +154 -0
  110. package/lib/ruby/3.4.11/bundler/man/bundle-fund.1 +22 -0
  111. package/lib/ruby/3.4.11/bundler/man/bundle-fund.1.ronn +25 -0
  112. package/lib/ruby/3.4.11/bundler/man/bundle-gem.1 +87 -0
  113. package/lib/ruby/3.4.11/bundler/man/bundle-gem.1.ronn +149 -0
  114. package/lib/ruby/3.4.11/bundler/man/bundle-help.1 +9 -0
  115. package/lib/ruby/3.4.11/bundler/man/bundle-help.1.ronn +12 -0
  116. package/lib/ruby/3.4.11/bundler/man/bundle-info.1 +17 -0
  117. package/lib/ruby/3.4.11/bundler/man/bundle-info.1.ronn +21 -0
  118. package/lib/ruby/3.4.11/bundler/man/bundle-init.1 +20 -0
  119. package/lib/ruby/3.4.11/bundler/man/bundle-init.1.ronn +32 -0
  120. package/lib/ruby/3.4.11/bundler/man/bundle-inject.1 +31 -0
  121. package/lib/ruby/3.4.11/bundler/man/bundle-inject.1.ronn +32 -0
  122. package/lib/ruby/3.4.11/bundler/man/bundle-install.1 +218 -0
  123. package/lib/ruby/3.4.11/bundler/man/bundle-install.1.ronn +387 -0
  124. package/lib/ruby/3.4.11/bundler/man/bundle-issue.1 +45 -0
  125. package/lib/ruby/3.4.11/bundler/man/bundle-issue.1.ronn +37 -0
  126. package/lib/ruby/3.4.11/bundler/man/bundle-licenses.1 +9 -0
  127. package/lib/ruby/3.4.11/bundler/man/bundle-licenses.1.ronn +10 -0
  128. package/lib/ruby/3.4.11/bundler/man/bundle-list.1 +35 -0
  129. package/lib/ruby/3.4.11/bundler/man/bundle-list.1.ronn +36 -0
  130. package/lib/ruby/3.4.11/bundler/man/bundle-lock.1 +75 -0
  131. package/lib/ruby/3.4.11/bundler/man/bundle-lock.1.ronn +115 -0
  132. package/lib/ruby/3.4.11/bundler/man/bundle-open.1 +32 -0
  133. package/lib/ruby/3.4.11/bundler/man/bundle-open.1.ronn +28 -0
  134. package/lib/ruby/3.4.11/bundler/man/bundle-outdated.1 +103 -0
  135. package/lib/ruby/3.4.11/bundler/man/bundle-outdated.1.ronn +110 -0
  136. package/lib/ruby/3.4.11/bundler/man/bundle-platform.1 +49 -0
  137. package/lib/ruby/3.4.11/bundler/man/bundle-platform.1.ronn +49 -0
  138. package/lib/ruby/3.4.11/bundler/man/bundle-plugin.1 +58 -0
  139. package/lib/ruby/3.4.11/bundler/man/bundle-plugin.1.ronn +63 -0
  140. package/lib/ruby/3.4.11/bundler/man/bundle-pristine.1 +23 -0
  141. package/lib/ruby/3.4.11/bundler/man/bundle-pristine.1.ronn +34 -0
  142. package/lib/ruby/3.4.11/bundler/man/bundle-remove.1 +21 -0
  143. package/lib/ruby/3.4.11/bundler/man/bundle-remove.1.ronn +23 -0
  144. package/lib/ruby/3.4.11/bundler/man/bundle-show.1 +19 -0
  145. package/lib/ruby/3.4.11/bundler/man/bundle-show.1.ronn +25 -0
  146. package/lib/ruby/3.4.11/bundler/man/bundle-update.1 +281 -0
  147. package/lib/ruby/3.4.11/bundler/man/bundle-update.1.ronn +359 -0
  148. package/lib/ruby/3.4.11/bundler/man/bundle-version.1 +22 -0
  149. package/lib/ruby/3.4.11/bundler/man/bundle-version.1.ronn +24 -0
  150. package/lib/ruby/3.4.11/bundler/man/bundle-viz.1 +30 -0
  151. package/lib/ruby/3.4.11/bundler/man/bundle-viz.1.ronn +36 -0
  152. package/lib/ruby/3.4.11/bundler/man/bundle.1 +102 -0
  153. package/lib/ruby/3.4.11/bundler/man/bundle.1.ronn +116 -0
  154. package/lib/ruby/3.4.11/bundler/man/gemfile.5 +472 -0
  155. package/lib/ruby/3.4.11/bundler/man/gemfile.5.ronn +558 -0
  156. package/lib/ruby/3.4.11/bundler/man/index.txt +33 -0
  157. package/lib/ruby/3.4.11/bundler/match_metadata.rb +30 -0
  158. package/lib/ruby/3.4.11/bundler/match_platform.rb +23 -0
  159. package/lib/ruby/3.4.11/bundler/match_remote_metadata.rb +29 -0
  160. package/lib/ruby/3.4.11/bundler/materialization.rb +59 -0
  161. package/lib/ruby/3.4.11/bundler/mirror.rb +221 -0
  162. package/lib/ruby/3.4.11/bundler/plugin/api/source.rb +322 -0
  163. package/lib/ruby/3.4.11/bundler/plugin/api.rb +81 -0
  164. package/lib/ruby/3.4.11/bundler/plugin/dsl.rb +53 -0
  165. package/lib/ruby/3.4.11/bundler/plugin/events.rb +85 -0
  166. package/lib/ruby/3.4.11/bundler/plugin/index.rb +197 -0
  167. package/lib/ruby/3.4.11/bundler/plugin/installer/git.rb +34 -0
  168. package/lib/ruby/3.4.11/bundler/plugin/installer/path.rb +26 -0
  169. package/lib/ruby/3.4.11/bundler/plugin/installer/rubygems.rb +19 -0
  170. package/lib/ruby/3.4.11/bundler/plugin/installer.rb +132 -0
  171. package/lib/ruby/3.4.11/bundler/plugin/source_list.rb +31 -0
  172. package/lib/ruby/3.4.11/bundler/plugin.rb +378 -0
  173. package/lib/ruby/3.4.11/bundler/process_lock.rb +20 -0
  174. package/lib/ruby/3.4.11/bundler/remote_specification.rb +126 -0
  175. package/lib/ruby/3.4.11/bundler/resolver/base.rb +118 -0
  176. package/lib/ruby/3.4.11/bundler/resolver/candidate.rb +85 -0
  177. package/lib/ruby/3.4.11/bundler/resolver/incompatibility.rb +15 -0
  178. package/lib/ruby/3.4.11/bundler/resolver/package.rb +94 -0
  179. package/lib/ruby/3.4.11/bundler/resolver/root.rb +25 -0
  180. package/lib/ruby/3.4.11/bundler/resolver/spec_group.rb +74 -0
  181. package/lib/ruby/3.4.11/bundler/resolver/strategy.rb +40 -0
  182. package/lib/ruby/3.4.11/bundler/resolver.rb +526 -0
  183. package/lib/ruby/3.4.11/bundler/retry.rb +66 -0
  184. package/lib/ruby/3.4.11/bundler/ruby_dsl.rb +62 -0
  185. package/lib/ruby/3.4.11/bundler/ruby_version.rb +137 -0
  186. package/lib/ruby/3.4.11/bundler/rubygems_ext.rb +485 -0
  187. package/lib/ruby/3.4.11/bundler/rubygems_gem_installer.rb +172 -0
  188. package/lib/ruby/3.4.11/bundler/rubygems_integration.rb +455 -0
  189. package/lib/ruby/3.4.11/bundler/runtime.rb +320 -0
  190. package/lib/ruby/3.4.11/bundler/safe_marshal.rb +31 -0
  191. package/lib/ruby/3.4.11/bundler/self_manager.rb +206 -0
  192. package/lib/ruby/3.4.11/bundler/settings/validator.rb +102 -0
  193. package/lib/ruby/3.4.11/bundler/settings.rb +599 -0
  194. package/lib/ruby/3.4.11/bundler/setup.rb +39 -0
  195. package/lib/ruby/3.4.11/bundler/shared_helpers.rb +398 -0
  196. package/lib/ruby/3.4.11/bundler/similarity_detector.rb +63 -0
  197. package/lib/ruby/3.4.11/bundler/source/gemspec.rb +15 -0
  198. package/lib/ruby/3.4.11/bundler/source/git/git_proxy.rb +472 -0
  199. package/lib/ruby/3.4.11/bundler/source/git.rb +452 -0
  200. package/lib/ruby/3.4.11/bundler/source/metadata.rb +63 -0
  201. package/lib/ruby/3.4.11/bundler/source/path/installer.rb +53 -0
  202. package/lib/ruby/3.4.11/bundler/source/path.rb +250 -0
  203. package/lib/ruby/3.4.11/bundler/source/rubygems/remote.rb +76 -0
  204. package/lib/ruby/3.4.11/bundler/source/rubygems.rb +522 -0
  205. package/lib/ruby/3.4.11/bundler/source/rubygems_aggregate.rb +68 -0
  206. package/lib/ruby/3.4.11/bundler/source.rb +118 -0
  207. package/lib/ruby/3.4.11/bundler/source_list.rb +273 -0
  208. package/lib/ruby/3.4.11/bundler/source_map.rb +71 -0
  209. package/lib/ruby/3.4.11/bundler/spec_set.rb +395 -0
  210. package/lib/ruby/3.4.11/bundler/stub_specification.rb +146 -0
  211. package/lib/ruby/3.4.11/bundler/templates/.document +1 -0
  212. package/lib/ruby/3.4.11/bundler/templates/Executable +27 -0
  213. package/lib/ruby/3.4.11/bundler/templates/Executable.bundler +109 -0
  214. package/lib/ruby/3.4.11/bundler/templates/Executable.standalone +14 -0
  215. package/lib/ruby/3.4.11/bundler/templates/Gemfile +5 -0
  216. package/lib/ruby/3.4.11/bundler/templates/newgem/CHANGELOG.md.tt +5 -0
  217. package/lib/ruby/3.4.11/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +132 -0
  218. package/lib/ruby/3.4.11/bundler/templates/newgem/Cargo.toml.tt +7 -0
  219. package/lib/ruby/3.4.11/bundler/templates/newgem/Gemfile.tt +24 -0
  220. package/lib/ruby/3.4.11/bundler/templates/newgem/LICENSE.txt.tt +21 -0
  221. package/lib/ruby/3.4.11/bundler/templates/newgem/README.md.tt +49 -0
  222. package/lib/ruby/3.4.11/bundler/templates/newgem/Rakefile.tt +67 -0
  223. package/lib/ruby/3.4.11/bundler/templates/newgem/bin/console.tt +11 -0
  224. package/lib/ruby/3.4.11/bundler/templates/newgem/bin/setup.tt +8 -0
  225. package/lib/ruby/3.4.11/bundler/templates/newgem/circleci/config.yml.tt +25 -0
  226. package/lib/ruby/3.4.11/bundler/templates/newgem/exe/newgem.tt +3 -0
  227. package/lib/ruby/3.4.11/bundler/templates/newgem/ext/newgem/Cargo.toml.tt +15 -0
  228. package/lib/ruby/3.4.11/bundler/templates/newgem/ext/newgem/extconf-c.rb.tt +10 -0
  229. package/lib/ruby/3.4.11/bundler/templates/newgem/ext/newgem/extconf-rust.rb.tt +6 -0
  230. package/lib/ruby/3.4.11/bundler/templates/newgem/ext/newgem/newgem.c.tt +9 -0
  231. package/lib/ruby/3.4.11/bundler/templates/newgem/ext/newgem/newgem.h.tt +6 -0
  232. package/lib/ruby/3.4.11/bundler/templates/newgem/ext/newgem/src/lib.rs.tt +12 -0
  233. package/lib/ruby/3.4.11/bundler/templates/newgem/github/workflows/main.yml.tt +37 -0
  234. package/lib/ruby/3.4.11/bundler/templates/newgem/gitignore.tt +23 -0
  235. package/lib/ruby/3.4.11/bundler/templates/newgem/gitlab-ci.yml.tt +18 -0
  236. package/lib/ruby/3.4.11/bundler/templates/newgem/lib/newgem/version.rb.tt +9 -0
  237. package/lib/ruby/3.4.11/bundler/templates/newgem/lib/newgem.rb.tt +15 -0
  238. package/lib/ruby/3.4.11/bundler/templates/newgem/newgem.gemspec.tt +52 -0
  239. package/lib/ruby/3.4.11/bundler/templates/newgem/rspec.tt +3 -0
  240. package/lib/ruby/3.4.11/bundler/templates/newgem/rubocop.yml.tt +8 -0
  241. package/lib/ruby/3.4.11/bundler/templates/newgem/sig/newgem.rbs.tt +8 -0
  242. package/lib/ruby/3.4.11/bundler/templates/newgem/spec/newgem_spec.rb.tt +11 -0
  243. package/lib/ruby/3.4.11/bundler/templates/newgem/spec/spec_helper.rb.tt +15 -0
  244. package/lib/ruby/3.4.11/bundler/templates/newgem/standard.yml.tt +3 -0
  245. package/lib/ruby/3.4.11/bundler/templates/newgem/test/minitest/test_helper.rb.tt +6 -0
  246. package/lib/ruby/3.4.11/bundler/templates/newgem/test/minitest/test_newgem.rb.tt +13 -0
  247. package/lib/ruby/3.4.11/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt +15 -0
  248. package/lib/ruby/3.4.11/bundler/templates/newgem/test/test-unit/test_helper.rb.tt +6 -0
  249. package/lib/ruby/3.4.11/bundler/ui/rg_proxy.rb +19 -0
  250. package/lib/ruby/3.4.11/bundler/ui/shell.rb +187 -0
  251. package/lib/ruby/3.4.11/bundler/ui/silent.rb +96 -0
  252. package/lib/ruby/3.4.11/bundler/ui.rb +9 -0
  253. package/lib/ruby/3.4.11/bundler/uri_credentials_filter.rb +43 -0
  254. package/lib/ruby/3.4.11/bundler/uri_normalizer.rb +23 -0
  255. package/lib/ruby/3.4.11/bundler/vendor/.document +1 -0
  256. package/lib/ruby/3.4.11/bundler/vendor/connection_pool/.document +1 -0
  257. package/lib/ruby/3.4.11/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +224 -0
  258. package/lib/ruby/3.4.11/bundler/vendor/connection_pool/lib/connection_pool/version.rb +3 -0
  259. package/lib/ruby/3.4.11/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb +56 -0
  260. package/lib/ruby/3.4.11/bundler/vendor/connection_pool/lib/connection_pool.rb +186 -0
  261. package/lib/ruby/3.4.11/bundler/vendor/fileutils/.document +1 -0
  262. package/lib/ruby/3.4.11/bundler/vendor/fileutils/lib/fileutils.rb +2696 -0
  263. package/lib/ruby/3.4.11/bundler/vendor/net-http-persistent/.document +1 -0
  264. package/lib/ruby/3.4.11/bundler/vendor/net-http-persistent/lib/net/http/persistent/connection.rb +41 -0
  265. package/lib/ruby/3.4.11/bundler/vendor/net-http-persistent/lib/net/http/persistent/pool.rb +65 -0
  266. package/lib/ruby/3.4.11/bundler/vendor/net-http-persistent/lib/net/http/persistent/timed_stack_multi.rb +79 -0
  267. package/lib/ruby/3.4.11/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +1111 -0
  268. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/.document +1 -0
  269. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/assignment.rb +20 -0
  270. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/basic_package_source.rb +169 -0
  271. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/failure_writer.rb +182 -0
  272. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/incompatibility.rb +150 -0
  273. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/package.rb +43 -0
  274. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/partial_solution.rb +121 -0
  275. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/rubygems.rb +45 -0
  276. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/solve_failure.rb +19 -0
  277. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb +61 -0
  278. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/strategy.rb +42 -0
  279. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/term.rb +105 -0
  280. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/version.rb +3 -0
  281. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/version_constraint.rb +129 -0
  282. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/version_range.rb +423 -0
  283. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/version_solver.rb +236 -0
  284. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/version_union.rb +178 -0
  285. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub.rb +31 -0
  286. package/lib/ruby/3.4.11/bundler/vendor/securerandom/.document +1 -0
  287. package/lib/ruby/3.4.11/bundler/vendor/securerandom/lib/securerandom.rb +102 -0
  288. package/lib/ruby/3.4.11/bundler/vendor/thor/.document +1 -0
  289. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/actions/create_file.rb +105 -0
  290. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/actions/create_link.rb +61 -0
  291. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/actions/directory.rb +108 -0
  292. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/actions/empty_directory.rb +143 -0
  293. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +371 -0
  294. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +130 -0
  295. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/actions.rb +340 -0
  296. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/base.rb +825 -0
  297. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/command.rb +151 -0
  298. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +107 -0
  299. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/error.rb +106 -0
  300. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/group.rb +292 -0
  301. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/invocation.rb +178 -0
  302. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/line_editor/basic.rb +37 -0
  303. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/line_editor/readline.rb +88 -0
  304. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/line_editor.rb +17 -0
  305. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/nested_context.rb +29 -0
  306. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/parser/argument.rb +86 -0
  307. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/parser/arguments.rb +195 -0
  308. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/parser/option.rb +178 -0
  309. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/parser/options.rb +294 -0
  310. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/parser.rb +4 -0
  311. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/rake_compat.rb +72 -0
  312. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/runner.rb +335 -0
  313. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/shell/basic.rb +388 -0
  314. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/shell/color.rb +112 -0
  315. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/shell/column_printer.rb +29 -0
  316. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/shell/html.rb +81 -0
  317. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/shell/table_printer.rb +118 -0
  318. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/shell/terminal.rb +42 -0
  319. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/shell/wrapped_printer.rb +38 -0
  320. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/shell.rb +81 -0
  321. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/util.rb +285 -0
  322. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/version.rb +3 -0
  323. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor.rb +674 -0
  324. package/lib/ruby/3.4.11/bundler/vendor/tsort/.document +1 -0
  325. package/lib/ruby/3.4.11/bundler/vendor/tsort/lib/tsort.rb +455 -0
  326. package/lib/ruby/3.4.11/bundler/vendor/uri/.document +1 -0
  327. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/common.rb +880 -0
  328. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/file.rb +100 -0
  329. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/ftp.rb +267 -0
  330. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/generic.rb +1592 -0
  331. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/http.rb +125 -0
  332. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/https.rb +23 -0
  333. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/ldap.rb +261 -0
  334. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/ldaps.rb +22 -0
  335. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/mailto.rb +293 -0
  336. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +546 -0
  337. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +206 -0
  338. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/version.rb +6 -0
  339. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/ws.rb +83 -0
  340. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/wss.rb +23 -0
  341. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri.rb +104 -0
  342. package/lib/ruby/3.4.11/bundler/vendored_fileutils.rb +4 -0
  343. package/lib/ruby/3.4.11/bundler/vendored_net_http.rb +23 -0
  344. package/lib/ruby/3.4.11/bundler/vendored_persistent.rb +11 -0
  345. package/lib/ruby/3.4.11/bundler/vendored_pub_grub.rb +4 -0
  346. package/lib/ruby/3.4.11/bundler/vendored_securerandom.rb +12 -0
  347. package/lib/ruby/3.4.11/bundler/vendored_thor.rb +8 -0
  348. package/lib/ruby/3.4.11/bundler/vendored_timeout.rb +12 -0
  349. package/lib/ruby/3.4.11/bundler/vendored_tsort.rb +4 -0
  350. package/lib/ruby/3.4.11/bundler/vendored_uri.rb +21 -0
  351. package/lib/ruby/3.4.11/bundler/version.rb +13 -0
  352. package/lib/ruby/3.4.11/bundler/vlad.rb +17 -0
  353. package/lib/ruby/3.4.11/bundler/worker.rb +117 -0
  354. package/lib/ruby/3.4.11/bundler/yaml_serializer.rb +98 -0
  355. package/lib/ruby/3.4.11/bundler.rb +701 -0
  356. package/lib/ruby/3.4.11/cgi/cgi.gemspec +43 -0
  357. package/lib/ruby/3.4.11/cgi/cookie.rb +210 -0
  358. package/lib/ruby/3.4.11/cgi/core.rb +900 -0
  359. package/lib/ruby/3.4.11/cgi/html.rb +1035 -0
  360. package/lib/ruby/3.4.11/cgi/session/pstore.rb +91 -0
  361. package/lib/ruby/3.4.11/cgi/session.rb +562 -0
  362. package/lib/ruby/3.4.11/cgi/util.rb +258 -0
  363. package/lib/ruby/3.4.11/cgi.rb +297 -0
  364. package/lib/ruby/3.4.11/delegate.gemspec +29 -0
  365. package/lib/ruby/3.4.11/delegate.rb +444 -0
  366. package/lib/ruby/3.4.11/did_you_mean/core_ext/name_error.rb +57 -0
  367. package/lib/ruby/3.4.11/did_you_mean/did_you_mean.gemspec +25 -0
  368. package/lib/ruby/3.4.11/did_you_mean/experimental.rb +2 -0
  369. package/lib/ruby/3.4.11/did_you_mean/formatter.rb +44 -0
  370. package/lib/ruby/3.4.11/did_you_mean/formatters/plain_formatter.rb +4 -0
  371. package/lib/ruby/3.4.11/did_you_mean/formatters/verbose_formatter.rb +10 -0
  372. package/lib/ruby/3.4.11/did_you_mean/jaro_winkler.rb +84 -0
  373. package/lib/ruby/3.4.11/did_you_mean/levenshtein.rb +57 -0
  374. package/lib/ruby/3.4.11/did_you_mean/spell_checker.rb +46 -0
  375. package/lib/ruby/3.4.11/did_you_mean/spell_checkers/key_error_checker.rb +28 -0
  376. package/lib/ruby/3.4.11/did_you_mean/spell_checkers/method_name_checker.rb +79 -0
  377. package/lib/ruby/3.4.11/did_you_mean/spell_checkers/name_error_checkers/class_name_checker.rb +49 -0
  378. package/lib/ruby/3.4.11/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb +85 -0
  379. package/lib/ruby/3.4.11/did_you_mean/spell_checkers/name_error_checkers.rb +20 -0
  380. package/lib/ruby/3.4.11/did_you_mean/spell_checkers/null_checker.rb +6 -0
  381. package/lib/ruby/3.4.11/did_you_mean/spell_checkers/pattern_key_name_checker.rb +28 -0
  382. package/lib/ruby/3.4.11/did_you_mean/spell_checkers/require_path_checker.rb +39 -0
  383. package/lib/ruby/3.4.11/did_you_mean/tree_spell_checker.rb +109 -0
  384. package/lib/ruby/3.4.11/did_you_mean/verbose.rb +2 -0
  385. package/lib/ruby/3.4.11/did_you_mean/version.rb +3 -0
  386. package/lib/ruby/3.4.11/did_you_mean.rb +131 -0
  387. package/lib/ruby/3.4.11/erb/compiler.rb +472 -0
  388. package/lib/ruby/3.4.11/erb/def_method.rb +47 -0
  389. package/lib/ruby/3.4.11/erb/util.rb +63 -0
  390. package/lib/ruby/3.4.11/erb/version.rb +5 -0
  391. package/lib/ruby/3.4.11/erb.gemspec +38 -0
  392. package/lib/ruby/3.4.11/erb.rb +509 -0
  393. package/lib/ruby/3.4.11/error_highlight/base.rb +830 -0
  394. package/lib/ruby/3.4.11/error_highlight/core_ext.rb +47 -0
  395. package/lib/ruby/3.4.11/error_highlight/error_highlight.gemspec +27 -0
  396. package/lib/ruby/3.4.11/error_highlight/formatter.rb +74 -0
  397. package/lib/ruby/3.4.11/error_highlight/version.rb +3 -0
  398. package/lib/ruby/3.4.11/error_highlight.rb +2 -0
  399. package/lib/ruby/3.4.11/fileutils.gemspec +31 -0
  400. package/lib/ruby/3.4.11/fileutils.rb +2696 -0
  401. package/lib/ruby/3.4.11/find.gemspec +29 -0
  402. package/lib/ruby/3.4.11/find.rb +90 -0
  403. package/lib/ruby/3.4.11/forwardable/forwardable.gemspec +26 -0
  404. package/lib/ruby/3.4.11/forwardable/impl.rb +17 -0
  405. package/lib/ruby/3.4.11/forwardable.rb +321 -0
  406. package/lib/ruby/3.4.11/ipaddr.gemspec +36 -0
  407. package/lib/ruby/3.4.11/ipaddr.rb +841 -0
  408. package/lib/ruby/3.4.11/irb/cmd/nop.rb +4 -0
  409. package/lib/ruby/3.4.11/irb/color.rb +262 -0
  410. package/lib/ruby/3.4.11/irb/color_printer.rb +55 -0
  411. package/lib/ruby/3.4.11/irb/command/backtrace.rb +17 -0
  412. package/lib/ruby/3.4.11/irb/command/base.rb +60 -0
  413. package/lib/ruby/3.4.11/irb/command/break.rb +17 -0
  414. package/lib/ruby/3.4.11/irb/command/catch.rb +17 -0
  415. package/lib/ruby/3.4.11/irb/command/cd.rb +51 -0
  416. package/lib/ruby/3.4.11/irb/command/chws.rb +40 -0
  417. package/lib/ruby/3.4.11/irb/command/context.rb +16 -0
  418. package/lib/ruby/3.4.11/irb/command/continue.rb +17 -0
  419. package/lib/ruby/3.4.11/irb/command/debug.rb +73 -0
  420. package/lib/ruby/3.4.11/irb/command/delete.rb +17 -0
  421. package/lib/ruby/3.4.11/irb/command/disable_irb.rb +19 -0
  422. package/lib/ruby/3.4.11/irb/command/edit.rb +63 -0
  423. package/lib/ruby/3.4.11/irb/command/exit.rb +18 -0
  424. package/lib/ruby/3.4.11/irb/command/finish.rb +17 -0
  425. package/lib/ruby/3.4.11/irb/command/force_exit.rb +18 -0
  426. package/lib/ruby/3.4.11/irb/command/help.rb +83 -0
  427. package/lib/ruby/3.4.11/irb/command/history.rb +45 -0
  428. package/lib/ruby/3.4.11/irb/command/info.rb +17 -0
  429. package/lib/ruby/3.4.11/irb/command/internal_helpers.rb +27 -0
  430. package/lib/ruby/3.4.11/irb/command/irb_info.rb +33 -0
  431. package/lib/ruby/3.4.11/irb/command/load.rb +91 -0
  432. package/lib/ruby/3.4.11/irb/command/ls.rb +167 -0
  433. package/lib/ruby/3.4.11/irb/command/measure.rb +49 -0
  434. package/lib/ruby/3.4.11/irb/command/next.rb +17 -0
  435. package/lib/ruby/3.4.11/irb/command/pushws.rb +65 -0
  436. package/lib/ruby/3.4.11/irb/command/show_doc.rb +51 -0
  437. package/lib/ruby/3.4.11/irb/command/show_source.rb +74 -0
  438. package/lib/ruby/3.4.11/irb/command/step.rb +17 -0
  439. package/lib/ruby/3.4.11/irb/command/subirb.rb +123 -0
  440. package/lib/ruby/3.4.11/irb/command/whereami.rb +23 -0
  441. package/lib/ruby/3.4.11/irb/command.rb +23 -0
  442. package/lib/ruby/3.4.11/irb/completion.rb +504 -0
  443. package/lib/ruby/3.4.11/irb/context.rb +716 -0
  444. package/lib/ruby/3.4.11/irb/debug/ui.rb +101 -0
  445. package/lib/ruby/3.4.11/irb/debug.rb +127 -0
  446. package/lib/ruby/3.4.11/irb/default_commands.rb +276 -0
  447. package/lib/ruby/3.4.11/irb/easter-egg.rb +152 -0
  448. package/lib/ruby/3.4.11/irb/ext/change-ws.rb +37 -0
  449. package/lib/ruby/3.4.11/irb/ext/eval_history.rb +149 -0
  450. package/lib/ruby/3.4.11/irb/ext/loader.rb +127 -0
  451. package/lib/ruby/3.4.11/irb/ext/multi-irb.rb +258 -0
  452. package/lib/ruby/3.4.11/irb/ext/tracer.rb +39 -0
  453. package/lib/ruby/3.4.11/irb/ext/use-loader.rb +67 -0
  454. package/lib/ruby/3.4.11/irb/ext/workspaces.rb +36 -0
  455. package/lib/ruby/3.4.11/irb/frame.rb +80 -0
  456. package/lib/ruby/3.4.11/irb/help.rb +28 -0
  457. package/lib/ruby/3.4.11/irb/helper_method/base.rb +16 -0
  458. package/lib/ruby/3.4.11/irb/helper_method/conf.rb +11 -0
  459. package/lib/ruby/3.4.11/irb/helper_method.rb +29 -0
  460. package/lib/ruby/3.4.11/irb/history.rb +112 -0
  461. package/lib/ruby/3.4.11/irb/init.rb +538 -0
  462. package/lib/ruby/3.4.11/irb/input-method.rb +515 -0
  463. package/lib/ruby/3.4.11/irb/inspector.rb +131 -0
  464. package/lib/ruby/3.4.11/irb/irb.gemspec +46 -0
  465. package/lib/ruby/3.4.11/irb/lc/error.rb +52 -0
  466. package/lib/ruby/3.4.11/irb/lc/help-message +55 -0
  467. package/lib/ruby/3.4.11/irb/lc/ja/error.rb +53 -0
  468. package/lib/ruby/3.4.11/irb/lc/ja/help-message +58 -0
  469. package/lib/ruby/3.4.11/irb/locale.rb +153 -0
  470. package/lib/ruby/3.4.11/irb/nesting_parser.rb +239 -0
  471. package/lib/ruby/3.4.11/irb/notifier.rb +230 -0
  472. package/lib/ruby/3.4.11/irb/output-method.rb +80 -0
  473. package/lib/ruby/3.4.11/irb/pager.rb +100 -0
  474. package/lib/ruby/3.4.11/irb/ruby-lex.rb +476 -0
  475. package/lib/ruby/3.4.11/irb/ruby_logo.aa +118 -0
  476. package/lib/ruby/3.4.11/irb/source_finder.rb +138 -0
  477. package/lib/ruby/3.4.11/irb/statement.rb +80 -0
  478. package/lib/ruby/3.4.11/irb/version.rb +11 -0
  479. package/lib/ruby/3.4.11/irb/workspace.rb +171 -0
  480. package/lib/ruby/3.4.11/irb/ws-for-case-2.rb +9 -0
  481. package/lib/ruby/3.4.11/irb/xmp.rb +164 -0
  482. package/lib/ruby/3.4.11/irb.rb +1593 -0
  483. package/lib/ruby/3.4.11/logger/errors.rb +9 -0
  484. package/lib/ruby/3.4.11/logger/formatter.rb +36 -0
  485. package/lib/ruby/3.4.11/logger/log_device.rb +236 -0
  486. package/lib/ruby/3.4.11/logger/logger.gemspec +22 -0
  487. package/lib/ruby/3.4.11/logger/period.rb +47 -0
  488. package/lib/ruby/3.4.11/logger/severity.rb +38 -0
  489. package/lib/ruby/3.4.11/logger/version.rb +5 -0
  490. package/lib/ruby/3.4.11/logger.rb +761 -0
  491. package/lib/ruby/3.4.11/mkmf.rb +3045 -0
  492. package/lib/ruby/3.4.11/net/http/exceptions.rb +34 -0
  493. package/lib/ruby/3.4.11/net/http/generic_request.rb +414 -0
  494. package/lib/ruby/3.4.11/net/http/header.rb +981 -0
  495. package/lib/ruby/3.4.11/net/http/net-http.gemspec +39 -0
  496. package/lib/ruby/3.4.11/net/http/proxy_delta.rb +17 -0
  497. package/lib/ruby/3.4.11/net/http/request.rb +88 -0
  498. package/lib/ruby/3.4.11/net/http/requests.rb +430 -0
  499. package/lib/ruby/3.4.11/net/http/response.rb +738 -0
  500. package/lib/ruby/3.4.11/net/http/responses.rb +1174 -0
  501. package/lib/ruby/3.4.11/net/http/status.rb +84 -0
  502. package/lib/ruby/3.4.11/net/http.rb +2574 -0
  503. package/lib/ruby/3.4.11/net/https.rb +23 -0
  504. package/lib/ruby/3.4.11/net/net-protocol.gemspec +34 -0
  505. package/lib/ruby/3.4.11/net/protocol.rb +544 -0
  506. package/lib/ruby/3.4.11/open-uri.gemspec +32 -0
  507. package/lib/ruby/3.4.11/open-uri.rb +895 -0
  508. package/lib/ruby/3.4.11/open3/open3.gemspec +33 -0
  509. package/lib/ruby/3.4.11/open3/version.rb +3 -0
  510. package/lib/ruby/3.4.11/open3.rb +1410 -0
  511. package/lib/ruby/3.4.11/optionparser.rb +2 -0
  512. package/lib/ruby/3.4.11/optparse/ac.rb +70 -0
  513. package/lib/ruby/3.4.11/optparse/date.rb +18 -0
  514. package/lib/ruby/3.4.11/optparse/kwargs.rb +27 -0
  515. package/lib/ruby/3.4.11/optparse/optparse.gemspec +31 -0
  516. package/lib/ruby/3.4.11/optparse/shellwords.rb +7 -0
  517. package/lib/ruby/3.4.11/optparse/time.rb +11 -0
  518. package/lib/ruby/3.4.11/optparse/uri.rb +7 -0
  519. package/lib/ruby/3.4.11/optparse/version.rb +80 -0
  520. package/lib/ruby/3.4.11/optparse.rb +2429 -0
  521. package/lib/ruby/3.4.11/ostruct.gemspec +24 -0
  522. package/lib/ruby/3.4.11/ostruct.rb +489 -0
  523. package/lib/ruby/3.4.11/pp.gemspec +35 -0
  524. package/lib/ruby/3.4.11/pp.rb +699 -0
  525. package/lib/ruby/3.4.11/prettyprint.gemspec +29 -0
  526. package/lib/ruby/3.4.11/prettyprint.rb +558 -0
  527. package/lib/ruby/3.4.11/prism/compiler.rb +801 -0
  528. package/lib/ruby/3.4.11/prism/desugar_compiler.rb +392 -0
  529. package/lib/ruby/3.4.11/prism/dispatcher.rb +2210 -0
  530. package/lib/ruby/3.4.11/prism/dsl.rb +1003 -0
  531. package/lib/ruby/3.4.11/prism/ffi.rb +570 -0
  532. package/lib/ruby/3.4.11/prism/inspect_visitor.rb +2392 -0
  533. package/lib/ruby/3.4.11/prism/lex_compat.rb +928 -0
  534. package/lib/ruby/3.4.11/prism/mutation_compiler.rb +772 -0
  535. package/lib/ruby/3.4.11/prism/node.rb +18816 -0
  536. package/lib/ruby/3.4.11/prism/node_ext.rb +511 -0
  537. package/lib/ruby/3.4.11/prism/pack.rb +230 -0
  538. package/lib/ruby/3.4.11/prism/parse_result/comments.rb +188 -0
  539. package/lib/ruby/3.4.11/prism/parse_result/errors.rb +66 -0
  540. package/lib/ruby/3.4.11/prism/parse_result/newlines.rb +155 -0
  541. package/lib/ruby/3.4.11/prism/parse_result.rb +911 -0
  542. package/lib/ruby/3.4.11/prism/pattern.rb +269 -0
  543. package/lib/ruby/3.4.11/prism/polyfill/append_as_bytes.rb +15 -0
  544. package/lib/ruby/3.4.11/prism/polyfill/byteindex.rb +13 -0
  545. package/lib/ruby/3.4.11/prism/polyfill/scan_byte.rb +14 -0
  546. package/lib/ruby/3.4.11/prism/polyfill/unpack1.rb +14 -0
  547. package/lib/ruby/3.4.11/prism/polyfill/warn.rb +36 -0
  548. package/lib/ruby/3.4.11/prism/prism.gemspec +174 -0
  549. package/lib/ruby/3.4.11/prism/reflection.rb +416 -0
  550. package/lib/ruby/3.4.11/prism/relocation.rb +505 -0
  551. package/lib/ruby/3.4.11/prism/serialize.rb +2400 -0
  552. package/lib/ruby/3.4.11/prism/string_query.rb +31 -0
  553. package/lib/ruby/3.4.11/prism/translation/parser/builder.rb +62 -0
  554. package/lib/ruby/3.4.11/prism/translation/parser/compiler.rb +2234 -0
  555. package/lib/ruby/3.4.11/prism/translation/parser/lexer.rb +820 -0
  556. package/lib/ruby/3.4.11/prism/translation/parser.rb +374 -0
  557. package/lib/ruby/3.4.11/prism/translation/parser33.rb +13 -0
  558. package/lib/ruby/3.4.11/prism/translation/parser34.rb +13 -0
  559. package/lib/ruby/3.4.11/prism/translation/parser35.rb +13 -0
  560. package/lib/ruby/3.4.11/prism/translation/parser_current.rb +24 -0
  561. package/lib/ruby/3.4.11/prism/translation/ripper/sexp.rb +126 -0
  562. package/lib/ruby/3.4.11/prism/translation/ripper/shim.rb +5 -0
  563. package/lib/ruby/3.4.11/prism/translation/ripper.rb +3474 -0
  564. package/lib/ruby/3.4.11/prism/translation/ruby_parser.rb +1929 -0
  565. package/lib/ruby/3.4.11/prism/translation.rb +16 -0
  566. package/lib/ruby/3.4.11/prism/visitor.rb +813 -0
  567. package/lib/ruby/3.4.11/prism.rb +91 -0
  568. package/lib/ruby/3.4.11/pstore.gemspec +32 -0
  569. package/lib/ruby/3.4.11/pstore.rb +736 -0
  570. package/lib/ruby/3.4.11/random/formatter.rb +372 -0
  571. package/lib/ruby/3.4.11/rbconfig.rb +366 -0
  572. package/lib/ruby/3.4.11/rdoc/.document +2 -0
  573. package/lib/ruby/3.4.11/rdoc/code_object/alias.rb +104 -0
  574. package/lib/ruby/3.4.11/rdoc/code_object/anon_class.rb +10 -0
  575. package/lib/ruby/3.4.11/rdoc/code_object/any_method.rb +374 -0
  576. package/lib/ruby/3.4.11/rdoc/code_object/attr.rb +172 -0
  577. package/lib/ruby/3.4.11/rdoc/code_object/class_module.rb +888 -0
  578. package/lib/ruby/3.4.11/rdoc/code_object/constant.rb +186 -0
  579. package/lib/ruby/3.4.11/rdoc/code_object/context/section.rb +175 -0
  580. package/lib/ruby/3.4.11/rdoc/code_object/context.rb +1222 -0
  581. package/lib/ruby/3.4.11/rdoc/code_object/extend.rb +9 -0
  582. package/lib/ruby/3.4.11/rdoc/code_object/ghost_method.rb +6 -0
  583. package/lib/ruby/3.4.11/rdoc/code_object/include.rb +9 -0
  584. package/lib/ruby/3.4.11/rdoc/code_object/meta_method.rb +6 -0
  585. package/lib/ruby/3.4.11/rdoc/code_object/method_attr.rb +410 -0
  586. package/lib/ruby/3.4.11/rdoc/code_object/mixin.rb +120 -0
  587. package/lib/ruby/3.4.11/rdoc/code_object/normal_class.rb +92 -0
  588. package/lib/ruby/3.4.11/rdoc/code_object/normal_module.rb +73 -0
  589. package/lib/ruby/3.4.11/rdoc/code_object/require.rb +51 -0
  590. package/lib/ruby/3.4.11/rdoc/code_object/single_class.rb +30 -0
  591. package/lib/ruby/3.4.11/rdoc/code_object/top_level.rb +273 -0
  592. package/lib/ruby/3.4.11/rdoc/code_object.rb +395 -0
  593. package/lib/ruby/3.4.11/rdoc/code_objects.rb +5 -0
  594. package/lib/ruby/3.4.11/rdoc/comment.rb +236 -0
  595. package/lib/ruby/3.4.11/rdoc/cross_reference.rb +228 -0
  596. package/lib/ruby/3.4.11/rdoc/encoding.rb +120 -0
  597. package/lib/ruby/3.4.11/rdoc/erb_partial.rb +18 -0
  598. package/lib/ruby/3.4.11/rdoc/erbio.rb +37 -0
  599. package/lib/ruby/3.4.11/rdoc/generator/darkfish.rb +812 -0
  600. package/lib/ruby/3.4.11/rdoc/generator/json_index.rb +284 -0
  601. package/lib/ruby/3.4.11/rdoc/generator/markup.rb +171 -0
  602. package/lib/ruby/3.4.11/rdoc/generator/pot/message_extractor.rb +68 -0
  603. package/lib/ruby/3.4.11/rdoc/generator/pot/po.rb +84 -0
  604. package/lib/ruby/3.4.11/rdoc/generator/pot/po_entry.rb +141 -0
  605. package/lib/ruby/3.4.11/rdoc/generator/pot.rb +94 -0
  606. package/lib/ruby/3.4.11/rdoc/generator/ri.rb +30 -0
  607. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/.document +0 -0
  608. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_footer.rhtml +5 -0
  609. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_head.rhtml +48 -0
  610. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_sidebar_classes.rhtml +5 -0
  611. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_sidebar_extends.rhtml +15 -0
  612. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_sidebar_includes.rhtml +15 -0
  613. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_sidebar_installed.rhtml +15 -0
  614. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_sidebar_methods.rhtml +21 -0
  615. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_sidebar_navigation.rhtml +11 -0
  616. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_sidebar_pages.rhtml +32 -0
  617. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_sidebar_parent.rhtml +6 -0
  618. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_sidebar_search.rhtml +14 -0
  619. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_sidebar_sections.rhtml +11 -0
  620. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml +39 -0
  621. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_sidebar_toggle.rhtml +3 -0
  622. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/class.rhtml +221 -0
  623. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/css/fonts.css +167 -0
  624. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/css/rdoc.css +683 -0
  625. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/fonts/Lato-Light.ttf +0 -0
  626. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/fonts/Lato-LightItalic.ttf +0 -0
  627. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/fonts/Lato-Regular.ttf +0 -0
  628. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/fonts/Lato-RegularItalic.ttf +0 -0
  629. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/fonts/SourceCodePro-Bold.ttf +0 -0
  630. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/fonts/SourceCodePro-Regular.ttf +0 -0
  631. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/add.png +0 -0
  632. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/arrow_up.png +0 -0
  633. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/brick.png +0 -0
  634. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/brick_link.png +0 -0
  635. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/bug.png +0 -0
  636. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/bullet_black.png +0 -0
  637. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/bullet_toggle_minus.png +0 -0
  638. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/bullet_toggle_plus.png +0 -0
  639. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/date.png +0 -0
  640. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/delete.png +0 -0
  641. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/find.png +0 -0
  642. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/loadingAnimation.gif +0 -0
  643. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/macFFBgHack.png +0 -0
  644. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/package.png +0 -0
  645. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/page_green.png +0 -0
  646. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/page_white_text.png +0 -0
  647. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/page_white_width.png +0 -0
  648. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/plugin.png +0 -0
  649. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/ruby.png +0 -0
  650. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/tag_blue.png +0 -0
  651. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/tag_green.png +0 -0
  652. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/transparent.png +0 -0
  653. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/wrench.png +0 -0
  654. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/wrench_orange.png +0 -0
  655. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/zoom.png +0 -0
  656. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/index.rhtml +23 -0
  657. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/js/darkfish.js +120 -0
  658. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/js/search.js +110 -0
  659. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/page.rhtml +18 -0
  660. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/servlet_not_found.rhtml +20 -0
  661. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/servlet_root.rhtml +65 -0
  662. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/table_of_contents.rhtml +70 -0
  663. package/lib/ruby/3.4.11/rdoc/generator/template/json_index/.document +1 -0
  664. package/lib/ruby/3.4.11/rdoc/generator/template/json_index/js/navigation.js +105 -0
  665. package/lib/ruby/3.4.11/rdoc/generator/template/json_index/js/searcher.js +229 -0
  666. package/lib/ruby/3.4.11/rdoc/generator.rb +51 -0
  667. package/lib/ruby/3.4.11/rdoc/i18n/locale.rb +102 -0
  668. package/lib/ruby/3.4.11/rdoc/i18n/text.rb +126 -0
  669. package/lib/ruby/3.4.11/rdoc/i18n.rb +10 -0
  670. package/lib/ruby/3.4.11/rdoc/known_classes.rb +74 -0
  671. package/lib/ruby/3.4.11/rdoc/markdown/.document +1 -0
  672. package/lib/ruby/3.4.11/rdoc/markdown/entities.rb +2131 -0
  673. package/lib/ruby/3.4.11/rdoc/markdown/literals.rb +454 -0
  674. package/lib/ruby/3.4.11/rdoc/markdown.rb +16806 -0
  675. package/lib/ruby/3.4.11/rdoc/markup/attr_changer.rb +22 -0
  676. package/lib/ruby/3.4.11/rdoc/markup/attr_span.rb +35 -0
  677. package/lib/ruby/3.4.11/rdoc/markup/attribute_manager.rb +405 -0
  678. package/lib/ruby/3.4.11/rdoc/markup/attributes.rb +70 -0
  679. package/lib/ruby/3.4.11/rdoc/markup/blank_line.rb +27 -0
  680. package/lib/ruby/3.4.11/rdoc/markup/block_quote.rb +14 -0
  681. package/lib/ruby/3.4.11/rdoc/markup/document.rb +164 -0
  682. package/lib/ruby/3.4.11/rdoc/markup/formatter.rb +272 -0
  683. package/lib/ruby/3.4.11/rdoc/markup/hard_break.rb +31 -0
  684. package/lib/ruby/3.4.11/rdoc/markup/heading.rb +84 -0
  685. package/lib/ruby/3.4.11/rdoc/markup/include.rb +42 -0
  686. package/lib/ruby/3.4.11/rdoc/markup/indented_paragraph.rb +47 -0
  687. package/lib/ruby/3.4.11/rdoc/markup/list.rb +101 -0
  688. package/lib/ruby/3.4.11/rdoc/markup/list_item.rb +99 -0
  689. package/lib/ruby/3.4.11/rdoc/markup/paragraph.rb +28 -0
  690. package/lib/ruby/3.4.11/rdoc/markup/parser.rb +585 -0
  691. package/lib/ruby/3.4.11/rdoc/markup/pre_process.rb +318 -0
  692. package/lib/ruby/3.4.11/rdoc/markup/raw.rb +69 -0
  693. package/lib/ruby/3.4.11/rdoc/markup/regexp_handling.rb +40 -0
  694. package/lib/ruby/3.4.11/rdoc/markup/rule.rb +20 -0
  695. package/lib/ruby/3.4.11/rdoc/markup/table.rb +56 -0
  696. package/lib/ruby/3.4.11/rdoc/markup/to_ansi.rb +93 -0
  697. package/lib/ruby/3.4.11/rdoc/markup/to_bs.rb +102 -0
  698. package/lib/ruby/3.4.11/rdoc/markup/to_html.rb +462 -0
  699. package/lib/ruby/3.4.11/rdoc/markup/to_html_crossref.rb +226 -0
  700. package/lib/ruby/3.4.11/rdoc/markup/to_html_snippet.rb +287 -0
  701. package/lib/ruby/3.4.11/rdoc/markup/to_joined_paragraph.rb +46 -0
  702. package/lib/ruby/3.4.11/rdoc/markup/to_label.rb +74 -0
  703. package/lib/ruby/3.4.11/rdoc/markup/to_markdown.rb +191 -0
  704. package/lib/ruby/3.4.11/rdoc/markup/to_rdoc.rb +353 -0
  705. package/lib/ruby/3.4.11/rdoc/markup/to_table_of_contents.rb +88 -0
  706. package/lib/ruby/3.4.11/rdoc/markup/to_test.rb +69 -0
  707. package/lib/ruby/3.4.11/rdoc/markup/to_tt_only.rb +120 -0
  708. package/lib/ruby/3.4.11/rdoc/markup/verbatim.rb +83 -0
  709. package/lib/ruby/3.4.11/rdoc/markup.rb +240 -0
  710. package/lib/ruby/3.4.11/rdoc/options.rb +1416 -0
  711. package/lib/ruby/3.4.11/rdoc/parser/c.rb +1257 -0
  712. package/lib/ruby/3.4.11/rdoc/parser/changelog.rb +350 -0
  713. package/lib/ruby/3.4.11/rdoc/parser/markdown.rb +22 -0
  714. package/lib/ruby/3.4.11/rdoc/parser/prism_ruby.rb +1092 -0
  715. package/lib/ruby/3.4.11/rdoc/parser/rd.rb +22 -0
  716. package/lib/ruby/3.4.11/rdoc/parser/ripper_state_lex.rb +302 -0
  717. package/lib/ruby/3.4.11/rdoc/parser/ruby.rb +2378 -0
  718. package/lib/ruby/3.4.11/rdoc/parser/ruby_tools.rb +165 -0
  719. package/lib/ruby/3.4.11/rdoc/parser/simple.rb +61 -0
  720. package/lib/ruby/3.4.11/rdoc/parser/text.rb +11 -0
  721. package/lib/ruby/3.4.11/rdoc/parser.rb +297 -0
  722. package/lib/ruby/3.4.11/rdoc/rd/.document +1 -0
  723. package/lib/ruby/3.4.11/rdoc/rd/block_parser.rb +1706 -0
  724. package/lib/ruby/3.4.11/rdoc/rd/inline.rb +71 -0
  725. package/lib/ruby/3.4.11/rdoc/rd/inline_parser.rb +1854 -0
  726. package/lib/ruby/3.4.11/rdoc/rd.rb +99 -0
  727. package/lib/ruby/3.4.11/rdoc/rdoc.gemspec +68 -0
  728. package/lib/ruby/3.4.11/rdoc/rdoc.rb +551 -0
  729. package/lib/ruby/3.4.11/rdoc/ri/driver.rb +1566 -0
  730. package/lib/ruby/3.4.11/rdoc/ri/formatter.rb +6 -0
  731. package/lib/ruby/3.4.11/rdoc/ri/paths.rb +171 -0
  732. package/lib/ruby/3.4.11/rdoc/ri/store.rb +6 -0
  733. package/lib/ruby/3.4.11/rdoc/ri/task.rb +71 -0
  734. package/lib/ruby/3.4.11/rdoc/ri.rb +20 -0
  735. package/lib/ruby/3.4.11/rdoc/rubygems_hook.rb +327 -0
  736. package/lib/ruby/3.4.11/rdoc/servlet.rb +452 -0
  737. package/lib/ruby/3.4.11/rdoc/stats/normal.rb +58 -0
  738. package/lib/ruby/3.4.11/rdoc/stats/quiet.rb +59 -0
  739. package/lib/ruby/3.4.11/rdoc/stats/verbose.rb +44 -0
  740. package/lib/ruby/3.4.11/rdoc/stats.rb +461 -0
  741. package/lib/ruby/3.4.11/rdoc/store.rb +997 -0
  742. package/lib/ruby/3.4.11/rdoc/task.rb +354 -0
  743. package/lib/ruby/3.4.11/rdoc/text.rb +322 -0
  744. package/lib/ruby/3.4.11/rdoc/token_stream.rb +118 -0
  745. package/lib/ruby/3.4.11/rdoc/tom_doc.rb +257 -0
  746. package/lib/ruby/3.4.11/rdoc/version.rb +10 -0
  747. package/lib/ruby/3.4.11/rdoc.rb +211 -0
  748. package/lib/ruby/3.4.11/readline.gemspec +33 -0
  749. package/lib/ruby/3.4.11/readline.rb +7 -0
  750. package/lib/ruby/3.4.11/reline/config.rb +373 -0
  751. package/lib/ruby/3.4.11/reline/face.rb +199 -0
  752. package/lib/ruby/3.4.11/reline/history.rb +76 -0
  753. package/lib/ruby/3.4.11/reline/io/ansi.rb +325 -0
  754. package/lib/ruby/3.4.11/reline/io/dumb.rb +120 -0
  755. package/lib/ruby/3.4.11/reline/io/windows.rb +530 -0
  756. package/lib/ruby/3.4.11/reline/io.rb +55 -0
  757. package/lib/ruby/3.4.11/reline/key_actor/base.rb +37 -0
  758. package/lib/ruby/3.4.11/reline/key_actor/composite.rb +17 -0
  759. package/lib/ruby/3.4.11/reline/key_actor/emacs.rb +517 -0
  760. package/lib/ruby/3.4.11/reline/key_actor/vi_command.rb +518 -0
  761. package/lib/ruby/3.4.11/reline/key_actor/vi_insert.rb +517 -0
  762. package/lib/ruby/3.4.11/reline/key_actor.rb +8 -0
  763. package/lib/ruby/3.4.11/reline/key_stroke.rb +119 -0
  764. package/lib/ruby/3.4.11/reline/kill_ring.rb +125 -0
  765. package/lib/ruby/3.4.11/reline/line_editor.rb +2382 -0
  766. package/lib/ruby/3.4.11/reline/reline.gemspec +30 -0
  767. package/lib/ruby/3.4.11/reline/unicode/east_asian_width.rb +1267 -0
  768. package/lib/ruby/3.4.11/reline/unicode.rb +415 -0
  769. package/lib/ruby/3.4.11/reline/version.rb +3 -0
  770. package/lib/ruby/3.4.11/reline.rb +519 -0
  771. package/lib/ruby/3.4.11/resolv.gemspec +30 -0
  772. package/lib/ruby/3.4.11/resolv.rb +3587 -0
  773. package/lib/ruby/3.4.11/ruby2_keywords.gemspec +23 -0
  774. package/lib/ruby/3.4.11/ruby_vm/rjit/.document +1 -0
  775. package/lib/ruby/3.4.11/ruby_vm/rjit/assembler.rb +1160 -0
  776. package/lib/ruby/3.4.11/ruby_vm/rjit/block.rb +11 -0
  777. package/lib/ruby/3.4.11/ruby_vm/rjit/branch_stub.rb +24 -0
  778. package/lib/ruby/3.4.11/ruby_vm/rjit/c_pointer.rb +394 -0
  779. package/lib/ruby/3.4.11/ruby_vm/rjit/c_type.rb +99 -0
  780. package/lib/ruby/3.4.11/ruby_vm/rjit/code_block.rb +91 -0
  781. package/lib/ruby/3.4.11/ruby_vm/rjit/compiler.rb +518 -0
  782. package/lib/ruby/3.4.11/ruby_vm/rjit/context.rb +377 -0
  783. package/lib/ruby/3.4.11/ruby_vm/rjit/entry_stub.rb +7 -0
  784. package/lib/ruby/3.4.11/ruby_vm/rjit/exit_compiler.rb +164 -0
  785. package/lib/ruby/3.4.11/ruby_vm/rjit/hooks.rb +36 -0
  786. package/lib/ruby/3.4.11/ruby_vm/rjit/insn_compiler.rb +6046 -0
  787. package/lib/ruby/3.4.11/ruby_vm/rjit/instruction.rb +1326 -0
  788. package/lib/ruby/3.4.11/ruby_vm/rjit/invariants.rb +155 -0
  789. package/lib/ruby/3.4.11/ruby_vm/rjit/jit_state.rb +65 -0
  790. package/lib/ruby/3.4.11/ruby_vm/rjit/stats.rb +191 -0
  791. package/lib/ruby/3.4.11/ruby_vm/rjit/type.rb +221 -0
  792. package/lib/ruby/3.4.11/rubygems/available_set.rb +165 -0
  793. package/lib/ruby/3.4.11/rubygems/basic_specification.rb +383 -0
  794. package/lib/ruby/3.4.11/rubygems/bundler_version_finder.rb +77 -0
  795. package/lib/ruby/3.4.11/rubygems/ci_detector.rb +75 -0
  796. package/lib/ruby/3.4.11/rubygems/command.rb +664 -0
  797. package/lib/ruby/3.4.11/rubygems/command_manager.rb +255 -0
  798. package/lib/ruby/3.4.11/rubygems/commands/build_command.rb +127 -0
  799. package/lib/ruby/3.4.11/rubygems/commands/cert_command.rb +325 -0
  800. package/lib/ruby/3.4.11/rubygems/commands/check_command.rb +97 -0
  801. package/lib/ruby/3.4.11/rubygems/commands/cleanup_command.rb +178 -0
  802. package/lib/ruby/3.4.11/rubygems/commands/contents_command.rb +196 -0
  803. package/lib/ruby/3.4.11/rubygems/commands/dependency_command.rb +206 -0
  804. package/lib/ruby/3.4.11/rubygems/commands/environment_command.rb +181 -0
  805. package/lib/ruby/3.4.11/rubygems/commands/exec_command.rb +256 -0
  806. package/lib/ruby/3.4.11/rubygems/commands/fetch_command.rb +109 -0
  807. package/lib/ruby/3.4.11/rubygems/commands/generate_index_command.rb +51 -0
  808. package/lib/ruby/3.4.11/rubygems/commands/help_command.rb +375 -0
  809. package/lib/ruby/3.4.11/rubygems/commands/info_command.rb +38 -0
  810. package/lib/ruby/3.4.11/rubygems/commands/install_command.rb +269 -0
  811. package/lib/ruby/3.4.11/rubygems/commands/list_command.rb +42 -0
  812. package/lib/ruby/3.4.11/rubygems/commands/lock_command.rb +109 -0
  813. package/lib/ruby/3.4.11/rubygems/commands/mirror_command.rb +26 -0
  814. package/lib/ruby/3.4.11/rubygems/commands/open_command.rb +83 -0
  815. package/lib/ruby/3.4.11/rubygems/commands/outdated_command.rb +33 -0
  816. package/lib/ruby/3.4.11/rubygems/commands/owner_command.rb +124 -0
  817. package/lib/ruby/3.4.11/rubygems/commands/pristine_command.rb +217 -0
  818. package/lib/ruby/3.4.11/rubygems/commands/push_command.rb +135 -0
  819. package/lib/ruby/3.4.11/rubygems/commands/query_command.rb +43 -0
  820. package/lib/ruby/3.4.11/rubygems/commands/rdoc_command.rb +90 -0
  821. package/lib/ruby/3.4.11/rubygems/commands/rebuild_command.rb +262 -0
  822. package/lib/ruby/3.4.11/rubygems/commands/search_command.rb +41 -0
  823. package/lib/ruby/3.4.11/rubygems/commands/server_command.rb +26 -0
  824. package/lib/ruby/3.4.11/rubygems/commands/setup_command.rb +663 -0
  825. package/lib/ruby/3.4.11/rubygems/commands/signin_command.rb +34 -0
  826. package/lib/ruby/3.4.11/rubygems/commands/signout_command.rb +32 -0
  827. package/lib/ruby/3.4.11/rubygems/commands/sources_command.rb +227 -0
  828. package/lib/ruby/3.4.11/rubygems/commands/specification_command.rb +156 -0
  829. package/lib/ruby/3.4.11/rubygems/commands/stale_command.rb +40 -0
  830. package/lib/ruby/3.4.11/rubygems/commands/uninstall_command.rb +204 -0
  831. package/lib/ruby/3.4.11/rubygems/commands/unpack_command.rb +168 -0
  832. package/lib/ruby/3.4.11/rubygems/commands/update_command.rb +326 -0
  833. package/lib/ruby/3.4.11/rubygems/commands/which_command.rb +88 -0
  834. package/lib/ruby/3.4.11/rubygems/commands/yank_command.rb +99 -0
  835. package/lib/ruby/3.4.11/rubygems/compatibility.rb +41 -0
  836. package/lib/ruby/3.4.11/rubygems/config_file.rb +618 -0
  837. package/lib/ruby/3.4.11/rubygems/core_ext/kernel_gem.rb +68 -0
  838. package/lib/ruby/3.4.11/rubygems/core_ext/kernel_require.rb +149 -0
  839. package/lib/ruby/3.4.11/rubygems/core_ext/kernel_warn.rb +45 -0
  840. package/lib/ruby/3.4.11/rubygems/core_ext/tcpsocket_init.rb +54 -0
  841. package/lib/ruby/3.4.11/rubygems/defaults.rb +308 -0
  842. package/lib/ruby/3.4.11/rubygems/dependency.rb +348 -0
  843. package/lib/ruby/3.4.11/rubygems/dependency_installer.rb +335 -0
  844. package/lib/ruby/3.4.11/rubygems/dependency_list.rb +243 -0
  845. package/lib/ruby/3.4.11/rubygems/deprecate.rb +169 -0
  846. package/lib/ruby/3.4.11/rubygems/doctor.rb +132 -0
  847. package/lib/ruby/3.4.11/rubygems/errors.rb +177 -0
  848. package/lib/ruby/3.4.11/rubygems/exceptions.rb +293 -0
  849. package/lib/ruby/3.4.11/rubygems/ext/build_error.rb +9 -0
  850. package/lib/ruby/3.4.11/rubygems/ext/builder.rb +260 -0
  851. package/lib/ruby/3.4.11/rubygems/ext/cargo_builder/link_flag_converter.rb +27 -0
  852. package/lib/ruby/3.4.11/rubygems/ext/cargo_builder.rb +346 -0
  853. package/lib/ruby/3.4.11/rubygems/ext/cmake_builder.rb +21 -0
  854. package/lib/ruby/3.4.11/rubygems/ext/configure_builder.rb +26 -0
  855. package/lib/ruby/3.4.11/rubygems/ext/ext_conf_builder.rb +77 -0
  856. package/lib/ruby/3.4.11/rubygems/ext/rake_builder.rb +37 -0
  857. package/lib/ruby/3.4.11/rubygems/ext.rb +20 -0
  858. package/lib/ruby/3.4.11/rubygems/gem_runner.rb +89 -0
  859. package/lib/ruby/3.4.11/rubygems/gemcutter_utilities/webauthn_listener/response.rb +163 -0
  860. package/lib/ruby/3.4.11/rubygems/gemcutter_utilities/webauthn_listener.rb +105 -0
  861. package/lib/ruby/3.4.11/rubygems/gemcutter_utilities/webauthn_poller.rb +80 -0
  862. package/lib/ruby/3.4.11/rubygems/gemcutter_utilities.rb +397 -0
  863. package/lib/ruby/3.4.11/rubygems/gemspec_helpers.rb +19 -0
  864. package/lib/ruby/3.4.11/rubygems/install_default_message.rb +13 -0
  865. package/lib/ruby/3.4.11/rubygems/install_message.rb +13 -0
  866. package/lib/ruby/3.4.11/rubygems/install_update_options.rb +204 -0
  867. package/lib/ruby/3.4.11/rubygems/installer.rb +1031 -0
  868. package/lib/ruby/3.4.11/rubygems/installer_uninstaller_utils.rb +27 -0
  869. package/lib/ruby/3.4.11/rubygems/local_remote_options.rb +146 -0
  870. package/lib/ruby/3.4.11/rubygems/name_tuple.rb +119 -0
  871. package/lib/ruby/3.4.11/rubygems/openssl.rb +7 -0
  872. package/lib/ruby/3.4.11/rubygems/package/digest_io.rb +63 -0
  873. package/lib/ruby/3.4.11/rubygems/package/file_source.rb +32 -0
  874. package/lib/ruby/3.4.11/rubygems/package/io_source.rb +48 -0
  875. package/lib/ruby/3.4.11/rubygems/package/old.rb +169 -0
  876. package/lib/ruby/3.4.11/rubygems/package/source.rb +4 -0
  877. package/lib/ruby/3.4.11/rubygems/package/tar_header.rb +277 -0
  878. package/lib/ruby/3.4.11/rubygems/package/tar_reader/entry.rb +244 -0
  879. package/lib/ruby/3.4.11/rubygems/package/tar_reader.rb +101 -0
  880. package/lib/ruby/3.4.11/rubygems/package/tar_writer.rb +332 -0
  881. package/lib/ruby/3.4.11/rubygems/package.rb +742 -0
  882. package/lib/ruby/3.4.11/rubygems/package_task.rb +123 -0
  883. package/lib/ruby/3.4.11/rubygems/path_support.rb +85 -0
  884. package/lib/ruby/3.4.11/rubygems/platform.rb +269 -0
  885. package/lib/ruby/3.4.11/rubygems/psych_tree.rb +37 -0
  886. package/lib/ruby/3.4.11/rubygems/query_utils.rb +349 -0
  887. package/lib/ruby/3.4.11/rubygems/rdoc.rb +26 -0
  888. package/lib/ruby/3.4.11/rubygems/remote_fetcher.rb +341 -0
  889. package/lib/ruby/3.4.11/rubygems/request/connection_pools.rb +95 -0
  890. package/lib/ruby/3.4.11/rubygems/request/http_pool.rb +47 -0
  891. package/lib/ruby/3.4.11/rubygems/request/https_pool.rb +10 -0
  892. package/lib/ruby/3.4.11/rubygems/request.rb +298 -0
  893. package/lib/ruby/3.4.11/rubygems/request_set/gem_dependency_api.rb +841 -0
  894. package/lib/ruby/3.4.11/rubygems/request_set/lockfile/parser.rb +344 -0
  895. package/lib/ruby/3.4.11/rubygems/request_set/lockfile/tokenizer.rb +122 -0
  896. package/lib/ruby/3.4.11/rubygems/request_set/lockfile.rb +235 -0
  897. package/lib/ruby/3.4.11/rubygems/request_set.rb +468 -0
  898. package/lib/ruby/3.4.11/rubygems/requirement.rb +298 -0
  899. package/lib/ruby/3.4.11/rubygems/resolver/activation_request.rb +159 -0
  900. package/lib/ruby/3.4.11/rubygems/resolver/api_set/gem_parser.rb +21 -0
  901. package/lib/ruby/3.4.11/rubygems/resolver/api_set.rb +139 -0
  902. package/lib/ruby/3.4.11/rubygems/resolver/api_specification.rb +105 -0
  903. package/lib/ruby/3.4.11/rubygems/resolver/best_set.rb +49 -0
  904. package/lib/ruby/3.4.11/rubygems/resolver/composed_set.rb +65 -0
  905. package/lib/ruby/3.4.11/rubygems/resolver/conflict.rb +146 -0
  906. package/lib/ruby/3.4.11/rubygems/resolver/current_set.rb +12 -0
  907. package/lib/ruby/3.4.11/rubygems/resolver/dependency_request.rb +119 -0
  908. package/lib/ruby/3.4.11/rubygems/resolver/git_set.rb +120 -0
  909. package/lib/ruby/3.4.11/rubygems/resolver/git_specification.rb +57 -0
  910. package/lib/ruby/3.4.11/rubygems/resolver/index_set.rb +79 -0
  911. package/lib/ruby/3.4.11/rubygems/resolver/index_specification.rb +101 -0
  912. package/lib/ruby/3.4.11/rubygems/resolver/installed_specification.rb +57 -0
  913. package/lib/ruby/3.4.11/rubygems/resolver/installer_set.rb +271 -0
  914. package/lib/ruby/3.4.11/rubygems/resolver/local_specification.rb +40 -0
  915. package/lib/ruby/3.4.11/rubygems/resolver/lock_set.rb +81 -0
  916. package/lib/ruby/3.4.11/rubygems/resolver/lock_specification.rb +86 -0
  917. package/lib/ruby/3.4.11/rubygems/resolver/requirement_list.rb +82 -0
  918. package/lib/ruby/3.4.11/rubygems/resolver/set.rb +55 -0
  919. package/lib/ruby/3.4.11/rubygems/resolver/source_set.rb +47 -0
  920. package/lib/ruby/3.4.11/rubygems/resolver/spec_specification.rb +76 -0
  921. package/lib/ruby/3.4.11/rubygems/resolver/specification.rb +126 -0
  922. package/lib/ruby/3.4.11/rubygems/resolver/stats.rb +46 -0
  923. package/lib/ruby/3.4.11/rubygems/resolver/vendor_set.rb +86 -0
  924. package/lib/ruby/3.4.11/rubygems/resolver/vendor_specification.rb +23 -0
  925. package/lib/ruby/3.4.11/rubygems/resolver.rb +341 -0
  926. package/lib/ruby/3.4.11/rubygems/s3_uri_signer.rb +177 -0
  927. package/lib/ruby/3.4.11/rubygems/safe_marshal/elements.rb +146 -0
  928. package/lib/ruby/3.4.11/rubygems/safe_marshal/reader.rb +325 -0
  929. package/lib/ruby/3.4.11/rubygems/safe_marshal/visitors/stream_printer.rb +31 -0
  930. package/lib/ruby/3.4.11/rubygems/safe_marshal/visitors/to_ruby.rb +428 -0
  931. package/lib/ruby/3.4.11/rubygems/safe_marshal/visitors/visitor.rb +74 -0
  932. package/lib/ruby/3.4.11/rubygems/safe_marshal.rb +74 -0
  933. package/lib/ruby/3.4.11/rubygems/safe_yaml.rb +45 -0
  934. package/lib/ruby/3.4.11/rubygems/security/policies.rb +114 -0
  935. package/lib/ruby/3.4.11/rubygems/security/policy.rb +288 -0
  936. package/lib/ruby/3.4.11/rubygems/security/signer.rb +212 -0
  937. package/lib/ruby/3.4.11/rubygems/security/trust_dir.rb +117 -0
  938. package/lib/ruby/3.4.11/rubygems/security.rb +615 -0
  939. package/lib/ruby/3.4.11/rubygems/security_option.rb +43 -0
  940. package/lib/ruby/3.4.11/rubygems/source/git.rb +244 -0
  941. package/lib/ruby/3.4.11/rubygems/source/installed.rb +39 -0
  942. package/lib/ruby/3.4.11/rubygems/source/local.rb +131 -0
  943. package/lib/ruby/3.4.11/rubygems/source/lock.rb +49 -0
  944. package/lib/ruby/3.4.11/rubygems/source/specific_file.rb +73 -0
  945. package/lib/ruby/3.4.11/rubygems/source/vendor.rb +24 -0
  946. package/lib/ruby/3.4.11/rubygems/source.rb +247 -0
  947. package/lib/ruby/3.4.11/rubygems/source_list.rb +146 -0
  948. package/lib/ruby/3.4.11/rubygems/spec_fetcher.rb +290 -0
  949. package/lib/ruby/3.4.11/rubygems/specification.rb +2666 -0
  950. package/lib/ruby/3.4.11/rubygems/specification_policy.rb +558 -0
  951. package/lib/ruby/3.4.11/rubygems/specification_record.rb +212 -0
  952. package/lib/ruby/3.4.11/rubygems/ssl_certs/.document +1 -0
  953. package/lib/ruby/3.4.11/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA.pem +21 -0
  954. package/lib/ruby/3.4.11/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA_R3.pem +21 -0
  955. package/lib/ruby/3.4.11/rubygems/stub_specification.rb +235 -0
  956. package/lib/ruby/3.4.11/rubygems/target_rbconfig.rb +50 -0
  957. package/lib/ruby/3.4.11/rubygems/text.rb +85 -0
  958. package/lib/ruby/3.4.11/rubygems/uninstaller.rb +429 -0
  959. package/lib/ruby/3.4.11/rubygems/unknown_command_spell_checker.rb +21 -0
  960. package/lib/ruby/3.4.11/rubygems/update_suggestion.rb +56 -0
  961. package/lib/ruby/3.4.11/rubygems/uri.rb +126 -0
  962. package/lib/ruby/3.4.11/rubygems/uri_formatter.rb +47 -0
  963. package/lib/ruby/3.4.11/rubygems/user_interaction.rb +650 -0
  964. package/lib/ruby/3.4.11/rubygems/util/licenses.rb +834 -0
  965. package/lib/ruby/3.4.11/rubygems/util/list.rb +40 -0
  966. package/lib/ruby/3.4.11/rubygems/util.rb +118 -0
  967. package/lib/ruby/3.4.11/rubygems/validator.rb +144 -0
  968. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/.document +1 -0
  969. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb +57 -0
  970. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +88 -0
  971. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/action.rb +36 -0
  972. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +66 -0
  973. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +62 -0
  974. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +63 -0
  975. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +61 -0
  976. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/log.rb +126 -0
  977. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb +46 -0
  978. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +36 -0
  979. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +164 -0
  980. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/dependency_graph.rb +255 -0
  981. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/errors.rb +149 -0
  982. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/gem_metadata.rb +6 -0
  983. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +112 -0
  984. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/modules/ui.rb +67 -0
  985. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/resolution.rb +839 -0
  986. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/resolver.rb +46 -0
  987. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/state.rb +58 -0
  988. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo.rb +11 -0
  989. package/lib/ruby/3.4.11/rubygems/vendor/net-http/.document +1 -0
  990. package/lib/ruby/3.4.11/rubygems/vendor/net-http/lib/net/http/exceptions.rb +34 -0
  991. package/lib/ruby/3.4.11/rubygems/vendor/net-http/lib/net/http/generic_request.rb +414 -0
  992. package/lib/ruby/3.4.11/rubygems/vendor/net-http/lib/net/http/header.rb +981 -0
  993. package/lib/ruby/3.4.11/rubygems/vendor/net-http/lib/net/http/proxy_delta.rb +17 -0
  994. package/lib/ruby/3.4.11/rubygems/vendor/net-http/lib/net/http/request.rb +88 -0
  995. package/lib/ruby/3.4.11/rubygems/vendor/net-http/lib/net/http/requests.rb +430 -0
  996. package/lib/ruby/3.4.11/rubygems/vendor/net-http/lib/net/http/response.rb +738 -0
  997. package/lib/ruby/3.4.11/rubygems/vendor/net-http/lib/net/http/responses.rb +1174 -0
  998. package/lib/ruby/3.4.11/rubygems/vendor/net-http/lib/net/http/status.rb +84 -0
  999. package/lib/ruby/3.4.11/rubygems/vendor/net-http/lib/net/http.rb +2580 -0
  1000. package/lib/ruby/3.4.11/rubygems/vendor/net-http/lib/net/https.rb +23 -0
  1001. package/lib/ruby/3.4.11/rubygems/vendor/net-protocol/.document +1 -0
  1002. package/lib/ruby/3.4.11/rubygems/vendor/net-protocol/lib/net/protocol.rb +544 -0
  1003. package/lib/ruby/3.4.11/rubygems/vendor/optparse/.document +1 -0
  1004. package/lib/ruby/3.4.11/rubygems/vendor/optparse/lib/optionparser.rb +2 -0
  1005. package/lib/ruby/3.4.11/rubygems/vendor/optparse/lib/optparse/ac.rb +70 -0
  1006. package/lib/ruby/3.4.11/rubygems/vendor/optparse/lib/optparse/date.rb +18 -0
  1007. package/lib/ruby/3.4.11/rubygems/vendor/optparse/lib/optparse/kwargs.rb +27 -0
  1008. package/lib/ruby/3.4.11/rubygems/vendor/optparse/lib/optparse/shellwords.rb +7 -0
  1009. package/lib/ruby/3.4.11/rubygems/vendor/optparse/lib/optparse/time.rb +11 -0
  1010. package/lib/ruby/3.4.11/rubygems/vendor/optparse/lib/optparse/uri.rb +7 -0
  1011. package/lib/ruby/3.4.11/rubygems/vendor/optparse/lib/optparse/version.rb +80 -0
  1012. package/lib/ruby/3.4.11/rubygems/vendor/optparse/lib/optparse.rb +2426 -0
  1013. package/lib/ruby/3.4.11/rubygems/vendor/resolv/.document +1 -0
  1014. package/lib/ruby/3.4.11/rubygems/vendor/resolv/lib/resolv.rb +3455 -0
  1015. package/lib/ruby/3.4.11/rubygems/vendor/securerandom/.document +1 -0
  1016. package/lib/ruby/3.4.11/rubygems/vendor/securerandom/lib/securerandom.rb +102 -0
  1017. package/lib/ruby/3.4.11/rubygems/vendor/timeout/.document +1 -0
  1018. package/lib/ruby/3.4.11/rubygems/vendor/timeout/lib/timeout.rb +198 -0
  1019. package/lib/ruby/3.4.11/rubygems/vendor/tsort/.document +1 -0
  1020. package/lib/ruby/3.4.11/rubygems/vendor/tsort/lib/tsort.rb +455 -0
  1021. package/lib/ruby/3.4.11/rubygems/vendor/uri/.document +1 -0
  1022. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/common.rb +880 -0
  1023. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/file.rb +100 -0
  1024. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/ftp.rb +267 -0
  1025. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/generic.rb +1592 -0
  1026. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/http.rb +125 -0
  1027. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/https.rb +23 -0
  1028. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/ldap.rb +261 -0
  1029. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/ldaps.rb +22 -0
  1030. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/mailto.rb +293 -0
  1031. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/rfc2396_parser.rb +546 -0
  1032. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/rfc3986_parser.rb +206 -0
  1033. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/version.rb +6 -0
  1034. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/ws.rb +83 -0
  1035. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/wss.rb +23 -0
  1036. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri.rb +104 -0
  1037. package/lib/ruby/3.4.11/rubygems/vendored_molinillo.rb +3 -0
  1038. package/lib/ruby/3.4.11/rubygems/vendored_net_http.rb +5 -0
  1039. package/lib/ruby/3.4.11/rubygems/vendored_optparse.rb +3 -0
  1040. package/lib/ruby/3.4.11/rubygems/vendored_securerandom.rb +3 -0
  1041. package/lib/ruby/3.4.11/rubygems/vendored_timeout.rb +5 -0
  1042. package/lib/ruby/3.4.11/rubygems/vendored_tsort.rb +3 -0
  1043. package/lib/ruby/3.4.11/rubygems/version.rb +441 -0
  1044. package/lib/ruby/3.4.11/rubygems/version_option.rb +80 -0
  1045. package/lib/ruby/3.4.11/rubygems/yaml_serializer.rb +98 -0
  1046. package/lib/ruby/3.4.11/rubygems.rb +1417 -0
  1047. package/lib/ruby/3.4.11/securerandom.gemspec +34 -0
  1048. package/lib/ruby/3.4.11/securerandom.rb +102 -0
  1049. package/lib/ruby/3.4.11/set/set.gemspec +30 -0
  1050. package/lib/ruby/3.4.11/set/sorted_set.rb +6 -0
  1051. package/lib/ruby/3.4.11/set.rb +855 -0
  1052. package/lib/ruby/3.4.11/shellwords.gemspec +31 -0
  1053. package/lib/ruby/3.4.11/shellwords.rb +254 -0
  1054. package/lib/ruby/3.4.11/singleton.gemspec +30 -0
  1055. package/lib/ruby/3.4.11/singleton.rb +239 -0
  1056. package/lib/ruby/3.4.11/syntax_suggest/api.rb +233 -0
  1057. package/lib/ruby/3.4.11/syntax_suggest/around_block_scan.rb +232 -0
  1058. package/lib/ruby/3.4.11/syntax_suggest/block_expand.rb +165 -0
  1059. package/lib/ruby/3.4.11/syntax_suggest/capture/before_after_keyword_ends.rb +85 -0
  1060. package/lib/ruby/3.4.11/syntax_suggest/capture/falling_indent_lines.rb +71 -0
  1061. package/lib/ruby/3.4.11/syntax_suggest/capture_code_context.rb +245 -0
  1062. package/lib/ruby/3.4.11/syntax_suggest/clean_document.rb +306 -0
  1063. package/lib/ruby/3.4.11/syntax_suggest/cli.rb +130 -0
  1064. package/lib/ruby/3.4.11/syntax_suggest/code_block.rb +100 -0
  1065. package/lib/ruby/3.4.11/syntax_suggest/code_frontier.rb +178 -0
  1066. package/lib/ruby/3.4.11/syntax_suggest/code_line.rb +243 -0
  1067. package/lib/ruby/3.4.11/syntax_suggest/code_search.rb +139 -0
  1068. package/lib/ruby/3.4.11/syntax_suggest/core_ext.rb +96 -0
  1069. package/lib/ruby/3.4.11/syntax_suggest/display_code_with_line_numbers.rb +70 -0
  1070. package/lib/ruby/3.4.11/syntax_suggest/display_invalid_blocks.rb +83 -0
  1071. package/lib/ruby/3.4.11/syntax_suggest/explain_syntax.rb +117 -0
  1072. package/lib/ruby/3.4.11/syntax_suggest/left_right_lex_count.rb +168 -0
  1073. package/lib/ruby/3.4.11/syntax_suggest/lex_all.rb +74 -0
  1074. package/lib/ruby/3.4.11/syntax_suggest/lex_value.rb +70 -0
  1075. package/lib/ruby/3.4.11/syntax_suggest/mini_stringio.rb +30 -0
  1076. package/lib/ruby/3.4.11/syntax_suggest/parse_blocks_from_indent_line.rb +60 -0
  1077. package/lib/ruby/3.4.11/syntax_suggest/pathname_from_message.rb +59 -0
  1078. package/lib/ruby/3.4.11/syntax_suggest/priority_engulf_queue.rb +63 -0
  1079. package/lib/ruby/3.4.11/syntax_suggest/priority_queue.rb +105 -0
  1080. package/lib/ruby/3.4.11/syntax_suggest/ripper_errors.rb +39 -0
  1081. package/lib/ruby/3.4.11/syntax_suggest/scan_history.rb +134 -0
  1082. package/lib/ruby/3.4.11/syntax_suggest/syntax_suggest.gemspec +32 -0
  1083. package/lib/ruby/3.4.11/syntax_suggest/unvisited_lines.rb +36 -0
  1084. package/lib/ruby/3.4.11/syntax_suggest/version.rb +5 -0
  1085. package/lib/ruby/3.4.11/syntax_suggest.rb +3 -0
  1086. package/lib/ruby/3.4.11/tempfile.gemspec +33 -0
  1087. package/lib/ruby/3.4.11/tempfile.rb +640 -0
  1088. package/lib/ruby/3.4.11/time.gemspec +35 -0
  1089. package/lib/ruby/3.4.11/time.rb +731 -0
  1090. package/lib/ruby/3.4.11/timeout.gemspec +33 -0
  1091. package/lib/ruby/3.4.11/timeout.rb +200 -0
  1092. package/lib/ruby/3.4.11/tmpdir.gemspec +30 -0
  1093. package/lib/ruby/3.4.11/tmpdir.rb +189 -0
  1094. package/lib/ruby/3.4.11/tsort.gemspec +29 -0
  1095. package/lib/ruby/3.4.11/tsort.rb +455 -0
  1096. package/lib/ruby/3.4.11/un.gemspec +31 -0
  1097. package/lib/ruby/3.4.11/un.rb +441 -0
  1098. package/lib/ruby/3.4.11/unicode_normalize/normalize.rb +181 -0
  1099. package/lib/ruby/3.4.11/unicode_normalize/tables.rb +9259 -0
  1100. package/lib/ruby/3.4.11/uri/common.rb +880 -0
  1101. package/lib/ruby/3.4.11/uri/file.rb +100 -0
  1102. package/lib/ruby/3.4.11/uri/ftp.rb +267 -0
  1103. package/lib/ruby/3.4.11/uri/generic.rb +1592 -0
  1104. package/lib/ruby/3.4.11/uri/http.rb +125 -0
  1105. package/lib/ruby/3.4.11/uri/https.rb +23 -0
  1106. package/lib/ruby/3.4.11/uri/ldap.rb +261 -0
  1107. package/lib/ruby/3.4.11/uri/ldaps.rb +22 -0
  1108. package/lib/ruby/3.4.11/uri/mailto.rb +293 -0
  1109. package/lib/ruby/3.4.11/uri/rfc2396_parser.rb +546 -0
  1110. package/lib/ruby/3.4.11/uri/rfc3986_parser.rb +206 -0
  1111. package/lib/ruby/3.4.11/uri/uri.gemspec +42 -0
  1112. package/lib/ruby/3.4.11/uri/version.rb +6 -0
  1113. package/lib/ruby/3.4.11/uri/ws.rb +83 -0
  1114. package/lib/ruby/3.4.11/uri/wss.rb +23 -0
  1115. package/lib/ruby/3.4.11/uri.rb +104 -0
  1116. package/lib/ruby/3.4.11/wasm32-wasi/rbconfig.rb +366 -0
  1117. package/lib/ruby/3.4.11/weakref.gemspec +34 -0
  1118. package/lib/ruby/3.4.11/weakref.rb +58 -0
  1119. package/lib/ruby/3.4.11/yaml/dbm.rb +295 -0
  1120. package/lib/ruby/3.4.11/yaml/store.rb +98 -0
  1121. package/lib/ruby/3.4.11/yaml/yaml.gemspec +30 -0
  1122. package/lib/ruby/3.4.11/yaml.rb +70 -0
  1123. package/package.json +31 -0
@@ -0,0 +1,615 @@
1
+ # frozen_string_literal: true
2
+
3
+ #--
4
+ # Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
5
+ # All rights reserved.
6
+ # See LICENSE.txt for permissions.
7
+ #++
8
+
9
+ require_relative "exceptions"
10
+ require_relative "openssl"
11
+
12
+ ##
13
+ # = Signing gems
14
+ #
15
+ # The Gem::Security implements cryptographic signatures for gems. The section
16
+ # below is a step-by-step guide to using signed gems and generating your own.
17
+ #
18
+ # == Walkthrough
19
+ #
20
+ # === Building your certificate
21
+ #
22
+ # In order to start signing your gems, you'll need to build a private key and
23
+ # a self-signed certificate. Here's how:
24
+ #
25
+ # # build a private key and certificate for yourself:
26
+ # $ gem cert --build you@example.com
27
+ #
28
+ # This could take anywhere from a few seconds to a minute or two, depending on
29
+ # the speed of your computer (public key algorithms aren't exactly the
30
+ # speediest crypto algorithms in the world). When it's finished, you'll see
31
+ # the files "gem-private_key.pem" and "gem-public_cert.pem" in the current
32
+ # directory.
33
+ #
34
+ # First things first: Move both files to ~/.gem if you don't already have a
35
+ # key and certificate in that directory. Ensure the file permissions make the
36
+ # key unreadable by others (by default the file is saved securely).
37
+ #
38
+ # Keep your private key hidden; if it's compromised, someone can sign packages
39
+ # as you (note: PKI has ways of mitigating the risk of stolen keys; more on
40
+ # that later).
41
+ #
42
+ # === Signing Gems
43
+ #
44
+ # In RubyGems 2 and newer there is no extra work to sign a gem. RubyGems will
45
+ # automatically find your key and certificate in your home directory and use
46
+ # them to sign newly packaged gems.
47
+ #
48
+ # If your certificate is not self-signed (signed by a third party) RubyGems
49
+ # will attempt to load the certificate chain from the trusted certificates.
50
+ # Use <code>gem cert --add signing_cert.pem</code> to add your signers as
51
+ # trusted certificates. See below for further information on certificate
52
+ # chains.
53
+ #
54
+ # If you build your gem it will automatically be signed. If you peek inside
55
+ # your gem file, you'll see a couple of new files have been added:
56
+ #
57
+ # $ tar tf your-gem-1.0.gem
58
+ # metadata.gz
59
+ # metadata.gz.sig # metadata signature
60
+ # data.tar.gz
61
+ # data.tar.gz.sig # data signature
62
+ # checksums.yaml.gz
63
+ # checksums.yaml.gz.sig # checksums signature
64
+ #
65
+ # === Manually signing gems
66
+ #
67
+ # If you wish to store your key in a separate secure location you'll need to
68
+ # set your gems up for signing by hand. To do this, set the
69
+ # <code>signing_key</code> and <code>cert_chain</code> in the gemspec before
70
+ # packaging your gem:
71
+ #
72
+ # s.signing_key = '/secure/path/to/gem-private_key.pem'
73
+ # s.cert_chain = %w[/secure/path/to/gem-public_cert.pem]
74
+ #
75
+ # When you package your gem with these options set RubyGems will automatically
76
+ # load your key and certificate from the secure paths.
77
+ #
78
+ # === Signed gems and security policies
79
+ #
80
+ # Now let's verify the signature. Go ahead and install the gem, but add the
81
+ # following options: <code>-P HighSecurity</code>, like this:
82
+ #
83
+ # # install the gem with using the security policy "HighSecurity"
84
+ # $ sudo gem install your.gem -P HighSecurity
85
+ #
86
+ # The <code>-P</code> option sets your security policy -- we'll talk about
87
+ # that in just a minute. Eh, what's this?
88
+ #
89
+ # $ gem install -P HighSecurity your-gem-1.0.gem
90
+ # ERROR: While executing gem ... (Gem::Security::Exception)
91
+ # root cert /CN=you/DC=example is not trusted
92
+ #
93
+ # The culprit here is the security policy. RubyGems has several different
94
+ # security policies. Let's take a short break and go over the security
95
+ # policies. Here's a list of the available security policies, and a brief
96
+ # description of each one:
97
+ #
98
+ # * NoSecurity - Well, no security at all. Signed packages are treated like
99
+ # unsigned packages.
100
+ # * LowSecurity - Pretty much no security. If a package is signed then
101
+ # RubyGems will make sure the signature matches the signing
102
+ # certificate, and that the signing certificate hasn't expired, but
103
+ # that's it. A malicious user could easily circumvent this kind of
104
+ # security.
105
+ # * MediumSecurity - Better than LowSecurity and NoSecurity, but still
106
+ # fallible. Package contents are verified against the signing
107
+ # certificate, and the signing certificate is checked for validity,
108
+ # and checked against the rest of the certificate chain (if you don't
109
+ # know what a certificate chain is, stay tuned, we'll get to that).
110
+ # The biggest improvement over LowSecurity is that MediumSecurity
111
+ # won't install packages that are signed by untrusted sources.
112
+ # Unfortunately, MediumSecurity still isn't totally secure -- a
113
+ # malicious user can still unpack the gem, strip the signatures, and
114
+ # distribute the gem unsigned.
115
+ # * HighSecurity - Here's the bugger that got us into this mess.
116
+ # The HighSecurity policy is identical to the MediumSecurity policy,
117
+ # except that it does not allow unsigned gems. A malicious user
118
+ # doesn't have a whole lot of options here; they can't modify the
119
+ # package contents without invalidating the signature, and they can't
120
+ # modify or remove signature or the signing certificate chain, or
121
+ # RubyGems will simply refuse to install the package. Oh well, maybe
122
+ # they'll have better luck causing problems for CPAN users instead :).
123
+ #
124
+ # The reason RubyGems refused to install your shiny new signed gem was because
125
+ # it was from an untrusted source. Well, your code is infallible (naturally),
126
+ # so you need to add yourself as a trusted source:
127
+ #
128
+ # # add trusted certificate
129
+ # gem cert --add ~/.gem/gem-public_cert.pem
130
+ #
131
+ # You've now added your public certificate as a trusted source. Now you can
132
+ # install packages signed by your private key without any hassle. Let's try
133
+ # the install command above again:
134
+ #
135
+ # # install the gem with using the HighSecurity policy (and this time
136
+ # # without any shenanigans)
137
+ # $ gem install -P HighSecurity your-gem-1.0.gem
138
+ # Successfully installed your-gem-1.0
139
+ # 1 gem installed
140
+ #
141
+ # This time RubyGems will accept your signed package and begin installing.
142
+ #
143
+ # While you're waiting for RubyGems to work it's magic, have a look at some of
144
+ # the other security commands by running <code>gem help cert</code>:
145
+ #
146
+ # Options:
147
+ # -a, --add CERT Add a trusted certificate.
148
+ # -l, --list [FILTER] List trusted certificates where the
149
+ # subject contains FILTER
150
+ # -r, --remove FILTER Remove trusted certificates where the
151
+ # subject contains FILTER
152
+ # -b, --build EMAIL_ADDR Build private key and self-signed
153
+ # certificate for EMAIL_ADDR
154
+ # -C, --certificate CERT Signing certificate for --sign
155
+ # -K, --private-key KEY Key for --sign or --build
156
+ # -A, --key-algorithm ALGORITHM Select key algorithm for --build from RSA, DSA, or EC. Defaults to RSA.
157
+ # -s, --sign CERT Signs CERT with the key from -K
158
+ # and the certificate from -C
159
+ # -d, --days NUMBER_OF_DAYS Days before the certificate expires
160
+ # -R, --re-sign Re-signs the certificate from -C with the key from -K
161
+ #
162
+ # We've already covered the <code>--build</code> option, and the
163
+ # <code>--add</code>, <code>--list</code>, and <code>--remove</code> commands
164
+ # seem fairly straightforward; they allow you to add, list, and remove the
165
+ # certificates in your trusted certificate list. But what's with this
166
+ # <code>--sign</code> option?
167
+ #
168
+ # === Certificate chains
169
+ #
170
+ # To answer that question, let's take a look at "certificate chains", a
171
+ # concept I mentioned earlier. There are a couple of problems with
172
+ # self-signed certificates: first of all, self-signed certificates don't offer
173
+ # a whole lot of security. Sure, the certificate says Yukihiro Matsumoto, but
174
+ # how do I know it was actually generated and signed by matz himself unless he
175
+ # gave me the certificate in person?
176
+ #
177
+ # The second problem is scalability. Sure, if there are 50 gem authors, then
178
+ # I have 50 trusted certificates, no problem. What if there are 500 gem
179
+ # authors? 1000? Having to constantly add new trusted certificates is a
180
+ # pain, and it actually makes the trust system less secure by encouraging
181
+ # RubyGems users to blindly trust new certificates.
182
+ #
183
+ # Here's where certificate chains come in. A certificate chain establishes an
184
+ # arbitrarily long chain of trust between an issuing certificate and a child
185
+ # certificate. So instead of trusting certificates on a per-developer basis,
186
+ # we use the PKI concept of certificate chains to build a logical hierarchy of
187
+ # trust. Here's a hypothetical example of a trust hierarchy based (roughly)
188
+ # on geography:
189
+ #
190
+ # --------------------------
191
+ # | rubygems@rubygems.org |
192
+ # --------------------------
193
+ # |
194
+ # -----------------------------------
195
+ # | |
196
+ # ---------------------------- -----------------------------
197
+ # | seattlerb@seattlerb.org | | dcrubyists@richkilmer.com |
198
+ # ---------------------------- -----------------------------
199
+ # | | | |
200
+ # --------------- ---------------- ----------- --------------
201
+ # | drbrain | | zenspider | | pabs@dc | | tomcope@dc |
202
+ # --------------- ---------------- ----------- --------------
203
+ #
204
+ #
205
+ # Now, rather than having 4 trusted certificates (one for drbrain, zenspider,
206
+ # pabs@dc, and tomecope@dc), a user could actually get by with one
207
+ # certificate, the "rubygems@rubygems.org" certificate.
208
+ #
209
+ # Here's how it works:
210
+ #
211
+ # I install "rdoc-3.12.gem", a package signed by "drbrain". I've never heard
212
+ # of "drbrain", but his certificate has a valid signature from the
213
+ # "seattle.rb@seattlerb.org" certificate, which in turn has a valid signature
214
+ # from the "rubygems@rubygems.org" certificate. Voila! At this point, it's
215
+ # much more reasonable for me to trust a package signed by "drbrain", because
216
+ # I can establish a chain to "rubygems@rubygems.org", which I do trust.
217
+ #
218
+ # === Signing certificates
219
+ #
220
+ # The <code>--sign</code> option allows all this to happen. A developer
221
+ # creates their build certificate with the <code>--build</code> option, then
222
+ # has their certificate signed by taking it with them to their next regional
223
+ # Ruby meetup (in our hypothetical example), and it's signed there by the
224
+ # person holding the regional RubyGems signing certificate, which is signed at
225
+ # the next RubyConf by the holder of the top-level RubyGems certificate. At
226
+ # each point the issuer runs the same command:
227
+ #
228
+ # # sign a certificate with the specified key and certificate
229
+ # # (note that this modifies client_cert.pem!)
230
+ # $ gem cert -K /mnt/floppy/issuer-priv_key.pem -C issuer-pub_cert.pem
231
+ # --sign client_cert.pem
232
+ #
233
+ # Then the holder of issued certificate (in this case, your buddy "drbrain"),
234
+ # can start using this signed certificate to sign RubyGems. By the way, in
235
+ # order to let everyone else know about his new fancy signed certificate,
236
+ # "drbrain" would save his newly signed certificate as
237
+ # <code>~/.gem/gem-public_cert.pem</code>
238
+ #
239
+ # Obviously this RubyGems trust infrastructure doesn't exist yet. Also, in
240
+ # the "real world", issuers actually generate the child certificate from a
241
+ # certificate request, rather than sign an existing certificate. And our
242
+ # hypothetical infrastructure is missing a certificate revocation system.
243
+ # These are that can be fixed in the future...
244
+ #
245
+ # At this point you should know how to do all of these new and interesting
246
+ # things:
247
+ #
248
+ # * build a gem signing key and certificate
249
+ # * adjust your security policy
250
+ # * modify your trusted certificate list
251
+ # * sign a certificate
252
+ #
253
+ # == Manually verifying signatures
254
+ #
255
+ # In case you don't trust RubyGems you can verify gem signatures manually:
256
+ #
257
+ # 1. Fetch and unpack the gem
258
+ #
259
+ # gem fetch some_signed_gem
260
+ # tar -xf some_signed_gem-1.0.gem
261
+ #
262
+ # 2. Grab the public key from the gemspec
263
+ #
264
+ # gem spec some_signed_gem-1.0.gem cert_chain | \
265
+ # ruby -rpsych -e 'puts Psych.load($stdin)' > public_key.crt
266
+ #
267
+ # 3. Generate a SHA1 hash of the data.tar.gz
268
+ #
269
+ # openssl dgst -sha1 < data.tar.gz > my.hash
270
+ #
271
+ # 4. Verify the signature
272
+ #
273
+ # openssl rsautl -verify -inkey public_key.crt -certin \
274
+ # -in data.tar.gz.sig > verified.hash
275
+ #
276
+ # 5. Compare your hash to the verified hash
277
+ #
278
+ # diff -s verified.hash my.hash
279
+ #
280
+ # 6. Repeat 5 and 6 with metadata.gz
281
+ #
282
+ # == OpenSSL Reference
283
+ #
284
+ # The .pem files generated by --build and --sign are PEM files. Here's a
285
+ # couple of useful OpenSSL commands for manipulating them:
286
+ #
287
+ # # convert a PEM format X509 certificate into DER format:
288
+ # # (note: Windows .cer files are X509 certificates in DER format)
289
+ # $ openssl x509 -in input.pem -outform der -out output.der
290
+ #
291
+ # # print out the certificate in a human-readable format:
292
+ # $ openssl x509 -in input.pem -noout -text
293
+ #
294
+ # And you can do the same thing with the private key file as well:
295
+ #
296
+ # # convert a PEM format RSA key into DER format:
297
+ # $ openssl rsa -in input_key.pem -outform der -out output_key.der
298
+ #
299
+ # # print out the key in a human readable format:
300
+ # $ openssl rsa -in input_key.pem -noout -text
301
+ #
302
+ # == Bugs/TODO
303
+ #
304
+ # * There's no way to define a system-wide trust list.
305
+ # * custom security policies (from a YAML file, etc)
306
+ # * Simple method to generate a signed certificate request
307
+ # * Support for OCSP, SCVP, CRLs, or some other form of cert status check
308
+ # (list is in order of preference)
309
+ # * Support for encrypted private keys
310
+ # * Some sort of semi-formal trust hierarchy (see long-winded explanation
311
+ # above)
312
+ # * Path discovery (for gem certificate chains that don't have a self-signed
313
+ # root) -- by the way, since we don't have this, THE ROOT OF THE CERTIFICATE
314
+ # CHAIN MUST BE SELF SIGNED if Policy#verify_root is true (and it is for the
315
+ # MediumSecurity and HighSecurity policies)
316
+ # * Better explanation of X509 naming (ie, we don't have to use email
317
+ # addresses)
318
+ # * Honor AIA field (see note about OCSP above)
319
+ # * Honor extension restrictions
320
+ # * Might be better to store the certificate chain as a PKCS#7 or PKCS#12
321
+ # file, instead of an array embedded in the metadata.
322
+ #
323
+ # == Original author
324
+ #
325
+ # Paul Duncan <pabs@pablotron.org>
326
+ # https://pablotron.org/
327
+
328
+ module Gem::Security
329
+ ##
330
+ # Gem::Security default exception type
331
+
332
+ class Exception < Gem::Exception; end
333
+
334
+ ##
335
+ # Used internally to select the signing digest from all computed digests
336
+
337
+ DIGEST_NAME = "SHA256" # :nodoc:
338
+
339
+ ##
340
+ # Length of keys created by RSA and DSA keys
341
+
342
+ RSA_DSA_KEY_LENGTH = 3072
343
+
344
+ ##
345
+ # Default algorithm to use when building a key pair
346
+
347
+ DEFAULT_KEY_ALGORITHM = "RSA"
348
+
349
+ ##
350
+ # Named curve used for Elliptic Curve
351
+
352
+ EC_NAME = "secp384r1"
353
+
354
+ ##
355
+ # Cipher used to encrypt the key pair used to sign gems.
356
+ # Must be in the list returned by OpenSSL::Cipher.ciphers
357
+
358
+ KEY_CIPHER = OpenSSL::Cipher.new("AES-256-CBC") if defined?(OpenSSL::Cipher)
359
+
360
+ ##
361
+ # One day in seconds
362
+
363
+ ONE_DAY = 86_400
364
+
365
+ ##
366
+ # One year in seconds
367
+
368
+ ONE_YEAR = ONE_DAY * 365
369
+
370
+ ##
371
+ # The default set of extensions are:
372
+ #
373
+ # * The certificate is not a certificate authority
374
+ # * The key for the certificate may be used for key and data encipherment
375
+ # and digital signatures
376
+ # * The certificate contains a subject key identifier
377
+
378
+ EXTENSIONS = {
379
+ "basicConstraints" => "CA:FALSE",
380
+ "keyUsage" =>
381
+ "keyEncipherment,dataEncipherment,digitalSignature",
382
+ "subjectKeyIdentifier" => "hash",
383
+ }.freeze
384
+
385
+ def self.alt_name_or_x509_entry(certificate, x509_entry)
386
+ alt_name = certificate.extensions.find do |extension|
387
+ extension.oid == "#{x509_entry}AltName"
388
+ end
389
+
390
+ return alt_name.value if alt_name
391
+
392
+ certificate.send x509_entry
393
+ end
394
+
395
+ ##
396
+ # Creates an unsigned certificate for +subject+ and +key+. The lifetime of
397
+ # the key is from the current time to +age+ which defaults to one year.
398
+ #
399
+ # The +extensions+ restrict the key to the indicated uses.
400
+
401
+ def self.create_cert(subject, key, age = ONE_YEAR, extensions = EXTENSIONS, serial = 1)
402
+ cert = OpenSSL::X509::Certificate.new
403
+
404
+ cert.public_key = get_public_key(key)
405
+ cert.version = 2
406
+ cert.serial = serial
407
+
408
+ cert.not_before = Time.now
409
+ cert.not_after = Time.now + age
410
+
411
+ cert.subject = subject
412
+
413
+ ef = OpenSSL::X509::ExtensionFactory.new nil, cert
414
+
415
+ cert.extensions = extensions.map do |ext_name, value|
416
+ ef.create_extension ext_name, value
417
+ end
418
+
419
+ cert
420
+ end
421
+
422
+ ##
423
+ # Gets the right public key from a PKey instance
424
+
425
+ def self.get_public_key(key)
426
+ # Ruby 3.0 (Ruby/OpenSSL 2.2) or later
427
+ return OpenSSL::PKey.read(key.public_to_der) if key.respond_to?(:public_to_der)
428
+ return key.public_key unless key.is_a?(OpenSSL::PKey::EC)
429
+
430
+ ec_key = OpenSSL::PKey::EC.new(key.group.curve_name)
431
+ ec_key.public_key = key.public_key
432
+ ec_key
433
+ end
434
+
435
+ ##
436
+ # Creates a self-signed certificate with an issuer and subject from +email+,
437
+ # a subject alternative name of +email+ and the given +extensions+ for the
438
+ # +key+.
439
+
440
+ def self.create_cert_email(email, key, age = ONE_YEAR, extensions = EXTENSIONS)
441
+ subject = email_to_name email
442
+
443
+ extensions = extensions.merge "subjectAltName" => "email:#{email}"
444
+
445
+ create_cert_self_signed subject, key, age, extensions
446
+ end
447
+
448
+ ##
449
+ # Creates a self-signed certificate with an issuer and subject of +subject+
450
+ # and the given +extensions+ for the +key+.
451
+
452
+ def self.create_cert_self_signed(subject, key, age = ONE_YEAR, extensions = EXTENSIONS, serial = 1)
453
+ certificate = create_cert subject, key, age, extensions
454
+
455
+ sign certificate, key, certificate, age, extensions, serial
456
+ end
457
+
458
+ ##
459
+ # Creates a new digest instance using the specified +algorithm+. The default
460
+ # is SHA256.
461
+
462
+ def self.create_digest(algorithm = DIGEST_NAME)
463
+ OpenSSL::Digest.new(algorithm)
464
+ end
465
+
466
+ ##
467
+ # Creates a new key pair of the specified +algorithm+. RSA, DSA, and EC
468
+ # are supported.
469
+
470
+ def self.create_key(algorithm)
471
+ if defined?(OpenSSL::PKey)
472
+ case algorithm.downcase
473
+ when "dsa"
474
+ OpenSSL::PKey::DSA.new(RSA_DSA_KEY_LENGTH)
475
+ when "rsa"
476
+ OpenSSL::PKey::RSA.new(RSA_DSA_KEY_LENGTH)
477
+ when "ec"
478
+ OpenSSL::PKey::EC.generate(EC_NAME)
479
+ else
480
+ raise Gem::Security::Exception,
481
+ "#{algorithm} algorithm not found. RSA, DSA, and EC algorithms are supported."
482
+ end
483
+ end
484
+ end
485
+
486
+ ##
487
+ # Turns +email_address+ into an OpenSSL::X509::Name
488
+
489
+ def self.email_to_name(email_address)
490
+ email_address = email_address.gsub(/[^\w@.-]+/i, "_")
491
+
492
+ cn, dcs = email_address.split "@"
493
+
494
+ dcs = dcs.split "."
495
+
496
+ OpenSSL::X509::Name.new([
497
+ ["CN", cn],
498
+ *dcs.map {|dc| ["DC", dc] },
499
+ ])
500
+ end
501
+
502
+ ##
503
+ # Signs +expired_certificate+ with +private_key+ if the keys match and the
504
+ # expired certificate was self-signed.
505
+ #--
506
+ # TODO increment serial
507
+
508
+ def self.re_sign(expired_certificate, private_key, age = ONE_YEAR, extensions = EXTENSIONS)
509
+ raise Gem::Security::Exception,
510
+ "incorrect signing key for re-signing " +
511
+ expired_certificate.subject.to_s unless
512
+ expired_certificate.check_private_key(private_key)
513
+
514
+ unless expired_certificate.subject.to_s ==
515
+ expired_certificate.issuer.to_s
516
+ subject = alt_name_or_x509_entry expired_certificate, :subject
517
+ issuer = alt_name_or_x509_entry expired_certificate, :issuer
518
+
519
+ raise Gem::Security::Exception,
520
+ "#{subject} is not self-signed, contact #{issuer} " \
521
+ "to obtain a valid certificate"
522
+ end
523
+
524
+ serial = expired_certificate.serial + 1
525
+
526
+ create_cert_self_signed(expired_certificate.subject, private_key, age,
527
+ extensions, serial)
528
+ end
529
+
530
+ ##
531
+ # Resets the trust directory for verifying gems.
532
+
533
+ def self.reset
534
+ @trust_dir = nil
535
+ end
536
+
537
+ ##
538
+ # Sign the public key from +certificate+ with the +signing_key+ and
539
+ # +signing_cert+, using the Gem::Security::DIGEST_NAME. Uses the
540
+ # default certificate validity range and extensions.
541
+ #
542
+ # Returns the newly signed certificate.
543
+
544
+ def self.sign(certificate, signing_key, signing_cert, age = ONE_YEAR, extensions = EXTENSIONS, serial = 1)
545
+ signee_subject = certificate.subject
546
+ signee_key = certificate.public_key
547
+
548
+ alt_name = certificate.extensions.find do |extension|
549
+ extension.oid == "subjectAltName"
550
+ end
551
+
552
+ extensions = extensions.merge "subjectAltName" => alt_name.value if
553
+ alt_name
554
+
555
+ issuer_alt_name = signing_cert.extensions.find do |extension|
556
+ extension.oid == "subjectAltName"
557
+ end
558
+
559
+ extensions = extensions.merge "issuerAltName" => issuer_alt_name.value if
560
+ issuer_alt_name
561
+
562
+ signed = create_cert signee_subject, signee_key, age, extensions, serial
563
+ signed.issuer = signing_cert.subject
564
+
565
+ signed.sign signing_key, Gem::Security::DIGEST_NAME
566
+ end
567
+
568
+ ##
569
+ # Returns a Gem::Security::TrustDir which wraps the directory where trusted
570
+ # certificates live.
571
+
572
+ def self.trust_dir
573
+ return @trust_dir if @trust_dir
574
+
575
+ dir = File.join Gem.user_home, ".gem", "trust"
576
+
577
+ @trust_dir ||= Gem::Security::TrustDir.new dir
578
+ end
579
+
580
+ ##
581
+ # Enumerates the trusted certificates via Gem::Security::TrustDir.
582
+
583
+ def self.trusted_certificates(&block)
584
+ trust_dir.each_certificate(&block)
585
+ end
586
+
587
+ ##
588
+ # Writes +pemmable+, which must respond to +to_pem+ to +path+ with the given
589
+ # +permissions+. If passed +cipher+ and +passphrase+ those arguments will be
590
+ # passed to +to_pem+.
591
+
592
+ def self.write(pemmable, path, permissions = 0o600, passphrase = nil, cipher = KEY_CIPHER)
593
+ path = File.expand_path path
594
+
595
+ File.open path, "wb", permissions do |io|
596
+ if passphrase && cipher
597
+ io.write pemmable.to_pem cipher, passphrase
598
+ else
599
+ io.write pemmable.to_pem
600
+ end
601
+ end
602
+
603
+ path
604
+ end
605
+
606
+ reset
607
+ end
608
+
609
+ if Gem::HAVE_OPENSSL
610
+ require_relative "security/policy"
611
+ require_relative "security/policies"
612
+ require_relative "security/trust_dir"
613
+ end
614
+
615
+ require_relative "security/signer"
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ #--
4
+ # Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
5
+ # All rights reserved.
6
+ # See LICENSE.txt for permissions.
7
+ #++
8
+
9
+ require_relative "../rubygems"
10
+
11
+ # forward-declare
12
+
13
+ module Gem::Security # :nodoc:
14
+ class Policy # :nodoc:
15
+ end
16
+ end
17
+
18
+ ##
19
+ # Mixin methods for security option for Gem::Commands
20
+
21
+ module Gem::SecurityOption
22
+ def add_security_option
23
+ Gem::OptionParser.accept Gem::Security::Policy do |value|
24
+ require_relative "security"
25
+
26
+ raise Gem::OptionParser::InvalidArgument, "OpenSSL not installed" unless
27
+ defined?(Gem::Security::HighSecurity)
28
+
29
+ policy = Gem::Security::Policies[value]
30
+ unless policy
31
+ valid = Gem::Security::Policies.keys.sort
32
+ raise Gem::OptionParser::InvalidArgument, "#{value} (#{valid.join ", "} are valid)"
33
+ end
34
+ policy
35
+ end
36
+
37
+ add_option(:"Install/Update", "-P", "--trust-policy POLICY",
38
+ Gem::Security::Policy,
39
+ "Specify gem trust policy") do |value, options|
40
+ options[:security_policy] = value
41
+ end
42
+ end
43
+ end