zuora_connect_ui 0.8.2 → 0.8.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (449) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/zuora_connect_ui.js +1 -0
  3. data/app/assets/javascripts/zuora_connect_ui/util.js +51 -0
  4. data/app/assets/stylesheets/_zuora_connect_ui.scss +4 -6
  5. data/app/assets/stylesheets/zuora_connect_ui/datatables.scss +3 -3
  6. data/app/helpers/zuora_connect_ui/application_helper.rb +28 -4
  7. data/app/views/partials/_table.html.erb +16 -7
  8. data/lib/zuora_connect_ui/version.rb +1 -1
  9. data/vendor/ruby/2.6.0/cache/autoprefixer-rails-9.6.1.1.gem +0 -0
  10. data/vendor/ruby/2.6.0/cache/parser-2.6.4.1.gem +0 -0
  11. data/vendor/ruby/2.6.0/cache/sassc-2.2.0.gem +0 -0
  12. data/vendor/ruby/2.6.0/cache/zeitwerk-2.1.10.gem +0 -0
  13. data/vendor/ruby/2.6.0/extensions/x86_64-linux/2.6.0/sassc-2.2.0/gem.build_complete +0 -0
  14. data/vendor/ruby/2.6.0/extensions/x86_64-linux/2.6.0/sassc-2.2.0/gem_make.out +75 -0
  15. data/vendor/ruby/2.6.0/extensions/x86_64-linux/2.6.0/sassc-2.2.0/sassc/libsass.so +0 -0
  16. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/CHANGELOG.md +1085 -0
  17. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/Gemfile +10 -0
  18. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/LICENSE +20 -0
  19. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/README.md +237 -0
  20. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/Rakefile +53 -0
  21. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/autoprefixer-rails.gemspec +32 -0
  22. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/lib/autoprefixer-rails.rb +41 -0
  23. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/lib/autoprefixer-rails/processor.rb +194 -0
  24. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/lib/autoprefixer-rails/railtie.rb +50 -0
  25. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/lib/autoprefixer-rails/result.rb +24 -0
  26. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/lib/autoprefixer-rails/sprockets.rb +62 -0
  27. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/lib/autoprefixer-rails/version.rb +3 -0
  28. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/lib/rake/autoprefixer_tasks.rb +28 -0
  29. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/Rakefile +2 -0
  30. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/app/assets/config/manifest.js +0 -0
  31. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/app/assets/stylesheets/evaluate.css.erb +1 -0
  32. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/app/assets/stylesheets/loaded.sass +2 -0
  33. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/app/assets/stylesheets/sass.sass +1 -0
  34. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/app/assets/stylesheets/test.css +3 -0
  35. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/app/assets/stylesheets/wrong.css +2 -0
  36. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/app/controllers/application_controller.rb +2 -0
  37. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/app/controllers/css_controller.rb +6 -0
  38. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/config.ru +2 -0
  39. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/config/application.rb +16 -0
  40. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/config/autoprefixer.yml +2 -0
  41. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/config/boot.rb +2 -0
  42. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/config/environment.rb +3 -0
  43. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/config/environments/test.rb +9 -0
  44. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/config/initializers/secret_token.rb +1 -0
  45. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/config/routes.rb +3 -0
  46. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/autoprefixer_spec.rb +121 -0
  47. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/processor_spec.rb +25 -0
  48. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/rails_spec.rb +40 -0
  49. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/railtie_spec.rb +29 -0
  50. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/spec_helper.rb +16 -0
  51. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/vendor/autoprefixer.js +67195 -0
  52. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/CHANGELOG.md +909 -0
  53. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/CONTRIBUTING.md +17 -0
  54. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/Gemfile +10 -0
  55. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/LICENSE.txt +25 -0
  56. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/README.md +301 -0
  57. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/Rakefile +166 -0
  58. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/bin/ruby-parse +7 -0
  59. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/bin/ruby-rewrite +7 -0
  60. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/ci/run_rubocop_specs +14 -0
  61. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/doc/AST_FORMAT.md +1816 -0
  62. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/doc/CUSTOMIZATION.md +37 -0
  63. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/doc/INTERNALS.md +21 -0
  64. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/doc/css/common.css +68 -0
  65. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/gauntlet_parser.rb +123 -0
  66. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser.rb +82 -0
  67. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/all.rb +12 -0
  68. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ast/node.rb +40 -0
  69. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ast/processor.rb +264 -0
  70. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/base.rb +270 -0
  71. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/builders/default.rb +1741 -0
  72. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/clobbering_error.rb +13 -0
  73. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/color.rb +32 -0
  74. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/context.rb +59 -0
  75. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/current.rb +92 -0
  76. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/deprecation.rb +13 -0
  77. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/diagnostic.rb +163 -0
  78. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/diagnostic/engine.rb +105 -0
  79. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/lexer.rb +23546 -0
  80. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/lexer.rl +2503 -0
  81. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/lexer/dedenter.rb +79 -0
  82. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/lexer/explanation.rb +55 -0
  83. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/lexer/literal.rb +269 -0
  84. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/lexer/max_numparam_stack.rb +42 -0
  85. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/lexer/stack_state.rb +49 -0
  86. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/macruby.rb +6124 -0
  87. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/macruby.y +2198 -0
  88. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/messages.rb +90 -0
  89. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/meta.rb +33 -0
  90. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/rewriter.rb +105 -0
  91. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby18.rb +5661 -0
  92. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby18.y +1934 -0
  93. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby19.rb +6084 -0
  94. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby19.y +2175 -0
  95. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby20.rb +6511 -0
  96. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby20.y +2353 -0
  97. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby21.rb +6570 -0
  98. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby21.y +2357 -0
  99. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby22.rb +6605 -0
  100. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby22.y +2364 -0
  101. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby23.rb +6624 -0
  102. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby23.y +2370 -0
  103. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby24.rb +6689 -0
  104. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby24.y +2408 -0
  105. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby25.rb +6656 -0
  106. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby25.y +2405 -0
  107. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby26.rb +6670 -0
  108. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby26.y +2413 -0
  109. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby27.rb +6893 -0
  110. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby27.y +2470 -0
  111. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/rubymotion.rb +6078 -0
  112. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/rubymotion.y +2182 -0
  113. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/runner.rb +253 -0
  114. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/runner/ruby_parse.rb +157 -0
  115. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/runner/ruby_rewrite.rb +101 -0
  116. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/buffer.rb +330 -0
  117. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/comment.rb +121 -0
  118. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/comment/associator.rb +210 -0
  119. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map.rb +186 -0
  120. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/collection.rb +18 -0
  121. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/condition.rb +21 -0
  122. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/constant.rb +32 -0
  123. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/definition.rb +23 -0
  124. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/for.rb +19 -0
  125. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/heredoc.rb +19 -0
  126. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/index.rb +33 -0
  127. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/keyword.rb +20 -0
  128. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/objc_kwarg.rb +19 -0
  129. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/operator.rb +17 -0
  130. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/rescue_body.rb +21 -0
  131. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/send.rb +36 -0
  132. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/ternary.rb +18 -0
  133. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/variable.rb +31 -0
  134. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/range.rb +310 -0
  135. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/rewriter.rb +513 -0
  136. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/rewriter/action.rb +44 -0
  137. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/tree_rewriter.rb +301 -0
  138. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/tree_rewriter/action.rb +133 -0
  139. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/static_environment.rb +46 -0
  140. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/syntax_error.rb +21 -0
  141. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/tree_rewriter.rb +134 -0
  142. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/version.rb +5 -0
  143. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/parser.gemspec +51 -0
  144. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/bug_163/fixtures/input.rb +5 -0
  145. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/bug_163/fixtures/output.rb +5 -0
  146. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/bug_163/rewriter.rb +20 -0
  147. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/helper.rb +59 -0
  148. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/parse_helper.rb +316 -0
  149. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/racc_coverage_helper.rb +133 -0
  150. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_base.rb +31 -0
  151. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_current.rb +29 -0
  152. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_diagnostic.rb +96 -0
  153. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_diagnostic_engine.rb +62 -0
  154. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_encoding.rb +99 -0
  155. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_lexer.rb +3659 -0
  156. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_lexer_stack_state.rb +78 -0
  157. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_parse_helper.rb +80 -0
  158. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_parser.rb +7579 -0
  159. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_runner_parse.rb +35 -0
  160. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_runner_rewrite.rb +47 -0
  161. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_source_buffer.rb +162 -0
  162. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_source_comment.rb +36 -0
  163. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_source_comment_associator.rb +367 -0
  164. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_source_map.rb +15 -0
  165. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_source_range.rb +172 -0
  166. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_source_rewriter.rb +541 -0
  167. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_source_rewriter_action.rb +46 -0
  168. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_source_tree_rewriter.rb +173 -0
  169. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_static_environment.rb +45 -0
  170. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/using_tree_rewriter/fixtures/input.rb +3 -0
  171. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/using_tree_rewriter/fixtures/output.rb +3 -0
  172. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/using_tree_rewriter/using_tree_rewriter.rb +9 -0
  173. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/CHANGELOG.md +77 -0
  174. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/CODE_OF_CONDUCT.md +10 -0
  175. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/Gemfile +2 -0
  176. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/LICENSE.txt +22 -0
  177. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/README.md +68 -0
  178. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/Rakefile +53 -0
  179. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/Makefile +271 -0
  180. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/SharedPtr.o +0 -0
  181. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/ast.o +0 -0
  182. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/ast2c.o +0 -0
  183. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/ast_fwd_decl.o +0 -0
  184. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/ast_sel_cmp.o +0 -0
  185. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/ast_sel_unify.o +0 -0
  186. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/ast_selectors.o +0 -0
  187. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/ast_supports.o +0 -0
  188. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/ast_values.o +0 -0
  189. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/backtrace.o +0 -0
  190. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/base64vlq.o +0 -0
  191. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/bind.o +0 -0
  192. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/c2ast.o +0 -0
  193. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/c99func.o +0 -0
  194. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/cencode.o +0 -0
  195. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/check_nesting.o +0 -0
  196. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/color_maps.o +0 -0
  197. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/constants.o +0 -0
  198. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/context.o +0 -0
  199. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/cssize.o +0 -0
  200. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/depend +4 -0
  201. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/emitter.o +0 -0
  202. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/environment.o +0 -0
  203. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/error_handling.o +0 -0
  204. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/eval.o +0 -0
  205. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/expand.o +0 -0
  206. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/extconf.rb +84 -0
  207. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/extend.o +0 -0
  208. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/file.o +0 -0
  209. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/fn_colors.o +0 -0
  210. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/fn_lists.o +0 -0
  211. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/fn_maps.o +0 -0
  212. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/fn_miscs.o +0 -0
  213. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/fn_numbers.o +0 -0
  214. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/fn_selectors.o +0 -0
  215. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/fn_strings.o +0 -0
  216. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/fn_utils.o +0 -0
  217. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/inspect.o +0 -0
  218. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/json.o +0 -0
  219. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/lexer.o +0 -0
  220. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass.so +0 -0
  221. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/VERSION +1 -0
  222. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/contrib/plugin.cpp +60 -0
  223. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/include/sass.h +15 -0
  224. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/include/sass/base.h +96 -0
  225. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/include/sass/context.h +170 -0
  226. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/include/sass/functions.h +139 -0
  227. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/include/sass/values.h +145 -0
  228. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/include/sass/version.h +12 -0
  229. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/include/sass2scss.h +120 -0
  230. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast.cpp +963 -0
  231. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast.hpp +905 -0
  232. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast2c.cpp +80 -0
  233. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast2c.hpp +39 -0
  234. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_def_macros.hpp +132 -0
  235. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_fwd_decl.cpp +30 -0
  236. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_fwd_decl.hpp +341 -0
  237. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_sel_cmp.cpp +909 -0
  238. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_sel_unify.cpp +280 -0
  239. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_selectors.cpp +1475 -0
  240. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_selectors.hpp +568 -0
  241. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_supports.cpp +130 -0
  242. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_supports.hpp +121 -0
  243. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_values.cpp +967 -0
  244. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_values.hpp +489 -0
  245. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/b64/cencode.h +32 -0
  246. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/b64/encode.h +79 -0
  247. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/backtrace.cpp +50 -0
  248. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/backtrace.hpp +29 -0
  249. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/base64vlq.cpp +47 -0
  250. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/base64vlq.hpp +30 -0
  251. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/bind.cpp +312 -0
  252. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/bind.hpp +15 -0
  253. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/c2ast.cpp +64 -0
  254. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/c2ast.hpp +14 -0
  255. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/c99func.c +54 -0
  256. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/cencode.c +108 -0
  257. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/check_nesting.cpp +394 -0
  258. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/check_nesting.hpp +66 -0
  259. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/color_maps.cpp +651 -0
  260. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/color_maps.hpp +331 -0
  261. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/constants.cpp +194 -0
  262. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/constants.hpp +194 -0
  263. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/context.cpp +890 -0
  264. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/context.hpp +152 -0
  265. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/cssize.cpp +604 -0
  266. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/cssize.hpp +77 -0
  267. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/debug.hpp +43 -0
  268. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/debugger.hpp +807 -0
  269. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/emitter.cpp +298 -0
  270. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/emitter.hpp +103 -0
  271. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/environment.cpp +260 -0
  272. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/environment.hpp +119 -0
  273. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/error_handling.cpp +212 -0
  274. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/error_handling.hpp +229 -0
  275. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/eval.cpp +1657 -0
  276. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/eval.hpp +112 -0
  277. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/expand.cpp +822 -0
  278. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/expand.hpp +78 -0
  279. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/extend.cpp +2132 -0
  280. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/extend.hpp +86 -0
  281. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/file.cpp +522 -0
  282. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/file.hpp +133 -0
  283. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_colors.cpp +594 -0
  284. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_colors.hpp +85 -0
  285. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_lists.cpp +284 -0
  286. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_lists.hpp +34 -0
  287. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_maps.cpp +94 -0
  288. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_maps.hpp +30 -0
  289. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_miscs.cpp +256 -0
  290. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_miscs.hpp +40 -0
  291. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_numbers.cpp +220 -0
  292. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_numbers.hpp +45 -0
  293. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_selectors.cpp +235 -0
  294. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_selectors.hpp +35 -0
  295. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_strings.cpp +254 -0
  296. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_strings.hpp +34 -0
  297. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_utils.cpp +156 -0
  298. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_utils.hpp +56 -0
  299. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/inspect.cpp +1087 -0
  300. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/inspect.hpp +99 -0
  301. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/json.cpp +1436 -0
  302. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/json.hpp +117 -0
  303. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/kwd_arg_macros.hpp +28 -0
  304. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/lexer.cpp +184 -0
  305. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/lexer.hpp +315 -0
  306. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/listize.cpp +84 -0
  307. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/listize.hpp +38 -0
  308. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/mapping.hpp +18 -0
  309. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/memory/SharedPtr.cpp +33 -0
  310. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/memory/SharedPtr.hpp +286 -0
  311. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/node.cpp +322 -0
  312. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/node.hpp +118 -0
  313. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/operation.hpp +213 -0
  314. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/operators.cpp +266 -0
  315. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/operators.hpp +30 -0
  316. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/output.cpp +339 -0
  317. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/output.hpp +47 -0
  318. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/parser.cpp +3153 -0
  319. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/parser.hpp +402 -0
  320. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/paths.hpp +71 -0
  321. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/plugins.cpp +188 -0
  322. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/plugins.hpp +57 -0
  323. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/position.cpp +184 -0
  324. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/position.hpp +124 -0
  325. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/prelexer.cpp +1780 -0
  326. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/prelexer.hpp +484 -0
  327. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/remove_placeholders.cpp +87 -0
  328. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/remove_placeholders.hpp +34 -0
  329. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass.cpp +155 -0
  330. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass.hpp +142 -0
  331. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass2scss.cpp +895 -0
  332. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass_context.cpp +772 -0
  333. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass_context.hpp +129 -0
  334. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass_functions.cpp +210 -0
  335. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass_functions.hpp +50 -0
  336. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass_util.cpp +152 -0
  337. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass_util.hpp +256 -0
  338. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass_values.cpp +365 -0
  339. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass_values.hpp +82 -0
  340. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/source_map.cpp +198 -0
  341. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/source_map.hpp +62 -0
  342. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/subset_map.cpp +58 -0
  343. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/subset_map.hpp +76 -0
  344. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/to_value.cpp +114 -0
  345. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/to_value.hpp +46 -0
  346. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/units.cpp +505 -0
  347. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/units.hpp +110 -0
  348. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/utf8.h +34 -0
  349. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/utf8/checked.h +336 -0
  350. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/utf8/core.h +332 -0
  351. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/utf8/unchecked.h +235 -0
  352. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/utf8_string.cpp +105 -0
  353. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/utf8_string.hpp +37 -0
  354. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/util.cpp +725 -0
  355. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/util.hpp +106 -0
  356. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/util_string.cpp +75 -0
  357. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/util_string.hpp +19 -0
  358. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/values.cpp +140 -0
  359. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/values.hpp +12 -0
  360. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/listize.o +0 -0
  361. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/node.o +0 -0
  362. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/operators.o +0 -0
  363. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/output.o +0 -0
  364. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/parser.o +0 -0
  365. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/plugins.o +0 -0
  366. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/position.o +0 -0
  367. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/prelexer.o +0 -0
  368. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/remove_placeholders.o +0 -0
  369. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/sass.o +0 -0
  370. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/sass2scss.o +0 -0
  371. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/sass_context.o +0 -0
  372. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/sass_functions.o +0 -0
  373. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/sass_util.o +0 -0
  374. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/sass_values.o +0 -0
  375. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/source_map.o +0 -0
  376. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/subset_map.o +0 -0
  377. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/to_value.o +0 -0
  378. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/units.o +0 -0
  379. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/utf8_string.o +0 -0
  380. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/util.o +0 -0
  381. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/util_string.o +0 -0
  382. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/values.o +0 -0
  383. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc.rb +57 -0
  384. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/dependency.rb +17 -0
  385. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/engine.rb +139 -0
  386. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/error.rb +37 -0
  387. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/functions_handler.rb +73 -0
  388. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/import_handler.rb +50 -0
  389. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/importer.rb +31 -0
  390. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/libsass.so +0 -0
  391. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/native.rb +62 -0
  392. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/native/lib_c.rb +21 -0
  393. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/native/native_context_api.rb +147 -0
  394. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/native/native_functions_api.rb +159 -0
  395. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/native/sass2scss_api.rb +10 -0
  396. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/native/sass_input_style.rb +13 -0
  397. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/native/sass_output_style.rb +12 -0
  398. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/native/sass_value.rb +97 -0
  399. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/native/string_list.rb +10 -0
  400. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/sass_2_scss.rb +9 -0
  401. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script.rb +17 -0
  402. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/functions.rb +8 -0
  403. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value.rb +137 -0
  404. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value/bool.rb +32 -0
  405. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value/color.rb +95 -0
  406. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value/list.rb +136 -0
  407. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value/map.rb +69 -0
  408. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value/number.rb +389 -0
  409. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value/string.rb +96 -0
  410. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value_conversion.rb +69 -0
  411. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value_conversion/base.rb +13 -0
  412. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value_conversion/bool.rb +13 -0
  413. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value_conversion/color.rb +18 -0
  414. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value_conversion/list.rb +25 -0
  415. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value_conversion/map.rb +21 -0
  416. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value_conversion/number.rb +13 -0
  417. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value_conversion/string.rb +17 -0
  418. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/util.rb +231 -0
  419. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/util/normalized_map.rb +117 -0
  420. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/version.rb +5 -0
  421. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/sassc.gemspec +69 -0
  422. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/test/custom_importer_test.rb +127 -0
  423. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/test/engine_test.rb +314 -0
  424. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/test/error_test.rb +29 -0
  425. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/test/fixtures/paths.scss +10 -0
  426. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/test/functions_test.rb +323 -0
  427. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/test/native_test.rb +213 -0
  428. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/test/output_style_test.rb +107 -0
  429. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/test/sass_2_scss_test.rb +14 -0
  430. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/test/test_helper.rb +45 -0
  431. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/README.md +533 -0
  432. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk.rb +12 -0
  433. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/error.rb +10 -0
  434. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/explicit_namespace.rb +80 -0
  435. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/gem_inflector.rb +19 -0
  436. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/inflector.rb +19 -0
  437. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/kernel.rb +33 -0
  438. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/loader.rb +759 -0
  439. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/loader/callbacks.rb +71 -0
  440. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/real_mod_name.rb +15 -0
  441. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/registry.rb +147 -0
  442. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/version.rb +5 -0
  443. data/vendor/ruby/2.6.0/specifications/autoprefixer-rails-9.6.1.1.gemspec +47 -0
  444. data/vendor/ruby/2.6.0/specifications/parser-2.6.4.1.gemspec +62 -0
  445. data/vendor/ruby/2.6.0/specifications/sassc-2.2.0.gemspec +60 -0
  446. data/vendor/ruby/2.6.0/specifications/zeitwerk-2.1.10.gemspec +21 -0
  447. metadata +441 -4
  448. data/vendor/assets/anjuna/css/anjuna-application.css +0 -2
  449. data/vendor/assets/anjuna/css/anjuna-theme.css +0 -2
@@ -0,0 +1,105 @@
1
+ // sass.hpp must go before all system headers to get the
2
+ // __EXTENSIONS__ fix on Solaris.
3
+ #include "sass.hpp"
4
+
5
+ #include <string>
6
+ #include <vector>
7
+ #include <cstdlib>
8
+ #include <cmath>
9
+
10
+ #include "utf8.h"
11
+
12
+ namespace Sass {
13
+ namespace UTF_8 {
14
+ using std::string;
15
+
16
+ // naming conventions:
17
+ // offset: raw byte offset (0 based)
18
+ // position: code point offset (0 based)
19
+ // index: code point offset (1 based or negative)
20
+
21
+ // function that will count the number of code points (utf-8 characters) from the given beginning to the given end
22
+ size_t code_point_count(const string& str, size_t start, size_t end) {
23
+ return utf8::distance(str.begin() + start, str.begin() + end);
24
+ }
25
+
26
+ size_t code_point_count(const string& str) {
27
+ return utf8::distance(str.begin(), str.end());
28
+ }
29
+
30
+ // function that will return the byte offset at a code point position
31
+ size_t offset_at_position(const string& str, size_t position) {
32
+ string::const_iterator it = str.begin();
33
+ utf8::advance(it, position, str.end());
34
+ return std::distance(str.begin(), it);
35
+ }
36
+
37
+ // function that returns number of bytes in a character at offset
38
+ size_t code_point_size_at_offset(const string& str, size_t offset) {
39
+ // get iterator from string and forward by offset
40
+ string::const_iterator stop = str.begin() + offset;
41
+ // check if beyond boundary
42
+ if (stop == str.end()) return 0;
43
+ // advance by one code point
44
+ utf8::advance(stop, 1, str.end());
45
+ // calculate offset for code point
46
+ return stop - str.begin() - offset;
47
+ }
48
+
49
+ // function that will return a normalized index, given a crazy one
50
+ size_t normalize_index(int index, size_t len) {
51
+ long signed_len = static_cast<long>(len);
52
+ // assuming the index is 1-based
53
+ // we are returning a 0-based index
54
+ if (index > 0 && index <= signed_len) {
55
+ // positive and within string length
56
+ return index-1;
57
+ }
58
+ else if (index > signed_len) {
59
+ // positive and past string length
60
+ return len;
61
+ }
62
+ else if (index == 0) {
63
+ return 0;
64
+ }
65
+ else if (std::abs((double)index) <= signed_len) {
66
+ // negative and within string length
67
+ return index + signed_len;
68
+ }
69
+ else {
70
+ // negative and past string length
71
+ return 0;
72
+ }
73
+ }
74
+
75
+ #ifdef _WIN32
76
+
77
+ // utf16 functions
78
+ using std::wstring;
79
+
80
+ // convert from utf16/wide string to utf8 string
81
+ string convert_from_utf16(const wstring& utf16)
82
+ {
83
+ string utf8;
84
+ // pre-allocate expected memory
85
+ utf8.reserve(sizeof(utf16)/2);
86
+ utf8::utf16to8(utf16.begin(), utf16.end(),
87
+ back_inserter(utf8));
88
+ return utf8;
89
+ }
90
+
91
+ // convert from utf8 string to utf16/wide string
92
+ wstring convert_to_utf16(const string& utf8)
93
+ {
94
+ wstring utf16;
95
+ // pre-allocate expected memory
96
+ utf16.reserve(code_point_count(utf8)*2);
97
+ utf8::utf8to16(utf8.begin(), utf8.end(),
98
+ back_inserter(utf16));
99
+ return utf16;
100
+ }
101
+
102
+ #endif
103
+
104
+ }
105
+ }
@@ -0,0 +1,37 @@
1
+ #ifndef SASS_UTF8_STRING_H
2
+ #define SASS_UTF8_STRING_H
3
+
4
+ #include <string>
5
+ #include "utf8.h"
6
+
7
+ namespace Sass {
8
+ namespace UTF_8 {
9
+
10
+ // naming conventions:
11
+ // offset: raw byte offset (0 based)
12
+ // position: code point offset (0 based)
13
+ // index: code point offset (1 based or negative)
14
+
15
+ // function that will count the number of code points (utf-8 characters) from the beginning to the given end
16
+ size_t code_point_count(const std::string& str, size_t start, size_t end);
17
+ size_t code_point_count(const std::string& str);
18
+
19
+ // function that will return the byte offset of a code point in a
20
+ size_t offset_at_position(const std::string& str, size_t position);
21
+
22
+ // function that returns number of bytes in a character in a string
23
+ size_t code_point_size_at_offset(const std::string& str, size_t offset);
24
+
25
+ // function that will return a normalized index, given a crazy one
26
+ size_t normalize_index(int index, size_t len);
27
+
28
+ #ifdef _WIN32
29
+ // functions to handle unicode paths on windows
30
+ std::string convert_from_utf16(const std::wstring& wstr);
31
+ std::wstring convert_to_utf16(const std::string& str);
32
+ #endif
33
+
34
+ }
35
+ }
36
+
37
+ #endif
@@ -0,0 +1,725 @@
1
+ #include "sass.hpp"
2
+ #include "sass.h"
3
+ #include "ast.hpp"
4
+ #include "util.hpp"
5
+ #include "lexer.hpp"
6
+ #include "prelexer.hpp"
7
+ #include "constants.hpp"
8
+ #include "utf8/checked.h"
9
+
10
+ #include <cmath>
11
+ #include <stdint.h>
12
+ #if defined(_MSC_VER) && _MSC_VER >= 1800 && _MSC_VER < 1900 && defined(_M_X64)
13
+ #include <mutex>
14
+ #endif
15
+
16
+ namespace Sass {
17
+
18
+ double round(double val, size_t precision)
19
+ {
20
+ // Disable FMA3-optimized implementation when compiling with VS2013 for x64 targets
21
+ // See https://github.com/sass/node-sass/issues/1854 for details
22
+ // FIXME: Remove this workaround when we switch to VS2015+
23
+ #if defined(_MSC_VER) && _MSC_VER >= 1800 && _MSC_VER < 1900 && defined(_M_X64)
24
+ static std::once_flag flag;
25
+ std::call_once(flag, []() { _set_FMA3_enable(0); });
26
+ #endif
27
+
28
+ // https://github.com/sass/sass/commit/4e3e1d5684cc29073a507578fc977434ff488c93
29
+ if (fmod(val, 1) - 0.5 > - std::pow(0.1, precision + 1)) return std::ceil(val);
30
+ else if (fmod(val, 1) - 0.5 > std::pow(0.1, precision)) return std::floor(val);
31
+ // work around some compiler issue
32
+ // cygwin has it not defined in std
33
+ using namespace std;
34
+ return ::round(val);
35
+ }
36
+
37
+ /* Locale unspecific atof function. */
38
+ double sass_strtod(const char *str)
39
+ {
40
+ char separator = *(localeconv()->decimal_point);
41
+ if(separator != '.'){
42
+ // The current locale specifies another
43
+ // separator. convert the separator to the
44
+ // one understood by the locale if needed
45
+ const char *found = strchr(str, '.');
46
+ if(found != NULL){
47
+ // substitution is required. perform the substitution on a copy
48
+ // of the string. This is slower but it is thread safe.
49
+ char *copy = sass_copy_c_string(str);
50
+ *(copy + (found - str)) = separator;
51
+ double res = strtod(copy, NULL);
52
+ free(copy);
53
+ return res;
54
+ }
55
+ }
56
+
57
+ return strtod(str, NULL);
58
+ }
59
+
60
+ // helper for safe access to c_ctx
61
+ const char* safe_str (const char* str, const char* alt) {
62
+ return str == NULL ? alt : str;
63
+ }
64
+
65
+ void free_string_array(char ** arr) {
66
+ if(!arr)
67
+ return;
68
+
69
+ char **it = arr;
70
+ while (it && (*it)) {
71
+ free(*it);
72
+ ++it;
73
+ }
74
+
75
+ free(arr);
76
+ }
77
+
78
+ char **copy_strings(const std::vector<std::string>& strings, char*** array, int skip) {
79
+ int num = static_cast<int>(strings.size()) - skip;
80
+ char** arr = (char**) calloc(num + 1, sizeof(char*));
81
+ if (arr == 0)
82
+ return *array = (char **)NULL;
83
+
84
+ for(int i = 0; i < num; i++) {
85
+ arr[i] = (char*) malloc(sizeof(char) * (strings[i + skip].size() + 1));
86
+ if (arr[i] == 0) {
87
+ free_string_array(arr);
88
+ return *array = (char **)NULL;
89
+ }
90
+ std::copy(strings[i + skip].begin(), strings[i + skip].end(), arr[i]);
91
+ arr[i][strings[i + skip].size()] = '\0';
92
+ }
93
+
94
+ arr[num] = 0;
95
+ return *array = arr;
96
+ }
97
+
98
+ // read css string (handle multiline DELIM)
99
+ std::string read_css_string(const std::string& str, bool css)
100
+ {
101
+ if (!css) return str;
102
+ std::string out("");
103
+ bool esc = false;
104
+ for (auto i : str) {
105
+ if (i == '\\') {
106
+ esc = ! esc;
107
+ } else if (esc && i == '\r') {
108
+ continue;
109
+ } else if (esc && i == '\n') {
110
+ out.resize (out.size () - 1);
111
+ esc = false;
112
+ continue;
113
+ } else {
114
+ esc = false;
115
+ }
116
+ out.push_back(i);
117
+ }
118
+ // happens when parsing does not correctly skip
119
+ // over escaped sequences for ie. interpolations
120
+ // one example: foo\#{interpolate}
121
+ // if (esc) out += '\\';
122
+ return out;
123
+ }
124
+
125
+ // double escape all escape sequences
126
+ // keep unescaped quotes and backslashes
127
+ std::string evacuate_escapes(const std::string& str)
128
+ {
129
+ std::string out("");
130
+ bool esc = false;
131
+ for (auto i : str) {
132
+ if (i == '\\' && !esc) {
133
+ out += '\\';
134
+ out += '\\';
135
+ esc = true;
136
+ } else if (esc && i == '"') {
137
+ out += '\\';
138
+ out += i;
139
+ esc = false;
140
+ } else if (esc && i == '\'') {
141
+ out += '\\';
142
+ out += i;
143
+ esc = false;
144
+ } else if (esc && i == '\\') {
145
+ out += '\\';
146
+ out += i;
147
+ esc = false;
148
+ } else {
149
+ esc = false;
150
+ out += i;
151
+ }
152
+ }
153
+ // happens when parsing does not correctly skip
154
+ // over escaped sequences for ie. interpolations
155
+ // one example: foo\#{interpolate}
156
+ // if (esc) out += '\\';
157
+ return out;
158
+ }
159
+
160
+ // bell characters are replaced with spaces
161
+ void newline_to_space(std::string& str)
162
+ {
163
+ std::replace(str.begin(), str.end(), '\n', ' ');
164
+ }
165
+
166
+ // 1. Removes whitespace after newlines.
167
+ // 2. Replaces newlines with spaces.
168
+ //
169
+ // This method only considers LF and CRLF as newlines.
170
+ std::string string_to_output(const std::string& str)
171
+ {
172
+ std::string result;
173
+ result.reserve(str.size());
174
+ std::size_t pos = 0;
175
+ while (true) {
176
+ const std::size_t newline = str.find_first_of("\n\r", pos);
177
+ if (newline == std::string::npos) break;
178
+ result.append(str, pos, newline - pos);
179
+ if (str[newline] == '\r') {
180
+ if (str[newline + 1] == '\n') {
181
+ pos = newline + 2;
182
+ } else {
183
+ // CR without LF: append as-is and continue.
184
+ result += '\r';
185
+ pos = newline + 1;
186
+ continue;
187
+ }
188
+ } else {
189
+ pos = newline + 1;
190
+ }
191
+ result += ' ';
192
+ const std::size_t non_space = str.find_first_not_of(" \f\n\r\t\v", pos);
193
+ if (non_space != std::string::npos) {
194
+ pos = non_space;
195
+ }
196
+ }
197
+ result.append(str, pos, std::string::npos);
198
+ return result;
199
+ }
200
+
201
+ std::string escape_string(const std::string& str)
202
+ {
203
+ std::string out;
204
+ out.reserve(str.size());
205
+ for (char c : str) {
206
+ switch (c) {
207
+ case '\n':
208
+ out.append("\\n");
209
+ break;
210
+ case '\r':
211
+ out.append("\\r");
212
+ break;
213
+ case '\f':
214
+ out.append("\\f");
215
+ break;
216
+ default:
217
+ out += c;
218
+ }
219
+ }
220
+ return out;
221
+ }
222
+
223
+ std::string comment_to_compact_string(const std::string& text)
224
+ {
225
+ std::string str = "";
226
+ size_t has = 0;
227
+ char prev = 0;
228
+ bool clean = false;
229
+ for (auto i : text) {
230
+ if (clean) {
231
+ if (i == '\n') { has = 0; }
232
+ else if (i == '\t') { ++ has; }
233
+ else if (i == ' ') { ++ has; }
234
+ else if (i == '*') {}
235
+ else {
236
+ clean = false;
237
+ str += ' ';
238
+ if (prev == '*' && i == '/') str += "*/";
239
+ else str += i;
240
+ }
241
+ } else if (i == '\n') {
242
+ clean = true;
243
+ } else {
244
+ str += i;
245
+ }
246
+ prev = i;
247
+ }
248
+ if (has) return str;
249
+ else return text;
250
+ }
251
+
252
+ // find best quote_mark by detecting if the string contains any single
253
+ // or double quotes. When a single quote is found, we not we want a double
254
+ // quote as quote_mark. Otherwise we check if the string cotains any double
255
+ // quotes, which will trigger the use of single quotes as best quote_mark.
256
+ char detect_best_quotemark(const char* s, char qm)
257
+ {
258
+ // ensure valid fallback quote_mark
259
+ char quote_mark = qm && qm != '*' ? qm : '"';
260
+ while (*s) {
261
+ // force double quotes as soon
262
+ // as one single quote is found
263
+ if (*s == '\'') { return '"'; }
264
+ // a single does not force quote_mark
265
+ // maybe we see a double quote later
266
+ else if (*s == '"') { quote_mark = '\''; }
267
+ ++ s;
268
+ }
269
+ return quote_mark;
270
+ }
271
+
272
+ std::string read_hex_escapes(const std::string& s)
273
+ {
274
+
275
+ std::string result;
276
+ bool skipped = false;
277
+
278
+ for (size_t i = 0, L = s.length(); i < L; ++i) {
279
+
280
+ // implement the same strange ruby sass behavior
281
+ // an escape sequence can also mean a unicode char
282
+ if (s[i] == '\\' && !skipped) {
283
+
284
+ // remember
285
+ skipped = true;
286
+
287
+ // escape length
288
+ size_t len = 1;
289
+
290
+ // parse as many sequence chars as possible
291
+ // ToDo: Check if ruby aborts after possible max
292
+ while (i + len < L && s[i + len] && isxdigit(s[i + len])) ++ len;
293
+
294
+ if (len > 1) {
295
+
296
+ // convert the extracted hex string to code point value
297
+ // ToDo: Maybe we could do this without creating a substring
298
+ uint32_t cp = strtol(s.substr (i + 1, len - 1).c_str(), NULL, 16);
299
+
300
+ if (s[i + len] == ' ') ++ len;
301
+
302
+ // assert invalid code points
303
+ if (cp == 0) cp = 0xFFFD;
304
+ // replace bell character
305
+ // if (cp == '\n') cp = 32;
306
+
307
+ // use a very simple approach to convert via utf8 lib
308
+ // maybe there is a more elegant way; maybe we shoud
309
+ // convert the whole output from string to a stream!?
310
+ // allocate memory for utf8 char and convert to utf8
311
+ unsigned char u[5] = {0,0,0,0,0}; utf8::append(cp, u);
312
+ for(size_t m = 0; m < 5 && u[m]; m++) result.push_back(u[m]);
313
+
314
+ // skip some more chars?
315
+ i += len - 1; skipped = false;
316
+
317
+ }
318
+
319
+ else {
320
+
321
+ skipped = false;
322
+
323
+ result.push_back(s[i]);
324
+
325
+ }
326
+
327
+ }
328
+
329
+ else {
330
+
331
+ result.push_back(s[i]);
332
+
333
+ }
334
+
335
+ }
336
+
337
+ return result;
338
+
339
+ }
340
+
341
+ std::string unquote(const std::string& s, char* qd, bool keep_utf8_sequences, bool strict)
342
+ {
343
+
344
+ // not enough room for quotes
345
+ // no possibility to unquote
346
+ if (s.length() < 2) return s;
347
+
348
+ char q;
349
+ bool skipped = false;
350
+
351
+ // this is no guarantee that the unquoting will work
352
+ // what about whitespace before/after the quote_mark?
353
+ if (*s.begin() == '"' && *s.rbegin() == '"') q = '"';
354
+ else if (*s.begin() == '\'' && *s.rbegin() == '\'') q = '\'';
355
+ else return s;
356
+
357
+ std::string unq;
358
+ unq.reserve(s.length()-2);
359
+
360
+ for (size_t i = 1, L = s.length() - 1; i < L; ++i) {
361
+
362
+ // implement the same strange ruby sass behavior
363
+ // an escape sequence can also mean a unicode char
364
+ if (s[i] == '\\' && !skipped) {
365
+ // remember
366
+ skipped = true;
367
+
368
+ // skip it
369
+ // ++ i;
370
+
371
+ // if (i == L) break;
372
+
373
+ // escape length
374
+ size_t len = 1;
375
+
376
+ // parse as many sequence chars as possible
377
+ // ToDo: Check if ruby aborts after possible max
378
+ while (i + len < L && s[i + len] && isxdigit(s[i + len])) ++ len;
379
+
380
+ // hex string?
381
+ if (keep_utf8_sequences) {
382
+ unq.push_back(s[i]);
383
+ } else if (len > 1) {
384
+
385
+ // convert the extracted hex string to code point value
386
+ // ToDo: Maybe we could do this without creating a substring
387
+ uint32_t cp = strtol(s.substr (i + 1, len - 1).c_str(), NULL, 16);
388
+
389
+ if (s[i + len] == ' ') ++ len;
390
+
391
+ // assert invalid code points
392
+ if (cp == 0) cp = 0xFFFD;
393
+ // replace bell character
394
+ // if (cp == '\n') cp = 32;
395
+
396
+ // use a very simple approach to convert via utf8 lib
397
+ // maybe there is a more elegant way; maybe we shoud
398
+ // convert the whole output from string to a stream!?
399
+ // allocate memory for utf8 char and convert to utf8
400
+ unsigned char u[5] = {0,0,0,0,0}; utf8::append(cp, u);
401
+ for(size_t m = 0; m < 5 && u[m]; m++) unq.push_back(u[m]);
402
+
403
+ // skip some more chars?
404
+ i += len - 1; skipped = false;
405
+
406
+ }
407
+
408
+
409
+ }
410
+ // check for unexpected delimiter
411
+ // be strict and throw error back
412
+ // else if (!skipped && q == s[i]) {
413
+ // // don't be that strict
414
+ // return s;
415
+ // // this basically always means an internal error and not users fault
416
+ // error("Unescaped delimiter in string to unquote found. [" + s + "]", ParserState("[UNQUOTE]"));
417
+ // }
418
+ else {
419
+ if (strict && !skipped) {
420
+ if (s[i] == q) return s;
421
+ }
422
+ skipped = false;
423
+ unq.push_back(s[i]);
424
+ }
425
+
426
+ }
427
+ if (skipped) { return s; }
428
+ if (qd) *qd = q;
429
+ return unq;
430
+
431
+ }
432
+
433
+ std::string quote(const std::string& s, char q)
434
+ {
435
+
436
+ // autodetect with fallback to given quote
437
+ q = detect_best_quotemark(s.c_str(), q);
438
+
439
+ // return an empty quoted string
440
+ if (s.empty()) return std::string(2, q ? q : '"');
441
+
442
+ std::string quoted;
443
+ quoted.reserve(s.length()+2);
444
+ quoted.push_back(q);
445
+
446
+ const char* it = s.c_str();
447
+ const char* end = it + strlen(it) + 1;
448
+ while (*it && it < end) {
449
+ const char* now = it;
450
+
451
+ if (*it == q) {
452
+ quoted.push_back('\\');
453
+ } else if (*it == '\\') {
454
+ quoted.push_back('\\');
455
+ }
456
+
457
+ int cp = utf8::next(it, end);
458
+
459
+ // in case of \r, check if the next in sequence
460
+ // is \n and then advance the iterator and skip \r
461
+ if (cp == '\r' && it < end && utf8::peek_next(it, end) == '\n') {
462
+ cp = utf8::next(it, end);
463
+ }
464
+
465
+ if (cp == '\n') {
466
+ quoted.push_back('\\');
467
+ quoted.push_back('a');
468
+ // we hope we can remove this flag once we figure out
469
+ // why ruby sass has these different output behaviors
470
+ // gsub(/\n(?![a-fA-F0-9\s])/, "\\a").gsub("\n", "\\a ")
471
+ using namespace Prelexer;
472
+ if (alternatives <
473
+ Prelexer::char_range<'a', 'f'>,
474
+ Prelexer::char_range<'A', 'F'>,
475
+ Prelexer::char_range<'0', '9'>,
476
+ space
477
+ >(it) != NULL) {
478
+ quoted.push_back(' ');
479
+ }
480
+ } else if (cp < 127) {
481
+ quoted.push_back((char) cp);
482
+ } else {
483
+ while (now < it) {
484
+ quoted.push_back(*now);
485
+ ++ now;
486
+ }
487
+ }
488
+ }
489
+
490
+ quoted.push_back(q);
491
+ return quoted;
492
+ }
493
+
494
+ bool is_hex_doublet(double n)
495
+ {
496
+ return n == 0x00 || n == 0x11 || n == 0x22 || n == 0x33 ||
497
+ n == 0x44 || n == 0x55 || n == 0x66 || n == 0x77 ||
498
+ n == 0x88 || n == 0x99 || n == 0xAA || n == 0xBB ||
499
+ n == 0xCC || n == 0xDD || n == 0xEE || n == 0xFF ;
500
+ }
501
+
502
+ bool is_color_doublet(double r, double g, double b)
503
+ {
504
+ return is_hex_doublet(r) && is_hex_doublet(g) && is_hex_doublet(b);
505
+ }
506
+
507
+ bool peek_linefeed(const char* start)
508
+ {
509
+ using namespace Prelexer;
510
+ using namespace Constants;
511
+ return sequence <
512
+ zero_plus <
513
+ alternatives <
514
+ exactly <' '>,
515
+ exactly <'\t'>,
516
+ line_comment,
517
+ block_comment,
518
+ delimited_by <
519
+ slash_star,
520
+ star_slash,
521
+ false
522
+ >
523
+ >
524
+ >,
525
+ re_linebreak
526
+ >(start) != 0;
527
+ }
528
+
529
+ namespace Util {
530
+
531
+ bool isPrintable(Ruleset* r, Sass_Output_Style style) {
532
+ if (r == NULL) {
533
+ return false;
534
+ }
535
+
536
+ Block_Obj b = r->block();
537
+
538
+ Selector_List* sl = Cast<Selector_List>(r->selector());
539
+ bool hasSelectors = sl ? sl->length() > 0 : false;
540
+
541
+ if (!hasSelectors) {
542
+ return false;
543
+ }
544
+
545
+ bool hasDeclarations = false;
546
+ bool hasPrintableChildBlocks = false;
547
+ for (size_t i = 0, L = b->length(); i < L; ++i) {
548
+ Statement_Obj stm = b->at(i);
549
+ if (Cast<Directive>(stm)) {
550
+ return true;
551
+ } else if (Declaration* d = Cast<Declaration>(stm)) {
552
+ return isPrintable(d, style);
553
+ } else if (Has_Block* p = Cast<Has_Block>(stm)) {
554
+ Block_Obj pChildBlock = p->block();
555
+ if (isPrintable(pChildBlock, style)) {
556
+ hasPrintableChildBlocks = true;
557
+ }
558
+ } else if (Comment* c = Cast<Comment>(stm)) {
559
+ // keep for uncompressed
560
+ if (style != COMPRESSED) {
561
+ hasDeclarations = true;
562
+ }
563
+ // output style compressed
564
+ if (c->is_important()) {
565
+ hasDeclarations = c->is_important();
566
+ }
567
+ } else {
568
+ hasDeclarations = true;
569
+ }
570
+
571
+ if (hasDeclarations || hasPrintableChildBlocks) {
572
+ return true;
573
+ }
574
+ }
575
+
576
+ return false;
577
+ }
578
+
579
+ bool isPrintable(String_Constant* s, Sass_Output_Style style)
580
+ {
581
+ return ! s->value().empty();
582
+ }
583
+
584
+ bool isPrintable(String_Quoted* s, Sass_Output_Style style)
585
+ {
586
+ return true;
587
+ }
588
+
589
+ bool isPrintable(Declaration* d, Sass_Output_Style style)
590
+ {
591
+ Expression_Obj val = d->value();
592
+ if (String_Quoted_Obj sq = Cast<String_Quoted>(val)) return isPrintable(sq.ptr(), style);
593
+ if (String_Constant_Obj sc = Cast<String_Constant>(val)) return isPrintable(sc.ptr(), style);
594
+ return true;
595
+ }
596
+
597
+ bool isPrintable(Supports_Block* f, Sass_Output_Style style) {
598
+ if (f == NULL) {
599
+ return false;
600
+ }
601
+
602
+ Block_Obj b = f->block();
603
+
604
+ bool hasDeclarations = false;
605
+ bool hasPrintableChildBlocks = false;
606
+ for (size_t i = 0, L = b->length(); i < L; ++i) {
607
+ Statement_Obj stm = b->at(i);
608
+ if (Cast<Declaration>(stm) || Cast<Directive>(stm)) {
609
+ hasDeclarations = true;
610
+ }
611
+ else if (Has_Block* b = Cast<Has_Block>(stm)) {
612
+ Block_Obj pChildBlock = b->block();
613
+ if (!b->is_invisible()) {
614
+ if (isPrintable(pChildBlock, style)) {
615
+ hasPrintableChildBlocks = true;
616
+ }
617
+ }
618
+ }
619
+
620
+ if (hasDeclarations || hasPrintableChildBlocks) {
621
+ return true;
622
+ }
623
+ }
624
+
625
+ return false;
626
+ }
627
+
628
+ bool isPrintable(Media_Block* m, Sass_Output_Style style)
629
+ {
630
+ if (m == nullptr) return false;
631
+ Block_Obj b = m->block();
632
+ if (b == nullptr) return false;
633
+ for (size_t i = 0, L = b->length(); i < L; ++i) {
634
+ Statement_Obj stm = b->at(i);
635
+ if (Cast<Directive>(stm)) return true;
636
+ else if (Cast<Declaration>(stm)) return true;
637
+ else if (Comment* c = Cast<Comment>(stm)) {
638
+ if (isPrintable(c, style)) {
639
+ return true;
640
+ }
641
+ }
642
+ else if (Ruleset* r = Cast<Ruleset>(stm)) {
643
+ if (isPrintable(r, style)) {
644
+ return true;
645
+ }
646
+ }
647
+ else if (Supports_Block* f = Cast<Supports_Block>(stm)) {
648
+ if (isPrintable(f, style)) {
649
+ return true;
650
+ }
651
+ }
652
+ else if (Media_Block* mb = Cast<Media_Block>(stm)) {
653
+ if (isPrintable(mb, style)) {
654
+ return true;
655
+ }
656
+ }
657
+ else if (Has_Block* b = Cast<Has_Block>(stm)) {
658
+ if (isPrintable(b->block(), style)) {
659
+ return true;
660
+ }
661
+ }
662
+ }
663
+ return false;
664
+ }
665
+
666
+ bool isPrintable(Comment* c, Sass_Output_Style style)
667
+ {
668
+ // keep for uncompressed
669
+ if (style != COMPRESSED) {
670
+ return true;
671
+ }
672
+ // output style compressed
673
+ if (c->is_important()) {
674
+ return true;
675
+ }
676
+ // not printable
677
+ return false;
678
+ };
679
+
680
+ bool isPrintable(Block_Obj b, Sass_Output_Style style) {
681
+ if (!b) {
682
+ return false;
683
+ }
684
+
685
+ for (size_t i = 0, L = b->length(); i < L; ++i) {
686
+ Statement_Obj stm = b->at(i);
687
+ if (Cast<Declaration>(stm) || Cast<Directive>(stm)) {
688
+ return true;
689
+ }
690
+ else if (Comment* c = Cast<Comment>(stm)) {
691
+ if (isPrintable(c, style)) {
692
+ return true;
693
+ }
694
+ }
695
+ else if (Ruleset* r = Cast<Ruleset>(stm)) {
696
+ if (isPrintable(r, style)) {
697
+ return true;
698
+ }
699
+ }
700
+ else if (Supports_Block* f = Cast<Supports_Block>(stm)) {
701
+ if (isPrintable(f, style)) {
702
+ return true;
703
+ }
704
+ }
705
+ else if (Media_Block* m = Cast<Media_Block>(stm)) {
706
+ if (isPrintable(m, style)) {
707
+ return true;
708
+ }
709
+ }
710
+ else if (Has_Block* b = Cast<Has_Block>(stm)) {
711
+ if (isPrintable(b->block(), style)) {
712
+ return true;
713
+ }
714
+ }
715
+ }
716
+
717
+ return false;
718
+ }
719
+
720
+ bool isAscii(const char chr) {
721
+ return unsigned(chr) < 128;
722
+ }
723
+
724
+ }
725
+ }