appscms-tools-theme 3.1.7 → 3.1.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2654) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +0 -0
  3. data/README.md +0 -0
  4. data/_data/about/en/about.json +0 -0
  5. data/_data/blog/alertbar.yml +0 -0
  6. data/_data/blog/authors.yml +0 -0
  7. data/_data/blog/blog.yml +0 -0
  8. data/_data/blog/nav.json +0 -0
  9. data/_data/blog/share.yml +0 -0
  10. data/_data/calculators/en/biology-calc/animal-mortality-rate.json +0 -0
  11. data/_data/calculators/en/biology-calc/annealing-temperature.json +0 -0
  12. data/_data/calculators/en/biology-calc/bacteria-growth.json +0 -0
  13. data/_data/calculators/en/biology-calc/benadryl-dosage-for-dogs.json +0 -0
  14. data/_data/calculators/en/biology-calc/bird-age.json +0 -0
  15. data/_data/calculators/en/biology-calc/bulb-spacing.json +0 -0
  16. data/_data/calculators/en/biology-calc/carrying-capacity.json +0 -0
  17. data/_data/calculators/en/biology-calc/cat-age.json +0 -0
  18. data/_data/calculators/en/biology-calc/cat-benadryl-dosage.json +0 -0
  19. data/_data/calculators/en/biology-calc/cat-bmi.json +0 -0
  20. data/_data/calculators/en/biology-calc/cat-calorie.json +0 -0
  21. data/_data/calculators/en/biology-calc/cat-chocolate-toxicity.json +0 -0
  22. data/_data/calculators/en/biology-calc/cat-pregnancy.json +0 -0
  23. data/_data/calculators/en/biology-calc/catculator.json +0 -0
  24. data/_data/calculators/en/biology-calc/cattle-per-acre.json +0 -0
  25. data/_data/calculators/en/biology-calc/cell-doubling-time.json +0 -0
  26. data/_data/calculators/en/biology-calc/cephalexin-for-dogs-dosage.json +0 -0
  27. data/_data/calculators/en/biology-calc/compost.json +0 -0
  28. data/_data/calculators/en/biology-calc/corn-yield.json +0 -0
  29. data/_data/calculators/en/biology-calc/cow-gestation.json +0 -0
  30. data/_data/calculators/en/biology-calc/cricket-chirp-thermometer.json +0 -0
  31. data/_data/calculators/en/biology-calc/dihybrid-cross-punnett-square.json +0 -0
  32. data/_data/calculators/en/biology-calc/dna-concentration.json +0 -0
  33. data/_data/calculators/en/biology-calc/dog-age.json +0 -0
  34. data/_data/calculators/en/biology-calc/dog-bmi.json +0 -0
  35. data/_data/calculators/en/biology-calc/dog-calorie.json +0 -0
  36. data/_data/calculators/en/biology-calc/dog-chocolate-toxicity.json +0 -0
  37. data/_data/calculators/en/biology-calc/dog-food.json +0 -0
  38. data/_data/calculators/en/biology-calc/dog-life-expectancy.json +0 -0
  39. data/_data/calculators/en/biology-calc/dog-metacam.json +0 -0
  40. data/_data/calculators/en/biology-calc/dog-pregnancy.json +0 -0
  41. data/_data/calculators/en/biology-calc/dog-quality-of-life.json +0 -0
  42. data/_data/calculators/en/biology-calc/dog-raisin-toxicity.json +0 -0
  43. data/_data/calculators/en/biology-calc/dog-size.json +0 -0
  44. data/_data/calculators/en/biology-calc/dog-water-intake.json +0 -0
  45. data/_data/calculators/en/biology-calc/dry-matter.json +0 -0
  46. data/_data/calculators/en/biology-calc/fcr.json +0 -0
  47. data/_data/calculators/en/biology-calc/fertilizer.json +0 -0
  48. data/_data/calculators/en/biology-calc/goat-gestation.json +0 -0
  49. data/_data/calculators/en/biology-calc/grain-bin.json +0 -0
  50. data/_data/calculators/en/biology-calc/grass-seed.json +0 -0
  51. data/_data/calculators/en/biology-calc/hamster-age.json +0 -0
  52. data/_data/calculators/en/biology-calc/horse-gestation.json +0 -0
  53. data/_data/calculators/en/biology-calc/horse-weight.json +0 -0
  54. data/_data/calculators/en/biology-calc/how-big-will-my-cat-get.json +0 -0
  55. data/_data/calculators/en/biology-calc/ligation.json +0 -0
  56. data/_data/calculators/en/biology-calc/livestock-fence.json +0 -0
  57. data/_data/calculators/en/biology-calc/llama.json +0 -0
  58. data/_data/calculators/en/biology-calc/log-reduction.json +0 -0
  59. data/_data/calculators/en/biology-calc/mlvss.json +0 -0
  60. data/_data/calculators/en/biology-calc/mowing-cost.json +0 -0
  61. data/_data/calculators/en/biology-calc/mulch.json +0 -0
  62. data/_data/calculators/en/biology-calc/omega-3-for-dogs.json +0 -0
  63. data/_data/calculators/en/biology-calc/plant-population.json +0 -0
  64. data/_data/calculators/en/biology-calc/plants.json +0 -0
  65. data/_data/calculators/en/biology-calc/potting-soil-calculator.json +0 -0
  66. data/_data/calculators/en/biology-calc/protein-molecular-weight.json +0 -0
  67. data/_data/calculators/en/biology-calc/punnett-square.json +0 -0
  68. data/_data/calculators/en/biology-calc/rabbit-gestation.json +0 -0
  69. data/_data/calculators/en/biology-calc/rat-cage.json +0 -0
  70. data/_data/calculators/en/biology-calc/sheep-gestation.json +0 -0
  71. data/_data/calculators/en/biology-calc/sod.json +0 -0
  72. data/_data/calculators/en/biology-calc/soil.json +0 -0
  73. data/_data/calculators/en/biology-calc/swine-gestation.json +0 -0
  74. data/_data/calculators/en/biology-calc/the-cost-of-owning-a-dog.json +0 -0
  75. data/_data/calculators/en/biology-calc/tramadol-for-dogs.json +0 -0
  76. data/_data/calculators/en/biology-calc/tree-age.json +0 -0
  77. data/_data/calculators/en/biology-calc/tree-diameter.json +0 -0
  78. data/_data/calculators/en/biology-calc/tree-height.json +0 -0
  79. data/_data/calculators/en/biology-calc/tree-leaves.json +0 -0
  80. data/_data/calculators/en/biology-calc/tree-spacing.json +0 -0
  81. data/_data/calculators/en/biology-calc/tree-value.json +0 -0
  82. data/_data/calculators/en/biology-calc/trihybrid-cross-punnett-square.json +0 -0
  83. data/_data/calculators/en/biology-calc/turtle-tank.json +0 -0
  84. data/_data/calculators/en/biology-calc/vapor-pressure-deficit.json +0 -0
  85. data/_data/calculators/en/biology-calc/vegetable-seed.json +0 -0
  86. data/_data/calculators/en/biology-calc/vegetable-yield.json +0 -0
  87. data/_data/calculators/en/biology-calc/wastewater.json +0 -0
  88. data/_data/calculators/en/biology-calc/water-potential.json +0 -0
  89. data/_data/calculators/en/biology-calc/water-soluble-fertilizer.json +0 -0
  90. data/_data/calculators/en/chemistry-calc/activation-energy.json +0 -0
  91. data/_data/calculators/en/chemistry-calc/actual-yield.json +0 -0
  92. data/_data/calculators/en/chemistry-calc/air-fuel-ratio-afr.json +0 -0
  93. data/_data/calculators/en/chemistry-calc/alligation.json +0 -0
  94. data/_data/calculators/en/chemistry-calc/arrhenius-equation.json +0 -0
  95. data/_data/calculators/en/chemistry-calc/atom.json +0 -0
  96. data/_data/calculators/en/chemistry-calc/atomic-mass.json +0 -0
  97. data/_data/calculators/en/chemistry-calc/avogadro.json +0 -0
  98. data/_data/calculators/en/chemistry-calc/beer-lambert-law.json +0 -0
  99. data/_data/calculators/en/chemistry-calc/bleach-dilution.json +0 -0
  100. data/_data/calculators/en/chemistry-calc/boiling-point-altitude.json +0 -0
  101. data/_data/calculators/en/chemistry-calc/boiling-point-elevation.json +0 -0
  102. data/_data/calculators/en/chemistry-calc/boiling-point.json +0 -0
  103. data/_data/calculators/en/chemistry-calc/bond-order.json +0 -0
  104. data/_data/calculators/en/chemistry-calc/buffer-capacity.json +0 -0
  105. data/_data/calculators/en/chemistry-calc/buffer-ph.json +0 -0
  106. data/_data/calculators/en/chemistry-calc/calibration-curve.json +0 -0
  107. data/_data/calculators/en/chemistry-calc/carbon-dating.json +0 -0
  108. data/_data/calculators/en/chemistry-calc/chemical-name.json +0 -0
  109. data/_data/calculators/en/chemistry-calc/combustion-analysis.json +0 -0
  110. data/_data/calculators/en/chemistry-calc/combustion-reaction.json +0 -0
  111. data/_data/calculators/en/chemistry-calc/concentration.json +0 -0
  112. data/_data/calculators/en/chemistry-calc/cubic-cell.json +0 -0
  113. data/_data/calculators/en/chemistry-calc/degree-of-unsaturation.json +0 -0
  114. data/_data/calculators/en/chemistry-calc/dilution-factor.json +0 -0
  115. data/_data/calculators/en/chemistry-calc/effective-charge.json +0 -0
  116. data/_data/calculators/en/chemistry-calc/electrolysis.json +0 -0
  117. data/_data/calculators/en/chemistry-calc/electromotive-force.json +0 -0
  118. data/_data/calculators/en/chemistry-calc/electronegativity.json +0 -0
  119. data/_data/calculators/en/chemistry-calc/entropy.json +0 -0
  120. data/_data/calculators/en/chemistry-calc/equilibrium-constant.json +0 -0
  121. data/_data/calculators/en/chemistry-calc/freezing-point-depression.json +0 -0
  122. data/_data/calculators/en/chemistry-calc/gibbs-energy.json +0 -0
  123. data/_data/calculators/en/chemistry-calc/grahams-law-of-diffusion.json +0 -0
  124. data/_data/calculators/en/chemistry-calc/grams-to-moles.json +0 -0
  125. data/_data/calculators/en/chemistry-calc/half-life.json +0 -0
  126. data/_data/calculators/en/chemistry-calc/heat-of-combustion.json +0 -0
  127. data/_data/calculators/en/chemistry-calc/henderson-hasselbalch.json +0 -0
  128. data/_data/calculators/en/chemistry-calc/ionic-strength.json +0 -0
  129. data/_data/calculators/en/chemistry-calc/isoelectric-point.json +0 -0
  130. data/_data/calculators/en/chemistry-calc/kp.json +0 -0
  131. data/_data/calculators/en/chemistry-calc/langmuir-isotherm.json +0 -0
  132. data/_data/calculators/en/chemistry-calc/lattice-energy.json +0 -0
  133. data/_data/calculators/en/chemistry-calc/liquid-ethylene-density.json +0 -0
  134. data/_data/calculators/en/chemistry-calc/mass-percent.json +0 -0
  135. data/_data/calculators/en/chemistry-calc/michaelis-menten-equation.json +0 -0
  136. data/_data/calculators/en/chemistry-calc/miller-indices.json +0 -0
  137. data/_data/calculators/en/chemistry-calc/mixing-ratio.json +0 -0
  138. data/_data/calculators/en/chemistry-calc/molality.json +0 -0
  139. data/_data/calculators/en/chemistry-calc/molar-mass-of-gas.json +0 -0
  140. data/_data/calculators/en/chemistry-calc/molar-ratio.json +0 -0
  141. data/_data/calculators/en/chemistry-calc/molarity.json +0 -0
  142. data/_data/calculators/en/chemistry-calc/mole-fraction.json +0 -0
  143. data/_data/calculators/en/chemistry-calc/mole.json +0 -0
  144. data/_data/calculators/en/chemistry-calc/molecular-weight.json +0 -0
  145. data/_data/calculators/en/chemistry-calc/nernst-equation.json +0 -0
  146. data/_data/calculators/en/chemistry-calc/neutralization.json +0 -0
  147. data/_data/calculators/en/chemistry-calc/osmotic-pressure.json +0 -0
  148. data/_data/calculators/en/chemistry-calc/partial-pressure.json +0 -0
  149. data/_data/calculators/en/chemistry-calc/percent-composition.json +0 -0
  150. data/_data/calculators/en/chemistry-calc/percent-yield.json +0 -0
  151. data/_data/calculators/en/chemistry-calc/percentage-concentration-to-molarity.json +0 -0
  152. data/_data/calculators/en/chemistry-calc/ph.json +0 -0
  153. data/_data/calculators/en/chemistry-calc/phase-rule.json +0 -0
  154. data/_data/calculators/en/chemistry-calc/ppm-to-molarity.json +0 -0
  155. data/_data/calculators/en/chemistry-calc/quantum-number.json +0 -0
  156. data/_data/calculators/en/chemistry-calc/radioactive-decay.json +0 -0
  157. data/_data/calculators/en/chemistry-calc/raoults-law.json +0 -0
  158. data/_data/calculators/en/chemistry-calc/rate-constant.json +0 -0
  159. data/_data/calculators/en/chemistry-calc/reaction-quotient.json +0 -0
  160. data/_data/calculators/en/chemistry-calc/reconstitution.json +0 -0
  161. data/_data/calculators/en/chemistry-calc/serial-dilution.json +0 -0
  162. data/_data/calculators/en/chemistry-calc/solution-dilution.json +0 -0
  163. data/_data/calculators/en/chemistry-calc/standard-temperature-and-pressure.json +0 -0
  164. data/_data/calculators/en/chemistry-calc/surface-tension.json +0 -0
  165. data/_data/calculators/en/chemistry-calc/theoretical-yield.json +0 -0
  166. data/_data/calculators/en/chemistry-calc/titration.json +0 -0
  167. data/_data/calculators/en/chemistry-calc/two-photon-absorption.json +0 -0
  168. data/_data/calculators/en/chemistry-calc/vapor-pressure.json +0 -0
  169. data/_data/calculators/en/chemistry-calc/vapour-pressure-of-water.json +0 -0
  170. data/_data/calculators/en/chemistry-calc/water-hardness.json +0 -0
  171. data/_data/calculators/en/construction-calc/air-conditioner-room-size.json +0 -0
  172. data/_data/calculators/en/construction-calc/aluminum-weight.json +0 -0
  173. data/_data/calculators/en/construction-calc/angle-cut.json +0 -0
  174. data/_data/calculators/en/construction-calc/angle-of-depression.json +0 -0
  175. data/_data/calculators/en/construction-calc/asphalt.json +0 -0
  176. data/_data/calculators/en/construction-calc/baluster.json +0 -0
  177. data/_data/calculators/en/construction-calc/beam-deflection.json +0 -0
  178. data/_data/calculators/en/construction-calc/beam-load.json +0 -0
  179. data/_data/calculators/en/construction-calc/board-foot.json +0 -0
  180. data/_data/calculators/en/construction-calc/bolt-circle.json +0 -0
  181. data/_data/calculators/en/construction-calc/bolt-torque.json +0 -0
  182. data/_data/calculators/en/construction-calc/box-fill.json +0 -0
  183. data/_data/calculators/en/construction-calc/brick.json +0 -0
  184. data/_data/calculators/en/construction-calc/carpet.json +0 -0
  185. data/_data/calculators/en/construction-calc/cement.json +0 -0
  186. data/_data/calculators/en/construction-calc/cfm.json +0 -0
  187. data/_data/calculators/en/construction-calc/chicken-coop-size.json +0 -0
  188. data/_data/calculators/en/construction-calc/concrete-block-fill.json +0 -0
  189. data/_data/calculators/en/construction-calc/concrete-block.json +0 -0
  190. data/_data/calculators/en/construction-calc/concrete-column.json +0 -0
  191. data/_data/calculators/en/construction-calc/concrete-driveway-cost.json +0 -0
  192. data/_data/calculators/en/construction-calc/concrete-slab.json +0 -0
  193. data/_data/calculators/en/construction-calc/concrete-tube.json +0 -0
  194. data/_data/calculators/en/construction-calc/concrete-weight.json +0 -0
  195. data/_data/calculators/en/construction-calc/crushed-stone.json +0 -0
  196. data/_data/calculators/en/construction-calc/cubic-yard.json +0 -0
  197. data/_data/calculators/en/construction-calc/deck-stain.json +0 -0
  198. data/_data/calculators/en/construction-calc/decking.json +0 -0
  199. data/_data/calculators/en/construction-calc/diy-shed-cost.json +0 -0
  200. data/_data/calculators/en/construction-calc/drywall.json +0 -0
  201. data/_data/calculators/en/construction-calc/elevation-grade.json +0 -0
  202. data/_data/calculators/en/construction-calc/epoxy.json +0 -0
  203. data/_data/calculators/en/construction-calc/fence.json +0 -0
  204. data/_data/calculators/en/construction-calc/fire-glass.json +0 -0
  205. data/_data/calculators/en/construction-calc/floor-area-ratio.json +0 -0
  206. data/_data/calculators/en/construction-calc/floor-joist.json +0 -0
  207. data/_data/calculators/en/construction-calc/flooring.json +0 -0
  208. data/_data/calculators/en/construction-calc/framing.json +0 -0
  209. data/_data/calculators/en/construction-calc/french-drain.json +0 -0
  210. data/_data/calculators/en/construction-calc/ft2-yd3.json +0 -0
  211. data/_data/calculators/en/construction-calc/furnace-size.json +0 -0
  212. data/_data/calculators/en/construction-calc/gallons-per-minute.json +0 -0
  213. data/_data/calculators/en/construction-calc/gallons-per-square-foot.json +0 -0
  214. data/_data/calculators/en/construction-calc/glass-weight.json +0 -0
  215. data/_data/calculators/en/construction-calc/gravel-driveway.json +0 -0
  216. data/_data/calculators/en/construction-calc/gravel.json +0 -0
  217. data/_data/calculators/en/construction-calc/grout.json +0 -0
  218. data/_data/calculators/en/construction-calc/heat-loss.json +0 -0
  219. data/_data/calculators/en/construction-calc/hoop-house.json +0 -0
  220. data/_data/calculators/en/construction-calc/insulation.json +0 -0
  221. data/_data/calculators/en/construction-calc/k-factor.json +0 -0
  222. data/_data/calculators/en/construction-calc/limestone.json +0 -0
  223. data/_data/calculators/en/construction-calc/log-weight.json +0 -0
  224. data/_data/calculators/en/construction-calc/metal-roof-cost.json +0 -0
  225. data/_data/calculators/en/construction-calc/metal-weight.json +0 -0
  226. data/_data/calculators/en/construction-calc/miter-angle.json +0 -0
  227. data/_data/calculators/en/construction-calc/mortar.json +0 -0
  228. data/_data/calculators/en/construction-calc/paint.json +0 -0
  229. data/_data/calculators/en/construction-calc/passive-house.json +0 -0
  230. data/_data/calculators/en/construction-calc/paver-sand.json +0 -0
  231. data/_data/calculators/en/construction-calc/paver.json +0 -0
  232. data/_data/calculators/en/construction-calc/pipe-volume.json +0 -0
  233. data/_data/calculators/en/construction-calc/pitch-diameter.json +0 -0
  234. data/_data/calculators/en/construction-calc/plate-weight.json +0 -0
  235. data/_data/calculators/en/construction-calc/plywood.json +0 -0
  236. data/_data/calculators/en/construction-calc/pond.json +0 -0
  237. data/_data/calculators/en/construction-calc/pool.json +0 -0
  238. data/_data/calculators/en/construction-calc/rafter-length.json +0 -0
  239. data/_data/calculators/en/construction-calc/ramp-slope.json +0 -0
  240. data/_data/calculators/en/construction-calc/rebar.json +0 -0
  241. data/_data/calculators/en/construction-calc/retaining-wall.json +0 -0
  242. data/_data/calculators/en/construction-calc/rip-rap.json +0 -0
  243. data/_data/calculators/en/construction-calc/river-rock.json +0 -0
  244. data/_data/calculators/en/construction-calc/rolling-offset.json +0 -0
  245. data/_data/calculators/en/construction-calc/roof-pitch.json +0 -0
  246. data/_data/calculators/en/construction-calc/roof-truss.json +0 -0
  247. data/_data/calculators/en/construction-calc/roofing.json +0 -0
  248. data/_data/calculators/en/construction-calc/round-pen.json +0 -0
  249. data/_data/calculators/en/construction-calc/sand.json +0 -0
  250. data/_data/calculators/en/construction-calc/siding.json +0 -0
  251. data/_data/calculators/en/construction-calc/size-to-weight-rectangular-cuboid.json +0 -0
  252. data/_data/calculators/en/construction-calc/snow-load.json +0 -0
  253. data/_data/calculators/en/construction-calc/sonotube.json +0 -0
  254. data/_data/calculators/en/construction-calc/spindle-spacing.json +0 -0
  255. data/_data/calculators/en/construction-calc/spindle-speed.json +0 -0
  256. data/_data/calculators/en/construction-calc/square-footage.json +0 -0
  257. data/_data/calculators/en/construction-calc/square-yard.json +0 -0
  258. data/_data/calculators/en/construction-calc/square-yards.json +0 -0
  259. data/_data/calculators/en/construction-calc/stair-carpet.json +0 -0
  260. data/_data/calculators/en/construction-calc/stairs.json +0 -0
  261. data/_data/calculators/en/construction-calc/steel-plate-weight.json +0 -0
  262. data/_data/calculators/en/construction-calc/steel-weight.json +0 -0
  263. data/_data/calculators/en/construction-calc/tank-volume.json +0 -0
  264. data/_data/calculators/en/construction-calc/taper.json +0 -0
  265. data/_data/calculators/en/construction-calc/thinset.json +0 -0
  266. data/_data/calculators/en/construction-calc/thread-pitch.json +0 -0
  267. data/_data/calculators/en/construction-calc/thread.json +0 -0
  268. data/_data/calculators/en/construction-calc/tile.json +0 -0
  269. data/_data/calculators/en/construction-calc/tonnage.json +0 -0
  270. data/_data/calculators/en/construction-calc/trump.json +0 -0
  271. data/_data/calculators/en/construction-calc/vertical-curve.json +0 -0
  272. data/_data/calculators/en/construction-calc/vinyl-fence.json +0 -0
  273. data/_data/calculators/en/construction-calc/vinyl-siding.json +0 -0
  274. data/_data/calculators/en/construction-calc/wainscoting.json +0 -0
  275. data/_data/calculators/en/construction-calc/wall-square-footage.json +0 -0
  276. data/_data/calculators/en/construction-calc/wallpaper.json +0 -0
  277. data/_data/calculators/en/construction-calc/welding.json +0 -0
  278. data/_data/calculators/en/conversion-calc/acreage.json +0 -0
  279. data/_data/calculators/en/conversion-calc/angle-converter.json +0 -0
  280. data/_data/calculators/en/conversion-calc/area-converter.json +0 -0
  281. data/_data/calculators/en/conversion-calc/billion-to-trillion-converter.json +0 -0
  282. data/_data/calculators/en/conversion-calc/binary-to-hexadecimal.json +0 -0
  283. data/_data/calculators/en/conversion-calc/binary-to-octal.json +0 -0
  284. data/_data/calculators/en/conversion-calc/binary.json +0 -0
  285. data/_data/calculators/en/conversion-calc/byte-converter.json +0 -0
  286. data/_data/calculators/en/conversion-calc/capacitance-conversion.json +0 -0
  287. data/_data/calculators/en/conversion-calc/cgs-system-of-units.json +0 -0
  288. data/_data/calculators/en/conversion-calc/conversion-calculator.json +0 -0
  289. data/_data/calculators/en/conversion-calc/coordinates-converter.json +0 -0
  290. data/_data/calculators/en/conversion-calc/cps-converter.json +0 -0
  291. data/_data/calculators/en/conversion-calc/crore-to-lakh.json +0 -0
  292. data/_data/calculators/en/conversion-calc/crore-to-million.json +0 -0
  293. data/_data/calculators/en/conversion-calc/cubic-feet.json +0 -0
  294. data/_data/calculators/en/conversion-calc/cubic-yards-to-tons.json +0 -0
  295. data/_data/calculators/en/conversion-calc/dbm-to-watts.json +0 -0
  296. data/_data/calculators/en/conversion-calc/decimal-to-hexadecimal.json +0 -0
  297. data/_data/calculators/en/conversion-calc/decimal-to-octal.json +0 -0
  298. data/_data/calculators/en/conversion-calc/degrees-minutes-seconds.json +0 -0
  299. data/_data/calculators/en/conversion-calc/density-converter.json +0 -0
  300. data/_data/calculators/en/conversion-calc/dimensional-analysis.json +0 -0
  301. data/_data/calculators/en/conversion-calc/energy-conversion.json +0 -0
  302. data/_data/calculators/en/conversion-calc/feet-and-inches.json +0 -0
  303. data/_data/calculators/en/conversion-calc/force-conversion.json +0 -0
  304. data/_data/calculators/en/conversion-calc/fueld-economy-converter.json +0 -0
  305. data/_data/calculators/en/conversion-calc/g-to-oz.json +0 -0
  306. data/_data/calculators/en/conversion-calc/gallon.json +0 -0
  307. data/_data/calculators/en/conversion-calc/gallons-to-pounds.json +0 -0
  308. data/_data/calculators/en/conversion-calc/grams-to-calories.json +0 -0
  309. data/_data/calculators/en/conversion-calc/inches-to-fraction.json +0 -0
  310. data/_data/calculators/en/conversion-calc/kg-to-gallons.json +0 -0
  311. data/_data/calculators/en/conversion-calc/knots-to-mph.json +0 -0
  312. data/_data/calculators/en/conversion-calc/lat-long-to-utm.json +0 -0
  313. data/_data/calculators/en/conversion-calc/length-converter.json +0 -0
  314. data/_data/calculators/en/conversion-calc/mg-to-ml.json +0 -0
  315. data/_data/calculators/en/conversion-calc/military-time.json +0 -0
  316. data/_data/calculators/en/conversion-calc/million-to-billion.json +0 -0
  317. data/_data/calculators/en/conversion-calc/million-to-lakh.json +0 -0
  318. data/_data/calculators/en/conversion-calc/million-to-thousand-converter.json +0 -0
  319. data/_data/calculators/en/conversion-calc/minutes-to-hours-converter.json +0 -0
  320. data/_data/calculators/en/conversion-calc/ml-to-cups.json +0 -0
  321. data/_data/calculators/en/conversion-calc/newton-to-joules.json +0 -0
  322. data/_data/calculators/en/conversion-calc/nm-to-ft-lb.json +0 -0
  323. data/_data/calculators/en/conversion-calc/ounces-to-cups.json +0 -0
  324. data/_data/calculators/en/conversion-calc/paper-quantity.json +0 -0
  325. data/_data/calculators/en/conversion-calc/pint-to-pound.json +0 -0
  326. data/_data/calculators/en/conversion-calc/pixels-to-inches.json +0 -0
  327. data/_data/calculators/en/conversion-calc/pounds-ounces.json +0 -0
  328. data/_data/calculators/en/conversion-calc/power-conversion.json +0 -0
  329. data/_data/calculators/en/conversion-calc/ppm-to-mgl-converter.json +0 -0
  330. data/_data/calculators/en/conversion-calc/ppm.json +0 -0
  331. data/_data/calculators/en/conversion-calc/pressure-converter.json +0 -0
  332. data/_data/calculators/en/conversion-calc/psi-to-gpm.json +0 -0
  333. data/_data/calculators/en/conversion-calc/px-to-em.json +0 -0
  334. data/_data/calculators/en/conversion-calc/quantity-converter.json +0 -0
  335. data/_data/calculators/en/conversion-calc/quarts-to-pounds.json +0 -0
  336. data/_data/calculators/en/conversion-calc/radiation-converter.json +0 -0
  337. data/_data/calculators/en/conversion-calc/roman-numerals.json +0 -0
  338. data/_data/calculators/en/conversion-calc/scale-conversion.json +0 -0
  339. data/_data/calculators/en/conversion-calc/speed-converter.json +0 -0
  340. data/_data/calculators/en/conversion-calc/temperature-converter.json +0 -0
  341. data/_data/calculators/en/conversion-calc/time-unit-converter.json +0 -0
  342. data/_data/calculators/en/conversion-calc/time-zones.json +0 -0
  343. data/_data/calculators/en/conversion-calc/torque-to-horsepower.json +0 -0
  344. data/_data/calculators/en/conversion-calc/torr-to-atm.json +0 -0
  345. data/_data/calculators/en/conversion-calc/unix-time.json +0 -0
  346. data/_data/calculators/en/conversion-calc/volume-conversion.json +0 -0
  347. data/_data/calculators/en/conversion-calc/weight-converter.json +0 -0
  348. data/_data/calculators/en/conversion-calc/weird-units.json +0 -0
  349. data/_data/calculators/en/ecology-calc/benzoapyrene.json +0 -0
  350. data/_data/calculators/en/ecology-calc/books-vs-ebooks.json +0 -0
  351. data/_data/calculators/en/ecology-calc/car-vs-bike.json +0 -0
  352. data/_data/calculators/en/ecology-calc/cigarette-butts.json +0 -0
  353. data/_data/calculators/en/ecology-calc/co2-breathing-emission.json +0 -0
  354. data/_data/calculators/en/ecology-calc/covid-pollution.json +0 -0
  355. data/_data/calculators/en/ecology-calc/cryptocurrency-footprint.json +0 -0
  356. data/_data/calculators/en/ecology-calc/eco-friendly-bags.json +0 -0
  357. data/_data/calculators/en/ecology-calc/fish-mercury.json +0 -0
  358. data/_data/calculators/en/ecology-calc/flight-emissions.json +0 -0
  359. data/_data/calculators/en/ecology-calc/hand-dryers-vs-paper-towels.json +0 -0
  360. data/_data/calculators/en/ecology-calc/hydroelectric-power.json +0 -0
  361. data/_data/calculators/en/ecology-calc/kaya-identity.json +0 -0
  362. data/_data/calculators/en/ecology-calc/korzysci-z-drzew.json +0 -0
  363. data/_data/calculators/en/ecology-calc/meat-footprint.json +0 -0
  364. data/_data/calculators/en/ecology-calc/phev-economy.json +0 -0
  365. data/_data/calculators/en/ecology-calc/plastic-footprint.json +0 -0
  366. data/_data/calculators/en/ecology-calc/shannon-index.json +0 -0
  367. data/_data/calculators/en/ecology-calc/solar-panel.json +0 -0
  368. data/_data/calculators/en/ecology-calc/strefa-czystego-transportu.json +0 -0
  369. data/_data/calculators/en/ecology-calc/tap-water.json +0 -0
  370. data/_data/calculators/en/ecology-calc/tree-benefits.json +0 -0
  371. data/_data/calculators/en/ecology-calc/wind-turbine.json +0 -0
  372. data/_data/calculators/en/ecology-calc/zero-waste-christmas-tree.json +0 -0
  373. data/_data/calculators/en/everyday-life-calc/0-60.json +0 -0
  374. data/_data/calculators/en/everyday-life-calc/add-time.json +0 -0
  375. data/_data/calculators/en/everyday-life-calc/age-difference.json +0 -0
  376. data/_data/calculators/en/everyday-life-calc/age.json +0 -0
  377. data/_data/calculators/en/everyday-life-calc/anniversary.json +0 -0
  378. data/_data/calculators/en/everyday-life-calc/appliance-depreciation.json +0 -0
  379. data/_data/calculators/en/everyday-life-calc/appliance-wattage.json +0 -0
  380. data/_data/calculators/en/everyday-life-calc/audiobooks.json +0 -0
  381. data/_data/calculators/en/everyday-life-calc/baby-age.json +0 -0
  382. data/_data/calculators/en/everyday-life-calc/back-to-school.json +0 -0
  383. data/_data/calculators/en/everyday-life-calc/balloon-arch.json +0 -0
  384. data/_data/calculators/en/everyday-life-calc/bath-vs-shower-footprint.json +0 -0
  385. data/_data/calculators/en/everyday-life-calc/bathroom-mirror-size.json +0 -0
  386. data/_data/calculators/en/everyday-life-calc/beach-price-index.json +0 -0
  387. data/_data/calculators/en/everyday-life-calc/belt-size.json +0 -0
  388. data/_data/calculators/en/everyday-life-calc/bikini.json +0 -0
  389. data/_data/calculators/en/everyday-life-calc/binge-watching.json +0 -0
  390. data/_data/calculators/en/everyday-life-calc/birthday.json +0 -0
  391. data/_data/calculators/en/everyday-life-calc/boat-speed.json +0 -0
  392. data/_data/calculators/en/everyday-life-calc/book-challenge.json +0 -0
  393. data/_data/calculators/en/everyday-life-calc/bra-size.json +0 -0
  394. data/_data/calculators/en/everyday-life-calc/business-days.json +0 -0
  395. data/_data/calculators/en/everyday-life-calc/calendar.json +0 -0
  396. data/_data/calculators/en/everyday-life-calc/carpooling.json +0 -0
  397. data/_data/calculators/en/everyday-life-calc/child-cost.json +0 -0
  398. data/_data/calculators/en/everyday-life-calc/chronological-age.json +0 -0
  399. data/_data/calculators/en/everyday-life-calc/circle-skirt.json +0 -0
  400. data/_data/calculators/en/everyday-life-calc/cleaning-cost.json +0 -0
  401. data/_data/calculators/en/everyday-life-calc/commute.json +0 -0
  402. data/_data/calculators/en/everyday-life-calc/compression-ratio.json +0 -0
  403. data/_data/calculators/en/everyday-life-calc/cord-wood.json +0 -0
  404. data/_data/calculators/en/everyday-life-calc/coronavirus-mask.json +0 -0
  405. data/_data/calculators/en/everyday-life-calc/crosswind.json +0 -0
  406. data/_data/calculators/en/everyday-life-calc/curtain-panel.json +0 -0
  407. data/_data/calculators/en/everyday-life-calc/curtain-size.json +0 -0
  408. data/_data/calculators/en/everyday-life-calc/cycle-time.json +0 -0
  409. data/_data/calculators/en/everyday-life-calc/data-usage.json +0 -0
  410. data/_data/calculators/en/everyday-life-calc/date-to-date.json +0 -0
  411. data/_data/calculators/en/everyday-life-calc/date.json +0 -0
  412. data/_data/calculators/en/everyday-life-calc/day-counter.json +0 -0
  413. data/_data/calculators/en/everyday-life-calc/deadline.json +0 -0
  414. data/_data/calculators/en/everyday-life-calc/desk-height.json +0 -0
  415. data/_data/calculators/en/everyday-life-calc/diaper.json +0 -0
  416. data/_data/calculators/en/everyday-life-calc/dilution-ratio.json +0 -0
  417. data/_data/calculators/en/everyday-life-calc/drake-equation-for-love.json +0 -0
  418. data/_data/calculators/en/everyday-life-calc/dress-size.json +0 -0
  419. data/_data/calculators/en/everyday-life-calc/drive-time.json +0 -0
  420. data/_data/calculators/en/everyday-life-calc/easter.json +0 -0
  421. data/_data/calculators/en/everyday-life-calc/electricity-cost-single-usage.json +0 -0
  422. data/_data/calculators/en/everyday-life-calc/electricity-cost.json +0 -0
  423. data/_data/calculators/en/everyday-life-calc/email-alternatives.json +0 -0
  424. data/_data/calculators/en/everyday-life-calc/english-learning.json +0 -0
  425. data/_data/calculators/en/everyday-life-calc/every-second.json +0 -0
  426. data/_data/calculators/en/everyday-life-calc/expiration-date.json +0 -0
  427. data/_data/calculators/en/everyday-life-calc/fabric.json +0 -0
  428. data/_data/calculators/en/everyday-life-calc/flight-radiation.json +0 -0
  429. data/_data/calculators/en/everyday-life-calc/fuel-cost.json +0 -0
  430. data/_data/calculators/en/everyday-life-calc/garbage-bag-size.json +0 -0
  431. data/_data/calculators/en/everyday-life-calc/gas-vs-electric-dryer.json +0 -0
  432. data/_data/calculators/en/everyday-life-calc/gas.json +0 -0
  433. data/_data/calculators/en/everyday-life-calc/glove-size.json +0 -0
  434. data/_data/calculators/en/everyday-life-calc/hair-growth.json +0 -0
  435. data/_data/calculators/en/everyday-life-calc/half-square-triangle.json +0 -0
  436. data/_data/calculators/en/everyday-life-calc/hammock-hang.json +0 -0
  437. data/_data/calculators/en/everyday-life-calc/hat-size.json +0 -0
  438. data/_data/calculators/en/everyday-life-calc/helium-balloons.json +0 -0
  439. data/_data/calculators/en/everyday-life-calc/hexagon-quilt.json +0 -0
  440. data/_data/calculators/en/everyday-life-calc/horsepower.json +0 -0
  441. data/_data/calculators/en/everyday-life-calc/hours-minutes.json +0 -0
  442. data/_data/calculators/en/everyday-life-calc/hours.json +0 -0
  443. data/_data/calculators/en/everyday-life-calc/how-many-tables.json +0 -0
  444. data/_data/calculators/en/everyday-life-calc/jacket-size.json +0 -0
  445. data/_data/calculators/en/everyday-life-calc/jeans-size.json +0 -0
  446. data/_data/calculators/en/everyday-life-calc/korean-age.json +0 -0
  447. data/_data/calculators/en/everyday-life-calc/lead-time.json +0 -0
  448. data/_data/calculators/en/everyday-life-calc/leap-year.json +0 -0
  449. data/_data/calculators/en/everyday-life-calc/led-savings.json +0 -0
  450. data/_data/calculators/en/everyday-life-calc/lighting.json +0 -0
  451. data/_data/calculators/en/everyday-life-calc/louise-gluck-poetry.json +0 -0
  452. data/_data/calculators/en/everyday-life-calc/lumens-to-watts.json +0 -0
  453. data/_data/calculators/en/everyday-life-calc/meeting-cost.json +0 -0
  454. data/_data/calculators/en/everyday-life-calc/microwave-wattage.json +0 -0
  455. data/_data/calculators/en/everyday-life-calc/minute.json +0 -0
  456. data/_data/calculators/en/everyday-life-calc/money-weight.json +0 -0
  457. data/_data/calculators/en/everyday-life-calc/month-counter.json +0 -0
  458. data/_data/calculators/en/everyday-life-calc/moon-phase.json +0 -0
  459. data/_data/calculators/en/everyday-life-calc/mpg.json +0 -0
  460. data/_data/calculators/en/everyday-life-calc/olga-tokarczuk-books.json +0 -0
  461. data/_data/calculators/en/everyday-life-calc/palindrome-date.json +0 -0
  462. data/_data/calculators/en/everyday-life-calc/paper-thickness.json +0 -0
  463. data/_data/calculators/en/everyday-life-calc/paper-weight.json +0 -0
  464. data/_data/calculators/en/everyday-life-calc/period-products-cost.json +0 -0
  465. data/_data/calculators/en/everyday-life-calc/picture-frame.json +0 -0
  466. data/_data/calculators/en/everyday-life-calc/pleated-skirt.json +0 -0
  467. data/_data/calculators/en/everyday-life-calc/podcasts.json +0 -0
  468. data/_data/calculators/en/everyday-life-calc/pomodoro-technique.json +0 -0
  469. data/_data/calculators/en/everyday-life-calc/pool-salt.json +0 -0
  470. data/_data/calculators/en/everyday-life-calc/quarantine-books.json +0 -0
  471. data/_data/calculators/en/everyday-life-calc/quilt-binding.json +0 -0
  472. data/_data/calculators/en/everyday-life-calc/quilt.json +0 -0
  473. data/_data/calculators/en/everyday-life-calc/quit-smoking.json +0 -0
  474. data/_data/calculators/en/everyday-life-calc/reading-speed.json +0 -0
  475. data/_data/calculators/en/everyday-life-calc/reading-time.json +0 -0
  476. data/_data/calculators/en/everyday-life-calc/reverse-time.json +0 -0
  477. data/_data/calculators/en/everyday-life-calc/ring-size.json +0 -0
  478. data/_data/calculators/en/everyday-life-calc/roll-length.json +0 -0
  479. data/_data/calculators/en/everyday-life-calc/rpm.json +0 -0
  480. data/_data/calculators/en/everyday-life-calc/rug-size.json +0 -0
  481. data/_data/calculators/en/everyday-life-calc/shoe-size-conversion.json +0 -0
  482. data/_data/calculators/en/everyday-life-calc/shoelace-length.json +0 -0
  483. data/_data/calculators/en/everyday-life-calc/shower-cost.json +0 -0
  484. data/_data/calculators/en/everyday-life-calc/silver-lining.json +0 -0
  485. data/_data/calculators/en/everyday-life-calc/social-media-time-alternatives.json +0 -0
  486. data/_data/calculators/en/everyday-life-calc/sock-size.json +0 -0
  487. data/_data/calculators/en/everyday-life-calc/socks-loss-index.json +0 -0
  488. data/_data/calculators/en/everyday-life-calc/speed.json +0 -0
  489. data/_data/calculators/en/everyday-life-calc/speedometer-gear.json +0 -0
  490. data/_data/calculators/en/everyday-life-calc/standing-desk-height.json +0 -0
  491. data/_data/calculators/en/everyday-life-calc/star-wars-marathon.json +0 -0
  492. data/_data/calculators/en/everyday-life-calc/subtract-time.json +0 -0
  493. data/_data/calculators/en/everyday-life-calc/sunglasses.json +0 -0
  494. data/_data/calculators/en/everyday-life-calc/sunscreen-amount.json +0 -0
  495. data/_data/calculators/en/everyday-life-calc/tablecloth-size.json +0 -0
  496. data/_data/calculators/en/everyday-life-calc/tent-size.json +0 -0
  497. data/_data/calculators/en/everyday-life-calc/tesla-charging-cost.json +0 -0
  498. data/_data/calculators/en/everyday-life-calc/tickets.json +0 -0
  499. data/_data/calculators/en/everyday-life-calc/time-card.json +0 -0
  500. data/_data/calculators/en/everyday-life-calc/time-difference.json +0 -0
  501. data/_data/calculators/en/everyday-life-calc/time-duration.json +0 -0
  502. data/_data/calculators/en/everyday-life-calc/time-to-decimal.json +0 -0
  503. data/_data/calculators/en/everyday-life-calc/time.json +0 -0
  504. data/_data/calculators/en/everyday-life-calc/tire-size.json +0 -0
  505. data/_data/calculators/en/everyday-life-calc/toilet-paper.json +0 -0
  506. data/_data/calculators/en/everyday-life-calc/toothpaste.json +0 -0
  507. data/_data/calculators/en/everyday-life-calc/traffic-density.json +0 -0
  508. data/_data/calculators/en/everyday-life-calc/tv-alternatives.json +0 -0
  509. data/_data/calculators/en/everyday-life-calc/tv-series-duration.json +0 -0
  510. data/_data/calculators/en/everyday-life-calc/unit-price.json +0 -0
  511. data/_data/calculators/en/everyday-life-calc/weighted-blanket.json +0 -0
  512. data/_data/calculators/en/everyday-life-calc/well-volume.json +0 -0
  513. data/_data/calculators/en/everyday-life-calc/wheel-offset.json +0 -0
  514. data/_data/calculators/en/everyday-life-calc/winch-size.json +0 -0
  515. data/_data/calculators/en/everyday-life-calc/witcher.json +0 -0
  516. data/_data/calculators/en/everyday-life-calc/wizarding-currency.json +0 -0
  517. data/_data/calculators/en/everyday-life-calc/words-per-minute.json +0 -0
  518. data/_data/calculators/en/finance-calc/10-1-arm.json +0 -0
  519. data/_data/calculators/en/finance-calc/28-36-rule.json +0 -0
  520. data/_data/calculators/en/finance-calc/3d-printer-buy-vs-outsource.json +0 -0
  521. data/_data/calculators/en/finance-calc/401k.json +0 -0
  522. data/_data/calculators/en/finance-calc/403b.json +0 -0
  523. data/_data/calculators/en/finance-calc/50-30-20-rule.json +0 -0
  524. data/_data/calculators/en/finance-calc/529.json +0 -0
  525. data/_data/calculators/en/finance-calc/absence-percentage.json +0 -0
  526. data/_data/calculators/en/finance-calc/accounting-profit.json +0 -0
  527. data/_data/calculators/en/finance-calc/adr.json +0 -0
  528. data/_data/calculators/en/finance-calc/after-tax-cost-of-debt.json +0 -0
  529. data/_data/calculators/en/finance-calc/agi.json +0 -0
  530. data/_data/calculators/en/finance-calc/altman-z-score.json +0 -0
  531. data/_data/calculators/en/finance-calc/american-rescue-plan.json +0 -0
  532. data/_data/calculators/en/finance-calc/amortization.json +0 -0
  533. data/_data/calculators/en/finance-calc/annual-income.json +0 -0
  534. data/_data/calculators/en/finance-calc/annuity-future-value.json +0 -0
  535. data/_data/calculators/en/finance-calc/annuity-payout.json +0 -0
  536. data/_data/calculators/en/finance-calc/annuity-present-value.json +0 -0
  537. data/_data/calculators/en/finance-calc/annuity.json +0 -0
  538. data/_data/calculators/en/finance-calc/apc.json +0 -0
  539. data/_data/calculators/en/finance-calc/appreciation.json +0 -0
  540. data/_data/calculators/en/finance-calc/apr.json +0 -0
  541. data/_data/calculators/en/finance-calc/apy.json +0 -0
  542. data/_data/calculators/en/finance-calc/arm-mortgage.json +0 -0
  543. data/_data/calculators/en/finance-calc/arv.json +0 -0
  544. data/_data/calculators/en/finance-calc/atal-pension-yojana.json +0 -0
  545. data/_data/calculators/en/finance-calc/auto-loan.json +0 -0
  546. data/_data/calculators/en/finance-calc/avc.json +0 -0
  547. data/_data/calculators/en/finance-calc/average-collection.json +0 -0
  548. data/_data/calculators/en/finance-calc/balloon-payment.json +0 -0
  549. data/_data/calculators/en/finance-calc/basis-point.json +0 -0
  550. data/_data/calculators/en/finance-calc/beta-stock.json +0 -0
  551. data/_data/calculators/en/finance-calc/bi-weekly-mortgage-payment.json +0 -0
  552. data/_data/calculators/en/finance-calc/biden-tax-plan.json +0 -0
  553. data/_data/calculators/en/finance-calc/bike-emi.json +0 -0
  554. data/_data/calculators/en/finance-calc/biweekly-mortgage.json +0 -0
  555. data/_data/calculators/en/finance-calc/black-friday.json +0 -0
  556. data/_data/calculators/en/finance-calc/black-scholes.json +0 -0
  557. data/_data/calculators/en/finance-calc/blended-rate.json +0 -0
  558. data/_data/calculators/en/finance-calc/boat-loan.json +0 -0
  559. data/_data/calculators/en/finance-calc/bond-current-yield.json +0 -0
  560. data/_data/calculators/en/finance-calc/bond-equivalent-yield.json +0 -0
  561. data/_data/calculators/en/finance-calc/bond-price.json +0 -0
  562. data/_data/calculators/en/finance-calc/bond-yield.json +0 -0
  563. data/_data/calculators/en/finance-calc/bond-ytm.json +0 -0
  564. data/_data/calculators/en/finance-calc/bounce-rate.json +0 -0
  565. data/_data/calculators/en/finance-calc/break-even.json +0 -0
  566. data/_data/calculators/en/finance-calc/brexit.json +0 -0
  567. data/_data/calculators/en/finance-calc/budget.json +0 -0
  568. data/_data/calculators/en/finance-calc/build-back-better.json +0 -0
  569. data/_data/calculators/en/finance-calc/build-or-buy.json +0 -0
  570. data/_data/calculators/en/finance-calc/business-budget.json +0 -0
  571. data/_data/calculators/en/finance-calc/buying-power.json +0 -0
  572. data/_data/calculators/en/finance-calc/cagr.json +0 -0
  573. data/_data/calculators/en/finance-calc/california-stimulus-check.json +0 -0
  574. data/_data/calculators/en/finance-calc/call-put-option.json +0 -0
  575. data/_data/calculators/en/finance-calc/cap-rate.json +0 -0
  576. data/_data/calculators/en/finance-calc/capital-gains-yield.json +0 -0
  577. data/_data/calculators/en/finance-calc/capm.json +0 -0
  578. data/_data/calculators/en/finance-calc/car-affordability.json +0 -0
  579. data/_data/calculators/en/finance-calc/car-depreciation.json +0 -0
  580. data/_data/calculators/en/finance-calc/car-lease.json +0 -0
  581. data/_data/calculators/en/finance-calc/car-loan-emi.json +0 -0
  582. data/_data/calculators/en/finance-calc/car-refinance.json +0 -0
  583. data/_data/calculators/en/finance-calc/carried-interest.json +0 -0
  584. data/_data/calculators/en/finance-calc/cash-act-2020.json +0 -0
  585. data/_data/calculators/en/finance-calc/cash-conversion-cycle.json +0 -0
  586. data/_data/calculators/en/finance-calc/cash-flow-to-debt.json +0 -0
  587. data/_data/calculators/en/finance-calc/cash-out-refinance.json +0 -0
  588. data/_data/calculators/en/finance-calc/cash-ratio.json +0 -0
  589. data/_data/calculators/en/finance-calc/cd.json +0 -0
  590. data/_data/calculators/en/finance-calc/cell-phone-plan.json +0 -0
  591. data/_data/calculators/en/finance-calc/child-tax-credit.json +0 -0
  592. data/_data/calculators/en/finance-calc/churn-rate.json +0 -0
  593. data/_data/calculators/en/finance-calc/cobb-douglas-production-function.json +0 -0
  594. data/_data/calculators/en/finance-calc/combined-ratio.json +0 -0
  595. data/_data/calculators/en/finance-calc/commercial-lease.json +0 -0
  596. data/_data/calculators/en/finance-calc/commission.json +0 -0
  597. data/_data/calculators/en/finance-calc/comparative-advantage.json +0 -0
  598. data/_data/calculators/en/finance-calc/compound-growth.json +0 -0
  599. data/_data/calculators/en/finance-calc/compound-interest-rate.json +0 -0
  600. data/_data/calculators/en/finance-calc/compound-interest.json +0 -0
  601. data/_data/calculators/en/finance-calc/consumer-surplus.json +0 -0
  602. data/_data/calculators/en/finance-calc/continuous-compound.json +0 -0
  603. data/_data/calculators/en/finance-calc/contribution-margin.json +0 -0
  604. data/_data/calculators/en/finance-calc/cost-of-equity.json +0 -0
  605. data/_data/calculators/en/finance-calc/coupon-payment.json +0 -0
  606. data/_data/calculators/en/finance-calc/coupon-rate.json +0 -0
  607. data/_data/calculators/en/finance-calc/cpc-cpm.json +0 -0
  608. data/_data/calculators/en/finance-calc/cpi-inflation.json +0 -0
  609. data/_data/calculators/en/finance-calc/cpm.json +0 -0
  610. data/_data/calculators/en/finance-calc/credit-card-interest.json +0 -0
  611. data/_data/calculators/en/finance-calc/credit-card-minimum-payment.json +0 -0
  612. data/_data/calculators/en/finance-calc/credit-card-payment.json +0 -0
  613. data/_data/calculators/en/finance-calc/credit-card-payoff.json +0 -0
  614. data/_data/calculators/en/finance-calc/credit-card.json +0 -0
  615. data/_data/calculators/en/finance-calc/credit-spread.json +0 -0
  616. data/_data/calculators/en/finance-calc/credit-utilization.json +0 -0
  617. data/_data/calculators/en/finance-calc/cross-exchange-rate.json +0 -0
  618. data/_data/calculators/en/finance-calc/cross-price-elasticity.json +0 -0
  619. data/_data/calculators/en/finance-calc/ctr.json +0 -0
  620. data/_data/calculators/en/finance-calc/currency-forward.json +0 -0
  621. data/_data/calculators/en/finance-calc/current-ratio.json +0 -0
  622. data/_data/calculators/en/finance-calc/cyber-monday.json +0 -0
  623. data/_data/calculators/en/finance-calc/dart-rate.json +0 -0
  624. data/_data/calculators/en/finance-calc/days-inventory-outstanding.json +0 -0
  625. data/_data/calculators/en/finance-calc/days-payable-outstanding.json +0 -0
  626. data/_data/calculators/en/finance-calc/days-sales-outstanding.json +0 -0
  627. data/_data/calculators/en/finance-calc/dcf.json +0 -0
  628. data/_data/calculators/en/finance-calc/deadweight-loss.json +0 -0
  629. data/_data/calculators/en/finance-calc/debt-avalanche.json +0 -0
  630. data/_data/calculators/en/finance-calc/debt-consolidation.json +0 -0
  631. data/_data/calculators/en/finance-calc/debt-payoff.json +0 -0
  632. data/_data/calculators/en/finance-calc/debt-snowball.json +0 -0
  633. data/_data/calculators/en/finance-calc/debt-to-asset.json +0 -0
  634. data/_data/calculators/en/finance-calc/debt-to-capital.json +0 -0
  635. data/_data/calculators/en/finance-calc/debt-to-equity.json +0 -0
  636. data/_data/calculators/en/finance-calc/debt.json +0 -0
  637. data/_data/calculators/en/finance-calc/defensive-interval-ratio.json +0 -0
  638. data/_data/calculators/en/finance-calc/deferred-annuity.json +0 -0
  639. data/_data/calculators/en/finance-calc/deferred-payment-loan.json +0 -0
  640. data/_data/calculators/en/finance-calc/degree-of-operating-leverage.json +0 -0
  641. data/_data/calculators/en/finance-calc/depreciation.json +0 -0
  642. data/_data/calculators/en/finance-calc/discount.json +0 -0
  643. data/_data/calculators/en/finance-calc/discretionary-income.json +0 -0
  644. data/_data/calculators/en/finance-calc/disposable-income.json +0 -0
  645. data/_data/calculators/en/finance-calc/divdend-discount-model.json +0 -0
  646. data/_data/calculators/en/finance-calc/dividend-payout-ratio.json +0 -0
  647. data/_data/calculators/en/finance-calc/dividend-yield.json +0 -0
  648. data/_data/calculators/en/finance-calc/dividend.json +0 -0
  649. data/_data/calculators/en/finance-calc/double-discount.json +0 -0
  650. data/_data/calculators/en/finance-calc/dream-come-true.json +0 -0
  651. data/_data/calculators/en/finance-calc/dscr.json +0 -0
  652. data/_data/calculators/en/finance-calc/dti.json +0 -0
  653. data/_data/calculators/en/finance-calc/dupont-analysis.json +0 -0
  654. data/_data/calculators/en/finance-calc/ear.json +0 -0
  655. data/_data/calculators/en/finance-calc/early-retirement.json +0 -0
  656. data/_data/calculators/en/finance-calc/earned-value-management.json +0 -0
  657. data/_data/calculators/en/finance-calc/ebit.json +0 -0
  658. data/_data/calculators/en/finance-calc/ebitda-margin.json +0 -0
  659. data/_data/calculators/en/finance-calc/ebitda-multiple.json +0 -0
  660. data/_data/calculators/en/finance-calc/ebitda.json +0 -0
  661. data/_data/calculators/en/finance-calc/economic-injury-disaster-loan.json +0 -0
  662. data/_data/calculators/en/finance-calc/economic-profit.json +0 -0
  663. data/_data/calculators/en/finance-calc/economic-value-added.json +0 -0
  664. data/_data/calculators/en/finance-calc/effective-annual-yield.json +0 -0
  665. data/_data/calculators/en/finance-calc/effective-corporate-tax-rate.json +0 -0
  666. data/_data/calculators/en/finance-calc/effective-interest-rate.json +0 -0
  667. data/_data/calculators/en/finance-calc/elss.json +0 -0
  668. data/_data/calculators/en/finance-calc/emi.json +0 -0
  669. data/_data/calculators/en/finance-calc/emv.json +0 -0
  670. data/_data/calculators/en/finance-calc/ending-inventory.json +0 -0
  671. data/_data/calculators/en/finance-calc/enterprise-value.json +0 -0
  672. data/_data/calculators/en/finance-calc/eoq.json +0 -0
  673. data/_data/calculators/en/finance-calc/epf.json +0 -0
  674. data/_data/calculators/en/finance-calc/eps-growth.json +0 -0
  675. data/_data/calculators/en/finance-calc/eps.json +0 -0
  676. data/_data/calculators/en/finance-calc/equivalent-rate.json +0 -0
  677. data/_data/calculators/en/finance-calc/ev-to-sales.json +0 -0
  678. data/_data/calculators/en/finance-calc/exit-rate.json +0 -0
  679. data/_data/calculators/en/finance-calc/expense-ratio.json +0 -0
  680. data/_data/calculators/en/finance-calc/ffo.json +0 -0
  681. data/_data/calculators/en/finance-calc/fha-loan.json +0 -0
  682. data/_data/calculators/en/finance-calc/fibonacci-retracement.json +0 -0
  683. data/_data/calculators/en/finance-calc/fifo-for-inventories.json +0 -0
  684. data/_data/calculators/en/finance-calc/finance-charge.json +0 -0
  685. data/_data/calculators/en/finance-calc/financial-leverage-ratio.json +0 -0
  686. data/_data/calculators/en/finance-calc/fisher-effect.json +0 -0
  687. data/_data/calculators/en/finance-calc/fisher-equation.json +0 -0
  688. data/_data/calculators/en/finance-calc/fixed-asset-turnover.json +0 -0
  689. data/_data/calculators/en/finance-calc/fixed-deposit.json +0 -0
  690. data/_data/calculators/en/finance-calc/forward-rate.json +0 -0
  691. data/_data/calculators/en/finance-calc/free-cash-flow-to-equity.json +0 -0
  692. data/_data/calculators/en/finance-calc/free-cash-flow-to-firm.json +0 -0
  693. data/_data/calculators/en/finance-calc/free-cash-flow.json +0 -0
  694. data/_data/calculators/en/finance-calc/full-time-equivalent.json +0 -0
  695. data/_data/calculators/en/finance-calc/future-value.json +0 -0
  696. data/_data/calculators/en/finance-calc/futures-contract.json +0 -0
  697. data/_data/calculators/en/finance-calc/gdp-deflator.json +0 -0
  698. data/_data/calculators/en/finance-calc/gdp-gap.json +0 -0
  699. data/_data/calculators/en/finance-calc/gdp-growth.json +0 -0
  700. data/_data/calculators/en/finance-calc/gdp-per-capita.json +0 -0
  701. data/_data/calculators/en/finance-calc/gdp.json +0 -0
  702. data/_data/calculators/en/finance-calc/gold-melt.json +0 -0
  703. data/_data/calculators/en/finance-calc/graham-number.json +0 -0
  704. data/_data/calculators/en/finance-calc/gratuity.json +0 -0
  705. data/_data/calculators/en/finance-calc/gross-rent-multiplier.json +0 -0
  706. data/_data/calculators/en/finance-calc/gross-to-net.json +0 -0
  707. data/_data/calculators/en/finance-calc/growing-annuity.json +0 -0
  708. data/_data/calculators/en/finance-calc/gst.json +0 -0
  709. data/_data/calculators/en/finance-calc/gtin-check-digit.json +0 -0
  710. data/_data/calculators/en/finance-calc/hedge-ratio.json +0 -0
  711. data/_data/calculators/en/finance-calc/heloc.json +0 -0
  712. data/_data/calculators/en/finance-calc/hhi.json +0 -0
  713. data/_data/calculators/en/finance-calc/high-low-method.json +0 -0
  714. data/_data/calculators/en/finance-calc/holding-period-return.json +0 -0
  715. data/_data/calculators/en/finance-calc/home-affordability.json +0 -0
  716. data/_data/calculators/en/finance-calc/home-improvement-loan.json +0 -0
  717. data/_data/calculators/en/finance-calc/home-loan-emi.json +0 -0
  718. data/_data/calculators/en/finance-calc/home-loan.json +0 -0
  719. data/_data/calculators/en/finance-calc/home-mortgage.json +0 -0
  720. data/_data/calculators/en/finance-calc/home-value-us.json +0 -0
  721. data/_data/calculators/en/finance-calc/hourly-to-salary.json +0 -0
  722. data/_data/calculators/en/finance-calc/hra-exemption.json +0 -0
  723. data/_data/calculators/en/finance-calc/immediate-annuity.json +0 -0
  724. data/_data/calculators/en/finance-calc/income-elasticity-demand.json +0 -0
  725. data/_data/calculators/en/finance-calc/income-tax-australia.json +0 -0
  726. data/_data/calculators/en/finance-calc/inflacyjny-kalkulator-wynagrodzenia.json +0 -0
  727. data/_data/calculators/en/finance-calc/inflation.json +0 -0
  728. data/_data/calculators/en/finance-calc/information-ratio.json +0 -0
  729. data/_data/calculators/en/finance-calc/interest-coverage-ratio.json +0 -0
  730. data/_data/calculators/en/finance-calc/interest-only-mortgage.json +0 -0
  731. data/_data/calculators/en/finance-calc/interest-rate.json +0 -0
  732. data/_data/calculators/en/finance-calc/internal-rate-of-return.json +0 -0
  733. data/_data/calculators/en/finance-calc/intrinsic-value.json +0 -0
  734. data/_data/calculators/en/finance-calc/inventory-turnover.json +0 -0
  735. data/_data/calculators/en/finance-calc/investment.json +0 -0
  736. data/_data/calculators/en/finance-calc/ira.json +0 -0
  737. data/_data/calculators/en/finance-calc/jensen-alpha.json +0 -0
  738. data/_data/calculators/en/finance-calc/koszt-miesiaczka-instytucje.json +0 -0
  739. data/_data/calculators/en/finance-calc/labor-cost.json +0 -0
  740. data/_data/calculators/en/finance-calc/labor-force-participation-rate.json +0 -0
  741. data/_data/calculators/en/finance-calc/land-loan-payment.json +0 -0
  742. data/_data/calculators/en/finance-calc/lcr.json +0 -0
  743. data/_data/calculators/en/finance-calc/lease-mileage.json +0 -0
  744. data/_data/calculators/en/finance-calc/lease.json +0 -0
  745. data/_data/calculators/en/finance-calc/lemonade-stand.json +0 -0
  746. data/_data/calculators/en/finance-calc/levered-free-cash-flow.json +0 -0
  747. data/_data/calculators/en/finance-calc/lgd.json +0 -0
  748. data/_data/calculators/en/finance-calc/lifo-for-inventories.json +0 -0
  749. data/_data/calculators/en/finance-calc/loan-balance.json +0 -0
  750. data/_data/calculators/en/finance-calc/loan-comparison.json +0 -0
  751. data/_data/calculators/en/finance-calc/loan-payment.json +0 -0
  752. data/_data/calculators/en/finance-calc/loan-repayment.json +0 -0
  753. data/_data/calculators/en/finance-calc/loan.json +0 -0
  754. data/_data/calculators/en/finance-calc/long-term-care.json +0 -0
  755. data/_data/calculators/en/finance-calc/loss-ratio.json +0 -0
  756. data/_data/calculators/en/finance-calc/lost-wages-assistance.json +0 -0
  757. data/_data/calculators/en/finance-calc/lottery-annuity.json +0 -0
  758. data/_data/calculators/en/finance-calc/lottery-tax.json +0 -0
  759. data/_data/calculators/en/finance-calc/ltv.json +0 -0
  760. data/_data/calculators/en/finance-calc/lumpsum-plus-sip.json +0 -0
  761. data/_data/calculators/en/finance-calc/lumpsum.json +0 -0
  762. data/_data/calculators/en/finance-calc/magi.json +0 -0
  763. data/_data/calculators/en/finance-calc/margin-2-sets.json +0 -0
  764. data/_data/calculators/en/finance-calc/margin-and-vat.json +0 -0
  765. data/_data/calculators/en/finance-calc/margin-call.json +0 -0
  766. data/_data/calculators/en/finance-calc/margin-discount.json +0 -0
  767. data/_data/calculators/en/finance-calc/margin-of-safety.json +0 -0
  768. data/_data/calculators/en/finance-calc/margin-sales-tax.json +0 -0
  769. data/_data/calculators/en/finance-calc/margin.json +0 -0
  770. data/_data/calculators/en/finance-calc/marginal-cost.json +0 -0
  771. data/_data/calculators/en/finance-calc/marginal-revenue.json +0 -0
  772. data/_data/calculators/en/finance-calc/markdown.json +0 -0
  773. data/_data/calculators/en/finance-calc/market-capitalization.json +0 -0
  774. data/_data/calculators/en/finance-calc/markup.json +0 -0
  775. data/_data/calculators/en/finance-calc/maximum-drawdown.json +0 -0
  776. data/_data/calculators/en/finance-calc/mega-millions-payout.json +0 -0
  777. data/_data/calculators/en/finance-calc/mileage-reimbursement.json +0 -0
  778. data/_data/calculators/en/finance-calc/millionaire.json +0 -0
  779. data/_data/calculators/en/finance-calc/modified-irr.json +0 -0
  780. data/_data/calculators/en/finance-calc/money-market-account.json +0 -0
  781. data/_data/calculators/en/finance-calc/money-multiplier.json +0 -0
  782. data/_data/calculators/en/finance-calc/money-supply.json +0 -0
  783. data/_data/calculators/en/finance-calc/moratorium-emi.json +0 -0
  784. data/_data/calculators/en/finance-calc/moratorium.json +0 -0
  785. data/_data/calculators/en/finance-calc/mortgage-acceleration.json +0 -0
  786. data/_data/calculators/en/finance-calc/mortgage-amortization.json +0 -0
  787. data/_data/calculators/en/finance-calc/mortgage-calculator-with-taxes-and-insurance.json +0 -0
  788. data/_data/calculators/en/finance-calc/mortgage-comparison.json +0 -0
  789. data/_data/calculators/en/finance-calc/mortgage-extra-payments.json +0 -0
  790. data/_data/calculators/en/finance-calc/mortgage-payoff.json +0 -0
  791. data/_data/calculators/en/finance-calc/mortgage-penalty.json +0 -0
  792. data/_data/calculators/en/finance-calc/mortgage-points.json +0 -0
  793. data/_data/calculators/en/finance-calc/mortgage-prepayment.json +0 -0
  794. data/_data/calculators/en/finance-calc/mortgage-refinance.json +0 -0
  795. data/_data/calculators/en/finance-calc/mortgage.json +0 -0
  796. data/_data/calculators/en/finance-calc/moving-average.json +0 -0
  797. data/_data/calculators/en/finance-calc/mpc.json +0 -0
  798. data/_data/calculators/en/finance-calc/mps.json +0 -0
  799. data/_data/calculators/en/finance-calc/mutual-fund.json +0 -0
  800. data/_data/calculators/en/finance-calc/national-pension-scheme.json +0 -0
  801. data/_data/calculators/en/finance-calc/net-debt.json +0 -0
  802. data/_data/calculators/en/finance-calc/net-effective-rent.json +0 -0
  803. data/_data/calculators/en/finance-calc/net-income.json +0 -0
  804. data/_data/calculators/en/finance-calc/net-operating-assets.json +0 -0
  805. data/_data/calculators/en/finance-calc/net-operating-income.json +0 -0
  806. data/_data/calculators/en/finance-calc/net-present-value.json +0 -0
  807. data/_data/calculators/en/finance-calc/net-profit-margin.json +0 -0
  808. data/_data/calculators/en/finance-calc/net-to-gross.json +0 -0
  809. data/_data/calculators/en/finance-calc/net-worth.json +0 -0
  810. data/_data/calculators/en/finance-calc/nopat.json +0 -0
  811. data/_data/calculators/en/finance-calc/nsfr.json +0 -0
  812. data/_data/calculators/en/finance-calc/occupancy-rate.json +0 -0
  813. data/_data/calculators/en/finance-calc/okun-law.json +0 -0
  814. data/_data/calculators/en/finance-calc/online-marketing-roi.json +0 -0
  815. data/_data/calculators/en/finance-calc/operating-cash-flow-ratio.json +0 -0
  816. data/_data/calculators/en/finance-calc/operating-cash-flow.json +0 -0
  817. data/_data/calculators/en/finance-calc/operating-margin.json +0 -0
  818. data/_data/calculators/en/finance-calc/opportunity-cost.json +0 -0
  819. data/_data/calculators/en/finance-calc/optimal-hedge-ratio.json +0 -0
  820. data/_data/calculators/en/finance-calc/optimal-price.json +0 -0
  821. data/_data/calculators/en/finance-calc/options-spread.json +0 -0
  822. data/_data/calculators/en/finance-calc/overtime.json +0 -0
  823. data/_data/calculators/en/finance-calc/partially-amortized-loan.json +0 -0
  824. data/_data/calculators/en/finance-calc/pay-raise.json +0 -0
  825. data/_data/calculators/en/finance-calc/payback-period.json +0 -0
  826. data/_data/calculators/en/finance-calc/paycheck-protection-program.json +0 -0
  827. data/_data/calculators/en/finance-calc/payday-loan.json +0 -0
  828. data/_data/calculators/en/finance-calc/paypal-fee.json +0 -0
  829. data/_data/calculators/en/finance-calc/peg-ratio.json +0 -0
  830. data/_data/calculators/en/finance-calc/percent-off.json +0 -0
  831. data/_data/calculators/en/finance-calc/percentage-discount.json +0 -0
  832. data/_data/calculators/en/finance-calc/perpetuity.json +0 -0
  833. data/_data/calculators/en/finance-calc/personal-loan-emi.json +0 -0
  834. data/_data/calculators/en/finance-calc/personal-loan.json +0 -0
  835. data/_data/calculators/en/finance-calc/phillips-curve.json +0 -0
  836. data/_data/calculators/en/finance-calc/piti.json +0 -0
  837. data/_data/calculators/en/finance-calc/pivot-point.json +0 -0
  838. data/_data/calculators/en/finance-calc/pmi.json +0 -0
  839. data/_data/calculators/en/finance-calc/podatek-cukrowy.json +0 -0
  840. data/_data/calculators/en/finance-calc/polski-lad.json +0 -0
  841. data/_data/calculators/en/finance-calc/portfolio-beta.json +0 -0
  842. data/_data/calculators/en/finance-calc/post-judgment-interest.json +0 -0
  843. data/_data/calculators/en/finance-calc/post-office-monthly-income-scheme.json +0 -0
  844. data/_data/calculators/en/finance-calc/powerball.json +0 -0
  845. data/_data/calculators/en/finance-calc/ppf.json +0 -0
  846. data/_data/calculators/en/finance-calc/pre-and-post-money-valuation.json +0 -0
  847. data/_data/calculators/en/finance-calc/present-value.json +0 -0
  848. data/_data/calculators/en/finance-calc/price-elasticity-demand.json +0 -0
  849. data/_data/calculators/en/finance-calc/price-elasticity-supply.json +0 -0
  850. data/_data/calculators/en/finance-calc/price-per-sqft.json +0 -0
  851. data/_data/calculators/en/finance-calc/price-quantity.json +0 -0
  852. data/_data/calculators/en/finance-calc/price-to-book-ratio.json +0 -0
  853. data/_data/calculators/en/finance-calc/price-to-cash-flow-ratio.json +0 -0
  854. data/_data/calculators/en/finance-calc/price-to-earnings.json +0 -0
  855. data/_data/calculators/en/finance-calc/price-to-sales-ratio.json +0 -0
  856. data/_data/calculators/en/finance-calc/productivity.json +0 -0
  857. data/_data/calculators/en/finance-calc/profit.json +0 -0
  858. data/_data/calculators/en/finance-calc/profitability-index.json +0 -0
  859. data/_data/calculators/en/finance-calc/prorated-rent.json +0 -0
  860. data/_data/calculators/en/finance-calc/put-call-parity.json +0 -0
  861. data/_data/calculators/en/finance-calc/pvgo.json +0 -0
  862. data/_data/calculators/en/finance-calc/pvifa.json +0 -0
  863. data/_data/calculators/en/finance-calc/quick-ratio.json +0 -0
  864. data/_data/calculators/en/finance-calc/rate-of-return.json +0 -0
  865. data/_data/calculators/en/finance-calc/rd.json +0 -0
  866. data/_data/calculators/en/finance-calc/real-estate-commission-vat.json +0 -0
  867. data/_data/calculators/en/finance-calc/real-estate-commission.json +0 -0
  868. data/_data/calculators/en/finance-calc/real-gdp.json +0 -0
  869. data/_data/calculators/en/finance-calc/real-interest-rate.json +0 -0
  870. data/_data/calculators/en/finance-calc/real-rate-of-return.json +0 -0
  871. data/_data/calculators/en/finance-calc/receivables-turnover.json +0 -0
  872. data/_data/calculators/en/finance-calc/refinance-break-even.json +0 -0
  873. data/_data/calculators/en/finance-calc/refinance.json +0 -0
  874. data/_data/calculators/en/finance-calc/rent-or-buy.json +0 -0
  875. data/_data/calculators/en/finance-calc/rent.json +0 -0
  876. data/_data/calculators/en/finance-calc/rental-commission.json +0 -0
  877. data/_data/calculators/en/finance-calc/rental-property.json +0 -0
  878. data/_data/calculators/en/finance-calc/residual-income.json +0 -0
  879. data/_data/calculators/en/finance-calc/retained-earnings.json +0 -0
  880. data/_data/calculators/en/finance-calc/retention-ratio.json +0 -0
  881. data/_data/calculators/en/finance-calc/retirement-withdrawal.json +0 -0
  882. data/_data/calculators/en/finance-calc/retirement.json +0 -0
  883. data/_data/calculators/en/finance-calc/return-on-capital-employed.json +0 -0
  884. data/_data/calculators/en/finance-calc/revenue-growth.json +0 -0
  885. data/_data/calculators/en/finance-calc/revenue-per-employee.json +0 -0
  886. data/_data/calculators/en/finance-calc/revenue.json +0 -0
  887. data/_data/calculators/en/finance-calc/rmd.json +0 -0
  888. data/_data/calculators/en/finance-calc/roa.json +0 -0
  889. data/_data/calculators/en/finance-calc/roas.json +0 -0
  890. data/_data/calculators/en/finance-calc/roe.json +0 -0
  891. data/_data/calculators/en/finance-calc/roi.json +0 -0
  892. data/_data/calculators/en/finance-calc/roic.json +0 -0
  893. data/_data/calculators/en/finance-calc/ros.json +0 -0
  894. data/_data/calculators/en/finance-calc/roth-ira.json +0 -0
  895. data/_data/calculators/en/finance-calc/rsi.json +0 -0
  896. data/_data/calculators/en/finance-calc/rule-of-72.json +0 -0
  897. data/_data/calculators/en/finance-calc/rv-loan.json +0 -0
  898. data/_data/calculators/en/finance-calc/saas-ltv.json +0 -0
  899. data/_data/calculators/en/finance-calc/saas-metrics.json +0 -0
  900. data/_data/calculators/en/finance-calc/sabbatical.json +0 -0
  901. data/_data/calculators/en/finance-calc/salary-inflation.json +0 -0
  902. data/_data/calculators/en/finance-calc/salary-to-hourly.json +0 -0
  903. data/_data/calculators/en/finance-calc/salary.json +0 -0
  904. data/_data/calculators/en/finance-calc/sales-commission.json +0 -0
  905. data/_data/calculators/en/finance-calc/sales-tax.json +0 -0
  906. data/_data/calculators/en/finance-calc/sales.json +0 -0
  907. data/_data/calculators/en/finance-calc/savings-goal.json +0 -0
  908. data/_data/calculators/en/finance-calc/savings-interest-rate.json +0 -0
  909. data/_data/calculators/en/finance-calc/savings-plan.json +0 -0
  910. data/_data/calculators/en/finance-calc/savings-withdrawal.json +0 -0
  911. data/_data/calculators/en/finance-calc/savings.json +0 -0
  912. data/_data/calculators/en/finance-calc/scrap-gold.json +0 -0
  913. data/_data/calculators/en/finance-calc/scrap-silver.json +0 -0
  914. data/_data/calculators/en/finance-calc/second-stimulus-check.json +0 -0
  915. data/_data/calculators/en/finance-calc/sell-through-rate.json +0 -0
  916. data/_data/calculators/en/finance-calc/sharpe-ratio.json +0 -0
  917. data/_data/calculators/en/finance-calc/simple-interest.json +0 -0
  918. data/_data/calculators/en/finance-calc/simple-savings.json +0 -0
  919. data/_data/calculators/en/finance-calc/sinking-fund.json +0 -0
  920. data/_data/calculators/en/finance-calc/sip-india.json +0 -0
  921. data/_data/calculators/en/finance-calc/smokers-ctc.json +0 -0
  922. data/_data/calculators/en/finance-calc/software-contract-value.json +0 -0
  923. data/_data/calculators/en/finance-calc/sortino-ratio.json +0 -0
  924. data/_data/calculators/en/finance-calc/spending-multiplier.json +0 -0
  925. data/_data/calculators/en/finance-calc/ssy.json +0 -0
  926. data/_data/calculators/en/finance-calc/stimulus-check-40k-cap.json +0 -0
  927. data/_data/calculators/en/finance-calc/stimulus-check-heals.json +0 -0
  928. data/_data/calculators/en/finance-calc/stimulus-heals-vs-heroes.json +0 -0
  929. data/_data/calculators/en/finance-calc/stimulus-heroes.json +0 -0
  930. data/_data/calculators/en/finance-calc/stimulus-payment.json +0 -0
  931. data/_data/calculators/en/finance-calc/stock-average.json +0 -0
  932. data/_data/calculators/en/finance-calc/stock.json +0 -0
  933. data/_data/calculators/en/finance-calc/student-loan-payment.json +0 -0
  934. data/_data/calculators/en/finance-calc/student-loan-repayment-us.json +0 -0
  935. data/_data/calculators/en/finance-calc/student-loan.json +0 -0
  936. data/_data/calculators/en/finance-calc/sustainable-growth-rate.json +0 -0
  937. data/_data/calculators/en/finance-calc/swp.json +0 -0
  938. data/_data/calculators/en/finance-calc/tax-bracket.json +0 -0
  939. data/_data/calculators/en/finance-calc/taylor-rule.json +0 -0
  940. data/_data/calculators/en/finance-calc/tds-interest.json +0 -0
  941. data/_data/calculators/en/finance-calc/tenure.json +0 -0
  942. data/_data/calculators/en/finance-calc/time-and-a-half.json +0 -0
  943. data/_data/calculators/en/finance-calc/time-value-of-money.json +0 -0
  944. data/_data/calculators/en/finance-calc/total-asset-turnover.json +0 -0
  945. data/_data/calculators/en/finance-calc/treynor-ratio.json +0 -0
  946. data/_data/calculators/en/finance-calc/triple-discount.json +0 -0
  947. data/_data/calculators/en/finance-calc/trir.json +0 -0
  948. data/_data/calculators/en/finance-calc/trump-tax.json +0 -0
  949. data/_data/calculators/en/finance-calc/ttm-trailing-twelve-months.json +0 -0
  950. data/_data/calculators/en/finance-calc/turnover-rate.json +0 -0
  951. data/_data/calculators/en/finance-calc/unemployment-benefit-heals.json +0 -0
  952. data/_data/calculators/en/finance-calc/unemployment-benefit.json +0 -0
  953. data/_data/calculators/en/finance-calc/unemployment-rate.json +0 -0
  954. data/_data/calculators/en/finance-calc/unlevered-beta.json +0 -0
  955. data/_data/calculators/en/finance-calc/unlevered-free-cash-flow.json +0 -0
  956. data/_data/calculators/en/finance-calc/unpaid-work.json +0 -0
  957. data/_data/calculators/en/finance-calc/va-disability.json +0 -0
  958. data/_data/calculators/en/finance-calc/va-loan.json +0 -0
  959. data/_data/calculators/en/finance-calc/variable-annuity.json +0 -0
  960. data/_data/calculators/en/finance-calc/vat.json +0 -0
  961. data/_data/calculators/en/finance-calc/velocity-of-money.json +0 -0
  962. data/_data/calculators/en/finance-calc/wacc.json +0 -0
  963. data/_data/calculators/en/finance-calc/website-ad-revenue.json +0 -0
  964. data/_data/calculators/en/finance-calc/wedding-budget.json +0 -0
  965. data/_data/calculators/en/finance-calc/what-to-offer-on-a-house.json +0 -0
  966. data/_data/calculators/en/finance-calc/working-capital-turnover-ratio.json +0 -0
  967. data/_data/calculators/en/finance-calc/working-capital.json +0 -0
  968. data/_data/calculators/en/finance-calc/yield-to-call.json +0 -0
  969. data/_data/calculators/en/finance-calc/yield-to-maturity.json +0 -0
  970. data/_data/calculators/en/finance-calc/youtube-money.json +0 -0
  971. data/_data/calculators/en/food-calc/alcohol-by-volume.json +0 -0
  972. data/_data/calculators/en/food-calc/alcohol-dilution.json +0 -0
  973. data/_data/calculators/en/food-calc/bbq-grill-size.json +0 -0
  974. data/_data/calculators/en/food-calc/bbq-party.json +0 -0
  975. data/_data/calculators/en/food-calc/beer-pong.json +0 -0
  976. data/_data/calculators/en/food-calc/bread-spreads.json +0 -0
  977. data/_data/calculators/en/food-calc/brine.json +0 -0
  978. data/_data/calculators/en/food-calc/butter.json +0 -0
  979. data/_data/calculators/en/food-calc/cake-pans.json +0 -0
  980. data/_data/calculators/en/food-calc/cake-pricing.json +0 -0
  981. data/_data/calculators/en/food-calc/cake-serving.json +0 -0
  982. data/_data/calculators/en/food-calc/chilled-drink.json +0 -0
  983. data/_data/calculators/en/food-calc/chocolate.json +0 -0
  984. data/_data/calculators/en/food-calc/coffee-footprint.json +0 -0
  985. data/_data/calculators/en/food-calc/coffee-kick.json +0 -0
  986. data/_data/calculators/en/food-calc/coffee-ratio.json +0 -0
  987. data/_data/calculators/en/food-calc/coffee-to-water-ratio.json +0 -0
  988. data/_data/calculators/en/food-calc/coffee.json +0 -0
  989. data/_data/calculators/en/food-calc/cold-brew-ratio.json +0 -0
  990. data/_data/calculators/en/food-calc/cooking-measurement.json +0 -0
  991. data/_data/calculators/en/food-calc/cups-to-pounds.json +0 -0
  992. data/_data/calculators/en/food-calc/donut.json +0 -0
  993. data/_data/calculators/en/food-calc/dry-to-cooked-pasta.json +0 -0
  994. data/_data/calculators/en/food-calc/egg-boiling.json +0 -0
  995. data/_data/calculators/en/food-calc/eggs.json +0 -0
  996. data/_data/calculators/en/food-calc/grams-to-cups.json +0 -0
  997. data/_data/calculators/en/food-calc/grams-to-tbsp.json +0 -0
  998. data/_data/calculators/en/food-calc/grams-to-tsp.json +0 -0
  999. data/_data/calculators/en/food-calc/ham-cooking.json +0 -0
  1000. data/_data/calculators/en/food-calc/how-much-ham-per-person.json +0 -0
  1001. data/_data/calculators/en/food-calc/ice-cream.json +0 -0
  1002. data/_data/calculators/en/food-calc/ml-to-grams.json +0 -0
  1003. data/_data/calculators/en/food-calc/molecular-so2.json +0 -0
  1004. data/_data/calculators/en/food-calc/oil-to-butter.json +0 -0
  1005. data/_data/calculators/en/food-calc/pancake-recipe.json +0 -0
  1006. data/_data/calculators/en/food-calc/party-drink.json +0 -0
  1007. data/_data/calculators/en/food-calc/perfect-pancake.json +0 -0
  1008. data/_data/calculators/en/food-calc/perfect-pizza.json +0 -0
  1009. data/_data/calculators/en/food-calc/pizza-comparison.json +0 -0
  1010. data/_data/calculators/en/food-calc/pizza-party.json +0 -0
  1011. data/_data/calculators/en/food-calc/pizza.json +0 -0
  1012. data/_data/calculators/en/food-calc/popcorn.json +0 -0
  1013. data/_data/calculators/en/food-calc/pounds-to-cups.json +0 -0
  1014. data/_data/calculators/en/food-calc/quarantine-food.json +0 -0
  1015. data/_data/calculators/en/food-calc/rice-water-ratio.json +0 -0
  1016. data/_data/calculators/en/food-calc/salad-calories.json +0 -0
  1017. data/_data/calculators/en/food-calc/sourdough.json +0 -0
  1018. data/_data/calculators/en/food-calc/taco-bar.json +0 -0
  1019. data/_data/calculators/en/food-calc/tea-brewing.json +0 -0
  1020. data/_data/calculators/en/food-calc/thanksgiving-calories.json +0 -0
  1021. data/_data/calculators/en/food-calc/thanksgiving.json +0 -0
  1022. data/_data/calculators/en/food-calc/turkey-cooking-time.json +0 -0
  1023. data/_data/calculators/en/food-calc/turkey-defrost.json +0 -0
  1024. data/_data/calculators/en/food-calc/turkey-size.json +0 -0
  1025. data/_data/calculators/en/food-calc/turkey-thawing.json +0 -0
  1026. data/_data/calculators/en/food-calc/wedding-alcohol.json +0 -0
  1027. data/_data/calculators/en/food-calc/yeast-converter.json +0 -0
  1028. data/_data/calculators/en/health-calc/2020-vision.json +0 -0
  1029. data/_data/calculators/en/health-calc/4ts-score.json +0 -0
  1030. data/_data/calculators/en/health-calc/6-minute-walk-test.json +0 -0
  1031. data/_data/calculators/en/health-calc/a-body-shape-index.json +0 -0
  1032. data/_data/calculators/en/health-calc/aa-gradient.json +0 -0
  1033. data/_data/calculators/en/health-calc/abi.json +0 -0
  1034. data/_data/calculators/en/health-calc/acid-base.json +0 -0
  1035. data/_data/calculators/en/health-calc/acr.json +0 -0
  1036. data/_data/calculators/en/health-calc/adderall-dosage.json +0 -0
  1037. data/_data/calculators/en/health-calc/addiction.json +0 -0
  1038. data/_data/calculators/en/health-calc/adjusted-age.json +0 -0
  1039. data/_data/calculators/en/health-calc/adjusted-weight.json +0 -0
  1040. data/_data/calculators/en/health-calc/adrenal-washout.json +0 -0
  1041. data/_data/calculators/en/health-calc/age-adjusted-d-dimer.json +0 -0
  1042. data/_data/calculators/en/health-calc/ahi.json +0 -0
  1043. data/_data/calculators/en/health-calc/air-force-pt.json +0 -0
  1044. data/_data/calculators/en/health-calc/albumin-globulin-ratio.json +0 -0
  1045. data/_data/calculators/en/health-calc/alcohol-units.json +0 -0
  1046. data/_data/calculators/en/health-calc/aldrete-score.json +0 -0
  1047. data/_data/calculators/en/health-calc/aleve-dosage.json +0 -0
  1048. data/_data/calculators/en/health-calc/alvarado.json +0 -0
  1049. data/_data/calculators/en/health-calc/alzheimers-life-expectancy.json +0 -0
  1050. data/_data/calculators/en/health-calc/amoxicillin-pediatric-dosage.json +0 -0
  1051. data/_data/calculators/en/health-calc/anc-without-bands.json +0 -0
  1052. data/_data/calculators/en/health-calc/anc.json +0 -0
  1053. data/_data/calculators/en/health-calc/anion-gap.json +0 -0
  1054. data/_data/calculators/en/health-calc/aortic-valve-area.json +0 -0
  1055. data/_data/calculators/en/health-calc/apache-ii.json +0 -0
  1056. data/_data/calculators/en/health-calc/apft.json +0 -0
  1057. data/_data/calculators/en/health-calc/apgar-score.json +0 -0
  1058. data/_data/calculators/en/health-calc/apri.json +0 -0
  1059. data/_data/calculators/en/health-calc/army-body-fat.json +0 -0
  1060. data/_data/calculators/en/health-calc/arterial-blood-ph.json +0 -0
  1061. data/_data/calculators/en/health-calc/ast-alt-ratio.json +0 -0
  1062. data/_data/calculators/en/health-calc/audit-c.json +0 -0
  1063. data/_data/calculators/en/health-calc/audit-test.json +0 -0
  1064. data/_data/calculators/en/health-calc/baby-formula.json +0 -0
  1065. data/_data/calculators/en/health-calc/baby-percentile.json +0 -0
  1066. data/_data/calculators/en/health-calc/babys-milk-intake.json +0 -0
  1067. data/_data/calculators/en/health-calc/bac.json +0 -0
  1068. data/_data/calculators/en/health-calc/back-to-normal-life.json +0 -0
  1069. data/_data/calculators/en/health-calc/bai.json +0 -0
  1070. data/_data/calculators/en/health-calc/barthel-index.json +0 -0
  1071. data/_data/calculators/en/health-calc/basdai.json +0 -0
  1072. data/_data/calculators/en/health-calc/bbt.json +0 -0
  1073. data/_data/calculators/en/health-calc/bed.json +0 -0
  1074. data/_data/calculators/en/health-calc/bee.json +0 -0
  1075. data/_data/calculators/en/health-calc/benadryl.json +0 -0
  1076. data/_data/calculators/en/health-calc/benzodiazepine-conversion.json +0 -0
  1077. data/_data/calculators/en/health-calc/bicarbonate-deficit.json +0 -0
  1078. data/_data/calculators/en/health-calc/birth-control-cost.json +0 -0
  1079. data/_data/calculators/en/health-calc/birthweight-percentile.json +0 -0
  1080. data/_data/calculators/en/health-calc/bishop-score.json +0 -0
  1081. data/_data/calculators/en/health-calc/bladder-volume.json +0 -0
  1082. data/_data/calculators/en/health-calc/blood-donation-due-date.json +0 -0
  1083. data/_data/calculators/en/health-calc/blood-donor.json +0 -0
  1084. data/_data/calculators/en/health-calc/blood-loss.json +0 -0
  1085. data/_data/calculators/en/health-calc/blood-pressure.json +0 -0
  1086. data/_data/calculators/en/health-calc/blood-sugar.json +0 -0
  1087. data/_data/calculators/en/health-calc/blood-type.json +0 -0
  1088. data/_data/calculators/en/health-calc/blood-volume.json +0 -0
  1089. data/_data/calculators/en/health-calc/bmi-kids.json +0 -0
  1090. data/_data/calculators/en/health-calc/bmi-men.json +0 -0
  1091. data/_data/calculators/en/health-calc/bmi-percentile-child.json +0 -0
  1092. data/_data/calculators/en/health-calc/bmi-teens.json +0 -0
  1093. data/_data/calculators/en/health-calc/bmi-weight-loss.json +0 -0
  1094. data/_data/calculators/en/health-calc/bmi-women.json +0 -0
  1095. data/_data/calculators/en/health-calc/bmi.json +0 -0
  1096. data/_data/calculators/en/health-calc/bmr-harris-benedict-equation.json +0 -0
  1097. data/_data/calculators/en/health-calc/bmr-katch-mcardle.json +0 -0
  1098. data/_data/calculators/en/health-calc/bmr.json +0 -0
  1099. data/_data/calculators/en/health-calc/bode-index.json +0 -0
  1100. data/_data/calculators/en/health-calc/body-fat.json +0 -0
  1101. data/_data/calculators/en/health-calc/body-frame-size.json +0 -0
  1102. data/_data/calculators/en/health-calc/body-shape.json +0 -0
  1103. data/_data/calculators/en/health-calc/body-water.json +0 -0
  1104. data/_data/calculators/en/health-calc/braden-score.json +0 -0
  1105. data/_data/calculators/en/health-calc/breast-cancer-recurrence-risk.json +0 -0
  1106. data/_data/calculators/en/health-calc/breast-cancer-risk.json +0 -0
  1107. data/_data/calculators/en/health-calc/breastfeeding-calorie.json +0 -0
  1108. data/_data/calculators/en/health-calc/bsa.json +0 -0
  1109. data/_data/calculators/en/health-calc/bun-creatinine-ratio.json +0 -0
  1110. data/_data/calculators/en/health-calc/caffeine.json +0 -0
  1111. data/_data/calculators/en/health-calc/cage-questionnaire.json +0 -0
  1112. data/_data/calculators/en/health-calc/calcolatore-vaccino-italia.json +0 -0
  1113. data/_data/calculators/en/health-calc/calculateur-de-vaccin-belgique.json +0 -0
  1114. data/_data/calculators/en/health-calc/calculateur-queue-vaccin-canada.json +0 -0
  1115. data/_data/calculators/en/health-calc/calculateur-queue-vaccin-suisse.json +0 -0
  1116. data/_data/calculators/en/health-calc/calculator-vaccinwachtrij-belgie.json +0 -0
  1117. data/_data/calculators/en/health-calc/calorie-deficit.json +0 -0
  1118. data/_data/calculators/en/health-calc/calorie.json +0 -0
  1119. data/_data/calculators/en/health-calc/car-heat.json +0 -0
  1120. data/_data/calculators/en/health-calc/carb.json +0 -0
  1121. data/_data/calculators/en/health-calc/carboplatin.json +0 -0
  1122. data/_data/calculators/en/health-calc/cardiac-index.json +0 -0
  1123. data/_data/calculators/en/health-calc/cardiac-output.json +0 -0
  1124. data/_data/calculators/en/health-calc/cci.json +0 -0
  1125. data/_data/calculators/en/health-calc/cdai.json +0 -0
  1126. data/_data/calculators/en/health-calc/centor.json +0 -0
  1127. data/_data/calculators/en/health-calc/cha2ds2-vasc.json +0 -0
  1128. data/_data/calculators/en/health-calc/child-height-percentile.json +0 -0
  1129. data/_data/calculators/en/health-calc/child-pugh.json +0 -0
  1130. data/_data/calculators/en/health-calc/child-weight-percentile.json +0 -0
  1131. data/_data/calculators/en/health-calc/cholesterol-ratio.json +0 -0
  1132. data/_data/calculators/en/health-calc/cholesterol-units.json +0 -0
  1133. data/_data/calculators/en/health-calc/cigarette.json +0 -0
  1134. data/_data/calculators/en/health-calc/ciwa.json +0 -0
  1135. data/_data/calculators/en/health-calc/clomid-ovulation.json +0 -0
  1136. data/_data/calculators/en/health-calc/cola-vacunacion-covid-mexico.json +0 -0
  1137. data/_data/calculators/en/health-calc/conception-date.json +0 -0
  1138. data/_data/calculators/en/health-calc/corrected-calcium.json +0 -0
  1139. data/_data/calculators/en/health-calc/corrected-mg.json +0 -0
  1140. data/_data/calculators/en/health-calc/covid-event-risk.json +0 -0
  1141. data/_data/calculators/en/health-calc/covid-mortality-risk.json +0 -0
  1142. data/_data/calculators/en/health-calc/crc.json +0 -0
  1143. data/_data/calculators/en/health-calc/crcl.json +0 -0
  1144. data/_data/calculators/en/health-calc/crown-rump-length.json +0 -0
  1145. data/_data/calculators/en/health-calc/curb.json +0 -0
  1146. data/_data/calculators/en/health-calc/cvd-risk.json +0 -0
  1147. data/_data/calculators/en/health-calc/dapt.json +0 -0
  1148. data/_data/calculators/en/health-calc/dasi.json +0 -0
  1149. data/_data/calculators/en/health-calc/denver-hiv-risk.json +0 -0
  1150. data/_data/calculators/en/health-calc/depression-phq.json +0 -0
  1151. data/_data/calculators/en/health-calc/diabetic-ketoacidosis.json +0 -0
  1152. data/_data/calculators/en/health-calc/diet-risk-score.json +0 -0
  1153. data/_data/calculators/en/health-calc/diffuse-large-b-cell-lymphoma-prognosis.json +0 -0
  1154. data/_data/calculators/en/health-calc/discriminant-function.json +0 -0
  1155. data/_data/calculators/en/health-calc/dosage.json +0 -0
  1156. data/_data/calculators/en/health-calc/dri.json +0 -0
  1157. data/_data/calculators/en/health-calc/drip-rate.json +0 -0
  1158. data/_data/calculators/en/health-calc/drops-per-minute.json +0 -0
  1159. data/_data/calculators/en/health-calc/drug-half-life.json +0 -0
  1160. data/_data/calculators/en/health-calc/dudit.json +0 -0
  1161. data/_data/calculators/en/health-calc/duke-score.json +0 -0
  1162. data/_data/calculators/en/health-calc/ecg-boxes-seconds.json +0 -0
  1163. data/_data/calculators/en/health-calc/ecg-heart-rate.json +0 -0
  1164. data/_data/calculators/en/health-calc/edd.json +0 -0
  1165. data/_data/calculators/en/health-calc/eer-estimated-energy-requirement.json +0 -0
  1166. data/_data/calculators/en/health-calc/egg-freezing.json +0 -0
  1167. data/_data/calculators/en/health-calc/eortc-bladder-cancer.json +0 -0
  1168. data/_data/calculators/en/health-calc/eosinophil-count.json +0 -0
  1169. data/_data/calculators/en/health-calc/epworth-sleepiness-scale.json +0 -0
  1170. data/_data/calculators/en/health-calc/eroa.json +0 -0
  1171. data/_data/calculators/en/health-calc/estimated-average-glucose.json +0 -0
  1172. data/_data/calculators/en/health-calc/ett-size.json +0 -0
  1173. data/_data/calculators/en/health-calc/face-shape.json +0 -0
  1174. data/_data/calculators/en/health-calc/fagerstrom-test-for-nicotine-dependence.json +0 -0
  1175. data/_data/calculators/en/health-calc/fat.json +0 -0
  1176. data/_data/calculators/en/health-calc/fena.json +0 -0
  1177. data/_data/calculators/en/health-calc/fetal-weight-percentile.json +0 -0
  1178. data/_data/calculators/en/health-calc/feurea.json +0 -0
  1179. data/_data/calculators/en/health-calc/fev1-fvc-ratio.json +0 -0
  1180. data/_data/calculators/en/health-calc/ffmi.json +0 -0
  1181. data/_data/calculators/en/health-calc/fib-4.json +0 -0
  1182. data/_data/calculators/en/health-calc/fiber.json +0 -0
  1183. data/_data/calculators/en/health-calc/fila-portugal.json +0 -0
  1184. data/_data/calculators/en/health-calc/finnegan-nas.json +0 -0
  1185. data/_data/calculators/en/health-calc/fish-oil.json +0 -0
  1186. data/_data/calculators/en/health-calc/flange-size.json +0 -0
  1187. data/_data/calculators/en/health-calc/framingham-risk.json +0 -0
  1188. data/_data/calculators/en/health-calc/free-testosterone.json +0 -0
  1189. data/_data/calculators/en/health-calc/fresh-frozen-plasma-dose.json +0 -0
  1190. data/_data/calculators/en/health-calc/fronty-vakcinu-ceska-republica.json +0 -0
  1191. data/_data/calculators/en/health-calc/fundal-height.json +0 -0
  1192. data/_data/calculators/en/health-calc/gabapentin-dosage.json +0 -0
  1193. data/_data/calculators/en/health-calc/gad-7.json +0 -0
  1194. data/_data/calculators/en/health-calc/gastric-sleeve-weight-loss.json +0 -0
  1195. data/_data/calculators/en/health-calc/gcs.json +0 -0
  1196. data/_data/calculators/en/health-calc/geriatric-bmi.json +0 -0
  1197. data/_data/calculators/en/health-calc/gestational-age.json +0 -0
  1198. data/_data/calculators/en/health-calc/gi.json +0 -0
  1199. data/_data/calculators/en/health-calc/gir.json +0 -0
  1200. data/_data/calculators/en/health-calc/glomerular-filtration-rate.json +0 -0
  1201. data/_data/calculators/en/health-calc/glycemic-load.json +0 -0
  1202. data/_data/calculators/en/health-calc/gout-diagnosis.json +0 -0
  1203. data/_data/calculators/en/health-calc/grace.json +0 -0
  1204. data/_data/calculators/en/health-calc/hand-sanitizer.json +0 -0
  1205. data/_data/calculators/en/health-calc/happiness.json +0 -0
  1206. data/_data/calculators/en/health-calc/has-bled.json +0 -0
  1207. data/_data/calculators/en/health-calc/hcg-levels.json +0 -0
  1208. data/_data/calculators/en/health-calc/hct-hgb.json +0 -0
  1209. data/_data/calculators/en/health-calc/head-percentile.json +0 -0
  1210. data/_data/calculators/en/health-calc/heart-failure-life-expectancy.json +0 -0
  1211. data/_data/calculators/en/health-calc/heart-score.json +0 -0
  1212. data/_data/calculators/en/health-calc/height.json +0 -0
  1213. data/_data/calculators/en/health-calc/hemoglobin-a1c.json +0 -0
  1214. data/_data/calculators/en/health-calc/homa-ir.json +0 -0
  1215. data/_data/calculators/en/health-calc/hsi.json +0 -0
  1216. data/_data/calculators/en/health-calc/hydroxychloroquine-dose.json +0 -0
  1217. data/_data/calculators/en/health-calc/ibuprofen-dosage.json +0 -0
  1218. data/_data/calculators/en/health-calc/ich-volume.json +0 -0
  1219. data/_data/calculators/en/health-calc/ich.json +0 -0
  1220. data/_data/calculators/en/health-calc/ideal-weight.json +0 -0
  1221. data/_data/calculators/en/health-calc/iifym.json +0 -0
  1222. data/_data/calculators/en/health-calc/impfterminrechner-schweiz.json +0 -0
  1223. data/_data/calculators/en/health-calc/impfterminrechner.json +0 -0
  1224. data/_data/calculators/en/health-calc/implantation.json +0 -0
  1225. data/_data/calculators/en/health-calc/incidence-rate.json +0 -0
  1226. data/_data/calculators/en/health-calc/infant-tylenol-dosage.json +0 -0
  1227. data/_data/calculators/en/health-calc/inr.json +0 -0
  1228. data/_data/calculators/en/health-calc/insulin-dosage.json +0 -0
  1229. data/_data/calculators/en/health-calc/iq-percentile.json +0 -0
  1230. data/_data/calculators/en/health-calc/ireland-vaccine-queue.json +0 -0
  1231. data/_data/calculators/en/health-calc/iron-deficiency.json +0 -0
  1232. data/_data/calculators/en/health-calc/isotretinoin.json +0 -0
  1233. data/_data/calculators/en/health-calc/iss.json +0 -0
  1234. data/_data/calculators/en/health-calc/iv-flow-rate.json +0 -0
  1235. data/_data/calculators/en/health-calc/ivf-due-date.json +0 -0
  1236. data/_data/calculators/en/health-calc/ivig-dose.json +0 -0
  1237. data/_data/calculators/en/health-calc/kalkulyator-cherhy-na-vaktsynatsiyu.json +0 -0
  1238. data/_data/calculators/en/health-calc/kalkulyator-ocheredi-na-vaktsinatsiyu.json +0 -0
  1239. data/_data/calculators/en/health-calc/keto.json +0 -0
  1240. data/_data/calculators/en/health-calc/kidney-failure-risk.json +0 -0
  1241. data/_data/calculators/en/health-calc/kolejka-szczepionkowa.json +0 -0
  1242. data/_data/calculators/en/health-calc/kt-v.json +0 -0
  1243. data/_data/calculators/en/health-calc/ldl.json +0 -0
  1244. data/_data/calculators/en/health-calc/lean-body-mass.json +0 -0
  1245. data/_data/calculators/en/health-calc/levothyroxine-dosage.json +0 -0
  1246. data/_data/calculators/en/health-calc/lidocaine-dose.json +0 -0
  1247. data/_data/calculators/en/health-calc/lights-criteria.json +0 -0
  1248. data/_data/calculators/en/health-calc/lille-score.json +0 -0
  1249. data/_data/calculators/en/health-calc/lung-cancer-risk-calculator-for-smokers.json +0 -0
  1250. data/_data/calculators/en/health-calc/lung-capacity.json +0 -0
  1251. data/_data/calculators/en/health-calc/lung-nodule-growth-rate.json +0 -0
  1252. data/_data/calculators/en/health-calc/luteal-phase.json +0 -0
  1253. data/_data/calculators/en/health-calc/lv-mass-index.json +0 -0
  1254. data/_data/calculators/en/health-calc/lymphocyte-count.json +0 -0
  1255. data/_data/calculators/en/health-calc/macro.json +0 -0
  1256. data/_data/calculators/en/health-calc/maintenance-calorie.json +0 -0
  1257. data/_data/calculators/en/health-calc/maintenance-fluids-children.json +0 -0
  1258. data/_data/calculators/en/health-calc/mask-vs-no-mask.json +0 -0
  1259. data/_data/calculators/en/health-calc/mca.json +0 -0
  1260. data/_data/calculators/en/health-calc/mcg-to-iu-converter.json +0 -0
  1261. data/_data/calculators/en/health-calc/meal-calorie.json +0 -0
  1262. data/_data/calculators/en/health-calc/mean-arterial-pressure.json +0 -0
  1263. data/_data/calculators/en/health-calc/mean-sac-diameter.json +0 -0
  1264. data/_data/calculators/en/health-calc/medical-radiation.json +0 -0
  1265. data/_data/calculators/en/health-calc/melatonin-dosage.json +0 -0
  1266. data/_data/calculators/en/health-calc/meld.json +0 -0
  1267. data/_data/calculators/en/health-calc/mentzer-index.json +0 -0
  1268. data/_data/calculators/en/health-calc/metastatic-prostate-cancer-prognosis.json +0 -0
  1269. data/_data/calculators/en/health-calc/mews-score.json +0 -0
  1270. data/_data/calculators/en/health-calc/mica.json +0 -0
  1271. data/_data/calculators/en/health-calc/micronutrient.json +0 -0
  1272. data/_data/calculators/en/health-calc/mipi.json +0 -0
  1273. data/_data/calculators/en/health-calc/mme.json +0 -0
  1274. data/_data/calculators/en/health-calc/mortality-rate.json +0 -0
  1275. data/_data/calculators/en/health-calc/nafld-fibrosis-score.json +0 -0
  1276. data/_data/calculators/en/health-calc/navy-body-fat.json +0 -0
  1277. data/_data/calculators/en/health-calc/net-carbs.json +0 -0
  1278. data/_data/calculators/en/health-calc/newborn-hyperbilirubinemia-assessment.json +0 -0
  1279. data/_data/calculators/en/health-calc/nih-stroke.json +0 -0
  1280. data/_data/calculators/en/health-calc/nnt.json +0 -0
  1281. data/_data/calculators/en/health-calc/noise-pollution.json +0 -0
  1282. data/_data/calculators/en/health-calc/nuchal-translucency.json +0 -0
  1283. data/_data/calculators/en/health-calc/oltasi-sorrend-magyarorszag.json +0 -0
  1284. data/_data/calculators/en/health-calc/opioid.json +0 -0
  1285. data/_data/calculators/en/health-calc/ovulation.json +0 -0
  1286. data/_data/calculators/en/health-calc/oxygenation-index.json +0 -0
  1287. data/_data/calculators/en/health-calc/pack-years.json +0 -0
  1288. data/_data/calculators/en/health-calc/padua-score.json +0 -0
  1289. data/_data/calculators/en/health-calc/pao2-fio2-ratio.json +0 -0
  1290. data/_data/calculators/en/health-calc/paracetamol-dosage.json +0 -0
  1291. data/_data/calculators/en/health-calc/parkland-formula.json +0 -0
  1292. data/_data/calculators/en/health-calc/peak-flow.json +0 -0
  1293. data/_data/calculators/en/health-calc/pearl-index.json +0 -0
  1294. data/_data/calculators/en/health-calc/pecarn.json +0 -0
  1295. data/_data/calculators/en/health-calc/pediatric-blood-pressure.json +0 -0
  1296. data/_data/calculators/en/health-calc/pediatric-blood-volume.json +0 -0
  1297. data/_data/calculators/en/health-calc/pediatric-dose.json +0 -0
  1298. data/_data/calculators/en/health-calc/pediatric-epinephrine-dose.json +0 -0
  1299. data/_data/calculators/en/health-calc/pediatric-epworth-sleepiness-scale.json +0 -0
  1300. data/_data/calculators/en/health-calc/pediatric-glomerular-filtration-rate.json +0 -0
  1301. data/_data/calculators/en/health-calc/pediatric-transfusion.json +0 -0
  1302. data/_data/calculators/en/health-calc/perc.json +0 -0
  1303. data/_data/calculators/en/health-calc/period.json +0 -0
  1304. data/_data/calculators/en/health-calc/pg-e2-ratio.json +0 -0
  1305. data/_data/calculators/en/health-calc/pisa.json +0 -0
  1306. data/_data/calculators/en/health-calc/plasma-volume.json +0 -0
  1307. data/_data/calculators/en/health-calc/pokemon-go.json +0 -0
  1308. data/_data/calculators/en/health-calc/ponderal-index.json +0 -0
  1309. data/_data/calculators/en/health-calc/pregnancy-due-date.json +0 -0
  1310. data/_data/calculators/en/health-calc/pregnancy-test.json +0 -0
  1311. data/_data/calculators/en/health-calc/pregnancy-weight-gain.json +0 -0
  1312. data/_data/calculators/en/health-calc/protein-cr-ratio.json +0 -0
  1313. data/_data/calculators/en/health-calc/protein.json +0 -0
  1314. data/_data/calculators/en/health-calc/psa-density.json +0 -0
  1315. data/_data/calculators/en/health-calc/psa-doubling-time.json +0 -0
  1316. data/_data/calculators/en/health-calc/psi.json +0 -0
  1317. data/_data/calculators/en/health-calc/pvr.json +0 -0
  1318. data/_data/calculators/en/health-calc/q-sofa.json +0 -0
  1319. data/_data/calculators/en/health-calc/qp-qs-ratio.json +0 -0
  1320. data/_data/calculators/en/health-calc/qtc.json +0 -0
  1321. data/_data/calculators/en/health-calc/quarantine-activity.json +0 -0
  1322. data/_data/calculators/en/health-calc/queue-pour-vaccin-france.json +0 -0
  1323. data/_data/calculators/en/health-calc/quicki.json +0 -0
  1324. data/_data/calculators/en/health-calc/radu-vakcinu-slovensku-republiku.json +0 -0
  1325. data/_data/calculators/en/health-calc/rbc-indices.json +0 -0
  1326. data/_data/calculators/en/health-calc/rcri.json +0 -0
  1327. data/_data/calculators/en/health-calc/relative-fat-mass.json +0 -0
  1328. data/_data/calculators/en/health-calc/reticulocyte-count.json +0 -0
  1329. data/_data/calculators/en/health-calc/reverse-due-date.json +0 -0
  1330. data/_data/calculators/en/health-calc/revised-geneva-score.json +0 -0
  1331. data/_data/calculators/en/health-calc/revised-trauma-score.json +0 -0
  1332. data/_data/calculators/en/health-calc/risk-dm.json +0 -0
  1333. data/_data/calculators/en/health-calc/rmr.json +0 -0
  1334. data/_data/calculators/en/health-calc/rsbi.json +0 -0
  1335. data/_data/calculators/en/health-calc/saag.json +0 -0
  1336. data/_data/calculators/en/health-calc/saps-ii.json +0 -0
  1337. data/_data/calculators/en/health-calc/scorad.json +0 -0
  1338. data/_data/calculators/en/health-calc/sepsis.json +0 -0
  1339. data/_data/calculators/en/health-calc/serum-osmolality.json +0 -0
  1340. data/_data/calculators/en/health-calc/shock-index.json +0 -0
  1341. data/_data/calculators/en/health-calc/simple-calorie-intake.json +0 -0
  1342. data/_data/calculators/en/health-calc/sleep.json +0 -0
  1343. data/_data/calculators/en/health-calc/smoking-recovery.json +0 -0
  1344. data/_data/calculators/en/health-calc/snap-score.json +0 -0
  1345. data/_data/calculators/en/health-calc/sobriety.json +0 -0
  1346. data/_data/calculators/en/health-calc/social-distancing.json +0 -0
  1347. data/_data/calculators/en/health-calc/sodium-change.json +0 -0
  1348. data/_data/calculators/en/health-calc/sodium-correction-rate.json +0 -0
  1349. data/_data/calculators/en/health-calc/sodium-correction.json +0 -0
  1350. data/_data/calculators/en/health-calc/sodium-deficit.json +0 -0
  1351. data/_data/calculators/en/health-calc/sofa-score.json +0 -0
  1352. data/_data/calculators/en/health-calc/sperm-analysis.json +0 -0
  1353. data/_data/calculators/en/health-calc/standard-drink.json +0 -0
  1354. data/_data/calculators/en/health-calc/steroid.json +0 -0
  1355. data/_data/calculators/en/health-calc/stillbirth-risk.json +0 -0
  1356. data/_data/calculators/en/health-calc/stop-bang.json +0 -0
  1357. data/_data/calculators/en/health-calc/stroke-volume.json +0 -0
  1358. data/_data/calculators/en/health-calc/sugar-intake.json +0 -0
  1359. data/_data/calculators/en/health-calc/swiss-cheese-coronavirus.json +0 -0
  1360. data/_data/calculators/en/health-calc/t-e2-ratio.json +0 -0
  1361. data/_data/calculators/en/health-calc/tdee.json +0 -0
  1362. data/_data/calculators/en/health-calc/tidal-volume.json +0 -0
  1363. data/_data/calculators/en/health-calc/time-of-death.json +0 -0
  1364. data/_data/calculators/en/health-calc/timi-stemi.json +0 -0
  1365. data/_data/calculators/en/health-calc/timi-ua-nstemi.json +0 -0
  1366. data/_data/calculators/en/health-calc/tinetti.json +0 -0
  1367. data/_data/calculators/en/health-calc/tirads.json +0 -0
  1368. data/_data/calculators/en/health-calc/tpa.json +0 -0
  1369. data/_data/calculators/en/health-calc/tramadol-dosage.json +0 -0
  1370. data/_data/calculators/en/health-calc/transferrin.json +0 -0
  1371. data/_data/calculators/en/health-calc/ttkg.json +0 -0
  1372. data/_data/calculators/en/health-calc/turkiye-asilar.json +0 -0
  1373. data/_data/calculators/en/health-calc/turno-vacunacion-covid-argentina.json +0 -0
  1374. data/_data/calculators/en/health-calc/turno-vacunacion-covid-chile.json +0 -0
  1375. data/_data/calculators/en/health-calc/turno-vacunacion-covid-colombia.json +0 -0
  1376. data/_data/calculators/en/health-calc/turno-vacunacion-covid-ecuador.json +0 -0
  1377. data/_data/calculators/en/health-calc/turno-vacunacion-covid-espana.json +0 -0
  1378. data/_data/calculators/en/health-calc/turno-vacunacion-covid-peru.json +0 -0
  1379. data/_data/calculators/en/health-calc/turno-vacunacion-covid-republica-dominicana.json +0 -0
  1380. data/_data/calculators/en/health-calc/twinning.json +0 -0
  1381. data/_data/calculators/en/health-calc/tylenol-dosage.json +0 -0
  1382. data/_data/calculators/en/health-calc/tylenol-overdose.json +0 -0
  1383. data/_data/calculators/en/health-calc/urine-anion-gap.json +0 -0
  1384. data/_data/calculators/en/health-calc/urine-output.json +0 -0
  1385. data/_data/calculators/en/health-calc/urr.json +0 -0
  1386. data/_data/calculators/en/health-calc/us-vaccine-strategy.json +0 -0
  1387. data/_data/calculators/en/health-calc/vaccine-efficacy.json +0 -0
  1388. data/_data/calculators/en/health-calc/vaccine-immunity.json +0 -0
  1389. data/_data/calculators/en/health-calc/vaccine-production.json +0 -0
  1390. data/_data/calculators/en/health-calc/vaccine-queue-australia.json +0 -0
  1391. data/_data/calculators/en/health-calc/vaccine-queue-ca.json +0 -0
  1392. data/_data/calculators/en/health-calc/vaccine-queue-england.json +0 -0
  1393. data/_data/calculators/en/health-calc/vaccine-queue-india.json +0 -0
  1394. data/_data/calculators/en/health-calc/vaccine-queue-malaysia.json +0 -0
  1395. data/_data/calculators/en/health-calc/vaccine-queue-netherlands.json +0 -0
  1396. data/_data/calculators/en/health-calc/vaccine-queue-northern-ireland.json +0 -0
  1397. data/_data/calculators/en/health-calc/vaccine-queue-philippines.json +0 -0
  1398. data/_data/calculators/en/health-calc/vaccine-queue-sa.json +0 -0
  1399. data/_data/calculators/en/health-calc/vaccine-queue-scotland.json +0 -0
  1400. data/_data/calculators/en/health-calc/vaccine-queue-uk.json +0 -0
  1401. data/_data/calculators/en/health-calc/vaccine-queue-wales.json +0 -0
  1402. data/_data/calculators/en/health-calc/vbac-risk-score.json +0 -0
  1403. data/_data/calculators/en/health-calc/venous-blood-ph.json +0 -0
  1404. data/_data/calculators/en/health-calc/viral-infection-sir.json +0 -0
  1405. data/_data/calculators/en/health-calc/vital-capacity.json +0 -0
  1406. data/_data/calculators/en/health-calc/vitamin-a.json +0 -0
  1407. data/_data/calculators/en/health-calc/vitamin-d.json +0 -0
  1408. data/_data/calculators/en/health-calc/vitamin.json +0 -0
  1409. data/_data/calculators/en/health-calc/vldl.json +0 -0
  1410. data/_data/calculators/en/health-calc/vte-risk-pregnancy.json +0 -0
  1411. data/_data/calculators/en/health-calc/waist-height-ratio.json +0 -0
  1412. data/_data/calculators/en/health-calc/waist-hip-ratio.json +0 -0
  1413. data/_data/calculators/en/health-calc/warfarin-dosing.json +0 -0
  1414. data/_data/calculators/en/health-calc/water-deficit.json +0 -0
  1415. data/_data/calculators/en/health-calc/water-intake.json +0 -0
  1416. data/_data/calculators/en/health-calc/weight-gain.json +0 -0
  1417. data/_data/calculators/en/health-calc/weight-watchers-points.json +0 -0
  1418. data/_data/calculators/en/health-calc/wells-pe.json +0 -0
  1419. data/_data/calculators/en/health-calc/winters-formula.json +0 -0
  1420. data/_data/calculators/en/health-calc/world-cup-calorie.json +0 -0
  1421. data/_data/calculators/en/math-calc/3d-distance.json +0 -0
  1422. data/_data/calculators/en/math-calc/absolute-value-equation.json +0 -0
  1423. data/_data/calculators/en/math-calc/absolute-value-inequalities.json +0 -0
  1424. data/_data/calculators/en/math-calc/absolute-value.json +0 -0
  1425. data/_data/calculators/en/math-calc/add-subtract-polynomials.json +0 -0
  1426. data/_data/calculators/en/math-calc/adding-fractions.json +0 -0
  1427. data/_data/calculators/en/math-calc/addition.json +0 -0
  1428. data/_data/calculators/en/math-calc/adjoint-matrix.json +0 -0
  1429. data/_data/calculators/en/math-calc/angle-between-two-vectors.json +0 -0
  1430. data/_data/calculators/en/math-calc/antilog.json +0 -0
  1431. data/_data/calculators/en/math-calc/arc-length.json +0 -0
  1432. data/_data/calculators/en/math-calc/arccos.json +0 -0
  1433. data/_data/calculators/en/math-calc/arcsin.json +0 -0
  1434. data/_data/calculators/en/math-calc/arctan.json +0 -0
  1435. data/_data/calculators/en/math-calc/area-of-a-circle.json +0 -0
  1436. data/_data/calculators/en/math-calc/area-of-hemisphere.json +0 -0
  1437. data/_data/calculators/en/math-calc/area.json +0 -0
  1438. data/_data/calculators/en/math-calc/arithmetic-sequence.json +0 -0
  1439. data/_data/calculators/en/math-calc/associative-property.json +0 -0
  1440. data/_data/calculators/en/math-calc/average-percentage.json +0 -0
  1441. data/_data/calculators/en/math-calc/average-rate-of-change.json +0 -0
  1442. data/_data/calculators/en/math-calc/average.json +0 -0
  1443. data/_data/calculators/en/math-calc/babylonian-numbers.json +0 -0
  1444. data/_data/calculators/en/math-calc/bessel-function.json +0 -0
  1445. data/_data/calculators/en/math-calc/bilinear-interpolation.json +0 -0
  1446. data/_data/calculators/en/math-calc/binary-addition.json +0 -0
  1447. data/_data/calculators/en/math-calc/binary-division.json +0 -0
  1448. data/_data/calculators/en/math-calc/binary-fraction.json +0 -0
  1449. data/_data/calculators/en/math-calc/binary-multiplication.json +0 -0
  1450. data/_data/calculators/en/math-calc/binary-operations.json +0 -0
  1451. data/_data/calculators/en/math-calc/binary-subtraction.json +0 -0
  1452. data/_data/calculators/en/math-calc/binomial-coefficient.json +0 -0
  1453. data/_data/calculators/en/math-calc/bit-shift.json +0 -0
  1454. data/_data/calculators/en/math-calc/bitwise.json +0 -0
  1455. data/_data/calculators/en/math-calc/cartesian-to-polar.json +0 -0
  1456. data/_data/calculators/en/math-calc/catenary-curve.json +0 -0
  1457. data/_data/calculators/en/math-calc/ceiling-function.json +0 -0
  1458. data/_data/calculators/en/math-calc/center-of-mass.json +0 -0
  1459. data/_data/calculators/en/math-calc/central-angle.json +0 -0
  1460. data/_data/calculators/en/math-calc/centroid.json +0 -0
  1461. data/_data/calculators/en/math-calc/change-of-base.json +0 -0
  1462. data/_data/calculators/en/math-calc/characteristic-polynomial.json +0 -0
  1463. data/_data/calculators/en/math-calc/chinese-remainder.json +0 -0
  1464. data/_data/calculators/en/math-calc/cholesky-decomposition.json +0 -0
  1465. data/_data/calculators/en/math-calc/circle-equation.json +0 -0
  1466. data/_data/calculators/en/math-calc/circle.json +0 -0
  1467. data/_data/calculators/en/math-calc/circumference.json +0 -0
  1468. data/_data/calculators/en/math-calc/classifying-triangles.json +0 -0
  1469. data/_data/calculators/en/math-calc/clock-angle.json +0 -0
  1470. data/_data/calculators/en/math-calc/cofactor-expansion.json +0 -0
  1471. data/_data/calculators/en/math-calc/cofactor-matrix.json +0 -0
  1472. data/_data/calculators/en/math-calc/cofunction.json +0 -0
  1473. data/_data/calculators/en/math-calc/collatz-conjecture.json +0 -0
  1474. data/_data/calculators/en/math-calc/column-space.json +0 -0
  1475. data/_data/calculators/en/math-calc/comparing-fractions.json +0 -0
  1476. data/_data/calculators/en/math-calc/complementary-angles.json +0 -0
  1477. data/_data/calculators/en/math-calc/completing-the-square.json +0 -0
  1478. data/_data/calculators/en/math-calc/complex-number.json +0 -0
  1479. data/_data/calculators/en/math-calc/complex-root.json +0 -0
  1480. data/_data/calculators/en/math-calc/condense-logarithms.json +0 -0
  1481. data/_data/calculators/en/math-calc/condition-number.json +0 -0
  1482. data/_data/calculators/en/math-calc/conjugate.json +0 -0
  1483. data/_data/calculators/en/math-calc/consecutive-integers.json +0 -0
  1484. data/_data/calculators/en/math-calc/convert-fraction-to-percentage.json +0 -0
  1485. data/_data/calculators/en/math-calc/corner-point.json +0 -0
  1486. data/_data/calculators/en/math-calc/cos.json +0 -0
  1487. data/_data/calculators/en/math-calc/cot.json +0 -0
  1488. data/_data/calculators/en/math-calc/coterminal-angle.json +0 -0
  1489. data/_data/calculators/en/math-calc/cramers-rule.json +0 -0
  1490. data/_data/calculators/en/math-calc/crescent-area.json +0 -0
  1491. data/_data/calculators/en/math-calc/cross-multiplication.json +0 -0
  1492. data/_data/calculators/en/math-calc/cross-product.json +0 -0
  1493. data/_data/calculators/en/math-calc/cross-sectional-area.json +0 -0
  1494. data/_data/calculators/en/math-calc/csc.json +0 -0
  1495. data/_data/calculators/en/math-calc/cube-root.json +0 -0
  1496. data/_data/calculators/en/math-calc/cube-v-a-d.json +0 -0
  1497. data/_data/calculators/en/math-calc/cube.json +0 -0
  1498. data/_data/calculators/en/math-calc/cubic-equation.json +0 -0
  1499. data/_data/calculators/en/math-calc/cycloid.json +0 -0
  1500. data/_data/calculators/en/math-calc/cyclomatic-complexity.json +0 -0
  1501. data/_data/calculators/en/math-calc/cylindrical-coordinates.json +0 -0
  1502. data/_data/calculators/en/math-calc/decimal-to-fraction.json +0 -0
  1503. data/_data/calculators/en/math-calc/decimal-to-percent.json +0 -0
  1504. data/_data/calculators/en/math-calc/decimal.json +0 -0
  1505. data/_data/calculators/en/math-calc/descartes-rule-of-signs.json +0 -0
  1506. data/_data/calculators/en/math-calc/determinant.json +0 -0
  1507. data/_data/calculators/en/math-calc/diagonalize-matrix.json +0 -0
  1508. data/_data/calculators/en/math-calc/diamond-problem.json +0 -0
  1509. data/_data/calculators/en/math-calc/digital-root.json +0 -0
  1510. data/_data/calculators/en/math-calc/discriminant.json +0 -0
  1511. data/_data/calculators/en/math-calc/distance.json +0 -0
  1512. data/_data/calculators/en/math-calc/distributive-property.json +0 -0
  1513. data/_data/calculators/en/math-calc/divide-fractions.json +0 -0
  1514. data/_data/calculators/en/math-calc/dividing-exponents.json +0 -0
  1515. data/_data/calculators/en/math-calc/dividing-radicals.json +0 -0
  1516. data/_data/calculators/en/math-calc/divisibility-test.json +0 -0
  1517. data/_data/calculators/en/math-calc/dot-product.json +0 -0
  1518. data/_data/calculators/en/math-calc/double-angle-formula.json +0 -0
  1519. data/_data/calculators/en/math-calc/doubling-time.json +0 -0
  1520. data/_data/calculators/en/math-calc/e-power-x.json +0 -0
  1521. data/_data/calculators/en/math-calc/egyptian-fraction.json +0 -0
  1522. data/_data/calculators/en/math-calc/eigenvalue-eigenvector.json +0 -0
  1523. data/_data/calculators/en/math-calc/elimination-method.json +0 -0
  1524. data/_data/calculators/en/math-calc/ellipse.json +0 -0
  1525. data/_data/calculators/en/math-calc/ellipsoid-volume.json +0 -0
  1526. data/_data/calculators/en/math-calc/endpoint.json +0 -0
  1527. data/_data/calculators/en/math-calc/equilateral-triangle.json +0 -0
  1528. data/_data/calculators/en/math-calc/equivalent-fractions.json +0 -0
  1529. data/_data/calculators/en/math-calc/error-function.json +0 -0
  1530. data/_data/calculators/en/math-calc/expanded-form.json +0 -0
  1531. data/_data/calculators/en/math-calc/expanding-logarithms.json +0 -0
  1532. data/_data/calculators/en/math-calc/exponent.json +0 -0
  1533. data/_data/calculators/en/math-calc/exponential-growth.json +0 -0
  1534. data/_data/calculators/en/math-calc/factor.json +0 -0
  1535. data/_data/calculators/en/math-calc/factorial.json +0 -0
  1536. data/_data/calculators/en/math-calc/factoring-trinomials.json +0 -0
  1537. data/_data/calculators/en/math-calc/fibonacci.json +0 -0
  1538. data/_data/calculators/en/math-calc/floor-function.json +0 -0
  1539. data/_data/calculators/en/math-calc/foil.json +0 -0
  1540. data/_data/calculators/en/math-calc/fraction-to-decimal.json +0 -0
  1541. data/_data/calculators/en/math-calc/fraction.json +0 -0
  1542. data/_data/calculators/en/math-calc/fractional-exponent.json +0 -0
  1543. data/_data/calculators/en/math-calc/fundamental-counting-principle.json +0 -0
  1544. data/_data/calculators/en/math-calc/gamma-function.json +0 -0
  1545. data/_data/calculators/en/math-calc/gcf-and-lcm.json +0 -0
  1546. data/_data/calculators/en/math-calc/gcf.json +0 -0
  1547. data/_data/calculators/en/math-calc/geometric-mean.json +0 -0
  1548. data/_data/calculators/en/math-calc/geometric-sequence.json +0 -0
  1549. data/_data/calculators/en/math-calc/golden-ratio.json +0 -0
  1550. data/_data/calculators/en/math-calc/golden-rectangle.json +0 -0
  1551. data/_data/calculators/en/math-calc/gradient.json +0 -0
  1552. data/_data/calculators/en/math-calc/gram-schmidt.json +0 -0
  1553. data/_data/calculators/en/math-calc/graphing-inequalities-1d.json +0 -0
  1554. data/_data/calculators/en/math-calc/graphing-quadratic-inequalities.json +0 -0
  1555. data/_data/calculators/en/math-calc/half-angle.json +0 -0
  1556. data/_data/calculators/en/math-calc/harmonic-mean.json +0 -0
  1557. data/_data/calculators/en/math-calc/harmonic-number.json +0 -0
  1558. data/_data/calculators/en/math-calc/herons-formula.json +0 -0
  1559. data/_data/calculators/en/math-calc/hexagon.json +0 -0
  1560. data/_data/calculators/en/math-calc/hyperbolic-functions.json +0 -0
  1561. data/_data/calculators/en/math-calc/hypotenuse.json +0 -0
  1562. data/_data/calculators/en/math-calc/improper-fraction-to-mixed-number.json +0 -0
  1563. data/_data/calculators/en/math-calc/inequality-to-interval-notation.json +0 -0
  1564. data/_data/calculators/en/math-calc/integer.json +0 -0
  1565. data/_data/calculators/en/math-calc/inverse-modulo.json +0 -0
  1566. data/_data/calculators/en/math-calc/involute-function.json +0 -0
  1567. data/_data/calculators/en/math-calc/irregular-polygon-area.json +0 -0
  1568. data/_data/calculators/en/math-calc/isosceles-triangle.json +0 -0
  1569. data/_data/calculators/en/math-calc/latus-rectum.json +0 -0
  1570. data/_data/calculators/en/math-calc/law-of-cosines.json +0 -0
  1571. data/_data/calculators/en/math-calc/law-of-sines.json +0 -0
  1572. data/_data/calculators/en/math-calc/lcd.json +0 -0
  1573. data/_data/calculators/en/math-calc/lcm.json +0 -0
  1574. data/_data/calculators/en/math-calc/least-squares-regression.json +0 -0
  1575. data/_data/calculators/en/math-calc/linear-combination.json +0 -0
  1576. data/_data/calculators/en/math-calc/linear-feedback-shift-register.json +0 -0
  1577. data/_data/calculators/en/math-calc/linear-independence.json +0 -0
  1578. data/_data/calculators/en/math-calc/linear-interpolation.json +0 -0
  1579. data/_data/calculators/en/math-calc/log-2.json +0 -0
  1580. data/_data/calculators/en/math-calc/log.json +0 -0
  1581. data/_data/calculators/en/math-calc/long-addition.json +0 -0
  1582. data/_data/calculators/en/math-calc/long-division.json +0 -0
  1583. data/_data/calculators/en/math-calc/long-multiplication.json +0 -0
  1584. data/_data/calculators/en/math-calc/long-subtraction.json +0 -0
  1585. data/_data/calculators/en/math-calc/lu-decomposition.json +0 -0
  1586. data/_data/calculators/en/math-calc/luhn.json +0 -0
  1587. data/_data/calculators/en/math-calc/magic-square.json +0 -0
  1588. data/_data/calculators/en/math-calc/manhattan-distance.json +0 -0
  1589. data/_data/calculators/en/math-calc/matrix-addition.json +0 -0
  1590. data/_data/calculators/en/math-calc/matrix-inverse.json +0 -0
  1591. data/_data/calculators/en/math-calc/matrix-multiplication.json +0 -0
  1592. data/_data/calculators/en/math-calc/matrix-norm.json +0 -0
  1593. data/_data/calculators/en/math-calc/matrix-power.json +0 -0
  1594. data/_data/calculators/en/math-calc/matrix-rank.json +0 -0
  1595. data/_data/calculators/en/math-calc/matrix-transpose.json +0 -0
  1596. data/_data/calculators/en/math-calc/mayan-numeral.json +0 -0
  1597. data/_data/calculators/en/math-calc/mean.json +0 -0
  1598. data/_data/calculators/en/math-calc/midpoint.json +0 -0
  1599. data/_data/calculators/en/math-calc/mixed-number-to-improper-fraction.json +0 -0
  1600. data/_data/calculators/en/math-calc/mixed-number.json +0 -0
  1601. data/_data/calculators/en/math-calc/modulo.json +0 -0
  1602. data/_data/calculators/en/math-calc/moment-of-inertia.json +0 -0
  1603. data/_data/calculators/en/math-calc/multiplication.json +0 -0
  1604. data/_data/calculators/en/math-calc/multiplicative-inverse.json +0 -0
  1605. data/_data/calculators/en/math-calc/multiplying-binomials.json +0 -0
  1606. data/_data/calculators/en/math-calc/multiplying-exponents.json +0 -0
  1607. data/_data/calculators/en/math-calc/multiplying-fractions.json +0 -0
  1608. data/_data/calculators/en/math-calc/multiplying-polynomials.json +0 -0
  1609. data/_data/calculators/en/math-calc/multiplying-radicals.json +0 -0
  1610. data/_data/calculators/en/math-calc/natural-log.json +0 -0
  1611. data/_data/calculators/en/math-calc/negative-log.json +0 -0
  1612. data/_data/calculators/en/math-calc/null-space.json +0 -0
  1613. data/_data/calculators/en/math-calc/octagon.json +0 -0
  1614. data/_data/calculators/en/math-calc/ones-complement.json +0 -0
  1615. data/_data/calculators/en/math-calc/order-of-magnitude.json +0 -0
  1616. data/_data/calculators/en/math-calc/orthocenter.json +0 -0
  1617. data/_data/calculators/en/math-calc/parabola.json +0 -0
  1618. data/_data/calculators/en/math-calc/parallel-line.json +0 -0
  1619. data/_data/calculators/en/math-calc/partial-fraction-decomposition.json +0 -0
  1620. data/_data/calculators/en/math-calc/partial-products.json +0 -0
  1621. data/_data/calculators/en/math-calc/pascals-triangle.json +0 -0
  1622. data/_data/calculators/en/math-calc/pentagon.json +0 -0
  1623. data/_data/calculators/en/math-calc/percent-error.json +0 -0
  1624. data/_data/calculators/en/math-calc/percentage-change.json +0 -0
  1625. data/_data/calculators/en/math-calc/percentage-decrease.json +0 -0
  1626. data/_data/calculators/en/math-calc/percentage-difference.json +0 -0
  1627. data/_data/calculators/en/math-calc/percentage-increase.json +0 -0
  1628. data/_data/calculators/en/math-calc/percentage-of-percentage.json +0 -0
  1629. data/_data/calculators/en/math-calc/percentage-point.json +0 -0
  1630. data/_data/calculators/en/math-calc/percentage.json +0 -0
  1631. data/_data/calculators/en/math-calc/perfect-cube.json +0 -0
  1632. data/_data/calculators/en/math-calc/perfect-square-trinomial.json +0 -0
  1633. data/_data/calculators/en/math-calc/perfect-square.json +0 -0
  1634. data/_data/calculators/en/math-calc/perimeter.json +0 -0
  1635. data/_data/calculators/en/math-calc/perp-line.json +0 -0
  1636. data/_data/calculators/en/math-calc/phase-shift.json +0 -0
  1637. data/_data/calculators/en/math-calc/pi.json +0 -0
  1638. data/_data/calculators/en/math-calc/point-slope-form.json +0 -0
  1639. data/_data/calculators/en/math-calc/polish-notation.json +0 -0
  1640. data/_data/calculators/en/math-calc/polynomial-division.json +0 -0
  1641. data/_data/calculators/en/math-calc/polynomial-graphing.json +0 -0
  1642. data/_data/calculators/en/math-calc/power-modulo.json +0 -0
  1643. data/_data/calculators/en/math-calc/power-reducing.json +0 -0
  1644. data/_data/calculators/en/math-calc/power-set.json +0 -0
  1645. data/_data/calculators/en/math-calc/prime-factorization.json +0 -0
  1646. data/_data/calculators/en/math-calc/prime-number.json +0 -0
  1647. data/_data/calculators/en/math-calc/proportion.json +0 -0
  1648. data/_data/calculators/en/math-calc/pseudoinverse.json +0 -0
  1649. data/_data/calculators/en/math-calc/pyramid-angle.json +0 -0
  1650. data/_data/calculators/en/math-calc/pyramid-volume.json +0 -0
  1651. data/_data/calculators/en/math-calc/pythagorean-theorem.json +0 -0
  1652. data/_data/calculators/en/math-calc/pythagorean-triples.json +0 -0
  1653. data/_data/calculators/en/math-calc/qr-decomposition.json +0 -0
  1654. data/_data/calculators/en/math-calc/quadratic-formula.json +0 -0
  1655. data/_data/calculators/en/math-calc/quadrilateral.json +0 -0
  1656. data/_data/calculators/en/math-calc/quaternion.json +0 -0
  1657. data/_data/calculators/en/math-calc/quotient.json +0 -0
  1658. data/_data/calculators/en/math-calc/radical.json +0 -0
  1659. data/_data/calculators/en/math-calc/ratio.json +0 -0
  1660. data/_data/calculators/en/math-calc/rational-zeros.json +0 -0
  1661. data/_data/calculators/en/math-calc/rationalize-denominator.json +0 -0
  1662. data/_data/calculators/en/math-calc/ratios-of-directed-line-segments.json +0 -0
  1663. data/_data/calculators/en/math-calc/reciprocal.json +0 -0
  1664. data/_data/calculators/en/math-calc/rectangle.json +0 -0
  1665. data/_data/calculators/en/math-calc/rectangular-prism.json +0 -0
  1666. data/_data/calculators/en/math-calc/reference-angle.json +0 -0
  1667. data/_data/calculators/en/math-calc/regular-polygon.json +0 -0
  1668. data/_data/calculators/en/math-calc/remainder.json +0 -0
  1669. data/_data/calculators/en/math-calc/right-circular-cone.json +0 -0
  1670. data/_data/calculators/en/math-calc/right-cylinder.json +0 -0
  1671. data/_data/calculators/en/math-calc/right-rectangular-pyramid.json +0 -0
  1672. data/_data/calculators/en/math-calc/right-triangle-area.json +0 -0
  1673. data/_data/calculators/en/math-calc/right-triangle-side-angle.json +0 -0
  1674. data/_data/calculators/en/math-calc/right-triangle.json +0 -0
  1675. data/_data/calculators/en/math-calc/rise-over-run.json +0 -0
  1676. data/_data/calculators/en/math-calc/root-mean-square.json +0 -0
  1677. data/_data/calculators/en/math-calc/root.json +0 -0
  1678. data/_data/calculators/en/math-calc/round-to-the-nearest-thousand.json +0 -0
  1679. data/_data/calculators/en/math-calc/rounding.json +0 -0
  1680. data/_data/calculators/en/math-calc/row-echelon-form.json +0 -0
  1681. data/_data/calculators/en/math-calc/scatter-plot.json +0 -0
  1682. data/_data/calculators/en/math-calc/scientific-notation.json +0 -0
  1683. data/_data/calculators/en/math-calc/sec.json +0 -0
  1684. data/_data/calculators/en/math-calc/sector-area.json +0 -0
  1685. data/_data/calculators/en/math-calc/segment-addition-postulate.json +0 -0
  1686. data/_data/calculators/en/math-calc/segment-area.json +0 -0
  1687. data/_data/calculators/en/math-calc/semicircle-area.json +0 -0
  1688. data/_data/calculators/en/math-calc/sig-fig.json +0 -0
  1689. data/_data/calculators/en/math-calc/simplify-fractions.json +0 -0
  1690. data/_data/calculators/en/math-calc/simplify-radicals.json +0 -0
  1691. data/_data/calculators/en/math-calc/sin.json +0 -0
  1692. data/_data/calculators/en/math-calc/slant-height.json +0 -0
  1693. data/_data/calculators/en/math-calc/slope-intercept-form.json +0 -0
  1694. data/_data/calculators/en/math-calc/slope.json +0 -0
  1695. data/_data/calculators/en/math-calc/special-right-triangles.json +0 -0
  1696. data/_data/calculators/en/math-calc/sphere-equation.json +0 -0
  1697. data/_data/calculators/en/math-calc/sphere.json +0 -0
  1698. data/_data/calculators/en/math-calc/spherical-coordinates.json +0 -0
  1699. data/_data/calculators/en/math-calc/square-in-a-circle.json +0 -0
  1700. data/_data/calculators/en/math-calc/square-root.json +0 -0
  1701. data/_data/calculators/en/math-calc/square.json +0 -0
  1702. data/_data/calculators/en/math-calc/standard-form.json +0 -0
  1703. data/_data/calculators/en/math-calc/star-shape.json +0 -0
  1704. data/_data/calculators/en/math-calc/subset.json +0 -0
  1705. data/_data/calculators/en/math-calc/substitution-method.json +0 -0
  1706. data/_data/calculators/en/math-calc/subtraction.json +0 -0
  1707. data/_data/calculators/en/math-calc/sum-difference-identities.json +0 -0
  1708. data/_data/calculators/en/math-calc/sum-of-digits.json +0 -0
  1709. data/_data/calculators/en/math-calc/sum-of-linear-number-sequence.json +0 -0
  1710. data/_data/calculators/en/math-calc/sum-of-series.json +0 -0
  1711. data/_data/calculators/en/math-calc/supplementary-angles.json +0 -0
  1712. data/_data/calculators/en/math-calc/surface-area-of-a-triangular-prism.json +0 -0
  1713. data/_data/calculators/en/math-calc/surface-area-volume-ratio.json +0 -0
  1714. data/_data/calculators/en/math-calc/surface-area.json +0 -0
  1715. data/_data/calculators/en/math-calc/svd.json +0 -0
  1716. data/_data/calculators/en/math-calc/synthetic-division.json +0 -0
  1717. data/_data/calculators/en/math-calc/systems-of-equations.json +0 -0
  1718. data/_data/calculators/en/math-calc/tan.json +0 -0
  1719. data/_data/calculators/en/math-calc/tangent-circle.json +0 -0
  1720. data/_data/calculators/en/math-calc/tensor-product.json +0 -0
  1721. data/_data/calculators/en/math-calc/tetrahedron-volume.json +0 -0
  1722. data/_data/calculators/en/math-calc/torus-surface-area.json +0 -0
  1723. data/_data/calculators/en/math-calc/torus-volume.json +0 -0
  1724. data/_data/calculators/en/math-calc/trapezoid.json +0 -0
  1725. data/_data/calculators/en/math-calc/triangle-30-60-90.json +0 -0
  1726. data/_data/calculators/en/math-calc/triangle-45-45-90.json +0 -0
  1727. data/_data/calculators/en/math-calc/triangle-angle.json +0 -0
  1728. data/_data/calculators/en/math-calc/triangle-area.json +0 -0
  1729. data/_data/calculators/en/math-calc/triangle-height.json +0 -0
  1730. data/_data/calculators/en/math-calc/triangle-inequality.json +0 -0
  1731. data/_data/calculators/en/math-calc/triangle-perimeter.json +0 -0
  1732. data/_data/calculators/en/math-calc/triangular-prism.json +0 -0
  1733. data/_data/calculators/en/math-calc/triangulation.json +0 -0
  1734. data/_data/calculators/en/math-calc/trigonometric-functions.json +0 -0
  1735. data/_data/calculators/en/math-calc/trigonometry.json +0 -0
  1736. data/_data/calculators/en/math-calc/twos-complement.json +0 -0
  1737. data/_data/calculators/en/math-calc/union-intersection.json +0 -0
  1738. data/_data/calculators/en/math-calc/unit-circle.json +0 -0
  1739. data/_data/calculators/en/math-calc/unit-rate.json +0 -0
  1740. data/_data/calculators/en/math-calc/unit-vector.json +0 -0
  1741. data/_data/calculators/en/math-calc/vector-addition.json +0 -0
  1742. data/_data/calculators/en/math-calc/vector-direction.json +0 -0
  1743. data/_data/calculators/en/math-calc/vector-magnitude.json +0 -0
  1744. data/_data/calculators/en/math-calc/vector-projection.json +0 -0
  1745. data/_data/calculators/en/math-calc/vector.json +0 -0
  1746. data/_data/calculators/en/math-calc/vertex-form.json +0 -0
  1747. data/_data/calculators/en/math-calc/volume-of-a-parallelepiped.json +0 -0
  1748. data/_data/calculators/en/math-calc/volume-of-hemisphere.json +0 -0
  1749. data/_data/calculators/en/math-calc/volume.json +0 -0
  1750. data/_data/calculators/en/math-calc/weighted-average.json +0 -0
  1751. data/_data/calculators/en/math-calc/xor.json +0 -0
  1752. data/_data/calculators/en/math-calc/y-intercept.json +0 -0
  1753. data/_data/calculators/en/other-calc/age-on-other-planets.json +0 -0
  1754. data/_data/calculators/en/other-calc/among-us.json +0 -0
  1755. data/_data/calculators/en/other-calc/angle-of-impact.json +0 -0
  1756. data/_data/calculators/en/other-calc/antipode.json +0 -0
  1757. data/_data/calculators/en/other-calc/aquarium-glass-thickness.json +0 -0
  1758. data/_data/calculators/en/other-calc/aquarium-volume.json +0 -0
  1759. data/_data/calculators/en/other-calc/azimuth.json +0 -0
  1760. data/_data/calculators/en/other-calc/beauty-products.json +0 -0
  1761. data/_data/calculators/en/other-calc/christmas-tree.json +0 -0
  1762. data/_data/calculators/en/other-calc/dating-theory.json +0 -0
  1763. data/_data/calculators/en/other-calc/days-until-christmas.json +0 -0
  1764. data/_data/calculators/en/other-calc/diamond-weight.json +0 -0
  1765. data/_data/calculators/en/other-calc/dpmo.json +0 -0
  1766. data/_data/calculators/en/other-calc/earthquake.json +0 -0
  1767. data/_data/calculators/en/other-calc/end-portal-finder.json +0 -0
  1768. data/_data/calculators/en/other-calc/engagement-rate.json +0 -0
  1769. data/_data/calculators/en/other-calc/flag.json +0 -0
  1770. data/_data/calculators/en/other-calc/freight-class.json +0 -0
  1771. data/_data/calculators/en/other-calc/gender-wage-gap.json +0 -0
  1772. data/_data/calculators/en/other-calc/humans-vs-vampires.json +0 -0
  1773. data/_data/calculators/en/other-calc/kd.json +0 -0
  1774. data/_data/calculators/en/other-calc/latitude-longitude-distance.json +0 -0
  1775. data/_data/calculators/en/other-calc/mayan-calendar.json +0 -0
  1776. data/_data/calculators/en/other-calc/minecraft-circle.json +0 -0
  1777. data/_data/calculators/en/other-calc/minecraft-stack.json +0 -0
  1778. data/_data/calculators/en/other-calc/nanowrimo.json +0 -0
  1779. data/_data/calculators/en/other-calc/nether-portal.json +0 -0
  1780. data/_data/calculators/en/other-calc/pay-gap-us.json +0 -0
  1781. data/_data/calculators/en/other-calc/pert.json +0 -0
  1782. data/_data/calculators/en/other-calc/pizza-tip.json +0 -0
  1783. data/_data/calculators/en/other-calc/point-buy.json +0 -0
  1784. data/_data/calculators/en/other-calc/pokemon-go-candy.json +0 -0
  1785. data/_data/calculators/en/other-calc/pyramid-block.json +0 -0
  1786. data/_data/calculators/en/other-calc/rain-to-snow.json +0 -0
  1787. data/_data/calculators/en/other-calc/rainfall-volume.json +0 -0
  1788. data/_data/calculators/en/other-calc/reorder-point.json +0 -0
  1789. data/_data/calculators/en/other-calc/resolutions-new-year.json +0 -0
  1790. data/_data/calculators/en/other-calc/salt-dough.json +0 -0
  1791. data/_data/calculators/en/other-calc/sandbox.json +0 -0
  1792. data/_data/calculators/en/other-calc/snowman.json +0 -0
  1793. data/_data/calculators/en/other-calc/streaming-royalties.json +0 -0
  1794. data/_data/calculators/en/other-calc/sunscreen.json +0 -0
  1795. data/_data/calculators/en/other-calc/takt-time.json +0 -0
  1796. data/_data/calculators/en/other-calc/tip-from-net-price.json +0 -0
  1797. data/_data/calculators/en/other-calc/tip.json +0 -0
  1798. data/_data/calculators/en/other-calc/total-harmonic-distortion.json +0 -0
  1799. data/_data/calculators/en/other-calc/trick-or-treat.json +0 -0
  1800. data/_data/calculators/en/other-calc/vertical-exaggeration.json +0 -0
  1801. data/_data/calculators/en/other-calc/weekday.json +0 -0
  1802. data/_data/calculators/en/other-calc/white-christmas.json +0 -0
  1803. data/_data/calculators/en/other-calc/wind-chill.json +0 -0
  1804. data/_data/calculators/en/other-calc/witcher-monster-slayer.json +0 -0
  1805. data/_data/calculators/en/other-calc/zombie-invasion.json +0 -0
  1806. data/_data/calculators/en/physics-calc/absolute-humidity.json +0 -0
  1807. data/_data/calculators/en/physics-calc/ac-wattage.json +0 -0
  1808. data/_data/calculators/en/physics-calc/acceleration-of-particle-in-electric-field.json +0 -0
  1809. data/_data/calculators/en/physics-calc/acceleration.json +0 -0
  1810. data/_data/calculators/en/physics-calc/acoustic-impedance.json +0 -0
  1811. data/_data/calculators/en/physics-calc/air-density.json +0 -0
  1812. data/_data/calculators/en/physics-calc/air-pressure-at-altitude.json +0 -0
  1813. data/_data/calculators/en/physics-calc/alfven-velocity.json +0 -0
  1814. data/_data/calculators/en/physics-calc/alien-civilization.json +0 -0
  1815. data/_data/calculators/en/physics-calc/altitude-temperature.json +0 -0
  1816. data/_data/calculators/en/physics-calc/angular-acceleration.json +0 -0
  1817. data/_data/calculators/en/physics-calc/angular-displacement.json +0 -0
  1818. data/_data/calculators/en/physics-calc/angular-frequency.json +0 -0
  1819. data/_data/calculators/en/physics-calc/angular-momentum.json +0 -0
  1820. data/_data/calculators/en/physics-calc/angular-resolution.json +0 -0
  1821. data/_data/calculators/en/physics-calc/angular-velocity.json +0 -0
  1822. data/_data/calculators/en/physics-calc/aperture-area.json +0 -0
  1823. data/_data/calculators/en/physics-calc/api-gravity.json +0 -0
  1824. data/_data/calculators/en/physics-calc/archimedes-principle.json +0 -0
  1825. data/_data/calculators/en/physics-calc/arrow-speed.json +0 -0
  1826. data/_data/calculators/en/physics-calc/ballistic-coefficient.json +0 -0
  1827. data/_data/calculators/en/physics-calc/bank-angle.json +0 -0
  1828. data/_data/calculators/en/physics-calc/beat-frequency.json +0 -0
  1829. data/_data/calculators/en/physics-calc/belt-length.json +0 -0
  1830. data/_data/calculators/en/physics-calc/bend-allowance.json +0 -0
  1831. data/_data/calculators/en/physics-calc/bernoulli-equation.json +0 -0
  1832. data/_data/calculators/en/physics-calc/binoculars-range.json +0 -0
  1833. data/_data/calculators/en/physics-calc/biot-numer.json +0 -0
  1834. data/_data/calculators/en/physics-calc/black-hole-temperature.json +0 -0
  1835. data/_data/calculators/en/physics-calc/black-hole.json +0 -0
  1836. data/_data/calculators/en/physics-calc/bohr-model.json +0 -0
  1837. data/_data/calculators/en/physics-calc/boltzmann-factor.json +0 -0
  1838. data/_data/calculators/en/physics-calc/boyles-law.json +0 -0
  1839. data/_data/calculators/en/physics-calc/braggs-law.json +0 -0
  1840. data/_data/calculators/en/physics-calc/brake-mean-effective-pressure-bmep.json +0 -0
  1841. data/_data/calculators/en/physics-calc/breaker-size.json +0 -0
  1842. data/_data/calculators/en/physics-calc/brewster-angle.json +0 -0
  1843. data/_data/calculators/en/physics-calc/bridge-rectifier.json +0 -0
  1844. data/_data/calculators/en/physics-calc/brinell-hardness-number.json +0 -0
  1845. data/_data/calculators/en/physics-calc/buckling.json +0 -0
  1846. data/_data/calculators/en/physics-calc/bulk-modulus.json +0 -0
  1847. data/_data/calculators/en/physics-calc/buoyancy-experiment.json +0 -0
  1848. data/_data/calculators/en/physics-calc/buoyancy.json +0 -0
  1849. data/_data/calculators/en/physics-calc/capacitance.json +0 -0
  1850. data/_data/calculators/en/physics-calc/capacitive-reactance.json +0 -0
  1851. data/_data/calculators/en/physics-calc/capacitor-energy.json +0 -0
  1852. data/_data/calculators/en/physics-calc/capacitor.json +0 -0
  1853. data/_data/calculators/en/physics-calc/capacitors-in-series.json +0 -0
  1854. data/_data/calculators/en/physics-calc/car-crash-force.json +0 -0
  1855. data/_data/calculators/en/physics-calc/car-jump-distance.json +0 -0
  1856. data/_data/calculators/en/physics-calc/car-mass-center.json +0 -0
  1857. data/_data/calculators/en/physics-calc/carburetor-cfm.json +0 -0
  1858. data/_data/calculators/en/physics-calc/carnot-efficiency.json +0 -0
  1859. data/_data/calculators/en/physics-calc/centrifugal-force.json +0 -0
  1860. data/_data/calculators/en/physics-calc/centripetal-force.json +0 -0
  1861. data/_data/calculators/en/physics-calc/charles-law.json +0 -0
  1862. data/_data/calculators/en/physics-calc/circular-motion.json +0 -0
  1863. data/_data/calculators/en/physics-calc/cloud-base.json +0 -0
  1864. data/_data/calculators/en/physics-calc/coefficient-of-discharge.json +0 -0
  1865. data/_data/calculators/en/physics-calc/compressibility.json +0 -0
  1866. data/_data/calculators/en/physics-calc/compton-scattering.json +0 -0
  1867. data/_data/calculators/en/physics-calc/compton-wavelength.json +0 -0
  1868. data/_data/calculators/en/physics-calc/conservation-of-momentum.json +0 -0
  1869. data/_data/calculators/en/physics-calc/coriolis-effect.json +0 -0
  1870. data/_data/calculators/en/physics-calc/coulombs-law.json +0 -0
  1871. data/_data/calculators/en/physics-calc/critical-damping.json +0 -0
  1872. data/_data/calculators/en/physics-calc/crossover.json +0 -0
  1873. data/_data/calculators/en/physics-calc/curie-constant.json +0 -0
  1874. data/_data/calculators/en/physics-calc/curies-law.json +0 -0
  1875. data/_data/calculators/en/physics-calc/cutoff-frequency.json +0 -0
  1876. data/_data/calculators/en/physics-calc/cyclotron-frequency.json +0 -0
  1877. data/_data/calculators/en/physics-calc/damping-ratio.json +0 -0
  1878. data/_data/calculators/en/physics-calc/darcy-weisbach.json +0 -0
  1879. data/_data/calculators/en/physics-calc/db.json +0 -0
  1880. data/_data/calculators/en/physics-calc/de-broglie-wavelength.json +0 -0
  1881. data/_data/calculators/en/physics-calc/delta-to-wye.json +0 -0
  1882. data/_data/calculators/en/physics-calc/delta-v.json +0 -0
  1883. data/_data/calculators/en/physics-calc/density-altitude.json +0 -0
  1884. data/_data/calculators/en/physics-calc/density.json +0 -0
  1885. data/_data/calculators/en/physics-calc/dew-point.json +0 -0
  1886. data/_data/calculators/en/physics-calc/differential-pressure.json +0 -0
  1887. data/_data/calculators/en/physics-calc/diffraction.json +0 -0
  1888. data/_data/calculators/en/physics-calc/dipole.json +0 -0
  1889. data/_data/calculators/en/physics-calc/displacement.json +0 -0
  1890. data/_data/calculators/en/physics-calc/distance-attenuation.json +0 -0
  1891. data/_data/calculators/en/physics-calc/doppler-effect.json +0 -0
  1892. data/_data/calculators/en/physics-calc/drag-equation.json +0 -0
  1893. data/_data/calculators/en/physics-calc/drift-velocity.json +0 -0
  1894. data/_data/calculators/en/physics-calc/earth-curvature.json +0 -0
  1895. data/_data/calculators/en/physics-calc/earth-orbit.json +0 -0
  1896. data/_data/calculators/en/physics-calc/effectiveness-ntu.json +0 -0
  1897. data/_data/calculators/en/physics-calc/efficiency.json +0 -0
  1898. data/_data/calculators/en/physics-calc/elastic-potential-energy.json +0 -0
  1899. data/_data/calculators/en/physics-calc/electric-field-of-a-point-charge.json +0 -0
  1900. data/_data/calculators/en/physics-calc/electric-potential.json +0 -0
  1901. data/_data/calculators/en/physics-calc/electrical-mobility.json +0 -0
  1902. data/_data/calculators/en/physics-calc/electrical-power.json +0 -0
  1903. data/_data/calculators/en/physics-calc/electron-speed.json +0 -0
  1904. data/_data/calculators/en/physics-calc/emc2.json +0 -0
  1905. data/_data/calculators/en/physics-calc/energy-density-of-electric-and-magnetic-fields.json +0 -0
  1906. data/_data/calculators/en/physics-calc/engine-displacement.json +0 -0
  1907. data/_data/calculators/en/physics-calc/enthalpy.json +0 -0
  1908. data/_data/calculators/en/physics-calc/escape-velocity.json +0 -0
  1909. data/_data/calculators/en/physics-calc/exoplanet.json +0 -0
  1910. data/_data/calculators/en/physics-calc/factor-of-safety.json +0 -0
  1911. data/_data/calculators/en/physics-calc/fan.json +0 -0
  1912. data/_data/calculators/en/physics-calc/faraday.json +0 -0
  1913. data/_data/calculators/en/physics-calc/fermi-level.json +0 -0
  1914. data/_data/calculators/en/physics-calc/flat-vs-round-earth.json +0 -0
  1915. data/_data/calculators/en/physics-calc/flow-rate.json +0 -0
  1916. data/_data/calculators/en/physics-calc/force.json +0 -0
  1917. data/_data/calculators/en/physics-calc/free-fall-air-resistance.json +0 -0
  1918. data/_data/calculators/en/physics-calc/free-fall.json +0 -0
  1919. data/_data/calculators/en/physics-calc/free-space-path-loss.json +0 -0
  1920. data/_data/calculators/en/physics-calc/frequency.json +0 -0
  1921. data/_data/calculators/en/physics-calc/fresnel-zone.json +0 -0
  1922. data/_data/calculators/en/physics-calc/friction-factor.json +0 -0
  1923. data/_data/calculators/en/physics-calc/friction-loss.json +0 -0
  1924. data/_data/calculators/en/physics-calc/friction.json +0 -0
  1925. data/_data/calculators/en/physics-calc/froude-number.json +0 -0
  1926. data/_data/calculators/en/physics-calc/fulcrum.json +0 -0
  1927. data/_data/calculators/en/physics-calc/gauss-law.json +0 -0
  1928. data/_data/calculators/en/physics-calc/gay-lussacs-law.json +0 -0
  1929. data/_data/calculators/en/physics-calc/gear-ratio.json +0 -0
  1930. data/_data/calculators/en/physics-calc/generator-power.json +0 -0
  1931. data/_data/calculators/en/physics-calc/gold-weight.json +0 -0
  1932. data/_data/calculators/en/physics-calc/gravitational-force.json +0 -0
  1933. data/_data/calculators/en/physics-calc/gravitational-time-dilation.json +0 -0
  1934. data/_data/calculators/en/physics-calc/ground-speed.json +0 -0
  1935. data/_data/calculators/en/physics-calc/hair-diffraction.json +0 -0
  1936. data/_data/calculators/en/physics-calc/hall-coefficient.json +0 -0
  1937. data/_data/calculators/en/physics-calc/harmonic-wave-equation.json +0 -0
  1938. data/_data/calculators/en/physics-calc/heat-capacity.json +0 -0
  1939. data/_data/calculators/en/physics-calc/heat-index.json +0 -0
  1940. data/_data/calculators/en/physics-calc/heat-transfer-coefficient.json +0 -0
  1941. data/_data/calculators/en/physics-calc/heisenberg-uncertainty.json +0 -0
  1942. data/_data/calculators/en/physics-calc/helical-coil.json +0 -0
  1943. data/_data/calculators/en/physics-calc/helmholtz-resonator.json +0 -0
  1944. data/_data/calculators/en/physics-calc/high-pass-filter.json +0 -0
  1945. data/_data/calculators/en/physics-calc/hohmann-transfer.json +0 -0
  1946. data/_data/calculators/en/physics-calc/hookes-law.json +0 -0
  1947. data/_data/calculators/en/physics-calc/hoop-stress.json +0 -0
  1948. data/_data/calculators/en/physics-calc/horizontal-projectile-motion.json +0 -0
  1949. data/_data/calculators/en/physics-calc/hp-to-amps.json +0 -0
  1950. data/_data/calculators/en/physics-calc/hubbles-law.json +0 -0
  1951. data/_data/calculators/en/physics-calc/hydraulic-conductivity.json +0 -0
  1952. data/_data/calculators/en/physics-calc/hydraulic-gradient.json +0 -0
  1953. data/_data/calculators/en/physics-calc/hydraulic-jump.json +0 -0
  1954. data/_data/calculators/en/physics-calc/hydraulic-pressure.json +0 -0
  1955. data/_data/calculators/en/physics-calc/hydraulic-radius.json +0 -0
  1956. data/_data/calculators/en/physics-calc/hydrogen-like-atom.json +0 -0
  1957. data/_data/calculators/en/physics-calc/hydrostatic-pressure.json +0 -0
  1958. data/_data/calculators/en/physics-calc/ideal-gas-density.json +0 -0
  1959. data/_data/calculators/en/physics-calc/ideal-gas-law.json +0 -0
  1960. data/_data/calculators/en/physics-calc/ideal-rocket-equation.json +0 -0
  1961. data/_data/calculators/en/physics-calc/ideal-transformer.json +0 -0
  1962. data/_data/calculators/en/physics-calc/immersed-weight.json +0 -0
  1963. data/_data/calculators/en/physics-calc/impulse-and-momentum.json +0 -0
  1964. data/_data/calculators/en/physics-calc/inclined-plane.json +0 -0
  1965. data/_data/calculators/en/physics-calc/index-of-refraction.json +0 -0
  1966. data/_data/calculators/en/physics-calc/inductive-reactance.json +0 -0
  1967. data/_data/calculators/en/physics-calc/inductor-energy.json +0 -0
  1968. data/_data/calculators/en/physics-calc/insertion-loss.json +0 -0
  1969. data/_data/calculators/en/physics-calc/intrinsic-carrier-concentration.json +0 -0
  1970. data/_data/calculators/en/physics-calc/isentropic-flow.json +0 -0
  1971. data/_data/calculators/en/physics-calc/joule-heating.json +0 -0
  1972. data/_data/calculators/en/physics-calc/kepler-third-law.json +0 -0
  1973. data/_data/calculators/en/physics-calc/kinetic-energy.json +0 -0
  1974. data/_data/calculators/en/physics-calc/knudsen-number.json +0 -0
  1975. data/_data/calculators/en/physics-calc/kva.json +0 -0
  1976. data/_data/calculators/en/physics-calc/laser-brightness.json +0 -0
  1977. data/_data/calculators/en/physics-calc/latent-heat.json +0 -0
  1978. data/_data/calculators/en/physics-calc/led.json +0 -0
  1979. data/_data/calculators/en/physics-calc/length-contraction.json +0 -0
  1980. data/_data/calculators/en/physics-calc/lensmakers-equation.json +0 -0
  1981. data/_data/calculators/en/physics-calc/lever.json +0 -0
  1982. data/_data/calculators/en/physics-calc/lift-coefficient.json +0 -0
  1983. data/_data/calculators/en/physics-calc/lightning-distance.json +0 -0
  1984. data/_data/calculators/en/physics-calc/linear-actuator-force.json +0 -0
  1985. data/_data/calculators/en/physics-calc/lmtd.json +0 -0
  1986. data/_data/calculators/en/physics-calc/lorentz-force.json +0 -0
  1987. data/_data/calculators/en/physics-calc/low-pass-filter.json +0 -0
  1988. data/_data/calculators/en/physics-calc/lumen.json +0 -0
  1989. data/_data/calculators/en/physics-calc/luminosity.json +0 -0
  1990. data/_data/calculators/en/physics-calc/mach-number.json +0 -0
  1991. data/_data/calculators/en/physics-calc/magnetic-declination.json +0 -0
  1992. data/_data/calculators/en/physics-calc/magnetic-dipole-moment.json +0 -0
  1993. data/_data/calculators/en/physics-calc/magnetic-field-of-straight-current-carrying-wire.json +0 -0
  1994. data/_data/calculators/en/physics-calc/magnetic-force-between-wires.json +0 -0
  1995. data/_data/calculators/en/physics-calc/magnetic-force-on-current-carrying-wire.json +0 -0
  1996. data/_data/calculators/en/physics-calc/magnetic-moment.json +0 -0
  1997. data/_data/calculators/en/physics-calc/magnetic-permeability.json +0 -0
  1998. data/_data/calculators/en/physics-calc/magnitude-of-acceleration.json +0 -0
  1999. data/_data/calculators/en/physics-calc/magnus-force.json +0 -0
  2000. data/_data/calculators/en/physics-calc/malus-law.json +0 -0
  2001. data/_data/calculators/en/physics-calc/manometer.json +0 -0
  2002. data/_data/calculators/en/physics-calc/mass-moment-of-inertia.json +0 -0
  2003. data/_data/calculators/en/physics-calc/maximum-height-projectile-motion.json +0 -0
  2004. data/_data/calculators/en/physics-calc/mean-free-path.json +0 -0
  2005. data/_data/calculators/en/physics-calc/mechanical-advantage.json +0 -0
  2006. data/_data/calculators/en/physics-calc/mirror-equation.json +0 -0
  2007. data/_data/calculators/en/physics-calc/mixing-ratio-of-air.json +0 -0
  2008. data/_data/calculators/en/physics-calc/modulation.json +0 -0
  2009. data/_data/calculators/en/physics-calc/mohr-circle.json +0 -0
  2010. data/_data/calculators/en/physics-calc/momentum.json +0 -0
  2011. data/_data/calculators/en/physics-calc/mosfet-threshold-voltage.json +0 -0
  2012. data/_data/calculators/en/physics-calc/mosfet.json +0 -0
  2013. data/_data/calculators/en/physics-calc/ne555-astable.json +0 -0
  2014. data/_data/calculators/en/physics-calc/newtons-law-of-cooling.json +0 -0
  2015. data/_data/calculators/en/physics-calc/newtons-second-law.json +0 -0
  2016. data/_data/calculators/en/physics-calc/noise-figure.json +0 -0
  2017. data/_data/calculators/en/physics-calc/normal-force.json +0 -0
  2018. data/_data/calculators/en/physics-calc/npsh-net-positive-suction-head.json +0 -0
  2019. data/_data/calculators/en/physics-calc/number-density.json +0 -0
  2020. data/_data/calculators/en/physics-calc/oblique-shock.json +0 -0
  2021. data/_data/calculators/en/physics-calc/ohms-law.json +0 -0
  2022. data/_data/calculators/en/physics-calc/open-channel-flow.json +0 -0
  2023. data/_data/calculators/en/physics-calc/orbital-period.json +0 -0
  2024. data/_data/calculators/en/physics-calc/orbital-velocity.json +0 -0
  2025. data/_data/calculators/en/physics-calc/orifice-flow.json +0 -0
  2026. data/_data/calculators/en/physics-calc/parallax.json +0 -0
  2027. data/_data/calculators/en/physics-calc/parallel-capacitor.json +0 -0
  2028. data/_data/calculators/en/physics-calc/parallel-inductors.json +0 -0
  2029. data/_data/calculators/en/physics-calc/parallel-resistor.json +0 -0
  2030. data/_data/calculators/en/physics-calc/particles-velocity.json +0 -0
  2031. data/_data/calculators/en/physics-calc/pde-sipm.json +0 -0
  2032. data/_data/calculators/en/physics-calc/pendulum-kinectic-energy.json +0 -0
  2033. data/_data/calculators/en/physics-calc/photoelectric-effect.json +0 -0
  2034. data/_data/calculators/en/physics-calc/photon-energy.json +0 -0
  2035. data/_data/calculators/en/physics-calc/physical-pendulum.json +0 -0
  2036. data/_data/calculators/en/physics-calc/pipe-flow.json +0 -0
  2037. data/_data/calculators/en/physics-calc/piston-force.json +0 -0
  2038. data/_data/calculators/en/physics-calc/piston-speed.json +0 -0
  2039. data/_data/calculators/en/physics-calc/pneumatic-cylinder-force.json +0 -0
  2040. data/_data/calculators/en/physics-calc/poise-stokes-converter.json +0 -0
  2041. data/_data/calculators/en/physics-calc/poiseuilles-law.json +0 -0
  2042. data/_data/calculators/en/physics-calc/poissons-ratio.json +0 -0
  2043. data/_data/calculators/en/physics-calc/polar-moment.json +0 -0
  2044. data/_data/calculators/en/physics-calc/porosity-and-permeability.json +0 -0
  2045. data/_data/calculators/en/physics-calc/potential-energy.json +0 -0
  2046. data/_data/calculators/en/physics-calc/power-dissipation.json +0 -0
  2047. data/_data/calculators/en/physics-calc/power-factor.json +0 -0
  2048. data/_data/calculators/en/physics-calc/power-to-weight-ratio.json +0 -0
  2049. data/_data/calculators/en/physics-calc/prandtl-meyer-expansion.json +0 -0
  2050. data/_data/calculators/en/physics-calc/prandtl-number.json +0 -0
  2051. data/_data/calculators/en/physics-calc/pressure.json +0 -0
  2052. data/_data/calculators/en/physics-calc/principal-stress.json +0 -0
  2053. data/_data/calculators/en/physics-calc/projectile-motion-experiment.json +0 -0
  2054. data/_data/calculators/en/physics-calc/projectile-motion.json +0 -0
  2055. data/_data/calculators/en/physics-calc/psychrometric.json +0 -0
  2056. data/_data/calculators/en/physics-calc/pulley.json +0 -0
  2057. data/_data/calculators/en/physics-calc/pump-horsepower.json +0 -0
  2058. data/_data/calculators/en/physics-calc/quarter-mile.json +0 -0
  2059. data/_data/calculators/en/physics-calc/radar-horizon.json +0 -0
  2060. data/_data/calculators/en/physics-calc/radiation-pressure.json +0 -0
  2061. data/_data/calculators/en/physics-calc/range-projectile-motion.json +0 -0
  2062. data/_data/calculators/en/physics-calc/rc-circuit.json +0 -0
  2063. data/_data/calculators/en/physics-calc/recoil-energy.json +0 -0
  2064. data/_data/calculators/en/physics-calc/redshift.json +0 -0
  2065. data/_data/calculators/en/physics-calc/reduced-mass.json +0 -0
  2066. data/_data/calculators/en/physics-calc/relative-humidity.json +0 -0
  2067. data/_data/calculators/en/physics-calc/relativistic-ke.json +0 -0
  2068. data/_data/calculators/en/physics-calc/resistor-color-code.json +0 -0
  2069. data/_data/calculators/en/physics-calc/resistor-wattage.json +0 -0
  2070. data/_data/calculators/en/physics-calc/resonant-frequency-lc.json +0 -0
  2071. data/_data/calculators/en/physics-calc/resultant-force.json +0 -0
  2072. data/_data/calculators/en/physics-calc/reverberation-time.json +0 -0
  2073. data/_data/calculators/en/physics-calc/reynolds-number.json +0 -0
  2074. data/_data/calculators/en/physics-calc/rlc-circuit.json +0 -0
  2075. data/_data/calculators/en/physics-calc/rms-voltage.json +0 -0
  2076. data/_data/calculators/en/physics-calc/rocket-thrust.json +0 -0
  2077. data/_data/calculators/en/physics-calc/rockwell-hardness-conversion.json +0 -0
  2078. data/_data/calculators/en/physics-calc/rolling-resistance.json +0 -0
  2079. data/_data/calculators/en/physics-calc/rotational-kinetic-energy.json +0 -0
  2080. data/_data/calculators/en/physics-calc/rotational-stiffness.json +0 -0
  2081. data/_data/calculators/en/physics-calc/rydberg-equation.json +0 -0
  2082. data/_data/calculators/en/physics-calc/schwarzschild-radius.json +0 -0
  2083. data/_data/calculators/en/physics-calc/section-modulus.json +0 -0
  2084. data/_data/calculators/en/physics-calc/sensible-heat.json +0 -0
  2085. data/_data/calculators/en/physics-calc/series-inductors.json +0 -0
  2086. data/_data/calculators/en/physics-calc/series-resistor.json +0 -0
  2087. data/_data/calculators/en/physics-calc/shear-modulus.json +0 -0
  2088. data/_data/calculators/en/physics-calc/shear-strain.json +0 -0
  2089. data/_data/calculators/en/physics-calc/shear-stress.json +0 -0
  2090. data/_data/calculators/en/physics-calc/shear-wave-velocity.json +0 -0
  2091. data/_data/calculators/en/physics-calc/shockley-diode.json +0 -0
  2092. data/_data/calculators/en/physics-calc/signal-to-noise-ratio.json +0 -0
  2093. data/_data/calculators/en/physics-calc/simple-harmonic-motion.json +0 -0
  2094. data/_data/calculators/en/physics-calc/simple-pendulum.json +0 -0
  2095. data/_data/calculators/en/physics-calc/skin-depth.json +0 -0
  2096. data/_data/calculators/en/physics-calc/sled.json +0 -0
  2097. data/_data/calculators/en/physics-calc/smartphone-projector.json +0 -0
  2098. data/_data/calculators/en/physics-calc/snells-law.json +0 -0
  2099. data/_data/calculators/en/physics-calc/solenoid-inductance.json +0 -0
  2100. data/_data/calculators/en/physics-calc/solenoid-magnetic-field.json +0 -0
  2101. data/_data/calculators/en/physics-calc/sound-absorption-coefficient.json +0 -0
  2102. data/_data/calculators/en/physics-calc/sound-wavelength.json +0 -0
  2103. data/_data/calculators/en/physics-calc/space-travel.json +0 -0
  2104. data/_data/calculators/en/physics-calc/specific-gas-constant.json +0 -0
  2105. data/_data/calculators/en/physics-calc/specific-gravity.json +0 -0
  2106. data/_data/calculators/en/physics-calc/specific-heat.json +0 -0
  2107. data/_data/calculators/en/physics-calc/specific-impulse.json +0 -0
  2108. data/_data/calculators/en/physics-calc/speed-of-sound.json +0 -0
  2109. data/_data/calculators/en/physics-calc/speed-sound-solids.json +0 -0
  2110. data/_data/calculators/en/physics-calc/speeds-and-feeds.json +0 -0
  2111. data/_data/calculators/en/physics-calc/spherical-capacitor.json +0 -0
  2112. data/_data/calculators/en/physics-calc/stefan-boltzmann-law.json +0 -0
  2113. data/_data/calculators/en/physics-calc/stokes-law.json +0 -0
  2114. data/_data/calculators/en/physics-calc/stopping-distance.json +0 -0
  2115. data/_data/calculators/en/physics-calc/stress-concentration-factor.json +0 -0
  2116. data/_data/calculators/en/physics-calc/stress.json +0 -0
  2117. data/_data/calculators/en/physics-calc/sunrise-sunset.json +0 -0
  2118. data/_data/calculators/en/physics-calc/suvat.json +0 -0
  2119. data/_data/calculators/en/physics-calc/synodic-period.json +0 -0
  2120. data/_data/calculators/en/physics-calc/telescope-field-of-view.json +0 -0
  2121. data/_data/calculators/en/physics-calc/telescope-magnification.json +0 -0
  2122. data/_data/calculators/en/physics-calc/tension.json +0 -0
  2123. data/_data/calculators/en/physics-calc/terminal-velocity.json +0 -0
  2124. data/_data/calculators/en/physics-calc/thermal-conductivity.json +0 -0
  2125. data/_data/calculators/en/physics-calc/thermal-diffusivity.json +0 -0
  2126. data/_data/calculators/en/physics-calc/thermal-energy.json +0 -0
  2127. data/_data/calculators/en/physics-calc/thermal-expansion.json +0 -0
  2128. data/_data/calculators/en/physics-calc/thermal-resistance.json +0 -0
  2129. data/_data/calculators/en/physics-calc/thermal-stress.json +0 -0
  2130. data/_data/calculators/en/physics-calc/thermodynamic-processes.json +0 -0
  2131. data/_data/calculators/en/physics-calc/thin-film-optics.json +0 -0
  2132. data/_data/calculators/en/physics-calc/thin-lens-equation.json +0 -0
  2133. data/_data/calculators/en/physics-calc/three-phase.json +0 -0
  2134. data/_data/calculators/en/physics-calc/thrust-weight.json +0 -0
  2135. data/_data/calculators/en/physics-calc/time-dilation.json +0 -0
  2136. data/_data/calculators/en/physics-calc/time-of-flight-projectile-motion.json +0 -0
  2137. data/_data/calculators/en/physics-calc/toilet-paper-race-mass-moment-inertia.json +0 -0
  2138. data/_data/calculators/en/physics-calc/torque.json +0 -0
  2139. data/_data/calculators/en/physics-calc/torsional-constant.json +0 -0
  2140. data/_data/calculators/en/physics-calc/trajectory-projectile-motion.json +0 -0
  2141. data/_data/calculators/en/physics-calc/transformer-sizing.json +0 -0
  2142. data/_data/calculators/en/physics-calc/true-airspeed.json +0 -0
  2143. data/_data/calculators/en/physics-calc/true-strain.json +0 -0
  2144. data/_data/calculators/en/physics-calc/twist-rate.json +0 -0
  2145. data/_data/calculators/en/physics-calc/ufo-travel.json +0 -0
  2146. data/_data/calculators/en/physics-calc/universe-expansion.json +0 -0
  2147. data/_data/calculators/en/physics-calc/van-der-waals-equation.json +0 -0
  2148. data/_data/calculators/en/physics-calc/velocity-addition.json +0 -0
  2149. data/_data/calculators/en/physics-calc/velocity.json +0 -0
  2150. data/_data/calculators/en/physics-calc/vickers-hardness-number.json +0 -0
  2151. data/_data/calculators/en/physics-calc/virtual-temperature.json +0 -0
  2152. data/_data/calculators/en/physics-calc/voltage-divider.json +0 -0
  2153. data/_data/calculators/en/physics-calc/voltage-drop.json +0 -0
  2154. data/_data/calculators/en/physics-calc/voltage-regulation.json +0 -0
  2155. data/_data/calculators/en/physics-calc/volts-to-electron-volts.json +0 -0
  2156. data/_data/calculators/en/physics-calc/volume-to-mass.json +0 -0
  2157. data/_data/calculators/en/physics-calc/vswr-voltage-standing-wave-ratio.json +0 -0
  2158. data/_data/calculators/en/physics-calc/water-density.json +0 -0
  2159. data/_data/calculators/en/physics-calc/water-heating.json +0 -0
  2160. data/_data/calculators/en/physics-calc/water-viscosity.json +0 -0
  2161. data/_data/calculators/en/physics-calc/watt.json +0 -0
  2162. data/_data/calculators/en/physics-calc/watts-to-amps.json +0 -0
  2163. data/_data/calculators/en/physics-calc/watts-to-heat.json +0 -0
  2164. data/_data/calculators/en/physics-calc/watts-to-lux.json +0 -0
  2165. data/_data/calculators/en/physics-calc/wavelength.json +0 -0
  2166. data/_data/calculators/en/physics-calc/weight-other-planets.json +0 -0
  2167. data/_data/calculators/en/physics-calc/wet-bulb.json +0 -0
  2168. data/_data/calculators/en/physics-calc/wheatstone-bridge.json +0 -0
  2169. data/_data/calculators/en/physics-calc/wiens-law.json +0 -0
  2170. data/_data/calculators/en/physics-calc/wind-correction-angle.json +0 -0
  2171. data/_data/calculators/en/physics-calc/wind-load.json +0 -0
  2172. data/_data/calculators/en/physics-calc/wing-loading.json +0 -0
  2173. data/_data/calculators/en/physics-calc/wire-gauge.json +0 -0
  2174. data/_data/calculators/en/physics-calc/wire-resistance.json +0 -0
  2175. data/_data/calculators/en/physics-calc/wire-size.json +0 -0
  2176. data/_data/calculators/en/physics-calc/work-and-power.json +0 -0
  2177. data/_data/calculators/en/physics-calc/work.json +0 -0
  2178. data/_data/calculators/en/physics-calc/young-modulus.json +0 -0
  2179. data/_data/calculators/en/physics-calc/yplus.json +0 -0
  2180. data/_data/calculators/en/sports-calc/acft.json +0 -0
  2181. data/_data/calculators/en/sports-calc/age-graded-running.json +0 -0
  2182. data/_data/calculators/en/sports-calc/ape-index.json +0 -0
  2183. data/_data/calculators/en/sports-calc/average-triathlon-finish-times.json +0 -0
  2184. data/_data/calculators/en/sports-calc/batting-average.json +0 -0
  2185. data/_data/calculators/en/sports-calc/batting-strike-rate.json +0 -0
  2186. data/_data/calculators/en/sports-calc/bench-press.json +0 -0
  2187. data/_data/calculators/en/sports-calc/bike-cadence-and-speed-calculator.json +0 -0
  2188. data/_data/calculators/en/sports-calc/bike-gear-calculator.json +0 -0
  2189. data/_data/calculators/en/sports-calc/bike-size.json +0 -0
  2190. data/_data/calculators/en/sports-calc/biking-life-gain.json +0 -0
  2191. data/_data/calculators/en/sports-calc/bowling-average.json +0 -0
  2192. data/_data/calculators/en/sports-calc/bruce-protocol-mets.json +0 -0
  2193. data/_data/calculators/en/sports-calc/burpee-calorie.json +0 -0
  2194. data/_data/calculators/en/sports-calc/calories-burned-biking.json +0 -0
  2195. data/_data/calculators/en/sports-calc/calories-burned-by-heart-rate.json +0 -0
  2196. data/_data/calculators/en/sports-calc/calories-burned.json +0 -0
  2197. data/_data/calculators/en/sports-calc/chain-length.json +0 -0
  2198. data/_data/calculators/en/sports-calc/cricket-follow-on.json +0 -0
  2199. data/_data/calculators/en/sports-calc/cycling-breakaway.json +0 -0
  2200. data/_data/calculators/en/sports-calc/cycling-hr.json +0 -0
  2201. data/_data/calculators/en/sports-calc/cycling-wattage.json +0 -0
  2202. data/_data/calculators/en/sports-calc/cycling-zones.json +0 -0
  2203. data/_data/calculators/en/sports-calc/din-ski.json +0 -0
  2204. data/_data/calculators/en/sports-calc/duckworth-lewis.json +0 -0
  2205. data/_data/calculators/en/sports-calc/dunk.json +0 -0
  2206. data/_data/calculators/en/sports-calc/earned-run-average.json +0 -0
  2207. data/_data/calculators/en/sports-calc/efg.json +0 -0
  2208. data/_data/calculators/en/sports-calc/elliptical-calorie.json +0 -0
  2209. data/_data/calculators/en/sports-calc/elo.json +0 -0
  2210. data/_data/calculators/en/sports-calc/erg.json +0 -0
  2211. data/_data/calculators/en/sports-calc/fat-burning-zone.json +0 -0
  2212. data/_data/calculators/en/sports-calc/fip.json +0 -0
  2213. data/_data/calculators/en/sports-calc/fishing-reel-line-capacity.json +0 -0
  2214. data/_data/calculators/en/sports-calc/fpct.json +0 -0
  2215. data/_data/calculators/en/sports-calc/gaa.json +0 -0
  2216. data/_data/calculators/en/sports-calc/game-score.json +0 -0
  2217. data/_data/calculators/en/sports-calc/heart-rate-zone.json +0 -0
  2218. data/_data/calculators/en/sports-calc/heart-rate.json +0 -0
  2219. data/_data/calculators/en/sports-calc/heptathlon.json +0 -0
  2220. data/_data/calculators/en/sports-calc/hiking.json +0 -0
  2221. data/_data/calculators/en/sports-calc/hull-speed.json +0 -0
  2222. data/_data/calculators/en/sports-calc/human-punch-force.json +0 -0
  2223. data/_data/calculators/en/sports-calc/icc.json +0 -0
  2224. data/_data/calculators/en/sports-calc/jump-rope-calorie.json +0 -0
  2225. data/_data/calculators/en/sports-calc/kiteboarding.json +0 -0
  2226. data/_data/calculators/en/sports-calc/magic-number.json +0 -0
  2227. data/_data/calculators/en/sports-calc/marathon-pace.json +0 -0
  2228. data/_data/calculators/en/sports-calc/max-heart-rate.json +0 -0
  2229. data/_data/calculators/en/sports-calc/met-minutes-per-week.json +0 -0
  2230. data/_data/calculators/en/sports-calc/navy-prt.json +0 -0
  2231. data/_data/calculators/en/sports-calc/nrr.json +0 -0
  2232. data/_data/calculators/en/sports-calc/on-base-percentage.json +0 -0
  2233. data/_data/calculators/en/sports-calc/one-rep-max.json +0 -0
  2234. data/_data/calculators/en/sports-calc/pace.json +0 -0
  2235. data/_data/calculators/en/sports-calc/passer-rating.json +0 -0
  2236. data/_data/calculators/en/sports-calc/pool-table-room-size.json +0 -0
  2237. data/_data/calculators/en/sports-calc/race-predictor.json +0 -0
  2238. data/_data/calculators/en/sports-calc/race-time-improvement.json +0 -0
  2239. data/_data/calculators/en/sports-calc/running-calorie.json +0 -0
  2240. data/_data/calculators/en/sports-calc/ski-size.json +0 -0
  2241. data/_data/calculators/en/sports-calc/slugging-percentage.json +0 -0
  2242. data/_data/calculators/en/sports-calc/splits.json +0 -0
  2243. data/_data/calculators/en/sports-calc/stairs-calorie.json +0 -0
  2244. data/_data/calculators/en/sports-calc/steps-to-calories.json +0 -0
  2245. data/_data/calculators/en/sports-calc/steps-to-miles.json +0 -0
  2246. data/_data/calculators/en/sports-calc/stride-length.json +0 -0
  2247. data/_data/calculators/en/sports-calc/swimming-calorie.json +0 -0
  2248. data/_data/calculators/en/sports-calc/swimming-time.json +0 -0
  2249. data/_data/calculators/en/sports-calc/target-heart-rate.json +0 -0
  2250. data/_data/calculators/en/sports-calc/tennis-balls.json +0 -0
  2251. data/_data/calculators/en/sports-calc/training-pace.json +0 -0
  2252. data/_data/calculators/en/sports-calc/triathlon-target-heart-rate.json +0 -0
  2253. data/_data/calculators/en/sports-calc/triathlon-training.json +0 -0
  2254. data/_data/calculators/en/sports-calc/triathlon.json +0 -0
  2255. data/_data/calculators/en/sports-calc/ts.json +0 -0
  2256. data/_data/calculators/en/sports-calc/vo2-max-runners.json +0 -0
  2257. data/_data/calculators/en/sports-calc/vo2-max.json +0 -0
  2258. data/_data/calculators/en/sports-calc/walking-calorie.json +0 -0
  2259. data/_data/calculators/en/sports-calc/war.json +0 -0
  2260. data/_data/calculators/en/sports-calc/weight-loss.json +0 -0
  2261. data/_data/calculators/en/sports-calc/whip-baseball.json +0 -0
  2262. data/_data/calculators/en/sports-calc/wilks.json +0 -0
  2263. data/_data/calculators/en/sports-calc/windsurfing.json +0 -0
  2264. data/_data/calculators/en/sports-calc/winning-percentage.json +0 -0
  2265. data/_data/calculators/en/statistics-calc/class-width.json +0 -0
  2266. data/_data/calculators/en/statistics-calc/covariance.json +0 -0
  2267. data/_data/calculators/en/statistics-calc/critical-value.json +0 -0
  2268. data/_data/calculators/en/statistics-calc/cubic-regression.json +0 -0
  2269. data/_data/calculators/en/statistics-calc/degrees-of-freedom.json +0 -0
  2270. data/_data/calculators/en/statistics-calc/error-propagation.json +0 -0
  2271. data/_data/calculators/en/statistics-calc/exponential-regression.json +0 -0
  2272. data/_data/calculators/en/statistics-calc/f-statistic.json +0 -0
  2273. data/_data/calculators/en/statistics-calc/fishers-exact-test.json +0 -0
  2274. data/_data/calculators/en/statistics-calc/five-star-rating.json +0 -0
  2275. data/_data/calculators/en/statistics-calc/linear-regression.json +0 -0
  2276. data/_data/calculators/en/statistics-calc/margin-of-error.json +0 -0
  2277. data/_data/calculators/en/statistics-calc/matthews-correlation-coefficient.json +0 -0
  2278. data/_data/calculators/en/statistics-calc/mcnemars-test.json +0 -0
  2279. data/_data/calculators/en/statistics-calc/normal-approximation.json +0 -0
  2280. data/_data/calculators/en/statistics-calc/p-value.json +0 -0
  2281. data/_data/calculators/en/statistics-calc/point-estimate.json +0 -0
  2282. data/_data/calculators/en/statistics-calc/polynomial-regression.json +0 -0
  2283. data/_data/calculators/en/statistics-calc/quadratic-regression.json +0 -0
  2284. data/_data/calculators/en/statistics-calc/relative-error.json +0 -0
  2285. data/_data/calculators/en/statistics-calc/residual.json +0 -0
  2286. data/_data/calculators/en/statistics-calc/sample-size.json +0 -0
  2287. data/_data/calculators/en/statistics-calc/sampling-error.json +0 -0
  2288. data/_data/calculators/en/statistics-calc/sdi.json +0 -0
  2289. data/_data/calculators/en/statistics-calc/shannon-entropy.json +0 -0
  2290. data/_data/calculators/en/statistics-calc/standard-deviation-sample-mean.json +0 -0
  2291. data/_data/calculators/en/statistics-calc/t-test.json +0 -0
  2292. data/_data/calculators/en/statistics-calc/u-test.json +0 -0
  2293. data/_data/calculators/en/statistics-calc/wilcoxon-rank-sum-test.json +0 -0
  2294. data/_data/calculators/en/statistics-calc/z-score.json +0 -0
  2295. data/_data/calculators/en/statistics-calc/z-test.json +0 -0
  2296. data/_data/contact/en/contact.json +0 -0
  2297. data/_data/customcdns/customcdns.yml +0 -0
  2298. data/_data/disclaimer/en/disclaimer.json +0 -0
  2299. data/_data/download/en/download.json +0 -0
  2300. data/_data/feature/en/3_shop_posters.json +0 -0
  2301. data/_data/feature/en/allele-frequency.json +0 -0
  2302. data/_data/feature/en/batch-conversion.json +0 -0
  2303. data/_data/feature/en/compress-pdf.json +0 -0
  2304. data/_data/feature/en/face-detection.json +0 -0
  2305. data/_data/feature/en/split-pdf.json +0 -0
  2306. data/_data/feature/en/theframe.json +0 -0
  2307. data/_data/feature/hi/compress-pdf.json +0 -0
  2308. data/_data/feature/tr/compress-pdf.json +0 -0
  2309. data/_data/filecomparison/en/filecomparison.json +0 -0
  2310. data/_data/fileinfo/en/fileinfo.json +0 -0
  2311. data/_data/footer/en/data.json +0 -0
  2312. data/_data/footer/hi/data.json +0 -0
  2313. data/_data/footer/networksites.json +0 -0
  2314. data/_data/header/en/data.json +0 -0
  2315. data/_data/header/hi/data.json +0 -0
  2316. data/_data/help/en/help.json +0 -0
  2317. data/_data/home/en/en.json +0 -0
  2318. data/_data/home/en/photoeffects.json +0 -0
  2319. data/_data/home/en/posters.json +0 -0
  2320. data/_data/home/hi/hi.json +0 -0
  2321. data/_data/home-1/en/en.json +0 -0
  2322. data/_data/languagesupport/compress-pdf-langs.json +0 -0
  2323. data/_data/languagesupport/index-langs.json +0 -0
  2324. data/_data/photo-categories.json +0 -0
  2325. data/_data/photoeffects.json +0 -0
  2326. data/_data/privacy/en/privacyPolicy.json +0 -0
  2327. data/_data/rating/rating.json +0 -0
  2328. data/_data/termAndCondition/en/termAndCondition.json +0 -0
  2329. data/_includes/Rating/rating.html +0 -0
  2330. data/_includes/Rating/structureddata.html +0 -0
  2331. data/_includes/Usp/usp.html +0 -0
  2332. data/_includes/adblocker.html +0 -0
  2333. data/_includes/adsense/adsense.html +0 -0
  2334. data/_includes/alternates/alternates.html +0 -0
  2335. data/_includes/author_bio.html +0 -0
  2336. data/_includes/authors/authors.html +0 -0
  2337. data/_includes/batch-conversion.html +0 -0
  2338. data/_includes/bookmark.html +0 -0
  2339. data/_includes/cssfile/links.html +0 -0
  2340. data/_includes/custom-head.html +0 -0
  2341. data/_includes/customblog/recentposts.html +0 -0
  2342. data/_includes/customblog/relatedposts.html +0 -0
  2343. data/_includes/disqus_comments.html +0 -0
  2344. data/_includes/dropdown/langdropdown.html +0 -0
  2345. data/_includes/feature.html +0 -0
  2346. data/_includes/fileformat/Tabularcompariosn.html +0 -0
  2347. data/_includes/fileformat/comparisonfiles.html +0 -0
  2348. data/_includes/fileformat/fileformatdetail.html +0 -0
  2349. data/_includes/fileformat/fileinfoformat.html +0 -0
  2350. data/_includes/footer/index.html +0 -0
  2351. data/_includes/google-analytics.html +24 -13
  2352. data/_includes/head/index.html +296 -108
  2353. data/_includes/header/blogHeader.html +0 -0
  2354. data/_includes/header/index.html +0 -0
  2355. data/_includes/languages/languages.html +0 -0
  2356. data/_includes/monumetric/ads.html +0 -0
  2357. data/_includes/monumetric/monumetric.html +0 -0
  2358. data/_includes/monumetric/profitablecpmgate.html +0 -0
  2359. data/_includes/nofiletransfer/nofiletransfer.html +0 -0
  2360. data/_includes/paginationBlogPage.html +0 -0
  2361. data/_includes/paginationPostPage.html +0 -0
  2362. data/_includes/postauthorbio.html +0 -0
  2363. data/_includes/postbox.html +0 -0
  2364. data/_includes/script.html +0 -0
  2365. data/_includes/section/alertbar.html +0 -0
  2366. data/_includes/section/count.html +0 -0
  2367. data/_includes/section/recent_posts.html +0 -0
  2368. data/_includes/section/related_categories_post.html +0 -0
  2369. data/_includes/share/socialshare.html +0 -0
  2370. data/_includes/staticfooter.html +0 -0
  2371. data/_layouts/aboutUs.html +0 -0
  2372. data/_layouts/audio.html +0 -0
  2373. data/_layouts/batch.html +0 -0
  2374. data/_layouts/blog-1.html +0 -0
  2375. data/_layouts/blog.html +0 -0
  2376. data/_layouts/calculator.html +0 -0
  2377. data/_layouts/categories.html +0 -0
  2378. data/_layouts/contactUs.html +0 -0
  2379. data/_layouts/default.html +0 -0
  2380. data/_layouts/disclaimer.html +0 -0
  2381. data/_layouts/download.html +0 -0
  2382. data/_layouts/feature-1.html +0 -0
  2383. data/_layouts/feature-download.html +0 -0
  2384. data/_layouts/feature.html +0 -0
  2385. data/_layouts/featureResultPage.html +0 -0
  2386. data/_layouts/fileInfo.html +0 -0
  2387. data/_layouts/filecomparison.html +0 -0
  2388. data/_layouts/frame.html +0 -0
  2389. data/_layouts/help.html +0 -0
  2390. data/_layouts/home-1.html +0 -0
  2391. data/_layouts/home.html +0 -0
  2392. data/_layouts/homeResultPage.html +0 -0
  2393. data/_layouts/imagekit.html +0 -0
  2394. data/_layouts/page.html +0 -0
  2395. data/_layouts/photo-effects-home.html +0 -0
  2396. data/_layouts/post.html +0 -0
  2397. data/_layouts/privacyPolicy.html +0 -0
  2398. data/_layouts/termAndCondition.html +0 -0
  2399. data/_layouts/video.html +0 -0
  2400. data/assets/.DS_Store +0 -0
  2401. data/assets/bulb.svg +0 -0
  2402. data/assets/cloud.svg +0 -0
  2403. data/assets/cross.svg +0 -0
  2404. data/assets/css/adblocker.css +0 -0
  2405. data/assets/css/batch.css +0 -0
  2406. data/assets/css/blog-1.css +0 -0
  2407. data/assets/css/blog.css +0 -0
  2408. data/assets/css/bootstrap.min.css +0 -0
  2409. data/assets/css/calculators.css +0 -0
  2410. data/assets/css/common.css +0 -0
  2411. data/assets/css/feature-1.css +0 -0
  2412. data/assets/css/filecomparison.css +0 -0
  2413. data/assets/css/frame.css +0 -0
  2414. data/assets/css/home-1.css +0 -0
  2415. data/assets/css/imagekit.css +0 -0
  2416. data/assets/css/responsive.css +0 -0
  2417. data/assets/css/tools.css +0 -0
  2418. data/assets/easy.svg +0 -0
  2419. data/assets/facebook.svg +0 -0
  2420. data/assets/fileimg/0RX6D8V.jpeg +0 -0
  2421. data/assets/fileimg/11To9CR.jpeg +0 -0
  2422. data/assets/fileimg/16q77H1.jpeg +0 -0
  2423. data/assets/fileimg/1o2rNBD.jpeg +0 -0
  2424. data/assets/fileimg/2DVHHaP.jpeg +0 -0
  2425. data/assets/fileimg/38J4iOl.jpeg +0 -0
  2426. data/assets/fileimg/38SErjW.jpeg +0 -0
  2427. data/assets/fileimg/3JbciOH.jpeg +0 -0
  2428. data/assets/fileimg/51PJjGr.jpeg +0 -0
  2429. data/assets/fileimg/5938cLE.jpeg +0 -0
  2430. data/assets/fileimg/5hGiNf7.jpeg +0 -0
  2431. data/assets/fileimg/69oMRM0.jpeg +0 -0
  2432. data/assets/fileimg/6WTDOAw.jpeg +0 -0
  2433. data/assets/fileimg/6hQNdGk.jpeg +0 -0
  2434. data/assets/fileimg/6uyiajm.jpeg +0 -0
  2435. data/assets/fileimg/6z9n45v.jpeg +0 -0
  2436. data/assets/fileimg/7Z9sNdy.jpeg +0 -0
  2437. data/assets/fileimg/7eQehmc.jpeg +0 -0
  2438. data/assets/fileimg/7xNWYRA.jpeg +0 -0
  2439. data/assets/fileimg/82vepge.jpeg +0 -0
  2440. data/assets/fileimg/8A6rYqw.jpeg +0 -0
  2441. data/assets/fileimg/8aN9yEj.jpeg +0 -0
  2442. data/assets/fileimg/99jo0FJ.jpeg +0 -0
  2443. data/assets/fileimg/A2QFJgs.jpeg +0 -0
  2444. data/assets/fileimg/AuNqAKT.jpeg +0 -0
  2445. data/assets/fileimg/BV8ML15.jpeg +0 -0
  2446. data/assets/fileimg/Cc9amsH.jpeg +0 -0
  2447. data/assets/fileimg/Cjoa7OB.jpeg +0 -0
  2448. data/assets/fileimg/Dh0nFk6.jpeg +0 -0
  2449. data/assets/fileimg/EuFgmVh.jpeg +0 -0
  2450. data/assets/fileimg/F87GDJM.jpeg +0 -0
  2451. data/assets/fileimg/FAo0QEL.jpeg +0 -0
  2452. data/assets/fileimg/FSHZ7pW.jpeg +0 -0
  2453. data/assets/fileimg/FYEygcW.jpeg +0 -0
  2454. data/assets/fileimg/FdqTl1x.jpeg +0 -0
  2455. data/assets/fileimg/H7CZmss.jpeg +0 -0
  2456. data/assets/fileimg/HAhjqEA.jpeg +0 -0
  2457. data/assets/fileimg/HmizpGb.jpeg +0 -0
  2458. data/assets/fileimg/IKdU9NN.jpeg +0 -0
  2459. data/assets/fileimg/JEuwwVE.jpeg +0 -0
  2460. data/assets/fileimg/JeFS57j.jpeg +0 -0
  2461. data/assets/fileimg/KXTzTK7.jpeg +0 -0
  2462. data/assets/fileimg/Kp0egqG.jpeg +0 -0
  2463. data/assets/fileimg/MX9qrvZ.jpeg +0 -0
  2464. data/assets/fileimg/Mny97V6.jpeg +0 -0
  2465. data/assets/fileimg/Mt9PAUF.jpeg +0 -0
  2466. data/assets/fileimg/NY9GTXm.jpeg +0 -0
  2467. data/assets/fileimg/O1HqazZ.jpeg +0 -0
  2468. data/assets/fileimg/P6WGAMN.jpeg +0 -0
  2469. data/assets/fileimg/PLx4Opv.jpeg +0 -0
  2470. data/assets/fileimg/PePZ5cb.jpeg +0 -0
  2471. data/assets/fileimg/PtakFU2.jpeg +0 -0
  2472. data/assets/fileimg/QdcouPN.jpeg +0 -0
  2473. data/assets/fileimg/RUVWLwB.jpeg +0 -0
  2474. data/assets/fileimg/SJ29L8A.jpeg +0 -0
  2475. data/assets/fileimg/TmHdEAq.jpeg +0 -0
  2476. data/assets/fileimg/TnwKQd9.jpeg +0 -0
  2477. data/assets/fileimg/U6hLUgu.jpeg +0 -0
  2478. data/assets/fileimg/V2G1SGL.jpeg +0 -0
  2479. data/assets/fileimg/WBNj13N.jpeg +0 -0
  2480. data/assets/fileimg/WofJU7C.jpeg +0 -0
  2481. data/assets/fileimg/XLdMM90.jpeg +0 -0
  2482. data/assets/fileimg/XYvKzO9.jpeg +0 -0
  2483. data/assets/fileimg/Xa1wjEf.jpeg +0 -0
  2484. data/assets/fileimg/XxsKREw.jpeg +0 -0
  2485. data/assets/fileimg/YaqCA2d.jpeg +0 -0
  2486. data/assets/fileimg/YmBdG16.jpeg +0 -0
  2487. data/assets/fileimg/ZTI2NTv.jpeg +0 -0
  2488. data/assets/fileimg/acdsee.png +0 -0
  2489. data/assets/fileimg/b18tt3b.jpeg +0 -0
  2490. data/assets/fileimg/bC8ZzSs.jpeg +0 -0
  2491. data/assets/fileimg/c2PuNRk.jpeg +0 -0
  2492. data/assets/fileimg/c5Zl0O1.jpeg +0 -0
  2493. data/assets/fileimg/cPO8bqH.jpeg +0 -0
  2494. data/assets/fileimg/cfwD39J.jpeg +0 -0
  2495. data/assets/fileimg/d5byEov.jpeg +0 -0
  2496. data/assets/fileimg/diIDQ4M.jpeg +0 -0
  2497. data/assets/fileimg/e9cgmZo.jpeg +0 -0
  2498. data/assets/fileimg/fClLkgM.jpeg +0 -0
  2499. data/assets/fileimg/fVyIEs4.jpeg +0 -0
  2500. data/assets/fileimg/ffv3iNy.jpeg +0 -0
  2501. data/assets/fileimg/hJWCII5.jpeg +0 -0
  2502. data/assets/fileimg/hnkzD4T.jpeg +0 -0
  2503. data/assets/fileimg/hodO9zz.jpeg +0 -0
  2504. data/assets/fileimg/irCSU4s.jpeg +0 -0
  2505. data/assets/fileimg/jcTagMw.jpeg +0 -0
  2506. data/assets/fileimg/jsU9KjR.jpeg +0 -0
  2507. data/assets/fileimg/kXyPDCs.jpeg +0 -0
  2508. data/assets/fileimg/lWFl5mc.jpeg +0 -0
  2509. data/assets/fileimg/mF1gtxb.jpeg +0 -0
  2510. data/assets/fileimg/mSrHgSp.jpeg +0 -0
  2511. data/assets/fileimg/nrsG7Ys.jpeg +0 -0
  2512. data/assets/fileimg/ovQYI78.jpeg +0 -0
  2513. data/assets/fileimg/p5rWIzT.jpeg +0 -0
  2514. data/assets/fileimg/p64BUbi.jpeg +0 -0
  2515. data/assets/fileimg/pgXaxjb.jpeg +0 -0
  2516. data/assets/fileimg/pqcWQ2F.jpeg +0 -0
  2517. data/assets/fileimg/qwnEy06.jpeg +0 -0
  2518. data/assets/fileimg/rElyIoV.jpeg +0 -0
  2519. data/assets/fileimg/rawD7q8.jpeg +0 -0
  2520. data/assets/fileimg/rrCOBeO.jpeg +0 -0
  2521. data/assets/fileimg/sOBpiyF.jpeg +0 -0
  2522. data/assets/fileimg/t2WljZe.jpeg +0 -0
  2523. data/assets/fileimg/uoX9gqI.jpeg +0 -0
  2524. data/assets/fileimg/upbts7y.jpeg +0 -0
  2525. data/assets/fileimg/vyEg9wb.jpeg +0 -0
  2526. data/assets/fileimg/wAHKc6t.jpeg +0 -0
  2527. data/assets/fileimg/wJy7aoh.jpeg +0 -0
  2528. data/assets/fileimg/wK1B8lS.jpeg +0 -0
  2529. data/assets/fileimg/wcqHWtb.jpeg +0 -0
  2530. data/assets/fileimg/xbfyrdU.jpeg +0 -0
  2531. data/assets/fileimg/xeDZX8x.jpeg +0 -0
  2532. data/assets/fonts/Calligraphy.ttf +0 -0
  2533. data/assets/guaranty.svg +0 -0
  2534. data/assets/homeimages/3_shop_posters-main.png +0 -0
  2535. data/assets/images/.DS_Store +0 -0
  2536. data/assets/images/3_shop_posters.png +0 -0
  2537. data/assets/images/Ankita.webp +0 -0
  2538. data/assets/images/Anushka.webp +0 -0
  2539. data/assets/images/Arjyahi.webp +0 -0
  2540. data/assets/images/Nikita.webp +0 -0
  2541. data/assets/images/abp.svg +0 -0
  2542. data/assets/images/adblock.svg +0 -0
  2543. data/assets/images/add-image.png +0 -0
  2544. data/assets/images/add.png +0 -0
  2545. data/assets/images/add.svg +0 -0
  2546. data/assets/images/addimg.svg +0 -0
  2547. data/assets/images/alka.webp +0 -0
  2548. data/assets/images/audio-upload.svg +0 -0
  2549. data/assets/images/avatar.png +0 -0
  2550. data/assets/images/balark.jpeg +0 -0
  2551. data/assets/images/bulb.png +0 -0
  2552. data/assets/images/bulb.svg +0 -0
  2553. data/assets/images/bunnies.png +0 -0
  2554. data/assets/images/cloud-computing.png +0 -0
  2555. data/assets/images/cloud_new.svg +0 -0
  2556. data/assets/images/convert.png +0 -0
  2557. data/assets/images/convert.svg +0 -0
  2558. data/assets/images/cross.svg +0 -0
  2559. data/assets/images/download.png +0 -0
  2560. data/assets/images/dropbox.png +0 -0
  2561. data/assets/images/faceframe.png +0 -0
  2562. data/assets/images/fast.svg +0 -0
  2563. data/assets/images/file.png +0 -0
  2564. data/assets/images/fileformat.webp +0 -0
  2565. data/assets/images/gallary.png +0 -0
  2566. data/assets/images/google-drive.png +0 -0
  2567. data/assets/images/google-drive.svg +0 -0
  2568. data/assets/images/image.webp +0 -0
  2569. data/assets/images/keshav.webp +0 -0
  2570. data/assets/images/krutika.jpeg +0 -0
  2571. data/assets/images/lightbulb.svg +0 -0
  2572. data/assets/images/loader.gif +0 -0
  2573. data/assets/images/logo.png +0 -0
  2574. data/assets/images/paavan.webp +0 -0
  2575. data/assets/images/pallavi.jpeg +0 -0
  2576. data/assets/images/rating.png +0 -0
  2577. data/assets/images/safeimagekit. (2).png +0 -0
  2578. data/assets/images/safeimagekit. (3).png +0 -0
  2579. data/assets/images/safeimagekit..png +0 -0
  2580. data/assets/images/safeimagekit.png +0 -0
  2581. data/assets/images/safevideoconverter.svg +0 -0
  2582. data/assets/images/shield.svg +0 -0
  2583. data/assets/images/siddhika.jpeg +0 -0
  2584. data/assets/images/sona.jpeg +0 -0
  2585. data/assets/images/spinner.gif +0 -0
  2586. data/assets/images/target.svg +0 -0
  2587. data/assets/images/together_foreve (2).png +0 -0
  2588. data/assets/images/together_foreve.png +0 -0
  2589. data/assets/images/together_forever.png +0 -0
  2590. data/assets/images/trust.svg +0 -0
  2591. data/assets/images/udit.jpeg +0 -0
  2592. data/assets/images/udit.jpg +0 -0
  2593. data/assets/images/udit.png +0 -0
  2594. data/assets/images/uo.svg +0 -0
  2595. data/assets/images/vectorpaint.svg +0 -0
  2596. data/assets/instagram.svg +0 -0
  2597. data/assets/js/TopScroll.js +0 -0
  2598. data/assets/js/adBlocker.js +0 -0
  2599. data/assets/js/ads.js +0 -0
  2600. data/assets/js/append-div.js +0 -0
  2601. data/assets/js/batch.js +0 -0
  2602. data/assets/js/calculator-tooltip.js +0 -0
  2603. data/assets/js/face-api.js +0 -0
  2604. data/assets/js/face-detection.js +0 -0
  2605. data/assets/js/faceSystem.js +0 -0
  2606. data/assets/js/featureResult.js +0 -0
  2607. data/assets/js/frame.js +0 -0
  2608. data/assets/js/googledrive.js +0 -0
  2609. data/assets/js/homeResult.js +0 -0
  2610. data/assets/js/manifest.json +0 -0
  2611. data/assets/js/models/age_gender_model-shard1 +0 -0
  2612. data/assets/js/models/age_gender_model-weights_manifest.json +0 -0
  2613. data/assets/js/models/face_expression_model-shard1 +0 -0
  2614. data/assets/js/models/face_expression_model-weights_manifest.json +0 -0
  2615. data/assets/js/models/face_landmark_68_model-shard1 +0 -0
  2616. data/assets/js/models/face_landmark_68_model-weights_manifest.json +0 -0
  2617. data/assets/js/models/face_landmark_68_tiny_model-shard1 +0 -0
  2618. data/assets/js/models/face_landmark_68_tiny_model-weights_manifest.json +0 -0
  2619. data/assets/js/models/face_recognition_model-shard1 +0 -0
  2620. data/assets/js/models/face_recognition_model-shard2 +0 -0
  2621. data/assets/js/models/face_recognition_model-weights_manifest.json +0 -0
  2622. data/assets/js/models/mtcnn_model-shard1 +0 -0
  2623. data/assets/js/models/mtcnn_model-weights_manifest.json +0 -0
  2624. data/assets/js/models/ssd_mobilenetv1_model-shard1 +0 -0
  2625. data/assets/js/models/ssd_mobilenetv1_model-shard2 +0 -0
  2626. data/assets/js/models/ssd_mobilenetv1_model-weights_manifest.json +0 -0
  2627. data/assets/js/models/tiny_face_detector_model-shard1 +0 -0
  2628. data/assets/js/models/tiny_face_detector_model-weights_manifest.json +0 -0
  2629. data/assets/js/multiselect.js +0 -0
  2630. data/assets/js/partytown/debug/partytown-atomics.js +572 -0
  2631. data/assets/js/partytown/debug/partytown-media.js +374 -0
  2632. data/assets/js/partytown/debug/partytown-sandbox-sw.js +559 -0
  2633. data/assets/js/partytown/debug/partytown-sw.js +59 -0
  2634. data/assets/js/partytown/debug/partytown-ww-atomics.js +1876 -0
  2635. data/assets/js/partytown/debug/partytown-ww-sw.js +1868 -0
  2636. data/assets/js/partytown/debug/partytown.js +75 -0
  2637. data/assets/js/partytown/partytown-atomics.js +2 -0
  2638. data/assets/js/partytown/partytown-media.js +2 -0
  2639. data/assets/js/partytown/partytown-sw.js +2 -0
  2640. data/assets/js/perspective.min.js +0 -0
  2641. data/assets/js/photo-effects.json +0 -0
  2642. data/assets/js/redirectResult.js +0 -0
  2643. data/assets/js/testing-batch.js +0 -0
  2644. data/assets/js/theme.js +0 -0
  2645. data/assets/linkdin.svg +0 -0
  2646. data/assets/noserverupload.svg +0 -0
  2647. data/assets/pdf.svg +0 -0
  2648. data/assets/protect.svg +0 -0
  2649. data/assets/secure.svg +0 -0
  2650. data/assets/star.svg +0 -0
  2651. data/assets/support.svg +0 -0
  2652. data/assets/twitter.svg +0 -0
  2653. data/assets/youtube.svg +0 -0
  2654. metadata +13 -3
@@ -0,0 +1,1876 @@
1
+ /* Partytown 0.7.5 - MIT builder.io */
2
+ (self => {
3
+ const WinIdKey = Symbol();
4
+ const InstanceIdKey = Symbol();
5
+ const InstanceDataKey = Symbol();
6
+ const NamespaceKey = Symbol();
7
+ const ApplyPathKey = Symbol();
8
+ const InstanceStateKey = Symbol();
9
+ const HookContinue = Symbol();
10
+ const HookPrevent = Symbol();
11
+ const webWorkerInstances = new Map;
12
+ const webWorkerRefsByRefId = {};
13
+ const webWorkerRefIdsByRef = new WeakMap;
14
+ const postMessages = [];
15
+ const webWorkerCtx = {};
16
+ const webWorkerlocalStorage = new Map;
17
+ const webWorkerSessionStorage = new Map;
18
+ const environments = {};
19
+ const cachedDimensions = new Map;
20
+ const cachedStructure = new Map;
21
+ const commaSplit = str => str.split(",");
22
+ const partytownLibUrl = url => {
23
+ url = webWorkerCtx.$libPath$ + url;
24
+ if (new URL(url).origin != location.origin) {
25
+ throw "Invalid " + url;
26
+ }
27
+ return url;
28
+ };
29
+ const getterDimensionPropNames = commaSplit("clientWidth,clientHeight,clientTop,clientLeft,innerWidth,innerHeight,offsetWidth,offsetHeight,offsetTop,offsetLeft,outerWidth,outerHeight,pageXOffset,pageYOffset,scrollWidth,scrollHeight,scrollTop,scrollLeft");
30
+ const elementStructurePropNames = commaSplit("childElementCount,children,firstElementChild,lastElementChild,nextElementSibling,previousElementSibling");
31
+ const structureChangingMethodNames = commaSplit("insertBefore,remove,removeChild,replaceChild");
32
+ const dimensionChangingSetterNames = commaSplit("className,width,height,hidden,innerHTML,innerText,textContent");
33
+ const dimensionChangingMethodNames = commaSplit("setAttribute,setAttributeNS,setProperty");
34
+ const eventTargetMethods = commaSplit("addEventListener,dispatchEvent,removeEventListener");
35
+ const nonBlockingMethods = eventTargetMethods.concat(dimensionChangingMethodNames, commaSplit("add,observe,remove,unobserve"));
36
+ const IS_TAG_REG = /^[A-Z_]([A-Z0-9-]*[A-Z0-9])?$/;
37
+ const noop = () => {};
38
+ const len = obj => obj.length;
39
+ const getConstructorName = obj => {
40
+ var _a, _b, _c;
41
+ try {
42
+ const constructorName = null === (_a = null == obj ? void 0 : obj.constructor) || void 0 === _a ? void 0 : _a.name;
43
+ if (constructorName) {
44
+ return constructorName;
45
+ }
46
+ } catch (e) {}
47
+ try {
48
+ const zoneJsConstructorName = null === (_c = null === (_b = null == obj ? void 0 : obj.__zone_symbol__originalInstance) || void 0 === _b ? void 0 : _b.constructor) || void 0 === _c ? void 0 : _c.name;
49
+ if (zoneJsConstructorName) {
50
+ return zoneJsConstructorName;
51
+ }
52
+ } catch (e) {}
53
+ return "";
54
+ };
55
+ const EMPTY_ARRAY = [];
56
+ const randomId = () => Math.round(Math.random() * Number.MAX_SAFE_INTEGER).toString(36);
57
+ const SCRIPT_TYPE = "text/partytown";
58
+ const defineProperty = (obj, memberName, descriptor) => Object.defineProperty(obj, memberName, {
59
+ ...descriptor,
60
+ configurable: true
61
+ });
62
+ const defineConstructorName = (Cstr, value) => defineProperty(Cstr, "name", {
63
+ value: value
64
+ });
65
+ const definePrototypeProperty = (Cstr, memberName, descriptor) => defineProperty(Cstr.prototype, memberName, descriptor);
66
+ const definePrototypePropertyDescriptor = (Cstr, propertyDescriptorMap) => Object.defineProperties(Cstr.prototype, propertyDescriptorMap);
67
+ const definePrototypeValue = (Cstr, memberName, value) => definePrototypeProperty(Cstr, memberName, {
68
+ value: value,
69
+ writable: true
70
+ });
71
+ const hasInstanceStateValue = (instance, stateKey) => stateKey in instance[InstanceStateKey];
72
+ const getInstanceStateValue = (instance, stateKey) => instance[InstanceStateKey][stateKey];
73
+ const setInstanceStateValue = (instance, stateKey, stateValue) => instance[InstanceStateKey][stateKey] = stateValue;
74
+ const setWorkerRef = (ref, refId) => {
75
+ if (!(refId = webWorkerRefIdsByRef.get(ref))) {
76
+ webWorkerRefIdsByRef.set(ref, refId = randomId());
77
+ webWorkerRefsByRefId[refId] = ref;
78
+ }
79
+ return refId;
80
+ };
81
+ const getOrCreateNodeInstance = (winId, instanceId, nodeName, namespace, instance) => {
82
+ instance = webWorkerInstances.get(instanceId);
83
+ if (!instance && nodeName && environments[winId]) {
84
+ instance = environments[winId].$createNode$(nodeName, instanceId, namespace);
85
+ webWorkerInstances.set(instanceId, instance);
86
+ }
87
+ return instance;
88
+ };
89
+ const definePrototypeNodeType = (Cstr, nodeType) => definePrototypeValue(Cstr, "nodeType", nodeType);
90
+ const cachedTreeProps = (Cstr, treeProps) => treeProps.map((propName => definePrototypeProperty(Cstr, propName, {
91
+ get() {
92
+ let cacheKey = getInstanceCacheKey(this, propName);
93
+ let result = cachedStructure.get(cacheKey);
94
+ if (!result) {
95
+ result = getter(this, [ propName ]);
96
+ cachedStructure.set(cacheKey, result);
97
+ }
98
+ return result;
99
+ }
100
+ })));
101
+ const getInstanceCacheKey = (instance, memberName, args) => [ instance[WinIdKey], instance[InstanceIdKey], memberName, ...(args || EMPTY_ARRAY).map((arg => String(arg && arg[WinIdKey] ? arg[InstanceIdKey] : arg))) ].join(".");
102
+ const cachedProps = (Cstr, propNames) => commaSplit(propNames).map((propName => definePrototypeProperty(Cstr, propName, {
103
+ get() {
104
+ hasInstanceStateValue(this, propName) || setInstanceStateValue(this, propName, getter(this, [ propName ]));
105
+ return getInstanceStateValue(this, propName);
106
+ },
107
+ set(val) {
108
+ getInstanceStateValue(this, propName) !== val && setter(this, [ propName ], val);
109
+ setInstanceStateValue(this, propName, val);
110
+ }
111
+ })));
112
+ const cachedDimensionProps = Cstr => getterDimensionPropNames.map((propName => definePrototypeProperty(Cstr, propName, {
113
+ get() {
114
+ const dimension = cachedDimensions.get(getInstanceCacheKey(this, propName));
115
+ if ("number" == typeof dimension) {
116
+ return dimension;
117
+ }
118
+ const groupedDimensions = getter(this, [ propName ], getterDimensionPropNames);
119
+ if (groupedDimensions && "object" == typeof groupedDimensions) {
120
+ Object.entries(groupedDimensions).map((([dimensionPropName, value]) => cachedDimensions.set(getInstanceCacheKey(this, dimensionPropName), value)));
121
+ return groupedDimensions[propName];
122
+ }
123
+ return groupedDimensions;
124
+ }
125
+ })));
126
+ const cachedDimensionMethods = (Cstr, dimensionMethodNames) => dimensionMethodNames.map((methodName => {
127
+ Cstr.prototype[methodName] = function(...args) {
128
+ let cacheKey = getInstanceCacheKey(this, methodName, args);
129
+ let dimensions = cachedDimensions.get(cacheKey);
130
+ if (!dimensions) {
131
+ dimensions = callMethod(this, [ methodName ], args);
132
+ cachedDimensions.set(cacheKey, dimensions);
133
+ }
134
+ return dimensions;
135
+ };
136
+ }));
137
+ const serializeForMain = ($winId$, $instanceId$, value, added, type) => void 0 !== value && (type = typeof value) ? "string" === type || "boolean" === type || "number" === type || null == value ? [ 0, value ] : "function" === type ? [ 4, {
138
+ $winId$: $winId$,
139
+ $instanceId$: $instanceId$,
140
+ $refId$: setWorkerRef(value)
141
+ } ] : (added = added || new Set) && Array.isArray(value) ? added.has(value) ? [ 1, [] ] : added.add(value) && [ 1, value.map((v => serializeForMain($winId$, $instanceId$, v, added))) ] : "object" === type ? value[InstanceIdKey] ? [ 3, [ value[WinIdKey], value[InstanceIdKey] ] ] : value instanceof Event ? [ 5, serializeObjectForMain($winId$, $instanceId$, value, false, added) ] : supportsTrustedHTML && value instanceof TrustedHTML ? [ 0, value.toString() ] : value instanceof ArrayBuffer ? [ 8, value ] : ArrayBuffer.isView(value) ? [ 9, value.buffer, getConstructorName(value) ] : [ 2, serializeObjectForMain($winId$, $instanceId$, value, true, added) ] : void 0 : value;
142
+ const supportsTrustedHTML = "undefined" != typeof TrustedHTML;
143
+ const serializeObjectForMain = (winId, instanceId, obj, includeFunctions, added, serializedObj, propName, propValue) => {
144
+ serializedObj = {};
145
+ if (!added.has(obj)) {
146
+ added.add(obj);
147
+ for (propName in obj) {
148
+ propValue = obj[propName];
149
+ (includeFunctions || "function" != typeof propValue) && (serializedObj[propName] = serializeForMain(winId, instanceId, propValue, added));
150
+ }
151
+ }
152
+ return serializedObj;
153
+ };
154
+ const serializeInstanceForMain = (instance, value) => instance ? serializeForMain(instance[WinIdKey], instance[InstanceIdKey], value) : [ 0, value ];
155
+ const deserializeFromMain = (winId, instanceId, applyPath, serializedValueTransfer, serializedType, serializedValue, obj, key) => {
156
+ if (serializedValueTransfer) {
157
+ serializedType = serializedValueTransfer[0];
158
+ serializedValue = serializedValueTransfer[1];
159
+ if (0 === serializedType || 11 === serializedType || 12 === serializedType) {
160
+ return serializedValue;
161
+ }
162
+ if (4 === serializedType) {
163
+ return deserializeRefFromMain(applyPath, serializedValue);
164
+ }
165
+ if (6 === serializedType) {
166
+ return winId && applyPath.length > 0 ? (...args) => callMethod(environments[winId].$window$, applyPath, args, 1) : noop;
167
+ }
168
+ if (3 === serializedType) {
169
+ return getOrCreateSerializedInstance(serializedValue);
170
+ }
171
+ if (7 === serializedType) {
172
+ return new NodeList(serializedValue.map(getOrCreateSerializedInstance));
173
+ }
174
+ if (10 === serializedType) {
175
+ return new Attr(serializedValue);
176
+ }
177
+ if (1 === serializedType) {
178
+ return serializedValue.map((v => deserializeFromMain(winId, instanceId, applyPath, v)));
179
+ }
180
+ if (14 === serializedType) {
181
+ return new CustomError(serializedValue);
182
+ }
183
+ obj = {};
184
+ for (key in serializedValue) {
185
+ obj[key] = deserializeFromMain(winId, instanceId, [ ...applyPath, key ], serializedValue[key]);
186
+ }
187
+ if (13 === serializedType) {
188
+ return new environments[winId].$window$.CSSStyleDeclaration(winId, instanceId, applyPath, obj);
189
+ }
190
+ if (5 === serializedType) {
191
+ if ("message" === obj.type && obj.origin) {
192
+ let postMessageKey = JSON.stringify(obj.data);
193
+ let postMessageData = postMessages.find((pm => pm.$data$ === postMessageKey));
194
+ let env;
195
+ if (postMessageData) {
196
+ env = environments[postMessageData.$winId$];
197
+ if (env) {
198
+ obj.source = env.$window$;
199
+ obj.origin = env.$location$.origin;
200
+ }
201
+ }
202
+ }
203
+ return new Proxy(new Event(obj.type, obj), {
204
+ get: (target, propName) => propName in obj ? obj[propName] : "function" == typeof target[String(propName)] ? noop : target[String(propName)]
205
+ });
206
+ }
207
+ if (2 === serializedType) {
208
+ return obj;
209
+ }
210
+ }
211
+ };
212
+ const getOrCreateSerializedInstance = ([winId, instanceId, nodeName]) => instanceId === winId && environments[winId] ? environments[winId].$window$ : getOrCreateNodeInstance(winId, instanceId, nodeName);
213
+ const deserializeRefFromMain = (applyPath, {$winId$: $winId$, $instanceId$: $instanceId$, $nodeName$: $nodeName$, $refId$: $refId$}) => {
214
+ webWorkerRefsByRefId[$refId$] || webWorkerRefIdsByRef.set(webWorkerRefsByRefId[$refId$] = function(...args) {
215
+ const instance = getOrCreateNodeInstance($winId$, $instanceId$, $nodeName$);
216
+ return callMethod(instance, applyPath, args);
217
+ }, $refId$);
218
+ return webWorkerRefsByRefId[$refId$];
219
+ };
220
+ class CustomError extends Error {
221
+ constructor(errorObject) {
222
+ super(errorObject.message);
223
+ this.name = errorObject.name;
224
+ this.message = errorObject.message;
225
+ this.stack = errorObject.stack;
226
+ }
227
+ }
228
+ class NodeList {
229
+ constructor(nodes) {
230
+ (this._ = nodes).map(((node, index) => this[index] = node));
231
+ }
232
+ entries() {
233
+ return this._.entries();
234
+ }
235
+ forEach(cb, thisArg) {
236
+ this._.map(cb, thisArg);
237
+ }
238
+ item(index) {
239
+ return this[index];
240
+ }
241
+ keys() {
242
+ return this._.keys();
243
+ }
244
+ get length() {
245
+ return len(this._);
246
+ }
247
+ values() {
248
+ return this._.values();
249
+ }
250
+ [Symbol.iterator]() {
251
+ return this._[Symbol.iterator]();
252
+ }
253
+ }
254
+ const Attr = class {
255
+ constructor(serializedAttr) {
256
+ this.name = serializedAttr[0];
257
+ this.value = serializedAttr[1];
258
+ }
259
+ get nodeName() {
260
+ return this.name;
261
+ }
262
+ get nodeType() {
263
+ return 2;
264
+ }
265
+ };
266
+ const warnCrossOrgin = (apiType, apiName, env) => console.warn(`Partytown unable to ${apiType} cross-origin ${apiName}: ` + env.$location$);
267
+ const logWorker = (msg, winId) => {
268
+ try {
269
+ const config = webWorkerCtx.$config$;
270
+ if (config.logStackTraces) {
271
+ const frames = (new Error).stack.split("\n");
272
+ const i = frames.findIndex((f => f.includes("logWorker")));
273
+ msg += "\n" + frames.slice(i + 1).join("\n");
274
+ }
275
+ let prefix;
276
+ let color;
277
+ if (winId) {
278
+ prefix = `Worker (${normalizedWinId(winId)}) 🎉`;
279
+ color = winColor(winId);
280
+ } else {
281
+ prefix = self.name;
282
+ color = "#9844bf";
283
+ }
284
+ if (webWorkerCtx.lastLog !== msg) {
285
+ webWorkerCtx.lastLog = msg;
286
+ console.debug.apply(console, [ `%c${prefix}`, `background: ${color}; color: white; padding: 2px 3px; border-radius: 2px; font-size: 0.8em;`, msg ]);
287
+ }
288
+ } catch (e) {}
289
+ };
290
+ const winIds = [];
291
+ const normalizedWinId = winId => {
292
+ winIds.includes(winId) || winIds.push(winId);
293
+ return winIds.indexOf(winId) + 1;
294
+ };
295
+ const winColor = winId => {
296
+ const colors = [ "#00309e", "#ea3655", "#eea727" ];
297
+ const index = normalizedWinId(winId) - 1;
298
+ return colors[index] || colors[colors.length - 1];
299
+ };
300
+ const getTargetProp = (target, applyPath) => {
301
+ let n = "";
302
+ if (target) {
303
+ const cstrName = getConstructorName(target);
304
+ if ("Window" === cstrName) {
305
+ n = "";
306
+ } else if ("string" == typeof target[InstanceDataKey]) {
307
+ let nodeName = target[InstanceDataKey];
308
+ n = "#text" === nodeName ? "textNode." : "#comment" === nodeName ? "commentNode." : "#document" === nodeName ? "document." : "html" === nodeName ? "doctype." : nodeName.toLowerCase() + ".";
309
+ } else {
310
+ n = "nodeType" in target && 2 === target.nodeType ? "attributes." : "CanvasRenderingContext2D" === cstrName ? "context2D." : "CanvasRenderingContextWebGL" === cstrName ? "contextWebGL." : "CSSStyleDeclaration" === cstrName ? "style." : "MutationObserver" === cstrName ? "mutationObserver." : "NamedNodeMap" === cstrName ? "namedNodeMap." : "ResizeObserver" === cstrName ? "resizeObserver." : cstrName.substring(0, 1).toLowerCase() + cstrName.substring(1) + ".";
311
+ }
312
+ target[ApplyPathKey] && target[ApplyPathKey].length && (n += [ ...target[ApplyPathKey] ].join(".") + ".");
313
+ }
314
+ if (applyPath.length > 1) {
315
+ const first = applyPath.slice(0, applyPath.length - 1);
316
+ const last = applyPath[applyPath.length - 1];
317
+ if (!isNaN(last)) {
318
+ return n + `${first.join(".")}[${last}]`;
319
+ }
320
+ }
321
+ return n + applyPath.join(".");
322
+ };
323
+ const getLogValue = (applyPath, v) => {
324
+ const type = typeof v;
325
+ if (void 0 === v) {
326
+ return "undefined";
327
+ }
328
+ if ("boolean" === type || "number" === type || null == v) {
329
+ return JSON.stringify(v);
330
+ }
331
+ if ("string" === type) {
332
+ return applyPath.includes("cookie") ? JSON.stringify(v.slice(0, 10) + "...") : JSON.stringify(v.length > 50 ? v.slice(0, 40) + "..." : v);
333
+ }
334
+ if (Array.isArray(v)) {
335
+ return `[${v.map(getLogValue).join(", ")}]`;
336
+ }
337
+ if ("object" === type) {
338
+ const instanceId = v[InstanceIdKey];
339
+ const cstrName = getConstructorName(v);
340
+ if ("string" == typeof instanceId) {
341
+ if ("Window" === cstrName) {
342
+ return "window";
343
+ }
344
+ if ("string" == typeof v[InstanceDataKey]) {
345
+ if (1 === v.nodeType) {
346
+ return `<${v[InstanceDataKey].toLowerCase()}>`;
347
+ }
348
+ if (10 === v.nodeType) {
349
+ return `<!DOCTYPE ${v[InstanceDataKey]}>`;
350
+ }
351
+ if (v.nodeType <= 11) {
352
+ return v[InstanceDataKey];
353
+ }
354
+ }
355
+ return "¯\\_(ツ)_/¯ instance obj";
356
+ }
357
+ return v[Symbol.iterator] ? `[${Array.from(v).map((i => getLogValue(applyPath, i))).join(", ")}]` : "value" in v ? "string" == typeof v.value ? `"${v.value}"` : objToString(v.value) : objToString(v);
358
+ }
359
+ return (v => "object" == typeof v && v && v.then)(v) ? "Promise" : "function" === type ? `ƒ() ${v.name || ""}`.trim() : `¯\\_(ツ)_/¯ ${String(v)}`.trim();
360
+ };
361
+ const objToString = obj => {
362
+ const s = [];
363
+ for (let key in obj) {
364
+ const value = obj[key];
365
+ const type = typeof value;
366
+ "string" === type ? s.push(`${key}: "${value}"`) : "function" === type ? s.push(`${key}: ƒ`) : Array.isArray(type) ? s.push(`${key}: [..]`) : "object" === type && value ? s.push(`${key}: {..}`) : s.push(`${key}: ${String(value)}`);
367
+ }
368
+ let str = s.join(", ");
369
+ str.length > 200 && (str = str.substring(0, 200) + "..");
370
+ return `{ ${str} }`;
371
+ };
372
+ const logDimensionCacheClearStyle = (target, propName) => {
373
+ (webWorkerCtx.$config$.logGetters || webWorkerCtx.$config$.logSetters) && logWorker(`Dimension cache cleared from style.${propName} setter`, target[WinIdKey]);
374
+ };
375
+ const logDimensionCacheClearMethod = (target, methodName) => {
376
+ (webWorkerCtx.$config$.logGetters || webWorkerCtx.$config$.logCalls) && logWorker(`Dimension cache cleared from method call ${methodName}()`, target[WinIdKey]);
377
+ };
378
+ const taskQueue = [];
379
+ const queue = (instance, $applyPath$, callType, $assignInstanceId$, $groupedGetters$, buffer) => {
380
+ if (instance[ApplyPathKey]) {
381
+ taskQueue.push({
382
+ $winId$: instance[WinIdKey],
383
+ $instanceId$: instance[InstanceIdKey],
384
+ $applyPath$: [ ...instance[ApplyPathKey], ...$applyPath$ ],
385
+ $assignInstanceId$: $assignInstanceId$,
386
+ $groupedGetters$: $groupedGetters$
387
+ });
388
+ taskQueue[len(taskQueue) - 1].$debug$ = ((target, applyPath, callType) => {
389
+ let m = getTargetProp(target, applyPath);
390
+ 1 === callType ? m += " (blocking)" : 2 === callType ? m += " (non-blocking)" : 3 === callType && (m += " (non-blocking, no-side-effect)");
391
+ return m.trim();
392
+ })(instance, $applyPath$, callType);
393
+ buffer && 3 !== callType && console.error("buffer must be sent NonBlockingNoSideEffect");
394
+ if (3 === callType) {
395
+ webWorkerCtx.$postMessage$([ 12, {
396
+ $msgId$: randomId(),
397
+ $tasks$: [ ...taskQueue ]
398
+ } ], buffer ? [ buffer instanceof ArrayBuffer ? buffer : buffer.buffer ] : void 0);
399
+ taskQueue.length = 0;
400
+ } else if (1 === callType) {
401
+ return sendToMain(true);
402
+ }
403
+ webWorkerCtx.$asyncMsgTimer$ = setTimeout(sendToMain, 20);
404
+ }
405
+ };
406
+ const sendToMain = isBlocking => {
407
+ clearTimeout(webWorkerCtx.$asyncMsgTimer$);
408
+ if (len(taskQueue)) {
409
+ webWorkerCtx.$config$.logMainAccess && logWorker(`Main access, tasks sent: ${taskQueue.length}`);
410
+ const endTask = taskQueue[len(taskQueue) - 1];
411
+ const accessReq = {
412
+ $msgId$: randomId(),
413
+ $tasks$: [ ...taskQueue ]
414
+ };
415
+ taskQueue.length = 0;
416
+ if (isBlocking) {
417
+ const accessRsp = ((webWorkerCtx, accessReq) => {
418
+ const sharedDataBuffer = webWorkerCtx.$sharedDataBuffer$;
419
+ const sharedData = new Int32Array(sharedDataBuffer);
420
+ Atomics.store(sharedData, 0, 0);
421
+ webWorkerCtx.$postMessage$([ 11, accessReq ]);
422
+ Atomics.wait(sharedData, 0, 0);
423
+ let dataLength = Atomics.load(sharedData, 0);
424
+ let accessRespStr = "";
425
+ let i = 0;
426
+ for (;i < dataLength; i++) {
427
+ accessRespStr += String.fromCharCode(sharedData[i + 1]);
428
+ }
429
+ return JSON.parse(accessRespStr);
430
+ })(webWorkerCtx, accessReq);
431
+ const isPromise = accessRsp.$isPromise$;
432
+ const rtnValue = deserializeFromMain(endTask.$winId$, endTask.$instanceId$, endTask.$applyPath$, accessRsp.$rtnValue$);
433
+ if (accessRsp.$error$) {
434
+ if (isPromise) {
435
+ return Promise.reject(accessRsp.$error$);
436
+ }
437
+ throw new Error(accessRsp.$error$);
438
+ }
439
+ return isPromise ? Promise.resolve(rtnValue) : rtnValue;
440
+ }
441
+ webWorkerCtx.$postMessage$([ 12, accessReq ]);
442
+ }
443
+ };
444
+ const getter = (instance, applyPath, groupedGetters, rtnValue) => {
445
+ if (webWorkerCtx.$config$.get) {
446
+ rtnValue = webWorkerCtx.$config$.get(createHookOptions(instance, applyPath));
447
+ if (rtnValue !== HookContinue) {
448
+ return rtnValue;
449
+ }
450
+ }
451
+ rtnValue = queue(instance, applyPath, 1, void 0, groupedGetters);
452
+ ((target, applyPath, rtnValue, restrictedToWorker = false, groupedGetters = false) => {
453
+ if (webWorkerCtx.$config$.logGetters) {
454
+ try {
455
+ const msg = `Get ${getTargetProp(target, applyPath)}, returned: ${getLogValue(applyPath, rtnValue)}${restrictedToWorker ? " (restricted to worker)" : ""}${groupedGetters ? " (grouped getter)" : ""}`;
456
+ msg.includes("Symbol(") || logWorker(msg, target[WinIdKey]);
457
+ } catch (e) {}
458
+ }
459
+ })(instance, applyPath, rtnValue, false, !!groupedGetters);
460
+ return rtnValue;
461
+ };
462
+ const setter = (instance, applyPath, value, hookSetterValue) => {
463
+ if (webWorkerCtx.$config$.set) {
464
+ hookSetterValue = webWorkerCtx.$config$.set({
465
+ value: value,
466
+ prevent: HookPrevent,
467
+ ...createHookOptions(instance, applyPath)
468
+ });
469
+ if (hookSetterValue === HookPrevent) {
470
+ return;
471
+ }
472
+ hookSetterValue !== HookContinue && (value = hookSetterValue);
473
+ }
474
+ if (dimensionChangingSetterNames.some((s => applyPath.includes(s)))) {
475
+ cachedDimensions.clear();
476
+ ((target, propName) => {
477
+ (webWorkerCtx.$config$.logGetters || webWorkerCtx.$config$.logSetters) && logWorker(`Dimension cache cleared from setter "${propName}"`, target[WinIdKey]);
478
+ })(instance, applyPath[applyPath.length - 1]);
479
+ }
480
+ applyPath = [ ...applyPath, serializeInstanceForMain(instance, value), 0 ];
481
+ ((target, applyPath, value, restrictedToWorker = false) => {
482
+ if (webWorkerCtx.$config$.logSetters) {
483
+ try {
484
+ applyPath = applyPath.slice(0, applyPath.length - 2);
485
+ logWorker(`Set ${getTargetProp(target, applyPath)}, value: ${getLogValue(applyPath, value)}${restrictedToWorker ? " (restricted to worker)" : ""}`, target[WinIdKey]);
486
+ } catch (e) {}
487
+ }
488
+ })(instance, applyPath, value);
489
+ queue(instance, applyPath, 2);
490
+ };
491
+ const callMethod = (instance, applyPath, args, callType, assignInstanceId, buffer, rtnValue, methodName) => {
492
+ if (webWorkerCtx.$config$.apply) {
493
+ rtnValue = webWorkerCtx.$config$.apply({
494
+ args: args,
495
+ ...createHookOptions(instance, applyPath)
496
+ });
497
+ if (rtnValue !== HookContinue) {
498
+ return rtnValue;
499
+ }
500
+ }
501
+ methodName = applyPath[len(applyPath) - 1];
502
+ applyPath = [ ...applyPath, serializeInstanceForMain(instance, args) ];
503
+ callType = callType || (nonBlockingMethods.includes(methodName) ? 2 : 1);
504
+ if ("setAttribute" === methodName && hasInstanceStateValue(instance, args[0])) {
505
+ setInstanceStateValue(instance, args[0], args[1]);
506
+ } else if (structureChangingMethodNames.includes(methodName)) {
507
+ cachedDimensions.clear();
508
+ cachedStructure.clear();
509
+ ((target, methodName) => {
510
+ (webWorkerCtx.$config$.logGetters || webWorkerCtx.$config$.logCalls) && logWorker(`Dimension and DOM structure cache cleared from method call ${methodName}()`, target[WinIdKey]);
511
+ })(instance, methodName);
512
+ } else if (dimensionChangingMethodNames.includes(methodName)) {
513
+ callType = 2;
514
+ cachedDimensions.clear();
515
+ logDimensionCacheClearMethod(instance, methodName);
516
+ }
517
+ rtnValue = queue(instance, applyPath, callType, assignInstanceId, void 0, buffer);
518
+ ((target, applyPath, args, rtnValue) => {
519
+ if (webWorkerCtx.$config$.logCalls) {
520
+ try {
521
+ applyPath = applyPath.slice(0, applyPath.length - 1);
522
+ logWorker(`Call ${getTargetProp(target, applyPath)}(${args.map((v => getLogValue(applyPath, v))).join(", ")}), returned: ${getLogValue(applyPath, rtnValue)}`, target[WinIdKey]);
523
+ } catch (e) {}
524
+ }
525
+ })(instance, applyPath, args, rtnValue);
526
+ return rtnValue;
527
+ };
528
+ const constructGlobal = (instance, cstrName, args) => {
529
+ ((target, cstrName, args) => {
530
+ if (webWorkerCtx.$config$.logCalls) {
531
+ try {
532
+ logWorker(`Construct new ${cstrName}(${args.map((v => getLogValue([], v))).join(", ")})`, target[WinIdKey]);
533
+ } catch (e) {}
534
+ }
535
+ })(instance, cstrName, args);
536
+ queue(instance, [ 1, cstrName, serializeInstanceForMain(instance, args) ], 1);
537
+ };
538
+ const createHookOptions = (instance, applyPath) => ({
539
+ name: applyPath.join("."),
540
+ continue: HookContinue,
541
+ nodeName: instance[InstanceDataKey],
542
+ constructor: getConstructorName(instance),
543
+ instance: instance,
544
+ window: environments[instance[WinIdKey]].$window$
545
+ });
546
+ const addStorageApi = (win, storageName, storages, isSameOrigin, env) => {
547
+ let getItems = items => {
548
+ items = storages.get(win.origin);
549
+ items || storages.set(win.origin, items = []);
550
+ return items;
551
+ };
552
+ let getIndexByKey = key => getItems().findIndex((i => i[STORAGE_KEY] === key));
553
+ let index;
554
+ let item;
555
+ let storage = {
556
+ getItem(key) {
557
+ index = getIndexByKey(key);
558
+ return index > -1 ? getItems()[index][STORAGE_VALUE] : null;
559
+ },
560
+ setItem(key, value) {
561
+ index = getIndexByKey(key);
562
+ index > -1 ? getItems()[index][STORAGE_VALUE] = value : getItems().push([ key, value ]);
563
+ isSameOrigin ? callMethod(win, [ storageName, "setItem" ], [ key, value ], 2) : warnCrossOrgin("set", storageName, env);
564
+ },
565
+ removeItem(key) {
566
+ index = getIndexByKey(key);
567
+ index > -1 && getItems().splice(index, 1);
568
+ isSameOrigin ? callMethod(win, [ storageName, "removeItem" ], [ key ], 2) : warnCrossOrgin("remove", storageName, env);
569
+ },
570
+ key(index) {
571
+ item = getItems()[index];
572
+ return item ? item[STORAGE_KEY] : null;
573
+ },
574
+ clear() {
575
+ getItems().length = 0;
576
+ isSameOrigin ? callMethod(win, [ storageName, "clear" ], EMPTY_ARRAY, 2) : warnCrossOrgin("clear", storageName, env);
577
+ },
578
+ get length() {
579
+ return getItems().length;
580
+ }
581
+ };
582
+ win[storageName] = new Proxy(storage, {
583
+ get: (target, key) => Reflect.has(target, key) ? Reflect.get(target, key) : target.getItem(key),
584
+ set(target, key, value) {
585
+ target.setItem(key, value);
586
+ return true;
587
+ },
588
+ has: (target, key) => !!Reflect.has(target, key) || "string" == typeof key && null !== target.getItem(key),
589
+ deleteProperty(target, key) {
590
+ target.removeItem(key);
591
+ return true;
592
+ }
593
+ });
594
+ };
595
+ const STORAGE_KEY = 0;
596
+ const STORAGE_VALUE = 1;
597
+ const createCSSStyleDeclarationCstr = (win, WorkerBase, cstrName) => {
598
+ win[cstrName] = defineConstructorName(class extends WorkerBase {
599
+ constructor(winId, instanceId, applyPath, styles) {
600
+ super(winId, instanceId, applyPath, styles || {});
601
+ return new Proxy(this, {
602
+ get(target, propName) {
603
+ if (target[propName]) {
604
+ return target[propName];
605
+ }
606
+ target[propName] || "string" != typeof propName || target[InstanceDataKey][propName] || (target[InstanceDataKey][propName] = getter(target, [ propName ]));
607
+ return target[InstanceDataKey][propName];
608
+ },
609
+ set(target, propName, propValue) {
610
+ target[InstanceDataKey][propName] = propValue;
611
+ setter(target, [ propName ], propValue);
612
+ logDimensionCacheClearStyle(target, propName);
613
+ cachedDimensions.clear();
614
+ return true;
615
+ }
616
+ });
617
+ }
618
+ setProperty(...args) {
619
+ this[InstanceDataKey][args[0]] = args[1];
620
+ callMethod(this, [ "setProperty" ], args, 2);
621
+ logDimensionCacheClearStyle(this, args[0]);
622
+ cachedDimensions.clear();
623
+ }
624
+ getPropertyValue(propName) {
625
+ return this[propName];
626
+ }
627
+ removeProperty(propName) {
628
+ let value = this[InstanceDataKey][propName];
629
+ callMethod(this, [ "removeProperty" ], [ propName ], 2);
630
+ logDimensionCacheClearStyle(this, propName);
631
+ cachedDimensions.clear();
632
+ this[InstanceDataKey][propName] = void 0;
633
+ return value;
634
+ }
635
+ }, cstrName);
636
+ };
637
+ const createCSSStyleSheetConstructor = (win, cssStyleSheetCstrName) => {
638
+ win[cssStyleSheetCstrName] = defineConstructorName(class {
639
+ constructor(ownerNode) {
640
+ this.ownerNode = ownerNode;
641
+ }
642
+ get cssRules() {
643
+ const ownerNode = this.ownerNode;
644
+ return new Proxy({}, {
645
+ get(target, propKey) {
646
+ const propName = String(propKey);
647
+ return "item" === propName ? index => getCssRule(ownerNode, index) : "length" === propName ? getCssRules(ownerNode).length : isNaN(propName) ? target[propKey] : getCssRule(ownerNode, propName);
648
+ }
649
+ });
650
+ }
651
+ insertRule(ruleText, index) {
652
+ const cssRules = getCssRules(this.ownerNode);
653
+ index = void 0 === index ? 0 : index;
654
+ if (index >= 0 && index <= cssRules.length) {
655
+ callMethod(this.ownerNode, [ "sheet", "insertRule" ], [ ruleText, index ], 2);
656
+ cssRules.splice(index, 0, 0);
657
+ }
658
+ logDimensionCacheClearMethod(this.ownerNode, "insertRule");
659
+ cachedDimensions.clear();
660
+ return index;
661
+ }
662
+ deleteRule(index) {
663
+ callMethod(this.ownerNode, [ "sheet", "deleteRule" ], [ index ], 2);
664
+ getCssRules(this.ownerNode).splice(index, 1);
665
+ logDimensionCacheClearMethod(this.ownerNode, "deleteRule");
666
+ cachedDimensions.clear();
667
+ }
668
+ get type() {
669
+ return "text/css";
670
+ }
671
+ }, cssStyleSheetCstrName);
672
+ const HTMLStyleDescriptorMap = {
673
+ sheet: {
674
+ get() {
675
+ return new win[cssStyleSheetCstrName](this);
676
+ }
677
+ }
678
+ };
679
+ definePrototypePropertyDescriptor(win.HTMLStyleElement, HTMLStyleDescriptorMap);
680
+ };
681
+ const getCssRules = (ownerNode, cssRules) => {
682
+ cssRules = getInstanceStateValue(ownerNode, 2);
683
+ if (!cssRules) {
684
+ cssRules = getter(ownerNode, [ "sheet", "cssRules" ]);
685
+ setInstanceStateValue(ownerNode, 2, cssRules);
686
+ }
687
+ return cssRules;
688
+ };
689
+ const getCssRule = (ownerNode, index, cssRules) => {
690
+ cssRules = getCssRules(ownerNode);
691
+ 0 === cssRules[index] && (cssRules[index] = getter(ownerNode, [ "sheet", "cssRules", parseInt(index, 10) ]));
692
+ return cssRules[index];
693
+ };
694
+ const runScriptContent = (env, instanceId, scriptContent, winId, errorMsg) => {
695
+ try {
696
+ webWorkerCtx.$config$.logScriptExecution && logWorker(`Execute script: ${scriptContent.substring(0, 100).split("\n").map((l => l.trim())).join(" ").trim().substring(0, 60)}...`, winId);
697
+ env.$currentScriptId$ = instanceId;
698
+ run(env, scriptContent);
699
+ } catch (contentError) {
700
+ console.error(scriptContent, contentError);
701
+ errorMsg = String(contentError.stack || contentError);
702
+ }
703
+ env.$currentScriptId$ = "";
704
+ return errorMsg;
705
+ };
706
+ const run = (env, scriptContent, scriptUrl) => {
707
+ env.$runWindowLoadEvent$ = 1;
708
+ scriptContent = `with(this){${scriptContent.replace(/\bthis\b/g, "(thi$(this)?window:this)").replace(/\/\/# so/g, "//Xso")}\n;function thi$(t){return t===this}};${(webWorkerCtx.$config$.globalFns || []).filter((globalFnName => /[a-zA-Z_$][0-9a-zA-Z_$]*/.test(globalFnName))).map((g => `(typeof ${g}=='function'&&(this.${g}=${g}))`)).join(";")};` + (scriptUrl ? "\n//# sourceURL=" + scriptUrl : "");
709
+ env.$isSameOrigin$ || (scriptContent = scriptContent.replace(/.postMessage\(/g, `.postMessage('${env.$winId$}',`));
710
+ new Function(scriptContent).call(env.$window$);
711
+ env.$runWindowLoadEvent$ = 0;
712
+ };
713
+ const runStateLoadHandlers = (instance, type, handlers) => {
714
+ handlers = getInstanceStateValue(instance, type);
715
+ handlers && setTimeout((() => handlers.map((cb => cb({
716
+ type: type
717
+ })))));
718
+ };
719
+ const resolveToUrl = (env, url, type, baseLocation, resolvedUrl, configResolvedUrl) => {
720
+ baseLocation = env.$location$;
721
+ while (!baseLocation.host) {
722
+ env = environments[env.$parentWinId$];
723
+ baseLocation = env.$location$;
724
+ if (env.$winId$ === env.$parentWinId$) {
725
+ break;
726
+ }
727
+ }
728
+ resolvedUrl = new URL(url || "", baseLocation);
729
+ if (type && webWorkerCtx.$config$.resolveUrl) {
730
+ configResolvedUrl = webWorkerCtx.$config$.resolveUrl(resolvedUrl, baseLocation, type);
731
+ if (configResolvedUrl) {
732
+ return configResolvedUrl;
733
+ }
734
+ }
735
+ return resolvedUrl;
736
+ };
737
+ const resolveUrl = (env, url, type) => resolveToUrl(env, url, type) + "";
738
+ const getPartytownScript = () => `<script src="${partytownLibUrl("partytown.js?v=0.7.5")}"><\/script>`;
739
+ const createImageConstructor = env => class HTMLImageElement {
740
+ constructor() {
741
+ this.s = "";
742
+ this.l = [];
743
+ this.e = [];
744
+ this.style = {};
745
+ }
746
+ get src() {
747
+ return this.s;
748
+ }
749
+ set src(src) {
750
+ webWorkerCtx.$config$.logImageRequests && logWorker(`Image() request: ${resolveUrl(env, src, "image")}`, env.$winId$);
751
+ this.s = src;
752
+ fetch(resolveUrl(env, src, "image"), {
753
+ mode: "no-cors",
754
+ credentials: "include",
755
+ keepalive: true
756
+ }).then((rsp => {
757
+ rsp.ok || 0 === rsp.status ? this.l.map((cb => cb({
758
+ type: "load"
759
+ }))) : this.e.map((cb => cb({
760
+ type: "error"
761
+ })));
762
+ }), (() => this.e.forEach((cb => cb({
763
+ type: "error"
764
+ })))));
765
+ }
766
+ addEventListener(eventName, cb) {
767
+ "load" === eventName && this.l.push(cb);
768
+ "error" === eventName && this.e.push(cb);
769
+ }
770
+ get onload() {
771
+ return this.l[0];
772
+ }
773
+ set onload(cb) {
774
+ this.l = [ cb ];
775
+ }
776
+ get onerror() {
777
+ return this.e[0];
778
+ }
779
+ set onerror(cb) {
780
+ this.e = [ cb ];
781
+ }
782
+ };
783
+ const HTMLSrcElementDescriptorMap = {
784
+ addEventListener: {
785
+ value(...args) {
786
+ const eventName = args[0];
787
+ const callbacks = getInstanceStateValue(this, eventName) || [];
788
+ callbacks.push(args[1]);
789
+ setInstanceStateValue(this, eventName, callbacks);
790
+ }
791
+ },
792
+ async: {
793
+ get: noop,
794
+ set: noop
795
+ },
796
+ defer: {
797
+ get: noop,
798
+ set: noop
799
+ },
800
+ onload: {
801
+ get() {
802
+ let callbacks = getInstanceStateValue(this, "load");
803
+ return callbacks && callbacks[0] || null;
804
+ },
805
+ set(cb) {
806
+ setInstanceStateValue(this, "load", cb ? [ cb ] : null);
807
+ }
808
+ },
809
+ onerror: {
810
+ get() {
811
+ let callbacks = getInstanceStateValue(this, "error");
812
+ return callbacks && callbacks[0] || null;
813
+ },
814
+ set(cb) {
815
+ setInstanceStateValue(this, "error", cb ? [ cb ] : null);
816
+ }
817
+ },
818
+ getAttribute: {
819
+ value(attrName) {
820
+ return "src" === attrName ? this.src : callMethod(this, [ "getAttribute" ], [ attrName ]);
821
+ }
822
+ },
823
+ setAttribute: {
824
+ value(attrName, attrValue) {
825
+ scriptAttrPropNames.includes(attrName) ? this[attrName] = attrValue : callMethod(this, [ "setAttribute" ], [ attrName, attrValue ]);
826
+ }
827
+ }
828
+ };
829
+ const scriptAttrPropNames = commaSplit("src,type");
830
+ const patchHTMLScriptElement = (WorkerHTMLScriptElement, env) => {
831
+ const HTMLScriptDescriptorMap = {
832
+ innerHTML: innerHTMLDescriptor,
833
+ innerText: innerHTMLDescriptor,
834
+ src: {
835
+ get() {
836
+ return getInstanceStateValue(this, 4) || "";
837
+ },
838
+ set(url) {
839
+ const orgUrl = resolveUrl(env, url, null);
840
+ const config = webWorkerCtx.$config$;
841
+ url = resolveUrl(env, url, "script");
842
+ setInstanceStateValue(this, 4, url);
843
+ setter(this, [ "src" ], url);
844
+ orgUrl !== url && setter(this, [ "dataset", "ptsrc" ], orgUrl);
845
+ if (this.type && config.loadScriptsOnMainThread) {
846
+ const shouldExecuteScriptViaMainThread = config.loadScriptsOnMainThread.some((scriptUrl => scriptUrl === url));
847
+ shouldExecuteScriptViaMainThread && setter(this, [ "type" ], "text/javascript");
848
+ }
849
+ }
850
+ },
851
+ textContent: innerHTMLDescriptor,
852
+ type: {
853
+ get() {
854
+ return getter(this, [ "type" ]);
855
+ },
856
+ set(type) {
857
+ if (!isScriptJsType(type)) {
858
+ setInstanceStateValue(this, 5, type);
859
+ setter(this, [ "type" ], type);
860
+ }
861
+ }
862
+ },
863
+ ...HTMLSrcElementDescriptorMap
864
+ };
865
+ definePrototypePropertyDescriptor(WorkerHTMLScriptElement, HTMLScriptDescriptorMap);
866
+ };
867
+ const innerHTMLDescriptor = {
868
+ get() {
869
+ const type = getter(this, [ "type" ]);
870
+ return isScriptJsType(type) ? getInstanceStateValue(this, 3) || "" : getter(this, [ "innerHTML" ]);
871
+ },
872
+ set(scriptContent) {
873
+ setInstanceStateValue(this, 3, scriptContent);
874
+ }
875
+ };
876
+ const isScriptJsType = scriptType => !scriptType || "text/javascript" === scriptType;
877
+ const createNodeCstr = (win, env, WorkerBase) => {
878
+ const config = webWorkerCtx.$config$;
879
+ const WorkerNode = defineConstructorName(class extends WorkerBase {
880
+ appendChild(node) {
881
+ return this.insertBefore(node, null);
882
+ }
883
+ get href() {}
884
+ set href(_) {}
885
+ insertBefore(newNode, referenceNode) {
886
+ var _a, _b;
887
+ const winId = newNode[WinIdKey] = this[WinIdKey];
888
+ const instanceId = newNode[InstanceIdKey];
889
+ const nodeName = newNode[InstanceDataKey];
890
+ const isScript = "SCRIPT" === nodeName;
891
+ const isIFrame = "IFRAME" === nodeName;
892
+ if (isScript) {
893
+ const scriptContent = getInstanceStateValue(newNode, 3);
894
+ const scriptType = getInstanceStateValue(newNode, 5);
895
+ if (scriptContent) {
896
+ if (isScriptJsType(scriptType)) {
897
+ const scriptId = newNode.id;
898
+ const loadOnMainThread = scriptId && (null === (_b = null === (_a = config.loadScriptsOnMainThread) || void 0 === _a ? void 0 : _a.includes) || void 0 === _b ? void 0 : _b.call(_a, scriptId));
899
+ if (loadOnMainThread) {
900
+ setter(newNode, [ "type" ], "text/javascript");
901
+ } else {
902
+ const errorMsg = runScriptContent(env, instanceId, scriptContent, winId, "");
903
+ const datasetType = errorMsg ? "pterror" : "ptid";
904
+ const datasetValue = errorMsg || instanceId;
905
+ setter(newNode, [ "type" ], "text/partytown-x");
906
+ setter(newNode, [ "dataset", datasetType ], datasetValue);
907
+ }
908
+ }
909
+ setter(newNode, [ "innerHTML" ], scriptContent);
910
+ }
911
+ }
912
+ callMethod(this, [ "insertBefore" ], [ newNode, referenceNode ], 2);
913
+ if (isIFrame) {
914
+ const src = getInstanceStateValue(newNode, 0);
915
+ if (src && src.startsWith("javascript:")) {
916
+ const scriptContent = src.split("javascript:")[1];
917
+ runScriptContent(env, instanceId, scriptContent, winId, "");
918
+ }
919
+ ((winId, iframe) => {
920
+ let i = 0;
921
+ let type;
922
+ let handlers;
923
+ let callback = () => {
924
+ if (environments[winId] && environments[winId].$isInitialized$ && !environments[winId].$isLoading$) {
925
+ type = getInstanceStateValue(iframe, 1) ? "error" : "load";
926
+ handlers = getInstanceStateValue(iframe, type);
927
+ handlers && handlers.map((handler => handler({
928
+ type: type
929
+ })));
930
+ } else if (i++ > 2e3) {
931
+ handlers = getInstanceStateValue(iframe, "error");
932
+ handlers && handlers.map((handler => handler({
933
+ type: "error"
934
+ })));
935
+ } else {
936
+ setTimeout(callback, 9);
937
+ }
938
+ };
939
+ callback();
940
+ })(instanceId, newNode);
941
+ }
942
+ if (isScript) {
943
+ sendToMain(true);
944
+ webWorkerCtx.$postMessage$([ 7, winId ]);
945
+ }
946
+ return newNode;
947
+ }
948
+ get nodeName() {
949
+ return "#s" === this[InstanceDataKey] ? "#document-fragment" : this[InstanceDataKey];
950
+ }
951
+ get nodeType() {
952
+ return 3;
953
+ }
954
+ get ownerDocument() {
955
+ return env.$document$;
956
+ }
957
+ }, "Node");
958
+ cachedTreeProps(WorkerNode, commaSplit("childNodes,firstChild,isConnected,lastChild,nextSibling,parentElement,parentNode,previousSibling"));
959
+ win.Node = WorkerNode;
960
+ };
961
+ const htmlMedia = commaSplit("AUDIO,CANVAS,VIDEO");
962
+ const windowMediaConstructors = commaSplit("Audio,MediaSource");
963
+ const patchDocument = (WorkerDocument, env, isDocumentImplementation) => {
964
+ const DocumentDescriptorMap = {
965
+ body: {
966
+ get: () => env.$body$
967
+ },
968
+ cookie: {
969
+ get() {
970
+ if (env.$isSameOrigin$) {
971
+ return getter(this, [ "cookie" ]);
972
+ }
973
+ warnCrossOrgin("get", "cookie", env);
974
+ return "";
975
+ },
976
+ set(value) {
977
+ if (env.$isSameOrigin$) {
978
+ setter(this, [ "cookie" ], value);
979
+ } else {
980
+ warnCrossOrgin("set", "cookie", env);
981
+ }
982
+ }
983
+ },
984
+ createElement: {
985
+ value(tagName) {
986
+ tagName = tagName.toUpperCase();
987
+ if (!IS_TAG_REG.test(tagName)) {
988
+ throw tagName + " not valid";
989
+ }
990
+ const isIframe = "IFRAME" === tagName;
991
+ const winId = this[WinIdKey];
992
+ const instanceId = (isIframe ? "f_" : "") + randomId();
993
+ callMethod(this, [ "createElement" ], [ tagName ], 2, instanceId);
994
+ const elm = getOrCreateNodeInstance(winId, instanceId, tagName);
995
+ if (isIframe) {
996
+ const env = createEnvironment({
997
+ $winId$: instanceId,
998
+ $parentWinId$: winId,
999
+ $url$: "about:blank"
1000
+ }, true);
1001
+ env.$window$.fetch = fetch;
1002
+ setter(elm, [ "srcdoc" ], getPartytownScript());
1003
+ } else if ("SCRIPT" === tagName) {
1004
+ const scriptType = getInstanceStateValue(elm, 5);
1005
+ isScriptJsType(scriptType) && setter(elm, [ "type" ], "text/partytown");
1006
+ }
1007
+ return elm;
1008
+ }
1009
+ },
1010
+ createElementNS: {
1011
+ value(namespace, tagName) {
1012
+ const instanceId = randomId();
1013
+ const nsElm = getOrCreateNodeInstance(this[WinIdKey], instanceId, tagName, namespace);
1014
+ callMethod(this, [ "createElementNS" ], [ namespace, tagName ], 2, instanceId);
1015
+ return nsElm;
1016
+ }
1017
+ },
1018
+ createTextNode: {
1019
+ value(text) {
1020
+ const winId = this[WinIdKey];
1021
+ const instanceId = randomId();
1022
+ const textNode = getOrCreateNodeInstance(winId, instanceId, "#text");
1023
+ callMethod(this, [ "createTextNode" ], [ text ], 2, instanceId);
1024
+ return textNode;
1025
+ }
1026
+ },
1027
+ createEvent: {
1028
+ value: type => new Event(type)
1029
+ },
1030
+ currentScript: {
1031
+ get() {
1032
+ return env.$currentScriptId$ ? getOrCreateNodeInstance(this[WinIdKey], env.$currentScriptId$, "SCRIPT") : null;
1033
+ }
1034
+ },
1035
+ defaultView: {
1036
+ get: () => isDocumentImplementation ? null : env.$window$
1037
+ },
1038
+ documentElement: {
1039
+ get: () => env.$documentElement$
1040
+ },
1041
+ getElementsByTagName: {
1042
+ value(tagName) {
1043
+ tagName = tagName.toUpperCase();
1044
+ return "BODY" === tagName ? [ env.$body$ ] : "HEAD" === tagName ? [ env.$head$ ] : callMethod(this, [ "getElementsByTagName" ], [ tagName ]);
1045
+ }
1046
+ },
1047
+ head: {
1048
+ get: () => env.$head$
1049
+ },
1050
+ images: {
1051
+ get() {
1052
+ return getter(this, [ "images" ]);
1053
+ }
1054
+ },
1055
+ implementation: {
1056
+ get() {
1057
+ return {
1058
+ hasFeature: () => true,
1059
+ createHTMLDocument: title => {
1060
+ const $winId$ = randomId();
1061
+ callMethod(this, [ "implementation", "createHTMLDocument" ], [ title ], 1, {
1062
+ $winId$: $winId$
1063
+ });
1064
+ const docEnv = createEnvironment({
1065
+ $winId$: $winId$,
1066
+ $parentWinId$: $winId$,
1067
+ $url$: env.$location$ + "",
1068
+ $visibilityState$: "hidden"
1069
+ }, true, true);
1070
+ return docEnv.$document$;
1071
+ }
1072
+ };
1073
+ }
1074
+ },
1075
+ location: {
1076
+ get: () => env.$location$,
1077
+ set(url) {
1078
+ env.$location$.href = url + "";
1079
+ }
1080
+ },
1081
+ nodeType: {
1082
+ value: 9
1083
+ },
1084
+ parentNode: {
1085
+ value: null
1086
+ },
1087
+ parentElement: {
1088
+ value: null
1089
+ },
1090
+ readyState: {
1091
+ value: "complete"
1092
+ },
1093
+ visibilityState: {
1094
+ get: () => env.$visibilityState$ || "visible"
1095
+ }
1096
+ };
1097
+ definePrototypePropertyDescriptor(WorkerDocument, DocumentDescriptorMap);
1098
+ cachedProps(WorkerDocument, "compatMode,referrer,forms");
1099
+ };
1100
+ const patchDocumentElementChild = (WokerDocumentElementChild, env) => {
1101
+ const DocumentElementChildDescriptorMap = {
1102
+ parentElement: {
1103
+ get() {
1104
+ return this.parentNode;
1105
+ }
1106
+ },
1107
+ parentNode: {
1108
+ get: () => env.$documentElement$
1109
+ }
1110
+ };
1111
+ definePrototypePropertyDescriptor(WokerDocumentElementChild, DocumentElementChildDescriptorMap);
1112
+ };
1113
+ const patchElement = (WorkerElement, WorkerHTMLElement) => {
1114
+ const ElementDescriptorMap = {
1115
+ localName: {
1116
+ get() {
1117
+ return this[InstanceDataKey].toLowerCase();
1118
+ }
1119
+ },
1120
+ namespaceURI: {
1121
+ get() {
1122
+ return this[NamespaceKey] || "http://www.w3.org/1999/xhtml";
1123
+ }
1124
+ },
1125
+ nodeType: {
1126
+ value: 1
1127
+ },
1128
+ tagName: {
1129
+ get() {
1130
+ return this[InstanceDataKey];
1131
+ }
1132
+ }
1133
+ };
1134
+ definePrototypePropertyDescriptor(WorkerElement, ElementDescriptorMap);
1135
+ cachedTreeProps(WorkerElement, elementStructurePropNames);
1136
+ cachedProps(WorkerElement, "id");
1137
+ cachedDimensionProps(WorkerHTMLElement);
1138
+ cachedDimensionMethods(WorkerHTMLElement, commaSplit("getClientRects,getBoundingClientRect"));
1139
+ };
1140
+ const patchHTMLAnchorElement = (WorkerHTMLAnchorElement, env) => {
1141
+ const HTMLAnchorDescriptorMap = {};
1142
+ commaSplit("hash,host,hostname,href,origin,pathname,port,protocol,search").map((anchorProp => {
1143
+ HTMLAnchorDescriptorMap[anchorProp] = {
1144
+ get() {
1145
+ let value = getInstanceStateValue(this, 4);
1146
+ let href;
1147
+ if ("string" != typeof value) {
1148
+ href = getter(this, [ "href" ]);
1149
+ setInstanceStateValue(this, 4, href);
1150
+ value = new URL(href)[anchorProp];
1151
+ }
1152
+ return resolveToUrl(env, value, null)[anchorProp];
1153
+ },
1154
+ set(value) {
1155
+ let url;
1156
+ if ("href" === anchorProp) {
1157
+ if ((url => {
1158
+ try {
1159
+ new URL(url);
1160
+ return true;
1161
+ } catch (_) {
1162
+ return false;
1163
+ }
1164
+ })(value)) {
1165
+ url = new URL(value);
1166
+ } else {
1167
+ const baseHref = env.$location$.href;
1168
+ url = resolveToUrl(env, baseHref, null);
1169
+ url.href = new URL(value + "", url.href);
1170
+ }
1171
+ } else {
1172
+ url = resolveToUrl(env, this.href, null);
1173
+ url[anchorProp] = value;
1174
+ }
1175
+ setInstanceStateValue(this, 4, url.href);
1176
+ setter(this, [ "href" ], url.href);
1177
+ }
1178
+ };
1179
+ }));
1180
+ definePrototypePropertyDescriptor(WorkerHTMLAnchorElement, HTMLAnchorDescriptorMap);
1181
+ };
1182
+ const patchHTMLIFrameElement = (WorkerHTMLIFrameElement, env) => {
1183
+ const HTMLIFrameDescriptorMap = {
1184
+ contentDocument: {
1185
+ get() {
1186
+ return getIframeEnv(this).$document$;
1187
+ }
1188
+ },
1189
+ contentWindow: {
1190
+ get() {
1191
+ return getIframeEnv(this).$window$;
1192
+ }
1193
+ },
1194
+ src: {
1195
+ get() {
1196
+ let src = getInstanceStateValue(this, 0);
1197
+ if (src && src.startsWith("javascript:")) {
1198
+ return src;
1199
+ }
1200
+ src = getIframeEnv(this).$location$.href;
1201
+ return src.startsWith("about:") ? "" : src;
1202
+ },
1203
+ set(src) {
1204
+ if (src) {
1205
+ if (src.startsWith("javascript:")) {
1206
+ setInstanceStateValue(this, 0, src);
1207
+ } else if (!src.startsWith("about:")) {
1208
+ let xhr = new XMLHttpRequest;
1209
+ let xhrStatus;
1210
+ let env = getIframeEnv(this);
1211
+ env.$location$.href = src = resolveUrl(env, src, "iframe");
1212
+ env.$isLoading$ = 1;
1213
+ setInstanceStateValue(this, 1, void 0);
1214
+ xhr.open("GET", src, false);
1215
+ xhr.send();
1216
+ xhrStatus = xhr.status;
1217
+ if (xhrStatus > 199 && xhrStatus < 300) {
1218
+ setter(this, [ "srcdoc" ], `<base href="${src}">` + function(text) {
1219
+ return text.replace(SCRIPT_TAG_REGEXP, ((_, attrs) => {
1220
+ const parts = [];
1221
+ let hasType = false;
1222
+ let match;
1223
+ while (match = ATTR_REGEXP.exec(attrs)) {
1224
+ let [keyValue] = match;
1225
+ if (keyValue.startsWith("type=")) {
1226
+ hasType = true;
1227
+ keyValue = keyValue.replace(/(application|text)\/javascript/, SCRIPT_TYPE);
1228
+ }
1229
+ parts.push(keyValue);
1230
+ }
1231
+ hasType || parts.push('type="text/partytown"');
1232
+ return `<script ${parts.join(" ")}>`;
1233
+ }));
1234
+ }(xhr.responseText) + getPartytownScript());
1235
+ sendToMain(true);
1236
+ webWorkerCtx.$postMessage$([ 7, env.$winId$ ]);
1237
+ } else {
1238
+ setInstanceStateValue(this, 1, xhrStatus);
1239
+ env.$isLoading$ = 0;
1240
+ }
1241
+ }
1242
+ }
1243
+ }
1244
+ },
1245
+ ...HTMLSrcElementDescriptorMap
1246
+ };
1247
+ definePrototypePropertyDescriptor(WorkerHTMLIFrameElement, HTMLIFrameDescriptorMap);
1248
+ };
1249
+ const ATTR_REGEXP_STR = "((?:\\w|-)+(?:=(?:(?:\\w|-)+|'[^']*'|\"[^\"]*\")?)?)";
1250
+ const SCRIPT_TAG_REGEXP = new RegExp(`<script\\s*((${ATTR_REGEXP_STR}\\s*)*)>`, "mg");
1251
+ const ATTR_REGEXP = new RegExp(ATTR_REGEXP_STR, "mg");
1252
+ const getIframeEnv = iframe => {
1253
+ const $winId$ = iframe[InstanceIdKey];
1254
+ environments[$winId$] || createEnvironment({
1255
+ $winId$: $winId$,
1256
+ $parentWinId$: iframe[WinIdKey],
1257
+ $url$: getter(iframe, [ "src" ]) || "about:blank"
1258
+ }, true);
1259
+ return environments[$winId$];
1260
+ };
1261
+ const patchSvgElement = WorkerSVGGraphicsElement => {
1262
+ const getMatrix = (elm, methodName) => {
1263
+ const {a: a, b: b, c: c, d: d, e: e, f: f} = callMethod(elm, [ methodName ], EMPTY_ARRAY);
1264
+ return new DOMMatrixReadOnly([ a, b, c, d, e, f ]);
1265
+ };
1266
+ const SVGGraphicsElementDescriptorMap = {
1267
+ ...WorkerSVGGraphicsElement,
1268
+ getCTM: {
1269
+ value: function() {
1270
+ return getMatrix(this, "getCTM");
1271
+ }
1272
+ },
1273
+ getScreenCTM: {
1274
+ value: function() {
1275
+ return getMatrix(this, "getScreenCTM");
1276
+ }
1277
+ }
1278
+ };
1279
+ definePrototypePropertyDescriptor(WorkerSVGGraphicsElement, SVGGraphicsElementDescriptorMap);
1280
+ };
1281
+ const createNamedNodeMapCstr = (win, WorkerBase) => {
1282
+ win.NamedNodeMap = defineConstructorName(class NamedNodeMap extends WorkerBase {
1283
+ constructor(winId, instanceId, applyPath) {
1284
+ super(winId, instanceId, applyPath);
1285
+ return new Proxy(this, {
1286
+ get(target, propName) {
1287
+ const handler = NAMED_NODE_MAP_HANDLERS[propName];
1288
+ return handler ? handler.bind(target, [ propName ]) : getter(target, [ propName ]);
1289
+ },
1290
+ set(target, propName, propValue) {
1291
+ const handler = NAMED_NODE_MAP_HANDLERS[propName];
1292
+ if (handler) {
1293
+ throw new Error("Can't set read-only property: " + String(propName));
1294
+ }
1295
+ setter(target, [ propName ], propValue);
1296
+ return true;
1297
+ }
1298
+ });
1299
+ }
1300
+ }, "NamedNodeMap");
1301
+ };
1302
+ function method(applyPath, ...args) {
1303
+ return callMethod(this, applyPath, args, 1);
1304
+ }
1305
+ const NAMED_NODE_MAP_HANDLERS = {
1306
+ getNamedItem: method,
1307
+ getNamedItemNS: method,
1308
+ item: method,
1309
+ removeNamedItem: method,
1310
+ removeNamedItemNS: method,
1311
+ setNamedItem: method,
1312
+ setNamedItemNS: method
1313
+ };
1314
+ const createWindow = ($winId$, $parentWinId$, url, $visibilityState$, isIframeWindow, isDocumentImplementation) => {
1315
+ let cstrInstanceId;
1316
+ let cstrNodeName;
1317
+ let cstrNamespace;
1318
+ const WorkerBase = class {
1319
+ constructor(winId, instanceId, applyPath, instanceData, namespace) {
1320
+ this[WinIdKey] = winId || $winId$;
1321
+ this[InstanceIdKey] = instanceId || cstrInstanceId || randomId();
1322
+ this[ApplyPathKey] = applyPath || [];
1323
+ this[InstanceDataKey] = instanceData || cstrNodeName;
1324
+ this[NamespaceKey] = namespace || cstrNamespace;
1325
+ this[InstanceStateKey] = {};
1326
+ cstrInstanceId = cstrNodeName = cstrNamespace = void 0;
1327
+ }
1328
+ };
1329
+ const WorkerLocation = defineConstructorName(class extends URL {
1330
+ assign() {
1331
+ logWorker("location.assign(), noop");
1332
+ }
1333
+ reload() {
1334
+ logWorker("location.reload(), noop");
1335
+ }
1336
+ replace() {
1337
+ logWorker("location.replace(), noop");
1338
+ }
1339
+ }, "Location");
1340
+ const $location$ = new WorkerLocation(url);
1341
+ const $isSameOrigin$ = $location$.origin === webWorkerCtx.$origin$ || "about:blank" === $location$.origin;
1342
+ const $isTopWindow$ = $parentWinId$ === $winId$;
1343
+ const env = {};
1344
+ const getChildEnvs = () => {
1345
+ let childEnv = [];
1346
+ let envWinId;
1347
+ let otherEnv;
1348
+ for (envWinId in environments) {
1349
+ otherEnv = environments[envWinId];
1350
+ otherEnv.$parentWinId$ !== $winId$ || otherEnv.$isTopWindow$ || childEnv.push(otherEnv);
1351
+ }
1352
+ return childEnv;
1353
+ };
1354
+ const WorkerWindow = defineConstructorName(class extends WorkerBase {
1355
+ constructor() {
1356
+ super($winId$, $winId$);
1357
+ let win = this;
1358
+ let value;
1359
+ let historyState;
1360
+ let hasInitializedMedia = 0;
1361
+ let initWindowMedia = () => {
1362
+ if (!hasInitializedMedia) {
1363
+ (() => {
1364
+ if (!webWorkerCtx.$initWindowMedia$) {
1365
+ self.$bridgeToMedia$ = [ getter, setter, callMethod, constructGlobal, definePrototypePropertyDescriptor, randomId, WinIdKey, InstanceIdKey, ApplyPathKey ];
1366
+ webWorkerCtx.$importScripts$(partytownLibUrl("partytown-media.js?v=0.7.5"));
1367
+ webWorkerCtx.$initWindowMedia$ = self.$bridgeFromMedia$;
1368
+ delete self.$bridgeFromMedia$;
1369
+ }
1370
+ return webWorkerCtx.$initWindowMedia$;
1371
+ })()(WorkerBase, WorkerEventTargetProxy, env, win, windowMediaConstructors);
1372
+ hasInitializedMedia = 1;
1373
+ }
1374
+ };
1375
+ let nodeCstrs = {};
1376
+ let $createNode$ = (nodeName, instanceId, namespace) => {
1377
+ htmlMedia.includes(nodeName) && initWindowMedia();
1378
+ const NodeCstr = nodeCstrs[nodeName] ? nodeCstrs[nodeName] : nodeName.includes("-") ? nodeCstrs.UNKNOWN : nodeCstrs.I;
1379
+ cstrInstanceId = instanceId;
1380
+ cstrNodeName = nodeName;
1381
+ cstrNamespace = namespace;
1382
+ return new NodeCstr;
1383
+ };
1384
+ win.Window = WorkerWindow;
1385
+ win.name = name + `${normalizedWinId($winId$)} (${$winId$})`;
1386
+ createNodeCstr(win, env, WorkerBase);
1387
+ (win => {
1388
+ win.NodeList = defineConstructorName(NodeList, "NodeList");
1389
+ })(win);
1390
+ createNamedNodeMapCstr(win, WorkerBase);
1391
+ createCSSStyleDeclarationCstr(win, WorkerBase, "CSSStyleDeclaration");
1392
+ ((win, WorkerBase, cstrName) => {
1393
+ win[cstrName] = defineConstructorName(class extends WorkerBase {
1394
+ now() {
1395
+ return performance.now();
1396
+ }
1397
+ }, cstrName);
1398
+ })(win, WorkerBase, "Performance");
1399
+ ((win, nodeCstrs) => {
1400
+ const registry = new Map;
1401
+ win.customElements = {
1402
+ define(tagName, Cstr, opts) {
1403
+ registry.set(tagName, Cstr);
1404
+ nodeCstrs[tagName.toUpperCase()] = Cstr;
1405
+ const ceData = [ Cstr.name, Cstr.observedAttributes ];
1406
+ callMethod(win, [ "customElements", "define" ], [ tagName, ceData, opts ]);
1407
+ },
1408
+ get: tagName => registry.get(tagName) || callMethod(win, [ "customElements", "get" ], [ tagName ]),
1409
+ whenDefined: tagName => registry.has(tagName) ? Promise.resolve() : callMethod(win, [ "customElements", "whenDefined" ], [ tagName ]),
1410
+ upgrade: elm => callMethod(win, [ "customElements", "upgrade" ], [ elm ])
1411
+ };
1412
+ })(win, nodeCstrs);
1413
+ webWorkerCtx.$interfaces$.map((([cstrName, superCstrName, members, interfaceType, nodeName]) => {
1414
+ const SuperCstr = TrapConstructors[cstrName] ? WorkerTrapProxy : "EventTarget" === superCstrName ? WorkerEventTargetProxy : "Object" === superCstrName ? WorkerBase : win[superCstrName];
1415
+ const Cstr = win[cstrName] = defineConstructorName(12 === interfaceType ? class extends WorkerBase {
1416
+ constructor(...args) {
1417
+ super();
1418
+ constructGlobal(this, cstrName, args);
1419
+ }
1420
+ } : win[cstrName] || class extends SuperCstr {}, cstrName);
1421
+ nodeName && (nodeCstrs[nodeName] = Cstr);
1422
+ members.map((([memberName, memberType, staticValue]) => {
1423
+ memberName in Cstr.prototype || memberName in SuperCstr.prototype || ("string" == typeof memberType ? definePrototypeProperty(Cstr, memberName, {
1424
+ get() {
1425
+ if (!hasInstanceStateValue(this, memberName)) {
1426
+ const instanceId = this[InstanceIdKey];
1427
+ const applyPath = [ ...this[ApplyPathKey], memberName ];
1428
+ const PropCstr = win[memberType];
1429
+ PropCstr && setInstanceStateValue(this, memberName, new PropCstr($winId$, instanceId, applyPath));
1430
+ }
1431
+ return getInstanceStateValue(this, memberName);
1432
+ },
1433
+ set(value) {
1434
+ setInstanceStateValue(this, memberName, value);
1435
+ }
1436
+ }) : 5 === memberType ? definePrototypeValue(Cstr, memberName, (function(...args) {
1437
+ return callMethod(this, [ memberName ], args);
1438
+ })) : memberType > 0 && (void 0 !== staticValue ? definePrototypeValue(Cstr, memberName, staticValue) : definePrototypeProperty(Cstr, memberName, {
1439
+ get() {
1440
+ return getter(this, [ memberName ]);
1441
+ },
1442
+ set(value) {
1443
+ return setter(this, [ memberName ], value);
1444
+ }
1445
+ })));
1446
+ }));
1447
+ }));
1448
+ commaSplit("atob,btoa,crypto,indexedDB,setTimeout,setInterval,clearTimeout,clearInterval").map((globalName => {
1449
+ delete WorkerWindow.prototype[globalName];
1450
+ if (!(globalName in win)) {
1451
+ value = self[globalName];
1452
+ null != value && (win[globalName] = "function" != typeof value || value.toString().startsWith("class") ? value : value.bind(self));
1453
+ }
1454
+ }));
1455
+ Object.getOwnPropertyNames(self).map((globalName => {
1456
+ globalName in win || (win[globalName] = self[globalName]);
1457
+ }));
1458
+ windowMediaConstructors.map((cstrName => defineProperty(win, cstrName, {
1459
+ get() {
1460
+ initWindowMedia();
1461
+ return win[cstrName];
1462
+ }
1463
+ })));
1464
+ "trustedTypes" in self && (win.trustedTypes = self.trustedTypes);
1465
+ patchElement(win.Element, win.HTMLElement);
1466
+ patchDocument(win.Document, env, isDocumentImplementation);
1467
+ (WorkerDocumentFragment => {
1468
+ definePrototypeNodeType(WorkerDocumentFragment, 11);
1469
+ cachedTreeProps(WorkerDocumentFragment, elementStructurePropNames);
1470
+ })(win.DocumentFragment);
1471
+ patchHTMLAnchorElement(win.HTMLAnchorElement, env);
1472
+ (WorkerHTMLFormElement => {
1473
+ definePrototypePropertyDescriptor(WorkerHTMLFormElement, {});
1474
+ cachedProps(WorkerHTMLFormElement, "elements");
1475
+ })(win.HTMLFormElement);
1476
+ patchHTMLIFrameElement(win.HTMLIFrameElement);
1477
+ patchHTMLScriptElement(win.HTMLScriptElement, env);
1478
+ patchSvgElement(win.SVGGraphicsElement);
1479
+ patchDocumentElementChild(win.HTMLHeadElement, env);
1480
+ patchDocumentElementChild(win.HTMLBodyElement, env);
1481
+ ((WorkerHTMLHtmlElement, env) => {
1482
+ const DocumentElementDescriptorMap = {
1483
+ parentElement: {
1484
+ value: null
1485
+ },
1486
+ parentNode: {
1487
+ get: () => env.$document$
1488
+ }
1489
+ };
1490
+ definePrototypePropertyDescriptor(WorkerHTMLHtmlElement, DocumentElementDescriptorMap);
1491
+ })(win.HTMLHtmlElement, env);
1492
+ createCSSStyleSheetConstructor(win, "CSSStyleSheet");
1493
+ definePrototypeNodeType(win.Comment, 8);
1494
+ definePrototypeNodeType(win.DocumentType, 10);
1495
+ Object.assign(env, {
1496
+ $winId$: $winId$,
1497
+ $parentWinId$: $parentWinId$,
1498
+ $window$: new Proxy(win, {
1499
+ get: (win, propName) => {
1500
+ var _a;
1501
+ if ("string" != typeof propName || isNaN(propName)) {
1502
+ return (null === (_a = webWorkerCtx.$config$.mainWindowAccessors) || void 0 === _a ? void 0 : _a.includes(propName)) ? getter(this, [ propName ]) : win[propName];
1503
+ }
1504
+ {
1505
+ let frame = getChildEnvs()[propName];
1506
+ return frame ? frame.$window$ : void 0;
1507
+ }
1508
+ },
1509
+ has: () => true
1510
+ }),
1511
+ $document$: $createNode$("#document", $winId$ + ".d"),
1512
+ $documentElement$: $createNode$("HTML", $winId$ + ".e"),
1513
+ $head$: $createNode$("HEAD", $winId$ + ".h"),
1514
+ $body$: $createNode$("BODY", $winId$ + ".b"),
1515
+ $location$: $location$,
1516
+ $visibilityState$: $visibilityState$,
1517
+ $isSameOrigin$: $isSameOrigin$,
1518
+ $isTopWindow$: $isTopWindow$,
1519
+ $createNode$: $createNode$
1520
+ });
1521
+ win.requestAnimationFrame = cb => setTimeout((() => cb(performance.now())), 9);
1522
+ win.cancelAnimationFrame = id => clearTimeout(id);
1523
+ win.requestIdleCallback = (cb, start) => {
1524
+ start = Date.now();
1525
+ return setTimeout((() => cb({
1526
+ didTimeout: false,
1527
+ timeRemaining: () => Math.max(0, 50 - (Date.now() - start))
1528
+ })), 1);
1529
+ };
1530
+ win.cancelIdleCallback = id => clearTimeout(id);
1531
+ addStorageApi(win, "localStorage", webWorkerlocalStorage, $isSameOrigin$, env);
1532
+ addStorageApi(win, "sessionStorage", webWorkerSessionStorage, $isSameOrigin$, env);
1533
+ $isSameOrigin$ || (win.indexeddb = void 0);
1534
+ if (isIframeWindow) {
1535
+ historyState = {};
1536
+ win.history = {
1537
+ pushState(stateObj) {
1538
+ historyState = stateObj;
1539
+ },
1540
+ replaceState(stateObj) {
1541
+ historyState = stateObj;
1542
+ },
1543
+ get state() {
1544
+ return historyState;
1545
+ },
1546
+ length: 0
1547
+ };
1548
+ win.indexeddb = void 0;
1549
+ } else {
1550
+ const originalPushState = win.history.pushState.bind(win.history);
1551
+ const originalReplaceState = win.history.replaceState.bind(win.history);
1552
+ win.history.pushState = (stateObj, _, newUrl) => {
1553
+ false !== env.$propagateHistoryChange$ && originalPushState(stateObj, _, newUrl);
1554
+ };
1555
+ win.history.replaceState = (stateObj, _, newUrl) => {
1556
+ false !== env.$propagateHistoryChange$ && originalReplaceState(stateObj, _, newUrl);
1557
+ };
1558
+ }
1559
+ win.Worker = void 0;
1560
+ }
1561
+ addEventListener(...args) {
1562
+ "load" === args[0] ? env.$runWindowLoadEvent$ && setTimeout((() => args[1]({
1563
+ type: "load"
1564
+ }))) : callMethod(this, [ "addEventListener" ], args, 2);
1565
+ }
1566
+ get body() {
1567
+ return env.$body$;
1568
+ }
1569
+ get document() {
1570
+ return env.$document$;
1571
+ }
1572
+ get documentElement() {
1573
+ return env.$documentElement$;
1574
+ }
1575
+ fetch(input, init) {
1576
+ input = "string" == typeof input || input instanceof URL ? String(input) : input.url;
1577
+ return fetch(resolveUrl(env, input, "fetch"), init);
1578
+ }
1579
+ get frames() {
1580
+ return env.$window$;
1581
+ }
1582
+ get frameElement() {
1583
+ return $isTopWindow$ ? null : getOrCreateNodeInstance($parentWinId$, $winId$, "IFRAME");
1584
+ }
1585
+ get globalThis() {
1586
+ return env.$window$;
1587
+ }
1588
+ get head() {
1589
+ return env.$head$;
1590
+ }
1591
+ get length() {
1592
+ return getChildEnvs().length;
1593
+ }
1594
+ get location() {
1595
+ return $location$;
1596
+ }
1597
+ set location(loc) {
1598
+ $location$.href = loc + "";
1599
+ }
1600
+ get Image() {
1601
+ return createImageConstructor(env);
1602
+ }
1603
+ get navigator() {
1604
+ return (env => {
1605
+ let key;
1606
+ let nav = {
1607
+ sendBeacon: (url, body) => {
1608
+ if (webWorkerCtx.$config$.logSendBeaconRequests) {
1609
+ try {
1610
+ logWorker(`sendBeacon: ${resolveUrl(env, url, null)}${body ? ", data: " + JSON.stringify(body) : ""}`);
1611
+ } catch (e) {
1612
+ console.error(e);
1613
+ }
1614
+ }
1615
+ try {
1616
+ fetch(resolveUrl(env, url, null), {
1617
+ method: "POST",
1618
+ body: body,
1619
+ mode: "no-cors",
1620
+ keepalive: true
1621
+ });
1622
+ return true;
1623
+ } catch (e) {
1624
+ console.error(e);
1625
+ return false;
1626
+ }
1627
+ }
1628
+ };
1629
+ for (key in navigator) {
1630
+ nav[key] = navigator[key];
1631
+ }
1632
+ return nav;
1633
+ })(env);
1634
+ }
1635
+ get origin() {
1636
+ return $location$.origin;
1637
+ }
1638
+ set origin(_) {}
1639
+ get parent() {
1640
+ for (let envWinId in environments) {
1641
+ if (environments[envWinId].$winId$ === $parentWinId$) {
1642
+ return environments[envWinId].$window$;
1643
+ }
1644
+ }
1645
+ return env.$window$;
1646
+ }
1647
+ postMessage(...args) {
1648
+ if (environments[args[0]]) {
1649
+ len(postMessages) > 50 && postMessages.splice(0, 5);
1650
+ postMessages.push({
1651
+ $winId$: args[0],
1652
+ $data$: JSON.stringify(args[1])
1653
+ });
1654
+ args = args.slice(1);
1655
+ }
1656
+ callMethod(this, [ "postMessage" ], args, 3);
1657
+ }
1658
+ get self() {
1659
+ return env.$window$;
1660
+ }
1661
+ get top() {
1662
+ for (let envWinId in environments) {
1663
+ if (environments[envWinId].$isTopWindow$) {
1664
+ return environments[envWinId].$window$;
1665
+ }
1666
+ }
1667
+ return env.$window$;
1668
+ }
1669
+ get window() {
1670
+ return env.$window$;
1671
+ }
1672
+ get XMLHttpRequest() {
1673
+ const Xhr = XMLHttpRequest;
1674
+ const str = String(Xhr);
1675
+ const ExtendedXhr = defineConstructorName(class extends Xhr {
1676
+ open(...args) {
1677
+ args[1] = resolveUrl(env, args[1], "xhr");
1678
+ super.open(...args);
1679
+ }
1680
+ set withCredentials(_) {}
1681
+ toString() {
1682
+ return str;
1683
+ }
1684
+ }, getConstructorName(Xhr));
1685
+ ExtendedXhr.prototype.constructor.toString = () => str;
1686
+ return ExtendedXhr;
1687
+ }
1688
+ }, "Window");
1689
+ const WorkerTrapProxy = class extends WorkerBase {
1690
+ constructor(winId, instanceId, applyPath, nodeName) {
1691
+ super(winId, instanceId, applyPath, nodeName);
1692
+ return new Proxy(this, {
1693
+ get: (instance, propName) => getter(instance, [ propName ]),
1694
+ set(instance, propName, propValue) {
1695
+ setter(instance, [ propName ], propValue);
1696
+ return true;
1697
+ }
1698
+ });
1699
+ }
1700
+ };
1701
+ const WorkerEventTargetProxy = class extends WorkerBase {};
1702
+ eventTargetMethods.map((methodName => WorkerEventTargetProxy.prototype[methodName] = function(...args) {
1703
+ return callMethod(this, [ methodName ], args, 2);
1704
+ }));
1705
+ cachedProps(WorkerWindow, "devicePixelRatio");
1706
+ cachedDimensionProps(WorkerWindow);
1707
+ cachedDimensionMethods(WorkerWindow, [ "getComputedStyle" ]);
1708
+ new WorkerWindow;
1709
+ return env;
1710
+ };
1711
+ const TrapConstructors = {
1712
+ DOMStringMap: 1,
1713
+ NamedNodeMap: 1
1714
+ };
1715
+ const createEnvironment = ({$winId$: $winId$, $parentWinId$: $parentWinId$, $url$: $url$, $visibilityState$: $visibilityState$}, isIframeWindow, isDocumentImplementation) => {
1716
+ if (!environments[$winId$]) {
1717
+ environments[$winId$] = createWindow($winId$, $parentWinId$, $url$, $visibilityState$, isIframeWindow, isDocumentImplementation);
1718
+ {
1719
+ const winType = $winId$ === $parentWinId$ ? "top" : "iframe";
1720
+ logWorker(`Created ${winType} window ${normalizedWinId($winId$)} environment`, $winId$);
1721
+ }
1722
+ }
1723
+ webWorkerCtx.$postMessage$([ 7, $winId$ ]);
1724
+ return environments[$winId$];
1725
+ };
1726
+ const queuedEvents = [];
1727
+ const receiveMessageFromSandboxToWorker = ev => {
1728
+ const msg = ev.data;
1729
+ const msgType = msg[0];
1730
+ const msgValue = msg[1];
1731
+ if (webWorkerCtx.$isInitialized$) {
1732
+ if (7 === msgType) {
1733
+ (async initScript => {
1734
+ let winId = initScript.$winId$;
1735
+ let instanceId = initScript.$instanceId$;
1736
+ let instance = getOrCreateNodeInstance(winId, instanceId, "SCRIPT");
1737
+ let scriptContent = initScript.$content$;
1738
+ let scriptSrc = initScript.$url$;
1739
+ let scriptOrgSrc = initScript.$orgUrl$;
1740
+ let errorMsg = "";
1741
+ let env = environments[winId];
1742
+ let rsp;
1743
+ let javascriptContentTypes = [ "text/jscript", "text/javascript", "text/x-javascript", "application/javascript", "application/x-javascript", "text/ecmascript", "text/x-ecmascript", "application/ecmascript" ];
1744
+ if (scriptSrc) {
1745
+ try {
1746
+ scriptSrc = resolveToUrl(env, scriptSrc, "script") + "";
1747
+ setInstanceStateValue(instance, 4, scriptSrc);
1748
+ webWorkerCtx.$config$.logScriptExecution && logWorker(`Execute script src: ${scriptOrgSrc}`, winId);
1749
+ rsp = await fetch(scriptSrc);
1750
+ if (rsp.ok) {
1751
+ let responseContentType = rsp.headers.get("content-type");
1752
+ let shouldExecute = javascriptContentTypes.some((ct => {
1753
+ var _a, _b, _c;
1754
+ return null === (_c = null === (_a = null == responseContentType ? void 0 : responseContentType.toLowerCase) || void 0 === _a ? void 0 : (_b = _a.call(responseContentType)).includes) || void 0 === _c ? void 0 : _c.call(_b, ct);
1755
+ }));
1756
+ if (shouldExecute) {
1757
+ scriptContent = await rsp.text();
1758
+ env.$currentScriptId$ = instanceId;
1759
+ run(env, scriptContent, scriptOrgSrc || scriptSrc);
1760
+ }
1761
+ runStateLoadHandlers(instance, "load");
1762
+ } else {
1763
+ errorMsg = rsp.statusText;
1764
+ runStateLoadHandlers(instance, "error");
1765
+ }
1766
+ } catch (urlError) {
1767
+ console.error(urlError);
1768
+ errorMsg = String(urlError.stack || urlError);
1769
+ runStateLoadHandlers(instance, "error");
1770
+ }
1771
+ } else {
1772
+ scriptContent && (errorMsg = runScriptContent(env, instanceId, scriptContent, winId, errorMsg));
1773
+ }
1774
+ env.$currentScriptId$ = "";
1775
+ webWorkerCtx.$postMessage$([ 6, winId, instanceId, errorMsg ]);
1776
+ })(msgValue);
1777
+ } else if (9 === msgType) {
1778
+ (({$winId$: $winId$, $instanceId$: $instanceId$, $refId$: $refId$, $thisArg$: $thisArg$, $args$: $args$}) => {
1779
+ if (webWorkerRefsByRefId[$refId$]) {
1780
+ try {
1781
+ webWorkerRefsByRefId[$refId$].apply(deserializeFromMain($winId$, $instanceId$, [], $thisArg$), deserializeFromMain($winId$, $instanceId$, [], $args$));
1782
+ } catch (e) {
1783
+ console.error(e);
1784
+ }
1785
+ }
1786
+ })(msgValue);
1787
+ } else if (10 === msgType) {
1788
+ (({$winId$: $winId$, $forward$: $forward$, $args$: $args$}) => {
1789
+ try {
1790
+ let target = environments[$winId$].$window$;
1791
+ let i = 0;
1792
+ let l = len($forward$);
1793
+ for (;i < l; i++) {
1794
+ i + 1 < l ? target = target[$forward$[i]] : target[$forward$[i]].apply(target, deserializeFromMain(null, $winId$, [], $args$));
1795
+ }
1796
+ } catch (e) {
1797
+ console.error(e);
1798
+ }
1799
+ })(msgValue);
1800
+ } else if (5 === msgType) {
1801
+ createEnvironment(msgValue);
1802
+ } else if (8 === msgType) {
1803
+ if (1 !== environments[msgValue].$isInitialized$) {
1804
+ const winId = msgValue;
1805
+ const env = environments[winId];
1806
+ const winType = env.$winId$ === env.$parentWinId$ ? "top" : "iframe";
1807
+ logWorker(`Initialized ${winType} window ${normalizedWinId(winId)} environment 🎉`, winId);
1808
+ }
1809
+ environments[msgValue].$isInitialized$ = 1;
1810
+ environments[msgValue].$isLoading$ = 0;
1811
+ } else if (14 === msgType) {
1812
+ environments[msgValue].$visibilityState$ = msg[2];
1813
+ } else if (13 === msgType) {
1814
+ const $winId$ = msgValue.$winId$;
1815
+ const env = environments[$winId$];
1816
+ env.$location$.href = msgValue.url;
1817
+ !function($winId$, env, data) {
1818
+ const history = env.$window$.history;
1819
+ switch (data.type) {
1820
+ case 0:
1821
+ env.$propagateHistoryChange$ = false;
1822
+ try {
1823
+ history.pushState(data.state, "", data.newUrl);
1824
+ } catch (e) {}
1825
+ env.$propagateHistoryChange$ = true;
1826
+ break;
1827
+
1828
+ case 1:
1829
+ env.$propagateHistoryChange$ = false;
1830
+ try {
1831
+ history.replaceState(data.state, "", data.newUrl);
1832
+ } catch (e) {}
1833
+ env.$propagateHistoryChange$ = true;
1834
+ }
1835
+ }(msgValue.$winId$, env, msgValue);
1836
+ } else {
1837
+ 15 === msgType && ((_type, winId, instanceId, callbackName, args) => {
1838
+ const elm = getOrCreateNodeInstance(winId, instanceId);
1839
+ elm && "function" == typeof elm[callbackName] && elm[callbackName].apply(elm, args);
1840
+ })(...msg);
1841
+ }
1842
+ } else if (1 === msgType) {
1843
+ (initWebWorkerData => {
1844
+ const config = webWorkerCtx.$config$ = JSON.parse(initWebWorkerData.$config$);
1845
+ const locOrigin = initWebWorkerData.$origin$;
1846
+ webWorkerCtx.$importScripts$ = importScripts.bind(self);
1847
+ webWorkerCtx.$interfaces$ = initWebWorkerData.$interfaces$;
1848
+ webWorkerCtx.$libPath$ = initWebWorkerData.$libPath$;
1849
+ webWorkerCtx.$origin$ = locOrigin;
1850
+ webWorkerCtx.$postMessage$ = postMessage.bind(self);
1851
+ webWorkerCtx.$sharedDataBuffer$ = initWebWorkerData.$sharedDataBuffer$;
1852
+ webWorkerlocalStorage.set(locOrigin, initWebWorkerData.$localStorage$);
1853
+ webWorkerSessionStorage.set(locOrigin, initWebWorkerData.$sessionStorage$);
1854
+ self.importScripts = void 0;
1855
+ delete self.postMessage;
1856
+ delete self.WorkerGlobalScope;
1857
+ commaSplit("resolveUrl,get,set,apply").map((configName => {
1858
+ config[configName] && (config[configName] = new Function("return " + config[configName])());
1859
+ }));
1860
+ })(msgValue);
1861
+ webWorkerCtx.$postMessage$([ 2 ]);
1862
+ } else if (3 === msgType) {
1863
+ webWorkerCtx.$interfaces$ = [ ...webWorkerCtx.$interfaces$, ...msgValue ];
1864
+ webWorkerCtx.$isInitialized$ = 1;
1865
+ logWorker("Initialized web worker");
1866
+ webWorkerCtx.$postMessage$([ 4 ]);
1867
+ queuedEvents.length && logWorker(`Queued ready messages: ${queuedEvents.length}`);
1868
+ [ ...queuedEvents ].map(receiveMessageFromSandboxToWorker);
1869
+ queuedEvents.length = 0;
1870
+ } else {
1871
+ queuedEvents.push(ev);
1872
+ }
1873
+ };
1874
+ self.onmessage = receiveMessageFromSandboxToWorker;
1875
+ postMessage([ 0 ]);
1876
+ })(self);