@jjlmoya/utils-science 1.50.0 → 1.52.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/src/category/i18n/es.ts +3 -4
- package/src/category/i18n/fr.ts +2 -2
- package/src/category/i18n/it.ts +2 -2
- package/src/category/i18n/pt.ts +2 -2
- package/src/category/index.ts +25 -25
- package/src/components/PreviewNavSidebar.astro +1 -1
- package/src/components/PreviewToolbar.astro +1 -1
- package/src/data.ts +1 -1
- package/src/env.d.ts +1 -1
- package/src/layouts/PreviewLayout.astro +1 -1
- package/src/pages/index.astro +1 -1
- package/src/tests/bibliography_wellformed_export.test.ts +46 -0
- package/src/tests/category_seo_quality.test.ts +76 -0
- package/src/tests/faq_count.test.ts +19 -19
- package/src/tests/i18n_coverage.test.ts +36 -36
- package/src/tests/mocks/astro_mock.js +1 -1
- package/src/tests/no_h1_in_components.test.ts +1 -1
- package/src/tests/script_density.test.ts +94 -94
- package/src/tests/seo_length.test.ts +24 -24
- package/src/tests/seo_parity.test.ts +5 -5
- package/src/tests/seo_translation_completeness.test.ts +76 -0
- package/src/tests/seo_wellformed_export.test.ts +65 -0
- package/src/tests/spanish_leakage.test.ts +175 -153
- package/src/tool/asteroid-impact/component.astro +251 -251
- package/src/tool/asteroid-impact/helpers.ts +17 -17
- package/src/tool/asteroid-impact/i18n/de.ts +2 -2
- package/src/tool/asteroid-impact/i18n/en.ts +2 -2
- package/src/tool/asteroid-impact/i18n/es.ts +2 -2
- package/src/tool/asteroid-impact/i18n/fr.ts +2 -2
- package/src/tool/asteroid-impact/i18n/id.ts +2 -2
- package/src/tool/asteroid-impact/i18n/it.ts +2 -2
- package/src/tool/asteroid-impact/i18n/ja.ts +2 -2
- package/src/tool/asteroid-impact/i18n/ko.ts +2 -2
- package/src/tool/asteroid-impact/i18n/nl.ts +2 -2
- package/src/tool/asteroid-impact/i18n/pl.ts +2 -2
- package/src/tool/asteroid-impact/i18n/pt.ts +2 -2
- package/src/tool/asteroid-impact/i18n/ru.ts +2 -2
- package/src/tool/asteroid-impact/i18n/sv.ts +2 -2
- package/src/tool/asteroid-impact/i18n/tr.ts +2 -2
- package/src/tool/asteroid-impact/i18n/zh.ts +2 -2
- package/src/tool/asteroid-impact/script.ts +262 -262
- package/src/tool/asteroid-impact/seo.astro +15 -15
- package/src/tool/asteroid-impact/ui.ts +69 -69
- package/src/tool/black-hole-event-horizon-simulator/i18n/de.ts +249 -241
- package/src/tool/black-hole-event-horizon-simulator/i18n/fr.ts +252 -247
- package/src/tool/black-hole-event-horizon-simulator/i18n/id.ts +259 -259
- package/src/tool/black-hole-event-horizon-simulator/i18n/it.ts +255 -252
- package/src/tool/black-hole-event-horizon-simulator/i18n/ja.ts +254 -252
- package/src/tool/black-hole-event-horizon-simulator/i18n/ko.ts +258 -258
- package/src/tool/black-hole-event-horizon-simulator/i18n/nl.ts +256 -252
- package/src/tool/black-hole-event-horizon-simulator/i18n/pl.ts +258 -258
- package/src/tool/black-hole-event-horizon-simulator/i18n/pt.ts +256 -252
- package/src/tool/black-hole-event-horizon-simulator/i18n/ru.ts +258 -258
- package/src/tool/black-hole-event-horizon-simulator/i18n/sv.ts +257 -252
- package/src/tool/black-hole-event-horizon-simulator/i18n/tr.ts +256 -251
- package/src/tool/black-hole-event-horizon-simulator/i18n/zh.ts +261 -252
- package/src/tool/cellular-renewal/component.astro +126 -126
- package/src/tool/cellular-renewal/i18n/de.ts +1 -1
- package/src/tool/cellular-renewal/i18n/en.ts +1 -1
- package/src/tool/cellular-renewal/i18n/es.ts +1 -1
- package/src/tool/cellular-renewal/i18n/fr.ts +1 -1
- package/src/tool/cellular-renewal/i18n/id.ts +1 -1
- package/src/tool/cellular-renewal/i18n/it.ts +1 -1
- package/src/tool/cellular-renewal/i18n/ja.ts +1 -1
- package/src/tool/cellular-renewal/i18n/ko.ts +1 -1
- package/src/tool/cellular-renewal/i18n/nl.ts +1 -1
- package/src/tool/cellular-renewal/i18n/pl.ts +1 -1
- package/src/tool/cellular-renewal/i18n/pt.ts +1 -1
- package/src/tool/cellular-renewal/i18n/ru.ts +1 -1
- package/src/tool/cellular-renewal/i18n/sv.ts +1 -1
- package/src/tool/cellular-renewal/i18n/tr.ts +1 -1
- package/src/tool/cellular-renewal/i18n/zh.ts +1 -1
- package/src/tool/cellular-renewal/seo.astro +15 -15
- package/src/tool/colony-counter/i18n/de.ts +1 -1
- package/src/tool/colony-counter/i18n/en.ts +1 -1
- package/src/tool/colony-counter/i18n/es.ts +1 -1
- package/src/tool/colony-counter/i18n/fr.ts +1 -1
- package/src/tool/colony-counter/i18n/id.ts +1 -1
- package/src/tool/colony-counter/i18n/it.ts +1 -1
- package/src/tool/colony-counter/i18n/ja.ts +1 -1
- package/src/tool/colony-counter/i18n/ko.ts +1 -1
- package/src/tool/colony-counter/i18n/nl.ts +1 -1
- package/src/tool/colony-counter/i18n/pl.ts +1 -1
- package/src/tool/colony-counter/i18n/pt.ts +1 -1
- package/src/tool/colony-counter/i18n/ru.ts +1 -1
- package/src/tool/colony-counter/i18n/sv.ts +1 -1
- package/src/tool/colony-counter/i18n/tr.ts +1 -1
- package/src/tool/colony-counter/i18n/zh.ts +1 -1
- package/src/tool/colony-counter/seo.astro +15 -15
- package/src/tool/conway-life-rule-lab/component.astro +1 -1
- package/src/tool/conway-life-rule-lab/i18n/de.ts +145 -141
- package/src/tool/conway-life-rule-lab/i18n/es.ts +146 -142
- package/src/tool/conway-life-rule-lab/i18n/fr.ts +146 -142
- package/src/tool/conway-life-rule-lab/i18n/id.ts +146 -145
- package/src/tool/conway-life-rule-lab/i18n/it.ts +146 -145
- package/src/tool/conway-life-rule-lab/i18n/ja.ts +146 -145
- package/src/tool/conway-life-rule-lab/i18n/ko.ts +146 -145
- package/src/tool/conway-life-rule-lab/i18n/nl.ts +147 -145
- package/src/tool/conway-life-rule-lab/i18n/pl.ts +147 -145
- package/src/tool/conway-life-rule-lab/i18n/pt.ts +147 -145
- package/src/tool/conway-life-rule-lab/i18n/ru.ts +147 -145
- package/src/tool/conway-life-rule-lab/i18n/sv.ts +147 -145
- package/src/tool/conway-life-rule-lab/i18n/tr.ts +147 -145
- package/src/tool/conway-life-rule-lab/i18n/zh.ts +147 -145
- package/src/tool/conway-life-rule-lab/logic/LifeLabRuntime.ts +2 -2
- package/src/tool/cosmic-inflation/i18n/ru.ts +105 -105
- package/src/tool/crystal-lattice-structure-finder/i18n/de.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/en.ts +1 -1
- package/src/tool/crystal-lattice-structure-finder/i18n/es.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/fr.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/id.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/it.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/ja.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/ko.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/nl.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/pl.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/pt.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/ru.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/sv.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/tr.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/zh.ts +217 -217
- package/src/tool/double-slit-decoherence/i18n/de.ts +181 -181
- package/src/tool/double-slit-decoherence/i18n/fr.ts +180 -180
- package/src/tool/double-slit-decoherence/i18n/id.ts +181 -181
- package/src/tool/double-slit-decoherence/i18n/it.ts +180 -180
- package/src/tool/double-slit-decoherence/i18n/ja.ts +181 -181
- package/src/tool/double-slit-decoherence/i18n/ko.ts +181 -181
- package/src/tool/double-slit-decoherence/i18n/nl.ts +181 -181
- package/src/tool/double-slit-decoherence/i18n/pl.ts +181 -181
- package/src/tool/double-slit-decoherence/i18n/pt.ts +178 -174
- package/src/tool/double-slit-decoherence/i18n/ru.ts +180 -180
- package/src/tool/double-slit-decoherence/i18n/sv.ts +176 -172
- package/src/tool/double-slit-decoherence/i18n/tr.ts +180 -180
- package/src/tool/double-slit-decoherence/i18n/zh.ts +181 -181
- package/src/tool/dyson-sphere-energy-capture/component.astro +253 -253
- package/src/tool/dyson-sphere-energy-capture/i18n/de.ts +194 -194
- package/src/tool/dyson-sphere-energy-capture/i18n/en.ts +6 -6
- package/src/tool/dyson-sphere-energy-capture/i18n/es.ts +6 -6
- package/src/tool/dyson-sphere-energy-capture/i18n/fr.ts +194 -194
- package/src/tool/dyson-sphere-energy-capture/i18n/id.ts +195 -195
- package/src/tool/dyson-sphere-energy-capture/i18n/it.ts +194 -194
- package/src/tool/dyson-sphere-energy-capture/i18n/ja.ts +194 -190
- package/src/tool/dyson-sphere-energy-capture/i18n/ko.ts +194 -193
- package/src/tool/dyson-sphere-energy-capture/i18n/nl.ts +197 -197
- package/src/tool/dyson-sphere-energy-capture/i18n/pl.ts +168 -166
- package/src/tool/dyson-sphere-energy-capture/i18n/pt.ts +194 -193
- package/src/tool/dyson-sphere-energy-capture/i18n/ru.ts +195 -193
- package/src/tool/dyson-sphere-energy-capture/i18n/sv.ts +195 -193
- package/src/tool/dyson-sphere-energy-capture/i18n/tr.ts +168 -166
- package/src/tool/dyson-sphere-energy-capture/i18n/zh.ts +194 -193
- package/src/tool/epidemic-sir-simulator/i18n/de.ts +347 -347
- package/src/tool/epidemic-sir-simulator/i18n/es.ts +347 -347
- package/src/tool/epidemic-sir-simulator/i18n/fr.ts +347 -347
- package/src/tool/epidemic-sir-simulator/i18n/it.ts +346 -346
- package/src/tool/epidemic-sir-simulator/i18n/nl.ts +347 -347
- package/src/tool/epidemic-sir-simulator/i18n/ru.ts +347 -347
- package/src/tool/epidemic-sir-simulator/i18n/sv.ts +347 -347
- package/src/tool/epidemic-sir-simulator/i18n/zh.ts +347 -347
- package/src/tool/exoplanet-biosignature-detector/i18n/de.ts +186 -186
- package/src/tool/exoplanet-biosignature-detector/i18n/en.ts +195 -195
- package/src/tool/exoplanet-biosignature-detector/i18n/es.ts +194 -194
- package/src/tool/exoplanet-biosignature-detector/i18n/fr.ts +183 -183
- package/src/tool/exoplanet-biosignature-detector/i18n/id.ts +193 -193
- package/src/tool/exoplanet-biosignature-detector/i18n/it.ts +194 -194
- package/src/tool/exoplanet-biosignature-detector/i18n/ja.ts +194 -194
- package/src/tool/exoplanet-biosignature-detector/i18n/ko.ts +194 -194
- package/src/tool/exoplanet-biosignature-detector/i18n/nl.ts +194 -194
- package/src/tool/exoplanet-biosignature-detector/i18n/pl.ts +144 -144
- package/src/tool/exoplanet-biosignature-detector/i18n/pt.ts +146 -146
- package/src/tool/exoplanet-biosignature-detector/i18n/ru.ts +143 -143
- package/src/tool/exoplanet-biosignature-detector/i18n/sv.ts +144 -144
- package/src/tool/exoplanet-biosignature-detector/i18n/tr.ts +145 -145
- package/src/tool/exoplanet-biosignature-detector/i18n/zh.ts +194 -194
- package/src/tool/global-albedo-snowball-simulator/component.astro +1 -1
- package/src/tool/global-albedo-snowball-simulator/i18n/de.ts +169 -169
- package/src/tool/global-albedo-snowball-simulator/i18n/fr.ts +169 -169
- package/src/tool/global-albedo-snowball-simulator/i18n/id.ts +169 -169
- package/src/tool/global-albedo-snowball-simulator/i18n/it.ts +87 -87
- package/src/tool/global-albedo-snowball-simulator/i18n/ja.ts +87 -87
- package/src/tool/global-albedo-snowball-simulator/i18n/ko.ts +169 -169
- package/src/tool/global-albedo-snowball-simulator/i18n/nl.ts +169 -169
- package/src/tool/global-albedo-snowball-simulator/i18n/pl.ts +169 -169
- package/src/tool/global-albedo-snowball-simulator/i18n/pt.ts +169 -169
- package/src/tool/global-albedo-snowball-simulator/i18n/ru.ts +165 -161
- package/src/tool/global-albedo-snowball-simulator/i18n/sv.ts +169 -169
- package/src/tool/global-albedo-snowball-simulator/i18n/tr.ts +169 -169
- package/src/tool/global-albedo-snowball-simulator/i18n/zh.ts +169 -169
- package/src/tool/lorenz-attractor/i18n/de.ts +144 -143
- package/src/tool/lorenz-attractor/i18n/fr.ts +144 -144
- package/src/tool/lorenz-attractor/i18n/id.ts +149 -149
- package/src/tool/lorenz-attractor/i18n/it.ts +149 -149
- package/src/tool/lorenz-attractor/i18n/ja.ts +149 -149
- package/src/tool/lorenz-attractor/i18n/ko.ts +149 -149
- package/src/tool/lorenz-attractor/i18n/nl.ts +149 -149
- package/src/tool/lorenz-attractor/i18n/pl.ts +149 -149
- package/src/tool/lorenz-attractor/i18n/pt.ts +142 -141
- package/src/tool/lorenz-attractor/i18n/ru.ts +149 -149
- package/src/tool/lorenz-attractor/i18n/sv.ts +149 -149
- package/src/tool/lorenz-attractor/i18n/tr.ts +149 -149
- package/src/tool/lorenz-attractor/i18n/zh.ts +149 -149
- package/src/tool/mandelbrot-fractal/i18n/de.ts +158 -158
- package/src/tool/mandelbrot-fractal/i18n/fr.ts +158 -158
- package/src/tool/mandelbrot-fractal/i18n/id.ts +159 -159
- package/src/tool/mandelbrot-fractal/i18n/it.ts +155 -151
- package/src/tool/mandelbrot-fractal/i18n/ja.ts +159 -159
- package/src/tool/mandelbrot-fractal/i18n/ko.ts +159 -159
- package/src/tool/mandelbrot-fractal/i18n/nl.ts +159 -159
- package/src/tool/mandelbrot-fractal/i18n/pl.ts +157 -153
- package/src/tool/mandelbrot-fractal/i18n/pt.ts +158 -158
- package/src/tool/mandelbrot-fractal/i18n/ru.ts +159 -159
- package/src/tool/mandelbrot-fractal/i18n/sv.ts +159 -150
- package/src/tool/mandelbrot-fractal/i18n/tr.ts +159 -159
- package/src/tool/mandelbrot-fractal/i18n/zh.ts +159 -159
- package/src/tool/microwave-detector/component.astro +238 -238
- package/src/tool/microwave-detector/i18n/de.ts +1 -1
- package/src/tool/microwave-detector/i18n/en.ts +1 -1
- package/src/tool/microwave-detector/i18n/es.ts +1 -1
- package/src/tool/microwave-detector/i18n/fr.ts +1 -1
- package/src/tool/microwave-detector/i18n/id.ts +1 -1
- package/src/tool/microwave-detector/i18n/it.ts +1 -1
- package/src/tool/microwave-detector/i18n/ja.ts +1 -1
- package/src/tool/microwave-detector/i18n/ko.ts +1 -1
- package/src/tool/microwave-detector/i18n/nl.ts +1 -1
- package/src/tool/microwave-detector/i18n/pl.ts +1 -1
- package/src/tool/microwave-detector/i18n/pt.ts +1 -1
- package/src/tool/microwave-detector/i18n/ru.ts +1 -1
- package/src/tool/microwave-detector/i18n/sv.ts +1 -1
- package/src/tool/microwave-detector/i18n/tr.ts +1 -1
- package/src/tool/microwave-detector/i18n/zh.ts +1 -1
- package/src/tool/microwave-detector/seo.astro +15 -15
- package/src/tool/natural-selection-drift/component.astro +135 -135
- package/src/tool/natural-selection-drift/i18n/de.ts +164 -160
- package/src/tool/natural-selection-drift/i18n/fr.ts +204 -204
- package/src/tool/natural-selection-drift/i18n/id.ts +156 -154
- package/src/tool/natural-selection-drift/i18n/it.ts +197 -193
- package/src/tool/natural-selection-drift/i18n/ja.ts +155 -154
- package/src/tool/natural-selection-drift/i18n/ko.ts +155 -154
- package/src/tool/natural-selection-drift/i18n/nl.ts +164 -163
- package/src/tool/natural-selection-drift/i18n/pl.ts +168 -166
- package/src/tool/natural-selection-drift/i18n/pt.ts +200 -195
- package/src/tool/natural-selection-drift/i18n/ru.ts +186 -184
- package/src/tool/natural-selection-drift/i18n/sv.ts +157 -154
- package/src/tool/natural-selection-drift/i18n/tr.ts +186 -184
- package/src/tool/natural-selection-drift/i18n/zh.ts +160 -154
- package/src/tool/natural-selection-drift/natural-selection-drift.css +563 -563
- package/src/tool/phase-diagram-critical-points/i18n/de.ts +178 -178
- package/src/tool/phase-diagram-critical-points/i18n/fr.ts +178 -178
- package/src/tool/phase-diagram-critical-points/i18n/id.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/it.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/ja.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/ko.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/nl.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/pl.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/pt.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/ru.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/sv.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/tr.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/zh.ts +179 -179
- package/src/tool/planet-atmosphere-survival/i18n/de.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/fr.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/id.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/it.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/ja.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/ko.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/nl.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/pl.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/pt.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/ru.ts +227 -223
- package/src/tool/planet-atmosphere-survival/i18n/sv.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/tr.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/zh.ts +255 -255
- package/src/tool/radioactive-decay/i18n/de.ts +168 -164
- package/src/tool/radioactive-decay/i18n/fr.ts +76 -75
- package/src/tool/radioactive-decay/i18n/id.ts +169 -165
- package/src/tool/radioactive-decay/i18n/it.ts +76 -74
- package/src/tool/radioactive-decay/i18n/ja.ts +168 -167
- package/src/tool/radioactive-decay/i18n/ko.ts +168 -167
- package/src/tool/radioactive-decay/i18n/nl.ts +170 -168
- package/src/tool/radioactive-decay/i18n/pl.ts +170 -168
- package/src/tool/radioactive-decay/i18n/pt.ts +169 -167
- package/src/tool/radioactive-decay/i18n/ru.ts +170 -168
- package/src/tool/radioactive-decay/i18n/sv.ts +170 -168
- package/src/tool/radioactive-decay/i18n/tr.ts +171 -168
- package/src/tool/radioactive-decay/i18n/zh.ts +171 -167
- package/src/tool/roche-limit-satellite-disruption/i18n/de.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/fr.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/id.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/it.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/ja.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/ko.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/nl.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/pl.ts +237 -229
- package/src/tool/roche-limit-satellite-disruption/i18n/pt.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/ru.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/sv.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/tr.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/zh.ts +241 -241
- package/src/tool/simulation-probability/component.astro +138 -138
- package/src/tool/simulation-probability/i18n/de.ts +1 -1
- package/src/tool/simulation-probability/i18n/en.ts +1 -1
- package/src/tool/simulation-probability/i18n/es.ts +1 -1
- package/src/tool/simulation-probability/i18n/fr.ts +1 -1
- package/src/tool/simulation-probability/i18n/id.ts +1 -1
- package/src/tool/simulation-probability/i18n/it.ts +1 -1
- package/src/tool/simulation-probability/i18n/ja.ts +1 -1
- package/src/tool/simulation-probability/i18n/ko.ts +1 -1
- package/src/tool/simulation-probability/i18n/nl.ts +1 -1
- package/src/tool/simulation-probability/i18n/pl.ts +1 -1
- package/src/tool/simulation-probability/i18n/pt.ts +1 -1
- package/src/tool/simulation-probability/i18n/ru.ts +1 -1
- package/src/tool/simulation-probability/i18n/sv.ts +1 -1
- package/src/tool/simulation-probability/i18n/tr.ts +1 -1
- package/src/tool/simulation-probability/i18n/zh.ts +1 -1
- package/src/tool/simulation-probability/seo.astro +15 -15
- package/src/tool/stellar-habitability-zone/i18n/ru.ts +189 -189
- package/src/tool/temperature-timeline/i18n/de.ts +2 -1
- package/src/tool/temperature-timeline/i18n/fr.ts +177 -177
- package/src/tool/temperature-timeline/i18n/it.ts +142 -141
- package/src/tool/temperature-timeline/i18n/pt.ts +3 -1
- package/src/tool/temperature-timeline/i18n/ru.ts +116 -114
- package/src/tool/three-body-problem/app.ts +4 -4
- package/src/tool/three-body-problem/component.astro +6 -6
- package/src/tool/twin-paradox-visualizer/i18n/de.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/es.ts +165 -165
- package/src/tool/twin-paradox-visualizer/i18n/fr.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/id.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/it.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/ja.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/ko.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/nl.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/pl.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/pt.ts +164 -160
- package/src/tool/twin-paradox-visualizer/i18n/ru.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/sv.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/tr.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/zh.ts +168 -168
- package/src/types.ts +1 -1
|
@@ -1,159 +1,159 @@
|
|
|
1
|
-
import { bibliography } from '../bibliography';
|
|
2
|
-
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
-
|
|
4
|
-
const slug = 'mandelbrot-fractal-calculator';
|
|
5
|
-
const title = 'Mandelbrot Fractal Calculator & Self Similarity Explorer';
|
|
6
|
-
const description = 'マンデルブロ集合を探検し、自己相似のフラクタル境界をズームで観察。反復深度、色のコントラスト、複素平面座標を比較できます。';
|
|
7
|
-
|
|
8
|
-
const howTo = [
|
|
9
|
-
{
|
|
10
|
-
name: 'マンデルブロ集合の領域を選ぶ',
|
|
11
|
-
text: '全体集合から始めるか、seahorse valley(海馬の谷)やスパイラルミニブロットなどの高精細領域に直接ジャンプします。',
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
name: '画像をクリックしてズーム',
|
|
15
|
-
text: 'キャンバス上の任意の点をクリックすると、複素平面が再中心化され、その座標を中心にフラクタルが拡大表示されます。',
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
name: '反復深度と色のコントラストを調整',
|
|
19
|
-
text: '反復予算を増やすとより細かい境界構造が現れます。続けてコントラストとパレットを調整し、エスケープタイムのバンドを見やすくします。',
|
|
20
|
-
},
|
|
21
|
-
];
|
|
22
|
-
|
|
23
|
-
const faq = [
|
|
24
|
-
{
|
|
25
|
-
question: 'マンデルブロ集合計算機は何を表示しますか?',
|
|
26
|
-
answer: 'z = 0 から開始したときに漸化式 z(n+1) = z(n)^2 + c が有界に保たれる複素数 c を表示します。選択した反復予算内で決して発散しない点は集合のメンバーとして着色され、外部の点は軌道が発散する速さに応じて色分けされます。',
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
question: 'マンデルブロ集合の境界にはなぜこれほど多くの詳細が含まれているのですか?',
|
|
30
|
-
answer: '境界は安定軌道と発散軌道を分けており、その境界付近での微小な座標変化が長期的な振る舞いを完全に変える可能性があります。この感度が、ネストされたバルブ、スパイラル、フィラメント、および多くの拡大レベルで現れるミニチュアコピーを生み出します。',
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
question: 'マンデルブロ集合は本当に自己相似ですか?',
|
|
34
|
-
answer: 'シェルピンスキーの三角形とまったく同じ厳密な意味では完全に自己相似ではありませんが、豊かな準自己相似性を持っています。集合全体の小さなコピーが平面全体に現れ、しばしば歪められ、精巧な分岐構造によって接続されています。',
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
question: '反復回数は何を制御しますか?',
|
|
38
|
-
answer: '反復回数は、各点がおそらく集合に属すると判断する前に計算機がテストする時間を制御します。より高い値はより深いフィラメントとより鮮明なミニブロットを明らかにしますが、ピクセルあたりの計算量が増加します。',
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
question: '黒い領域の外側で色が変わるのはなぜですか?',
|
|
42
|
-
answer: '外側の色はエスケープタイムに基づいています。すぐに発散する点は、多くの反復にわたって集合の近くに留まる点とは異なる色を受け取ります。スムースカラーリングは急激なバンドを減らし、近くの軌道の形状を検査しやすくします。',
|
|
43
|
-
},
|
|
44
|
-
];
|
|
45
|
-
|
|
46
|
-
export const content: ToolLocaleContent = {
|
|
47
|
-
slug,
|
|
48
|
-
title,
|
|
49
|
-
description,
|
|
50
|
-
ui: {
|
|
51
|
-
title: 'Mandelbrot Fractal Calculator',
|
|
52
|
-
canvasLabel: 'インタラクティブなマンデルブロ集合キャンバス',
|
|
53
|
-
presetsLabel: 'マンデルブロ領域プリセット',
|
|
54
|
-
presetFull: '全体集合',
|
|
55
|
-
presetSeahorse: 'Seahorse Valley',
|
|
56
|
-
presetSpiral: 'スパイラルミニブロット',
|
|
57
|
-
centerPoint: '中心座標',
|
|
58
|
-
magnification: '倍率',
|
|
59
|
-
visibleWindow: '可視ウィンドウ',
|
|
60
|
-
renderBudget: '反復回数',
|
|
61
|
-
iterationsLabel: '反復深度',
|
|
62
|
-
contrastLabel: '発散コントラスト',
|
|
63
|
-
colorLabel: 'カラーフィールド',
|
|
64
|
-
paletteEmber: 'エンバーバンド',
|
|
65
|
-
paletteLagoon: 'ラグーンプラズマ',
|
|
66
|
-
paletteInk: 'インクスペクトラム',
|
|
67
|
-
},
|
|
68
|
-
seo: [
|
|
69
|
-
{
|
|
70
|
-
type: 'title',
|
|
71
|
-
text: 'Mandelbrot Set Calculator for Fractals, Escape Time, and Self-Similarity',
|
|
72
|
-
level: 2,
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
type: 'paragraph',
|
|
76
|
-
html: 'このMandelbrotフラクタル計算機は、反復 <strong>z(n+1) = z(n)^2 + c</strong> によって定義される古典的な複素平面集合をレンダリングします。受動的に見るだけでなく探索のために設計されています。すべてのクリックが平面を再中心化し、各ズームがより小さな数学的近傍を露出させ、反復スライダーで点を安定または発散として着色する前に計算機が境界をどの程度テストするかを決定できます。',
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
type: 'title',
|
|
80
|
-
text: 'How to Read the Mandelbrot Image',
|
|
81
|
-
level: 3,
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
type: 'paragraph',
|
|
85
|
-
html: '暗い中央の形状は、現在の反復予算内で軌道が有界に保たれる点を示します。色付きの外部はエスケープタイムマップです。集合の近くに着色された点は、その大きさが脱出半径を超えるまでに何百回もの反復に耐える可能性がありますが、遠くの点はほぼ即座に発散します。最も科学的に興味深い形状は通常、塗りつぶされた形状の内部ではなく、有界と非有界の振る舞いが交錯する境界に沿って見られます。',
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
type: 'table',
|
|
89
|
-
headers: ['コントロール', '変更内容', '増やすタイミング'],
|
|
90
|
-
rows: [
|
|
91
|
-
['<strong>反復深度</strong>', '各ピクセルに対してテストされる漸化ステップの数。', '細いフィラメントやミニチュアコピーにズームインした後に高い値を使用します。'],
|
|
92
|
-
['<strong>発散コントラスト</strong>', 'スムーズな発散値がどの程度強く可視バンドに分離されるか。', '画像が平坦に見えるときに上げ、色が強すぎるときに下げます。'],
|
|
93
|
-
['<strong>パレット</strong>', '外部の点に適用される色マッピング。', 'パレットを切り替えて、1つのカラーフィールドでは隠れていた構造を明らかにします。'],
|
|
94
|
-
],
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
type: 'title',
|
|
98
|
-
text: 'Self-Similarity and Minibrots',
|
|
99
|
-
level: 3,
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
type: 'paragraph',
|
|
103
|
-
html: 'マンデルブロ集合がこれほど有名な理由の1つは、その準自己相似性です。アンテナ、スパイラル、谷にズームインすると、ミニブロットと呼ばれるマンデルブロに似た小さな島に繰り返し遭遇します。これらのコピーは単なる装飾ではありません。その配置は、周期バルブ、分岐パターン、および軌道が発散する前に長期間閉じ込められたままになる領域を含む、二次写像の力学を反映しています。',
|
|
104
|
-
},
|
|
105
|
-
{
|
|
106
|
-
type: 'title',
|
|
107
|
-
text: 'Why Higher Iterations Matter at Deep Zoom',
|
|
108
|
-
level: 3,
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
type: 'paragraph',
|
|
112
|
-
html: '全体集合ビューでは、適度な反復制限で認識可能な画像が得られます。しかし、より深い倍率では、多くの境界点が発散するかどうかを明らかにするためにはるかに長い時間がかかります。反復制限が低すぎると、微細な構造が誤って固体のように見えたり不鮮明になったりする可能性があります。反復回数を増やすと境界分類が改善され、計算機が細い巻きひき、スパイラルアーム、および衛星バルブをより確実に解像できるようになります。',
|
|
113
|
-
},
|
|
114
|
-
{
|
|
115
|
-
type: 'title',
|
|
116
|
-
text: 'Mathematical Meaning of the Complex Coordinates',
|
|
117
|
-
level: 3,
|
|
118
|
-
},
|
|
119
|
-
{
|
|
120
|
-
type: 'paragraph',
|
|
121
|
-
html: '座標表示は、ビューポートの現在の中心を複素数 c = a + bi として示します。水平軸は実部、垂直軸は虚部です。キャンバスをクリックすると新しい複素座標が選択され、その周りの可視ウィンドウが拡大されます。これにより、フラクタルの視覚的領域が複素平面内の正確な位置にどのように対応するかを学習するのに役立つツールとなります。',
|
|
122
|
-
},
|
|
123
|
-
],
|
|
124
|
-
faq,
|
|
125
|
-
bibliography,
|
|
126
|
-
howTo,
|
|
127
|
-
schemas: [
|
|
128
|
-
{
|
|
129
|
-
'@context': 'https://schema.org',
|
|
130
|
-
'@type': 'SoftwareApplication',
|
|
131
|
-
name: title,
|
|
132
|
-
description,
|
|
133
|
-
applicationCategory: 'ScientificApplication',
|
|
134
|
-
operatingSystem: 'Any',
|
|
135
|
-
},
|
|
136
|
-
{
|
|
137
|
-
'@context': 'https://schema.org',
|
|
138
|
-
'@type': 'FAQPage',
|
|
139
|
-
mainEntity: faq.map((item) => ({
|
|
140
|
-
'@type': 'Question',
|
|
141
|
-
name: item.question,
|
|
142
|
-
acceptedAnswer: {
|
|
143
|
-
'@type': 'Answer',
|
|
144
|
-
text: item.answer,
|
|
145
|
-
},
|
|
146
|
-
})),
|
|
147
|
-
},
|
|
148
|
-
{
|
|
149
|
-
'@context': 'https://schema.org',
|
|
150
|
-
'@type': 'HowTo',
|
|
151
|
-
name: title,
|
|
152
|
-
step: howTo.map((step) => ({
|
|
153
|
-
'@type': 'HowToStep',
|
|
154
|
-
name: step.name,
|
|
155
|
-
text: step.text,
|
|
156
|
-
})),
|
|
157
|
-
},
|
|
158
|
-
],
|
|
159
|
-
};
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
const slug = 'mandelbrot-fractal-calculator';
|
|
5
|
+
const title = 'Mandelbrot Fractal Calculator & Self Similarity Explorer';
|
|
6
|
+
const description = 'マンデルブロ集合を探検し、自己相似のフラクタル境界をズームで観察。反復深度、色のコントラスト、複素平面座標を比較できます。';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{
|
|
10
|
+
name: 'マンデルブロ集合の領域を選ぶ',
|
|
11
|
+
text: '全体集合から始めるか、seahorse valley(海馬の谷)やスパイラルミニブロットなどの高精細領域に直接ジャンプします。',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: '画像をクリックしてズーム',
|
|
15
|
+
text: 'キャンバス上の任意の点をクリックすると、複素平面が再中心化され、その座標を中心にフラクタルが拡大表示されます。',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: '反復深度と色のコントラストを調整',
|
|
19
|
+
text: '反復予算を増やすとより細かい境界構造が現れます。続けてコントラストとパレットを調整し、エスケープタイムのバンドを見やすくします。',
|
|
20
|
+
},
|
|
21
|
+
];
|
|
22
|
+
|
|
23
|
+
const faq = [
|
|
24
|
+
{
|
|
25
|
+
question: 'マンデルブロ集合計算機は何を表示しますか?',
|
|
26
|
+
answer: 'z = 0 から開始したときに漸化式 z(n+1) = z(n)^2 + c が有界に保たれる複素数 c を表示します。選択した反復予算内で決して発散しない点は集合のメンバーとして着色され、外部の点は軌道が発散する速さに応じて色分けされます。',
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
question: 'マンデルブロ集合の境界にはなぜこれほど多くの詳細が含まれているのですか?',
|
|
30
|
+
answer: '境界は安定軌道と発散軌道を分けており、その境界付近での微小な座標変化が長期的な振る舞いを完全に変える可能性があります。この感度が、ネストされたバルブ、スパイラル、フィラメント、および多くの拡大レベルで現れるミニチュアコピーを生み出します。',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'マンデルブロ集合は本当に自己相似ですか?',
|
|
34
|
+
answer: 'シェルピンスキーの三角形とまったく同じ厳密な意味では完全に自己相似ではありませんが、豊かな準自己相似性を持っています。集合全体の小さなコピーが平面全体に現れ、しばしば歪められ、精巧な分岐構造によって接続されています。',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
question: '反復回数は何を制御しますか?',
|
|
38
|
+
answer: '反復回数は、各点がおそらく集合に属すると判断する前に計算機がテストする時間を制御します。より高い値はより深いフィラメントとより鮮明なミニブロットを明らかにしますが、ピクセルあたりの計算量が増加します。',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
question: '黒い領域の外側で色が変わるのはなぜですか?',
|
|
42
|
+
answer: '外側の色はエスケープタイムに基づいています。すぐに発散する点は、多くの反復にわたって集合の近くに留まる点とは異なる色を受け取ります。スムースカラーリングは急激なバンドを減らし、近くの軌道の形状を検査しやすくします。',
|
|
43
|
+
},
|
|
44
|
+
];
|
|
45
|
+
|
|
46
|
+
export const content: ToolLocaleContent = {
|
|
47
|
+
slug,
|
|
48
|
+
title,
|
|
49
|
+
description,
|
|
50
|
+
ui: {
|
|
51
|
+
title: 'Mandelbrot Fractal Calculator',
|
|
52
|
+
canvasLabel: 'インタラクティブなマンデルブロ集合キャンバス',
|
|
53
|
+
presetsLabel: 'マンデルブロ領域プリセット',
|
|
54
|
+
presetFull: '全体集合',
|
|
55
|
+
presetSeahorse: 'Seahorse Valley',
|
|
56
|
+
presetSpiral: 'スパイラルミニブロット',
|
|
57
|
+
centerPoint: '中心座標',
|
|
58
|
+
magnification: '倍率',
|
|
59
|
+
visibleWindow: '可視ウィンドウ',
|
|
60
|
+
renderBudget: '反復回数',
|
|
61
|
+
iterationsLabel: '反復深度',
|
|
62
|
+
contrastLabel: '発散コントラスト',
|
|
63
|
+
colorLabel: 'カラーフィールド',
|
|
64
|
+
paletteEmber: 'エンバーバンド',
|
|
65
|
+
paletteLagoon: 'ラグーンプラズマ',
|
|
66
|
+
paletteInk: 'インクスペクトラム',
|
|
67
|
+
},
|
|
68
|
+
seo: [
|
|
69
|
+
{
|
|
70
|
+
type: 'title',
|
|
71
|
+
text: 'Mandelbrot Set Calculator for Fractals, Escape Time, and Self-Similarity',
|
|
72
|
+
level: 2,
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
type: 'paragraph',
|
|
76
|
+
html: 'このMandelbrotフラクタル計算機は、反復 <strong>z(n+1) = z(n)^2 + c</strong> によって定義される古典的な複素平面集合をレンダリングします。受動的に見るだけでなく探索のために設計されています。すべてのクリックが平面を再中心化し、各ズームがより小さな数学的近傍を露出させ、反復スライダーで点を安定または発散として着色する前に計算機が境界をどの程度テストするかを決定できます。',
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
type: 'title',
|
|
80
|
+
text: 'How to Read the Mandelbrot Image',
|
|
81
|
+
level: 3,
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
type: 'paragraph',
|
|
85
|
+
html: '暗い中央の形状は、現在の反復予算内で軌道が有界に保たれる点を示します。色付きの外部はエスケープタイムマップです。集合の近くに着色された点は、その大きさが脱出半径を超えるまでに何百回もの反復に耐える可能性がありますが、遠くの点はほぼ即座に発散します。最も科学的に興味深い形状は通常、塗りつぶされた形状の内部ではなく、有界と非有界の振る舞いが交錯する境界に沿って見られます。',
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
type: 'table',
|
|
89
|
+
headers: ['コントロール', '変更内容', '増やすタイミング'],
|
|
90
|
+
rows: [
|
|
91
|
+
['<strong>反復深度</strong>', '各ピクセルに対してテストされる漸化ステップの数。', '細いフィラメントやミニチュアコピーにズームインした後に高い値を使用します。'],
|
|
92
|
+
['<strong>発散コントラスト</strong>', 'スムーズな発散値がどの程度強く可視バンドに分離されるか。', '画像が平坦に見えるときに上げ、色が強すぎるときに下げます。'],
|
|
93
|
+
['<strong>パレット</strong>', '外部の点に適用される色マッピング。', 'パレットを切り替えて、1つのカラーフィールドでは隠れていた構造を明らかにします。'],
|
|
94
|
+
],
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
type: 'title',
|
|
98
|
+
text: 'Self-Similarity and Minibrots',
|
|
99
|
+
level: 3,
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
type: 'paragraph',
|
|
103
|
+
html: 'マンデルブロ集合がこれほど有名な理由の1つは、その準自己相似性です。アンテナ、スパイラル、谷にズームインすると、ミニブロットと呼ばれるマンデルブロに似た小さな島に繰り返し遭遇します。これらのコピーは単なる装飾ではありません。その配置は、周期バルブ、分岐パターン、および軌道が発散する前に長期間閉じ込められたままになる領域を含む、二次写像の力学を反映しています。',
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
type: 'title',
|
|
107
|
+
text: 'Why Higher Iterations Matter at Deep Zoom',
|
|
108
|
+
level: 3,
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
type: 'paragraph',
|
|
112
|
+
html: '全体集合ビューでは、適度な反復制限で認識可能な画像が得られます。しかし、より深い倍率では、多くの境界点が発散するかどうかを明らかにするためにはるかに長い時間がかかります。反復制限が低すぎると、微細な構造が誤って固体のように見えたり不鮮明になったりする可能性があります。反復回数を増やすと境界分類が改善され、計算機が細い巻きひき、スパイラルアーム、および衛星バルブをより確実に解像できるようになります。',
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
type: 'title',
|
|
116
|
+
text: 'Mathematical Meaning of the Complex Coordinates',
|
|
117
|
+
level: 3,
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
type: 'paragraph',
|
|
121
|
+
html: '座標表示は、ビューポートの現在の中心を複素数 c = a + bi として示します。水平軸は実部、垂直軸は虚部です。キャンバスをクリックすると新しい複素座標が選択され、その周りの可視ウィンドウが拡大されます。これにより、フラクタルの視覚的領域が複素平面内の正確な位置にどのように対応するかを学習するのに役立つツールとなります。',
|
|
122
|
+
},
|
|
123
|
+
],
|
|
124
|
+
faq,
|
|
125
|
+
bibliography,
|
|
126
|
+
howTo,
|
|
127
|
+
schemas: [
|
|
128
|
+
{
|
|
129
|
+
'@context': 'https://schema.org',
|
|
130
|
+
'@type': 'SoftwareApplication',
|
|
131
|
+
name: title,
|
|
132
|
+
description,
|
|
133
|
+
applicationCategory: 'ScientificApplication',
|
|
134
|
+
operatingSystem: 'Any',
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
'@context': 'https://schema.org',
|
|
138
|
+
'@type': 'FAQPage',
|
|
139
|
+
mainEntity: faq.map((item) => ({
|
|
140
|
+
'@type': 'Question',
|
|
141
|
+
name: item.question,
|
|
142
|
+
acceptedAnswer: {
|
|
143
|
+
'@type': 'Answer',
|
|
144
|
+
text: item.answer,
|
|
145
|
+
},
|
|
146
|
+
})),
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
'@context': 'https://schema.org',
|
|
150
|
+
'@type': 'HowTo',
|
|
151
|
+
name: title,
|
|
152
|
+
step: howTo.map((step) => ({
|
|
153
|
+
'@type': 'HowToStep',
|
|
154
|
+
name: step.name,
|
|
155
|
+
text: step.text,
|
|
156
|
+
})),
|
|
157
|
+
},
|
|
158
|
+
],
|
|
159
|
+
};
|