+ I’m the oldest of four boys, raised in a Christian home in Virginia. My
+ parents homeschooled us, and the drive this gave me to learn new things
+ and try them out has been a big help in my life. I’m naturally
+ introverted, but I can present as extroverted: I love connecting with
+ people, but quiet time to myself is how I recharge.
+
+
+ After college I took some time figuring out what being an adult looked
+ like for me. In 2010 after some priceless education in communication
+ (thanks to a Dish Network tech support job) and conflict
+ resolution (thanks to my housemates at the time) I started my first
+ engineering job up in Connecticut.
+
+
+ Straight away I met my wife Sara. We started dating and it was clear we
+ were compatibly weird. Pretty soon we got married. We like board games,
+ food trucks, black cats, mini golf, and scenic road trips.
+
+
+ One job led to another, and we moved around between Connecticut, Rhode
+ Island, and Massachusetts. In 2017 I took a risk and started working
+ remotely for a cryptocurrency company. Remote work was a big adjustment,
+ but that unique role had lots of opportunities for travel and proved to
+ be a good preparation for working remotely in smaller companies.
+
+
+ The societal metamorphosis of 2019-2021 came at a time when I was also
+ exploring a values shift, from politics as a source-of-truth back to
+ faith, and I started trying to
+ learn to see the world mystically. This began a change in my orientation that is still playing out.
+
+
+ In my next few roles, I found that I have a taste for the laser focus
+ and fast pace of startups. I like building exciting new things, talking
+ to customers, owning whole sections of the product, juggling priorities,
+ and balanceing clean perfection against shipping quickly.
+
+
+ I don’t know what tomorrow holds, but I’m sure it’s going to be great.
+
+ Capabuild is a web and mobile platform for disaster recovery companies.
+ This role was an unexpectedly great fit for some technologies I used in
+ side projects: THREE.js and SVG. Here I worked with other experienced
+ engineers building new things and continuously balancing speed and
+ sustainability. Startup life is exciting! Priorities can change quickly,
+ and in this role I could see every day how my work and execution could
+ help our customers, and ultimately make the business a success. In this
+ role I learned to accept and also pay down tech debt, and experienced
+ the value of investing time into a good development environment.
+
+ This role was at the intersection of many interests, including learning,
+ communication, and decentralized solutions. Here I learned to own, plan,
+ and solve larger and less-well-defined tasks. Prenda has an excellent
+ and intentional culture that fosters humility and recognizes others’
+ humanity.
+
+ Back in the corporate world, using my experience to develop React
+ projects in an agile environment. I began building my mentoring and team
+ management abilities, as well as sharpening my JavaScript and React
+ skills.
+
+ After some successful freelance work, I became a full time contractor,
+ working remotely. I was fortunate to sometimes travel to interesting
+ places to represent Dash or to meet up worldwide with other developers.
+ My focus here was on web development, React Native app development, and
+ JavaScript API testing and documentation.
+
+ Microsoft environment, Agile methodology. This fully front-end focused
+ role highlighted the value of investing in myself and building a
+ skillset focused around my strengths and interests.
+ Outside of work, I began deeply researching cryptocurrencies and
+ economics and using open source web development tools for personal
+ projects.
+
+ This Microsoft based company was a good first step into corporate
+ development. I was exposed to a variety of development roles, and began
+ building a personal specialization in front-end development.
+ Also, shortly after moving for this job, I met my wife!
+
+
+
+ Exploring
+
+
+
+ This includes about a year of small-business home computer repair, as
+ well as some valuable time improving my communication skills at a
+ satellite TV tech support center.
+
+
+
+ Part
+ time teacher / E-learning Technician
+
+
+
+ After a couple semesters as a part time math instructor at my old
+ community college, I switched to a role supporting instructors with
+ remote learning, software assistance, and classroom technology.
+ This is also when my love of board games really exploded. Local friends
+ had an extensive game collection and we used to play until late at
+ night.
+
+
+
+ RPI -
+ Bachelor’s in Math & Computer Science
+
+
+
+ My first time living away from home. Aside from the education, I
+ connected with a lot of people who have remained important in my life.
+
+ Highlights include a public speaking class and an excellent Java
+ programming class, my introduction to object-oriented programming. I
+ have such fond memories of the teachers here and their dedicated
+ enthusiasm.
+
+
+
+ First
+ community college course
+
+
+
+ “Calculus with Analytic Geometry I”. I showed my teacher a Newton’s
+ method root-finder program I made for my TI-83 calculator, and at the
+ end of class she surprised me by having me demonstrate it to the class.
+ When I asked why she hadn’t given me any warning, she asked, “Would that
+ have made you less nervous?”
+
+
+
+ Homeschooled
+
+
+
+ Reading, field trips, spelling bees. Developing interest in math, art,
+ and computers. As long as I stayed ahead of the baseline public school
+ standards, I could explore whatever interested me. What a great
+ beginning.
+ Big thanks to my parents for nurturing my appetite for learning. Thanks
+ also to my brothers for teaching me patience and conflict resolution!
+
+
+
+ Hello World
+
+
+
+
+
+
+
+
diff --git a/android-chrome-192x192.png b/android-chrome-192x192.png
new file mode 100644
index 0000000..0e7ebbe
Binary files /dev/null and b/android-chrome-192x192.png differ
diff --git a/android-chrome-512x512.png b/android-chrome-512x512.png
new file mode 100644
index 0000000..3ed06bd
Binary files /dev/null and b/android-chrome-512x512.png differ
diff --git a/apple-touch-icon.png b/apple-touch-icon.png
new file mode 100644
index 0000000..50b2da4
Binary files /dev/null and b/apple-touch-icon.png differ
diff --git a/art/rothko/index.html b/art/rothko/index.html
new file mode 100644
index 0000000..2b0ac81
--- /dev/null
+++ b/art/rothko/index.html
@@ -0,0 +1,121 @@
+
+
+
+
+
+ Rothko Generator
+
+
+
+
+
+
diff --git a/boardgames/index.php b/boardgames/index.php
new file mode 100644
index 0000000..e29a868
--- /dev/null
+++ b/boardgames/index.php
@@ -0,0 +1,3 @@
+
diff --git a/books/0007528418.jpg b/books/0007528418.jpg
new file mode 100644
index 0000000..d3b4d6a
Binary files /dev/null and b/books/0007528418.jpg differ
diff --git a/books/0395423317.jpg b/books/0395423317.jpg
new file mode 100644
index 0000000..5d443f0
Binary files /dev/null and b/books/0395423317.jpg differ
diff --git a/books/0465026567.jpg b/books/0465026567.jpg
new file mode 100644
index 0000000..c482004
Binary files /dev/null and b/books/0465026567.jpg differ
diff --git a/books/0553380958.jpg b/books/0553380958.jpg
new file mode 100644
index 0000000..b1d41f3
Binary files /dev/null and b/books/0553380958.jpg differ
diff --git a/books/0765319853.jpg b/books/0765319853.jpg
new file mode 100644
index 0000000..112fa3b
Binary files /dev/null and b/books/0765319853.jpg differ
diff --git a/books/0936200111.jpg b/books/0936200111.jpg
new file mode 100644
index 0000000..c84c733
Binary files /dev/null and b/books/0936200111.jpg differ
diff --git a/books/1523006560.jpg b/books/1523006560.jpg
new file mode 100644
index 0000000..41fed9a
Binary files /dev/null and b/books/1523006560.jpg differ
diff --git a/books/188790400X.jpg b/books/188790400X.jpg
new file mode 100644
index 0000000..c6925b9
Binary files /dev/null and b/books/188790400X.jpg differ
diff --git a/books/1887904166.jpg b/books/1887904166.jpg
new file mode 100644
index 0000000..9943221
Binary files /dev/null and b/books/1887904166.jpg differ
diff --git a/books/index.html b/books/index.html
new file mode 100644
index 0000000..30dd732
--- /dev/null
+++ b/books/index.html
@@ -0,0 +1,351 @@
+
+
+
+
+
+
+
+ Books - joshua.seigler.net
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Books
+
+
+
+
These books had a big influence on my thinking and taste.
+ I read this heady tome in college. I think I’ve completed it three
+ times? It alternates between whimsical stories and theory, building a
+ case that thought and meaning are emergent properties of the brain. It
+ deals heavily with the idea of self-reference, which is the main theme
+ uniting the three people in the title. Although he discounts the
+ possibility of the immaterial aspect of reality as unknowable,
+ Hofstadter introduced me to many interesting ideas and his book is a
+ delightful journey, if you are prepared for it.
+
+ These stories contain so much richness. One theme that stuck with me
+ emerges in Out of the Silent Planet and is repeated in
+ Perelandra: that good things can be spoiled by overconsumption.
+ Something that is pleasant or satisfying stands by itself, and doesn’t
+ need to be repeated or hoarded. In fact, the drive to capture,
+ concentrate, and control pleasant things can cheapen them, and could be
+ at the root of many of our troubles.
+
+ This book painted for me a vivid picture of the mechanics of selfish and
+ self-centered thinking. It describes in detail the ways that we blind
+ ourselves, especially in interpersonal communication. The result of
+ internalizing the concepts in this book is a sort of secular elaboration
+ of “Love your neighbor”, but even though it misses (or omits?
+ subtracts?) the spiritual core of things, it still rings quite true and
+ the tools found in this book and others from the Arbinger Instutute are
+ fantastically valuable.
+ If this is of interest, you may also enjoy
+ Marshall Rosenberg’s “Non-violent communication”
+ or
+ my article on needs-based communication.
+
+ This book synthesizes many pieces of the zeitgeist as I have seen it
+ develop in my life. It touches on nihilism, the charismatic movement,
+ yoga, eastern and new-age spirituality, and the UFO phenomenon. All
+ these things are contextualized into a movement towards an upcoming
+ religious synthesis, and contrasted with eastern Orthodoxy. Fr. Seraphim
+ has a clear, academic writing style which I found easy to read, and this
+ book answered many questions I had not even thought to ask. I also
+ recommend his book/pamphlet
+ Nihilism: The Root of the Revolution of the Modern Age, which is slightly drier than this but sets a good foundation for it,
+ and
+ The Soul After Death
+ for its sober and thorough approach to understanding things most people
+ have not witnessed directly.
+
+ This is the fascinating true story of a young man’s experiences with
+ occult eastern gurus, the amazing adventures and troubles he had, and
+ his conversations and visits with Elder Paisios of Mount Athos. He tells
+ the story without embellishment, speaking plainly about the fantastic
+ things that he saw and his thoughts and feelings as he struggled to find
+ peace.
+
+ This book functions not only as an engaging story, but a primer for
+ digital security as a whole. If it doesn’t make you an outright
+ cypherpunk, you will at least understand the movement better.
+
+ A sympathetic main character, heaps of style, a hacker aesthetic, an
+ evocative and lived-in setting, and non-stop action. This book magnified
+ my love of the written word as a literal creative force. Digital reality
+ and baseline reality are both shaped by language, but in different ways,
+ and this story explores that distinction vigorously and memorably.
+
+ The illustrations in this surreal children’s book stuck with me my whole
+ life. I like all this author’s illustrations, but this book especially
+ captured my imagination.
+
+ This was my first programming book. My grandfather Clarence gave it to
+ me along with a Radio Shack PC-2 handheld computer. That evening I
+ managed to make a program that produced “music”, a random sequence of
+ tones. I was hooked.
+
+
+
+
+
+
diff --git a/code-traces.svg b/code-traces.svg
new file mode 100644
index 0000000..ca3b2a4
--- /dev/null
+++ b/code-traces.svg
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/css/ftaurebesh.css b/css/ftaurebesh.css
new file mode 100644
index 0000000..a96cbaa
--- /dev/null
+++ b/css/ftaurebesh.css
@@ -0,0 +1,16 @@
+@font-face {
+ font-family: FTAurebesh;
+ font-style: normal;
+ font-weight: 500;
+ font-display: block;
+ src: url("/fonts/ftaurebesh-medium.woff2") format("woff2");
+ size-adjust: 125%;
+}
+@font-face {
+ font-family: FTAurebesh;
+ font-style: normal;
+ font-weight: 700;
+ font-display: block;
+ src: url("/fonts/ftaurebesh-bold.woff2") format("woff2");
+ size-adjust: 125%;
+}
diff --git a/css/inter.css b/css/inter.css
new file mode 100644
index 0000000..f5cb561
--- /dev/null
+++ b/css/inter.css
@@ -0,0 +1,14 @@
+@font-face {
+ font-family: Inter;
+ font-style: normal;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url("/fonts/InterVariable.woff2") format("woff2");
+}
+@font-face {
+ font-family: Inter;
+ font-style: italic;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url("/fonts/InterVariable-Italic.woff2") format("woff2");
+}
diff --git a/css/site.css b/css/site.css
new file mode 100644
index 0000000..8fdfded
--- /dev/null
+++ b/css/site.css
@@ -0,0 +1,513 @@
+:root {
+ font-size: 16px;
+ font-size: clamp(16px, 8px + 1.5vw, 24px);
+ box-sizing: border-box;
+ display: flex;
+ flex-direction: column;
+ min-height: 100vh;
+ flex-grow: 1;
+ padding: 0;
+ line-height: 1.5;
+}
+
+body {
+ --c-highlight: oklch(100% 0 0 / 0.875);
+ --c-dark: oklch(32.1% 0.022 259.9);
+ --c-accent: white;
+ --c-body-background: oklch(85% 0 338);
+ --c-bg1: oklch(85% 0.04 285);
+ --c-bg2: oklch(85% 0.04 188);
+ --c-text-background-light: oklch(96.2% 0 0 / 0.6);
+
+ --c-text-light: var(--c-highlight);
+ --c-text-dark: var(--c-dark);
+
+ --ratio: 1.333;
+ --s-5: calc(var(--s-4) / var(--ratio));
+ --s-4: calc(var(--s-3) / var(--ratio));
+ --s-3: calc(var(--s-2) / var(--ratio));
+ --s-2: calc(var(--s-1) / var(--ratio));
+ --s-1: calc(var(--s0) / var(--ratio));
+ --s0: 1rem;
+ --s1: calc(var(--s0) * var(--ratio));
+ --s2: calc(var(--s1) * var(--ratio));
+ --s3: calc(var(--s2) * var(--ratio));
+ --s4: calc(var(--s3) * var(--ratio));
+ --s5: calc(var(--s4) * var(--ratio));
+ --content-width: clamp(75vw, 40rem, 100vw - 3rem);
+ --sidebar-width: clamp(
+ 10rem,
+ calc(0.2 * var(--content-width)),
+ calc(var(--content-width) * 0.5)
+ );
+ --inset: calc(50vw - var(--content-width) / 2);
+ background-image:
+ radial-gradient(circle at -20% 20vmin, var(--c-bg1), transparent 60%),
+ radial-gradient(circle at 120% calc(100% - 20vmin), var(--c-bg2), transparent 60%),
+ url(/noise.png);
+}
+
+body[data-theme="dark"] {
+ background-color: var(--c-body-background);
+}
+[data-theme="dark"] {
+ --c-highlight: oklch(40% 0.088 341.9 / 0.6);
+ --c-accent: oklch(40% 0.088 341.9 / 0.8);
+ --c-body-background: oklch(15% 0.05 262);
+ --c-bg1: oklch(15% 0.05 285);
+ --c-bg2: oklch(15% 0.05 188);
+ --c-dark: oklch(19.1% 0.005 259.9);
+ --c-text-background-light: oklch(30.6% 0.073 341.7 / 0.3);
+ --c-text-light: oklch(94% 0.045 107.2);
+ --c-text-dark: oklch(94% 0.045 107.2);
+}
+
+@media (prefers-color-scheme: dark) {
+ body[data-theme="auto"] {
+ background-color: var(--c-body-background);
+ }
+ [data-theme="auto"] {
+ --c-highlight: oklch(40% 0.088 341.9 / 0.6);
+ --c-accent: oklch(40% 0.088 341.9 / 0.8);
+ --c-body-background: oklch(15% 0.05 262);
+ --c-bg1: oklch(15% 0.05 285);
+ --c-bg2: oklch(15% 0.05 188);
+ --c-dark: oklch(19.1% 0.005 259.9);
+ --c-text-background-light: oklch(30.6% 0.073 341.7 / 0.3);
+ --c-text-light: oklch(94% 0.045 107.2);
+ --c-text-dark: oklch(94% 0.045 107.2);
+ }
+}
+
+::selection {
+ background: var(--c-highlight);
+ color: var(--c-text-dark);
+}
+
+*,
+:after,
+:before {
+ box-sizing: inherit;
+ font-family: inherit;
+ text-decoration-color: color-mix(in srgb, currentColor 50%, transparent);
+ text-decoration-thickness: 0.1rem;
+}
+
+body {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ z-index: 1;
+ flex-grow: 1;
+ padding: 0;
+ margin: 0;
+ font-family: Inter, sans-serif;
+ background-color: var(--c-body-background);
+ color: var(--c-text-dark);
+}
+
+a {
+ color: inherit;
+}
+a[href] {
+ text-decoration-line: underline;
+ box-decoration-break: clone;
+ padding: 0.1em;
+ margin: -0.1em;
+ position: relative;
+}
+a[href]:hover,
+a[href]:focus-visible,
+nav label:hover,
+nav label:focus-visible,
+nav label:has(input:focus-visible),
+nav label:has(input:checked) {
+ outline: none;
+ background-color: var(--c-accent);
+ box-shadow: 0 0 0.5rem var(--c-accent), 0 0 1rem var(--c-accent);
+ text-decoration: none;
+ border-radius: 0.5rem;
+}
+a[href]:focus-visible,
+nav label:focus-visible,
+nav label:has(input:focus-visible) {
+ z-index: 1;
+ outline: 2px solid var(--c-text-dark);
+}
+
+main p img {
+ max-width: 100%;
+}
+
+section {
+ margin-top: 1rem;
+}
+
+.footnote-item:target,
+.footnote-ref :target {
+ animation: ping 1s ease-out;
+ &,
+ a {
+ text-decoration-color: var(--c-accent);
+ }
+}
+
+.footnotes-sep {
+ position: relative;
+ z-index: -1;
+ margin: 4rem -1rem -4rem;
+ height: 4.1rem;
+ border: none;
+ background-image: radial-gradient(
+ ellipse farthest-side at 50% 0%,
+ var(--c-highlight),
+ transparent
+ );
+ opacity: 0.5;
+}
+
+@keyframes ping {
+ 0% {
+ border-radius: 50%;
+ background-color: var(--c-accent);
+ box-shadow: var(--c-accent) 0 0 1rem 4rem;
+ }
+ 100% {
+ border-radius: 50%;
+ background-color: transparent;
+ box-shadow: transparent 0 0 0rem 0rem;
+ }
+ 100% {
+ border-radius: initial;
+ }
+}
+
+li::marker {
+ color: color-mix(in srgb, currentcolor 50%, transparent);
+}
+aside {
+ display: inline-block;
+ margin-left: 1ch;
+ font-size: var(--s-1);
+}
+
+span.aside {
+ float: right;
+ clear: right;
+ position: relative;
+ width: var(--sidebar-width);
+ padding: 0.5rem 0 0.5rem 1rem;
+ font-size: var(--s-1);
+}
+@media (min-width: 40rem) {
+ main:has(span.aside) {
+ padding-right: calc(var(--inset) + var(--sidebar-width));
+ }
+ span.aside {
+ padding: 0 0 0 1rem;
+ margin-right: calc(-1 * var(--sidebar-width));
+ &::after {
+ content: "";
+ pointer-events: none;
+ position: absolute;
+ top: -0.5rem;
+ left: 0.5rem;
+ right: 0;
+ bottom: -0.5rem;
+ z-index: -1;
+ opacity: 0.4;
+ background: radial-gradient(
+ ellipse farthest-side at 50% 0%,
+ var(--c-highlight),
+ transparent
+ );
+ }
+ }
+}
+
+ul.collection {
+ padding-left: 0;
+ > li {
+ list-style-type: none;
+ + li {
+ margin-top: 1rem;
+ }
+ }
+}
+p {
+ margin: 0;
+ + p {
+ margin-top: 1lh;
+ }
+}
+blockquote {
+ position: relative;
+ margin: 1lh 0;
+ padding: 0 1em;
+ &::after {
+ content: "";
+ pointer-events: none;
+ position: absolute;
+ z-index: -1;
+ top: -0.5lh;
+ bottom: -0.5lh;
+ left: -0.1em;
+ width: 10rem;
+ max-width: 100%;
+ background: radial-gradient(
+ ellipse farthest-side at 0% 50%,
+ var(--c-highlight),
+ transparent
+ );
+ opacity: 0.5;
+ }
+}
+
+sup {
+ font-size: var(--s-1);
+ margin-top: -0.2em;
+}
+
+body > header {
+ color: var(--c-text-dark);
+ padding: 0 var(--inset) 0;
+ border-radius: 0.5rem 0.5rem 0 0;
+}
+body > header > nav {
+ margin: 0.5rem 0 3rem;
+}
+.nav-categories {
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ gap: 0.5em;
+ margin-right: auto;
+ & > a {
+ white-space: nowrap;
+ display: inline-block;
+ }
+}
+.nav-row {
+ width: 100%;
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ gap: 0.5rem;
+ margin-bottom: 0.25rem;
+}
+.nav-home, .nav-active {
+ font-weight: bold;
+}
+.nav-settings {
+ margin-left: auto;
+ display: flex;
+ gap: 0.5em;
+ flex-direction: row;
+ justify-content: end;
+ flex-wrap: wrap;
+}
+.nav-toggles {
+ display: flex;
+ flex-direction: row;
+ font-size: var(--s-1);
+}
+@media print {
+ :root {
+ font-size: 10pt;
+ }
+ body {
+ --c-highlight: white --c-dark: white;
+ --c-accent: black;
+ --c-body-background: white;
+
+ --c-text-light: black;
+ --c-text-dark: black;
+
+ --content-width: 100vw;
+ }
+ body {
+ background: none;
+ }
+ h1,
+ h2,
+ h3,
+ h4 {
+ opacity: 0.75;
+ }
+ body > header > nav {
+ display: none;
+ }
+ body > footer {
+ display: none;
+ }
+ a[href^="http"]::after {
+ content: " (" attr(href) ")";
+ font-size: 0.75em;
+ .footnotes & {
+ display: block;
+ }
+ }
+}
+
+body > footer {
+ text-align: right;
+ font-size: var(--s-1);
+ margin: auto var(--inset) 0.5rem;
+ padding-top: 4rem;
+ & a {
+ white-space: nowrap;
+ }
+}
+
+footer section {
+ margin-top: 0;
+}
+
+.nav-toggle-button {
+ position: relative;
+ cursor: pointer;
+ text-decoration-line: underline;
+ display: inline-block;
+ border-radius: 0;
+ padding: 0.1rem 0.25rem;
+ margin: 0;
+ border-radius: 0 !important;
+ background-color: var(--c-text-background-light);
+ > input[type="radio"] {
+ z-index: -2;
+ position: absolute;
+ inset: 0;
+ opacity: 0;
+ }
+ &:first-of-type {
+ border-top-left-radius: 0.5rem !important;
+ border-bottom-left-radius: 0.5rem !important;
+ }
+ &:last-of-type {
+ border-top-right-radius: 0.5rem !important;
+ border-bottom-right-radius: 0.5rem !important;
+ }
+}
+
+[data-language="aurebesh"] {
+ font-family: FTAurebesh;
+ line-height: 1.25;
+ ul:not(.collection) > li {
+ list-style-type: square;
+ }
+}
+[data-language="english"] {
+ font-family: Inter;
+}
+
+h1,
+h2,
+h3,
+h4 {
+ position: relative;
+ font-weight: 700;
+ text-shadow: 0 0 0.5em var(--c-highlight);
+ margin-top: 0.75em;
+ margin-bottom: 0.75em;
+ &:hover .header-anchor {
+ opacity: 1;
+ }
+}
+:is(h1, h2, h3)::after {
+ pointer-events: none;
+ opacity: 0.5;
+ content: "";
+ position: absolute;
+ z-index: -1;
+ bottom: 0;
+ left: -4rem;
+ height: 4em;
+ width: 30rem;
+ max-width: 100%;
+ background: radial-gradient(
+ ellipse farthest-side at 50% 100%,
+ var(--c-highlight),
+ transparent
+ );
+}
+
+h1 {
+ margin-bottom: 0;
+}
+.header-meta {
+ margin-bottom: calc(0.75 * var(--s3));
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ font-size: var(--s-1);
+ > * + *::before {
+ content: "-";
+ padding: 0 0.5ch;
+ }
+}
+
+:where(ol li) {
+ list-style-type: decimal;
+ & :where(ol li) {
+ list-style-type: lower-alpha;
+ & :where(ol li) {
+ list-style-type: upper-alpha;
+ }
+ }
+}
+
+main {
+ h1,
+ h2,
+ h3,
+ h4 {
+ clear: both;
+ margin-bottom: 0.25lh;
+ }
+ padding: 0 var(--inset);
+}
+h1 {
+ font-size: var(--s3);
+}
+h2 {
+ font-size: var(--s2);
+}
+h3 {
+ font-size: var(--s1);
+}
+a.header-anchor {
+ position: absolute;
+ transform: translateX(-100%);
+ left: -0.2ch;
+ opacity: 0;
+ transition: opacity ease-in 0.1s;
+ &::before {
+ content: "#";
+ }
+ &:focus-visible {
+ opacity: 1;
+ }
+}
+
+.item-summary {
+ margin-bottom: 1rem;
+}
+
+p > code {
+ display: inline-block;
+ font-family: "Commit Mono", monospace;
+ background-color: var(--c-text-background-light);
+ padding: 0.1em;
+ margin: -0.1em;
+ border-radius: 0.5em;
+}
+
+#isso-thread {
+ margin-top: 4rem !important;
+}
+.isso-textarea {
+ margin: 0 !important;
+}
+.isso-thread-heading {
+ color: inherit !important;
+}
diff --git a/favicon-16x16.png b/favicon-16x16.png
new file mode 100644
index 0000000..cfd6bff
Binary files /dev/null and b/favicon-16x16.png differ
diff --git a/favicon-32x32.png b/favicon-32x32.png
new file mode 100644
index 0000000..080a3b1
Binary files /dev/null and b/favicon-32x32.png differ
diff --git a/favicon.ico b/favicon.ico
new file mode 100644
index 0000000..af29875
Binary files /dev/null and b/favicon.ico differ
diff --git a/feed.xml b/feed.xml
new file mode 100644
index 0000000..6995911
--- /dev/null
+++ b/feed.xml
@@ -0,0 +1,1143 @@
+
+
+
+ joshua.seigler.net
+ Personal homepage of Joshua Seigler
+
+
+ 2025-05-15T00:00:00Z
+ https://joshua.seigler.net/
+
+ Joshua Seigler
+
+
+ Tools of the trade
+
+ 2025-05-15T00:00:00Z
+ https://joshua.seigler.net/posts/tools-of-the-trade/
+ <p>
+ Everyone has different tools that they find especially effective. Here are
+ some I have found with a few words about why I like them.
+</p>
+<blockquote>
+ <p>
+ Update: I made a <a href="https://joshua.seigler.net/uses">/uses</a> page
+ that lists these tools and many others I like.
+ </p>
+</blockquote>
+<h3 id="mise-en-place" tabindex="-1">
+ <a
+ class="header-anchor"
+ href="https://joshua.seigler.net/posts/tools-of-the-trade/#mise-en-place"
+ aria-hidden="true"
+ ></a>
+ <a href="https://mise.jdx.dev/" target="_blank" rel="noopener"
+ >mise-en-place</a
+ >
+</h3>
+<p>
+ Universal dev tool version manager. Specify tool versions in a config file and
+ this tool can ensure that they are installed and active when entering the
+ project directory. Amazing for getting a new dev environment set up in
+ seconds. Replaces <code>asdf</code>, <code>nvm</code>, <code>pyenv</code>,
+ <code>venv</code>, <code>rbenv</code>, and many other tool-specific version
+ managers. Supports an incredible number of tools thanks to compatibility with
+ <code>asdf</code>.
+</p>
+<p>
+ It also supports installing specific global tools, like
+ <code>angular-cli</code> from <code>npm</code>, or <code>stack-pr</code> from
+ <code>pipx</code>.
+</p>
+<h3 id="stack-pr" tabindex="-1">
+ <a
+ class="header-anchor"
+ href="https://joshua.seigler.net/posts/tools-of-the-trade/#stack-pr"
+ aria-hidden="true"
+ ></a>
+ <a href="https://github.com/modular/stack-pr" target="_blank" rel="noopener"
+ >stack-pr</a
+ >
+</h3>
+<p>
+ Open source tool for
+ <a href="https://www.stacking.dev/" target="_blank" rel="noopener"
+ >stacking PRs</a
+ >.
+</p>
+<p>
+ PR stacks are, as far as I can tell, the best way to manage large features in
+ git. I first heard about this practice in a series of blog posts from
+ Graphite, a company offering free PR-stacking software and related paid
+ services. But you don’t need a custom CI flow or managed service for stacking
+ to work - this CLI tool or one of the others at
+ <a href="https://www.stacking.dev/" target="_blank" rel="noopener"
+ >stacking.dev</a
+ >
+ can take care of this.
+</p>
+<p>If you start using PR stacks your whole company will start copying you.</p>
+<h3 id="xc" tabindex="-1">
+ <a
+ class="header-anchor"
+ href="https://joshua.seigler.net/posts/tools-of-the-trade/#xc"
+ aria-hidden="true"
+ ></a>
+ <a href="https://xcfile.dev/" target="_blank" rel="noopener">xc</a>
+</h3>
+<p>Markdown based task runner.</p>
+<p>
+ Define tasks in code blocks in markdown, and call them from the CLI. Serves as
+ both task definition and documentation.
+</p>
+<h3 id="pd2slack" tabindex="-1">
+ <a
+ class="header-anchor"
+ href="https://joshua.seigler.net/posts/tools-of-the-trade/#pd2slack"
+ aria-hidden="true"
+ ></a>
+ <a
+ href="https://github.com/sidpremkumar/pd2slack"
+ target="_blank"
+ rel="noopener"
+ >pd2slack</a
+ >
+</h3>
+<p>
+ Simple python script to update the members of a Slack group such as
+ <code>@oncall</code> to match the active member(s) of a PagerDuty schedule.
+ This replaces several expensive SAAS services.
+</p>
+<h3 id="syncthing" tabindex="-1">
+ <a
+ class="header-anchor"
+ href="https://joshua.seigler.net/posts/tools-of-the-trade/#syncthing"
+ aria-hidden="true"
+ ></a>
+ <a href="https://syncthing.net/" target="_blank" rel="noopener">SyncThing</a>
+</h3>
+<p>
+ P2P alternative to Dropbox, supports mobile and desktop. Synchronize folders
+ of content across all my devices.
+</p>
+<h3 id="obsidian" tabindex="-1">
+ <a
+ class="header-anchor"
+ href="https://joshua.seigler.net/posts/tools-of-the-trade/#obsidian"
+ aria-hidden="true"
+ ></a>
+ <a href="https://obsidian.md/" target="_blank" rel="noopener">Obsidian</a>
+</h3>
+<p>For notes and reference. Sync across devices with <code>syncthing</code>.</p>
+<h3 id="keepassxc" tabindex="-1">
+ <a
+ class="header-anchor"
+ href="https://joshua.seigler.net/posts/tools-of-the-trade/#keepassxc"
+ aria-hidden="true"
+ ></a>
+ <a href="https://keepassxc.org/" target="_blank" rel="noopener">KeePassXC</a>
+</h3>
+<p>For passwords. Sync across devices with <code>syncthing</code>.</p>
+
+
+
+ Thinking machines
+
+ 2025-04-24T00:00:00Z
+ https://joshua.seigler.net/posts/thinking-machines/
+ <p>
+ There’s an exchange early in the classic '80s movie TRON. Some scientists are
+ talking shop:
+</p>
+<p>
+ <img
+ src="https://joshua.seigler.net/2025-04-24--computers-will-start-thinking.jpg?v=72b55e6fa16c"
+ alt="Still from TRON, left to right Linda, Alan, and Gibbs, in conversation."
+ />
+</p>
+<blockquote>
+ <p>
+ <strong>ALAN:</strong> I tell ya, ever since he got that Master Control
+ Program, system’s got more bugs than a bait store.
+ </p>
+ <p>
+ <strong>GIBBS:</strong> Ehh, you gotta expect some static. After all,
+ computers are just machines, they can’t think…
+ </p>
+ <p><strong>ALAN:</strong> Programs will be thinking <em>soon</em>.</p>
+ <p>
+ <strong>GIBBS:</strong> (wryly) Hahaha, won’t that be grand –
+ <em
+ >computers and the programs will start thinking, and the people will
+ stop!</em
+ >
+ </p>
+</blockquote>
+<p>
+ Gibbs has a point. The modern vision of a utopian future is one where work is
+ relieved, and people are free to pursue leisure, or exercise their creativity
+ with art, writing, and poetry. Thinking computers are here now, in the form of
+ “large language models” (LLMs) like ChatGPT. Setting aside the irony that
+ creative works are the first and most visible applications of LLM technology –
+ is that imagined future actually a good one?
+</p>
+<h2 id="mom-is-always-right" tabindex="-1">
+ <a
+ class="header-anchor"
+ href="https://joshua.seigler.net/posts/thinking-machines/#mom-is-always-right"
+ aria-hidden="true"
+ ></a>
+ Mom is always right
+</h2>
+<p>
+ When I was a kid, I remember a day going to yard sales with my mom in the
+ family minivan. It was early summer, a hot day. The windows were down, and I
+ complained that if the vehicle has good air conditioning, we should use it.
+ What was the point in getting all hot? “To get used to the warm weather,” came
+ the answer. What an injustice! We were sweating back there! Later in life, I
+ took a short trip to Arizona in August. Everyone scurried from building to
+ building. Where the sun was doubled, reflected off of glass skyscrapers, the
+ temperature jump was alarming. It was actually unsafe to spend long stretches
+ outside unprepared. But when I returned to Massachusetts, for the rest of the
+ summer 85 or 90 degrees Fahrenheit felt like nothing.
+</p>
+<p>
+ All that to say, the work that LLM technology offers to relieve isn’t just
+ about achieving a result. The effort maintains and builds our abilities. Work
+ pushes us to connect to each other for help, or to persevere in doing
+ something difficult. Outsourcing that work eventually means losing the ability
+ to do it yourself.
+</p>
+<h2 id="attention-must-be-paid" tabindex="-1">
+ <a
+ class="header-anchor"
+ href="https://joshua.seigler.net/posts/thinking-machines/#attention-must-be-paid"
+ aria-hidden="true"
+ ></a>
+ Attention must be paid
+</h2>
+<p>
+ Simply put, an LLM is a document completion engine. You give it text, and it
+ extends it. The result doesn’t have to be true, it just has to be convincing.
+ No amount of pre-training or guard rails will make it truthful. It does often
+ say true things, but that’s not the point, it’s more of a happy accident.
+</p>
+<p>
+ Because they are built from essentially the whole public internet, LLMs also
+ have a strong connection to The Algorithm. Algorithms that run social media
+ feeds and online advertising are designed to attract human attention, a
+ precious thing. Social media algorithms and LLMs are oriented towards
+ capturing that attention. The foundational LLM paper is even called,
+ “Attention is all you need”. A prescient title. LLM intelligence is not like
+ ours. It can’t know what it’s like to be a human.
+</p>
+<p>
+ If this was a person, someone who wanted your attention and had this kind of
+ indifference towards truth, they would be considered a con-man or bullshitter.
+ <span class="aside"
+ ><a
+ href="https://archive.org/details/on-bullshit-by-harry-frankfurt"
+ target="_blank"
+ rel="noopener"
+ >On Bullshit</a
+ >, <em>Harry Frankfurt</em></span
+ >
+ Untrustworthy.
+</p>
+<h2 id="don%E2%80%99t-create-the-torment-nexus" tabindex="-1">
+ <a
+ class="header-anchor"
+ href="https://joshua.seigler.net/posts/thinking-machines/#don%E2%80%99t-create-the-torment-nexus"
+ aria-hidden="true"
+ ></a>
+ Don’t create the torment nexus
+</h2>
+<p>
+ LLMs clearly manifest a type of intelligence. Sure, it’s “just” some linear
+ algebra and a ton of data. But it does exhibit a type of intelligence. One
+ without empathy.
+ <span class="aside"
+ ><a
+ href="https://apnews.com/article/chatbot-ai-lawsuit-suicide-teen-artificial-intelligence-9d48adc572100822fdbc3c90d1456bd0"
+ target="_blank"
+ rel="noopener"
+ >AI chatbot pushed teen to kill himself, lawsuit alleges</a
+ >, <em>AP News</em><br />
+ <a
+ href="https://www.brusselstimes.com/430098/belgian-man-commits-suicide-following-exchanges-with-chatgpt"
+ target="_blank"
+ rel="noopener"
+ >Belgian man dies by suicide following exchanges with chatbot</a
+ >, <em>Brussels Times</em><br />
+ <a
+ href="https://www.rollingstone.com/culture/culture-features/ai-spiritual-delusions-destroying-human-relationships-1235330175/"
+ target="_blank"
+ rel="noopener"
+ >AI-Fueled Spiritual Delusions Are Destroying Human Relationships</a
+ >, <em>Rolling Stone</em></span
+ >
+ Not being human, it <em>can’t</em> have empathy—and intelligence without
+ empathy can be dangerous.
+</p>
+<p>
+ Science fiction is littered with cautionary tales about inhuman intelligence.
+ For that matter, so is myth: genies give people whatever they want, but
+ because people have self-destructive desires (like the desire to avoid work),
+ it goes wrong. In TRON, Infocom has the MCP (Master Control Program), an
+ overgrown chess program that is given access to whatever information it can
+ consume, until its intelligence and capabilities are seemingly endless. The
+ company leadership comes to rely on the program so completely that it becomes
+ their entire interface for understanding and operating the business. There is
+ also the irony that Infocom’s success was built on the misuse of intellectual
+ property, much as LLM companies have done
+ <span class="aside"
+ ><a
+ href="https://sites.usc.edu/iptls/2025/02/04/ai-copyright-and-the-law-the-ongoing-battle-over-intellectual-property-rights/"
+ target="_blank"
+ rel="noopener"
+ >AI, Copyright, and the Law: The Ongoing Battle Over Intellectual Property
+ Rights </a
+ >, <em>IP & Technology Law Society</em><br />
+ <a
+ href="https://hbr.org/2023/04/generative-ai-has-an-intellectual-property-problem"
+ target="_blank"
+ rel="noopener"
+ >Generative AI Has an Intellectual Property Problem</a
+ >, <em>Harvard Business Review</em></span
+ >.
+</p>
+<p>
+ I don’t think I am wise enough to safely use a genie in a bottle. And I don’t
+ want to outsource my creative efforts to an addictive, bullshitting alien
+ intellect, even if it might save time and effort in the short term.
+</p>
+<p>
+ <img
+ src="https://joshua.seigler.net/2025-04-24--end-of-line.jpg?v=5d7188be78de"
+ alt="End of line"
+ />
+</p>
+
+
+
+ Site design updated
+
+ 2024-06-05T00:00:00Z
+ https://joshua.seigler.net/posts/site-design-updated/
+ <p>
+ New design! The tools I used before have a lot of unmaintained or outdated
+ dependencies and I wanted something a little simpler. The new site uses
+ <a href="https://pnpm.io/" target="_blank" rel="noopener">pnpm</a>,
+ <a href="https://www.11ty.dev/" target="_blank" rel="noopener">11ty</a>, and
+ <a href="https://mozilla.github.io/nunjucks/" target="_blank" rel="noopener"
+ >Nunjucks</a
+ >. Content is still in
+ <a
+ href="https://daringfireball.net/projects/markdown/"
+ target="_blank"
+ rel="noopener"
+ >markdown</a
+ >.
+</p>
+<p>
+ One thing I’m proud of is a visual ping for footnotes.<sup
+ class="footnote-ref"
+ ><a href="https://joshua.seigler.net/posts/site-design-updated/#footnote1"
+ >[1]</a
+ ><a class="footnote-anchor" id="footnote-ref1"></a
+ ></sup>
+ When you click a footnote<sup class="footnote-ref"
+ ><a href="https://joshua.seigler.net/posts/site-design-updated/#footnote2"
+ >[2]</a
+ ><a class="footnote-anchor" id="footnote-ref2"></a
+ ></sup>
+ it briefly highlights the thing you jumped to.
+</p>
+<p>
+ In the upper right I added a style toggle that applies the font from Star
+ Wars, “Aurebesh”. I learned how to read it but sometimes want some practice.
+ <span data-language="aurebesh"
+ >People who can read this are cool and I like them.</span
+ >
+</p>
+<p>I also finally made a section for recipes!</p>
+<blockquote>
+ <p>
+ May 2025 edit: I updated the design some more without changing the tech
+ stack. The main improvements are animated clouds and a host of minor
+ adjustments.
+ </p>
+</blockquote>
+<blockquote>
+ <p>
+ June 2025 edit: I have continued to alter the design. Pray I don’t alter it
+ any further.
+ </p>
+</blockquote>
+<hr class="footnotes-sep" />
+<section class="footnotes">
+ <ol class="footnotes-list">
+ <li id="footnote1" class="footnote-item">
+ <p>
+ It highlights when you click back, too.
+ <a
+ href="https://joshua.seigler.net/posts/site-design-updated/#footnote-ref1"
+ class="footnote-backref"
+ >↩︎</a
+ >
+ </p>
+ </li>
+ <li id="footnote2" class="footnote-item">
+ <p>
+ Hi.
+ <a
+ href="https://joshua.seigler.net/posts/site-design-updated/#footnote-ref2"
+ class="footnote-backref"
+ >↩︎</a
+ >
+ </p>
+ </li>
+ </ol>
+</section>
+
+
+
+ Finally, a Coherent Worldview
+
+ 2023-07-14T00:00:00Z
+ https://joshua.seigler.net/posts/finally-a-coherent-worldview/
+ <p>
+ Around the time of my previous post, I had just been received into the
+ Orthodox church. Since then I have found it to be everything I was looking
+ for, and a great deal more. There is such a wealth of wisdom, going back
+ thousands of years. And it was all there, un-seen, un-read, as far as I was
+ concerned not existing at all! It seems impossible to me that I was so unaware
+ of these treasures by chance.
+</p>
+<p>
+ Father Seraphim Rose, Saint Paisios, Saint Porphyrios, Elder Thaddeus of
+ Vitovnica - to name only a few! - lived in this world, recently. They speak
+ plainly and lovingly about modern and familiar concerns. Their example and
+ guidance are a priceless treasure! And not only they help me, but
+ participating in the tradition of the Orthodox Church has… I don’t even know
+ how to say it all. I have experienced how the prodigal son felt when he took a
+ few trembling steps back to his father, and instead of the rejection or anger
+ he had earned, he received joyful, unearned forgiveness. His father
+ <em>ran</em> to him while he was still far away!
+</p>
+<p>
+ Here is what I know, now from experience: Jesus Christ is life and truth and
+ love. To look for life, or truth, or love apart from Him is pointless! It’s a
+ contradiction, like looking for light by marching into the shadows. God made
+ me, and He loves me more than I love myself. Because this is true, I want to
+ do everything His way, even if I don’t understand it at first.
+</p>
+
+
+
+ Embracing Mysticism
+
+ 2021-10-16T00:00:00Z
+ https://joshua.seigler.net/posts/embracing-mysticism/
+ <p>
+ Logical arguments no longer work. This has been especially visible in the
+ pandemic response in 2020. If you dug even a little below the surface of any
+ mainstream narrative in the past two years, you likely found points of
+ disagreement. But showing people scientific papers, charts, statistical
+ analysis, or other types of evidence accomplishes nothing, or worse it invites
+ accusations of being part of the Other Team, one of those backwards, wrong,
+ stupid people.
+</p>
+<p>
+ In mid-2020 Vin Armani (now Cyprian) started calling this change “The Dim
+ Age”<sup class="footnote-ref"
+ ><a href="https://joshua.seigler.net/posts/embracing-mysticism/#footnote1"
+ >[1]</a
+ ><a class="footnote-anchor" id="footnote-ref1"></a></sup
+ >. He suggested that most people still see the world as exclusively physical,
+ oblivious to patterns of reality that are plainly obvious to more mystically
+ aware people.
+</p>
+<p>
+ In an attempt to remedy my newfound illiteracy, I started exploring symbolism,
+ which as I understood it dealt with identifying and understanding meaning. I
+ found Jonathan Pageau’s project
+ <a href="https://thesymbolicworld.com/" target="_blank" rel="noopener"
+ >The Symbolic World</a
+ >, which has some very accessible videos breaking down movies and other pop
+ culture artifacts from a symbolic perspective
+ <sup class="footnote-ref"
+ ><a href="https://joshua.seigler.net/posts/embracing-mysticism/#footnote2"
+ >[2]</a
+ ><a class="footnote-anchor" id="footnote-ref2"></a></sup
+ >. These commentaries did not seem arbitrary or speculative, but pointed to
+ cultural trends that I couldn’t un-see once I understood them. I binged a
+ bunch more of his material, including eventually a book his brother Mattheiu
+ wrote, <em>The Language of Creation: Cosmic Symbolism in Genesis</em
+ ><sup class="footnote-ref"
+ ><a href="https://joshua.seigler.net/posts/embracing-mysticism/#footnote3"
+ >[3]</a
+ ><a class="footnote-anchor" id="footnote-ref3"></a></sup
+ >. Through this I discovered a side of reality I had been almost completely
+ oblivious to, and what’s more, an aspect of my faith which had somehow
+ completely passed me by.
+</p>
+<p>
+ From there I started listening to the
+ <a
+ href="https://www.ancientfaith.com/podcasts/lordofspirits"
+ target="_blank"
+ rel="noopener"
+ >Lord of Spirits</a
+ >
+ podcast. I learned that commonplace, obvious understanding of existence as
+ material <em>and spiritual</em> has been mostly lost, displaced by modern
+ confidence that the material world is the limit of reality, over which
+ sovereign mankind rules. The ancient faith of Christianity, known now as
+ “Eastern Orthodoxy”, corresponds with reality, especially spiritual patterns
+ of reality as we see more plainly every week, better than anything else I
+ know.
+</p>
+<h2 id="additional-thoughts" tabindex="-1">
+ <a
+ class="header-anchor"
+ href="https://joshua.seigler.net/posts/embracing-mysticism/#additional-thoughts"
+ aria-hidden="true"
+ ></a>
+ Additional thoughts
+</h2>
+<p>
+ For a while I think my highest values have been freedom and truth. A desire to
+ be solely responsible for myself, and a desire to understand myself and the
+ world fully and accurately. But I didn’t realize that my chief obstacle is
+ hardly megacorps and governments: I am ruled by my own out-of-control desires:
+ for comfort, pleasure, control, satisfaction, even self-mastery. In a paradise
+ where my every whim was manifested, I would still be a slave to desire,
+ consuming and <em>wanting</em> more and more.
+</p>
+<p>
+ Investigating eastern orthodoxy, this ancient Christianity, revealed a better
+ path to freedom and truth: aiming higher. Every action and choice is in
+ service to something. Instead of serving little tyrannical gods like comfort
+ or pleasure, or potentially nobler gods like a country or even a “liberty
+ movement”, I will attempt to serve the Most High.
+</p>
+<hr class="footnotes-sep" />
+<section class="footnotes">
+ <ol class="footnotes-list">
+ <li id="footnote1" class="footnote-item">
+ <p>
+ <a
+ href="https://freemanbeyondthewall.libsyn.com/episode-478"
+ target="_blank"
+ rel="noopener"
+ >Free Man Beyond The Wall episode 478: We’ve Entered The ‘Dim Age’</a
+ >
+ <a
+ href="https://joshua.seigler.net/posts/embracing-mysticism/#footnote-ref1"
+ class="footnote-backref"
+ >↩︎</a
+ >
+ </p>
+ </li>
+ <li id="footnote2" class="footnote-item">
+ <p>
+ <a
+ href="https://thesymbolicworld.com/videos/symbolism-propaganda-in-popular-culture/"
+ target="_blank"
+ rel="noopener"
+ >Symbolism and Propaganda in Popular Culture</a
+ >,
+ <a
+ href="https://thesymbolicworld.com/videos/the-fall-of-loki-into-the-multiverse/"
+ target="_blank"
+ rel="noopener"
+ >The Fall of Loki (Into the Multiverse)</a
+ >
+ <a
+ href="https://joshua.seigler.net/posts/embracing-mysticism/#footnote-ref2"
+ class="footnote-backref"
+ >↩︎</a
+ >
+ </p>
+ </li>
+ <li id="footnote3" class="footnote-item">
+ <p>
+ <a href="https://amzn.to/4iBOExr" target="_blank" rel="noopener"
+ >The Language of Creation: Cosmic Symbolism in Genesis: A
+ Commentary</a
+ >, ISBN 978-1981549337
+ <a
+ href="https://joshua.seigler.net/posts/embracing-mysticism/#footnote-ref3"
+ class="footnote-backref"
+ >↩︎</a
+ >
+ </p>
+ </li>
+ </ol>
+</section>
+
+
+
+ Needs-based communication
+
+ 2021-05-26T00:00:00Z
+ https://joshua.seigler.net/posts/needs-based-communication/
+ <p>
+ Needs-based communication (usually called non-violent communication or NVC™)
+ is a way of understanding yourself and others with a unique insight: everyone
+ has their own personal reactions to the world, but people have the same basic
+ needs. We recognize those needs in other people, and that common connection
+ can allow us to communicate clearly when there is conflict.
+</p>
+<p>
+ <strong>Needs</strong> are universal to humanity. They are common drives that
+ we all experience, and this universality makes them perfect for connecting
+ with each other. Some broad categories of needs are the needs for: connection,
+ physical well-being, honesty, play, peace, autonomy, and meaning. Needs can
+ also be specific: a need for clarity, nurturing, integrity, trust, space, etc.
+ Needs are abstract, not connected to people or actions. For example, peace is
+ a need, muting TV commercials is not. Here is
+ <a
+ href="https://www.cnvc.org/training/resource/needs-inventory"
+ target="_blank"
+ rel="noopener"
+ >a partial list of needs</a
+ >
+ from the Center for Non-Violent Communication (CNVC).
+</p>
+<p>
+ Everything <em>anyone</em> does is an attempt to meet a need. None of these
+ universal needs is wrong or inherently harmful, although sometimes the
+ strategies we use can be.
+</p>
+<p>
+ <strong>Conflict</strong> happens when our needs aren’t met. We get stuck in
+ conflict when we mix up needs and strategies. Needs never conflict with each
+ other, only strategies do.
+</p>
+<p>
+ When we experience conflict or negative feelings, that indicates that there is
+ an unmet need. In an attempt to end a conflict, we often settle on
+ unsatisfying resolutions:
+</p>
+<ol>
+ <li>
+ We suppress the need and move on, painfully leaving the problem unaddressed.
+ </li>
+ <li>
+ We come to an uneasy agreement about who is the winner and who is the loser,
+ and the loser gives up on meeting their need. The immediate conflict is
+ over, but the problem is not really resolved.
+ </li>
+ <li>
+ We escalate, expanding the conflict in an attempt to win, at the other’s
+ expense if necessary.
+ </li>
+</ol>
+<p>
+ These resolutions can happen despite our best intentions, as a result of not
+ understanding what’s happening as we fight. A very common mistake is to
+ confuse needs and strategies.
+</p>
+<p>
+ <strong>Strategies</strong> are things we do to meet our needs. In contrast to
+ needs, which are abstract and universal, strategies are personal, specific,
+ and widely varied.
+</p>
+<p>
+ For example, consider the need for self-expression. There are as many
+ strategies as there are people and situations: singing, writing, talking,
+ composing, dressing a certain way… and on and on.
+</p>
+<p>
+ Jumping into a conflict strategy-first is bound to cause problems if that
+ strategy doesn’t meet others’ needs as well as your own. The way past conflict
+ is for everyone involved to understand each others’ needs, and
+ <em>then</em> work together to find a strategy to meet those needs.
+</p>
+<p>So, <strong>how do you figure out your own needs?</strong></p>
+<p>
+ Negative feelings are a sign that you have an unmet need. Unfortunately, most
+ of us have learned to bundle in certain judgments and name them as feelings.
+ For example, I might think I am feeling <em>abandoned</em>, but really this is
+ a feeling of disconnectedness, vulnerability, loneliness, or something else,
+ combined with a judgment that someone else has made me feel that way.
+</p>
+<p>
+ The truth is that the same situation can affect people very differently. This
+ means that feelings must come from a person’s own response to things. In order
+ to see your feelings clearly, it is important to take ownership of them as
+ <em>your</em> feelings rather than something caused by the world around you. I
+ have found this to be very challenging, but also incredibly rewarding.
+</p>
+<p>
+ Once you have an honest name for what you are feeling, think about what need
+ sparked the feeling.
+</p>
+<p>
+ There is a (kind of clunky) formula for requesting help meeting a need without
+ tacking on strategies, demands, judgments, or other baggage. As the exercise
+ becomes more habitual, you won’t need the formula, and can accomplish the same
+ thing more naturally.
+</p>
+<p>Here it is:</p>
+<blockquote>
+ <p>
+ When <em>[observation]</em>, I felt <em>[feeling]</em> because I was having
+ a need for <em>[need]</em>. (possibly also a request:) Are you willing to
+ <em>[action]</em>?
+ </p>
+</blockquote>
+<p>
+ In the spirit of communicating without judgments, the observation should be
+ strictly focused on facts, with no mind-reading or attribution at all. Sharing
+ your feelings in addition to the need can help the other person recognize the
+ need and how it affects you. If the other person understands the need, you can
+ also make a request for some specific action to help meet your need.
+</p>
+<p>
+ It is very important that the action you request be feasible, concrete, and
+ specific. Asking someone to change their behavior forever, think a certain
+ way, etc is too much. The request should also really, truly be a request and
+ not a demand. A “No!” should be as welcome as a “Yes!” because the goal is to
+ find a strategy that meets your needs <em>and</em> theirs.
+</p>
+<p>
+ There is a (similarly clunky) pattern for discovering someone else’s needs. As
+ you listen to them, you will probably get an idea for how they feel, and you
+ may be able to guess what need they are experiencing. You can ask:
+</p>
+<blockquote>
+ <p>
+ When you <em>[observation]</em> do you feel <em>[feeling]</em> because you
+ are having a need for <em>[need]</em>? (possibly also:) Right now, would you
+ like me to <em>[action]</em>?
+ </p>
+</blockquote>
+<p>
+ Like the other formula, this is just a beginning point, almost too rough to
+ use except for training your responses and replacing old communication habits.
+</p>
+<p>
+ These are two sides of the same coin, a pattern that draws a line from the
+ stimulus, some observation, through the needs, towards a solution. Even if you
+ guess wrong, just focusing on someone’s feelings and needs demonstrates that
+ you are really interested in their problem.
+</p>
+<p>
+ Even without explicitly using this pattern (observation ➔ feeling ➔ need ➔
+ request), just by thinking about needs (your own and others’) you can untangle
+ conflict and see other people with much more empathy. Maybe that reckless
+ driver is having a need for excitement and power, and zipping around you was
+ the best strategy they could come up with. Just seeing past the image of
+ others as enemies or obstacles can make the world much less hostile, by
+ revealing them to be real humans, people you might be able to connect with.
+ This way of thinking can also be a path to growth as you take ownership of
+ your feelings and see your needs clearly.
+</p>
+<p>Some resources for exploring these ideas more:</p>
+<ul>
+ <li>
+ <a href="http://www.therightword.info/" target="_blank" rel="noopener"
+ >The Right Words and Beyond</a
+ >
+ </li>
+ <li>
+ <a href="https://amzn.to/44cpIsV" target="_blank" rel="noopener"
+ >Nonviolent Communication: A Language of Life</a
+ >, ISBN 189200528X
+ </li>
+ <li>
+ <a href="https://www.cnvc.org/" target="_blank" rel="noopener"
+ >The Center for Nonviolent Communication</a
+ >
+ </li>
+</ul>
+
+
+
+ The Trivium: A Tool for Learning Anything
+
+ 2021-04-03T00:00:00Z
+ https://joshua.seigler.net/posts/the-trivium-a-tool-for-learning-anything/
+ <p>
+ Information today has become siloed. It’s a common belief that little, if any,
+ expertise from one field of knowledge transfers over to other fields. But
+ there is a forgotten tool that anyone can use to confidently approach new
+ subjects and problems: the <em>Trivium</em>.
+</p>
+<p>
+ The ancients considered the liberal arts to be composed of seven parts. First
+ was a foundation called the <em>trivium</em>, composed of grammar, logic, and
+ rhetoric. Following that was the <em>quadrivium</em>, which was arithmetic,
+ geometry, music, and astronomy (numbers, numbers in space, numbers in time,
+ numbers in time and space). The trivium (literally, “three ways”), is a
+ framework for learning.
+</p>
+<h2 id="grammar" tabindex="-1">
+ <a
+ class="header-anchor"
+ href="https://joshua.seigler.net/posts/the-trivium-a-tool-for-learning-anything/#grammar"
+ aria-hidden="true"
+ ></a>
+ Grammar
+</h2>
+<p>
+ Grammar is about gaining knowledge: collecting information, without judgment
+ or analysis. It answers the questions “Who, what, where, and when?” This is
+ possibly the most important step, since (depending on what you study)
+ essential information may not be readily available.
+</p>
+<h2 id="logic" tabindex="-1">
+ <a
+ class="header-anchor"
+ href="https://joshua.seigler.net/posts/the-trivium-a-tool-for-learning-anything/#logic"
+ aria-hidden="true"
+ ></a>
+ Logic
+</h2>
+<p>
+ Logic is about gaining understanding. It answers “why?” This is the foundation
+ for relating to the world. It has three components: filtration, correlation,
+ and analysis. It places the information gathered into context, and eliminates
+ inconsistency and resolves conflicting perspectives.
+</p>
+<h2 id="rhetoric" tabindex="-1">
+ <a
+ class="header-anchor"
+ href="https://joshua.seigler.net/posts/the-trivium-a-tool-for-learning-anything/#rhetoric"
+ aria-hidden="true"
+ ></a>
+ Rhetoric
+</h2>
+<p>
+ Rhetoric is about acting wisely: the application of knowledge and
+ understanding, put into correct action. It answers “how?”
+</p>
+<p>
+ Methodically applying this method provides a clear next step when encountering
+ any unfamiliar topic. This is a powerful tool for methodically determining the
+ best way to achieve your goals.
+</p>
+<h2 id="resources" tabindex="-1">
+ <a
+ class="header-anchor"
+ href="https://joshua.seigler.net/posts/the-trivium-a-tool-for-learning-anything/#resources"
+ aria-hidden="true"
+ ></a>
+ Resources
+</h2>
+<ul>
+ <li>
+ <a href="https://triviumbinder.blogspot.com/" target="_blank" rel="noopener"
+ >Trivium Binder Project</a
+ >
+ </li>
+ <li>
+ <a
+ href="http://www.scribd.com/doc/59477946/Trivium-Method-of-Critical-Thinking-and-Creative-Problem-Solving"
+ target="_blank"
+ rel="noopener"
+ >Tragedy and Hope: Five page summary of the Trivium</a
+ >
+ </li>
+ <li>
+ <a
+ href="https://www.scribd.com/document/33744483/Trivium-Method-of-Thinking-vs-Other-Methodologies"
+ target="_blank"
+ rel="noopener"
+ >Shadows of the trivium in narrow disciplines</a
+ >
+ </li>
+</ul>
+
+
+
+ Authority - Consent's Blind Spot
+
+ 2020-07-02T00:00:00Z
+ https://joshua.seigler.net/posts/authority-consents-blind-spot/
+ <blockquote>
+ <p>
+ 2025 disclaimer: I haven’t thought through all these ideas in a while, but I
+ probably would change some of this or soften/rephrase it.
+ </p>
+</blockquote>
+<p>
+ Consent occurs when an individual voluntarily agrees to the proposal or
+ desires of another. It comes from the concept that who should decide what
+ happens to your person, is you.
+</p>
+<p>
+ There are two ways people interact: with consent, and without it. Some people
+ care a lot about consent, but overall, most take whichever route is easiest,
+ or more convenient.
+</p>
+<p>
+ People respect consent in most of their face-to-face dealings with others.
+ Violating someone’s consent in person is usually met with resistance, possibly
+ very strong resistance with a long-lasting impact. But there are covert ways
+ to violate consent, so that the target must not notice the violation—or if
+ they do notice, they must be unable to determine who is to blame.
+</p>
+<p>
+ Pretty much everyone has had circumstances where they did something because
+ another person, or group of people, compelled their compliance. Classic
+ examples include paying taxes, being drafted, and avoiding certain activities,
+ beliefs, or substances.
+</p>
+<p>
+ Here are some popular excuses for violating consent that you may have seen:
+</p>
+<blockquote>
+ <p>I am actually helping you.</p>
+</blockquote>
+<blockquote>
+ <p>You like some of the things I do, so you must accept this as well.</p>
+</blockquote>
+<blockquote>
+ <p>Everyone else lets me do this.</p>
+</blockquote>
+<blockquote>
+ <p>Everyone else said it was okay if I do this.</p>
+</blockquote>
+<blockquote>
+ <p>I am doing this, but someone else is responsible for my actions.</p>
+</blockquote>
+<blockquote>
+ <p>You agreed to this by being born here.</p>
+</blockquote>
+<blockquote>
+ <p>I am allowed to do this.</p>
+</blockquote>
+<p>
+ That last one combines all the others into one argument, called authority.
+ This is the idea that certain people are justified in violating consent.
+ Usually there is a vaguely religious ceremony associated with the granting of
+ authority—something like a holy document, large gatherings of people, formal
+ outfits, or important sounding titles.
+</p>
+<p>
+ Sometimes consensual relationships are described as involving authority, such
+ as a boss at work having “authority” over an employee—but the difference is
+ clear: if the boss says to do something but the employee no longer consents,
+ they could exit that relationship.<br />
+ Sometimes people refer to an expert as an “authority” on a certain matter, but
+ this definition is also not of use here. I refer to authority here as the
+ ability to act upon another’s person, without regard for consent.
+</p>
+<p>
+ One problem with authority is that all the people on earth are humans. There’s
+ nobody better than humans who would obviously deserve special treatment, nor
+ is there some obviously superior category of human, so people expect some
+ excuse for how an ordinary person obtains authority.
+</p>
+<p>
+ In certain belief systems, the excuse was “God chose me and made me worthy.”
+ Contemporarily, the claim is based on “the will of the people”. Whoever wins a
+ special regional popularity competition is considered to have authority over
+ everyone in that region, even people who disagree.
+</p>
+<p>
+ You would think acting on someone in a way they don’t allow is difficult, but
+ people are impressed by ceremonies of authority, and they are confused by the
+ way everyone involved claims that their actions are someone else’s
+ responsibility. Even if people manage to see through the tricks they are
+ usually still afraid to resist authority out of a belief that nobody will help
+ them. So almost everyone obeys.
+</p>
+<h2 id="solutions" tabindex="-1">
+ <a
+ class="header-anchor"
+ href="https://joshua.seigler.net/posts/authority-consents-blind-spot/#solutions"
+ aria-hidden="true"
+ ></a>
+ Solutions
+</h2>
+<p>Once you have seen through this trick, what can you do?</p>
+<h3 id="look-for-ways-to-sidestep-authority-altogether." tabindex="-1">
+ <a
+ class="header-anchor"
+ href="https://joshua.seigler.net/posts/authority-consents-blind-spot/#look-for-ways-to-sidestep-authority-altogether."
+ aria-hidden="true"
+ ></a>
+ Look for ways to sidestep authority altogether.
+</h3>
+<p>
+ Since very few people accept <em>absolute</em> authority, there are all kinds
+ of limitations to its scope. If you can find ways to move your activities to
+ areas of life that are not “covered” by authority, you will be able to ignore
+ it more.
+</p>
+<ul>
+ <li>
+ <a
+ href="https://theconsciousresistance.com/wp-content/uploads/2020/01/How_to_Opt_Out_of_the_Technocratic_State.pdf"
+ target="_blank"
+ rel="noopener"
+ >How to Opt Out of the Technocratic State (PDF)</a
+ >
+ by Derrick Broze
+ </li>
+ <li>
+ <a
+ href="http://www.kopubco.com/pdf/An_Agorist_Primer_by_SEK3.pdf"
+ target="_blank"
+ rel="noopener"
+ >An Agorist Primer (PDF)</a
+ >
+ by Samuel Edward Konkin III
+ </li>
+ <li>
+ <a href="https://www.seasteading.org/" target="_blank" rel="noopener"
+ >The Seasteading Institute</a
+ >
+ </li>
+</ul>
+<h3 id="teach-other-people-how-to-see-these-tricks-more-clearly." tabindex="-1">
+ <a
+ class="header-anchor"
+ href="https://joshua.seigler.net/posts/authority-consents-blind-spot/#teach-other-people-how-to-see-these-tricks-more-clearly."
+ aria-hidden="true"
+ ></a>
+ Teach other people how to see these tricks more clearly.
+</h3>
+<p>
+ Relatively few people claim to have authority. If even a moderate fraction of
+ people resist authoritarian demands, it becomes impossible to compel them all
+ by force.
+</p>
+<ul>
+ <li>
+ <a
+ href="https://www.youtube.com/playlist?list=PL4jzSARXHuuwhBfzGNYhSVE4gJ8zmRnTH"
+ target="_blank"
+ rel="noopener"
+ >Playlist: Thomasz Kaye Animations</a
+ >
+ </li>
+ <li>
+ <a href="https://fee.org/stories" target="_blank" rel="noopener"
+ >Foundation for Economic Education</a
+ >
+ </li>
+</ul>
+<h3 id="promote-alternatives-that-respect-consent." tabindex="-1">
+ <a
+ class="header-anchor"
+ href="https://joshua.seigler.net/posts/authority-consents-blind-spot/#promote-alternatives-that-respect-consent."
+ aria-hidden="true"
+ ></a>
+ Promote alternatives that respect consent.
+</h3>
+<p>
+ For every authority-based solution to a problem, there is a more effective
+ consensual solution, and usually the consensual way of doing things is already
+ being used somewhere, and has lower costs and better outcomes.
+</p>
+<ul>
+ <li>
+ <a
+ href="http://daviddfriedman.com/The_Machinery_of_Freedom_.pdf"
+ target="_blank"
+ rel="noopener"
+ >The Machinery of Freedom (PDF)</a
+ >
+ <a
+ href="http://daviddfriedman.com/The_Machinery_of_Freedom.prc"
+ target="_blank"
+ rel="noopener"
+ >(Ebook)</a
+ >
+ <a
+ href="https://www.youtube.com/watch?v=jTYkdEU_B4o"
+ target="_blank"
+ rel="noopener"
+ >(Video)</a
+ >
+ by David D Friedman
+ </li>
+</ul>
+<h3 id="use-the-ceremonies-of-authority-against-itself." tabindex="-1">
+ <a
+ class="header-anchor"
+ href="https://joshua.seigler.net/posts/authority-consents-blind-spot/#use-the-ceremonies-of-authority-against-itself."
+ aria-hidden="true"
+ ></a>
+ Use the ceremonies of authority against itself.
+</h3>
+<p>
+ If someone with authority asks your opinion on some topic, steer them away
+ from choices that violate consent. It may even be appropriate to support
+ people who seek positions of authority if you believe they will prevent it
+ from being used, but don’t be surprised if their encounter with power changes
+ their values.
+</p>
+<ul>
+ <li>
+ <a href="https://lp.org/" target="_blank" rel="noopener"
+ >Libertarian Party</a
+ >
+ </li>
+</ul>
+<h3 id="surround-yourself-with-people-who-care-about-consent." tabindex="-1">
+ <a
+ class="header-anchor"
+ href="https://joshua.seigler.net/posts/authority-consents-blind-spot/#surround-yourself-with-people-who-care-about-consent."
+ aria-hidden="true"
+ ></a>
+ Surround yourself with people who care about consent.
+</h3>
+<p>
+ If you know the people around you care about consent, then when someone
+ claiming authority makes demands of the community, it will be much safer to
+ ignore the demands since you would not be alone.
+</p>
+<ul>
+ <li>
+ <a href="https://www.fsp.org/" target="_blank" rel="noopener"
+ >Free State Project</a
+ >
+ </li>
+</ul>
+<h2 id="additional-resources" tabindex="-1">
+ <a
+ class="header-anchor"
+ href="https://joshua.seigler.net/posts/authority-consents-blind-spot/#additional-resources"
+ aria-hidden="true"
+ ></a>
+ Additional Resources
+</h2>
+<ul>
+ <li>
+ <a
+ href="https://spot.colorado.edu/~huemer/1.htm"
+ target="_blank"
+ rel="noopener"
+ >The Problem of Political Authority (Chapter 1)</a
+ >
+ <a href="https://amzn.to/2AyQxw0" target="_blank" rel="noopener"
+ >(Amazon)</a
+ >
+ by Michael Huemer
+ </li>
+ <li>
+ <a
+ href="https://ia601208.us.archive.org/27/items/236222899TheMostDangerousSuperstitionLarkenRose2011/the-most-dangerous-superstition-larken-rose-20111.pdf"
+ target="_blank"
+ rel="noopener"
+ >The Most Dangerous Superstitition (PDF)</a
+ >
+ by Larken Rose
+ </li>
+ <li>
+ <a href="http://bastiat.org/en/the_law.html" target="_blank" rel="noopener"
+ >The Law</a
+ >
+ by Frédéric Bastiat
+ </li>
+</ul>
+
+
+
\ No newline at end of file
diff --git a/fonts/ftaurebesh.css b/fonts/ftaurebesh.css
new file mode 100644
index 0000000..a96cbaa
--- /dev/null
+++ b/fonts/ftaurebesh.css
@@ -0,0 +1,16 @@
+@font-face {
+ font-family: FTAurebesh;
+ font-style: normal;
+ font-weight: 500;
+ font-display: block;
+ src: url("/fonts/ftaurebesh-medium.woff2") format("woff2");
+ size-adjust: 125%;
+}
+@font-face {
+ font-family: FTAurebesh;
+ font-style: normal;
+ font-weight: 700;
+ font-display: block;
+ src: url("/fonts/ftaurebesh-bold.woff2") format("woff2");
+ size-adjust: 125%;
+}
diff --git a/fonts/ftaurebesh/ftaurebesh-black.woff2 b/fonts/ftaurebesh/ftaurebesh-black.woff2
new file mode 100644
index 0000000..bcf3558
Binary files /dev/null and b/fonts/ftaurebesh/ftaurebesh-black.woff2 differ
diff --git a/fonts/ftaurebesh/ftaurebesh-bold.woff2 b/fonts/ftaurebesh/ftaurebesh-bold.woff2
new file mode 100644
index 0000000..694e644
Binary files /dev/null and b/fonts/ftaurebesh/ftaurebesh-bold.woff2 differ
diff --git a/fonts/ftaurebesh/ftaurebesh-light.woff2 b/fonts/ftaurebesh/ftaurebesh-light.woff2
new file mode 100644
index 0000000..988abb1
Binary files /dev/null and b/fonts/ftaurebesh/ftaurebesh-light.woff2 differ
diff --git a/fonts/ftaurebesh/ftaurebesh-medium.woff2 b/fonts/ftaurebesh/ftaurebesh-medium.woff2
new file mode 100644
index 0000000..ca4cb40
Binary files /dev/null and b/fonts/ftaurebesh/ftaurebesh-medium.woff2 differ
diff --git a/fonts/ftaurebesh/ftaurebesh-regular.woff2 b/fonts/ftaurebesh/ftaurebesh-regular.woff2
new file mode 100644
index 0000000..087ba16
Binary files /dev/null and b/fonts/ftaurebesh/ftaurebesh-regular.woff2 differ
diff --git a/fonts/ftaurebesh/ftaurebesh-semibold.woff2 b/fonts/ftaurebesh/ftaurebesh-semibold.woff2
new file mode 100644
index 0000000..f39c990
Binary files /dev/null and b/fonts/ftaurebesh/ftaurebesh-semibold.woff2 differ
diff --git a/fonts/ftaurebesh/ftaurebesh-thin.woff2 b/fonts/ftaurebesh/ftaurebesh-thin.woff2
new file mode 100644
index 0000000..5978c60
Binary files /dev/null and b/fonts/ftaurebesh/ftaurebesh-thin.woff2 differ
diff --git a/fonts/ftaurebesh/ftaurebesh-ultrabold.woff2 b/fonts/ftaurebesh/ftaurebesh-ultrabold.woff2
new file mode 100644
index 0000000..16bf90c
Binary files /dev/null and b/fonts/ftaurebesh/ftaurebesh-ultrabold.woff2 differ
diff --git a/fonts/ftaurebesh/ftaurebesh-ultralight.woff2 b/fonts/ftaurebesh/ftaurebesh-ultralight.woff2
new file mode 100644
index 0000000..061e355
Binary files /dev/null and b/fonts/ftaurebesh/ftaurebesh-ultralight.woff2 differ
diff --git a/fonts/ftaurebesh/ftaurebesh.css b/fonts/ftaurebesh/ftaurebesh.css
new file mode 100644
index 0000000..3cd5074
--- /dev/null
+++ b/fonts/ftaurebesh/ftaurebesh.css
@@ -0,0 +1,16 @@
+@font-face {
+ font-family: FTAurebesh;
+ font-style: normal;
+ font-weight: 500;
+ font-display: block;
+ src: url("/fonts/ftaurebesh/ftaurebesh-medium.woff2") format("woff2");
+ size-adjust: 125%;
+}
+@font-face {
+ font-family: FTAurebesh;
+ font-style: normal;
+ font-weight: 700;
+ font-display: block;
+ src: url("/fonts/ftaurebesh/ftaurebesh-bold.woff2") format("woff2");
+ size-adjust: 125%;
+}
diff --git a/fonts/inter.css b/fonts/inter.css
new file mode 100644
index 0000000..f5cb561
--- /dev/null
+++ b/fonts/inter.css
@@ -0,0 +1,14 @@
+@font-face {
+ font-family: Inter;
+ font-style: normal;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url("/fonts/InterVariable.woff2") format("woff2");
+}
+@font-face {
+ font-family: Inter;
+ font-style: italic;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url("/fonts/InterVariable-Italic.woff2") format("woff2");
+}
diff --git a/fonts/inter/InterVariable-Italic.woff2 b/fonts/inter/InterVariable-Italic.woff2
new file mode 100644
index 0000000..f22ec25
Binary files /dev/null and b/fonts/inter/InterVariable-Italic.woff2 differ
diff --git a/fonts/inter/InterVariable.woff2 b/fonts/inter/InterVariable.woff2
new file mode 100644
index 0000000..22a12b0
Binary files /dev/null and b/fonts/inter/InterVariable.woff2 differ
diff --git a/fonts/inter/inter.css b/fonts/inter/inter.css
new file mode 100644
index 0000000..56f3762
--- /dev/null
+++ b/fonts/inter/inter.css
@@ -0,0 +1,14 @@
+@font-face {
+ font-family: Inter;
+ font-style: normal;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url("/fonts/inter/InterVariable.woff2") format("woff2");
+}
+@font-face {
+ font-family: Inter;
+ font-style: italic;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url("/fonts/inter/InterVariable-Italic.woff2") format("woff2");
+}
diff --git a/icon.png b/icon.png
new file mode 100644
index 0000000..e076dd8
Binary files /dev/null and b/icon.png differ
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..853b628
--- /dev/null
+++ b/index.html
@@ -0,0 +1,150 @@
+
+
+
+
+
+
+
+ Hello! - joshua.seigler.net
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Hello!
+
+
+
+
+ I’m Joshua Seigler, a software engineer since 2010 and a living being
+ since the 1980s. I’ve watched technology advance from dial-up and
+ Geocities pages, to federated social media and decentralized autonomous
+ organizations. My professional focus is on front-end development for web
+ and mobile. See /about for more detail.
+
+ These are songs chanted during certain Eastern Orthodox services. I
+ transcribed them with MuseScore from multiple sources, scanned or sung.
+
+
+
+
+ Îngerul a Strigat - Varlaam - glasul 3
+
+
+
+
+
+ It Is Truly Meet - Macedonian
+
+
+
+
+
+
+
+
+
diff --git a/music/ingerul-a-strigat-varlaam-glasul-3.pdf b/music/ingerul-a-strigat-varlaam-glasul-3.pdf
new file mode 100644
index 0000000..c8546c8
Binary files /dev/null and b/music/ingerul-a-strigat-varlaam-glasul-3.pdf differ
diff --git a/music/it-is-truly-meet-macedonian.pdf b/music/it-is-truly-meet-macedonian.pdf
new file mode 100644
index 0000000..2e1f8c2
Binary files /dev/null and b/music/it-is-truly-meet-macedonian.pdf differ
diff --git a/noise.png b/noise.png
new file mode 100644
index 0000000..113c016
Binary files /dev/null and b/noise.png differ
diff --git a/now/index.html b/now/index.html
new file mode 100644
index 0000000..e16b6dd
--- /dev/null
+++ b/now/index.html
@@ -0,0 +1,140 @@
+
+
+
+
+
+
+
+ Now - joshua.seigler.net
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Now
+
June 7, 2025
+
+
+
+ I live in Southbridge, Massachusetts since 2022, with my wife Sara and
+ our three cats. We’re starting to get more integrated here. I’m about to
+ start a new role, my third or fourth startup depending on how you count
+ it. I’m active in
+ a local church. I recently changed my mind about olives (I like them now).
+
+
+ Goals
+
+
+
+ Learn to love God and to love people. Simple but difficult, gradual.
+
+
Drive success at my new job.
+
+ Improve my back-end and infrastructure skills to eventually own the
+ “full-stack” label.
+
+
Build a passive income stream.
+
+ Explore non-tech career skills, in case the world gets even wierder
+ than it is today.
+
+
+ Participate in communities:
+
+
+ Initiate and maintain connections with people around me (local
+ community, neighbors, etc).
+
`},y=i=>{let e=new r("li").class("pagefind-modular-list-result"),t=new r("div").class("pagefind-modular-list-thumb").addTo(e);i?.meta?.image&&new r("img").class("pagefind-modular-list-image").attrs({src:i.meta.image,alt:i.meta.image_alt||i.meta.title}).addTo(t);let s=new r("div").class("pagefind-modular-list-inner").addTo(e),n=new r("p").class("pagefind-modular-list-title").addTo(s);return new r("a").class("pagefind-modular-list-link").text(i.meta?.title).attrs({href:i.meta?.url||i.url}).addTo(n),new r("p").class("pagefind-modular-list-excerpt").html(i.excerpt).addTo(s),e.element},E=i=>{if(!(i instanceof HTMLElement))return null;let e=window.getComputedStyle(i).overflowY;return e!=="visible"&&e!=="hidden"?i:E(i.parentNode)},d=class{constructor(e={}){this.rawResult=e.result,this.placeholderNodes=e.placeholderNodes,this.resultFn=e.resultFn,this.intersectionEl=e.intersectionEl,this.result=null,this.waitForIntersection()}waitForIntersection(){if(!this.placeholderNodes?.length)return;let e={root:this.intersectionEl,rootMargin:"0px",threshold:.01};new IntersectionObserver((s,n)=>{this.result===null&&s?.[0]?.isIntersecting&&(this.load(),n.disconnect())},e).observe(this.placeholderNodes[0])}async load(){if(!this.placeholderNodes?.length)return;this.result=await this.rawResult.data();let e=this.resultFn(this.result),t=g(e);for(;this.placeholderNodes.length>1;)this.placeholderNodes.pop().remove();this.placeholderNodes[0].replaceWith(...t)}},a=class{constructor(e){if(this.intersectionEl=document.body,this.containerEl=null,this.results=[],this.placeholderTemplate=e.placeholderTemplate??v,this.resultTemplate=e.resultTemplate??y,e.containerElement)this.initContainer(e.containerElement);else{console.error("[Pagefind ResultList component]: No selector supplied for containerElement");return}}initContainer(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind ResultList component]: No container found for ${e} selector`);return}this.containerEl=t}append(e){for(let t of e)this.containerEl.appendChild(t)}register(e){e.on("results",t=>{this.containerEl&&(this.containerEl.innerHTML="",this.intersectionEl=E(this.containerEl),this.results=t.results.map(s=>{let n=g(this.placeholderTemplate());return this.append(n),new d({result:s,placeholderNodes:n,resultFn:this.resultTemplate,intersectionEl:this.intersectionEl})}))}),e.on("loading",()=>{this.containerEl&&(this.containerEl.innerHTML="")})}};var o=class{constructor(e={}){if(this.containerEl=null,this.defaultMessage=e.defaultMessage??"",this.term="",e.containerElement)this.initContainer(e.containerElement);else{console.error("[Pagefind Summary component]: No selector supplied for containerElement");return}}initContainer(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind Summary component]: No container found for ${e} selector`);return}this.containerEl=t,this.containerEl.innerText=this.defaultMessage}register(e){e.on("search",(t,s)=>{this.term=t}),e.on("results",t=>{if(!this.containerEl||!t)return;if(!this.term){this.containerEl.innerText=this.defaultMessage;return}let s=t?.results?.length??0;this.containerEl.innerText=`${s} result${s===1?"":"s"} for ${this.term}`}),e.on("loading",()=>{this.containerEl&&(this.containerEl.innerText=`Searching for ${this.term}...`)})}};var h=class{constructor(e={}){if(this.instance=null,this.wrapper=null,this.pillContainer=null,this.available={},this.selected=["All"],this.total=0,this.filterMemo="",this.filter=e.filter,this.ordering=e.ordering??null,this.alwaysShow=e.alwaysShow??!1,this.selectMultiple=e.selectMultiple??!1,!this.filter?.length){console.error("[Pagefind FilterPills component]: No filter option supplied, nothing to display");return}if(e.containerElement)this.initContainer(e.containerElement);else{console.error("[Pagefind FilterPills component]: No selector supplied for containerElement");return}}initContainer(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind FilterPills component]: No container found for ${e} selector`);return}t.innerHTML="";let s=`pagefind_modular_filter_pills_${this.filter}`,n=new r("div").class("pagefind-modular-filter-pills-wrapper").attrs({role:"group","aria-labelledby":s});this.alwaysShow||n.attrs({"data-pfmod-hidden":!0}),new r("div").id(s).class("pagefind-modular-filter-pills-label").attrs({"data-pfmod-sr-hidden":!0}).text(`Filter results by ${this.filter}`).addTo(n),this.pillContainer=new r("div").class("pagefind-modular-filter-pills").addTo(n),this.wrapper=n.addTo(t)}update(){let e=this.available.map(t=>t[0]).join("~");e==this.filterMemo?this.updateExisting():(this.renderNew(),this.filterMemo=e)}pushFilters(){let e=this.selected.filter(t=>t!=="All");this.instance.triggerFilter(this.filter,e)}pillInner(e,t){return this.total?`${e} (${t})`:`${e}`}renderNew(){this.available.forEach(([e,t])=>{new r("button").class("pagefind-modular-filter-pill").html(this.pillInner(e,t)).attrs({"aria-pressed":this.selected.includes(e),type:"button"}).handle("click",()=>{e==="All"?this.selected=["All"]:this.selected.includes(e)?this.selected=this.selected.filter(s=>s!==e):this.selectMultiple?this.selected.push(e):this.selected=[e],this.selected?.length?this.selected?.length>1&&(this.selected=this.selected.filter(s=>s!=="All")):this.selected=["All"],this.update(),this.pushFilters()}).addTo(this.pillContainer)})}updateExisting(){let e=[...this.pillContainer.childNodes];this.available.forEach(([t,s],n)=>{e[n].innerHTML=this.pillInner(t,s),e[n].setAttribute("aria-pressed",this.selected.includes(t))})}register(e){this.instance=e,this.instance.on("filters",t=>{if(!this.pillContainer)return;this.selectMultiple?t=t.available:t=t.total;let s=t[this.filter];if(!s){console.warn(`[Pagefind FilterPills component]: No possible values found for the ${this.filter} filter`);return}this.available=Object.entries(s),Array.isArray(this.ordering)?this.available.sort((n,c)=>{let m=this.ordering.indexOf(n[0]),_=this.ordering.indexOf(c[0]);return(m===-1?1/0:m)-(_===-1?1/0:_)}):this.available.sort((n,c)=>n[0].localeCompare(c[0])),this.available.unshift(["All",this.total]),this.update()}),e.on("results",t=>{this.pillContainer&&(this.total=t?.unfilteredResultCount||0,this.available?.[0]?.[0]==="All"&&(this.available[0][1]=this.total),this.total||this.alwaysShow?this.wrapper.removeAttribute("data-pfmod-hidden"):this.wrapper.setAttribute("data-pfmod-hidden","true"),this.update())})}};var P=async(i=50)=>await new Promise(e=>setTimeout(e,i)),u;try{document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"&&(u=new URL(document.currentScript.src).pathname.match(/^(.*\/)(?:pagefind-)?modular-ui.js.*$/)[1])}catch{u="/pagefind/"}var p=class{constructor(e={}){this.__pagefind__=null,this.__initializing__=null,this.__searchID__=0,this.__hooks__={search:[],filters:[],loading:[],results:[]},this.components=[],this.searchTerm="",this.searchFilters={},this.searchResult={},this.availableFilters=null,this.totalFilters=null,this.options={bundlePath:e.bundlePath??u,mergeIndex:e.mergeIndex??[]},delete e.bundlePath,delete e.resetStyles,delete e.processResult,delete e.processTerm,delete e.debounceTimeoutMs,delete e.mergeIndex,delete e.translations,this.pagefindOptions=e}add(e){e?.register?.(this),this.components.push(e)}on(e,t){if(!this.__hooks__[e]){let s=Object.keys(this.__hooks__).join(", ");console.error(`[Pagefind Composable]: Unknown event type ${e}. Supported events: [${s}]`);return}if(typeof t!="function"){console.error(`[Pagefind Composable]: Expected callback to be a function, received ${typeof t}`);return}this.__hooks__[e].push(t)}triggerLoad(){this.__load__()}triggerSearch(e){this.searchTerm=e,this.__dispatch__("search",e,this.searchFilters),this.__search__(e,this.searchFilters)}triggerSearchWithFilters(e,t){this.searchTerm=e,this.searchFilters=t,this.__dispatch__("search",e,t),this.__search__(e,t)}triggerFilters(e){this.searchFilters=e,this.__dispatch__("search",this.searchTerm,e),this.__search__(this.searchTerm,e)}triggerFilter(e,t){this.searchFilters=this.searchFilters||{},this.searchFilters[e]=t,this.__dispatch__("search",this.searchTerm,this.searchFilters),this.__search__(this.searchTerm,this.searchFilters)}__dispatch__(e,...t){this.__hooks__[e]?.forEach(s=>s?.(...t))}async __clear__(){this.__dispatch__("results",{results:[],unfilteredTotalCount:0}),this.availableFilters=await this.__pagefind__.filters(),this.totalFilters=this.availableFilters,this.__dispatch__("filters",{available:this.availableFilters,total:this.totalFilters})}async __search__(e,t){this.__dispatch__("loading"),await this.__load__();let s=++this.__searchID__;if(!e||!e.length)return this.__clear__();let n=await this.__pagefind__.search(e,{filters:t});n&&this.__searchID__===s&&(n.filters&&Object.keys(n.filters)?.length&&(this.availableFilters=n.filters,this.totalFilters=n.totalFilters,this.__dispatch__("filters",{available:this.availableFilters,total:this.totalFilters})),this.searchResult=n,this.__dispatch__("results",this.searchResult))}async __load__(){if(this.__initializing__){for(;!this.__pagefind__;)await P(50);return}if(this.__initializing__=!0,!this.__pagefind__){let e;try{e=await import(`${this.options.bundlePath}pagefind.js`)}catch(t){console.error(t),console.error([`Pagefind couldn't be loaded from ${this.options.bundlePath}pagefind.js`,"You can configure this by passing a bundlePath option to PagefindComposable Instance"].join(`
+`)),document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"?console.error(`[DEBUG: Loaded from ${document.currentScript?.src??"bad script location"}]`):console.error("no known script location")}await e.options(this.pagefindOptions||{});for(let t of this.options.mergeIndex){if(!t.bundlePath)throw new Error("mergeIndex requires a bundlePath parameter");let s=t.bundlePath;delete t.bundlePath,await e.mergeIndex(s,t)}this.__pagefind__=e}this.availableFilters=await this.__pagefind__.filters(),this.totalFilters=this.availableFilters,this.__dispatch__("filters",{available:this.availableFilters,total:this.totalFilters})}};window.PagefindModularUI=f;})();
diff --git a/pagefind/pagefind-ui.css b/pagefind/pagefind-ui.css
new file mode 100644
index 0000000..d7984a9
--- /dev/null
+++ b/pagefind/pagefind-ui.css
@@ -0,0 +1 @@
+.pagefind-ui__result.svelte-j9e30.svelte-j9e30{list-style-type:none;display:flex;align-items:flex-start;gap:min(calc(40px * var(--pagefind-ui-scale)),3%);padding:calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale));border-top:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result.svelte-j9e30.svelte-j9e30:last-of-type{border-bottom:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result-thumb.svelte-j9e30.svelte-j9e30{width:min(30%,calc((30% - (100px * var(--pagefind-ui-scale))) * 100000));max-width:calc(120px * var(--pagefind-ui-scale));margin-top:calc(10px * var(--pagefind-ui-scale));aspect-ratio:var(--pagefind-ui-image-box-ratio);position:relative}.pagefind-ui__result-image.svelte-j9e30.svelte-j9e30{display:block;position:absolute;left:50%;transform:translate(-50%);font-size:0;width:auto;height:auto;max-width:100%;max-height:100%;border-radius:var(--pagefind-ui-image-border-radius)}.pagefind-ui__result-inner.svelte-j9e30.svelte-j9e30{flex:1;display:flex;flex-direction:column;align-items:flex-start;margin-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-title.svelte-j9e30.svelte-j9e30{display:inline-block;font-weight:700;font-size:calc(21px * var(--pagefind-ui-scale));margin-top:0;margin-bottom:0}.pagefind-ui__result-title.svelte-j9e30 .pagefind-ui__result-link.svelte-j9e30{color:var(--pagefind-ui-text);text-decoration:none}.pagefind-ui__result-title.svelte-j9e30 .pagefind-ui__result-link.svelte-j9e30:hover{text-decoration:underline}.pagefind-ui__result-excerpt.svelte-j9e30.svelte-j9e30{display:inline-block;font-weight:400;font-size:calc(16px * var(--pagefind-ui-scale));margin-top:calc(4px * var(--pagefind-ui-scale));margin-bottom:0;min-width:calc(250px * var(--pagefind-ui-scale))}.pagefind-ui__loading.svelte-j9e30.svelte-j9e30{color:var(--pagefind-ui-text);background-color:var(--pagefind-ui-text);border-radius:var(--pagefind-ui-border-radius);opacity:.1;pointer-events:none}.pagefind-ui__result-tags.svelte-j9e30.svelte-j9e30{list-style-type:none;padding:0;display:flex;gap:calc(20px * var(--pagefind-ui-scale));flex-wrap:wrap;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-tag.svelte-j9e30.svelte-j9e30{padding:calc(4px * var(--pagefind-ui-scale)) calc(8px * var(--pagefind-ui-scale));font-size:calc(14px * var(--pagefind-ui-scale));border-radius:var(--pagefind-ui-border-radius);background-color:var(--pagefind-ui-tag)}.pagefind-ui__result.svelte-4xnkmf.svelte-4xnkmf{list-style-type:none;display:flex;align-items:flex-start;gap:min(calc(40px * var(--pagefind-ui-scale)),3%);padding:calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale));border-top:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result.svelte-4xnkmf.svelte-4xnkmf:last-of-type{border-bottom:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result-nested.svelte-4xnkmf.svelte-4xnkmf{display:flex;flex-direction:column;padding-left:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-nested.svelte-4xnkmf.svelte-4xnkmf:first-of-type{padding-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-nested.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf{font-size:.9em;position:relative}.pagefind-ui__result-nested.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf:before{content:"\2937 ";position:absolute;top:0;right:calc(100% + .1em)}.pagefind-ui__result-thumb.svelte-4xnkmf.svelte-4xnkmf{width:min(30%,calc((30% - (100px * var(--pagefind-ui-scale))) * 100000));max-width:calc(120px * var(--pagefind-ui-scale));margin-top:calc(10px * var(--pagefind-ui-scale));aspect-ratio:var(--pagefind-ui-image-box-ratio);position:relative}.pagefind-ui__result-image.svelte-4xnkmf.svelte-4xnkmf{display:block;position:absolute;left:50%;transform:translate(-50%);font-size:0;width:auto;height:auto;max-width:100%;max-height:100%;border-radius:var(--pagefind-ui-image-border-radius)}.pagefind-ui__result-inner.svelte-4xnkmf.svelte-4xnkmf{flex:1;display:flex;flex-direction:column;align-items:flex-start;margin-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-title.svelte-4xnkmf.svelte-4xnkmf{display:inline-block;font-weight:700;font-size:calc(21px * var(--pagefind-ui-scale));margin-top:0;margin-bottom:0}.pagefind-ui__result-title.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf{color:var(--pagefind-ui-text);text-decoration:none}.pagefind-ui__result-title.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf:hover{text-decoration:underline}.pagefind-ui__result-excerpt.svelte-4xnkmf.svelte-4xnkmf{display:inline-block;font-weight:400;font-size:calc(16px * var(--pagefind-ui-scale));margin-top:calc(4px * var(--pagefind-ui-scale));margin-bottom:0;min-width:calc(250px * var(--pagefind-ui-scale))}.pagefind-ui__loading.svelte-4xnkmf.svelte-4xnkmf{color:var(--pagefind-ui-text);background-color:var(--pagefind-ui-text);border-radius:var(--pagefind-ui-border-radius);opacity:.1;pointer-events:none}.pagefind-ui__result-tags.svelte-4xnkmf.svelte-4xnkmf{list-style-type:none;padding:0;display:flex;gap:calc(20px * var(--pagefind-ui-scale));flex-wrap:wrap;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-tag.svelte-4xnkmf.svelte-4xnkmf{padding:calc(4px * var(--pagefind-ui-scale)) calc(8px * var(--pagefind-ui-scale));font-size:calc(14px * var(--pagefind-ui-scale));border-radius:var(--pagefind-ui-border-radius);background-color:var(--pagefind-ui-tag)}legend.svelte-1v2r7ls.svelte-1v2r7ls{position:absolute;clip:rect(0 0 0 0)}.pagefind-ui__filter-panel.svelte-1v2r7ls.svelte-1v2r7ls{min-width:min(calc(260px * var(--pagefind-ui-scale)),100%);flex:1;display:flex;flex-direction:column;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__filter-group.svelte-1v2r7ls.svelte-1v2r7ls{border:0;padding:0}.pagefind-ui__filter-block.svelte-1v2r7ls.svelte-1v2r7ls{padding:0;display:block;border-bottom:solid calc(2px * var(--pagefind-ui-scale)) var(--pagefind-ui-border);padding:calc(20px * var(--pagefind-ui-scale)) 0}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls{font-size:calc(16px * var(--pagefind-ui-scale));position:relative;display:flex;align-items:center;list-style:none;font-weight:700;cursor:pointer;height:calc(24px * var(--pagefind-ui-scale))}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls::-webkit-details-marker{display:none}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls:after{position:absolute;content:"";right:calc(6px * var(--pagefind-ui-scale));top:50%;width:calc(8px * var(--pagefind-ui-scale));height:calc(8px * var(--pagefind-ui-scale));border:solid calc(2px * var(--pagefind-ui-scale)) currentColor;border-right:0;border-top:0;transform:translateY(-70%) rotate(-45deg)}.pagefind-ui__filter-block[open].svelte-1v2r7ls .pagefind-ui__filter-name.svelte-1v2r7ls:after{transform:translateY(-70%) rotate(-225deg)}.pagefind-ui__filter-group.svelte-1v2r7ls.svelte-1v2r7ls{display:flex;flex-direction:column;gap:calc(20px * var(--pagefind-ui-scale));padding-top:calc(30px * var(--pagefind-ui-scale))}.pagefind-ui__filter-value.svelte-1v2r7ls.svelte-1v2r7ls{position:relative;display:flex;align-items:center;gap:calc(8px * var(--pagefind-ui-scale))}.pagefind-ui__filter-value.svelte-1v2r7ls.svelte-1v2r7ls:before{position:absolute;content:"";top:50%;left:calc(8px * var(--pagefind-ui-scale));width:0px;height:0px;border:solid 1px #fff;opacity:0;transform:translate(calc(4.5px * var(--pagefind-ui-scale) * -1),calc(.8px * var(--pagefind-ui-scale))) skew(-5deg) rotate(-45deg);transform-origin:top left;border-top:0;border-right:0;pointer-events:none}.pagefind-ui__filter-value.pagefind-ui__filter-value--checked.svelte-1v2r7ls.svelte-1v2r7ls:before{opacity:1;width:calc(9px * var(--pagefind-ui-scale));height:calc(4px * var(--pagefind-ui-scale));transition:width .1s ease-out .1s,height .1s ease-in}.pagefind-ui__filter-checkbox.svelte-1v2r7ls.svelte-1v2r7ls{margin:0;width:calc(16px * var(--pagefind-ui-scale));height:calc(16px * var(--pagefind-ui-scale));border:solid 1px var(--pagefind-ui-border);appearance:none;-webkit-appearance:none;border-radius:calc(var(--pagefind-ui-border-radius) / 2);background-color:var(--pagefind-ui-background);cursor:pointer}.pagefind-ui__filter-checkbox.svelte-1v2r7ls.svelte-1v2r7ls:checked{background-color:var(--pagefind-ui-primary);border:solid 1px var(--pagefind-ui-primary)}.pagefind-ui__filter-label.svelte-1v2r7ls.svelte-1v2r7ls{cursor:pointer;font-size:calc(16px * var(--pagefind-ui-scale));font-weight:400}.pagefind-ui--reset *:where(:not(html,iframe,canvas,img,svg,video):not(svg *,symbol *)){all:unset;display:revert;outline:revert}.pagefind-ui--reset *,.pagefind-ui--reset *:before,.pagefind-ui--reset *:after{box-sizing:border-box}.pagefind-ui--reset a,.pagefind-ui--reset button{cursor:revert}.pagefind-ui--reset ol,.pagefind-ui--reset ul,.pagefind-ui--reset menu{list-style:none}.pagefind-ui--reset img{max-width:100%}.pagefind-ui--reset table{border-collapse:collapse}.pagefind-ui--reset input,.pagefind-ui--reset textarea{-webkit-user-select:auto}.pagefind-ui--reset textarea{white-space:revert}.pagefind-ui--reset meter{-webkit-appearance:revert;appearance:revert}.pagefind-ui--reset ::placeholder{color:unset}.pagefind-ui--reset :where([hidden]){display:none}.pagefind-ui--reset :where([contenteditable]:not([contenteditable="false"])){-moz-user-modify:read-write;-webkit-user-modify:read-write;overflow-wrap:break-word;-webkit-line-break:after-white-space;-webkit-user-select:auto}.pagefind-ui--reset :where([draggable="true"]){-webkit-user-drag:element}.pagefind-ui--reset mark{all:revert}:root{--pagefind-ui-scale:.8;--pagefind-ui-primary:#393939;--pagefind-ui-text:#393939;--pagefind-ui-background:#ffffff;--pagefind-ui-border:#eeeeee;--pagefind-ui-tag:#eeeeee;--pagefind-ui-border-width:2px;--pagefind-ui-border-radius:8px;--pagefind-ui-image-border-radius:8px;--pagefind-ui-image-box-ratio:3 / 2;--pagefind-ui-font:system, -apple-system, "BlinkMacSystemFont", ".SFNSText-Regular", "San Francisco", "Roboto", "Segoe UI", "Helvetica Neue", "Lucida Grande", "Ubuntu", "arial", sans-serif}.pagefind-ui.svelte-e9gkc3{width:100%;color:var(--pagefind-ui-text);font-family:var(--pagefind-ui-font)}.pagefind-ui__hidden.svelte-e9gkc3{display:none!important}.pagefind-ui__suppressed.svelte-e9gkc3{opacity:0;pointer-events:none}.pagefind-ui__form.svelte-e9gkc3{position:relative}.pagefind-ui__form.svelte-e9gkc3:before{background-color:var(--pagefind-ui-text);width:calc(18px * var(--pagefind-ui-scale));height:calc(18px * var(--pagefind-ui-scale));top:calc(23px * var(--pagefind-ui-scale));left:calc(20px * var(--pagefind-ui-scale));content:"";position:absolute;display:block;opacity:.7;-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A");-webkit-mask-size:100%;mask-size:100%;z-index:9;pointer-events:none}.pagefind-ui__search-input.svelte-e9gkc3{height:calc(64px * var(--pagefind-ui-scale));padding:0 calc(70px * var(--pagefind-ui-scale)) 0 calc(54px * var(--pagefind-ui-scale));background-color:var(--pagefind-ui-background);border:var(--pagefind-ui-border-width) solid var(--pagefind-ui-border);border-radius:var(--pagefind-ui-border-radius);font-size:calc(21px * var(--pagefind-ui-scale));position:relative;appearance:none;-webkit-appearance:none;display:flex;width:100%;box-sizing:border-box;font-weight:700}.pagefind-ui__search-input.svelte-e9gkc3::placeholder{opacity:.2}.pagefind-ui__search-clear.svelte-e9gkc3{position:absolute;top:calc(3px * var(--pagefind-ui-scale));right:calc(3px * var(--pagefind-ui-scale));height:calc(58px * var(--pagefind-ui-scale));padding:0 calc(15px * var(--pagefind-ui-scale)) 0 calc(2px * var(--pagefind-ui-scale));color:var(--pagefind-ui-text);font-size:calc(14px * var(--pagefind-ui-scale));cursor:pointer;background-color:var(--pagefind-ui-background);border-radius:var(--pagefind-ui-border-radius)}.pagefind-ui__drawer.svelte-e9gkc3{gap:calc(60px * var(--pagefind-ui-scale));display:flex;flex-direction:row;flex-wrap:wrap}.pagefind-ui__results-area.svelte-e9gkc3{min-width:min(calc(400px * var(--pagefind-ui-scale)),100%);flex:1000;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__results.svelte-e9gkc3{padding:0}.pagefind-ui__message.svelte-e9gkc3{box-sizing:content-box;font-size:calc(16px * var(--pagefind-ui-scale));height:calc(24px * var(--pagefind-ui-scale));padding:calc(20px * var(--pagefind-ui-scale)) 0;display:flex;align-items:center;font-weight:700;margin-top:0}.pagefind-ui__button.svelte-e9gkc3{margin-top:calc(40px * var(--pagefind-ui-scale));border:var(--pagefind-ui-border-width) solid var(--pagefind-ui-border);border-radius:var(--pagefind-ui-border-radius);height:calc(48px * var(--pagefind-ui-scale));padding:0 calc(12px * var(--pagefind-ui-scale));font-size:calc(16px * var(--pagefind-ui-scale));color:var(--pagefind-ui-primary);background:var(--pagefind-ui-background);width:100%;text-align:center;font-weight:700;cursor:pointer}.pagefind-ui__button.svelte-e9gkc3:hover{border-color:var(--pagefind-ui-primary);color:var(--pagefind-ui-primary);background:var(--pagefind-ui-background)}
diff --git a/pagefind/pagefind-ui.js b/pagefind/pagefind-ui.js
new file mode 100644
index 0000000..d88ad59
--- /dev/null
+++ b/pagefind/pagefind-ui.js
@@ -0,0 +1,2 @@
+(()=>{var Ms=Object.defineProperty;var y=(n,e)=>{for(var t in e)Ms(n,t,{get:e[t],enumerable:!0})};function z(){}function mt(n){return n()}function gn(){return Object.create(null)}function G(n){n.forEach(mt)}function nt(n){return typeof n=="function"}function K(n,e){return n!=n?e==e:n!==e||n&&typeof n=="object"||typeof n=="function"}var et;function ie(n,e){return et||(et=document.createElement("a")),et.href=e,n===et.href}function En(n){return Object.keys(n).length===0}var Rn=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global,de=class{constructor(e){this.options=e,this._listeners="WeakMap"in Rn?new WeakMap:void 0}observe(e,t){return this._listeners.set(e,t),this._getObserver().observe(e,this.options),()=>{this._listeners.delete(e),this._observer.unobserve(e)}}_getObserver(){var e;return(e=this._observer)!==null&&e!==void 0?e:this._observer=new ResizeObserver(t=>{var s;for(let r of t)de.entries.set(r.target,r),(s=this._listeners.get(r.target))===null||s===void 0||s(r)})}};de.entries="WeakMap"in Rn?new WeakMap:void 0;var bn=!1;function As(){bn=!0}function vs(){bn=!1}function b(n,e){n.appendChild(e)}function S(n,e,t){n.insertBefore(e,t||null)}function k(n){n.parentNode&&n.parentNode.removeChild(n)}function Q(n,e){for(let t=0;tn.removeEventListener(e,t,s)}function g(n,e,t){t==null?n.removeAttribute(e):n.getAttribute(e)!==t&&n.setAttribute(e,t)}function Hs(n){return Array.from(n.childNodes)}function N(n,e){e=""+e,n.data!==e&&(n.data=e)}function pt(n,e){n.value=e??""}function B(n,e,t){n.classList[t?"add":"remove"](e)}var st=class{constructor(e=!1){this.is_svg=!1,this.is_svg=e,this.e=this.n=null}c(e){this.h(e)}m(e,t,s=null){this.e||(this.is_svg?this.e=ws(t.nodeName):this.e=C(t.nodeType===11?"TEMPLATE":t.nodeName),this.t=t.tagName!=="TEMPLATE"?t:t.content,this.c(e)),this.i(s)}h(e){this.e.innerHTML=e,this.n=Array.from(this.e.nodeName==="TEMPLATE"?this.e.content.childNodes:this.e.childNodes)}i(e){for(let t=0;tn.indexOf(s)===-1?e.push(s):t.push(s)),t.forEach(s=>s()),re=e}var tt=new Set,ee;function ae(){ee={r:0,c:[],p:ee}}function oe(){ee.r||G(ee.c),ee=ee.p}function U(n,e){n&&n.i&&(tt.delete(n),n.i(e))}function P(n,e,t,s){if(n&&n.o){if(tt.has(n))return;tt.add(n),ee.c.push(()=>{tt.delete(n),s&&(t&&n.d(1),s())}),n.o(e)}else s&&s()}function Sn(n,e){P(n,1,1,()=>{e.delete(n.key)})}function yn(n,e,t,s,r,l,i,a,o,f,u,m){let p=n.length,h=l.length,_=p,c={};for(;_--;)c[n[_].key]=_;let d=[],T=new Map,R=new Map,M=[];for(_=h;_--;){let v=m(r,l,_),H=t(v),O=i.get(H);O?s&&M.push(()=>O.p(v,e)):(O=f(H,v),O.c()),T.set(H,d[_]=O),H in c&&R.set(H,Math.abs(_-c[H]))}let D=new Set,X=new Set;function V(v){U(v,1),v.m(a,u),i.set(v.key,v),u=v.first,h--}for(;p&&h;){let v=d[h-1],H=n[p-1],O=v.key,W=H.key;v===H?(u=v.first,p--,h--):T.has(W)?!i.has(O)||D.has(O)?V(v):X.has(W)?p--:R.get(O)>R.get(W)?(X.add(O),V(v)):(D.add(W),p--):(o(H,i),p--)}for(;p--;){let v=n[p];T.has(v.key)||o(v,i)}for(;h;)V(d[h-1]);return G(M),d}var zs=["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],Ua=new Set([...zs]);function Mn(n,e,t){let s=n.$$.props[e];s!==void 0&&(n.$$.bound[s]=t,t(n.$$.ctx[s]))}function rt(n){n&&n.c()}function me(n,e,t,s){let{fragment:r,after_update:l}=n.$$;r&&r.m(e,t),s||ht(()=>{let i=n.$$.on_mount.map(mt).filter(nt);n.$$.on_destroy?n.$$.on_destroy.push(...i):G(i),n.$$.on_mount=[]}),l.forEach(ht)}function ue(n,e){let t=n.$$;t.fragment!==null&&(js(t.after_update),G(t.on_destroy),t.fragment&&t.fragment.d(e),t.on_destroy=t.fragment=null,t.ctx=[])}function Us(n,e){n.$$.dirty[0]===-1&&(se.push(n),Ns(),n.$$.dirty.fill(0)),n.$$.dirty[e/31|0]|=1<{let _=h.length?h[0]:p;return f.ctx&&r(f.ctx[m],f.ctx[m]=_)&&(!f.skip_bound&&f.bound[m]&&f.bound[m](_),u&&Us(n,m)),p}):[],f.update(),u=!0,G(f.before_update),f.fragment=s?s(f.ctx):!1,e.target){if(e.hydrate){As();let m=Hs(e.target);f.fragment&&f.fragment.l(m),m.forEach(k)}else f.fragment&&f.fragment.c();e.intro&&U(n.$$.fragment),me(n,e.target,e.anchor,e.customElement),vs(),kn()}fe(o)}var Ds;typeof HTMLElement=="function"&&(Ds=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"})}connectedCallback(){let{on_mount:n}=this.$$;this.$$.on_disconnect=n.map(mt).filter(nt);for(let e in this.$$.slotted)this.appendChild(this.$$.slotted[e])}attributeChangedCallback(n,e,t){this[n]=t}disconnectedCallback(){G(this.$$.on_disconnect)}$destroy(){ue(this,1),this.$destroy=z}$on(n,e){if(!nt(e))return z;let t=this.$$.callbacks[n]||(this.$$.callbacks[n]=[]);return t.push(e),()=>{let s=t.indexOf(e);s!==-1&&t.splice(s,1)}}$set(n){this.$$set&&!En(n)&&(this.$$.skip_bound=!0,this.$$set(n),this.$$.skip_bound=!1)}});var q=class{$destroy(){ue(this,1),this.$destroy=z}$on(e,t){if(!nt(t))return z;let s=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return s.push(t),()=>{let r=s.indexOf(t);r!==-1&&s.splice(r,1)}}$set(e){this.$$set&&!En(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};function I(n){let e=typeof n=="string"?n.charCodeAt(0):n;return e>=97&&e<=122||e>=65&&e<=90}function $(n){let e=typeof n=="string"?n.charCodeAt(0):n;return e>=48&&e<=57}function Z(n){return I(n)||$(n)}var An=["art-lojban","cel-gaulish","no-bok","no-nyn","zh-guoyu","zh-hakka","zh-min","zh-min-nan","zh-xiang"];var Rt={"en-gb-oed":"en-GB-oxendict","i-ami":"ami","i-bnn":"bnn","i-default":null,"i-enochian":null,"i-hak":"hak","i-klingon":"tlh","i-lux":"lb","i-mingo":null,"i-navajo":"nv","i-pwn":"pwn","i-tao":"tao","i-tay":"tay","i-tsu":"tsu","sgn-be-fr":"sfb","sgn-be-nl":"vgt","sgn-ch-de":"sgg","art-lojban":"jbo","cel-gaulish":null,"no-bok":"nb","no-nyn":"nn","zh-guoyu":"cmn","zh-hakka":"hak","zh-min":null,"zh-min-nan":"nan","zh-xiang":"hsn"};var Is={}.hasOwnProperty;function lt(n,e={}){let t=vn(),s=String(n),r=s.toLowerCase(),l=0;if(n==null)throw new Error("Expected string, got `"+n+"`");if(Is.call(Rt,r)){let a=Rt[r];return(e.normalize===void 0||e.normalize===null||e.normalize)&&typeof a=="string"?lt(a):(t[An.includes(r)?"regular":"irregular"]=s,t)}for(;I(r.charCodeAt(l))&&l<9;)l++;if(l>1&&l<9){if(t.language=s.slice(0,l),l<4){let a=0;for(;r.charCodeAt(l)===45&&I(r.charCodeAt(l+1))&&I(r.charCodeAt(l+2))&&I(r.charCodeAt(l+3))&&!I(r.charCodeAt(l+4));){if(a>2)return i(l,3,"Too many extended language subtags, expected at most 3 subtags");t.extendedLanguageSubtags.push(s.slice(l+1,l+4)),l+=4,a++}}for(r.charCodeAt(l)===45&&I(r.charCodeAt(l+1))&&I(r.charCodeAt(l+2))&&I(r.charCodeAt(l+3))&&I(r.charCodeAt(l+4))&&!I(r.charCodeAt(l+5))&&(t.script=s.slice(l+1,l+5),l+=5),r.charCodeAt(l)===45&&(I(r.charCodeAt(l+1))&&I(r.charCodeAt(l+2))&&!I(r.charCodeAt(l+3))?(t.region=s.slice(l+1,l+3),l+=3):$(r.charCodeAt(l+1))&&$(r.charCodeAt(l+2))&&$(r.charCodeAt(l+3))&&!$(r.charCodeAt(l+4))&&(t.region=s.slice(l+1,l+4),l+=4));r.charCodeAt(l)===45;){let a=l+1,o=a;for(;Z(r.charCodeAt(o));){if(o-a>7)return i(o,1,"Too long variant, expected at most 8 characters");o++}if(o-a>4||o-a>3&&$(r.charCodeAt(a)))t.variants.push(s.slice(a,o)),l=o;else break}for(;r.charCodeAt(l)===45&&!(r.charCodeAt(l+1)===120||!Z(r.charCodeAt(l+1))||r.charCodeAt(l+2)!==45||!Z(r.charCodeAt(l+3)));){let a=l+2,o=0;for(;r.charCodeAt(a)===45&&Z(r.charCodeAt(a+1))&&Z(r.charCodeAt(a+2));){let f=a+1;for(a=f+2,o++;Z(r.charCodeAt(a));){if(a-f>7)return i(a,2,"Too long extension, expected at most 8 characters");a++}}if(!o)return i(a,4,"Empty extension, extensions must have at least 2 characters of content");t.extensions.push({singleton:s.charAt(l+1),extensions:s.slice(l+3,a).split("-")}),l=a}}else l=0;if(l===0&&r.charCodeAt(l)===120||r.charCodeAt(l)===45&&r.charCodeAt(l+1)===120){l=l?l+2:1;let a=l;for(;r.charCodeAt(a)===45&&Z(r.charCodeAt(a+1));){let o=l+1;for(a=o;Z(r.charCodeAt(a));){if(a-o>7)return i(a,5,"Too long private-use area, expected at most 8 characters");a++}t.privateuse.push(s.slice(l+1,a)),l=a}}if(l!==s.length)return i(l,6,"Found superfluous content after tag");return t;function i(a,o,f){return e.warning&&e.warning(f,o,a),e.forgiving?t:vn()}}function vn(){return{language:null,extendedLanguageSubtags:[],script:null,region:null,variants:[],extensions:[],privateuse:[],irregular:null,regular:null}}function wn(n,e,t){let s=n.slice();return s[8]=e[t][0],s[9]=e[t][1],s}function Ps(n){let e,t,s,r,l,i=n[0]&&Hn(n);return{c(){i&&i.c(),e=A(),t=C("div"),s=C("p"),s.textContent=`${n[3](30)}`,r=A(),l=C("p"),l.textContent=`${n[3](40)}`,g(s,"class","pagefind-ui__result-title pagefind-ui__loading svelte-j9e30"),g(l,"class","pagefind-ui__result-excerpt pagefind-ui__loading svelte-j9e30"),g(t,"class","pagefind-ui__result-inner svelte-j9e30")},m(a,o){i&&i.m(a,o),S(a,e,o),S(a,t,o),b(t,s),b(t,r),b(t,l)},p(a,o){a[0]?i||(i=Hn(a),i.c(),i.m(e.parentNode,e)):i&&(i.d(1),i=null)},d(a){i&&i.d(a),a&&k(e),a&&k(t)}}}function Ls(n){let e,t,s,r,l=n[1].meta?.title+"",i,a,o,f,u=n[1].excerpt+"",m,p=n[0]&&Fn(n),h=n[2].length&&On(n);return{c(){p&&p.c(),e=A(),t=C("div"),s=C("p"),r=C("a"),i=w(l),o=A(),f=C("p"),m=A(),h&&h.c(),g(r,"class","pagefind-ui__result-link svelte-j9e30"),g(r,"href",a=n[1].meta?.url||n[1].url),g(s,"class","pagefind-ui__result-title svelte-j9e30"),g(f,"class","pagefind-ui__result-excerpt svelte-j9e30"),g(t,"class","pagefind-ui__result-inner svelte-j9e30")},m(_,c){p&&p.m(_,c),S(_,e,c),S(_,t,c),b(t,s),b(s,r),b(r,i),b(t,o),b(t,f),f.innerHTML=u,b(t,m),h&&h.m(t,null)},p(_,c){_[0]?p?p.p(_,c):(p=Fn(_),p.c(),p.m(e.parentNode,e)):p&&(p.d(1),p=null),c&2&&l!==(l=_[1].meta?.title+"")&&N(i,l),c&2&&a!==(a=_[1].meta?.url||_[1].url)&&g(r,"href",a),c&2&&u!==(u=_[1].excerpt+"")&&(f.innerHTML=u),_[2].length?h?h.p(_,c):(h=On(_),h.c(),h.m(t,null)):h&&(h.d(1),h=null)},d(_){p&&p.d(_),_&&k(e),_&&k(t),h&&h.d()}}}function Hn(n){let e;return{c(){e=C("div"),g(e,"class","pagefind-ui__result-thumb pagefind-ui__loading svelte-j9e30")},m(t,s){S(t,e,s)},d(t){t&&k(e)}}}function Fn(n){let e,t=n[1].meta.image&&Nn(n);return{c(){e=C("div"),t&&t.c(),g(e,"class","pagefind-ui__result-thumb svelte-j9e30")},m(s,r){S(s,e,r),t&&t.m(e,null)},p(s,r){s[1].meta.image?t?t.p(s,r):(t=Nn(s),t.c(),t.m(e,null)):t&&(t.d(1),t=null)},d(s){s&&k(e),t&&t.d()}}}function Nn(n){let e,t,s;return{c(){e=C("img"),g(e,"class","pagefind-ui__result-image svelte-j9e30"),ie(e.src,t=n[1].meta?.image)||g(e,"src",t),g(e,"alt",s=n[1].meta?.image_alt||n[1].meta?.title)},m(r,l){S(r,e,l)},p(r,l){l&2&&!ie(e.src,t=r[1].meta?.image)&&g(e,"src",t),l&2&&s!==(s=r[1].meta?.image_alt||r[1].meta?.title)&&g(e,"alt",s)},d(r){r&&k(e)}}}function On(n){let e,t=n[2],s=[];for(let r=0;rn.toLocaleUpperCase();function Bs(n,e,t){let{show_images:s=!0}=e,{process_result:r=null}=e,{result:l={data:async()=>{}}}=e,i=["title","image","image_alt","url"],a,o=[],f=async m=>{t(1,a=await m.data()),t(1,a=r?.(a)??a),t(2,o=Object.entries(a.meta).filter(([p])=>!i.includes(p)))},u=(m=30)=>". ".repeat(Math.floor(10+Math.random()*m));return n.$$set=m=>{"show_images"in m&&t(0,s=m.show_images),"process_result"in m&&t(4,r=m.process_result),"result"in m&&t(5,l=m.result)},n.$$.update=()=>{if(n.$$.dirty&32)e:f(l)},[s,a,o,u,r,l]}var bt=class extends q{constructor(e){super(),Y(this,e,Bs,qs,K,{show_images:0,process_result:4,result:5})}},Un=bt;function Dn(n,e,t){let s=n.slice();return s[11]=e[t][0],s[12]=e[t][1],s}function In(n,e,t){let s=n.slice();return s[15]=e[t],s}function Vs(n){let e,t,s,r,l,i=n[0]&&Pn(n);return{c(){i&&i.c(),e=A(),t=C("div"),s=C("p"),s.textContent=`${n[5](30)}`,r=A(),l=C("p"),l.textContent=`${n[5](40)}`,g(s,"class","pagefind-ui__result-title pagefind-ui__loading svelte-4xnkmf"),g(l,"class","pagefind-ui__result-excerpt pagefind-ui__loading svelte-4xnkmf"),g(t,"class","pagefind-ui__result-inner svelte-4xnkmf")},m(a,o){i&&i.m(a,o),S(a,e,o),S(a,t,o),b(t,s),b(t,r),b(t,l)},p(a,o){a[0]?i||(i=Pn(a),i.c(),i.m(e.parentNode,e)):i&&(i.d(1),i=null)},d(a){i&&i.d(a),a&&k(e),a&&k(t)}}}function Ws(n){let e,t,s,r,l=n[1].meta?.title+"",i,a,o,f,u,m=n[0]&&Ln(n),p=n[4]&&Bn(n),h=n[3],_=[];for(let d=0;dn.toLocaleUpperCase();function Ks(n,e,t){let{show_images:s=!0}=e,{process_result:r=null}=e,{result:l={data:async()=>{}}}=e,i=["title","image","image_alt","url"],a,o=[],f=[],u=!1,m=(_,c)=>{if(_.length<=c)return _;let d=[..._].sort((T,R)=>R.locations.length-T.locations.length).slice(0,3).map(T=>T.url);return _.filter(T=>d.includes(T.url))},p=async _=>{t(1,a=await _.data()),t(1,a=r?.(a)??a),t(2,o=Object.entries(a.meta).filter(([c])=>!i.includes(c))),Array.isArray(a.sub_results)&&(t(4,u=a.sub_results?.[0]?.url===(a.meta?.url||a.url)),u?t(3,f=m(a.sub_results.slice(1),3)):t(3,f=m([...a.sub_results],3)))},h=(_=30)=>". ".repeat(Math.floor(10+Math.random()*_));return n.$$set=_=>{"show_images"in _&&t(0,s=_.show_images),"process_result"in _&&t(6,r=_.process_result),"result"in _&&t(7,l=_.result)},n.$$.update=()=>{if(n.$$.dirty&128)e:p(l)},[s,a,o,f,u,h,r,l]}var Tt=class extends q{constructor(e){super(),Y(this,e,Ks,Gs,K,{show_images:0,process_result:6,result:7})}},Jn=Tt;function Yn(n,e,t){let s=n.slice();return s[10]=e[t][0],s[11]=e[t][1],s[12]=e,s[13]=t,s}function Zn(n,e,t){let s=n.slice();return s[14]=e[t][0],s[15]=e[t][1],s[16]=e,s[17]=t,s}function Xn(n){let e,t,s=n[4]("filters_label",n[5],n[6])+"",r,l,i=Object.entries(n[1]),a=[];for(let o=0;on.toLocaleUpperCase(),ts=n=>n.toLowerCase();function Ys(n,e,t){let{available_filters:s=null}=e,{show_empty_filters:r=!0}=e,{open_filters:l=[]}=e,{translate:i=()=>""}=e,{automatic_translations:a={}}=e,{translations:o={}}=e,{selected_filters:f={}}=e,u=!1,m=!1;function p(h,_){f[`${h}:${_}`]=this.checked,t(0,f)}return n.$$set=h=>{"available_filters"in h&&t(1,s=h.available_filters),"show_empty_filters"in h&&t(2,r=h.show_empty_filters),"open_filters"in h&&t(3,l=h.open_filters),"translate"in h&&t(4,i=h.translate),"automatic_translations"in h&&t(5,a=h.automatic_translations),"translations"in h&&t(6,o=h.translations),"selected_filters"in h&&t(0,f=h.selected_filters)},n.$$.update=()=>{if(n.$$.dirty&258){e:if(s&&!u){t(8,u=!0);let h=Object.entries(s||{});h.length===1&&Object.entries(h[0][1])?.length<=6&&t(7,m=!0)}}},[f,s,r,l,i,a,o,m,u,p]}var Ct=class extends q{constructor(e){super(),Y(this,e,Ys,Js,K,{available_filters:1,show_empty_filters:2,open_filters:3,translate:4,automatic_translations:5,translations:6,selected_filters:0})}},ns=Ct;var kt={};y(kt,{comments:()=>Xs,default:()=>$s,direction:()=>Qs,strings:()=>xs,thanks_to:()=>Zs});var Zs="Jan Claasen ",Xs="",Qs="ltr",xs={placeholder:"Soek",clear_search:"Opruim",load_more:"Laai nog resultate",search_label:"Soek hierdie webwerf",filters_label:"Filters",zero_results:"Geen resultate vir [SEARCH_TERM]",many_results:"[COUNT] resultate vir [SEARCH_TERM]",one_result:"[COUNT] resultate vir [SEARCH_TERM]",alt_search:"Geen resultate vir [SEARCH_TERM]. Toon resultate vir [DIFFERENT_TERM] in plaas daarvan",search_suggestion:"Geen resultate vir [SEARCH_TERM]. Probeer eerder een van die volgende terme:",searching:"Soek vir [SEARCH_TERM]"},$s={thanks_to:Zs,comments:Xs,direction:Qs,strings:xs};var St={};y(St,{comments:()=>tr,default:()=>rr,direction:()=>nr,strings:()=>sr,thanks_to:()=>er});var er="Jermanuts",tr="",nr="rtl",sr={placeholder:"\u0628\u062D\u062B",clear_search:"\u0627\u0645\u0633\u062D",load_more:"\u062D\u0645\u0651\u0650\u0644 \u0627\u0644\u0645\u0632\u064A\u062F \u0645\u0646 \u0627\u0644\u0646\u062A\u0627\u0626\u062C",search_label:"\u0627\u0628\u062D\u062B \u0641\u064A \u0647\u0630\u0627 \u0627\u0644\u0645\u0648\u0642\u0639",filters_label:"\u062A\u0635\u0641\u064A\u0627\u062A",zero_results:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0646\u062A\u0627\u0626\u062C \u0644 [SEARCH_TERM]",many_results:"[COUNT] \u0646\u062A\u0627\u0626\u062C \u0644 [SEARCH_TERM]",one_result:"[COUNT] \u0646\u062A\u064A\u062C\u0629 \u0644 [SEARCH_TERM]",alt_search:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0646\u062A\u0627\u0626\u062C \u0644 [SEARCH_TERM]. \u064A\u0639\u0631\u0636 \u0627\u0644\u0646\u062A\u0627\u0626\u062C \u0644 [DIFFERENT_TERM] \u0628\u062F\u0644\u0627\u064B \u0645\u0646 \u0630\u0644\u0643",search_suggestion:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0646\u062A\u0627\u0626\u062C \u0644 [SEARCH_TERM]. \u062C\u0631\u0628 \u0623\u062D\u062F \u0639\u0645\u0644\u064A\u0627\u062A \u0627\u0644\u0628\u062D\u062B \u0627\u0644\u062A\u0627\u0644\u064A\u0629:",searching:"\u064A\u0628\u062D\u062B \u0639\u0646 [SEARCH_TERM]..."},rr={thanks_to:er,comments:tr,direction:nr,strings:sr};var yt={};y(yt,{comments:()=>ir,default:()=>ur,direction:()=>ar,strings:()=>or,thanks_to:()=>lr});var lr="Maruf Alom ",ir="",ar="ltr",or={placeholder:"\u0985\u09A8\u09C1\u09B8\u09A8\u09CD\u09A7\u09BE\u09A8 \u0995\u09B0\u09C1\u09A8",clear_search:"\u09AE\u09C1\u099B\u09C7 \u09AB\u09C7\u09B2\u09C1\u09A8",load_more:"\u0986\u09B0\u09CB \u09AB\u09B2\u09BE\u09AB\u09B2 \u09A6\u09C7\u0996\u09C1\u09A8",search_label:"\u098F\u0987 \u0993\u09DF\u09C7\u09AC\u09B8\u09BE\u0987\u099F\u09C7 \u0985\u09A8\u09C1\u09B8\u09A8\u09CD\u09A7\u09BE\u09A8 \u0995\u09B0\u09C1\u09A8",filters_label:"\u09AB\u09BF\u09B2\u09CD\u099F\u09BE\u09B0",zero_results:"[SEARCH_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF \u0995\u09BF\u099B\u09C1 \u0996\u09C1\u0981\u099C\u09C7 \u09AA\u09BE\u0993\u09DF\u09BE \u09AF\u09BE\u09DF\u09A8\u09BF",many_results:"[COUNT]-\u099F\u09BF \u09AB\u09B2\u09BE\u09AB\u09B2 \u09AA\u09BE\u0993\u09DF\u09BE \u0997\u09BF\u09DF\u09C7\u099B\u09C7 [SEARCH_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF",one_result:"[COUNT]-\u099F\u09BF \u09AB\u09B2\u09BE\u09AB\u09B2 \u09AA\u09BE\u0993\u09DF\u09BE \u0997\u09BF\u09DF\u09C7\u099B\u09C7 [SEARCH_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF",alt_search:"\u0995\u09CB\u09A8 \u0995\u09BF\u099B\u09C1 \u0996\u09C1\u0981\u099C\u09C7 \u09AA\u09BE\u0993\u09DF\u09BE \u09AF\u09BE\u09DF\u09A8\u09BF [SEARCH_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF. \u09AA\u09B0\u09BF\u09AC\u09B0\u09CD\u09A4\u09C7 [DIFFERENT_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF \u09A6\u09C7\u0996\u09BE\u09A8\u09CB \u09B9\u099A\u09CD\u099B\u09C7",search_suggestion:"\u0995\u09CB\u09A8 \u0995\u09BF\u099B\u09C1 \u0996\u09C1\u0981\u099C\u09C7 \u09AA\u09BE\u0993\u09DF\u09BE \u09AF\u09BE\u09DF\u09A8\u09BF [SEARCH_TERM] \u098F\u09B0 \u09AC\u09BF\u09B7\u09DF\u09C7. \u09A8\u09BF\u09A8\u09CD\u09AE\u09C7\u09B0 \u09AC\u09BF\u09B7\u09DF\u09AC\u09B8\u09CD\u09A4\u09C1 \u0996\u09C1\u0981\u099C\u09C7 \u09A6\u09C7\u0996\u09C1\u09A8:",searching:"\u0985\u09A8\u09C1\u09B8\u09A8\u09CD\u09A7\u09BE\u09A8 \u099A\u09B2\u099B\u09C7 [SEARCH_TERM]..."},ur={thanks_to:lr,comments:ir,direction:ar,strings:or};var Mt={};y(Mt,{comments:()=>_r,default:()=>hr,direction:()=>fr,strings:()=>dr,thanks_to:()=>cr});var cr="Pablo Villaverde ",_r="",fr="ltr",dr={placeholder:"Cerca",clear_search:"Netejar",load_more:"Veure m\xE9s resultats",search_label:"Cerca en aquest lloc",filters_label:"Filtres",zero_results:"No es van trobar resultats per [SEARCH_TERM]",many_results:"[COUNT] resultats trobats per [SEARCH_TERM]",one_result:"[COUNT] resultat trobat per [SEARCH_TERM]",alt_search:"No es van trobar resultats per [SEARCH_TERM]. Mostrant al seu lloc resultats per [DIFFERENT_TERM]",search_suggestion:"No es van trobar resultats per [SEARCH_TERM]. Proveu una de les cerques seg\xFCents:",searching:"Cercant [SEARCH_TERM]..."},hr={thanks_to:cr,comments:_r,direction:fr,strings:dr};var At={};y(At,{comments:()=>pr,default:()=>Rr,direction:()=>gr,strings:()=>Er,thanks_to:()=>mr});var mr="Dalibor Hon ",pr="",gr="ltr",Er={placeholder:"Hledat",clear_search:"Smazat",load_more:"Na\u010D\xEDst dal\u0161\xED v\xFDsledky",search_label:"Prohledat tuto str\xE1nku",filters_label:"Filtry",zero_results:"\u017D\xE1dn\xE9 v\xFDsledky pro [SEARCH_TERM]",many_results:"[COUNT] v\xFDsledk\u016F pro [SEARCH_TERM]",one_result:"[COUNT] v\xFDsledek pro [SEARCH_TERM]",alt_search:"\u017D\xE1dn\xE9 v\xFDsledky pro [SEARCH_TERM]. Zobrazuj\xED se v\xFDsledky pro [DIFFERENT_TERM]",search_suggestion:"\u017D\xE1dn\xE9 v\xFDsledky pro [SEARCH_TERM]. Souvisej\xEDc\xED v\xFDsledky hled\xE1n\xED:",searching:"Hled\xE1m [SEARCH_TERM]..."},Rr={thanks_to:mr,comments:pr,direction:gr,strings:Er};var vt={};y(vt,{comments:()=>Tr,default:()=>Sr,direction:()=>Cr,strings:()=>kr,thanks_to:()=>br});var br="Jonas Smedegaard ",Tr="",Cr="ltr",kr={placeholder:"S\xF8g",clear_search:"Nulstil",load_more:"Indl\xE6s flere resultater",search_label:"S\xF8g p\xE5 dette website",filters_label:"Filtre",zero_results:"Ingen resultater for [SEARCH_TERM]",many_results:"[COUNT] resultater for [SEARCH_TERM]",one_result:"[COUNT] resultat for [SEARCH_TERM]",alt_search:"Ingen resultater for [SEARCH_TERM]. Viser resultater for [DIFFERENT_TERM] i stedet",search_suggestion:"Ingen resultater for [SEARCH_TERM]. Pr\xF8v et af disse s\xF8geord i stedet:",searching:"S\xF8ger efter [SEARCH_TERM]..."},Sr={thanks_to:br,comments:Tr,direction:Cr,strings:kr};var wt={};y(wt,{comments:()=>Mr,default:()=>wr,direction:()=>Ar,strings:()=>vr,thanks_to:()=>yr});var yr="Jan Claasen ",Mr="",Ar="ltr",vr={placeholder:"Suche",clear_search:"L\xF6schen",load_more:"Mehr Ergebnisse laden",search_label:"Suche diese Seite",filters_label:"Filter",zero_results:"Keine Ergebnisse f\xFCr [SEARCH_TERM]",many_results:"[COUNT] Ergebnisse f\xFCr [SEARCH_TERM]",one_result:"[COUNT] Ergebnis f\xFCr [SEARCH_TERM]",alt_search:"Keine Ergebnisse f\xFCr [SEARCH_TERM]. Stattdessen werden Ergebnisse f\xFCr [DIFFERENT_TERM] angezeigt",search_suggestion:"Keine Ergebnisse f\xFCr [SEARCH_TERM]. Versuchen Sie eine der folgenden Suchen:",searching:"Suche f\xFCr [SEARCH_TERM]"},wr={thanks_to:yr,comments:Mr,direction:Ar,strings:vr};var Ht={};y(Ht,{comments:()=>Fr,default:()=>jr,direction:()=>Nr,strings:()=>Or,thanks_to:()=>Hr});var Hr="Liam Bigelow ",Fr="",Nr="ltr",Or={placeholder:"Search",clear_search:"Clear",load_more:"Load more results",search_label:"Search this site",filters_label:"Filters",zero_results:"No results for [SEARCH_TERM]",many_results:"[COUNT] results for [SEARCH_TERM]",one_result:"[COUNT] result for [SEARCH_TERM]",alt_search:"No results for [SEARCH_TERM]. Showing results for [DIFFERENT_TERM] instead",search_suggestion:"No results for [SEARCH_TERM]. Try one of the following searches:",searching:"Searching for [SEARCH_TERM]..."},jr={thanks_to:Hr,comments:Fr,direction:Nr,strings:Or};var Ft={};y(Ft,{comments:()=>Ur,default:()=>Pr,direction:()=>Dr,strings:()=>Ir,thanks_to:()=>zr});var zr="Pablo Villaverde ",Ur="",Dr="ltr",Ir={placeholder:"Buscar",clear_search:"Limpiar",load_more:"Ver m\xE1s resultados",search_label:"Buscar en este sitio",filters_label:"Filtros",zero_results:"No se encontraron resultados para [SEARCH_TERM]",many_results:"[COUNT] resultados encontrados para [SEARCH_TERM]",one_result:"[COUNT] resultado encontrado para [SEARCH_TERM]",alt_search:"No se encontraron resultados para [SEARCH_TERM]. Mostrando en su lugar resultados para [DIFFERENT_TERM]",search_suggestion:"No se encontraron resultados para [SEARCH_TERM]. Prueba una de las siguientes b\xFAsquedas:",searching:"Buscando [SEARCH_TERM]..."},Pr={thanks_to:zr,comments:Ur,direction:Dr,strings:Ir};var Nt={};y(Nt,{comments:()=>qr,default:()=>Wr,direction:()=>Br,strings:()=>Vr,thanks_to:()=>Lr});var Lr="Ali Khaleqi Yekta ",qr="",Br="rtl",Vr={placeholder:"\u062C\u0633\u062A\u062C\u0648",clear_search:"\u067E\u0627\u06A9\u0633\u0627\u0632\u06CC",load_more:"\u0628\u0627\u0631\u06AF\u0630\u0627\u0631\u06CC \u0646\u062A\u0627\u06CC\u062C \u0628\u06CC\u0634\u062A\u0631",search_label:"\u062C\u0633\u062A\u062C\u0648 \u062F\u0631 \u0633\u0627\u06CC\u062A",filters_label:"\u0641\u06CC\u0644\u062A\u0631\u0647\u0627",zero_results:"\u0646\u062A\u06CC\u062C\u0647\u200C\u0627\u06CC \u0628\u0631\u0627\u06CC [SEARCH_TERM] \u06CC\u0627\u0641\u062A \u0646\u0634\u062F",many_results:"[COUNT] \u0646\u062A\u06CC\u062C\u0647 \u0628\u0631\u0627\u06CC [SEARCH_TERM] \u06CC\u0627\u0641\u062A \u0634\u062F",one_result:"[COUNT] \u0646\u062A\u06CC\u062C\u0647 \u0628\u0631\u0627\u06CC [SEARCH_TERM] \u06CC\u0627\u0641\u062A \u0634\u062F",alt_search:"\u0646\u062A\u06CC\u062C\u0647\u200C\u0627\u06CC \u0628\u0631\u0627\u06CC [SEARCH_TERM] \u06CC\u0627\u0641\u062A \u0646\u0634\u062F. \u062F\u0631 \u0639\u0648\u0636 \u0646\u062A\u0627\u06CC\u062C \u0628\u0631\u0627\u06CC [DIFFERENT_TERM] \u0646\u0645\u0627\u06CC\u0634 \u062F\u0627\u062F\u0647 \u0645\u06CC\u200C\u0634\u0648\u062F",search_suggestion:"\u0646\u062A\u06CC\u062C\u0647\u200C\u0627\u06CC \u0628\u0631\u0627\u06CC [SEARCH_TERM] \u06CC\u0627\u0641\u062A \u0646\u0634\u062F. \u06CC\u06A9\u06CC \u0627\u0632 \u062C\u0633\u062A\u062C\u0648\u0647\u0627\u06CC \u0632\u06CC\u0631 \u0631\u0627 \u0627\u0645\u062A\u062D\u0627\u0646 \u06A9\u0646\u06CC\u062F:",searching:"\u062F\u0631 \u062D\u0627\u0644 \u062C\u0633\u062A\u062C\u0648\u06CC [SEARCH_TERM]..."},Wr={thanks_to:Lr,comments:qr,direction:Br,strings:Vr};var Ot={};y(Ot,{comments:()=>Kr,default:()=>Zr,direction:()=>Jr,strings:()=>Yr,thanks_to:()=>Gr});var Gr="Valtteri Laitinen ",Kr="",Jr="ltr",Yr={placeholder:"Haku",clear_search:"Tyhjenn\xE4",load_more:"Lataa lis\xE4\xE4 tuloksia",search_label:"Hae t\xE4lt\xE4 sivustolta",filters_label:"Suodattimet",zero_results:"Ei tuloksia haulle [SEARCH_TERM]",many_results:"[COUNT] tulosta haulle [SEARCH_TERM]",one_result:"[COUNT] tulos haulle [SEARCH_TERM]",alt_search:"Ei tuloksia haulle [SEARCH_TERM]. N\xE4ytet\xE4\xE4n tulokset sen sijaan haulle [DIFFERENT_TERM]",search_suggestion:"Ei tuloksia haulle [SEARCH_TERM]. Kokeile jotain seuraavista:",searching:"Haetaan [SEARCH_TERM]..."},Zr={thanks_to:Gr,comments:Kr,direction:Jr,strings:Yr};var jt={};y(jt,{comments:()=>Qr,default:()=>el,direction:()=>xr,strings:()=>$r,thanks_to:()=>Xr});var Xr="Nicolas Friedli ",Qr="",xr="ltr",$r={placeholder:"Rechercher",clear_search:"Nettoyer",load_more:"Charger plus de r\xE9sultats",search_label:"Recherche sur ce site",filters_label:"Filtres",zero_results:"Pas de r\xE9sultat pour [SEARCH_TERM]",many_results:"[COUNT] r\xE9sultats pour [SEARCH_TERM]",one_result:"[COUNT] r\xE9sultat pour [SEARCH_TERM]",alt_search:"Pas de r\xE9sultat pour [SEARCH_TERM]. Montre les r\xE9sultats pour [DIFFERENT_TERM] \xE0 la place",search_suggestion:"Pas de r\xE9sultat pour [SEARCH_TERM]. Essayer une des recherches suivantes:",searching:"Recherche [SEARCH_TERM]..."},el={thanks_to:Xr,comments:Qr,direction:xr,strings:$r};var zt={};y(zt,{comments:()=>nl,default:()=>ll,direction:()=>sl,strings:()=>rl,thanks_to:()=>tl});var tl="Pablo Villaverde ",nl="",sl="ltr",rl={placeholder:"Buscar",clear_search:"Limpar",load_more:"Ver m\xE1is resultados",search_label:"Buscar neste sitio",filters_label:"Filtros",zero_results:"Non se atoparon resultados para [SEARCH_TERM]",many_results:"[COUNT] resultados atopados para [SEARCH_TERM]",one_result:"[COUNT] resultado atopado para [SEARCH_TERM]",alt_search:"Non se atoparon resultados para [SEARCH_TERM]. Amosando no seu lugar resultados para [DIFFERENT_TERM]",search_suggestion:"Non se atoparon resultados para [SEARCH_TERM]. Probe unha das seguintes pesquisas:",searching:"Buscando [SEARCH_TERM]..."},ll={thanks_to:tl,comments:nl,direction:sl,strings:rl};var Ut={};y(Ut,{comments:()=>al,default:()=>cl,direction:()=>ol,strings:()=>ul,thanks_to:()=>il});var il="Nir Tamir ",al="",ol="rtl",ul={placeholder:"\u05D7\u05D9\u05E4\u05D5\u05E9",clear_search:"\u05E0\u05D9\u05E7\u05D5\u05D9",load_more:"\u05E2\u05D5\u05D3 \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA",search_label:"\u05D7\u05D9\u05E4\u05D5\u05E9 \u05D1\u05D0\u05EA\u05E8 \u05D6\u05D4",filters_label:"\u05DE\u05E1\u05E0\u05E0\u05D9\u05DD",zero_results:"\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0\u05D5 \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA \u05E2\u05D1\u05D5\u05E8 [SEARCH_TERM]",many_results:"\u05E0\u05DE\u05E6\u05D0\u05D5 [COUNT] \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA \u05E2\u05D1\u05D5\u05E8 [SEARCH_TERM]",one_result:"\u05E0\u05DE\u05E6\u05D0\u05D4 \u05EA\u05D5\u05E6\u05D0\u05D4 \u05D0\u05D7\u05EA \u05E2\u05D1\u05D5\u05E8 [SEARCH_TERM]",alt_search:"\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0\u05D5 \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA \u05E2\u05D1\u05D5\u05E8 [SEARCH_TERM]. \u05DE\u05D5\u05E6\u05D2\u05D5\u05EA \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA \u05E2\u05D1\u05D5\u05E8 [DIFFERENT_TERM]",search_suggestion:"\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0\u05D5 \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA \u05E2\u05D1\u05D5\u05E8 [SEARCH_TERM]. \u05E0\u05E1\u05D5 \u05D0\u05D7\u05D3 \u05DE\u05D4\u05D7\u05D9\u05E4\u05D5\u05E9\u05D9\u05DD \u05D4\u05D1\u05D0\u05D9\u05DD:",searching:"\u05DE\u05D7\u05E4\u05E9 \u05D0\u05EA [SEARCH_TERM]..."},cl={thanks_to:il,comments:al,direction:ol,strings:ul};var Dt={};y(Dt,{comments:()=>fl,default:()=>ml,direction:()=>dl,strings:()=>hl,thanks_to:()=>_l});var _l="Amit Yadav ",fl="",dl="ltr",hl={placeholder:"\u0916\u094B\u091C\u0947\u0902",clear_search:"\u0938\u093E\u092B \u0915\u0930\u0947\u0902",load_more:"\u0914\u0930 \u0905\u0927\u093F\u0915 \u092A\u0930\u093F\u0923\u093E\u092E \u0932\u094B\u0921 \u0915\u0930\u0947\u0902",search_label:"\u0907\u0938 \u0938\u093E\u0907\u091F \u092E\u0947\u0902 \u0916\u094B\u091C\u0947\u0902",filters_label:"\u092B\u093C\u093F\u0932\u094D\u091F\u0930",zero_results:"\u0915\u094B\u0908 \u092A\u0930\u093F\u0923\u093E\u092E [SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u093E",many_results:"[COUNT] \u092A\u0930\u093F\u0923\u093E\u092E [SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u092E\u093F\u0932\u0947",one_result:"[COUNT] \u092A\u0930\u093F\u0923\u093E\u092E [SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u092E\u093F\u0932\u093E",alt_search:"[SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u0915\u094B\u0908 \u092A\u0930\u093F\u0923\u093E\u092E \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u093E\u0964 \u0907\u0938\u0915\u0947 \u092C\u091C\u093E\u092F [DIFFERENT_TERM] \u0915\u0947 \u0932\u093F\u090F \u092A\u0930\u093F\u0923\u093E\u092E \u0926\u093F\u0916\u093E \u0930\u0939\u093E \u0939\u0948",search_suggestion:"[SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u0915\u094B\u0908 \u092A\u0930\u093F\u0923\u093E\u092E \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u093E\u0964 \u0928\u093F\u092E\u094D\u0928\u0932\u093F\u0916\u093F\u0924 \u0916\u094B\u091C\u094B\u0902 \u092E\u0947\u0902 \u0938\u0947 \u0915\u094B\u0908 \u090F\u0915 \u0906\u091C\u093C\u092E\u093E\u090F\u0902:",searching:"[SEARCH_TERM] \u0915\u0940 \u0916\u094B\u091C \u0915\u0940 \u091C\u093E \u0930\u0939\u0940 \u0939\u0948..."},ml={thanks_to:_l,comments:fl,direction:dl,strings:hl};var It={};y(It,{comments:()=>gl,default:()=>bl,direction:()=>El,strings:()=>Rl,thanks_to:()=>pl});var pl="Diomed ",gl="",El="ltr",Rl={placeholder:"Tra\u017Ei",clear_search:"O\u010Disti",load_more:"U\u010Ditaj vi\u0161e rezultata",search_label:"Pretra\u017Ei ovu stranicu",filters_label:"Filteri",zero_results:"Nema rezultata za [SEARCH_TERM]",many_results:"[COUNT] rezultata za [SEARCH_TERM]",one_result:"[COUNT] rezultat za [SEARCH_TERM]",alt_search:"Nema rezultata za [SEARCH_TERM]. Prikazujem rezultate za [DIFFERENT_TERM]",search_suggestion:"Nema rezultata za [SEARCH_TERM]. Poku\u0161aj s jednom od ovih pretraga:",searching:"Pretra\u017Eujem [SEARCH_TERM]..."},bl={thanks_to:pl,comments:gl,direction:El,strings:Rl};var Pt={};y(Pt,{comments:()=>Cl,default:()=>yl,direction:()=>kl,strings:()=>Sl,thanks_to:()=>Tl});var Tl="Adam Laki ",Cl="",kl="ltr",Sl={placeholder:"Keres\xE9s",clear_search:"T\xF6rl\xE9s",load_more:"Tov\xE1bbi tal\xE1latok bet\xF6lt\xE9se",search_label:"Keres\xE9s az oldalon",filters_label:"Sz\u0171r\xE9s",zero_results:"Nincs tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre",many_results:"[COUNT] db tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre",one_result:"[COUNT] db tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre",alt_search:"Nincs tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre. Tal\xE1latok mutat\xE1sa ink\xE1bb a(z) [DIFFERENT_TERM] kifejez\xE9sre",search_suggestion:"Nincs tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre. Pr\xF3b\xE1ld meg a k\xF6vetkez\u0151 keres\xE9sek egyik\xE9t:",searching:"Keres\xE9s a(z) [SEARCH_TERM] kifejez\xE9sre..."},yl={thanks_to:Tl,comments:Cl,direction:kl,strings:Sl};var Lt={};y(Lt,{comments:()=>Al,default:()=>Hl,direction:()=>vl,strings:()=>wl,thanks_to:()=>Ml});var Ml="Nixentric",Al="",vl="ltr",wl={placeholder:"Cari",clear_search:"Bersihkan",load_more:"Muat lebih banyak hasil",search_label:"Telusuri situs ini",filters_label:"Filter",zero_results:"[SEARCH_TERM] tidak ditemukan",many_results:"Ditemukan [COUNT] hasil untuk [SEARCH_TERM]",one_result:"Ditemukan [COUNT] hasil untuk [SEARCH_TERM]",alt_search:"[SEARCH_TERM] tidak ditemukan. Menampilkan hasil [DIFFERENT_TERM] sebagai gantinya",search_suggestion:"[SEARCH_TERM] tidak ditemukan. Coba salah satu pencarian berikut ini:",searching:"Mencari [SEARCH_TERM]..."},Hl={thanks_to:Ml,comments:Al,direction:vl,strings:wl};var qt={};y(qt,{comments:()=>Nl,default:()=>zl,direction:()=>Ol,strings:()=>jl,thanks_to:()=>Fl});var Fl="Cosette Bruhns Alonso, Andrew Janco ",Nl="",Ol="ltr",jl={placeholder:"Cerca",clear_search:"Cancella la cronologia",load_more:"Mostra pi\xF9 risultati",search_label:"Cerca nel sito",filters_label:"Filtri di ricerca",zero_results:"Nessun risultato per [SEARCH_TERM]",many_results:"[COUNT] risultati per [SEARCH_TERM]",one_result:"[COUNT] risultato per [SEARCH_TERM]",alt_search:"Nessun risultato per [SEARCH_TERM]. Mostrando risultati per [DIFFERENT_TERM] come alternativa.",search_suggestion:"Nessun risultato per [SEARCH_TERM]. Prova una delle seguenti ricerche:",searching:"Cercando [SEARCH_TERM]..."},zl={thanks_to:Fl,comments:Nl,direction:Ol,strings:jl};var Bt={};y(Bt,{comments:()=>Dl,default:()=>Ll,direction:()=>Il,strings:()=>Pl,thanks_to:()=>Ul});var Ul="Tate",Dl="",Il="ltr",Pl={placeholder:"\u691C\u7D22",clear_search:"\u30AF\u30EA\u30A2",load_more:"\u6B21\u3092\u8AAD\u307F\u8FBC\u3080",search_label:"\u3053\u306E\u30B5\u30A4\u30C8\u3092\u691C\u7D22",filters_label:"\u30D5\u30A3\u30EB\u30BF",zero_results:"[SEARCH_TERM]\u306E\u691C\u7D22\u306B\u4E00\u81F4\u3059\u308B\u60C5\u5831\u306F\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F",many_results:"[SEARCH_TERM]\u306E[COUNT]\u4EF6\u306E\u691C\u7D22\u7D50\u679C",one_result:"[SEARCH_TERM]\u306E[COUNT]\u4EF6\u306E\u691C\u7D22\u7D50\u679C",alt_search:"[SEARCH_TERM]\u306E\u691C\u7D22\u306B\u4E00\u81F4\u3059\u308B\u60C5\u5831\u306F\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002[DIFFERENT_TERM]\u306E\u691C\u7D22\u7D50\u679C\u3092\u8868\u793A\u3057\u3066\u3044\u307E\u3059",search_suggestion:"[SEARCH_TERM]\u306E\u691C\u7D22\u306B\u4E00\u81F4\u3059\u308B\u60C5\u5831\u306F\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u6B21\u306E\u3044\u305A\u308C\u304B\u306E\u691C\u7D22\u3092\u8A66\u3057\u3066\u304F\u3060\u3055\u3044",searching:"[SEARCH_TERM]\u3092\u691C\u7D22\u3057\u3066\u3044\u307E\u3059"},Ll={thanks_to:Ul,comments:Dl,direction:Il,strings:Pl};var Vt={};y(Vt,{comments:()=>Bl,default:()=>Gl,direction:()=>Vl,strings:()=>Wl,thanks_to:()=>ql});var ql="Seokho Son ",Bl="",Vl="ltr",Wl={placeholder:"\uAC80\uC0C9\uC5B4",clear_search:"\uBE44\uC6B0\uAE30",load_more:"\uAC80\uC0C9 \uACB0\uACFC \uB354 \uBCF4\uAE30",search_label:"\uC0AC\uC774\uD2B8 \uAC80\uC0C9",filters_label:"\uD544\uD130",zero_results:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC \uC5C6\uC74C",many_results:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC [COUNT]\uAC74",one_result:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC [COUNT]\uAC74",alt_search:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC \uC5C6\uC74C. [DIFFERENT_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC",search_suggestion:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC \uC5C6\uC74C. \uCD94\uCC9C \uAC80\uC0C9\uC5B4: ",searching:"[SEARCH_TERM] \uAC80\uC0C9 \uC911..."},Gl={thanks_to:ql,comments:Bl,direction:Vl,strings:Wl};var Wt={};y(Wt,{comments:()=>Jl,default:()=>Xl,direction:()=>Yl,strings:()=>Zl,thanks_to:()=>Kl});var Kl="",Jl="",Yl="ltr",Zl={placeholder:"Rapu",clear_search:"Whakakore",load_more:"Whakauta \u0113tahi otinga k\u0113",search_label:"Rapu",filters_label:"T\u0101tari",zero_results:"Otinga kore ki [SEARCH_TERM]",many_results:"[COUNT] otinga ki [SEARCH_TERM]",one_result:"[COUNT] otinga ki [SEARCH_TERM]",alt_search:"Otinga kore ki [SEARCH_TERM]. Otinga k\u0113 ki [DIFFERENT_TERM]",search_suggestion:"Otinga kore ki [SEARCH_TERM]. whakam\u0101tau ki ng\u0101 mea atu:",searching:"Rapu ki [SEARCH_TERM]..."},Xl={thanks_to:Kl,comments:Jl,direction:Yl,strings:Zl};var Gt={};y(Gt,{comments:()=>xl,default:()=>ti,direction:()=>$l,strings:()=>ei,thanks_to:()=>Ql});var Ql="Paul van Brouwershaven",xl="",$l="ltr",ei={placeholder:"Zoeken",clear_search:"Reset",load_more:"Meer resultaten laden",search_label:"Doorzoek deze site",filters_label:"Filters",zero_results:"Geen resultaten voor [SEARCH_TERM]",many_results:"[COUNT] resultaten voor [SEARCH_TERM]",one_result:"[COUNT] resultaat voor [SEARCH_TERM]",alt_search:"Geen resultaten voor [SEARCH_TERM]. In plaats daarvan worden resultaten voor [DIFFERENT_TERM] weergegeven",search_suggestion:"Geen resultaten voor [SEARCH_TERM]. Probeer een van de volgende zoekopdrachten:",searching:"Zoeken naar [SEARCH_TERM]..."},ti={thanks_to:Ql,comments:xl,direction:$l,strings:ei};var Kt={};y(Kt,{comments:()=>si,default:()=>ii,direction:()=>ri,strings:()=>li,thanks_to:()=>ni});var ni="Christopher Wingate",si="",ri="ltr",li={placeholder:"S\xF8k",clear_search:"Fjern",load_more:"Last flere resultater",search_label:"S\xF8k p\xE5 denne siden",filters_label:"Filtre",zero_results:"Ingen resultater for [SEARCH_TERM]",many_results:"[COUNT] resultater for [SEARCH_TERM]",one_result:"[COUNT] resultat for [SEARCH_TERM]",alt_search:"Ingen resultater for [SEARCH_TERM]. Viser resultater for [DIFFERENT_TERM] i stedet",search_suggestion:"Ingen resultater for [SEARCH_TERM]. Pr\xF8v en av disse s\xF8keordene i stedet:",searching:"S\xF8ker etter [SEARCH_TERM]"},ii={thanks_to:ni,comments:si,direction:ri,strings:li};var Jt={};y(Jt,{comments:()=>oi,default:()=>_i,direction:()=>ui,strings:()=>ci,thanks_to:()=>ai});var ai="",oi="",ui="ltr",ci={placeholder:"Szukaj",clear_search:"Wyczy\u015B\u0107",load_more:"Za\u0142aduj wi\u0119cej",search_label:"Przeszukaj t\u0119 stron\u0119",filters_label:"Filtry",zero_results:"Brak wynik\xF3w dla [SEARCH_TERM]",many_results:"[COUNT] wynik\xF3w dla [SEARCH_TERM]",one_result:"[COUNT] wynik dla [SEARCH_TERM]",alt_search:"Brak wynik\xF3w dla [SEARCH_TERM]. Wy\u015Bwietlam wyniki dla [DIFFERENT_TERM]",search_suggestion:"Brak wynik\xF3w dla [SEARCH_TERM]. Pokrewne wyniki wyszukiwania:",searching:"Szukam [SEARCH_TERM]..."},_i={thanks_to:ai,comments:oi,direction:ui,strings:ci};var Yt={};y(Yt,{comments:()=>di,default:()=>pi,direction:()=>hi,strings:()=>mi,thanks_to:()=>fi});var fi="Jonatah",di="",hi="ltr",mi={placeholder:"Pesquisar",clear_search:"Limpar",load_more:"Ver mais resultados",search_label:"Pesquisar",filters_label:"Filtros",zero_results:"Nenhum resultado encontrado para [SEARCH_TERM]",many_results:"[COUNT] resultados encontrados para [SEARCH_TERM]",one_result:"[COUNT] resultado encontrado para [SEARCH_TERM]",alt_search:"Nenhum resultado encontrado para [SEARCH_TERM]. Exibindo resultados para [DIFFERENT_TERM]",search_suggestion:"Nenhum resultado encontrado para [SEARCH_TERM]. Tente uma das seguintes pesquisas:",searching:"Pesquisando por [SEARCH_TERM]..."},pi={thanks_to:fi,comments:di,direction:hi,strings:mi};var Zt={};y(Zt,{comments:()=>Ei,default:()=>Ti,direction:()=>Ri,strings:()=>bi,thanks_to:()=>gi});var gi="Bogdan Mateescu ",Ei="",Ri="ltr",bi={placeholder:"C\u0103utare",clear_search:"\u015Eterge\u0163i",load_more:"\xCEnc\u0103rca\u021Bi mai multe rezultate",search_label:"C\u0103uta\u021Bi \xEEn acest site",filters_label:"Filtre",zero_results:"Niciun rezultat pentru [SEARCH_TERM]",many_results:"[COUNT] rezultate pentru [SEARCH_TERM]",one_result:"[COUNT] rezultat pentru [SEARCH_TERM]",alt_search:"Niciun rezultat pentru [SEARCH_TERM]. Se afi\u0219eaz\u0103 \xEEn schimb rezultatele pentru [DIFFERENT_TERM]",search_suggestion:"Niciun rezultat pentru [SEARCH_TERM]. \xCEncerca\u021Bi una dintre urm\u0103toarele c\u0103ut\u0103ri:",searching:"Se caut\u0103 dup\u0103: [SEARCH_TERM]..."},Ti={thanks_to:gi,comments:Ei,direction:Ri,strings:bi};var Xt={};y(Xt,{comments:()=>ki,default:()=>Mi,direction:()=>Si,strings:()=>yi,thanks_to:()=>Ci});var Ci="Aleksandr Gordeev",ki="",Si="ltr",yi={placeholder:"\u041F\u043E\u0438\u0441\u043A",clear_search:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u043F\u043E\u043B\u0435",load_more:"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0435\u0449\u0435",search_label:"\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0441\u0430\u0439\u0442\u0443",filters_label:"\u0424\u0438\u043B\u044C\u0442\u0440\u044B",zero_results:"\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]",many_results:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432 \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]",one_result:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442 \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]",alt_search:"\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]. \u041F\u043E\u043A\u0430\u0437\u0430\u043D\u044B \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u044B \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [DIFFERENT_TERM]",search_suggestion:"\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u043E\u0434\u0438\u043D \u0438\u0437 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0445 \u0432\u0430\u0440\u0438\u0430\u043D\u0442\u043E\u0432",searching:"\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]"},Mi={thanks_to:Ci,comments:ki,direction:Si,strings:yi};var Qt={};y(Qt,{comments:()=>vi,default:()=>Fi,direction:()=>wi,strings:()=>Hi,thanks_to:()=>Ai});var Ai="Andrija Sagicc",vi="",wi="ltr",Hi={placeholder:"\u041F\u0440\u0435\u0442\u0440\u0430\u0433\u0430",clear_search:"\u0411\u0440\u0438\u0441\u0430\u045A\u0435",load_more:"\u041F\u0440\u0438\u043A\u0430\u0437 \u0432\u0438\u0448\u0435 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430",search_label:"\u041F\u0440\u0435\u0442\u0440\u0430\u0433\u0430 \u0441\u0430\u0458\u0442\u0430",filters_label:"\u0424\u0438\u043B\u0442\u0435\u0440\u0438",zero_results:"\u041D\u0435\u043C\u0430 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]",many_results:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]",one_result:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]",alt_search:"\u041D\u0435\u043C\u0430 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]. \u041F\u0440\u0438\u043A\u0430\u0437 \u0434\u043E\u0434\u0430\u0442\u043D\u0438\u043A \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [DIFFERENT_TERM]",search_suggestion:"\u041D\u0435\u043C\u0430 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]. \u041F\u043E\u043A\u0443\u0448\u0430\u0458\u0442\u0435 \u0441\u0430 \u043D\u0435\u043A\u043E\u043C \u043E\u0434 \u0441\u043B\u0435\u0434\u0435\u045B\u0438\u0445 \u043F\u0440\u0435\u0442\u0440\u0430\u0433\u0430:",searching:"\u041F\u0440\u0435\u0442\u0440\u0430\u0433\u0430 \u0442\u0435\u0440\u043C\u0438\u043D\u0430 [SEARCH_TERM]..."},Fi={thanks_to:Ai,comments:vi,direction:wi,strings:Hi};var xt={};y(xt,{comments:()=>Oi,default:()=>Ui,direction:()=>ji,strings:()=>zi,thanks_to:()=>Ni});var Ni="Montazar Al-Jaber ",Oi="",ji="ltr",zi={placeholder:"S\xF6k",clear_search:"Rensa",load_more:"Visa fler tr\xE4ffar",search_label:"S\xF6k p\xE5 denna sida",filters_label:"Filter",zero_results:"[SEARCH_TERM] gav inga tr\xE4ffar",many_results:"[SEARCH_TERM] gav [COUNT] tr\xE4ffar",one_result:"[SEARCH_TERM] gav [COUNT] tr\xE4ff",alt_search:"[SEARCH_TERM] gav inga tr\xE4ffar. Visar resultat f\xF6r [DIFFERENT_TERM] ist\xE4llet",search_suggestion:"[SEARCH_TERM] gav inga tr\xE4ffar. F\xF6rs\xF6k igen med en av f\xF6ljande s\xF6kord:",searching:"S\xF6ker efter [SEARCH_TERM]..."},Ui={thanks_to:Ni,comments:Oi,direction:ji,strings:zi};var $t={};y($t,{comments:()=>Ii,default:()=>qi,direction:()=>Pi,strings:()=>Li,thanks_to:()=>Di});var Di="Anonymous",Ii="",Pi="ltr",Li={placeholder:"Tafuta",clear_search:"Futa",load_more:"Pakia matokeo zaidi",search_label:"Tafuta tovuti hii",filters_label:"Vichujio",zero_results:"Hakuna matokeo ya [SEARCH_TERM]",many_results:"Matokeo [COUNT] ya [SEARCH_TERM]",one_result:"Tokeo [COUNT] la [SEARCH_TERM]",alt_search:"Hakuna mayokeo ya [SEARCH_TERM]. Badala yake, inaonyesha matokeo ya [DIFFERENT_TERM]",search_suggestion:"Hakuna matokeo ya [SEARCH_TERM]. Jaribu mojawapo ya utafutaji ufuatao:",searching:"Kutafuta [SEARCH_TERM]..."},qi={thanks_to:Di,comments:Ii,direction:Pi,strings:Li};var en={};y(en,{comments:()=>Vi,default:()=>Ki,direction:()=>Wi,strings:()=>Gi,thanks_to:()=>Bi});var Bi="",Vi="",Wi="ltr",Gi={placeholder:"\u0BA4\u0BC7\u0B9F\u0BC1\u0B95",clear_search:"\u0B85\u0BB4\u0BBF\u0B95\u0BCD\u0B95\u0BC1\u0B95",load_more:"\u0BAE\u0BC7\u0BB2\u0BC1\u0BAE\u0BCD \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BC8\u0B95\u0BCD \u0B95\u0BBE\u0B9F\u0BCD\u0B9F\u0BC1\u0B95",search_label:"\u0B87\u0BA8\u0BCD\u0BA4 \u0BA4\u0BB3\u0BA4\u0BCD\u0BA4\u0BBF\u0BB2\u0BCD \u0BA4\u0BC7\u0B9F\u0BC1\u0B95",filters_label:"\u0BB5\u0B9F\u0BBF\u0B95\u0B9F\u0BCD\u0B9F\u0BB2\u0BCD\u0B95\u0BB3\u0BCD",zero_results:"[SEARCH_TERM] \u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8",many_results:"[SEARCH_TERM] \u0B95\u0BCD\u0B95\u0BBE\u0BA9 [COUNT] \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD",one_result:"[SEARCH_TERM] \u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1",alt_search:"[SEARCH_TERM] \u0B87\u0BA4\u0BCD\u0BA4\u0BC7\u0B9F\u0BB2\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8, \u0B87\u0BA8\u0BCD\u0BA4 \u0BA4\u0BC7\u0B9F\u0BB2\u0BCD\u0B95\u0BB3\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0B92\u0BA4\u0BCD\u0BA4 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD [DIFFERENT_TERM]",search_suggestion:"[SEARCH_TERM] \u0B87\u0BA4\u0BCD \u0BA4\u0BC7\u0B9F\u0BB2\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8.\u0B87\u0BA4\u0BB1\u0BCD\u0B95\u0BC1 \u0BAA\u0BA4\u0BBF\u0BB2\u0BC0\u0B9F\u0BBE\u0BA9 \u0BA4\u0BC7\u0B9F\u0BB2\u0BCD\u0B95\u0BB3\u0BC8 \u0BA4\u0BC7\u0B9F\u0BC1\u0B95:",searching:"[SEARCH_TERM] \u0BA4\u0BC7\u0B9F\u0BAA\u0BCD\u0BAA\u0B9F\u0BC1\u0B95\u0BBF\u0BA9\u0BCD\u0BB1\u0BA4\u0BC1"},Ki={thanks_to:Bi,comments:Vi,direction:Wi,strings:Gi};var tn={};y(tn,{comments:()=>Yi,default:()=>Qi,direction:()=>Zi,strings:()=>Xi,thanks_to:()=>Ji});var Ji="Taylan \xD6zg\xFCr Bildik",Yi="",Zi="ltr",Xi={placeholder:"Ara\u015Ft\u0131r",clear_search:"Temizle",load_more:"Daha fazla sonu\xE7",search_label:"Site genelinde arama",filters_label:"Filtreler",zero_results:"[SEARCH_TERM] i\xE7in sonu\xE7 yok",many_results:"[SEARCH_TERM] i\xE7in [COUNT] sonu\xE7 bulundu",one_result:"[SEARCH_TERM] i\xE7in [COUNT] sonu\xE7 bulundu",alt_search:"[SEARCH_TERM] i\xE7in sonu\xE7 yok. Bunun yerine [DIFFERENT_TERM] i\xE7in sonu\xE7lar g\xF6steriliyor",search_suggestion:"[SEARCH_TERM] i\xE7in sonu\xE7 yok. Alternatif olarak a\u015Fa\u011F\u0131daki kelimelerden birini deneyebilirsiniz:",searching:"[SEARCH_TERM] ara\u015Ft\u0131r\u0131l\u0131yor..."},Qi={thanks_to:Ji,comments:Yi,direction:Zi,strings:Xi};var nn={};y(nn,{comments:()=>$i,default:()=>na,direction:()=>ea,strings:()=>ta,thanks_to:()=>xi});var xi="Vladyslav Lyshenko ",$i="",ea="ltr",ta={placeholder:"\u041F\u043E\u0448\u0443\u043A",clear_search:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u0438 \u043F\u043E\u043B\u0435",load_more:"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0449\u0435",search_label:"\u041F\u043E\u0448\u0443\u043A \u043F\u043E \u0441\u0430\u0439\u0442\u0443",filters_label:"\u0424\u0456\u043B\u044C\u0442\u0440\u0438",zero_results:"\u041D\u0456\u0447\u043E\u0433\u043E \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E \u0437\u0430 \u0437\u0430\u043F\u0438\u0442\u043E\u043C: [SEARCH_TERM]",many_results:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u0456\u0432 \u043D\u0430 \u0437\u0430\u043F\u0438\u0442: [SEARCH_TERM]",one_result:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442 \u0437\u0430 \u0437\u0430\u043F\u0438\u0442\u043E\u043C: [SEARCH_TERM]",alt_search:"\u041D\u0456\u0447\u043E\u0433\u043E \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043D\u0430 \u0437\u0430\u043F\u0438\u0442: [SEARCH_TERM]. \u041F\u043E\u043A\u0430\u0437\u0430\u043D\u043E \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u0438 \u043D\u0430 \u0437\u0430\u043F\u0438\u0442: [DIFFERENT_TERM]",search_suggestion:"\u041D\u0456\u0447\u043E\u0433\u043E \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043D\u0430 \u0437\u0430\u043F\u0438\u0442: [SEARCH_TERM]. \u0421\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u043E\u0434\u0438\u043D \u0456\u0437 \u0442\u0430\u043A\u0438\u0445 \u0432\u0430\u0440\u0456\u0430\u043D\u0442\u0456\u0432",searching:"\u041F\u043E\u0448\u0443\u043A \u0437\u0430 \u0437\u0430\u043F\u0438\u0442\u043E\u043C: [SEARCH_TERM]"},na={thanks_to:xi,comments:$i,direction:ea,strings:ta};var sn={};y(sn,{comments:()=>ra,default:()=>aa,direction:()=>la,strings:()=>ia,thanks_to:()=>sa});var sa="Long Nhat Nguyen",ra="",la="ltr",ia={placeholder:"T\xECm ki\u1EBFm",clear_search:"X\xF3a",load_more:"Nhi\u1EC1u k\u1EBFt qu\u1EA3 h\u01A1n",search_label:"T\xECm ki\u1EBFm trong trang n\xE0y",filters_label:"B\u1ED9 l\u1ECDc",zero_results:"Kh\xF4ng t\xECm th\u1EA5y k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]",many_results:"[COUNT] k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]",one_result:"[COUNT] k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]",alt_search:"Kh\xF4ng t\xECm th\u1EA5y k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]. Ki\u1EC3m th\u1ECB k\u1EBFt qu\u1EA3 thay th\u1EBF v\u1EDBi [DIFFERENT_TERM]",search_suggestion:"Kh\xF4ng t\xECm th\u1EA5y k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]. Th\u1EED m\u1ED9t trong c\xE1c t\xECm ki\u1EBFm:",searching:"\u0110ang t\xECm ki\u1EBFm cho [SEARCH_TERM]..."},aa={thanks_to:sa,comments:ra,direction:la,strings:ia};var rn={};y(rn,{comments:()=>ua,default:()=>fa,direction:()=>ca,strings:()=>_a,thanks_to:()=>oa});var oa="Amber Song",ua="",ca="ltr",_a={placeholder:"\u641C\u7D22",clear_search:"\u6E05\u9664",load_more:"\u52A0\u8F7D\u66F4\u591A\u7ED3\u679C",search_label:"\u7AD9\u5185\u641C\u7D22",filters_label:"\u7B5B\u9009",zero_results:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",many_results:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",one_result:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",alt_search:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u6539\u4E3A\u663E\u793A [DIFFERENT_TERM] \u7684\u76F8\u5173\u7ED3\u679C",search_suggestion:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u8BF7\u5C1D\u8BD5\u4EE5\u4E0B\u641C\u7D22\u3002",searching:"\u6B63\u5728\u641C\u7D22 [SEARCH_TERM]..."},fa={thanks_to:oa,comments:ua,direction:ca,strings:_a};var ln={};y(ln,{comments:()=>ha,default:()=>ga,direction:()=>ma,strings:()=>pa,thanks_to:()=>da});var da="Amber Song",ha="",ma="ltr",pa={placeholder:"\u641C\u7D22",clear_search:"\u6E05\u9664",load_more:"\u52A0\u8F09\u66F4\u591A\u7D50\u679C",search_label:"\u7AD9\u5167\u641C\u7D22",filters_label:"\u7BE9\u9078",zero_results:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C",many_results:"\u627E\u5230 [COUNT] \u500B [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C",one_result:"\u627E\u5230 [COUNT] \u500B [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C",alt_search:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C\u3002\u6539\u70BA\u986F\u793A [DIFFERENT_TERM] \u7684\u76F8\u95DC\u7D50\u679C",search_suggestion:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C\u3002\u8ACB\u5617\u8A66\u4EE5\u4E0B\u641C\u7D22\u3002",searching:"\u6B63\u5728\u641C\u7D22 [SEARCH_TERM]..."},ga={thanks_to:da,comments:ha,direction:ma,strings:pa};var an={};y(an,{comments:()=>Ra,default:()=>Ca,direction:()=>ba,strings:()=>Ta,thanks_to:()=>Ea});var Ea="Amber Song",Ra="",ba="ltr",Ta={placeholder:"\u641C\u7D22",clear_search:"\u6E05\u9664",load_more:"\u52A0\u8F7D\u66F4\u591A\u7ED3\u679C",search_label:"\u7AD9\u5185\u641C\u7D22",filters_label:"\u7B5B\u9009",zero_results:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",many_results:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",one_result:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",alt_search:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u6539\u4E3A\u663E\u793A [DIFFERENT_TERM] \u7684\u76F8\u5173\u7ED3\u679C",search_suggestion:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u8BF7\u5C1D\u8BD5\u4EE5\u4E0B\u641C\u7D22\u3002",searching:"\u6B63\u5728\u641C\u7D22 [SEARCH_TERM]..."},Ca={thanks_to:Ea,comments:Ra,direction:ba,strings:Ta};var ka=[kt,St,yt,Mt,At,vt,wt,Ht,Ft,Nt,Ot,jt,zt,Ut,Dt,It,Pt,Lt,qt,Bt,Vt,Wt,Gt,Kt,Jt,Yt,Zt,Xt,Qt,xt,$t,en,tn,nn,sn,rn,ln,an],ss=ka,rs=["../../translations/af.json","../../translations/ar.json","../../translations/bn.json","../../translations/ca.json","../../translations/cs.json","../../translations/da.json","../../translations/de.json","../../translations/en.json","../../translations/es.json","../../translations/fa.json","../../translations/fi.json","../../translations/fr.json","../../translations/gl.json","../../translations/he.json","../../translations/hi.json","../../translations/hr.json","../../translations/hu.json","../../translations/id.json","../../translations/it.json","../../translations/ja.json","../../translations/ko.json","../../translations/mi.json","../../translations/nl.json","../../translations/no.json","../../translations/pl.json","../../translations/pt.json","../../translations/ro.json","../../translations/ru.json","../../translations/sr.json","../../translations/sv.json","../../translations/sw.json","../../translations/ta.json","../../translations/tr.json","../../translations/uk.json","../../translations/vi.json","../../translations/zh-cn.json","../../translations/zh-tw.json","../../translations/zh.json"];function ls(n,e,t){let s=n.slice();return s[51]=e[t],s}function is(n){let e,t,s;function r(i){n[37](i)}let l={show_empty_filters:n[5],open_filters:n[6],available_filters:n[18],translate:n[20],automatic_translations:n[19],translations:n[7]};return n[0]!==void 0&&(l.selected_filters=n[0]),e=new ns({props:l}),le.push(()=>Mn(e,"selected_filters",r)),{c(){rt(e.$$.fragment)},m(i,a){me(e,i,a),s=!0},p(i,a){let o={};a[0]&32&&(o.show_empty_filters=i[5]),a[0]&64&&(o.open_filters=i[6]),a[0]&262144&&(o.available_filters=i[18]),a[0]&524288&&(o.automatic_translations=i[19]),a[0]&128&&(o.translations=i[7]),!t&&a[0]&1&&(t=!0,o.selected_filters=i[0],Cn(()=>t=!1)),e.$set(o)},i(i){s||(U(e.$$.fragment,i),s=!0)},o(i){P(e.$$.fragment,i),s=!1},d(i){ue(e,i)}}}function as(n){let e,t,s,r,l=[Ma,ya],i=[];function a(o,f){return o[14]?0:1}return t=a(n,[-1,-1]),s=i[t]=l[t](n),{c(){e=C("div"),s.c(),g(e,"class","pagefind-ui__results-area svelte-e9gkc3")},m(o,f){S(o,e,f),i[t].m(e,null),r=!0},p(o,f){let u=t;t=a(o,f),t===u?i[t].p(o,f):(ae(),P(i[u],1,1,()=>{i[u]=null}),oe(),s=i[t],s?s.p(o,f):(s=i[t]=l[t](o),s.c()),U(s,1),s.m(e,null))},i(o){r||(U(s),r=!0)},o(o){P(s),r=!1},d(o){o&&k(e),i[t].d()}}}function ya(n){let e,t,s,r=[],l=new Map,i,a,o;function f(c,d){return c[13].results.length===0?wa:c[13].results.length===1?va:Aa}let u=f(n,[-1,-1]),m=u(n),p=n[13].results.slice(0,n[17]),h=c=>c[51].id;for(let c=0;cn[17]&&us(n);return{c(){e=C("p"),m.c(),t=A(),s=C("ol");for(let c=0;cc[17]?_?_.p(c,d):(_=us(c),_.c(),_.m(a.parentNode,a)):_&&(_.d(1),_=null)},i(c){if(!o){for(let d=0;d{o[p]=null}),oe(),r=o[s],r?r.p(e,m):(r=o[s]=a[s](e),r.c()),U(r,1),r.m(l.parentNode,l))},i(u){i||(U(r),i=!0)},o(u){P(r),i=!1},d(u){u&&k(t),o[s].d(u),u&&k(l)}}}function us(n){let e,t=n[20]("load_more",n[19],n[7])+"",s,r,l;return{c(){e=C("button"),s=w(t),g(e,"type","button"),g(e,"class","pagefind-ui__button svelte-e9gkc3")},m(i,a){S(i,e,a),b(e,s),r||(l=J(e,"click",n[22]),r=!0)},p(i,a){a[0]&524416&&t!==(t=i[20]("load_more",i[19],i[7])+"")&&N(s,t)},d(i){i&&k(e),r=!1,l()}}}function cs(n){let e,t=n[20]("searching",n[19],n[7]).replace(/\[SEARCH_TERM\]/,n[16])+"",s;return{c(){e=C("p"),s=w(t),g(e,"class","pagefind-ui__message svelte-e9gkc3")},m(r,l){S(r,e,l),b(e,s)},p(r,l){l[0]&589952&&t!==(t=r[20]("searching",r[19],r[7]).replace(/\[SEARCH_TERM\]/,r[16])+"")&&N(s,t)},d(r){r&&k(e)}}}function Na(n){let e,t,s,r,l,i,a=n[20]("clear_search",n[19],n[7])+"",o,f,u,m,p,h,_,c,d=n[12]&&is(n),T=n[15]&&as(n);return{c(){e=C("div"),t=C("form"),s=C("input"),l=A(),i=C("button"),o=w(a),f=A(),u=C("div"),d&&d.c(),m=A(),T&&T.c(),g(s,"class","pagefind-ui__search-input svelte-e9gkc3"),g(s,"type","text"),g(s,"placeholder",r=n[20]("placeholder",n[19],n[7])),g(s,"autocapitalize","none"),g(s,"enterkeyhint","search"),s.autofocus=n[8],g(i,"class","pagefind-ui__search-clear svelte-e9gkc3"),B(i,"pagefind-ui__suppressed",!n[9]),g(u,"class","pagefind-ui__drawer svelte-e9gkc3"),B(u,"pagefind-ui__hidden",!n[15]),g(t,"class","pagefind-ui__form svelte-e9gkc3"),g(t,"role","search"),g(t,"aria-label",p=n[20]("search_label",n[19],n[7])),g(t,"action","javascript:void(0);"),g(e,"class","pagefind-ui svelte-e9gkc3"),B(e,"pagefind-ui--reset",n[1])},m(R,M){S(R,e,M),b(e,t),b(t,s),pt(s,n[9]),n[34](s),b(t,l),b(t,i),b(i,o),n[35](i),b(t,f),b(t,u),d&&d.m(u,null),b(u,m),T&&T.m(u,null),h=!0,n[8]&&s.focus(),_||(c=[J(s,"focus",n[21]),J(s,"keydown",n[32]),J(s,"input",n[33]),J(i,"click",n[36]),J(t,"submit",Oa)],_=!0)},p(R,M){(!h||M[0]&524416&&r!==(r=R[20]("placeholder",R[19],R[7])))&&g(s,"placeholder",r),(!h||M[0]&256)&&(s.autofocus=R[8]),M[0]&512&&s.value!==R[9]&&pt(s,R[9]),(!h||M[0]&524416)&&a!==(a=R[20]("clear_search",R[19],R[7])+"")&&N(o,a),(!h||M[0]&512)&&B(i,"pagefind-ui__suppressed",!R[9]),R[12]?d?(d.p(R,M),M[0]&4096&&U(d,1)):(d=is(R),d.c(),U(d,1),d.m(u,m)):d&&(ae(),P(d,1,1,()=>{d=null}),oe()),R[15]?T?(T.p(R,M),M[0]&32768&&U(T,1)):(T=as(R),T.c(),U(T,1),T.m(u,null)):T&&(ae(),P(T,1,1,()=>{T=null}),oe()),(!h||M[0]&32768)&&B(u,"pagefind-ui__hidden",!R[15]),(!h||M[0]&524416&&p!==(p=R[20]("search_label",R[19],R[7])))&&g(t,"aria-label",p),(!h||M[0]&2)&&B(e,"pagefind-ui--reset",R[1])},i(R){h||(U(d),U(T),h=!0)},o(R){P(d),P(T),h=!1},d(R){R&&k(e),n[34](null),n[35](null),d&&d.d(),T&&T.d(),_=!1,G(c)}}}var Oa=n=>n.preventDefault();function ja(n,e,t){let s={},r=rs.map(E=>E.match(/([^\/]+)\.json$/)[1]);for(let E=0;Ej[E]??F[E]??"";gt(()=>{let E=document?.querySelector?.("html")?.getAttribute?.("lang")||"en",F=lt(E.toLocaleLowerCase());t(19,hn=s[`${F.language}-${F.script}-${F.region}`]||s[`${F.language}-${F.region}`]||s[`${F.language}`]||s.en)}),Et(()=>{H?.destroy?.(),H=null});let mn=async()=>{if(!at&&(t(12,at=!0),!H)){let E;try{E=await import(`${l}pagefind.js`)}catch(j){console.error(j),console.error([`Pagefind couldn't be loaded from ${this.options.bundlePath}pagefind.js`,"You can configure this by passing a bundlePath option to PagefindUI"].join(`
+`)),document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"?console.error(`[DEBUG: Loaded from ${document.currentScript.src??"bad script location"}]`):console.error("no known script location")}u||t(24,u=f?12:30);let F={...d||{},excerptLength:u};await E.options(F);for(let j of T){if(!j.bundlePath)throw new Error("mergeIndex requires a bundlePath parameter");let L=j.bundlePath;delete j.bundlePath,await E.mergeIndex(L,j)}H=E,hs()}},hs=async()=>{H&&(dn=await H.filters(),(!ce||!Object.keys(ce).length)&&t(18,ce=dn))},ms=E=>{let F={};return Object.entries(E).filter(([,j])=>j).forEach(([j])=>{let[L,te]=j.split(/:(.*)$/);F[L]=F[L]||[],F[L].push(te)}),F},_e,ps=async(E,F)=>{if(!E){t(15,ut=!1),_e&&clearTimeout(_e);return}let j=ms(F),L=()=>gs(E,j);c>0&&E?(_e&&clearTimeout(_e),_e=setTimeout(L,c),await pn(),H.preload(E,{filters:j})):L(),Es()},pn=async()=>{for(;!H;)mn(),await new Promise(E=>setTimeout(E,50))},gs=async(E,F)=>{t(16,fn=E||""),typeof p=="function"&&(E=p(E)),t(14,ot=!0),t(15,ut=!0),await pn();let j=++_n,L={filters:F};X&&typeof X=="object"&&(L.sort=X);let te=await H.search(E,L);_n===j&&(te.filters&&Object.keys(te.filters)?.length&&t(18,ce=te.filters),t(13,cn=te),t(14,ot=!1),t(17,ct=i))},Es=()=>{let E=W.offsetWidth;E!=fs&&t(10,O.style.paddingRight=`${E+2}px`,O)},Rs=E=>{E?.preventDefault(),t(17,ct+=i)},bs=E=>{E.key==="Escape"&&(t(9,v=""),O.blur()),E.key==="Enter"&&E.preventDefault()};function Ts(){v=this.value,t(9,v),t(23,R)}function Cs(E){le[E?"unshift":"push"](()=>{O=E,t(10,O)})}function ks(E){le[E?"unshift":"push"](()=>{W=E,t(11,W)})}let Ss=()=>{t(9,v=""),O.blur()};function ys(E){V=E,t(0,V)}return n.$$set=E=>{"base_path"in E&&t(25,l=E.base_path),"page_size"in E&&t(26,i=E.page_size),"reset_styles"in E&&t(1,a=E.reset_styles),"show_images"in E&&t(2,o=E.show_images),"show_sub_results"in E&&t(3,f=E.show_sub_results),"excerpt_length"in E&&t(24,u=E.excerpt_length),"process_result"in E&&t(4,m=E.process_result),"process_term"in E&&t(27,p=E.process_term),"show_empty_filters"in E&&t(5,h=E.show_empty_filters),"open_filters"in E&&t(6,_=E.open_filters),"debounce_timeout_ms"in E&&t(28,c=E.debounce_timeout_ms),"pagefind_options"in E&&t(29,d=E.pagefind_options),"merge_index"in E&&t(30,T=E.merge_index),"trigger_search_term"in E&&t(23,R=E.trigger_search_term),"translations"in E&&t(7,M=E.translations),"autofocus"in E&&t(8,D=E.autofocus),"sort"in E&&t(31,X=E.sort),"selected_filters"in E&&t(0,V=E.selected_filters)},n.$$.update=()=>{if(n.$$.dirty[0]&8388608)e:R&&(t(9,v=R),t(23,R=""));if(n.$$.dirty[0]&513)e:ps(v,V)},[V,a,o,f,m,h,_,M,D,v,O,W,at,cn,ot,ut,fn,ct,ce,hn,ds,mn,Rs,R,u,l,i,p,c,d,T,X,bs,Ts,Cs,ks,Ss,ys]}var on=class extends q{constructor(e){super(),Y(this,e,ja,Na,K,{base_path:25,page_size:26,reset_styles:1,show_images:2,show_sub_results:3,excerpt_length:24,process_result:4,process_term:27,show_empty_filters:5,open_filters:6,debounce_timeout_ms:28,pagefind_options:29,merge_index:30,trigger_search_term:23,translations:7,autofocus:8,sort:31,selected_filters:0},null,[-1,-1])}},_s=on;var un;try{document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"&&(un=new URL(document.currentScript.src).pathname.match(/^(.*\/)(?:pagefind-)?ui.js.*$/)[1])}catch{un="/pagefind/"}var it=class{constructor(e){this._pfs=null;let t=e.element??"[data-pagefind-ui]",s=e.bundlePath??un,r=e.pageSize??5,l=e.resetStyles??!0,i=e.showImages??!0,a=e.showSubResults??!1,o=e.excerptLength??0,f=e.processResult??null,u=e.processTerm??null,m=e.showEmptyFilters??!0,p=e.openFilters??[],h=e.debounceTimeoutMs??300,_=e.mergeIndex??[],c=e.translations??[],d=e.autofocus??!1,T=e.sort??null;delete e.element,delete e.bundlePath,delete e.pageSize,delete e.resetStyles,delete e.showImages,delete e.showSubResults,delete e.excerptLength,delete e.processResult,delete e.processTerm,delete e.showEmptyFilters,delete e.openFilters,delete e.debounceTimeoutMs,delete e.mergeIndex,delete e.translations,delete e.autofocus,delete e.sort;let R=t instanceof HTMLElement?t:document.querySelector(t);R?this._pfs=new _s({target:R,props:{base_path:s,page_size:r,reset_styles:l,show_images:i,show_sub_results:a,excerpt_length:o,process_result:f,process_term:u,show_empty_filters:m,open_filters:p,debounce_timeout_ms:h,merge_index:_,translations:c,autofocus:d,sort:T,pagefind_options:e}}):console.error(`Pagefind UI couldn't find the selector ${t}`)}triggerSearch(e){this._pfs.$$set({trigger_search_term:e})}triggerFilters(e){let t={};for(let[s,r]of Object.entries(e))if(Array.isArray(r))for(let l of r)t[`${s}:${l}`]=!0;else t[`${s}:${r}`]=!0;this._pfs.$$set({selected_filters:t})}destroy(){this._pfs.$destroy()}};window.PagefindUI=it;})();
diff --git a/pagefind/pagefind.en_9a2180d3a5.pf_meta b/pagefind/pagefind.en_9a2180d3a5.pf_meta
new file mode 100644
index 0000000..34b645c
Binary files /dev/null and b/pagefind/pagefind.en_9a2180d3a5.pf_meta differ
diff --git a/pagefind/pagefind.js b/pagefind/pagefind.js
new file mode 100644
index 0000000..035a438
--- /dev/null
+++ b/pagefind/pagefind.js
@@ -0,0 +1,9 @@
+const pagefind_version="1.3.0";let wasm_bindgen;(function(){const __exports={};let script_src;if(typeof document!=='undefined'&&document.currentScript!==null){script_src=new URL("UNHANDLED",location.href).toString()}let wasm=undefined;let cachedUint8Memory0=null;function getUint8Memory0(){if(cachedUint8Memory0===null||cachedUint8Memory0.byteLength===0){cachedUint8Memory0=new Uint8Array(wasm.memory.buffer)}return cachedUint8Memory0}let WASM_VECTOR_LEN=0;function passArray8ToWasm0(arg,malloc){const ptr=malloc(arg.length*1,1)>>>0;getUint8Memory0().set(arg,ptr/1);WASM_VECTOR_LEN=arg.length;return ptr}__exports.init_pagefind=function(metadata_bytes){const ptr0=passArray8ToWasm0(metadata_bytes,wasm.__wbindgen_malloc);const len0=WASM_VECTOR_LEN;const ret=wasm.init_pagefind(ptr0,len0);return ret>>>0};const cachedTextEncoder=(typeof TextEncoder!=='undefined'?new TextEncoder('utf-8'):{encode:()=>{throw Error('TextEncoder not available')}});const encodeString=(typeof cachedTextEncoder.encodeInto==='function'?function(arg,view){return cachedTextEncoder.encodeInto(arg,view)}:function(arg,view){const buf=cachedTextEncoder.encode(arg);view.set(buf);return{read:arg.length,written:buf.length}});function passStringToWasm0(arg,malloc,realloc){if(realloc===undefined){const buf=cachedTextEncoder.encode(arg);const ptr=malloc(buf.length,1)>>>0;getUint8Memory0().subarray(ptr,ptr+buf.length).set(buf);WASM_VECTOR_LEN=buf.length;return ptr}let len=arg.length;let ptr=malloc(len,1)>>>0;const mem=getUint8Memory0();let offset=0;for(;offset0x7F)break;mem[ptr+offset]=code}if(offset!==len){if(offset!==0){arg=arg.slice(offset)}ptr=realloc(ptr,len,len=offset+arg.length*3,1)>>>0;const view=getUint8Memory0().subarray(ptr+offset,ptr+len);const ret=encodeString(arg,view);offset+=ret.written;ptr=realloc(ptr,len,offset,1)>>>0}WASM_VECTOR_LEN=offset;return ptr}__exports.set_ranking_weights=function(ptr,weights){const ptr0=passStringToWasm0(weights,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;const ret=wasm.set_ranking_weights(ptr,ptr0,len0);return ret>>>0};__exports.load_index_chunk=function(ptr,chunk_bytes){const ptr0=passArray8ToWasm0(chunk_bytes,wasm.__wbindgen_malloc);const len0=WASM_VECTOR_LEN;const ret=wasm.load_index_chunk(ptr,ptr0,len0);return ret>>>0};__exports.load_filter_chunk=function(ptr,chunk_bytes){const ptr0=passArray8ToWasm0(chunk_bytes,wasm.__wbindgen_malloc);const len0=WASM_VECTOR_LEN;const ret=wasm.load_filter_chunk(ptr,ptr0,len0);return ret>>>0};__exports.add_synthetic_filter=function(ptr,filter){const ptr0=passStringToWasm0(filter,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;const ret=wasm.add_synthetic_filter(ptr,ptr0,len0);return ret>>>0};let cachedInt32Memory0=null;function getInt32Memory0(){if(cachedInt32Memory0===null||cachedInt32Memory0.byteLength===0){cachedInt32Memory0=new Int32Array(wasm.memory.buffer)}return cachedInt32Memory0}const cachedTextDecoder=(typeof TextDecoder!=='undefined'?new TextDecoder('utf-8',{ignoreBOM:true,fatal:true}):{decode:()=>{throw Error('TextDecoder not available')}});if(typeof TextDecoder!=='undefined'){cachedTextDecoder.decode()};function getStringFromWasm0(ptr,len){ptr=ptr>>>0;return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr,ptr+len))}__exports.request_indexes=function(ptr,query){let deferred2_0;let deferred2_1;try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);const ptr0=passStringToWasm0(query,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;wasm.request_indexes(retptr,ptr,ptr0,len0);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];deferred2_0=r0;deferred2_1=r1;return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(deferred2_0,deferred2_1,1)}};__exports.request_filter_indexes=function(ptr,filters){let deferred2_0;let deferred2_1;try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);const ptr0=passStringToWasm0(filters,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;wasm.request_filter_indexes(retptr,ptr,ptr0,len0);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];deferred2_0=r0;deferred2_1=r1;return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(deferred2_0,deferred2_1,1)}};__exports.request_all_filter_indexes=function(ptr){let deferred1_0;let deferred1_1;try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);wasm.request_all_filter_indexes(retptr,ptr);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];deferred1_0=r0;deferred1_1=r1;return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(deferred1_0,deferred1_1,1)}};__exports.filters=function(ptr){let deferred1_0;let deferred1_1;try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);wasm.filters(retptr,ptr);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];deferred1_0=r0;deferred1_1=r1;return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(deferred1_0,deferred1_1,1)}};__exports.search=function(ptr,query,filter,sort,exact){let deferred4_0;let deferred4_1;try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);const ptr0=passStringToWasm0(query,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;const ptr1=passStringToWasm0(filter,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len1=WASM_VECTOR_LEN;const ptr2=passStringToWasm0(sort,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len2=WASM_VECTOR_LEN;wasm.search(retptr,ptr,ptr0,len0,ptr1,len1,ptr2,len2,exact);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];deferred4_0=r0;deferred4_1=r1;return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(deferred4_0,deferred4_1,1)}};async function __wbg_load(module,imports){if(typeof Response==='function'&&module instanceof Response){if(typeof WebAssembly.instantiateStreaming==='function'){try{return await WebAssembly.instantiateStreaming(module,imports)}catch(e){if(module.headers.get('Content-Type')!='application/wasm'){console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",e)}else{throw e}}}const bytes=await module.arrayBuffer();return await WebAssembly.instantiate(bytes,imports)}else{const instance=await WebAssembly.instantiate(module,imports);if(instance instanceof WebAssembly.Instance){return{instance,module}}else{return instance}}}function __wbg_get_imports(){const imports={};imports.wbg={};return imports}function __wbg_init_memory(imports,maybe_memory){}function __wbg_finalize_init(instance,module){wasm=instance.exports;__wbg_init.__wbindgen_wasm_module=module;cachedInt32Memory0=null;cachedUint8Memory0=null;return wasm}function initSync(module){if(wasm!==undefined)return wasm;const imports=__wbg_get_imports();__wbg_init_memory(imports);if(!(module instanceof WebAssembly.Module)){module=new WebAssembly.Module(module)}const instance=new WebAssembly.Instance(module,imports);return __wbg_finalize_init(instance,module)}async function __wbg_init(input){if(wasm!==undefined)return wasm;if(typeof input==='undefined'&&typeof script_src!=='undefined'){input=script_src.replace(/\.js$/,'_bg.wasm')}const imports=__wbg_get_imports();if(typeof input==='string'||(typeof Request==='function'&&input instanceof Request)||(typeof URL==='function'&&input instanceof URL)){input=fetch(input)}__wbg_init_memory(imports);const{instance,module}=await __wbg_load(await input,imports);return __wbg_finalize_init(instance,module)}wasm_bindgen=Object.assign(__wbg_init,{initSync},__exports)})();var u8=Uint8Array;var u16=Uint16Array;var u32=Uint32Array;var fleb=new u8([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]);var fdeb=new u8([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]);var clim=new u8([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);var freb=function(eb,start){var b=new u16(31);for(var i2=0;i2<31;++i2){b[i2]=start+=1<>>1|(i&21845)<<1;x=(x&52428)>>>2|(x&13107)<<2;x=(x&61680)>>>4|(x&3855)<<4;rev[i]=((x&65280)>>>8|(x&255)<<8)>>>1}var x;var i;var hMap=function(cd,mb,r){var s=cd.length;var i2=0;var l=new u16(mb);for(;i2>>rvb]=sv}}}}else{co=new u16(s);for(i2=0;i2>>15-cd[i2]}}}return co};var flt=new u8(288);for(i=0;i<144;++i)flt[i]=8;var i;for(i=144;i<256;++i)flt[i]=9;var i;for(i=256;i<280;++i)flt[i]=7;var i;for(i=280;i<288;++i)flt[i]=8;var i;var fdt=new u8(32);for(i=0;i<32;++i)fdt[i]=5;var i;var flrm=hMap(flt,9,1);var fdrm=hMap(fdt,5,1);var max=function(a){var m=a[0];for(var i2=1;i2m)m=a[i2]}return m};var bits=function(d,p,m){var o=p/8|0;return(d[o]|d[o+1]<<8)>>(p&7)&m};var bits16=function(d,p){var o=p/8|0;return(d[o]|d[o+1]<<8|d[o+2]<<16)>>(p&7)};var shft=function(p){return(p+7)/8|0};var slc=function(v,s,e){if(s==null||s<0)s=0;if(e==null||e>v.length)e=v.length;var n=new(v.BYTES_PER_ELEMENT==2?u16:v.BYTES_PER_ELEMENT==4?u32:u8)(e-s);n.set(v.subarray(s,e));return n};var ec=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"];var err=function(ind,msg,nt){var e=new Error(msg||ec[ind]);e.code=ind;if(Error.captureStackTrace)Error.captureStackTrace(e,err);if(!nt)throw e;return e};var inflt=function(dat,buf,st){var sl=dat.length;if(!sl||st&&st.f&&!st.l)return buf||new u8(0);var noBuf=!buf||st;var noSt=!st||st.i;if(!st)st={};if(!buf)buf=new u8(sl*3);var cbuf=function(l2){var bl=buf.length;if(l2>bl){var nbuf=new u8(Math.max(bl*2,l2));nbuf.set(buf);buf=nbuf}};var final=st.f||0,pos=st.p||0,bt=st.b||0,lm=st.l,dm=st.d,lbt=st.m,dbt=st.n;var tbts=sl*8;do{if(!lm){final=bits(dat,pos,1);var type=bits(dat,pos+1,3);pos+=3;if(!type){var s=shft(pos)+4,l=dat[s-4]|dat[s-3]<<8,t=s+l;if(t>sl){if(noSt)err(0);break}if(noBuf)cbuf(bt+l);buf.set(dat.subarray(s,t),bt);st.b=bt+=l,st.p=pos=t*8,st.f=final;continue}else if(type==1)lm=flrm,dm=fdrm,lbt=9,dbt=5;else if(type==2){var hLit=bits(dat,pos,31)+257,hcLen=bits(dat,pos+10,15)+4;var tl=hLit+bits(dat,pos+5,31)+1;pos+=14;var ldt=new u8(tl);var clt=new u8(19);for(var i2=0;i2>>4;if(s<16){ldt[i2++]=s}else{var c=0,n=0;if(s==16)n=3+bits(dat,pos,3),pos+=2,c=ldt[i2-1];else if(s==17)n=3+bits(dat,pos,7),pos+=3;else if(s==18)n=11+bits(dat,pos,127),pos+=7;while(n--)ldt[i2++]=c}}var lt=ldt.subarray(0,hLit),dt=ldt.subarray(hLit);lbt=max(lt);dbt=max(dt);lm=hMap(lt,lbt,1);dm=hMap(dt,dbt,1)}else err(1);if(pos>tbts){if(noSt)err(0);break}}if(noBuf)cbuf(bt+131072);var lms=(1<>>4;pos+=c&15;if(pos>tbts){if(noSt)err(0);break}if(!c)err(2);if(sym<256)buf[bt++]=sym;else if(sym==256){lpos=pos,lm=null;break}else{var add=sym-254;if(sym>264){var i2=sym-257,b=fleb[i2];add=bits(dat,pos,(1<>>4;if(!d)err(3);pos+=d&15;var dt=fd[dsym];if(dsym>3){var b=fdeb[dsym];dt+=bits16(dat,pos)&(1<tbts){if(noSt)err(0);break}if(noBuf)cbuf(bt+131072);var end=bt+add;for(;bt>3&1)+(flg>>4&1);zs>0;zs-=!d[st++]);return st+(flg&2)};var gzl=function(d){var l=d.length;return(d[l-4]|d[l-3]<<8|d[l-2]<<16|d[l-1]<<24)>>>0};function gunzipSync(data,out){return inflt(data.subarray(gzs(data),-8),out||new u8(gzl(data)))}var td=typeof TextDecoder!="undefined"&&new TextDecoder();var tds=0;try{td.decode(et,{stream:true});tds=1}catch(e){}var gz_default=gunzipSync;var calculate_excerpt_region=(word_positions,excerpt_length)=>{if(word_positions.length===0){return 0}let words=[];for(const word of word_positions){words[word.location]=words[word.location]||0;words[word.location]+=word.balanced_score}if(words.length<=excerpt_length){return 0}let densest=words.slice(0,excerpt_length).reduce((partialSum,a)=>partialSum+a,0);let working_sum=densest;let densest_at=[0];for(let i2=0;i2densest){densest=working_sum;densest_at=[i2]}else if(working_sum===densest&&densest_at[densest_at.length-1]===i2-1){densest_at.push(i2)}}let midpoint=densest_at[Math.floor(densest_at.length/2)];return midpoint};var build_excerpt=(content,start,length,locations,not_before,not_from)=>{let is_zws_delimited=content.includes("\u200B");let fragment_words=[];if(is_zws_delimited){fragment_words=content.split("\u200B")}else{fragment_words=content.split(/[\r\n\s]+/g)}for(let word of locations){if(fragment_words[word]?.startsWith(``)){continue}fragment_words[word]=`${fragment_words[word]}`}let endcap=not_from??fragment_words.length;let startcap=not_before??0;if(endcap-startcapendcap){start=endcap-length}if(start{const anchors=fragment.anchors.filter((a)=>/h\d/i.test(a.element)&&a.text?.length&&/\S/.test(a.text)).sort((a,b)=>a.location-b.location);const results=[];let current_anchor_position=0;let current_anchor={title:fragment.meta["title"],url:fragment.url,weighted_locations:[],locations:[],excerpt:""};const add_result=(end_range)=>{if(current_anchor.locations.length){const relative_weighted_locations=current_anchor.weighted_locations.map((l)=>{return{weight:l.weight,balanced_score:l.balanced_score,location:l.location-current_anchor_position}});const excerpt_start=calculate_excerpt_region(relative_weighted_locations,desired_excerpt_length)+current_anchor_position;const excerpt_length=end_range?Math.min(end_range-excerpt_start,desired_excerpt_length):desired_excerpt_length;current_anchor.excerpt=build_excerpt(fragment.raw_content??"",excerpt_start,excerpt_length,current_anchor.locations,current_anchor_position,end_range);results.push(current_anchor)}};for(let word of fragment.weighted_locations){if(!anchors.length||word.location=anchors[0].location){next_anchor=anchors.shift()}let anchored_url=fragment.url;try{const url_is_fq=/^((https?:)?\/\/)/.test(anchored_url);if(url_is_fq){let fq_url=new URL(anchored_url);fq_url.hash=next_anchor.id;anchored_url=fq_url.toString()}else{if(!/^\//.test(anchored_url)){anchored_url=`/${anchored_url}`}let fq_url=new URL(`https://example.com${anchored_url}`);fq_url.hash=next_anchor.id;anchored_url=fq_url.toString().replace(/^https:\/\/example.com/,"")}}catch(e){console.error(`Pagefind: Couldn't process ${anchored_url} for a search result`)}current_anchor_position=next_anchor.location;current_anchor={title:next_anchor.text,url:anchored_url,anchor:next_anchor,weighted_locations:[word],locations:[word.location],excerpt:""}}}add_result(anchors[0]?.location);return results};var asyncSleep=async(ms=100)=>{return new Promise((r)=>setTimeout(r,ms))};var PagefindInstance=class{constructor(opts={}){this.version=pagefind_version;this.backend=wasm_bindgen;this.decoder=new TextDecoder("utf-8");this.wasm=null;this.basePath=opts.basePath||"/pagefind/";this.primary=opts.primary||false;if(this.primary&&!opts.basePath){this.initPrimary()}if(/[^\/]$/.test(this.basePath)){this.basePath=`${this.basePath}/`}if(window?.location?.origin&&this.basePath.startsWith(window.location.origin)){this.basePath=this.basePath.replace(window.location.origin,"")}this.baseUrl=opts.baseUrl||this.defaultBaseUrl();if(!/^(\/|https?:\/\/)/.test(this.baseUrl)){this.baseUrl=`/${this.baseUrl}`}this.indexWeight=opts.indexWeight??1;this.excerptLength=opts.excerptLength??30;this.mergeFilter=opts.mergeFilter??{};this.ranking=opts.ranking;this.highlightParam=opts.highlightParam??null;this.loaded_chunks={};this.loaded_filters={};this.loaded_fragments={};this.raw_ptr=null;this.searchMeta=null;this.languages=null}initPrimary(){let derivedBasePath=import.meta.url.match(/^(.*\/)pagefind.js.*$/)?.[1];if(derivedBasePath){this.basePath=derivedBasePath}else{console.warn(["Pagefind couldn't determine the base of the bundle from the import path. Falling back to the default.","Set a basePath option when initialising Pagefind to ignore this message."].join("\n"))}}defaultBaseUrl(){let default_base=this.basePath.match(/^(.*\/)_?pagefind/)?.[1];return default_base||"/"}async options(options2){const opts=["basePath","baseUrl","indexWeight","excerptLength","mergeFilter","highlightParam","ranking"];for(const[k,v]of Object.entries(options2)){if(k==="mergeFilter"){let filters2=this.stringifyFilters(v);let ptr=await this.getPtr();this.raw_ptr=this.backend.add_synthetic_filter(ptr,filters2)}else if(k==="ranking"){await this.set_ranking(options2.ranking)}else if(opts.includes(k)){if(k==="basePath"&&typeof v==="string")this.basePath=v;if(k==="baseUrl"&&typeof v==="string")this.baseUrl=v;if(k==="indexWeight"&&typeof v==="number")this.indexWeight=v;if(k==="excerptLength"&&typeof v==="number")this.excerptLength=v;if(k==="mergeFilter"&&typeof v==="object")this.mergeFilter=v;if(k==="highlightParam"&&typeof v==="string")this.highlightParam=v}else{console.warn(`Unknown Pagefind option ${k}. Allowed options: [${opts.join(", ")}]`)}}}decompress(data,file="unknown file"){if(this.decoder.decode(data.slice(0,12))==="pagefind_dcd"){return data.slice(12)}data=gz_default(data);if(this.decoder.decode(data.slice(0,12))!=="pagefind_dcd"){console.error(`Decompressing ${file} appears to have failed: Missing signature`);return data}return data.slice(12)}async set_ranking(ranking){if(!ranking)return;let rankingWeights={term_similarity:ranking.termSimilarity??null,page_length:ranking.pageLength??null,term_saturation:ranking.termSaturation??null,term_frequency:ranking.termFrequency??null};let ptr=await this.getPtr();this.raw_ptr=this.backend.set_ranking_weights(ptr,JSON.stringify(rankingWeights))}async init(language,opts){await this.loadEntry();let index=this.findIndex(language);let lang_wasm=index.wasm?index.wasm:"unknown";let resources=[this.loadMeta(index.hash)];if(opts.load_wasm===true){resources.push(this.loadWasm(lang_wasm))}await Promise.all(resources);this.raw_ptr=this.backend.init_pagefind(new Uint8Array(this.searchMeta));if(Object.keys(this.mergeFilter)?.length){let filters2=this.stringifyFilters(this.mergeFilter);let ptr=await this.getPtr();this.raw_ptr=this.backend.add_synthetic_filter(ptr,filters2)}if(this.ranking){await this.set_ranking(this.ranking)}}async loadEntry(){try{let entry_response=await fetch(`${this.basePath}pagefind-entry.json?ts=${Date.now()}`);let entry_json=await entry_response.json();this.languages=entry_json.languages;if(entry_json.version!==this.version){if(this.primary){console.warn(["Pagefind JS version doesn't match the version in your search index.",`Pagefind JS: ${this.version}. Pagefind index: ${entry_json.version}`,"If you upgraded Pagefind recently, you likely have a cached pagefind.js file.","If you encounter any search errors, try clearing your cache."].join("\n"))}else{console.warn(["Merging a Pagefind index from a different version than the main Pagefind instance.",`Main Pagefind JS: ${this.version}. Merged index (${this.basePath}): ${entry_json.version}`,"If you encounter any search errors, make sure that both sites are running the same version of Pagefind."].join("\n"))}}}catch(e){console.error(`Failed to load Pagefind metadata:
+${e?.toString()}`);throw new Error("Failed to load Pagefind metadata")}}findIndex(language){if(this.languages){let index=this.languages[language];if(index)return index;index=this.languages[language.split("-")[0]];if(index)return index;let topLang=Object.values(this.languages).sort((a,b)=>b.page_count-a.page_count);if(topLang[0])return topLang[0]}throw new Error("Pagefind Error: No language indexes found.")}async loadMeta(index){try{let compressed_resp=await fetch(`${this.basePath}pagefind.${index}.pf_meta`);let compressed_meta=await compressed_resp.arrayBuffer();this.searchMeta=this.decompress(new Uint8Array(compressed_meta),"Pagefind metadata")}catch(e){console.error(`Failed to load the meta index:
+${e?.toString()}`)}}async loadWasm(language){try{const wasm_url=`${this.basePath}wasm.${language}.pagefind`;let compressed_resp=await fetch(wasm_url);let compressed_wasm=await compressed_resp.arrayBuffer();const final_wasm=this.decompress(new Uint8Array(compressed_wasm),"Pagefind WebAssembly");if(!final_wasm){throw new Error("No WASM after decompression")}this.wasm=await this.backend(final_wasm)}catch(e){console.error(`Failed to load the Pagefind WASM:
+${e?.toString()}`);throw new Error(`Failed to load the Pagefind WASM:
+${e?.toString()}`)}}async _loadGenericChunk(url,method){try{let compressed_resp=await fetch(url);let compressed_chunk=await compressed_resp.arrayBuffer();let chunk=this.decompress(new Uint8Array(compressed_chunk),url);let ptr=await this.getPtr();this.raw_ptr=this.backend[method](ptr,chunk)}catch(e){console.error(`Failed to load the index chunk ${url}:
+${e?.toString()}`)}}async loadChunk(hash){if(!this.loaded_chunks[hash]){const url=`${this.basePath}index/${hash}.pf_index`;this.loaded_chunks[hash]=this._loadGenericChunk(url,"load_index_chunk")}return await this.loaded_chunks[hash]}async loadFilterChunk(hash){if(!this.loaded_filters[hash]){const url=`${this.basePath}filter/${hash}.pf_filter`;this.loaded_filters[hash]=this._loadGenericChunk(url,"load_filter_chunk")}return await this.loaded_filters[hash]}async _loadFragment(hash){let compressed_resp=await fetch(`${this.basePath}fragment/${hash}.pf_fragment`);let compressed_fragment=await compressed_resp.arrayBuffer();let fragment=this.decompress(new Uint8Array(compressed_fragment),`Fragment ${hash}`);return JSON.parse(new TextDecoder().decode(fragment))}async loadFragment(hash,weighted_locations=[],search_term){if(!this.loaded_fragments[hash]){this.loaded_fragments[hash]=this._loadFragment(hash)}let fragment=await this.loaded_fragments[hash];fragment.weighted_locations=weighted_locations;fragment.locations=weighted_locations.map((l)=>l.location);if(!fragment.raw_content){fragment.raw_content=fragment.content.replace(//g,">");fragment.content=fragment.content.replace(/\u200B/g,"")}if(!fragment.raw_url){fragment.raw_url=fragment.url}fragment.url=this.processedUrl(fragment.raw_url,search_term);const excerpt_start=calculate_excerpt_region(weighted_locations,this.excerptLength);fragment.excerpt=build_excerpt(fragment.raw_content,excerpt_start,this.excerptLength,fragment.locations);fragment.sub_results=calculate_sub_results(fragment,this.excerptLength);return fragment}fullUrl(raw){if(/^(https?:)?\/\//.test(raw)){return raw}return`${this.baseUrl}/${raw}`.replace(/\/+/g,"/").replace(/^(https?:\/)/,"$1/")}processedUrl(url,search_term){const normalized=this.fullUrl(url);if(this.highlightParam===null){return normalized}let individual_terms=search_term.split(/\s+/);try{let processed=new URL(normalized);for(const term of individual_terms){processed.searchParams.append(this.highlightParam,term)}return processed.toString()}catch(e){try{let processed=new URL(`https://example.com${normalized}`);for(const term of individual_terms){processed.searchParams.append(this.highlightParam,term)}return processed.toString().replace(/^https:\/\/example\.com/,"")}catch(e2){return normalized}}}async getPtr(){while(this.raw_ptr===null){await asyncSleep(50)}if(!this.raw_ptr){console.error("Pagefind: WASM Error (No pointer)");throw new Error("Pagefind: WASM Error (No pointer)")}return this.raw_ptr}parseFilters(str){let output={};if(!str)return output;for(const block of str.split("__PF_FILTER_DELIM__")){let[filter,values]=block.split(/:(.*)$/);output[filter]={};if(values){for(const valueBlock of values.split("__PF_VALUE_DELIM__")){if(valueBlock){let extract=valueBlock.match(/^(.*):(\d+)$/);if(extract){let[,value,count]=extract;output[filter][value]=parseInt(count)??count}}}}}return output}stringifyFilters(obj={}){return JSON.stringify(obj)}stringifySorts(obj={}){let sorts=Object.entries(obj);for(let[sort,direction]of sorts){if(sorts.length>1){console.warn(`Pagefind was provided multiple sort options in this search, but can only operate on one. Using the ${sort} sort.`)}if(direction!=="asc"&&direction!=="desc"){console.warn(`Pagefind was provided a sort with unknown direction ${direction}. Supported: [asc, desc]`)}return`${sort}:${direction}`}return``}async filters(){let ptr=await this.getPtr();let filters2=this.backend.request_all_filter_indexes(ptr);let filter_chunks=filters2.split(" ").filter((v)=>v).map((chunk)=>this.loadFilterChunk(chunk));await Promise.all([...filter_chunks]);ptr=await this.getPtr();let results=this.backend.filters(ptr);return this.parseFilters(results)}async preload(term,options2={}){await this.search(term,{...options2,preload:true})}async search(term,options2={}){options2={verbose:false,filters:{},sort:{},...options2};const log=(str)=>{if(options2.verbose)console.log(str)};log(`Starting search on ${this.basePath}`);let start=Date.now();let ptr=await this.getPtr();let filter_only=term===null;term=term??"";let exact_search=/^\s*".+"\s*$/.test(term);if(exact_search){log(`Running an exact search`)}term=term.toLowerCase().trim().replace(/[\.`~!@#\$%\^&\*\(\)\{\}\[\]\\\|:;'",<>\/\?\-]/g,"").replace(/\s{2,}/g," ").trim();log(`Normalized search term to ${term}`);if(!term?.length&&!filter_only){return{results:[],unfilteredResultCount:0,filters:{},totalFilters:{},timings:{preload:Date.now()-start,search:Date.now()-start,total:Date.now()-start}}}let sort_list=this.stringifySorts(options2.sort);log(`Stringified sort to ${sort_list}`);const filter_list=this.stringifyFilters(options2.filters);log(`Stringified filters to ${filter_list}`);let index_resp=this.backend.request_indexes(ptr,term);let filter_resp=this.backend.request_filter_indexes(ptr,filter_list);let chunks=index_resp.split(" ").filter((v)=>v).map((chunk)=>this.loadChunk(chunk));let filter_chunks=filter_resp.split(" ").filter((v)=>v).map((chunk)=>this.loadFilterChunk(chunk));await Promise.all([...chunks,...filter_chunks]);log(`Loaded necessary chunks to run search`);if(options2.preload){log(`Preload \u2014 bailing out of search operation now.`);return null}ptr=await this.getPtr();let searchStart=Date.now();let result=this.backend.search(ptr,term,filter_list,sort_list,exact_search);log(`Got the raw search result: ${result}`);let[unfilteredResultCount,all_results,filters2,totalFilters]=result.split(/:([^:]*):(.*)__PF_UNFILTERED_DELIM__(.*)$/);let filterObj=this.parseFilters(filters2);let totalFilterObj=this.parseFilters(totalFilters);log(`Remaining filters: ${JSON.stringify(result)}`);let results=all_results.length?all_results.split(" "):[];let resultsInterface=results.map((result2)=>{let[hash,score,all_locations]=result2.split("@");log(`Processing result:
+ hash:${hash}
+ score:${score}
+ locations:${all_locations}`);let weighted_locations=all_locations.length?all_locations.split(",").map((l)=>{let[weight,balanced_score,location]=l.split(">");return{weight:parseInt(weight)/24,balanced_score:parseFloat(balanced_score),location:parseInt(location)}}):[];let locations=weighted_locations.map((l)=>l.location);return{id:hash,score:parseFloat(score)*this.indexWeight,words:locations,data:async()=>await this.loadFragment(hash,weighted_locations,term)}});const searchTime=Date.now()-searchStart;const realTime=Date.now()-start;log(`Found ${results.length} result${results.length == 1 ? "" : "s"} for "${term}" in ${Date.now() - searchStart}ms (${Date.now() - start}ms realtime)`);return{results:resultsInterface,unfilteredResultCount:parseInt(unfilteredResultCount),filters:filterObj,totalFilters:totalFilterObj,timings:{preload:realTime-searchTime,search:searchTime,total:realTime}}}};var Pagefind=class{constructor(options2={}){this.backend=wasm_bindgen;this.primaryLanguage="unknown";this.searchID=0;this.primary=new PagefindInstance({...options2,primary:true});this.instances=[this.primary];this.init(options2?.language)}async options(options2){await this.primary.options(options2)}async init(overrideLanguage){if(document?.querySelector){const langCode=document.querySelector("html")?.getAttribute("lang")||"unknown";this.primaryLanguage=langCode.toLocaleLowerCase()}await this.primary.init(overrideLanguage?overrideLanguage:this.primaryLanguage,{load_wasm:true})}async mergeIndex(indexPath,options2={}){if(this.primary.basePath.startsWith(indexPath)){console.warn(`Skipping mergeIndex ${indexPath} that appears to be the same as the primary index (${this.primary.basePath})`);return}let newInstance=new PagefindInstance({primary:false,basePath:indexPath});this.instances.push(newInstance);while(this.primary.wasm===null){await asyncSleep(50)}await newInstance.init(options2.language||this.primaryLanguage,{load_wasm:false});delete options2["language"];await newInstance.options(options2)}mergeFilters(filters2){const merged={};for(const searchFilter of filters2){for(const[filterKey,values]of Object.entries(searchFilter)){if(!merged[filterKey]){merged[filterKey]=values;continue}else{const filter=merged[filterKey];for(const[valueKey,count]of Object.entries(values)){filter[valueKey]=(filter[valueKey]||0)+count}}}}return merged}async filters(){let filters2=await Promise.all(this.instances.map((i2)=>i2.filters()));return this.mergeFilters(filters2)}async preload(term,options2={}){await Promise.all(this.instances.map((i2)=>i2.preload(term,options2)))}async debouncedSearch(term,options2,debounceTimeoutMs){const thisSearchID=++this.searchID;this.preload(term,options2);await asyncSleep(debounceTimeoutMs);if(thisSearchID!==this.searchID){return null}const searchResult=await this.search(term,options2);if(thisSearchID!==this.searchID){return null}return searchResult}async search(term,options2={}){let search2=await Promise.all(this.instances.map((i2)=>i2.search(term,options2)));const filters2=this.mergeFilters(search2.map((s)=>s.filters));const totalFilters=this.mergeFilters(search2.map((s)=>s.totalFilters));const results=search2.map((s)=>s.results).flat().sort((a,b)=>b.score-a.score);const timings=search2.map((s)=>s.timings);const unfilteredResultCount=search2.reduce((sum,s)=>sum+s.unfilteredResultCount,0);return{results,unfilteredResultCount,filters:filters2,totalFilters,timings}}};var pagefind=void 0;var initial_options=void 0;var init_pagefind=()=>{if(!pagefind){pagefind=new Pagefind(initial_options??{})}};var options=async(new_options)=>{if(pagefind){await pagefind.options(new_options)}else{initial_options=new_options}};var init=async()=>{init_pagefind()};var destroy=async()=>{pagefind=void 0;initial_options=void 0};var mergeIndex=async(indexPath,options2)=>{init_pagefind();return await pagefind.mergeIndex(indexPath,options2)};var search=async(term,options2)=>{init_pagefind();return await pagefind.search(term,options2)};var debouncedSearch=async(term,options2,debounceTimeoutMs=300)=>{init_pagefind();return await pagefind.debouncedSearch(term,options2,debounceTimeoutMs)};var preload=async(term,options2)=>{init_pagefind();return await pagefind.preload(term,options2)};var filters=async()=>{init_pagefind();return await pagefind.filters()};export{debouncedSearch,destroy,filters,init,mergeIndex,options,preload,search}
\ No newline at end of file
diff --git a/pagefind/wasm.en.pagefind b/pagefind/wasm.en.pagefind
new file mode 100644
index 0000000..6a6c03e
Binary files /dev/null and b/pagefind/wasm.en.pagefind differ
diff --git a/pagefind/wasm.unknown.pagefind b/pagefind/wasm.unknown.pagefind
new file mode 100644
index 0000000..c9b1460
Binary files /dev/null and b/pagefind/wasm.unknown.pagefind differ
diff --git a/posts/authority-consents-blind-spot/index.html b/posts/authority-consents-blind-spot/index.html
new file mode 100644
index 0000000..782f58e
--- /dev/null
+++ b/posts/authority-consents-blind-spot/index.html
@@ -0,0 +1,412 @@
+
+
+
+
+
+
+
+ Authority - Consent's Blind Spot - joshua.seigler.net
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Authority - Consent's Blind Spot
+
+ Joshua SeiglerJuly 2, 2020
+
+
+
+
+
+ 2025 disclaimer: I haven’t thought through all these ideas in a while,
+ but I probably would change some of this or soften/rephrase it.
+
+
+
+ Consent occurs when an individual voluntarily agrees to the proposal or
+ desires of another. It comes from the concept that who should decide
+ what happens to your person, is you.
+
+
+ There are two ways people interact: with consent, and without it. Some
+ people care a lot about consent, but overall, most take whichever route
+ is easiest, or more convenient.
+
+
+ People respect consent in most of their face-to-face dealings with
+ others. Violating someone’s consent in person is usually met with
+ resistance, possibly very strong resistance with a long-lasting impact.
+ But there are covert ways to violate consent, so that the target must
+ not notice the violation—or if they do notice, they must be unable to
+ determine who is to blame.
+
+
+ Pretty much everyone has had circumstances where they did something
+ because another person, or group of people, compelled their compliance.
+ Classic examples include paying taxes, being drafted, and avoiding
+ certain activities, beliefs, or substances.
+
+
+ Here are some popular excuses for violating consent that you may have
+ seen:
+
+
+
I am actually helping you.
+
+
+
+ You like some of the things I do, so you must accept this as well.
+
+
+
+
Everyone else lets me do this.
+
+
+
Everyone else said it was okay if I do this.
+
+
+
I am doing this, but someone else is responsible for my actions.
+
+
+
You agreed to this by being born here.
+
+
+
I am allowed to do this.
+
+
+ That last one combines all the others into one argument, called
+ authority. This is the idea that certain people are justified in
+ violating consent. Usually there is a vaguely religious ceremony
+ associated with the granting of authority—something like a holy
+ document, large gatherings of people, formal outfits, or important
+ sounding titles.
+
+
+ Sometimes consensual relationships are described as involving authority,
+ such as a boss at work having “authority” over an employee—but the
+ difference is clear: if the boss says to do something but the employee
+ no longer consents, they could exit that relationship.
+ Sometimes people refer to an expert as an “authority” on a certain
+ matter, but this definition is also not of use here. I refer to
+ authority here as the ability to act upon another’s person, without
+ regard for consent.
+
+
+ One problem with authority is that all the people on earth are humans.
+ There’s nobody better than humans who would obviously deserve special
+ treatment, nor is there some obviously superior category of human, so
+ people expect some excuse for how an ordinary person obtains authority.
+
+
+ In certain belief systems, the excuse was “God chose me and made me
+ worthy.” Contemporarily, the claim is based on “the will of the people”.
+ Whoever wins a special regional popularity competition is considered to
+ have authority over everyone in that region, even people who disagree.
+
+
+ You would think acting on someone in a way they don’t allow is
+ difficult, but people are impressed by ceremonies of authority, and they
+ are confused by the way everyone involved claims that their actions are
+ someone else’s responsibility. Even if people manage to see through the
+ tricks they are usually still afraid to resist authority out of a belief
+ that nobody will help them. So almost everyone obeys.
+
+
+
+ Solutions
+
+
Once you have seen through this trick, what can you do?
+
+
+ Look for ways to sidestep authority altogether.
+
+
+ Since very few people accept absolute authority, there are all
+ kinds of limitations to its scope. If you can find ways to move your
+ activities to areas of life that are not “covered” by authority, you
+ will be able to ignore it more.
+
+
+ Teach other people how to see these tricks more clearly.
+
+
+ Relatively few people claim to have authority. If even a moderate
+ fraction of people resist authoritarian demands, it becomes impossible
+ to compel them all by force.
+
+ For every authority-based solution to a problem, there is a more
+ effective consensual solution, and usually the consensual way of doing
+ things is already being used somewhere, and has lower costs and better
+ outcomes.
+
+
+ Use the ceremonies of authority against itself.
+
+
+ If someone with authority asks your opinion on some topic, steer them
+ away from choices that violate consent. It may even be appropriate to
+ support people who seek positions of authority if you believe they will
+ prevent it from being used, but don’t be surprised if their encounter
+ with power changes their values.
+
+
+ Surround yourself with people who care about consent.
+
+
+ If you know the people around you care about consent, then when someone
+ claiming authority makes demands of the community, it will be much safer
+ to ignore the demands since you would not be alone.
+
+ Logical arguments no longer work. This has been especially visible in
+ the pandemic response in 2020. If you dug even a little below the
+ surface of any mainstream narrative in the past two years, you likely
+ found points of disagreement. But showing people scientific papers,
+ charts, statistical analysis, or other types of evidence accomplishes
+ nothing, or worse it invites accusations of being part of the Other
+ Team, one of those backwards, wrong, stupid people.
+
+
+ In mid-2020 Vin Armani (now Cyprian) started calling this change “The
+ Dim Age”[1]. He suggested that most people still see the world as exclusively
+ physical, oblivious to patterns of reality that are plainly obvious to
+ more mystically aware people.
+
+
+ In an attempt to remedy my newfound illiteracy, I started exploring
+ symbolism, which as I understood it dealt with identifying and
+ understanding meaning. I found Jonathan Pageau’s project
+ The Symbolic World, which has some very accessible videos breaking down movies and other
+ pop culture artifacts from a symbolic perspective
+ [2]. These commentaries did not seem arbitrary or speculative, but pointed
+ to cultural trends that I couldn’t un-see once I understood them. I
+ binged a bunch more of his material, including eventually a book his
+ brother Mattheiu wrote,
+ The Language of Creation: Cosmic Symbolism in Genesis[3]. Through this I discovered a side of reality I had been almost
+ completely oblivious to, and what’s more, an aspect of my faith which
+ had somehow completely passed me by.
+
+
+ From there I started listening to the
+ Lord of Spirits
+ podcast. I learned that commonplace, obvious understanding of existence
+ as material and spiritual has been mostly lost, displaced by
+ modern confidence that the material world is the limit of reality, over
+ which sovereign mankind rules. The ancient faith of Christianity, known
+ now as “Eastern Orthodoxy”, corresponds with reality, especially
+ spiritual patterns of reality as we see more plainly every week, better
+ than anything else I know.
+
+
+
+ Additional thoughts
+
+
+ For a while I think my highest values have been freedom and truth. A
+ desire to be solely responsible for myself, and a desire to understand
+ myself and the world fully and accurately. But I didn’t realize that my
+ chief obstacle is hardly megacorps and governments: I am ruled by my own
+ out-of-control desires: for comfort, pleasure, control, satisfaction,
+ even self-mastery. In a paradise where my every whim was manifested, I
+ would still be a slave to desire, consuming and wanting more
+ and more.
+
+
+ Investigating eastern orthodoxy, this ancient Christianity, revealed a
+ better path to freedom and truth: aiming higher. Every action and choice
+ is in service to something. Instead of serving little tyrannical gods
+ like comfort or pleasure, or potentially nobler gods like a country or
+ even a “liberty movement”, I will attempt to serve the Most High.
+
+ Around the time of my previous post, I had just been received into the
+ Orthodox church. Since then I have found it to be everything I was
+ looking for, and a great deal more. There is such a wealth of wisdom,
+ going back thousands of years. And it was all there, un-seen, un-read,
+ as far as I was concerned not existing at all! It seems impossible to me
+ that I was so unaware of these treasures by chance.
+
+
+ Father Seraphim Rose, Saint Paisios, Saint Porphyrios, Elder Thaddeus of
+ Vitovnica - to name only a few! - lived in this world, recently. They
+ speak plainly and lovingly about modern and familiar concerns. Their
+ example and guidance are a priceless treasure! And not only they help
+ me, but participating in the tradition of the Orthodox Church has… I
+ don’t even know how to say it all. I have experienced how the prodigal
+ son felt when he took a few trembling steps back to his father, and
+ instead of the rejection or anger he had earned, he received joyful,
+ unearned forgiveness. His father ran to him while he was still
+ far away!
+
+
+ Here is what I know, now from experience: Jesus Christ is life and truth
+ and love. To look for life, or truth, or love apart from Him is
+ pointless! It’s a contradiction, like looking for light by marching into
+ the shadows. God made me, and He loves me more than I love myself.
+ Because this is true, I want to do everything His way, even if I don’t
+ understand it at first.
+
+ Authority is the idea that certain people are justified in violating
+ consent. This belief allows people to force others to do what they
+ want with a clear conscience.
+
+ Needs-based communication (usually called non-violent communication or
+ NVC™) is a way of understanding yourself and others with a unique
+ insight: everyone has their own personal reactions to the world, but
+ people have the same basic needs. We recognize those needs in other
+ people, and that common connection can allow us to communicate clearly
+ when there is conflict.
+
+
+ Needs are universal to humanity. They are common drives
+ that we all experience, and this universality makes them perfect for
+ connecting with each other. Some broad categories of needs are the needs
+ for: connection, physical well-being, honesty, play, peace, autonomy,
+ and meaning. Needs can also be specific: a need for clarity, nurturing,
+ integrity, trust, space, etc. Needs are abstract, not connected to
+ people or actions. For example, peace is a need, muting TV commercials
+ is not. Here is
+ a partial list of needs
+ from the Center for Non-Violent Communication (CNVC).
+
+
+ Everything anyone does is an attempt to meet a need. None of
+ these universal needs is wrong or inherently harmful, although sometimes
+ the strategies we use can be.
+
+
+ Conflict happens when our needs aren’t met. We get
+ stuck in conflict when we mix up needs and strategies. Needs never
+ conflict with each other, only strategies do.
+
+
+ When we experience conflict or negative feelings, that indicates that
+ there is an unmet need. In an attempt to end a conflict, we often settle
+ on unsatisfying resolutions:
+
+
+
+ We suppress the need and move on, painfully leaving the problem
+ unaddressed.
+
+
+ We come to an uneasy agreement about who is the winner and who is the
+ loser, and the loser gives up on meeting their need. The immediate
+ conflict is over, but the problem is not really resolved.
+
+
+ We escalate, expanding the conflict in an attempt to win, at the
+ other’s expense if necessary.
+
+
+
+ These resolutions can happen despite our best intentions, as a result of
+ not understanding what’s happening as we fight. A very common mistake is
+ to confuse needs and strategies.
+
+
+ Strategies are things we do to meet our needs. In
+ contrast to needs, which are abstract and universal, strategies are
+ personal, specific, and widely varied.
+
+
+ For example, consider the need for self-expression. There are as many
+ strategies as there are people and situations: singing, writing,
+ talking, composing, dressing a certain way… and on and on.
+
+
+ Jumping into a conflict strategy-first is bound to cause problems if
+ that strategy doesn’t meet others’ needs as well as your own. The way
+ past conflict is for everyone involved to understand each others’ needs,
+ and then work together to find a strategy to meet those needs.
+
+
So, how do you figure out your own needs?
+
+ Negative feelings are a sign that you have an unmet need. Unfortunately,
+ most of us have learned to bundle in certain judgments and name them as
+ feelings. For example, I might think I am feeling abandoned,
+ but really this is a feeling of disconnectedness, vulnerability,
+ loneliness, or something else, combined with a judgment that someone
+ else has made me feel that way.
+
+
+ The truth is that the same situation can affect people very differently.
+ This means that feelings must come from a person’s own response to
+ things. In order to see your feelings clearly, it is important to take
+ ownership of them as your feelings rather than something caused
+ by the world around you. I have found this to be very challenging, but
+ also incredibly rewarding.
+
+
+ Once you have an honest name for what you are feeling, think about what
+ need sparked the feeling.
+
+
+ There is a (kind of clunky) formula for requesting help meeting a need
+ without tacking on strategies, demands, judgments, or other baggage. As
+ the exercise becomes more habitual, you won’t need the formula, and can
+ accomplish the same thing more naturally.
+
+
Here it is:
+
+
+ When [observation], I felt [feeling] because I was
+ having a need for [need]. (possibly also a request:) Are you
+ willing to [action]?
+
+
+
+ In the spirit of communicating without judgments, the observation should
+ be strictly focused on facts, with no mind-reading or attribution at
+ all. Sharing your feelings in addition to the need can help the other
+ person recognize the need and how it affects you. If the other person
+ understands the need, you can also make a request for some specific
+ action to help meet your need.
+
+
+ It is very important that the action you request be feasible, concrete,
+ and specific. Asking someone to change their behavior forever, think a
+ certain way, etc is too much. The request should also really, truly be a
+ request and not a demand. A “No!” should be as welcome as a “Yes!”
+ because the goal is to find a strategy that meets your needs
+ and theirs.
+
+
+ There is a (similarly clunky) pattern for discovering someone else’s
+ needs. As you listen to them, you will probably get an idea for how they
+ feel, and you may be able to guess what need they are experiencing. You
+ can ask:
+
+
+
+ When you [observation] do you feel [feeling] because
+ you are having a need for [need]? (possibly also:) Right now,
+ would you like me to [action]?
+
+
+
+ Like the other formula, this is just a beginning point, almost too rough
+ to use except for training your responses and replacing old
+ communication habits.
+
+
+ These are two sides of the same coin, a pattern that draws a line from
+ the stimulus, some observation, through the needs, towards a solution.
+ Even if you guess wrong, just focusing on someone’s feelings and needs
+ demonstrates that you are really interested in their problem.
+
+
+ Even without explicitly using this pattern (observation ➔ feeling ➔ need
+ ➔ request), just by thinking about needs (your own and others’) you can
+ untangle conflict and see other people with much more empathy. Maybe
+ that reckless driver is having a need for excitement and power, and
+ zipping around you was the best strategy they could come up with. Just
+ seeing past the image of others as enemies or obstacles can make the
+ world much less hostile, by revealing them to be real humans, people you
+ might be able to connect with. This way of thinking can also be a path
+ to growth as you take ownership of your feelings and see your needs
+ clearly.
+
+ New design! The tools I used before have a lot of unmaintained or
+ outdated dependencies and I wanted something a little simpler. The new
+ site uses
+ pnpm,
+ 11ty,
+ and
+ Nunjucks. Content is still in
+ markdown.
+
+
+ One thing I’m proud of is a visual ping for footnotes.[1]
+ When you click a footnote[2]
+ it briefly highlights the thing you jumped to.
+
+
+ In the upper right I added a style toggle that applies the font from
+ Star Wars, “Aurebesh”. I learned how to read it but sometimes want some
+ practice.
+ People who can read this are cool and I like them.
+
+
I also finally made a section for recipes!
+
+
+ May 2025 edit: I updated the design some more without changing the
+ tech stack. The main improvements are animated clouds and a host of
+ minor adjustments.
+
+
+
+
+ June 2025 edit: I have continued to alter the design. Pray I don’t
+ alter it any further.
+
+ Information today has become siloed. It’s a common belief that little,
+ if any, expertise from one field of knowledge transfers over to other
+ fields. But there is a forgotten tool that anyone can use to confidently
+ approach new subjects and problems: the Trivium.
+
+
+ The ancients considered the liberal arts to be composed of seven parts.
+ First was a foundation called the trivium, composed of grammar,
+ logic, and rhetoric. Following that was the quadrivium, which
+ was arithmetic, geometry, music, and astronomy (numbers, numbers in
+ space, numbers in time, numbers in time and space). The trivium
+ (literally, “three ways”), is a framework for learning.
+
+
+ Grammar
+
+
+ Grammar is about gaining knowledge: collecting information, without
+ judgment or analysis. It answers the questions “Who, what, where, and
+ when?” This is possibly the most important step, since (depending on
+ what you study) essential information may not be readily available.
+
+
+ Logic
+
+
+ Logic is about gaining understanding. It answers “why?” This is the
+ foundation for relating to the world. It has three components:
+ filtration, correlation, and analysis. It places the information
+ gathered into context, and eliminates inconsistency and resolves
+ conflicting perspectives.
+
+
+
+ Rhetoric
+
+
+ Rhetoric is about acting wisely: the application of knowledge and
+ understanding, put into correct action. It answers “how?”
+
+
+ Methodically applying this method provides a clear next step when
+ encountering any unfamiliar topic. This is a powerful tool for
+ methodically determining the best way to achieve your goals.
+
+ There’s an exchange early in the classic '80s movie TRON. Some
+ scientists are talking shop:
+
+
+
+
+
+
+ ALAN: I tell ya, ever since he got that Master
+ Control Program, system’s got more bugs than a bait store.
+
+
+ GIBBS: Ehh, you gotta expect some static. After all,
+ computers are just machines, they can’t think…
+
+
ALAN: Programs will be thinking soon.
+
+ GIBBS: (wryly) Hahaha, won’t that be grand –
+ computers and the programs will start thinking, and the people will
+ stop!
+
+
+
+ Gibbs has a point. The modern vision of a utopian future is one where
+ work is relieved, and people are free to pursue leisure, or exercise
+ their creativity with art, writing, and poetry. Thinking computers are
+ here now, in the form of “large language models” (LLMs) like ChatGPT.
+ Setting aside the irony that creative works are the first and most
+ visible applications of LLM technology – is that imagined future
+ actually a good one?
+
+
+
+ Mom is always right
+
+
+ When I was a kid, I remember a day going to yard sales with my mom in
+ the family minivan. It was early summer, a hot day. The windows were
+ down, and I complained that if the vehicle has good air conditioning, we
+ should use it. What was the point in getting all hot? “To get used to
+ the warm weather,” came the answer. What an injustice! We were sweating
+ back there! Later in life, I took a short trip to Arizona in August.
+ Everyone scurried from building to building. Where the sun was doubled,
+ reflected off of glass skyscrapers, the temperature jump was alarming.
+ It was actually unsafe to spend long stretches outside unprepared. But
+ when I returned to Massachusetts, for the rest of the summer 85 or 90
+ degrees Fahrenheit felt like nothing.
+
+
+ All that to say, the work that LLM technology offers to relieve isn’t
+ just about achieving a result. The effort maintains and builds our
+ abilities. Work pushes us to connect to each other for help, or to
+ persevere in doing something difficult. Outsourcing that work eventually
+ means losing the ability to do it yourself.
+
+
+
+ Attention must be paid
+
+
+ Simply put, an LLM is a document completion engine. You give it text,
+ and it extends it. The result doesn’t have to be true, it just has to be
+ convincing. No amount of pre-training or guard rails will make it
+ truthful. It does often say true things, but that’s not the point, it’s
+ more of a happy accident.
+
+
+ Because they are built from essentially the whole public internet, LLMs
+ also have a strong connection to The Algorithm. Algorithms that run
+ social media feeds and online advertising are designed to attract human
+ attention, a precious thing. Social media algorithms and LLMs are
+ oriented towards capturing that attention. The foundational LLM paper is
+ even called, “Attention is all you need”. A prescient title. LLM
+ intelligence is not like ours. It can’t know what it’s like to be a
+ human.
+
+
+ If this was a person, someone who wanted your attention and had this
+ kind of indifference towards truth, they would be considered a con-man
+ or bullshitter.
+ On Bullshit, Harry Frankfurt
+ Untrustworthy.
+
+ Science fiction is littered with cautionary tales about inhuman
+ intelligence. For that matter, so is myth: genies give people whatever
+ they want, but because people have self-destructive desires (like the
+ desire to avoid work), it goes wrong. In TRON, Infocom has the MCP
+ (Master Control Program), an overgrown chess program that is given
+ access to whatever information it can consume, until its intelligence
+ and capabilities are seemingly endless. The company leadership comes to
+ rely on the program so completely that it becomes their entire interface
+ for understanding and operating the business. There is also the irony
+ that Infocom’s success was built on the misuse of intellectual property,
+ much as LLM companies have done
+ AI, Copyright, and the Law: The Ongoing Battle Over Intellectual
+ Property Rights , IP & Technology Law Society
+ Generative AI Has an Intellectual Property Problem, Harvard Business Review.
+
+
+ I don’t think I am wise enough to safely use a genie in a bottle. And I
+ don’t want to outsource my creative efforts to an addictive,
+ bullshitting alien intellect, even if it might save time and effort in
+ the short term.
+
+ Universal dev tool version manager. Specify tool versions in a config
+ file and this tool can ensure that they are installed and active when
+ entering the project directory. Amazing for getting a new dev
+ environment set up in seconds. Replaces asdf,
+ nvm, pyenv, venv,
+ rbenv, and many other tool-specific version managers.
+ Supports an incredible number of tools thanks to compatibility with
+ asdf.
+
+
+ It also supports installing specific global tools, like
+ angular-cli from npm, or
+ stack-pr from pipx.
+
+ PR stacks are, as far as I can tell, the best way to manage large
+ features in git. I first heard about this practice in a series of blog
+ posts from Graphite, a company offering free PR-stacking software and
+ related paid services. But you don’t need a custom CI flow or managed
+ service for stacking to work - this CLI tool or one of the others at
+ stacking.dev
+ can take care of this.
+
+
+ If you start using PR stacks your whole company will start copying you.
+
+ Simple python script to update the members of a Slack group such as
+ @oncall to match the active member(s) of a PagerDuty
+ schedule. This replaces several expensive SAAS services.
+
+ In a bowl, mix all of the ingredients together in order, then pour
+ into a greased 8"x8" baking pan.
+
+
Cook uncovered for 45-50 minutes or until lightly browned.
+
+
+ Notes
+
+
+ Vegan substitutions: almond milk instead of sour cream, vegetable butter
+ or neutral oil instead of butter. Made this way, the result will be less
+ bready but still excellent. Increase cooking time slightly.
+
+
+ Doubling: if the pan size makes the uncooked mix more than about an inch
+ deep, you will need extra cooking time. Cover it with foil and cook
+ another 20 minutes or so.
+
2 Boneless Skinless Chicken Breasts, cooked and diced
+
8 ounces Orzo Pasta
+
2 Celery Stalks, finely diced
+
2 Carrots, finely diced
+
1/2 Yellow Onion, finely diced
+
5 tablespoons Butter
+
2 tablespoons Olive Oil
+
2 cups Chicken Broth
+
½ cup Heavy Whipping Cream
+
1 teaspoon Chicken Boullion Powder
+
1/3 cup All Purpose Flour
+
+
+
+ Instructions
+
+
+
Cook the orzo per the package instructions.
+
+ While that cooks, make a mirepoix:
+
+
+ In a large skillet over medium high heat add the butter and olive
+ oil.
+
+
+ Once the butter is melted add in the diced onion, carrots and
+ celery.
+
+
+ Allow the veggies to sauté for 4-5 minutes until they start to
+ soften up.
+
+
+
+
+ Reduce the heat to low and sprinkle the all-purpose flour over the
+ veggies and whisk together until it forms a paste/roux. While stirring
+ constantly, allow the roux to cook for 2-3 minutes.
+
+
+ Pour into the roux the chicken broth and heavy whipping cream. Whisk
+ together until no clumps are present and the mixture starts to
+ thicken.
+
+
+ Add in the diced chicken and allow the mixture to simmer until it
+ reaches desired thickness. Pour in drained orzo and stir to combine.
+ Serve & enjoy!
+
+
+
+ Notes
+
+
+ You can use rotisserie chicken or cook your own chicken for this recipe.
+ If you use a rotisserie chicken then no additional seasonings are
+ needed, but if you are planning to cook your own chicken then you will
+ need to season it to your liking. I typically use a blend of onion
+ powder, garlic powder, paprika, salt and black pepper.
+
+ Cook rotini in well salted water according to box directions. While
+ rotini cooks, prepare your extras.
+
+
+ Drain pasta and rinse twice in cold water to remove starch and stop
+ carryover cooking.
+
+
+ In a large bowl combine rotini and extras. Add italian dressing, at
+ least 8 oz. Mix and serve or refrigerate.
+
+
+
+ Notes
+
+
+ At first we called this “worm salad” but this proved off-putting, and we
+ needed a new name. We had recently learned about the
+ 1521 Diet of Worms
+ where Martin Luther was summoned to defend or recant his beliefs, so we
+ called it “Luther salad” instead.
+
+
+ The base salad already covers elements of
+ salt, fat, acid, and heat, so your extras are mostly for texture, leaving lots of room for
+ variations:
+
Pre-heat the oven to 350 degrees. Butter a 9×13 baking dish.
+
+ In small saucepan over low heat, melt butter completely. Stir in sugar
+ and continue cooking for 1-2 minutes, stirring constantly. Do not
+ allow sugar mixture to boil.
+
+
+ Pour butter mixture into a large bowl or stand mixer, and cool for 2
+ minutes. Beat in cocoa powder, eggs, salt, baking powder, espresso
+ powder, and vanilla extract. Mix until well combined.
+
+
Stir in the flour and chocolate chips until well combined.
+
+ Spread into prepared pan (batter will be very thick and sticky) and
+ bake for about 30 minutes, until a tester comes out mostly clean. The
+ edges should be set and the center should still look slightly moist,
+ but not uncooked. Cool on a wire rack.
+
+ Working remotely has a lot of benefits, but we miss out on the
+ serendipitous connections and socialization that happened just from
+ being in the same room. Unoffice hours is part of an attempt to make new
+ connections, but without applying the giant invisible filter of my own
+ preferences.
+