@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,1187 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "lockfile_parser"
4
+
5
+ module Bundler
6
+ class Definition
7
+ include GemHelpers
8
+
9
+ class << self
10
+ # Do not create or modify a lockfile (Makes #lock a noop)
11
+ attr_accessor :no_lock
12
+ end
13
+
14
+ attr_reader(
15
+ :dependencies,
16
+ :locked_checksums,
17
+ :locked_deps,
18
+ :locked_gems,
19
+ :platforms,
20
+ :ruby_version,
21
+ :lockfile,
22
+ :gemfiles,
23
+ :sources
24
+ )
25
+
26
+ # Given a gemfile and lockfile creates a Bundler definition
27
+ #
28
+ # @param gemfile [Pathname] Path to Gemfile
29
+ # @param lockfile [Pathname,nil] Path to Gemfile.lock
30
+ # @param unlock [Hash, Boolean, nil] Gems that have been requested
31
+ # to be updated or true if all gems should be updated
32
+ # @return [Bundler::Definition]
33
+ def self.build(gemfile, lockfile, unlock)
34
+ unlock ||= {}
35
+ gemfile = Pathname.new(gemfile).expand_path
36
+
37
+ raise GemfileNotFound, "#{gemfile} not found" unless gemfile.file?
38
+
39
+ Dsl.evaluate(gemfile, lockfile, unlock)
40
+ end
41
+
42
+ #
43
+ # How does the new system work?
44
+ #
45
+ # * Load information from Gemfile and Lockfile
46
+ # * Invalidate stale locked specs
47
+ # * All specs from stale source are stale
48
+ # * All specs that are reachable only through a stale
49
+ # dependency are stale.
50
+ # * If all fresh dependencies are satisfied by the locked
51
+ # specs, then we can try to resolve locally.
52
+ #
53
+ # @param lockfile [Pathname] Path to Gemfile.lock
54
+ # @param dependencies [Array(Bundler::Dependency)] array of dependencies from Gemfile
55
+ # @param sources [Bundler::SourceList]
56
+ # @param unlock [Hash, Boolean, nil] Gems that have been requested
57
+ # to be updated or true if all gems should be updated
58
+ # @param ruby_version [Bundler::RubyVersion, nil] Requested Ruby Version
59
+ # @param optional_groups [Array(String)] A list of optional groups
60
+ def initialize(lockfile, dependencies, sources, unlock, ruby_version = nil, optional_groups = [], gemfiles = [])
61
+ unlock ||= {}
62
+
63
+ if unlock == true
64
+ @unlocking_all = true
65
+ @unlocking_bundler = false
66
+ @unlocking = unlock
67
+ @sources_to_unlock = []
68
+ @unlocking_ruby = false
69
+ @explicit_unlocks = []
70
+ conservative = false
71
+ else
72
+ @unlocking_all = false
73
+ @unlocking_bundler = unlock.delete(:bundler)
74
+ @unlocking = unlock.any? {|_k, v| !Array(v).empty? }
75
+ @sources_to_unlock = unlock.delete(:sources) || []
76
+ @unlocking_ruby = unlock.delete(:ruby)
77
+ @explicit_unlocks = unlock.delete(:gems) || []
78
+ conservative = unlock.delete(:conservative)
79
+ end
80
+
81
+ @dependencies = dependencies
82
+ @sources = sources
83
+ @optional_groups = optional_groups
84
+ @prefer_local = false
85
+ @specs = nil
86
+ @ruby_version = ruby_version
87
+ @gemfiles = gemfiles
88
+
89
+ @lockfile = lockfile
90
+ @lockfile_contents = String.new
91
+
92
+ @locked_bundler_version = nil
93
+ @resolved_bundler_version = nil
94
+
95
+ @locked_ruby_version = nil
96
+ @new_platforms = []
97
+ @removed_platforms = []
98
+ @originally_invalid_platforms = []
99
+
100
+ if lockfile_exists?
101
+ @lockfile_contents = Bundler.read_file(lockfile)
102
+ @locked_gems = LockfileParser.new(@lockfile_contents)
103
+ @locked_platforms = @locked_gems.platforms
104
+ @most_specific_locked_platform = @locked_gems.most_specific_locked_platform
105
+ @platforms = @locked_platforms.dup
106
+ @locked_bundler_version = @locked_gems.bundler_version
107
+ @locked_ruby_version = @locked_gems.ruby_version
108
+ @locked_deps = @locked_gems.dependencies
109
+ @originally_locked_specs = SpecSet.new(@locked_gems.specs)
110
+ @locked_checksums = @locked_gems.checksums
111
+
112
+ if @unlocking_all
113
+ @locked_specs = SpecSet.new([])
114
+ @locked_sources = []
115
+ else
116
+ @locked_specs = @originally_locked_specs
117
+ @locked_sources = @locked_gems.sources
118
+ end
119
+ else
120
+ @locked_gems = nil
121
+ @locked_platforms = []
122
+ @most_specific_locked_platform = nil
123
+ @platforms = []
124
+ @locked_deps = {}
125
+ @locked_specs = SpecSet.new([])
126
+ @originally_locked_specs = @locked_specs
127
+ @locked_sources = []
128
+ @locked_checksums = Bundler.feature_flag.lockfile_checksums?
129
+ end
130
+
131
+ locked_gem_sources = @locked_sources.select {|s| s.is_a?(Source::Rubygems) }
132
+ @multisource_allowed = locked_gem_sources.size == 1 && locked_gem_sources.first.multiple_remotes? && Bundler.frozen_bundle?
133
+
134
+ if @multisource_allowed
135
+ unless sources.aggregate_global_source?
136
+ msg = "Your lockfile contains a single rubygems source section with multiple remotes, which is insecure. Make sure you run `bundle install` in non frozen mode and commit the result to make your lockfile secure."
137
+
138
+ Bundler::SharedHelpers.major_deprecation 2, msg
139
+ end
140
+
141
+ @sources.merged_gem_lockfile_sections!(locked_gem_sources.first)
142
+ end
143
+
144
+ @unlocking_ruby ||= if @ruby_version && locked_ruby_version_object
145
+ @ruby_version.diff(locked_ruby_version_object)
146
+ end
147
+ @unlocking ||= @unlocking_ruby ||= (!@locked_ruby_version ^ !@ruby_version)
148
+
149
+ @current_platform_missing = add_current_platform unless Bundler.frozen_bundle?
150
+
151
+ @source_changes = converge_sources
152
+ @path_changes = converge_paths
153
+
154
+ if conservative
155
+ @gems_to_unlock = @explicit_unlocks.any? ? @explicit_unlocks : @dependencies.map(&:name)
156
+ else
157
+ eager_unlock = @explicit_unlocks.map {|name| Dependency.new(name, ">= 0") }
158
+ @gems_to_unlock = @locked_specs.for(eager_unlock, platforms).map(&:name).uniq
159
+ end
160
+
161
+ @dependency_changes = converge_dependencies
162
+ @local_changes = converge_locals
163
+
164
+ check_lockfile
165
+ end
166
+
167
+ def gem_version_promoter
168
+ @gem_version_promoter ||= GemVersionPromoter.new
169
+ end
170
+
171
+ def check!
172
+ # If dependencies have changed, we need to resolve remotely. Otherwise,
173
+ # since we'll be resolving with a single local source, we may end up
174
+ # locking gems under the wrong source in the lockfile, and missing lockfile
175
+ # checksums
176
+ resolve_remotely! if @dependency_changes
177
+
178
+ # Now do a local only resolve, to verify if any gems are missing locally
179
+ sources.local_only!
180
+ resolve
181
+ end
182
+
183
+ #
184
+ # Setup sources according to the given options and the state of the
185
+ # definition.
186
+ #
187
+ # @return [Boolean] Whether fetching remote information will be necessary or not
188
+ #
189
+ def setup_domain!(options = {})
190
+ prefer_local! if options[:"prefer-local"]
191
+
192
+ if options[:add_checksums] || (!options[:local] && install_needed?)
193
+ remotely!
194
+ true
195
+ else
196
+ Bundler.settings.set_command_option(:jobs, 1) unless install_needed? # to avoid the overhead of Bundler::Worker
197
+ with_cache!
198
+ false
199
+ end
200
+ end
201
+
202
+ def resolve_with_cache!
203
+ with_cache!
204
+
205
+ resolve
206
+ end
207
+
208
+ def with_cache!
209
+ sources.local!
210
+ sources.cached!
211
+ end
212
+
213
+ def resolve_remotely!
214
+ remotely!
215
+
216
+ resolve
217
+ end
218
+
219
+ def remotely!
220
+ sources.cached!
221
+ sources.remote!
222
+ end
223
+
224
+ def prefer_local!
225
+ @prefer_local = true
226
+
227
+ sources.prefer_local!
228
+ end
229
+
230
+ # For given dependency list returns a SpecSet with Gemspec of all the required
231
+ # dependencies.
232
+ # 1. The method first resolves the dependencies specified in Gemfile
233
+ # 2. After that it tries and fetches gemspec of resolved dependencies
234
+ #
235
+ # @return [Bundler::SpecSet]
236
+ def specs
237
+ @specs ||= materialize(requested_dependencies)
238
+ end
239
+
240
+ def new_specs
241
+ specs - @locked_specs
242
+ end
243
+
244
+ def removed_specs
245
+ @locked_specs - specs
246
+ end
247
+
248
+ def missing_specs
249
+ resolve.missing_specs_for(requested_dependencies)
250
+ end
251
+
252
+ def missing_specs?
253
+ missing = missing_specs
254
+ return false if missing.empty?
255
+ Bundler.ui.debug "The definition is missing #{missing.map(&:full_name)}"
256
+ true
257
+ rescue BundlerError => e
258
+ @resolve = nil
259
+ @resolver = nil
260
+ @resolution_base = nil
261
+ @source_requirements = nil
262
+ @specs = nil
263
+
264
+ Bundler.ui.debug "The definition is missing dependencies, failed to resolve & materialize locally (#{e})"
265
+ true
266
+ end
267
+
268
+ def requested_specs
269
+ specs_for(requested_groups)
270
+ end
271
+
272
+ def requested_dependencies
273
+ dependencies_for(requested_groups)
274
+ end
275
+
276
+ def current_dependencies
277
+ filter_relevant(dependencies)
278
+ end
279
+
280
+ def current_locked_dependencies
281
+ filter_relevant(locked_dependencies)
282
+ end
283
+
284
+ def filter_relevant(dependencies)
285
+ platforms_array = [generic_local_platform].freeze
286
+ dependencies.select do |d|
287
+ d.should_include? && !d.gem_platforms(platforms_array).empty?
288
+ end
289
+ end
290
+
291
+ def locked_dependencies
292
+ @locked_deps.values
293
+ end
294
+
295
+ def new_deps
296
+ @new_deps ||= @dependencies - locked_dependencies
297
+ end
298
+
299
+ def deleted_deps
300
+ @deleted_deps ||= locked_dependencies - @dependencies
301
+ end
302
+
303
+ def specs_for(groups)
304
+ return specs if groups.empty?
305
+ deps = dependencies_for(groups)
306
+ materialize(deps)
307
+ end
308
+
309
+ def dependencies_for(groups)
310
+ groups.map!(&:to_sym)
311
+ deps = current_dependencies # always returns a new array
312
+ deps.select! do |d|
313
+ d.groups.intersect?(groups)
314
+ end
315
+ deps
316
+ end
317
+
318
+ # Resolve all the dependencies specified in Gemfile. It ensures that
319
+ # dependencies that have been already resolved via locked file and are fresh
320
+ # are reused when resolving dependencies
321
+ #
322
+ # @return [SpecSet] resolved dependencies
323
+ def resolve
324
+ @resolve ||= if Bundler.frozen_bundle?
325
+ Bundler.ui.debug "Frozen, using resolution from the lockfile"
326
+ @locked_specs
327
+ elsif no_resolve_needed?
328
+ if deleted_deps.any?
329
+ Bundler.ui.debug "Some dependencies were deleted, using a subset of the resolution from the lockfile"
330
+ SpecSet.new(filter_specs(@locked_specs, @dependencies - deleted_deps))
331
+ else
332
+ Bundler.ui.debug "Found no changes, using resolution from the lockfile"
333
+ if @removed_platforms.any? || @locked_gems.may_include_redundant_platform_specific_gems?
334
+ SpecSet.new(filter_specs(@locked_specs, @dependencies))
335
+ else
336
+ @locked_specs
337
+ end
338
+ end
339
+ else
340
+ Bundler.ui.debug resolve_needed_reason
341
+
342
+ start_resolution
343
+ end
344
+ end
345
+
346
+ def spec_git_paths
347
+ sources.git_sources.filter_map {|s| File.realpath(s.path) if File.exist?(s.path) }
348
+ end
349
+
350
+ def groups
351
+ dependencies.flat_map(&:groups).uniq
352
+ end
353
+
354
+ def lock(file_or_preserve_unknown_sections = false, preserve_unknown_sections_or_unused = false)
355
+ if [true, false, nil].include?(file_or_preserve_unknown_sections)
356
+ target_lockfile = lockfile
357
+ preserve_unknown_sections = file_or_preserve_unknown_sections
358
+ else
359
+ target_lockfile = file_or_preserve_unknown_sections
360
+ preserve_unknown_sections = preserve_unknown_sections_or_unused
361
+
362
+ suggestion = if target_lockfile == lockfile
363
+ "To fix this warning, remove it from the `Definition#lock` call."
364
+ else
365
+ "Instead, instantiate a new definition passing `#{target_lockfile}`, and call `lock` without a file argument on that definition"
366
+ end
367
+
368
+ msg = "`Definition#lock` was passed a target file argument. #{suggestion}"
369
+
370
+ Bundler::SharedHelpers.major_deprecation 2, msg
371
+ end
372
+
373
+ write_lock(target_lockfile, preserve_unknown_sections)
374
+ end
375
+
376
+ def locked_ruby_version
377
+ return unless ruby_version
378
+ if @unlocking_ruby || !@locked_ruby_version
379
+ Bundler::RubyVersion.system
380
+ else
381
+ @locked_ruby_version
382
+ end
383
+ end
384
+
385
+ def locked_ruby_version_object
386
+ return unless @locked_ruby_version
387
+ @locked_ruby_version_object ||= begin
388
+ unless version = RubyVersion.from_string(@locked_ruby_version)
389
+ raise LockfileError, "The Ruby version #{@locked_ruby_version} from " \
390
+ "#{@lockfile} could not be parsed. " \
391
+ "Try running bundle update --ruby to resolve this."
392
+ end
393
+ version
394
+ end
395
+ end
396
+
397
+ def bundler_version_to_lock
398
+ @resolved_bundler_version || Bundler.gem_version
399
+ end
400
+
401
+ def to_lock
402
+ require_relative "lockfile_generator"
403
+ LockfileGenerator.generate(self)
404
+ end
405
+
406
+ def ensure_equivalent_gemfile_and_lockfile(explicit_flag = false)
407
+ return unless Bundler.frozen_bundle?
408
+
409
+ raise ProductionError, "Frozen mode is set, but there's no lockfile" unless lockfile_exists?
410
+
411
+ msg = lockfile_changes_summary("frozen mode is set")
412
+ return unless msg
413
+
414
+ unless explicit_flag
415
+ suggested_command = unless Bundler.settings.locations("frozen").keys.include?(:env)
416
+ "bundle config set frozen false"
417
+ end
418
+ msg << "\n\nIf this is a development machine, remove the #{SharedHelpers.relative_lockfile_path} " \
419
+ "freeze by running `#{suggested_command}`." if suggested_command
420
+ end
421
+
422
+ raise ProductionError, msg
423
+ end
424
+
425
+ def validate_runtime!
426
+ validate_ruby!
427
+ validate_platforms!
428
+ end
429
+
430
+ def validate_ruby!
431
+ return unless ruby_version
432
+
433
+ if diff = ruby_version.diff(Bundler::RubyVersion.system)
434
+ problem, expected, actual = diff
435
+
436
+ msg = case problem
437
+ when :engine
438
+ "Your Ruby engine is #{actual}, but your Gemfile specified #{expected}"
439
+ when :version
440
+ "Your Ruby version is #{actual}, but your Gemfile specified #{expected}"
441
+ when :engine_version
442
+ "Your #{Bundler::RubyVersion.system.engine} version is #{actual}, but your Gemfile specified #{ruby_version.engine} #{expected}"
443
+ when :patchlevel
444
+ if !expected.is_a?(String)
445
+ "The Ruby patchlevel in your Gemfile must be a string"
446
+ else
447
+ "Your Ruby patchlevel is #{actual}, but your Gemfile specified #{expected}"
448
+ end
449
+ end
450
+
451
+ raise RubyVersionMismatch, msg
452
+ end
453
+ end
454
+
455
+ def validate_platforms!
456
+ return if current_platform_locked? || @platforms.include?(Gem::Platform::RUBY)
457
+
458
+ raise ProductionError, "Your bundle only supports platforms #{@platforms.map(&:to_s)} " \
459
+ "but your local platform is #{local_platform}. " \
460
+ "Add the current platform to the lockfile with\n`bundle lock --add-platform #{local_platform}` and try again."
461
+ end
462
+
463
+ def normalize_platforms
464
+ resolve.normalize_platforms!(current_dependencies, platforms)
465
+
466
+ @resolve = SpecSet.new(resolve.for(current_dependencies, @platforms))
467
+ end
468
+
469
+ def add_platform(platform)
470
+ return if @platforms.include?(platform)
471
+
472
+ @new_platforms << platform
473
+ @platforms << platform
474
+ end
475
+
476
+ def remove_platform(platform)
477
+ raise InvalidOption, "Unable to remove the platform `#{platform}` since the only platforms are #{@platforms.join ", "}" unless @platforms.include?(platform)
478
+
479
+ @removed_platforms << platform
480
+ @platforms.delete(platform)
481
+ end
482
+
483
+ def nothing_changed?
484
+ !something_changed?
485
+ end
486
+
487
+ def no_resolve_needed?
488
+ !resolve_needed?
489
+ end
490
+
491
+ def unlocking?
492
+ @unlocking
493
+ end
494
+
495
+ attr_writer :source_requirements
496
+
497
+ def add_checksums
498
+ @locked_checksums = true
499
+
500
+ setup_domain!(add_checksums: true)
501
+
502
+ specs # force materialization to real specifications, so that checksums are fetched
503
+ end
504
+
505
+ private
506
+
507
+ def lockfile_changes_summary(update_refused_reason)
508
+ added = []
509
+ deleted = []
510
+ changed = []
511
+
512
+ added.concat @new_platforms.map {|p| "* platform: #{p}" }
513
+ deleted.concat @removed_platforms.map {|p| "* platform: #{p}" }
514
+
515
+ added.concat new_deps.map {|d| "* #{pretty_dep(d)}" } if new_deps.any?
516
+ deleted.concat deleted_deps.map {|d| "* #{pretty_dep(d)}" } if deleted_deps.any?
517
+
518
+ both_sources = Hash.new {|h, k| h[k] = [] }
519
+ current_dependencies.each {|d| both_sources[d.name][0] = d }
520
+ current_locked_dependencies.each {|d| both_sources[d.name][1] = d }
521
+
522
+ both_sources.each do |name, (dep, lock_dep)|
523
+ next if dep.nil? || lock_dep.nil?
524
+
525
+ gemfile_source = dep.source || default_source
526
+ lock_source = lock_dep.source || default_source
527
+ next if lock_source.include?(gemfile_source)
528
+
529
+ gemfile_source_name = dep.source ? gemfile_source.to_gemfile : "no specified source"
530
+ lockfile_source_name = lock_dep.source ? lock_source.to_gemfile : "no specified source"
531
+ changed << "* #{name} from `#{lockfile_source_name}` to `#{gemfile_source_name}`"
532
+ end
533
+
534
+ return unless added.any? || deleted.any? || changed.any? || resolve_needed?
535
+
536
+ msg = String.new("#{change_reason.capitalize.strip}, but ")
537
+ msg << "the lockfile " unless msg.start_with?("Your lockfile")
538
+ msg << "can't be updated because #{update_refused_reason}"
539
+ msg << "\n\nYou have added to the Gemfile:\n" << added.join("\n") if added.any?
540
+ msg << "\n\nYou have deleted from the Gemfile:\n" << deleted.join("\n") if deleted.any?
541
+ msg << "\n\nYou have changed in the Gemfile:\n" << changed.join("\n") if changed.any?
542
+ msg << "\n\nRun `bundle install` elsewhere and add the updated #{SharedHelpers.relative_lockfile_path} to version control.\n" unless unlocking?
543
+ msg
544
+ end
545
+
546
+ def install_needed?
547
+ resolve_needed? || missing_specs?
548
+ end
549
+
550
+ def something_changed?
551
+ return true unless lockfile_exists?
552
+
553
+ @source_changes ||
554
+ @dependency_changes ||
555
+ @current_platform_missing ||
556
+ @new_platforms.any? ||
557
+ @path_changes ||
558
+ @local_changes ||
559
+ @missing_lockfile_dep ||
560
+ @unlocking_bundler ||
561
+ @locked_spec_with_missing_checksums ||
562
+ @locked_spec_with_missing_deps ||
563
+ @locked_spec_with_invalid_deps
564
+ end
565
+
566
+ def resolve_needed?
567
+ unlocking? || something_changed?
568
+ end
569
+
570
+ def should_add_extra_platforms?
571
+ !lockfile_exists? && generic_local_platform_is_ruby? && !Bundler.settings[:force_ruby_platform]
572
+ end
573
+
574
+ def lockfile_exists?
575
+ lockfile && File.exist?(lockfile)
576
+ end
577
+
578
+ def write_lock(file, preserve_unknown_sections)
579
+ return if Definition.no_lock || file.nil?
580
+
581
+ contents = to_lock
582
+
583
+ # Convert to \r\n if the existing lock has them
584
+ # i.e., Windows with `git config core.autocrlf=true`
585
+ contents.gsub!(/\n/, "\r\n") if @lockfile_contents.match?("\r\n")
586
+
587
+ if @locked_bundler_version
588
+ locked_major = @locked_bundler_version.segments.first
589
+ current_major = bundler_version_to_lock.segments.first
590
+
591
+ updating_major = locked_major < current_major
592
+ end
593
+
594
+ preserve_unknown_sections ||= !updating_major && (Bundler.frozen_bundle? || !(unlocking? || @unlocking_bundler))
595
+
596
+ if File.exist?(file) && lockfiles_equal?(@lockfile_contents, contents, preserve_unknown_sections)
597
+ return if Bundler.frozen_bundle?
598
+ SharedHelpers.filesystem_access(file) { FileUtils.touch(file) }
599
+ return
600
+ end
601
+
602
+ if Bundler.frozen_bundle?
603
+ Bundler.ui.error "Cannot write a changed lockfile while frozen."
604
+ return
605
+ end
606
+
607
+ begin
608
+ SharedHelpers.filesystem_access(file) do |p|
609
+ File.open(p, "wb") {|f| f.puts(contents) }
610
+ end
611
+ rescue ReadOnlyFileSystemError
612
+ raise ProductionError, lockfile_changes_summary("file system is read-only")
613
+ end
614
+ end
615
+
616
+ def resolver
617
+ @resolver ||= Resolver.new(resolution_base, gem_version_promoter, @most_specific_locked_platform)
618
+ end
619
+
620
+ def expanded_dependencies
621
+ dependencies_with_bundler + metadata_dependencies
622
+ end
623
+
624
+ def dependencies_with_bundler
625
+ return dependencies unless @unlocking_bundler
626
+ return dependencies if dependencies.any? {|d| d.name == "bundler" }
627
+
628
+ [Dependency.new("bundler", @unlocking_bundler)] + dependencies
629
+ end
630
+
631
+ def resolution_base
632
+ @resolution_base ||= begin
633
+ last_resolve = converge_locked_specs
634
+ remove_invalid_platforms!
635
+ new_resolution_platforms = @current_platform_missing ? @new_platforms + [local_platform] : @new_platforms
636
+ base = Resolver::Base.new(source_requirements, expanded_dependencies, last_resolve, @platforms, locked_specs: @originally_locked_specs, unlock: @unlocking_all || @gems_to_unlock, prerelease: gem_version_promoter.pre?, prefer_local: @prefer_local, new_platforms: new_resolution_platforms)
637
+ base = additional_base_requirements_to_prevent_downgrades(base)
638
+ base = additional_base_requirements_to_force_updates(base)
639
+ base
640
+ end
641
+ end
642
+
643
+ def filter_specs(specs, deps, skips: [])
644
+ SpecSet.new(specs).for(deps, platforms, skips: skips)
645
+ end
646
+
647
+ def materialize(dependencies)
648
+ # Tracks potential endless loops trying to re-resolve.
649
+ # TODO: Remove as dead code if not reports are received in a while
650
+ incorrect_spec = nil
651
+
652
+ specs = begin
653
+ resolve.materialize(dependencies)
654
+ rescue IncorrectLockfileDependencies => e
655
+ raise if Bundler.frozen_bundle?
656
+
657
+ spec = e.spec
658
+ raise "Infinite loop while fixing lockfile dependencies" if incorrect_spec == spec
659
+
660
+ incorrect_spec = spec
661
+ reresolve_without([spec])
662
+ retry
663
+ end
664
+
665
+ missing_specs = resolve.missing_specs
666
+
667
+ if missing_specs.any?
668
+ missing_specs.each do |s|
669
+ locked_gem = @locked_specs[s.name].last
670
+ next if locked_gem.nil? || locked_gem.version != s.version || sources.local_mode?
671
+
672
+ message = if sources.implicit_global_source?
673
+ "Because your Gemfile specifies no global remote source, your bundle is locked to " \
674
+ "#{locked_gem} from #{locked_gem.source}. However, #{locked_gem} is not installed. You'll " \
675
+ "need to either add a global remote source to your Gemfile or make sure #{locked_gem} is " \
676
+ "available locally before rerunning Bundler."
677
+ else
678
+ "Your bundle is locked to #{locked_gem} from #{locked_gem.source}, but that version can " \
679
+ "no longer be found in that source. That means the author of #{locked_gem} has removed it. " \
680
+ "You'll need to update your bundle to a version other than #{locked_gem} that hasn't been " \
681
+ "removed in order to install."
682
+ end
683
+
684
+ raise GemNotFound, message
685
+ end
686
+
687
+ missing_specs_list = missing_specs.group_by(&:source).map do |source, missing_specs_for_source|
688
+ "#{missing_specs_for_source.map(&:full_name).join(", ")} in #{source}"
689
+ end
690
+
691
+ raise GemNotFound, "Could not find #{missing_specs_list.join(" nor ")}"
692
+ end
693
+
694
+ partially_missing_specs = resolve.partially_missing_specs
695
+
696
+ if partially_missing_specs.any? && !sources.local_mode?
697
+ Bundler.ui.warn "Some locked specs have possibly been yanked (#{partially_missing_specs.map(&:full_name).join(", ")}). Ignoring them..."
698
+
699
+ resolve.delete(partially_missing_specs)
700
+ end
701
+
702
+ incomplete_specs = resolve.incomplete_specs
703
+ loop do
704
+ break if incomplete_specs.empty?
705
+
706
+ Bundler.ui.debug("The lockfile does not have all gems needed for the current platform though, Bundler will still re-resolve dependencies")
707
+ sources.remote!
708
+ reresolve_without(incomplete_specs)
709
+ specs = resolve.materialize(dependencies)
710
+
711
+ still_incomplete_specs = resolve.incomplete_specs
712
+
713
+ if still_incomplete_specs == incomplete_specs
714
+ resolver.raise_incomplete! incomplete_specs
715
+ end
716
+
717
+ incomplete_specs = still_incomplete_specs
718
+ end
719
+
720
+ insecurely_materialized_specs = resolve.insecurely_materialized_specs
721
+
722
+ if insecurely_materialized_specs.any?
723
+ Bundler.ui.warn "The following platform specific gems are getting installed, yet the lockfile includes only their generic ruby version:\n" \
724
+ " * #{insecurely_materialized_specs.map(&:full_name).join("\n * ")}\n" \
725
+ "Please run `bundle lock --normalize-platforms` and commit the resulting lockfile.\n" \
726
+ "Alternatively, you may run `bundle lock --add-platform <list-of-platforms-that-you-want-to-support>`"
727
+ end
728
+
729
+ bundler = sources.metadata_source.specs.search(["bundler", Bundler.gem_version]).last
730
+ specs["bundler"] = bundler
731
+
732
+ specs
733
+ end
734
+
735
+ def reresolve_without(incomplete_specs)
736
+ resolution_base.delete(incomplete_specs)
737
+ @resolve = start_resolution
738
+ end
739
+
740
+ def start_resolution
741
+ local_platform_needed_for_resolvability = @most_specific_non_local_locked_platform && !@platforms.include?(local_platform)
742
+ @platforms << local_platform if local_platform_needed_for_resolvability
743
+ add_platform(Gem::Platform::RUBY) if RUBY_ENGINE == "truffleruby"
744
+
745
+ result = SpecSet.new(resolver.start)
746
+
747
+ @resolved_bundler_version = result.find {|spec| spec.name == "bundler" }&.version
748
+
749
+ @new_platforms.each do |platform|
750
+ incomplete_specs = result.incomplete_specs_for_platform(current_dependencies, platform)
751
+
752
+ if incomplete_specs.any?
753
+ resolver.raise_incomplete! incomplete_specs
754
+ end
755
+ end
756
+
757
+ if @most_specific_non_local_locked_platform
758
+ if result.incomplete_for_platform?(current_dependencies, @most_specific_non_local_locked_platform)
759
+ @platforms.delete(@most_specific_non_local_locked_platform)
760
+ elsif local_platform_needed_for_resolvability
761
+ @platforms.delete(local_platform)
762
+ end
763
+ end
764
+
765
+ if should_add_extra_platforms?
766
+ result.add_extra_platforms!(platforms)
767
+ elsif @originally_invalid_platforms.any?
768
+ result.add_originally_invalid_platforms!(platforms, @originally_invalid_platforms)
769
+ end
770
+
771
+ SpecSet.new(result.for(dependencies, @platforms | [Gem::Platform::RUBY]))
772
+ end
773
+
774
+ def precompute_source_requirements_for_indirect_dependencies?
775
+ sources.non_global_rubygems_sources.all?(&:dependency_api_available?) && !sources.aggregate_global_source?
776
+ end
777
+
778
+ def current_platform_locked?
779
+ @platforms.any? do |bundle_platform|
780
+ generic_local_platform == bundle_platform || local_platform === bundle_platform
781
+ end
782
+ end
783
+
784
+ def add_current_platform
785
+ return if @platforms.include?(local_platform)
786
+
787
+ @most_specific_non_local_locked_platform = find_most_specific_locked_platform
788
+ return if @most_specific_non_local_locked_platform
789
+
790
+ @platforms << local_platform
791
+ true
792
+ end
793
+
794
+ def find_most_specific_locked_platform
795
+ return unless current_platform_locked?
796
+
797
+ @most_specific_locked_platform
798
+ end
799
+
800
+ def resolve_needed_reason
801
+ if lockfile_exists?
802
+ if unlocking?
803
+ "Re-resolving dependencies because #{unlocking_reason}"
804
+ else
805
+ "Found changes from the lockfile, re-resolving dependencies because #{lockfile_changed_reason}"
806
+ end
807
+ else
808
+ "Resolving dependencies because there's no lockfile"
809
+ end
810
+ end
811
+
812
+ def change_reason
813
+ if resolve_needed?
814
+ if unlocking?
815
+ unlocking_reason
816
+ else
817
+ lockfile_changed_reason
818
+ end
819
+ else
820
+ "some dependencies were deleted from your gemfile"
821
+ end
822
+ end
823
+
824
+ def unlocking_reason
825
+ unlock_targets = if @gems_to_unlock.any?
826
+ ["gems", @gems_to_unlock]
827
+ elsif @sources_to_unlock.any?
828
+ ["sources", @sources_to_unlock]
829
+ end
830
+
831
+ unlock_reason = if unlock_targets
832
+ "#{unlock_targets.first}: (#{unlock_targets.last.join(", ")})"
833
+ else
834
+ @unlocking_ruby ? "ruby" : ""
835
+ end
836
+
837
+ "bundler is unlocking #{unlock_reason}"
838
+ end
839
+
840
+ def lockfile_changed_reason
841
+ [
842
+ [@source_changes, "the list of sources changed"],
843
+ [@dependency_changes, "the dependencies in your gemfile changed"],
844
+ [@current_platform_missing, "your lockfile is missing the current platform"],
845
+ [@new_platforms.any?, "you are adding a new platform to your lockfile"],
846
+ [@path_changes, "the gemspecs for path gems changed"],
847
+ [@local_changes, "the gemspecs for git local gems changed"],
848
+ [@missing_lockfile_dep, "your lockfile is missing \"#{@missing_lockfile_dep}\""],
849
+ [@unlocking_bundler, "an update to the version of Bundler itself was requested"],
850
+ [@locked_spec_with_missing_checksums, "your lockfile is missing a CHECKSUMS entry for \"#{@locked_spec_with_missing_checksums}\""],
851
+ [@locked_spec_with_missing_deps, "your lockfile includes \"#{@locked_spec_with_missing_deps}\" but not some of its dependencies"],
852
+ [@locked_spec_with_invalid_deps, "your lockfile does not satisfy dependencies of \"#{@locked_spec_with_invalid_deps}\""],
853
+ ].select(&:first).map(&:last).join(", ")
854
+ end
855
+
856
+ def pretty_dep(dep)
857
+ SharedHelpers.pretty_dependency(dep)
858
+ end
859
+
860
+ # Check if the specs of the given source changed
861
+ # according to the locked source.
862
+ def specs_changed?(source)
863
+ locked = @locked_sources.find {|s| s == source }
864
+
865
+ !locked || dependencies_for_source_changed?(source, locked) || specs_for_source_changed?(source)
866
+ end
867
+
868
+ def dependencies_for_source_changed?(source, locked_source)
869
+ deps_for_source = @dependencies.select {|dep| dep.source == source }
870
+ locked_deps_for_source = locked_dependencies.select {|dep| dep.source == locked_source }
871
+
872
+ deps_for_source.uniq.sort != locked_deps_for_source.sort
873
+ end
874
+
875
+ def specs_for_source_changed?(source)
876
+ locked_index = Index.new
877
+ locked_index.use(@locked_specs.select {|s| s.replace_source_with!(source) })
878
+
879
+ !locked_index.subset?(source.specs)
880
+ rescue PathError, GitError => e
881
+ Bundler.ui.debug "Assuming that #{source} has not changed since fetching its specs errored (#{e})"
882
+ false
883
+ end
884
+
885
+ # Get all locals and override their matching sources.
886
+ # Return true if any of the locals changed (for example,
887
+ # they point to a new revision) or depend on new specs.
888
+ def converge_locals
889
+ locals = []
890
+
891
+ Bundler.settings.local_overrides.map do |k, v|
892
+ spec = @dependencies.find {|s| s.name == k }
893
+ source = spec&.source
894
+ if source&.respond_to?(:local_override!)
895
+ source.unlock! if @gems_to_unlock.include?(spec.name)
896
+ locals << [source, source.local_override!(v)]
897
+ end
898
+ end
899
+
900
+ sources_with_changes = locals.select do |source, changed|
901
+ changed || specs_changed?(source)
902
+ end.map(&:first)
903
+ !sources_with_changes.each {|source| @sources_to_unlock << source.name }.empty?
904
+ end
905
+
906
+ def check_lockfile
907
+ @locked_spec_with_invalid_deps = nil
908
+ @locked_spec_with_missing_deps = nil
909
+ @locked_spec_with_missing_checksums = nil
910
+
911
+ missing_deps = []
912
+ missing_checksums = []
913
+ invalid = []
914
+
915
+ @locked_specs.each do |s|
916
+ missing_checksums << s if @locked_checksums && s.source.checksum_store.missing?(s)
917
+
918
+ validation = @locked_specs.validate_deps(s)
919
+
920
+ missing_deps << s if validation == :missing
921
+ invalid << s if validation == :invalid
922
+ end
923
+
924
+ @locked_spec_with_missing_checksums = missing_checksums.first.name if missing_checksums.any?
925
+
926
+ if missing_deps.any?
927
+ @locked_specs.delete(missing_deps)
928
+
929
+ @locked_spec_with_missing_deps = missing_deps.first.name
930
+ end
931
+
932
+ if invalid.any?
933
+ @locked_specs.delete(invalid)
934
+
935
+ @locked_spec_with_invalid_deps = invalid.first.name
936
+ end
937
+ end
938
+
939
+ def converge_paths
940
+ sources.path_sources.any? do |source|
941
+ specs_changed?(source)
942
+ end
943
+ end
944
+
945
+ def converge_sources
946
+ # Replace the sources from the Gemfile with the sources from the Gemfile.lock,
947
+ # if they exist in the Gemfile.lock and are `==`. If you can't find an equivalent
948
+ # source in the Gemfile.lock, use the one from the Gemfile.
949
+ changes = sources.replace_sources!(@locked_sources)
950
+
951
+ sources.all_sources.each do |source|
952
+ # has to be done separately, because we want to keep the locked checksum
953
+ # store for a source, even when doing a full update
954
+ if @locked_checksums && @locked_gems && locked_source = @locked_gems.sources.find {|s| s == source && !s.equal?(source) }
955
+ source.checksum_store.merge!(locked_source.checksum_store)
956
+ end
957
+ # If the source is unlockable and the current command allows an unlock of
958
+ # the source (for example, you are doing a `bundle update <foo>` of a git-pinned
959
+ # gem), unlock it. For git sources, this means to unlock the revision, which
960
+ # will cause the `ref` used to be the most recent for the branch (or master) if
961
+ # an explicit `ref` is not used.
962
+ if source.respond_to?(:unlock!) && @sources_to_unlock.include?(source.name)
963
+ source.unlock!
964
+ changes = true
965
+ end
966
+ end
967
+
968
+ changes
969
+ end
970
+
971
+ def converge_dependencies
972
+ @missing_lockfile_dep = nil
973
+ @changed_dependencies = []
974
+
975
+ current_dependencies.each do |dep|
976
+ if dep.source
977
+ dep.source = sources.get(dep.source)
978
+ end
979
+
980
+ name = dep.name
981
+
982
+ dep_changed = @locked_deps[name].nil?
983
+
984
+ unless name == "bundler"
985
+ locked_specs = @originally_locked_specs[name]
986
+
987
+ if locked_specs.empty?
988
+ @missing_lockfile_dep = name if dep_changed == false
989
+ else
990
+ if locked_specs.map(&:source).uniq.size > 1
991
+ @locked_specs.delete(locked_specs.select {|s| s.source != dep.source })
992
+ end
993
+
994
+ unless dep.matches_spec?(locked_specs.first)
995
+ @gems_to_unlock << name
996
+ dep_changed = true
997
+ end
998
+ end
999
+ end
1000
+
1001
+ @changed_dependencies << name if dep_changed
1002
+ end
1003
+
1004
+ @changed_dependencies.any?
1005
+ end
1006
+
1007
+ # Remove elements from the locked specs that are expired. This will most
1008
+ # commonly happen if the Gemfile has changed since the lockfile was last
1009
+ # generated
1010
+ def converge_locked_specs
1011
+ converged = converge_specs(@locked_specs)
1012
+
1013
+ resolve = SpecSet.new(converged)
1014
+
1015
+ diff = nil
1016
+
1017
+ # Now, we unlock any sources that do not have anymore gems pinned to it
1018
+ sources.all_sources.each do |source|
1019
+ next unless source.respond_to?(:unlock!)
1020
+
1021
+ unless resolve.any? {|s| s.source == source }
1022
+ diff ||= @locked_specs.to_a - resolve.to_a
1023
+ source.unlock! if diff.any? {|s| s.source == source }
1024
+ end
1025
+ end
1026
+
1027
+ resolve
1028
+ end
1029
+
1030
+ def converge_specs(specs)
1031
+ converged = []
1032
+ deps = []
1033
+
1034
+ specs.each do |s|
1035
+ name = s.name
1036
+ dep = @dependencies.find {|d| s.satisfies?(d) }
1037
+ lockfile_source = s.source
1038
+
1039
+ if dep
1040
+ gemfile_source = dep.source || default_source
1041
+
1042
+ deps << dep if !dep.source || lockfile_source.include?(dep.source) || new_deps.include?(dep)
1043
+
1044
+ # Replace the locked dependency's source with the equivalent source from the Gemfile
1045
+ s.source = gemfile_source
1046
+ else
1047
+ # Replace the locked dependency's source with the default source, if the locked source is no longer in the Gemfile
1048
+ s.source = default_source unless sources.get(lockfile_source)
1049
+ end
1050
+
1051
+ source = s.source
1052
+ next if @sources_to_unlock.include?(source.name)
1053
+
1054
+ # Path sources have special logic
1055
+ if source.instance_of?(Source::Path) || source.instance_of?(Source::Gemspec) || (source.instance_of?(Source::Git) && !@gems_to_unlock.include?(name) && deps.include?(dep))
1056
+ new_spec = source.specs[s].first
1057
+ if new_spec
1058
+ s.runtime_dependencies.replace(new_spec.runtime_dependencies)
1059
+ else
1060
+ # If the spec is no longer in the path source, unlock it. This
1061
+ # commonly happens if the version changed in the gemspec
1062
+ @gems_to_unlock << name
1063
+ end
1064
+ end
1065
+
1066
+ converged << s
1067
+ end
1068
+
1069
+ filter_specs(converged, deps, skips: @gems_to_unlock)
1070
+ end
1071
+
1072
+ def metadata_dependencies
1073
+ @metadata_dependencies ||= [
1074
+ Dependency.new("Ruby\0", Bundler::RubyVersion.system.gem_version),
1075
+ Dependency.new("RubyGems\0", Gem::VERSION),
1076
+ ]
1077
+ end
1078
+
1079
+ def source_requirements
1080
+ @source_requirements ||= find_source_requirements
1081
+ end
1082
+
1083
+ def find_source_requirements
1084
+ # Record the specs available in each gem's source, so that those
1085
+ # specs will be available later when the resolver knows where to
1086
+ # look for that gemspec (or its dependencies)
1087
+ source_requirements = if precompute_source_requirements_for_indirect_dependencies?
1088
+ all_requirements = source_map.all_requirements
1089
+ { default: default_source }.merge(all_requirements)
1090
+ else
1091
+ { default: Source::RubygemsAggregate.new(sources, source_map) }.merge(source_map.direct_requirements)
1092
+ end
1093
+ source_requirements.merge!(source_map.locked_requirements) if nothing_changed?
1094
+ metadata_dependencies.each do |dep|
1095
+ source_requirements[dep.name] = sources.metadata_source
1096
+ end
1097
+
1098
+ default_bundler_source = source_requirements["bundler"] || default_source
1099
+
1100
+ if @unlocking_bundler
1101
+ default_bundler_source.add_dependency_names("bundler")
1102
+ else
1103
+ source_requirements[:default_bundler] = default_bundler_source
1104
+ source_requirements["bundler"] = sources.metadata_source # needs to come last to override
1105
+ end
1106
+
1107
+ source_requirements
1108
+ end
1109
+
1110
+ def default_source
1111
+ sources.default_source
1112
+ end
1113
+
1114
+ def requested_groups
1115
+ values = groups - Bundler.settings[:without] - @optional_groups + Bundler.settings[:with]
1116
+ values &= Bundler.settings[:only] unless Bundler.settings[:only].empty?
1117
+ values
1118
+ end
1119
+
1120
+ def lockfiles_equal?(current, proposed, preserve_unknown_sections)
1121
+ if preserve_unknown_sections
1122
+ sections_to_ignore = LockfileParser.sections_to_ignore(@locked_bundler_version)
1123
+ sections_to_ignore += LockfileParser.unknown_sections_in_lockfile(current)
1124
+ sections_to_ignore << LockfileParser::RUBY
1125
+ sections_to_ignore << LockfileParser::BUNDLED unless @unlocking_bundler
1126
+ pattern = /#{Regexp.union(sections_to_ignore)}\n(\s{2,}.*\n)+/
1127
+ whitespace_cleanup = /\n{2,}/
1128
+ current = current.gsub(pattern, "\n").gsub(whitespace_cleanup, "\n\n").strip
1129
+ proposed = proposed.gsub(pattern, "\n").gsub(whitespace_cleanup, "\n\n").strip
1130
+ end
1131
+ current == proposed
1132
+ end
1133
+
1134
+ def additional_base_requirements_to_prevent_downgrades(resolution_base)
1135
+ return resolution_base unless @locked_gems && !sources.expired_sources?(@locked_gems.sources)
1136
+ @originally_locked_specs.each do |locked_spec|
1137
+ next if locked_spec.source.is_a?(Source::Path)
1138
+
1139
+ name = locked_spec.name
1140
+ next if @changed_dependencies.include?(name)
1141
+
1142
+ resolution_base.base_requirements[name] = Gem::Requirement.new(">= #{locked_spec.version}")
1143
+ end
1144
+ resolution_base
1145
+ end
1146
+
1147
+ def additional_base_requirements_to_force_updates(resolution_base)
1148
+ return resolution_base if @explicit_unlocks.empty?
1149
+ full_update = dup_for_full_unlock.resolve
1150
+ @explicit_unlocks.each do |name|
1151
+ version = full_update.version_for(name)
1152
+ resolution_base.base_requirements[name] = Gem::Requirement.new("= #{version}") if version
1153
+ end
1154
+ resolution_base
1155
+ end
1156
+
1157
+ def dup_for_full_unlock
1158
+ unlocked_definition = self.class.new(@lockfile, @dependencies, @sources, true, @ruby_version, @optional_groups, @gemfiles)
1159
+ unlocked_definition.source_requirements = source_requirements
1160
+ unlocked_definition.gem_version_promoter.tap do |gvp|
1161
+ gvp.level = gem_version_promoter.level
1162
+ gvp.strict = gem_version_promoter.strict
1163
+ gvp.pre = gem_version_promoter.pre
1164
+ end
1165
+ unlocked_definition
1166
+ end
1167
+
1168
+ def remove_invalid_platforms!
1169
+ return if Bundler.frozen_bundle?
1170
+
1171
+ skips = (@new_platforms + [local_platform]).uniq
1172
+
1173
+ # We should probably avoid removing non-ruby platforms, since that means
1174
+ # lockfile will no longer install on those platforms, so a error to give
1175
+ # heads up to the user may be better. However, we have tests expecting
1176
+ # non ruby platform autoremoval to work, so leaving that in place for
1177
+ # now.
1178
+ skips |= platforms - [Gem::Platform::RUBY] if @dependency_changes
1179
+
1180
+ @originally_invalid_platforms = @originally_locked_specs.remove_invalid_platforms!(current_dependencies, platforms, skips: skips)
1181
+ end
1182
+
1183
+ def source_map
1184
+ @source_map ||= SourceMap.new(sources, dependencies, @locked_specs)
1185
+ end
1186
+ end
1187
+ end