From 2dcfc6b14ab82b272442b3c00f4d0c0ef03a9812 Mon Sep 17 00:00:00 2001 From: Anson Date: Thu, 14 Nov 2024 06:30:25 +0000 Subject: [PATCH] Add old research proposal that wasn't posted --- .devcontainer/devcontainer.json | 3 - Dockerfile | 6 +- Manifest.toml | 670 ++++++++++++------ posts/.DS_Store | Bin 0 -> 8196 bytes .../diabetologia.csl | 164 +++++ .../index.qmd | 101 +++ .../long.png | Bin 0 -> 25973 bytes .../references.bib | 171 +++++ .../uripropcomparison.svg | 16 + 9 files changed, 916 insertions(+), 215 deletions(-) create mode 100644 posts/.DS_Store create mode 100644 posts/2022-02-07-space-debris-characterization/diabetologia.csl create mode 100644 posts/2022-02-07-space-debris-characterization/index.qmd create mode 100644 posts/2022-02-07-space-debris-characterization/long.png create mode 100644 posts/2022-02-07-space-debris-characterization/references.bib create mode 100644 posts/2022-02-07-space-debris-characterization/uripropcomparison.svg diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 06d84e4..2791b4f 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -13,9 +13,6 @@ ] } }, - "mounts": [ - "source=${localEnv:USERPROFILE}\\.ssh,target=/root/.ssh,type=bind,consistency=cached" - ], "remoteEnv": { "GIT_SSH_COMMAND": "ssh -o StrictHostKeyChecking=no" } diff --git a/Dockerfile b/Dockerfile index 1ffe468..f9a97e0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,12 +17,12 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ && rm -rf /var/lib/apt/lists/* # Use a RUN command for architecture detection and conditional logic -RUN wget https://github.com/quarto-dev/quarto-cli/releases/download/v1.4.550/quarto-1.4.550-linux-$(if [ "$(uname -m)" = "x86_64" ]; then echo "amd64"; else echo "arm64"; fi).tar.gz -O quarto.tar.gz \ +RUN wget https://github.com/quarto-dev/quarto-cli/releases/download/v1.5.57/quarto-1.5.57-linux-$(if [ "$(uname -m)" = "x86_64" ]; then echo "amd64"; else echo "arm64"; fi).tar.gz -O quarto.tar.gz \ && tar -xzf quarto.tar.gz -C /opt \ && mkdir -p /opt/quarto \ - && mv /opt/quarto-1.4.550/* /opt/quarto/ \ + && mv /opt/quarto-1.5.57/* /opt/quarto/ \ && ln -s /opt/quarto/bin/quarto /usr/local/bin/quarto \ - && rm -rf quarto.tar.gz /opt/quarto-1.4.550 + && rm -rf quarto.tar.gz /opt/quarto-1.5.57 RUN python3 -m pip install jupyter webio_jupyter_extension jupyter-cache diff --git a/Manifest.toml b/Manifest.toml index fdf7676..16d40d1 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -1,17 +1,24 @@ # This file is machine-generated - editing it directly is not advised +julia_version = "1.10.5" manifest_format = "2.0" +project_hash = "6d8292b360ac716b19a122905de8bde0e9333f67" [[deps.ADTypes]] -git-tree-sha1 = "5a5eafb8344b81b8c2237f8a6f6b3602b3f6180e" +git-tree-sha1 = "eea5d80188827b35333801ef97a40c2ed653b081" uuid = "47edcb42-4c32-4615-8424-f2b9edc5f35b" -version = "1.8.1" +version = "1.9.0" weakdeps = ["ChainRulesCore", "EnzymeCore"] [deps.ADTypes.extensions] ADTypesChainRulesCoreExt = "ChainRulesCore" ADTypesEnzymeCoreExt = "EnzymeCore" +[[deps.AbstractTrees]] +git-tree-sha1 = "2d9c9a55f9c93e8887ad391fbae72f8ef55e1177" +uuid = "1520ce14-60c1-5f80-bbc7-55ef81b5835c" +version = "0.4.5" + [[deps.Accessors]] deps = ["CompositionsBase", "ConstructionBase", "InverseFunctions", "LinearAlgebra", "MacroTools", "Markdown"] git-tree-sha1 = "b392ede862e506d451fc1616e79aa6f4c673dab8" @@ -39,9 +46,9 @@ version = "0.1.38" [[deps.Adapt]] deps = ["LinearAlgebra", "Requires"] -git-tree-sha1 = "6a55b747d1812e699320963ffde36f1ebdda4099" +git-tree-sha1 = "50c3c56a52972d78e8be9fd135bfb91c9574c140" uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" -version = "4.0.4" +version = "4.1.1" weakdeps = ["StaticArrays"] [deps.Adapt.extensions] @@ -65,15 +72,16 @@ version = "0.4.0" [[deps.ArrayInterface]] deps = ["Adapt", "LinearAlgebra"] -git-tree-sha1 = "3640d077b6dafd64ceb8fd5c1ec76f7ca53bcf76" +git-tree-sha1 = "d60a1922358aa203019b7857a2c8c37329b8736c" uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" -version = "7.16.0" +version = "7.17.0" [deps.ArrayInterface.extensions] ArrayInterfaceBandedMatricesExt = "BandedMatrices" ArrayInterfaceBlockBandedMatricesExt = "BlockBandedMatrices" ArrayInterfaceCUDAExt = "CUDA" ArrayInterfaceCUDSSExt = "CUDSS" + ArrayInterfaceChainRulesCoreExt = "ChainRulesCore" ArrayInterfaceChainRulesExt = "ChainRules" ArrayInterfaceGPUArraysCoreExt = "GPUArraysCore" ArrayInterfaceReverseDiffExt = "ReverseDiff" @@ -87,6 +95,7 @@ version = "7.16.0" CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" CUDSS = "45b445bb-4962-46a0-9369-b4df9d0f772e" ChainRules = "082447d4-558c-5d27-93f4-14fc19e9eca2" + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" GPUArraysCore = "46192b85-c4d5-4398-a991-12ede77f4527" ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" @@ -95,9 +104,9 @@ version = "7.16.0" [[deps.ArrayLayouts]] deps = ["FillArrays", "LinearAlgebra"] -git-tree-sha1 = "0dd7edaff278e346eb0ca07a7e75c9438408a3ce" +git-tree-sha1 = "492681bc44fac86804706ddb37da10880a2bd528" uuid = "4c555306-a7a7-4459-81d9-ec55ddd5c99a" -version = "1.10.3" +version = "1.10.4" weakdeps = ["SparseArrays"] [deps.ArrayLayouts.extensions] @@ -131,6 +140,11 @@ weakdeps = ["SparseArrays"] [[deps.Base64]] uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" +[[deps.Bijections]] +git-tree-sha1 = "d8b0439d2be438a5f2cd68ec158fe08a7b2595b7" +uuid = "e2ed5e7c-b2de-5872-ae92-c73ca462fb04" +version = "0.1.9" + [[deps.BitFlags]] git-tree-sha1 = "0691e34b3bb8be9307330f88d1a3c3f25466c24d" uuid = "d1d4a3ce-64b1-5f1a-9ba4-7e7e69966f35" @@ -149,10 +163,10 @@ uuid = "ad839575-38b3-5650-b840-f874b8c74a25" version = "0.12.9" [[deps.BoundaryValueDiffEq]] -deps = ["ADTypes", "Adapt", "ArrayInterface", "BandedMatrices", "ConcreteStructs", "DiffEqBase", "FastAlmostBandedMatrices", "FastClosures", "ForwardDiff", "LinearAlgebra", "LinearSolve", "Logging", "NonlinearSolve", "OrdinaryDiffEq", "PreallocationTools", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "Setfield", "SparseArrays", "SparseDiffTools"] -git-tree-sha1 = "22f36cc7199c3b0f34979c6925cf8ec05281409f" +deps = ["ADTypes", "Adapt", "ArrayInterface", "BandedMatrices", "BoundaryValueDiffEqCore", "BoundaryValueDiffEqFIRK", "BoundaryValueDiffEqMIRK", "BoundaryValueDiffEqShooting", "ConcreteStructs", "DiffEqBase", "FastAlmostBandedMatrices", "FastClosures", "ForwardDiff", "LineSearch", "LineSearches", "LinearAlgebra", "LinearSolve", "Logging", "NonlinearSolve", "OrdinaryDiffEq", "PreallocationTools", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "Setfield", "SparseArrays", "SparseDiffTools"] +git-tree-sha1 = "98da8bd76b89a4ae1b8dde9fc6dcd75dcd6b5282" uuid = "764a87c0-6b3e-53db-9096-fe964310641d" -version = "5.10.0" +version = "5.12.0" [deps.BoundaryValueDiffEq.extensions] BoundaryValueDiffEqODEInterfaceExt = "ODEInterface" @@ -160,11 +174,35 @@ version = "5.10.0" [deps.BoundaryValueDiffEq.weakdeps] ODEInterface = "54ca160b-1b9f-5127-a996-1867f4bc2a2c" +[[deps.BoundaryValueDiffEqCore]] +deps = ["ADTypes", "Adapt", "ArrayInterface", "ConcreteStructs", "DiffEqBase", "ForwardDiff", "LineSearch", "LineSearches", "LinearAlgebra", "LinearSolve", "Logging", "NonlinearSolve", "PreallocationTools", "RecursiveArrayTools", "Reexport", "SciMLBase", "Setfield", "SparseArrays", "SparseDiffTools"] +git-tree-sha1 = "b4556571d1e80faa5f62ac8732a07bae0ee24dc6" +uuid = "56b672f2-a5fe-4263-ab2d-da677488eb3a" +version = "1.0.2" + +[[deps.BoundaryValueDiffEqFIRK]] +deps = ["ADTypes", "Adapt", "ArrayInterface", "BandedMatrices", "BoundaryValueDiffEqCore", "ConcreteStructs", "DiffEqBase", "FastAlmostBandedMatrices", "FastClosures", "ForwardDiff", "LineSearch", "LineSearches", "LinearAlgebra", "LinearSolve", "Logging", "NonlinearSolve", "PreallocationTools", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "Setfield", "SparseArrays", "SparseDiffTools"] +git-tree-sha1 = "35e1e7822d1c77d85ecf568606ca64d60fbd39de" +uuid = "85d9eb09-370e-4000-bb32-543851f73618" +version = "1.0.2" + +[[deps.BoundaryValueDiffEqMIRK]] +deps = ["ADTypes", "Adapt", "ArrayInterface", "BandedMatrices", "BoundaryValueDiffEqCore", "ConcreteStructs", "DiffEqBase", "FastAlmostBandedMatrices", "FastClosures", "ForwardDiff", "LineSearch", "LineSearches", "LinearAlgebra", "LinearSolve", "Logging", "NonlinearSolve", "PreallocationTools", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "Setfield", "SparseArrays", "SparseDiffTools"] +git-tree-sha1 = "e1fa0dee3d8eca528ab96e765a52760fd7466ffa" +uuid = "1a22d4ce-7765-49ea-b6f2-13c8438986a6" +version = "1.0.1" + +[[deps.BoundaryValueDiffEqShooting]] +deps = ["ADTypes", "Adapt", "ArrayInterface", "BandedMatrices", "BoundaryValueDiffEqCore", "ConcreteStructs", "DiffEqBase", "FastAlmostBandedMatrices", "FastClosures", "ForwardDiff", "LineSearch", "LineSearches", "LinearAlgebra", "LinearSolve", "Logging", "NonlinearSolve", "OrdinaryDiffEq", "PreallocationTools", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "Setfield", "SparseArrays", "SparseDiffTools"] +git-tree-sha1 = "fac04445ab0fdfa29b62d84e1af6b21334753a94" +uuid = "ed55bfe0-3725-4db6-871e-a1dc9f42a757" +version = "1.0.2" + [[deps.Bzip2_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "9e2a6b69137e6969bab0152632dcb3bc108c8bdd" +git-tree-sha1 = "8873e196c2eb87962a2048b3b8e08946535864a1" uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0" -version = "1.0.8+1" +version = "1.0.8+2" [[deps.CEnum]] git-tree-sha1 = "389ad5c84de1ae7cf0e28e381131c98ea87d54fc" @@ -179,21 +217,21 @@ version = "0.2.6" [[deps.CSV]] deps = ["CodecZlib", "Dates", "FilePathsBase", "InlineStrings", "Mmap", "Parsers", "PooledArrays", "PrecompileTools", "SentinelArrays", "Tables", "Unicode", "WeakRefStrings", "WorkerUtilities"] -git-tree-sha1 = "6c834533dc1fabd820c1db03c839bf97e45a3fab" +git-tree-sha1 = "deddd8725e5e1cc49ee205a1964256043720a6c3" uuid = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b" -version = "0.10.14" +version = "0.10.15" [[deps.Cairo_jll]] deps = ["Artifacts", "Bzip2_jll", "CompilerSupportLibraries_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "JLLWrappers", "LZO_jll", "Libdl", "Pixman_jll", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Zlib_jll", "libpng_jll"] -git-tree-sha1 = "a2f1c8c668c8e3cb4cca4e57a8efdb09067bb3fd" +git-tree-sha1 = "009060c9a6168704143100f36ab08f06c2af4642" uuid = "83423d85-b0ee-5818-9007-b63ccbeb887a" -version = "1.18.0+2" +version = "1.18.2+1" [[deps.Calculus]] deps = ["LinearAlgebra"] -git-tree-sha1 = "f641eb0a4f00c343bbc32346e1217b86f3ce9dad" +git-tree-sha1 = "9cb23bbb1127eefb022b022481466c0f1127d430" uuid = "49dc2e85-a5d0-5ad3-a950-438e2897f1b9" -version = "0.5.1" +version = "0.5.2" [[deps.ChainRulesCore]] deps = ["Compat", "LinearAlgebra"] @@ -225,9 +263,9 @@ version = "0.7.6" [[deps.ColorSchemes]] deps = ["ColorTypes", "ColorVectorSpace", "Colors", "FixedPointNumbers", "PrecompileTools", "Random"] -git-tree-sha1 = "b5278586822443594ff615963b0c09755771b3e0" +git-tree-sha1 = "c785dfb1b3bfddd1da557e861b919819b82bbe5b" uuid = "35d6a980-a343-548e-a6ea-1d62b119f2f4" -version = "3.26.0" +version = "3.27.1" [[deps.ColorTypes]] deps = ["FixedPointNumbers", "Random"] @@ -251,6 +289,11 @@ git-tree-sha1 = "362a287c3aa50601b0bc359053d5c2468f0e7ce0" uuid = "5ae59095-9a9b-59fe-a467-6f913c188581" version = "0.12.11" +[[deps.Combinatorics]] +git-tree-sha1 = "08c8b6831dc00bfea825826be0bc8336fc369860" +uuid = "861a8166-3701-5b0c-9a16-15d98fcdc6aa" +version = "1.0.2" + [[deps.CommonSolve]] git-tree-sha1 = "0eee5eb66b1cf62cd6ad1b460238e60e4b09400c" uuid = "38540f10-b2f7-11e9-35d8-d573e4eb0ff2" @@ -282,6 +325,11 @@ deps = ["Artifacts", "Libdl"] uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" version = "1.1.1+0" +[[deps.CompositeTypes]] +git-tree-sha1 = "bce26c3dab336582805503bed209faab1c279768" +uuid = "b152e2b5-7a66-4b01-a709-34e65c35f657" +version = "0.1.4" + [[deps.CompositionsBase]] git-tree-sha1 = "802bb88cd69dfd1509f6670416bd4434015693ad" uuid = "a33af91c-f02d-484b-be07-31d278c5ca2b" @@ -318,17 +366,13 @@ version = "0.17.6" git-tree-sha1 = "76219f1ed5771adbb096743bff43fb5fdd4c1157" uuid = "187b0558-2788-49d3-abe0-74a17ed4e7c9" version = "1.5.8" +weakdeps = ["IntervalSets", "LinearAlgebra", "StaticArrays"] [deps.ConstructionBase.extensions] ConstructionBaseIntervalSetsExt = "IntervalSets" ConstructionBaseLinearAlgebraExt = "LinearAlgebra" ConstructionBaseStaticArraysExt = "StaticArrays" - [deps.ConstructionBase.weakdeps] - IntervalSets = "8197267c-284f-5f27-9208-e0e47529a953" - LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" - StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" - [[deps.Contour]] git-tree-sha1 = "439e35b0b36e2e5881738abc8857bd92ad6ff9a8" uuid = "d38c429a-6771-53c6-b99e-75d170b6e991" @@ -351,10 +395,10 @@ uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" version = "1.16.0" [[deps.DataFrames]] -deps = ["Compat", "DataAPI", "DataStructures", "Future", "InlineStrings", "InvertedIndices", "IteratorInterfaceExtensions", "LinearAlgebra", "Markdown", "Missings", "PooledArrays", "PrecompileTools", "PrettyTables", "Printf", "REPL", "Random", "Reexport", "SentinelArrays", "SortingAlgorithms", "Statistics", "TableTraits", "Tables", "Unicode"] -git-tree-sha1 = "04c738083f29f86e62c8afc341f0967d8717bdb8" +deps = ["Compat", "DataAPI", "DataStructures", "Future", "InlineStrings", "InvertedIndices", "IteratorInterfaceExtensions", "LinearAlgebra", "Markdown", "Missings", "PooledArrays", "PrecompileTools", "PrettyTables", "Printf", "Random", "Reexport", "SentinelArrays", "SortingAlgorithms", "Statistics", "TableTraits", "Tables", "Unicode"] +git-tree-sha1 = "fb61b4812c49343d7ef0b533ba982c46021938a6" uuid = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" -version = "1.6.1" +version = "1.7.0" [[deps.DataStructures]] deps = ["Compat", "InteractiveUtils", "OrderedCollections"] @@ -378,10 +422,10 @@ uuid = "ee1fde0b-3d02-5ea6-8484-8dfef6360eab" version = "1.14.10+0" [[deps.DelayDiffEq]] -deps = ["ArrayInterface", "DataStructures", "DiffEqBase", "LinearAlgebra", "Logging", "OrdinaryDiffEq", "Printf", "RecursiveArrayTools", "Reexport", "SciMLBase", "SimpleNonlinearSolve", "SimpleUnPack"] -git-tree-sha1 = "066f60231c1b0ae2905ffd2651e207accd91f627" +deps = ["ArrayInterface", "DataStructures", "DiffEqBase", "LinearAlgebra", "Logging", "OrdinaryDiffEq", "OrdinaryDiffEqCore", "OrdinaryDiffEqDefault", "OrdinaryDiffEqDifferentiation", "OrdinaryDiffEqNonlinearSolve", "OrdinaryDiffEqRosenbrock", "Printf", "RecursiveArrayTools", "Reexport", "SciMLBase", "SimpleNonlinearSolve", "SimpleUnPack"] +git-tree-sha1 = "cfcd0d368d6950473eab154560b22ae7a99b63be" uuid = "bcd4f6db-9728-5f36-b5f7-82caef46ccdb" -version = "5.48.1" +version = "5.49.0" [[deps.DelimitedFiles]] deps = ["Mmap"] @@ -390,10 +434,10 @@ uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab" version = "1.9.1" [[deps.DiffEqBase]] -deps = ["ArrayInterface", "ConcreteStructs", "DataStructures", "DocStringExtensions", "EnumX", "EnzymeCore", "FastBroadcast", "FastClosures", "ForwardDiff", "FunctionWrappers", "FunctionWrappersWrappers", "LinearAlgebra", "Logging", "Markdown", "MuladdMacro", "Parameters", "PreallocationTools", "PrecompileTools", "Printf", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLOperators", "SciMLStructures", "Setfield", "Static", "StaticArraysCore", "Statistics", "Tricks", "TruncatedStacktraces"] -git-tree-sha1 = "fa7d580038451a8df4434ef5b079ac9b2d486194" +deps = ["ArrayInterface", "ConcreteStructs", "DataStructures", "DocStringExtensions", "EnumX", "EnzymeCore", "FastBroadcast", "FastClosures", "FastPower", "ForwardDiff", "FunctionWrappers", "FunctionWrappersWrappers", "LinearAlgebra", "Logging", "Markdown", "MuladdMacro", "Parameters", "PreallocationTools", "PrecompileTools", "Printf", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLOperators", "SciMLStructures", "Setfield", "Static", "StaticArraysCore", "Statistics", "TruncatedStacktraces"] +git-tree-sha1 = "697abdf4af0e38199e9eabff6ccdf65255de855d" uuid = "2b5f629d-d688-5b77-993f-72d75c75574e" -version = "6.155.1" +version = "6.159.0" [deps.DiffEqBase.extensions] DiffEqBaseCUDAExt = "CUDA" @@ -424,11 +468,10 @@ version = "6.155.1" Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d" [[deps.DiffEqCallbacks]] -deps = ["DataStructures", "DiffEqBase", "ForwardDiff", "Functors", "LinearAlgebra", "Markdown", "NonlinearSolve", "Parameters", "RecipesBase", "RecursiveArrayTools", "SciMLBase", "StaticArraysCore"] -git-tree-sha1 = "19dbd44d18bbfdfcf5e56c99cea9b0ed23df350a" +deps = ["ConcreteStructs", "DataStructures", "DiffEqBase", "DifferentiationInterface", "Functors", "LinearAlgebra", "Markdown", "RecipesBase", "RecursiveArrayTools", "SciMLBase", "StaticArraysCore"] +git-tree-sha1 = "b1f970a2873a2cf76ce35fb0ed2b755a11b31052" uuid = "459566f4-90b8-5000-8ac3-15dfb0a30def" -version = "3.9.1" -weakdeps = ["OrdinaryDiffEq", "OrdinaryDiffEqCore", "Sundials"] +version = "4.1.0" [[deps.DiffEqNoiseProcess]] deps = ["DiffEqBase", "Distributions", "GPUArraysCore", "LinearAlgebra", "Markdown", "Optim", "PoissonRandom", "QuadGK", "Random", "Random123", "RandomNumbers", "RecipesBase", "RecursiveArrayTools", "ResettableStacks", "SciMLBase", "StaticArraysCore", "Statistics"] @@ -456,15 +499,15 @@ version = "1.15.1" [[deps.DifferentialEquations]] deps = ["BoundaryValueDiffEq", "DelayDiffEq", "DiffEqBase", "DiffEqCallbacks", "DiffEqNoiseProcess", "JumpProcesses", "LinearAlgebra", "LinearSolve", "NonlinearSolve", "OrdinaryDiffEq", "Random", "RecursiveArrayTools", "Reexport", "SciMLBase", "SteadyStateDiffEq", "StochasticDiffEq", "Sundials"] -git-tree-sha1 = "d851f2ca05f3cec9988f081b047a778a58b48aaf" +git-tree-sha1 = "d55af9d6b51c54f81ae30d1a463206d32cc4c24a" uuid = "0c46a032-eb83-5123-abaf-570d42b7fbaa" -version = "7.14.0" +version = "7.15.0" [[deps.DifferentiationInterface]] -deps = ["ADTypes", "Compat", "DocStringExtensions", "FillArrays", "LinearAlgebra", "PackageExtensionCompat", "SparseArrays", "SparseMatrixColorings"] -git-tree-sha1 = "9b23f9a816790b8ab9914c3c86321a546e92cbe7" +deps = ["ADTypes", "LinearAlgebra"] +git-tree-sha1 = "0c99576d0b93df0aff1bed9d9adddef14e4e658f" uuid = "a0c0ee7d-e4b9-4e03-894e-1c5f64a51d63" -version = "0.5.17" +version = "0.6.22" [deps.DifferentiationInterface.extensions] DifferentiationInterfaceChainRulesCoreExt = "ChainRulesCore" @@ -474,10 +517,13 @@ version = "0.5.17" DifferentiationInterfaceFiniteDiffExt = "FiniteDiff" DifferentiationInterfaceFiniteDifferencesExt = "FiniteDifferences" DifferentiationInterfaceForwardDiffExt = "ForwardDiff" + DifferentiationInterfaceMooncakeExt = "Mooncake" DifferentiationInterfacePolyesterForwardDiffExt = "PolyesterForwardDiff" DifferentiationInterfaceReverseDiffExt = "ReverseDiff" + DifferentiationInterfaceSparseArraysExt = "SparseArrays" + DifferentiationInterfaceSparseMatrixColoringsExt = "SparseMatrixColorings" + DifferentiationInterfaceStaticArraysExt = "StaticArrays" DifferentiationInterfaceSymbolicsExt = "Symbolics" - DifferentiationInterfaceTapirExt = "Tapir" DifferentiationInterfaceTrackerExt = "Tracker" DifferentiationInterfaceZygoteExt = ["Zygote", "ForwardDiff"] @@ -489,18 +535,21 @@ version = "0.5.17" FiniteDiff = "6a86dc24-6348-571c-b903-95158fe2bd41" FiniteDifferences = "26cc04aa-876d-5657-8c51-4c34ba976000" ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" + Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6" PolyesterForwardDiff = "98d1487c-24ca-40b6-b7ab-df2af84e126b" ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" + SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" + SparseMatrixColorings = "0a514795-09f3-496d-8182-132a7b665d35" + StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" Symbolics = "0c5d862f-8b57-4792-8d23-62f2024744c7" - Tapir = "07d77754-e150-4737-8c94-cd238a1fb45b" Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" [[deps.Distances]] deps = ["LinearAlgebra", "Statistics", "StatsAPI"] -git-tree-sha1 = "66c4c81f259586e8f002eacebc177e1fb06363b0" +git-tree-sha1 = "c7e3a542b999843086e2f29dac96a618c105be1d" uuid = "b4f34e82-e78d-54a5-968a-f98e89d6e8f7" -version = "0.10.11" +version = "0.10.12" weakdeps = ["ChainRulesCore", "SparseArrays"] [deps.Distances.extensions] @@ -513,9 +562,9 @@ uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" [[deps.Distributions]] deps = ["AliasTables", "FillArrays", "LinearAlgebra", "PDMats", "Printf", "QuadGK", "Random", "SpecialFunctions", "Statistics", "StatsAPI", "StatsBase", "StatsFuns"] -git-tree-sha1 = "e6c693a0e4394f8fda0e51a5bdf5aef26f8235e9" +git-tree-sha1 = "3101c32aab536e7a27b1763c0797dba151b899ad" uuid = "31c24e10-a181-5473-b8eb-7969acd0382f" -version = "0.25.111" +version = "0.25.113" [deps.Distributions.extensions] DistributionsChainRulesCoreExt = "ChainRulesCore" @@ -533,20 +582,38 @@ git-tree-sha1 = "2fb1e02f2b635d0845df5d7c167fec4dd739b00d" uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" version = "0.9.3" +[[deps.DomainSets]] +deps = ["CompositeTypes", "IntervalSets", "LinearAlgebra", "Random", "StaticArrays"] +git-tree-sha1 = "490392af2c7d63183bfa2c8aaa6ab981c5ba7561" +uuid = "5b8099bc-c8ec-5219-889f-1d9e522a28bf" +version = "0.7.14" + + [deps.DomainSets.extensions] + DomainSetsMakieExt = "Makie" + + [deps.DomainSets.weakdeps] + Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a" + [[deps.Downloads]] deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" version = "1.6.0" +[[deps.DynamicPolynomials]] +deps = ["Future", "LinearAlgebra", "MultivariatePolynomials", "MutableArithmetics", "Reexport", "Test"] +git-tree-sha1 = "bbf1ace0781d9744cb697fb856bd2c3f6568dadb" +uuid = "7c1d4256-1411-5781-91ec-d7bc3513ac07" +version = "0.6.0" + [[deps.EnumX]] git-tree-sha1 = "bdb1942cd4c45e3c678fd11569d5cccd80976237" uuid = "4e289a0a-7415-4d19-859d-a7e5c4648b56" version = "1.0.4" [[deps.EnzymeCore]] -git-tree-sha1 = "8f205a601760f4798a10f138c3940f0451d95188" +git-tree-sha1 = "e333ffd38ecffcf5c6c2dafd10788404ac46fb9f" uuid = "f151be2c-9106-41f4-ab19-57ee4f262869" -version = "0.7.8" +version = "0.8.6" weakdeps = ["Adapt"] [deps.EnzymeCore.extensions] @@ -582,9 +649,9 @@ uuid = "e2ba6199-217a-4e67-a87a-7c52f15ade04" version = "0.1.10" [[deps.ExpressionExplorer]] -git-tree-sha1 = "0889fdf7ac69b67b65f54b763941967e0a08b7b3" +git-tree-sha1 = "7005f1493c18afb2fa3bdf06e02b16a9fde5d16d" uuid = "21656369-7473-754a-2065-74616d696c43" -version = "1.0.4" +version = "1.1.0" [[deps.Expronicon]] deps = ["MLStyle", "Pkg", "TOML"] @@ -611,9 +678,9 @@ version = "4.4.4+1" [[deps.FastAlmostBandedMatrices]] deps = ["ArrayInterface", "ArrayLayouts", "BandedMatrices", "ConcreteStructs", "LazyArrays", "LinearAlgebra", "MatrixFactorizations", "PrecompileTools", "Reexport"] -git-tree-sha1 = "a92b5820ea38da3b50b626cc55eba2b074bb0366" +git-tree-sha1 = "3f03d94c71126b6cfe20d3cbcc41c5cd27e1c419" uuid = "9d29842c-ecb8-4973-b1e9-a27b1157504e" -version = "0.1.3" +version = "0.1.4" [[deps.FastBroadcast]] deps = ["ArrayInterface", "LinearAlgebra", "Polyester", "Static", "StaticArrayInterface", "StrideArraysCore"] @@ -632,6 +699,27 @@ git-tree-sha1 = "cbf5edddb61a43669710cbc2241bc08b36d9e660" uuid = "29a986be-02c6-4525-aec4-84b980013641" version = "2.0.4" +[[deps.FastPower]] +git-tree-sha1 = "58c3431137131577a7c379d00fea00be524338fb" +uuid = "a4df4552-cc26-4903-aec0-212e50a0e84b" +version = "1.1.1" + + [deps.FastPower.extensions] + FastPowerEnzymeExt = "Enzyme" + FastPowerForwardDiffExt = "ForwardDiff" + FastPowerMeasurementsExt = "Measurements" + FastPowerMonteCarloMeasurementsExt = "MonteCarloMeasurements" + FastPowerReverseDiffExt = "ReverseDiff" + FastPowerTrackerExt = "Tracker" + + [deps.FastPower.weakdeps] + Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9" + ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" + Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7" + MonteCarloMeasurements = "0987c9cc-fe09-11e8-30f0-b96dd679fdca" + ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" + Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" + [[deps.FilePathsBase]] deps = ["Compat", "Dates"] git-tree-sha1 = "7878ff7172a8e6beedd1dea14bd27c3c6340d361" @@ -659,19 +747,21 @@ weakdeps = ["PDMats", "SparseArrays", "Statistics"] FillArraysStatisticsExt = "Statistics" [[deps.FiniteDiff]] -deps = ["ArrayInterface", "LinearAlgebra", "Setfield", "SparseArrays"] -git-tree-sha1 = "f9219347ebf700e77ca1d48ef84e4a82a6701882" +deps = ["ArrayInterface", "LinearAlgebra", "Setfield"] +git-tree-sha1 = "b10bdafd1647f57ace3885143936749d61638c3b" uuid = "6a86dc24-6348-571c-b903-95158fe2bd41" -version = "2.24.0" +version = "2.26.0" [deps.FiniteDiff.extensions] FiniteDiffBandedMatricesExt = "BandedMatrices" FiniteDiffBlockBandedMatricesExt = "BlockBandedMatrices" + FiniteDiffSparseArraysExt = "SparseArrays" FiniteDiffStaticArraysExt = "StaticArrays" [deps.FiniteDiff.weakdeps] BandedMatrices = "aae01518-5342-5314-be14-df237901396f" BlockBandedMatrices = "ffab5731-97b5-5995-9138-79e8c1846df0" + SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" [[deps.FixedPointNumbers]] @@ -693,9 +783,9 @@ version = "1.3.7" [[deps.ForwardDiff]] deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "LinearAlgebra", "LogExpFunctions", "NaNMath", "Preferences", "Printf", "Random", "SpecialFunctions"] -git-tree-sha1 = "cf0fe81336da9fb90944683b8c41984b08793dad" +git-tree-sha1 = "a2df1b776752e3f344e5116c06d75a10436ab853" uuid = "f6369f11-7733-5829-9624-2563aa707210" -version = "0.10.36" +version = "0.10.38" weakdeps = ["StaticArrays"] [deps.ForwardDiff.extensions] @@ -742,9 +832,9 @@ uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820" [[deps.FuzzyCompletions]] deps = ["REPL"] -git-tree-sha1 = "40ec72c57559a4473961bbcd12c96bcd4c2aaab4" +git-tree-sha1 = "be713866335f48cfb1285bff2d0cbb8304c1701c" uuid = "fb4132e2-a121-4a70-b8a1-d5b831dcdcc2" -version = "0.5.4" +version = "0.5.5" [[deps.GLFW_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Libglvnd_jll", "Xorg_libXcursor_jll", "Xorg_libXi_jll", "Xorg_libXinerama_jll", "Xorg_libXrandr_jll", "libdecor_jll", "xkbcommon_jll"] @@ -760,15 +850,21 @@ version = "0.1.6" [[deps.GR]] deps = ["Artifacts", "Base64", "DelimitedFiles", "Downloads", "GR_jll", "HTTP", "JSON", "Libdl", "LinearAlgebra", "Preferences", "Printf", "Qt6Wayland_jll", "Random", "Serialization", "Sockets", "TOML", "Tar", "Test", "p7zip_jll"] -git-tree-sha1 = "629693584cef594c3f6f99e76e7a7ad17e60e8d5" +git-tree-sha1 = "ee28ddcd5517d54e417182fec3886e7412d3926f" uuid = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71" -version = "0.73.7" +version = "0.73.8" [[deps.GR_jll]] deps = ["Artifacts", "Bzip2_jll", "Cairo_jll", "FFMPEG_jll", "Fontconfig_jll", "FreeType2_jll", "GLFW_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pixman_jll", "Qt6Base_jll", "Zlib_jll", "libpng_jll"] -git-tree-sha1 = "a8863b69c2a0859f2c2c87ebdc4c6712e88bdf0d" +git-tree-sha1 = "f31929b9e67066bee48eec8b03c0df47d31a74b3" uuid = "d2c73de3-f751-5644-a686-071e5b155ba9" -version = "0.73.7+0" +version = "0.73.8+0" + +[[deps.GenericLinearAlgebra]] +deps = ["LinearAlgebra", "Printf", "Random", "libblastrampoline_jll"] +git-tree-sha1 = "c4f9c87b74aedf20920034bd4db81d0bffc527d2" +uuid = "14197337-ba66-59df-a3e3-ca00e7dcff7a" +version = "0.3.14" [[deps.GenericSchur]] deps = ["LinearAlgebra", "Printf"] @@ -784,9 +880,9 @@ version = "0.21.0+0" [[deps.Glib_jll]] deps = ["Artifacts", "Gettext_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Libiconv_jll", "Libmount_jll", "PCRE2_jll", "Zlib_jll"] -git-tree-sha1 = "7c82e6a6cd34e9d935e9aa4051b66c6ff3af59ba" +git-tree-sha1 = "674ff0db93fffcd11a3573986e550d66cd4fd71f" uuid = "7746bdde-850d-59dc-9ae8-88ece973131d" -version = "2.80.2+0" +version = "2.80.5+0" [[deps.Graphite2_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] @@ -796,9 +892,9 @@ version = "1.3.14+0" [[deps.Graphs]] deps = ["ArnoldiMethod", "Compat", "DataStructures", "Distributed", "Inflate", "LinearAlgebra", "Random", "SharedArrays", "SimpleTraits", "SparseArrays", "Statistics"] -git-tree-sha1 = "ebd18c326fa6cee1efb7da9a3b45cf69da2ed4d9" +git-tree-sha1 = "1dc470db8b1131cfc7fb4c115de89fe391b9e780" uuid = "86223c79-3864-5bf0-83f7-82e725a168b6" -version = "1.11.2" +version = "1.12.0" [[deps.Grisu]] git-tree-sha1 = "53bb909d1151e57e2484c3d1b53e19552b887fb2" @@ -807,9 +903,9 @@ version = "1.0.2" [[deps.HTTP]] deps = ["Base64", "CodecZlib", "ConcurrentUtilities", "Dates", "ExceptionUnwrapping", "Logging", "LoggingExtras", "MbedTLS", "NetworkOptions", "OpenSSL", "Random", "SimpleBufferStream", "Sockets", "URIs", "UUIDs"] -git-tree-sha1 = "d1d712be3164d61d1fb98e7ce9bcbc6cc06b45ed" +git-tree-sha1 = "1336e07ba2eb75614c99496501a8f4b233e9fafe" uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" -version = "1.10.8" +version = "1.10.10" [[deps.HarfBuzz_jll]] deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "Graphite2_jll", "JLLWrappers", "Libdl", "Libffi_jll"] @@ -831,9 +927,9 @@ version = "0.1.17" [[deps.HypergeometricFunctions]] deps = ["LinearAlgebra", "OpenLibm_jll", "SpecialFunctions"] -git-tree-sha1 = "7c4195be1649ae622304031ed46a2f4df989f1eb" +git-tree-sha1 = "b1c2585431c382e3fe5805874bda6aea90a95de9" uuid = "34004b35-14d8-5ef3-9330-4cdb6864b03a" -version = "0.3.24" +version = "0.3.25" [[deps.HypertextLiteral]] deps = ["Tricks"] @@ -843,9 +939,9 @@ version = "0.9.5" [[deps.IJulia]] deps = ["Base64", "Conda", "Dates", "InteractiveUtils", "JSON", "Libdl", "Logging", "Markdown", "MbedTLS", "Pkg", "Printf", "REPL", "Random", "SoftGlobalScope", "Test", "UUIDs", "ZMQ"] -git-tree-sha1 = "1702f79fa30f56b68d5b2fd6fb3a9a14ff6f9130" +git-tree-sha1 = "1b1299f7d6617291f3d260e9f5b0250afdaac8c0" uuid = "7073ff75-c697-5162-941a-fcdaad2a7d2a" -version = "1.25.0" +version = "1.26.0" [[deps.IfElse]] git-tree-sha1 = "debdd00ffef04665ccbb3e150747a77560e8fad1" @@ -870,6 +966,11 @@ version = "1.4.2" ArrowTypes = "31f734f8-188a-4ce0-8406-c8a06bd891cd" Parsers = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" +[[deps.IntegerMathUtils]] +git-tree-sha1 = "b8ffb903da9f7b8cf695a8bead8e01814aa24b30" +uuid = "18e54dd8-cb9d-406c-a71d-865a43cbb235" +version = "0.1.2" + [[deps.IntelOpenMP_jll]] deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl"] git-tree-sha1 = "10bd689145d2c3b2a9844005d01087cc1194e79e" @@ -890,6 +991,17 @@ weakdeps = ["Unitful"] [deps.Interpolations.extensions] InterpolationsUnitfulExt = "Unitful" +[[deps.IntervalSets]] +git-tree-sha1 = "dba9ddf07f77f60450fe5d2e2beb9854d9a49bd0" +uuid = "8197267c-284f-5f27-9208-e0e47529a953" +version = "0.7.10" +weakdeps = ["Random", "RecipesBase", "Statistics"] + + [deps.IntervalSets.extensions] + IntervalSetsRandomExt = "Random" + IntervalSetsRecipesBaseExt = "RecipesBase" + IntervalSetsStatisticsExt = "Statistics" + [[deps.InverseFunctions]] git-tree-sha1 = "a779299d77cd080bf77b97535acecd73e1c5e5cb" uuid = "3587e190-3f89-42d0-90ee-14403ec27112" @@ -923,9 +1035,9 @@ version = "0.1.8" [[deps.JLLWrappers]] deps = ["Artifacts", "Preferences"] -git-tree-sha1 = "f389674c99bfcde17dc57454011aa44d5a260a40" +git-tree-sha1 = "be3dc50a92e5a386872a493a10050136d4703f9b" uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" -version = "1.6.0" +version = "1.6.1" [[deps.JSExpr]] deps = ["JSON", "MacroTools", "Observables", "WebIO"] @@ -941,9 +1053,9 @@ version = "0.21.4" [[deps.JpegTurbo_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "c84a835e1a09b289ffcd2271bf2a337bbdda6637" +git-tree-sha1 = "25ee0be4d43d0269027024d75a24c24d6c6e590c" uuid = "aacddb02-875f-59d6-b918-886e6ef4fbf8" -version = "3.0.3+0" +version = "3.0.4+0" [[deps.JuliaInterpreter]] deps = ["CodeTracking", "InteractiveUtils", "Random", "UUIDs"] @@ -953,9 +1065,9 @@ version = "0.9.36" [[deps.JumpProcesses]] deps = ["ArrayInterface", "DataStructures", "DiffEqBase", "DocStringExtensions", "FunctionWrappers", "Graphs", "LinearAlgebra", "Markdown", "PoissonRandom", "Random", "RandomNumbers", "RecursiveArrayTools", "Reexport", "SciMLBase", "Setfield", "StaticArrays", "SymbolicIndexingInterface", "UnPack"] -git-tree-sha1 = "6e0fb267f2c869df59b6bf9f8cb0f2794f2d85e9" +git-tree-sha1 = "c3a2cb6f968404ed3b1d5382bbdd7b7d83966598" uuid = "ccbc3e58-028d-4f4c-8cd5-9ae44345cda5" -version = "9.13.7" +version = "9.14.0" weakdeps = ["FastBroadcast"] [[deps.KLU]] @@ -972,9 +1084,9 @@ version = "0.2.1+0" [[deps.Krylov]] deps = ["LinearAlgebra", "Printf", "SparseArrays"] -git-tree-sha1 = "267dad6b4b7b5d529c76d40ff48d33f7e94cb834" +git-tree-sha1 = "4f20a2df85a9e5d55c9e84634bbf808ed038cabd" uuid = "ba0b0d4f-ebba-5204-a429-3ac8c609bfb7" -version = "0.9.6" +version = "0.9.8" [[deps.LAME_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] @@ -983,10 +1095,10 @@ uuid = "c1c5ebd0-6772-5130-a774-d5fcae4a789d" version = "3.100.2+0" [[deps.LERC_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "bf36f528eec6634efc60d7ec062008f171071434" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "36bdbc52f13a7d1dcb0f3cd694e01677a515655b" uuid = "88015f11-f218-50d7-93a8-a6af411a945d" -version = "3.0.0+1" +version = "4.0.0+0" [[deps.LLVMOpenMP_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] @@ -996,14 +1108,14 @@ version = "18.1.7+0" [[deps.LZO_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "70c5da094887fd2cae843b8db33920bac4b6f07d" +git-tree-sha1 = "854a9c268c43b77b0a27f22d7fab8d33cdb3a731" uuid = "dd4b983a-f0e5-5f8d-a1b7-129d4a5fb1ac" -version = "2.10.2+0" +version = "2.10.2+1" [[deps.LaTeXStrings]] -git-tree-sha1 = "50901ebc375ed41dbf8058da26f9de442febbbec" +git-tree-sha1 = "dda21b8cbd6a6c40d9d02a73230f9d70fed6918c" uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" -version = "1.3.1" +version = "1.4.0" [[deps.Latexify]] deps = ["Format", "InteractiveUtils", "LaTeXStrings", "MacroTools", "Markdown", "OrderedCollections", "Requires"] @@ -1028,9 +1140,9 @@ uuid = "10f19ff3-798f-405d-979b-55457f8fc047" version = "0.1.17" [[deps.LazilyInitializedFields]] -git-tree-sha1 = "8f7f3cabab0fd1800699663533b6d5cb3fc0e612" +git-tree-sha1 = "0f2da712350b020bc3957f269c9caad516383ee0" uuid = "0e77f7df-68c5-4e49-93ce-4cd80f5598bf" -version = "1.2.2" +version = "1.3.0" [[deps.Lazy]] deps = ["MacroTools"] @@ -1040,9 +1152,9 @@ version = "0.15.1" [[deps.LazyArrays]] deps = ["ArrayLayouts", "FillArrays", "LinearAlgebra", "MacroTools", "SparseArrays"] -git-tree-sha1 = "360f6039babd6e4d6364eff0d4fc9120834a2d9a" +git-tree-sha1 = "376bc148ae72e68a08f0d5d8a69e287025a37687" uuid = "5078a376-72f3-5289-bfd5-ec5146d43c02" -version = "2.2.1" +version = "2.2.2" [deps.LazyArrays.extensions] LazyArraysBandedMatricesExt = "BandedMatrices" @@ -1101,9 +1213,9 @@ version = "3.2.2+1" [[deps.Libgcrypt_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgpg_error_jll"] -git-tree-sha1 = "9fd170c4bbfd8b935fdc5f8b7aa33532c991a673" +git-tree-sha1 = "8be878062e0ffa2c3f67bb58a595375eda5de80b" uuid = "d4300ac3-e22c-5743-9152-c294e39db1e4" -version = "1.8.11+0" +version = "1.11.0+0" [[deps.Libglvnd_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll", "Xorg_libXext_jll"] @@ -1113,15 +1225,15 @@ version = "1.6.0+0" [[deps.Libgpg_error_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "fbb1f2bef882392312feb1ede3615ddc1e9b99ed" +git-tree-sha1 = "c6ce1e19f3aec9b59186bdf06cdf3c4fc5f5f3e6" uuid = "7add5ba3-2f88-524e-9cd5-f83b8a55f7b8" -version = "1.49.0+0" +version = "1.50.0+0" [[deps.Libiconv_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "f9557a255370125b405568f9767d6d195822a175" +git-tree-sha1 = "61dfdba58e585066d8bce214c5a51eaa0539f269" uuid = "94ce4f54-9a6c-5748-9c1c-f9c7231a4531" -version = "1.17.0+0" +version = "1.17.0+1" [[deps.Libmount_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] @@ -1131,9 +1243,9 @@ version = "2.40.1+0" [[deps.Libtiff_jll]] deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "LERC_jll", "Libdl", "XZ_jll", "Zlib_jll", "Zstd_jll"] -git-tree-sha1 = "2da088d113af58221c52828a80378e16be7d037a" +git-tree-sha1 = "b404131d06f7886402758c9ce2214b636eb4d54a" uuid = "89763e89-9b03-5906-acba-b20f662cd828" -version = "4.5.1+1" +version = "4.7.0+0" [[deps.Libuuid_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] @@ -1141,6 +1253,16 @@ git-tree-sha1 = "5ee6203157c120d79034c748a2acba45b82b8807" uuid = "38a345b3-de98-5d2b-a5d3-14cd9215e700" version = "2.40.1+0" +[[deps.LineSearch]] +deps = ["ADTypes", "CommonSolve", "ConcreteStructs", "FastClosures", "LinearAlgebra", "MaybeInplace", "SciMLBase", "SciMLJacobianOperators", "StaticArraysCore"] +git-tree-sha1 = "97d502765cc5cf3a722120f50da03c2474efce04" +uuid = "87fe0de2-c867-4266-b59a-2f0a94fc965b" +version = "0.1.4" +weakdeps = ["LineSearches"] + + [deps.LineSearch.extensions] + LineSearchLineSearchesExt = "LineSearches" + [[deps.LineSearches]] deps = ["LinearAlgebra", "NLSolversBase", "NaNMath", "Parameters", "Printf"] git-tree-sha1 = "e4c3be53733db1051cc15ecf573b1042b3a712a1" @@ -1153,17 +1275,17 @@ uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" [[deps.LinearSolve]] deps = ["ArrayInterface", "ChainRulesCore", "ConcreteStructs", "DocStringExtensions", "EnumX", "FastLapackInterface", "GPUArraysCore", "InteractiveUtils", "KLU", "Krylov", "LazyArrays", "Libdl", "LinearAlgebra", "MKL_jll", "Markdown", "PrecompileTools", "Preferences", "RecursiveFactorization", "Reexport", "SciMLBase", "SciMLOperators", "Setfield", "SparseArrays", "Sparspak", "StaticArraysCore", "UnPack"] -git-tree-sha1 = "6c5e4555ac2bc449a28604e184f759d18fc08420" +git-tree-sha1 = "591de175461afd8323aa24b7686062574527aa3a" uuid = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae" -version = "2.34.0" +version = "2.36.2" [deps.LinearSolve.extensions] LinearSolveBandedMatricesExt = "BandedMatrices" LinearSolveBlockDiagonalsExt = "BlockDiagonals" LinearSolveCUDAExt = "CUDA" LinearSolveCUDSSExt = "CUDSS" - LinearSolveEnzymeExt = ["Enzyme", "EnzymeCore"] - LinearSolveFastAlmostBandedMatricesExt = ["FastAlmostBandedMatrices"] + LinearSolveEnzymeExt = "EnzymeCore" + LinearSolveFastAlmostBandedMatricesExt = "FastAlmostBandedMatrices" LinearSolveHYPREExt = "HYPRE" LinearSolveIterativeSolversExt = "IterativeSolvers" LinearSolveKernelAbstractionsExt = "KernelAbstractions" @@ -1177,7 +1299,6 @@ version = "2.34.0" BlockDiagonals = "0a1fb500-61f7-11e9-3c65-f5ef3456f9f0" CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" CUDSS = "45b445bb-4962-46a0-9369-b4df9d0f772e" - Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9" EnzymeCore = "f151be2c-9106-41f4-ab19-57ee4f262869" FastAlmostBandedMatrices = "9d29842c-ecb8-4973-b1e9-a27b1157504e" HYPRE = "b5ffcf37-a2bd-41ab-a3da-4bd9bc8ad771" @@ -1209,9 +1330,9 @@ uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" [[deps.LoggingExtras]] deps = ["Dates", "Logging"] -git-tree-sha1 = "c1dd6d7978c12545b4179fb6153b9250c96b0075" +git-tree-sha1 = "f02b56007b064fbfddb4c9cd60161b6dd0f40df3" uuid = "e6f89c97-d47a-5376-807f-9c37f3926c36" -version = "1.0.3" +version = "1.1.0" [[deps.LoopVectorization]] deps = ["ArrayInterface", "CPUSummary", "CloseOpenIntervals", "DocStringExtensions", "HostCPUFeatures", "IfElse", "LayoutPointers", "LinearAlgebra", "OffsetArrays", "PolyesterWeave", "PrecompileTools", "SIMDTypes", "SLEEFPirates", "Static", "StaticArrayInterface", "ThreadingUtilities", "UnPack", "VectorizationBase"] @@ -1226,9 +1347,9 @@ weakdeps = ["ChainRulesCore", "ForwardDiff", "SpecialFunctions"] [[deps.LoweredCodeUtils]] deps = ["JuliaInterpreter"] -git-tree-sha1 = "c2b5e92eaf5101404a58ce9c6083d595472361d6" +git-tree-sha1 = "260dc274c1bc2cb839e758588c63d9c8b5e639d1" uuid = "6f1432cf-f94c-5a45-995e-cdbf5db27b0b" -version = "3.0.2" +version = "3.0.5" [[deps.MIMEs]] git-tree-sha1 = "65f28ad4b594aebe22157d6fac869786a255b7eb" @@ -1254,9 +1375,9 @@ version = "0.5.13" [[deps.Malt]] deps = ["Distributed", "Logging", "RelocatableFolders", "Serialization", "Sockets"] -git-tree-sha1 = "18cf4151e390fce29ca846b92b06baf9bc6e002e" +git-tree-sha1 = "02a728ada9d6caae583a0f87c1dd3844f99ec3fd" uuid = "36869731-bdee-424d-aa32-cab38c994e3b" -version = "1.1.1" +version = "1.1.2" [[deps.ManualMemory]] git-tree-sha1 = "bcaef4fc7a0cfe2cba636d84cda54b5e4e4ca3cd" @@ -1347,12 +1468,24 @@ git-tree-sha1 = "cac9cc5499c25554cba55cd3c30543cff5ca4fab" uuid = "46d2c3a1-f734-5fdb-9937-b9b9aeba4221" version = "0.2.4" +[[deps.MultivariatePolynomials]] +deps = ["ChainRulesCore", "DataStructures", "LinearAlgebra", "MutableArithmetics"] +git-tree-sha1 = "8d39779e29f80aa6c071e7ac17101c6e31f075d7" +uuid = "102ac46a-7ee4-5c85-9060-abc95bfdeaa3" +version = "0.5.7" + [[deps.Mustache]] deps = ["Printf", "Tables"] git-tree-sha1 = "3b2db451a872b20519ebb0cec759d3d81a1c6bcb" uuid = "ffc61752-8dc7-55ee-8c37-f3e9cdd09e70" version = "1.0.20" +[[deps.MutableArithmetics]] +deps = ["LinearAlgebra", "SparseArrays", "Test"] +git-tree-sha1 = "90077f1e79de8c9c7c8a90644494411111f4e07b" +uuid = "d8a4904e-b15c-11e9-3269-09a3773c0cb0" +version = "1.5.2" + [[deps.Mux]] deps = ["AssetRegistry", "Base64", "HTTP", "Hiccup", "MbedTLS", "Pkg", "Sockets"] git-tree-sha1 = "7295d849103ac4fcbe3b2e439f229c5cc77b9b69" @@ -1382,10 +1515,10 @@ uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" version = "1.2.0" [[deps.NonlinearSolve]] -deps = ["ADTypes", "ArrayInterface", "ConcreteStructs", "DiffEqBase", "FastBroadcast", "FastClosures", "FiniteDiff", "ForwardDiff", "LazyArrays", "LineSearches", "LinearAlgebra", "LinearSolve", "MaybeInplace", "PrecompileTools", "Preferences", "Printf", "RecursiveArrayTools", "Reexport", "SciMLBase", "SimpleNonlinearSolve", "SparseArrays", "SparseDiffTools", "StaticArraysCore", "SymbolicIndexingInterface", "TimerOutputs"] -git-tree-sha1 = "bcd8812e751326ff1d4b2dd50764b93df51f143b" +deps = ["ADTypes", "ArrayInterface", "ConcreteStructs", "DiffEqBase", "DifferentiationInterface", "FastBroadcast", "FastClosures", "FiniteDiff", "ForwardDiff", "LazyArrays", "LineSearch", "LineSearches", "LinearAlgebra", "LinearSolve", "MaybeInplace", "PrecompileTools", "Preferences", "Printf", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLJacobianOperators", "SciMLOperators", "Setfield", "SimpleNonlinearSolve", "SparseArrays", "SparseConnectivityTracer", "SparseMatrixColorings", "StaticArraysCore", "SymbolicIndexingInterface", "TimerOutputs"] +git-tree-sha1 = "4d8944f32db2b07a2bdf8477e878bcb9c9ea2308" uuid = "8913a72c-1f9b-4ce2-8d82-65094dcecaec" -version = "3.14.0" +version = "3.15.1" [deps.NonlinearSolve.extensions] NonlinearSolveBandedMatricesExt = "BandedMatrices" @@ -1397,8 +1530,6 @@ version = "3.14.0" NonlinearSolveNLsolveExt = "NLsolve" NonlinearSolveSIAMFANLEquationsExt = "SIAMFANLEquations" NonlinearSolveSpeedMappingExt = "SpeedMapping" - NonlinearSolveSymbolicsExt = "Symbolics" - NonlinearSolveZygoteExt = "Zygote" [deps.NonlinearSolve.weakdeps] BandedMatrices = "aae01518-5342-5314-be14-df237901396f" @@ -1410,8 +1541,6 @@ version = "3.14.0" NLsolve = "2774e3e8-f4cf-5e23-947b-6d7e65073b56" SIAMFANLEquations = "084e46ad-d928-497d-ad5e-07fa361a48c4" SpeedMapping = "f1835b91-879b-4a3f-a438-e4baacf14412" - Symbolics = "0c5d862f-8b57-4792-8d23-62f2024744c7" - Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" [[deps.Observables]] git-tree-sha1 = "7438a59546cf62428fc9d1bc94729146d37a7225" @@ -1463,9 +1592,9 @@ version = "0.5.5+0" [[deps.Optim]] deps = ["Compat", "FillArrays", "ForwardDiff", "LineSearches", "LinearAlgebra", "NLSolversBase", "NaNMath", "Parameters", "PositiveFactorizations", "Printf", "SparseArrays", "StatsBase"] -git-tree-sha1 = "d9b79c4eed437421ac4285148fcadf42e0700e89" +git-tree-sha1 = "ab7edad78cdef22099f43c54ef77ac63c2c9cc64" uuid = "429524aa-4258-5aef-a3af-852621145aeb" -version = "1.9.4" +version = "1.10.0" [deps.Optim.extensions] OptimMOIExt = "MathOptInterface" @@ -1491,9 +1620,9 @@ version = "1.6.3" [[deps.OrdinaryDiffEq]] deps = ["ADTypes", "Adapt", "ArrayInterface", "DataStructures", "DiffEqBase", "DocStringExtensions", "EnumX", "ExponentialUtilities", "FastBroadcast", "FastClosures", "FillArrays", "FiniteDiff", "ForwardDiff", "FunctionWrappersWrappers", "InteractiveUtils", "LineSearches", "LinearAlgebra", "LinearSolve", "Logging", "MacroTools", "MuladdMacro", "NonlinearSolve", "OrdinaryDiffEqAdamsBashforthMoulton", "OrdinaryDiffEqBDF", "OrdinaryDiffEqCore", "OrdinaryDiffEqDefault", "OrdinaryDiffEqDifferentiation", "OrdinaryDiffEqExplicitRK", "OrdinaryDiffEqExponentialRK", "OrdinaryDiffEqExtrapolation", "OrdinaryDiffEqFIRK", "OrdinaryDiffEqFeagin", "OrdinaryDiffEqFunctionMap", "OrdinaryDiffEqHighOrderRK", "OrdinaryDiffEqIMEXMultistep", "OrdinaryDiffEqLinear", "OrdinaryDiffEqLowOrderRK", "OrdinaryDiffEqLowStorageRK", "OrdinaryDiffEqNonlinearSolve", "OrdinaryDiffEqNordsieck", "OrdinaryDiffEqPDIRK", "OrdinaryDiffEqPRK", "OrdinaryDiffEqQPRK", "OrdinaryDiffEqRKN", "OrdinaryDiffEqRosenbrock", "OrdinaryDiffEqSDIRK", "OrdinaryDiffEqSSPRK", "OrdinaryDiffEqStabilizedIRK", "OrdinaryDiffEqStabilizedRK", "OrdinaryDiffEqSymplecticRK", "OrdinaryDiffEqTsit5", "OrdinaryDiffEqVerner", "Polyester", "PreallocationTools", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLOperators", "SciMLStructures", "SimpleNonlinearSolve", "SimpleUnPack", "SparseArrays", "SparseDiffTools", "Static", "StaticArrayInterface", "StaticArrays", "TruncatedStacktraces"] -git-tree-sha1 = "cd892f12371c287dc50d6ad3af075b088b6f2d48" +git-tree-sha1 = "36ce9bfc14a4b3dcf1490e80b5f1f4d35bfddf39" uuid = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed" -version = "6.89.0" +version = "6.90.1" [[deps.OrdinaryDiffEqAdamsBashforthMoulton]] deps = ["ADTypes", "DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqLowOrderRK", "Polyester", "RecursiveArrayTools", "Reexport", "Static"] @@ -1508,10 +1637,10 @@ uuid = "6ad6398a-0878-4a85-9266-38940aa047c8" version = "1.1.2" [[deps.OrdinaryDiffEqCore]] -deps = ["ADTypes", "Adapt", "ArrayInterface", "DataStructures", "DiffEqBase", "DocStringExtensions", "EnumX", "FastBroadcast", "FastClosures", "FillArrays", "FunctionWrappersWrappers", "InteractiveUtils", "LinearAlgebra", "Logging", "MacroTools", "MuladdMacro", "Polyester", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLOperators", "SciMLStructures", "SimpleUnPack", "Static", "StaticArrayInterface", "StaticArraysCore", "TruncatedStacktraces"] -git-tree-sha1 = "5595eb94d0dd3cde2f5cf456394a1e0a61237e95" +deps = ["ADTypes", "Accessors", "Adapt", "ArrayInterface", "DataStructures", "DiffEqBase", "DocStringExtensions", "EnumX", "FastBroadcast", "FastClosures", "FastPower", "FillArrays", "FunctionWrappersWrappers", "InteractiveUtils", "LinearAlgebra", "Logging", "MacroTools", "MuladdMacro", "Polyester", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLOperators", "SciMLStructures", "SimpleUnPack", "Static", "StaticArrayInterface", "StaticArraysCore", "SymbolicIndexingInterface", "TruncatedStacktraces"] +git-tree-sha1 = "be2c628185fcf94b544fba86b9722be40c3ac305" uuid = "bbf590c4-e513-4bbe-9b18-05decba2e5d8" -version = "1.6.0" +version = "1.10.1" weakdeps = ["EnzymeCore"] [deps.OrdinaryDiffEqCore.extensions] @@ -1525,9 +1654,9 @@ version = "1.1.0" [[deps.OrdinaryDiffEqDifferentiation]] deps = ["ADTypes", "ArrayInterface", "DiffEqBase", "FastBroadcast", "FiniteDiff", "ForwardDiff", "FunctionWrappersWrappers", "LinearAlgebra", "LinearSolve", "OrdinaryDiffEqCore", "SciMLBase", "SparseArrays", "SparseDiffTools", "StaticArrayInterface", "StaticArrays"] -git-tree-sha1 = "e63ec633b1efa99e3caa2e26a01faaa88ba6cef9" +git-tree-sha1 = "8977f283a7d89c5d5c06c933467ed4af0a99f2f7" uuid = "4302a76b-040a-498a-8c04-15b101fed76b" -version = "1.1.0" +version = "1.2.0" [[deps.OrdinaryDiffEqExplicitRK]] deps = ["DiffEqBase", "FastBroadcast", "LinearAlgebra", "MuladdMacro", "OrdinaryDiffEqCore", "RecursiveArrayTools", "Reexport", "TruncatedStacktraces"] @@ -1542,16 +1671,16 @@ uuid = "e0540318-69ee-4070-8777-9e2de6de23de" version = "1.1.0" [[deps.OrdinaryDiffEqExtrapolation]] -deps = ["DiffEqBase", "FastBroadcast", "LinearSolve", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "Polyester", "RecursiveArrayTools", "Reexport"] -git-tree-sha1 = "fea595528a160ed5cade9eee217a9691b1d97714" +deps = ["DiffEqBase", "FastBroadcast", "FastPower", "LinearSolve", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "Polyester", "RecursiveArrayTools", "Reexport"] +git-tree-sha1 = "048bcccc8f59c20d5b4ad268eef4d7d21c005a94" uuid = "becaefa8-8ca2-5cf9-886d-c06f3d2bd2c4" -version = "1.1.0" +version = "1.2.1" [[deps.OrdinaryDiffEqFIRK]] -deps = ["DiffEqBase", "FastBroadcast", "LinearAlgebra", "LinearSolve", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "OrdinaryDiffEqNonlinearSolve", "RecursiveArrayTools", "Reexport", "SciMLOperators"] -git-tree-sha1 = "795221c662698851328cb7787965ab4a180d9468" +deps = ["DiffEqBase", "FastBroadcast", "FastPower", "GenericLinearAlgebra", "GenericSchur", "LinearAlgebra", "LinearSolve", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "OrdinaryDiffEqNonlinearSolve", "Polynomials", "RecursiveArrayTools", "Reexport", "RootedTrees", "SciMLOperators", "Symbolics"] +git-tree-sha1 = "1dcf5bebc5179c1c119a7a30f99bbb93eec02d44" uuid = "5960d6e9-dd7a-4743-88e7-cf307b64f125" -version = "1.1.1" +version = "1.3.0" [[deps.OrdinaryDiffEqFeagin]] deps = ["DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "Polyester", "RecursiveArrayTools", "Reexport", "Static"] @@ -1597,9 +1726,9 @@ version = "1.2.1" [[deps.OrdinaryDiffEqNonlinearSolve]] deps = ["ADTypes", "ArrayInterface", "DiffEqBase", "FastBroadcast", "FastClosures", "ForwardDiff", "LinearAlgebra", "LinearSolve", "MuladdMacro", "NonlinearSolve", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "PreallocationTools", "RecursiveArrayTools", "SciMLBase", "SciMLOperators", "SciMLStructures", "SimpleNonlinearSolve", "StaticArrays"] -git-tree-sha1 = "a2a4119f3e35f7982f78e17beea7b12485d179e9" +git-tree-sha1 = "5e1b316555fa95892edc13f6a429ac784d0be4dd" uuid = "127b3ac7-2247-4354-8eb6-78cf4e7c58e8" -version = "1.2.1" +version = "1.2.4" [[deps.OrdinaryDiffEqNordsieck]] deps = ["DiffEqBase", "FastBroadcast", "LinearAlgebra", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqTsit5", "Polyester", "RecursiveArrayTools", "Reexport", "Static"] @@ -1633,9 +1762,9 @@ version = "1.1.0" [[deps.OrdinaryDiffEqRosenbrock]] deps = ["ADTypes", "DiffEqBase", "FastBroadcast", "FiniteDiff", "ForwardDiff", "LinearAlgebra", "LinearSolve", "MacroTools", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "Polyester", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "Static"] -git-tree-sha1 = "96b47cdd12cb4ce8f70d701b49f855271a462bd4" +git-tree-sha1 = "760a51a626d0065455847e4a3f788b07e86e5090" uuid = "43230ef6-c299-4910-a778-202eb28ce4ce" -version = "1.2.0" +version = "1.3.1" [[deps.OrdinaryDiffEqSDIRK]] deps = ["DiffEqBase", "FastBroadcast", "LinearAlgebra", "MacroTools", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "OrdinaryDiffEqNonlinearSolve", "RecursiveArrayTools", "Reexport", "SciMLBase", "TruncatedStacktraces"] @@ -1738,15 +1867,15 @@ version = "1.10.0" [[deps.PlotThemes]] deps = ["PlotUtils", "Statistics"] -git-tree-sha1 = "6e55c6841ce3411ccb3457ee52fc48cb698d6fb0" +git-tree-sha1 = "41031ef3a1be6f5bbbf3e8073f210556daeae5ca" uuid = "ccf2f8ad-2431-5c83-bf29-c5338b663b6a" -version = "3.2.0" +version = "3.3.0" [[deps.PlotUtils]] -deps = ["ColorSchemes", "Colors", "Dates", "PrecompileTools", "Printf", "Random", "Reexport", "Statistics"] -git-tree-sha1 = "7b1a9df27f072ac4c9c7cbe5efb198489258d1f5" +deps = ["ColorSchemes", "Colors", "Dates", "PrecompileTools", "Printf", "Random", "Reexport", "StableRNGs", "Statistics"] +git-tree-sha1 = "3ca9a356cd2e113c420f2c13bea19f8d3fb1cb18" uuid = "995b91a9-d308-5afd-9ec6-746e21dbc043" -version = "1.4.1" +version = "1.4.3" [[deps.PlotlyBase]] deps = ["ColorSchemes", "Dates", "DelimitedFiles", "DocStringExtensions", "JSON", "LaTeXStrings", "Logging", "Parameters", "Pkg", "REPL", "Requires", "Statistics", "UUIDs"] @@ -1756,9 +1885,9 @@ version = "0.8.19" [[deps.PlotlyJS]] deps = ["Base64", "Blink", "DelimitedFiles", "JSExpr", "JSON", "Kaleido_jll", "Markdown", "Pkg", "PlotlyBase", "PlotlyKaleido", "REPL", "Reexport", "Requires", "WebIO"] -git-tree-sha1 = "e62d886d33b81c371c9d4e2f70663c0637f19459" +git-tree-sha1 = "e415b25fdec06e57590a7d5ac8e0cf662fa317e2" uuid = "f0f68f2c-4968-5e81-91da-67840de0976a" -version = "0.18.13" +version = "0.18.15" [deps.PlotlyJS.extensions] CSVExt = "CSV" @@ -1780,9 +1909,9 @@ version = "2.2.5" [[deps.Plots]] deps = ["Base64", "Contour", "Dates", "Downloads", "FFMPEG", "FixedPointNumbers", "GR", "JLFzf", "JSON", "LaTeXStrings", "Latexify", "LinearAlgebra", "Measures", "NaNMath", "Pkg", "PlotThemes", "PlotUtils", "PrecompileTools", "Printf", "REPL", "Random", "RecipesBase", "RecipesPipeline", "Reexport", "RelocatableFolders", "Requires", "Scratch", "Showoff", "SparseArrays", "Statistics", "StatsBase", "TOML", "UUIDs", "UnicodeFun", "UnitfulLatexify", "Unzip"] -git-tree-sha1 = "45470145863035bb124ca51b320ed35d071cc6c2" +git-tree-sha1 = "dae01f8c2e069a683d3a6e17bbae5070ab94786f" uuid = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" -version = "1.40.8" +version = "1.40.9" [deps.Plots.extensions] FileIOExt = "FileIO" @@ -1800,15 +1929,15 @@ version = "1.40.8" [[deps.Pluto]] deps = ["Base64", "Configurations", "Dates", "Downloads", "ExpressionExplorer", "FileWatching", "FuzzyCompletions", "HTTP", "HypertextLiteral", "InteractiveUtils", "Logging", "LoggingExtras", "MIMEs", "Malt", "Markdown", "MsgPack", "Pkg", "PlutoDependencyExplorer", "PrecompileSignatures", "PrecompileTools", "REPL", "RegistryInstances", "RelocatableFolders", "Scratch", "Sockets", "TOML", "Tables", "URIs", "UUIDs"] -git-tree-sha1 = "73a74a03ac427363c4764f956f34b75e93f71514" +git-tree-sha1 = "3d97d067ea3d04f51821ac86b0d04024fe6e4df8" uuid = "c3e4b0f8-55cb-11ea-2926-15256bba5781" -version = "0.19.46" +version = "0.20.3" [[deps.PlutoDependencyExplorer]] deps = ["ExpressionExplorer", "InteractiveUtils", "Markdown"] -git-tree-sha1 = "4bc5284f77d731196d3e97f23abb732ad6f2a6e4" +git-tree-sha1 = "592470bdf383cd34e88a21bbd7f1f7ffc52a21c6" uuid = "72656b73-756c-7461-726b-72656b6b696b" -version = "1.0.4" +version = "1.1.0" [[deps.PoissonRandom]] deps = ["Random"] @@ -1833,6 +1962,24 @@ git-tree-sha1 = "5f807b5345093487f733e520a1b7395ee9324825" uuid = "3a141323-8675-5d76-9d11-e1df1406c778" version = "1.0.0" +[[deps.Polynomials]] +deps = ["LinearAlgebra", "RecipesBase", "Requires", "Setfield", "SparseArrays"] +git-tree-sha1 = "1a9cfb2dc2c2f1bd63f1906d72af39a79b49b736" +uuid = "f27b6e38-b328-58d1-80ce-0feddd5e7a45" +version = "4.0.11" + + [deps.Polynomials.extensions] + PolynomialsChainRulesCoreExt = "ChainRulesCore" + PolynomialsFFTWExt = "FFTW" + PolynomialsMakieCoreExt = "MakieCore" + PolynomialsMutableArithmeticsExt = "MutableArithmetics" + + [deps.Polynomials.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + FFTW = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341" + MakieCore = "20f20a25-4f0e-4fdf-b5d1-57303727442b" + MutableArithmetics = "d8a4904e-b15c-11e9-3269-09a3773c0cb0" + [[deps.PooledArrays]] deps = ["DataAPI", "Future"] git-tree-sha1 = "36d8b4b899628fb92c2749eb488d884a926614d3" @@ -1876,9 +2023,15 @@ version = "1.4.3" [[deps.PrettyTables]] deps = ["Crayons", "LaTeXStrings", "Markdown", "PrecompileTools", "Printf", "Reexport", "StringManipulation", "Tables"] -git-tree-sha1 = "66b20dd35966a748321d3b2537c4584cf40387c7" +git-tree-sha1 = "1101cd475833706e4d0e7b122218257178f48f34" uuid = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d" -version = "2.3.2" +version = "2.4.0" + +[[deps.Primes]] +deps = ["IntegerMathUtils"] +git-tree-sha1 = "cb420f77dc474d23ee47ca8d14c90810cafe69e7" +uuid = "27ebfcd6-29c5-5fa9-bf4b-fb8fc14df3ae" +version = "0.5.6" [[deps.Printf]] deps = ["Unicode"] @@ -1969,9 +2122,9 @@ version = "0.6.12" [[deps.RecursiveArrayTools]] deps = ["Adapt", "ArrayInterface", "DocStringExtensions", "GPUArraysCore", "IteratorInterfaceExtensions", "LinearAlgebra", "RecipesBase", "StaticArraysCore", "Statistics", "SymbolicIndexingInterface", "Tables"] -git-tree-sha1 = "b034171b93aebc81b3e1890a036d13a9c4a9e3e0" +git-tree-sha1 = "6f4dca5fd8e97087a76b7ab8384d1c3086ace0b7" uuid = "731186ca-8d62-57ce-b412-fbd966d074cd" -version = "3.27.0" +version = "3.27.3" [deps.RecursiveArrayTools.extensions] RecursiveArrayToolsFastBroadcastExt = "FastBroadcast" @@ -2036,9 +2189,9 @@ version = "1.1.1" [[deps.Revise]] deps = ["CodeTracking", "Distributed", "FileWatching", "JuliaInterpreter", "LibGit2", "LoweredCodeUtils", "OrderedCollections", "REPL", "Requires", "UUIDs", "Unicode"] -git-tree-sha1 = "7b7850bb94f75762d567834d7e9802fc22d62f9c" +git-tree-sha1 = "7f4228017b83c66bd6aa4fddeb170ce487e53bc7" uuid = "295af30f-e4ad-537b-8983-00126c2a3abe" -version = "3.5.18" +version = "3.6.2" [[deps.Rmath]] deps = ["Random", "Rmath_jll"] @@ -2052,6 +2205,16 @@ git-tree-sha1 = "58cdd8fb2201a6267e1db87ff148dd6c1dbd8ad8" uuid = "f50d1b31-88e8-58de-be2c-1cc44531875f" version = "0.5.1+0" +[[deps.RootedTrees]] +deps = ["LaTeXStrings", "Latexify", "LinearAlgebra", "Preferences", "RecipesBase", "Requires"] +git-tree-sha1 = "c0c464d3063e46e4128d21fd677ca575ace44fdc" +uuid = "47965b36-3f3e-11e9-0dcf-4570dfd42a8c" +version = "2.23.1" +weakdeps = ["Plots"] + + [deps.RootedTrees.extensions] + PlotsExt = "Plots" + [[deps.RuntimeGeneratedFunctions]] deps = ["ExprTools", "SHA", "Serialization"] git-tree-sha1 = "04c968137612c4a5629fa531334bb81ad5680f00" @@ -2104,10 +2267,10 @@ uuid = "9fc549ba-b5d7-49a2-b268-8171e5fb6e89" version = "0.1.2" [[deps.SatelliteToolboxGravityModels]] -deps = ["Crayons", "Dates", "Downloads", "ReferenceFrameRotations", "SatelliteToolboxBase", "SatelliteToolboxLegendre", "Scratch", "StaticArrays"] -git-tree-sha1 = "5492e40b4baef8b5819f47364e085b05768a714e" +deps = ["Crayons", "Dates", "Downloads", "ReferenceFrameRotations", "SatelliteToolboxBase", "SatelliteToolboxLegendre", "SatelliteToolboxTransformations", "Scratch", "StaticArrays"] +git-tree-sha1 = "0b80492956a93dda225d1c22e7312a1c9fccb76f" uuid = "bd9e9728-6f7b-4d28-9e50-c765cb1b7c8c" -version = "0.1.5" +version = "0.1.6" [[deps.SatelliteToolboxLegendre]] git-tree-sha1 = "5ff0e4fee0b4144ad3393177f449108cd07556d1" @@ -2139,10 +2302,10 @@ uuid = "6b019ec1-7a1e-4f04-96c7-a9db1ca5514d" version = "0.1.8" [[deps.SciMLBase]] -deps = ["ADTypes", "Accessors", "ArrayInterface", "CommonSolve", "ConstructionBase", "Distributed", "DocStringExtensions", "EnumX", "Expronicon", "FunctionWrappersWrappers", "IteratorInterfaceExtensions", "LinearAlgebra", "Logging", "Markdown", "PrecompileTools", "Preferences", "Printf", "RecipesBase", "RecursiveArrayTools", "Reexport", "RuntimeGeneratedFunctions", "SciMLOperators", "SciMLStructures", "StaticArraysCore", "Statistics", "SymbolicIndexingInterface", "Tables"] -git-tree-sha1 = "71857d6bab17e7ac6802d86ffcc75423b8c1d812" +deps = ["ADTypes", "Accessors", "ArrayInterface", "CommonSolve", "ConstructionBase", "Distributed", "DocStringExtensions", "EnumX", "Expronicon", "FunctionWrappersWrappers", "IteratorInterfaceExtensions", "LinearAlgebra", "Logging", "Markdown", "PrecompileTools", "Preferences", "Printf", "RecipesBase", "RecursiveArrayTools", "Reexport", "RuntimeGeneratedFunctions", "SciMLOperators", "SciMLStructures", "StaticArraysCore", "Statistics", "SymbolicIndexingInterface"] +git-tree-sha1 = "f9195449e0ae7e8daf9d609c9619ecfc2369f62c" uuid = "0bca4576-84f4-4d90-8ffe-ffa030f20462" -version = "2.54.0" +version = "2.60.0" [deps.SciMLBase.extensions] SciMLBaseChainRulesCoreExt = "ChainRulesCore" @@ -2163,11 +2326,17 @@ version = "2.54.0" RCall = "6f49c342-dc21-5d91-9882-a32aef131414" Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" +[[deps.SciMLJacobianOperators]] +deps = ["ADTypes", "ArrayInterface", "ConcreteStructs", "ConstructionBase", "DifferentiationInterface", "FastClosures", "LinearAlgebra", "SciMLBase", "SciMLOperators"] +git-tree-sha1 = "f66048bb969e67bd7d1bdd03cd0b81219642bbd0" +uuid = "19f34311-ddf3-4b8b-af20-060888a46c0e" +version = "0.1.1" + [[deps.SciMLOperators]] deps = ["Accessors", "ArrayInterface", "DocStringExtensions", "LinearAlgebra", "MacroTools"] -git-tree-sha1 = "e39c5f217f9aca640c8e27ab21acf557a3967db5" +git-tree-sha1 = "6149620767866d4b0f0f7028639b6e661b6a1e44" uuid = "c0aeaf25-5076-4817-a8d5-81caf7dfa961" -version = "0.3.10" +version = "0.3.12" weakdeps = ["SparseArrays", "StaticArraysCore"] [deps.SciMLOperators.extensions] @@ -2188,9 +2357,9 @@ version = "1.2.1" [[deps.SentinelArrays]] deps = ["Dates", "Random"] -git-tree-sha1 = "ff11acffdb082493657550959d4feb4b6149e73a" +git-tree-sha1 = "d0553ce4031a081cc42387a9b9c8441b7d99f32d" uuid = "91c51154-3ec4-41a3-a24f-3f23e20d615c" -version = "1.4.5" +version = "1.4.7" [[deps.Serialization]] uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" @@ -2218,9 +2387,9 @@ version = "1.2.0" [[deps.SimpleNonlinearSolve]] deps = ["ADTypes", "ArrayInterface", "ConcreteStructs", "DiffEqBase", "DiffResults", "DifferentiationInterface", "FastClosures", "FiniteDiff", "ForwardDiff", "LinearAlgebra", "MaybeInplace", "PrecompileTools", "Reexport", "SciMLBase", "Setfield", "StaticArraysCore"] -git-tree-sha1 = "536c0ee0b4b766ddee24220c6bb60932df4e2c39" +git-tree-sha1 = "44021f3efc023be3871195d8ad98b865001a2fa1" uuid = "727e6d20-b764-4bd8-a329-72de5adea6c7" -version = "1.12.1" +version = "1.12.3" [deps.SimpleNonlinearSolve.extensions] SimpleNonlinearSolveChainRulesCoreExt = "ChainRulesCore" @@ -2271,11 +2440,31 @@ deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"] uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" version = "1.10.0" +[[deps.SparseConnectivityTracer]] +deps = ["ADTypes", "DocStringExtensions", "FillArrays", "LinearAlgebra", "Random", "SparseArrays"] +git-tree-sha1 = "6914df6005bab9940e2a96879a97a43e1fb1ce78" +uuid = "9f842d2f-2579-4b1d-911e-f412cf18a3f5" +version = "0.6.8" + + [deps.SparseConnectivityTracer.extensions] + SparseConnectivityTracerDataInterpolationsExt = "DataInterpolations" + SparseConnectivityTracerLogExpFunctionsExt = "LogExpFunctions" + SparseConnectivityTracerNNlibExt = "NNlib" + SparseConnectivityTracerNaNMathExt = "NaNMath" + SparseConnectivityTracerSpecialFunctionsExt = "SpecialFunctions" + + [deps.SparseConnectivityTracer.weakdeps] + DataInterpolations = "82cc6244-b520-54b8-b5a6-8a565e85f1d0" + LogExpFunctions = "2ab3a3ac-af41-5b50-aa03-7779005ae688" + NNlib = "872c559c-99b0-510c-b3b7-b6c96a88d5cd" + NaNMath = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" + SpecialFunctions = "276daf66-3868-5448-9aa4-cd146d93841b" + [[deps.SparseDiffTools]] -deps = ["ADTypes", "Adapt", "ArrayInterface", "Compat", "DataStructures", "FiniteDiff", "ForwardDiff", "Graphs", "LinearAlgebra", "PackageExtensionCompat", "Random", "Reexport", "SciMLOperators", "Setfield", "SparseArrays", "StaticArrayInterface", "StaticArrays", "Tricks", "UnPack", "VertexSafeGraphs"] -git-tree-sha1 = "c9e5d7ee75cf6a1ca3a22c9a6a4ef451792cf62b" +deps = ["ADTypes", "Adapt", "ArrayInterface", "Compat", "DataStructures", "FiniteDiff", "ForwardDiff", "Graphs", "LinearAlgebra", "PackageExtensionCompat", "Random", "Reexport", "SciMLOperators", "Setfield", "SparseArrays", "StaticArrayInterface", "StaticArrays", "UnPack", "VertexSafeGraphs"] +git-tree-sha1 = "b906758c107b049b6b71599b9f928d9b14e5554a" uuid = "47a9eef4-7e08-11e9-0b38-333d64bd3804" -version = "2.20.0" +version = "2.23.0" [deps.SparseDiffTools.extensions] SparseDiffToolsEnzymeExt = "Enzyme" @@ -2292,10 +2481,14 @@ version = "2.20.0" Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" [[deps.SparseMatrixColorings]] -deps = ["ADTypes", "Compat", "DataStructures", "DocStringExtensions", "LinearAlgebra", "Random", "SparseArrays"] -git-tree-sha1 = "996dff77d814c45c3f2342fa0113e4ad31e712e8" +deps = ["ADTypes", "DataStructures", "DocStringExtensions", "LinearAlgebra", "Random", "SparseArrays"] +git-tree-sha1 = "76b44c879661552d64f382acf66faa29ab56b3d9" uuid = "0a514795-09f3-496d-8182-132a7b665d35" -version = "0.4.0" +version = "0.4.10" +weakdeps = ["Colors"] + + [deps.SparseMatrixColorings.extensions] + SparseMatrixColoringsColorsExt = "Colors" [[deps.Sparspak]] deps = ["Libdl", "LinearAlgebra", "Logging", "OffsetArrays", "Printf", "SparseArrays", "Test"] @@ -2313,6 +2506,12 @@ weakdeps = ["ChainRulesCore"] [deps.SpecialFunctions.extensions] SpecialFunctionsChainRulesCoreExt = "ChainRulesCore" +[[deps.StableRNGs]] +deps = ["Random"] +git-tree-sha1 = "83e6cce8324d49dfaf9ef059227f91ed4441a8e5" +uuid = "860ef19b-820b-49d6-a774-d7a799459cd3" +version = "1.0.2" + [[deps.Static]] deps = ["CommonWorldInvalidations", "IfElse", "PrecompileTools"] git-tree-sha1 = "87d51a3ee9a4b0d2fe054bdd3fc2436258db2603" @@ -2332,9 +2531,9 @@ weakdeps = ["OffsetArrays", "StaticArrays"] [[deps.StaticArrays]] deps = ["LinearAlgebra", "PrecompileTools", "Random", "StaticArraysCore"] -git-tree-sha1 = "eeafab08ae20c62c44c8399ccb9354a04b80db50" +git-tree-sha1 = "777657803913ffc7e8cc20f0fd04b634f871af8f" uuid = "90137ffa-7385-5640-81b9-e52037218182" -version = "1.9.7" +version = "1.9.8" weakdeps = ["ChainRulesCore", "Statistics"] [deps.StaticArrays.extensions] @@ -2376,15 +2575,15 @@ weakdeps = ["ChainRulesCore", "InverseFunctions"] [[deps.SteadyStateDiffEq]] deps = ["ConcreteStructs", "DiffEqBase", "DiffEqCallbacks", "LinearAlgebra", "Reexport", "SciMLBase"] -git-tree-sha1 = "9cdb2a0166b9e715abaaf5307091b49d296bfe12" +git-tree-sha1 = "920acf6ae36c86f23969fea1d317e040dbfccf53" uuid = "9672c7b4-1e72-59bd-8a11-6ac3964bc41f" -version = "2.4.0" +version = "2.4.1" [[deps.StochasticDiffEq]] -deps = ["Adapt", "ArrayInterface", "DataStructures", "DiffEqBase", "DiffEqNoiseProcess", "DocStringExtensions", "FiniteDiff", "ForwardDiff", "JumpProcesses", "LevyArea", "LinearAlgebra", "Logging", "MuladdMacro", "NLsolve", "OrdinaryDiffEq", "Random", "RandomNumbers", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLOperators", "SparseArrays", "SparseDiffTools", "StaticArrays", "UnPack"] -git-tree-sha1 = "b49030a24847e8c3e85eed3359825297ffb70dfa" +deps = ["Adapt", "ArrayInterface", "DataStructures", "DiffEqBase", "DiffEqNoiseProcess", "DocStringExtensions", "FastPower", "FiniteDiff", "ForwardDiff", "JumpProcesses", "LevyArea", "LinearAlgebra", "Logging", "MuladdMacro", "NLsolve", "OrdinaryDiffEq", "Random", "RandomNumbers", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLOperators", "SparseArrays", "SparseDiffTools", "StaticArrays", "UnPack"] +git-tree-sha1 = "b1464027197ae535fd21e0c482ba23f768be72ff" uuid = "789caeaf-c7a9-5a7d-9973-96adeb23e2a0" -version = "6.69.1" +version = "6.71.0" [[deps.StrideArraysCore]] deps = ["ArrayInterface", "CloseOpenIntervals", "IfElse", "LayoutPointers", "LinearAlgebra", "ManualMemory", "SIMDTypes", "Static", "StaticArrayInterface", "ThreadingUtilities"] @@ -2394,9 +2593,9 @@ version = "0.5.7" [[deps.StringManipulation]] deps = ["PrecompileTools"] -git-tree-sha1 = "a04cabe79c5f01f4d723cc6704070ada0b9d46d5" +git-tree-sha1 = "a6b1675a536c5ad1a60e5a5153e1fee12eb146e3" uuid = "892a3eda-7b42-436c-8928-eab12a02cf0e" -version = "0.3.4" +version = "0.4.0" [[deps.SuiteSparse]] deps = ["Libdl", "LinearAlgebra", "Serialization", "SparseArrays"] @@ -2409,9 +2608,9 @@ version = "7.2.1+1" [[deps.Sundials]] deps = ["CEnum", "DataStructures", "DiffEqBase", "Libdl", "LinearAlgebra", "Logging", "PrecompileTools", "Reexport", "SciMLBase", "SparseArrays", "Sundials_jll"] -git-tree-sha1 = "82304990120934137261aa085e0d05a412fe0825" +git-tree-sha1 = "56661ac133ea6df96fea8d6bb4eb18875b002206" uuid = "c3572dad-4567-51f8-b174-8c6c989267f4" -version = "4.25.0" +version = "4.26.1" [[deps.Sundials_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "SuiteSparse_jll", "libblastrampoline_jll"] @@ -2421,9 +2620,51 @@ version = "5.2.2+0" [[deps.SymbolicIndexingInterface]] deps = ["Accessors", "ArrayInterface", "RuntimeGeneratedFunctions", "StaticArraysCore"] -git-tree-sha1 = "988e04b34a4c3b824fb656f542473df99a4f610d" +git-tree-sha1 = "6c6761e08bf5a270905cdd065be633abfa1b155b" uuid = "2efcf032-c050-4f8e-a9bb-153293bab1f5" -version = "0.3.30" +version = "0.3.35" + +[[deps.SymbolicLimits]] +deps = ["SymbolicUtils"] +git-tree-sha1 = "fabf4650afe966a2ba646cabd924c3fd43577fc3" +uuid = "19f23fe9-fdab-4a78-91af-e7b7767979c3" +version = "0.2.2" + +[[deps.SymbolicUtils]] +deps = ["AbstractTrees", "ArrayInterface", "Bijections", "ChainRulesCore", "Combinatorics", "ConstructionBase", "DataStructures", "DocStringExtensions", "DynamicPolynomials", "IfElse", "LinearAlgebra", "MultivariatePolynomials", "NaNMath", "Setfield", "SparseArrays", "SpecialFunctions", "StaticArrays", "SymbolicIndexingInterface", "TermInterface", "TimerOutputs", "Unityper"] +git-tree-sha1 = "04e9157537ba51dad58336976f8d04b9ab7122f0" +uuid = "d1185830-fcd6-423d-90d6-eec64667417b" +version = "3.7.2" + + [deps.SymbolicUtils.extensions] + SymbolicUtilsLabelledArraysExt = "LabelledArrays" + SymbolicUtilsReverseDiffExt = "ReverseDiff" + + [deps.SymbolicUtils.weakdeps] + LabelledArrays = "2ee39098-c373-598a-b85f-a56591580800" + ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" + +[[deps.Symbolics]] +deps = ["ADTypes", "ArrayInterface", "Bijections", "CommonWorldInvalidations", "ConstructionBase", "DataStructures", "DiffRules", "Distributions", "DocStringExtensions", "DomainSets", "DynamicPolynomials", "IfElse", "LaTeXStrings", "Latexify", "Libdl", "LinearAlgebra", "LogExpFunctions", "MacroTools", "Markdown", "NaNMath", "PrecompileTools", "Primes", "RecipesBase", "Reexport", "RuntimeGeneratedFunctions", "SciMLBase", "Setfield", "SparseArrays", "SpecialFunctions", "StaticArraysCore", "SymbolicIndexingInterface", "SymbolicLimits", "SymbolicUtils", "TermInterface"] +git-tree-sha1 = "24e006074ef13894ed23d006f55e6082998c9035" +uuid = "0c5d862f-8b57-4792-8d23-62f2024744c7" +version = "6.19.0" + + [deps.Symbolics.extensions] + SymbolicsForwardDiffExt = "ForwardDiff" + SymbolicsGroebnerExt = "Groebner" + SymbolicsLuxExt = "Lux" + SymbolicsNemoExt = "Nemo" + SymbolicsPreallocationToolsExt = ["PreallocationTools", "ForwardDiff"] + SymbolicsSymPyExt = "SymPy" + + [deps.Symbolics.weakdeps] + ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" + Groebner = "0b43b601-686d-58a3-8a1c-6623616c7cd4" + Lux = "b2108857-7c20-44ae-9111-449ecde12c47" + Nemo = "2edaba10-b0f1-5616-af89-8c11ac63239a" + PreallocationTools = "d236fae5-4411-538c-8e31-a6e3d9e00b46" + SymPy = "24249f21-da20-56a4-8eb1-6a02cf4ae2e6" [[deps.TOML]] deps = ["Dates"] @@ -2453,6 +2694,11 @@ git-tree-sha1 = "1feb45f88d133a655e001435632f019a9a1bcdb6" uuid = "62fd8b95-f654-4bbd-a8a5-9c27f68ccd50" version = "0.1.1" +[[deps.TermInterface]] +git-tree-sha1 = "d673e0aca9e46a2f63720201f55cc7b3e7169b16" +uuid = "8ea1fca8-c5ef-4a55-8b96-4e9afe9c9a3c" +version = "2.0.0" + [[deps.Test]] deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" @@ -2465,14 +2711,14 @@ version = "0.5.2" [[deps.TimerOutputs]] deps = ["ExprTools", "Printf"] -git-tree-sha1 = "5a13ae8a41237cff5ecf34f73eb1b8f42fff6531" +git-tree-sha1 = "3a6f063d690135f5c1ba351412c82bae4d1402bf" uuid = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" -version = "0.5.24" +version = "0.5.25" [[deps.TranscodingStreams]] -git-tree-sha1 = "e84b3a11b9bece70d14cce63406bbc79ed3464d2" +git-tree-sha1 = "0c45878dcfdcfa8480052b6ab162cdd138781742" uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" -version = "0.11.2" +version = "0.11.3" [[deps.TriangularSolve]] deps = ["CloseOpenIntervals", "IfElse", "LayoutPointers", "LinearAlgebra", "LoopVectorization", "Polyester", "Static", "VectorizationBase"] @@ -2531,6 +2777,12 @@ git-tree-sha1 = "975c354fcd5f7e1ddcc1f1a23e6e091d99e99bc8" uuid = "45397f5d-5981-4c77-b2b3-fc36d6e9b728" version = "1.6.4" +[[deps.Unityper]] +deps = ["ConstructionBase"] +git-tree-sha1 = "25008b734a03736c41e2a7dc314ecb95bd6bbdb0" +uuid = "a7c27f48-0311-42f6-a7f8-2c11e75eb415" +version = "0.1.6" + [[deps.Unzip]] git-tree-sha1 = "ca0969166a028236229f63514992fc073799bb78" uuid = "41fe7b60-77ed-43a1-b4f0-825fd5a5650d" @@ -2538,9 +2790,9 @@ version = "0.2.0" [[deps.VectorizationBase]] deps = ["ArrayInterface", "CPUSummary", "HostCPUFeatures", "IfElse", "LayoutPointers", "Libdl", "LinearAlgebra", "SIMDTypes", "Static", "StaticArrayInterface"] -git-tree-sha1 = "e7f5b81c65eb858bed630fe006837b935518aca5" +git-tree-sha1 = "4ab62a49f1d8d9548a1c8d1a75e5f55cf196f64e" uuid = "3d5dd08c-fd9d-11e8-17fa-ed2836048c2f" -version = "0.21.70" +version = "0.21.71" [[deps.VersionParsing]] git-tree-sha1 = "58d6e80b4ee071f5efd07fda82cb9fbe17200868" @@ -2608,9 +2860,9 @@ version = "1.6.1" [[deps.XML2_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Libiconv_jll", "Zlib_jll"] -git-tree-sha1 = "1165b0443d0eca63ac1e32b8c0eb69ed2f4f8127" +git-tree-sha1 = "6a451c6f33a176150f315726eba8b92fbfdb9ae7" uuid = "02c8fc9c-b97f-50b9-bbe4-9be30ff0a78a" -version = "2.13.3+0" +version = "2.13.4+0" [[deps.XSLT_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgcrypt_jll", "Libgpg_error_jll", "Libiconv_jll", "XML2_jll", "Zlib_jll"] @@ -2620,9 +2872,9 @@ version = "1.1.41+0" [[deps.XZ_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "ac88fb95ae6447c8dda6a5503f3bafd496ae8632" +git-tree-sha1 = "15e637a697345f6743674f1322beefbc5dcd5cfc" uuid = "ffd25f8a-64ca-5728-b0f7-c24cf3aae800" -version = "5.4.6+0" +version = "5.6.3+0" [[deps.Xorg_libICE_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] @@ -2776,9 +3028,9 @@ version = "1.3.0" [[deps.ZeroMQ_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "libsodium_jll"] -git-tree-sha1 = "42f97fb27394378591666ab0e9cee369e6d0e1f9" +git-tree-sha1 = "f02ce8f0fda1ed40f4d0d59a2ad05e35e8ac9b0e" uuid = "8f1865be-045e-5c20-9c9f-bfbfb0764568" -version = "4.3.5+0" +version = "4.3.5+1" [[deps.Zlib_jll]] deps = ["Libdl"] @@ -2787,9 +3039,9 @@ version = "1.2.13+1" [[deps.Zstd_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "e678132f07ddb5bfa46857f0d7620fb9be675d3b" +git-tree-sha1 = "555d1076590a6cc2fdee2ef1469451f872d8b41b" uuid = "3161d3a3-bdf6-5164-811a-617609db77b4" -version = "1.5.6+0" +version = "1.5.6+1" [[deps.eudev_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "gperf_jll"] @@ -2852,15 +3104,15 @@ version = "1.18.0+0" [[deps.libpng_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Zlib_jll"] -git-tree-sha1 = "d7015d2e18a5fd9a4f47de711837e980519781a4" +git-tree-sha1 = "b70c870239dc3d7bc094eb2d6be9b73d27bef280" uuid = "b53b4c65-9356-5827-b1ea-8c7a1a84506f" -version = "1.6.43+1" +version = "1.6.44+0" [[deps.libsodium_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "848ab3d00fe39d6fbc2a8641048f8f272af1c51e" +git-tree-sha1 = "f76d682d87eefadd3f165d8d9fda436464213142" uuid = "a9144af2-ca23-56d9-984f-0d03f7b5ccf8" -version = "1.0.20+0" +version = "1.0.20+1" [[deps.libvorbis_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Ogg_jll", "Pkg"] diff --git a/posts/.DS_Store b/posts/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..0dada2ff1d2e6132e2323456930ff7726a784e26 GIT binary patch literal 8196 zcmeHMOK;Oa5FV!i9FZty|H28rncY6@G(t!P@z|AiX7(|!Z`bRrLqt|%>{p0Zh{#4|zPt!>Lg8_)Go_$= z&VyUfCvvGw+n^Py&dfF)1_6VBLBJqj5HJY*2?*ew&BdPc-dCfB8Uzdi|0M!^J~*h% z>zYp$m!ktjt^nXgbW4GZdw}RTn%6a-DlV$9scsLJR<-mM!&2%PcX&E@UGu5pN}VjF zPL}p;=^KhA-l6Bnbh7G-8)^_R2+ShDclSHEt(S3U-^$$IUFuOn6ZDP1T?*(m4ImBC zcIgF;DWwqY7_Ay@zykM%6k%oxS!pHUJ@gEZjq=zV*uuQ~QPOEgNgGk{gZlyX<~J#j zh^|XyRm8?$7S@Ea?7s01|7w5jNjlIw@>6>dh3TkV{$dptif7KA zvu%6Pe%9-82ibj zk&I(M72T#9uuG*tkUhN(T{#YTd1LA6V!?e#Lu>@K z+-f6_u;qPhXIDm!j+sh!yDjX%^YH^B8-+R`YOr#;QB-qLe9T30MPs4-tH*j>qDb_^ z(*Y_mKR&4H*b0CQ=Nx2h7q8}QFHsBG@Nwf|Ha`{~-2_s7in5w?H>ZiFDF%W02rQ_f z6~6!9oB#cPz5z305HJY*^$1wS-R5osX&n5X$Y;cNZ3p!^Di@wNRa{g+ + \ No newline at end of file diff --git a/posts/2022-02-07-space-debris-characterization/index.qmd b/posts/2022-02-07-space-debris-characterization/index.qmd new file mode 100644 index 0000000..dd85ce0 --- /dev/null +++ b/posts/2022-02-07-space-debris-characterization/index.qmd @@ -0,0 +1,101 @@ +--- +title: Space Debris Characterization Using Machine Learning Methods +date: 2022-02-07 +# date-modified: 2024-11-13 +author: + - name: Anson Biggs + url: https://ansonbiggs.com + role: + - "Data curation" + - "Formal analysis" + - "Investigation" + - "Methodology" + - "Software" + - "Validation" + - "Visualization" + - "Writing - original draft" + - "Writing - review & editing" + affiliation: + - name: Embry-Riddle Aeronautical University + city: Prescott + state: AZ + url: https://erau.edu + - name: Ana Bader-Elenes + role: + - "Data curation" + - "Investigation" + - "Methodology" + - "Software" + - "Validation" + - "Visualization" + - "Writing - review & editing" + affiliation: Embry-Riddle Aeronautical University + - name: Dr. Mehran Andalibi + affiliation: Associate Professor of Mechanical Engineering, Embry-Riddle Aeronautical University, Prescott, AZ + roles: Advisor + - name: Dr. Ron Madler + affiliation: Dean of the College of Engineering, Embry-Riddle Aeronautical University, Prescott, AZ + roles: Advisor + + + +abstract: > + Orbital debris is a form of pollution that is growing at an exponential pace and puts current and future space infrastructure at risk. Satellites are critical to military, commercial, and civil operations. Unfortunately, the space they occupy is increasingly becoming more crowded and dangerous, potentially leading to a cascade event that could turn orbit around the Earth into an unusable wasteland for decades proper mitigation is not introduced. Unfortunately, existing models employed by NASA rely on a dataset created from 2D images and are missing many crucial features required for correctly modeling the space debris environment. Our approach uses high-resolution 3D scanning to fully capture the geometry of a piece of debris and allow a more advanced analysis of each piece. This approach, coupled with machine learning methods, will allow advances to the current cutting edge. Physical and photograph-based measurements are time-consuming, hard to replicate, and lack precision. 3D scanning allows much more advanced and accurate analysis of each debris sample, focusing on properties such as moment of inertia, cross-section, and drag. With these additional properties, we stand to substantially increase our understanding of the space debris environment through advanced characterization of each piece of debris. Once the characteristics of space debris are more thoroughly understood, we can begin mitigating the creation and danger of future space debris by implementing improved satellite construction methods and more advanced debris avoidance measures. +description: | + The growing threat of orbital debris poses a significant risk to space infrastructure. Current NASA models, based on 2D images, lack crucial features for accurate modeling. This research utilizes high-resolution 3D scanning and machine learning to analyze debris geometry, enabling a more comprehensive understanding of the debris environment. This improved characterization will inform mitigation strategies, including better satellite construction and debris avoidance measures. +description-meta: | + Researching orbital debris using 3D scanning and machine learning to improve current models and inform mitigation strategies. Learn how this approach enhances our understanding of space debris and its impact on space infrastructure. +funding: "This work was funded by ERAU URI Ignite Award" +other-links: + - text: URI Discovery Day Post + href: https://commons.erau.edu/pr-discovery-day/2022/presentations/5/ +bibliography: references.bib +csl: diabetologia.csl +--- + +:::{.callout-note} +## Important Note + +This is a reposting of my research proposal since my Univeristy only posted the abstract and a very low quality image. I removed any information that wasn't written by me, or anything that could be considered sensitive. + +::: + +## Project Summary + +There are currently approximately 23,522 debris objects 10 centimeters in size or larger tracked by NASA, an estimated 500,000 objects 1 centimeter in size or larger, and upwards of 100 million debris objects at least 1 millimeter in size [@noauthor_space_2022]. Furthermore, the average relative velocity of objects in Low Earth Orbit is ten km/s [@wertz_space_2011], which means collisions with even tiny pieces of debris can end a space mission and create more debris. These factors could combine and lead to a vicious cycle where debris causes more debris, potentially creating debris faster than atmospheric drag could remove it and, in an extreme case blocking access to space for decades [@kessler_collision_1978]. Essential factors in predicting the damage due to collision with space debris are its mass, density, speed, and shape. As a result, developing models to predict the orbits of debris and categorizing them based on their shape characteristics is a growing focus for the US and allied space agencies [@orbital_debris_research_and_developmentinteragency_working_group_2021_2021]. These models are used to maneuver around the upcoming debris or assess the potential damage due to collisions. +Current studies have the following shortcomings. Although they only utilize a few shape characteristic factors for space debris classification, namely characteristic length, and average cross-section, they do not consider shape characteristics vital in calculating collision damage, such as ballistic coefficient. This proposal aims to improve state-of-the-art through advanced object classification with the following methodology that utilizes 3D scanning and Machine Learning. First, high-resolution 3D scans of satellite debris are acquired imported in CATIA, and solid models from them are created from which an abundance of shape characteristics factors can be obtained. 3D scanning is followed by employing Machine Learning techniques for reducing the dimensionality of the obtained features (via the Principal Component Analysis) and replacing the current decision trees with more reliable clustering algorithms, such as K-Means Clustering or Artificial Neural Networks. Then this data is processed with Ballistic coefficient and other essential factors in the collision of a satellite with different classes of space debris found from machine learning will be calculated, and further refinement in these clusters will be investigated. + +## Project Description + +### Project Background +With the current accelerating rate of satellites accruing in orbit, collisions are becoming exponentially more likely. Low earth orbit (LEO) suffers the most from Orbital Debris since it is a highly desired altitude, has the least room for satellites, and must be passed through to reach higher altitudes. In addition, stage separations to reach higher orbits may happen in LEO, meaning almost every mission into space creates orbital debris in this critical region. Combined, these factors mean that a cascade event is becoming more likely, and this critical orbital regime is on track to become too hazardous for any level of use. Due to limited tracking technologies, especially for high-altitude orbits, hazard estimation of orbital debris is only possible by utilizing a model that considers the physical characteristics of debris. +The current authority on debris modeling comes from the NASA DebriSat program. This program creates mockup satellites that are destroyed using hypervelocity impacts. The debris from the impacts is then collected and tabulated to characterize the orbital debris distribution created from an impact in space. This creates a valuable model for knowing the general makeup of orbital debris but provides insufficient information for more advanced modeling. The methods used by the DebriSat program to characterize their debris involve a purpose-built imaging system that determines the characteristic length of a piece of debris [@moraguez2015imaging; @cowardin_optical_2020] which is tabulated with the material and weight of each piece of debris. Then a simple decision tree is used to characterize the debris. Decision trees are a helpful method to categorize data. We propose to use a more advanced approach to improve the cluster characterization of the debris. + +### Objectives + +The materials and construction methods used to create satellites are changing rapidly because the price to orbit is now low enough that new companies can create satellites with unproven designs, and established players can take risks and relax TRL requirements [@orbital_debris_research_and_developmentinteragency_working_group_2021_2021;@buchs2021intensifying]. However, rapid innovation in this field has the drawback that to keep their models up to date, DebriSat needs to continuously create mock satellites that reflect the cutting edge of satellite manufacturing so that their model can stay relevant. In addition, each test creates tens of thousands of pieces that must be accurately cataloged [@carrasquilla_debrisat_2019], so any new characterization method needs to be fast enough to keep up with changing satellite characteristics. It also means that the essential characteristics of orbital debris may change, so new data must be analyzed and incorporated into models. Another benefit to our approach is that since all the debris we catalog will have a 3D model saved and could potentially be reprocessed in code in the future if new modeling methods are adopted. + +### Project Approach + +Below in @fig-comparison, you can see an example of the current decision tree method used by DebriSat alongside the advanced 3D scan data science pipeline that we propose. Our method utilizes complex analysis only possible with a high-resolution scan of the models and then uses a variety of machine learning and data science techniques to process the data into useful metrics. Our method is a modern approach that can eventually be developed into complex simulations of debris. + +![DebriSat Approach versus Our Approach](uripropcomparison.svg){#fig-comparison} + +Enough samples to get the project started have been provided by Dr. Madler, but as of now, they are entirely uncharacterized. The first step towards characterizing the debris we have is to manually organize them into different clusters. The clusters are based on similar characteristics that can be observed visually to produce a preliminary characterization and are just meant to be a starting point for the MATLAB code. Then three to five samples from each cluster will be scanned to give a somewhat even distribution of what we expect MATLAB to provide for each cluster. When clustering using machine learning methods, every cluster must have a few pieces to ensure minimal outliers in the data. As more data becomes available, the machine learning methods get more powerful. Before being put into MATLAB, every scan will be uploaded into CATIA to take data from the scans and clean up the model. CATIA makes some of the desired characteristics of the debris samples, such as the moment of inertia, the center of gravity, etc., very easy to collect. Future iterations of this project will likely do all processing in MATLAB to reduce the manual labor required for each piece of debris. +Below in @fig-debris is a render of a real piece of debris scanned by the Rapid Prototyping Lab on campus. Even after reducing the number of points provided by the scanner, the final model has over 1.2 million points, which is an impressive resolution given that the model is only a few inches in length on its longest axis. With debris created by hyper-velocity impacts having such complex shapes, it becomes clear almost immediately that the geometry is far too complex for any sort of meaningful characterization by a human without machine learning techniques. This issue is compounded by the fact that satellites comprise many exotic materials. The DebriSat program uses a simplified satellite to reduce costs, and it still comprises 14 different categories of materials where a category is primarily a way to determine how dense the material is [@cowardin2019updates] and not for each unique material. This also means that the shapes vary wildly since PCBs, wires, batteries, and the aluminum structure reacts entirely differently to a hypervelocity collision. The example in @fig-debris, and every piece of debris we have at our disposal, are from a hypervelocity impact involving aluminum sheet metal. A dataset of one material type is beneficial at this point since our dataset is still small; it makes sense to start our characterization with a single type of debris. + +![Sample Debris Scans](long.png){#fig-debris} + +Our data collection process gives us much more data than the traditional methods, so machine learning is required to make sense of the data. The first step towards processing our data once it has been tabulated into MATLAB is to perform a principal component analysis (PCA). Utilizing PCA has two significant benefits at this stage of the project in that it reduces the required size of our dataset and decreases the amount of computational power to process the dataset. Reducing our dataset’s dimensionality will allow us to derive what aspects of the orbital debris are truly important for the classification. This may be easy for a human to discern at this stage of the project, but the DebriSat database has almost 200,000 pieces of debris cataloged [@carrasquilla_debrisat_2019], so it is essential to start with an approach that is adaptable to big data and is robust enough to handle the metrics we are trying to classify that are very complex. Once PCA has reduced the dataset, it can be clustered using the k-means method. K-means is a method of categorizing large, complex datasets using pattern recognition. Depending on which insight we are looking for, k-means could produce a valuable result, or it could be a step to much more advanced machine learning methods of analysis. + +## Safety Considerations + +As with any research, safety is the number one priority, and steps need to be taken to ensure that every step of the project is approached as safely as possible. Lucky for this project, the only safety consideration is that the debris pieces can have sharp edges and need to be handled with care. Anyone interacting with the debris will be informed of this risk, and the debris will only be handled in the RPL lab where it is safely stored, and the room also has a first aid kit. That said, the risk of a cut from the debris is very low, and the severity would likely be on the magnitude of a paper cut. + +## Outreach Activities + +Outreach will be performed at the Prescott Regional SciTech Festival, which Embry-Riddle holds on March 5th, but this year will be held virtually. This is an excellent opportunity to share our research with professionals across the STEAM community. +Expected Project Outcomes +Orbital debris is pollution and is on a visible path towards reaching a point of no return where our access to space could be completely cut off for decades. Even a reduction in space activities could have a long-standing impact on military, commercial and civilian operations [@buchs2021intensifying]. This research will increase our understanding of the current orbital debris environment and enable further research to mitigate new debris by creating more advanced collision avoidance and manufacturing techniques for rockets and satellites that decrease the amount of debris generated. +The student researchers will also benefit from performing this project. First, students will learn how to collect a large dataset specifically to make it accessible by the code they write. Then a great deal of work will be spent on analyzing the data, which will rely on knowledge of solid mechanics, space mechanics, materials science, and machine learning to characterize the debris properly. + diff --git a/posts/2022-02-07-space-debris-characterization/long.png b/posts/2022-02-07-space-debris-characterization/long.png new file mode 100644 index 0000000000000000000000000000000000000000..1e559556218ea554f639612cf5ce0a2cc449aa61 GIT binary patch literal 25973 zcmce+gBA0HnZ z6O)*jkeZqjjf_Z7&xnhS4GIcMPDy=VSdx{MeLFueC=ivN_WpfdN^&wXGSbb}B_}(} z*T<)zsJyVaq~k+VaRtWH!@Z)c)Zfp?-_I{7Fd)F+AB93WIXPf!(YQKv-uqlfd)x5P z&|8IkyuGU{N^d3BW9x2ZRg@MXBf{-%ZGwV=(^69s-o=N9ho>YZR+N?bczbz!d(DjX zkMwm0BNNu%E-t_Pe;HlQ&W=dY^;(J6A*Bi72Gl@;hlq> zO;#rAR%mi!;w{@-ldY`~)(A^GTN`TxEITW+xFFBT!9F2AEvXE?G^@aFVFnrxh2)L zxTfy5mWHO*vBAFloUB`~4S(#(&B~Y@8OTga!PZo#lUZSGBdO5&=teI z?YM^KTPrsfXG*JT3(GNyF%dbrdByp;u1^$A#Nf6HYGH@4E0_T&_3Z5bE8etKk61s za;uxPEC>nVELf|v)YmUqbE}vPne09~N=iDi6l*)`#!MVdPIkKmiya&t9j&?D-bZVb zYjfQNYv*&^9k(n^YyfRrU0nj9TbhD^l#t;z;|K@{Z(jt2ECi(gnNf$Y+;3+_#FHj4>)g{z-<@U6uE+t+&iK}7qvfAQ__NP?>~>sp!%I2EqN z?ojbe2AzWwhlUftOA-yfz25lgzp@Y#AQ9D_{L7pb$+?a2U} ziyL1uvX+xxPjk&kqfGcN;|tX9ilakui4Pe`B1;w^9W~y*YA9$>9#TS8Hxo584Obcd%_9VStb8DGvU~xOq?CH|~de@R7j@{xZr23^%TbvRN`?`DV)z zn7CmLuUcuRKpSR^6)NW%H#bdEeC2BnX;FWTN{KG3Doe(`F(rS|JYa(49j%7i0Ql#B z4pz555z79Y@)nIW8tJQV!0P$7FhBgG8!Z;1@3K!0mwpBG{b+0p{BYy9ABt8rTZ%q^ z^K}bebrRKtwUvO#TNw?g7k_{*uRPgYFf<#>)4qT>+rZ`Zbn}wq##9*b4jd@%j}lgA zR9tDd&RMl?Ouo2d1Zarl;$~g!=}|WEXq7-)FEs#1sS`Nh3Y!1*MnbQ{2GDSCF<_Ui z#8NrgN}VDGryI>h>0TTTz$9o)o=~E*a0+?04b`uozg*d;|0g%A(i-t1BwzHShiIft zJN~(7L^*R^U%)_R(d^izHCtb;);O#b?%wDYcElvcFz_U}E*ELD zYA^q z1$xVtDQepmbJR?sV@WHFr#b`|f65fQfv;=UptfCTbSC?%J0SGPkCZ_dH0)zhQUmqpr#x$-|BcMhHKF)L9SY-FyJijy7 zedTM=J=PV)E1{2+;SW!ho*bK

9k7c4nw_0dDg>ucaJD{s#`baBeyDmKo1O55IIA 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 CzO;V; literal 0 HcmV?d00001 diff --git a/posts/2022-02-07-space-debris-characterization/references.bib b/posts/2022-02-07-space-debris-characterization/references.bib new file mode 100644 index 0000000..bbe0eea --- /dev/null +++ b/posts/2022-02-07-space-debris-characterization/references.bib @@ -0,0 +1,171 @@ + +@article{hill_measurement_nodate, + title = {Measurement of satellite impact test measurement of satellite impact test fragments for modeling orbital debris}, + url = {https://ntrs.nasa.gov/api/citations/20090019123/downloads/20090019123.pdf}, + author = {Hill, Nicole M.}, +} + +@online{interfluo_6u_nodate, + title = {6U {CubeSat} model {\textbar} 3D {CAD} Model Library {\textbar} {GrabCAD}}, + url = {https://grabcad.com/library/6u-cubesat-model-1}, + author = {{Interfluo}}, + urldate = {2022-04-15}, +} + +@misc{eberly_polyhedral_2002, + title = {Polyhedral Mass Properties (Revisited)}, + rights = {{CC} {BY} 4.0}, + url = {https://www.geometrictools.com/Documentation/PolyhedralMassProperties.pdf}, + author = {Eberly, David}, + date = {2002-12-31}, +} + +@article{cowardin_orbital_2022, + title = {Orbital Debris Quarterly News March 2022}, + volume = {26}, + url = {https://orbitaldebris.jsc.nasa.gov/quarterly-news/pdfs/odqnv26i1.pdf}, + number = {1}, + journaltitle = {{NASA} {JSC}}, + editor = {Cowardin, Heather}, + date = {2022-03}, + keywords = {Cosmos 1408}, +} + +@article{cowardin_orbital_nodate, + title = {Orbital Debris Quarterly News December 2021}, + volume = {25}, + url = {https://orbitaldebris.jsc.nasa.gov/quarterly-news/pdfs/odqnv25i4.pdf}, + number = {4}, + journaltitle = {{NASA} {JSC}}, + editor = {Cowardin, Heather}, +} + +@inproceedings{cowardin2019updates, + title = {Updates to the {DebriSat} project in support of improving breakup models and orbital debris risk assessments}, + volume = {883556}, + pages = {V001T10A012}, + booktitle = {Hypervelocity impact symposium}, + author = {Cowardin, Heather and Anz-Meador, Phillip and Murray, James and Liou, J-C and Christiansen, Eric and Sorge, Marlon and Fitz-Coy, Norman and Huynh, Tom}, + date = {2019}, + note = {tex.organization: American Society of Mechanical Engineers}, +} + +@inproceedings{carrasquilla_debrisat_2019, + title = {{DebriSat}: Generating a Dataset to Improve Space Debris Models from a Laboratory Hypervelocity Experiment}, + author = {Carrasquilla, Rafael E. and Fitz-Coy, Norman G.}, + date = {2019}, +} + +@article{buchs2021intensifying, + title = {Intensifying space activity calls for increased scrutiny of risks}, + url = {https://infoscience.epfl.ch/record/284971/files/IRGC%282021%29.%20Spotlight%20-%20Intensifying%20space%20activity%20calls%20for%20increased%20scrutiny%20of%20risks.pdf?version=1}, + journaltitle = {{IRGC}}, + author = {Buchs, Romain}, + date = {2021}, +} + +@software{noauthor_space_2022, + title = {Space debris by the numbers}, + url = {https://www.esa.int/Safety_Security/Space_Debris/Space_debris_by_the_numbers}, + publisher = {European Space Agency}, + urldate = {2022-01-27}, + date = {2022-01-05}, +} + +@inproceedings{moraguez2015imaging, + title = {An imaging system for automated characteristic length measurement of {DebriSat} fragments}, + booktitle = {International astronautical congress meetong}, + author = {Moraguez, Mathew and Patankar, Kunal and Fitz-Coy, Norman and Liou, J-C and Sorge, Marlon and Cowardin, Heather and Opiela, John and Krisko, Paula H}, + date = {2015}, + note = {Number: {IAC}-15-A6. 1.30288}, +} + +@inproceedings{liou2013debrisat, + title = {{DebriSat}–A planned laboratory-based satellite impact experiment for breakup fragment characterization}, + booktitle = {Sixth european conference on space debris. {ESA} communications}, + author = {Liou, Jer-Chyi and Fitz-Coy, N and Clark, S and Werremeyer, M and Huynh, T and Sorge, M and Voelker, M and Opiela, J}, + date = {2013}, +} + +@article{kessler_collision_1978, + title = {Collision frequency of artificial satellites: The creation of a debris belt}, + volume = {83}, + issn = {0148-0227}, + url = {http://doi.wiley.com/10.1029/JA083iA06p02637}, + doi = {10.1029/JA083iA06p02637}, + shorttitle = {Collision frequency of artificial satellites}, + pages = {2637}, + issue = {A6}, + journaltitle = {Journal of Geophysical Research}, + shortjournal = {J. Geophys. Res.}, + author = {Kessler, Donald J. and Cour-Palais, Burton G.}, + urldate = {2022-01-13}, + date = {1978}, + langid = {english}, +} + +@report{orbital_debris_research_and_developmentinteragency_working_group_2021_2021, + title = {2021 National Orbital Debris Research and Development Plan}, + pages = {20}, + institution = {Executive Office of the President of the United States}, + author = {{ORBITAL DEBRIS RESEARCH AND DEVELOPMENTINTERAGENCY WORKING GROUP} and {SUBCOMMITTEE ON SPACE WEATHER, SECURITY, AND HAZARDS} and {COMMITTEE ON HOMELAND AND NATIONAL SECURITY} and {NATIONAL SCIENCE \& TECHNOLOGY COUNCIL}}, + date = {2021-01-01}, + langid = {english}, +} + +@article{szeliski_computer_nodate, + title = {Computer Vision: Algorithms and Applications}, + pages = {979}, + author = {Szeliski, Richard}, + langid = {english}, +} + +@article{murray_analysis_2019, + title = {Analysis of the {DebriSat} Fragments and Comparison to the {NASA} Standard Satellite Breakup Model}, + abstract = {Existing {DOD} and {NASA} satellite breakup models are based on a key laboratory test, the 1992 Satellite Orbital debris Characterization Impact Test, which has supported many applications and matched on-orbit events involving older satellite designs reasonably well over the years. In 2014, the {NASA} Orbital Debris Program Office, in collaboration with the Air Force Space and Missile Systems Center, The Aerospace Corporation, and the University of Florida, conducted a hypervelocity impact test using a high-fidelity, mock-up satellite, {DebriSat}, in controlled and instrumented laboratory conditions to update and improve these models. {DebriSat} is representative of present-day, low Earth orbit satellites, having been constructed with modern spacecraft materials and techniques. The {DebriSat} fragment ensemble provided a variety of shapes, bulk densities, and dimensions. Fragments down to 2 mm in size are being characterized by their physical and derived properties. The data will inform updates to the current {NASA} Standard Satellite Breakup Model ({SSBM}), which was formulated using laboratory and ground-based measurements of on-orbit fragmentation events to describe an average breakup for spacecraft and upper-stage collisions and explosions. Although individual fragment collection and characterization is still ongoing, this paper will present the status of the {DebriSat} fragment data analysis including cumulative characteristic length and cumulative mass distributions, area-to-mass distributions, and characteristic length versus mass distributions. Additionally, comparisons to the {NASA} {SSBM} will be presented.}, + pages = {10}, + author = {Murray, James and Cowardin, Heather}, + date = {2019}, + langid = {english}, +} + +@collection{wertz_space_2011, + location = {Hawthorne, {CA}}, + title = {Space mission engineering: the new {SMAD}}, + isbn = {978-1-881883-16-6 978-1-881883-15-9}, + series = {Space technology library}, + shorttitle = {Space mission engineering}, + pagetotal = {1033}, + number = {v. 28}, + publisher = {Microcosm Press : Sold and distributed worldwide by Microcosm Astronautics Books}, + editor = {Wertz, James Richard and Everett, David F. and Puschell, Jeffery John}, + date = {2011}, + note = {{OCLC}: ocn747731146}, + keywords = {Design and construction, Planning, Space flight, Space vehicles}, +} + +@article{kervin_small_2005, + title = {Small satellite characterization technologies applied to orbital debris}, + volume = {35}, + issn = {02731177}, + url = {https://linkinghub.elsevier.com/retrieve/pii/S0273117704008816}, + doi = {10.1016/j.asr.2004.11.038}, + abstract = {There are challenges associated with optical observations of Earth-orbiting objects that are at, or near, the limit of detection using terrestrial space surveillance sensors. These challenges include observing small objects not just for statistical purposes, but also with enough frequency and accuracy to move them into satellite catalogs, to provide the capability to routinely observe and characterize smaller objects, and to develop the capability to observe the satellite positions with increased accuracy. Until recently, ground-based observers could easily have mistaken such small objects as debris. Given the current pace of small satellite development, it may not be much longer before operational spacecraft of even smaller size are launched. {AMOS} is currently developing techniques to observe and characterize these small spacecraft, and applying those techniques to orbital debris.}, + pages = {1214--1225}, + number = {7}, + journaltitle = {Advances in Space Research}, + shortjournal = {Advances in Space Research}, + author = {Kervin, P.W. and Africano, J.L. and Sydney, P.F. and Hall, D.}, + urldate = {2021-10-04}, + date = {2005-01}, + langid = {english}, +} + +@article{cowardin_optical_2020, + title = {Optical Characterization of {DebriSat} Fragments in Support of Orbital Debris Environmental Models}, + abstract = {The {NASA} Orbital Debris Program Office ({ODPO}) develops, maintains, and updates orbital debris environmental models, such as the {NASA} Orbital Debris Engineering Model ({ORDEM}), to support satellite designers and operators by estimating the risk from orbital debris impacts on their vehicles in orbit. Updates to {ORDEM} utilize the most recent validated datasets from radar, optical, and in situ sources to provide estimates of the debris flux as a function of size, material density, impact speed, and direction along a mission orbit. On-going efforts within the {NASA} {ODPO} to update the next version of {ORDEM} include a new parameter that highly affects the damage risk – shape. Shape can be binned by material density and size to better understand the damage assessments on spacecraft. The in situ and laboratory research activities at the {NASA} {ODPO} are focused on cataloging and characterizing fragments from a laboratory hypervelocity-impact test using a high-fidelity, mock-up satellite, {DebriSat}, in controlled and instrumented laboratory conditions. {DebriSat} is representative of present-day, low Earth orbit satellites, having been constructed with modern spacecraft materials and techniques.}, + pages = {16}, + author = {Cowardin, Heather M and Hostetler, John M and Murray, James I and Reyes, Jacqueline A and Cruz, Corbin L}, + date = {2020}, + langid = {english}, +} diff --git a/posts/2022-02-07-space-debris-characterization/uripropcomparison.svg b/posts/2022-02-07-space-debris-characterization/uripropcomparison.svg new file mode 100644 index 0000000..fcd2584 --- /dev/null +++ b/posts/2022-02-07-space-debris-characterization/uripropcomparison.svg @@ -0,0 +1,16 @@ + + + eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO19aVdcIluy9vfzK1xcp79e8u556C/vQkVFRVFcdTAwMDHF99zlQkhcdTAwMDZBQFx1MDAwNlx1MDAwMe/q/35jYylcdDmQQKaCVXR3VVx1MDAxNySZm8yIJ56IXHUwMDFkw//+tbf392DStf/+997f9rhcXGo1Kr3S6O//Mu+/2r1+o9OGj8j03/3OsFeeXHUwMDFlWVx1MDAxZlxmuv1///d/z75hlTvP79+yW/az3Vx1MDAxZfThuP9cdTAwMGb/3tv73+mfjutUXHUwMDFhpedOuzI9fPqB40JCo8W3Lzrt6VUxo1x1MDAxOHGOXGL7PKLRP4TLXHLsXG58XFwttfr27JPKdJ2PpXRNXHUwMDE0RveDZF3d5VBl3G/2ZtetNlqtm8GkNV1Vv1x1MDAwM79k9ll/0Os07dtGZVD/uFx1MDAwMY73/b7V61xma/W23Te/fvZDOt1SuTGYmN+AZu+W2rXpOWbvjOFfXHUwMDEyKYswLFx1MDAxOJWISqbo56fm+4RcbktRRihcdTAwMTdcbmkp9OLCXHUwMDBlOq1OzyzsX0xzxOVsaY+lcrNcdTAwMDbra1c+j1x1MDAxOfRK7X631IPHNTtu9PGTJbYkV3Alolx1MDAwNeFYzFZSt1x1MDAxYrX6wPxcdTAwMWNCLSy4hNVijVxiRWq2XHUwMDFje/pUsGbwm5Vi/PNcdTAwMTOziG66Mlx1MDAxM5Dpu8nRXHUwMDEx37fReTqXXHUwMDFkvz03z49cdTAwMWbTx/bnqsxcdTAwMDGtUeX47lx1MDAxNVx1MDAxNVx1MDAxZt+uhzJ//3B2Xn74+9fn/7P4fOqlXvfXc/i7b/7huFx1MDAxMeZcdTAwMWWkXHUwMDE2pdQpqXPSWur1OiPHQj6F62iYfD4kubPHo/ThMPegno6epfr787j//Nea59WF+yt2Vq8m8pMr9XB5S0uduojgvJWzrK49o+p+lvdcdTAwMTO9u2x33JAkgvM+NVx1MDAxM4fVw+JR/lwilUufJuhp1q6OXCI4byNt44NCtzC0XHUwMDFmeWv4tv9Wv8rw5ed9//JpIzXKXHUwMDE1m+1xavTw1nqqXVx1MDAwZXPPXHUwMDE381eZX8Dm6+WV+qN8vN1cdTAwMWbeqsSEJpv3h4NcXD7selvnuPb6mk5Xe6mjQeq5Q4uHJ8+RrHdgj1x1MDAwN17LZSepa31wiHOcnlx1MDAxN9Gom1x1MDAxM5mj17DLPUpfP94nxqc3XHUwMDE3teFDrX7Ruaq2J1x1MDAxYi33/bwnJ7lU8bzZt1vNPn9S+32SySbCndeFXHUwMDA0w26l9G5cdTAwMWFcZppSRomkSrC/XHUwMDFjq3CZprmb5bBLXHUwMDE0ceFnlyjgLFdEzbBvmVnKkJskvSOPzVx1MDAxYZKVu8P++fh1VNo2syQswlx1MDAxNSZIXHUwMDE5cGfwv1x1MDAxOYJcdTAwMWI7pcBcdTAwMTJpLlx1MDAwNFx1MDAxM5IhqfDs9phcdTAwMTMyJCxcdTAwMDZGg3OClZaaLSx0ZqZ4WTNU2cBMYVx1MDAwZrMkXWaIwktyiZeZoaPeUbJ9fqouXHUwMDEz2ebw4O5JPl1cXN7OmaHvs1PLRHv226qd9uCm8TZlTdSiXGZcdTAwMWVcdTAwMWaZPiWFXHUwMDFkXHUwMDBmylx1MDAxY3VUem60plwi8Pn2VFx1MDAwN2A5RbvvfCygk4329Ixk7tBkq1FrTyHMrs7rzqBcdTAwMDHs8PPjQcfx28pw6Vx1MDAxMpyulzY/oj1stWZS2WvUXHUwMDFh7VIr51hGoM7arVaj27c91Vx1MDAxNiPip7ZYSs64ZFx1MDAwZcVepre9uuSNu1KqQI6e26ODs3wvddzdNr0lXHUwMDE2l1qAamqmQVx1MDAwM+m81lx1MDAxMm5hrVx1MDAwMa441ZRyPae1VFx1MDAxM1x1MDAwYlx1MDAwM7uUXHUwMDA0dJYgwWlsasu4XHUwMDA1lFx1MDAxMlCVa0RcdTAwMWTw8KnDTFhcdTAwMThhJoBcdTAwMDNTolx1MDAxOWWLKlxy6ISQ1jusz2vyjO7gkqZw+eKVTa7y11x1MDAwN4/Ft1x1MDAwZbqLgL+syWfj5i/+fKtRyzRcdTAwMWIq08ToMJ/Kiv5cdMepXGLOOzp+alTU/YvcL7xe5I5cdTAwMDdDfjJuh71cdTAwMGaj3It4LPCjys0t28/3SmT81ElHSmB4IFx1MDAxOM7/Klx1MDAwN1x1MDAxNFxuMOK+UPiuYdjhTS6DwuDnvVx1MDAxM1DI4GMlgcJwqZTGXHUwMDBiUKikZWJcckJgjpHUUi6scyUo/Fe1WnVjIEZcdTAwMTZcXHv6TDUhkrFcdTAwMTmD/IRBgiyCseZAQFx0pki7XHUwMDFjbKIxw5jpmf3+cv96+lsj4S39Qak32G+0K412XHJcdTAwMGWa6ddHVClcdTAwMWRcIqwzZTbl4VRQLISFpFx1MDAxNFx0XHUwMDAy5lx1MDAwZeGZXGKY+1TqTmmuxEqBdihlXHUwMDFlM2P811x1MDAxMZ96/rfdrixfUzA3mFtcdTAwMTMmTFHgxYIyLVx1MDAxOGHYtShqMcTgv4phKTjhwrWmVqk/OOg8PzdcdTAwMDZwP7OdRnuwyKOm9zJp4KBul1xcLFx1MDAwYn6T72ddc7p58Zn9v72Z9k3/8fn//+e/PI/2XHUwMDE3cvNKuOR7dr6/nH+vjHdcdTAwMTJcdL349lx1MDAwN95cdTAwMTGQXHUwMDA0XHUwMDBlT0GHp341qqr2aaacXHUwMDE4P05ydyRzdfH8pLZccu8w4Fx1MDAxZFxisaBEgMulNJ+B1nj6XHUwMDE1oS3teM3AZFx1MDAxYVuUoC6Ol39osaxJiZTWJ3/EXHUwMDAyvZdUXHUwMDAwXHUwMDAxXHUwMDA3XGKgwDTtXHUwMDA09lxiL4rZT/zw41x1MDAxMKixXHUwMDEwhM2O/vlw93w9ar+ekDrJ53tcIlu/TJCTOveCloR5gIxcdTAwMDC4SI0kIFxiMGhcdTAwMTe2KKD4xESOlZBcdTAwMThoPl5cdTAwMGbvXG764DZXvn9RaTtxZDduXHUwMDFmSKIg/Vx1MDAxNoVcdMgkR0AywLNcdTAwMDC1c8Owe1x1MDAxNWsg3FwiXHUwMDFhfFx1MDAxOchcdTAwMDVcdTAwMGK0eVx0xzk2XHUwMDAzNoGwL7BhcKVcdTAwMTBcdTAwMDWXKfxcdTAwMTZJMGHdXHUwMDEyYFx1MDAwYiZyVFtcdTAwMDJYnMZUgLWXs4VMI1GKWGBXuKJCXHUwMDE5qcdcdTAwMGLLjIDHgVxyg9NrqbDhXHUwMDE5yvF4PpGMclx1MDAwYp6bVJowXHUwMDAx/rdHfEpcblx1MDAwMVx1MDAwZo/MPvn5uFx1MDAxNpoyTXFccu5cdTAwMWJcdTAwMTFw67SEy6HZU/6EXHUwMDEwbinCXHUwMDE4XHUwMDE4PSaF0lxuuUlTKGDjzzrHzk57p5fkovDYTlSb6LjmQy7BZ1wiXG4rYGrc6D9cdTAwMTWuRWFmXHUwMDAx6ilcdTAwMTBcbqw4w0rKuKncXCJyRFx1MDAwYnR+om5eiUUpj1xu8rSTqS1yOclcdTAwMDRfXHUwMDAx74J3XHUwMDE4tlx1MDAwNO+WXHUwMDEwOa2ExcBxXHUwMDA10FBCUz2PeFx1MDAxNElcdTAwMGKItFx1MDAwNJ+eY3hEiC+sNDpcIocskFx1MDAwNHBkXHUwMDE00Fx1MDAwZVBcdTAwMDPlXGK8z4Lx1JLANIByXHUwMDAzSGDC3ZE8anxweIi/XHUwMDEz9oV2YVx1MDAwMfswXCJcdTAwMTR8JIFcdTAwMTlHXHUwMDE4LshcdTAwMWSH/UJcdTAwMTmLXGIwj8CtgH8gjb+C01x1MDAwMcNcdTAwMDTwXHUwMDAz4Fx1MDAwM1BGUriJplx1MDAwMFJcdTAwMDRcdTAwMGZcdTAwMWSDgEqEXHUwMDAxluNGvvj4nb+cm1fCLeIrXCKf77Yjpf7pMFx1MDAxY3SbXHUwMDAwn1x1MDAwZe/Evlx1MDAxNO6b1/Xb/vXB/YFKlis3XCJ1cLtt2Fx1MDAwN6LFMeJcdTAwMTTUi4FJ5YLM3NR3L1x1MDAxNmOLalx1MDAwNc9cdTAwMDIkXHUwMDBmw8OY92I1scCpIeBuKCQlU/5bj5uiXHUwMDFm2HYkXHUwMDEw02BcZinFkmtcdTAwMGbiZ+w/XHUwMDAwtNSEMliNdlx1MDAwMMUv5odcdTAwMTGjIF1y2U7GYzVTzNh5dchcdTAwMGa6vDF8urg/TCa3ZCdjvZ1JXGZcdTAwMGZKKMpcdTAwMTkysVxiTkPvTF50vDcmkd+9/op9SlhUoI5cdTAwMDdtU1x1MDAwNvBcdTAwMWIpXHUwMDA151x1MDAxMnzK0FpcdTAwMWWM4juj5WhcdTAwMWGNXHUwMDEyklx1MDAxObOHXHUwMDFjavxcdTAwMWWrmkayjIBpSpTSsSk5NVx1MDAxN1x1MDAwMlx0xlx1MDAxMqRUUTBcdTAwMDJuJWfAik3wUjAwdFx1MDAwMD7aRXGwUJhJYyh3WMs/r7HivuJDvjRq0Zvc252s2OetrmC5/e/Ot9og0SjwvMFx4sDzulx1MDAxZdE6+39+TMKxP7RcdTAwMDAwSoCrgdBcblx1MDAwMOOdOeZccjD1Urk+7Nl+XHUwMDEws1x1MDAxOI2JMa9cdTAwMTZIWkBerfGosKGrxplXilx0X0B5XHUwMDBmjm9cdTAwMTD8XHUwMDE2y/NqiVx1MDAwN4BgwFx1MDAxNSq+Me5cdTAwMWRcdTAwMGJcdCBo7t1Poz/7nVx1MDAxZkb/qGWPXHUwMDFijy37/3nbfj33hU9rXobV2b1cdTAwMDBz/9yoVFq2n8VflkG+SFx1MDAwMmaLXGbU0p5dXHUwMDFlvIuph6qqgH0rkNMp81xyravHycZ9uTrJ2HZ+pPV5gl+z8+q26yp3SMW7dqLY1Fx1MDAxMTuu5TDoi/pcdTAwMDeWm5ktzJ1NY/dLXHUwMDAzbt6Rbjnd6Ezu6/nm43lvwuzM+Fx1MDAwYtKAY7V2QSokOCNcdTAwMDKtoELed2jrVYgvqJCKT4Wwh1xuuU1cdTAwMTg1TjLg1zdmqnyzXHRLwz1cdTAwMDTk/1JcdTAwMDO2xFx1MDAwMCxcdTAwMWGwjyVcdTAwMDaqnW+gnjv2r1x1MDAxNsNVXHUwMDE4gdpRzcPzzGB02VLFXHUwMDEzXGZbiFwiXHR+O5NYOG7Ie2xcdTAwMWVZjGmGiIlcdTAwMWMhXHUwMDFkXHUwMDFmzVx1MDAwNJZcdIuVRHKpXHUwMDE1UdojTX66XHUwMDE0ocCowUHAfYW7eksgXHUwMDAyn1x1MDAxMvEjdDZkaD5YY/bmNlx1MDAwMOGFMfB4hjVSRFx1MDAxMCyEe2NyQSDIuilcdTAwMTer7Fx1MDAxOSB4apIgXGZ2gCPj0bhWxSypiEaIgyxSRfBub0z6ivv02y5Bn53uL+ffa/F1jH1rXGa4QNMkv/BkI3j3eVx1MDAxZfPKvU6/n6iXXHUwMDA25fr3455U85ydo404+7/KdoVVSlx1MDAxZWSDeZBcco9EMclArFx0Qd9I2JdtKq5H2C9OS4XOQ5kkn5Lt/OTmRN0lMyHS3rcjPd2PsGPkn5xcdTAwMGWaK1x1MDAwMc5weOLgfYu2nDhINc/YOY6RsdNQjJ1wjFx1MDAxOVx1MDAwMUz9XHTWf72g03nqLr1/nnLe6tgp+1x1MDAxMlx1MDAxYuCKOX2sMVDzgpouMEn9tE8zXHQwKlYoklx1MDAwYs5W3ZbtpznVw3gx4MT8jdfmfVx1MDAxNTzKPDDWXHUwMDE2M1li4Fx1MDAxZmtTr+nOXHUwMDEwVFx1MDAxNFPCNdniXGJwsEGLp/Dsxn5cdTAwMTk+pU6f8H0tUXq7LNUvk+dPXHUwMDExbOSQQXOcXHUwMDFm3uCueMnh6lx1MDAxM3tuTs5LXHUwMDFinXfpfbgmh0dn1ct6PptWZPIwOeu+XHUwMDE2Q2yUvX+5WE9cdTAwMGauT1tcdTAwMTck2W12717F0b7uhbTsS9brR0Tu0sXeXbF0n385XHUwMDE4ldHbYL+pXjK7sk/mXHUwMDFiwjAlN35gaOpiXHRZJfxcdTAwMWX8VLZcdTAwMTNcZimbXHUwMDA3Q1x1MDAxYVx1MDAwMIabllx1MDAwMVNpIeOhctPThkriVVx1MDAwMUffXHUwMDBiiMBPNTgtXHUwMDFkpVx1MDAxZp/QKDkjnOBlKTQ/KYFwlaJcdTAwMTCsXHRTwONcdTAwMDQ1JdVSeaYpI1x1MDAwNbdXcFMkZ1xm0a8jVlxmUYyPLrMvufSNOlJHyYtTu5VMXfiFKFx1MDAwNDx4ztXUKSdaa9eiiKVcdTAwMTVmmkyzo1xi9VjTziRcdTAwMTD6yrl5uSV8drq/nH+vXHUwMDFlj5XEv/9cdTAwMDFcdTAwMTOIKq1F+L4lNrpp58lbXHUwMDFm3T7fXFw/4JE+uET1LUczZ1x1MDAxY2KKZlwiPjRcdTAwMTO/XG7ogE8rXHUwMDA199axXHUwMDA3M1x1MDAwYrq60ItcIqWQsyjqXHUwMDA3odeitkWLIECIKVNcXCNTdCW59igrY5YwOWRcdTAwMWGDe41cdP9cYvztZplZwl/AXHUwMDE2vlx1MDAxZlxuNvyCMcSZ/uLaxoH7jVx1MDAwNVLhOVCmUjp4eC3mioVcdTAwMTO79Jy8Opa3XHUwMDE4bTlqUI0tijhnJtFY0PnkQ8qpyV5k4Fx1MDAxNSNKNfLfxNm8uZHFtMn6MfKNhOZcdTAwMWWAgqVZXGYxXHUwMDA1RlJcbsmV4zZ9xEJcdTAwMTEzVTt0XHUwMDE5P7q+lmyiro5ygpf7T/Kavrxen2xJ8uHWND/yvdtb31xmXHQh3zBcdTAwMGZB1LST5Ct0XHUwMDAwXHRcdTAwMDbqLVVr5VfiXHUwMDFlt6Ozeb8jTpDGXFwsdXK2WYk/r/ElXHUwMDAxjDCkNfC8rp9cdTAwMWNtR1x1MDAxZal8yTll4Fx1MDAxNFx1MDAwMWKHXHUwMDBmu1x1MDAwNsertlRcdTAwMWRcdTAwMTfDrlx1MDAwMdw8RFx1MDAxZb93dTZcdTAwMDfFMmVqYLWp1pJ6JEJQbVx1MDAxMVx1MDAwMEchmFx1MDAxMlxiXFxld5FcdTAwMGU1KWNcdTAwMDD2v1OJYuhcYlx1MDAwM2Aqk9iIrKBCm0aLLlx1MDAxZc4taaLXpvGEVJKwNcNcdTAwMGJcdTAwMTel16t+MZu7Oj2qPN6lT5KplJ3yXpJkXHUwMDA07L0mkmFcdTAwMDRcdTAwMTdlriVRSyPFp6Ul0/pKXHUwMDEyhWvwPdFcdTAwMDVfXHUwMDExN6+ES7pXdFx1MDAxM3xcdTAwMDGMOSveXFzViVpcdTAwMTNcdTAwMDSXXGbvJ1xcXHUwMDE2ys19VJzcXHUwMDE281wiga8nXHUwMDA1+7Syv+VcYsZcdTAwMTZipYTEgGBcdTAwMGVU9Fx1MDAwZiOYulPQQL7F+Vx1MDAwZZEjVGg4cMVcblx1MDAxY9lcdTAwMDR7XHUwMDBisVx1MDAwMlx1MDAwZVx1MDAxZVx1MDAxZEFYLOlcdTAwMDM2p807lSnld3goMPCPXHUwMDE5OJKAXHUwMDE3sUAxJVx1MDAxNXf07FiKXHUwMDA1+cJwfHV4qy5F/qxzgsllq1Szt1x1MDAxY1x1MDAwYqjmpmWyXHUwMDAw+2ZyzFx1MDAxNpxcdTAwMGJixItIoHRcblGqWEDq58Z1ydzUwZpccmNOgWNKtlbUgCOTXHUwMDE06ORL3oCSOmkriZ7luHVyw/nFRaaft9FcdTAwMGX4XHUwMDFiXHUwMDFibPC6luaNZ/PBho1DXHUwMDEyflXP31x1MDAxYpHYoOyZOONZLswwXHJ1XHUwMDE4WWHYR7A12FLMXGJcZkiQgFx1MDAxY8pNQVwiglx1MDAwNsxA6Fx1MDAwNdFLXHUwMDFiXHUwMDE37Fx1MDAxZUDsZlx1MDAwYuboM1bC8PLA84ZcdTAwMDXKtSiH9K81YdwkSqlcdTAwMTVGMngns6xcdTAwMDFcdTAwMWVflzBcbi7rQo2XqSxmppuGyTl3bv1GX8PskaghxVwiQmCMTEhZ0Vx1MDAxZHZKvI24j9F2J5Betu290rjR/6fdXHUwMDA3Q9uogs1tXHUwMDBmWpN/2q1Ou2b39lx1MDAwNvVS+592Z1BcdTAwMDdcdPaubJY+9nzTLNMleZqLdn61XHUwMDFmXHUwMDEyqNDB1Vx1MDAxNMqXXHUwMDEzUNNcIpiSXHUwMDE10q8mucfng/IjTWVLrXztQKqbi9M3XHUwMDFmrd6qalxuvFhcdTAwMDJcdTAwMWS0N1x1MDAxMXk5hbv8XHUwMDE5iKrQpoBvizU5yIZ17Vx1MDAwNq7mXlx1MDAwZrvj0cHoXHUwMDAx02Peub72tmFTzVxyaVx1MDAxYTcop1xiPG9MyyVcdTAwMTcv/IFcdTAwMWNcdTAwMTfx5T05fuo2Xkt1dlx1MDAxNmuOqPdcdTAwMGb5XCKCgJVv01x1MDAxM6aUXHUwMDAw/rpCdDL4kWxpTVx0XixcdTAwMDOn7NuLSlx1MDAxOLh1XHUwMDAyi+/kXHUwMDA0m+ZcdTAwMWF4coLwRSX7cJ29bFx1MDAwYk7s7dDHVFayxFx1MDAxOC5cdTAwMWF8xyo3sObal6SDMWdspfaFhden5qSYPFe9S1VWXHUwMDE52a7Vz2520ppcdTAwMDc59l9gzTU2eb7fqoKbXHUwMDE488ZtoWir7kXjTtHS4LqQSzdqze015jEtN3pjXHUwMDFl03KXcVx1MDAwNO9cdTAwMGJ+XHUwMDExRyD+xdtcdTAwMDSZdvKKrFD7XHUwMDE2fO92hSRcdTAwMTD07SRcdTAwMDFTLTVcdTAwMTL0XHUwMDFi8y2+mSTYg7JlWV9KXHUwMDEwltjXRYLwa4Xrk1x1MDAwM+rr6XNFldRyhb5cdMfkrXBWrF+W+41+rn97/HRcItZLf1psXHUwMDE3XHUwMDFjn96xhY5cdDigy5ktpNysy5l3mzO3oy8kXHUwMDEyRFO+VPO+L1wiXHUwMDE3KHFTXHUwMDFk8Vx1MDAxMDZJ/EdcYpi9Ju2sXHUwMDAxXiZt+/t2Y/B0UuhkXG6ZRq58WkxXsoWvilx1MDAxNpOQ0sYtpqVUXHUwMDEym/7SXHUwMDA00/lcdTAwMDa7nJrccqE4PHFcdTAwMGVYO5/iLk0/XHUwMDE1XGZcYsyVNj3cY7NcdTAwMDdcXFraVDUzxEDqnDkgjjZFiFx1MDAwYkWJ6X3PXHUwMDE1oZy5h+BRbFx1MDAwNlxyO0Kl3kJ7ULpcdTAwMTleylR/clR5XHUwMDFkJvqvdbtQq8RtXHI4XHUwMDE1aC5cdTAwMTZcdTAwMWayQibOXGaTXHUwMDE4c9H8XHUwMDFlqHklPJ7l7IR/Of9eVb+Vg7S4u/BIJFexJudnZ6P0ydMpIcejfPtO9Fx1MDAxMyd8rdz2OPV7oeGfQpbm0rST52Y0w/xsN7lZ+DhQhZW0KGJUaMQ5XHUwMDE4j1A1b2D7hGmZpZYo7M3ZXHUwMDFiXHUwMDEwnMFxiyVfXHUwMDA3XHRZXHUwMDFmn+qbNye/+6PRsWu03/Nd+PJm2lx1MDAxYpBcdGLShVx1MDAxNV4lXHUwMDE3no1L+6I4yr698UqvUkdqcmL7XHUwMDA1itZT30qpX7cj1l9TccY0xYSa2PR8f2pF/JRsXHUwMDFitFx1MDAxOSyvXHUwMDEykjh2Rf9o82+tzdK/m5dcdTAwMTFcdTAwMTUzO2iFbl7P992zXFxcIqHw0fFBy1x1MDAxZe/XM1di67R5ycguTqUluFx1MDAxOVYmMXBcdTAwMTE0r95SmVx1MDAxNlx1MDAwMMQk8Vx1MDAxM6m4Q/m3QL2l6ZnsbNC2c8pN/yh3dMrt7Gqw2CxcZnPMlUThczZviq9PicRNa9K/6fa7XHUwMDA35fppx25tXHUwMDFi0V6i2oKYwlx1MDAwMU00M927XGLfIdXmbKrZu2y4/+j2XnS6LaR/41x1MDAwN2RuNqUrVIirc8ZRM39ZuHg9qT/XbypZVS1um3JcdTAwMDdHycBJtUwuqaCmWNBZfP1cdTAwMTEl09O6XCKsJXbWXkVcdTAwMWUmg2VKZK6FXHUwMDA0IZR4zIxBXHUwMDE2xcI0pDBzqFx0Z8SrUVx1MDAxNvxOgVx1MDAxOVlmy/+oc/xxMr8nOv22+1lGRc2Zv/VcdTAwMTZcXCklVkiaztk5XFwrVfqvR42XRuWWPPNMZq3OLt+p4MpSTIDHolxiXHUwMDEziM/vhCqmLNN2XHUwMDEzm87uXHUwMDE4xzhcdTAwMTWKK8vUWlxizFx1MDAxMWNcdTAwMDJcdTAwMTbkMWZcdTAwMGVZXHUwMDE4jkCcmT7yUiGQXHK3hpvKXCLtXHUwMDFjXHUwMDAw/0fDv0vDfVx1MDAxZun06+6HXHUwMDE5kYqDpPupuEFcdTAwMTJTqVx1MDAxZp6g0+vaYfu2ybPkopd9qtbKzV73fOuc7+VbXVx1MDAwMptcdTAwMGU38CxAzVx1MDAxN3VcXFpaaUKF6afFY0yQ5KZcdTAwMTDfuFx1MDAwMNLUijpcdTAwMWaTU8VcdTAwMTWoMNfThueKXG7mqsuEr1JcdFZcdTAwMDH90fBv13C/XHUwMDA3al5cdI9nXHUwMDE5kYZj7bvXhZnmTKNV6ibbZ+hayUKne3hzSnvM7lx1MDAwYjmpbJtcdTAwMTVfXGKWL7RdkFxufHSNXHUwMDA0eOCKalx1MDAxZGPn/HXC41RcYkxcdTAwMDRcdTAwMTZ/NPbbNfYrnGhcdTAwMTIws51NO7GQXHUwMDE1ot/4/qZYuuh2a7nDu1Eh+Zy/XHUwMDFll0Zbr51cdTAwMTZlYIiRlJpzvGBvXHUwMDA1MG7NXHUwMDExVppqodVWXHUwMDA1xIDjcyk5Vn/48++hq8y3g1x1MDAxMXBybC5cdTAwMWbeXHUwMDFkPi9m26yWTb++vYx0/1x1MDAwNVx1MDAxN9CB3rqskSXBbKaFJbRp5GVGXHUwMDEza+XImnvfh+ZcdTAwMTZhQGZcdTAwMTjDJqS9XcqLXHUwMDE4ooQ7iyv+KO9cdTAwMGZWXurfz1x1MDAxNJu+XHUwMDE0XG6t0s90f5Is0svjw9RzudOt3iVPaunO445pL1/YbNpcdTAwMWTdJVx1MDAxYVZtXHUwMDA2XHUwMDE1/lHdn6S6vr1cdTAwMDNcdPWtzcVIY6EoX2FcdTAwMWJZN6+fXHUwMDA37UY3kUleJ646JHeWKzS+tjJcdTAwMTCH1OB5qixcdTAwMTemXHUwMDEzqJhcblx1MDAwM5XXhpHbUcVcXFLFvM1nbMrFiWNoanjl8mtcbvjWOUDdg2RJtK9cbtlcdTAwMTSW/f3kwNmuZtYj1PHer1x1MDAwZYC7PVx1MDAwM1VRn8NDqWpgqVx1MDAwZcG+XHUwMDExJ8JMJzO5XHUwMDAyT1x1MDAwZX5CMVva9fRULeipXGbo87lxc1x1MDAxZK9cIl7sMeJUm8iidjYxXGKtr/GMJp30T4ejzIkqssfb19v7zFHz+L5cdTAwMWG27lRX8HNl+Fp+XHUwMDE5XHUwMDE3Ro3C7eBl1Dp/m7/KWvWs+CS9nz9IXFyVJ8+t9sN+i7VQu1x1MDAxYsF5g21O4HlddMVcdTAwMDNcdTAwMTQl+F+B+urb9UL77vBcdTAwMTKz9a/oKpVO3o/0Sy3retV1XG7Nh502rID4l1wiZY1tXHUwMDBmbfUqaHXe4V/aKsxAbtOjOXplXHKQI2pmd87XnK5cXIma6Zgr7XWqe+m2qSgt/dM+mFaamrcypX7/n3bS7nUqkzaco7x32CvV/mlcdTAwMWba7T48qr3/hiPg0Eap9U87qKTVXHUwMDExJIy0pnWJrVmsaY36t66lwc5cdTAwMDCGK32aI85WaZpxf8/O1cvT62RSfm132nlptztfloS1nuoudsvQXHUwMDAxY1x1MDAwMTY2ttTDO3VcdTAwMTdcdTAwMTiCOikmsUbeZbGxqS9C0uHir6W+6edupzfY65dL7bZd+adds0HGXHUwMDA3vclcdTAwMWUwz85eJpk7T+576iSja6rkuq1kQ600aptINVx1MDAwNfBZobio1Cqc7iuVI0yyxI1g5VwizyS3W6FcdTAwMTbZq1x1MDAwZag031ihvHrJejR4kFx1MDAxMlx1MDAxMcQo8m4vXHUwMDFkn0JcdKo3VKhDgPhXe1x1MDAwZs5cXNqr9jrPe/Rw71x1MDAwNmTWZ2DUus1cdTAwMWHW1Vwi/+VcdTAwMDWqTnBcdTAwMWKngEirVpxcdTAwMTC9QnGt7r+lqarg/ls1lz8qdW+Lpau1XHUwMDA2hH9fq1x1MDAwNlx1MDAxMVx1MDAxMKbBSrDS4/pcboQ9/T/m0ZNcdTAwMTFjhoBcdTAwMGL4dGiPTYVcYidcdTAwMTKtXHUwMDA1w1x1MDAwMWVhXFwrpfkqXHL5XHUwMDEyuIvOXHUwMDFleuP79uT+/HRcXCs3MqPEtolcdTAwMTGzJFKEXHUwMDEwIUFJpHN2sVx1MDAxMSt43zLzXonASmEqXHUwMDE2PFx1MDAxNs0soSWmWFx1MDAxMkVcdTAwMTT3Tz7dVOSoJFx1MDAxNqZcZn6AMJXZlHkkn1xuYmmtXHUwMDExmFx1MDAxMsIpQ9LdXHUwMDBlXHUwMDFjITjA/NIvXHUwMDE1x2lLkFx1MDAxOcY6XHUwMDEwnVx1MDAxM1x1MDAwYm44w1xcUY6F0vNcdTAwMDdcdTAwMDX17Fx1MDAxZPb2kt1ur1NyOrJcdTAwMGVM58jvXnxccsTPLXA9QsRcdTAwMDIqNE3vbM5Q+IDedeP5hY8v0k8pndqv3zwkxFx1MDAwM6Y7poqUWqZJXHUwMDA0uPNMUULF/N5cdTAwMTmImVx1MDAwNVqKXHUwMDEwRkSDLjLpq4ybtuqhnuE/4m6uTTlhZn7zzutbrleqNFx1MDAwNiCCxnFcdTAwMGVUPIy/WtW811x1MDAxNqhzXHUwMDAxXHUwMDEzL5x7Wq50XHUwMDEzXHUwMDEwXHUwMDFiwPHQStcss0H1RalGdvSMz0/T+ryk/NI2tyoyh52x7CmbotJSmkkqXHUwMDE0I1x1MDAxOPGN+tb/q1p6RIi79YpcdTAwMWJccjY7XFy/LiXdWuZ/yMeQLYBFOtcpynuX+rGjXltcdTAwMWTSOHw77lx1MDAxZb6103Y9lSzH2Fx1MDAxN3NZYL6Syjfzk6deSoreZP/8tNbst4/DXHUwMDA2uq9qzer49qabwDeZt/Jd5e6ukkrNX2WtXHUwMDAw+k2DPeZ0MX9af0qMrpuX/f1Telx1MDAxMsF5e+1qZphGT4nDRGN0U29fN8apYlx1MDAwNOc9YrhXLD9cdTAwMWNNLu9cdTAwMGJqWM/pWjtcdTAwMTnFXHUwMDA2xd0gdVO4KPXfjlx1MDAwZtFw0swnxupQR3DeXFwtQZPXk8Fj+la3erd3r/3jg9dcYs57z89uan2bpcntxT1NXHUwMDBmJ9mDfsjzujTAvfExnUezXHUwMDE2p6HEt9cwuKdcdTAwMWOt5KR6a8xuoOu8XHUwMDFiIVx1MDAxOLeQXHUwMDEz1jZCV79cdTAwMDRcdTAwMDO2XHUwMDFjXT3qUamZvKmXZ9vGh6dLRdGL6dDQ4z/GnjSGxrTZsYRcdTAwMTIscpvx2jyG+adcdTAwMDOAuyo4Z86eXHUwMDAyy3Qtm3061KfpVKXc2rfL9u04k1x1MDAxN375XHUwMDAw26ZrXHUwMDBiaVx1MDAwMcCB3ynMVFx1MDAxN/RGqlx1MDAxNieRIUIwkya4bUTm16yFg9596+74qcZcdTAwMDZHqHV0lcyNkz5b9tG0oPa+YFg7m5Z9+/LxpXTYlXbuxEyAXHUwMDFjJlwisLNPw1xuXHUwMDFkXFxnuv3D4kNN1ruDTGf/OYLz2k+teuptfHXbvE3lytnGsVx1MDAxNCNcdTAwMTLBeZOv9/jucXD8djWhp+TlPFN6PGxFwY/uXGLtodPB3bNEJzc3T1x1MDAwZlVZuYqCJ95eTPDt3Vm92aixXHUwMDA27yfGI36+XHUwMDE1PMY/2C6IXHUwMDE0WlJcdTAwMTI+Nlx1MDAxM6xL21xyrlx1MDAwYvFQbnpxzHBtMVj0jURGYyYwXHUwMDFjv6z/7M7ymMmX8pglhGCRx0w24DG+8Vx1MDAxOM2UYGZYdGhNO1x1MDAxY/Sq2YPj47poMDUs3MlGi/h1w9g2TVvIQlx1MDAxNsJyxmO2l8dwM+rQjL/dSlx1MDAxZbOfPy5cdTAwMWZ3e32RvSy/3FZcdTAwMDdcdTAwMGZcdTAwMGaXmXycPMb7giHtYbE6YvsnuJAo3FxcXj9cdTAwMWS8XHUwMDFjXHUwMDFkknxcdTAwMTQ8pnueOEg8XHUwMDFk5K/62X5hP/2WO1x1MDAxZL3dR3DeXHUwMDA3lVwiLNFHpHzSSfdZrpd+rFxmXCI479n1K7FcdTAwMWZVWl/Uzoc3RzeTVk1lt5xcdTAwMTdIqpWQXHUwMDE0r1DuXHUwMDE0KJvbjVZcdTAwMGJcdTAwMDXFkllIzlx1MDAwMshbxFx1MDAwYjBcIopcdOFMjv9hxODtS4nBXHUwMDEyXHUwMDEzu0hcZt7WJlx1MDAwNlx1MDAxNPmOXHUwMDA1wsrUiFx1MDAxM7lCXHUwMDEydbXQvc4lb06TXHUwMDBmvbery3TuPrlv2zuha0RTS2CGKEdKyvnp5NFu22BeKj1W3XpHlYUlZ1RxLZjGxCO7zP+QzzgjY1x1MDAxY2P+jWpcdTAwMThkcOJycDcwZIHn3WAjJFx1MDAxMlx1MDAwM1x1MDAxOaS32Lee3+TRaMVWYfTZir6UKlmuNu8y+dubTPpcIpH2XHUwMDFi57U7eisxs1xi41x1MDAxZlx1MDAxZqst1ltFmGm8t7Sb3ffobVxcgb9cclx1MDAwMlPfQvC/e0NwTTzAZvLRnO+4NM+p0lx1MDAxY+fva/T0qKmG2Vxuf8rBXHLdeTxQSFtcdTAwMWYm3DDcjZpnxYtcdTAwMDeEXHUwMDE4S46+Mc5cdTAwMTaotzElXHUwMDFlxJUgXHUwMDEwV8B+XHUwMDAzhz9+PPBvO4CVMtVyMvzGZbX7/JLGqJwq106u0qxzcyjuTndcdTAwMWZcdTAwMGaUsH59gDXRajN/Ok484EQz88iWta//XHUwMDFlOIhr/y6uvJ5ccuJpkaitb69cdTAwMTDMXHUwMDAzXCJfJlwiw8QqMyeC3Zet1lqsLKLMWEaCsEByvlx1MDAxYr1cdTAwMTDKYlRrJqhpM4g36kbvq7eSW5RcdTAwMTJMTKtwoFCOXHUwMDA2S7NkZWwxLk1cdTAwMTdSZFx1MDAwNo0j97hGKUxcdTAwMWaiXHUwMDE43fFN+pHMR8VcdTAwMTb6kfh1XHUwMDFkXHROvdlzdFx1MDAxZLFcYsFm3ibDgF2m5sXRYOejXHUwMDBmiYXUtFx1MDAwM1x1MDAwZlx1MDAxY4OR5OKjceysL0moVijBcae5RWGOqKCKUEyFSXFcdTAwMTXuRbnWsDNcdTAwMWSNfGXWvFx1MDAxMi5xnZ3uL+ffq+OWor5RREVcdTAwMTloKuXhnY9gL2vrYYtIkziNhdZ6XHUwMDExtrRl5lx1MDAwNlHQOyaQ2iw/0Vx1MDAxN7ZMLZUg0rSW4sjBXHUwMDAyZ1x1MDAwNU7SYoSZ+lx1MDAwZlxyglwi3Fx1MDAwNU5KXHUwMDEx7pxC+PtgVlx1MDAwMlmCMM5cdTAwMDGNJICEdHTN9MQspMFcZq1cdTAwMDdZwSG3+TUpgqhCQsBN0JLon1x1MDAwNVk+8mpeLkmNXG6wXGJcdTAwMGWoTzFcdTAwMGVcdTAwMDGQ7fA8K9ht3W7Aklx1MDAxNjUyjDiRxPmbp4AlqaWl1NpUSpq27nHxLFA2rjCmXHUwMDFhdM6rgVx1MDAxYmCmxeGZSFwizYw+4lx1MDAxYVx1MDAxNVx1MDAwMPphZjFL8jtcdTAwMTItXHUwMDAwXGKppDLeozQ1aURcdTAwMDVcdTAwMTMtpCWTa1x1MDAxMq3gwOD8ojTWmFx1MDAwMdtcdTAwMDKGrjDCNHBR8PQxc61pd1DMT4jNyyW+kcGYc660a1x1MDAwMlxu8JC5KoilQ45cdTAwMDLd7e2GMVx1MDAxM0Axk8swk9q5+/nBu4Q28EYxKFxu8q9o3ZB3wTPGiHCwVEIpj247hFx1MDAxMlx1MDAwYsgwXHUwMDE1QP6Q0M5+8Z/NQlx1MDAxOMVcXCzt6/xDYcykXCKasTVcdTAwMWNuXHUwMDAyQ7PH6OMvUrIu+Vxujme6XHUwMDE3xZRcdTAwMDTGXHUwMDBlXHUwMDBik7NJVD6LUozvMIz5XHSxebnFNypcdTAwMWPDzp5cdTAwMGauTHCgveDTrlx1MDAxMK1cdTAwMGVOXHUwMDA32HYgQ0xcdTAwMDFcZphRxJItxKs1PFx1MDAwMCwlXHUwMDA1XHUwMDFkXHUwMDAxQVx1MDAxM5tlq1x1MDAwNvAx0HRcdTAwMDVcdTAwMGZcdTAwMTmsXHUwMDE5Y544xi3j0Sug0VxiLIyLjlx0XHUwMDBljpNgXCK+3ewvh7HghKw9Z4RJw00jwH0wXHUwMDEwZ/AzPMjYmqBcdTAwMTU+yKVhXHUwMDAxXFwqZGKos22NXHUwMDFm4S76SKd5JVxcglx1MDAxOVx1MDAxZNHi/m1EQFeNPq4w6iY4P2G7XHUwMDAxXG5cXHKliJnyxE2YcVx1MDAxZaCUttCU8TOgYmAq4lx1MDAwMihcdTAwMDaUXHUwMDFhXHUwMDAxSVx1MDAwMMLNuVdgnlx1MDAxM4uD+lx1MDAwMYJyolx04W6mRVx0x3P9JbdccqLYvOpFXG5RgFxm3MTmXHRcdTAwMDO+qYhcdTAwMDfRWlx1MDAwZqJCXHUwMDA3tWBcdFxcwlx1MDAwM1x1MDAwMFdcdTAwMTTkgEn0s2Jaflx1MDAxMmpeXHS3cEbGo1x1MDAxOPHnUVxu7IFiK9TTXHUwMDA1JjdsPUhcdEWxNlEhR1vRd4xSllx1MDAxNnDfwV80kb54IEpYJndcdTAwMWFcXDmgyYI4mNosXG6PLKyR1pJLk46E3Cn1sFIk5dJhej9cdTAwMTOhTPqqXHUwMDA24o/halx1MDAwMFx1MDAxMqFi3tFGsMxWXHUwMDAwwkRcdTAwMTCJMTBucEN+XHUwMDE0RPlJqHklXFzCXHUwMDE5XHUwMDFkQiHfXHUwMDA2tVx1MDAxOHFcdTAwMDX/kSt4esGZXHUwMDFj245RXHUwMDFjXHUwMDExs89gdnX0XCJIaVx1MDAwYpvcJZOWhMFcdTAwMTWPXHKlMDbNuCSsR1MvXCIlLIRMxZWEz7lzWPfHkF5KXGKe2979fVAqXHUwMDAxMGXaVVwiIDJAqMDpotE5eytEqMA7UWafTHDzi1x1MDAxNVx0sYadwilPXHUwMDE5NS+XdEZcdTAwMDVT4D37+3uUXHRcdTAwMTOOWoFKXHUwMDA1J8htN0wpXHUwMDBiXHUwMDEzXHUwMDA17q+QXFw5eli/XHUwMDBmI6ZcdTAwMTZoPjKpNEpgtLiuKFx1MDAwM+tSwHOmgknikdGAXHRoXCLIXHUwMDA3w8C5tWlcdTAwMTXsXCJTUlx1MDAwMJlcIjLGXHUwMDA2TF+OU8HNXHUwMDAz5iFCUSo0XHUwMDA2JiPNVptXVkP8MKU4XHUwMDA3Plx1MDAwYq5cdTAwMWVGYPPIz1xuS/lcdKl5ucUzOpxC/uOqXHUwMDEwMdPYw1x1MDAxN29cdTAwMDZnyW8/SiGwxUCkJFtIYzAwxcCDQNSMkYyrXGbMSIDZ+zW+XG5nnHqkeTNugeEw6UVImpmDiyDFTDNZhbc4iSFWjFx1MDAwMrMqTJ9p8Fx1MDAwMVx1MDAwNFaO8VxuX+bywVwi4Fx1MDAxOZrIMoK1gMeHPHb7dlx1MDAxYqQ8RdS8XHUwMDE2hTMyiFwi/q1nMFx1MDAxMGZJ9Cqh8+CSwa1cdTAwMDcpLVx1MDAxNFhcYoqYc9DEO0hcdTAwMTFcdTAwMGJcdTAwMDPDolx1MDAwMmlDLmNcdTAwMDMpgUGyKZJcdTAwMTTYnCNRYlx1MDAwNlLColx1MDAxMtahXHUwMDE0leBYSNfmnkkgUlqiXHUwMDE4W+ptL0xcdTAwMDFAyGmqXCJ4XCJcXCsmXCJjUiuEzlx1MDAxOTNTn01cYplcdTAwMDFMUvzTmJS3iJpXwiWd0TEp5dtUXHUwMDE3K8w1RWiFgvrgTlx1MDAwN9tcdTAwMGVTXHUwMDA0XHSNXHUwMDA0XHUwMDA3vs7JQkm9QpZJXHUwMDBlp0KaTKv4YGpatk8p11x1MDAxY+TcI1x1MDAwN1x1MDAwMUyHJZgwXHUwMDAxcs00IU7n82OHT1x1MDAxMkKk2OIshDhxSlx1MDAxOUdcdTAwMGJcdTAwMWUhV9qkioRcdF5HnoWAtEnRYoJcdTAwMTJcdTAwMDI276dxKW9cdTAwMTE1r4RbOlfEqcDKXl+golJTudJsoad2KY/azVx1MDAxNC+nyYA27q7KLYR3XHUwMDAyp+g012DWqWqhXHUwMDE3+M607JFcdTAwMTKoIFx1MDAxMmg7O/bENlxuYMc6XHUwMDAxpfjZ3cWZPGmoWqn1mDw+eEmq61xiznt1sf/4WKDjZvot00CVm+vh5X4uivV2a1x1MDAxNJdOXHUwMDBip+iaZV+ua4ft/ZqI4Lwo0XtcdTAwMWRcbjq+O9C3vfP2uF3ot0tcdTAwMTGcN7+vb99emu1x/SGNysflR57sPIY7r0tcdTAwMDV8bO3aeEt9/VfCkFwiYoX5UVx1MDAxOXmDalx1MDAwN/wkn1x1MDAxZlx1MDAxNs/U0+VV++Sx/Fx1MDAwM+B2hzotXHUwMDExipGEXHUwMDAzfq9OS1x1MDAxYnQuXG487651cMqydvXxuHPSYUdcdTAwMDco2z88yqWOosDb5MHzQSOVz41H91x1MDAwM8G7R2/FTHtcdTAwMWPBeVx1MDAwYs/Dcv3tXHUwMDEy9S/OXHUwMDEzR2eFySE5zI9cIjhvv8Am+DirbTXCw8LTebpdfLajsL+35HpUvNlv3pWySdJ9XHUwMDFkl06U2n5cdTAwMWOXXGZcdTAwMWNd5/DgpTPJiuqJsXyhd3XNW40nfd5IXHUwMDFj/1x1MDAwNCDfnVx1MDAxNllcdTAwMTJcdTAwMTGNJYmxVOpPh6zNz1x1MDAxYldLbHF4MlSvqYvD4aG87tVsvV84jVx1MDAwMsefXo7I/W3+oauL9cZFJ3H+emxH4Zck6lpcdTAwMTZcdTAwMGbJy1XrXHUwMDEyXHUwMDFmNot8YOfOo2iR9EjOXHUwMDFlT1Shp26auXG/ki90xp1KXHUwMDE0dr3WXHUwMDE5Z8roakyz14ly6u32+mWwLXyc+GdcdTAwMTBqTJlpk1x1MDAxNFx1MDAxZchcdTAwMWKj+/vToU7nri6fXnqprqhcdTAwMWai+k9cdTAwMDDyneltZlqiaInElo5oiqv5/q41TXu8Ok9OXG7pTInz2/NB6+Xgvnzfj2K9rc716JyeXHUwMDFl6OtKt9y9U0fJfieKXGJcYjnKXGavJ7X28eP5LXlI5zpcdTAwMTejm1xizvtSKlxiO9HqoLtcdTAwMGXNjO7Sr7dHw6MvRMZp43lcdTAwMGZYJNJ/Ulx1MDAxZJKCmoq58LD4cHGQOiNPV+WT+qh/mjp/bpxcdTAwMTV2XHUwMDA0XHUwMDE2KbZcdTAwMWMzXHUwMDEy0HwukEbcwobqS2RQicWTslx1MDAxOGLgy2zVn4FcdI5NXHT5LtZ7LG7B+HyyM5s7vs9v4dt/Of9eo9uj/5YzJ6bygurwO87BzPXnaGw8zVx1MDAxZUNorFx1MDAxNJaDT1x1MDAxMeZq9ii1XHUwMDEw8Ei3uNnjXHUwMDFhXG7s29YjMFx1MDAwMLLn3Fx1MDAwNpba+VI/qtIzXHUwMDEwKVx1MDAxMi6RiVx1MDAwZTqYf1JcdTAwMWSwaY0wU+G3JYKjlz9cdTAwMDc74imjXG6BXHUwMDFkWM4vk7vAXHUwMDAzm+ZRmmxzz4xcYtEjeFx1MDAxZmxcdTAwMGU9pj2BKKhcdTAwMGYy2Ujao4vYT0VcdTAwMGa30ERcdTAwMDdcdTAwMWb+XHUwMDEz5M1cdTAwMDAhrflcbn3Dgvewf1x1MDAwZXp8m69cdTAwMDCGw/psYY819ch1M+0sXHUwMDE4cWYo/mD0XGJOWppHXHUwMDBmyajpxMOFSUOjv1x1MDAxMXq4hSY69MD+XHUwMDExWNNgWlx1MDAxMC3Ch1x1MDAxYYJTVXZcdTAwMTc+XHUwMDA0XHUwMDE3liF9XHUwMDFmWVx1MDAxMfF061on1EC51FQ45/r9XHUwMDAxi387le+HY0OEXHUwMDExXGb/eVx1MDAxNVx1MDAwMmvTXHUwMDAzXYT3QoJzXHUwMDFkflx1MDAwZVx1MDAxMMTTciaKXGJcdTAwMDZcdTAwMTZcdTAwMTRcdTAwMTFcbl/+LZAhtFx1MDAxM5JYiGEoXHUwMDE5purnZ2BFnCFcZv/Js0gqIY0uhFx1MDAwNo/gXHL2n1x1MDAwM1x1MDAxZd/GXCJChDBcdTAwMTihXFxcdTAwMGJcdTAwMWPjjPotQo/QXHUwMDAx0MRvXHUwMDFjw/ieXHUwMDEwhjIzoYhcXGHkTPAm9Fx1MDAxZvT4glx1MDAxMFx1MDAwNteweMT1b1x1MDAwMVx1MDAxZcFZR1x1MDAwYuDxu4Yw4oxgXHUwMDA0cFx1MDAwZlx1MDAwMU+az3HgpVx1MDAxMYzAVJPdRVx1MDAwZkWU9Un8uIinqCNcdTAwMWG/XHUwMDA1IF9cdTAwMTH+ezCPVcBDIceL0N9n7zVGvyWgn1x0Z1xca0RJeOxcYk7g/THYgbco0UpzysBXIb/FTmtoN4VYZqxcdTAwMDSS2jRcYlwipvernfhZnUW+LKsroMMtQINcdTAwMDLhXHUwMDBiP1suuFDr5+DDt5FcdTAwMGJtRkZ8JKdcdTAwMTPl3lplzHRt+k12S1ZIzFBmlCzRhEtcZv/TYTrf/lxmqEgsikx00OGf1UWQJJRJRcJDR3Ct/s+BjnimjERcdTAwMTJcdTAwMTIlXHUwMDAygYY6+9v9YOxYJS3DXHUwMDE5XHUwMDEwpfRHdaz+vqQu5T/8QzNqSnpX2FBcdO7IsbvoISm1qOP1bY7J0qhcdTAwMDbBilx1MDAxM4x/j3zyXHUwMDE1wGMupoH177NcdTAwMTdcdTAwMWJnPjn1XHKIXHUwMDEyTiQ2Ld5DQ0dwXHUwMDEziJ9cdTAwMDNcdTAwMWTfhVx1MDAxY66QXHUwMDA2wZRcdTAwMTOt8S5O4YjRR2GWmdKAudZEXHUwMDFhL07zPyGNvfX8XHUwMDEyvPj2bLuEcI3NRNjQ8Fx1MDAxMNxb4Fx1MDAwZjzEXHUwMDFl0UBIXHQhXHTewdmH8eZpzIU0XHUwMDE4XHUwMDBmM1x1MDAxNvFnQEWMXHUwMDExXHJ/5CBIgUKxXHUwMDE1mnVcdTAwMDTX3v9BjvhcdTAwMDNcdTAwMWFcdTAwMWMj8tvsnayUpTGX4oV/XHUwMDFmpyS+gFx1MDAwNsWzPFuXU0K5RGKVjuzBXHUwMDFkXFy3XHUwMDE5O1x1MDAxOFx1MDAwMbdcdTAwMGaEi2NtKtHmRy5cdTAwMGLBLVxmb1x1MDAwYmJcdTAwMDY70Vxyk8tcdTAwMTUpa2x7YFx1MDAwN7PMw5WMTvdqXHUwMDFjSvaJXHUwMDFkXG5cdTAwMDGEaaanoG5G4rlohzRjVVx1MDAxMN/FXHUwMDA2XHUwMDE3XHUwMDFiRy3MZFx1MDAxOVx1MDAwNppcdTAwMDP2lZo5do6msVx1MDAwMVxiXHUwMDExXG6lWOtogEW6Qu/l4Pz+uXpcXFx1MDAxYib9XGJcdTAwMGVlhEozKlx1MDAxMIxcZlfyZ1x1MDAxMVx1MDAxYz9cdTAwMTk1L5d0Rlx1MDAwN1LcP+pKzNg1tMKgwOD2pNtcclJgJDAmZqiyxswxw/Wd4GiLaK2UkNqM9I1cdTAwMDekqKXB1Vx1MDAwNzuMhFx1MDAwMI7iMSiQXCKLac6Q2TdSSrqbkVEtOTKjJH9cdTAwMGVGrVLmXHUwMDAyyIRcdNOKIalcYiE0TLAkcpDCXHUwMDEyLL/kXHUwMDA0XHUwMDExbaZU/bCIjZ+QmpdLPCNDKefOz2K2vEKMs1Vy1oKbb243SilcdTAwMGJRqaVWXHUwMDE0bjBe6JlcYvfflK9cdTAwMDBcdTAwMDJcdTAwMTmkQps1v1xygCksXHSwXHUwMDAxXHUwMDAwSY2VXHUwMDAzXGZn2fLCYlx1MDAwMKjAcM3UVUmQO+OVXHUwMDAz8aNmXGbtz1x1MDAwMapcdTAwMTVaXG5xXHUwMDBlMouV0NOBmqH2j6OFqSlKXHRBXHUwMDE1hZ9qpoGhn7WH7Sej5pVwi+dX4JTpa4RcdTAwMTEwjPA+X3DPyu1cdTAwMDYqaUlcdTAwMDZeglZcYmkp56dwaYTBI0emXHUwMDE0lVx1MDAxMa34ZnvYXHUwMDAxQFx1MDAwNVx1MDAwMsBAwjFTmHAyw5rZJjazwD3FSjGTUuuM9n16fcjMn1Ix9un+cqBcblx1MDAxZFx1MDAxN0KWxFx1MDAwMu5cdTAwMDCYXHUwMDFiXHUwMDAxjleo1mdR41x1MDAxNFx1MDAwNaiEJ2S8T2LG1P8wmPKRUPNKuIQzJEw1QtzjTyzr2eXBu1x1MDAxMi9osFx1MDAxOeg568+8MJ7KwbY+1I1gMyVaYFx1MDAxMMj3Pz2Gc1KGLGf2XHUwMDAzXHUwMDEyXHUwMDAxQLJcdTAwMGVcdTAwMTaU7Vxuq/glXHTWS+X6sGd/JTx6Y8XZ2ev+cGRXaq3s6STdedo/y5ekU/wja1x1MDAxNf3ZX4krNF/Y4djkYL5hSjPaS2suQtmsldpSxzXIJK5BV3E17N+gLbVLXHUwMDFjVmnH/Fx1MDAwYiPeRoeqcPeYr3Zyl1x1MDAxN/1cdTAwMWGq5sjTXG5cdTAwMTihlVx1MDAwNU6upJoyRSWet/KCXG5rhlx1MDAwNtLRXHUwMDE58Fx1MDAwMzKwXHUwMDA0d0ZzQtX7n9jDl1x1MDAxMCZcdTAwMGLCcVx1MDAxYVx1MDAxOTFiLLKHbSBV24JcdTAwMWFcZjGkKfdGXHLhWyZCXHUwMDA0eP86XFzz35Cg8SGJXHUwMDAze7zQvP5dkMt2YTxsXnfPaqeqVUze3Gbr1ZdodcX7XHUwMDEyLl2ZW+G7mnBEg9SEMYtL49q//6ncauI551pFrFxiXGaVXHUwMDExl39cdTAwMTTBQ1x1MDAxMYBcdTAwMDRcdTAwMDFJc/afd+qBf/xcdTAwMWNjwDUmQo2HX1SEOda5jPhPhVx1MDAwZZaffobbONj7p31uXHUwMDBm6qWWuaGz59lpXHUwMDBmblx1MDAxYW/vxVx1MDAxOHPvXHUwMDFllZ5cdTAwMWItc+vp3Fx0k61Grf0u+e2B3Zvzd1x1MDAwN41yqfV5wHOjUnFcdTAwMWGHx1Lfnvb5XHUwMDA3MZ2ds1xmlyrBu710XHUwMDE429PpNWqNdqmVm/9ps1x1MDAxZuapqlx1MDAwMVx1MDAxNsvxyKRv61xyk7JspnOH3/Iopy7Q5WFcdTAwMWQ1m/qVnpyop8xRdjf2ZbnjkOkmXHUwMDA3idaSRmPlP1RcdTAwMTBJZeKeaFnmxteBw0p8V90/8lxc/yXbeOtlXHUwMDFil6Q6SufPTr153lSZl9LHZVx1MDAxNtH7glx1MDAxMVlEb2PnXHUwMDE45oF8++pcdTAwMTFcdTAwMDTqp5RcYl9cdTAwMDdcdTAwMTZ867Zbw1x1MDAxNsaMXHUwMDEyZX1ogflzs6FGi1x1MDAwNjssXfjQKGaSobZYncLHvVY2bebyyXJ52IPT7l32XHUwMDFlXHUwMDFig3/a2V6n26mVXHUwMDA2RoKXWLLNrOOCXHUwMDFkXFxiQFx1MDAxNu3g/LL3nKvewFwiuqnNrPRcbunpVlP4sPVrZp/I56LdOiP3vetkv985ONmNRpjBXHUwMDBlrdTzhiyeNIAw5tI5oPhj/Fx1MDAwZdFcdTAwMDSh5f33t9Q+tlx1MDAwNXt9uGqpYvG+mr9NXHUwMDFln7xk1Eb2MabTLjO73lx1MDAxN/wqsyt8q6AolVx1MDAxMnGxQi5P8K3bZi1cdTAwMGX2t1x1MDAxNXxcdTAwMWGdXHUwMDE2r2SEpUtthdLwWPjSwqefa4azPbvSKFx1MDAxYvvVXHUwMDA3v7Xa6e1Vh4Nhz4Z/NKYuX9/TXHUwMDFhXHUwMDBiOXemyKzxXHUwMDEy27VojZ2rd6z9Y+VcdTAwMWJYZO3bSoFcbiyoRCvUXHUwMDFk7De64qn5VkzluofX+SeVKGSGxVx1MDAxZFHleVx1MDAxZlWjmHxU5bsxNaPQXHUwMDBiPqo7qUWbrTrhXGbhbZ02XHUwMDA3XHUwMDE5y8tcdTAwMDHPlbI4f9tcdTAwMWNcdTAwMWafpLPtop2s+1xmO17FXHUwMDA278ppl5l271x1MDAwYn6Vade+pl1QivEqXHUwMDAzb4Lv3HbDwbxDrTH6XG6HWi5cdTAwMDdcdTAwMDePucCKXHUwMDAyXHUwMDE4gIFfluL2c227PShbluVpv2dcdTAwMTVG0drvJaZu0X7/WmGgSvpme1x1MDAxMf/5l9K06Fx1MDAxM3JcdTAwMDWlxCfp/fxB4qo8eW61XHUwMDFm9lushdrdr1VKvJ5SXCIxb6PVhjZ6MYfjQ1xyXHUwMDFkMYqA7ohSUsSI31x1MDAxNMvYXHUwMDEysYBcdTAwMTRcdTAwMTDnPVx1MDAwZpWI9dY5QN2DZEm0r1xu2Vx1MDAxNJb9/eRg3zNccsrx3nvWXHUwMDEz+Ugu8sm8inNw7aJGRJpcdTAwMTOl/Fx1MDAwZf/L+ffK5tNRXG7qqnIxLfJcdTAwMThaobfQw/lcYjVqhYPkg1x1MDAxOJyP8j27+dD0m1W7oG/fZjqdIb6p6VRcdTAwMWJp6aBXave7pVx1MDAxZciyW1OZ8qhdcVtIZVqZKr+ux3FcdTAwMTk2aqpcdTAwMTZmtmpNp7VThpXsXHUwMDFkllx1MDAwNqW9RnsvUyrXwVx1MDAwNu2d26VeXHUwMDFiXHUwMDE0cC/b6Nrzk86jsH2DTtfP8M3pq9tLXHK73Hfl+uuXdv5d6nZvXHUwMDA2cPs+Mezv14Y92vdcdTAwMDDt6vRlvj9VTaNcdTAwMDO2eVx1MDAxMv/7n7/+839cdTAwMTmiWVx1MDAxMSJ9 + + + + YesNoFlexible?InspectFLEXIBLEYesNoOne axissignificantlylonger thanothers?Bent Plateetc...Moment of InertiaCenter of MassAerodynamic DragDensity / Materialetc...Import scannedgeometry into MATLABDerive data from 3D ScansOur ApproachTraditionalApproachxyzImpact LethalityAccurate OrbitPropogationPredictions for future impactsetc...Process Data in Machine Learning Pipeline \ No newline at end of file