Spaces:
Sleeping
Sleeping
| ### A Pluto.jl notebook ### | |
| # v0.20.5 | |
| using Markdown | |
| using InteractiveUtils | |
| # This Pluto notebook uses @bind for interactivity. When running this notebook outside of Pluto, the following 'mock version' of @bind gives bound variables a default value (instead of an error). | |
| macro bind(def, element) | |
| #! format: off | |
| return quote | |
| local iv = try Base.loaded_modules[Base.PkgId(Base.UUID("6e696c72-6542-2067-7265-42206c756150"), "AbstractPlutoDingetjes")].Bonds.initial_value catch; b -> missing; end | |
| local el = $(esc(element)) | |
| global $(esc(def)) = Core.applicable(Base.get, el) ? Base.get(el) : iv(el) | |
| el | |
| end | |
| #! format: on | |
| end | |
| # βββ‘ 7e7c9e34-164b-11f0-0f8c-1307e665d759 | |
| using HTTP, JSON, PlutoUI, Markdown, DataFrames | |
| # βββ‘ 11580113-c30e-45ab-a2ac-a73369f4d7ca | |
| TableOfContents() | |
| # βββ‘ 0af83608-2c8b-4ef4-bee7-6a0ec4fc7cb1 | |
| md" # Ostrea Cultura" | |
| # βββ‘ ef22a5e4-9aab-4649-8a25-da40a211b191 | |
| md" *A Misinformation Remediation Company*" | |
| # βββ‘ 86b197ec-84f7-4fc1-9abf-e4244e853ce7 | |
| begin | |
| # Take long text to chunks | |
| function chunk_text(text::String, chunk_size::Int=280) | |
| chunks = String[] | |
| current_chunk = "" | |
| for sentence in split(text, r"(?<=[.!?])\s+") # Split text by whitespace | |
| if length(current_chunk) + length(sentence) + 1 > chunk_size | |
| push!(chunks, current_chunk) | |
| current_chunk = sentence | |
| else | |
| current_chunk *= (isempty(current_chunk) ? "" : " ") * sentence | |
| end | |
| end | |
| # Push the last chunk if it's not empty | |
| if current_chunk != "" | |
| push!(chunks, current_chunk) | |
| end | |
| return [chunk for chunk in chunks if chunk != ""] | |
| end | |
| function score_to_background(score) | |
| # 0 = blue, 1 = red; interpolate HSL | |
| hue = round(Int, 240 * (1 - score)) # 240 (blue) β 0 (red) | |
| return "hsl($hue, 100%, 50%)" | |
| end | |
| function text_color_for_bg(score) | |
| # If background is dark (low L), use light text | |
| return score > 0.5 ? "white" : "black" | |
| end | |
| function score_to_color(score) | |
| if score β€ 0.55 | |
| # Interpolate from blue (#0000FF) to gray (#888888) | |
| t = score / 0.55 | |
| r = round(Int, (1 - t) * 0 + t * 136) | |
| g = round(Int, (1 - t) * 0 + t * 136) | |
| b = round(Int, (1 - t) * 255 + t * 136) | |
| else | |
| # Interpolate from gray (#888888) to red (#FF0000) | |
| t = (score - 0.55) / 0.55 | |
| r = round(Int, (1 - t) * 136 + t * 255) | |
| g = round(Int, (1 - t) * 136 + t * 0) | |
| b = round(Int, (1 - t) * 136 + t * 0) | |
| end | |
| return "rgb($r,$g,$b)" | |
| end | |
| function dataframe_to_html(df::DataFrame) | |
| html_rows = String[] | |
| colnames = names(df) | |
| # Header | |
| push!(html_rows, "<thead><tr>" * join(["<th>$(col)</th>" for col in colnames]) * "</tr></thead>") | |
| # Data rows | |
| for row in eachrow(df) | |
| row_html = "<tr>" | |
| for col in colnames | |
| val = row[col] | |
| if col == :text && :score in colnames | |
| bg = score_to_background(row[:score]) | |
| fg = text_color_for_bg(row[:score]) | |
| row_html *= "<td style='background-color:$bg; color:$fg;'>$(val)</td>" | |
| else | |
| row_html *= "<td>$(val)</td>" | |
| end | |
| end | |
| row_html *= "</tr>" | |
| push!(html_rows, row_html) | |
| end | |
| # Full HTML with style | |
| table_html = """ | |
| <style> | |
| table.pretty-table { | |
| border-collapse: collapse; | |
| width: 100%; | |
| font-family: system-ui, sans-serif; | |
| margin-top: 10px; | |
| background-color: transparent; | |
| } | |
| .pretty-table th, .pretty-table td { | |
| border: 1px solid #444; | |
| padding: 8px; | |
| } | |
| .pretty-table th { | |
| background-color: #333; | |
| color: white; | |
| font-weight: 600; | |
| } | |
| .pretty-table tr:nth-child(even) { | |
| background-color: #2a2a2a; | |
| } | |
| .pretty-table tr:nth-child(odd) { | |
| background-color: #1e1e1e; | |
| } | |
| .pretty-table tr:hover { | |
| background-color: #444; | |
| } | |
| </style> | |
| <table class="pretty-table"> | |
| $(join(html_rows, "")) | |
| </table> | |
| """ | |
| return HTML(table_html) | |
| end | |
| function scored_text_paragraph(df::DataFrame; score_threshold::Float64 = 0.55) | |
| fragments = String[] | |
| urls = String[] | |
| url_counter = 1 | |
| for row in eachrow(df) | |
| color = score_to_color(row[:score]) | |
| text = row[:text] | |
| claimUrl = row[:claimUrl] | |
| if row[:score] > score_threshold | |
| push!(urls, row[:claimUrl]) | |
| push!(fragments, """<span style="color: $color;">$text ($url_counter)</span>""") | |
| url_counter += 1 | |
| else | |
| push!(fragments, """<span style="color: $color;">$text</span>""") | |
| end | |
| end | |
| paragraph_html = "<p style='font-family: system-ui, sans-serif; font-size: 1.1rem;'>" * join(fragments, " ") * "</p>" | |
| if length(urls) > 0 | |
| urls_html = "<ol style='font-family: system-ui, sans-serif; font-size: 1rem;'>" | |
| for url in urls | |
| urls_html *= "<li><a href='$url' target='_blank'>$url</a></li>" | |
| end | |
| urls_html *= "</ol>" | |
| return HTML(paragraph_html * urls_html) | |
| else | |
| return HTML(paragraph_html) | |
| end | |
| end | |
| function search_fastfacts(claim::String; model::String = "factchecks", top_k::Int = 5) | |
| base_url = "https://stefanjwojcik-misinfo-detection-app.hf.space/fastfactsearch" | |
| query = HTTP.escapeuri(claim) | |
| url = "$base_url?claim=$query&model=$model&top_k=$top_k" | |
| response = HTTP.get(url) | |
| if response.status == 200 | |
| return JSON.parse(String(response.body)) | |
| else | |
| error("Failed to fetch results: $(response.status)") | |
| end | |
| end | |
| # Iterated fastfact | |
| function iteratedfastfact(df::DataFrame) | |
| # Create a new DataFrame to store the results | |
| results_df = DataFrame() | |
| # Iterate over each row in the DataFrame | |
| for i in 1:nrow(df) | |
| text = df[i, :text] | |
| result = select(DataFrame(search_fastfacts(text; top_k=1)), | |
| [:score, :policy, :text, :claimUrl]) | |
| result.text .= text | |
| # Append the result to the results DataFrame | |
| results_df = vcat(results_df, result) | |
| end | |
| return results_df | |
| end | |
| nothing | |
| end | |
| # βββ‘ 6ba2a2b7-cf88-4d68-ab4c-e221369edd03 | |
| Resource("https://upload.wikimedia.org/wikipedia/commons/1/1c/Oyster_%28PSF%29.png", :width => 400) | |
| # βββ‘ 2187bada-f259-43ef-93ca-f4fd47b5b6e2 | |
| md" ### About" | |
| # βββ‘ c09aa132-47d9-45d3-be58-4e1b8b5aef48 | |
| md""" | |
| Ostrea Cultura provides misinformation detection and moderation services.We work with Trust and Safety teams to customize and deploy transparent, interpretable, and policy-aligned misinformation classification for large unstructured data. We work in industries ranging from social media and online gaming to web hosting, online marketplaces, and customer relations. Ostrea Cultura is the brainchild of scientist entrepreneur Jason Radford and Birdwatch co-creator Stefan Wojick. | |
| """ | |
| # βββ‘ 71036f43-59e1-487d-9f8f-f6c370250d9f | |
| md""" | |
| ##### Reach out for: | |
| - the most up-to-date models | |
| - deployment in your environment | |
| - new models for your content | |
| - new and emerging misinformation | |
| """ | |
| # βββ‘ 67787025-355f-40ba-bf55-6305e253634d | |
| md" ### Claim Semantic Search" | |
| # βββ‘ 7169689a-9d31-4ac1-bdd7-3771c515e1b3 | |
| md""" | |
| !!! tip "What is Semantic Search?" | |
| Semantic search is a method of finding content that focuses on the meaning behind the content rather than just matching exact words. It uses techniques from natural language processing (NLP) and machine learning to find specific misinformation based on the context, intent, and relationship between concepts. No more low-recall keywords. No more black box machine learning classifiers. No untrustworthy LLMs. | |
| """ | |
| # βββ‘ e3d65456-0646-44db-abad-193d778149ec | |
| md"#### Search for Fact-checked Claims" | |
| # βββ‘ 785238ae-08b3-4221-85ba-97f4fc7d01e3 | |
| md" Enter your search claim in the box below and click 'submit' " | |
| # βββ‘ c2afdd06-9918-4445-889e-1e45a68c0cd9 | |
| @bind claimtext confirm(TextField((90, 3), placeholder = "Ivermectin is a cure for covid", default="Ivermectin is a cure for covid")) | |
| # βββ‘ 7ba4e521-51ba-4670-a1cf-396c555fcd5a | |
| md"Number of Matches" | |
| # βββ‘ 28653105-c9cc-4ee1-9df8-a54644172a4c | |
| @bind nclaims Slider(0:20, default=5, show_value=true) | |
| # βββ‘ 2ec6801c-707c-41ee-9415-e489ee52e3b5 | |
| md"### RESULTS" | |
| # βββ‘ eb78b6f9-ead9-4dbc-8a0b-befb141523d0 | |
| begin | |
| function processdat(claimtext::String, top_k::Int) | |
| df =DataFrame(search_fastfacts(claimtext; top_k=nclaims)) | |
| df.score = round.(df.score, digits=3) | |
| df.policy .= "Platform Health" | |
| df = select(df, [:score, :policy, :text, :claimUrl]) | |
| end | |
| df = processdat(claimtext, nclaims) | |
| #df = select(DataFrame(search_fastfacts(claimtext; top_k=nclaims)), | |
| # [:score, :policy, :text]) | |
| nothing | |
| end | |
| # βββ‘ 475c45c1-8b0c-41fc-ab7e-dac5e2294e9c | |
| dataframe_to_html(df) | |
| # βββ‘ 3b52bf06-c1cd-441b-aab3-06ffb0d39208 | |
| md""" | |
| ### Fact-checking Long Text | |
| """ | |
| # βββ‘ 7bca1473-95a2-443b-9689-cc40fa51727f | |
| md""" | |
| Put in a long piece of text, such as a speech or video transcription. | |
| """ | |
| # βββ‘ f1cea517-2f40-4cc0-a621-6f3bb1056e44 | |
| @bind longtext confirm(TextField((90, 12), default="Misinformation that forced vaccination could be used to 'depopulate' the earth circulated in 2011 by misquoting Bill Gates. There is misinformation implying that vaccines (particularly the mRNA vaccine) could alter DNA in the nucleus. | |
| Retrovirus can be single-stranded RNA (just as SARS-CoV-2 vaccine is single-stranded RNA) which enters the cell nucleus and uses reverse transcriptase to make DNA from the RNA in the cell nucleus. A retrovirus has mechanisms to be imported into the nucleus, but other mRNA lack these mechanisms. ")) | |
| # βββ‘ be418613-b934-4a3c-8728-efe76e208db2 | |
| md" #### Fact-checked Text | |
| Blue = factful; | |
| Red = questionable | |
| " | |
| # βββ‘ 59013658-1462-4b6e-b490-27664ac9e1a4 | |
| begin | |
| iterdf = DataFrame(text = chunk_text(longtext, 80)) | |
| newdf = iteratedfastfact(iterdf) | |
| scored_text_paragraph(newdf; score_threshold=.55) | |
| end | |
| # βββ‘ 00000000-0000-0000-0000-000000000001 | |
| PLUTO_PROJECT_TOML_CONTENTS = """ | |
| [deps] | |
| DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" | |
| HTTP = "cd3eb016-35fb-5094-929b-558a96fad6f3" | |
| JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" | |
| Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a" | |
| PlutoUI = "7f904dfe-b85e-4ff6-b463-dae2292396a8" | |
| [compat] | |
| DataFrames = "~1.7.0" | |
| HTTP = "~1.10.16" | |
| JSON = "~0.21.4" | |
| PlutoUI = "~0.7.62" | |
| """ | |
| # βββ‘ 00000000-0000-0000-0000-000000000002 | |
| PLUTO_MANIFEST_TOML_CONTENTS = """ | |
| # This file is machine-generated - editing it directly is not advised | |
| julia_version = "1.10.4" | |
| manifest_format = "2.0" | |
| project_hash = "b80c4f230dbd1518aee36e59b6feda67bcd738fe" | |
| [[deps.AbstractPlutoDingetjes]] | |
| deps = ["Pkg"] | |
| git-tree-sha1 = "6e1d2a35f2f90a4bc7c2ed98079b2ba09c35b83a" | |
| uuid = "6e696c72-6542-2067-7265-42206c756150" | |
| version = "1.3.2" | |
| [[deps.ArgTools]] | |
| uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" | |
| version = "1.1.1" | |
| [[deps.Artifacts]] | |
| uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" | |
| [[deps.Base64]] | |
| uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" | |
| [[deps.BitFlags]] | |
| git-tree-sha1 = "0691e34b3bb8be9307330f88d1a3c3f25466c24d" | |
| uuid = "d1d4a3ce-64b1-5f1a-9ba4-7e7e69966f35" | |
| version = "0.1.9" | |
| [[deps.CodecZlib]] | |
| deps = ["TranscodingStreams", "Zlib_jll"] | |
| git-tree-sha1 = "962834c22b66e32aa10f7611c08c8ca4e20749a9" | |
| uuid = "944b1d66-785c-5afd-91f1-9de20f533193" | |
| version = "0.7.8" | |
| [[deps.ColorTypes]] | |
| deps = ["FixedPointNumbers", "Random"] | |
| git-tree-sha1 = "b10d0b65641d57b8b4d5e234446582de5047050d" | |
| uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f" | |
| version = "0.11.5" | |
| [[deps.Compat]] | |
| deps = ["TOML", "UUIDs"] | |
| git-tree-sha1 = "8ae8d32e09f0dcf42a36b90d4e17f5dd2e4c4215" | |
| uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" | |
| version = "4.16.0" | |
| weakdeps = ["Dates", "LinearAlgebra"] | |
| [deps.Compat.extensions] | |
| CompatLinearAlgebraExt = "LinearAlgebra" | |
| [[deps.CompilerSupportLibraries_jll]] | |
| deps = ["Artifacts", "Libdl"] | |
| uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" | |
| version = "1.1.1+0" | |
| [[deps.ConcurrentUtilities]] | |
| deps = ["Serialization", "Sockets"] | |
| git-tree-sha1 = "d9d26935a0bcffc87d2613ce14c527c99fc543fd" | |
| uuid = "f0e56b4a-5159-44fe-b623-3e5288b988bb" | |
| version = "2.5.0" | |
| [[deps.Crayons]] | |
| git-tree-sha1 = "249fe38abf76d48563e2f4556bebd215aa317e15" | |
| uuid = "a8cc5b0e-0ffa-5ad4-8c14-923d3ee1735f" | |
| version = "4.1.1" | |
| [[deps.DataAPI]] | |
| git-tree-sha1 = "abe83f3a2f1b857aac70ef8b269080af17764bbe" | |
| uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" | |
| version = "1.16.0" | |
| [[deps.DataFrames]] | |
| deps = ["Compat", "DataAPI", "DataStructures", "Future", "InlineStrings", "InvertedIndices", "IteratorInterfaceExtensions", "LinearAlgebra", "Markdown", "Missings", "PooledArrays", "PrecompileTools", "PrettyTables", "Printf", "Random", "Reexport", "SentinelArrays", "SortingAlgorithms", "Statistics", "TableTraits", "Tables", "Unicode"] | |
| git-tree-sha1 = "fb61b4812c49343d7ef0b533ba982c46021938a6" | |
| uuid = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" | |
| version = "1.7.0" | |
| [[deps.DataStructures]] | |
| deps = ["Compat", "InteractiveUtils", "OrderedCollections"] | |
| git-tree-sha1 = "4e1fe97fdaed23e9dc21d4d664bea76b65fc50a0" | |
| uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" | |
| version = "0.18.22" | |
| [[deps.DataValueInterfaces]] | |
| git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6" | |
| uuid = "e2d170a0-9d28-54be-80f0-106bbe20a464" | |
| version = "1.0.0" | |
| [[deps.Dates]] | |
| deps = ["Printf"] | |
| uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" | |
| [[deps.Downloads]] | |
| deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] | |
| uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" | |
| version = "1.6.0" | |
| [[deps.ExceptionUnwrapping]] | |
| deps = ["Test"] | |
| git-tree-sha1 = "d36f682e590a83d63d1c7dbd287573764682d12a" | |
| uuid = "460bff9d-24e4-43bc-9d9f-a8973cb893f4" | |
| version = "0.1.11" | |
| [[deps.FileWatching]] | |
| uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" | |
| [[deps.FixedPointNumbers]] | |
| deps = ["Statistics"] | |
| git-tree-sha1 = "05882d6995ae5c12bb5f36dd2ed3f61c98cbb172" | |
| uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93" | |
| version = "0.8.5" | |
| [[deps.Future]] | |
| deps = ["Random"] | |
| uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820" | |
| [[deps.HTTP]] | |
| deps = ["Base64", "CodecZlib", "ConcurrentUtilities", "Dates", "ExceptionUnwrapping", "Logging", "LoggingExtras", "MbedTLS", "NetworkOptions", "OpenSSL", "PrecompileTools", "Random", "SimpleBufferStream", "Sockets", "URIs", "UUIDs"] | |
| git-tree-sha1 = "f93655dc73d7a0b4a368e3c0bce296ae035ad76e" | |
| uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" | |
| version = "1.10.16" | |
| [[deps.Hyperscript]] | |
| deps = ["Test"] | |
| git-tree-sha1 = "179267cfa5e712760cd43dcae385d7ea90cc25a4" | |
| uuid = "47d2ed2b-36de-50cf-bf87-49c2cf4b8b91" | |
| version = "0.0.5" | |
| [[deps.HypertextLiteral]] | |
| deps = ["Tricks"] | |
| git-tree-sha1 = "7134810b1afce04bbc1045ca1985fbe81ce17653" | |
| uuid = "ac1192a8-f4b3-4bfe-ba22-af5b92cd3ab2" | |
| version = "0.9.5" | |
| [[deps.IOCapture]] | |
| deps = ["Logging", "Random"] | |
| git-tree-sha1 = "b6d6bfdd7ce25b0f9b2f6b3dd56b2673a66c8770" | |
| uuid = "b5f81e59-6552-4d32-b1f0-c071b021bf89" | |
| version = "0.2.5" | |
| [[deps.InlineStrings]] | |
| git-tree-sha1 = "6a9fde685a7ac1eb3495f8e812c5a7c3711c2d5e" | |
| uuid = "842dd82b-1e85-43dc-bf29-5d0ee9dffc48" | |
| version = "1.4.3" | |
| [deps.InlineStrings.extensions] | |
| ArrowTypesExt = "ArrowTypes" | |
| ParsersExt = "Parsers" | |
| [deps.InlineStrings.weakdeps] | |
| ArrowTypes = "31f734f8-188a-4ce0-8406-c8a06bd891cd" | |
| Parsers = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" | |
| [[deps.InteractiveUtils]] | |
| deps = ["Markdown"] | |
| uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" | |
| [[deps.InvertedIndices]] | |
| git-tree-sha1 = "6da3c4316095de0f5ee2ebd875df8721e7e0bdbe" | |
| uuid = "41ab1584-1d38-5bbf-9106-f11c6c58b48f" | |
| version = "1.3.1" | |
| [[deps.IteratorInterfaceExtensions]] | |
| git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856" | |
| uuid = "82899510-4779-5014-852e-03e436cf321d" | |
| version = "1.0.0" | |
| [[deps.JLLWrappers]] | |
| deps = ["Artifacts", "Preferences"] | |
| git-tree-sha1 = "a007feb38b422fbdab534406aeca1b86823cb4d6" | |
| uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" | |
| version = "1.7.0" | |
| [[deps.JSON]] | |
| deps = ["Dates", "Mmap", "Parsers", "Unicode"] | |
| git-tree-sha1 = "31e996f0a15c7b280ba9f76636b3ff9e2ae58c9a" | |
| uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" | |
| version = "0.21.4" | |
| [[deps.LaTeXStrings]] | |
| git-tree-sha1 = "dda21b8cbd6a6c40d9d02a73230f9d70fed6918c" | |
| uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" | |
| version = "1.4.0" | |
| [[deps.LibCURL]] | |
| deps = ["LibCURL_jll", "MozillaCACerts_jll"] | |
| uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" | |
| version = "0.6.4" | |
| [[deps.LibCURL_jll]] | |
| deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] | |
| uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" | |
| version = "8.4.0+0" | |
| [[deps.LibGit2]] | |
| deps = ["Base64", "LibGit2_jll", "NetworkOptions", "Printf", "SHA"] | |
| uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" | |
| [[deps.LibGit2_jll]] | |
| deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll"] | |
| uuid = "e37daf67-58a4-590a-8e99-b0245dd2ffc5" | |
| version = "1.6.4+0" | |
| [[deps.LibSSH2_jll]] | |
| deps = ["Artifacts", "Libdl", "MbedTLS_jll"] | |
| uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" | |
| version = "1.11.0+1" | |
| [[deps.Libdl]] | |
| uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" | |
| [[deps.LinearAlgebra]] | |
| deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"] | |
| uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" | |
| [[deps.Logging]] | |
| uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" | |
| [[deps.LoggingExtras]] | |
| deps = ["Dates", "Logging"] | |
| git-tree-sha1 = "f02b56007b064fbfddb4c9cd60161b6dd0f40df3" | |
| uuid = "e6f89c97-d47a-5376-807f-9c37f3926c36" | |
| version = "1.1.0" | |
| [[deps.MIMEs]] | |
| git-tree-sha1 = "c64d943587f7187e751162b3b84445bbbd79f691" | |
| uuid = "6c6e2e6c-3030-632d-7369-2d6c69616d65" | |
| version = "1.1.0" | |
| [[deps.Markdown]] | |
| deps = ["Base64"] | |
| uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" | |
| [[deps.MbedTLS]] | |
| deps = ["Dates", "MbedTLS_jll", "MozillaCACerts_jll", "NetworkOptions", "Random", "Sockets"] | |
| git-tree-sha1 = "c067a280ddc25f196b5e7df3877c6b226d390aaf" | |
| uuid = "739be429-bea8-5141-9913-cc70e7f3736d" | |
| version = "1.1.9" | |
| [[deps.MbedTLS_jll]] | |
| deps = ["Artifacts", "Libdl"] | |
| uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" | |
| version = "2.28.2+1" | |
| [[deps.Missings]] | |
| deps = ["DataAPI"] | |
| git-tree-sha1 = "ec4f7fbeab05d7747bdf98eb74d130a2a2ed298d" | |
| uuid = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28" | |
| version = "1.2.0" | |
| [[deps.Mmap]] | |
| uuid = "a63ad114-7e13-5084-954f-fe012c677804" | |
| [[deps.MozillaCACerts_jll]] | |
| uuid = "14a3606d-f60d-562e-9121-12d972cd8159" | |
| version = "2023.1.10" | |
| [[deps.NetworkOptions]] | |
| uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" | |
| version = "1.2.0" | |
| [[deps.OpenBLAS_jll]] | |
| deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] | |
| uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" | |
| version = "0.3.23+4" | |
| [[deps.OpenSSL]] | |
| deps = ["BitFlags", "Dates", "MozillaCACerts_jll", "OpenSSL_jll", "Sockets"] | |
| git-tree-sha1 = "38cb508d080d21dc1128f7fb04f20387ed4c0af4" | |
| uuid = "4d8831e6-92b7-49fb-bdf8-b643e874388c" | |
| version = "1.4.3" | |
| [[deps.OpenSSL_jll]] | |
| deps = ["Artifacts", "JLLWrappers", "Libdl"] | |
| git-tree-sha1 = "a9697f1d06cc3eb3fb3ad49cc67f2cfabaac31ea" | |
| uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" | |
| version = "3.0.16+0" | |
| [[deps.OrderedCollections]] | |
| git-tree-sha1 = "cc4054e898b852042d7b503313f7ad03de99c3dd" | |
| uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" | |
| version = "1.8.0" | |
| [[deps.Parsers]] | |
| deps = ["Dates", "PrecompileTools", "UUIDs"] | |
| git-tree-sha1 = "8489905bcdbcfac64d1daa51ca07c0d8f0283821" | |
| uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" | |
| version = "2.8.1" | |
| [[deps.Pkg]] | |
| deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] | |
| uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" | |
| version = "1.10.0" | |
| [[deps.PlutoUI]] | |
| deps = ["AbstractPlutoDingetjes", "Base64", "ColorTypes", "Dates", "FixedPointNumbers", "Hyperscript", "HypertextLiteral", "IOCapture", "InteractiveUtils", "JSON", "Logging", "MIMEs", "Markdown", "Random", "Reexport", "URIs", "UUIDs"] | |
| git-tree-sha1 = "d3de2694b52a01ce61a036f18ea9c0f61c4a9230" | |
| uuid = "7f904dfe-b85e-4ff6-b463-dae2292396a8" | |
| version = "0.7.62" | |
| [[deps.PooledArrays]] | |
| deps = ["DataAPI", "Future"] | |
| git-tree-sha1 = "36d8b4b899628fb92c2749eb488d884a926614d3" | |
| uuid = "2dfb63ee-cc39-5dd5-95bd-886bf059d720" | |
| version = "1.4.3" | |
| [[deps.PrecompileTools]] | |
| deps = ["Preferences"] | |
| git-tree-sha1 = "5aa36f7049a63a1528fe8f7c3f2113413ffd4e1f" | |
| uuid = "aea7be01-6a6a-4083-8856-8a6e6704d82a" | |
| version = "1.2.1" | |
| [[deps.Preferences]] | |
| deps = ["TOML"] | |
| git-tree-sha1 = "9306f6085165d270f7e3db02af26a400d580f5c6" | |
| uuid = "21216c6a-2e73-6563-6e65-726566657250" | |
| version = "1.4.3" | |
| [[deps.PrettyTables]] | |
| deps = ["Crayons", "LaTeXStrings", "Markdown", "PrecompileTools", "Printf", "Reexport", "StringManipulation", "Tables"] | |
| git-tree-sha1 = "1101cd475833706e4d0e7b122218257178f48f34" | |
| uuid = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d" | |
| version = "2.4.0" | |
| [[deps.Printf]] | |
| deps = ["Unicode"] | |
| uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" | |
| [[deps.REPL]] | |
| deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] | |
| uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" | |
| [[deps.Random]] | |
| deps = ["SHA"] | |
| uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" | |
| [[deps.Reexport]] | |
| git-tree-sha1 = "45e428421666073eab6f2da5c9d310d99bb12f9b" | |
| uuid = "189a3867-3050-52da-a836-e630ba90ab69" | |
| version = "1.2.2" | |
| [[deps.SHA]] | |
| uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" | |
| version = "0.7.0" | |
| [[deps.SentinelArrays]] | |
| deps = ["Dates", "Random"] | |
| git-tree-sha1 = "712fb0231ee6f9120e005ccd56297abbc053e7e0" | |
| uuid = "91c51154-3ec4-41a3-a24f-3f23e20d615c" | |
| version = "1.4.8" | |
| [[deps.Serialization]] | |
| uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" | |
| [[deps.SimpleBufferStream]] | |
| git-tree-sha1 = "f305871d2f381d21527c770d4788c06c097c9bc1" | |
| uuid = "777ac1f9-54b0-4bf8-805c-2214025038e7" | |
| version = "1.2.0" | |
| [[deps.Sockets]] | |
| uuid = "6462fe0b-24de-5631-8697-dd941f90decc" | |
| [[deps.SortingAlgorithms]] | |
| deps = ["DataStructures"] | |
| git-tree-sha1 = "66e0a8e672a0bdfca2c3f5937efb8538b9ddc085" | |
| uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" | |
| version = "1.2.1" | |
| [[deps.SparseArrays]] | |
| deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"] | |
| uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" | |
| version = "1.10.0" | |
| [[deps.Statistics]] | |
| deps = ["LinearAlgebra", "SparseArrays"] | |
| uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" | |
| version = "1.10.0" | |
| [[deps.StringManipulation]] | |
| deps = ["PrecompileTools"] | |
| git-tree-sha1 = "725421ae8e530ec29bcbdddbe91ff8053421d023" | |
| uuid = "892a3eda-7b42-436c-8928-eab12a02cf0e" | |
| version = "0.4.1" | |
| [[deps.SuiteSparse_jll]] | |
| deps = ["Artifacts", "Libdl", "libblastrampoline_jll"] | |
| uuid = "bea87d4a-7f5b-5778-9afe-8cc45184846c" | |
| version = "7.2.1+1" | |
| [[deps.TOML]] | |
| deps = ["Dates"] | |
| uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" | |
| version = "1.0.3" | |
| [[deps.TableTraits]] | |
| deps = ["IteratorInterfaceExtensions"] | |
| git-tree-sha1 = "c06b2f539df1c6efa794486abfb6ed2022561a39" | |
| uuid = "3783bdb8-4a98-5b6b-af9a-565f29a5fe9c" | |
| version = "1.0.1" | |
| [[deps.Tables]] | |
| deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "OrderedCollections", "TableTraits"] | |
| git-tree-sha1 = "598cd7c1f68d1e205689b1c2fe65a9f85846f297" | |
| uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" | |
| version = "1.12.0" | |
| [[deps.Tar]] | |
| deps = ["ArgTools", "SHA"] | |
| uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" | |
| version = "1.10.0" | |
| [[deps.Test]] | |
| deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] | |
| uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" | |
| [[deps.TranscodingStreams]] | |
| git-tree-sha1 = "0c45878dcfdcfa8480052b6ab162cdd138781742" | |
| uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" | |
| version = "0.11.3" | |
| [[deps.Tricks]] | |
| git-tree-sha1 = "6cae795a5a9313bbb4f60683f7263318fc7d1505" | |
| uuid = "410a4b4d-49e4-4fbc-ab6d-cb71b17b3775" | |
| version = "0.1.10" | |
| [[deps.URIs]] | |
| git-tree-sha1 = "cbbebadbcc76c5ca1cc4b4f3b0614b3e603b5000" | |
| uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" | |
| version = "1.5.2" | |
| [[deps.UUIDs]] | |
| deps = ["Random", "SHA"] | |
| uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" | |
| [[deps.Unicode]] | |
| uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" | |
| [[deps.Zlib_jll]] | |
| deps = ["Libdl"] | |
| uuid = "83775a58-1f1d-513f-b197-d71354ab007a" | |
| version = "1.2.13+1" | |
| [[deps.libblastrampoline_jll]] | |
| deps = ["Artifacts", "Libdl"] | |
| uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" | |
| version = "5.8.0+1" | |
| [[deps.nghttp2_jll]] | |
| deps = ["Artifacts", "Libdl"] | |
| uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" | |
| version = "1.52.0+1" | |
| [[deps.p7zip_jll]] | |
| deps = ["Artifacts", "Libdl"] | |
| uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" | |
| version = "17.4.0+2" | |
| """ | |
| # βββ‘ Cell order: | |
| # ββ7e7c9e34-164b-11f0-0f8c-1307e665d759 | |
| # ββ11580113-c30e-45ab-a2ac-a73369f4d7ca | |
| # ββ0af83608-2c8b-4ef4-bee7-6a0ec4fc7cb1 | |
| # ββef22a5e4-9aab-4649-8a25-da40a211b191 | |
| # ββ86b197ec-84f7-4fc1-9abf-e4244e853ce7 | |
| # ββ6ba2a2b7-cf88-4d68-ab4c-e221369edd03 | |
| # ββ2187bada-f259-43ef-93ca-f4fd47b5b6e2 | |
| # ββc09aa132-47d9-45d3-be58-4e1b8b5aef48 | |
| # ββ71036f43-59e1-487d-9f8f-f6c370250d9f | |
| # ββ67787025-355f-40ba-bf55-6305e253634d | |
| # ββ7169689a-9d31-4ac1-bdd7-3771c515e1b3 | |
| # ββe3d65456-0646-44db-abad-193d778149ec | |
| # ββ785238ae-08b3-4221-85ba-97f4fc7d01e3 | |
| # ββc2afdd06-9918-4445-889e-1e45a68c0cd9 | |
| # ββ7ba4e521-51ba-4670-a1cf-396c555fcd5a | |
| # ββ28653105-c9cc-4ee1-9df8-a54644172a4c | |
| # ββ2ec6801c-707c-41ee-9415-e489ee52e3b5 | |
| # ββeb78b6f9-ead9-4dbc-8a0b-befb141523d0 | |
| # ββ475c45c1-8b0c-41fc-ab7e-dac5e2294e9c | |
| # ββ3b52bf06-c1cd-441b-aab3-06ffb0d39208 | |
| # ββ7bca1473-95a2-443b-9689-cc40fa51727f | |
| # ββf1cea517-2f40-4cc0-a621-6f3bb1056e44 | |
| # ββbe418613-b934-4a3c-8728-efe76e208db2 | |
| # ββ59013658-1462-4b6e-b490-27664ac9e1a4 | |
| # ββ00000000-0000-0000-0000-000000000001 | |
| # ββ00000000-0000-0000-0000-000000000002 | |