From 2c099dff152fd95c17c6ca339f80f1c532c07a3c Mon Sep 17 00:00:00 2001 From: Joshua Potter Date: Sat, 3 Aug 2024 13:31:33 -0600 Subject: [PATCH] Notes on binary search trees. --- .../plugins/obsidian-to-anki-plugin/data.json | 29 +- notes/_journal/2024-08-03.md | 6 +- notes/algebra/radices.md | 4 +- notes/data-structures/binary-search-tree.md | 394 ++++++++++++++++++ .../images/bst-deep-succ-after.png | Bin 0 -> 22273 bytes .../data-structures/images/bst-deep-succ.png | Bin 0 -> 27756 bytes .../images/bst-left-child-after.png | Bin 0 -> 9350 bytes .../data-structures/images/bst-left-child.png | Bin 0 -> 15158 bytes .../images/bst-right-child-after.png | Bin 0 -> 9334 bytes .../images/bst-right-child.png | Bin 0 -> 14991 bytes .../images/bst-right-succ-after.png | Bin 0 -> 17162 bytes .../data-structures/images/bst-right-succ.png | Bin 0 -> 23773 bytes notes/hashing/index.md | 2 +- notes/ontology/rdf/index.md | 2 +- notes/ontology/rdf/uri.md | 6 +- notes/set/relations.md | 4 +- 16 files changed, 427 insertions(+), 20 deletions(-) create mode 100644 notes/data-structures/images/bst-deep-succ-after.png create mode 100644 notes/data-structures/images/bst-deep-succ.png create mode 100644 notes/data-structures/images/bst-left-child-after.png create mode 100644 notes/data-structures/images/bst-left-child.png create mode 100644 notes/data-structures/images/bst-right-child-after.png create mode 100644 notes/data-structures/images/bst-right-child.png create mode 100644 notes/data-structures/images/bst-right-succ-after.png create mode 100644 notes/data-structures/images/bst-right-succ.png diff --git a/notes/.obsidian/plugins/obsidian-to-anki-plugin/data.json b/notes/.obsidian/plugins/obsidian-to-anki-plugin/data.json index 60d9057..cf29fed 100644 --- a/notes/.obsidian/plugins/obsidian-to-anki-plugin/data.json +++ b/notes/.obsidian/plugins/obsidian-to-anki-plugin/data.json @@ -146,7 +146,15 @@ "infinite-cartesian-product.png", "function-kernel.png", "triple-table-repr.png", - "binary-search-tree.png" + "binary-search-tree.png", + "bst-right-child.png", + "bst-right-child-after.png", + "bst-left-child.png", + "bst-left-child-after.png", + "bst-right-succ.png", + "bst-right-succ-after.png", + "bst-deep-succ.png", + "bst-deep-succ-after.png" ], "File Hashes": { "algorithms/index.md": "3ac071354e55242919cc574eb43de6f8", @@ -253,7 +261,7 @@ "combinatorics/inclusion-exclusion.md": "c27b49ee03cc5ee854d0e8bd12a1d505", "_journal/2024-02-21.md": "b9d944ecebe625da5dd72aeea6a916a2", "_journal/2024-02/2024-02-20.md": "af2ef10727726200c4defe2eafc7d841", - "algebra/radices.md": "662a3e2f611dd9655f1ef6c7ed0a9943", + "algebra/radices.md": "474178afb07f3d5037c1547cc1a132f2", "_journal/2024-02-22.md": "e01f1d4bd2f7ac2a667cdfd500885a2a", "_journal/2024-02/2024-02-21.md": "f423137ae550eb958378750d1f5e98c7", "_journal/2024-02-23.md": "219ce9ad15a8733edd476c97628b71fd", @@ -464,7 +472,7 @@ "_journal/2024-05/2024-05-16.md": "9fdfadc3f9ea6a4418fd0e7066d6b10c", "_journal/2024-05-18.md": "c0b58b28f84b31cea91404f43b0ee40c", "hashing/direct-addressing.md": "f75cc22e74ae974fe4f568a2ee9f951f", - "hashing/index.md": "90be101304334dc8771ca141fae0092c", + "hashing/index.md": "760d1fad7a890814afecfd29c6675f67", "set/classes.md": "6776b4dc415021e0ef60b323b5c2d436", "_journal/2024-05-19.md": "fddd90fae08fab9bd83b0ef5d362c93a", "_journal/2024-05/2024-05-18.md": "c0b58b28f84b31cea91404f43b0ee40c", @@ -487,7 +495,7 @@ "_journal/2024-05/2024-05-25.md": "3e8a0061fa58a6e5c48d12800d1ab869", "_journal/2024-05-27.md": "b36636d10eab34380f17f288868df3ae", "_journal/2024-05/2024-05-26.md": "abe84b5beae74baa25501c818e64fc95", - "algebra/set.md": "f7a775cd9f6bf0b3a127fc9c3b9a3c15", + "algebra/set.md": "b4d5ce4b914abe5063bf6043cf7a0aee", "algebra/boolean.md": "fc47edb7d0080b73ce1ce0d3e0e16d7d", "git/merge-conflicts.md": "761ad6137ec51d3877f7d5b3615ca5cb", "_journal/2024-05-28.md": "0f6aeb5ec126560acdc2d8c5c6570337", @@ -512,7 +520,7 @@ "_journal/2024-06/2024-06-04.md": "52b28035b9c91c9b14cef1154c1a0fa1", "_journal/2024-06-06.md": "3f9109925dea304e7172df39922cc95a", "_journal/2024-06/2024-06-05.md": "b06a0fa567bd81e3b593f7e1838f9de1", - "set/relations.md": "7ed656318eb661b9cc65d4007311f392", + "set/relations.md": "84a66a74805014d3b88ea5e8a3e763bc", "_journal/2024-06-07.md": "795be41cc3c9c0f27361696d237604a2", "_journal/2024-06/2024-06-06.md": "db3407dcc86fa759b061246ec9fbd381", "_journal/2024-06-08.md": "b20d39dab30b4e12559a831ab8d2f9b8", @@ -651,8 +659,8 @@ "_journal/2024-07/2024-07-26.md": "c167f734a5037e1a5537b1e95ca6790f", "_journal/2024-07-28.md": "8a2393673132ac57a86b3b528bfc4a16", "_journal/2024-07/2024-07-27.md": "7c48690746d8320494e29e92390eb6ee", - "ontology/rdf/uri.md": "5d9f355f314a54c5fb5099d751070656", - "ontology/rdf/index.md": "4875a042ed4e2ff0448e03bb17f1a736", + "ontology/rdf/uri.md": "07999207f65ffb35f55af42c9922e7c5", + "ontology/rdf/index.md": "36424c9bad6088cdee67f74e3b8a019f", "ontology/philosophy/permissivism.md": "643e815a79bc5c050cde9f996aa44ef5", "ontology/philosophy/nominalism.md": "46245c644238157e15c7cb6def27d90a", "ontology/philosophy/index.md": "6c7c60f91f78fdc1cdd8c012b1ac4ebd", @@ -661,11 +669,14 @@ "_journal/2024-07/2024-07-28.md": "ff5dcfb3dc1b5592894363414e20b02f", "_journal/2024-07-30.md": "025194b9b770b56a81b5a52d96a305f2", "_journal/2024-07/2024-07-29.md": "ab496a55aacc60d9456378920c599871", - "data-structures/binary-search-tree.md": "c2076aa12f7afacc96fa504dd89dae5e", + "data-structures/binary-search-tree.md": "34127d93a49d7c947008a37fecfe74ac", "_journal/2024-08-01.md": "2e3da352cfbaf29b6b49e3c3a4f090df", "_journal/2024-07/2024-07-31.md": "d397c5a4d42660eeaa290aa8316d55c1", "_journal/2024-07/2024-07-30.md": "025194b9b770b56a81b5a52d96a305f2", - "_journal/2024-08-02.md": "24648f61c675c1c52e4cb19cbac6f0dc" + "_journal/2024-08-02.md": "24648f61c675c1c52e4cb19cbac6f0dc", + "_journal/2024-08-03.md": "27f1316f792f7673cd7ea1b1e44444be", + "_journal/2024-08/2024-08-02.md": "076c35545f292eddd3c7253a41fbd40c", + "_journal/2024-08/2024-08-01.md": "2e3da352cfbaf29b6b49e3c3a4f090df" }, "fields_dict": { "Basic": [ diff --git a/notes/_journal/2024-08-03.md b/notes/_journal/2024-08-03.md index fbb44c0..9194ff6 100644 --- a/notes/_journal/2024-08-03.md +++ b/notes/_journal/2024-08-03.md @@ -2,8 +2,10 @@ title: "2024-08-03" --- -- [ ] Anki Flashcards +- [x] Anki Flashcards - [x] KoL - [ ] OGS - [ ] Sheet Music (10 min.) -- [ ] Korean (Read 1 Story) \ No newline at end of file +- [ ] Korean (Read 1 Story) + +* Additional notes on binary search trees. \ No newline at end of file diff --git a/notes/algebra/radices.md b/notes/algebra/radices.md index 87acee9..b30b4aa 100644 --- a/notes/algebra/radices.md +++ b/notes/algebra/radices.md @@ -277,7 +277,7 @@ END%% %%ANKI Basic Which hexadecimal digits are encoded in binary with a leading `1` bit? -Back: `8` through `F` +Back: `8` through `F`. Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. Tags: binary::hex @@ -286,7 +286,7 @@ END%% %%ANKI Basic Which hexadecimal digits are encoded in binary with a leading `0` bit? -Back: `0` through `7` +Back: `0` through `7`. Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. Tags: binary::hex diff --git a/notes/data-structures/binary-search-tree.md b/notes/data-structures/binary-search-tree.md index 6b4109c..a3c50df 100644 --- a/notes/data-structures/binary-search-tree.md +++ b/notes/data-structures/binary-search-tree.md @@ -13,6 +13,8 @@ A binary search tree (BST) is a [[trees#Binary Trees|binary tree]] satisfying th > Let $x$ be a node in a binary search tree. If $y$ is a node in the left subtree of $x$, then $y.key \leq x.key$. If $y$ is a node in the right subtree of $x$, then $y.key \geq x.key$. +## Traversals + Consider an arbitrary node $x$ of some BST. Then: * An **inorder** traversal visits $x$'s left child, then $x$, then $x$'s right child. @@ -190,6 +192,398 @@ Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition ( END%% +%%ANKI +Basic +In terms of the height $h$ of a BST, what is the runtime of search? +Back: $O(h)$ +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +In terms of the height $h$ of a BST, what is the runtime for finding the minimum? +Back: $O(h)$ +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +In terms of the height $h$ of a BST, what is the runtime for finding the maximum? +Back: $O(h)$ +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +### Successors + +The **successor** of a node in a binary search tree is the node whose value would appear immediately after in an in-order traversal. + +%%ANKI +Basic +How do we define the successor of a BST node in terms of in-order traversals? +Back: As the node encountered immediately after in an in-order traversal. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +Which node is the successor of $7$ in the following BST? +![[binary-search-tree.png]] +Back: $8$ +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +Which node is the successor of $2$ in the following BST? +![[binary-search-tree.png]] +Back: $5$ +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +Which node is the successor of $5$ in the following BST? +![[binary-search-tree.png]] +Back: Either $5$ or $6$. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +Which node(s) in a BST have no successor? +Back: The maximum. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +What two cases are considered when finding the successor of a BST node? +Back: If the node has a right subtree or not. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +Suppose a BST node has a right subtree. What is its successor? +Back: The minimum of the right subtree. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +Suppose a BST node does not have a right subtree. What is its successor? +Back: The first proper ancestor reached from the LHS. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Cloze +If a BST node has a right subtree, it's successor cannot have a {left} subtree. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +Suppose a BST node has a right subtree. *Why* can't its successor have a left subtree? +Back: Because then a node in that left subtree would be the actual successor. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +Suppose a BST node has a right subtree. *Why* can't its successor have a right subtree? +Back: N/A. It can. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +In terms of the height $h$ of a BST, what is the runtime for finding a node's successor? +Back: $O(h)$ +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +### Predecessors + +The **predecessor** of a node in a binary search tree is the node whose value would appear immediately before in an in-order traversal. + +%%ANKI +Basic +How do we define the predecessor of a BST node in terms of in-order traversals? +Back: As the node encountered immediately before in an in-order traversal. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +Which node is the predecessor of $7$ in the following BST? +![[binary-search-tree.png]] +Back: $6$ +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +Which node is the predecessor of $2$ in the following BST? +![[binary-search-tree.png]] +Back: N/A. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +Which node is the predecessor of $5$ in the following BST? +![[binary-search-tree.png]] +Back: Either $2$ or $5$. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +Which node(s) in a BST have no predecessor? +Back: The minimum. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +What two cases are considered when finding the predecessor of a BST node? +Back: If the node has a left subtree or not. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +Suppose a BST node has a left subtree. What is its predecessor? +Back: The maximum of the left subtree. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +Suppose a BST node does not have a left subtree. What is its predecessor? +Back: The first proper ancestor reached from the RHS. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Cloze +If a BST node has a left subtree, it's predecessor cannot have a {right} subtree. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +Suppose a BST node has a left subtree. *Why* can't its successor have a left subtree? +Back: N/A. It can. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +Suppose a BST node has a left subtree. *Why* can't its predecessor have a right subtree? +Back: Because then a node in that right subtree would be the actual predecessor. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +In terms of the height $h$ of a BST, what is the runtime for finding a node's predecessor? +Back: $O(h)$ +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +## Deletions + +Consider deleting node $z$ from a BST. There are three conceptual cases to consider corresponding to the number of children $z$ has: + +* If $z$ has no children we can just replace $z$ with `NIL`. +* If $z$ has one child, we can replace $z$ with its child. +* If $z$ has two children, we swap $z$ with either its predecessor or successor, updating pointers as necessary to maintain the binary-search-tree property. + +%%ANKI +Basic +Insert node $7.5$ into the following BST. Where is the new node located? +![[binary-search-tree.png]] +Back: As $8$'s left child. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +Insert node $6.5$ into the following BST. Where is the new node located? +![[binary-search-tree.png]] +Back: As $7$'s left child. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +Insert node $5.5$ into the following BST. Where is the new node located? +![[binary-search-tree.png]] +Back: As the lower $5$'s right child. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +When does insertion into a BST modify the root node? +Back: When the tree being inserted into is empty. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +In terms of the height $h$ of a BST, what is the runtime for inserting a node? +Back: $O(h)$ +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +How many cases are there to consider when deleting a node from a BST? +Back: Three. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +What corresponds to the cases to consider when deleting a node from a BST? +Back: The number of children the node in question has. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +Delete BST node $z$ with no children. Which node is $z$ replaced with? +Back: `NIL` +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +Delete BST node $z$ with one child. Which node is $z$ replaced with? +Back: Its one child. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +Delete BST node $z$ with two children. Which node is $z$ replaced with? +Back: Either its successor or predecessor. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +Delete BST node $z$ with two children. If replacing with its successor, what two subcases need to be considered? +Back: If $z$'s successor is its right child or not. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +Delete BST node $z$ with two children. If replacing with its predecessor, what two subcases need to be considered? +Back: If $z$'s predessor is its left child or not. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +In terms of the height $h$ of a BST, what is the runtime for deleting a node? +Back: $O(h)$ +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +Delete $z$ from the following BST. What does the resulting tree look like? +![[bst-right-child.png]] +Back: +![[bst-right-child-after.png]] +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +Delete $z$ from the following BST. What does the resulting tree look like? +![[bst-left-child.png]] +Back: +![[bst-left-child-after.png]] +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +Delete $z$ from the following BST. What does the resulting tree look like? +![[bst-right-succ.png]] +Back: +![[bst-right-succ-after.png]] +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +Delete $z$ from the following BST. What does the resulting tree look like? +![[bst-deep-succ.png]] +Back: +![[bst-deep-succ-after.png]] +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +What arbitrary choice was implied in the deletion algorithm of the following BST? +![[bst-deep-succ.png]] +Back: To replace deleted nodes with their successor instead of predecessor. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + ## Bibliography * Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). \ No newline at end of file diff --git a/notes/data-structures/images/bst-deep-succ-after.png b/notes/data-structures/images/bst-deep-succ-after.png new file mode 100644 index 0000000000000000000000000000000000000000..9cd19652afc57a71676dec49e42737e0dfd41478 GIT binary patch literal 22273 zcmdqIWmH|wvM7o}a1HM64#73JySuxyaCdiicXto&4#7PT+#T{(zP;}``<-#_-}mFK zF?!5i)m=8bs@iHsD9DK;z~aDyfPf%KN{A|ffPg{+iwz7E5HgVN%?|W{s_7lis$}6QFx+^uA(3zO?Byhrf^c{pY`7My!3Y5?fA{SA5V3#K5c^vUOLg z-S?o;*#j_tQIYJC$%9|Q-XI{|p|q&S;DX7wzZP%5E5Xywp$>u&>yZs(JL!-PTRL@% zo1qa-2DT%BkYgZMH6lXacgjGwCag?ZbnPIYTYb*9kr)rr!Dlr#Z9I?-iXWZ>$o6LnM<7N-{UsVo``qjz zgp6y{E39YAm+ExSLK1cgK$&dl3oIdMznO;kJSwC zR$)SA`l)F7z;v*N?*T;2s79*c_;-y5KhQah;aD{jL^zBjtJ!?v!i`^k82EMYtHm=Q zMymcy`}GT98gnC^+CZG5x$*nB-af zvpqPpeROU@(U;GL+lFu7lhJDGN2i~;29&npjncXUzYS~fG7~aLbnxdgOvJ^ejYeRa zISLmY-Rw>ZeKQCEX+I#VFAbn3f`j3H&3xU>>86Bn@W(O%;dfAA5+O}A;S&bLfQRhL zhd&e91G4+7(~w|^{bg6DvF5*G0$ zJX;%YO1+-!jkNcNf=$YY!wko06K~Ko+i|-X9() z#2&WlVI|ncPPI$}*{qqn_L1ysxrG_A#5YzNvuIUS) z+%x%^pnmm3&5UBVgEH3%5hwL*1(I9$`VjdjuOcWsT4K<34 zv_b-kM3iid&ID8`G?`R&jG`EEEecOqj^sE&?vUda`S*7{(mVxtRiPFI(j{2@5Ecar zoY0XXw0U?J8m;iJMbh(9&0n`7I0`A}qfT6#;d}xR4M3DfT$q%nK#dLP=wPJ>7MPhi zplOF`>b0sttpjFXXjVcV3<(`c`1V5^*HzCV-GqO{ z@=@WxJVMBWWiiFZ3#E%u5vw4#q9UTo4fZU_0>sHsUBg#I-PyP3VN~`*DI=dmQM0m9_9%G5Hic7#W;yayT(;ns za+=avd09D9IiZSWWo)I5YVN7dvemNKGHoT}@|absl}wAIRfrXa)!Q;d#Y08Xa?O(F zDc%Fu>GEmVl6@tT#T=WMwW#Hx72W*L0!O_f@uXtQ672HvMY@&EY7eP9W`v@QMGZCv zTTolL3$_~VsB+Vq;gyL6n#J{!<$~q9nu?3UoN_+hF0Hq6w=~33)0bWGi;kSKkdF5nAo7(kg;f4yG)eNYK;Dz{Wb|m zxnVxgL(7bai|98=8Fx%NcCqD7$`z?AZkvCTMUWMdAur96;gJ!@(##@H$H=(g=(3k% zHcv0hs$;QdziMM@2(M2!RkU{;O|%)WpK8`I_E@>?Noi3{To$gPs3NfDvu<@QaP4{E z!>x>|n^wuv%Cc@1)eg07z2M%MbSuxP(k<0(*&_E^+Md=k=$q+vCNnG^mDn3wPvFE? z!AnPkM0`L*!gs|R#E-(u!qbm!#7beY8ZK`t>gDR-KKf?s*vX^i>~eBaI8R@s&$Geh zoKuxk7gG@X1&7sL<}O{G;gP{R?SY|9$Fdfs7EV`Nx39CKD`E?0({qb{Q+dmJ)1IXn zYd)Gh+L-_X$uF*hK%AG~v(w|3*X7;&Whr z%z!TessTuWQ-Lgjr$Mhlx8%S2bu1N1FY^1yYR_tGVTU_f{G%`)#&b&sX8NZn=EF~$kmdV1z z@9=(lvxTNZnJm-JJny-GA8|~HEi;kf;?lToGIRJ*5xi8qgkPcmO)*<*Mi7UmhN32K za=&)3clYH+?Z)$E``ziY$>r+)_C6Q>Dmn$bC!;q5Bf|$QHDBtQhL+4)WaaI={M>de zh)a^I%Q?kK*%|2zd&t_4R_YPuQu*KLYf)07y2^ZIwYlqzh-miHBDWO3*pICT2w&VH zVh%CK2f^|JPXmz_QOhp!YMFJv_4tHtMGv#)VnAVha-ijn=d5v0x~#lwBAK(A+h+z% zNoFl_uX@|vY+iZ{+_lb@P0i;1@k&ru^qAj(l!ViYjEOwP5cnj2PJ2aNMs*yY4$*_- zr2B#S<*O?lK@;F&-@c@K0nSv;6vI?M)gevi+4a6Ir4NxoR)4)=%69GbXz1w25vSU7 z?N7a0MLmsAfa%c0i0Zv+N!503ZuhHqi1ctMdop_>yKc%}%Ct583WNSz2~E?fXN%v% zCC*^xF#FZ&&5Ew(Ra>uN(0phkLLLV!$M!mUcSXZWWvdaZqw~P8GHukh?2nim?Jc#S z8dL2)J2bnqb%L&*nwg$jyRf}j(+7*5;$HXT;G8sf$a5<@2aBK0+UD+S1oh&L$1mGU zJ)Dmr7uH*|KX)AZZw04?)&~~EiXFv_{glm=)t#N3j|=8RYUuUop^vsY8 zZat4~!s>=mw#jt}zO`;dE{H`Q;;M)KGhZS@GA zC$H)rKOH}|>W1o|^cg*h{+MlOr?u69&x0dvAN9Vy_udD6hFuV16VCcdz22YSH8U17 zrs&)DwR*$7x!E(hJ17jHIGgl=VO3jra)Z>hfeOk(`9sZ`C*R!OdUjvKNSJ1Zw1DRI=+2;e{Hk)$5=dK!`Nm&pMKK73p*I#s6 z?C+z#Wj#i6{IdyGQ3?0l@qx(<=AHQEeTxyeqlh%skTjE(1)%}fVL%{2aX=t}HBeyT z2gUubx)>-G2>3s6Fc6S1OAv^E_mKlW|Ni2Eltm;Zflp;)CsR{9XA66m>Gr!)AmEFGgr+kH$XD{e1yoXr>>30FtjtnH z!$m_@hTGWQmch`(-pG^zVC(Rg4hS!R8(6h9bulCY*xJ}Ra|8HD{^`LDtp5cwk`VpV z#l@PBL_=1ANW|XBl!$|YiGhiPAC`!Sh}X%)j9W=m?BD3Xe|#hsE-nt-jEwH??hNj% z4E9dujLckIT#QUCj4Uklz#jC@9(FE<0D3!T(ti>8KXgP*osFF=9b7E!?TG%;H8iq! zb>Sl+`OE0Pe*cow#nSA*IoUb?TP>i1jDK4gnHiWE|2H&KfaU)M?QhG!(EicuU+j4Q z664lXGIh4Mas4Y6KQkK}?>{X5U(o*+@Lw1j|0~9SLjNbmeGE>AoAbX~Su z>bhu2dSGD!?;*g7lQ@#P|8Q}75D&p;+?xIB$#6DgVYT1xI^ucqecE)s;^U;Cpb!g! z5E4X2hFB*?-ni`Y#(;nT6%r&SIwZmn0z$b(1;+|RG!6@ih+ts2B=C_TAOa9kkeyDD zzjjc;z<>!ODnSDg@K$+`Yz^8XpR z)RXRV%YEx_+~hls6$jkCbm~Qr0jU9q70X~;f6eMIx7R3ltbPqwN!XZVis zWHP^@L_~biXfmVM^YUR3i^U6gZvW=}d6Y)Qzz~WodasI39Cnh_v4Gg#pzm<$(f;P% zCz7-hY@X|dSfyS!Vw$EC*w_1qztjB;Ds3_(BUdRv=F9}gwTl%l`nt0z&BosGDi4Nxo5@0@NhT?N` zW4(OcIhB-@>Rr}Yy5C0K{nXYi7fUO5q#rNI4-PZ)J{T|yp@HLilE6Mg34XXM6r`Z9 zALst(o^okvso4rahM=ON;@d;A@^Z`fD9nQ9YP!g|gu+&FpcV0vpgiZ``UWmW{4UFj z9Vw+qPEOvvW90v%Dd{2A$+8((CaamdVR65Ot*DmjHIS5hbaMTX>$&*quBEYYL>`*w_ zVj%|wt?$BM1f73CU5Z)|-rq{6v+7MJ)gHRuBlLhqTPXU--ohRUlaB8BFd>pXT`Dy* zGG0dD2PP>QLA9+5-?bGB3HLR>wzqbf0EHY`l6eE@8*_;95+9w;$8zTzeex(nV+o`; z&)HnhM=9!igMAUENY-DIfVyu=ZB&m9RW;cjLWO5g9k7B zkJ5DIL?YfAoQ|Y)n4KwJA1=ZebUO|He10@P8mgk_lYBpi2W6IU3sneypMhY$8uXaR zWwJZhSXx~+UOrXTkhR9PY5j)BV~Yd0I!Y{&Zm{3!g`sXiCq)Ko1|~FXG|M97{paK9 zbeZEUBm@#m^o$UY>AY7MGNCd4Bo%J=SAUt$3tYZgwP+qIy3RSU^3zHhx>V{Zsw$M+ zC|VBa*`K2Cj56?e6tbBTB5=5^^RZKeoVJnAPST(~B7$QBJlQ0d3^`b0^Hamg<4Ma3 zMjxSsONpo9wAJWij1Ur&(I}$lz-H zh8X)cM*_nI5t;uzZ#4`fw~pNI%*98oYq`fm`j z+b>3h0R|{&prKrYMC*KoD8vWavPB)JlCMxdI53zI_(!x(@_Nm$!HYE;qFx+fIECNh z^auB!;hO0(qoGmCAP0uuzRtBi3nSXjhcC>^Aev972P6!JiBp3qoyP)4`2;3~s(XY| zyF*(|O3d)4WDF?5;T$NHlO! zPMXN!ZhuFn2TI}v5)=veG5{cA3~*rcvHtNQ&8r~PeMGyUpv2Hf{bQy=MC-t49R7$y zbc6}P3uLtmiq$~}Bgz9*W?m1x`2DZ8!FaqNq-l@=7C<*7Ubps7)<*_P5FZ3>aM(zM zeDOCBdLhK$!hsP075KlsnE&4ko4f)NGf{Ix2wN+Lpk;%XIj4jF>^Uhv%{jJHE=t5e zBaL4Yvf{##f4gyD6n`H6y^-&$Wd!0ksnsIf#{%_Lz)~lh$_jhIb`6zi0R|cxT1okL z`v%Eh%nOpD?eDHiW718=7IC7{lk!4;WGL}kvA&}sYFB&O+kl~nkm5)rSvY`eOPyVB zteqRQJ`@X zh6*oK0gruMH;bR1C6>?lb-Wf@K#P>2#o1vU8Di>GN4?}~pln1tP|!aRCQS+)AWjX% zLyYv3wqU!d#YYZg!ZKzRr93o%qJ~I^UVe|jlEeB5*(Q4yK(=s?Yc*bob!Z?T zE<#^&bMF^#*-(r>?`n<%$RRrl+wF6{0;fr%K&B>>bPpvnxvQzwji!37AZ8C|B zkRka3r>9*^n?0ZKFtng@lo_nl*iJ1HD6Mmg(ERzi!rWWu%WL>Umxw3dh7@cTMvrG~ zV5ATT8hXbBDDFd&vc}5{MvOoig(_@d^9mK8Bgu{x8xFsSA~&`zqA9GjGaMQqaJBqO zYzgh%%1&2_7uFI1T)@|4SUm;Yx!&g2j>)@+Kh7cI()wUH)h9M<-Ewy@K~gtUS4MEk zXD~VRE?Dq9EA}K(yMJa;WWc;ED}LLw$KPUH^#+Ef0r#mNj}V+_JhpYYO6ieMT8qen zU2t~TR7Krs#wL1&TIkD;cbDJbJd2Lqx35#u)1O%bcXv=xQFk5c&Gx0w@yn>ydBg;> zdt9QUxayQd#>n&FJ9N)2Oq`gaY6|$Yk{L0%g0Zrb!tX_K9|^Dd>%d>1MuD@I;#?WX z#~YI1Y;H&U1818ta5*(CDuM-^r?6)EKcY$EwC%buCe^FsQ!*}04f@^Z@!&z2lNIkT za{Y^+H7tJNDK-nwi+ab4oe@BpP|UGkdAhHFHL^6#b*bCK<8z=VQOb(${1Dc0*!HNo zxed$ZyJNCBQHaLk$D_=1Ss?Bk$2AScE34~Y+V<3721Zz3ONul&pEa$uUy%e} zsakEeBBupxAIUvCR-qxhld_ReCTm7W<~D^!h(c6c-7d^R2$~YG3TfBy-Vt^fH2iaT z+ve_d>@fm_pDJK1Qf>r73_h&YJj`Fhp;R{P4}7Z?PbAsrkLq^dX3n$7^y z&)S8pvfGCWQdtdPU!uM;sy+U*zMAt7psCbUpBg%4w+1eB7X%Aa&3S}?OH?%fsat1f zfy#pDREj1f@x@w43plKYPt%qFP5CzaomktAR$_jB0^pM5)OA0Ca{sq^t|Iks9I*|P zqb6qHG>R2uJZ3~)=|Jm#Lo7Wv8w^m{rBE%4>=uPYt*okQu>0^F4(S#=joq*xHP7>l zMZo2ZtRY4==mDsW4Zy`uxlA%}a~8&q+|Y|Sv6^1QcVEwi-E}lof5xBnde656wumCS zK0JK82}WZ&3?BfzEUWuOh+RGaV==Tq0NkuG^K(NnqH41&Pb!CA2G>uE5;f+W=$4F` z78n=!W~&F9B{Z&|mQr`a>Uv_9zkTO%go(VJSL=~M3@XU9;JvM%mgcasMa@?v;U?61 z@x7Y>UhJnjvY^&n-@76Wn%1so{XXFQ@;GOeNSd6?Lh$Iw_&B6)4O@3?Duv;#5xob3 z1LEeaiydbxbJ#-97NN)aGg}BAks|ftpca@MrsWk4s zh3Jk$XZE&Kc7vB0@MOL}*wIgM_hY{UaO?UA;$|{}YMOPl!iil_F`Z!WS3--2LdQOu z-FEZNCU+e?`zprchkC+;@64M<_hu)b3KD0UuZJBbOy(X_c3t)xxZ?J$*DW4Cq5W=1 zTswv(AP$FUN$24Wb$BLq(>FOWbOCiCc~!_k3A+3w_9B*ixoCU1TgIfsMbw_n8a?3St~7P3Q#808+In=|G%FkdikN<6A{U9S|Py2=G- zsmW#z^ohXJ&qR`o{LV|gEK13?3BR|Ma9p0!Y(Jf#wd5#7S5;ND(jRu^-1gU6FZgY( zQ;Lxr!a|W56cX%ep=NxI_Au8o7I7wc+kUveSo;Gz92zz0;`x14>hBzkE$4C8Vvj8) zB_rJD`w@;sb94N(Gpg(U2QftyRT#c^&thpS*ehC-awwX{cxYs>65wfsmzz0{3m#5( ziWq$5fD3(Oj9+8fZoAEqyqIXI9}y5TbR;P)t!$#8rdE1LF@)TEN_&XRe~uuTfvb{t z58&nJL(=?mZwpgic6{rAtaL4oI>JxdgfX&@o%$2; z8;c<>58C(|pMm@9mB2vW)F_X!;Zug8-BPD{y~WaqlU)yo2nt}77KG5aC`s~$$|<7ciM`sUSx@nHs)68L_!Cc+=X znEKU)UxJCe$HO*pc_D^~uz78QaGFR$Hwge2De7Y(>k!@d3sLQN1(eKw&XBh(*(X^k z<(uO-FDYWsxHU5-MjE2DL|1RkFmS6^L$^oL%&w;@*{;7bsHmxl{otxp8w(+^Vth~b z(f+Z$k|i1V4#35cIHg9C46NH*&%Kyc zJ<_--tKT-NNE`Y84wvLUY%X*n;VYXXS}FyoplMd7|OhN5f-^6 zs&QBJJMxqo34U@VUionVp2tpEgXEpkEU-8TSoi0q&>bhs~0xKsiP*3+_g4IP`>oQwR>pP1j^m$&Q z4}WSBZD(XB1$sh*BeiYUc5@xUa;G>YMaVA;zR#n3u^7CPbK;I>$J5%KotV`ffXEgj z#2yOA-ADf+5u>xQV2jwQgA$hrl2wv{$R`I>t{(&D_o z4XD4RbN`u{tt1|CY81lrfuG?$fX6XPotiz+)|CoR;1M92~g_1vnufk=uGud_zkzNeO=$jidWhSf>7Nnf2TqQqbXIMD`?S@>tZ>u0t` za~RDPtb7qhU`7|projnDluO?U!TUi3LJ?XZ5?ZMlA*_Wn9hH?^+yakRC}eDb)FFpl zEhLk(UM-|Dfn3BVL;Q!~5ZP!f11q+;WbQn!AYY!J!1EsEeeZXfDnnrcmdkU;InNkW z0ZgH5I57tdexAc$xshGJ!@E?X)ftb?QW^mcQFuS5SZSc=W#BtuxXEC++X6A=9Fe14 ziiPih)N!(xVZ~Rl(3$VejMC|c=0G0>NW&M$B&Z?gL6rvj$PSUcqcNE4?~*zW;W_lf z3zUbDh+(#%h#}^w?ZkG74h`4}FZK@#hRPL1;hVcy7#ZblJIwmx@I+9T3qe0~5P;-RO zG_dZ+mXkw2YL*J0L4SbtG%Y4^=zqM74KcZ$x0?w>(hpsO<k~@gOIcRhloREbvRE+C8NwsjDY#Zz9Ym^^qZCVAo6!&%!d z%c2bm1ysUpp&HLuN%MM^CA66uK~1k5C*zfDw)O-u}ZxRegTF-DFUh>{xFjK&ehsp|ny)CW?y~qdg{YUe=h}omV;)HOd8T z8#+*;{w6jWFUUa8hcR?0&7l$D?a+@4i6Wc5Tt$kfRCOz#i0Kt#_wJX&2+@}zlXUSF z@eGXV9W5ML4z4+3sHV5<-v&QSSQcSi(DKmt{<5a2DGV=U!B>OThAe7+IQif|vo9pT z9pP=z24EtdQ^YH`vJmF#*r;=Ec+VQoI}^ie@k|xSJKG~#b1#r1TNXl!pL$A~{3Lwp zsyDO;KPfUwlK2%KP6l0z9C5>pm2l9Xu!eYBUR_W=5%M7l%PtBVv&mlWTX}(lvgeb53dp~aA98XxTt`T#uIhd2uLBo|loY#q9uG0c+hll~aAfYgg;w@n< z4!!+*f@MG$VZ~B|$^1+HdnK8YW_ytw3Z!~T>w|w@Ofs?}2Q<0*D{H2ydt8XLmQYcsbx>A!TX?y+omu^e*H_lQ~ zyKm)*vcSuYx}JN~PS>+gud6;n#=b`y%8~^o!oxU2nEH3O_yi{mZ0fb6P0O-ur*MS8 z63Mcsz4Sl`nbRBzH*kcrrxin71QewBk$fDsqfpbSeQTfjmX%o-T?F=%oU1xw1Y<^5 zhIgsL*yFKti2HM+B4YER1v=6O@Ng`r-P}M(9{$+?>X!&IHckX^s|fTHqEHSDA)lK) zr0*3pU(n>g`=CWu;UtSO(@+L1$s3rPqEX1_2Bzr)gir>ruDUSm=5B#!RvLyX12Wgg zL_*a{5RO)~LUiJp%7eeblM-^!!(2sSwI^^C#6=`}8k%H$zIgY^;qbz5X)l&@XW`)# z!cRLDCXZm5s?3teZleex%D^KwvJgu14I|@-IfU%$1>&-)!xVw3BbR12u8XN8;TyqN zBKtTmI?NW$5_2*V3d4&LU+D5)eA!P{mKS%Of1+}@612%isB&AS*$9+_-5&OQ?s7@A zAZlEb#YdiXi9S#8_auqgTAnr!C*X%Vd$;m%GBDaDct7-wIQcF%sybXv&lVUOL9YgB z98&N^Qk|Q+;7}CSgc4(_eZ74QcXN7XUp_=q1I_$Z$k=%Ci_ydS!%2!(T;$OoK}Aja zmBp7_-ZK-E<2jCF8Pv^}b5i;rvMCNKvC5X1JhUWXL@*n3a;A;U5kZCs;rm%y>HeSC zZgjMj1;$&M%i<{#@qey0mW2356SfYPlaE)mb=i7jdS9-I1~)D5bxJxH6!xN!ya9-Nmr5BJuF_2nQE+Z5RDVc>P6(pANN=p_oRfEGr#^VP4dKNT)?ua@SLlenW#Z;c zSel~9+&2pRwyAuZr3k}BOsE}SUYenfzDlhsfH!wHHR`4Xmn0ZPRr)ANR%FUflbo}%YIiO2Br>|aod_4J7$<+jY6mjiRkFj4YOi3gKabtpJcUSNT@*Y} zz8DaJ!B+)whohK;Z|f=UYzkpv^`R)*mc&+hB_enq`GXJ$12<=B()GeBzOjRQa^&R>zzj41w0Ol0W=NMF}-bE?iP`8kLm zJbntYI#0vGeM1l%uvMM}L&Vf@!pMj7;Z-k5Np{HO^bA8rPF_%43~{znvp9Kj$AiZ7 zre~lnLQU_&qM4&`v=_tM9mo>0w8cg_U_C82XucNw2r8R!1)9lErW_=B2Fe)kR77d} zELAA0-Kz$k0|L;<&CHCv-0Dh_B^N`1WP~0&&;1fMh@w(MR^Ei+8L}rUsl&t}_Z0)< zciIPFbuQ>}U)d)gfi1?6Q_xif7g#koOvJ8nPJ3yy%lMX~xW>W_5Bj;qc+H>uTXRo=uW+g-=n8ayEMTUh1h?0oh$zk16L@3HYQJz83ZUzsT{Bt zt>mYr@_flPk}WH!SGNM+`3`BcvAJ>89rQ-fu8%O>@kyuGjP*FzydTnQec&=7WlRi*{aPRbE(e4P$m5AIC8}A<)>J^meV0Mq+T|u&kD|IBb(-oA}!@5@C z`#LP)7`w2Irw87bf5L}*P!kIp3cshL`zB*!c5) zwjVe=wDc*N^!NR_Uz9&>H9!Fuza%WFu)+UC+Q9W(BxZnod9g}b7RFJ!hL!At6FKka zA?j#o*xaimdl}HO@N$}rLvR%h%=R2h2zkf zXa7S|-{-^LyUn4%N?IC^-^t zR($oHculSi?x!v)LecN|Uy-vo>>u^d9?{D4|xCy;(gz^dN427gRTt)#of zny3>TYouj>$_T?WL%I<)s8+f~mIzFM87luRIRrEh9ZC*AWUk81u|T@Rvpjz_8fI?!nOG(XP5 z@u#+}9ZGh42%F`k6Efs=LxrV2@el(hQY&mIV49%$*}`SgPEPe@^&hauS+KyjbcuhhV}%D zXvA3!ce^bJmdzSxqaQ6~$^}p&v>XHD#oFI{9M#S7E*hARZ(S(p^~T3P`5x!2H1$sh zPUef|TdZ*^EhKJa{c$nC2ly>A2esA>TI_dxTlTCb4#(TiE_W*Sz8jpP*hjb}B_z%A z7T44VB=btlI+g6kaCl>#wK}O$l4C`HDAVJTxvO)M1j&)GHtDkD$Q{*?lNd7^_PQ7a zLE{HhPDr_0%s%b-5ek~)VBIdM1s(fjs**k))!Th=tEi}8DM^?$IfvD=&QsWI>Wilg z>hQ5HYopJl-jZoO-wv!>DOdFbsODVrO|z<<3na_4Yd7BcbJvfUEDMhNn8b;mlY|ZG z+t%JxTvAd{&=?nIrLGWsbLcNKk4cuA3&qGDe=w1m7csyIB7h@|s70Y>GmxoG^5$3w zq(VcW*GM8R0p)VZ-JjTcn0|z6T3!!Q(0W39fd0 z;BGCgWj;F+&aKRnWc^CKP?rDC?fU3bP`@^-dNMAiqFTCI_1gAZOK*Fq_l$hcB{$7*>cbA*P#^#JHpo9;*cD?NlX8H>yp9gfn8?$v3la4H2Qe8xz$&z7gc(0ki}! zFa7VfEo{AQNy-@9LbTDR;OY}}+>RZTmMlAprbol_h3xgofw&sl$IN_$6s%;dLY8)h z7gSU?pxB7yZ;%_-6^o5-^!0RH4#Uq8Gom_LD$;Vi_*OGKczn=h<0EB4TR9q?O|dH+ z>9c#54p|leWBbA;$-Zr+s?-Xk(@U6bjsv;K@fJgvMr2k*4ekTt})efs6Y-1m6CqW+WlQqKJj8!L1|C;MJ9@*K4IXS}9f{ z#1EU*q6>fGA-9p!Wm#21baS2w@r%1krrb$Q##qiogoOkoR>QiVy=l={pYV82e%{&K zF0SUW!RYDfiZ4PAnAuW5>5=g9QYzwSPNXa@4>hs!V~P;KAP1NQT99zD%?q{4wNz*J zB(VxXDC6M?peYhq!h?5lHJGU5r(WLvkx2zHWO{dOynwVvN#5&tKqiJ86Qbpaosk#( z1JAQ^Rb|a5uy`^tfDsr$%u0_iE>2L@+^{#v|s>N#6jzkM>G| zqR44@k;~nZl=ig>hoF6?q5G|rCwV%GJ#@M2CHRVn%nWeZ6U9U_77$elclOT?VRRA2 z65*$$w9Q&xpkhjpWWd(agG6M>O$m6Fl#U5~ow^B%kn4}GOyh;Fc7kH^pLShOcb?&+^I4w`Wn0wOE9H@602>BQD7#3d0Z2?dRcjFiZ62 z<_=tZh9A!Jkh%vac$43jwXYLcH>DkRBL@iAG~ozMM@B|2idim6X}{T{tsKx$QS}=+ zrBBu=%W;Je#+q#;$C}4)?+; zH7XmMR~S`=-#5W^uQ|Ads_*=Cn?;ga>4AdKnIDRtv2Hd*U zf|X}B2b)p0c)R#l!rjk21enhBN@;!;%aqT`KtwViIz>kgezhK)Wb6(75a8$S=^920xF))lk0D-z0m@a8?cvrW0 zkC=w}GM)Z9>V(bXR^95jC5k&<7Z7-r@H)Mr z6sACudn(1Xo9q49;nZ5K)fGv#t9P)$tvebI2oa$~upS;BUI&^Wp313+qp&o7VkG;r&p5=uS>6YU>KfRLaRbk?9k_Y)Clj+XT4OVMT7q`-k2$uK; zTn?|J1YXsxb`LnV!0QTPc>xXAfrZ0-p46r6)!vL`sARwmJgoJ(W!3=Eu&=K_v|xkNW2ZZFj4wB18*Tzy78GR~)6`Iv-s$OGeI!V_~;jj)IY13UGmh08xsAQbC zrm|9sbXGc5Cw9UVa6JIsGM&X~ zt=p;LCt1Vk#QI7wa-A5(IIl*pUl8I|(Jf$l@LpC{W*zm_yG+;b!Zo#GlsA-Y_+RdJEigQ0mzsolqbE5qM$PYNNTH zN{gQNaPvantY1=I4s-Q+BVQoFL1pQ{_q@^FXFM2+(EhQa9h4Zlmk=8G;UgOaThaYe zA4b0IF}~vyGidX)VZ(9JG|RupPr_-|{Um@ofo>CxUDR+$YCO2^x(*CTZ^7_xzF;wV zlY@gM+j_qD$<%7);J-Ei!+ayOb=_c2Un3*XC^74AKeutFF3hKGFUH!AUpVn;Cd_i4$hT{(Ge3Zt^M7+qj_*uJXdL(ee}ei9MrZJe z5}9n*sPcX_a>ef<0+au#=;>p^na#u#j~m#qOY2R>QQNmJW9=edt$~SOl}SXaUMQMK zKOYq|6eMoTNHN{dnM%54#Sx=X!AH+=Dgq`)i4!NW%FhcyNt@EboqJ`aGTtRkFp{!pm`P)cd=) zj{6|Oyn>E&s-g{IDteYH>$H}Lo7z{qmj`;lnX- z_;nmUA)ikU{C2xS;6kuu7z{FMm^%DP=)HjF*%SXyHD~!1RoJz03CUq7=^RoTq!9+` z98f~KhVE{JkwHRg07*eoP^7ygM;fF>H|#k)G_Ndz+&>v=Da5r~TaaQSDXSab9M*D1VT9nn|! zW5jD-E^q|SeOmy!(l3&ZvcOHrd>J2pNbI-0N}?-&ZjPZ6e60x_GpqE11D=_<4vvj| zfk`gM%FEt}wMN8``U)Zwi%m9Y01T9a|6OvE>R_c=^M+8wP4@<8>dwfK^GBR$h;aC_ zRIbm|Pz$C`YjR?OwF$2eMWU+=M}bK9$kTaUNx(5U5x3h`wf|yBT29ZFqG;Kk^cG1g zBgn>{M#T$tkV!8}X9dq1It(UZdhX$(x2*5QPBPwiCDAEM>v#+s@D=Jn0I?ZAM+Tu% zjHV)I8}y=KkI(I|!^!;n_pg_u%9JDl!0{mw31?0xi$vv5C&4P{H&$+7a(2yqVnz0s z66+`-fq7E*@2d@gkXI5Y)j>4?!6vtJ{Nlugo4AAZq+FDmj<8leAz48&%1n?rZ*-Y3ox&w zxz&(s3Db$`wFgQ%drjhR;4ioz{*jzxg8vS+f59GL*ml?lr3o;SEczH1PL_Ir8>nnS z^HxbY?%3MK4+deMjD9A^`0$rYjOwkX>&k-FQY^2_i8cY6nD-ZwScOQLQTu^L0E08F zgr8P|QilLuD5)5Hc2CBQ*S|PLz4z^Ue-Gmj_a^{jwib^IPO;*OHc$hp{*;-Nlw%qCK#;uo1u6+!J&Q#2zpSPxC0&9NWAtj5`~c-i=xeAc_gfxJ4?5Yg}o`#ilP zX5ekTvKkV0qc5;1V3#$?%=amR23a!8seb90_%bnu@;H|^V-wx~;P-QjA{x%R7zOr)>t}DRnM6c(G zeu-XOtcR6Ul}NeK=AV>PyVLO^Co=hJTofR6?ow5C-yEuMd~tzR;3#fq7lD@Be| zqN0;lH~lb{>BGjV60n-XV{c^#S#n%bKMrHSH-jIqiCVHUGDQlv24Yt}{!lDVu!jP1 z%0$K!!aWnse%Sg{TbBE5$7|PQIl(XY|J`BB*tEwrqroS%! z=$YDO_LIxh`+B?Nb*q68{Ouv_kGr3p1(a;saNcTd!$ij&-CrK-qde5A1tq32Bav(p zDjBaBwIO(Gk9wl-&hqtsSlA)_-j-%MxEDq~w>>)AA(u|7A@L1U(%(Ca0x}i1opwlG z=+B)844*e@66feA%o{%X43`d8He8hB3)GKmQ}6Z|^d5=;G$IsxZgJP`qvw@NXvEU? zKeH3@lj0kSj>f{R+X#y?IS54G6T@Gr|tsZh-lZi%BEc53N+tl%z|ZZmG4 zLnf7GKXgv-Qiq)ddAxkkT5A=)_#^0ixB2jkWBxizM1G9?P1kKqLIOyIjE9HkqAyK% zJziJ7kDKN8&YI-L39cS_0(8yT(oTgpGaWBv=KMmGd^Hxh^c3|!4K<{t1;!9P4id1@ zUwMeJMo1Z(S^Ipbtn7Kb|Bw85YfPWyHda9mK^n5Y_KpiKwe^eV4&N2`v$8E-N`52m z$9)T6H#05tFx%K`6NOmPAe#qQ$<`5M6cup@w~j~Z9v;mM`?o)Yc$-eQ=Qk66Pp4#O z$C3A`O$Zm4$tWE~rRf&oF~#56+onrl;dGS2BYy1eiDJKF71Q%~S+%V@&e_t>Ebj@1 zWRJ-d)$vAvf%4L4(|vf#J;xdpTl>k0CcLCSKjmFg{kSY80J}Sk=V;)M>={1WTim?G zs^>YQZ9Ir;*3tJVCDFDlSw^MNPCGn%G)IX2sNxqct5pObiMhF-z%F6pb=^4|qc=qbM={BF58`tsOFSCn_B`+1}|IoTLQ-N&rah00uP=DU*R z*4KPbb>8LC9c8d!8YK=*M*Xi+`JH&ZyDKN}Yj}u@i+fFa^?EcTNzznt=ct0DZ0fr& z@?vCVUDr22S~VO%^~8%$bO-Yc4YllMm{EzK2L^0s22-L-dOwSVCOE+I81l1mNb@(G z6Z^2FnZAy~W!zSy7{SEJ5%R0y+wOKzZrxqb%P4BBFL0or{1Y3(1-|)VHR?AAs)QzR zTjYh>i{e)q?~Hdw4{F~%l@GyFj}Y7WHC^a$j@*zxA6tHJS#8z}L5-sOuyF8L>qAR5 ze|Pwff2o}=>6L! ztmBJKY6x|8U3th}94IX`yi-Wqe!oc>u7N2uwv=%=p_YMbIQP{Ejg zNhl^}RzDaXq&MXp8tD+QmOnLlFnNFg@nOF?sw!gJS!hkm(3#&zj`%0~?z)e~Ai)i_ z>FU{a4A#`Tvrs~14-Wb+4vI-{*zsPcH{$xNBjoVSXD+lyx8F>H*s7WQ`nedMj(u3c zeR%dEDEE&rQ#=QR75C1Qif8(@#&=$jij)$`eBq0A)0t0DR8cYN37^=sO@Hz9Jcuzb zAEDCjG6QMB*Pq@eT6=87Wf|{n;K2r6Ge?eHjcq1yg?%s1za#(;514>DT`g>?6YA z=qvdiM=SMrJp7!KxPo(L3e=q==Ra5m=w4!#i`uYGG(~Rc+c>_A@jnf=CeH+z zUMMiELJ?fpv$$Xon=qFlR*(S-4|8~LLJg^lMql!9v!pVd)z;2v<1pK*kdf39N*g~N zUdAj4U+yNEo~S3O89BNw5JnP~$4^Hy4u9><^LJ4zyF#E|iQEy`rV%k5I$6=-J zkI_SA7BS!cb^kt$Gg6ABJu{Gm_cX~!)Lodc1&?Y2{);RPdg#`xx2ytL=(4xqi85No z$(4`vE+d$@{{}_kO~8RY`zSFrijxEV5ZAmDNXSMh{UE zr#S&NzEsB5iA9w%xcE^Mx8t}o+b-gT378Wu^(2%Vx?+IT%PB-H5)vB~fa?VBJfY7& zqg^`lu3L460*iEsYKqIrLtPrTI7erS@xOiCKBqCgcMqTPZWcg&6PX%b^d5$}E3llT zz5L~^TO|%tA%q@j$Twzla@SW*>Qa=qFT)mmgfYbE@$twGjs!Y7TBkR zCKn4}jBd`HF?k1k70c6zj+vmw`9k@;;g$3Nt-2VlfO|_j(9XqEM%Vj)0+N z+n+umeycidNeG?2y4o;BgXKtmu3QiZwtT0dR#2|{O$wyr1AOr`XkS1~R21&@abNP& zg=V2~=)Nq!MVs;>{$G1EyS%`=0IhE`3916l6sMSoNI8@GOsBKcLA&me+ThIxSMllw z|9<6=yj$WmUr^uX9d@BlNt;GaT|5nLmbq-uuYEB9o@CZG<;EV$0AgO@Yt+{xk3al6=zgO{JFkDw#6#=P;7R*@4mkdvlnP? z3f?^NXj@k`4;lI*mA$-iC=#(d?c&=W*1(Dl_pK?IkhQ<0`Dukyyy z$zwR|p?OiZ-4LVoYHMw2bvo>GaaZ;D3zDnz-2s^7>cZq#pRo-fFpSL+xi9v<_=aLO z99&9t<*)c#E0%VBg;rnscp2MenJ-MwDkYEhw>st{Q`l86cE!$X2#1nwln{3O@ddrn zomhmTB3?m9hup#iR`R+2tF2B>P6yeH*JDIw|E7Guvh(p#{%(PWzkET5o5TLJXc(EF-R6Q*UqGOd?7Mdd}Es zQFG6;^Yrlkdt{-ixlz$zztjO)k!;bM-OGK&KXEowNr7mn_x;C+8 z25gsGYT>zJM9aec?0v6=BUzlL)Dr2CCsn_LP7bA=+(7$P>RhpvOHGA=)s`-?weTOW zQKa73U-aL}Kfp@;IQpECD9*q0@B=hS=Mem32faRF;~uR`71-{qQHnbP_`0pV$$gL* z%O(CEw@VRX!RMnfC?wT;u3&0hMFfJDL+M@}2ZX?w9N0?pX~K^938L-+9T^$IO_@SA z<7XxnGX2;?r6X~;9)*0Sjwk)DrA6vscIxi9+>|DE8Wkc13fbqx;| zXKp!PWi7J{I~fbU<=pceYBy|T*-R0MNB}VWOmfN6-d@G)KRK>74!bg1XPrAde{$=; z_G2{CU`b7O)dJX$(if>o(q1^gzl(#aQ%0K6QObb&&-t2hw4thpVX%dC34#~+6mGsCgpSl`WZ(0<6^A$I2m zpvts}R$~bT0rLeiX6gNcOhUis70b%zNchty$)8Exa0g5BU~`BrraN;j3X2@HA)42M z(gGygyuPFxnSPs_U^Ww6+jsilcU?QMc|zy-K~y+PiX)2@Yx3>|#CIiKFzT|(+dtI0~fqEPbHPj7qyM^uE$eR$hC?4`wC^E3c-Qj8iIY%;>=uaM@K%R;V0x` z;^Hdimyt$%iY%f-n$c8+F*gT1bxqxnDY59L_es%@ngpt;X&MeE4_1H`UuK>z>% literal 0 HcmV?d00001 diff --git a/notes/data-structures/images/bst-deep-succ.png b/notes/data-structures/images/bst-deep-succ.png new file mode 100644 index 0000000000000000000000000000000000000000..431dbca8276414f2d5a70f105c9c4c00ef438394 GIT binary patch literal 27756 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

Kvn7yh>wLeKb_l4OB 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 literal 0 HcmV?d00001 diff --git a/notes/data-structures/images/bst-right-child-after.png b/notes/data-structures/images/bst-right-child-after.png new file mode 100644 index 0000000000000000000000000000000000000000..f78a87d93babc35f4ffceb09e2cad31562c5c067 GIT binary patch literal 9334 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 YVy}1+wbfO-zZums5(?r~qK2UV2L+ScApigX literal 0 HcmV?d00001 diff --git a/notes/data-structures/images/bst-right-succ-after.png b/notes/data-structures/images/bst-right-succ-after.png new file mode 100644 index 0000000000000000000000000000000000000000..5ef1244a252ea8be59020bc6a0431b013b453f01 GIT binary patch literal 17162 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 DJ4@9| literal 0 HcmV?d00001 diff --git a/notes/data-structures/images/bst-right-succ.png b/notes/data-structures/images/bst-right-succ.png new file mode 100644 index 0000000000000000000000000000000000000000..2511adfed58bdffa6d0ff5c92ece531d02d8e530 GIT binary patch literal 23773 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 diff --git a/notes/ontology/rdf/index.md b/notes/ontology/rdf/index.md index a5dbcbb..6435114 100644 --- a/notes/ontology/rdf/index.md +++ b/notes/ontology/rdf/index.md @@ -123,7 +123,7 @@ END%% %%ANKI Basic -RDF identifiers are represented using what? +RDF identifiers use what encoding? Back: URIs. Reference: Allemang, Dean, James A. Hendler, and Fabien L. Gandon. _Semantic Web for the Working Ontologist_. 3e ed. ACM Books 33. New York: Association for computing machinery, 2020. diff --git a/notes/ontology/rdf/uri.md b/notes/ontology/rdf/uri.md index c1e858e..d3d4616 100644 --- a/notes/ontology/rdf/uri.md +++ b/notes/ontology/rdf/uri.md @@ -67,7 +67,7 @@ where the `` is further composed as Cloze A URI has the following generic syntax: -{``}`:`{`[//]`}`]`{``}{`[?]`}{`[#]`}. +{``}`:`{`[//]`}{``}{`[?]`}{`[#]`}. Reference: “Uniform Resource Identifier.” In _Wikipedia_, July 22, 2024. [https://en.wikipedia.org/w/index.php?title=Uniform_Resource_Identifier](https://en.wikipedia.org/w/index.php?title=Uniform_Resource_Identifier&oldid=1235957234). END%% @@ -488,7 +488,7 @@ A **compact URI** (CURIE) is a denser representation of URIs. In its simplest fo %%ANKI Basic URIs in RDF are usually represented in what condensed format? -Back: CURIE. +Back: CURIEs. Reference: Allemang, Dean, James A. Hendler, and Fabien L. Gandon. _Semantic Web for the Working Ontologist_. 3e ed. ACM Books 33. New York: Association for computing machinery, 2020. END%% @@ -496,7 +496,7 @@ END%% %%ANKI Basic What is CURIE an acronym for? -Back: **C**ompact **URI**&. +Back: **C**ompact **URI**s. Reference: Allemang, Dean, James A. Hendler, and Fabien L. Gandon. _Semantic Web for the Working Ontologist_. 3e ed. ACM Books 33. New York: Association for computing machinery, 2020. END%% diff --git a/notes/set/relations.md b/notes/set/relations.md index c1cab93..fe1838b 100644 --- a/notes/set/relations.md +++ b/notes/set/relations.md @@ -647,7 +647,7 @@ END%% %%ANKI Basic Given $R = \{\langle a, a \rangle, \langle b, c \rangle\}$, is $R$ reflexive on $a$? -Back: N/A. We must ask if $R$ is reflexive on a set. +Back: N/A. We should ask if $R$ is reflexive on set $\{a\}$. Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). END%% @@ -729,7 +729,7 @@ END%% %%ANKI Basic Given $R = \{\langle a, a \rangle, \langle b, c \rangle\}$, is $R$ irreflexive on $a$? -Back: N/A. We must ask if $R$ is irreflexive on a set. +Back: N/A. We should ask if $R$ is irreflexive on set $\{a\}$. Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). END%%