From 8a807628f5edf70a4351b1350c838d10090ad3b2 Mon Sep 17 00:00:00 2001 From: gpucce Date: Sat, 22 Jan 2022 13:22:26 +0100 Subject: [PATCH 01/12] move functionality --- Manifest.toml | 1439 ++++++++++++++++++++++++++++++++++++++++ Project.toml | 1 + src/JavisViewer.jl | 36 + src/Livestream.jl | 19 + src/javis_viewer.jl | 359 ++++++++++ test/Manifest.toml | 1467 +++++++++++++++++++++++++++++++++++++++++ test/Project.toml | 12 + test/runtests.jl | 42 ++ test/stream_local.gif | Bin 0 -> 95518 bytes test/viewer.jl | 123 ++++ 10 files changed, 3498 insertions(+) create mode 100644 Manifest.toml create mode 100644 src/Livestream.jl create mode 100644 src/javis_viewer.jl create mode 100644 test/Manifest.toml create mode 100644 test/Project.toml create mode 100644 test/runtests.jl create mode 100644 test/stream_local.gif create mode 100644 test/viewer.jl diff --git a/Manifest.toml b/Manifest.toml new file mode 100644 index 0000000..e4f9ff2 --- /dev/null +++ b/Manifest.toml @@ -0,0 +1,1439 @@ +# This file is machine-generated - editing it directly is not advised + +julia_version = "1.7.1" +manifest_format = "2.0" + +[[deps.ATK_jll]] +deps = ["Artifacts", "Glib_jll", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "58c36d8a1beeb12d63921bcfaa674baf30a1140e" +uuid = "7b86fcea-f67b-53e1-809c-8f1719c154e8" +version = "2.36.1+0" + +[[deps.AbstractFFTs]] +deps = ["ChainRulesCore", "LinearAlgebra"] +git-tree-sha1 = "6f1d9bc1c08f9f4a8fa92e3ea3cb50153a1b40d4" +uuid = "621f4979-c628-5d54-868e-fcf4e3e8185c" +version = "1.1.0" + +[[deps.Adapt]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "af92965fb30777147966f58acb05da51c5616b5f" +uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" +version = "3.3.3" + +[[deps.Animations]] +deps = ["Colors"] +git-tree-sha1 = "e81c509d2c8e49592413bfb0bb3b08150056c79d" +uuid = "27a7e980-b3e6-11e9-2bcd-0b925532e340" +version = "0.4.1" + +[[deps.ArgTools]] +uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" + +[[deps.ArnoldiMethod]] +deps = ["LinearAlgebra", "Random", "StaticArrays"] +git-tree-sha1 = "62e51b39331de8911e4a7ff6f5aaf38a5f4cc0ae" +uuid = "ec485272-7323-5ecc-a04f-4719b315124d" +version = "0.2.0" + +[[deps.ArrayInterface]] +deps = ["Compat", "IfElse", "LinearAlgebra", "Requires", "SparseArrays", "Static"] +git-tree-sha1 = "ffc6588e17bcfcaa79dfa5b4f417025e755f83fc" +uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" +version = "4.0.1" + +[[deps.Artifacts]] +uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" + +[[deps.AssetRegistry]] +deps = ["Distributed", "JSON", "Pidfile", "SHA", "Test"] +git-tree-sha1 = "b25e88db7944f98789130d7b503276bc34bc098e" +uuid = "bf4720bc-e11a-5d0c-854e-bdca1663c893" +version = "0.1.0" + +[[deps.AxisAlgorithms]] +deps = ["LinearAlgebra", "Random", "SparseArrays", "WoodburyMatrices"] +git-tree-sha1 = "66771c8d21c8ff5e3a93379480a2307ac36863f7" +uuid = "13072b0f-2c55-5437-9ae7-d433b7a33950" +version = "1.0.1" + +[[deps.AxisArrays]] +deps = ["Dates", "IntervalSets", "IterTools", "RangeArrays"] +git-tree-sha1 = "d127d5e4d86c7680b20c35d40b503c74b9a39b5e" +uuid = "39de3d68-74b9-583c-8d2d-e117c070f3a9" +version = "0.4.4" + +[[deps.Base64]] +uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" + +[[deps.Bzip2_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "19a35467a82e236ff51bc17a3a44b69ef35185a2" +uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0" +version = "1.0.8+0" + +[[deps.CEnum]] +git-tree-sha1 = "215a9aa4a1f23fbd05b92769fdd62559488d70e9" +uuid = "fa961155-64e5-5f13-b03f-caf6b980ea82" +version = "0.4.1" + +[[deps.CSSUtil]] +deps = ["Colors", "JSON", "Markdown", "Measures", "WebIO"] +git-tree-sha1 = "b9fb4b464ec10e860abe251b91d4d049934f7399" +uuid = "70588ee8-6100-5070-97c1-3cb50ed05fe8" +version = "0.1.1" + +[[deps.Cairo]] +deps = ["Cairo_jll", "Colors", "Glib_jll", "Graphics", "Libdl", "Pango_jll"] +git-tree-sha1 = "d0b3f8b4ad16cb0a2988c6788646a5e6a17b6b1b" +uuid = "159f3aea-2a34-519c-b102-8c37f9878175" +version = "1.0.5" + +[[deps.Cairo_jll]] +deps = ["Artifacts", "Bzip2_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "JLLWrappers", "LZO_jll", "Libdl", "Pixman_jll", "Pkg", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Zlib_jll", "libpng_jll"] +git-tree-sha1 = "4b859a208b2397a7a623a03449e4636bdb17bcf2" +uuid = "83423d85-b0ee-5818-9007-b63ccbeb887a" +version = "1.16.1+1" + +[[deps.Calculus]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "f641eb0a4f00c343bbc32346e1217b86f3ce9dad" +uuid = "49dc2e85-a5d0-5ad3-a950-438e2897f1b9" +version = "0.5.1" + +[[deps.CatIndices]] +deps = ["CustomUnitRanges", "OffsetArrays"] +git-tree-sha1 = "a0f80a09780eed9b1d106a1bf62041c2efc995bc" +uuid = "aafaddc9-749c-510e-ac4f-586e18779b91" +version = "0.2.2" + +[[deps.ChainRulesCore]] +deps = ["Compat", "LinearAlgebra", "SparseArrays"] +git-tree-sha1 = "54fc4400de6e5c3e27be6047da2ef6ba355511f8" +uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" +version = "1.11.6" + +[[deps.ChangesOfVariables]] +deps = ["ChainRulesCore", "LinearAlgebra", "Test"] +git-tree-sha1 = "bf98fa45a0a4cee295de98d4c1462be26345b9a1" +uuid = "9e997f8a-9a97-42d5-a9f1-ce6bfc15e2c0" +version = "0.1.2" + +[[deps.Clustering]] +deps = ["Distances", "LinearAlgebra", "NearestNeighbors", "Printf", "SparseArrays", "Statistics", "StatsBase"] +git-tree-sha1 = "75479b7df4167267d75294d14b58244695beb2ac" +uuid = "aaaa29a8-35af-508c-8bc3-b662a17a0fe5" +version = "0.14.2" + +[[deps.ColorTypes]] +deps = ["FixedPointNumbers", "Random"] +git-tree-sha1 = "024fe24d83e4a5bf5fc80501a314ce0d1aa35597" +uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f" +version = "0.11.0" + +[[deps.ColorVectorSpace]] +deps = ["ColorTypes", "FixedPointNumbers", "LinearAlgebra", "SpecialFunctions", "Statistics", "TensorCore"] +git-tree-sha1 = "3f1f500312161f1ae067abe07d13b40f78f32e07" +uuid = "c3611d14-8923-5661-9e6a-0046d554d3a4" +version = "0.9.8" + +[[deps.Colors]] +deps = ["ColorTypes", "FixedPointNumbers", "Reexport"] +git-tree-sha1 = "417b0ed7b8b838aa6ca0a87aadf1bb9eb111ce40" +uuid = "5ae59095-9a9b-59fe-a467-6f913c188581" +version = "0.12.8" + +[[deps.Compat]] +deps = ["Base64", "Dates", "DelimitedFiles", "Distributed", "InteractiveUtils", "LibGit2", "Libdl", "LinearAlgebra", "Markdown", "Mmap", "Pkg", "Printf", "REPL", "Random", "SHA", "Serialization", "SharedArrays", "Sockets", "SparseArrays", "Statistics", "Test", "UUIDs", "Unicode"] +git-tree-sha1 = "44c37b4636bc54afac5c574d2d02b625349d6582" +uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" +version = "3.41.0" + +[[deps.CompilerSupportLibraries_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" + +[[deps.ComputationalResources]] +git-tree-sha1 = "52cb3ec90e8a8bea0e62e275ba577ad0f74821f7" +uuid = "ed09eef8-17a6-5b46-8889-db040fac31e3" +version = "0.3.2" + +[[deps.CoordinateTransformations]] +deps = ["LinearAlgebra", "StaticArrays"] +git-tree-sha1 = "681ea870b918e7cff7111da58791d7f718067a19" +uuid = "150eb455-5306-5404-9cee-2592286d6298" +version = "0.6.2" + +[[deps.CustomUnitRanges]] +git-tree-sha1 = "1a3f97f907e6dd8983b744d2642651bb162a3f7a" +uuid = "dc8bdbbb-1ca9-579f-8c36-e416f6a65cce" +version = "1.0.2" + +[[deps.DataAPI]] +git-tree-sha1 = "cc70b17275652eb47bc9e5f81635981f13cea5c8" +uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" +version = "1.9.0" + +[[deps.DataStructures]] +deps = ["Compat", "InteractiveUtils", "OrderedCollections"] +git-tree-sha1 = "3daef5523dd2e769dad2365274f760ff5f282c7d" +uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" +version = "0.18.11" + +[[deps.Dates]] +deps = ["Printf"] +uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" + +[[deps.Dbus_jll]] +deps = ["Artifacts", "Expat_jll", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "97f1325c10bd02b1cc1882e9c2bf6407ba630ace" +uuid = "ee1fde0b-3d02-5ea6-8484-8dfef6360eab" +version = "1.12.16+3" + +[[deps.DelimitedFiles]] +deps = ["Mmap"] +uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab" + +[[deps.Distances]] +deps = ["LinearAlgebra", "SparseArrays", "Statistics", "StatsAPI"] +git-tree-sha1 = "3258d0659f812acde79e8a74b11f17ac06d0ca04" +uuid = "b4f34e82-e78d-54a5-968a-f98e89d6e8f7" +version = "0.10.7" + +[[deps.Distributed]] +deps = ["Random", "Serialization", "Sockets"] +uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" + +[[deps.DocStringExtensions]] +deps = ["LibGit2"] +git-tree-sha1 = "b19534d1895d702889b219c382a6e18010797f0b" +uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" +version = "0.8.6" + +[[deps.Downloads]] +deps = ["ArgTools", "LibCURL", "NetworkOptions"] +uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" + +[[deps.DualNumbers]] +deps = ["Calculus", "NaNMath", "SpecialFunctions"] +git-tree-sha1 = "84f04fe68a3176a583b864e492578b9466d87f1e" +uuid = "fa6b7ba4-c1ee-5f82-b5fc-ecf0adba8f74" +version = "0.6.6" + +[[deps.EllipsisNotation]] +deps = ["ArrayInterface"] +git-tree-sha1 = "d7ab55febfd0907b285fbf8dc0c73c0825d9d6aa" +uuid = "da5c29d0-fa7d-589e-88eb-ea29b0a81949" +version = "1.3.0" + +[[deps.Expat_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "b3bfd02e98aedfa5cf885665493c5598c350cd2f" +uuid = "2e619515-83b5-522b-bb60-26c02a35a201" +version = "2.2.10+0" + +[[deps.FFMPEG]] +deps = ["FFMPEG_jll"] +git-tree-sha1 = "b57e3acbe22f8484b4b5ff66a7499717fe1a9cc8" +uuid = "c87230d0-a227-11e9-1b43-d7ebe4e7570a" +version = "0.4.1" + +[[deps.FFMPEG_jll]] +deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "JLLWrappers", "LAME_jll", "Libdl", "Ogg_jll", "OpenSSL_jll", "Opus_jll", "Pkg", "Zlib_jll", "libass_jll", "libfdk_aac_jll", "libvorbis_jll", "x264_jll", "x265_jll"] +git-tree-sha1 = "d8a578692e3077ac998b50c0217dfd67f21d1e5f" +uuid = "b22a6f82-2f65-5046-a5b2-351ab43fb4e5" +version = "4.4.0+0" + +[[deps.FFTViews]] +deps = ["CustomUnitRanges", "FFTW"] +git-tree-sha1 = "cbdf14d1e8c7c8aacbe8b19862e0179fd08321c2" +uuid = "4f61f5a4-77b1-5117-aa51-3ab5ef4ef0cd" +version = "0.3.2" + +[[deps.FFTW]] +deps = ["AbstractFFTs", "FFTW_jll", "LinearAlgebra", "MKL_jll", "Preferences", "Reexport"] +git-tree-sha1 = "463cb335fa22c4ebacfd1faba5fde14edb80d96c" +uuid = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341" +version = "1.4.5" + +[[deps.FFTW_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "c6033cc3892d0ef5bb9cd29b7f2f0331ea5184ea" +uuid = "f5851436-0d7a-5f13-b9de-f02708fd171a" +version = "3.3.10+0" + +[[deps.FileIO]] +deps = ["Pkg", "Requires", "UUIDs"] +git-tree-sha1 = "67551df041955cc6ee2ed098718c8fcd7fc7aebe" +uuid = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" +version = "1.12.0" + +[[deps.FileWatching]] +uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" + +[[deps.FixedPointNumbers]] +deps = ["Statistics"] +git-tree-sha1 = "335bfdceacc84c5cdf16aadc768aa5ddfc5383cc" +uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93" +version = "0.8.4" + +[[deps.Fontconfig_jll]] +deps = ["Artifacts", "Bzip2_jll", "Expat_jll", "FreeType2_jll", "JLLWrappers", "Libdl", "Libuuid_jll", "Pkg", "Zlib_jll"] +git-tree-sha1 = "21efd19106a55620a188615da6d3d06cd7f6ee03" +uuid = "a3f928ae-7b40-5064-980b-68af3947d34b" +version = "2.13.93+0" + +[[deps.FreeType2_jll]] +deps = ["Artifacts", "Bzip2_jll", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] +git-tree-sha1 = "87eb71354d8ec1a96d4a7636bd57a7347dde3ef9" +uuid = "d7e528f0-a631-5988-bf34-fe36492bcfd7" +version = "2.10.4+0" + +[[deps.FriBidi_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "aa31987c2ba8704e23c6c8ba8a4f769d5d7e4f91" +uuid = "559328eb-81f9-559d-9380-de523a88c83c" +version = "1.0.10+0" + +[[deps.FunctionalCollections]] +deps = ["Test"] +git-tree-sha1 = "04cb9cfaa6ba5311973994fe3496ddec19b6292a" +uuid = "de31a74c-ac4f-5751-b3fd-e18cd04993ca" +version = "0.5.0" + +[[deps.GTK3_jll]] +deps = ["ATK_jll", "Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "FriBidi_jll", "Glib_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Libepoxy_jll", "Pango_jll", "Pkg", "Wayland_jll", "Xorg_libX11_jll", "Xorg_libXcomposite_jll", "Xorg_libXcursor_jll", "Xorg_libXdamage_jll", "Xorg_libXext_jll", "Xorg_libXfixes_jll", "Xorg_libXi_jll", "Xorg_libXinerama_jll", "Xorg_libXrandr_jll", "Xorg_libXrender_jll", "at_spi2_atk_jll", "gdk_pixbuf_jll", "iso_codes_jll", "xkbcommon_jll"] +git-tree-sha1 = "b080a592525632d287aee4637a62682576b7f5e4" +uuid = "77ec8976-b24b-556a-a1bf-49a033a670a6" +version = "3.24.31+0" + +[[deps.Gettext_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Libiconv_jll", "Pkg", "XML2_jll"] +git-tree-sha1 = "9b02998aba7bf074d14de89f9d37ca24a1a0b046" +uuid = "78b55507-aeef-58d4-861c-77aaff3498b1" +version = "0.21.0+0" + +[[deps.Ghostscript_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "78e2c69783c9753a91cdae88a8d432be85a2ab5e" +uuid = "61579ee1-b43e-5ca0-a5da-69d92c66a64b" +version = "9.55.0+0" + +[[deps.Glib_jll]] +deps = ["Artifacts", "Gettext_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Libiconv_jll", "Libmount_jll", "PCRE_jll", "Pkg", "Zlib_jll"] +git-tree-sha1 = "a32d672ac2c967f3deb8a81d828afc739c838a06" +uuid = "7746bdde-850d-59dc-9ae8-88ece973131d" +version = "2.68.3+2" + +[[deps.Glob]] +git-tree-sha1 = "4df9f7e06108728ebf00a0a11edee4b29a482bb2" +uuid = "c27321d9-0574-5035-807b-f59d2c89b15c" +version = "1.3.0" + +[[deps.Graphics]] +deps = ["Colors", "LinearAlgebra", "NaNMath"] +git-tree-sha1 = "1c5a84319923bea76fa145d49e93aa4394c73fc2" +uuid = "a2bd30eb-e257-5431-a919-1863eab51364" +version = "1.1.1" + +[[deps.Graphite2_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "344bf40dcab1073aca04aa0df4fb092f920e4011" +uuid = "3b182d85-2403-5c21-9c21-1e1f0cc25472" +version = "1.3.14+0" + +[[deps.Graphs]] +deps = ["ArnoldiMethod", "Compat", "DataStructures", "Distributed", "Inflate", "LinearAlgebra", "Random", "SharedArrays", "SimpleTraits", "SparseArrays", "Statistics"] +git-tree-sha1 = "d727758173afef0af878b29ac364a0eca299fc6b" +uuid = "86223c79-3864-5bf0-83f7-82e725a168b6" +version = "1.5.1" + +[[deps.Gtk]] +deps = ["Cairo", "Cairo_jll", "Dates", "GTK3_jll", "Glib_jll", "Graphics", "JLLWrappers", "Libdl", "Librsvg_jll", "Pkg", "Reexport", "Serialization", "Test", "Xorg_xkeyboard_config_jll", "adwaita_icon_theme_jll", "gdk_pixbuf_jll", "hicolor_icon_theme_jll"] +git-tree-sha1 = "09afd81dd7d80ae0dc6f489fd21560725e45497e" +uuid = "4c0ca9eb-093a-5379-98c5-f87ac0bbbf44" +version = "1.2.0" + +[[deps.GtkReactive]] +deps = ["Cairo", "Colors", "Dates", "FixedPointNumbers", "Graphics", "Gtk", "IntervalSets", "Reactive", "Reexport", "RoundingIntegers"] +git-tree-sha1 = "ccb07a5fa45e43ac83b6795c9e218d6a802c93d8" +uuid = "27996c0f-39cd-5cc1-a27a-05f136f946b6" +version = "1.0.6" + +[[deps.HTTP]] +deps = ["Base64", "Dates", "IniFile", "Logging", "MbedTLS", "NetworkOptions", "Sockets", "URIs"] +git-tree-sha1 = "0fa77022fe4b511826b39c894c90daf5fce3334a" +uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" +version = "0.9.17" + +[[deps.HarfBuzz_jll]] +deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "Graphite2_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg"] +git-tree-sha1 = "129acf094d168394e80ee1dc4bc06ec835e510a3" +uuid = "2e76f6c2-a576-52d4-95c1-20adfe4de566" +version = "2.8.1+1" + +[[deps.Hungarian]] +deps = ["LinearAlgebra", "SparseArrays"] +git-tree-sha1 = "371a7df7a6cce5909d6c576f234a2da2e3fa0c98" +uuid = "e91730f6-4275-51fb-a7a0-7064cfbd3b39" +version = "0.6.0" + +[[deps.IfElse]] +git-tree-sha1 = "debdd00ffef04665ccbb3e150747a77560e8fad1" +uuid = "615f187c-cbe4-4ef1-ba3b-2fcf58d6d173" +version = "0.1.1" + +[[deps.ImageAxes]] +deps = ["AxisArrays", "ImageBase", "ImageCore", "Reexport", "SimpleTraits"] +git-tree-sha1 = "c54b581a83008dc7f292e205f4c409ab5caa0f04" +uuid = "2803e5a7-5153-5ecf-9a86-9b4c37f5f5ac" +version = "0.6.10" + +[[deps.ImageBase]] +deps = ["ImageCore", "Reexport"] +git-tree-sha1 = "b51bb8cae22c66d0f6357e3bcb6363145ef20835" +uuid = "c817782e-172a-44cc-b673-b171935fbb9e" +version = "0.1.5" + +[[deps.ImageContrastAdjustment]] +deps = ["ImageCore", "ImageTransformations", "Parameters"] +git-tree-sha1 = "0d75cafa80cf22026cea21a8e6cf965295003edc" +uuid = "f332f351-ec65-5f6a-b3d1-319c6670881a" +version = "0.3.10" + +[[deps.ImageCore]] +deps = ["AbstractFFTs", "ColorVectorSpace", "Colors", "FixedPointNumbers", "Graphics", "MappedArrays", "MosaicViews", "OffsetArrays", "PaddedViews", "Reexport"] +git-tree-sha1 = "9a5c62f231e5bba35695a20988fc7cd6de7eeb5a" +uuid = "a09fc81d-aa75-5fe9-8630-4744c3626534" +version = "0.9.3" + +[[deps.ImageDistances]] +deps = ["Distances", "ImageCore", "ImageMorphology", "LinearAlgebra", "Statistics"] +git-tree-sha1 = "7a20463713d239a19cbad3f6991e404aca876bda" +uuid = "51556ac3-7006-55f5-8cb3-34580c88182d" +version = "0.2.15" + +[[deps.ImageFiltering]] +deps = ["CatIndices", "ComputationalResources", "DataStructures", "FFTViews", "FFTW", "ImageBase", "ImageCore", "LinearAlgebra", "OffsetArrays", "Reexport", "SparseArrays", "StaticArrays", "Statistics", "TiledIteration"] +git-tree-sha1 = "15bd05c1c0d5dbb32a9a3d7e0ad2d50dd6167189" +uuid = "6a3955dd-da59-5b1f-98d4-e7296123deb5" +version = "0.7.1" + +[[deps.ImageIO]] +deps = ["FileIO", "Netpbm", "OpenEXR", "PNGFiles", "QOI", "Sixel", "TiffImages", "UUIDs"] +git-tree-sha1 = "816fc866edd8307a6e79a575e6585bfab8cef27f" +uuid = "82e4d734-157c-48bb-816b-45c225c6df19" +version = "0.6.0" + +[[deps.ImageMagick]] +deps = ["FileIO", "ImageCore", "ImageMagick_jll", "InteractiveUtils", "Libdl", "Pkg", "Random"] +git-tree-sha1 = "5bc1cb62e0c5f1005868358db0692c994c3a13c6" +uuid = "6218d12a-5da1-5696-b52f-db25d2ecc6d1" +version = "1.2.1" + +[[deps.ImageMagick_jll]] +deps = ["Artifacts", "Ghostscript_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pkg", "Zlib_jll", "libpng_jll"] +git-tree-sha1 = "f025b79883f361fa1bd80ad132773161d231fd9f" +uuid = "c73af94c-d91f-53ed-93a7-00f77d67a9d7" +version = "6.9.12+2" + +[[deps.ImageMetadata]] +deps = ["AxisArrays", "ImageAxes", "ImageBase", "ImageCore"] +git-tree-sha1 = "36cbaebed194b292590cba2593da27b34763804a" +uuid = "bc367c6b-8a6b-528e-b4bd-a4b897500b49" +version = "0.9.8" + +[[deps.ImageMorphology]] +deps = ["ImageCore", "LinearAlgebra", "Requires", "TiledIteration"] +git-tree-sha1 = "5581e18a74a5838bd919294a7138c2663d065238" +uuid = "787d08f9-d448-5407-9aad-5290dd7ab264" +version = "0.3.0" + +[[deps.ImageQualityIndexes]] +deps = ["ImageContrastAdjustment", "ImageCore", "ImageDistances", "ImageFiltering", "OffsetArrays", "Statistics"] +git-tree-sha1 = "1d2d73b14198d10f7f12bf7f8481fd4b3ff5cd61" +uuid = "2996bd0c-7a13-11e9-2da2-2f5ce47296a9" +version = "0.3.0" + +[[deps.ImageSegmentation]] +deps = ["Clustering", "DataStructures", "Distances", "Graphs", "ImageCore", "ImageFiltering", "ImageMorphology", "LinearAlgebra", "MetaGraphs", "RegionTrees", "SimpleWeightedGraphs", "StaticArrays", "Statistics"] +git-tree-sha1 = "36832067ea220818d105d718527d6ed02385bf22" +uuid = "80713f31-8817-5129-9cf8-209ff8fb23e1" +version = "1.7.0" + +[[deps.ImageShow]] +deps = ["Base64", "FileIO", "ImageBase", "ImageCore", "OffsetArrays", "StackViews"] +git-tree-sha1 = "d0ac64c9bee0aed6fdbb2bc0e5dfa9a3a78e3acc" +uuid = "4e3cecfd-b093-5904-9786-8bbb286a6a31" +version = "0.3.3" + +[[deps.ImageTransformations]] +deps = ["AxisAlgorithms", "ColorVectorSpace", "CoordinateTransformations", "ImageBase", "ImageCore", "Interpolations", "OffsetArrays", "Rotations", "StaticArrays"] +git-tree-sha1 = "42fe8de1fe1f80dab37a39d391b6301f7aeaa7b8" +uuid = "02fcd773-0e25-5acc-982a-7f6622650795" +version = "0.9.4" + +[[deps.Images]] +deps = ["Base64", "FileIO", "Graphics", "ImageAxes", "ImageBase", "ImageContrastAdjustment", "ImageCore", "ImageDistances", "ImageFiltering", "ImageIO", "ImageMagick", "ImageMetadata", "ImageMorphology", "ImageQualityIndexes", "ImageSegmentation", "ImageShow", "ImageTransformations", "IndirectArrays", "IntegralArrays", "Random", "Reexport", "SparseArrays", "StaticArrays", "Statistics", "StatsBase", "TiledIteration"] +git-tree-sha1 = "11d268adba1869067620659e7cdf07f5e54b6c76" +uuid = "916415d5-f1e6-5110-898d-aaa5f9f070e0" +version = "0.25.1" + +[[deps.Imath_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "87f7662e03a649cffa2e05bf19c303e168732d3e" +uuid = "905a6f67-0a94-5f89-b386-d35d92009cd1" +version = "3.1.2+0" + +[[deps.IndirectArrays]] +git-tree-sha1 = "012e604e1c7458645cb8b436f8fba789a51b257f" +uuid = "9b13fd28-a010-5f03-acff-a1bbcff69959" +version = "1.0.0" + +[[deps.Inflate]] +git-tree-sha1 = "f5fc07d4e706b84f72d54eedcc1c13d92fb0871c" +uuid = "d25df0c9-e2be-5dd7-82c8-3ad0b3e990b9" +version = "0.1.2" + +[[deps.IniFile]] +deps = ["Test"] +git-tree-sha1 = "098e4d2c533924c921f9f9847274f2ad89e018b8" +uuid = "83e8ac13-25f8-5344-8a64-a9f2b223428f" +version = "0.5.0" + +[[deps.IntegralArrays]] +deps = ["ColorTypes", "FixedPointNumbers", "IntervalSets"] +git-tree-sha1 = "00019244715621f473d399e4e1842e479a69a42e" +uuid = "1d092043-8f09-5a30-832f-7509e371ab51" +version = "0.1.2" + +[[deps.IntelOpenMP_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "d979e54b71da82f3a65b62553da4fc3d18c9004c" +uuid = "1d5cc7b8-4909-519e-a0f8-d0f5ad9712d0" +version = "2018.0.3+2" + +[[deps.Interact]] +deps = ["CSSUtil", "InteractBase", "JSON", "Knockout", "Observables", "OrderedCollections", "Reexport", "WebIO", "Widgets"] +git-tree-sha1 = "311f9130aeb50ac93a12dd076fa02c9a430be525" +uuid = "c601a237-2ae4-5e1e-952c-7a85b0c7eef1" +version = "0.10.4" + +[[deps.InteractBase]] +deps = ["Base64", "CSSUtil", "Colors", "Dates", "JSExpr", "JSON", "Knockout", "Observables", "OrderedCollections", "Random", "WebIO", "Widgets"] +git-tree-sha1 = "caf189c84e1cc6512b71fea0ec60fa8fdc761d7b" +uuid = "d3863d7c-f0c8-5437-a7b4-3ae773c01009" +version = "0.10.7" + +[[deps.InteractiveUtils]] +deps = ["Markdown"] +uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" + +[[deps.Interpolations]] +deps = ["AxisAlgorithms", "ChainRulesCore", "LinearAlgebra", "OffsetArrays", "Random", "Ratios", "Requires", "SharedArrays", "SparseArrays", "StaticArrays", "WoodburyMatrices"] +git-tree-sha1 = "b15fc0a95c564ca2e0a7ae12c1f095ca848ceb31" +uuid = "a98d9a8b-a2ab-59e6-89dd-64a1c18fca59" +version = "0.13.5" + +[[deps.IntervalSets]] +deps = ["Dates", "EllipsisNotation", "Statistics"] +git-tree-sha1 = "3cc368af3f110a767ac786560045dceddfc16758" +uuid = "8197267c-284f-5f27-9208-e0e47529a953" +version = "0.5.3" + +[[deps.InverseFunctions]] +deps = ["Test"] +git-tree-sha1 = "a7254c0acd8e62f1ac75ad24d5db43f5f19f3c65" +uuid = "3587e190-3f89-42d0-90ee-14403ec27112" +version = "0.1.2" + +[[deps.IrrationalConstants]] +git-tree-sha1 = "7fd44fd4ff43fc60815f8e764c0f352b83c49151" +uuid = "92d709cd-6900-40b7-9082-c6be49f344b6" +version = "0.1.1" + +[[deps.IterTools]] +git-tree-sha1 = "fa6287a4469f5e048d763df38279ee729fbd44e5" +uuid = "c8e1da08-722c-5040-9ed9-7db0dc04731e" +version = "1.4.0" + +[[deps.JLD2]] +deps = ["DataStructures", "FileIO", "MacroTools", "Mmap", "Pkg", "Printf", "Reexport", "TranscodingStreams", "UUIDs"] +git-tree-sha1 = "09ef0c32a26f80b465d808a1ba1e85775a282c97" +uuid = "033835bb-8acc-5ee8-8aae-3f567f8a3819" +version = "0.4.17" + +[[deps.JLLWrappers]] +deps = ["Preferences"] +git-tree-sha1 = "22df5b96feef82434b07327e2d3c770a9b21e023" +uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" +version = "1.4.0" + +[[deps.JSExpr]] +deps = ["JSON", "MacroTools", "Observables", "WebIO"] +git-tree-sha1 = "bd6c034156b1e7295450a219c4340e32e50b08b1" +uuid = "97c1335a-c9c5-57fe-bc5d-ec35cebe8660" +version = "0.5.3" + +[[deps.JSON]] +deps = ["Dates", "Mmap", "Parsers", "Unicode"] +git-tree-sha1 = "8076680b162ada2a031f707ac7b4953e30667a37" +uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" +version = "0.21.2" + +[[deps.Javis]] +deps = ["Animations", "Cairo", "FFMPEG", "Hungarian", "ImageIO", "ImageMagick", "Images", "Interact", "JavisNB", "LaTeXStrings", "LightXML", "Luxor", "ProgressMeter", "Random", "Statistics", "VideoIO"] +path = "../Javis.jl" +uuid = "78b212ba-a7f9-42d4-b726-60726080707e" +version = "0.7.2" + +[[deps.JavisNB]] +deps = ["Interact", "Javis"] +path = "../JavisNB.jl" +uuid = "92afb270-2599-44f6-96a1-44c6efb1daf1" +version = "0.1.0" + +[[deps.JpegTurbo_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "d735490ac75c5cb9f1b00d8b5509c11984dc6943" +uuid = "aacddb02-875f-59d6-b918-886e6ef4fbf8" +version = "2.1.0+0" + +[[deps.Juno]] +deps = ["Base64", "Logging", "Media", "Profile"] +git-tree-sha1 = "07cb43290a840908a771552911a6274bc6c072c7" +uuid = "e5e0dc1b-0480-54bc-9374-aad01c23163d" +version = "0.8.4" + +[[deps.Knockout]] +deps = ["JSExpr", "JSON", "Observables", "Test", "WebIO"] +git-tree-sha1 = "deb74017e1061d76050ff68d219217413be4ef59" +uuid = "bcebb21b-c2e3-54f8-a781-646b90f6d2cc" +version = "0.2.5" + +[[deps.LAME_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "f6250b16881adf048549549fba48b1161acdac8c" +uuid = "c1c5ebd0-6772-5130-a774-d5fcae4a789d" +version = "3.100.1+0" + +[[deps.LZO_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "e5b909bcf985c5e2605737d2ce278ed791b89be6" +uuid = "dd4b983a-f0e5-5f8d-a1b7-129d4a5fb1ac" +version = "2.10.1+0" + +[[deps.LaTeXStrings]] +git-tree-sha1 = "f2355693d6778a178ade15952b7ac47a4ff97996" +uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" +version = "1.3.0" + +[[deps.LazyArtifacts]] +deps = ["Artifacts", "Pkg"] +uuid = "4af54fe1-eca0-43a8-85a7-787d91b784e3" + +[[deps.LibCURL]] +deps = ["LibCURL_jll", "MozillaCACerts_jll"] +uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" + +[[deps.LibCURL_jll]] +deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] +uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" + +[[deps.LibGit2]] +deps = ["Base64", "NetworkOptions", "Printf", "SHA"] +uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" + +[[deps.LibSSH2_jll]] +deps = ["Artifacts", "Libdl", "MbedTLS_jll"] +uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" + +[[deps.Libdl]] +uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" + +[[deps.Libepoxy_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libglvnd_jll", "Pkg", "Xorg_libX11_jll"] +git-tree-sha1 = "18b65a0eff6b58546bec18065e73f8a04e83758d" +uuid = "42c93a91-0102-5b3f-8f9d-e41de60ac950" +version = "1.5.8+1" + +[[deps.Libffi_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "0b4a5d71f3e5200a7dff793393e09dfc2d874290" +uuid = "e9f186c6-92d2-5b65-8a66-fee21dc1b490" +version = "3.2.2+1" + +[[deps.Libgcrypt_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgpg_error_jll", "Pkg"] +git-tree-sha1 = "64613c82a59c120435c067c2b809fc61cf5166ae" +uuid = "d4300ac3-e22c-5743-9152-c294e39db1e4" +version = "1.8.7+0" + +[[deps.Libglvnd_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll", "Xorg_libXext_jll"] +git-tree-sha1 = "7739f837d6447403596a75d19ed01fd08d6f56bf" +uuid = "7e76a0d4-f3c7-5321-8279-8d96eeed0f29" +version = "1.3.0+3" + +[[deps.Libgpg_error_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "c333716e46366857753e273ce6a69ee0945a6db9" +uuid = "7add5ba3-2f88-524e-9cd5-f83b8a55f7b8" +version = "1.42.0+0" + +[[deps.Libiconv_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "42b62845d70a619f063a7da093d995ec8e15e778" +uuid = "94ce4f54-9a6c-5748-9c1c-f9c7231a4531" +version = "1.16.1+1" + +[[deps.Libmount_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "9c30530bf0effd46e15e0fdcf2b8636e78cbbd73" +uuid = "4b2f31a3-9ecc-558c-b454-b3730dcb73e9" +version = "2.35.0+0" + +[[deps.Librsvg_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pango_jll", "Pkg", "gdk_pixbuf_jll"] +git-tree-sha1 = "25d5e6b4eb3558613ace1c67d6a871420bfca527" +uuid = "925c91fb-5dd6-59dd-8e8c-345e74382d89" +version = "2.52.4+0" + +[[deps.Libtiff_jll]] +deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Pkg", "Zlib_jll", "Zstd_jll"] +git-tree-sha1 = "340e257aada13f95f98ee352d316c3bed37c8ab9" +uuid = "89763e89-9b03-5906-acba-b20f662cd828" +version = "4.3.0+0" + +[[deps.Libuuid_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "7f3efec06033682db852f8b3bc3c1d2b0a0ab066" +uuid = "38a345b3-de98-5d2b-a5d3-14cd9215e700" +version = "2.36.0+0" + +[[deps.LightXML]] +deps = ["Libdl", "XML2_jll"] +git-tree-sha1 = "e129d9391168c677cd4800f5c0abb1ed8cb3794f" +uuid = "9c8b4983-aa76-5018-a973-4c85ecc9e179" +version = "0.9.0" + +[[deps.LinearAlgebra]] +deps = ["Libdl", "libblastrampoline_jll"] +uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" + +[[deps.LogExpFunctions]] +deps = ["ChainRulesCore", "ChangesOfVariables", "DocStringExtensions", "InverseFunctions", "IrrationalConstants", "LinearAlgebra"] +git-tree-sha1 = "e5718a00af0ab9756305a0392832c8952c7426c1" +uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688" +version = "0.3.6" + +[[deps.Logging]] +uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" + +[[deps.Luxor]] +deps = ["Base64", "Cairo", "Colors", "Dates", "FFMPEG", "FileIO", "Juno", "Random", "Requires", "Rsvg"] +git-tree-sha1 = "aa804f92cf77298c86b26ef2487cc624b3dd4004" +uuid = "ae8d54c2-7ccd-5906-9d76-62fc9837b5bc" +version = "2.19.0" + +[[deps.MKL_jll]] +deps = ["Artifacts", "IntelOpenMP_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "Pkg"] +git-tree-sha1 = "5455aef09b40e5020e1520f551fa3135040d4ed0" +uuid = "856f044c-d86e-5d09-b602-aeab76dc8ba7" +version = "2021.1.1+2" + +[[deps.MacroTools]] +deps = ["Markdown", "Random"] +git-tree-sha1 = "3d3e902b31198a27340d0bf00d6ac452866021cf" +uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" +version = "0.5.9" + +[[deps.MappedArrays]] +git-tree-sha1 = "e8b359ef06ec72e8c030463fe02efe5527ee5142" +uuid = "dbb5928d-eab1-5f90-85c2-b9b0edb7c900" +version = "0.4.1" + +[[deps.Markdown]] +deps = ["Base64"] +uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" + +[[deps.MbedTLS]] +deps = ["Dates", "MbedTLS_jll", "Random", "Sockets"] +git-tree-sha1 = "1c38e51c3d08ef2278062ebceade0e46cefc96fe" +uuid = "739be429-bea8-5141-9913-cc70e7f3736d" +version = "1.0.3" + +[[deps.MbedTLS_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" + +[[deps.Measures]] +git-tree-sha1 = "e498ddeee6f9fdb4551ce855a46f54dbd900245f" +uuid = "442fdcdd-2543-5da2-b0f3-8c86c306513e" +version = "0.3.1" + +[[deps.Media]] +deps = ["MacroTools", "Test"] +git-tree-sha1 = "75a54abd10709c01f1b86b84ec225d26e840ed58" +uuid = "e89f7d12-3494-54d1-8411-f7d8b9ae1f27" +version = "0.5.0" + +[[deps.MetaGraphs]] +deps = ["Graphs", "JLD2", "Random"] +git-tree-sha1 = "2af69ff3c024d13bde52b34a2a7d6887d4e7b438" +uuid = "626554b9-1ddb-594c-aa3c-2596fe9399a5" +version = "0.7.1" + +[[deps.Missings]] +deps = ["DataAPI"] +git-tree-sha1 = "bf210ce90b6c9eed32d25dbcae1ebc565df2687f" +uuid = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28" +version = "1.0.2" + +[[deps.Mmap]] +uuid = "a63ad114-7e13-5084-954f-fe012c677804" + +[[deps.MosaicViews]] +deps = ["MappedArrays", "OffsetArrays", "PaddedViews", "StackViews"] +git-tree-sha1 = "b34e3bc3ca7c94914418637cb10cc4d1d80d877d" +uuid = "e94cdb99-869f-56ef-bcf0-1ae2bcbe0389" +version = "0.3.3" + +[[deps.MozillaCACerts_jll]] +uuid = "14a3606d-f60d-562e-9121-12d972cd8159" + +[[deps.NaNMath]] +git-tree-sha1 = "f755f36b19a5116bb580de457cda0c140153f283" +uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" +version = "0.3.6" + +[[deps.NearestNeighbors]] +deps = ["Distances", "StaticArrays"] +git-tree-sha1 = "16baacfdc8758bc374882566c9187e785e85c2f0" +uuid = "b8a86587-4115-5ab1-83bc-aa920d37bbce" +version = "0.4.9" + +[[deps.Netpbm]] +deps = ["FileIO", "ImageCore"] +git-tree-sha1 = "18efc06f6ec36a8b801b23f076e3c6ac7c3bf153" +uuid = "f09324ee-3d7c-5217-9330-fc30815ba969" +version = "1.0.2" + +[[deps.NetworkOptions]] +uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" + +[[deps.Observables]] +git-tree-sha1 = "fe29afdef3d0c4a8286128d4e45cc50621b1e43d" +uuid = "510215fc-4207-5dde-b226-833fc4488ee2" +version = "0.4.0" + +[[deps.OffsetArrays]] +deps = ["Adapt"] +git-tree-sha1 = "043017e0bdeff61cfbb7afeb558ab29536bbb5ed" +uuid = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" +version = "1.10.8" + +[[deps.Ogg_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "887579a3eb005446d514ab7aeac5d1d027658b8f" +uuid = "e7412a2a-1a6e-54c0-be00-318e2571c051" +version = "1.3.5+1" + +[[deps.OpenBLAS_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] +uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" + +[[deps.OpenEXR]] +deps = ["Colors", "FileIO", "OpenEXR_jll"] +git-tree-sha1 = "327f53360fdb54df7ecd01e96ef1983536d1e633" +uuid = "52e1d378-f018-4a11-a4be-720524705ac7" +version = "0.3.2" + +[[deps.OpenEXR_jll]] +deps = ["Artifacts", "Imath_jll", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] +git-tree-sha1 = "923319661e9a22712f24596ce81c54fc0366f304" +uuid = "18a262bb-aa17-5467-a713-aee519bc75cb" +version = "3.1.1+0" + +[[deps.OpenLibm_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "05823500-19ac-5b8b-9628-191a04bc5112" + +[[deps.OpenSSL_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "648107615c15d4e09f7eca16307bc821c1f718d8" +uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" +version = "1.1.13+0" + +[[deps.OpenSpecFun_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "13652491f6856acfd2db29360e1bbcd4565d04f1" +uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e" +version = "0.5.5+0" + +[[deps.Opus_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "51a08fb14ec28da2ec7a927c4337e4332c2a4720" +uuid = "91d4177d-7536-5919-b921-800302f37372" +version = "1.3.2+0" + +[[deps.OrderedCollections]] +git-tree-sha1 = "85f8e6578bf1f9ee0d11e7bb1b1456435479d47c" +uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" +version = "1.4.1" + +[[deps.PCRE_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "b2a7af664e098055a7529ad1a900ded962bca488" +uuid = "2f80f16e-611a-54ab-bc61-aa92de5b98fc" +version = "8.44.0+0" + +[[deps.PNGFiles]] +deps = ["Base64", "CEnum", "ImageCore", "IndirectArrays", "OffsetArrays", "libpng_jll"] +git-tree-sha1 = "6d105d40e30b635cfed9d52ec29cf456e27d38f8" +uuid = "f57f5aa1-a3ce-4bc8-8ab9-96f992907883" +version = "0.3.12" + +[[deps.PaddedViews]] +deps = ["OffsetArrays"] +git-tree-sha1 = "03a7a85b76381a3d04c7a1656039197e70eda03d" +uuid = "5432bcbf-9aad-5242-b902-cca2824c8663" +version = "0.5.11" + +[[deps.Pango_jll]] +deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "FriBidi_jll", "Glib_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "9bc1871464b12ed19297fbc56c4fb4ba84988b0d" +uuid = "36c8627f-9965-5494-a995-c6b170f724f3" +version = "1.47.0+0" + +[[deps.Parameters]] +deps = ["OrderedCollections", "UnPack"] +git-tree-sha1 = "34c0e9ad262e5f7fc75b10a9952ca7692cfc5fbe" +uuid = "d96e819e-fc66-5662-9728-84c9c7592b0a" +version = "0.12.3" + +[[deps.Parsers]] +deps = ["Dates"] +git-tree-sha1 = "92f91ba9e5941fc781fecf5494ac1da87bdac775" +uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" +version = "2.2.0" + +[[deps.Pidfile]] +deps = ["FileWatching", "Test"] +git-tree-sha1 = "1be8660b2064893cd2dae4bd004b589278e4440d" +uuid = "fa939f87-e72e-5be4-a000-7fc836dbe307" +version = "1.2.0" + +[[deps.Pixman_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "b4f5d02549a10e20780a24fce72bea96b6329e29" +uuid = "30392449-352a-5448-841d-b1acce4e97dc" +version = "0.40.1+0" + +[[deps.Pkg]] +deps = ["Artifacts", "Dates", "Downloads", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] +uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" + +[[deps.PkgVersion]] +deps = ["Pkg"] +git-tree-sha1 = "a7a7e1a88853564e551e4eba8650f8c38df79b37" +uuid = "eebad327-c553-4316-9ea0-9fa01ccd7688" +version = "0.1.1" + +[[deps.Preferences]] +deps = ["TOML"] +git-tree-sha1 = "2cf929d64681236a2e074ffafb8d568733d2e6af" +uuid = "21216c6a-2e73-6563-6e65-726566657250" +version = "1.2.3" + +[[deps.Printf]] +deps = ["Unicode"] +uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" + +[[deps.Profile]] +deps = ["Printf"] +uuid = "9abbd945-dff8-562f-b5e8-e1ebf5ef1b79" + +[[deps.ProgressMeter]] +deps = ["Distributed", "Printf"] +git-tree-sha1 = "afadeba63d90ff223a6a48d2009434ecee2ec9e8" +uuid = "92933f4c-e287-5a05-a399-4b506db050ca" +version = "1.7.1" + +[[deps.QOI]] +deps = ["ColorTypes", "FileIO", "FixedPointNumbers"] +git-tree-sha1 = "18e8f4d1426e965c7b532ddd260599e1510d26ce" +uuid = "4b34888f-f399-49d4-9bb3-47ed5cae4e65" +version = "1.0.0" + +[[deps.Quaternions]] +deps = ["DualNumbers", "LinearAlgebra"] +git-tree-sha1 = "adf644ef95a5e26c8774890a509a55b7791a139f" +uuid = "94ee1d12-ae83-5a48-8b1c-48b8ff168ae0" +version = "0.4.2" + +[[deps.REPL]] +deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] +uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" + +[[deps.Random]] +deps = ["SHA", "Serialization"] +uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" + +[[deps.RangeArrays]] +git-tree-sha1 = "b9039e93773ddcfc828f12aadf7115b4b4d225f5" +uuid = "b3c3ace0-ae52-54e7-9d0b-2c1406fd6b9d" +version = "0.3.2" + +[[deps.Ratios]] +deps = ["Requires"] +git-tree-sha1 = "01d341f502250e81f6fec0afe662aa861392a3aa" +uuid = "c84ed2f1-dad5-54f0-aa8e-dbefe2724439" +version = "0.4.2" + +[[deps.Reactive]] +deps = ["DataStructures", "Distributed", "Test"] +git-tree-sha1 = "5862d915387ebb954016f50a88e34f79a9e5fcd2" +uuid = "a223df75-4e93-5b7c-acf9-bdd599c0f4de" +version = "0.8.3" + +[[deps.Reexport]] +git-tree-sha1 = "45e428421666073eab6f2da5c9d310d99bb12f9b" +uuid = "189a3867-3050-52da-a836-e630ba90ab69" +version = "1.2.2" + +[[deps.RegionTrees]] +deps = ["IterTools", "LinearAlgebra", "StaticArrays"] +git-tree-sha1 = "4618ed0da7a251c7f92e869ae1a19c74a7d2a7f9" +uuid = "dee08c22-ab7f-5625-9660-a9af2021b33f" +version = "0.3.2" + +[[deps.Requires]] +deps = ["UUIDs"] +git-tree-sha1 = "838a3a4188e2ded87a4f9f184b4b0d78a1e91cb7" +uuid = "ae029012-a4dd-5104-9daa-d747884805df" +version = "1.3.0" + +[[deps.Rotations]] +deps = ["LinearAlgebra", "Quaternions", "Random", "StaticArrays", "Statistics"] +git-tree-sha1 = "2fa87d198bc5356c649b92109ed3ce46ee1eb89d" +uuid = "6038ab10-8711-5258-84ad-4b1120ba62dc" +version = "1.1.1" + +[[deps.RoundingIntegers]] +git-tree-sha1 = "99acd97f396ea71a5be06ba6de5c9defe188a778" +uuid = "d5f540fe-1c90-5db3-b776-2e2f362d9394" +version = "1.1.0" + +[[deps.Rsvg]] +deps = ["Cairo", "Glib_jll", "Librsvg_jll"] +git-tree-sha1 = "3d3dc66eb46568fb3a5259034bfc752a0eb0c686" +uuid = "c4c386cf-5103-5370-be45-f3a111cca3b8" +version = "1.0.0" + +[[deps.SHA]] +uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" + +[[deps.Serialization]] +uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" + +[[deps.SharedArrays]] +deps = ["Distributed", "Mmap", "Random", "Serialization"] +uuid = "1a1011a3-84de-559e-8e89-a11a2f7dc383" + +[[deps.SimpleTraits]] +deps = ["InteractiveUtils", "MacroTools"] +git-tree-sha1 = "5d7e3f4e11935503d3ecaf7186eac40602e7d231" +uuid = "699a6c99-e7fa-54fc-8d76-47d257e15c1d" +version = "0.9.4" + +[[deps.SimpleWeightedGraphs]] +deps = ["Graphs", "LinearAlgebra", "Markdown", "SparseArrays", "Test"] +git-tree-sha1 = "a6f404cc44d3d3b28c793ec0eb59af709d827e4e" +uuid = "47aef6b3-ad0c-573a-a1e2-d07658019622" +version = "1.2.1" + +[[deps.Sixel]] +deps = ["Dates", "FileIO", "ImageCore", "IndirectArrays", "OffsetArrays", "REPL", "libsixel_jll"] +git-tree-sha1 = "8fb59825be681d451c246a795117f317ecbcaa28" +uuid = "45858cf5-a6b0-47a3-bbea-62219f50df47" +version = "0.1.2" + +[[deps.Sockets]] +uuid = "6462fe0b-24de-5631-8697-dd941f90decc" + +[[deps.SortingAlgorithms]] +deps = ["DataStructures"] +git-tree-sha1 = "b3363d7460f7d098ca0912c69b082f75625d7508" +uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" +version = "1.0.1" + +[[deps.SparseArrays]] +deps = ["LinearAlgebra", "Random"] +uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" + +[[deps.SpecialFunctions]] +deps = ["ChainRulesCore", "IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] +git-tree-sha1 = "e08890d19787ec25029113e88c34ec20cac1c91e" +uuid = "276daf66-3868-5448-9aa4-cd146d93841b" +version = "2.0.0" + +[[deps.StackViews]] +deps = ["OffsetArrays"] +git-tree-sha1 = "46e589465204cd0c08b4bd97385e4fa79a0c770c" +uuid = "cae243ae-269e-4f55-b966-ac2d0dc13c15" +version = "0.1.1" + +[[deps.Static]] +deps = ["IfElse"] +git-tree-sha1 = "b4912cd034cdf968e06ca5f943bb54b17b97793a" +uuid = "aedffcd0-7271-4cad-89d0-dc628f76c6d3" +version = "0.5.1" + +[[deps.StaticArrays]] +deps = ["LinearAlgebra", "Random", "Statistics"] +git-tree-sha1 = "2884859916598f974858ff01df7dfc6c708dd895" +uuid = "90137ffa-7385-5640-81b9-e52037218182" +version = "1.3.3" + +[[deps.Statistics]] +deps = ["LinearAlgebra", "SparseArrays"] +uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" + +[[deps.StatsAPI]] +git-tree-sha1 = "d88665adc9bcf45903013af0982e2fd05ae3d0a6" +uuid = "82ae8749-77ed-4fe6-ae5f-f523153014b0" +version = "1.2.0" + +[[deps.StatsBase]] +deps = ["DataAPI", "DataStructures", "LinearAlgebra", "LogExpFunctions", "Missings", "Printf", "Random", "SortingAlgorithms", "SparseArrays", "Statistics", "StatsAPI"] +git-tree-sha1 = "51383f2d367eb3b444c961d485c565e4c0cf4ba0" +uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" +version = "0.33.14" + +[[deps.TOML]] +deps = ["Dates"] +uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" + +[[deps.Tar]] +deps = ["ArgTools", "SHA"] +uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" + +[[deps.TensorCore]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "1feb45f88d133a655e001435632f019a9a1bcdb6" +uuid = "62fd8b95-f654-4bbd-a8a5-9c27f68ccd50" +version = "0.1.1" + +[[deps.Test]] +deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] +uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[[deps.TiffImages]] +deps = ["ColorTypes", "DataStructures", "DocStringExtensions", "FileIO", "FixedPointNumbers", "IndirectArrays", "Inflate", "OffsetArrays", "PkgVersion", "ProgressMeter", "UUIDs"] +git-tree-sha1 = "991d34bbff0d9125d93ba15887d6594e8e84b305" +uuid = "731e570b-9d59-4bfa-96dc-6df516fadf69" +version = "0.5.3" + +[[deps.TiledIteration]] +deps = ["OffsetArrays"] +git-tree-sha1 = "5683455224ba92ef59db72d10690690f4a8dc297" +uuid = "06e1c1a7-607b-532d-9fad-de7d9aa2abac" +version = "0.3.1" + +[[deps.TranscodingStreams]] +deps = ["Random", "Test"] +git-tree-sha1 = "216b95ea110b5972db65aa90f88d8d89dcb8851c" +uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" +version = "0.9.6" + +[[deps.URIs]] +git-tree-sha1 = "97bbe755a53fe859669cd907f2d96aee8d2c1355" +uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" +version = "1.3.0" + +[[deps.UUIDs]] +deps = ["Random", "SHA"] +uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" + +[[deps.UnPack]] +git-tree-sha1 = "387c1f73762231e86e0c9c5443ce3b4a0a9a0c2b" +uuid = "3a884ed6-31ef-47d7-9d2a-63182c4928ed" +version = "1.0.2" + +[[deps.Unicode]] +uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" + +[[deps.VideoIO]] +deps = ["ColorTypes", "Dates", "Downloads", "FFMPEG", "FileIO", "Glob", "ImageCore", "Libdl", "ProgressMeter", "Requires"] +git-tree-sha1 = "16d386dab973f1fd7f5b42254962b14cbb4694c4" +uuid = "d6d074c3-1acf-5d4c-9a43-ef38773959a2" +version = "0.9.6" + +[[deps.Wayland_jll]] +deps = ["Artifacts", "Expat_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg", "XML2_jll"] +git-tree-sha1 = "3e61f0b86f90dacb0bc0e73a0c5a83f6a8636e23" +uuid = "a2964d1f-97da-50d4-b82a-358c7fce9d89" +version = "1.19.0+0" + +[[deps.Wayland_protocols_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "66d72dc6fcc86352f01676e8f0f698562e60510f" +uuid = "2381bf8a-dfd0-557d-9999-79630e7b1b91" +version = "1.23.0+0" + +[[deps.WebIO]] +deps = ["AssetRegistry", "Base64", "Distributed", "FunctionalCollections", "JSON", "Logging", "Observables", "Pkg", "Random", "Requires", "Sockets", "UUIDs", "WebSockets", "Widgets"] +git-tree-sha1 = "5fe32e4086d49f7ab9b087296742859f3ae6d62a" +uuid = "0f1e0344-ec1d-5b48-a673-e5cf874b6c29" +version = "0.8.16" + +[[deps.WebSockets]] +deps = ["Base64", "Dates", "HTTP", "Logging", "Sockets"] +git-tree-sha1 = "f91a602e25fe6b89afc93cf02a4ae18ee9384ce3" +uuid = "104b5d7c-a370-577a-8038-80a2059c5097" +version = "1.5.9" + +[[deps.Widgets]] +deps = ["Colors", "Dates", "Observables", "OrderedCollections"] +git-tree-sha1 = "80661f59d28714632132c73779f8becc19a113f2" +uuid = "cc8bc4a8-27d6-5769-a93b-9d913e69aa62" +version = "0.6.4" + +[[deps.WoodburyMatrices]] +deps = ["LinearAlgebra", "SparseArrays"] +git-tree-sha1 = "de67fa59e33ad156a590055375a30b23c40299d3" +uuid = "efce3f68-66dc-5838-9240-27a6d6f5f9b6" +version = "0.5.5" + +[[deps.XML2_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libiconv_jll", "Pkg", "Zlib_jll"] +git-tree-sha1 = "1acf5bdf07aa0907e0a37d3718bb88d4b687b74a" +uuid = "02c8fc9c-b97f-50b9-bbe4-9be30ff0a78a" +version = "2.9.12+0" + +[[deps.XSLT_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgcrypt_jll", "Libgpg_error_jll", "Libiconv_jll", "Pkg", "XML2_jll", "Zlib_jll"] +git-tree-sha1 = "91844873c4085240b95e795f692c4cec4d805f8a" +uuid = "aed1982a-8fda-507f-9586-7b0439959a61" +version = "1.1.34+0" + +[[deps.Xorg_libX11_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libxcb_jll", "Xorg_xtrans_jll"] +git-tree-sha1 = "5be649d550f3f4b95308bf0183b82e2582876527" +uuid = "4f6342f7-b3d2-589e-9d20-edeb45f2b2bc" +version = "1.6.9+4" + +[[deps.Xorg_libXau_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "4e490d5c960c314f33885790ed410ff3a94ce67e" +uuid = "0c0b7dd1-d40b-584c-a123-a41640f87eec" +version = "1.0.9+4" + +[[deps.Xorg_libXcomposite_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXfixes_jll"] +git-tree-sha1 = "7c688ca9c957837539bbe1c53629bb871025e423" +uuid = "3c9796d7-64a0-5134-86ad-79f8eb684845" +version = "0.4.5+4" + +[[deps.Xorg_libXcursor_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXfixes_jll", "Xorg_libXrender_jll"] +git-tree-sha1 = "12e0eb3bc634fa2080c1c37fccf56f7c22989afd" +uuid = "935fb764-8cf2-53bf-bb30-45bb1f8bf724" +version = "1.2.0+4" + +[[deps.Xorg_libXdamage_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXfixes_jll"] +git-tree-sha1 = "fe4ffb2024ba3eddc862c6e1d70e2b070cd1c2bf" +uuid = "0aeada51-83db-5f97-b67e-184615cfc6f6" +version = "1.1.5+4" + +[[deps.Xorg_libXdmcp_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "4fe47bd2247248125c428978740e18a681372dd4" +uuid = "a3789734-cfe1-5b06-b2d0-1dd0d9d62d05" +version = "1.1.3+4" + +[[deps.Xorg_libXext_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] +git-tree-sha1 = "b7c0aa8c376b31e4852b360222848637f481f8c3" +uuid = "1082639a-0dae-5f34-9b06-72781eeb8cb3" +version = "1.3.4+4" + +[[deps.Xorg_libXfixes_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] +git-tree-sha1 = "0e0dc7431e7a0587559f9294aeec269471c991a4" +uuid = "d091e8ba-531a-589c-9de9-94069b037ed8" +version = "5.0.3+4" + +[[deps.Xorg_libXi_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll", "Xorg_libXfixes_jll"] +git-tree-sha1 = "89b52bc2160aadc84d707093930ef0bffa641246" +uuid = "a51aa0fd-4e3c-5386-b890-e753decda492" +version = "1.7.10+4" + +[[deps.Xorg_libXinerama_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll"] +git-tree-sha1 = "26be8b1c342929259317d8b9f7b53bf2bb73b123" +uuid = "d1454406-59df-5ea1-beac-c340f2130bc3" +version = "1.1.4+4" + +[[deps.Xorg_libXrandr_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll", "Xorg_libXrender_jll"] +git-tree-sha1 = "34cea83cb726fb58f325887bf0612c6b3fb17631" +uuid = "ec84b674-ba8e-5d96-8ba1-2a689ba10484" +version = "1.5.2+4" + +[[deps.Xorg_libXrender_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] +git-tree-sha1 = "19560f30fd49f4d4efbe7002a1037f8c43d43b96" +uuid = "ea2f1a96-1ddc-540d-b46f-429655e07cfa" +version = "0.9.10+4" + +[[deps.Xorg_libXtst_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll", "Xorg_libXfixes_jll", "Xorg_libXi_jll"] +git-tree-sha1 = "0c0a60851f44add2a64069ddf213e941c30ed93c" +uuid = "b6f176f1-7aea-5357-ad67-1d3e565ea1c6" +version = "1.2.3+4" + +[[deps.Xorg_libpthread_stubs_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "6783737e45d3c59a4a4c4091f5f88cdcf0908cbb" +uuid = "14d82f49-176c-5ed1-bb49-ad3f5cbd8c74" +version = "0.1.0+3" + +[[deps.Xorg_libxcb_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "XSLT_jll", "Xorg_libXau_jll", "Xorg_libXdmcp_jll", "Xorg_libpthread_stubs_jll"] +git-tree-sha1 = "daf17f441228e7a3833846cd048892861cff16d6" +uuid = "c7cfdc94-dc32-55de-ac96-5a1b8d977c5b" +version = "1.13.0+3" + +[[deps.Xorg_libxkbfile_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] +git-tree-sha1 = "926af861744212db0eb001d9e40b5d16292080b2" +uuid = "cc61e674-0454-545c-8b26-ed2c68acab7a" +version = "1.1.0+4" + +[[deps.Xorg_xkbcomp_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libxkbfile_jll"] +git-tree-sha1 = "4bcbf660f6c2e714f87e960a171b119d06ee163b" +uuid = "35661453-b289-5fab-8a00-3d9160c6a3a4" +version = "1.4.2+4" + +[[deps.Xorg_xkeyboard_config_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xkbcomp_jll"] +git-tree-sha1 = "5c8424f8a67c3f2209646d4425f3d415fee5931d" +uuid = "33bec58e-1273-512f-9401-5d533626f822" +version = "2.27.0+4" + +[[deps.Xorg_xtrans_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "79c31e7844f6ecf779705fbc12146eb190b7d845" +uuid = "c5fb5394-a638-5e4d-96e5-b29de1b5cf10" +version = "1.4.0+3" + +[[deps.Zlib_jll]] +deps = ["Libdl"] +uuid = "83775a58-1f1d-513f-b197-d71354ab007a" + +[[deps.Zstd_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "cc4bf3fdde8b7e3e9fa0351bdeedba1cf3b7f6e6" +uuid = "3161d3a3-bdf6-5164-811a-617609db77b4" +version = "1.5.0+0" + +[[deps.adwaita_icon_theme_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "hicolor_icon_theme_jll"] +git-tree-sha1 = "37c9a36ccb876e02876c8a654f1b2e8c1b443a78" +uuid = "b437f822-2cd6-5e08-a15c-8bac984d38ee" +version = "3.33.92+5" + +[[deps.at_spi2_atk_jll]] +deps = ["ATK_jll", "Artifacts", "JLLWrappers", "Libdl", "Pkg", "XML2_jll", "Xorg_libX11_jll", "at_spi2_core_jll"] +git-tree-sha1 = "f16ae690aca4761f33d2cb338ee9899e541f5eae" +uuid = "de012916-1e3f-58c2-8f29-df3ef51d412d" +version = "2.34.1+4" + +[[deps.at_spi2_core_jll]] +deps = ["Artifacts", "Dbus_jll", "Glib_jll", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXtst_jll"] +git-tree-sha1 = "d2d540cd145f2b2933614649c029d222fe125188" +uuid = "0fc3237b-ac94-5853-b45c-d43d59a06200" +version = "2.34.0+4" + +[[deps.gdk_pixbuf_jll]] +deps = ["Artifacts", "Glib_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pkg", "Xorg_libX11_jll", "libpng_jll"] +git-tree-sha1 = "c23323cd30d60941f8c68419a70905d9bdd92808" +uuid = "da03df04-f53b-5353-a52f-6a8b0620ced0" +version = "2.42.6+1" + +[[deps.hicolor_icon_theme_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "b458a6f6fc2b1a8ca74ed63852e4eaf43fb9f5ea" +uuid = "059c91fe-1bad-52ad-bddd-f7b78713c282" +version = "0.17.0+3" + +[[deps.iso_codes_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "5ee24c3ae30e006117ec2da5ea50f2ce457c019a" +uuid = "bf975903-5238-5d20-8243-bc370bc1e7e5" +version = "4.3.0+4" + +[[deps.libass_jll]] +deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] +git-tree-sha1 = "5982a94fcba20f02f42ace44b9894ee2b140fe47" +uuid = "0ac62f75-1d6f-5e53-bd7c-93b484bb37c0" +version = "0.15.1+0" + +[[deps.libblastrampoline_jll]] +deps = ["Artifacts", "Libdl", "OpenBLAS_jll"] +uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" + +[[deps.libfdk_aac_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "daacc84a041563f965be61859a36e17c4e4fcd55" +uuid = "f638f0a6-7fb0-5443-88ba-1cc74229b280" +version = "2.0.2+0" + +[[deps.libpng_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] +git-tree-sha1 = "94d180a6d2b5e55e447e2d27a29ed04fe79eb30c" +uuid = "b53b4c65-9356-5827-b1ea-8c7a1a84506f" +version = "1.6.38+0" + +[[deps.libsixel_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "78736dab31ae7a53540a6b752efc61f77b304c5b" +uuid = "075b6546-f08a-558a-be8f-8157d0f608a5" +version = "1.8.6+1" + +[[deps.libvorbis_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Ogg_jll", "Pkg"] +git-tree-sha1 = "c45f4e40e7aafe9d086379e5578947ec8b95a8fb" +uuid = "f27f6e37-5d2b-51aa-960f-b287f2bc3b7a" +version = "1.3.7+0" + +[[deps.nghttp2_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" + +[[deps.p7zip_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" + +[[deps.x264_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "4fea590b89e6ec504593146bf8b988b2c00922b2" +uuid = "1270edf5-f2f9-52d2-97e9-ab00b5d0237a" +version = "2021.5.5+0" + +[[deps.x265_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "ee567a171cce03570d77ad3a43e90218e38937a9" +uuid = "dfaa095f-4041-5dcd-9319-2fabd8486b76" +version = "3.5.0+0" + +[[deps.xkbcommon_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Wayland_jll", "Wayland_protocols_jll", "Xorg_libxcb_jll", "Xorg_xkeyboard_config_jll"] +git-tree-sha1 = "ece2350174195bb31de1a63bea3a41ae1aa593b6" +uuid = "d8fb68d0-12a3-5cfd-a85a-d49703b185fd" +version = "0.9.1+5" diff --git a/Project.toml b/Project.toml index 3ecae3b..84a526d 100644 --- a/Project.toml +++ b/Project.toml @@ -7,3 +7,4 @@ version = "0.0.0" Cairo = "159f3aea-2a34-519c-b102-8c37f9878175" Gtk = "4c0ca9eb-093a-5379-98c5-f87ac0bbbf44" GtkReactive = "27996c0f-39cd-5cc1-a27a-05f136f946b6" +Javis = "78b212ba-a7f9-42d4-b726-60726080707e" diff --git a/src/JavisViewer.jl b/src/JavisViewer.jl index a200618..4e50a07 100644 --- a/src/JavisViewer.jl +++ b/src/JavisViewer.jl @@ -5,7 +5,43 @@ using Gtk using GtkReactive using Javis +include("javis_viewer.jl") +export stream +export setup_stream, cancel_stream +function stream( + video::Video; + framerate = 30, + pathname = "javis_$(randstring(7)).gif", + liveview = false, + streamconfig::Union{StreamConfig,Nothing} = nothing, + tempdirectory = "", + ffmpeg_loglevel = "panic", + rescale_factor = 1.0, + postprocess_frames_flow = identity, + postprocess_frame = Javis.default_postprocess, +) + + v = render( + video::Video; + framerate = framerate, + pathname = pathname, + liveview = liveview, + tempdirectory = tempdirectory, + ffmpeg_loglevel = ffmpeg_loglevel, + rescale_factor = rescale_factor, + postprocess_frames_flow = postprocess_frames_flow, + postprocess_frame = postprocess_frame, + ) + + # check if livestream is used and livestream if that's the case + if liveview + _javis_viewer(v...) + return "Live Preview Started" + else + _livestream(streamconfig, framerate, video.width, video.height, pathname) + end +end end diff --git a/src/Livestream.jl b/src/Livestream.jl new file mode 100644 index 0000000..0d914e7 --- /dev/null +++ b/src/Livestream.jl @@ -0,0 +1,19 @@ +""" + StreamConfig + +Holds the conguration for livestream, defaults to `nothing` + +#Fields +- `livestreamto::Symbol` Livestream platform `:local` or `:twitch` +- `protocol::String` The streaming protocol to be used. Defaults to UDP +- `address::String` The IP address for the `:local` stream(ignored in case of `:twitch`) +- `port::Int` The port for the `:local` stream(ignored in case of `:twitch`) +- `twitch_key::String` Twitch stream key for your account +""" +struct StreamConfig + livestreamto::Symbol + protocol::String + address::String + port::Int + twitch_key::String +end diff --git a/src/javis_viewer.jl b/src/javis_viewer.jl new file mode 100644 index 0000000..6748c53 --- /dev/null +++ b/src/javis_viewer.jl @@ -0,0 +1,359 @@ +include("Livestream.jl") + +""" + _draw_image(video::Video, objects::Vector, frame::Int, canvas::Gtk.Canvas, + img_dims::Vector) + +Internal function to create an image that is drawn on a Gtk Canvas. +""" +function _draw_image( + video::Video, + objects::Vector, + frame::Int, + canvas::Gtk.Canvas, + img_dims::Vector, +) + @guarded draw(canvas) do widget + # Gets a specific frame from graphic; transposed due to returned matrix + frame_mat = transpose(get_javis_frame(video, objects, frame; layers = video.layers)) + + # Gets the correct Canvas context to draw on + context = getgc(canvas) + + # Uses Cairo to draw on Gtk canvas context + image(context, CairoImageSurface(frame_mat), 0, 0, img_dims[1], img_dims[2]) + end +end + +""" + _increment(video::Video, widgets::Vector, objects::Vector, dims::Vector, + canvas::Gtk.Canvas, frames::Int, layers=Vector) + +Increments a given value and returns the associated frame. +""" +function _increment( + video::Video, + widgets::Vector, + objects::Vector, + dims::Vector, + canvas::Gtk.Canvas, + frames::Int, +) + # Get current frame from textbox as an Int value + curr_frame = parse(Int, get_gtk_property(widgets[2], :text, String)) + if frames > curr_frame + # `widgets[1]` represents the GtkReactive slider widget + push!(widgets[1], curr_frame + 1) + _draw_image(video, objects, curr_frame + 1, canvas, dims) + else + # `widgets[2]` represents the GtkReactive textboxwidget + push!(widgets[2], 1) # Sets the first frame shown to one + _draw_image(video, objects, 1, canvas, dims) + end +end + +""" + _decrement(video::Video, widgets::Vector, objects::Vector, dims::Vector, + canvas::Gtk.Canvas, frames::Int, layers::Vector) + +Decrements a given value and returns the associated frame. +""" +function _decrement( + video::Video, + widgets::Vector, + objects::Vector, + dims::Vector, + canvas::Gtk.Canvas, + frames::Int, +) + # Get current frame from textbox as an Int value + curr_frame = parse(Int, get_gtk_property(widgets[2], :text, String)) + if curr_frame > 1 + # `widgets[1]` represents the GtkReactive slider widget + push!(widgets[1], curr_frame - 1) + _draw_image(video, objects, curr_frame - 1, canvas, dims) + else + # `widgets[2]` represents the GtkReactive textboxwidget + push!(widgets[2], frames) # Sets the first frame shown to one + _draw_image(video, objects, frames, canvas, dims) + end +end + +""" + _javis_viewer(video::Video, frames::Int, object_list::Vector, show::Bool) + +Internal Javis Viewer built on Gtk that is called for live previewing. +""" +function _javis_viewer( + video::Video, + total_frames::Int, + object_list::Vector, + show::Bool = true, +) + ##################################################################### + # VIEWER WINDOW AND CONFIGURATION + ##################################################################### + + # Determine frame size of animation + frame_dims = [video.width, video.height] + + # Creates a GTK window for drawing; sized based on frame size + win = GtkWindow("Javis Viewer", frame_dims[1], frame_dims[2]) + + # Sets border size of window + set_gtk_property!(win, :border_width, 20) + + ##################################################################### + # DISPLAY WIDGETS + ##################################################################### + + # Create GtkScale internal widget + _slide = GtkScale(false, 1:total_frames) + + # Create GtkReactive slider widget + slide = slider(1:total_frames, value = 1, widget = _slide) + + #= + # + # NOTE: We must provide a named GtkScale widget named `_slide` to the + # GtkReactive `slider` widget so as to perform asynchronous calls + # via signal_connect. Otherwise, we will be unable to update the + # widget that is automatically created by the slider object. + # + # It should be stated that a `slider` object is essentially a + # GtkScale widget coupled with a Reactive object. + # + =# + + # Create a textbox + tbox = GtkReactive.textbox(Int; signal = signal(slide)) + + # Button for going forward through animation + forward = GtkButton("==>") + + # Button for going backward through animation + backward = GtkButton("<==") + + #= + TODO: Enable widgets of window to dynamically resize based on user changing the size of a window. + I think I can use the `configure-event` signal in GTK3 documentation + (link: https://developer.gnome.org/gtk3/stable/GtkWidget.html#GtkWidget-configure-event). + From there, I can then make a `signal_connect` set-up where I update `set_gtk_property!()` + of the windows accordingly using `:width_request` and `height_request`. + =# + + ##################################################################### + # VIEWER CANVAS AND GRID CONFIGURATION + ##################################################################### + + # Gtk Canvas object upon which to draw image; sized via frame size + canvas = Gtk.Canvas(frame_dims[1], frame_dims[2]) + + # Grid to allocate widgets + grid = Gtk.Grid() + + # Allocate the widgets in a 3x3 grid + grid[1:3, 1] = canvas + grid[1:3, 2] = slide + grid[1, 3] = backward + grid[2, 3] = tbox + grid[3, 3] = forward + + # Center all widgets vertically in grid + set_gtk_property!(grid, :valign, 3) + + # Center all widgets horizontally in grid + set_gtk_property!(grid, :halign, 3) + + # Adds grid to previously defined window + push!(win, grid) + + ##################################################################### + # DISPLAY FIRST FRAME + ##################################################################### + + _draw_image(video, object_list, 1, canvas, frame_dims) + + ##################################################################### + # SIGNAL CONNECTION FUNCTIONS + ##################################################################### + + # When the slider is changed, update currently viewed frame + signal_connect(_slide, "value-changed") do widget + # Collects GtkScale as an adjustable bounded value object + bound_slide = Gtk.GAccessor.adjustment(_slide) + + # Get frame number from bounded value object as Int + slide_val = Gtk.get_gtk_property(bound_slide, "value", Int) + + _draw_image(video, object_list, slide_val, canvas, frame_dims) + end + + # When the `Enter` key is pressed, update the frame + signal_connect(win, "key-press-event") do widget, event + if event.keyval == 65293 + # Get current frame from textbox as an Int value + curr_frame = parse(Int, get_gtk_property(tbox, :text, String)) + curr_frame = clamp(curr_frame, 1, total_frames) + _draw_image(video, object_list, curr_frame, canvas, frame_dims) + end + end + + # When the `forward` button is clicked, increment current frame number + # If at final frame, wrap viewer to first frame + signal_connect(forward, "clicked") do widget + _increment(video, [slide, tbox], object_list, frame_dims, canvas, total_frames) + end + + # When the `Right Arrow` key is pressed, increment current frame number + # If at final frame, wrap viewer to first frame + signal_connect(win, "key-press-event") do widget, event + if event.keyval == 65363 + _increment(video, [slide, tbox], object_list, frame_dims, canvas, total_frames) + end + end + + # When the `backward` button is clicked, decrement the current frame number + # If at first frame, wrap viewer to last frame + signal_connect(backward, "clicked") do widget + _decrement(video, [slide, tbox], object_list, frame_dims, canvas, total_frames) + end + + # When the `Left Arrow` key is pressed, decrement current frame number + # If at first frame, wrap viewer to last frame + signal_connect(win, "key-press-event") do widget, event + if event.keyval == 65361 + _decrement(video, [slide, tbox], object_list, frame_dims, canvas, total_frames) + end + end + + ##################################################################### + + if show + # Display image viewer + Gtk.showall(win) + else + return win, frame_dims, slide, tbox, canvas, object_list, total_frames, video + end +end + +""" + setup_stream(livestreamto=:local; protocol="udp", address="0.0.0.0", port=14015, twitch_key="") + +Sets up the livestream configuration. +**NOTE:** Twitch not fully implemented, do not use. +""" +function setup_stream( + livestreamto::Symbol = :local; + protocol::String = "udp", + address::String = "0.0.0.0", + port::Int = 14015, + twitch_key::String = "", +) + StreamConfig(livestreamto, protocol, address, port, twitch_key) +end + +""" + cancel_stream() + +Sends a `SIGKILL` signal to the livestreaming process. Though used internally, it can be used stop streaming. +However this method is not guaranted to end the stream on the client side. +""" +function cancel_stream() + #todo explore better ways of searching and killing processes + + # kill the ffmpeg process + # ps aux | grep ffmpeg | grep stream_loop | awk '{print $2}' | xargs kill -9 + try + println("Checking for existing stream....") + run( + pipeline( + `ps aux`, + pipeline(`grep ffmpeg`, pipeline(`grep stream_loop`, `awk '{print $2}'`)), + ), + ) + catch + return @warn "Not Streaming Anything Currently" + end + + run( + pipeline( + `ps aux`, + pipeline( + `grep ffmpeg`, + pipeline(`grep stream_loop`, pipeline(`awk '{print $2}'`, `xargs kill -9`)), + ), + ), + ) + return "Livestream Cancelled!" +end + +""" + _livestream(streamconfig, framerate, width, height, pathname) + +Internal method for livestreaming +""" +function _livestream( + streamconfig::StreamConfig, + framerate::Int, + width::Int, + height::Int, + pathname::String, +) + cancel_stream() + + livestreamto = streamconfig.livestreamto + twitch_key = streamconfig.twitch_key + + if livestreamto == :twitch && isempty(twitch_key) + return error("Please enter your twitch stream key") + end + + command = [ + "-stream_loop", # loop the stream -1 times i.e. indefinitely + "-1", + "-r", # frames per second + "$framerate", + "-an", # Tells FFMPEG not to expect any audio + "-loglevel", # show only ffmpeg errors + "error", + "-re", # read input at native frame rate + "-i", # input file + "$pathname", + ] + + if livestreamto == :twitch + if isempty(twitch_key) + error("Please enter your twitch api key") + end + + # + twitch_cmd = [ + "-f", + "flv", # force the file to flv format + "rtmp://live.twitch.tv/app/$twitch_key", # stream to the twitch platform using rtmp protocol + ] + push!(command, twitch_cmd...) + @info "Livestreaming to Twitch!" + elseif livestreamto == :local + protocol = streamconfig.protocol + address = streamconfig.address + port = streamconfig.port + local_command = ["-f", "mpegts", "$protocol://$address:$port"] # use an mpeg-ts format, and stream to the given address/port using the protocol + push!(command, local_command...) + @info "Livestream Started at $protocol://$address:$port" + end + + # schedule the streaming process and allow it to run asynchronously + schedule(@task begin + ffmpeg_exe(`$command`) + end) +end + +_livestream( + streamconfig::Nothing, + framerate::Int, + width::Int, + height::Int, + pathname::String, +) = return diff --git a/test/Manifest.toml b/test/Manifest.toml new file mode 100644 index 0000000..b2d0984 --- /dev/null +++ b/test/Manifest.toml @@ -0,0 +1,1467 @@ +# This file is machine-generated - editing it directly is not advised + +julia_version = "1.7.1" +manifest_format = "2.0" + +[[deps.ATK_jll]] +deps = ["Artifacts", "Glib_jll", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "58c36d8a1beeb12d63921bcfaa674baf30a1140e" +uuid = "7b86fcea-f67b-53e1-809c-8f1719c154e8" +version = "2.36.1+0" + +[[deps.AbstractFFTs]] +deps = ["ChainRulesCore", "LinearAlgebra"] +git-tree-sha1 = "6f1d9bc1c08f9f4a8fa92e3ea3cb50153a1b40d4" +uuid = "621f4979-c628-5d54-868e-fcf4e3e8185c" +version = "1.1.0" + +[[deps.Adapt]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "af92965fb30777147966f58acb05da51c5616b5f" +uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" +version = "3.3.3" + +[[deps.Animations]] +deps = ["Colors"] +git-tree-sha1 = "e81c509d2c8e49592413bfb0bb3b08150056c79d" +uuid = "27a7e980-b3e6-11e9-2bcd-0b925532e340" +version = "0.4.1" + +[[deps.ArgTools]] +uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" + +[[deps.ArnoldiMethod]] +deps = ["LinearAlgebra", "Random", "StaticArrays"] +git-tree-sha1 = "62e51b39331de8911e4a7ff6f5aaf38a5f4cc0ae" +uuid = "ec485272-7323-5ecc-a04f-4719b315124d" +version = "0.2.0" + +[[deps.ArrayInterface]] +deps = ["Compat", "IfElse", "LinearAlgebra", "Requires", "SparseArrays", "Static"] +git-tree-sha1 = "ffc6588e17bcfcaa79dfa5b4f417025e755f83fc" +uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" +version = "4.0.1" + +[[deps.Artifacts]] +uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" + +[[deps.AssetRegistry]] +deps = ["Distributed", "JSON", "Pidfile", "SHA", "Test"] +git-tree-sha1 = "b25e88db7944f98789130d7b503276bc34bc098e" +uuid = "bf4720bc-e11a-5d0c-854e-bdca1663c893" +version = "0.1.0" + +[[deps.AxisAlgorithms]] +deps = ["LinearAlgebra", "Random", "SparseArrays", "WoodburyMatrices"] +git-tree-sha1 = "66771c8d21c8ff5e3a93379480a2307ac36863f7" +uuid = "13072b0f-2c55-5437-9ae7-d433b7a33950" +version = "1.0.1" + +[[deps.AxisArrays]] +deps = ["Dates", "IntervalSets", "IterTools", "RangeArrays"] +git-tree-sha1 = "d127d5e4d86c7680b20c35d40b503c74b9a39b5e" +uuid = "39de3d68-74b9-583c-8d2d-e117c070f3a9" +version = "0.4.4" + +[[deps.Base64]] +uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" + +[[deps.Bzip2_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "19a35467a82e236ff51bc17a3a44b69ef35185a2" +uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0" +version = "1.0.8+0" + +[[deps.CEnum]] +git-tree-sha1 = "215a9aa4a1f23fbd05b92769fdd62559488d70e9" +uuid = "fa961155-64e5-5f13-b03f-caf6b980ea82" +version = "0.4.1" + +[[deps.CSSUtil]] +deps = ["Colors", "JSON", "Markdown", "Measures", "WebIO"] +git-tree-sha1 = "b9fb4b464ec10e860abe251b91d4d049934f7399" +uuid = "70588ee8-6100-5070-97c1-3cb50ed05fe8" +version = "0.1.1" + +[[deps.Cairo]] +deps = ["Cairo_jll", "Colors", "Glib_jll", "Graphics", "Libdl", "Pango_jll"] +git-tree-sha1 = "d0b3f8b4ad16cb0a2988c6788646a5e6a17b6b1b" +uuid = "159f3aea-2a34-519c-b102-8c37f9878175" +version = "1.0.5" + +[[deps.Cairo_jll]] +deps = ["Artifacts", "Bzip2_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "JLLWrappers", "LZO_jll", "Libdl", "Pixman_jll", "Pkg", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Zlib_jll", "libpng_jll"] +git-tree-sha1 = "4b859a208b2397a7a623a03449e4636bdb17bcf2" +uuid = "83423d85-b0ee-5818-9007-b63ccbeb887a" +version = "1.16.1+1" + +[[deps.Calculus]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "f641eb0a4f00c343bbc32346e1217b86f3ce9dad" +uuid = "49dc2e85-a5d0-5ad3-a950-438e2897f1b9" +version = "0.5.1" + +[[deps.CatIndices]] +deps = ["CustomUnitRanges", "OffsetArrays"] +git-tree-sha1 = "a0f80a09780eed9b1d106a1bf62041c2efc995bc" +uuid = "aafaddc9-749c-510e-ac4f-586e18779b91" +version = "0.2.2" + +[[deps.ChainRulesCore]] +deps = ["Compat", "LinearAlgebra", "SparseArrays"] +git-tree-sha1 = "54fc4400de6e5c3e27be6047da2ef6ba355511f8" +uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" +version = "1.11.6" + +[[deps.ChangesOfVariables]] +deps = ["ChainRulesCore", "LinearAlgebra", "Test"] +git-tree-sha1 = "bf98fa45a0a4cee295de98d4c1462be26345b9a1" +uuid = "9e997f8a-9a97-42d5-a9f1-ce6bfc15e2c0" +version = "0.1.2" + +[[deps.Clustering]] +deps = ["Distances", "LinearAlgebra", "NearestNeighbors", "Printf", "SparseArrays", "Statistics", "StatsBase"] +git-tree-sha1 = "75479b7df4167267d75294d14b58244695beb2ac" +uuid = "aaaa29a8-35af-508c-8bc3-b662a17a0fe5" +version = "0.14.2" + +[[deps.ColorTypes]] +deps = ["FixedPointNumbers", "Random"] +git-tree-sha1 = "024fe24d83e4a5bf5fc80501a314ce0d1aa35597" +uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f" +version = "0.11.0" + +[[deps.ColorVectorSpace]] +deps = ["ColorTypes", "FixedPointNumbers", "LinearAlgebra", "SpecialFunctions", "Statistics", "TensorCore"] +git-tree-sha1 = "3f1f500312161f1ae067abe07d13b40f78f32e07" +uuid = "c3611d14-8923-5661-9e6a-0046d554d3a4" +version = "0.9.8" + +[[deps.Colors]] +deps = ["ColorTypes", "FixedPointNumbers", "Reexport"] +git-tree-sha1 = "417b0ed7b8b838aa6ca0a87aadf1bb9eb111ce40" +uuid = "5ae59095-9a9b-59fe-a467-6f913c188581" +version = "0.12.8" + +[[deps.Compat]] +deps = ["Base64", "Dates", "DelimitedFiles", "Distributed", "InteractiveUtils", "LibGit2", "Libdl", "LinearAlgebra", "Markdown", "Mmap", "Pkg", "Printf", "REPL", "Random", "SHA", "Serialization", "SharedArrays", "Sockets", "SparseArrays", "Statistics", "Test", "UUIDs", "Unicode"] +git-tree-sha1 = "44c37b4636bc54afac5c574d2d02b625349d6582" +uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" +version = "3.41.0" + +[[deps.CompilerSupportLibraries_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" + +[[deps.ComputationalResources]] +git-tree-sha1 = "52cb3ec90e8a8bea0e62e275ba577ad0f74821f7" +uuid = "ed09eef8-17a6-5b46-8889-db040fac31e3" +version = "0.3.2" + +[[deps.CoordinateTransformations]] +deps = ["LinearAlgebra", "StaticArrays"] +git-tree-sha1 = "681ea870b918e7cff7111da58791d7f718067a19" +uuid = "150eb455-5306-5404-9cee-2592286d6298" +version = "0.6.2" + +[[deps.Crayons]] +git-tree-sha1 = "249fe38abf76d48563e2f4556bebd215aa317e15" +uuid = "a8cc5b0e-0ffa-5ad4-8c14-923d3ee1735f" +version = "4.1.1" + +[[deps.CustomUnitRanges]] +git-tree-sha1 = "1a3f97f907e6dd8983b744d2642651bb162a3f7a" +uuid = "dc8bdbbb-1ca9-579f-8c36-e416f6a65cce" +version = "1.0.2" + +[[deps.DataAPI]] +git-tree-sha1 = "cc70b17275652eb47bc9e5f81635981f13cea5c8" +uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" +version = "1.9.0" + +[[deps.DataStructures]] +deps = ["Compat", "InteractiveUtils", "OrderedCollections"] +git-tree-sha1 = "3daef5523dd2e769dad2365274f760ff5f282c7d" +uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" +version = "0.18.11" + +[[deps.Dates]] +deps = ["Printf"] +uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" + +[[deps.Dbus_jll]] +deps = ["Artifacts", "Expat_jll", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "97f1325c10bd02b1cc1882e9c2bf6407ba630ace" +uuid = "ee1fde0b-3d02-5ea6-8484-8dfef6360eab" +version = "1.12.16+3" + +[[deps.DeepDiffs]] +git-tree-sha1 = "9824894295b62a6a4ab6adf1c7bf337b3a9ca34c" +uuid = "ab62b9b5-e342-54a8-a765-a90f495de1a6" +version = "1.2.0" + +[[deps.DelimitedFiles]] +deps = ["Mmap"] +uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab" + +[[deps.Distances]] +deps = ["LinearAlgebra", "SparseArrays", "Statistics", "StatsAPI"] +git-tree-sha1 = "3258d0659f812acde79e8a74b11f17ac06d0ca04" +uuid = "b4f34e82-e78d-54a5-968a-f98e89d6e8f7" +version = "0.10.7" + +[[deps.Distributed]] +deps = ["Random", "Serialization", "Sockets"] +uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" + +[[deps.DocStringExtensions]] +deps = ["LibGit2"] +git-tree-sha1 = "b19534d1895d702889b219c382a6e18010797f0b" +uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" +version = "0.8.6" + +[[deps.Downloads]] +deps = ["ArgTools", "LibCURL", "NetworkOptions"] +uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" + +[[deps.DualNumbers]] +deps = ["Calculus", "NaNMath", "SpecialFunctions"] +git-tree-sha1 = "84f04fe68a3176a583b864e492578b9466d87f1e" +uuid = "fa6b7ba4-c1ee-5f82-b5fc-ecf0adba8f74" +version = "0.6.6" + +[[deps.EllipsisNotation]] +deps = ["ArrayInterface"] +git-tree-sha1 = "d7ab55febfd0907b285fbf8dc0c73c0825d9d6aa" +uuid = "da5c29d0-fa7d-589e-88eb-ea29b0a81949" +version = "1.3.0" + +[[deps.Expat_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "b3bfd02e98aedfa5cf885665493c5598c350cd2f" +uuid = "2e619515-83b5-522b-bb60-26c02a35a201" +version = "2.2.10+0" + +[[deps.FFMPEG]] +deps = ["FFMPEG_jll"] +git-tree-sha1 = "b57e3acbe22f8484b4b5ff66a7499717fe1a9cc8" +uuid = "c87230d0-a227-11e9-1b43-d7ebe4e7570a" +version = "0.4.1" + +[[deps.FFMPEG_jll]] +deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "JLLWrappers", "LAME_jll", "Libdl", "Ogg_jll", "OpenSSL_jll", "Opus_jll", "Pkg", "Zlib_jll", "libass_jll", "libfdk_aac_jll", "libvorbis_jll", "x264_jll", "x265_jll"] +git-tree-sha1 = "d8a578692e3077ac998b50c0217dfd67f21d1e5f" +uuid = "b22a6f82-2f65-5046-a5b2-351ab43fb4e5" +version = "4.4.0+0" + +[[deps.FFTViews]] +deps = ["CustomUnitRanges", "FFTW"] +git-tree-sha1 = "cbdf14d1e8c7c8aacbe8b19862e0179fd08321c2" +uuid = "4f61f5a4-77b1-5117-aa51-3ab5ef4ef0cd" +version = "0.3.2" + +[[deps.FFTW]] +deps = ["AbstractFFTs", "FFTW_jll", "LinearAlgebra", "MKL_jll", "Preferences", "Reexport"] +git-tree-sha1 = "463cb335fa22c4ebacfd1faba5fde14edb80d96c" +uuid = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341" +version = "1.4.5" + +[[deps.FFTW_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "c6033cc3892d0ef5bb9cd29b7f2f0331ea5184ea" +uuid = "f5851436-0d7a-5f13-b9de-f02708fd171a" +version = "3.3.10+0" + +[[deps.FileIO]] +deps = ["Pkg", "Requires", "UUIDs"] +git-tree-sha1 = "67551df041955cc6ee2ed098718c8fcd7fc7aebe" +uuid = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" +version = "1.12.0" + +[[deps.FileWatching]] +uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" + +[[deps.FixedPointNumbers]] +deps = ["Statistics"] +git-tree-sha1 = "335bfdceacc84c5cdf16aadc768aa5ddfc5383cc" +uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93" +version = "0.8.4" + +[[deps.Fontconfig_jll]] +deps = ["Artifacts", "Bzip2_jll", "Expat_jll", "FreeType2_jll", "JLLWrappers", "Libdl", "Libuuid_jll", "Pkg", "Zlib_jll"] +git-tree-sha1 = "21efd19106a55620a188615da6d3d06cd7f6ee03" +uuid = "a3f928ae-7b40-5064-980b-68af3947d34b" +version = "2.13.93+0" + +[[deps.Formatting]] +deps = ["Printf"] +git-tree-sha1 = "8339d61043228fdd3eb658d86c926cb282ae72a8" +uuid = "59287772-0a20-5a39-b81b-1366585eb4c0" +version = "0.4.2" + +[[deps.FreeType2_jll]] +deps = ["Artifacts", "Bzip2_jll", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] +git-tree-sha1 = "87eb71354d8ec1a96d4a7636bd57a7347dde3ef9" +uuid = "d7e528f0-a631-5988-bf34-fe36492bcfd7" +version = "2.10.4+0" + +[[deps.FriBidi_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "aa31987c2ba8704e23c6c8ba8a4f769d5d7e4f91" +uuid = "559328eb-81f9-559d-9380-de523a88c83c" +version = "1.0.10+0" + +[[deps.FunctionalCollections]] +deps = ["Test"] +git-tree-sha1 = "04cb9cfaa6ba5311973994fe3496ddec19b6292a" +uuid = "de31a74c-ac4f-5751-b3fd-e18cd04993ca" +version = "0.5.0" + +[[deps.GTK3_jll]] +deps = ["ATK_jll", "Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "FriBidi_jll", "Glib_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Libepoxy_jll", "Pango_jll", "Pkg", "Wayland_jll", "Xorg_libX11_jll", "Xorg_libXcomposite_jll", "Xorg_libXcursor_jll", "Xorg_libXdamage_jll", "Xorg_libXext_jll", "Xorg_libXfixes_jll", "Xorg_libXi_jll", "Xorg_libXinerama_jll", "Xorg_libXrandr_jll", "Xorg_libXrender_jll", "at_spi2_atk_jll", "gdk_pixbuf_jll", "iso_codes_jll", "xkbcommon_jll"] +git-tree-sha1 = "b080a592525632d287aee4637a62682576b7f5e4" +uuid = "77ec8976-b24b-556a-a1bf-49a033a670a6" +version = "3.24.31+0" + +[[deps.Gettext_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Libiconv_jll", "Pkg", "XML2_jll"] +git-tree-sha1 = "9b02998aba7bf074d14de89f9d37ca24a1a0b046" +uuid = "78b55507-aeef-58d4-861c-77aaff3498b1" +version = "0.21.0+0" + +[[deps.Ghostscript_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "78e2c69783c9753a91cdae88a8d432be85a2ab5e" +uuid = "61579ee1-b43e-5ca0-a5da-69d92c66a64b" +version = "9.55.0+0" + +[[deps.Glib_jll]] +deps = ["Artifacts", "Gettext_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Libiconv_jll", "Libmount_jll", "PCRE_jll", "Pkg", "Zlib_jll"] +git-tree-sha1 = "a32d672ac2c967f3deb8a81d828afc739c838a06" +uuid = "7746bdde-850d-59dc-9ae8-88ece973131d" +version = "2.68.3+2" + +[[deps.Glob]] +git-tree-sha1 = "4df9f7e06108728ebf00a0a11edee4b29a482bb2" +uuid = "c27321d9-0574-5035-807b-f59d2c89b15c" +version = "1.3.0" + +[[deps.Graphics]] +deps = ["Colors", "LinearAlgebra", "NaNMath"] +git-tree-sha1 = "1c5a84319923bea76fa145d49e93aa4394c73fc2" +uuid = "a2bd30eb-e257-5431-a919-1863eab51364" +version = "1.1.1" + +[[deps.Graphite2_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "344bf40dcab1073aca04aa0df4fb092f920e4011" +uuid = "3b182d85-2403-5c21-9c21-1e1f0cc25472" +version = "1.3.14+0" + +[[deps.Graphs]] +deps = ["ArnoldiMethod", "Compat", "DataStructures", "Distributed", "Inflate", "LinearAlgebra", "Random", "SharedArrays", "SimpleTraits", "SparseArrays", "Statistics"] +git-tree-sha1 = "d727758173afef0af878b29ac364a0eca299fc6b" +uuid = "86223c79-3864-5bf0-83f7-82e725a168b6" +version = "1.5.1" + +[[deps.Gtk]] +deps = ["Cairo", "Cairo_jll", "Dates", "GTK3_jll", "Glib_jll", "Graphics", "JLLWrappers", "Libdl", "Librsvg_jll", "Pkg", "Reexport", "Serialization", "Test", "Xorg_xkeyboard_config_jll", "adwaita_icon_theme_jll", "gdk_pixbuf_jll", "hicolor_icon_theme_jll"] +git-tree-sha1 = "09afd81dd7d80ae0dc6f489fd21560725e45497e" +uuid = "4c0ca9eb-093a-5379-98c5-f87ac0bbbf44" +version = "1.2.0" + +[[deps.GtkReactive]] +deps = ["Cairo", "Colors", "Dates", "FixedPointNumbers", "Graphics", "Gtk", "IntervalSets", "Reactive", "Reexport", "RoundingIntegers"] +git-tree-sha1 = "ccb07a5fa45e43ac83b6795c9e218d6a802c93d8" +uuid = "27996c0f-39cd-5cc1-a27a-05f136f946b6" +version = "1.0.6" + +[[deps.HTTP]] +deps = ["Base64", "Dates", "IniFile", "Logging", "MbedTLS", "NetworkOptions", "Sockets", "URIs"] +git-tree-sha1 = "0fa77022fe4b511826b39c894c90daf5fce3334a" +uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" +version = "0.9.17" + +[[deps.HarfBuzz_jll]] +deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "Graphite2_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg"] +git-tree-sha1 = "129acf094d168394e80ee1dc4bc06ec835e510a3" +uuid = "2e76f6c2-a576-52d4-95c1-20adfe4de566" +version = "2.8.1+1" + +[[deps.Hungarian]] +deps = ["LinearAlgebra", "SparseArrays"] +git-tree-sha1 = "371a7df7a6cce5909d6c576f234a2da2e3fa0c98" +uuid = "e91730f6-4275-51fb-a7a0-7064cfbd3b39" +version = "0.6.0" + +[[deps.IfElse]] +git-tree-sha1 = "debdd00ffef04665ccbb3e150747a77560e8fad1" +uuid = "615f187c-cbe4-4ef1-ba3b-2fcf58d6d173" +version = "0.1.1" + +[[deps.ImageAxes]] +deps = ["AxisArrays", "ImageBase", "ImageCore", "Reexport", "SimpleTraits"] +git-tree-sha1 = "c54b581a83008dc7f292e205f4c409ab5caa0f04" +uuid = "2803e5a7-5153-5ecf-9a86-9b4c37f5f5ac" +version = "0.6.10" + +[[deps.ImageBase]] +deps = ["ImageCore", "Reexport"] +git-tree-sha1 = "b51bb8cae22c66d0f6357e3bcb6363145ef20835" +uuid = "c817782e-172a-44cc-b673-b171935fbb9e" +version = "0.1.5" + +[[deps.ImageContrastAdjustment]] +deps = ["ImageCore", "ImageTransformations", "Parameters"] +git-tree-sha1 = "0d75cafa80cf22026cea21a8e6cf965295003edc" +uuid = "f332f351-ec65-5f6a-b3d1-319c6670881a" +version = "0.3.10" + +[[deps.ImageCore]] +deps = ["AbstractFFTs", "ColorVectorSpace", "Colors", "FixedPointNumbers", "Graphics", "MappedArrays", "MosaicViews", "OffsetArrays", "PaddedViews", "Reexport"] +git-tree-sha1 = "9a5c62f231e5bba35695a20988fc7cd6de7eeb5a" +uuid = "a09fc81d-aa75-5fe9-8630-4744c3626534" +version = "0.9.3" + +[[deps.ImageDistances]] +deps = ["Distances", "ImageCore", "ImageMorphology", "LinearAlgebra", "Statistics"] +git-tree-sha1 = "7a20463713d239a19cbad3f6991e404aca876bda" +uuid = "51556ac3-7006-55f5-8cb3-34580c88182d" +version = "0.2.15" + +[[deps.ImageFiltering]] +deps = ["CatIndices", "ComputationalResources", "DataStructures", "FFTViews", "FFTW", "ImageBase", "ImageCore", "LinearAlgebra", "OffsetArrays", "Reexport", "SparseArrays", "StaticArrays", "Statistics", "TiledIteration"] +git-tree-sha1 = "15bd05c1c0d5dbb32a9a3d7e0ad2d50dd6167189" +uuid = "6a3955dd-da59-5b1f-98d4-e7296123deb5" +version = "0.7.1" + +[[deps.ImageIO]] +deps = ["FileIO", "Netpbm", "OpenEXR", "PNGFiles", "QOI", "Sixel", "TiffImages", "UUIDs"] +git-tree-sha1 = "816fc866edd8307a6e79a575e6585bfab8cef27f" +uuid = "82e4d734-157c-48bb-816b-45c225c6df19" +version = "0.6.0" + +[[deps.ImageInTerminal]] +deps = ["Crayons", "ImageBase", "ImageCore", "Requires"] +git-tree-sha1 = "2bd30630d417699c925fa7f16d51282d7343e3eb" +uuid = "d8c32880-2388-543b-8c61-d9f865259254" +version = "0.4.8" + +[[deps.ImageMagick]] +deps = ["FileIO", "ImageCore", "ImageMagick_jll", "InteractiveUtils", "Libdl", "Pkg", "Random"] +git-tree-sha1 = "5bc1cb62e0c5f1005868358db0692c994c3a13c6" +uuid = "6218d12a-5da1-5696-b52f-db25d2ecc6d1" +version = "1.2.1" + +[[deps.ImageMagick_jll]] +deps = ["Artifacts", "Ghostscript_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pkg", "Zlib_jll", "libpng_jll"] +git-tree-sha1 = "f025b79883f361fa1bd80ad132773161d231fd9f" +uuid = "c73af94c-d91f-53ed-93a7-00f77d67a9d7" +version = "6.9.12+2" + +[[deps.ImageMetadata]] +deps = ["AxisArrays", "ImageAxes", "ImageBase", "ImageCore"] +git-tree-sha1 = "36cbaebed194b292590cba2593da27b34763804a" +uuid = "bc367c6b-8a6b-528e-b4bd-a4b897500b49" +version = "0.9.8" + +[[deps.ImageMorphology]] +deps = ["ImageCore", "LinearAlgebra", "Requires", "TiledIteration"] +git-tree-sha1 = "5581e18a74a5838bd919294a7138c2663d065238" +uuid = "787d08f9-d448-5407-9aad-5290dd7ab264" +version = "0.3.0" + +[[deps.ImageQualityIndexes]] +deps = ["ImageContrastAdjustment", "ImageCore", "ImageDistances", "ImageFiltering", "OffsetArrays", "Statistics"] +git-tree-sha1 = "1d2d73b14198d10f7f12bf7f8481fd4b3ff5cd61" +uuid = "2996bd0c-7a13-11e9-2da2-2f5ce47296a9" +version = "0.3.0" + +[[deps.ImageSegmentation]] +deps = ["Clustering", "DataStructures", "Distances", "Graphs", "ImageCore", "ImageFiltering", "ImageMorphology", "LinearAlgebra", "MetaGraphs", "RegionTrees", "SimpleWeightedGraphs", "StaticArrays", "Statistics"] +git-tree-sha1 = "36832067ea220818d105d718527d6ed02385bf22" +uuid = "80713f31-8817-5129-9cf8-209ff8fb23e1" +version = "1.7.0" + +[[deps.ImageShow]] +deps = ["Base64", "FileIO", "ImageBase", "ImageCore", "OffsetArrays", "StackViews"] +git-tree-sha1 = "d0ac64c9bee0aed6fdbb2bc0e5dfa9a3a78e3acc" +uuid = "4e3cecfd-b093-5904-9786-8bbb286a6a31" +version = "0.3.3" + +[[deps.ImageTransformations]] +deps = ["AxisAlgorithms", "ColorVectorSpace", "CoordinateTransformations", "ImageBase", "ImageCore", "Interpolations", "OffsetArrays", "Rotations", "StaticArrays"] +git-tree-sha1 = "42fe8de1fe1f80dab37a39d391b6301f7aeaa7b8" +uuid = "02fcd773-0e25-5acc-982a-7f6622650795" +version = "0.9.4" + +[[deps.Images]] +deps = ["Base64", "FileIO", "Graphics", "ImageAxes", "ImageBase", "ImageContrastAdjustment", "ImageCore", "ImageDistances", "ImageFiltering", "ImageIO", "ImageMagick", "ImageMetadata", "ImageMorphology", "ImageQualityIndexes", "ImageSegmentation", "ImageShow", "ImageTransformations", "IndirectArrays", "IntegralArrays", "Random", "Reexport", "SparseArrays", "StaticArrays", "Statistics", "StatsBase", "TiledIteration"] +git-tree-sha1 = "11d268adba1869067620659e7cdf07f5e54b6c76" +uuid = "916415d5-f1e6-5110-898d-aaa5f9f070e0" +version = "0.25.1" + +[[deps.Imath_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "87f7662e03a649cffa2e05bf19c303e168732d3e" +uuid = "905a6f67-0a94-5f89-b386-d35d92009cd1" +version = "3.1.2+0" + +[[deps.IndirectArrays]] +git-tree-sha1 = "012e604e1c7458645cb8b436f8fba789a51b257f" +uuid = "9b13fd28-a010-5f03-acff-a1bbcff69959" +version = "1.0.0" + +[[deps.Inflate]] +git-tree-sha1 = "f5fc07d4e706b84f72d54eedcc1c13d92fb0871c" +uuid = "d25df0c9-e2be-5dd7-82c8-3ad0b3e990b9" +version = "0.1.2" + +[[deps.IniFile]] +deps = ["Test"] +git-tree-sha1 = "098e4d2c533924c921f9f9847274f2ad89e018b8" +uuid = "83e8ac13-25f8-5344-8a64-a9f2b223428f" +version = "0.5.0" + +[[deps.IntegralArrays]] +deps = ["ColorTypes", "FixedPointNumbers", "IntervalSets"] +git-tree-sha1 = "00019244715621f473d399e4e1842e479a69a42e" +uuid = "1d092043-8f09-5a30-832f-7509e371ab51" +version = "0.1.2" + +[[deps.IntelOpenMP_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "d979e54b71da82f3a65b62553da4fc3d18c9004c" +uuid = "1d5cc7b8-4909-519e-a0f8-d0f5ad9712d0" +version = "2018.0.3+2" + +[[deps.Interact]] +deps = ["CSSUtil", "InteractBase", "JSON", "Knockout", "Observables", "OrderedCollections", "Reexport", "WebIO", "Widgets"] +git-tree-sha1 = "311f9130aeb50ac93a12dd076fa02c9a430be525" +uuid = "c601a237-2ae4-5e1e-952c-7a85b0c7eef1" +version = "0.10.4" + +[[deps.InteractBase]] +deps = ["Base64", "CSSUtil", "Colors", "Dates", "JSExpr", "JSON", "Knockout", "Observables", "OrderedCollections", "Random", "WebIO", "Widgets"] +git-tree-sha1 = "caf189c84e1cc6512b71fea0ec60fa8fdc761d7b" +uuid = "d3863d7c-f0c8-5437-a7b4-3ae773c01009" +version = "0.10.7" + +[[deps.InteractiveUtils]] +deps = ["Markdown"] +uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" + +[[deps.Interpolations]] +deps = ["AxisAlgorithms", "ChainRulesCore", "LinearAlgebra", "OffsetArrays", "Random", "Ratios", "Requires", "SharedArrays", "SparseArrays", "StaticArrays", "WoodburyMatrices"] +git-tree-sha1 = "b15fc0a95c564ca2e0a7ae12c1f095ca848ceb31" +uuid = "a98d9a8b-a2ab-59e6-89dd-64a1c18fca59" +version = "0.13.5" + +[[deps.IntervalSets]] +deps = ["Dates", "EllipsisNotation", "Statistics"] +git-tree-sha1 = "3cc368af3f110a767ac786560045dceddfc16758" +uuid = "8197267c-284f-5f27-9208-e0e47529a953" +version = "0.5.3" + +[[deps.InverseFunctions]] +deps = ["Test"] +git-tree-sha1 = "a7254c0acd8e62f1ac75ad24d5db43f5f19f3c65" +uuid = "3587e190-3f89-42d0-90ee-14403ec27112" +version = "0.1.2" + +[[deps.IrrationalConstants]] +git-tree-sha1 = "7fd44fd4ff43fc60815f8e764c0f352b83c49151" +uuid = "92d709cd-6900-40b7-9082-c6be49f344b6" +version = "0.1.1" + +[[deps.IterTools]] +git-tree-sha1 = "fa6287a4469f5e048d763df38279ee729fbd44e5" +uuid = "c8e1da08-722c-5040-9ed9-7db0dc04731e" +version = "1.4.0" + +[[deps.JLD2]] +deps = ["DataStructures", "FileIO", "MacroTools", "Mmap", "Pkg", "Printf", "Reexport", "TranscodingStreams", "UUIDs"] +git-tree-sha1 = "09ef0c32a26f80b465d808a1ba1e85775a282c97" +uuid = "033835bb-8acc-5ee8-8aae-3f567f8a3819" +version = "0.4.17" + +[[deps.JLLWrappers]] +deps = ["Preferences"] +git-tree-sha1 = "22df5b96feef82434b07327e2d3c770a9b21e023" +uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" +version = "1.4.0" + +[[deps.JSExpr]] +deps = ["JSON", "MacroTools", "Observables", "WebIO"] +git-tree-sha1 = "bd6c034156b1e7295450a219c4340e32e50b08b1" +uuid = "97c1335a-c9c5-57fe-bc5d-ec35cebe8660" +version = "0.5.3" + +[[deps.JSON]] +deps = ["Dates", "Mmap", "Parsers", "Unicode"] +git-tree-sha1 = "8076680b162ada2a031f707ac7b4953e30667a37" +uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" +version = "0.21.2" + +[[deps.Javis]] +deps = ["Animations", "Cairo", "FFMPEG", "Gtk", "GtkReactive", "Hungarian", "ImageIO", "ImageMagick", "Images", "Interact", "LaTeXStrings", "LightXML", "Luxor", "ProgressMeter", "Random", "Statistics", "VideoIO"] +git-tree-sha1 = "a1aa16b4fccb0404042775ecba740de1bfd7b2fd" +uuid = "78b212ba-a7f9-42d4-b726-60726080707e" +version = "0.7.2" + +[[deps.JpegTurbo_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "d735490ac75c5cb9f1b00d8b5509c11984dc6943" +uuid = "aacddb02-875f-59d6-b918-886e6ef4fbf8" +version = "2.1.0+0" + +[[deps.Juno]] +deps = ["Base64", "Logging", "Media", "Profile"] +git-tree-sha1 = "07cb43290a840908a771552911a6274bc6c072c7" +uuid = "e5e0dc1b-0480-54bc-9374-aad01c23163d" +version = "0.8.4" + +[[deps.Knockout]] +deps = ["JSExpr", "JSON", "Observables", "Test", "WebIO"] +git-tree-sha1 = "deb74017e1061d76050ff68d219217413be4ef59" +uuid = "bcebb21b-c2e3-54f8-a781-646b90f6d2cc" +version = "0.2.5" + +[[deps.LAME_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "f6250b16881adf048549549fba48b1161acdac8c" +uuid = "c1c5ebd0-6772-5130-a774-d5fcae4a789d" +version = "3.100.1+0" + +[[deps.LZO_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "e5b909bcf985c5e2605737d2ce278ed791b89be6" +uuid = "dd4b983a-f0e5-5f8d-a1b7-129d4a5fb1ac" +version = "2.10.1+0" + +[[deps.LaTeXStrings]] +git-tree-sha1 = "f2355693d6778a178ade15952b7ac47a4ff97996" +uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" +version = "1.3.0" + +[[deps.Latexify]] +deps = ["Formatting", "InteractiveUtils", "LaTeXStrings", "MacroTools", "Markdown", "Printf", "Requires"] +git-tree-sha1 = "a8f4f279b6fa3c3c4f1adadd78a621b13a506bce" +uuid = "23fbe1c1-3f47-55db-b15f-69d7ec21a316" +version = "0.15.9" + +[[deps.LazyArtifacts]] +deps = ["Artifacts", "Pkg"] +uuid = "4af54fe1-eca0-43a8-85a7-787d91b784e3" + +[[deps.LibCURL]] +deps = ["LibCURL_jll", "MozillaCACerts_jll"] +uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" + +[[deps.LibCURL_jll]] +deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] +uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" + +[[deps.LibGit2]] +deps = ["Base64", "NetworkOptions", "Printf", "SHA"] +uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" + +[[deps.LibSSH2_jll]] +deps = ["Artifacts", "Libdl", "MbedTLS_jll"] +uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" + +[[deps.Libdl]] +uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" + +[[deps.Libepoxy_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libglvnd_jll", "Pkg", "Xorg_libX11_jll"] +git-tree-sha1 = "18b65a0eff6b58546bec18065e73f8a04e83758d" +uuid = "42c93a91-0102-5b3f-8f9d-e41de60ac950" +version = "1.5.8+1" + +[[deps.Libffi_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "0b4a5d71f3e5200a7dff793393e09dfc2d874290" +uuid = "e9f186c6-92d2-5b65-8a66-fee21dc1b490" +version = "3.2.2+1" + +[[deps.Libgcrypt_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgpg_error_jll", "Pkg"] +git-tree-sha1 = "64613c82a59c120435c067c2b809fc61cf5166ae" +uuid = "d4300ac3-e22c-5743-9152-c294e39db1e4" +version = "1.8.7+0" + +[[deps.Libglvnd_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll", "Xorg_libXext_jll"] +git-tree-sha1 = "7739f837d6447403596a75d19ed01fd08d6f56bf" +uuid = "7e76a0d4-f3c7-5321-8279-8d96eeed0f29" +version = "1.3.0+3" + +[[deps.Libgpg_error_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "c333716e46366857753e273ce6a69ee0945a6db9" +uuid = "7add5ba3-2f88-524e-9cd5-f83b8a55f7b8" +version = "1.42.0+0" + +[[deps.Libiconv_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "42b62845d70a619f063a7da093d995ec8e15e778" +uuid = "94ce4f54-9a6c-5748-9c1c-f9c7231a4531" +version = "1.16.1+1" + +[[deps.Libmount_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "9c30530bf0effd46e15e0fdcf2b8636e78cbbd73" +uuid = "4b2f31a3-9ecc-558c-b454-b3730dcb73e9" +version = "2.35.0+0" + +[[deps.Librsvg_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pango_jll", "Pkg", "gdk_pixbuf_jll"] +git-tree-sha1 = "25d5e6b4eb3558613ace1c67d6a871420bfca527" +uuid = "925c91fb-5dd6-59dd-8e8c-345e74382d89" +version = "2.52.4+0" + +[[deps.Libtiff_jll]] +deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Pkg", "Zlib_jll", "Zstd_jll"] +git-tree-sha1 = "340e257aada13f95f98ee352d316c3bed37c8ab9" +uuid = "89763e89-9b03-5906-acba-b20f662cd828" +version = "4.3.0+0" + +[[deps.Libuuid_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "7f3efec06033682db852f8b3bc3c1d2b0a0ab066" +uuid = "38a345b3-de98-5d2b-a5d3-14cd9215e700" +version = "2.36.0+0" + +[[deps.LightXML]] +deps = ["Libdl", "XML2_jll"] +git-tree-sha1 = "e129d9391168c677cd4800f5c0abb1ed8cb3794f" +uuid = "9c8b4983-aa76-5018-a973-4c85ecc9e179" +version = "0.9.0" + +[[deps.LinearAlgebra]] +deps = ["Libdl", "libblastrampoline_jll"] +uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" + +[[deps.LogExpFunctions]] +deps = ["ChainRulesCore", "ChangesOfVariables", "DocStringExtensions", "InverseFunctions", "IrrationalConstants", "LinearAlgebra"] +git-tree-sha1 = "e5718a00af0ab9756305a0392832c8952c7426c1" +uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688" +version = "0.3.6" + +[[deps.Logging]] +uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" + +[[deps.Luxor]] +deps = ["Base64", "Cairo", "Colors", "Dates", "FFMPEG", "FileIO", "Juno", "Random", "Requires", "Rsvg"] +git-tree-sha1 = "aa804f92cf77298c86b26ef2487cc624b3dd4004" +uuid = "ae8d54c2-7ccd-5906-9d76-62fc9837b5bc" +version = "2.19.0" + +[[deps.MKL_jll]] +deps = ["Artifacts", "IntelOpenMP_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "Pkg"] +git-tree-sha1 = "5455aef09b40e5020e1520f551fa3135040d4ed0" +uuid = "856f044c-d86e-5d09-b602-aeab76dc8ba7" +version = "2021.1.1+2" + +[[deps.MacroTools]] +deps = ["Markdown", "Random"] +git-tree-sha1 = "3d3e902b31198a27340d0bf00d6ac452866021cf" +uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" +version = "0.5.9" + +[[deps.MappedArrays]] +git-tree-sha1 = "e8b359ef06ec72e8c030463fe02efe5527ee5142" +uuid = "dbb5928d-eab1-5f90-85c2-b9b0edb7c900" +version = "0.4.1" + +[[deps.Markdown]] +deps = ["Base64"] +uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" + +[[deps.MbedTLS]] +deps = ["Dates", "MbedTLS_jll", "Random", "Sockets"] +git-tree-sha1 = "1c38e51c3d08ef2278062ebceade0e46cefc96fe" +uuid = "739be429-bea8-5141-9913-cc70e7f3736d" +version = "1.0.3" + +[[deps.MbedTLS_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" + +[[deps.Measures]] +git-tree-sha1 = "e498ddeee6f9fdb4551ce855a46f54dbd900245f" +uuid = "442fdcdd-2543-5da2-b0f3-8c86c306513e" +version = "0.3.1" + +[[deps.Media]] +deps = ["MacroTools", "Test"] +git-tree-sha1 = "75a54abd10709c01f1b86b84ec225d26e840ed58" +uuid = "e89f7d12-3494-54d1-8411-f7d8b9ae1f27" +version = "0.5.0" + +[[deps.MetaGraphs]] +deps = ["Graphs", "JLD2", "Random"] +git-tree-sha1 = "2af69ff3c024d13bde52b34a2a7d6887d4e7b438" +uuid = "626554b9-1ddb-594c-aa3c-2596fe9399a5" +version = "0.7.1" + +[[deps.Missings]] +deps = ["DataAPI"] +git-tree-sha1 = "bf210ce90b6c9eed32d25dbcae1ebc565df2687f" +uuid = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28" +version = "1.0.2" + +[[deps.Mmap]] +uuid = "a63ad114-7e13-5084-954f-fe012c677804" + +[[deps.MosaicViews]] +deps = ["MappedArrays", "OffsetArrays", "PaddedViews", "StackViews"] +git-tree-sha1 = "b34e3bc3ca7c94914418637cb10cc4d1d80d877d" +uuid = "e94cdb99-869f-56ef-bcf0-1ae2bcbe0389" +version = "0.3.3" + +[[deps.MozillaCACerts_jll]] +uuid = "14a3606d-f60d-562e-9121-12d972cd8159" + +[[deps.NaNMath]] +git-tree-sha1 = "f755f36b19a5116bb580de457cda0c140153f283" +uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" +version = "0.3.6" + +[[deps.NearestNeighbors]] +deps = ["Distances", "StaticArrays"] +git-tree-sha1 = "16baacfdc8758bc374882566c9187e785e85c2f0" +uuid = "b8a86587-4115-5ab1-83bc-aa920d37bbce" +version = "0.4.9" + +[[deps.Netpbm]] +deps = ["FileIO", "ImageCore"] +git-tree-sha1 = "18efc06f6ec36a8b801b23f076e3c6ac7c3bf153" +uuid = "f09324ee-3d7c-5217-9330-fc30815ba969" +version = "1.0.2" + +[[deps.NetworkOptions]] +uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" + +[[deps.Observables]] +git-tree-sha1 = "fe29afdef3d0c4a8286128d4e45cc50621b1e43d" +uuid = "510215fc-4207-5dde-b226-833fc4488ee2" +version = "0.4.0" + +[[deps.OffsetArrays]] +deps = ["Adapt"] +git-tree-sha1 = "043017e0bdeff61cfbb7afeb558ab29536bbb5ed" +uuid = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" +version = "1.10.8" + +[[deps.Ogg_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "887579a3eb005446d514ab7aeac5d1d027658b8f" +uuid = "e7412a2a-1a6e-54c0-be00-318e2571c051" +version = "1.3.5+1" + +[[deps.OpenBLAS_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] +uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" + +[[deps.OpenEXR]] +deps = ["Colors", "FileIO", "OpenEXR_jll"] +git-tree-sha1 = "327f53360fdb54df7ecd01e96ef1983536d1e633" +uuid = "52e1d378-f018-4a11-a4be-720524705ac7" +version = "0.3.2" + +[[deps.OpenEXR_jll]] +deps = ["Artifacts", "Imath_jll", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] +git-tree-sha1 = "923319661e9a22712f24596ce81c54fc0366f304" +uuid = "18a262bb-aa17-5467-a713-aee519bc75cb" +version = "3.1.1+0" + +[[deps.OpenLibm_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "05823500-19ac-5b8b-9628-191a04bc5112" + +[[deps.OpenSSL_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "648107615c15d4e09f7eca16307bc821c1f718d8" +uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" +version = "1.1.13+0" + +[[deps.OpenSpecFun_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "13652491f6856acfd2db29360e1bbcd4565d04f1" +uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e" +version = "0.5.5+0" + +[[deps.Opus_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "51a08fb14ec28da2ec7a927c4337e4332c2a4720" +uuid = "91d4177d-7536-5919-b921-800302f37372" +version = "1.3.2+0" + +[[deps.OrderedCollections]] +git-tree-sha1 = "85f8e6578bf1f9ee0d11e7bb1b1456435479d47c" +uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" +version = "1.4.1" + +[[deps.PCRE_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "b2a7af664e098055a7529ad1a900ded962bca488" +uuid = "2f80f16e-611a-54ab-bc61-aa92de5b98fc" +version = "8.44.0+0" + +[[deps.PNGFiles]] +deps = ["Base64", "CEnum", "ImageCore", "IndirectArrays", "OffsetArrays", "libpng_jll"] +git-tree-sha1 = "6d105d40e30b635cfed9d52ec29cf456e27d38f8" +uuid = "f57f5aa1-a3ce-4bc8-8ab9-96f992907883" +version = "0.3.12" + +[[deps.PaddedViews]] +deps = ["OffsetArrays"] +git-tree-sha1 = "03a7a85b76381a3d04c7a1656039197e70eda03d" +uuid = "5432bcbf-9aad-5242-b902-cca2824c8663" +version = "0.5.11" + +[[deps.Pango_jll]] +deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "FriBidi_jll", "Glib_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "9bc1871464b12ed19297fbc56c4fb4ba84988b0d" +uuid = "36c8627f-9965-5494-a995-c6b170f724f3" +version = "1.47.0+0" + +[[deps.Parameters]] +deps = ["OrderedCollections", "UnPack"] +git-tree-sha1 = "34c0e9ad262e5f7fc75b10a9952ca7692cfc5fbe" +uuid = "d96e819e-fc66-5662-9728-84c9c7592b0a" +version = "0.12.3" + +[[deps.Parsers]] +deps = ["Dates"] +git-tree-sha1 = "92f91ba9e5941fc781fecf5494ac1da87bdac775" +uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" +version = "2.2.0" + +[[deps.Pidfile]] +deps = ["FileWatching", "Test"] +git-tree-sha1 = "1be8660b2064893cd2dae4bd004b589278e4440d" +uuid = "fa939f87-e72e-5be4-a000-7fc836dbe307" +version = "1.2.0" + +[[deps.Pixman_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "b4f5d02549a10e20780a24fce72bea96b6329e29" +uuid = "30392449-352a-5448-841d-b1acce4e97dc" +version = "0.40.1+0" + +[[deps.Pkg]] +deps = ["Artifacts", "Dates", "Downloads", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] +uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" + +[[deps.PkgVersion]] +deps = ["Pkg"] +git-tree-sha1 = "a7a7e1a88853564e551e4eba8650f8c38df79b37" +uuid = "eebad327-c553-4316-9ea0-9fa01ccd7688" +version = "0.1.1" + +[[deps.Preferences]] +deps = ["TOML"] +git-tree-sha1 = "2cf929d64681236a2e074ffafb8d568733d2e6af" +uuid = "21216c6a-2e73-6563-6e65-726566657250" +version = "1.2.3" + +[[deps.Printf]] +deps = ["Unicode"] +uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" + +[[deps.Profile]] +deps = ["Printf"] +uuid = "9abbd945-dff8-562f-b5e8-e1ebf5ef1b79" + +[[deps.ProgressMeter]] +deps = ["Distributed", "Printf"] +git-tree-sha1 = "afadeba63d90ff223a6a48d2009434ecee2ec9e8" +uuid = "92933f4c-e287-5a05-a399-4b506db050ca" +version = "1.7.1" + +[[deps.QOI]] +deps = ["ColorTypes", "FileIO", "FixedPointNumbers"] +git-tree-sha1 = "18e8f4d1426e965c7b532ddd260599e1510d26ce" +uuid = "4b34888f-f399-49d4-9bb3-47ed5cae4e65" +version = "1.0.0" + +[[deps.Quaternions]] +deps = ["DualNumbers", "LinearAlgebra"] +git-tree-sha1 = "adf644ef95a5e26c8774890a509a55b7791a139f" +uuid = "94ee1d12-ae83-5a48-8b1c-48b8ff168ae0" +version = "0.4.2" + +[[deps.REPL]] +deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] +uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" + +[[deps.Random]] +deps = ["SHA", "Serialization"] +uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" + +[[deps.RangeArrays]] +git-tree-sha1 = "b9039e93773ddcfc828f12aadf7115b4b4d225f5" +uuid = "b3c3ace0-ae52-54e7-9d0b-2c1406fd6b9d" +version = "0.3.2" + +[[deps.Ratios]] +deps = ["Requires"] +git-tree-sha1 = "01d341f502250e81f6fec0afe662aa861392a3aa" +uuid = "c84ed2f1-dad5-54f0-aa8e-dbefe2724439" +version = "0.4.2" + +[[deps.Reactive]] +deps = ["DataStructures", "Distributed", "Test"] +git-tree-sha1 = "5862d915387ebb954016f50a88e34f79a9e5fcd2" +uuid = "a223df75-4e93-5b7c-acf9-bdd599c0f4de" +version = "0.8.3" + +[[deps.Reexport]] +git-tree-sha1 = "45e428421666073eab6f2da5c9d310d99bb12f9b" +uuid = "189a3867-3050-52da-a836-e630ba90ab69" +version = "1.2.2" + +[[deps.ReferenceTests]] +deps = ["DeepDiffs", "Distances", "FileIO", "ImageCore", "ImageInTerminal", "Random", "SHA", "Test"] +git-tree-sha1 = "98d9db9135a79fe5e66b14a0c2469a897c0edb64" +uuid = "324d217c-45ce-50fc-942e-d289b448e8cf" +version = "0.9.9" + +[[deps.RegionTrees]] +deps = ["IterTools", "LinearAlgebra", "StaticArrays"] +git-tree-sha1 = "4618ed0da7a251c7f92e869ae1a19c74a7d2a7f9" +uuid = "dee08c22-ab7f-5625-9660-a9af2021b33f" +version = "0.3.2" + +[[deps.Requires]] +deps = ["UUIDs"] +git-tree-sha1 = "838a3a4188e2ded87a4f9f184b4b0d78a1e91cb7" +uuid = "ae029012-a4dd-5104-9daa-d747884805df" +version = "1.3.0" + +[[deps.Rotations]] +deps = ["LinearAlgebra", "Quaternions", "Random", "StaticArrays", "Statistics"] +git-tree-sha1 = "2fa87d198bc5356c649b92109ed3ce46ee1eb89d" +uuid = "6038ab10-8711-5258-84ad-4b1120ba62dc" +version = "1.1.1" + +[[deps.RoundingIntegers]] +git-tree-sha1 = "99acd97f396ea71a5be06ba6de5c9defe188a778" +uuid = "d5f540fe-1c90-5db3-b776-2e2f362d9394" +version = "1.1.0" + +[[deps.Rsvg]] +deps = ["Cairo", "Glib_jll", "Librsvg_jll"] +git-tree-sha1 = "3d3dc66eb46568fb3a5259034bfc752a0eb0c686" +uuid = "c4c386cf-5103-5370-be45-f3a111cca3b8" +version = "1.0.0" + +[[deps.SHA]] +uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" + +[[deps.Serialization]] +uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" + +[[deps.SharedArrays]] +deps = ["Distributed", "Mmap", "Random", "Serialization"] +uuid = "1a1011a3-84de-559e-8e89-a11a2f7dc383" + +[[deps.SimpleTraits]] +deps = ["InteractiveUtils", "MacroTools"] +git-tree-sha1 = "5d7e3f4e11935503d3ecaf7186eac40602e7d231" +uuid = "699a6c99-e7fa-54fc-8d76-47d257e15c1d" +version = "0.9.4" + +[[deps.SimpleWeightedGraphs]] +deps = ["Graphs", "LinearAlgebra", "Markdown", "SparseArrays", "Test"] +git-tree-sha1 = "a6f404cc44d3d3b28c793ec0eb59af709d827e4e" +uuid = "47aef6b3-ad0c-573a-a1e2-d07658019622" +version = "1.2.1" + +[[deps.Sixel]] +deps = ["Dates", "FileIO", "ImageCore", "IndirectArrays", "OffsetArrays", "REPL", "libsixel_jll"] +git-tree-sha1 = "8fb59825be681d451c246a795117f317ecbcaa28" +uuid = "45858cf5-a6b0-47a3-bbea-62219f50df47" +version = "0.1.2" + +[[deps.Sockets]] +uuid = "6462fe0b-24de-5631-8697-dd941f90decc" + +[[deps.SortingAlgorithms]] +deps = ["DataStructures"] +git-tree-sha1 = "b3363d7460f7d098ca0912c69b082f75625d7508" +uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" +version = "1.0.1" + +[[deps.SparseArrays]] +deps = ["LinearAlgebra", "Random"] +uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" + +[[deps.SpecialFunctions]] +deps = ["ChainRulesCore", "IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] +git-tree-sha1 = "e08890d19787ec25029113e88c34ec20cac1c91e" +uuid = "276daf66-3868-5448-9aa4-cd146d93841b" +version = "2.0.0" + +[[deps.StackViews]] +deps = ["OffsetArrays"] +git-tree-sha1 = "46e589465204cd0c08b4bd97385e4fa79a0c770c" +uuid = "cae243ae-269e-4f55-b966-ac2d0dc13c15" +version = "0.1.1" + +[[deps.Static]] +deps = ["IfElse"] +git-tree-sha1 = "b4912cd034cdf968e06ca5f943bb54b17b97793a" +uuid = "aedffcd0-7271-4cad-89d0-dc628f76c6d3" +version = "0.5.1" + +[[deps.StaticArrays]] +deps = ["LinearAlgebra", "Random", "Statistics"] +git-tree-sha1 = "2884859916598f974858ff01df7dfc6c708dd895" +uuid = "90137ffa-7385-5640-81b9-e52037218182" +version = "1.3.3" + +[[deps.Statistics]] +deps = ["LinearAlgebra", "SparseArrays"] +uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" + +[[deps.StatsAPI]] +git-tree-sha1 = "d88665adc9bcf45903013af0982e2fd05ae3d0a6" +uuid = "82ae8749-77ed-4fe6-ae5f-f523153014b0" +version = "1.2.0" + +[[deps.StatsBase]] +deps = ["DataAPI", "DataStructures", "LinearAlgebra", "LogExpFunctions", "Missings", "Printf", "Random", "SortingAlgorithms", "SparseArrays", "Statistics", "StatsAPI"] +git-tree-sha1 = "51383f2d367eb3b444c961d485c565e4c0cf4ba0" +uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" +version = "0.33.14" + +[[deps.TOML]] +deps = ["Dates"] +uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" + +[[deps.Tar]] +deps = ["ArgTools", "SHA"] +uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" + +[[deps.TensorCore]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "1feb45f88d133a655e001435632f019a9a1bcdb6" +uuid = "62fd8b95-f654-4bbd-a8a5-9c27f68ccd50" +version = "0.1.1" + +[[deps.Test]] +deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] +uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[[deps.TiffImages]] +deps = ["ColorTypes", "DataStructures", "DocStringExtensions", "FileIO", "FixedPointNumbers", "IndirectArrays", "Inflate", "OffsetArrays", "PkgVersion", "ProgressMeter", "UUIDs"] +git-tree-sha1 = "991d34bbff0d9125d93ba15887d6594e8e84b305" +uuid = "731e570b-9d59-4bfa-96dc-6df516fadf69" +version = "0.5.3" + +[[deps.TiledIteration]] +deps = ["OffsetArrays"] +git-tree-sha1 = "5683455224ba92ef59db72d10690690f4a8dc297" +uuid = "06e1c1a7-607b-532d-9fad-de7d9aa2abac" +version = "0.3.1" + +[[deps.TranscodingStreams]] +deps = ["Random", "Test"] +git-tree-sha1 = "216b95ea110b5972db65aa90f88d8d89dcb8851c" +uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" +version = "0.9.6" + +[[deps.URIs]] +git-tree-sha1 = "97bbe755a53fe859669cd907f2d96aee8d2c1355" +uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" +version = "1.3.0" + +[[deps.UUIDs]] +deps = ["Random", "SHA"] +uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" + +[[deps.UnPack]] +git-tree-sha1 = "387c1f73762231e86e0c9c5443ce3b4a0a9a0c2b" +uuid = "3a884ed6-31ef-47d7-9d2a-63182c4928ed" +version = "1.0.2" + +[[deps.Unicode]] +uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" + +[[deps.VideoIO]] +deps = ["ColorTypes", "Dates", "Downloads", "FFMPEG", "FileIO", "Glob", "ImageCore", "Libdl", "ProgressMeter", "Requires"] +git-tree-sha1 = "16d386dab973f1fd7f5b42254962b14cbb4694c4" +uuid = "d6d074c3-1acf-5d4c-9a43-ef38773959a2" +version = "0.9.6" + +[[deps.Wayland_jll]] +deps = ["Artifacts", "Expat_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg", "XML2_jll"] +git-tree-sha1 = "3e61f0b86f90dacb0bc0e73a0c5a83f6a8636e23" +uuid = "a2964d1f-97da-50d4-b82a-358c7fce9d89" +version = "1.19.0+0" + +[[deps.Wayland_protocols_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "66d72dc6fcc86352f01676e8f0f698562e60510f" +uuid = "2381bf8a-dfd0-557d-9999-79630e7b1b91" +version = "1.23.0+0" + +[[deps.WebIO]] +deps = ["AssetRegistry", "Base64", "Distributed", "FunctionalCollections", "JSON", "Logging", "Observables", "Pkg", "Random", "Requires", "Sockets", "UUIDs", "WebSockets", "Widgets"] +git-tree-sha1 = "5fe32e4086d49f7ab9b087296742859f3ae6d62a" +uuid = "0f1e0344-ec1d-5b48-a673-e5cf874b6c29" +version = "0.8.16" + +[[deps.WebSockets]] +deps = ["Base64", "Dates", "HTTP", "Logging", "Sockets"] +git-tree-sha1 = "f91a602e25fe6b89afc93cf02a4ae18ee9384ce3" +uuid = "104b5d7c-a370-577a-8038-80a2059c5097" +version = "1.5.9" + +[[deps.Widgets]] +deps = ["Colors", "Dates", "Observables", "OrderedCollections"] +git-tree-sha1 = "80661f59d28714632132c73779f8becc19a113f2" +uuid = "cc8bc4a8-27d6-5769-a93b-9d913e69aa62" +version = "0.6.4" + +[[deps.WoodburyMatrices]] +deps = ["LinearAlgebra", "SparseArrays"] +git-tree-sha1 = "de67fa59e33ad156a590055375a30b23c40299d3" +uuid = "efce3f68-66dc-5838-9240-27a6d6f5f9b6" +version = "0.5.5" + +[[deps.XML2_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libiconv_jll", "Pkg", "Zlib_jll"] +git-tree-sha1 = "1acf5bdf07aa0907e0a37d3718bb88d4b687b74a" +uuid = "02c8fc9c-b97f-50b9-bbe4-9be30ff0a78a" +version = "2.9.12+0" + +[[deps.XSLT_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgcrypt_jll", "Libgpg_error_jll", "Libiconv_jll", "Pkg", "XML2_jll", "Zlib_jll"] +git-tree-sha1 = "91844873c4085240b95e795f692c4cec4d805f8a" +uuid = "aed1982a-8fda-507f-9586-7b0439959a61" +version = "1.1.34+0" + +[[deps.Xorg_libX11_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libxcb_jll", "Xorg_xtrans_jll"] +git-tree-sha1 = "5be649d550f3f4b95308bf0183b82e2582876527" +uuid = "4f6342f7-b3d2-589e-9d20-edeb45f2b2bc" +version = "1.6.9+4" + +[[deps.Xorg_libXau_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "4e490d5c960c314f33885790ed410ff3a94ce67e" +uuid = "0c0b7dd1-d40b-584c-a123-a41640f87eec" +version = "1.0.9+4" + +[[deps.Xorg_libXcomposite_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXfixes_jll"] +git-tree-sha1 = "7c688ca9c957837539bbe1c53629bb871025e423" +uuid = "3c9796d7-64a0-5134-86ad-79f8eb684845" +version = "0.4.5+4" + +[[deps.Xorg_libXcursor_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXfixes_jll", "Xorg_libXrender_jll"] +git-tree-sha1 = "12e0eb3bc634fa2080c1c37fccf56f7c22989afd" +uuid = "935fb764-8cf2-53bf-bb30-45bb1f8bf724" +version = "1.2.0+4" + +[[deps.Xorg_libXdamage_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXfixes_jll"] +git-tree-sha1 = "fe4ffb2024ba3eddc862c6e1d70e2b070cd1c2bf" +uuid = "0aeada51-83db-5f97-b67e-184615cfc6f6" +version = "1.1.5+4" + +[[deps.Xorg_libXdmcp_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "4fe47bd2247248125c428978740e18a681372dd4" +uuid = "a3789734-cfe1-5b06-b2d0-1dd0d9d62d05" +version = "1.1.3+4" + +[[deps.Xorg_libXext_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] +git-tree-sha1 = "b7c0aa8c376b31e4852b360222848637f481f8c3" +uuid = "1082639a-0dae-5f34-9b06-72781eeb8cb3" +version = "1.3.4+4" + +[[deps.Xorg_libXfixes_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] +git-tree-sha1 = "0e0dc7431e7a0587559f9294aeec269471c991a4" +uuid = "d091e8ba-531a-589c-9de9-94069b037ed8" +version = "5.0.3+4" + +[[deps.Xorg_libXi_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll", "Xorg_libXfixes_jll"] +git-tree-sha1 = "89b52bc2160aadc84d707093930ef0bffa641246" +uuid = "a51aa0fd-4e3c-5386-b890-e753decda492" +version = "1.7.10+4" + +[[deps.Xorg_libXinerama_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll"] +git-tree-sha1 = "26be8b1c342929259317d8b9f7b53bf2bb73b123" +uuid = "d1454406-59df-5ea1-beac-c340f2130bc3" +version = "1.1.4+4" + +[[deps.Xorg_libXrandr_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll", "Xorg_libXrender_jll"] +git-tree-sha1 = "34cea83cb726fb58f325887bf0612c6b3fb17631" +uuid = "ec84b674-ba8e-5d96-8ba1-2a689ba10484" +version = "1.5.2+4" + +[[deps.Xorg_libXrender_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] +git-tree-sha1 = "19560f30fd49f4d4efbe7002a1037f8c43d43b96" +uuid = "ea2f1a96-1ddc-540d-b46f-429655e07cfa" +version = "0.9.10+4" + +[[deps.Xorg_libXtst_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll", "Xorg_libXfixes_jll", "Xorg_libXi_jll"] +git-tree-sha1 = "0c0a60851f44add2a64069ddf213e941c30ed93c" +uuid = "b6f176f1-7aea-5357-ad67-1d3e565ea1c6" +version = "1.2.3+4" + +[[deps.Xorg_libpthread_stubs_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "6783737e45d3c59a4a4c4091f5f88cdcf0908cbb" +uuid = "14d82f49-176c-5ed1-bb49-ad3f5cbd8c74" +version = "0.1.0+3" + +[[deps.Xorg_libxcb_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "XSLT_jll", "Xorg_libXau_jll", "Xorg_libXdmcp_jll", "Xorg_libpthread_stubs_jll"] +git-tree-sha1 = "daf17f441228e7a3833846cd048892861cff16d6" +uuid = "c7cfdc94-dc32-55de-ac96-5a1b8d977c5b" +version = "1.13.0+3" + +[[deps.Xorg_libxkbfile_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] +git-tree-sha1 = "926af861744212db0eb001d9e40b5d16292080b2" +uuid = "cc61e674-0454-545c-8b26-ed2c68acab7a" +version = "1.1.0+4" + +[[deps.Xorg_xkbcomp_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libxkbfile_jll"] +git-tree-sha1 = "4bcbf660f6c2e714f87e960a171b119d06ee163b" +uuid = "35661453-b289-5fab-8a00-3d9160c6a3a4" +version = "1.4.2+4" + +[[deps.Xorg_xkeyboard_config_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xkbcomp_jll"] +git-tree-sha1 = "5c8424f8a67c3f2209646d4425f3d415fee5931d" +uuid = "33bec58e-1273-512f-9401-5d533626f822" +version = "2.27.0+4" + +[[deps.Xorg_xtrans_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "79c31e7844f6ecf779705fbc12146eb190b7d845" +uuid = "c5fb5394-a638-5e4d-96e5-b29de1b5cf10" +version = "1.4.0+3" + +[[deps.Zlib_jll]] +deps = ["Libdl"] +uuid = "83775a58-1f1d-513f-b197-d71354ab007a" + +[[deps.Zstd_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "cc4bf3fdde8b7e3e9fa0351bdeedba1cf3b7f6e6" +uuid = "3161d3a3-bdf6-5164-811a-617609db77b4" +version = "1.5.0+0" + +[[deps.adwaita_icon_theme_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "hicolor_icon_theme_jll"] +git-tree-sha1 = "37c9a36ccb876e02876c8a654f1b2e8c1b443a78" +uuid = "b437f822-2cd6-5e08-a15c-8bac984d38ee" +version = "3.33.92+5" + +[[deps.at_spi2_atk_jll]] +deps = ["ATK_jll", "Artifacts", "JLLWrappers", "Libdl", "Pkg", "XML2_jll", "Xorg_libX11_jll", "at_spi2_core_jll"] +git-tree-sha1 = "f16ae690aca4761f33d2cb338ee9899e541f5eae" +uuid = "de012916-1e3f-58c2-8f29-df3ef51d412d" +version = "2.34.1+4" + +[[deps.at_spi2_core_jll]] +deps = ["Artifacts", "Dbus_jll", "Glib_jll", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXtst_jll"] +git-tree-sha1 = "d2d540cd145f2b2933614649c029d222fe125188" +uuid = "0fc3237b-ac94-5853-b45c-d43d59a06200" +version = "2.34.0+4" + +[[deps.gdk_pixbuf_jll]] +deps = ["Artifacts", "Glib_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pkg", "Xorg_libX11_jll", "libpng_jll"] +git-tree-sha1 = "c23323cd30d60941f8c68419a70905d9bdd92808" +uuid = "da03df04-f53b-5353-a52f-6a8b0620ced0" +version = "2.42.6+1" + +[[deps.hicolor_icon_theme_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "b458a6f6fc2b1a8ca74ed63852e4eaf43fb9f5ea" +uuid = "059c91fe-1bad-52ad-bddd-f7b78713c282" +version = "0.17.0+3" + +[[deps.iso_codes_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "5ee24c3ae30e006117ec2da5ea50f2ce457c019a" +uuid = "bf975903-5238-5d20-8243-bc370bc1e7e5" +version = "4.3.0+4" + +[[deps.libass_jll]] +deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] +git-tree-sha1 = "5982a94fcba20f02f42ace44b9894ee2b140fe47" +uuid = "0ac62f75-1d6f-5e53-bd7c-93b484bb37c0" +version = "0.15.1+0" + +[[deps.libblastrampoline_jll]] +deps = ["Artifacts", "Libdl", "OpenBLAS_jll"] +uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" + +[[deps.libfdk_aac_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "daacc84a041563f965be61859a36e17c4e4fcd55" +uuid = "f638f0a6-7fb0-5443-88ba-1cc74229b280" +version = "2.0.2+0" + +[[deps.libpng_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] +git-tree-sha1 = "94d180a6d2b5e55e447e2d27a29ed04fe79eb30c" +uuid = "b53b4c65-9356-5827-b1ea-8c7a1a84506f" +version = "1.6.38+0" + +[[deps.libsixel_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "78736dab31ae7a53540a6b752efc61f77b304c5b" +uuid = "075b6546-f08a-558a-be8f-8157d0f608a5" +version = "1.8.6+1" + +[[deps.libvorbis_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Ogg_jll", "Pkg"] +git-tree-sha1 = "c45f4e40e7aafe9d086379e5578947ec8b95a8fb" +uuid = "f27f6e37-5d2b-51aa-960f-b287f2bc3b7a" +version = "1.3.7+0" + +[[deps.nghttp2_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" + +[[deps.p7zip_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" + +[[deps.x264_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "4fea590b89e6ec504593146bf8b988b2c00922b2" +uuid = "1270edf5-f2f9-52d2-97e9-ab00b5d0237a" +version = "2021.5.5+0" + +[[deps.x265_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "ee567a171cce03570d77ad3a43e90218e38937a9" +uuid = "dfaa095f-4041-5dcd-9319-2fabd8486b76" +version = "3.5.0+0" + +[[deps.xkbcommon_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Wayland_jll", "Wayland_protocols_jll", "Xorg_libxcb_jll", "Xorg_xkeyboard_config_jll"] +git-tree-sha1 = "ece2350174195bb31de1a63bea3a41ae1aa593b6" +uuid = "d8fb68d0-12a3-5cfd-a85a-d49703b185fd" +version = "0.9.1+5" diff --git a/test/Project.toml b/test/Project.toml new file mode 100644 index 0000000..324fc1f --- /dev/null +++ b/test/Project.toml @@ -0,0 +1,12 @@ +[deps] +Animations = "27a7e980-b3e6-11e9-2bcd-0b925532e340" +Gtk = "4c0ca9eb-093a-5379-98c5-f87ac0bbbf44" +GtkReactive = "27996c0f-39cd-5cc1-a27a-05f136f946b6" +Images = "916415d5-f1e6-5110-898d-aaa5f9f070e0" +Interact = "c601a237-2ae4-5e1e-952c-7a85b0c7eef1" +Javis = "78b212ba-a7f9-42d4-b726-60726080707e" +LaTeXStrings = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" +Latexify = "23fbe1c1-3f47-55db-b15f-69d7ec21a316" +ReferenceTests = "324d217c-45ce-50fc-942e-d289b448e8cf" +Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" +VideoIO = "d6d074c3-1acf-5d4c-9a43-ef38773959a2" diff --git a/test/runtests.jl b/test/runtests.jl new file mode 100644 index 0000000..c178ca4 --- /dev/null +++ b/test/runtests.jl @@ -0,0 +1,42 @@ +using Animations +using GtkReactive +using Gtk: get_gtk_property, visible +using Images +import Interact +import Interact: @map, Widget, Widgets, @layout!, hbox, vbox +using Javis +import Latexify: latexify +using LaTeXStrings +using ReferenceTests +using Test +using VideoIO +using JavisViewer + +function ground(video, action, framenumber) + background("white") + sethue("blue") + return framenumber +end + +function ground_black_on_white(video, action, framenumber) + background("white") + sethue("black") + return framenumber +end + +function ground_color(color_bg, color_pen, framenumber) + background(color_bg) + sethue(color_pen) + return framenumber +end + +function circle_with_color(position, radius, action, color) + sethue(color) + circle(position, radius, action) +end + +@testset "JavisViewer" begin + @testset "Javis Viewer" begin + include("viewer.jl") + end +end diff --git a/test/stream_local.gif b/test/stream_local.gif new file mode 100644 index 0000000000000000000000000000000000000000..c6d62af4f7f2c498e8ca938ce35e9142ccc8fcc2 GIT binary patch literal 95518 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�B+{tPlb+D)e6P-x+5wtzKWi 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 r|pi` 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 circle(O, 25, :fill)) + act!(obj, Action(1:20, appear(:fade))) + end + + stream(vid; pathname = "") + + action_list = [back, star_obj] + + viewer_win, frame_dims, r_slide, tbox, canvas, actions, total_frames, video = + JavisViewer._javis_viewer(vid, 100, action_list, false) + visible(viewer_win, false) + + @test get_gtk_property(viewer_win, :title, String) == "Javis Viewer" + + JavisViewer._increment( + video, + [r_slide, tbox], + actions, + frame_dims, + canvas, + total_frames, + ) + sleep(0.1) + curr_frame = Reactive.value(r_slide) + second_frame = Javis.get_javis_frame(video, actions, curr_frame, layers = [l1]) + @test Reactive.value(r_slide) == 2 + + JavisViewer._decrement(video, [r_slide, tbox], actions, frame_dims, canvas, total_frames) + sleep(0.1) + curr_frame = Reactive.value(r_slide) + first_frame = Javis.get_javis_frame(video, actions, curr_frame, layers = [l1]) + @test Reactive.value(r_slide) == 1 + + @test first_frame != second_frame + + JavisViewer._decrement(video, [r_slide, tbox], actions, frame_dims, canvas, total_frames) + sleep(0.1) + curr_frame = Reactive.value(r_slide) + last_frame = Javis.get_javis_frame(video, actions, curr_frame, layers = [l1]) + @test curr_frame == total_frames + + JavisViewer._increment( + video, + [r_slide, tbox], + actions, + frame_dims, + canvas, + total_frames, + ) + sleep(0.1) + curr_frame = Reactive.value(r_slide) + first_frame = Javis.get_javis_frame(video, actions, curr_frame, layers = [l1]) + @test curr_frame == 1 + + @test last_frame != first_frame +end + + +@testset "Livestreaming" begin + astar(args...; do_action = :stroke) = star(O, 50, 5, 0.5, 0, do_action) + acirc(args...; do_action = :stroke) = circle(Point(100, 100), 50, do_action) + + vid = Video(500, 500) + back = Background(1:100, ground) + star_obj = Object(1:100, astar) + act!(star_obj, Action(morph_to(acirc; do_action = :fill))) + + conf_local = setup_stream(:local, address = "0.0.0.0", port = 8081) + @test conf_local isa JavisViewer.StreamConfig + @test conf_local.livestreamto == :local + @test conf_local.protocol == "udp" + @test conf_local.address == "0.0.0.0" + @test conf_local.port == 8081 + + conf_twitch_err = setup_stream(:twitch) + conf_twitch = setup_stream(:twitch, twitch_key = "foo") + @test conf_twitch_err isa JavisViewer.StreamConfig + @test conf_twitch_err.livestreamto == :twitch + @test isempty(conf_twitch_err.twitch_key) + @test conf_twitch.twitch_key == "foo" + + stream(vid, pathname = "stream_local.gif", streamconfig = conf_local) + + # errors with macos; a good test to have + # test_local = run(pipeline(`lsof -i -P -n`, `grep ffmpeg`)) + # @test test_local isa Base.ProcessChain + # @test test_local.processes isa Vector{Base.Process} + + cancel_stream() + @test_throws ProcessFailedException run( + pipeline( + `ps aux`, + pipeline(`grep ffmpeg`, pipeline(`grep stream_loop`, `awk '{print $2}'`)), + ), + ) + + vid = Video(500, 500) + back = Background(1:100, ground) + star_obj = Object(1:100, astar) + act!(star_obj, Action(morph_to(acirc; do_action = :fill))) + + @test_throws ErrorException stream( + vid, + pathname = "stream_twitch.gif", + streamconfig = conf_twitch_err, + ) + rm("stream_twitch.gif") +end From cabe3a4475474ab5734311867717538bc6cd0122 Mon Sep 17 00:00:00 2001 From: gpucce Date: Sat, 22 Jan 2022 13:26:35 +0100 Subject: [PATCH 02/12] add .github actions --- .github/ISSUE_TEMPLATE/bug_report.md | 51 ++++++++++++++++++ .github/ISSUE_TEMPLATE/feature_request.md | 24 +++++++++ .github/workflows/CompatHelper.yml | 14 +++++ .github/workflows/TagBot.yml | 15 ++++++ .github/workflows/ci.yml | 64 +++++++++++++++++++++++ .github/workflows/format_check.yml | 40 ++++++++++++++ 6 files changed, 208 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md create mode 100644 .github/workflows/CompatHelper.yml create mode 100644 .github/workflows/TagBot.yml create mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/format_check.yml diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..5bf7943 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,51 @@ +--- +name: Bug report +about: Create a report to help us improve +title: "[BUG] " +labels: bug +assignees: '' + +--- + + + + + + + + +**Describe the bug** + +A clear and concise description of what the bug is. + +**To Reproduce** + +1. Julia Version (i.e. output of `julia -v`): + +2. Operating system (Mac, Linux, Windows): + +3. Javis version (i.e output of `] status Javis` in the REPL) + +4. JavisNB version (i.e output of `] status JavisNB` in the REPL) + +5. Notebook type (Jupyter/Pluto): + +6. Notebook package version (i.e. output of `] status [NAME OF NOTEBOOK PACKAGE USED]`): + +7. Minimum working code example that led to bug: + +**Expected Behavior and Actual Behavior** + + + +**Stacktrace (If Applicable):** + + + +**Screenshots** + + + +**Additional context** + + diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..3a63319 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,24 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: enhancement +assignees: '' + +--- + +**Is your feature request related to a problem? Please explain.** + + + +**Describe the solution you'd like** + + + +**Describe alternatives you've considered** + + + +**Additional context** + + diff --git a/.github/workflows/CompatHelper.yml b/.github/workflows/CompatHelper.yml new file mode 100644 index 0000000..dadc755 --- /dev/null +++ b/.github/workflows/CompatHelper.yml @@ -0,0 +1,14 @@ +name: CompatHelper +on: + schedule: + - cron: 0 0 * * * +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Pkg.add("CompatHelper") + run: julia -e 'using Pkg; Pkg.add("CompatHelper")' + - name: CompatHelper.main() + run: julia -e 'using CompatHelper; CompatHelper.main()' + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/TagBot.yml b/.github/workflows/TagBot.yml new file mode 100644 index 0000000..f49313b --- /dev/null +++ b/.github/workflows/TagBot.yml @@ -0,0 +1,15 @@ +name: TagBot +on: + issue_comment: + types: + - created + workflow_dispatch: +jobs: + TagBot: + if: github.event_name == 'workflow_dispatch' || github.actor == 'JuliaTagBot' + runs-on: ubuntu-latest + steps: + - uses: JuliaRegistries/TagBot@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} + ssh: ${{ secrets.DOCUMENTER_KEY }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..224c078 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,64 @@ +name: CI +on: + - push + - pull_request +jobs: + test: + name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + version: + - '1.6' + - '1' + os: + - ubuntu-latest + - macOS-latest + - windows-latest + arch: + - x64 + steps: + - uses: actions/checkout@v2 + - run: sudo apt-get install xvfb && Xvfb :99 & + if: matrix.os == 'ubuntu-latest' + - uses: julia-actions/setup-julia@v1 + with: + version: ${{ matrix.version }} + arch: ${{ matrix.arch }} + - uses: actions/cache@v1 + env: + cache-name: cache-artifacts + with: + path: ~/.julia/artifacts + key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }} + restore-keys: | + ${{ runner.os }}-test-${{ env.cache-name }}- + ${{ runner.os }}-test- + ${{ runner.os }}- + - uses: julia-actions/julia-buildpkg@latest + - uses: julia-actions/julia-runtest@latest + env: + DISPLAY: :99 + - uses: julia-actions/julia-processcoverage@v1 + - uses: codecov/codecov-action@v1 + with: + file: lcov.info + # docs: + # name: Documentation + # runs-on: ubuntu-latest + # steps: + # - uses: actions/checkout@v2 + # - run: sudo apt-get install xvfb && Xvfb :99 & + # - uses: julia-actions/setup-julia@v1 + # with: + # version: '1.6' + # - run: | + # julia --project=docs -e ' + # using Pkg + # Pkg.develop(PackageSpec(path=pwd())) + # Pkg.instantiate()' + # - run: julia --project=docs docs/make.jl + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} + # DISPLAY: :99 diff --git a/.github/workflows/format_check.yml b/.github/workflows/format_check.yml new file mode 100644 index 0000000..4119661 --- /dev/null +++ b/.github/workflows/format_check.yml @@ -0,0 +1,40 @@ +name: format-check + +on: + push: + branches: + - 'main' + tags: '*' + pull_request: + +jobs: + build: + runs-on: ${{ matrix.os }} + strategy: + matrix: + julia-version: [1.5.0] + julia-arch: [x86] + os: [ubuntu-latest] + steps: + - uses: julia-actions/setup-julia@latest + with: + version: ${{ matrix.julia-version }} + + - uses: actions/checkout@master + - name: Install JuliaFormatter and format + run: | + julia -e 'using Pkg; Pkg.add("JuliaFormatter")' + julia -e 'using JuliaFormatter; format(".", annotate_untyped_fields_with_any=false, always_for_in=true, whitespace_in_kwargs=true, whitespace_ops_in_indices=true)' + - name: Format check + run: | + julia -e ' + out = Cmd(`git diff --name-only`) |> read |> String + if out == "" + exit(0) + else + @error "Some files have not been formatted !!!" + write(stdout, out) + exit(1) + end' + + From af18bb90e24309cf705b408208121bb42914b488 Mon Sep 17 00:00:00 2001 From: gpucce Date: Sat, 22 Jan 2022 13:30:54 +0100 Subject: [PATCH 03/12] add .gitignore and remove Manifest.toml --- .gitignore | 9 + Manifest.toml | 1439 ------------------------------------------------- 2 files changed, 9 insertions(+), 1439 deletions(-) create mode 100644 .gitignore delete mode 100644 Manifest.toml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..22d8c0f --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +*.jl.*.cov +*.jl.cov +*.jl.mem +/docs/build/ +Manifest.toml +.vscode/ +test.png +test/current/ +.commit diff --git a/Manifest.toml b/Manifest.toml deleted file mode 100644 index e4f9ff2..0000000 --- a/Manifest.toml +++ /dev/null @@ -1,1439 +0,0 @@ -# This file is machine-generated - editing it directly is not advised - -julia_version = "1.7.1" -manifest_format = "2.0" - -[[deps.ATK_jll]] -deps = ["Artifacts", "Glib_jll", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "58c36d8a1beeb12d63921bcfaa674baf30a1140e" -uuid = "7b86fcea-f67b-53e1-809c-8f1719c154e8" -version = "2.36.1+0" - -[[deps.AbstractFFTs]] -deps = ["ChainRulesCore", "LinearAlgebra"] -git-tree-sha1 = "6f1d9bc1c08f9f4a8fa92e3ea3cb50153a1b40d4" -uuid = "621f4979-c628-5d54-868e-fcf4e3e8185c" -version = "1.1.0" - -[[deps.Adapt]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "af92965fb30777147966f58acb05da51c5616b5f" -uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" -version = "3.3.3" - -[[deps.Animations]] -deps = ["Colors"] -git-tree-sha1 = "e81c509d2c8e49592413bfb0bb3b08150056c79d" -uuid = "27a7e980-b3e6-11e9-2bcd-0b925532e340" -version = "0.4.1" - -[[deps.ArgTools]] -uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" - -[[deps.ArnoldiMethod]] -deps = ["LinearAlgebra", "Random", "StaticArrays"] -git-tree-sha1 = "62e51b39331de8911e4a7ff6f5aaf38a5f4cc0ae" -uuid = "ec485272-7323-5ecc-a04f-4719b315124d" -version = "0.2.0" - -[[deps.ArrayInterface]] -deps = ["Compat", "IfElse", "LinearAlgebra", "Requires", "SparseArrays", "Static"] -git-tree-sha1 = "ffc6588e17bcfcaa79dfa5b4f417025e755f83fc" -uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" -version = "4.0.1" - -[[deps.Artifacts]] -uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" - -[[deps.AssetRegistry]] -deps = ["Distributed", "JSON", "Pidfile", "SHA", "Test"] -git-tree-sha1 = "b25e88db7944f98789130d7b503276bc34bc098e" -uuid = "bf4720bc-e11a-5d0c-854e-bdca1663c893" -version = "0.1.0" - -[[deps.AxisAlgorithms]] -deps = ["LinearAlgebra", "Random", "SparseArrays", "WoodburyMatrices"] -git-tree-sha1 = "66771c8d21c8ff5e3a93379480a2307ac36863f7" -uuid = "13072b0f-2c55-5437-9ae7-d433b7a33950" -version = "1.0.1" - -[[deps.AxisArrays]] -deps = ["Dates", "IntervalSets", "IterTools", "RangeArrays"] -git-tree-sha1 = "d127d5e4d86c7680b20c35d40b503c74b9a39b5e" -uuid = "39de3d68-74b9-583c-8d2d-e117c070f3a9" -version = "0.4.4" - -[[deps.Base64]] -uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" - -[[deps.Bzip2_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "19a35467a82e236ff51bc17a3a44b69ef35185a2" -uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0" -version = "1.0.8+0" - -[[deps.CEnum]] -git-tree-sha1 = "215a9aa4a1f23fbd05b92769fdd62559488d70e9" -uuid = "fa961155-64e5-5f13-b03f-caf6b980ea82" -version = "0.4.1" - -[[deps.CSSUtil]] -deps = ["Colors", "JSON", "Markdown", "Measures", "WebIO"] -git-tree-sha1 = "b9fb4b464ec10e860abe251b91d4d049934f7399" -uuid = "70588ee8-6100-5070-97c1-3cb50ed05fe8" -version = "0.1.1" - -[[deps.Cairo]] -deps = ["Cairo_jll", "Colors", "Glib_jll", "Graphics", "Libdl", "Pango_jll"] -git-tree-sha1 = "d0b3f8b4ad16cb0a2988c6788646a5e6a17b6b1b" -uuid = "159f3aea-2a34-519c-b102-8c37f9878175" -version = "1.0.5" - -[[deps.Cairo_jll]] -deps = ["Artifacts", "Bzip2_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "JLLWrappers", "LZO_jll", "Libdl", "Pixman_jll", "Pkg", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Zlib_jll", "libpng_jll"] -git-tree-sha1 = "4b859a208b2397a7a623a03449e4636bdb17bcf2" -uuid = "83423d85-b0ee-5818-9007-b63ccbeb887a" -version = "1.16.1+1" - -[[deps.Calculus]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "f641eb0a4f00c343bbc32346e1217b86f3ce9dad" -uuid = "49dc2e85-a5d0-5ad3-a950-438e2897f1b9" -version = "0.5.1" - -[[deps.CatIndices]] -deps = ["CustomUnitRanges", "OffsetArrays"] -git-tree-sha1 = "a0f80a09780eed9b1d106a1bf62041c2efc995bc" -uuid = "aafaddc9-749c-510e-ac4f-586e18779b91" -version = "0.2.2" - -[[deps.ChainRulesCore]] -deps = ["Compat", "LinearAlgebra", "SparseArrays"] -git-tree-sha1 = "54fc4400de6e5c3e27be6047da2ef6ba355511f8" -uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" -version = "1.11.6" - -[[deps.ChangesOfVariables]] -deps = ["ChainRulesCore", "LinearAlgebra", "Test"] -git-tree-sha1 = "bf98fa45a0a4cee295de98d4c1462be26345b9a1" -uuid = "9e997f8a-9a97-42d5-a9f1-ce6bfc15e2c0" -version = "0.1.2" - -[[deps.Clustering]] -deps = ["Distances", "LinearAlgebra", "NearestNeighbors", "Printf", "SparseArrays", "Statistics", "StatsBase"] -git-tree-sha1 = "75479b7df4167267d75294d14b58244695beb2ac" -uuid = "aaaa29a8-35af-508c-8bc3-b662a17a0fe5" -version = "0.14.2" - -[[deps.ColorTypes]] -deps = ["FixedPointNumbers", "Random"] -git-tree-sha1 = "024fe24d83e4a5bf5fc80501a314ce0d1aa35597" -uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f" -version = "0.11.0" - -[[deps.ColorVectorSpace]] -deps = ["ColorTypes", "FixedPointNumbers", "LinearAlgebra", "SpecialFunctions", "Statistics", "TensorCore"] -git-tree-sha1 = "3f1f500312161f1ae067abe07d13b40f78f32e07" -uuid = "c3611d14-8923-5661-9e6a-0046d554d3a4" -version = "0.9.8" - -[[deps.Colors]] -deps = ["ColorTypes", "FixedPointNumbers", "Reexport"] -git-tree-sha1 = "417b0ed7b8b838aa6ca0a87aadf1bb9eb111ce40" -uuid = "5ae59095-9a9b-59fe-a467-6f913c188581" -version = "0.12.8" - -[[deps.Compat]] -deps = ["Base64", "Dates", "DelimitedFiles", "Distributed", "InteractiveUtils", "LibGit2", "Libdl", "LinearAlgebra", "Markdown", "Mmap", "Pkg", "Printf", "REPL", "Random", "SHA", "Serialization", "SharedArrays", "Sockets", "SparseArrays", "Statistics", "Test", "UUIDs", "Unicode"] -git-tree-sha1 = "44c37b4636bc54afac5c574d2d02b625349d6582" -uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" -version = "3.41.0" - -[[deps.CompilerSupportLibraries_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" - -[[deps.ComputationalResources]] -git-tree-sha1 = "52cb3ec90e8a8bea0e62e275ba577ad0f74821f7" -uuid = "ed09eef8-17a6-5b46-8889-db040fac31e3" -version = "0.3.2" - -[[deps.CoordinateTransformations]] -deps = ["LinearAlgebra", "StaticArrays"] -git-tree-sha1 = "681ea870b918e7cff7111da58791d7f718067a19" -uuid = "150eb455-5306-5404-9cee-2592286d6298" -version = "0.6.2" - -[[deps.CustomUnitRanges]] -git-tree-sha1 = "1a3f97f907e6dd8983b744d2642651bb162a3f7a" -uuid = "dc8bdbbb-1ca9-579f-8c36-e416f6a65cce" -version = "1.0.2" - -[[deps.DataAPI]] -git-tree-sha1 = "cc70b17275652eb47bc9e5f81635981f13cea5c8" -uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" -version = "1.9.0" - -[[deps.DataStructures]] -deps = ["Compat", "InteractiveUtils", "OrderedCollections"] -git-tree-sha1 = "3daef5523dd2e769dad2365274f760ff5f282c7d" -uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" -version = "0.18.11" - -[[deps.Dates]] -deps = ["Printf"] -uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" - -[[deps.Dbus_jll]] -deps = ["Artifacts", "Expat_jll", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "97f1325c10bd02b1cc1882e9c2bf6407ba630ace" -uuid = "ee1fde0b-3d02-5ea6-8484-8dfef6360eab" -version = "1.12.16+3" - -[[deps.DelimitedFiles]] -deps = ["Mmap"] -uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab" - -[[deps.Distances]] -deps = ["LinearAlgebra", "SparseArrays", "Statistics", "StatsAPI"] -git-tree-sha1 = "3258d0659f812acde79e8a74b11f17ac06d0ca04" -uuid = "b4f34e82-e78d-54a5-968a-f98e89d6e8f7" -version = "0.10.7" - -[[deps.Distributed]] -deps = ["Random", "Serialization", "Sockets"] -uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" - -[[deps.DocStringExtensions]] -deps = ["LibGit2"] -git-tree-sha1 = "b19534d1895d702889b219c382a6e18010797f0b" -uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" -version = "0.8.6" - -[[deps.Downloads]] -deps = ["ArgTools", "LibCURL", "NetworkOptions"] -uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" - -[[deps.DualNumbers]] -deps = ["Calculus", "NaNMath", "SpecialFunctions"] -git-tree-sha1 = "84f04fe68a3176a583b864e492578b9466d87f1e" -uuid = "fa6b7ba4-c1ee-5f82-b5fc-ecf0adba8f74" -version = "0.6.6" - -[[deps.EllipsisNotation]] -deps = ["ArrayInterface"] -git-tree-sha1 = "d7ab55febfd0907b285fbf8dc0c73c0825d9d6aa" -uuid = "da5c29d0-fa7d-589e-88eb-ea29b0a81949" -version = "1.3.0" - -[[deps.Expat_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "b3bfd02e98aedfa5cf885665493c5598c350cd2f" -uuid = "2e619515-83b5-522b-bb60-26c02a35a201" -version = "2.2.10+0" - -[[deps.FFMPEG]] -deps = ["FFMPEG_jll"] -git-tree-sha1 = "b57e3acbe22f8484b4b5ff66a7499717fe1a9cc8" -uuid = "c87230d0-a227-11e9-1b43-d7ebe4e7570a" -version = "0.4.1" - -[[deps.FFMPEG_jll]] -deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "JLLWrappers", "LAME_jll", "Libdl", "Ogg_jll", "OpenSSL_jll", "Opus_jll", "Pkg", "Zlib_jll", "libass_jll", "libfdk_aac_jll", "libvorbis_jll", "x264_jll", "x265_jll"] -git-tree-sha1 = "d8a578692e3077ac998b50c0217dfd67f21d1e5f" -uuid = "b22a6f82-2f65-5046-a5b2-351ab43fb4e5" -version = "4.4.0+0" - -[[deps.FFTViews]] -deps = ["CustomUnitRanges", "FFTW"] -git-tree-sha1 = "cbdf14d1e8c7c8aacbe8b19862e0179fd08321c2" -uuid = "4f61f5a4-77b1-5117-aa51-3ab5ef4ef0cd" -version = "0.3.2" - -[[deps.FFTW]] -deps = ["AbstractFFTs", "FFTW_jll", "LinearAlgebra", "MKL_jll", "Preferences", "Reexport"] -git-tree-sha1 = "463cb335fa22c4ebacfd1faba5fde14edb80d96c" -uuid = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341" -version = "1.4.5" - -[[deps.FFTW_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "c6033cc3892d0ef5bb9cd29b7f2f0331ea5184ea" -uuid = "f5851436-0d7a-5f13-b9de-f02708fd171a" -version = "3.3.10+0" - -[[deps.FileIO]] -deps = ["Pkg", "Requires", "UUIDs"] -git-tree-sha1 = "67551df041955cc6ee2ed098718c8fcd7fc7aebe" -uuid = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" -version = "1.12.0" - -[[deps.FileWatching]] -uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" - -[[deps.FixedPointNumbers]] -deps = ["Statistics"] -git-tree-sha1 = "335bfdceacc84c5cdf16aadc768aa5ddfc5383cc" -uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93" -version = "0.8.4" - -[[deps.Fontconfig_jll]] -deps = ["Artifacts", "Bzip2_jll", "Expat_jll", "FreeType2_jll", "JLLWrappers", "Libdl", "Libuuid_jll", "Pkg", "Zlib_jll"] -git-tree-sha1 = "21efd19106a55620a188615da6d3d06cd7f6ee03" -uuid = "a3f928ae-7b40-5064-980b-68af3947d34b" -version = "2.13.93+0" - -[[deps.FreeType2_jll]] -deps = ["Artifacts", "Bzip2_jll", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] -git-tree-sha1 = "87eb71354d8ec1a96d4a7636bd57a7347dde3ef9" -uuid = "d7e528f0-a631-5988-bf34-fe36492bcfd7" -version = "2.10.4+0" - -[[deps.FriBidi_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "aa31987c2ba8704e23c6c8ba8a4f769d5d7e4f91" -uuid = "559328eb-81f9-559d-9380-de523a88c83c" -version = "1.0.10+0" - -[[deps.FunctionalCollections]] -deps = ["Test"] -git-tree-sha1 = "04cb9cfaa6ba5311973994fe3496ddec19b6292a" -uuid = "de31a74c-ac4f-5751-b3fd-e18cd04993ca" -version = "0.5.0" - -[[deps.GTK3_jll]] -deps = ["ATK_jll", "Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "FriBidi_jll", "Glib_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Libepoxy_jll", "Pango_jll", "Pkg", "Wayland_jll", "Xorg_libX11_jll", "Xorg_libXcomposite_jll", "Xorg_libXcursor_jll", "Xorg_libXdamage_jll", "Xorg_libXext_jll", "Xorg_libXfixes_jll", "Xorg_libXi_jll", "Xorg_libXinerama_jll", "Xorg_libXrandr_jll", "Xorg_libXrender_jll", "at_spi2_atk_jll", "gdk_pixbuf_jll", "iso_codes_jll", "xkbcommon_jll"] -git-tree-sha1 = "b080a592525632d287aee4637a62682576b7f5e4" -uuid = "77ec8976-b24b-556a-a1bf-49a033a670a6" -version = "3.24.31+0" - -[[deps.Gettext_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Libiconv_jll", "Pkg", "XML2_jll"] -git-tree-sha1 = "9b02998aba7bf074d14de89f9d37ca24a1a0b046" -uuid = "78b55507-aeef-58d4-861c-77aaff3498b1" -version = "0.21.0+0" - -[[deps.Ghostscript_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "78e2c69783c9753a91cdae88a8d432be85a2ab5e" -uuid = "61579ee1-b43e-5ca0-a5da-69d92c66a64b" -version = "9.55.0+0" - -[[deps.Glib_jll]] -deps = ["Artifacts", "Gettext_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Libiconv_jll", "Libmount_jll", "PCRE_jll", "Pkg", "Zlib_jll"] -git-tree-sha1 = "a32d672ac2c967f3deb8a81d828afc739c838a06" -uuid = "7746bdde-850d-59dc-9ae8-88ece973131d" -version = "2.68.3+2" - -[[deps.Glob]] -git-tree-sha1 = "4df9f7e06108728ebf00a0a11edee4b29a482bb2" -uuid = "c27321d9-0574-5035-807b-f59d2c89b15c" -version = "1.3.0" - -[[deps.Graphics]] -deps = ["Colors", "LinearAlgebra", "NaNMath"] -git-tree-sha1 = "1c5a84319923bea76fa145d49e93aa4394c73fc2" -uuid = "a2bd30eb-e257-5431-a919-1863eab51364" -version = "1.1.1" - -[[deps.Graphite2_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "344bf40dcab1073aca04aa0df4fb092f920e4011" -uuid = "3b182d85-2403-5c21-9c21-1e1f0cc25472" -version = "1.3.14+0" - -[[deps.Graphs]] -deps = ["ArnoldiMethod", "Compat", "DataStructures", "Distributed", "Inflate", "LinearAlgebra", "Random", "SharedArrays", "SimpleTraits", "SparseArrays", "Statistics"] -git-tree-sha1 = "d727758173afef0af878b29ac364a0eca299fc6b" -uuid = "86223c79-3864-5bf0-83f7-82e725a168b6" -version = "1.5.1" - -[[deps.Gtk]] -deps = ["Cairo", "Cairo_jll", "Dates", "GTK3_jll", "Glib_jll", "Graphics", "JLLWrappers", "Libdl", "Librsvg_jll", "Pkg", "Reexport", "Serialization", "Test", "Xorg_xkeyboard_config_jll", "adwaita_icon_theme_jll", "gdk_pixbuf_jll", "hicolor_icon_theme_jll"] -git-tree-sha1 = "09afd81dd7d80ae0dc6f489fd21560725e45497e" -uuid = "4c0ca9eb-093a-5379-98c5-f87ac0bbbf44" -version = "1.2.0" - -[[deps.GtkReactive]] -deps = ["Cairo", "Colors", "Dates", "FixedPointNumbers", "Graphics", "Gtk", "IntervalSets", "Reactive", "Reexport", "RoundingIntegers"] -git-tree-sha1 = "ccb07a5fa45e43ac83b6795c9e218d6a802c93d8" -uuid = "27996c0f-39cd-5cc1-a27a-05f136f946b6" -version = "1.0.6" - -[[deps.HTTP]] -deps = ["Base64", "Dates", "IniFile", "Logging", "MbedTLS", "NetworkOptions", "Sockets", "URIs"] -git-tree-sha1 = "0fa77022fe4b511826b39c894c90daf5fce3334a" -uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" -version = "0.9.17" - -[[deps.HarfBuzz_jll]] -deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "Graphite2_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg"] -git-tree-sha1 = "129acf094d168394e80ee1dc4bc06ec835e510a3" -uuid = "2e76f6c2-a576-52d4-95c1-20adfe4de566" -version = "2.8.1+1" - -[[deps.Hungarian]] -deps = ["LinearAlgebra", "SparseArrays"] -git-tree-sha1 = "371a7df7a6cce5909d6c576f234a2da2e3fa0c98" -uuid = "e91730f6-4275-51fb-a7a0-7064cfbd3b39" -version = "0.6.0" - -[[deps.IfElse]] -git-tree-sha1 = "debdd00ffef04665ccbb3e150747a77560e8fad1" -uuid = "615f187c-cbe4-4ef1-ba3b-2fcf58d6d173" -version = "0.1.1" - -[[deps.ImageAxes]] -deps = ["AxisArrays", "ImageBase", "ImageCore", "Reexport", "SimpleTraits"] -git-tree-sha1 = "c54b581a83008dc7f292e205f4c409ab5caa0f04" -uuid = "2803e5a7-5153-5ecf-9a86-9b4c37f5f5ac" -version = "0.6.10" - -[[deps.ImageBase]] -deps = ["ImageCore", "Reexport"] -git-tree-sha1 = "b51bb8cae22c66d0f6357e3bcb6363145ef20835" -uuid = "c817782e-172a-44cc-b673-b171935fbb9e" -version = "0.1.5" - -[[deps.ImageContrastAdjustment]] -deps = ["ImageCore", "ImageTransformations", "Parameters"] -git-tree-sha1 = "0d75cafa80cf22026cea21a8e6cf965295003edc" -uuid = "f332f351-ec65-5f6a-b3d1-319c6670881a" -version = "0.3.10" - -[[deps.ImageCore]] -deps = ["AbstractFFTs", "ColorVectorSpace", "Colors", "FixedPointNumbers", "Graphics", "MappedArrays", "MosaicViews", "OffsetArrays", "PaddedViews", "Reexport"] -git-tree-sha1 = "9a5c62f231e5bba35695a20988fc7cd6de7eeb5a" -uuid = "a09fc81d-aa75-5fe9-8630-4744c3626534" -version = "0.9.3" - -[[deps.ImageDistances]] -deps = ["Distances", "ImageCore", "ImageMorphology", "LinearAlgebra", "Statistics"] -git-tree-sha1 = "7a20463713d239a19cbad3f6991e404aca876bda" -uuid = "51556ac3-7006-55f5-8cb3-34580c88182d" -version = "0.2.15" - -[[deps.ImageFiltering]] -deps = ["CatIndices", "ComputationalResources", "DataStructures", "FFTViews", "FFTW", "ImageBase", "ImageCore", "LinearAlgebra", "OffsetArrays", "Reexport", "SparseArrays", "StaticArrays", "Statistics", "TiledIteration"] -git-tree-sha1 = "15bd05c1c0d5dbb32a9a3d7e0ad2d50dd6167189" -uuid = "6a3955dd-da59-5b1f-98d4-e7296123deb5" -version = "0.7.1" - -[[deps.ImageIO]] -deps = ["FileIO", "Netpbm", "OpenEXR", "PNGFiles", "QOI", "Sixel", "TiffImages", "UUIDs"] -git-tree-sha1 = "816fc866edd8307a6e79a575e6585bfab8cef27f" -uuid = "82e4d734-157c-48bb-816b-45c225c6df19" -version = "0.6.0" - -[[deps.ImageMagick]] -deps = ["FileIO", "ImageCore", "ImageMagick_jll", "InteractiveUtils", "Libdl", "Pkg", "Random"] -git-tree-sha1 = "5bc1cb62e0c5f1005868358db0692c994c3a13c6" -uuid = "6218d12a-5da1-5696-b52f-db25d2ecc6d1" -version = "1.2.1" - -[[deps.ImageMagick_jll]] -deps = ["Artifacts", "Ghostscript_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pkg", "Zlib_jll", "libpng_jll"] -git-tree-sha1 = "f025b79883f361fa1bd80ad132773161d231fd9f" -uuid = "c73af94c-d91f-53ed-93a7-00f77d67a9d7" -version = "6.9.12+2" - -[[deps.ImageMetadata]] -deps = ["AxisArrays", "ImageAxes", "ImageBase", "ImageCore"] -git-tree-sha1 = "36cbaebed194b292590cba2593da27b34763804a" -uuid = "bc367c6b-8a6b-528e-b4bd-a4b897500b49" -version = "0.9.8" - -[[deps.ImageMorphology]] -deps = ["ImageCore", "LinearAlgebra", "Requires", "TiledIteration"] -git-tree-sha1 = "5581e18a74a5838bd919294a7138c2663d065238" -uuid = "787d08f9-d448-5407-9aad-5290dd7ab264" -version = "0.3.0" - -[[deps.ImageQualityIndexes]] -deps = ["ImageContrastAdjustment", "ImageCore", "ImageDistances", "ImageFiltering", "OffsetArrays", "Statistics"] -git-tree-sha1 = "1d2d73b14198d10f7f12bf7f8481fd4b3ff5cd61" -uuid = "2996bd0c-7a13-11e9-2da2-2f5ce47296a9" -version = "0.3.0" - -[[deps.ImageSegmentation]] -deps = ["Clustering", "DataStructures", "Distances", "Graphs", "ImageCore", "ImageFiltering", "ImageMorphology", "LinearAlgebra", "MetaGraphs", "RegionTrees", "SimpleWeightedGraphs", "StaticArrays", "Statistics"] -git-tree-sha1 = "36832067ea220818d105d718527d6ed02385bf22" -uuid = "80713f31-8817-5129-9cf8-209ff8fb23e1" -version = "1.7.0" - -[[deps.ImageShow]] -deps = ["Base64", "FileIO", "ImageBase", "ImageCore", "OffsetArrays", "StackViews"] -git-tree-sha1 = "d0ac64c9bee0aed6fdbb2bc0e5dfa9a3a78e3acc" -uuid = "4e3cecfd-b093-5904-9786-8bbb286a6a31" -version = "0.3.3" - -[[deps.ImageTransformations]] -deps = ["AxisAlgorithms", "ColorVectorSpace", "CoordinateTransformations", "ImageBase", "ImageCore", "Interpolations", "OffsetArrays", "Rotations", "StaticArrays"] -git-tree-sha1 = "42fe8de1fe1f80dab37a39d391b6301f7aeaa7b8" -uuid = "02fcd773-0e25-5acc-982a-7f6622650795" -version = "0.9.4" - -[[deps.Images]] -deps = ["Base64", "FileIO", "Graphics", "ImageAxes", "ImageBase", "ImageContrastAdjustment", "ImageCore", "ImageDistances", "ImageFiltering", "ImageIO", "ImageMagick", "ImageMetadata", "ImageMorphology", "ImageQualityIndexes", "ImageSegmentation", "ImageShow", "ImageTransformations", "IndirectArrays", "IntegralArrays", "Random", "Reexport", "SparseArrays", "StaticArrays", "Statistics", "StatsBase", "TiledIteration"] -git-tree-sha1 = "11d268adba1869067620659e7cdf07f5e54b6c76" -uuid = "916415d5-f1e6-5110-898d-aaa5f9f070e0" -version = "0.25.1" - -[[deps.Imath_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "87f7662e03a649cffa2e05bf19c303e168732d3e" -uuid = "905a6f67-0a94-5f89-b386-d35d92009cd1" -version = "3.1.2+0" - -[[deps.IndirectArrays]] -git-tree-sha1 = "012e604e1c7458645cb8b436f8fba789a51b257f" -uuid = "9b13fd28-a010-5f03-acff-a1bbcff69959" -version = "1.0.0" - -[[deps.Inflate]] -git-tree-sha1 = "f5fc07d4e706b84f72d54eedcc1c13d92fb0871c" -uuid = "d25df0c9-e2be-5dd7-82c8-3ad0b3e990b9" -version = "0.1.2" - -[[deps.IniFile]] -deps = ["Test"] -git-tree-sha1 = "098e4d2c533924c921f9f9847274f2ad89e018b8" -uuid = "83e8ac13-25f8-5344-8a64-a9f2b223428f" -version = "0.5.0" - -[[deps.IntegralArrays]] -deps = ["ColorTypes", "FixedPointNumbers", "IntervalSets"] -git-tree-sha1 = "00019244715621f473d399e4e1842e479a69a42e" -uuid = "1d092043-8f09-5a30-832f-7509e371ab51" -version = "0.1.2" - -[[deps.IntelOpenMP_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "d979e54b71da82f3a65b62553da4fc3d18c9004c" -uuid = "1d5cc7b8-4909-519e-a0f8-d0f5ad9712d0" -version = "2018.0.3+2" - -[[deps.Interact]] -deps = ["CSSUtil", "InteractBase", "JSON", "Knockout", "Observables", "OrderedCollections", "Reexport", "WebIO", "Widgets"] -git-tree-sha1 = "311f9130aeb50ac93a12dd076fa02c9a430be525" -uuid = "c601a237-2ae4-5e1e-952c-7a85b0c7eef1" -version = "0.10.4" - -[[deps.InteractBase]] -deps = ["Base64", "CSSUtil", "Colors", "Dates", "JSExpr", "JSON", "Knockout", "Observables", "OrderedCollections", "Random", "WebIO", "Widgets"] -git-tree-sha1 = "caf189c84e1cc6512b71fea0ec60fa8fdc761d7b" -uuid = "d3863d7c-f0c8-5437-a7b4-3ae773c01009" -version = "0.10.7" - -[[deps.InteractiveUtils]] -deps = ["Markdown"] -uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" - -[[deps.Interpolations]] -deps = ["AxisAlgorithms", "ChainRulesCore", "LinearAlgebra", "OffsetArrays", "Random", "Ratios", "Requires", "SharedArrays", "SparseArrays", "StaticArrays", "WoodburyMatrices"] -git-tree-sha1 = "b15fc0a95c564ca2e0a7ae12c1f095ca848ceb31" -uuid = "a98d9a8b-a2ab-59e6-89dd-64a1c18fca59" -version = "0.13.5" - -[[deps.IntervalSets]] -deps = ["Dates", "EllipsisNotation", "Statistics"] -git-tree-sha1 = "3cc368af3f110a767ac786560045dceddfc16758" -uuid = "8197267c-284f-5f27-9208-e0e47529a953" -version = "0.5.3" - -[[deps.InverseFunctions]] -deps = ["Test"] -git-tree-sha1 = "a7254c0acd8e62f1ac75ad24d5db43f5f19f3c65" -uuid = "3587e190-3f89-42d0-90ee-14403ec27112" -version = "0.1.2" - -[[deps.IrrationalConstants]] -git-tree-sha1 = "7fd44fd4ff43fc60815f8e764c0f352b83c49151" -uuid = "92d709cd-6900-40b7-9082-c6be49f344b6" -version = "0.1.1" - -[[deps.IterTools]] -git-tree-sha1 = "fa6287a4469f5e048d763df38279ee729fbd44e5" -uuid = "c8e1da08-722c-5040-9ed9-7db0dc04731e" -version = "1.4.0" - -[[deps.JLD2]] -deps = ["DataStructures", "FileIO", "MacroTools", "Mmap", "Pkg", "Printf", "Reexport", "TranscodingStreams", "UUIDs"] -git-tree-sha1 = "09ef0c32a26f80b465d808a1ba1e85775a282c97" -uuid = "033835bb-8acc-5ee8-8aae-3f567f8a3819" -version = "0.4.17" - -[[deps.JLLWrappers]] -deps = ["Preferences"] -git-tree-sha1 = "22df5b96feef82434b07327e2d3c770a9b21e023" -uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" -version = "1.4.0" - -[[deps.JSExpr]] -deps = ["JSON", "MacroTools", "Observables", "WebIO"] -git-tree-sha1 = "bd6c034156b1e7295450a219c4340e32e50b08b1" -uuid = "97c1335a-c9c5-57fe-bc5d-ec35cebe8660" -version = "0.5.3" - -[[deps.JSON]] -deps = ["Dates", "Mmap", "Parsers", "Unicode"] -git-tree-sha1 = "8076680b162ada2a031f707ac7b4953e30667a37" -uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" -version = "0.21.2" - -[[deps.Javis]] -deps = ["Animations", "Cairo", "FFMPEG", "Hungarian", "ImageIO", "ImageMagick", "Images", "Interact", "JavisNB", "LaTeXStrings", "LightXML", "Luxor", "ProgressMeter", "Random", "Statistics", "VideoIO"] -path = "../Javis.jl" -uuid = "78b212ba-a7f9-42d4-b726-60726080707e" -version = "0.7.2" - -[[deps.JavisNB]] -deps = ["Interact", "Javis"] -path = "../JavisNB.jl" -uuid = "92afb270-2599-44f6-96a1-44c6efb1daf1" -version = "0.1.0" - -[[deps.JpegTurbo_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "d735490ac75c5cb9f1b00d8b5509c11984dc6943" -uuid = "aacddb02-875f-59d6-b918-886e6ef4fbf8" -version = "2.1.0+0" - -[[deps.Juno]] -deps = ["Base64", "Logging", "Media", "Profile"] -git-tree-sha1 = "07cb43290a840908a771552911a6274bc6c072c7" -uuid = "e5e0dc1b-0480-54bc-9374-aad01c23163d" -version = "0.8.4" - -[[deps.Knockout]] -deps = ["JSExpr", "JSON", "Observables", "Test", "WebIO"] -git-tree-sha1 = "deb74017e1061d76050ff68d219217413be4ef59" -uuid = "bcebb21b-c2e3-54f8-a781-646b90f6d2cc" -version = "0.2.5" - -[[deps.LAME_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "f6250b16881adf048549549fba48b1161acdac8c" -uuid = "c1c5ebd0-6772-5130-a774-d5fcae4a789d" -version = "3.100.1+0" - -[[deps.LZO_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "e5b909bcf985c5e2605737d2ce278ed791b89be6" -uuid = "dd4b983a-f0e5-5f8d-a1b7-129d4a5fb1ac" -version = "2.10.1+0" - -[[deps.LaTeXStrings]] -git-tree-sha1 = "f2355693d6778a178ade15952b7ac47a4ff97996" -uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" -version = "1.3.0" - -[[deps.LazyArtifacts]] -deps = ["Artifacts", "Pkg"] -uuid = "4af54fe1-eca0-43a8-85a7-787d91b784e3" - -[[deps.LibCURL]] -deps = ["LibCURL_jll", "MozillaCACerts_jll"] -uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" - -[[deps.LibCURL_jll]] -deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] -uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" - -[[deps.LibGit2]] -deps = ["Base64", "NetworkOptions", "Printf", "SHA"] -uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" - -[[deps.LibSSH2_jll]] -deps = ["Artifacts", "Libdl", "MbedTLS_jll"] -uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" - -[[deps.Libdl]] -uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" - -[[deps.Libepoxy_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Libglvnd_jll", "Pkg", "Xorg_libX11_jll"] -git-tree-sha1 = "18b65a0eff6b58546bec18065e73f8a04e83758d" -uuid = "42c93a91-0102-5b3f-8f9d-e41de60ac950" -version = "1.5.8+1" - -[[deps.Libffi_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "0b4a5d71f3e5200a7dff793393e09dfc2d874290" -uuid = "e9f186c6-92d2-5b65-8a66-fee21dc1b490" -version = "3.2.2+1" - -[[deps.Libgcrypt_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgpg_error_jll", "Pkg"] -git-tree-sha1 = "64613c82a59c120435c067c2b809fc61cf5166ae" -uuid = "d4300ac3-e22c-5743-9152-c294e39db1e4" -version = "1.8.7+0" - -[[deps.Libglvnd_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll", "Xorg_libXext_jll"] -git-tree-sha1 = "7739f837d6447403596a75d19ed01fd08d6f56bf" -uuid = "7e76a0d4-f3c7-5321-8279-8d96eeed0f29" -version = "1.3.0+3" - -[[deps.Libgpg_error_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "c333716e46366857753e273ce6a69ee0945a6db9" -uuid = "7add5ba3-2f88-524e-9cd5-f83b8a55f7b8" -version = "1.42.0+0" - -[[deps.Libiconv_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "42b62845d70a619f063a7da093d995ec8e15e778" -uuid = "94ce4f54-9a6c-5748-9c1c-f9c7231a4531" -version = "1.16.1+1" - -[[deps.Libmount_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "9c30530bf0effd46e15e0fdcf2b8636e78cbbd73" -uuid = "4b2f31a3-9ecc-558c-b454-b3730dcb73e9" -version = "2.35.0+0" - -[[deps.Librsvg_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pango_jll", "Pkg", "gdk_pixbuf_jll"] -git-tree-sha1 = "25d5e6b4eb3558613ace1c67d6a871420bfca527" -uuid = "925c91fb-5dd6-59dd-8e8c-345e74382d89" -version = "2.52.4+0" - -[[deps.Libtiff_jll]] -deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Pkg", "Zlib_jll", "Zstd_jll"] -git-tree-sha1 = "340e257aada13f95f98ee352d316c3bed37c8ab9" -uuid = "89763e89-9b03-5906-acba-b20f662cd828" -version = "4.3.0+0" - -[[deps.Libuuid_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "7f3efec06033682db852f8b3bc3c1d2b0a0ab066" -uuid = "38a345b3-de98-5d2b-a5d3-14cd9215e700" -version = "2.36.0+0" - -[[deps.LightXML]] -deps = ["Libdl", "XML2_jll"] -git-tree-sha1 = "e129d9391168c677cd4800f5c0abb1ed8cb3794f" -uuid = "9c8b4983-aa76-5018-a973-4c85ecc9e179" -version = "0.9.0" - -[[deps.LinearAlgebra]] -deps = ["Libdl", "libblastrampoline_jll"] -uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" - -[[deps.LogExpFunctions]] -deps = ["ChainRulesCore", "ChangesOfVariables", "DocStringExtensions", "InverseFunctions", "IrrationalConstants", "LinearAlgebra"] -git-tree-sha1 = "e5718a00af0ab9756305a0392832c8952c7426c1" -uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688" -version = "0.3.6" - -[[deps.Logging]] -uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" - -[[deps.Luxor]] -deps = ["Base64", "Cairo", "Colors", "Dates", "FFMPEG", "FileIO", "Juno", "Random", "Requires", "Rsvg"] -git-tree-sha1 = "aa804f92cf77298c86b26ef2487cc624b3dd4004" -uuid = "ae8d54c2-7ccd-5906-9d76-62fc9837b5bc" -version = "2.19.0" - -[[deps.MKL_jll]] -deps = ["Artifacts", "IntelOpenMP_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "Pkg"] -git-tree-sha1 = "5455aef09b40e5020e1520f551fa3135040d4ed0" -uuid = "856f044c-d86e-5d09-b602-aeab76dc8ba7" -version = "2021.1.1+2" - -[[deps.MacroTools]] -deps = ["Markdown", "Random"] -git-tree-sha1 = "3d3e902b31198a27340d0bf00d6ac452866021cf" -uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" -version = "0.5.9" - -[[deps.MappedArrays]] -git-tree-sha1 = "e8b359ef06ec72e8c030463fe02efe5527ee5142" -uuid = "dbb5928d-eab1-5f90-85c2-b9b0edb7c900" -version = "0.4.1" - -[[deps.Markdown]] -deps = ["Base64"] -uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" - -[[deps.MbedTLS]] -deps = ["Dates", "MbedTLS_jll", "Random", "Sockets"] -git-tree-sha1 = "1c38e51c3d08ef2278062ebceade0e46cefc96fe" -uuid = "739be429-bea8-5141-9913-cc70e7f3736d" -version = "1.0.3" - -[[deps.MbedTLS_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" - -[[deps.Measures]] -git-tree-sha1 = "e498ddeee6f9fdb4551ce855a46f54dbd900245f" -uuid = "442fdcdd-2543-5da2-b0f3-8c86c306513e" -version = "0.3.1" - -[[deps.Media]] -deps = ["MacroTools", "Test"] -git-tree-sha1 = "75a54abd10709c01f1b86b84ec225d26e840ed58" -uuid = "e89f7d12-3494-54d1-8411-f7d8b9ae1f27" -version = "0.5.0" - -[[deps.MetaGraphs]] -deps = ["Graphs", "JLD2", "Random"] -git-tree-sha1 = "2af69ff3c024d13bde52b34a2a7d6887d4e7b438" -uuid = "626554b9-1ddb-594c-aa3c-2596fe9399a5" -version = "0.7.1" - -[[deps.Missings]] -deps = ["DataAPI"] -git-tree-sha1 = "bf210ce90b6c9eed32d25dbcae1ebc565df2687f" -uuid = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28" -version = "1.0.2" - -[[deps.Mmap]] -uuid = "a63ad114-7e13-5084-954f-fe012c677804" - -[[deps.MosaicViews]] -deps = ["MappedArrays", "OffsetArrays", "PaddedViews", "StackViews"] -git-tree-sha1 = "b34e3bc3ca7c94914418637cb10cc4d1d80d877d" -uuid = "e94cdb99-869f-56ef-bcf0-1ae2bcbe0389" -version = "0.3.3" - -[[deps.MozillaCACerts_jll]] -uuid = "14a3606d-f60d-562e-9121-12d972cd8159" - -[[deps.NaNMath]] -git-tree-sha1 = "f755f36b19a5116bb580de457cda0c140153f283" -uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" -version = "0.3.6" - -[[deps.NearestNeighbors]] -deps = ["Distances", "StaticArrays"] -git-tree-sha1 = "16baacfdc8758bc374882566c9187e785e85c2f0" -uuid = "b8a86587-4115-5ab1-83bc-aa920d37bbce" -version = "0.4.9" - -[[deps.Netpbm]] -deps = ["FileIO", "ImageCore"] -git-tree-sha1 = "18efc06f6ec36a8b801b23f076e3c6ac7c3bf153" -uuid = "f09324ee-3d7c-5217-9330-fc30815ba969" -version = "1.0.2" - -[[deps.NetworkOptions]] -uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" - -[[deps.Observables]] -git-tree-sha1 = "fe29afdef3d0c4a8286128d4e45cc50621b1e43d" -uuid = "510215fc-4207-5dde-b226-833fc4488ee2" -version = "0.4.0" - -[[deps.OffsetArrays]] -deps = ["Adapt"] -git-tree-sha1 = "043017e0bdeff61cfbb7afeb558ab29536bbb5ed" -uuid = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" -version = "1.10.8" - -[[deps.Ogg_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "887579a3eb005446d514ab7aeac5d1d027658b8f" -uuid = "e7412a2a-1a6e-54c0-be00-318e2571c051" -version = "1.3.5+1" - -[[deps.OpenBLAS_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] -uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" - -[[deps.OpenEXR]] -deps = ["Colors", "FileIO", "OpenEXR_jll"] -git-tree-sha1 = "327f53360fdb54df7ecd01e96ef1983536d1e633" -uuid = "52e1d378-f018-4a11-a4be-720524705ac7" -version = "0.3.2" - -[[deps.OpenEXR_jll]] -deps = ["Artifacts", "Imath_jll", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] -git-tree-sha1 = "923319661e9a22712f24596ce81c54fc0366f304" -uuid = "18a262bb-aa17-5467-a713-aee519bc75cb" -version = "3.1.1+0" - -[[deps.OpenLibm_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "05823500-19ac-5b8b-9628-191a04bc5112" - -[[deps.OpenSSL_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "648107615c15d4e09f7eca16307bc821c1f718d8" -uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" -version = "1.1.13+0" - -[[deps.OpenSpecFun_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "13652491f6856acfd2db29360e1bbcd4565d04f1" -uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e" -version = "0.5.5+0" - -[[deps.Opus_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "51a08fb14ec28da2ec7a927c4337e4332c2a4720" -uuid = "91d4177d-7536-5919-b921-800302f37372" -version = "1.3.2+0" - -[[deps.OrderedCollections]] -git-tree-sha1 = "85f8e6578bf1f9ee0d11e7bb1b1456435479d47c" -uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" -version = "1.4.1" - -[[deps.PCRE_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "b2a7af664e098055a7529ad1a900ded962bca488" -uuid = "2f80f16e-611a-54ab-bc61-aa92de5b98fc" -version = "8.44.0+0" - -[[deps.PNGFiles]] -deps = ["Base64", "CEnum", "ImageCore", "IndirectArrays", "OffsetArrays", "libpng_jll"] -git-tree-sha1 = "6d105d40e30b635cfed9d52ec29cf456e27d38f8" -uuid = "f57f5aa1-a3ce-4bc8-8ab9-96f992907883" -version = "0.3.12" - -[[deps.PaddedViews]] -deps = ["OffsetArrays"] -git-tree-sha1 = "03a7a85b76381a3d04c7a1656039197e70eda03d" -uuid = "5432bcbf-9aad-5242-b902-cca2824c8663" -version = "0.5.11" - -[[deps.Pango_jll]] -deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "FriBidi_jll", "Glib_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "9bc1871464b12ed19297fbc56c4fb4ba84988b0d" -uuid = "36c8627f-9965-5494-a995-c6b170f724f3" -version = "1.47.0+0" - -[[deps.Parameters]] -deps = ["OrderedCollections", "UnPack"] -git-tree-sha1 = "34c0e9ad262e5f7fc75b10a9952ca7692cfc5fbe" -uuid = "d96e819e-fc66-5662-9728-84c9c7592b0a" -version = "0.12.3" - -[[deps.Parsers]] -deps = ["Dates"] -git-tree-sha1 = "92f91ba9e5941fc781fecf5494ac1da87bdac775" -uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" -version = "2.2.0" - -[[deps.Pidfile]] -deps = ["FileWatching", "Test"] -git-tree-sha1 = "1be8660b2064893cd2dae4bd004b589278e4440d" -uuid = "fa939f87-e72e-5be4-a000-7fc836dbe307" -version = "1.2.0" - -[[deps.Pixman_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "b4f5d02549a10e20780a24fce72bea96b6329e29" -uuid = "30392449-352a-5448-841d-b1acce4e97dc" -version = "0.40.1+0" - -[[deps.Pkg]] -deps = ["Artifacts", "Dates", "Downloads", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] -uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" - -[[deps.PkgVersion]] -deps = ["Pkg"] -git-tree-sha1 = "a7a7e1a88853564e551e4eba8650f8c38df79b37" -uuid = "eebad327-c553-4316-9ea0-9fa01ccd7688" -version = "0.1.1" - -[[deps.Preferences]] -deps = ["TOML"] -git-tree-sha1 = "2cf929d64681236a2e074ffafb8d568733d2e6af" -uuid = "21216c6a-2e73-6563-6e65-726566657250" -version = "1.2.3" - -[[deps.Printf]] -deps = ["Unicode"] -uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" - -[[deps.Profile]] -deps = ["Printf"] -uuid = "9abbd945-dff8-562f-b5e8-e1ebf5ef1b79" - -[[deps.ProgressMeter]] -deps = ["Distributed", "Printf"] -git-tree-sha1 = "afadeba63d90ff223a6a48d2009434ecee2ec9e8" -uuid = "92933f4c-e287-5a05-a399-4b506db050ca" -version = "1.7.1" - -[[deps.QOI]] -deps = ["ColorTypes", "FileIO", "FixedPointNumbers"] -git-tree-sha1 = "18e8f4d1426e965c7b532ddd260599e1510d26ce" -uuid = "4b34888f-f399-49d4-9bb3-47ed5cae4e65" -version = "1.0.0" - -[[deps.Quaternions]] -deps = ["DualNumbers", "LinearAlgebra"] -git-tree-sha1 = "adf644ef95a5e26c8774890a509a55b7791a139f" -uuid = "94ee1d12-ae83-5a48-8b1c-48b8ff168ae0" -version = "0.4.2" - -[[deps.REPL]] -deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] -uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" - -[[deps.Random]] -deps = ["SHA", "Serialization"] -uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" - -[[deps.RangeArrays]] -git-tree-sha1 = "b9039e93773ddcfc828f12aadf7115b4b4d225f5" -uuid = "b3c3ace0-ae52-54e7-9d0b-2c1406fd6b9d" -version = "0.3.2" - -[[deps.Ratios]] -deps = ["Requires"] -git-tree-sha1 = "01d341f502250e81f6fec0afe662aa861392a3aa" -uuid = "c84ed2f1-dad5-54f0-aa8e-dbefe2724439" -version = "0.4.2" - -[[deps.Reactive]] -deps = ["DataStructures", "Distributed", "Test"] -git-tree-sha1 = "5862d915387ebb954016f50a88e34f79a9e5fcd2" -uuid = "a223df75-4e93-5b7c-acf9-bdd599c0f4de" -version = "0.8.3" - -[[deps.Reexport]] -git-tree-sha1 = "45e428421666073eab6f2da5c9d310d99bb12f9b" -uuid = "189a3867-3050-52da-a836-e630ba90ab69" -version = "1.2.2" - -[[deps.RegionTrees]] -deps = ["IterTools", "LinearAlgebra", "StaticArrays"] -git-tree-sha1 = "4618ed0da7a251c7f92e869ae1a19c74a7d2a7f9" -uuid = "dee08c22-ab7f-5625-9660-a9af2021b33f" -version = "0.3.2" - -[[deps.Requires]] -deps = ["UUIDs"] -git-tree-sha1 = "838a3a4188e2ded87a4f9f184b4b0d78a1e91cb7" -uuid = "ae029012-a4dd-5104-9daa-d747884805df" -version = "1.3.0" - -[[deps.Rotations]] -deps = ["LinearAlgebra", "Quaternions", "Random", "StaticArrays", "Statistics"] -git-tree-sha1 = "2fa87d198bc5356c649b92109ed3ce46ee1eb89d" -uuid = "6038ab10-8711-5258-84ad-4b1120ba62dc" -version = "1.1.1" - -[[deps.RoundingIntegers]] -git-tree-sha1 = "99acd97f396ea71a5be06ba6de5c9defe188a778" -uuid = "d5f540fe-1c90-5db3-b776-2e2f362d9394" -version = "1.1.0" - -[[deps.Rsvg]] -deps = ["Cairo", "Glib_jll", "Librsvg_jll"] -git-tree-sha1 = "3d3dc66eb46568fb3a5259034bfc752a0eb0c686" -uuid = "c4c386cf-5103-5370-be45-f3a111cca3b8" -version = "1.0.0" - -[[deps.SHA]] -uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" - -[[deps.Serialization]] -uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" - -[[deps.SharedArrays]] -deps = ["Distributed", "Mmap", "Random", "Serialization"] -uuid = "1a1011a3-84de-559e-8e89-a11a2f7dc383" - -[[deps.SimpleTraits]] -deps = ["InteractiveUtils", "MacroTools"] -git-tree-sha1 = "5d7e3f4e11935503d3ecaf7186eac40602e7d231" -uuid = "699a6c99-e7fa-54fc-8d76-47d257e15c1d" -version = "0.9.4" - -[[deps.SimpleWeightedGraphs]] -deps = ["Graphs", "LinearAlgebra", "Markdown", "SparseArrays", "Test"] -git-tree-sha1 = "a6f404cc44d3d3b28c793ec0eb59af709d827e4e" -uuid = "47aef6b3-ad0c-573a-a1e2-d07658019622" -version = "1.2.1" - -[[deps.Sixel]] -deps = ["Dates", "FileIO", "ImageCore", "IndirectArrays", "OffsetArrays", "REPL", "libsixel_jll"] -git-tree-sha1 = "8fb59825be681d451c246a795117f317ecbcaa28" -uuid = "45858cf5-a6b0-47a3-bbea-62219f50df47" -version = "0.1.2" - -[[deps.Sockets]] -uuid = "6462fe0b-24de-5631-8697-dd941f90decc" - -[[deps.SortingAlgorithms]] -deps = ["DataStructures"] -git-tree-sha1 = "b3363d7460f7d098ca0912c69b082f75625d7508" -uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" -version = "1.0.1" - -[[deps.SparseArrays]] -deps = ["LinearAlgebra", "Random"] -uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" - -[[deps.SpecialFunctions]] -deps = ["ChainRulesCore", "IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] -git-tree-sha1 = "e08890d19787ec25029113e88c34ec20cac1c91e" -uuid = "276daf66-3868-5448-9aa4-cd146d93841b" -version = "2.0.0" - -[[deps.StackViews]] -deps = ["OffsetArrays"] -git-tree-sha1 = "46e589465204cd0c08b4bd97385e4fa79a0c770c" -uuid = "cae243ae-269e-4f55-b966-ac2d0dc13c15" -version = "0.1.1" - -[[deps.Static]] -deps = ["IfElse"] -git-tree-sha1 = "b4912cd034cdf968e06ca5f943bb54b17b97793a" -uuid = "aedffcd0-7271-4cad-89d0-dc628f76c6d3" -version = "0.5.1" - -[[deps.StaticArrays]] -deps = ["LinearAlgebra", "Random", "Statistics"] -git-tree-sha1 = "2884859916598f974858ff01df7dfc6c708dd895" -uuid = "90137ffa-7385-5640-81b9-e52037218182" -version = "1.3.3" - -[[deps.Statistics]] -deps = ["LinearAlgebra", "SparseArrays"] -uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" - -[[deps.StatsAPI]] -git-tree-sha1 = "d88665adc9bcf45903013af0982e2fd05ae3d0a6" -uuid = "82ae8749-77ed-4fe6-ae5f-f523153014b0" -version = "1.2.0" - -[[deps.StatsBase]] -deps = ["DataAPI", "DataStructures", "LinearAlgebra", "LogExpFunctions", "Missings", "Printf", "Random", "SortingAlgorithms", "SparseArrays", "Statistics", "StatsAPI"] -git-tree-sha1 = "51383f2d367eb3b444c961d485c565e4c0cf4ba0" -uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" -version = "0.33.14" - -[[deps.TOML]] -deps = ["Dates"] -uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" - -[[deps.Tar]] -deps = ["ArgTools", "SHA"] -uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" - -[[deps.TensorCore]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "1feb45f88d133a655e001435632f019a9a1bcdb6" -uuid = "62fd8b95-f654-4bbd-a8a5-9c27f68ccd50" -version = "0.1.1" - -[[deps.Test]] -deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] -uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" - -[[deps.TiffImages]] -deps = ["ColorTypes", "DataStructures", "DocStringExtensions", "FileIO", "FixedPointNumbers", "IndirectArrays", "Inflate", "OffsetArrays", "PkgVersion", "ProgressMeter", "UUIDs"] -git-tree-sha1 = "991d34bbff0d9125d93ba15887d6594e8e84b305" -uuid = "731e570b-9d59-4bfa-96dc-6df516fadf69" -version = "0.5.3" - -[[deps.TiledIteration]] -deps = ["OffsetArrays"] -git-tree-sha1 = "5683455224ba92ef59db72d10690690f4a8dc297" -uuid = "06e1c1a7-607b-532d-9fad-de7d9aa2abac" -version = "0.3.1" - -[[deps.TranscodingStreams]] -deps = ["Random", "Test"] -git-tree-sha1 = "216b95ea110b5972db65aa90f88d8d89dcb8851c" -uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" -version = "0.9.6" - -[[deps.URIs]] -git-tree-sha1 = "97bbe755a53fe859669cd907f2d96aee8d2c1355" -uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" -version = "1.3.0" - -[[deps.UUIDs]] -deps = ["Random", "SHA"] -uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" - -[[deps.UnPack]] -git-tree-sha1 = "387c1f73762231e86e0c9c5443ce3b4a0a9a0c2b" -uuid = "3a884ed6-31ef-47d7-9d2a-63182c4928ed" -version = "1.0.2" - -[[deps.Unicode]] -uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" - -[[deps.VideoIO]] -deps = ["ColorTypes", "Dates", "Downloads", "FFMPEG", "FileIO", "Glob", "ImageCore", "Libdl", "ProgressMeter", "Requires"] -git-tree-sha1 = "16d386dab973f1fd7f5b42254962b14cbb4694c4" -uuid = "d6d074c3-1acf-5d4c-9a43-ef38773959a2" -version = "0.9.6" - -[[deps.Wayland_jll]] -deps = ["Artifacts", "Expat_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg", "XML2_jll"] -git-tree-sha1 = "3e61f0b86f90dacb0bc0e73a0c5a83f6a8636e23" -uuid = "a2964d1f-97da-50d4-b82a-358c7fce9d89" -version = "1.19.0+0" - -[[deps.Wayland_protocols_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "66d72dc6fcc86352f01676e8f0f698562e60510f" -uuid = "2381bf8a-dfd0-557d-9999-79630e7b1b91" -version = "1.23.0+0" - -[[deps.WebIO]] -deps = ["AssetRegistry", "Base64", "Distributed", "FunctionalCollections", "JSON", "Logging", "Observables", "Pkg", "Random", "Requires", "Sockets", "UUIDs", "WebSockets", "Widgets"] -git-tree-sha1 = "5fe32e4086d49f7ab9b087296742859f3ae6d62a" -uuid = "0f1e0344-ec1d-5b48-a673-e5cf874b6c29" -version = "0.8.16" - -[[deps.WebSockets]] -deps = ["Base64", "Dates", "HTTP", "Logging", "Sockets"] -git-tree-sha1 = "f91a602e25fe6b89afc93cf02a4ae18ee9384ce3" -uuid = "104b5d7c-a370-577a-8038-80a2059c5097" -version = "1.5.9" - -[[deps.Widgets]] -deps = ["Colors", "Dates", "Observables", "OrderedCollections"] -git-tree-sha1 = "80661f59d28714632132c73779f8becc19a113f2" -uuid = "cc8bc4a8-27d6-5769-a93b-9d913e69aa62" -version = "0.6.4" - -[[deps.WoodburyMatrices]] -deps = ["LinearAlgebra", "SparseArrays"] -git-tree-sha1 = "de67fa59e33ad156a590055375a30b23c40299d3" -uuid = "efce3f68-66dc-5838-9240-27a6d6f5f9b6" -version = "0.5.5" - -[[deps.XML2_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Libiconv_jll", "Pkg", "Zlib_jll"] -git-tree-sha1 = "1acf5bdf07aa0907e0a37d3718bb88d4b687b74a" -uuid = "02c8fc9c-b97f-50b9-bbe4-9be30ff0a78a" -version = "2.9.12+0" - -[[deps.XSLT_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgcrypt_jll", "Libgpg_error_jll", "Libiconv_jll", "Pkg", "XML2_jll", "Zlib_jll"] -git-tree-sha1 = "91844873c4085240b95e795f692c4cec4d805f8a" -uuid = "aed1982a-8fda-507f-9586-7b0439959a61" -version = "1.1.34+0" - -[[deps.Xorg_libX11_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libxcb_jll", "Xorg_xtrans_jll"] -git-tree-sha1 = "5be649d550f3f4b95308bf0183b82e2582876527" -uuid = "4f6342f7-b3d2-589e-9d20-edeb45f2b2bc" -version = "1.6.9+4" - -[[deps.Xorg_libXau_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "4e490d5c960c314f33885790ed410ff3a94ce67e" -uuid = "0c0b7dd1-d40b-584c-a123-a41640f87eec" -version = "1.0.9+4" - -[[deps.Xorg_libXcomposite_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXfixes_jll"] -git-tree-sha1 = "7c688ca9c957837539bbe1c53629bb871025e423" -uuid = "3c9796d7-64a0-5134-86ad-79f8eb684845" -version = "0.4.5+4" - -[[deps.Xorg_libXcursor_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXfixes_jll", "Xorg_libXrender_jll"] -git-tree-sha1 = "12e0eb3bc634fa2080c1c37fccf56f7c22989afd" -uuid = "935fb764-8cf2-53bf-bb30-45bb1f8bf724" -version = "1.2.0+4" - -[[deps.Xorg_libXdamage_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXfixes_jll"] -git-tree-sha1 = "fe4ffb2024ba3eddc862c6e1d70e2b070cd1c2bf" -uuid = "0aeada51-83db-5f97-b67e-184615cfc6f6" -version = "1.1.5+4" - -[[deps.Xorg_libXdmcp_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "4fe47bd2247248125c428978740e18a681372dd4" -uuid = "a3789734-cfe1-5b06-b2d0-1dd0d9d62d05" -version = "1.1.3+4" - -[[deps.Xorg_libXext_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] -git-tree-sha1 = "b7c0aa8c376b31e4852b360222848637f481f8c3" -uuid = "1082639a-0dae-5f34-9b06-72781eeb8cb3" -version = "1.3.4+4" - -[[deps.Xorg_libXfixes_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] -git-tree-sha1 = "0e0dc7431e7a0587559f9294aeec269471c991a4" -uuid = "d091e8ba-531a-589c-9de9-94069b037ed8" -version = "5.0.3+4" - -[[deps.Xorg_libXi_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll", "Xorg_libXfixes_jll"] -git-tree-sha1 = "89b52bc2160aadc84d707093930ef0bffa641246" -uuid = "a51aa0fd-4e3c-5386-b890-e753decda492" -version = "1.7.10+4" - -[[deps.Xorg_libXinerama_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll"] -git-tree-sha1 = "26be8b1c342929259317d8b9f7b53bf2bb73b123" -uuid = "d1454406-59df-5ea1-beac-c340f2130bc3" -version = "1.1.4+4" - -[[deps.Xorg_libXrandr_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll", "Xorg_libXrender_jll"] -git-tree-sha1 = "34cea83cb726fb58f325887bf0612c6b3fb17631" -uuid = "ec84b674-ba8e-5d96-8ba1-2a689ba10484" -version = "1.5.2+4" - -[[deps.Xorg_libXrender_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] -git-tree-sha1 = "19560f30fd49f4d4efbe7002a1037f8c43d43b96" -uuid = "ea2f1a96-1ddc-540d-b46f-429655e07cfa" -version = "0.9.10+4" - -[[deps.Xorg_libXtst_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll", "Xorg_libXfixes_jll", "Xorg_libXi_jll"] -git-tree-sha1 = "0c0a60851f44add2a64069ddf213e941c30ed93c" -uuid = "b6f176f1-7aea-5357-ad67-1d3e565ea1c6" -version = "1.2.3+4" - -[[deps.Xorg_libpthread_stubs_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "6783737e45d3c59a4a4c4091f5f88cdcf0908cbb" -uuid = "14d82f49-176c-5ed1-bb49-ad3f5cbd8c74" -version = "0.1.0+3" - -[[deps.Xorg_libxcb_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "XSLT_jll", "Xorg_libXau_jll", "Xorg_libXdmcp_jll", "Xorg_libpthread_stubs_jll"] -git-tree-sha1 = "daf17f441228e7a3833846cd048892861cff16d6" -uuid = "c7cfdc94-dc32-55de-ac96-5a1b8d977c5b" -version = "1.13.0+3" - -[[deps.Xorg_libxkbfile_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] -git-tree-sha1 = "926af861744212db0eb001d9e40b5d16292080b2" -uuid = "cc61e674-0454-545c-8b26-ed2c68acab7a" -version = "1.1.0+4" - -[[deps.Xorg_xkbcomp_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libxkbfile_jll"] -git-tree-sha1 = "4bcbf660f6c2e714f87e960a171b119d06ee163b" -uuid = "35661453-b289-5fab-8a00-3d9160c6a3a4" -version = "1.4.2+4" - -[[deps.Xorg_xkeyboard_config_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xkbcomp_jll"] -git-tree-sha1 = "5c8424f8a67c3f2209646d4425f3d415fee5931d" -uuid = "33bec58e-1273-512f-9401-5d533626f822" -version = "2.27.0+4" - -[[deps.Xorg_xtrans_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "79c31e7844f6ecf779705fbc12146eb190b7d845" -uuid = "c5fb5394-a638-5e4d-96e5-b29de1b5cf10" -version = "1.4.0+3" - -[[deps.Zlib_jll]] -deps = ["Libdl"] -uuid = "83775a58-1f1d-513f-b197-d71354ab007a" - -[[deps.Zstd_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "cc4bf3fdde8b7e3e9fa0351bdeedba1cf3b7f6e6" -uuid = "3161d3a3-bdf6-5164-811a-617609db77b4" -version = "1.5.0+0" - -[[deps.adwaita_icon_theme_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "hicolor_icon_theme_jll"] -git-tree-sha1 = "37c9a36ccb876e02876c8a654f1b2e8c1b443a78" -uuid = "b437f822-2cd6-5e08-a15c-8bac984d38ee" -version = "3.33.92+5" - -[[deps.at_spi2_atk_jll]] -deps = ["ATK_jll", "Artifacts", "JLLWrappers", "Libdl", "Pkg", "XML2_jll", "Xorg_libX11_jll", "at_spi2_core_jll"] -git-tree-sha1 = "f16ae690aca4761f33d2cb338ee9899e541f5eae" -uuid = "de012916-1e3f-58c2-8f29-df3ef51d412d" -version = "2.34.1+4" - -[[deps.at_spi2_core_jll]] -deps = ["Artifacts", "Dbus_jll", "Glib_jll", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXtst_jll"] -git-tree-sha1 = "d2d540cd145f2b2933614649c029d222fe125188" -uuid = "0fc3237b-ac94-5853-b45c-d43d59a06200" -version = "2.34.0+4" - -[[deps.gdk_pixbuf_jll]] -deps = ["Artifacts", "Glib_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pkg", "Xorg_libX11_jll", "libpng_jll"] -git-tree-sha1 = "c23323cd30d60941f8c68419a70905d9bdd92808" -uuid = "da03df04-f53b-5353-a52f-6a8b0620ced0" -version = "2.42.6+1" - -[[deps.hicolor_icon_theme_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "b458a6f6fc2b1a8ca74ed63852e4eaf43fb9f5ea" -uuid = "059c91fe-1bad-52ad-bddd-f7b78713c282" -version = "0.17.0+3" - -[[deps.iso_codes_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "5ee24c3ae30e006117ec2da5ea50f2ce457c019a" -uuid = "bf975903-5238-5d20-8243-bc370bc1e7e5" -version = "4.3.0+4" - -[[deps.libass_jll]] -deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] -git-tree-sha1 = "5982a94fcba20f02f42ace44b9894ee2b140fe47" -uuid = "0ac62f75-1d6f-5e53-bd7c-93b484bb37c0" -version = "0.15.1+0" - -[[deps.libblastrampoline_jll]] -deps = ["Artifacts", "Libdl", "OpenBLAS_jll"] -uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" - -[[deps.libfdk_aac_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "daacc84a041563f965be61859a36e17c4e4fcd55" -uuid = "f638f0a6-7fb0-5443-88ba-1cc74229b280" -version = "2.0.2+0" - -[[deps.libpng_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] -git-tree-sha1 = "94d180a6d2b5e55e447e2d27a29ed04fe79eb30c" -uuid = "b53b4c65-9356-5827-b1ea-8c7a1a84506f" -version = "1.6.38+0" - -[[deps.libsixel_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "78736dab31ae7a53540a6b752efc61f77b304c5b" -uuid = "075b6546-f08a-558a-be8f-8157d0f608a5" -version = "1.8.6+1" - -[[deps.libvorbis_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Ogg_jll", "Pkg"] -git-tree-sha1 = "c45f4e40e7aafe9d086379e5578947ec8b95a8fb" -uuid = "f27f6e37-5d2b-51aa-960f-b287f2bc3b7a" -version = "1.3.7+0" - -[[deps.nghttp2_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" - -[[deps.p7zip_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" - -[[deps.x264_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "4fea590b89e6ec504593146bf8b988b2c00922b2" -uuid = "1270edf5-f2f9-52d2-97e9-ab00b5d0237a" -version = "2021.5.5+0" - -[[deps.x265_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "ee567a171cce03570d77ad3a43e90218e38937a9" -uuid = "dfaa095f-4041-5dcd-9319-2fabd8486b76" -version = "3.5.0+0" - -[[deps.xkbcommon_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Wayland_jll", "Wayland_protocols_jll", "Xorg_libxcb_jll", "Xorg_xkeyboard_config_jll"] -git-tree-sha1 = "ece2350174195bb31de1a63bea3a41ae1aa593b6" -uuid = "d8fb68d0-12a3-5cfd-a85a-d49703b185fd" -version = "0.9.1+5" From bf1f5b75d927ab3a67ab5b06fd5abb1df09bf087 Mon Sep 17 00:00:00 2001 From: gpucce Date: Sat, 22 Jan 2022 14:10:06 +0100 Subject: [PATCH 04/12] fix tests --- test/viewer.jl | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/test/viewer.jl b/test/viewer.jl index bb711d0..3fc18ff 100644 --- a/test/viewer.jl +++ b/test/viewer.jl @@ -40,7 +40,14 @@ end second_frame = Javis.get_javis_frame(video, actions, curr_frame, layers = [l1]) @test Reactive.value(r_slide) == 2 - JavisViewer._decrement(video, [r_slide, tbox], actions, frame_dims, canvas, total_frames) + JavisViewer._decrement( + video, + [r_slide, tbox], + actions, + frame_dims, + canvas, + total_frames, + ) sleep(0.1) curr_frame = Reactive.value(r_slide) first_frame = Javis.get_javis_frame(video, actions, curr_frame, layers = [l1]) @@ -48,7 +55,14 @@ end @test first_frame != second_frame - JavisViewer._decrement(video, [r_slide, tbox], actions, frame_dims, canvas, total_frames) + JavisViewer._decrement( + video, + [r_slide, tbox], + actions, + frame_dims, + canvas, + total_frames, + ) sleep(0.1) curr_frame = Reactive.value(r_slide) last_frame = Javis.get_javis_frame(video, actions, curr_frame, layers = [l1]) @@ -80,15 +94,15 @@ end star_obj = Object(1:100, astar) act!(star_obj, Action(morph_to(acirc; do_action = :fill))) - conf_local = setup_stream(:local, address = "0.0.0.0", port = 8081) + conf_local = JavisViewer.setup_stream(:local, address = "0.0.0.0", port = 8081) @test conf_local isa JavisViewer.StreamConfig @test conf_local.livestreamto == :local @test conf_local.protocol == "udp" @test conf_local.address == "0.0.0.0" @test conf_local.port == 8081 - conf_twitch_err = setup_stream(:twitch) - conf_twitch = setup_stream(:twitch, twitch_key = "foo") + conf_twitch_err = JavisViewer.setup_stream(:twitch) + conf_twitch = JavisViewer.setup_stream(:twitch, twitch_key = "foo") @test conf_twitch_err isa JavisViewer.StreamConfig @test conf_twitch_err.livestreamto == :twitch @test isempty(conf_twitch_err.twitch_key) @@ -101,7 +115,7 @@ end # @test test_local isa Base.ProcessChain # @test test_local.processes isa Vector{Base.Process} - cancel_stream() + JavisViewer.cancel_stream() @test_throws ProcessFailedException run( pipeline( `ps aux`, From 1ea42ba52050868df35f89b7262df5ea0f5ff4ec Mon Sep 17 00:00:00 2001 From: gpucce Date: Sat, 26 Feb 2022 23:48:09 +0100 Subject: [PATCH 05/12] this should do it --- src/JavisViewer.jl | 258 ++++++++++++++++++++++++++++++++++++++++++-- src/Livestream.jl | 19 ---- src/javis_viewer.jl | 231 --------------------------------------- test/runtests.jl | 97 +++++++++++++---- test/viewer.jl | 137 ----------------------- 5 files changed, 324 insertions(+), 418 deletions(-) delete mode 100644 src/Livestream.jl delete mode 100644 test/viewer.jl diff --git a/src/JavisViewer.jl b/src/JavisViewer.jl index 4e50a07..63348ec 100644 --- a/src/JavisViewer.jl +++ b/src/JavisViewer.jl @@ -5,17 +5,256 @@ using Gtk using GtkReactive using Javis -include("javis_viewer.jl") -export stream +export liveview export setup_stream, cancel_stream -function stream( + + + +""" + _increment(video::Video, widgets::Vector, objects::Vector, dims::Vector, + canvas::Gtk.Canvas, frames::Int, layers=Vector) + +Increments a given value and returns the associated frame. +""" +function _increment( + video::Video, + widgets::Vector, + objects::Vector, + dims::Vector, + canvas::Gtk.Canvas, + frames::Int, +) + # Get current frame from textbox as an Int value + curr_frame = parse(Int, get_gtk_property(widgets[2], :text, String)) + if frames > curr_frame + # `widgets[1]` represents the GtkReactive slider widget + push!(widgets[1], curr_frame + 1) + _draw_image(video, objects, curr_frame + 1, canvas, dims) + else + # `widgets[2]` represents the GtkReactive textboxwidget + push!(widgets[2], 1) # Sets the first frame shown to one + _draw_image(video, objects, 1, canvas, dims) + end +end + +""" + _decrement(video::Video, widgets::Vector, objects::Vector, dims::Vector, + canvas::Gtk.Canvas, frames::Int, layers::Vector) + +Decrements a given value and returns the associated frame. +""" +function _decrement( + video::Video, + widgets::Vector, + objects::Vector, + dims::Vector, + canvas::Gtk.Canvas, + frames::Int, +) + # Get current frame from textbox as an Int value + curr_frame = parse(Int, get_gtk_property(widgets[2], :text, String)) + if curr_frame > 1 + # `widgets[1]` represents the GtkReactive slider widget + push!(widgets[1], curr_frame - 1) + _draw_image(video, objects, curr_frame - 1, canvas, dims) + else + # `widgets[2]` represents the GtkReactive textboxwidget + push!(widgets[2], frames) # Sets the first frame shown to one + _draw_image(video, objects, frames, canvas, dims) + end +end + +""" + _draw_image(video::Video, objects::Vector, frame::Int, canvas::Gtk.Canvas, + img_dims::Vector) + +Internal function to create an image that is drawn on a Gtk Canvas. +""" +function _draw_image( + video::Video, + objects::Vector, + frame::Int, + canvas::Gtk.Canvas, + img_dims::Vector, +) + @guarded draw(canvas) do widget + # Gets a specific frame from graphic; transposed due to returned matrix + frame_mat = transpose(Javis.get_javis_frame(video, objects, frame; layers = video.layers)) + + # Gets the correct Canvas context to draw on + context = getgc(canvas) + + # Uses Cairo to draw on Gtk canvas context + image(context, CairoImageSurface(frame_mat), 0, 0, img_dims[1], img_dims[2]) + end +end + + +""" + _javis_viewer(video::Video, frames::Int, object_list::Vector, show::Bool) + +Internal Javis Viewer built on Gtk that is called for live previewing. +""" +function _javis_viewer( + video::Video, + total_frames::Int, + object_list::Vector, + show::Bool = true, +) + ##################################################################### + # VIEWER WINDOW AND CONFIGURATION + ##################################################################### + + # Determine frame size of animation + frame_dims = [video.width, video.height] + + # Creates a GTK window for drawing; sized based on frame size + win = GtkWindow("Javis Viewer", frame_dims[1], frame_dims[2]) + + # Sets border size of window + set_gtk_property!(win, :border_width, 20) + + ##################################################################### + # DISPLAY WIDGETS + ##################################################################### + + # Create GtkScale internal widget + _slide = GtkScale(false, 1:total_frames) + + # Create GtkReactive slider widget + slide = slider(1:total_frames, value = 1, widget = _slide) + + #= + # + # NOTE: We must provide a named GtkScale widget named `_slide` to the + # GtkReactive `slider` widget so as to perform asynchronous calls + # via signal_connect. Otherwise, we will be unable to update the + # widget that is automatically created by the slider object. + # + # It should be stated that a `slider` object is essentially a + # GtkScale widget coupled with a Reactive object. + # + =# + + # Create a textbox + tbox = GtkReactive.textbox(Int; signal = signal(slide)) + + # Button for going forward through animation + forward = GtkButton("==>") + + # Button for going backward through animation + backward = GtkButton("<==") + + #= + TODO: Enable widgets of window to dynamically resize based on user changing the size of a window. + I think I can use the `configure-event` signal in GTK3 documentation + (link: https://developer.gnome.org/gtk3/stable/GtkWidget.html#GtkWidget-configure-event). + From there, I can then make a `signal_connect` set-up where I update `set_gtk_property!()` + of the windows accordingly using `:width_request` and `height_request`. + =# + + ##################################################################### + # VIEWER CANVAS AND GRID CONFIGURATION + ##################################################################### + + # Gtk Canvas object upon which to draw image; sized via frame size + canvas = Gtk.Canvas(frame_dims[1], frame_dims[2]) + + # Grid to allocate widgets + grid = Gtk.Grid() + + # Allocate the widgets in a 3x3 grid + grid[1:3, 1] = canvas + grid[1:3, 2] = slide + grid[1, 3] = backward + grid[2, 3] = tbox + grid[3, 3] = forward + + # Center all widgets vertically in grid + set_gtk_property!(grid, :valign, 3) + + # Center all widgets horizontally in grid + set_gtk_property!(grid, :halign, 3) + + # Adds grid to previously defined window + push!(win, grid) + + ##################################################################### + # DISPLAY FIRST FRAME + ##################################################################### + + _draw_image(video, object_list, 1, canvas, frame_dims) + + ##################################################################### + # SIGNAL CONNECTION FUNCTIONS + ##################################################################### + + # When the slider is changed, update currently viewed frame + signal_connect(_slide, "value-changed") do widget + # Collects GtkScale as an adjustable bounded value object + bound_slide = Gtk.GAccessor.adjustment(_slide) + + # Get frame number from bounded value object as Int + slide_val = Gtk.get_gtk_property(bound_slide, "value", Int) + + _draw_image(video, object_list, slide_val, canvas, frame_dims) + end + + # When the `Enter` key is pressed, update the frame + signal_connect(win, "key-press-event") do widget, event + if event.keyval == 65293 + # Get current frame from textbox as an Int value + curr_frame = parse(Int, get_gtk_property(tbox, :text, String)) + curr_frame = clamp(curr_frame, 1, total_frames) + _draw_image(video, object_list, curr_frame, canvas, frame_dims) + end + end + + # When the `forward` button is clicked, increment current frame number + # If at final frame, wrap viewer to first frame + signal_connect(forward, "clicked") do widget + _increment(video, [slide, tbox], object_list, frame_dims, canvas, total_frames) + end + + # When the `Right Arrow` key is pressed, increment current frame number + # If at final frame, wrap viewer to first frame + signal_connect(win, "key-press-event") do widget, event + if event.keyval == 65363 + _increment(video, [slide, tbox], object_list, frame_dims, canvas, total_frames) + end + end + + # When the `backward` button is clicked, decrement the current frame number + # If at first frame, wrap viewer to last frame + signal_connect(backward, "clicked") do widget + _decrement(video, [slide, tbox], object_list, frame_dims, canvas, total_frames) + end + + # When the `Left Arrow` key is pressed, decrement current frame number + # If at first frame, wrap viewer to last frame + signal_connect(win, "key-press-event") do widget, event + if event.keyval == 65361 + _decrement(video, [slide, tbox], object_list, frame_dims, canvas, total_frames) + end + end + + ##################################################################### + + if show + # Display image viewer + Gtk.showall(win) + else + return win, frame_dims, slide, tbox, canvas, object_list, total_frames, video + end +end + +function liveview( video::Video; framerate = 30, pathname = "javis_$(randstring(7)).gif", - liveview = false, - streamconfig::Union{StreamConfig,Nothing} = nothing, + liveview = true, tempdirectory = "", ffmpeg_loglevel = "panic", rescale_factor = 1.0, @@ -28,6 +267,7 @@ function stream( framerate = framerate, pathname = pathname, liveview = liveview, + streamconfig = nothing, tempdirectory = tempdirectory, ffmpeg_loglevel = ffmpeg_loglevel, rescale_factor = rescale_factor, @@ -36,12 +276,8 @@ function stream( ) # check if livestream is used and livestream if that's the case - if liveview - _javis_viewer(v...) - return "Live Preview Started" - else - _livestream(streamconfig, framerate, video.width, video.height, pathname) - end + _javis_viewer(v...) + "Live Preview Started" end end diff --git a/src/Livestream.jl b/src/Livestream.jl deleted file mode 100644 index 0d914e7..0000000 --- a/src/Livestream.jl +++ /dev/null @@ -1,19 +0,0 @@ -""" - StreamConfig - -Holds the conguration for livestream, defaults to `nothing` - -#Fields -- `livestreamto::Symbol` Livestream platform `:local` or `:twitch` -- `protocol::String` The streaming protocol to be used. Defaults to UDP -- `address::String` The IP address for the `:local` stream(ignored in case of `:twitch`) -- `port::Int` The port for the `:local` stream(ignored in case of `:twitch`) -- `twitch_key::String` Twitch stream key for your account -""" -struct StreamConfig - livestreamto::Symbol - protocol::String - address::String - port::Int - twitch_key::String -end diff --git a/src/javis_viewer.jl b/src/javis_viewer.jl index 6748c53..becf96a 100644 --- a/src/javis_viewer.jl +++ b/src/javis_viewer.jl @@ -1,241 +1,10 @@ -include("Livestream.jl") -""" - _draw_image(video::Video, objects::Vector, frame::Int, canvas::Gtk.Canvas, - img_dims::Vector) - -Internal function to create an image that is drawn on a Gtk Canvas. -""" -function _draw_image( - video::Video, - objects::Vector, - frame::Int, - canvas::Gtk.Canvas, - img_dims::Vector, -) - @guarded draw(canvas) do widget - # Gets a specific frame from graphic; transposed due to returned matrix - frame_mat = transpose(get_javis_frame(video, objects, frame; layers = video.layers)) - - # Gets the correct Canvas context to draw on - context = getgc(canvas) - - # Uses Cairo to draw on Gtk canvas context - image(context, CairoImageSurface(frame_mat), 0, 0, img_dims[1], img_dims[2]) - end -end - -""" - _increment(video::Video, widgets::Vector, objects::Vector, dims::Vector, - canvas::Gtk.Canvas, frames::Int, layers=Vector) - -Increments a given value and returns the associated frame. -""" -function _increment( - video::Video, - widgets::Vector, - objects::Vector, - dims::Vector, - canvas::Gtk.Canvas, - frames::Int, -) - # Get current frame from textbox as an Int value - curr_frame = parse(Int, get_gtk_property(widgets[2], :text, String)) - if frames > curr_frame - # `widgets[1]` represents the GtkReactive slider widget - push!(widgets[1], curr_frame + 1) - _draw_image(video, objects, curr_frame + 1, canvas, dims) - else - # `widgets[2]` represents the GtkReactive textboxwidget - push!(widgets[2], 1) # Sets the first frame shown to one - _draw_image(video, objects, 1, canvas, dims) - end -end - -""" - _decrement(video::Video, widgets::Vector, objects::Vector, dims::Vector, - canvas::Gtk.Canvas, frames::Int, layers::Vector) - -Decrements a given value and returns the associated frame. -""" -function _decrement( - video::Video, - widgets::Vector, - objects::Vector, - dims::Vector, - canvas::Gtk.Canvas, - frames::Int, -) - # Get current frame from textbox as an Int value - curr_frame = parse(Int, get_gtk_property(widgets[2], :text, String)) - if curr_frame > 1 - # `widgets[1]` represents the GtkReactive slider widget - push!(widgets[1], curr_frame - 1) - _draw_image(video, objects, curr_frame - 1, canvas, dims) - else - # `widgets[2]` represents the GtkReactive textboxwidget - push!(widgets[2], frames) # Sets the first frame shown to one - _draw_image(video, objects, frames, canvas, dims) - end -end - -""" - _javis_viewer(video::Video, frames::Int, object_list::Vector, show::Bool) - -Internal Javis Viewer built on Gtk that is called for live previewing. -""" -function _javis_viewer( - video::Video, - total_frames::Int, - object_list::Vector, - show::Bool = true, -) - ##################################################################### - # VIEWER WINDOW AND CONFIGURATION - ##################################################################### - - # Determine frame size of animation - frame_dims = [video.width, video.height] - - # Creates a GTK window for drawing; sized based on frame size - win = GtkWindow("Javis Viewer", frame_dims[1], frame_dims[2]) - - # Sets border size of window - set_gtk_property!(win, :border_width, 20) - - ##################################################################### - # DISPLAY WIDGETS - ##################################################################### - - # Create GtkScale internal widget - _slide = GtkScale(false, 1:total_frames) - # Create GtkReactive slider widget - slide = slider(1:total_frames, value = 1, widget = _slide) - #= - # - # NOTE: We must provide a named GtkScale widget named `_slide` to the - # GtkReactive `slider` widget so as to perform asynchronous calls - # via signal_connect. Otherwise, we will be unable to update the - # widget that is automatically created by the slider object. - # - # It should be stated that a `slider` object is essentially a - # GtkScale widget coupled with a Reactive object. - # - =# - # Create a textbox - tbox = GtkReactive.textbox(Int; signal = signal(slide)) - # Button for going forward through animation - forward = GtkButton("==>") - # Button for going backward through animation - backward = GtkButton("<==") - #= - TODO: Enable widgets of window to dynamically resize based on user changing the size of a window. - I think I can use the `configure-event` signal in GTK3 documentation - (link: https://developer.gnome.org/gtk3/stable/GtkWidget.html#GtkWidget-configure-event). - From there, I can then make a `signal_connect` set-up where I update `set_gtk_property!()` - of the windows accordingly using `:width_request` and `height_request`. - =# - - ##################################################################### - # VIEWER CANVAS AND GRID CONFIGURATION - ##################################################################### - - # Gtk Canvas object upon which to draw image; sized via frame size - canvas = Gtk.Canvas(frame_dims[1], frame_dims[2]) - - # Grid to allocate widgets - grid = Gtk.Grid() - - # Allocate the widgets in a 3x3 grid - grid[1:3, 1] = canvas - grid[1:3, 2] = slide - grid[1, 3] = backward - grid[2, 3] = tbox - grid[3, 3] = forward - - # Center all widgets vertically in grid - set_gtk_property!(grid, :valign, 3) - - # Center all widgets horizontally in grid - set_gtk_property!(grid, :halign, 3) - - # Adds grid to previously defined window - push!(win, grid) - - ##################################################################### - # DISPLAY FIRST FRAME - ##################################################################### - - _draw_image(video, object_list, 1, canvas, frame_dims) - - ##################################################################### - # SIGNAL CONNECTION FUNCTIONS - ##################################################################### - - # When the slider is changed, update currently viewed frame - signal_connect(_slide, "value-changed") do widget - # Collects GtkScale as an adjustable bounded value object - bound_slide = Gtk.GAccessor.adjustment(_slide) - - # Get frame number from bounded value object as Int - slide_val = Gtk.get_gtk_property(bound_slide, "value", Int) - - _draw_image(video, object_list, slide_val, canvas, frame_dims) - end - - # When the `Enter` key is pressed, update the frame - signal_connect(win, "key-press-event") do widget, event - if event.keyval == 65293 - # Get current frame from textbox as an Int value - curr_frame = parse(Int, get_gtk_property(tbox, :text, String)) - curr_frame = clamp(curr_frame, 1, total_frames) - _draw_image(video, object_list, curr_frame, canvas, frame_dims) - end - end - - # When the `forward` button is clicked, increment current frame number - # If at final frame, wrap viewer to first frame - signal_connect(forward, "clicked") do widget - _increment(video, [slide, tbox], object_list, frame_dims, canvas, total_frames) - end - - # When the `Right Arrow` key is pressed, increment current frame number - # If at final frame, wrap viewer to first frame - signal_connect(win, "key-press-event") do widget, event - if event.keyval == 65363 - _increment(video, [slide, tbox], object_list, frame_dims, canvas, total_frames) - end - end - - # When the `backward` button is clicked, decrement the current frame number - # If at first frame, wrap viewer to last frame - signal_connect(backward, "clicked") do widget - _decrement(video, [slide, tbox], object_list, frame_dims, canvas, total_frames) - end - - # When the `Left Arrow` key is pressed, decrement current frame number - # If at first frame, wrap viewer to last frame - signal_connect(win, "key-press-event") do widget, event - if event.keyval == 65361 - _decrement(video, [slide, tbox], object_list, frame_dims, canvas, total_frames) - end - end - - ##################################################################### - - if show - # Display image viewer - Gtk.showall(win) - else - return win, frame_dims, slide, tbox, canvas, object_list, total_frames, video - end -end """ setup_stream(livestreamto=:local; protocol="udp", address="0.0.0.0", port=14015, twitch_key="") diff --git a/test/runtests.jl b/test/runtests.jl index c178ca4..797ebcc 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -12,31 +12,88 @@ using Test using VideoIO using JavisViewer -function ground(video, action, framenumber) - background("white") - sethue("blue") - return framenumber -end - -function ground_black_on_white(video, action, framenumber) +function ground(args...) background("white") sethue("black") - return framenumber end -function ground_color(color_bg, color_pen, framenumber) - background(color_bg) - sethue(color_pen) - return framenumber -end +@testset "Javis Viewer" begin + astar(args...; do_action = :stroke) = star(O, 50, 5, 0.5, 0, do_action) + acirc(args...; do_action = :stroke) = circle(Point(100, 100), 50, do_action) -function circle_with_color(position, radius, action, color) - sethue(color) - circle(position, radius, action) -end + vid = Video(500, 500) + back = Background(1:100, ground) + star_obj = Object(1:100, astar) + act!(star_obj, Action(morph_to(acirc; do_action = :fill))) -@testset "JavisViewer" begin - @testset "Javis Viewer" begin - include("viewer.jl") + l1 = @JLayer 20:60 100 100 Point(0, 0) begin + obj = Object((args...) -> circle(O, 25, :fill)) + act!(obj, Action(1:20, appear(:fade))) end + + liveview(vid; pathname = "") + + action_list = [back, star_obj] + + viewer_win, frame_dims, r_slide, tbox, canvas, actions, total_frames, video = + JavisViewer._javis_viewer(vid, 100, action_list, false) + visible(viewer_win, false) + + @test get_gtk_property(viewer_win, :title, String) == "Javis Viewer" + + JavisViewer._increment( + video, + [r_slide, tbox], + actions, + frame_dims, + canvas, + total_frames, + ) + sleep(0.1) + curr_frame = Reactive.value(r_slide) + second_frame = Javis.get_javis_frame(video, actions, curr_frame, layers = [l1]) + @test Reactive.value(r_slide) == 2 + + JavisViewer._decrement( + video, + [r_slide, tbox], + actions, + frame_dims, + canvas, + total_frames, + ) + sleep(0.1) + curr_frame = Reactive.value(r_slide) + first_frame = Javis.get_javis_frame(video, actions, curr_frame, layers = [l1]) + @test Reactive.value(r_slide) == 1 + + @test first_frame != second_frame + + JavisViewer._decrement( + video, + [r_slide, tbox], + actions, + frame_dims, + canvas, + total_frames, + ) + sleep(0.1) + curr_frame = Reactive.value(r_slide) + last_frame = Javis.get_javis_frame(video, actions, curr_frame, layers = [l1]) + @test curr_frame == total_frames + + JavisViewer._increment( + video, + [r_slide, tbox], + actions, + frame_dims, + canvas, + total_frames, + ) + sleep(0.1) + curr_frame = Reactive.value(r_slide) + first_frame = Javis.get_javis_frame(video, actions, curr_frame, layers = [l1]) + @test curr_frame == 1 + + @test last_frame != first_frame end diff --git a/test/viewer.jl b/test/viewer.jl deleted file mode 100644 index 3fc18ff..0000000 --- a/test/viewer.jl +++ /dev/null @@ -1,137 +0,0 @@ -function ground(args...) - background("white") - sethue("black") -end - -@testset "Javis Viewer" begin - astar(args...; do_action = :stroke) = star(O, 50, 5, 0.5, 0, do_action) - acirc(args...; do_action = :stroke) = circle(Point(100, 100), 50, do_action) - - vid = Video(500, 500) - back = Background(1:100, ground) - star_obj = Object(1:100, astar) - act!(star_obj, Action(morph_to(acirc; do_action = :fill))) - - l1 = @JLayer 20:60 100 100 Point(0, 0) begin - obj = Object((args...) -> circle(O, 25, :fill)) - act!(obj, Action(1:20, appear(:fade))) - end - - stream(vid; pathname = "") - - action_list = [back, star_obj] - - viewer_win, frame_dims, r_slide, tbox, canvas, actions, total_frames, video = - JavisViewer._javis_viewer(vid, 100, action_list, false) - visible(viewer_win, false) - - @test get_gtk_property(viewer_win, :title, String) == "Javis Viewer" - - JavisViewer._increment( - video, - [r_slide, tbox], - actions, - frame_dims, - canvas, - total_frames, - ) - sleep(0.1) - curr_frame = Reactive.value(r_slide) - second_frame = Javis.get_javis_frame(video, actions, curr_frame, layers = [l1]) - @test Reactive.value(r_slide) == 2 - - JavisViewer._decrement( - video, - [r_slide, tbox], - actions, - frame_dims, - canvas, - total_frames, - ) - sleep(0.1) - curr_frame = Reactive.value(r_slide) - first_frame = Javis.get_javis_frame(video, actions, curr_frame, layers = [l1]) - @test Reactive.value(r_slide) == 1 - - @test first_frame != second_frame - - JavisViewer._decrement( - video, - [r_slide, tbox], - actions, - frame_dims, - canvas, - total_frames, - ) - sleep(0.1) - curr_frame = Reactive.value(r_slide) - last_frame = Javis.get_javis_frame(video, actions, curr_frame, layers = [l1]) - @test curr_frame == total_frames - - JavisViewer._increment( - video, - [r_slide, tbox], - actions, - frame_dims, - canvas, - total_frames, - ) - sleep(0.1) - curr_frame = Reactive.value(r_slide) - first_frame = Javis.get_javis_frame(video, actions, curr_frame, layers = [l1]) - @test curr_frame == 1 - - @test last_frame != first_frame -end - - -@testset "Livestreaming" begin - astar(args...; do_action = :stroke) = star(O, 50, 5, 0.5, 0, do_action) - acirc(args...; do_action = :stroke) = circle(Point(100, 100), 50, do_action) - - vid = Video(500, 500) - back = Background(1:100, ground) - star_obj = Object(1:100, astar) - act!(star_obj, Action(morph_to(acirc; do_action = :fill))) - - conf_local = JavisViewer.setup_stream(:local, address = "0.0.0.0", port = 8081) - @test conf_local isa JavisViewer.StreamConfig - @test conf_local.livestreamto == :local - @test conf_local.protocol == "udp" - @test conf_local.address == "0.0.0.0" - @test conf_local.port == 8081 - - conf_twitch_err = JavisViewer.setup_stream(:twitch) - conf_twitch = JavisViewer.setup_stream(:twitch, twitch_key = "foo") - @test conf_twitch_err isa JavisViewer.StreamConfig - @test conf_twitch_err.livestreamto == :twitch - @test isempty(conf_twitch_err.twitch_key) - @test conf_twitch.twitch_key == "foo" - - stream(vid, pathname = "stream_local.gif", streamconfig = conf_local) - - # errors with macos; a good test to have - # test_local = run(pipeline(`lsof -i -P -n`, `grep ffmpeg`)) - # @test test_local isa Base.ProcessChain - # @test test_local.processes isa Vector{Base.Process} - - JavisViewer.cancel_stream() - @test_throws ProcessFailedException run( - pipeline( - `ps aux`, - pipeline(`grep ffmpeg`, pipeline(`grep stream_loop`, `awk '{print $2}'`)), - ), - ) - - vid = Video(500, 500) - back = Background(1:100, ground) - star_obj = Object(1:100, astar) - act!(star_obj, Action(morph_to(acirc; do_action = :fill))) - - @test_throws ErrorException stream( - vid, - pathname = "stream_twitch.gif", - streamconfig = conf_twitch_err, - ) - rm("stream_twitch.gif") -end From addf8071efae1c677978f1d581052f234a6079fd Mon Sep 17 00:00:00 2001 From: gpucce Date: Sun, 27 Feb 2022 00:05:35 +0100 Subject: [PATCH 06/12] update bug report --- .github/ISSUE_TEMPLATE/bug_report.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 5bf7943..fc4cce6 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -10,9 +10,9 @@ assignees: '' - + - + **Describe the bug** From 61d92723c6792eb13fdeb437a6b9c76c55994e7a Mon Sep 17 00:00:00 2001 From: gpucce Date: Sun, 27 Feb 2022 00:16:44 +0100 Subject: [PATCH 07/12] format --- .JuliaFormatter.toml | 5 +++++ src/JavisViewer.jl | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 .JuliaFormatter.toml diff --git a/.JuliaFormatter.toml b/.JuliaFormatter.toml new file mode 100644 index 0000000..ef979b1 --- /dev/null +++ b/.JuliaFormatter.toml @@ -0,0 +1,5 @@ +annotate_untyped_fields_with_any = false +always_for_in = true +whitespace_in_kwargs = true +whitespace_ops_in_indices = true +always_use_return = false diff --git a/src/JavisViewer.jl b/src/JavisViewer.jl index 63348ec..0aa8642 100644 --- a/src/JavisViewer.jl +++ b/src/JavisViewer.jl @@ -81,7 +81,8 @@ function _draw_image( ) @guarded draw(canvas) do widget # Gets a specific frame from graphic; transposed due to returned matrix - frame_mat = transpose(Javis.get_javis_frame(video, objects, frame; layers = video.layers)) + frame_mat = + transpose(Javis.get_javis_frame(video, objects, frame; layers = video.layers)) # Gets the correct Canvas context to draw on context = getgc(canvas) From f1925fdb0a828b4080c4e5408fd592c8f777792d Mon Sep 17 00:00:00 2001 From: gpucce Date: Sun, 27 Feb 2022 00:27:31 +0100 Subject: [PATCH 08/12] remove useless stuff --- src/JavisViewer.jl | 5 +- src/javis_viewer.jl | 128 -------------------------------------------- 2 files changed, 1 insertion(+), 132 deletions(-) delete mode 100644 src/javis_viewer.jl diff --git a/src/JavisViewer.jl b/src/JavisViewer.jl index 0aa8642..7f85261 100644 --- a/src/JavisViewer.jl +++ b/src/JavisViewer.jl @@ -6,10 +6,7 @@ using GtkReactive using Javis -export liveview -export setup_stream, cancel_stream - - +export liveviewF """ diff --git a/src/javis_viewer.jl b/src/javis_viewer.jl deleted file mode 100644 index becf96a..0000000 --- a/src/javis_viewer.jl +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - -""" - setup_stream(livestreamto=:local; protocol="udp", address="0.0.0.0", port=14015, twitch_key="") - -Sets up the livestream configuration. -**NOTE:** Twitch not fully implemented, do not use. -""" -function setup_stream( - livestreamto::Symbol = :local; - protocol::String = "udp", - address::String = "0.0.0.0", - port::Int = 14015, - twitch_key::String = "", -) - StreamConfig(livestreamto, protocol, address, port, twitch_key) -end - -""" - cancel_stream() - -Sends a `SIGKILL` signal to the livestreaming process. Though used internally, it can be used stop streaming. -However this method is not guaranted to end the stream on the client side. -""" -function cancel_stream() - #todo explore better ways of searching and killing processes - - # kill the ffmpeg process - # ps aux | grep ffmpeg | grep stream_loop | awk '{print $2}' | xargs kill -9 - try - println("Checking for existing stream....") - run( - pipeline( - `ps aux`, - pipeline(`grep ffmpeg`, pipeline(`grep stream_loop`, `awk '{print $2}'`)), - ), - ) - catch - return @warn "Not Streaming Anything Currently" - end - - run( - pipeline( - `ps aux`, - pipeline( - `grep ffmpeg`, - pipeline(`grep stream_loop`, pipeline(`awk '{print $2}'`, `xargs kill -9`)), - ), - ), - ) - return "Livestream Cancelled!" -end - -""" - _livestream(streamconfig, framerate, width, height, pathname) - -Internal method for livestreaming -""" -function _livestream( - streamconfig::StreamConfig, - framerate::Int, - width::Int, - height::Int, - pathname::String, -) - cancel_stream() - - livestreamto = streamconfig.livestreamto - twitch_key = streamconfig.twitch_key - - if livestreamto == :twitch && isempty(twitch_key) - return error("Please enter your twitch stream key") - end - - command = [ - "-stream_loop", # loop the stream -1 times i.e. indefinitely - "-1", - "-r", # frames per second - "$framerate", - "-an", # Tells FFMPEG not to expect any audio - "-loglevel", # show only ffmpeg errors - "error", - "-re", # read input at native frame rate - "-i", # input file - "$pathname", - ] - - if livestreamto == :twitch - if isempty(twitch_key) - error("Please enter your twitch api key") - end - - # - twitch_cmd = [ - "-f", - "flv", # force the file to flv format - "rtmp://live.twitch.tv/app/$twitch_key", # stream to the twitch platform using rtmp protocol - ] - push!(command, twitch_cmd...) - @info "Livestreaming to Twitch!" - elseif livestreamto == :local - protocol = streamconfig.protocol - address = streamconfig.address - port = streamconfig.port - local_command = ["-f", "mpegts", "$protocol://$address:$port"] # use an mpeg-ts format, and stream to the given address/port using the protocol - push!(command, local_command...) - @info "Livestream Started at $protocol://$address:$port" - end - - # schedule the streaming process and allow it to run asynchronously - schedule(@task begin - ffmpeg_exe(`$command`) - end) -end - -_livestream( - streamconfig::Nothing, - framerate::Int, - width::Int, - height::Int, - pathname::String, -) = return From e74012c553981d7c8d12c4884374f4d2a1094780 Mon Sep 17 00:00:00 2001 From: gpucce Date: Sun, 27 Feb 2022 00:28:53 +0100 Subject: [PATCH 09/12] Typo --- src/JavisViewer.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/JavisViewer.jl b/src/JavisViewer.jl index 7f85261..bca88e6 100644 --- a/src/JavisViewer.jl +++ b/src/JavisViewer.jl @@ -6,7 +6,7 @@ using GtkReactive using Javis -export liveviewF +export liveview """ From 518ce4b1efedbdf5694927373dd0c4249c142b3f Mon Sep 17 00:00:00 2001 From: gpucce Date: Mon, 28 Feb 2022 00:04:53 +0100 Subject: [PATCH 10/12] add myself to authors :) --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 84a526d..13e5110 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,6 @@ name = "JavisViewer" uuid = "e61f6c88-b8cc-4c5a-97f7-b7cb93a9aa5a" -authors = ["Jacob Zelko "] +authors = ["Jacob Zelko ", "Giovanni Puccetti "] version = "0.0.0" [deps] From 35751066d32b43423c1103223ca81cb5261e438c Mon Sep 17 00:00:00 2001 From: gpucce Date: Mon, 28 Feb 2022 00:05:09 +0100 Subject: [PATCH 11/12] adjust tests for real --- test/runtests.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/runtests.jl b/test/runtests.jl index 797ebcc..4bf8c37 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -31,7 +31,7 @@ end act!(obj, Action(1:20, appear(:fade))) end - liveview(vid; pathname = "") + render(vid; pathname = "") action_list = [back, star_obj] From 29d915d774373372ab223162d9049156b1024092 Mon Sep 17 00:00:00 2001 From: gpucce Date: Mon, 28 Feb 2022 01:03:51 +0100 Subject: [PATCH 12/12] this should be it! --- Project.toml | 1 + docs/Project.toml | 4 ++ docs/make.jl | 24 ++++++++++ docs/src/assets/JavisViewer_demonstration.gif | Bin 0 -> 318959 bytes docs/src/index.md | 32 +++++++++++++ docs/src/references.md | 17 +++++++ src/JavisViewer.jl | 42 +++++++++++++++++- 7 files changed, 118 insertions(+), 2 deletions(-) create mode 100644 docs/Project.toml create mode 100644 docs/make.jl create mode 100755 docs/src/assets/JavisViewer_demonstration.gif create mode 100644 docs/src/index.md create mode 100644 docs/src/references.md diff --git a/Project.toml b/Project.toml index 13e5110..739280e 100644 --- a/Project.toml +++ b/Project.toml @@ -8,3 +8,4 @@ Cairo = "159f3aea-2a34-519c-b102-8c37f9878175" Gtk = "4c0ca9eb-093a-5379-98c5-f87ac0bbbf44" GtkReactive = "27996c0f-39cd-5cc1-a27a-05f136f946b6" Javis = "78b212ba-a7f9-42d4-b726-60726080707e" +Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" diff --git a/docs/Project.toml b/docs/Project.toml new file mode 100644 index 0000000..601e352 --- /dev/null +++ b/docs/Project.toml @@ -0,0 +1,4 @@ +[deps] +Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" +Javis = "78b212ba-a7f9-42d4-b726-60726080707e" +JavisViewer = "e61f6c88-b8cc-4c5a-97f7-b7cb93a9aa5a" diff --git a/docs/make.jl b/docs/make.jl new file mode 100644 index 0000000..d0ab7f4 --- /dev/null +++ b/docs/make.jl @@ -0,0 +1,24 @@ +push!(LOAD_PATH, "../") + +using Documenter, JavisViewer + +makedocs(sitename = "JavisViewer.jl") + +makedocs(; + modules = [JavisViewer], + authors = "Giovanni Puccetti , Jacob Zelko and contributors", + repo = "https://github.com/JuliaAnimators/JavisNB.jl/blob/{commit}{path}#L{line}", + sitename = "JavisViewer.jl", + format = Documenter.HTML(; + prettyurls = get(ENV, "CI", "false") == "true", + canonical = "https://JuliaAnimators.github.io/JavisViewer.jl", + assets = String[], + ), + pages = ["Home" => "index.md", "References" => "references.md"], +) + +deploydocs(; + repo = "github.com/JuliaAnimators/JavisViewer.jl", + push_preview = true, + devbranch = "main", +) diff --git a/docs/src/assets/JavisViewer_demonstration.gif b/docs/src/assets/JavisViewer_demonstration.gif new file mode 100755 index 0000000000000000000000000000000000000000..91d5ae7edf1ebfe381cf84ca5916e6c779887310 GIT binary patch literal 318959 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�)!~_9N3Ts_(^o#^S=HXM|D=^kNYVIy=je$Mr-l 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

L#uO41c?LQxdi!H@?#uOUL!&gfX1tU+y>8OobZ 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 z=G^No5c&^1?suX)b1svzbS8M4;J_background("black")) +o1 = Object(JCircle(Point(100, 0), 30, color="green", action=:fill)) +act!(o1, Action(anim_translate(Point(-200, 0)))) +act!(o1, Action(1:100, anim_translate(Point(0, 200)))) +act!(o1, Action(101:200, anim_translate(Point(0, -200)))) +o2 = Object(JCircle(Point(100, 0), 10, action=:fill, color="red")) +p = Point(10, 0) +act!(o2, Action(anim_rotate_around(2π, p))) +o3 = Object(JCircle(p, 20, color="blue", action=:fill)) +liveview(vid, pathname="javisviewer_example.gif") +``` + +You will find the file `javisviewer_example.gif` containing the gif and +at the same time a window will pop-up allowing to scroll through the gif +frames. + +![](assets/JavisViewer_demonstration.gif) diff --git a/docs/src/references.md b/docs/src/references.md new file mode 100644 index 0000000..d8f874a --- /dev/null +++ b/docs/src/references.md @@ -0,0 +1,17 @@ +```@meta +CurrentModule = JavisViewer +``` + +# Public functions + +```@autodocs +Modules = [JavisViewer] +Private = false +``` + +# Private functions + +```@autodocs +Modules = [JavisViewer] +Public = false +``` \ No newline at end of file diff --git a/src/JavisViewer.jl b/src/JavisViewer.jl index bca88e6..8393a0f 100644 --- a/src/JavisViewer.jl +++ b/src/JavisViewer.jl @@ -4,6 +4,7 @@ using Cairo using Gtk using GtkReactive using Javis +using Random export liveview @@ -248,11 +249,48 @@ function _javis_viewer( end end + +""" + liveview( + video::Video; + framerate = 30, + pathname = "javis_$(randstring(7)).gif", + tempdirectory = "", + ffmpeg_loglevel = "panic", + rescale_factor = 1.0, + ) + +This is the core function of this package and it allows +to `render` and animation while also showing it in an +interactive liveviewer. + +To use it just replace `Javis.render` with `JavisViewer.liveview` and +on top of the rendered animation an interactive liveviewr will show up +allowing to scroll through the frames one by one. + +```julia +using Javis, JavisViewer + +vid = Video(500, 500) +Background(1:200, (args...)->background("black")) +o1 = Object(JCircle(Point(100, 0), 30, color="green", action=:fill)) +act!(o1, Action(anim_translate(Point(-200, 0)))) +act!(o1, Action(1:100, anim_translate(Point(0, 200)))) +act!(o1, Action(101:200, anim_translate(Point(0, -200)))) +o2 = Object(JCircle(Point(100, 0), 10, action=:fill, color="red")) +p = Point(10, 0) +act!(o2, Action(anim_rotate_around(2π, p))) +o3 = Object(JCircle(p, 20, color="blue", action=:fill)) +liveview(vid, pathname="javisviewer_example.gif") +``` + +To see all its functionalities check the documentation of +[Javis.render](https://juliaanimators.github.io/Javis.jl/stable/references/#Javis.render-Tuple{Video}). +""" function liveview( video::Video; framerate = 30, pathname = "javis_$(randstring(7)).gif", - liveview = true, tempdirectory = "", ffmpeg_loglevel = "panic", rescale_factor = 1.0, @@ -264,7 +302,7 @@ function liveview( video::Video; framerate = framerate, pathname = pathname, - liveview = liveview, + liveview = true, streamconfig = nothing, tempdirectory = tempdirectory, ffmpeg_loglevel = ffmpeg_loglevel,