on master help sign in
boilerplate pass 1
commit96c314d9570f56da0f0c981937159607632d8980 authorGavin Atkinson <gvnatknsn@protonmail.com> dateFri 4 Jun 2021, 08:01 (5 years ago) parent36e55bf
18 files changed+4292−186
components/Container.js+9 components/Markdown.js+42 content/blog/2019-5-roadmap.md+102 content/faq.md+401 lib/constants.js+4 lib/lib.js+74 next.config.js+21 package-lock.json+3322 package.json+12−1 pages/404.js+3 pages/_app.js+1 pages/blog/[slug].js+50 pages/index.js+100−62 postcss.config.js+6 styles/Home.module.css−121 styles/globals.css+80−2 styles/markdown.module.css+38 tailwind.config.js+27
components/Container.jsnew file+9
@@ -0,0 +1,9 @@
1+export default function Container({children}) {
2+ return (
3+ <div className='flex p-2 min-h-screen w-screen justify-center'>
4+ <div className='flex flex-col w-full max-w-screen-2xl'>
5+ {children}
6+ </div>
7+ </div>
8+ )
9+ }
components/Markdown.jsnew file+42
@@ -0,0 +1,42 @@
1+import markdownStyles from '../styles/markdown.module.css'
2+import unified from 'unified'
3+import parse from 'remark-parse'
4+import remark2react from 'remark-react'
5+
6+function P({ children }) {
7+ return (
8+ <p className='leading-snug max-w-prose'>
9+ {children}
10+ </p>
11+ )
12+}
13+
14+function Img({ src, children }) {
15+ return (
16+ <figure>
17+ <img src={src}>
18+ {children}
19+ </img>
20+ </figure>
21+ )
22+}
23+
24+const options = {
25+ remarkReactComponents: {
26+ // img: Img,
27+ // p: P,
28+ }
29+}
30+
31+export default function Markdown({ post }) {
32+ return (
33+ <div className={markdownStyles['markdown']}>
34+ {
35+ unified()
36+ .use(parse)
37+ .use(remark2react, options)
38+ .processSync(post.content).result
39+ }
40+ </div>
41+ )
42+}
content/blog/2019-5-roadmap.mdnew file+102
@@ -0,0 +1,102 @@
1+---
2+title: "~2019.5 Roadmap"
3+date: "2019-05-16"
4+description: "Where we are and where we're going as of mid-2019."
5+aliases: ["/posts/essays/2019-5-roadmap", "/posts/2019-5-roadmap"]
6+author: "Galen Wolfe-Pauly"
7+ship: "~ravmel-ropdyl"
8+image: "https://media.urbit.org/site/posts/essays/2019-5-roadmap-1.png"
9+---
10+
11+
12+![](https://media.urbit.org/site/posts/essays/2019-5-roadmap-1.png)
13+
14+We often get so busy that we forget to tell you what we’ve been up to. Here’s an update on what we’re doing and where we’re headed with each layer of the stack.
15+
16+At a very high level we have two goals for 2019: make Azimuth easier to use, and get Arvo to a 1.0.
17+
18+Next year we’ll begin to move away from some of the MEGACORP software we use in the office, and replace it with our own tooling. There’s some exciting work happening in that department, but we’ll cover that in a future post.
19+
20+For some related recent thinking on all of this, see [The 100 Year Computer](/posts/essays/the-100-year-computer/), [The State of Landscape](/posts/essays/the-state-of-landscape/) and [Azimuth as MultiPass](/posts/essays/azimuth-as-multipass/).
21+
22+For now, let’s just look at what’s on the immediate horizon:
23+
24+## Azimuth
25+
26+At lunch the other day someone on our team said something like, ‘We built a complete and working public key infrastructure, but we haven’t told anyone.’
27+
28+It’s true. Azimuth is operational, secure, and well tested. It’s a pretty cool piece of technology and it’s out there in the world for anyone to use. It also doesn’t require that you use Arvo — Arvo happens to make use of Azimuth, but Azimuth itself is a completely separate system.
29+
30+So the question is why haven’t we told the world about it?
31+
32+I tend to think that in order for a technology to succeed it has to not only be an important technical innovation, it also has to be easy to understand as a product. And that’s our answer: we’ve undersold Azimuth because we want it to be easier to understand by *using*, not just by reading the code. Azimuth is quite an elegant piece of technology — but that doesn’t matter until it has a great user experience to match.
33+
34+That’s why, in the near term, we’re focused on building on top of Azimuth ourselves. We can’t ask others to go down roads if we haven’t already been down them.
35+
36+Here’s what we’re building first:
37+
38+### Q2 2019
39+
40+- A simplified onboarding flow for getting an Azimuth point that’s simple to share with friends over email, text or as a URL.
41+- A redesigned and improved Bridge for managing your points.
42+- An interface that allows you to easily send money between Azimuth points without running Arvo.
43+
44+### Q3 2019
45+
46+- Expanded Azimuth-centric example modules, documentation and developer tooling.
47+
48+Still under consideration:
49+
50+- An OAuth server or JWT flow for logging into any service with an Azimuth point.
51+- A mobile app for point to point payments using Azimuth.
52+
53+### 2020
54+
55+Azimuth is beginning to feel like [multipass](/posts/essays/azimuth-as-multipass/), with a variety of ways to use Azimuth points without ever booting Arvo
56+
57+## Arvo
58+
59+The Arvo interface has always been held back by Arvo’s technical immaturity. This is still true to some degree. The system has not stabilized completely.
60+
61+But! We’ve been using Landscape quite a lot lately. I use it daily, in fact — even [on my phone](https://itunes.apple.com/us/app/landscape-urbit/id1393148862). An encrypted (although not audited — so let’s not call it ‘secure’), authenticated chat where I own the keys and can read the source code feels really nice to use. The interface isn’t as good as we’d like, but it’s not bad. Landscape is a great preview of where we’re going: a simple, permanent, self-sovereign computer.
62+
63+There are still rough edges, and Landscape is not nearly general purpose enough, but we have plans:
64+
65+### Q2 2019
66+
67+- A new update to the Arvo interface that we’re calling Modulo. Modulo expands beyond chat and longform discussion to make your Arvo interface feel much more like the computer it actually is.
68+- Upgrades to our event persistence, networking, and DNS integration aimed at much better stability. Arvo instances don’t crash that often, but with these changes it should be very rare.
69+- Significant improvements to testing with a new simulation testing framework and integration testing pipelines.
70+
71+### Q3 2019
72+
73+- A significant overhaul to Gall, our application model, making it much simpler for users to write apps or ‘agents’ in Arvo.
74+- A new version of the compiler that makes us less reliant on jets. This will eliminate a major obstacle to achieving network continuity, or the ability for ships to upgrade themselves totally over-the-air, forever.
75+- A significant overhaul and stability update to Clay, our filesystem, making it possible for us to trust it for self-hosting, search it easily, and depend on it for long-term data storage.
76+- Tooling for hosting and hopefully a beta program for hosted Arvo instances run by Tlon.
77+
78+### 2020
79+
80+- A completely overhauled Arvo interface, Daigo, with a complete but simple set of messaging and collaboration tools. Modulo is meant to be fun to experiment with, but we aim to make Daigo part of our daily workflow.
81+- We come to work every day, use Arvo, go home.
82+
83+## Community
84+
85+We’ve often felt like it was far too early to invite others in to the system.
86+
87+As long as we’re up front about the state of this 100 year computer -- that it’s live, but incomplete — I think it’s a good thing to welcome people on board. There’s plenty to play with, experiment with and explore.
88+
89+Hoon school was the first effort in this direction. We intend to do a lot more:
90+
91+### Q2 2019
92+
93+- Scaling Hoon school up to include both a track for experts and for beginners, and allowing many more participants.
94+- Holding more meetings and events on Landscape, experimenting with Arvo-native discussion.
95+- A clear program for address space grants for developers + contributors.
96+- New documentation site with searchable library docs.
97+
98+### Q3 2019
99+
100+- Hoon School participants understand clearly how to build a Modulo agent, and invite others into it.
101+- The road toward building an Azimuth module is well understood, paved, and clear.
102+- We have clear instructions and tutorials for building Azimuth modules and using Azimuth as a login or reputation primitive.
content/faq.mdnew file+401
@@ -0,0 +1,401 @@
1++++
2+title = "FAQ"
3+template = "page_indiced.html"
4+[extra]
5+hidetitle = "true"
6++++
7+
8+## Urbit
9+
10+### What is Urbit? {#what-is-urbit}
11+
12+Urbit reimagines the internet as a peer-to-peer network designed to stay that way. Previous attempts to "decentralize" the internet have only attempted to solve certain corners of the problem. Urbit proposes that only a new stack, built from the ground up as a tightly integrated system, can realize a great user experience for people using a peer-to-peer web.
13+
14+Combining a deterministic operating system ([Urbit OS](#what-is-arvo) / Arvo) and a secure, global identity layer ([Urbit ID](#what-is-urbit-id) / [Azimuth](#what-is-azimuth)), the Urbit project has created something that’s never existed before: an encrypted [Sybil resistant](https://en.wikipedia.org/wiki/Sybil_attack) peer-to-peer network where you can be sure that messages are never tampered with or surveilled.
15+
16+The connected world anticipated by Urbit is a much friendlier one, much like the early Internet, where collegial discussion and collaboration was the norm. Problems that are unsolvable without large-scale political centralization in our current internet – data breaches, spam, fake reviews, malware-spreading, harassment – become tractable when individuals control their computing again. You have one login for everything. You own and control all of your software and all of your data by default. Software is designed around the friendships, families, communities, and organizations you're already a part of – not the other way around.
17+
18+### How secure is Urbit right now? {#how-secure-is-urbit}
19+
20+[Urbit ID](#what-is-urbit-id) / [Azimuth](#what-is-azimuth), Urbit's identity layer, is live on the Ethereum blockchain and has been audited by Open Zeppelin, Blockchain at Berkeley, and Bloctrax.
21+
22+In late 2020, Urbit's [Ames](@/docs/glossary/ames.md) networking protocol was audited by [Leviathan Security](https://www.leviathansecurity.com/). You can read about this milestone [here](@/blog/security-and-continuity.md).
23+
24+Looking to the future, Tlon has plans to begin working to make Urbit secure against attacks from quantum computers in 2021.
25+
26+### How can I contribute to Urbit? {#contribute}
27+
28+We encourage outside contributors to become a part of the project. The best way to do this is to check out [Urbit](https://github.com/urbit) on GitHub, look at the pinned repositories, and check out our [Contributing](https://urbit.org/docs/getting-started/develop) guide. After you've gotten familiar with the system, feel free to open issues and make pull requests.
29+
30+### Who is building Urbit? {#who-builds-urbit}
31+
32+[Tlon](https://tlon.io), a San Francisco-based company, is the primary developer of Urbit, along with [various independent developers](https://github.com/urbit/urbit/graphs/contributors) and [urbit.live](https://urbit.live).
33+
34+## Urbit ID
35+
36+### What is Urbit ID? {#what-is-urbit-id}
37+
38+Urbit ID is the identity system utilized by Urbit, which associates to each [ship](@/docs/glossary/ship.md) a public and private key used to establish encrypted connections between one another and to guard private data. For [planets](@/docs/glossary/planet.md), [stars](@/docs/glossary/star.md), and [galaxies](@/docs/glossary/galaxy.md), this is achieved with a set of Ethereum smart contracts called [Azimuth](#what-is-azimuth). Keys for [moons](@/docs/glossary/moon.md) and [comets](@/docs/glossary/comet.md) are handled within Urbit.
39+
40+### What are stars, galaxies, and planets? {#stars-galaxies-planets}
41+
42+Urbit IDs come in three classes: galaxies, stars, and planets. The length of an identity’s name will tell you its class. Galaxies are 8-bit and have names like `~mul`. Galaxies issue 16-bit stars (`~dacmul`), which can themselves issue 32-bit planets (`~laptel-holfur`).
43+
44+Planets are intended for everyday use by individuals, and there are 4.3 billion of them (two to the 32nd power). Stars and galaxies, on the other hand, are meant to act as network infrastructure: on the [Urbit OS](#what-is-arvo) network they provide routing and are responsible for distributing software updates.
45+
46+### Why is is currently expensive to acquire a planet? {#gas-prices}
47+
48+For the latest on this topic, see our recent blog post: [The Gang Solves the Gas Crisis](@/blog/rollups.md).
49+
50+As of early 2021, if you try to acquire a planet from a market, you will likely encounter an enormous "gas price" fee. Ethereum is going through some growing pains, and this is an issue for every
51+smart contract on the network. This fee is unrelated to Urbit specifically, rather it results from how Ethereum transactions are paid for. The gas fee does not go to the person selling you the planet, nor to the market, nor to anybody associated with Urbit - it goes to the "miners" processing all Ethereum transactions.
52+
53+Tlon is aggressively pursuing a solution we call "naive rollups" which we predict to reduce gas costs by a factor of at least 100. We cannot give a precise estimate on when this will be complete, but it is top priority and this solution was chosen in part for the speed with which it can be implemented without sacrificing security. If you'd like to know more, we recommend watching this [Developer Call](https://www.youtube.com/watch?v=CKuHXrdkIw0) with `~wicdev-wisryt`.
54+
55+In the meantime, we recommend either using the network as a [comet](@/docs/glossary/comet.md), or signing up with a [hosting provider](#why-hosting), which includes a free planet.
56+
57+We understand that this is an enormous frustration, and will keep this section updated as we get closer to resolving it.
58+
59+### What is Azimuth? {#what-is-azimuth}
60+
61+[Azimuth](@/docs/glossary/azimuth.md) is what we call the set of Ethereum contracts that make up a general-purpose decentralized PKI ("public key infrastructure") utilized by Urbit ID. It keeps a record of which Ethereum addresses own which Urbit planets, stars, and galaxies, as well as the public keys associated with those ships.
62+
63+It's also kind of a [cool astronomical concept](https://en.wikipedia.org/wiki/Azimuth).
64+
65+### How many planets, stars, and galaxies are active? {#how-many-planets-stars-galaxies}
66+
67+The raw data on most Urbit ID / Azimuth events that have occurred can be found [on the Azimuth website](https://azimuth.network/stats/events.txt). We’re currently working on generalized tooling for viewing these events.
68+
69+You can also inspect and execute functions in the [azimuth.eth](https://etherscan.io/address/azimuth.eth#code) contract on Etherscan.
70+
71+### What are comets and moons? {#comets-moons}
72+
73+In addition to the three classes of identities mentioned above, there are two other kinds of Urbit [ship](@/docs/glossary/ship.md)s that are _not_ registered in the Urbit ID / Azimuth contracts.
74+
75+[Moons](@/docs/glossary/moon.md) are 64 bits, issued by [planets](@/docs/glossary/planet.md), and have names like `~doznec-salfun-naptul-habrys`. Moons are meant for connected devices: phones, desktops, smart TVs, digital thermostats, and other IoT devices. Moons are subordinate to their parent planet. A strong analogy here is that ordinary social media sites are somewhat like planets, and your account on them is a moon. Urbit elevates everybody to the level of planet.
76+
77+[Comets](@/docs/glossary/comet.md) are 128 bits and have no parents. They can be launched by anyone for free. Since their identity is not maintained on the blockchain, they will likely not be trusted by default by others on the [Urbit OS](#what-is-arvo) network, though you shouldn't have any problem until the network grows much larger. They have long, hard-to-memorize names, like `~racmus-mollen-fallyt-linpex-watres-sibbur-modlux-rinmex`.
78+
79+### What is a `@p`? Why is my username generated for me? {#what-is-patp}
80+
81+A `@p` ([pronounced](@/docs/hoon/hoon-school/hoon-syntax.md#reading-hoon-aloud) *pat-pee*) is a name like `~zod` or `~lodleb-ritrul` composed of pronounceable, three-letter phonemic elements like `zod`, `lod`, `leb`, `rit` and `rul`. Shorter names, such as `~zod` and `~marzod`, are assigned to [ship](@/docs/glossary/ship.md)s with special duties on the [Arvo](#what-is-arvo) network galaxies and stars, respectively. Longer names like `~palfun-foslup` are identities for typical users.
82+
83+These names map directly to a corresponding number in the Urbit ID address space. Galaxies occupy the 8-bit address space, so any galaxy is actually a number between zero and 255. Stars occupy the 16-bit address space, and planets occupy the 32-bit address space.
84+
85+Your name is generated for you as a solution to [Zooko's triangle](https://en.wikipedia.org/wiki/Zooko%27s_triangle), which roughly states that names on a network protocol can only be two of (i) human-meaningful, (ii) secure, and (iii) decentralized. Urbit chooses (ii) and (iii), while something like DNS chooses (i) and (ii).
86+
87+Regardless, you can always choose to set your nickname in [Landscape](#what-is-landscape), so if you wish for a different name to be displayed then you have the freedom to do so.
88+
89+### Can I change my `@p`? {#change-my-patp}
90+
91+Nope. There is a 1:1 mapping between name and identity. Think of your `@p` sort of like a phone number. It's just a random synthetic name that doesn't leak any personal information about you.
92+
93+### How do I get an identity? {#get-an-identity}
94+
95+The easiest way is to find a friend who can give you one. They're out there — just ask around. You'll have a good chance of meeting one if you join Urbit Community, the default group for new [ship](@/docs/glossary/ship.md)s at `~bitbet-bolbel/urbit-community`, as a [comet](@/docs/glossary/comet.md) and contribute pleasantly to the conversation.
96+
97+Or, if you must, try an ERC-721 (NFT) exchange (Google or Twitter should help you with this). This will probably involve a purchase and a transfer to an Ethereum address that you own. We recommend using [Bridge](@/docs/glossary/bridge.md), available at [https://bridge.urbit.org](https://bridge.urbit.org), to access the address that the identity is transferred to.
98+
99+### How do I transfer an identity to someone else? {#transfer-identity}
100+
101+Access the Ethereum address that holds the identity you wish to transfer via [Bridge](https://bridge.urbit.org).
102+
103+### What is the best way to access my Urbit ID? {#access-azimuth}
104+
105+We recommended using [Bridge](https://bridge.urbit.org) for all Urbit ID-related operations. It’s great for managing your identities, as well as for viewing information about identities you don’t own.
106+
107+Be careful about using online versions of Bridge not hosted on urbit.org. Since Bridge touches your private keys, it can also steal them.
108+
109+### Why aren't there more planets? {#more-planets}
110+
111+Urbit is designed to be as simple as possible. The sponsorship tree for Urbit ID simply expands by squaring the size of the last tier. That is, there are <span class="mono">2<sup>8</sup> (256)</span> [galaxies](@/docs/glossary/galaxy.md), <span class="mono">(2<sup>8</sup>)<sup>2</sup> = 2<sup>16</sup> (~65K)</span> [stars](@/docs/glossary/star.md), <span class="mono">(2<sup>16</sup>)<sup>2</sup> = 2<sup>32</sup> (~4B)</span> [planets](@/docs/glossary/planet.md). There are <span class="mono">2<sup>64</sup></span> [moons](@/docs/glossary/moon.md) — but moons are tethered to their planet, unlike stars and planets.
112+
113+This pattern exists because it’s a simple way to enforce the scarcity of addresses and build a friendly network. When a tier of the address space begins to be populated, we start populating the next tier down. When Urbit nears the limit of <span class="mono">2<sup>32</sup> (4B)</span> planets, we’ll figure out a way to populate the <span class="mono">2<sup>64</sup></span> moons. The galaxies that govern the Urbit ID contracts can always vote to upgrade them — and we expect that they will.
114+
115+The problem with populating the moons now is that <span class="mono">2<sup>64</sup></span> is a *really, really big* number. We’ll need some way of differentiating between humans and their devices (to prevent devices turning into rogue botnets). But that’s a hard problem, and we prefer to start with the simplest possible solution before solving hard problems. The current scheme works. Once we need to update it, we’ll figure it out.
116+
117+The number of addresses is in a sort of 'Goldilocks zone' for preventing spam. Too many addresses will result in them being very cheap and thus spammers can just acquire more once they get blocked. Too few addresses and they end up too expensive for the average user. The technical term for what the finite address space bestows upon the network is [Sybil resistance](https://en.wikipedia.org/wiki/Sybil_attack), a very important property for any decentralized network.
118+
119+It’s also worth noting that, while there are almost 8B people on Earth, there are almost certainly not 8B internet users. Facebook has about 2.5B users, Apple has about 1B. Urbit has a long way to go before we get close to <span class="mono">2<sup>32</sup></span>.
120+
121+(For more background on why Urbit ID is the way it is, read [this](/understanding-urbit/urbit-id/).)
122+
123+## Urbit HD Wallet
124+
125+### What is the Urbit HD Wallet? {#urbit-hd-wallet}
126+
127+The [Urbit Hierarchical Deterministic (HD) Wallet](@/docs/glossary/hdwallet.md) is a custom Ethereum wallet based on BIP39 and BIP44 – the same underlying technology used by wallet providers like Ledger, Trezor, Metamask, and MyEtherWallet. You can think of the Urbit HD wallet as a wallet of wallets, which lets you keep a single passphrase for all of your Urbit ID keys. Urbit ID uses multiple keys with different capabilities – a bit like permissions – so that you can keep the more valuable keys in cold storage while keeping less valuable keys, used in day-to-day operation, more easily accessible. If you're only operating a planet, you shouldn't have to worry about this: you can simply think of your "master ticket" as the password to your Urbit ID. If you're operating a star or galaxy, the Urbit HD Wallet allows you to implement a multi-tier key custody scheme.
128+
129+If you're interested, you can read the spec here: [Urbit HD Wallet Spec (UP 8)](https://github.com/urbit/proposals/blob/master/008-urbit-hd-wallet.md).
130+
131+### What is a master ticket? {#master-ticket}
132+
133+The "master ticket" is the entropy seed from which your other Urbit ID keys are derived. It should be treated like a master password: **you should never share it with anyone, and you must store it very securely (see our practices below).** This ticket is used to derive the Ethereum wallet that holds your ownership keys, your [Urbit OS](#what-is-arvo) key – used to boot your Urbit – and the other keys associated with your identity. You’ll have a master ticket if you used the Urbit Wallet Generator or claimed a [ship](@/docs/glossary/ship.md) on our hosted version of Bridge.
134+
135+If you're operating a planet, you can use your master ticket to authenticate with Bridge.
136+
137+### What is an ownership address? {#ownership-address}
138+
139+An ownership address is an Ethereum address that owns one or more of your Urbit IDs. The Urbit Wallet Generator creates one [Urbit HD Wallet](@/docs/glossary/hdwallet.md) and associated addresses for each of your identities. Using the ownership key associated with your ownership address, you can transfer identities to other people, meaning that it’s very important to store securely.
140+
141+### What are proxies? {#proxies}
142+
143+[Proxies](@/docs/glossary/proxies.md) are seeds derived from your master ticket used to generate sub-wallets, which in turn are used to generate keys that have the ability to execute different Urbit ID functions associated with your Urbit identity. Proxies generally have more restricted capabilities than your ownership seed. These capabilities include spawning child identities, voting, and setting networking keys.
144+
145+- Transfer proxy: Can transfer your identity to another Ethereum address.
146+- Spawn Proxy: For [stars](@/docs/glossary/star.md) and [galaxies](@/docs/glossary/galaxy.md) only. Can create new child identities.
147+- Management Proxy: Can configure or set networking keys and conduct sponsorship related operations.
148+- Voting Proxy: [Galaxies](@/docs/glossary/galaxy.md) only. Galaxies are the part of the [galactic senate](@/docs/glossary/senate.md), which means they can cast votes on new proposals including changes to the "[Ecliptic](@/docs/glossary/ecliptic.md)" contract, which defines the operations of [Azimuth](@/docs/glossary/azimuth.md).
149+
150+### What are seeds? {#seeds}
151+
152+All Ethereum key-pairs in the Urbit wallet system, including [proxies](@/docs/glossary/proxies.md), are produced by 128-bit cryptographically random values called seeds. These seeds are the equivalent of the BIP39 mnemonic of an Ethereum wallet and are yours alone. An ownership key pair is derived from an ownership seed and, likewise, the various proxy key pairs are generated from their respective proxy seeds.
153+
154+For detailed information see the [Urbit HD Wallet Spec (UP 8)](https://github.com/urbit/proposals/blob/master/008-urbit-hd-wallet.md).
155+
156+### What does it mean to “set public keys”? {#set-public-keys}
157+
158+This means registering the public keys of your identity's encryption and authentication key pairs (together known as "networking keys") with Urbit ID / [Azimuth](@/docs/glossary/azimuth.md), so that others can discover them. The corresponding private keys can then be used to, for example, run a [ship](@/docs/glossary/ship.md) on the [Urbit OS](#what-is-arvo) network.
159+
160+You want to reset these keys if they are compromised, or if your ship has sunk. This is of little practical significance today, but resetting your networking keys resets your relationship with other ships on the network.
161+
162+### What do I do if I want to own multiple identities? {#multiple-points}
163+
164+We recommend using different HD Wallets for each identity. You are able to assign any number of identities to a single Ethereum address, however, since they are just ERC-721 tokens.
165+
166+### How should I take care of my Urbit HD Wallet? {#custody}
167+
168+Urbit IDs have accompanying security realities that must be taken seriously. The responsibility for keeping cryptographic assets safe rests fully with the party that owns them.
169+
170+The nature of decentralization is such that there is no authority that has the power to restore any lost or stolen wallet. Neither can anyone force you to follow good security practices. At most, they can give you recommendations. **Remember:** if critical items, such as your ownership key, are lost or compromised, your assets are likely gone forever.
171+
172+Below we list some good practices for storing keys, strictest first. Higher-value assets should be secured with stricter measures.
173+
174+#### Security Tier 1: Cold storage*
175+
176+Cold storage refers to any method in which secrets are stored in a way that is not accessible to any network. Cold-stored keys should only ever be generated offline.
177+
178+Cold storage media options:
179+- Printing the secret on a piece of paper. However, paper wallets are vulnerable to various forms of physical damage, such as rot, water damage, smoke, or fire. Laminating the paper can mitigate some of these risks, but the lamination can potentially trap moisture. Make sure that you trust the printer; some have memory and network connections.
180+- Storing the secret on a brand-new USB stick or hard drive that has never been connected to a networked machine.
181+- Storing the secret on a hardware wallet like Ledger or Trezor.
182+- Engraving the secret on a strip of stainless steel. This medium is resistant to both water and fire damage.
183+
184+Places to store your cold-storage media:
185+
186+- A hidden safe in your home
187+- A safe-deposit box at a bank
188+
189+It’s a good idea to store your keys redundantly; for example, on both a USB stick and a piece of paper in the safe, in case one of those methods fails. If you deem a key to be valuable enough, you can **shard** it into thirds (or other splits) and store each third in secure, geographically distributed locations. Urbit HD wallets for galaxies automatically provide a 3-way sharded master ticket.
190+
191+#### Security Tier 2: Hardware wallet or paper wallet
192+
193+A hardware wallet is a digital storage device that’s purpose-built to store cryptographic secrets. They are unaffected by typical key-stealing malware and have built-in security mechanisms that other digital devices lack. Do your research and make sure that you are buying an authentic device manufactured by trustworthy, technically competent security experts with a good reputation. Trezor and Ledger are two popular brands of hardware wallets.
194+
195+A "paper wallet" is a physical medium printed or engraved with a secret. These are resistent to network attacks, but the downside is that the secret must be entered into a computer by hand, exposing the user to attacks from malware and eavesdroppers.
196+
197+#### Security Tier 3: On your computer
198+
199+This tier includes any method where secrets are stored on an everyday computing platform. Some such methods are:
200+
201+- Encrypted PDFs containing a secret on your desktop’s drive
202+- Storing secrets on a cloud account protected by multi-factor authentication
203+- Storing secrets in a password manager
204+
205+This method is risky for a number of reasons. Networked computers can contain malware. Computers that see common use are also prone to crashes and data loss. Storing secrets on cloud accounts mitigates the risk of data destruction, but it exposes a much larger attack surface to malicious actors.
206+
207+For all of these reasons, if you use Tier 3 methods, use them only for the storage of low-value secrets.
208+
209+### I have a galaxy or star with lockup conditions. How does this work? {#lockup-conditions}
210+
211+There are two kinds of release schemes for locked up assets: linear and conditional.
212+
213+In either scheme, you start out being able to take one star out of lockup, regardless of the terms set around the lockup as a whole. This way, you get to participate with a star right away. Go do something cool!
214+
215+If your lockup involved a [galaxy](@/docs/glossary/galaxy.md), all of its [stars](@/docs/glossary/star.md) will be locked up, but you will have immediate, lock-free control of the galaxy. You will likely need it to use that star.
216+
217+Note that the "releasing" of stars just means that they become available for you to claim. They don't automatically get transferred to you; you have to withdraw them from the appropriate lockup contract.
218+
219+Linear release is the simplest: your stars will be released linearly over a period of time. Most often this is a period of four years. If you have four stars in lockup, that means you will be able to withdraw one star per year. In many cases, there is also an initial windup period which has to pass before linear releasing begins, typically one year. Since Azimuth launched in January 2019, the linear release will begin in January 2020.
220+
221+Conditional release is a bit more complicated. If your stars are in conditional lockup, they're likely divided over three so-called tranches. Each of these unlocks only after a unique condition is met. Since it's difficult to verify things about the real world using smart contracts, the [Galactic Senate](@/docs/glossary/senate.md) verifies that they've been met. Once the Senate marks a condition for a tranche as cleared, it starts releasing linearly over the period of a year.
222+
223+## Urbit OS
224+
225+### What is Urbit OS? {#what-is-arvo}
226+
227+Urbit OS, also called [Arvo](@/docs/glossary/arvo.md), is our functional and deterministic software stack. Arvo is written in [Hoon](@/docs/glossary/hoon.md), our purely functional programming language, which compiles to [Nock](@/docs/glossary/nock.md), a compact bytecode language.
228+
229+Instances of Urbit OS, called '[ships](@/docs/glossary/ship.md)', communicate as peers on what we refer to as “the [Ames](@/docs/glossary/ames.md) network.” Using Urbit ID, Urbit OS ships can prove their identities to one another.
230+
231+### What is unique about Urbit OS / Arvo? {#what-is-unique-about-arvo}
232+
233+[Arvo](@/docs/glossary/arvo.md) is different from other operating systems in many ways. One notable way is that it is completely deterministic. Processing in the system happens in a unique way: when an event happens, a transition function takes that event and the old state of Arvo, and produces an effect and a new state of Arvo. To visualize:
234+
235+`[event, old state] -> [effects, new state]`
236+
237+All events are logged to disk, so you can always restore the system to a previous point in time.
238+
239+### How is Urbit OS / Arvo connected to Ethereum? {#arvo-ethereum}
240+
241+When an [Arvo](@/docs/glossary/arvo.md) ship (instance) is started for the first time you must use a "[keyfile](@/docs/glossary/keyfile.md)" containing the private keys for your identity's networking keys. Urbit ID uses the Ethereum blockchain as its decentralized ledger.
242+
243+See our [Getting Started](@/getting-started/planet.md) guide to learn how to get your ship onto the Urbit OS / [Ames](@/docs/glossary/ames.md) network.
244+
245+### Will the Urbit OS network survive if Ethereum dies? {#if-ethereum-dies}
246+
247+Yes. It would be annoying, but Urbit ID / [Azimuth](@/docs/glossary/azimuth.md) could be ported to another decentralized ledger, or hosted on Urbit OS / [Arvo](@/docs/glossary/arvo.md) itself.
248+
249+### How do I install Urbit OS? {#install-urbit-os}
250+
251+Check out our guides [here](@/getting-started/_index.md).
252+
253+### How do I use Urbit OS? {#use-urbit-os}
254+
255+The [Using](@/using/os/getting-started.md) section of the documentation will help you out.
256+
257+### How do over-the-air updates work? {#over-the-air-updates}
258+
259+Your sponsor, a star or galaxy that your ship is connected to, may send you new source code for your system. When you receive new source code from your sponsor, your system recompiles itself using that code, performs any necessary data migrations, and keeps running. Ideally this happens seamlessly without the user even noticing, although there is sometimes a slowdown while rebuilding the system from source.
260+
261+### What is Landscape? {#what-is-landscape}
262+
263+[Landscape](@/docs/glossary/landscape.md) is an experimental Urbit OS web interface that includes social functions such as chat and publishing. You can access Landscape by navigating to `http://localhost:PORT`, where PORT is typically 80, 8080, or 8081 (check your boot messages).
264+
265+### I have an Urbit ID, now what? {#now-what}
266+
267+Follow our guide on how to boot a ship [here](@/getting-started/planet.md).
268+
269+Get on the [mailing list](https://urbit.us11.list-manage.com/subscribe/post?u=972a03db9e0c6c25bb58de8c8&amp;id=be143888d2). Learn [Hoon](@/docs/hoon/hoon-school/_index.md). Sign up for [Hooniversity](https://hooniversity.org/). [Make stuff](https://grants.urbit.org).
270+
271+
272+## Urbit Grants
273+
274+### What are the different types of grants? {#grants-1}
275+
276+There are three ways to receive a [grant of stars](https://grants.urbit.org/) for your contribution to the Urbit ecosystem.
277+- You can submit a **Proposal** if you’re interested in working on a project of your own creation for a number of stars that you pitch.
278+- You can apply to claim a **Bounty.** Bounties are requests for work created by Tlon that are claimable by the public, with a predetermined number of stars as the reward.
279+- The **Gifts** program, which is Tlon’s informal way of rewarding contributions that don’t fall into the above categories. There is no way to apply for a gift.
280+
281+### How do I get a gift? {#grants-2}
282+
283+Make useful and substantial contributions to Urbit. These can be contributions to the project itself, or they can be outside tools that aren’t part of the Urbit codebase. There’s no formal system for determining who gets a gift; it’s at the discretion of employees at Tlon. Nothing is guaranteed, but you can get an idea for what kinds of contributions results in gifts by looking at the [gifts history](https://grants.urbit.org/history).
284+
285+### How often are gifts awarded? {#grants-3}
286+
287+Gifts are awarded semiannually.
288+
289+### Do gifts follow a set size? {#grants-31}
290+
291+Gifts do follow a structure. A gift can be in one of three categories of sizes: Gold, Silver, or Bronze. Gold gifts award the most stars, Bronze gifts award the least. These categories don't correspond to a set number of stars being awarded. That number will likely change as the project matures and star values increase. That's why you see many more stars being awarded as the earliest gifts in the [history section.](https://grants.urbit.org/history)
292+
293+### What happens if a user does not complete a proposal but meets some milestones? {#grants-4}
294+
295+You must complete the proposal to be guaranteed to receive the star grant. Partial star payouts can be negotiated for incomplete work, but such payouts are at the discretion of Tlon.
296+
297+However, either party may terminate a proposal on seven days’ written notice. In such a scenario, you may be paid pro rata for any portion of the proposal that has been completed.
298+
299+### Do star rewards from grants have lockup conditions? {#grant-5}
300+
301+No.
302+
303+### Do I have to pay taxes on stars? {#grant-6}
304+
305+Yes. In the United States, stars are considered to be income. If you are American, we need your W-9 before we can pay out your stars. If you’re not an American, you don’t need to get us any forms, but you do need to personally follow the relevant tax laws in your jurisdiction.
306+
307+### Can I create a bounty? {#grants-7}
308+
309+No. Bounties are only created by Tlon, but we draw inspiration for bounties from various sources, including the community. If you want to pitch a project, use the Proposals system.
310+
311+### How are proposals approved? {#grants-8}
312+
313+The manager of the Grants program approves them after consulting with the relevant members of the engineering team. This proposal can be accepted, rejected, or accepted with changes by Tlon. The proposal’s star payout can also be adjusted.
314+
315+### If I win a proposal, do I have an exclusive claim on the project? {#grants-9}
316+
317+You have a claim to the reward of the project as long as milestones are met to the satisfaction of Tlon. However, Tlon may allow another developer to work on the same project in parallel, for a separate reward.
318+
319+### Will milestones be embedded in a smart contract? {#grants-10}
320+
321+No.
322+
323+### Does reputation play a role in the assessment of grants? {#grants-11}
324+
325+Yes. We consider this to be a feature.
326+
327+### I completed a proposal. When will I receive payment? {#grants-12}
328+
329+We will pay you within a 30-day window.
330+
331+### Can I see the proposals of others that have been accepted? {#grants-13}
332+
333+Yes. Check out our [proposals page.](https://grants.urbit.org/proposals)
334+
335+### How do I safely store my stars? {#grants-14}
336+
337+We recommend storing each star in its own Ethereum wallet. The private keys to these wallets should be stored on physical media that is not connected to a networked computer. Redundancies don’t hurt!
338+
339+### Can I delegate a bounty or proposal to someone else? {#grants-15}
340+
341+No, not unless explicitly authorized by Tlon.
342+
343+### Do I need to sign a contract? {#grants-16}
344+
345+After you are approved to work on a bounty or a proposal, you will be sent a contract that you'll need to sign. You don't need to sign a contract to receive a gift, though.
346+
347+Here are a few important points from the bounty and proposal contracts:
348+
349+- **Intellectual property:** You agree to commit all intellectual property you create in connection with the relevant bounty or proposal. You agree that you won’t incorporate any IP that is licensed in a conflicting way.
350+
351+- **No conflicts:** You agree that you are not subject to any restrictions that would interfere with your ability to complete the bounty or proposal.
352+
353+- **No employment relationship:** You agree that being approved for the grant or bounty does not imply any employment relationship with Tlon.
354+
355+- **Termination:** Either party (you or Tlon) can terminate the agreement on seven days' written notice. If that happens, you may be compensated *pro rata* for the amount of work you've completed, but this compensation is at the sole discretion of Tlon.
356+
357+- **Governing law:** The agreement is governed by the laws of the State of California.
358+
359+Note that these paraphrased points are just for summarization purposes. The language in contract that you receive and sign is the only source of authority for the grant agreement.
360+
361+## Miscellaneous
362+
363+### Who is Curtis? {#who-is-curtis}
364+
365+Urbit started back in 2002 as Curtis Yarvin’s personal project. Curtis developed the original prototype for Urbit and, separately, wrote a blog on history and politics under the pen name ‘Mencius Moldbug’.
366+
367+In early 2019, Curtis left the Urbit project and gave all of his voting interest (both as address space and voting shares in the company) back to Tlon. He retains a non-voting, minority interest in both the address space and the company — but is not involved in the day-to-day development or operations.
368+
369+Curtis laid the foundation for Urbit by delivering its first prototype but, since 2013, it has been refined and almost entirely rewritten by a community of developers. No one working on Urbit today had anything to do with Curtis’s writing. For the most part, we couldn’t be less interested in it.
370+
371+The community of people who build Urbit have widely varied ways of thinking and looking at the world, but they all share two things: the desire to build neutral infrastructure for all people and to think from first principles about hard problems. We welcome spirited debate and disagreement as a primary tool for refining our work. Successful infrastructure, we think, serves all people — no matter their background, culture, or worldview.
372+
373+### Why do you use Ethereum? {#why-eth}
374+
375+In 2019 (when [Azimuth](#what-is-azimuth) was launched), Ethereum was the most widely deployed, most secure, and best documented general purpose blockchain, and it remains so today. Using Ethereum is a practical engineering choice. It’s the best way to bootstrap real cryptographic ownership. We’re not specifically interested in Ethereum one way or the other.
376+
377+One day we’d really like the Urbit ID registry to be hosted on [Urbit OS](#what-is-arvo) itself. But the first challenge is getting Urbit OS to be completely secure.
378+
379+### Why is Hoon so weird? {#why-hoon}
380+
381+There are things about Urbit that are weird by design, and some that are weird because we haven’t gotten around to cleaning them up. [Hoon](@/docs/glossary/hoon.md), for the most part, is weird by design, but there are a few things about it we’d like to clean up. For a complete description of why we created Hoon, see the [Hoon overview](@/docs/hoon/overview.md).
382+
383+The runes are, once you get the hang of them, pretty nice. Your mileage may vary, of course, but many talented engineers have spent many, many hours writing Hoon. It’s a simple, practical language. But the learning curve can be a bit high.
384+
385+The standard library and naming is something we’ve discussed changing, and it could happen. It’s definitely up for debate whether or not the four-letter naming convention works well. The vanes (kernel modules) have largely moved away from this convention.
386+
387+The right way to think about Hoon is as the ‘C of Urbit’. It’s a bare bones language that gets you pretty close to Nock. Eventually, we’ll probably implement more expressive languages that compile to Urbit. But for now, satisfy your curiosity and [sign up for Hooniversity](https://hooniversity.org/), a community led Hoon educational organization.
388+
389+Another option is to treat [Urbit as an API](@/docs/arvo/eyre/using-eyre.md), which allows one to use common languages such as Python and Javascript to build userspace programs. For now this option is not as powerful as Hoon, but there is still a lot that a developer without the time or inclination to learn Hoon can do.
390+
391+### What is the point of Nock? {#why-nock}
392+
393+The primary technical reason it is difficult for the individual to run a personal server is that modern computing architectures are not deterministic. What solves a problem for one person is not guaranteed to work on another person's computer, even if they are using identical hardware. [Nock](@/docs/glossary/nock.md) solves this problem. It provides a single computing foundation for the whole network, so that difficult issues that arise when running a server need only to be solved once and the solution is guaranteed to work for everyone on the network.
394+
395+It’s true that Nock, without jets, is slow. With the ability to call out to a native function, it’s not so bad. This is done by our runtime, [Vere](@/docs/glossary/vere.md), a Nock interpreter written in C.
396+
397+### Can I host my Urbit with someone else? {#why-hosting}
398+
399+Yes, [Tlon](@/blog/hosting-the-future.md) and [a few others](@/blog/providers.md) began [accepting signups](https://tlon.io) to provide hosting service in 2020. Under this arrangement, Tlon does all the work of setting up cloud infrastructure and getting your planet up and running, making getting started with Urbit as simple as signing up for an ordinary online service.
400+
401+Should you one day wish to run your Urbit yourself, any hosting provider ought to offer you the ability to download your [ship](@/docs/glossary/ship.md)'s [pier](@/docs/glossary/pier.md) to your own device and do so. This is a very low friction process thanks to Urbit's deterministic design.
lib/constants.jsnew file+4
@@ -0,0 +1,4 @@
1+module.exports = {
2+ name: "Urbit",
3+ email: "support@urbit.org",
4+}
lib/lib.jsnew file+74
@@ -0,0 +1,74 @@
1+import remark from 'remark'
2+import html from 'remark-html'
3+import fs from 'fs'
4+import { join } from 'path'
5+import matter from 'gray-matter'
6+
7+// export async function markdownToHtml(markdown) {
8+// const result = await remark().use(html).process(markdown)
9+// return result.toString()
10+// }
11+
12+// const postsDirectory = join(process.cwd(), '_projects')
13+// const processPostsDirectory = join(process.cwd(), '_projects')
14+
15+const blogDir = join(process.cwd(), 'content/blog')
16+
17+export function getPostSlugs() {
18+ return fs.readdirSync(blogDir)
19+}
20+
21+export function getPostBySlug(slug, fields = []) {
22+ const realSlug = slug.replace(/\.md$/, '')
23+ const fullPath = join(blogDir, `${realSlug}.md`)
24+ const fileContents = fs.readFileSync(fullPath, 'utf8')
25+ const { data, content } = matter(fileContents)
26+
27+ const items = {}
28+
29+ // Ensure only the minimal needed data is exposed
30+ fields.forEach((field) => {
31+ if (field === 'slug') {
32+ items[field] = realSlug
33+ }
34+ if (field === 'content') {
35+ items[field] = content
36+ }
37+
38+ if (data[field]) {
39+ items[field] = data[field]
40+ }
41+ })
42+
43+ return items
44+}
45+
46+export function getAllPosts(fields = []) {
47+ const slugs = getPostSlugs()
48+ const posts = slugs
49+ .map((slug) => getPostBySlug(slug, fields))
50+ // sort posts by date in descending order
51+ .sort((post1, post2) => (post1.date > post2.date ? -1 : 1))
52+ return posts
53+}
54+
55+export function dateFormat(d) {
56+ const wk = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']
57+ const mn =["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]
58+ return wk[d.getDay()] + ", " + mn[d.getMonth()] + " " + d.getDate() + ", " + d.getFullYear()
59+}
60+
61+export function capitalize(str) {
62+ return str.charAt(0).toUpperCase() + str.slice(1);
63+}
64+
65+export function generateCrumbs(path) {
66+ const crumbs = path.split('/')
67+ return crumbs
68+ .filter(v => v !== '')
69+ .map((crumb, index) => ({
70+ name: capitalize(crumb),
71+ key: crumb,
72+ path: crumbs.slice(0, index+2).join('/'),
73+ }))
74+}
next.config.jsnew file+21
@@ -0,0 +1,21 @@
1+module.exports = {
2+ webpack: (config, { isServer }) => {
3+ // Fixes npm packages that depend on `fs` module
4+ if (!isServer) {
5+ config.node = {
6+ fs: 'empty'
7+ }
8+ }
9+ return config
10+ }
11+}
12+
13+// const withMDX = require('@next/mdx')({
14+// extension: /\.mdx$/
15+// })
16+
17+// module.exports = withMDX({
18+// pageExtensions: ['js', 'jsx', 'md', 'mdx']
19+// })
20+
21+
package-lock.jsonnew file+3322
@@ -0,0 +1,3322 @@
1+{
2+ "name": "urbit.org-2",
3+ "version": "0.1.0",
4+ "lockfileVersion": 1,
5+ "requires": true,
6+ "dependencies": {
7+ "@babel/code-frame": {
8+ "version": "7.12.11",
9+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
10+ "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
11+ "requires": {
12+ "@babel/highlight": "^7.10.4"
13+ }
14+ },
15+ "@babel/helper-validator-identifier": {
16+ "version": "7.14.0",
17+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz",
18+ "integrity": "sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A=="
19+ },
20+ "@babel/highlight": {
21+ "version": "7.14.0",
22+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.0.tgz",
23+ "integrity": "sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==",
24+ "requires": {
25+ "@babel/helper-validator-identifier": "^7.14.0",
26+ "chalk": "^2.0.0",
27+ "js-tokens": "^4.0.0"
28+ }
29+ },
30+ "@babel/runtime": {
31+ "version": "7.12.5",
32+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz",
33+ "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==",
34+ "requires": {
35+ "regenerator-runtime": "^0.13.4"
36+ }
37+ },
38+ "@babel/types": {
39+ "version": "7.8.3",
40+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.3.tgz",
41+ "integrity": "sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==",
42+ "requires": {
43+ "esutils": "^2.0.2",
44+ "lodash": "^4.17.13",
45+ "to-fast-properties": "^2.0.0"
46+ }
47+ },
48+ "@fullhuman/postcss-purgecss": {
49+ "version": "3.1.3",
50+ "resolved": "https://registry.npmjs.org/@fullhuman/postcss-purgecss/-/postcss-purgecss-3.1.3.tgz",
51+ "integrity": "sha512-kwOXw8fZ0Lt1QmeOOrd+o4Ibvp4UTEBFQbzvWldjlKv5n+G9sXfIPn1hh63IQIL8K8vbvv1oYMJiIUbuy9bGaA==",
52+ "dev": true,
53+ "requires": {
54+ "purgecss": "^3.1.3"
55+ }
56+ },
57+ "@hapi/accept": {
58+ "version": "5.0.2",
59+ "resolved": "https://registry.npmjs.org/@hapi/accept/-/accept-5.0.2.tgz",
60+ "integrity": "sha512-CmzBx/bXUR8451fnZRuZAJRlzgm0Jgu5dltTX/bszmR2lheb9BpyN47Q1RbaGTsvFzn0PXAEs+lXDKfshccYZw==",
61+ "requires": {
62+ "@hapi/boom": "9.x.x",
63+ "@hapi/hoek": "9.x.x"
64+ }
65+ },
66+ "@hapi/boom": {
67+ "version": "9.1.2",
68+ "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-9.1.2.tgz",
69+ "integrity": "sha512-uJEJtiNHzKw80JpngDGBCGAmWjBtzxDCz17A9NO2zCi8LLBlb5Frpq4pXwyN+2JQMod4pKz5BALwyneCgDg89Q==",
70+ "requires": {
71+ "@hapi/hoek": "9.x.x"
72+ }
73+ },
74+ "@hapi/hoek": {
75+ "version": "9.2.0",
76+ "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.2.0.tgz",
77+ "integrity": "sha512-sqKVVVOe5ivCaXDWivIJYVSaEgdQK9ul7a4Kity5Iw7u9+wBAPbX1RMSnLLmp7O4Vzj0WOWwMAJsTL00xwaNug=="
78+ },
79+ "@mapbox/hast-util-table-cell-style": {
80+ "version": "0.1.3",
81+ "resolved": "https://registry.npmjs.org/@mapbox/hast-util-table-cell-style/-/hast-util-table-cell-style-0.1.3.tgz",
82+ "integrity": "sha512-QsEsh5YaDvHoMQ2YHdvZy2iDnU3GgKVBTcHf6cILyoWDZtPSdlG444pL/ioPYO/GpXSfODBb9sefEetfC4v9oA==",
83+ "requires": {
84+ "unist-util-visit": "^1.3.0"
85+ }
86+ },
87+ "@next/env": {
88+ "version": "10.2.3",
89+ "resolved": "https://registry.npmjs.org/@next/env/-/env-10.2.3.tgz",
90+ "integrity": "sha512-uBOjRBjsWC4C8X3DfmWWP6ekwLnf2JCCwQX9KVnJtJkqfDsv1yQPakdOEwvJzXQc3JC/v5KKffYPVmV2wHXCgQ=="
91+ },
92+ "@next/polyfill-module": {
93+ "version": "10.2.3",
94+ "resolved": "https://registry.npmjs.org/@next/polyfill-module/-/polyfill-module-10.2.3.tgz",
95+ "integrity": "sha512-OkeY4cLhzfYbXxM4fd+6V4s5pTPuyfKSlavItfNRA6PpS7t1/R6YjO7S7rB8tu1pbTGuDHGIdE1ioDv15bAbDQ=="
96+ },
97+ "@next/react-dev-overlay": {
98+ "version": "10.2.3",
99+ "resolved": "https://registry.npmjs.org/@next/react-dev-overlay/-/react-dev-overlay-10.2.3.tgz",
100+ "integrity": "sha512-E6g2jws4YW94l0lMMopBVKIZK2mEHfSBvM0d9dmzKG9L/A/kEq6LZCB4SiwGJbNsAdlk2y3USDa0oNbpA+m5Kw==",
101+ "requires": {
102+ "@babel/code-frame": "7.12.11",
103+ "anser": "1.4.9",
104+ "chalk": "4.0.0",
105+ "classnames": "2.2.6",
106+ "css.escape": "1.5.1",
107+ "data-uri-to-buffer": "3.0.1",
108+ "platform": "1.3.6",
109+ "shell-quote": "1.7.2",
110+ "source-map": "0.8.0-beta.0",
111+ "stacktrace-parser": "0.1.10",
112+ "strip-ansi": "6.0.0"
113+ },
114+ "dependencies": {
115+ "ansi-styles": {
116+ "version": "4.3.0",
117+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
118+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
119+ "requires": {
120+ "color-convert": "^2.0.1"
121+ }
122+ },
123+ "chalk": {
124+ "version": "4.0.0",
125+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz",
126+ "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==",
127+ "requires": {
128+ "ansi-styles": "^4.1.0",
129+ "supports-color": "^7.1.0"
130+ }
131+ },
132+ "color-convert": {
133+ "version": "2.0.1",
134+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
135+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
136+ "requires": {
137+ "color-name": "~1.1.4"
138+ }
139+ },
140+ "color-name": {
141+ "version": "1.1.4",
142+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
143+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
144+ },
145+ "supports-color": {
146+ "version": "7.2.0",
147+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
148+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
149+ "requires": {
150+ "has-flag": "^4.0.0"
151+ }
152+ }
153+ }
154+ },
155+ "@next/react-refresh-utils": {
156+ "version": "10.2.3",
157+ "resolved": "https://registry.npmjs.org/@next/react-refresh-utils/-/react-refresh-utils-10.2.3.tgz",
158+ "integrity": "sha512-qtBF56vPC6d6a8p7LYd0iRjW89fhY80kAIzmj+VonvIGjK/nymBjcFUhbKiMFqlhsarCksnhwX+Zmn95Dw9qvA=="
159+ },
160+ "@nodelib/fs.scandir": {
161+ "version": "2.1.4",
162+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz",
163+ "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==",
164+ "dev": true,
165+ "requires": {
166+ "@nodelib/fs.stat": "2.0.4",
167+ "run-parallel": "^1.1.9"
168+ }
169+ },
170+ "@nodelib/fs.stat": {
171+ "version": "2.0.4",
172+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz",
173+ "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==",
174+ "dev": true
175+ },
176+ "@nodelib/fs.walk": {
177+ "version": "1.2.6",
178+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz",
179+ "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==",
180+ "dev": true,
181+ "requires": {
182+ "@nodelib/fs.scandir": "2.1.4",
183+ "fastq": "^1.6.0"
184+ }
185+ },
186+ "@opentelemetry/api": {
187+ "version": "0.14.0",
188+ "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-0.14.0.tgz",
189+ "integrity": "sha512-L7RMuZr5LzMmZiQSQDy9O1jo0q+DaLy6XpYJfIGfYSfoJA5qzYwUP3sP1uMIQ549DvxAgM3ng85EaPTM/hUHwQ==",
190+ "requires": {
191+ "@opentelemetry/context-base": "^0.14.0"
192+ }
193+ },
194+ "@opentelemetry/context-base": {
195+ "version": "0.14.0",
196+ "resolved": "https://registry.npmjs.org/@opentelemetry/context-base/-/context-base-0.14.0.tgz",
197+ "integrity": "sha512-sDOAZcYwynHFTbLo6n8kIbLiVF3a3BLkrmehJUyEbT9F+Smbi47kLGS2gG2g0fjBLR/Lr1InPD7kXL7FaTqEkw=="
198+ },
199+ "@types/mdast": {
200+ "version": "3.0.3",
201+ "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.3.tgz",
202+ "integrity": "sha512-SXPBMnFVQg1s00dlMCc/jCdvPqdE4mXaMMCeRlxLDmTAEoegHT53xKtkDnzDTOcmMHUfcjyf36/YYZ6SxRdnsw==",
203+ "requires": {
204+ "@types/unist": "*"
205+ }
206+ },
207+ "@types/node": {
208+ "version": "15.12.0",
209+ "resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.0.tgz",
210+ "integrity": "sha512-+aHJvoCsVhO2ZCuT4o5JtcPrCPyDE3+1nvbDprYes+pPkEsbjH7AGUCNtjMOXS0fqH14t+B7yLzaqSz92FPWyw=="
211+ },
212+ "@types/unist": {
213+ "version": "2.0.3",
214+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz",
215+ "integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ=="
216+ },
217+ "acorn": {
218+ "version": "7.4.1",
219+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
220+ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
221+ "dev": true
222+ },
223+ "acorn-node": {
224+ "version": "1.8.2",
225+ "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz",
226+ "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==",
227+ "dev": true,
228+ "requires": {
229+ "acorn": "^7.0.0",
230+ "acorn-walk": "^7.0.0",
231+ "xtend": "^4.0.2"
232+ }
233+ },
234+ "acorn-walk": {
235+ "version": "7.2.0",
236+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
237+ "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
238+ "dev": true
239+ },
240+ "anser": {
241+ "version": "1.4.9",
242+ "resolved": "https://registry.npmjs.org/anser/-/anser-1.4.9.tgz",
243+ "integrity": "sha512-AI+BjTeGt2+WFk4eWcqbQ7snZpDBt8SaLlj0RT2h5xfdWaiy51OjYvqwMrNzJLGy8iOAL6nKDITWO+rd4MkYEA=="
244+ },
245+ "ansi-regex": {
246+ "version": "5.0.0",
247+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
248+ "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg=="
249+ },
250+ "ansi-styles": {
251+ "version": "3.2.1",
252+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
253+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
254+ "requires": {
255+ "color-convert": "^1.9.0"
256+ }
257+ },
258+ "anymatch": {
259+ "version": "3.1.2",
260+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
261+ "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
262+ "requires": {
263+ "normalize-path": "^3.0.0",
264+ "picomatch": "^2.0.4"
265+ }
266+ },
267+ "argparse": {
268+ "version": "1.0.10",
269+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
270+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
271+ "requires": {
272+ "sprintf-js": "~1.0.2"
273+ }
274+ },
275+ "asn1.js": {
276+ "version": "5.4.1",
277+ "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
278+ "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==",
279+ "requires": {
280+ "bn.js": "^4.0.0",
281+ "inherits": "^2.0.1",
282+ "minimalistic-assert": "^1.0.0",
283+ "safer-buffer": "^2.1.0"
284+ },
285+ "dependencies": {
286+ "bn.js": {
287+ "version": "4.12.0",
288+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
289+ "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
290+ }
291+ }
292+ },
293+ "assert": {
294+ "version": "2.0.0",
295+ "resolved": "https://registry.npmjs.org/assert/-/assert-2.0.0.tgz",
296+ "integrity": "sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==",
297+ "requires": {
298+ "es6-object-assign": "^1.1.0",
299+ "is-nan": "^1.2.1",
300+ "object-is": "^1.0.1",
301+ "util": "^0.12.0"
302+ }
303+ },
304+ "ast-types": {
305+ "version": "0.13.2",
306+ "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.2.tgz",
307+ "integrity": "sha512-uWMHxJxtfj/1oZClOxDEV1sQ1HCDkA4MG8Gr69KKeBjEVH0R84WlejZ0y2DcwyBlpAEMltmVYkVgqfLFb2oyiA=="
308+ },
309+ "at-least-node": {
310+ "version": "1.0.0",
311+ "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
312+ "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
313+ "dev": true
314+ },
315+ "autoprefixer": {
316+ "version": "10.2.6",
317+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.2.6.tgz",
318+ "integrity": "sha512-8lChSmdU6dCNMCQopIf4Pe5kipkAGj/fvTMslCsih0uHpOrXOPUEVOmYMMqmw3cekQkSD7EhIeuYl5y0BLdKqg==",
319+ "dev": true,
320+ "requires": {
321+ "browserslist": "^4.16.6",
322+ "caniuse-lite": "^1.0.30001230",
323+ "colorette": "^1.2.2",
324+ "fraction.js": "^4.1.1",
325+ "normalize-range": "^0.1.2",
326+ "postcss-value-parser": "^4.1.0"
327+ }
328+ },
329+ "available-typed-arrays": {
330+ "version": "1.0.4",
331+ "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.4.tgz",
332+ "integrity": "sha512-SA5mXJWrId1TaQjfxUYghbqQ/hYioKmLJvPJyDuYRtXXenFNMjj4hSSt1Cf1xsuXSXrtxrVC5Ot4eU6cOtBDdA=="
333+ },
334+ "babel-plugin-syntax-jsx": {
335+ "version": "6.18.0",
336+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
337+ "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY="
338+ },
339+ "bail": {
340+ "version": "1.0.5",
341+ "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz",
342+ "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ=="
343+ },
344+ "balanced-match": {
345+ "version": "1.0.2",
346+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
347+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
348+ "dev": true
349+ },
350+ "base64-js": {
351+ "version": "1.5.1",
352+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
353+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
354+ },
355+ "big.js": {
356+ "version": "5.2.2",
357+ "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
358+ "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ=="
359+ },
360+ "binary-extensions": {
361+ "version": "2.2.0",
362+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
363+ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA=="
364+ },
365+ "bn.js": {
366+ "version": "5.2.0",
367+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz",
368+ "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw=="
369+ },
370+ "brace-expansion": {
371+ "version": "1.1.11",
372+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
373+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
374+ "dev": true,
375+ "requires": {
376+ "balanced-match": "^1.0.0",
377+ "concat-map": "0.0.1"
378+ }
379+ },
380+ "braces": {
381+ "version": "3.0.2",
382+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
383+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
384+ "requires": {
385+ "fill-range": "^7.0.1"
386+ }
387+ },
388+ "brorand": {
389+ "version": "1.1.0",
390+ "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
391+ "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8="
392+ },
393+ "browserify-aes": {
394+ "version": "1.2.0",
395+ "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
396+ "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
397+ "requires": {
398+ "buffer-xor": "^1.0.3",
399+ "cipher-base": "^1.0.0",
400+ "create-hash": "^1.1.0",
401+ "evp_bytestokey": "^1.0.3",
402+ "inherits": "^2.0.1",
403+ "safe-buffer": "^5.0.1"
404+ }
405+ },
406+ "browserify-cipher": {
407+ "version": "1.0.1",
408+ "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
409+ "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
410+ "requires": {
411+ "browserify-aes": "^1.0.4",
412+ "browserify-des": "^1.0.0",
413+ "evp_bytestokey": "^1.0.0"
414+ }
415+ },
416+ "browserify-des": {
417+ "version": "1.0.2",
418+ "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
419+ "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
420+ "requires": {
421+ "cipher-base": "^1.0.1",
422+ "des.js": "^1.0.0",
423+ "inherits": "^2.0.1",
424+ "safe-buffer": "^5.1.2"
425+ }
426+ },
427+ "browserify-rsa": {
428+ "version": "4.1.0",
429+ "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz",
430+ "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==",
431+ "requires": {
432+ "bn.js": "^5.0.0",
433+ "randombytes": "^2.0.1"
434+ }
435+ },
436+ "browserify-sign": {
437+ "version": "4.2.1",
438+ "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz",
439+ "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==",
440+ "requires": {
441+ "bn.js": "^5.1.1",
442+ "browserify-rsa": "^4.0.1",
443+ "create-hash": "^1.2.0",
444+ "create-hmac": "^1.1.7",
445+ "elliptic": "^6.5.3",
446+ "inherits": "^2.0.4",
447+ "parse-asn1": "^5.1.5",
448+ "readable-stream": "^3.6.0",
449+ "safe-buffer": "^5.2.0"
450+ }
451+ },
452+ "browserify-zlib": {
453+ "version": "0.2.0",
454+ "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
455+ "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
456+ "requires": {
457+ "pako": "~1.0.5"
458+ }
459+ },
460+ "browserslist": {
461+ "version": "4.16.6",
462+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz",
463+ "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==",
464+ "requires": {
465+ "caniuse-lite": "^1.0.30001219",
466+ "colorette": "^1.2.2",
467+ "electron-to-chromium": "^1.3.723",
468+ "escalade": "^3.1.1",
469+ "node-releases": "^1.1.71"
470+ }
471+ },
472+ "buffer": {
473+ "version": "5.6.0",
474+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz",
475+ "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==",
476+ "requires": {
477+ "base64-js": "^1.0.2",
478+ "ieee754": "^1.1.4"
479+ }
480+ },
481+ "buffer-xor": {
482+ "version": "1.0.3",
483+ "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
484+ "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk="
485+ },
486+ "builtin-status-codes": {
487+ "version": "3.0.0",
488+ "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
489+ "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug="
490+ },
491+ "bytes": {
492+ "version": "3.1.0",
493+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
494+ "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
495+ },
496+ "call-bind": {
497+ "version": "1.0.2",
498+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
499+ "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
500+ "requires": {
501+ "function-bind": "^1.1.1",
502+ "get-intrinsic": "^1.0.2"
503+ }
504+ },
505+ "camelcase-css": {
506+ "version": "2.0.1",
507+ "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
508+ "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
509+ "dev": true
510+ },
511+ "caniuse-lite": {
512+ "version": "1.0.30001233",
513+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001233.tgz",
514+ "integrity": "sha512-BmkbxLfStqiPA7IEzQpIk0UFZFf3A4E6fzjPJ6OR+bFC2L8ES9J8zGA/asoi47p8XDVkev+WJo2I2Nc8c/34Yg=="
515+ },
516+ "ccount": {
517+ "version": "1.1.0",
518+ "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz",
519+ "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg=="
520+ },
521+ "chalk": {
522+ "version": "2.4.2",
523+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
524+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
525+ "requires": {
526+ "ansi-styles": "^3.2.1",
527+ "escape-string-regexp": "^1.0.5",
528+ "supports-color": "^5.3.0"
529+ }
530+ },
531+ "character-entities": {
532+ "version": "1.2.4",
533+ "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz",
534+ "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw=="
535+ },
536+ "character-entities-html4": {
537+ "version": "1.1.4",
538+ "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.4.tgz",
539+ "integrity": "sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g=="
540+ },
541+ "character-entities-legacy": {
542+ "version": "1.1.4",
543+ "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz",
544+ "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA=="
545+ },
546+ "character-reference-invalid": {
547+ "version": "1.1.4",
548+ "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz",
549+ "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg=="
550+ },
551+ "chokidar": {
552+ "version": "3.5.1",
553+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz",
554+ "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==",
555+ "requires": {
556+ "anymatch": "~3.1.1",
557+ "braces": "~3.0.2",
558+ "fsevents": "~2.3.1",
559+ "glob-parent": "~5.1.0",
560+ "is-binary-path": "~2.1.0",
561+ "is-glob": "~4.0.1",
562+ "normalize-path": "~3.0.0",
563+ "readdirp": "~3.5.0"
564+ }
565+ },
566+ "cipher-base": {
567+ "version": "1.0.4",
568+ "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
569+ "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
570+ "requires": {
571+ "inherits": "^2.0.1",
572+ "safe-buffer": "^5.0.1"
573+ }
574+ },
575+ "classnames": {
576+ "version": "2.2.6",
577+ "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz",
578+ "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q=="
579+ },
580+ "color": {
581+ "version": "3.1.3",
582+ "resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz",
583+ "integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==",
584+ "dev": true,
585+ "requires": {
586+ "color-convert": "^1.9.1",
587+ "color-string": "^1.5.4"
588+ }
589+ },
590+ "color-convert": {
591+ "version": "1.9.3",
592+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
593+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
594+ "requires": {
595+ "color-name": "1.1.3"
596+ }
597+ },
598+ "color-name": {
599+ "version": "1.1.3",
600+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
601+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
602+ },
603+ "color-string": {
604+ "version": "1.5.5",
605+ "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.5.tgz",
606+ "integrity": "sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg==",
607+ "dev": true,
608+ "requires": {
609+ "color-name": "^1.0.0",
610+ "simple-swizzle": "^0.2.2"
611+ }
612+ },
613+ "colorette": {
614+ "version": "1.2.2",
615+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz",
616+ "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w=="
617+ },
618+ "comma-separated-tokens": {
619+ "version": "1.0.8",
620+ "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz",
621+ "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw=="
622+ },
623+ "commander": {
624+ "version": "6.2.1",
625+ "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz",
626+ "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==",
627+ "dev": true
628+ },
629+ "commondir": {
630+ "version": "1.0.1",
631+ "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
632+ "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs="
633+ },
634+ "concat-map": {
635+ "version": "0.0.1",
636+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
637+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
638+ "dev": true
639+ },
640+ "console-browserify": {
641+ "version": "1.2.0",
642+ "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz",
643+ "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA=="
644+ },
645+ "constants-browserify": {
646+ "version": "1.0.0",
647+ "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
648+ "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U="
649+ },
650+ "convert-source-map": {
651+ "version": "1.7.0",
652+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
653+ "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
654+ "requires": {
655+ "safe-buffer": "~5.1.1"
656+ },
657+ "dependencies": {
658+ "safe-buffer": {
659+ "version": "5.1.2",
660+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
661+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
662+ }
663+ }
664+ },
665+ "core-util-is": {
666+ "version": "1.0.2",
667+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
668+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
669+ },
670+ "create-ecdh": {
671+ "version": "4.0.4",
672+ "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz",
673+ "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==",
674+ "requires": {
675+ "bn.js": "^4.1.0",
676+ "elliptic": "^6.5.3"
677+ },
678+ "dependencies": {
679+ "bn.js": {
680+ "version": "4.12.0",
681+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
682+ "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
683+ }
684+ }
685+ },
686+ "create-hash": {
687+ "version": "1.2.0",
688+ "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
689+ "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
690+ "requires": {
691+ "cipher-base": "^1.0.1",
692+ "inherits": "^2.0.1",
693+ "md5.js": "^1.3.4",
694+ "ripemd160": "^2.0.1",
695+ "sha.js": "^2.4.0"
696+ }
697+ },
698+ "create-hmac": {
699+ "version": "1.1.7",
700+ "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
701+ "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
702+ "requires": {
703+ "cipher-base": "^1.0.3",
704+ "create-hash": "^1.1.0",
705+ "inherits": "^2.0.1",
706+ "ripemd160": "^2.0.0",
707+ "safe-buffer": "^5.0.1",
708+ "sha.js": "^2.4.8"
709+ }
710+ },
711+ "crypto-browserify": {
712+ "version": "3.12.0",
713+ "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
714+ "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
715+ "requires": {
716+ "browserify-cipher": "^1.0.0",
717+ "browserify-sign": "^4.0.0",
718+ "create-ecdh": "^4.0.0",
719+ "create-hash": "^1.1.0",
720+ "create-hmac": "^1.1.0",
721+ "diffie-hellman": "^5.0.0",
722+ "inherits": "^2.0.1",
723+ "pbkdf2": "^3.0.3",
724+ "public-encrypt": "^4.0.0",
725+ "randombytes": "^2.0.0",
726+ "randomfill": "^1.0.3"
727+ }
728+ },
729+ "css-unit-converter": {
730+ "version": "1.1.2",
731+ "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.2.tgz",
732+ "integrity": "sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==",
733+ "dev": true
734+ },
735+ "css.escape": {
736+ "version": "1.5.1",
737+ "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz",
738+ "integrity": "sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s="
739+ },
740+ "cssesc": {
741+ "version": "3.0.0",
742+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
743+ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
744+ "dev": true
745+ },
746+ "cssnano-preset-simple": {
747+ "version": "2.0.0",
748+ "resolved": "https://registry.npmjs.org/cssnano-preset-simple/-/cssnano-preset-simple-2.0.0.tgz",
749+ "integrity": "sha512-HkufSLkaBJbKBFx/7aj5HmCK9Ni/JedRQm0mT2qBzMG/dEuJOLnMt2lK6K1rwOOyV4j9aSY+knbW9WoS7BYpzg==",
750+ "requires": {
751+ "caniuse-lite": "^1.0.30001202"
752+ }
753+ },
754+ "cssnano-simple": {
755+ "version": "2.0.0",
756+ "resolved": "https://registry.npmjs.org/cssnano-simple/-/cssnano-simple-2.0.0.tgz",
757+ "integrity": "sha512-0G3TXaFxlh/szPEG/o3VcmCwl0N3E60XNb9YZZijew5eIs6fLjJuOPxQd9yEBaX2p/YfJtt49i4vYi38iH6/6w==",
758+ "requires": {
759+ "cssnano-preset-simple": "^2.0.0"
760+ }
761+ },
762+ "data-uri-to-buffer": {
763+ "version": "3.0.1",
764+ "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz",
765+ "integrity": "sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og=="
766+ },
767+ "debug": {
768+ "version": "2.6.9",
769+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
770+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
771+ "requires": {
772+ "ms": "2.0.0"
773+ }
774+ },
775+ "define-properties": {
776+ "version": "1.1.3",
777+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
778+ "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
779+ "requires": {
780+ "object-keys": "^1.0.12"
781+ }
782+ },
783+ "defined": {
784+ "version": "1.0.0",
785+ "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
786+ "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=",
787+ "dev": true
788+ },
789+ "depd": {
790+ "version": "1.1.2",
791+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
792+ "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
793+ },
794+ "des.js": {
795+ "version": "1.0.1",
796+ "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz",
797+ "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==",
798+ "requires": {
799+ "inherits": "^2.0.1",
800+ "minimalistic-assert": "^1.0.0"
801+ }
802+ },
803+ "detective": {
804+ "version": "5.2.0",
805+ "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz",
806+ "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==",
807+ "dev": true,
808+ "requires": {
809+ "acorn-node": "^1.6.1",
810+ "defined": "^1.0.0",
811+ "minimist": "^1.1.1"
812+ }
813+ },
814+ "didyoumean": {
815+ "version": "1.2.1",
816+ "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.1.tgz",
817+ "integrity": "sha1-6S7f2tplN9SE1zwBcv0eugxJdv8=",
818+ "dev": true
819+ },
820+ "diffie-hellman": {
821+ "version": "5.0.3",
822+ "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
823+ "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
824+ "requires": {
825+ "bn.js": "^4.1.0",
826+ "miller-rabin": "^4.0.0",
827+ "randombytes": "^2.0.0"
828+ },
829+ "dependencies": {
830+ "bn.js": {
831+ "version": "4.12.0",
832+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
833+ "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
834+ }
835+ }
836+ },
837+ "dlv": {
838+ "version": "1.1.3",
839+ "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
840+ "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
841+ "dev": true
842+ },
843+ "domain-browser": {
844+ "version": "4.19.0",
845+ "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-4.19.0.tgz",
846+ "integrity": "sha512-fRA+BaAWOR/yr/t7T9E9GJztHPeFjj8U35ajyAjCDtAAnTn1Rc1f6W6VGPJrO1tkQv9zWu+JRof7z6oQtiYVFQ=="
847+ },
848+ "electron-to-chromium": {
849+ "version": "1.3.746",
850+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.746.tgz",
851+ "integrity": "sha512-3ffyGODL38apwSsIgXaWnAKNXChsjXhAmBTjbqCbrv1fBbVltuNLWh0zdrQbwK/oxPQ/Gss/kYfFAPPGu9mszQ=="
852+ },
853+ "elliptic": {
854+ "version": "6.5.4",
855+ "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",
856+ "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==",
857+ "requires": {
858+ "bn.js": "^4.11.9",
859+ "brorand": "^1.1.0",
860+ "hash.js": "^1.0.0",
861+ "hmac-drbg": "^1.0.1",
862+ "inherits": "^2.0.4",
863+ "minimalistic-assert": "^1.0.1",
864+ "minimalistic-crypto-utils": "^1.0.1"
865+ },
866+ "dependencies": {
867+ "bn.js": {
868+ "version": "4.12.0",
869+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
870+ "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
871+ }
872+ }
873+ },
874+ "emojis-list": {
875+ "version": "2.1.0",
876+ "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
877+ "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k="
878+ },
879+ "encoding": {
880+ "version": "0.1.13",
881+ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
882+ "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
883+ "requires": {
884+ "iconv-lite": "^0.6.2"
885+ }
886+ },
887+ "es-abstract": {
888+ "version": "1.18.3",
889+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.3.tgz",
890+ "integrity": "sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw==",
891+ "requires": {
892+ "call-bind": "^1.0.2",
893+ "es-to-primitive": "^1.2.1",
894+ "function-bind": "^1.1.1",
895+ "get-intrinsic": "^1.1.1",
896+ "has": "^1.0.3",
897+ "has-symbols": "^1.0.2",
898+ "is-callable": "^1.2.3",
899+ "is-negative-zero": "^2.0.1",
900+ "is-regex": "^1.1.3",
901+ "is-string": "^1.0.6",
902+ "object-inspect": "^1.10.3",
903+ "object-keys": "^1.1.1",
904+ "object.assign": "^4.1.2",
905+ "string.prototype.trimend": "^1.0.4",
906+ "string.prototype.trimstart": "^1.0.4",
907+ "unbox-primitive": "^1.0.1"
908+ }
909+ },
910+ "es-to-primitive": {
911+ "version": "1.2.1",
912+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
913+ "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
914+ "requires": {
915+ "is-callable": "^1.1.4",
916+ "is-date-object": "^1.0.1",
917+ "is-symbol": "^1.0.2"
918+ }
919+ },
920+ "es6-object-assign": {
921+ "version": "1.1.0",
922+ "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz",
923+ "integrity": "sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw="
924+ },
925+ "escalade": {
926+ "version": "3.1.1",
927+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
928+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw=="
929+ },
930+ "escape-string-regexp": {
931+ "version": "1.0.5",
932+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
933+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
934+ },
935+ "esprima": {
936+ "version": "4.0.1",
937+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
938+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
939+ },
940+ "esutils": {
941+ "version": "2.0.3",
942+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
943+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="
944+ },
945+ "etag": {
946+ "version": "1.8.1",
947+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
948+ "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
949+ },
950+ "events": {
951+ "version": "3.3.0",
952+ "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
953+ "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q=="
954+ },
955+ "evp_bytestokey": {
956+ "version": "1.0.3",
957+ "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
958+ "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
959+ "requires": {
960+ "md5.js": "^1.3.4",
961+ "safe-buffer": "^5.1.1"
962+ }
963+ },
964+ "extend": {
965+ "version": "3.0.2",
966+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
967+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
968+ },
969+ "extend-shallow": {
970+ "version": "2.0.1",
971+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
972+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
973+ "requires": {
974+ "is-extendable": "^0.1.0"
975+ }
976+ },
977+ "fast-glob": {
978+ "version": "3.2.5",
979+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz",
980+ "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==",
981+ "dev": true,
982+ "requires": {
983+ "@nodelib/fs.stat": "^2.0.2",
984+ "@nodelib/fs.walk": "^1.2.3",
985+ "glob-parent": "^5.1.0",
986+ "merge2": "^1.3.0",
987+ "micromatch": "^4.0.2",
988+ "picomatch": "^2.2.1"
989+ }
990+ },
991+ "fastq": {
992+ "version": "1.11.0",
993+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz",
994+ "integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==",
995+ "dev": true,
996+ "requires": {
997+ "reusify": "^1.0.4"
998+ }
999+ },
1000+ "fill-range": {
1001+ "version": "7.0.1",
1002+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
1003+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
1004+ "requires": {
1005+ "to-regex-range": "^5.0.1"
1006+ }
1007+ },
1008+ "find-cache-dir": {
1009+ "version": "3.3.1",
1010+ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz",
1011+ "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==",
1012+ "requires": {
1013+ "commondir": "^1.0.1",
1014+ "make-dir": "^3.0.2",
1015+ "pkg-dir": "^4.1.0"
1016+ }
1017+ },
1018+ "find-up": {
1019+ "version": "4.1.0",
1020+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
1021+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
1022+ "requires": {
1023+ "locate-path": "^5.0.0",
1024+ "path-exists": "^4.0.0"
1025+ }
1026+ },
1027+ "foreach": {
1028+ "version": "2.0.5",
1029+ "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
1030+ "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k="
1031+ },
1032+ "fraction.js": {
1033+ "version": "4.1.1",
1034+ "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.1.tgz",
1035+ "integrity": "sha512-MHOhvvxHTfRFpF1geTK9czMIZ6xclsEor2wkIGYYq+PxcQqT7vStJqjhe6S1TenZrMZzo+wlqOufBDVepUEgPg==",
1036+ "dev": true
1037+ },
1038+ "fs-extra": {
1039+ "version": "9.1.0",
1040+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
1041+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
1042+ "dev": true,
1043+ "requires": {
1044+ "at-least-node": "^1.0.0",
1045+ "graceful-fs": "^4.2.0",
1046+ "jsonfile": "^6.0.1",
1047+ "universalify": "^2.0.0"
1048+ }
1049+ },
1050+ "fs.realpath": {
1051+ "version": "1.0.0",
1052+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
1053+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
1054+ "dev": true
1055+ },
1056+ "fsevents": {
1057+ "version": "2.3.2",
1058+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
1059+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
1060+ "optional": true
1061+ },
1062+ "function-bind": {
1063+ "version": "1.1.1",
1064+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
1065+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
1066+ },
1067+ "get-intrinsic": {
1068+ "version": "1.1.1",
1069+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
1070+ "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
1071+ "requires": {
1072+ "function-bind": "^1.1.1",
1073+ "has": "^1.0.3",
1074+ "has-symbols": "^1.0.1"
1075+ }
1076+ },
1077+ "get-orientation": {
1078+ "version": "1.1.2",
1079+ "resolved": "https://registry.npmjs.org/get-orientation/-/get-orientation-1.1.2.tgz",
1080+ "integrity": "sha512-/pViTfifW+gBbh/RnlFYHINvELT9Znt+SYyDKAUL6uV6By019AK/s+i9XP4jSwq7lwP38Fd8HVeTxym3+hkwmQ==",
1081+ "requires": {
1082+ "stream-parser": "^0.3.1"
1083+ }
1084+ },
1085+ "glob": {
1086+ "version": "7.1.7",
1087+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
1088+ "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
1089+ "dev": true,
1090+ "requires": {
1091+ "fs.realpath": "^1.0.0",
1092+ "inflight": "^1.0.4",
1093+ "inherits": "2",
1094+ "minimatch": "^3.0.4",
1095+ "once": "^1.3.0",
1096+ "path-is-absolute": "^1.0.0"
1097+ }
1098+ },
1099+ "glob-base": {
1100+ "version": "0.3.0",
1101+ "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
1102+ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
1103+ "dev": true,
1104+ "requires": {
1105+ "glob-parent": "^2.0.0",
1106+ "is-glob": "^2.0.0"
1107+ },
1108+ "dependencies": {
1109+ "glob-parent": {
1110+ "version": "2.0.0",
1111+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
1112+ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
1113+ "dev": true,
1114+ "requires": {
1115+ "is-glob": "^2.0.0"
1116+ }
1117+ },
1118+ "is-extglob": {
1119+ "version": "1.0.0",
1120+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
1121+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
1122+ "dev": true
1123+ },
1124+ "is-glob": {
1125+ "version": "2.0.1",
1126+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
1127+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
1128+ "dev": true,
1129+ "requires": {
1130+ "is-extglob": "^1.0.0"
1131+ }
1132+ }
1133+ }
1134+ },
1135+ "glob-parent": {
1136+ "version": "5.1.2",
1137+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
1138+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
1139+ "requires": {
1140+ "is-glob": "^4.0.1"
1141+ }
1142+ },
1143+ "glob-to-regexp": {
1144+ "version": "0.4.1",
1145+ "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
1146+ "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw=="
1147+ },
1148+ "graceful-fs": {
1149+ "version": "4.2.6",
1150+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz",
1151+ "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ=="
1152+ },
1153+ "gray-matter": {
1154+ "version": "4.0.3",
1155+ "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz",
1156+ "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==",
1157+ "requires": {
1158+ "js-yaml": "^3.13.1",
1159+ "kind-of": "^6.0.2",
1160+ "section-matter": "^1.0.0",
1161+ "strip-bom-string": "^1.0.0"
1162+ }
1163+ },
1164+ "has": {
1165+ "version": "1.0.3",
1166+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
1167+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
1168+ "requires": {
1169+ "function-bind": "^1.1.1"
1170+ }
1171+ },
1172+ "has-bigints": {
1173+ "version": "1.0.1",
1174+ "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz",
1175+ "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA=="
1176+ },
1177+ "has-flag": {
1178+ "version": "4.0.0",
1179+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
1180+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
1181+ },
1182+ "has-symbols": {
1183+ "version": "1.0.2",
1184+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz",
1185+ "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw=="
1186+ },
1187+ "hash-base": {
1188+ "version": "3.1.0",
1189+ "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz",
1190+ "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==",
1191+ "requires": {
1192+ "inherits": "^2.0.4",
1193+ "readable-stream": "^3.6.0",
1194+ "safe-buffer": "^5.2.0"
1195+ }
1196+ },
1197+ "hash.js": {
1198+ "version": "1.1.7",
1199+ "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
1200+ "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
1201+ "requires": {
1202+ "inherits": "^2.0.3",
1203+ "minimalistic-assert": "^1.0.1"
1204+ }
1205+ },
1206+ "hast-to-hyperscript": {
1207+ "version": "9.0.1",
1208+ "resolved": "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz",
1209+ "integrity": "sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==",
1210+ "requires": {
1211+ "@types/unist": "^2.0.3",
1212+ "comma-separated-tokens": "^1.0.0",
1213+ "property-information": "^5.3.0",
1214+ "space-separated-tokens": "^1.0.0",
1215+ "style-to-object": "^0.3.0",
1216+ "unist-util-is": "^4.0.0",
1217+ "web-namespaces": "^1.0.0"
1218+ },
1219+ "dependencies": {
1220+ "unist-util-is": {
1221+ "version": "4.1.0",
1222+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz",
1223+ "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg=="
1224+ }
1225+ }
1226+ },
1227+ "hast-util-is-element": {
1228+ "version": "1.1.0",
1229+ "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-1.1.0.tgz",
1230+ "integrity": "sha512-oUmNua0bFbdrD/ELDSSEadRVtWZOf3iF6Lbv81naqsIV99RnSCieTbWuWCY8BAeEfKJTKl0gRdokv+dELutHGQ=="
1231+ },
1232+ "hast-util-sanitize": {
1233+ "version": "3.0.2",
1234+ "resolved": "https://registry.npmjs.org/hast-util-sanitize/-/hast-util-sanitize-3.0.2.tgz",
1235+ "integrity": "sha512-+2I0x2ZCAyiZOO/sb4yNLFmdwPBnyJ4PBkVTUMKMqBwYNA+lXSgOmoRXlJFazoyid9QPogRRKgKhVEodv181sA==",
1236+ "requires": {
1237+ "xtend": "^4.0.0"
1238+ }
1239+ },
1240+ "hast-util-to-html": {
1241+ "version": "7.1.3",
1242+ "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-7.1.3.tgz",
1243+ "integrity": "sha512-yk2+1p3EJTEE9ZEUkgHsUSVhIpCsL/bvT8E5GzmWc+N1Po5gBw+0F8bo7dpxXR0nu0bQVxVZGX2lBGF21CmeDw==",
1244+ "requires": {
1245+ "ccount": "^1.0.0",
1246+ "comma-separated-tokens": "^1.0.0",
1247+ "hast-util-is-element": "^1.0.0",
1248+ "hast-util-whitespace": "^1.0.0",
1249+ "html-void-elements": "^1.0.0",
1250+ "property-information": "^5.0.0",
1251+ "space-separated-tokens": "^1.0.0",
1252+ "stringify-entities": "^3.0.1",
1253+ "unist-util-is": "^4.0.0",
1254+ "xtend": "^4.0.0"
1255+ },
1256+ "dependencies": {
1257+ "unist-util-is": {
1258+ "version": "4.1.0",
1259+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz",
1260+ "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg=="
1261+ }
1262+ }
1263+ },
1264+ "hast-util-whitespace": {
1265+ "version": "1.0.4",
1266+ "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-1.0.4.tgz",
1267+ "integrity": "sha512-I5GTdSfhYfAPNztx2xJRQpG8cuDSNt599/7YUn7Gx/WxNMsG+a835k97TDkFgk123cwjfwINaZknkKkphx/f2A=="
1268+ },
1269+ "he": {
1270+ "version": "1.2.0",
1271+ "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
1272+ "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="
1273+ },
1274+ "hmac-drbg": {
1275+ "version": "1.0.1",
1276+ "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
1277+ "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
1278+ "requires": {
1279+ "hash.js": "^1.0.3",
1280+ "minimalistic-assert": "^1.0.0",
1281+ "minimalistic-crypto-utils": "^1.0.1"
1282+ }
1283+ },
1284+ "html-tags": {
1285+ "version": "3.1.0",
1286+ "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz",
1287+ "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==",
1288+ "dev": true
1289+ },
1290+ "html-void-elements": {
1291+ "version": "1.0.5",
1292+ "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz",
1293+ "integrity": "sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w=="
1294+ },
1295+ "http-errors": {
1296+ "version": "1.7.3",
1297+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz",
1298+ "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==",
1299+ "requires": {
1300+ "depd": "~1.1.2",
1301+ "inherits": "2.0.4",
1302+ "setprototypeof": "1.1.1",
1303+ "statuses": ">= 1.5.0 < 2",
1304+ "toidentifier": "1.0.0"
1305+ }
1306+ },
1307+ "https-browserify": {
1308+ "version": "1.0.0",
1309+ "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
1310+ "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM="
1311+ },
1312+ "iconv-lite": {
1313+ "version": "0.6.3",
1314+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
1315+ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
1316+ "requires": {
1317+ "safer-buffer": ">= 2.1.2 < 3.0.0"
1318+ }
1319+ },
1320+ "ieee754": {
1321+ "version": "1.2.1",
1322+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
1323+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
1324+ },
1325+ "inflight": {
1326+ "version": "1.0.6",
1327+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
1328+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
1329+ "dev": true,
1330+ "requires": {
1331+ "once": "^1.3.0",
1332+ "wrappy": "1"
1333+ }
1334+ },
1335+ "inherits": {
1336+ "version": "2.0.4",
1337+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
1338+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
1339+ },
1340+ "inline-style-parser": {
1341+ "version": "0.1.1",
1342+ "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz",
1343+ "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q=="
1344+ },
1345+ "is-alphabetical": {
1346+ "version": "1.0.4",
1347+ "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz",
1348+ "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg=="
1349+ },
1350+ "is-alphanumerical": {
1351+ "version": "1.0.4",
1352+ "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz",
1353+ "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==",
1354+ "requires": {
1355+ "is-alphabetical": "^1.0.0",
1356+ "is-decimal": "^1.0.0"
1357+ }
1358+ },
1359+ "is-arguments": {
1360+ "version": "1.1.0",
1361+ "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz",
1362+ "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==",
1363+ "requires": {
1364+ "call-bind": "^1.0.0"
1365+ }
1366+ },
1367+ "is-arrayish": {
1368+ "version": "0.3.2",
1369+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
1370+ "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==",
1371+ "dev": true
1372+ },
1373+ "is-bigint": {
1374+ "version": "1.0.2",
1375+ "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz",
1376+ "integrity": "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA=="
1377+ },
1378+ "is-binary-path": {
1379+ "version": "2.1.0",
1380+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
1381+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
1382+ "requires": {
1383+ "binary-extensions": "^2.0.0"
1384+ }
1385+ },
1386+ "is-boolean-object": {
1387+ "version": "1.1.1",
1388+ "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz",
1389+ "integrity": "sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==",
1390+ "requires": {
1391+ "call-bind": "^1.0.2"
1392+ }
1393+ },
1394+ "is-buffer": {
1395+ "version": "2.0.5",
1396+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
1397+ "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ=="
1398+ },
1399+ "is-callable": {
1400+ "version": "1.2.3",
1401+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz",
1402+ "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ=="
1403+ },
1404+ "is-core-module": {
1405+ "version": "2.4.0",
1406+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz",
1407+ "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==",
1408+ "dev": true,
1409+ "requires": {
1410+ "has": "^1.0.3"
1411+ }
1412+ },
1413+ "is-date-object": {
1414+ "version": "1.0.4",
1415+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz",
1416+ "integrity": "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A=="
1417+ },
1418+ "is-decimal": {
1419+ "version": "1.0.4",
1420+ "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz",
1421+ "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw=="
1422+ },
1423+ "is-dotfile": {
1424+ "version": "1.0.3",
1425+ "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
1426+ "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=",
1427+ "dev": true
1428+ },
1429+ "is-extendable": {
1430+ "version": "0.1.1",
1431+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
1432+ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
1433+ },
1434+ "is-extglob": {
1435+ "version": "2.1.1",
1436+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
1437+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
1438+ },
1439+ "is-generator-function": {
1440+ "version": "1.0.9",
1441+ "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.9.tgz",
1442+ "integrity": "sha512-ZJ34p1uvIfptHCN7sFTjGibB9/oBg17sHqzDLfuwhvmN/qLVvIQXRQ8licZQ35WJ8KuEQt/etnnzQFI9C9Ue/A=="
1443+ },
1444+ "is-glob": {
1445+ "version": "4.0.1",
1446+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
1447+ "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
1448+ "requires": {
1449+ "is-extglob": "^2.1.1"
1450+ }
1451+ },
1452+ "is-hexadecimal": {
1453+ "version": "1.0.4",
1454+ "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz",
1455+ "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw=="
1456+ },
1457+ "is-nan": {
1458+ "version": "1.3.2",
1459+ "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz",
1460+ "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==",
1461+ "requires": {
1462+ "call-bind": "^1.0.0",
1463+ "define-properties": "^1.1.3"
1464+ }
1465+ },
1466+ "is-negative-zero": {
1467+ "version": "2.0.1",
1468+ "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz",
1469+ "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w=="
1470+ },
1471+ "is-number": {
1472+ "version": "7.0.0",
1473+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
1474+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
1475+ },
1476+ "is-number-object": {
1477+ "version": "1.0.5",
1478+ "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz",
1479+ "integrity": "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw=="
1480+ },
1481+ "is-plain-obj": {
1482+ "version": "2.1.0",
1483+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
1484+ "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA=="
1485+ },
1486+ "is-regex": {
1487+ "version": "1.1.3",
1488+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz",
1489+ "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==",
1490+ "requires": {
1491+ "call-bind": "^1.0.2",
1492+ "has-symbols": "^1.0.2"
1493+ }
1494+ },
1495+ "is-string": {
1496+ "version": "1.0.6",
1497+ "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz",
1498+ "integrity": "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w=="
1499+ },
1500+ "is-symbol": {
1501+ "version": "1.0.4",
1502+ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz",
1503+ "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==",
1504+ "requires": {
1505+ "has-symbols": "^1.0.2"
1506+ }
1507+ },
1508+ "is-typed-array": {
1509+ "version": "1.1.5",
1510+ "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.5.tgz",
1511+ "integrity": "sha512-S+GRDgJlR3PyEbsX/Fobd9cqpZBuvUS+8asRqYDMLCb2qMzt1oz5m5oxQCxOgUDxiWsOVNi4yaF+/uvdlHlYug==",
1512+ "requires": {
1513+ "available-typed-arrays": "^1.0.2",
1514+ "call-bind": "^1.0.2",
1515+ "es-abstract": "^1.18.0-next.2",
1516+ "foreach": "^2.0.5",
1517+ "has-symbols": "^1.0.1"
1518+ }
1519+ },
1520+ "isarray": {
1521+ "version": "1.0.0",
1522+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
1523+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
1524+ },
1525+ "jest-worker": {
1526+ "version": "27.0.0-next.5",
1527+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.0-next.5.tgz",
1528+ "integrity": "sha512-mk0umAQ5lT+CaOJ+Qp01N6kz48sJG2kr2n1rX0koqKf6FIygQV0qLOdN9SCYID4IVeSigDOcPeGLozdMLYfb5g==",
1529+ "requires": {
1530+ "@types/node": "*",
1531+ "merge-stream": "^2.0.0",
1532+ "supports-color": "^8.0.0"
1533+ },
1534+ "dependencies": {
1535+ "supports-color": {
1536+ "version": "8.1.1",
1537+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
1538+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
1539+ "requires": {
1540+ "has-flag": "^4.0.0"
1541+ }
1542+ }
1543+ }
1544+ },
1545+ "js-tokens": {
1546+ "version": "4.0.0",
1547+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
1548+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
1549+ },
1550+ "js-yaml": {
1551+ "version": "3.14.1",
1552+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
1553+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
1554+ "requires": {
1555+ "argparse": "^1.0.7",
1556+ "esprima": "^4.0.0"
1557+ }
1558+ },
1559+ "json5": {
1560+ "version": "1.0.1",
1561+ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
1562+ "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
1563+ "requires": {
1564+ "minimist": "^1.2.0"
1565+ }
1566+ },
1567+ "jsonfile": {
1568+ "version": "6.1.0",
1569+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
1570+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
1571+ "dev": true,
1572+ "requires": {
1573+ "graceful-fs": "^4.1.6",
1574+ "universalify": "^2.0.0"
1575+ }
1576+ },
1577+ "kind-of": {
1578+ "version": "6.0.3",
1579+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
1580+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="
1581+ },
1582+ "loader-utils": {
1583+ "version": "1.2.3",
1584+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz",
1585+ "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==",
1586+ "requires": {
1587+ "big.js": "^5.2.2",
1588+ "emojis-list": "^2.0.0",
1589+ "json5": "^1.0.1"
1590+ }
1591+ },
1592+ "locate-path": {
1593+ "version": "5.0.0",
1594+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
1595+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
1596+ "requires": {
1597+ "p-locate": "^4.1.0"
1598+ }
1599+ },
1600+ "lodash": {
1601+ "version": "4.17.21",
1602+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
1603+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
1604+ },
1605+ "lodash.sortby": {
1606+ "version": "4.7.0",
1607+ "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
1608+ "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg="
1609+ },
1610+ "lodash.toarray": {
1611+ "version": "4.4.0",
1612+ "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz",
1613+ "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=",
1614+ "dev": true
1615+ },
1616+ "lodash.topath": {
1617+ "version": "4.5.2",
1618+ "resolved": "https://registry.npmjs.org/lodash.topath/-/lodash.topath-4.5.2.tgz",
1619+ "integrity": "sha1-NhY1Hzu6YZlKCTGYlmC9AyVP0Ak=",
1620+ "dev": true
1621+ },
1622+ "longest-streak": {
1623+ "version": "2.0.4",
1624+ "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz",
1625+ "integrity": "sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg=="
1626+ },
1627+ "loose-envify": {
1628+ "version": "1.4.0",
1629+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
1630+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
1631+ "requires": {
1632+ "js-tokens": "^3.0.0 || ^4.0.0"
1633+ }
1634+ },
1635+ "make-dir": {
1636+ "version": "3.1.0",
1637+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
1638+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
1639+ "requires": {
1640+ "semver": "^6.0.0"
1641+ }
1642+ },
1643+ "md5.js": {
1644+ "version": "1.3.5",
1645+ "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
1646+ "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
1647+ "requires": {
1648+ "hash-base": "^3.0.0",
1649+ "inherits": "^2.0.1",
1650+ "safe-buffer": "^5.1.2"
1651+ }
1652+ },
1653+ "mdast-util-definitions": {
1654+ "version": "4.0.0",
1655+ "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz",
1656+ "integrity": "sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==",
1657+ "requires": {
1658+ "unist-util-visit": "^2.0.0"
1659+ },
1660+ "dependencies": {
1661+ "unist-util-is": {
1662+ "version": "4.1.0",
1663+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz",
1664+ "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg=="
1665+ },
1666+ "unist-util-visit": {
1667+ "version": "2.0.3",
1668+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz",
1669+ "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==",
1670+ "requires": {
1671+ "@types/unist": "^2.0.0",
1672+ "unist-util-is": "^4.0.0",
1673+ "unist-util-visit-parents": "^3.0.0"
1674+ }
1675+ },
1676+ "unist-util-visit-parents": {
1677+ "version": "3.1.1",
1678+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz",
1679+ "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==",
1680+ "requires": {
1681+ "@types/unist": "^2.0.0",
1682+ "unist-util-is": "^4.0.0"
1683+ }
1684+ }
1685+ }
1686+ },
1687+ "mdast-util-from-markdown": {
1688+ "version": "0.8.5",
1689+ "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz",
1690+ "integrity": "sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==",
1691+ "requires": {
1692+ "@types/mdast": "^3.0.0",
1693+ "mdast-util-to-string": "^2.0.0",
1694+ "micromark": "~2.11.0",
1695+ "parse-entities": "^2.0.0",
1696+ "unist-util-stringify-position": "^2.0.0"
1697+ }
1698+ },
1699+ "mdast-util-to-hast": {
1700+ "version": "10.2.0",
1701+ "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-10.2.0.tgz",
1702+ "integrity": "sha512-JoPBfJ3gBnHZ18icCwHR50orC9kNH81tiR1gs01D8Q5YpV6adHNO9nKNuFBCJQ941/32PT1a63UF/DitmS3amQ==",
1703+ "requires": {
1704+ "@types/mdast": "^3.0.0",
1705+ "@types/unist": "^2.0.0",
1706+ "mdast-util-definitions": "^4.0.0",
1707+ "mdurl": "^1.0.0",
1708+ "unist-builder": "^2.0.0",
1709+ "unist-util-generated": "^1.0.0",
1710+ "unist-util-position": "^3.0.0",
1711+ "unist-util-visit": "^2.0.0"
1712+ },
1713+ "dependencies": {
1714+ "unist-util-is": {
1715+ "version": "4.1.0",
1716+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz",
1717+ "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg=="
1718+ },
1719+ "unist-util-visit": {
1720+ "version": "2.0.3",
1721+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz",
1722+ "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==",
1723+ "requires": {
1724+ "@types/unist": "^2.0.0",
1725+ "unist-util-is": "^4.0.0",
1726+ "unist-util-visit-parents": "^3.0.0"
1727+ }
1728+ },
1729+ "unist-util-visit-parents": {
1730+ "version": "3.1.1",
1731+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz",
1732+ "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==",
1733+ "requires": {
1734+ "@types/unist": "^2.0.0",
1735+ "unist-util-is": "^4.0.0"
1736+ }
1737+ }
1738+ }
1739+ },
1740+ "mdast-util-to-markdown": {
1741+ "version": "0.6.5",
1742+ "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.5.tgz",
1743+ "integrity": "sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==",
1744+ "requires": {
1745+ "@types/unist": "^2.0.0",
1746+ "longest-streak": "^2.0.0",
1747+ "mdast-util-to-string": "^2.0.0",
1748+ "parse-entities": "^2.0.0",
1749+ "repeat-string": "^1.0.0",
1750+ "zwitch": "^1.0.0"
1751+ }
1752+ },
1753+ "mdast-util-to-string": {
1754+ "version": "2.0.0",
1755+ "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz",
1756+ "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w=="
1757+ },
1758+ "mdurl": {
1759+ "version": "1.0.1",
1760+ "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
1761+ "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4="
1762+ },
1763+ "merge-stream": {
1764+ "version": "2.0.0",
1765+ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
1766+ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="
1767+ },
1768+ "merge2": {
1769+ "version": "1.4.1",
1770+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
1771+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
1772+ "dev": true
1773+ },
1774+ "micromark": {
1775+ "version": "2.11.4",
1776+ "resolved": "https://registry.npmjs.org/micromark/-/micromark-2.11.4.tgz",
1777+ "integrity": "sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==",
1778+ "requires": {
1779+ "debug": "^4.0.0",
1780+ "parse-entities": "^2.0.0"
1781+ },
1782+ "dependencies": {
1783+ "debug": {
1784+ "version": "4.3.1",
1785+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
1786+ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
1787+ "requires": {
1788+ "ms": "2.1.2"
1789+ }
1790+ },
1791+ "ms": {
1792+ "version": "2.1.2",
1793+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
1794+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
1795+ }
1796+ }
1797+ },
1798+ "micromatch": {
1799+ "version": "4.0.4",
1800+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
1801+ "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
1802+ "dev": true,
1803+ "requires": {
1804+ "braces": "^3.0.1",
1805+ "picomatch": "^2.2.3"
1806+ }
1807+ },
1808+ "miller-rabin": {
1809+ "version": "4.0.1",
1810+ "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
1811+ "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
1812+ "requires": {
1813+ "bn.js": "^4.0.0",
1814+ "brorand": "^1.0.1"
1815+ },
1816+ "dependencies": {
1817+ "bn.js": {
1818+ "version": "4.12.0",
1819+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
1820+ "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
1821+ }
1822+ }
1823+ },
1824+ "minimalistic-assert": {
1825+ "version": "1.0.1",
1826+ "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
1827+ "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A=="
1828+ },
1829+ "minimalistic-crypto-utils": {
1830+ "version": "1.0.1",
1831+ "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
1832+ "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo="
1833+ },
1834+ "minimatch": {
1835+ "version": "3.0.4",
1836+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
1837+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
1838+ "dev": true,
1839+ "requires": {
1840+ "brace-expansion": "^1.1.7"
1841+ }
1842+ },
1843+ "minimist": {
1844+ "version": "1.2.5",
1845+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
1846+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
1847+ },
1848+ "modern-normalize": {
1849+ "version": "1.1.0",
1850+ "resolved": "https://registry.npmjs.org/modern-normalize/-/modern-normalize-1.1.0.tgz",
1851+ "integrity": "sha512-2lMlY1Yc1+CUy0gw4H95uNN7vjbpoED7NNRSBHE25nWfLBdmMzFCsPshlzbxHz+gYMcBEUN8V4pU16prcdPSgA==",
1852+ "dev": true
1853+ },
1854+ "ms": {
1855+ "version": "2.0.0",
1856+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
1857+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
1858+ },
1859+ "nanoid": {
1860+ "version": "3.1.23",
1861+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz",
1862+ "integrity": "sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw=="
1863+ },
1864+ "native-url": {
1865+ "version": "0.3.4",
1866+ "resolved": "https://registry.npmjs.org/native-url/-/native-url-0.3.4.tgz",
1867+ "integrity": "sha512-6iM8R99ze45ivyH8vybJ7X0yekIcPf5GgLV5K0ENCbmRcaRIDoj37BC8iLEmaaBfqqb8enuZ5p0uhY+lVAbAcA==",
1868+ "requires": {
1869+ "querystring": "^0.2.0"
1870+ }
1871+ },
1872+ "next": {
1873+ "version": "10.2.3",
1874+ "resolved": "https://registry.npmjs.org/next/-/next-10.2.3.tgz",
1875+ "integrity": "sha512-dkM1mIfnORtGyzw/Yme8RdqNxlCMZyi4Lqj56F01/yHbe1ZtOaJ0cyqqRB4RGiPhjGGh0319f8ddjDyO1605Ow==",
1876+ "requires": {
1877+ "@babel/runtime": "7.12.5",
1878+ "@hapi/accept": "5.0.2",
1879+ "@next/env": "10.2.3",
1880+ "@next/polyfill-module": "10.2.3",
1881+ "@next/react-dev-overlay": "10.2.3",
1882+ "@next/react-refresh-utils": "10.2.3",
1883+ "@opentelemetry/api": "0.14.0",
1884+ "assert": "2.0.0",
1885+ "ast-types": "0.13.2",
1886+ "browserify-zlib": "0.2.0",
1887+ "browserslist": "4.16.6",
1888+ "buffer": "5.6.0",
1889+ "caniuse-lite": "^1.0.30001228",
1890+ "chalk": "2.4.2",
1891+ "chokidar": "3.5.1",
1892+ "constants-browserify": "1.0.0",
1893+ "crypto-browserify": "3.12.0",
1894+ "cssnano-simple": "2.0.0",
1895+ "domain-browser": "4.19.0",
1896+ "encoding": "0.1.13",
1897+ "etag": "1.8.1",
1898+ "find-cache-dir": "3.3.1",
1899+ "get-orientation": "1.1.2",
1900+ "https-browserify": "1.0.0",
1901+ "jest-worker": "27.0.0-next.5",
1902+ "native-url": "0.3.4",
1903+ "node-fetch": "2.6.1",
1904+ "node-html-parser": "1.4.9",
1905+ "node-libs-browser": "^2.2.1",
1906+ "os-browserify": "0.3.0",
1907+ "p-limit": "3.1.0",
1908+ "path-browserify": "1.0.1",
1909+ "pnp-webpack-plugin": "1.6.4",
1910+ "postcss": "8.2.13",
1911+ "process": "0.11.10",
1912+ "prop-types": "15.7.2",
1913+ "querystring-es3": "0.2.1",
1914+ "raw-body": "2.4.1",
1915+ "react-is": "16.13.1",
1916+ "react-refresh": "0.8.3",
1917+ "stream-browserify": "3.0.0",
1918+ "stream-http": "3.1.1",
1919+ "string_decoder": "1.3.0",
1920+ "styled-jsx": "3.3.2",
1921+ "timers-browserify": "2.0.12",
1922+ "tty-browserify": "0.0.1",
1923+ "use-subscription": "1.5.1",
1924+ "util": "0.12.3",
1925+ "vm-browserify": "1.1.2",
1926+ "watchpack": "2.1.1"
1927+ },
1928+ "dependencies": {
1929+ "postcss": {
1930+ "version": "8.2.13",
1931+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.13.tgz",
1932+ "integrity": "sha512-FCE5xLH+hjbzRdpbRb1IMCvPv9yZx2QnDarBEYSN0N0HYk+TcXsEhwdFcFb+SRWOKzKGErhIEbBK2ogyLdTtfQ==",
1933+ "requires": {
1934+ "colorette": "^1.2.2",
1935+ "nanoid": "^3.1.22",
1936+ "source-map": "^0.6.1"
1937+ }
1938+ },
1939+ "source-map": {
1940+ "version": "0.6.1",
1941+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
1942+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
1943+ }
1944+ }
1945+ },
1946+ "node-emoji": {
1947+ "version": "1.10.0",
1948+ "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.10.0.tgz",
1949+ "integrity": "sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw==",
1950+ "dev": true,
1951+ "requires": {
1952+ "lodash.toarray": "^4.4.0"
1953+ }
1954+ },
1955+ "node-fetch": {
1956+ "version": "2.6.1",
1957+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
1958+ "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw=="
1959+ },
1960+ "node-html-parser": {
1961+ "version": "1.4.9",
1962+ "resolved": "https://registry.npmjs.org/node-html-parser/-/node-html-parser-1.4.9.tgz",
1963+ "integrity": "sha512-UVcirFD1Bn0O+TSmloHeHqZZCxHjvtIeGdVdGMhyZ8/PWlEiZaZ5iJzR189yKZr8p0FXN58BUeC7RHRkf/KYGw==",
1964+ "requires": {
1965+ "he": "1.2.0"
1966+ }
1967+ },
1968+ "node-libs-browser": {
1969+ "version": "2.2.1",
1970+ "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz",
1971+ "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==",
1972+ "requires": {
1973+ "assert": "^1.1.1",
1974+ "browserify-zlib": "^0.2.0",
1975+ "buffer": "^4.3.0",
1976+ "console-browserify": "^1.1.0",
1977+ "constants-browserify": "^1.0.0",
1978+ "crypto-browserify": "^3.11.0",
1979+ "domain-browser": "^1.1.1",
1980+ "events": "^3.0.0",
1981+ "https-browserify": "^1.0.0",
1982+ "os-browserify": "^0.3.0",
1983+ "path-browserify": "0.0.1",
1984+ "process": "^0.11.10",
1985+ "punycode": "^1.2.4",
1986+ "querystring-es3": "^0.2.0",
1987+ "readable-stream": "^2.3.3",
1988+ "stream-browserify": "^2.0.1",
1989+ "stream-http": "^2.7.2",
1990+ "string_decoder": "^1.0.0",
1991+ "timers-browserify": "^2.0.4",
1992+ "tty-browserify": "0.0.0",
1993+ "url": "^0.11.0",
1994+ "util": "^0.11.0",
1995+ "vm-browserify": "^1.0.1"
1996+ },
1997+ "dependencies": {
1998+ "assert": {
1999+ "version": "1.5.0",
2000+ "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz",
2001+ "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==",
2002+ "requires": {
2003+ "object-assign": "^4.1.1",
2004+ "util": "0.10.3"
2005+ },
2006+ "dependencies": {
2007+ "util": {
2008+ "version": "0.10.3",
2009+ "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
2010+ "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
2011+ "requires": {
2012+ "inherits": "2.0.1"
2013+ }
2014+ }
2015+ }
2016+ },
2017+ "buffer": {
2018+ "version": "4.9.2",
2019+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz",
2020+ "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==",
2021+ "requires": {
2022+ "base64-js": "^1.0.2",
2023+ "ieee754": "^1.1.4",
2024+ "isarray": "^1.0.0"
2025+ }
2026+ },
2027+ "domain-browser": {
2028+ "version": "1.2.0",
2029+ "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
2030+ "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA=="
2031+ },
2032+ "inherits": {
2033+ "version": "2.0.1",
2034+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
2035+ "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE="
2036+ },
2037+ "path-browserify": {
2038+ "version": "0.0.1",
2039+ "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz",
2040+ "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ=="
2041+ },
2042+ "punycode": {
2043+ "version": "1.4.1",
2044+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
2045+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
2046+ },
2047+ "readable-stream": {
2048+ "version": "2.3.7",
2049+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
2050+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
2051+ "requires": {
2052+ "core-util-is": "~1.0.0",
2053+ "inherits": "~2.0.3",
2054+ "isarray": "~1.0.0",
2055+ "process-nextick-args": "~2.0.0",
2056+ "safe-buffer": "~5.1.1",
2057+ "string_decoder": "~1.1.1",
2058+ "util-deprecate": "~1.0.1"
2059+ },
2060+ "dependencies": {
2061+ "inherits": {
2062+ "version": "2.0.4",
2063+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
2064+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
2065+ },
2066+ "string_decoder": {
2067+ "version": "1.1.1",
2068+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
2069+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
2070+ "requires": {
2071+ "safe-buffer": "~5.1.0"
2072+ }
2073+ }
2074+ }
2075+ },
2076+ "safe-buffer": {
2077+ "version": "5.1.2",
2078+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
2079+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
2080+ },
2081+ "stream-browserify": {
2082+ "version": "2.0.2",
2083+ "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
2084+ "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
2085+ "requires": {
2086+ "inherits": "~2.0.1",
2087+ "readable-stream": "^2.0.2"
2088+ }
2089+ },
2090+ "stream-http": {
2091+ "version": "2.8.3",
2092+ "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
2093+ "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
2094+ "requires": {
2095+ "builtin-status-codes": "^3.0.0",
2096+ "inherits": "^2.0.1",
2097+ "readable-stream": "^2.3.6",
2098+ "to-arraybuffer": "^1.0.0",
2099+ "xtend": "^4.0.0"
2100+ }
2101+ },
2102+ "tty-browserify": {
2103+ "version": "0.0.0",
2104+ "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
2105+ "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY="
2106+ },
2107+ "util": {
2108+ "version": "0.11.1",
2109+ "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
2110+ "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==",
2111+ "requires": {
2112+ "inherits": "2.0.3"
2113+ },
2114+ "dependencies": {
2115+ "inherits": {
2116+ "version": "2.0.3",
2117+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
2118+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
2119+ }
2120+ }
2121+ }
2122+ }
2123+ },
2124+ "node-releases": {
2125+ "version": "1.1.72",
2126+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.72.tgz",
2127+ "integrity": "sha512-LLUo+PpH3dU6XizX3iVoubUNheF/owjXCZZ5yACDxNnPtgFuludV1ZL3ayK1kVep42Rmm0+R9/Y60NQbZ2bifw=="
2128+ },
2129+ "normalize-path": {
2130+ "version": "3.0.0",
2131+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
2132+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
2133+ },
2134+ "normalize-range": {
2135+ "version": "0.1.2",
2136+ "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
2137+ "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
2138+ "dev": true
2139+ },
2140+ "object-assign": {
2141+ "version": "4.1.1",
2142+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
2143+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
2144+ },
2145+ "object-hash": {
2146+ "version": "2.2.0",
2147+ "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz",
2148+ "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==",
2149+ "dev": true
2150+ },
2151+ "object-inspect": {
2152+ "version": "1.10.3",
2153+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz",
2154+ "integrity": "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw=="
2155+ },
2156+ "object-is": {
2157+ "version": "1.1.5",
2158+ "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz",
2159+ "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==",
2160+ "requires": {
2161+ "call-bind": "^1.0.2",
2162+ "define-properties": "^1.1.3"
2163+ }
2164+ },
2165+ "object-keys": {
2166+ "version": "1.1.1",
2167+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
2168+ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
2169+ },
2170+ "object.assign": {
2171+ "version": "4.1.2",
2172+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz",
2173+ "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==",
2174+ "requires": {
2175+ "call-bind": "^1.0.0",
2176+ "define-properties": "^1.1.3",
2177+ "has-symbols": "^1.0.1",
2178+ "object-keys": "^1.1.1"
2179+ }
2180+ },
2181+ "once": {
2182+ "version": "1.4.0",
2183+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
2184+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
2185+ "dev": true,
2186+ "requires": {
2187+ "wrappy": "1"
2188+ }
2189+ },
2190+ "os-browserify": {
2191+ "version": "0.3.0",
2192+ "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
2193+ "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc="
2194+ },
2195+ "p-limit": {
2196+ "version": "3.1.0",
2197+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
2198+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
2199+ "requires": {
2200+ "yocto-queue": "^0.1.0"
2201+ }
2202+ },
2203+ "p-locate": {
2204+ "version": "4.1.0",
2205+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
2206+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
2207+ "requires": {
2208+ "p-limit": "^2.2.0"
2209+ },
2210+ "dependencies": {
2211+ "p-limit": {
2212+ "version": "2.3.0",
2213+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
2214+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
2215+ "requires": {
2216+ "p-try": "^2.0.0"
2217+ }
2218+ }
2219+ }
2220+ },
2221+ "p-try": {
2222+ "version": "2.2.0",
2223+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
2224+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
2225+ },
2226+ "pako": {
2227+ "version": "1.0.11",
2228+ "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
2229+ "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="
2230+ },
2231+ "parse-asn1": {
2232+ "version": "5.1.6",
2233+ "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz",
2234+ "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==",
2235+ "requires": {
2236+ "asn1.js": "^5.2.0",
2237+ "browserify-aes": "^1.0.0",
2238+ "evp_bytestokey": "^1.0.0",
2239+ "pbkdf2": "^3.0.3",
2240+ "safe-buffer": "^5.1.1"
2241+ }
2242+ },
2243+ "parse-entities": {
2244+ "version": "2.0.0",
2245+ "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz",
2246+ "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==",
2247+ "requires": {
2248+ "character-entities": "^1.0.0",
2249+ "character-entities-legacy": "^1.0.0",
2250+ "character-reference-invalid": "^1.0.0",
2251+ "is-alphanumerical": "^1.0.0",
2252+ "is-decimal": "^1.0.0",
2253+ "is-hexadecimal": "^1.0.0"
2254+ }
2255+ },
2256+ "parse-glob": {
2257+ "version": "3.0.4",
2258+ "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
2259+ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
2260+ "dev": true,
2261+ "requires": {
2262+ "glob-base": "^0.3.0",
2263+ "is-dotfile": "^1.0.0",
2264+ "is-extglob": "^1.0.0",
2265+ "is-glob": "^2.0.0"
2266+ },
2267+ "dependencies": {
2268+ "is-extglob": {
2269+ "version": "1.0.0",
2270+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
2271+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
2272+ "dev": true
2273+ },
2274+ "is-glob": {
2275+ "version": "2.0.1",
2276+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
2277+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
2278+ "dev": true,
2279+ "requires": {
2280+ "is-extglob": "^1.0.0"
2281+ }
2282+ }
2283+ }
2284+ },
2285+ "path-browserify": {
2286+ "version": "1.0.1",
2287+ "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz",
2288+ "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g=="
2289+ },
2290+ "path-exists": {
2291+ "version": "4.0.0",
2292+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
2293+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="
2294+ },
2295+ "path-is-absolute": {
2296+ "version": "1.0.1",
2297+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
2298+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
2299+ "dev": true
2300+ },
2301+ "path-parse": {
2302+ "version": "1.0.7",
2303+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
2304+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
2305+ "dev": true
2306+ },
2307+ "pbkdf2": {
2308+ "version": "3.1.2",
2309+ "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz",
2310+ "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==",
2311+ "requires": {
2312+ "create-hash": "^1.1.2",
2313+ "create-hmac": "^1.1.4",
2314+ "ripemd160": "^2.0.1",
2315+ "safe-buffer": "^5.0.1",
2316+ "sha.js": "^2.4.8"
2317+ }
2318+ },
2319+ "picomatch": {
2320+ "version": "2.3.0",
2321+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
2322+ "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw=="
2323+ },
2324+ "pkg-dir": {
2325+ "version": "4.2.0",
2326+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
2327+ "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
2328+ "requires": {
2329+ "find-up": "^4.0.0"
2330+ }
2331+ },
2332+ "platform": {
2333+ "version": "1.3.6",
2334+ "resolved": "https://registry.npmjs.org/platform/-/platform-1.3.6.tgz",
2335+ "integrity": "sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg=="
2336+ },
2337+ "pnp-webpack-plugin": {
2338+ "version": "1.6.4",
2339+ "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz",
2340+ "integrity": "sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==",
2341+ "requires": {
2342+ "ts-pnp": "^1.1.6"
2343+ }
2344+ },
2345+ "postcss": {
2346+ "version": "8.3.0",
2347+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.0.tgz",
2348+ "integrity": "sha512-+ogXpdAjWGa+fdYY5BQ96V/6tAo+TdSSIMP5huJBIygdWwKtVoB5JWZ7yUd4xZ8r+8Kvvx4nyg/PQ071H4UtcQ==",
2349+ "dev": true,
2350+ "requires": {
2351+ "colorette": "^1.2.2",
2352+ "nanoid": "^3.1.23",
2353+ "source-map-js": "^0.6.2"
2354+ }
2355+ },
2356+ "postcss-functions": {
2357+ "version": "3.0.0",
2358+ "resolved": "https://registry.npmjs.org/postcss-functions/-/postcss-functions-3.0.0.tgz",
2359+ "integrity": "sha1-DpTQFERwCkgd4g3k1V+yZAVkJQ4=",
2360+ "dev": true,
2361+ "requires": {
2362+ "glob": "^7.1.2",
2363+ "object-assign": "^4.1.1",
2364+ "postcss": "^6.0.9",
2365+ "postcss-value-parser": "^3.3.0"
2366+ },
2367+ "dependencies": {
2368+ "postcss": {
2369+ "version": "6.0.23",
2370+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
2371+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
2372+ "dev": true,
2373+ "requires": {
2374+ "chalk": "^2.4.1",
2375+ "source-map": "^0.6.1",
2376+ "supports-color": "^5.4.0"
2377+ }
2378+ },
2379+ "postcss-value-parser": {
2380+ "version": "3.3.1",
2381+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
2382+ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
2383+ "dev": true
2384+ },
2385+ "source-map": {
2386+ "version": "0.6.1",
2387+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
2388+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
2389+ "dev": true
2390+ }
2391+ }
2392+ },
2393+ "postcss-js": {
2394+ "version": "3.0.3",
2395+ "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-3.0.3.tgz",
2396+ "integrity": "sha512-gWnoWQXKFw65Hk/mi2+WTQTHdPD5UJdDXZmX073EY/B3BWnYjO4F4t0VneTCnCGQ5E5GsCdMkzPaTXwl3r5dJw==",
2397+ "dev": true,
2398+ "requires": {
2399+ "camelcase-css": "^2.0.1",
2400+ "postcss": "^8.1.6"
2401+ }
2402+ },
2403+ "postcss-nested": {
2404+ "version": "5.0.5",
2405+ "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.5.tgz",
2406+ "integrity": "sha512-GSRXYz5bccobpTzLQZXOnSOfKl6TwVr5CyAQJUPub4nuRJSOECK5AqurxVgmtxP48p0Kc/ndY/YyS1yqldX0Ew==",
2407+ "dev": true,
2408+ "requires": {
2409+ "postcss-selector-parser": "^6.0.4"
2410+ }
2411+ },
2412+ "postcss-selector-parser": {
2413+ "version": "6.0.6",
2414+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz",
2415+ "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==",
2416+ "dev": true,
2417+ "requires": {
2418+ "cssesc": "^3.0.0",
2419+ "util-deprecate": "^1.0.2"
2420+ }
2421+ },
2422+ "postcss-value-parser": {
2423+ "version": "4.1.0",
2424+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz",
2425+ "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==",
2426+ "dev": true
2427+ },
2428+ "pretty-hrtime": {
2429+ "version": "1.0.3",
2430+ "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
2431+ "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=",
2432+ "dev": true
2433+ },
2434+ "process": {
2435+ "version": "0.11.10",
2436+ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
2437+ "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI="
2438+ },
2439+ "process-nextick-args": {
2440+ "version": "2.0.1",
2441+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
2442+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
2443+ },
2444+ "prop-types": {
2445+ "version": "15.7.2",
2446+ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz",
2447+ "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==",
2448+ "requires": {
2449+ "loose-envify": "^1.4.0",
2450+ "object-assign": "^4.1.1",
2451+ "react-is": "^16.8.1"
2452+ }
2453+ },
2454+ "property-information": {
2455+ "version": "5.6.0",
2456+ "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz",
2457+ "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==",
2458+ "requires": {
2459+ "xtend": "^4.0.0"
2460+ }
2461+ },
2462+ "public-encrypt": {
2463+ "version": "4.0.3",
2464+ "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
2465+ "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
2466+ "requires": {
2467+ "bn.js": "^4.1.0",
2468+ "browserify-rsa": "^4.0.0",
2469+ "create-hash": "^1.1.0",
2470+ "parse-asn1": "^5.0.0",
2471+ "randombytes": "^2.0.1",
2472+ "safe-buffer": "^5.1.2"
2473+ },
2474+ "dependencies": {
2475+ "bn.js": {
2476+ "version": "4.12.0",
2477+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
2478+ "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
2479+ }
2480+ }
2481+ },
2482+ "punycode": {
2483+ "version": "2.1.1",
2484+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
2485+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
2486+ },
2487+ "purgecss": {
2488+ "version": "3.1.3",
2489+ "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-3.1.3.tgz",
2490+ "integrity": "sha512-hRSLN9mguJ2lzlIQtW4qmPS2kh6oMnA9RxdIYK8sz18QYqd6ePp4GNDl18oWHA1f2v2NEQIh51CO8s/E3YGckQ==",
2491+ "dev": true,
2492+ "requires": {
2493+ "commander": "^6.0.0",
2494+ "glob": "^7.0.0",
2495+ "postcss": "^8.2.1",
2496+ "postcss-selector-parser": "^6.0.2"
2497+ }
2498+ },
2499+ "querystring": {
2500+ "version": "0.2.1",
2501+ "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz",
2502+ "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg=="
2503+ },
2504+ "querystring-es3": {
2505+ "version": "0.2.1",
2506+ "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
2507+ "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM="
2508+ },
2509+ "queue-microtask": {
2510+ "version": "1.2.3",
2511+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
2512+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
2513+ "dev": true
2514+ },
2515+ "quick-lru": {
2516+ "version": "5.1.1",
2517+ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
2518+ "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
2519+ "dev": true
2520+ },
2521+ "randombytes": {
2522+ "version": "2.1.0",
2523+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
2524+ "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
2525+ "requires": {
2526+ "safe-buffer": "^5.1.0"
2527+ }
2528+ },
2529+ "randomfill": {
2530+ "version": "1.0.4",
2531+ "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
2532+ "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
2533+ "requires": {
2534+ "randombytes": "^2.0.5",
2535+ "safe-buffer": "^5.1.0"
2536+ }
2537+ },
2538+ "raw-body": {
2539+ "version": "2.4.1",
2540+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.1.tgz",
2541+ "integrity": "sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==",
2542+ "requires": {
2543+ "bytes": "3.1.0",
2544+ "http-errors": "1.7.3",
2545+ "iconv-lite": "0.4.24",
2546+ "unpipe": "1.0.0"
2547+ },
2548+ "dependencies": {
2549+ "iconv-lite": {
2550+ "version": "0.4.24",
2551+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
2552+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
2553+ "requires": {
2554+ "safer-buffer": ">= 2.1.2 < 3"
2555+ }
2556+ }
2557+ }
2558+ },
2559+ "react": {
2560+ "version": "17.0.2",
2561+ "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz",
2562+ "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==",
2563+ "requires": {
2564+ "loose-envify": "^1.1.0",
2565+ "object-assign": "^4.1.1"
2566+ }
2567+ },
2568+ "react-dom": {
2569+ "version": "17.0.2",
2570+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz",
2571+ "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==",
2572+ "requires": {
2573+ "loose-envify": "^1.1.0",
2574+ "object-assign": "^4.1.1",
2575+ "scheduler": "^0.20.2"
2576+ }
2577+ },
2578+ "react-is": {
2579+ "version": "16.13.1",
2580+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
2581+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
2582+ },
2583+ "react-refresh": {
2584+ "version": "0.8.3",
2585+ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.8.3.tgz",
2586+ "integrity": "sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg=="
2587+ },
2588+ "readable-stream": {
2589+ "version": "3.6.0",
2590+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
2591+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
2592+ "requires": {
2593+ "inherits": "^2.0.3",
2594+ "string_decoder": "^1.1.1",
2595+ "util-deprecate": "^1.0.1"
2596+ }
2597+ },
2598+ "readdirp": {
2599+ "version": "3.5.0",
2600+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
2601+ "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
2602+ "requires": {
2603+ "picomatch": "^2.2.1"
2604+ }
2605+ },
2606+ "reduce-css-calc": {
2607+ "version": "2.1.8",
2608+ "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-2.1.8.tgz",
2609+ "integrity": "sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg==",
2610+ "dev": true,
2611+ "requires": {
2612+ "css-unit-converter": "^1.1.1",
2613+ "postcss-value-parser": "^3.3.0"
2614+ },
2615+ "dependencies": {
2616+ "postcss-value-parser": {
2617+ "version": "3.3.1",
2618+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
2619+ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
2620+ "dev": true
2621+ }
2622+ }
2623+ },
2624+ "regenerator-runtime": {
2625+ "version": "0.13.7",
2626+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz",
2627+ "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew=="
2628+ },
2629+ "remark": {
2630+ "version": "13.0.0",
2631+ "resolved": "https://registry.npmjs.org/remark/-/remark-13.0.0.tgz",
2632+ "integrity": "sha512-HDz1+IKGtOyWN+QgBiAT0kn+2s6ovOxHyPAFGKVE81VSzJ+mq7RwHFledEvB5F1p4iJvOah/LOKdFuzvRnNLCA==",
2633+ "requires": {
2634+ "remark-parse": "^9.0.0",
2635+ "remark-stringify": "^9.0.0",
2636+ "unified": "^9.1.0"
2637+ }
2638+ },
2639+ "remark-html": {
2640+ "version": "13.0.1",
2641+ "resolved": "https://registry.npmjs.org/remark-html/-/remark-html-13.0.1.tgz",
2642+ "integrity": "sha512-K5KQCXWVz+harnyC+UVM/J9eJWCgjYRqFeZoZf2NgP0iFbuuw/RgMZv3MA34b/OEpGnstl3oiOUtZzD3tJ+CBw==",
2643+ "requires": {
2644+ "hast-util-sanitize": "^3.0.0",
2645+ "hast-util-to-html": "^7.0.0",
2646+ "mdast-util-to-hast": "^10.0.0"
2647+ }
2648+ },
2649+ "remark-parse": {
2650+ "version": "9.0.0",
2651+ "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-9.0.0.tgz",
2652+ "integrity": "sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==",
2653+ "requires": {
2654+ "mdast-util-from-markdown": "^0.8.0"
2655+ }
2656+ },
2657+ "remark-react": {
2658+ "version": "8.0.0",
2659+ "resolved": "https://registry.npmjs.org/remark-react/-/remark-react-8.0.0.tgz",
2660+ "integrity": "sha512-Dlafr0cejDMMMelH0MxkY3NYVelbMdqaoXuwIgWtWn5KGE0Jpko47NhkBzptxvzMqCdJxD6aoJTOFyJ1Re5Iyg==",
2661+ "requires": {
2662+ "@mapbox/hast-util-table-cell-style": "^0.1.3",
2663+ "hast-to-hyperscript": "^9.0.0",
2664+ "hast-util-sanitize": "^3.0.0",
2665+ "mdast-util-to-hast": "^10.0.0"
2666+ }
2667+ },
2668+ "remark-stringify": {
2669+ "version": "9.0.1",
2670+ "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-9.0.1.tgz",
2671+ "integrity": "sha512-mWmNg3ZtESvZS8fv5PTvaPckdL4iNlCHTt8/e/8oN08nArHRHjNZMKzA/YW3+p7/lYqIw4nx1XsjCBo/AxNChg==",
2672+ "requires": {
2673+ "mdast-util-to-markdown": "^0.6.0"
2674+ }
2675+ },
2676+ "repeat-string": {
2677+ "version": "1.6.1",
2678+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
2679+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
2680+ },
2681+ "resolve": {
2682+ "version": "1.20.0",
2683+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz",
2684+ "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==",
2685+ "dev": true,
2686+ "requires": {
2687+ "is-core-module": "^2.2.0",
2688+ "path-parse": "^1.0.6"
2689+ }
2690+ },
2691+ "reusify": {
2692+ "version": "1.0.4",
2693+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
2694+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
2695+ "dev": true
2696+ },
2697+ "ripemd160": {
2698+ "version": "2.0.2",
2699+ "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
2700+ "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
2701+ "requires": {
2702+ "hash-base": "^3.0.0",
2703+ "inherits": "^2.0.1"
2704+ }
2705+ },
2706+ "run-parallel": {
2707+ "version": "1.2.0",
2708+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
2709+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
2710+ "dev": true,
2711+ "requires": {
2712+ "queue-microtask": "^1.2.2"
2713+ }
2714+ },
2715+ "safe-buffer": {
2716+ "version": "5.2.1",
2717+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
2718+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
2719+ },
2720+ "safer-buffer": {
2721+ "version": "2.1.2",
2722+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
2723+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
2724+ },
2725+ "scheduler": {
2726+ "version": "0.20.2",
2727+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz",
2728+ "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==",
2729+ "requires": {
2730+ "loose-envify": "^1.1.0",
2731+ "object-assign": "^4.1.1"
2732+ }
2733+ },
2734+ "section-matter": {
2735+ "version": "1.0.0",
2736+ "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz",
2737+ "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==",
2738+ "requires": {
2739+ "extend-shallow": "^2.0.1",
2740+ "kind-of": "^6.0.0"
2741+ }
2742+ },
2743+ "semver": {
2744+ "version": "6.3.0",
2745+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
2746+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
2747+ },
2748+ "setimmediate": {
2749+ "version": "1.0.5",
2750+ "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
2751+ "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
2752+ },
2753+ "setprototypeof": {
2754+ "version": "1.1.1",
2755+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
2756+ "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
2757+ },
2758+ "sha.js": {
2759+ "version": "2.4.11",
2760+ "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
2761+ "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
2762+ "requires": {
2763+ "inherits": "^2.0.1",
2764+ "safe-buffer": "^5.0.1"
2765+ }
2766+ },
2767+ "shell-quote": {
2768+ "version": "1.7.2",
2769+ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz",
2770+ "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg=="
2771+ },
2772+ "simple-swizzle": {
2773+ "version": "0.2.2",
2774+ "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
2775+ "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=",
2776+ "dev": true,
2777+ "requires": {
2778+ "is-arrayish": "^0.3.1"
2779+ }
2780+ },
2781+ "source-map": {
2782+ "version": "0.8.0-beta.0",
2783+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz",
2784+ "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==",
2785+ "requires": {
2786+ "whatwg-url": "^7.0.0"
2787+ }
2788+ },
2789+ "source-map-js": {
2790+ "version": "0.6.2",
2791+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz",
2792+ "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==",
2793+ "dev": true
2794+ },
2795+ "space-separated-tokens": {
2796+ "version": "1.1.5",
2797+ "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz",
2798+ "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA=="
2799+ },
2800+ "sprintf-js": {
2801+ "version": "1.0.3",
2802+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
2803+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
2804+ },
2805+ "stacktrace-parser": {
2806+ "version": "0.1.10",
2807+ "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz",
2808+ "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==",
2809+ "requires": {
2810+ "type-fest": "^0.7.1"
2811+ }
2812+ },
2813+ "statuses": {
2814+ "version": "1.5.0",
2815+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
2816+ "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
2817+ },
2818+ "stream-browserify": {
2819+ "version": "3.0.0",
2820+ "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz",
2821+ "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==",
2822+ "requires": {
2823+ "inherits": "~2.0.4",
2824+ "readable-stream": "^3.5.0"
2825+ }
2826+ },
2827+ "stream-http": {
2828+ "version": "3.1.1",
2829+ "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.1.1.tgz",
2830+ "integrity": "sha512-S7OqaYu0EkFpgeGFb/NPOoPLxFko7TPqtEeFg5DXPB4v/KETHG0Ln6fRFrNezoelpaDKmycEmmZ81cC9DAwgYg==",
2831+ "requires": {
2832+ "builtin-status-codes": "^3.0.0",
2833+ "inherits": "^2.0.4",
2834+ "readable-stream": "^3.6.0",
2835+ "xtend": "^4.0.2"
2836+ }
2837+ },
2838+ "stream-parser": {
2839+ "version": "0.3.1",
2840+ "resolved": "https://registry.npmjs.org/stream-parser/-/stream-parser-0.3.1.tgz",
2841+ "integrity": "sha1-FhhUhpRCACGhGC/wrxkRwSl2F3M=",
2842+ "requires": {
2843+ "debug": "2"
2844+ }
2845+ },
2846+ "string-hash": {
2847+ "version": "1.1.3",
2848+ "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz",
2849+ "integrity": "sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs="
2850+ },
2851+ "string.prototype.trimend": {
2852+ "version": "1.0.4",
2853+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz",
2854+ "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==",
2855+ "requires": {
2856+ "call-bind": "^1.0.2",
2857+ "define-properties": "^1.1.3"
2858+ }
2859+ },
2860+ "string.prototype.trimstart": {
2861+ "version": "1.0.4",
2862+ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz",
2863+ "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==",
2864+ "requires": {
2865+ "call-bind": "^1.0.2",
2866+ "define-properties": "^1.1.3"
2867+ }
2868+ },
2869+ "string_decoder": {
2870+ "version": "1.3.0",
2871+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
2872+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
2873+ "requires": {
2874+ "safe-buffer": "~5.2.0"
2875+ }
2876+ },
2877+ "stringify-entities": {
2878+ "version": "3.1.0",
2879+ "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-3.1.0.tgz",
2880+ "integrity": "sha512-3FP+jGMmMV/ffZs86MoghGqAoqXAdxLrJP4GUdrDN1aIScYih5tuIO3eF4To5AJZ79KDZ8Fpdy7QJnK8SsL1Vg==",
2881+ "requires": {
2882+ "character-entities-html4": "^1.0.0",
2883+ "character-entities-legacy": "^1.0.0",
2884+ "xtend": "^4.0.0"
2885+ }
2886+ },
2887+ "strip-ansi": {
2888+ "version": "6.0.0",
2889+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
2890+ "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
2891+ "requires": {
2892+ "ansi-regex": "^5.0.0"
2893+ }
2894+ },
2895+ "strip-bom-string": {
2896+ "version": "1.0.0",
2897+ "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz",
2898+ "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI="
2899+ },
2900+ "style-to-object": {
2901+ "version": "0.3.0",
2902+ "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz",
2903+ "integrity": "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==",
2904+ "requires": {
2905+ "inline-style-parser": "0.1.1"
2906+ }
2907+ },
2908+ "styled-jsx": {
2909+ "version": "3.3.2",
2910+ "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-3.3.2.tgz",
2911+ "integrity": "sha512-daAkGd5mqhbBhLd6jYAjYBa9LpxYCzsgo/f6qzPdFxVB8yoGbhxvzQgkC0pfmCVvW3JuAEBn0UzFLBfkHVZG1g==",
2912+ "requires": {
2913+ "@babel/types": "7.8.3",
2914+ "babel-plugin-syntax-jsx": "6.18.0",
2915+ "convert-source-map": "1.7.0",
2916+ "loader-utils": "1.2.3",
2917+ "source-map": "0.7.3",
2918+ "string-hash": "1.1.3",
2919+ "stylis": "3.5.4",
2920+ "stylis-rule-sheet": "0.0.10"
2921+ },
2922+ "dependencies": {
2923+ "source-map": {
2924+ "version": "0.7.3",
2925+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
2926+ "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ=="
2927+ }
2928+ }
2929+ },
2930+ "stylis": {
2931+ "version": "3.5.4",
2932+ "resolved": "https://registry.npmjs.org/stylis/-/stylis-3.5.4.tgz",
2933+ "integrity": "sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q=="
2934+ },
2935+ "stylis-rule-sheet": {
2936+ "version": "0.0.10",
2937+ "resolved": "https://registry.npmjs.org/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz",
2938+ "integrity": "sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw=="
2939+ },
2940+ "supports-color": {
2941+ "version": "5.5.0",
2942+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
2943+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
2944+ "requires": {
2945+ "has-flag": "^3.0.0"
2946+ },
2947+ "dependencies": {
2948+ "has-flag": {
2949+ "version": "3.0.0",
2950+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
2951+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
2952+ }
2953+ }
2954+ },
2955+ "tailwindcss": {
2956+ "version": "2.1.4",
2957+ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-2.1.4.tgz",
2958+ "integrity": "sha512-fh1KImDLg6se/Suaelju/5oFbqq1b0ntagmGLu0aG9LlnNPGHgO1n/4E57CbKcCtyz/VYnvVXUiWmfyfBBZQ6g==",
2959+ "dev": true,
2960+ "requires": {
2961+ "@fullhuman/postcss-purgecss": "^3.1.3",
2962+ "bytes": "^3.0.0",
2963+ "chalk": "^4.1.0",
2964+ "chokidar": "^3.5.1",
2965+ "color": "^3.1.3",
2966+ "detective": "^5.2.0",
2967+ "didyoumean": "^1.2.1",
2968+ "dlv": "^1.1.3",
2969+ "fast-glob": "^3.2.5",
2970+ "fs-extra": "^9.1.0",
2971+ "html-tags": "^3.1.0",
2972+ "lodash": "^4.17.21",
2973+ "lodash.topath": "^4.5.2",
2974+ "modern-normalize": "^1.0.0",
2975+ "node-emoji": "^1.8.1",
2976+ "normalize-path": "^3.0.0",
2977+ "object-hash": "^2.1.1",
2978+ "parse-glob": "^3.0.4",
2979+ "postcss-functions": "^3",
2980+ "postcss-js": "^3.0.3",
2981+ "postcss-nested": "5.0.5",
2982+ "postcss-selector-parser": "^6.0.4",
2983+ "postcss-value-parser": "^4.1.0",
2984+ "pretty-hrtime": "^1.0.3",
2985+ "quick-lru": "^5.1.1",
2986+ "reduce-css-calc": "^2.1.8",
2987+ "resolve": "^1.20.0"
2988+ },
2989+ "dependencies": {
2990+ "ansi-styles": {
2991+ "version": "4.3.0",
2992+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
2993+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
2994+ "dev": true,
2995+ "requires": {
2996+ "color-convert": "^2.0.1"
2997+ }
2998+ },
2999+ "chalk": {
3000+ "version": "4.1.1",
3001+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
3002+ "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
3003+ "dev": true,
3004+ "requires": {
3005+ "ansi-styles": "^4.1.0",
3006+ "supports-color": "^7.1.0"
3007+ }
3008+ },
3009+ "color-convert": {
3010+ "version": "2.0.1",
3011+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
3012+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
3013+ "dev": true,
3014+ "requires": {
3015+ "color-name": "~1.1.4"
3016+ }
3017+ },
3018+ "color-name": {
3019+ "version": "1.1.4",
3020+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
3021+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
3022+ "dev": true
3023+ },
3024+ "supports-color": {
3025+ "version": "7.2.0",
3026+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
3027+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
3028+ "dev": true,
3029+ "requires": {
3030+ "has-flag": "^4.0.0"
3031+ }
3032+ }
3033+ }
3034+ },
3035+ "timers-browserify": {
3036+ "version": "2.0.12",
3037+ "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz",
3038+ "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==",
3039+ "requires": {
3040+ "setimmediate": "^1.0.4"
3041+ }
3042+ },
3043+ "to-arraybuffer": {
3044+ "version": "1.0.1",
3045+ "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
3046+ "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M="
3047+ },
3048+ "to-fast-properties": {
3049+ "version": "2.0.0",
3050+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
3051+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
3052+ },
3053+ "to-regex-range": {
3054+ "version": "5.0.1",
3055+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
3056+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
3057+ "requires": {
3058+ "is-number": "^7.0.0"
3059+ }
3060+ },
3061+ "toidentifier": {
3062+ "version": "1.0.0",
3063+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
3064+ "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
3065+ },
3066+ "tr46": {
3067+ "version": "1.0.1",
3068+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz",
3069+ "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=",
3070+ "requires": {
3071+ "punycode": "^2.1.0"
3072+ }
3073+ },
3074+ "trough": {
3075+ "version": "1.0.5",
3076+ "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz",
3077+ "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA=="
3078+ },
3079+ "ts-pnp": {
3080+ "version": "1.2.0",
3081+ "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz",
3082+ "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw=="
3083+ },
3084+ "tty-browserify": {
3085+ "version": "0.0.1",
3086+ "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz",
3087+ "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw=="
3088+ },
3089+ "type-fest": {
3090+ "version": "0.7.1",
3091+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz",
3092+ "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg=="
3093+ },
3094+ "unbox-primitive": {
3095+ "version": "1.0.1",
3096+ "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz",
3097+ "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==",
3098+ "requires": {
3099+ "function-bind": "^1.1.1",
3100+ "has-bigints": "^1.0.1",
3101+ "has-symbols": "^1.0.2",
3102+ "which-boxed-primitive": "^1.0.2"
3103+ }
3104+ },
3105+ "unified": {
3106+ "version": "9.2.1",
3107+ "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.1.tgz",
3108+ "integrity": "sha512-juWjuI8Z4xFg8pJbnEZ41b5xjGUWGHqXALmBZ3FC3WX0PIx1CZBIIJ6mXbYMcf6Yw4Fi0rFUTA1cdz/BglbOhA==",
3109+ "requires": {
3110+ "bail": "^1.0.0",
3111+ "extend": "^3.0.0",
3112+ "is-buffer": "^2.0.0",
3113+ "is-plain-obj": "^2.0.0",
3114+ "trough": "^1.0.0",
3115+ "vfile": "^4.0.0"
3116+ }
3117+ },
3118+ "unist-builder": {
3119+ "version": "2.0.3",
3120+ "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-2.0.3.tgz",
3121+ "integrity": "sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw=="
3122+ },
3123+ "unist-util-generated": {
3124+ "version": "1.1.6",
3125+ "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.6.tgz",
3126+ "integrity": "sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg=="
3127+ },
3128+ "unist-util-is": {
3129+ "version": "3.0.0",
3130+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz",
3131+ "integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A=="
3132+ },
3133+ "unist-util-position": {
3134+ "version": "3.1.0",
3135+ "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.1.0.tgz",
3136+ "integrity": "sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA=="
3137+ },
3138+ "unist-util-stringify-position": {
3139+ "version": "2.0.3",
3140+ "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz",
3141+ "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==",
3142+ "requires": {
3143+ "@types/unist": "^2.0.2"
3144+ }
3145+ },
3146+ "unist-util-visit": {
3147+ "version": "1.4.1",
3148+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz",
3149+ "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==",
3150+ "requires": {
3151+ "unist-util-visit-parents": "^2.0.0"
3152+ }
3153+ },
3154+ "unist-util-visit-parents": {
3155+ "version": "2.1.2",
3156+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz",
3157+ "integrity": "sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==",
3158+ "requires": {
3159+ "unist-util-is": "^3.0.0"
3160+ }
3161+ },
3162+ "universalify": {
3163+ "version": "2.0.0",
3164+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
3165+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
3166+ "dev": true
3167+ },
3168+ "unpipe": {
3169+ "version": "1.0.0",
3170+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
3171+ "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
3172+ },
3173+ "url": {
3174+ "version": "0.11.0",
3175+ "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
3176+ "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
3177+ "requires": {
3178+ "punycode": "1.3.2",
3179+ "querystring": "0.2.0"
3180+ },
3181+ "dependencies": {
3182+ "punycode": {
3183+ "version": "1.3.2",
3184+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
3185+ "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0="
3186+ },
3187+ "querystring": {
3188+ "version": "0.2.0",
3189+ "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
3190+ "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA="
3191+ }
3192+ }
3193+ },
3194+ "use-subscription": {
3195+ "version": "1.5.1",
3196+ "resolved": "https://registry.npmjs.org/use-subscription/-/use-subscription-1.5.1.tgz",
3197+ "integrity": "sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA==",
3198+ "requires": {
3199+ "object-assign": "^4.1.1"
3200+ }
3201+ },
3202+ "util": {
3203+ "version": "0.12.3",
3204+ "resolved": "https://registry.npmjs.org/util/-/util-0.12.3.tgz",
3205+ "integrity": "sha512-I8XkoQwE+fPQEhy9v012V+TSdH2kp9ts29i20TaaDUXsg7x/onePbhFJUExBfv/2ay1ZOp/Vsm3nDlmnFGSAog==",
3206+ "requires": {
3207+ "inherits": "^2.0.3",
3208+ "is-arguments": "^1.0.4",
3209+ "is-generator-function": "^1.0.7",
3210+ "is-typed-array": "^1.1.3",
3211+ "safe-buffer": "^5.1.2",
3212+ "which-typed-array": "^1.1.2"
3213+ }
3214+ },
3215+ "util-deprecate": {
3216+ "version": "1.0.2",
3217+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
3218+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
3219+ },
3220+ "vfile": {
3221+ "version": "4.2.1",
3222+ "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz",
3223+ "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==",
3224+ "requires": {
3225+ "@types/unist": "^2.0.0",
3226+ "is-buffer": "^2.0.0",
3227+ "unist-util-stringify-position": "^2.0.0",
3228+ "vfile-message": "^2.0.0"
3229+ }
3230+ },
3231+ "vfile-message": {
3232+ "version": "2.0.4",
3233+ "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz",
3234+ "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==",
3235+ "requires": {
3236+ "@types/unist": "^2.0.0",
3237+ "unist-util-stringify-position": "^2.0.0"
3238+ }
3239+ },
3240+ "vm-browserify": {
3241+ "version": "1.1.2",
3242+ "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
3243+ "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ=="
3244+ },
3245+ "watchpack": {
3246+ "version": "2.1.1",
3247+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.1.1.tgz",
3248+ "integrity": "sha512-Oo7LXCmc1eE1AjyuSBmtC3+Wy4HcV8PxWh2kP6fOl8yTlNS7r0K9l1ao2lrrUza7V39Y3D/BbJgY8VeSlc5JKw==",
3249+ "requires": {
3250+ "glob-to-regexp": "^0.4.1",
3251+ "graceful-fs": "^4.1.2"
3252+ }
3253+ },
3254+ "web-namespaces": {
3255+ "version": "1.1.4",
3256+ "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz",
3257+ "integrity": "sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw=="
3258+ },
3259+ "webidl-conversions": {
3260+ "version": "4.0.2",
3261+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
3262+ "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg=="
3263+ },
3264+ "whatwg-url": {
3265+ "version": "7.1.0",
3266+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz",
3267+ "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==",
3268+ "requires": {
3269+ "lodash.sortby": "^4.7.0",
3270+ "tr46": "^1.0.1",
3271+ "webidl-conversions": "^4.0.2"
3272+ }
3273+ },
3274+ "which-boxed-primitive": {
3275+ "version": "1.0.2",
3276+ "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
3277+ "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
3278+ "requires": {
3279+ "is-bigint": "^1.0.1",
3280+ "is-boolean-object": "^1.1.0",
3281+ "is-number-object": "^1.0.4",
3282+ "is-string": "^1.0.5",
3283+ "is-symbol": "^1.0.3"
3284+ }
3285+ },
3286+ "which-typed-array": {
3287+ "version": "1.1.4",
3288+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.4.tgz",
3289+ "integrity": "sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA==",
3290+ "requires": {
3291+ "available-typed-arrays": "^1.0.2",
3292+ "call-bind": "^1.0.0",
3293+ "es-abstract": "^1.18.0-next.1",
3294+ "foreach": "^2.0.5",
3295+ "function-bind": "^1.1.1",
3296+ "has-symbols": "^1.0.1",
3297+ "is-typed-array": "^1.1.3"
3298+ }
3299+ },
3300+ "wrappy": {
3301+ "version": "1.0.2",
3302+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
3303+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
3304+ "dev": true
3305+ },
3306+ "xtend": {
3307+ "version": "4.0.2",
3308+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
3309+ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="
3310+ },
3311+ "yocto-queue": {
3312+ "version": "0.1.0",
3313+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
3314+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="
3315+ },
3316+ "zwitch": {
3317+ "version": "1.0.5",
3318+ "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz",
3319+ "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw=="
3320+ }
3321+ }
3322+}
package.json+12−1
@@ -8,8 +8,19 @@
88 "start": "next start"
99 },
1010 "dependencies": {
11+ "gray-matter": "^4.0.3",
1112 "next": "10.2.3",
1213 "react": "17.0.2",
13− "react-dom": "17.0.2"
14+ "react-dom": "17.0.2",
15+ "remark": "^13.0.0",
16+ "remark-html": "^13.0.1",
17+ "remark-parse": "^9.0.0",
18+ "remark-react": "^8.0.0",
19+ "unified": "^9.2.1"
20+ },
21+ "devDependencies": {
22+ "autoprefixer": "^10.2.6",
23+ "postcss": "^8.3.0",
24+ "tailwindcss": "^2.1.4"
1425 }
1526}
pages/404.jsnew file+3
@@ -0,0 +1,3 @@
1+export default function NotFound() {
2+ return <div>404</div>
3+}
pages/_app.js+1
@@ -1,3 +1,4 @@
1+import 'tailwindcss/tailwind.css'
12import '../styles/globals.css'
23
34function MyApp({ Component, pageProps }) {
pages/blog/[slug].jsnew file+50
@@ -0,0 +1,50 @@
1+import { useRouter } from 'next/router'
2+import { getPostBySlug, getAllPosts, markdownToHtml } from '../../lib/lib'
3+import Head from 'next/head'
4+import ErrorPage from '../404'
5+import Container from '../../components/Container'
6+import Markdown from '../../components/Markdown'
7+import {
8+ name,
9+} from '../../lib/constants'
10+
11+export default function Post({ project }) {
12+ const router = useRouter()
13+ if (!router.isFallback && !project?.slug) {
14+ return <ErrorPage />
15+ }
16+ return (
17+ <Container>
18+ <Markdown post={project} />
19+ </Container>
20+ )
21+}
22+
23+export async function getStaticProps({ params }) {
24+ const project = getPostBySlug(params.slug, [
25+ 'title',
26+ 'date',
27+ 'subtitle',
28+ 'content',
29+ 'slug',
30+ ])
31+
32+ return {
33+ props: { project },
34+ }
35+}
36+
37+export async function getStaticPaths() {
38+ const projects = getAllPosts(['slug'])
39+
40+ return {
41+ paths: projects.map((post) => {
42+ return {
43+ params: {
44+ slug: post.slug,
45+ },
46+ }
47+ }),
48+ fallback: false,
49+ }
50+}
pages/index.js+100−62
@@ -1,69 +1,107 @@
11import Head from 'next/head'
2−import Image from 'next/image'
3−import styles from '../styles/Home.module.css'
2+import Link from 'next/link'
3+import Container from '../components/Container'
4+import { getAllPosts } from '../lib/lib'
45
5−export default function Home() {
6+export default function Home({ posts }) {
67 return (
7− <div className={styles.container}>
8− <Head>
9− <title>Create Next App</title>
10− <meta name="description" content="Generated by create next app" />
11− <link rel="icon" href="/favicon.ico" />
12− </Head>
13−
14− <main className={styles.main}>
15− <h1 className={styles.title}>
16− Welcome to <a href="https://nextjs.org">Next.js!</a>
17− </h1>
18−
19− <p className={styles.description}>
20− Get started by editing{' '}
21− <code className={styles.code}>pages/index.js</code>
22− </p>
23−
24− <div className={styles.grid}>
25− <a href="https://nextjs.org/docs" className={styles.card}>
26− <h2>Documentation &rarr;</h2>
27− <p>Find in-depth information about Next.js features and API.</p>
28− </a>
29−
30− <a href="https://nextjs.org/learn" className={styles.card}>
31− <h2>Learn &rarr;</h2>
32− <p>Learn about Next.js in an interactive course with quizzes!</p>
33− </a>
34−
35− <a
36− href="https://github.com/vercel/next.js/tree/master/examples"
37− className={styles.card}
38− >
39− <h2>Examples &rarr;</h2>
40− <p>Discover and deploy boilerplate example Next.js projects.</p>
41− </a>
42−
43− <a
44− href="https://vercel.com/new?utm_source=create-next-app&utm_medium=default-template&utm_campaign=create-next-app"
45− className={styles.card}
46− >
47− <h2>Deploy &rarr;</h2>
48− <p>
49− Instantly deploy your Next.js site to a public URL with Vercel.
50− </p>
51− </a>
8+ <Container>
9+ <header className="layout-wide flex justify-between items-center pt-8">
10+ <a href="/docs" className="type-ui">Urbit</a>
11+ <nav className="flex items-center">
12+ <a href="/docs" className="type-ui text-gray mr-6">Docs</a>
13+ <a href="/blog" className="type-ui text-gray mr-6">Blog</a>
14+ <button className="button-sm type-ui">Download Port</button>
15+ </nav>
16+ </header>
17+
18+ <section className="layout-narrow pt-48">
19+ <h1>A general-purpose, peer-to-peer, personal computing system.</h1>
20+ </section>
21+
22+ <section className="layout-wide pt-48">
23+ <div className="bg-yellow w-11/12 hero-card-height rounded-3xl flex">
24+ <div className="pt-20 pl-12 w-7/12">
25+ <div className="pb-7">
26+ <h2 className="text-gray p-0 m-0">Introducing</h2><h2 className="p-0 m-0">Port</h2>
27+ </div>
28+ <h3 className="pb-5">The Urbit client, now in beta.</h3>
29+ <p className="pb-5">Port lets you... Sed iste iusto deserunt id dolores dignissimos est expedita. Earum ut et nemo et voluptatem sunt ea. Delectus sed unde fugit reiciendis. Voluptatum animi laborum fugit dolores. Dolore qui asperiores eum iusto debitis sit. Et vel dolores voluptas.</p>
30+ <button className="button-lg type-ui mb-5">Download For Mac</button>
31+ <a className="">View on GitHub</a>
32+ </div>
33+ <div className="bg-black w-full rounded-xl hero-image-height hero-image mt-8" />
34+ </div>
35+ </section>
36+
37+ <section className="layout-narrow pt-48">
38+ <div className='measure'>
39+ <h2 className="pb-12">Develop on Urbit</h2>
40+ <p className="pb-6">
41+ Urbit is a personal OS designed from scratch to run peer-to-peer applications.
42+ </p>
43+ <p className="pb-6">
44+ The entire OS is a <a>single pure function</a> that provides application developers with strong guarantees: automated persistence and memory management, repeatable builds, and support for hot code reloading.
45+ </p>
46+ <button className="button-lg type-ui">Contribute</button>
5247 </div>
53− </main>
48+ </section>
49+
50+ <section className="layout-narrow pt-48">
51+ <div className='flex items-center measure pb-12'>
52+ <h2 className="m-0 p-0 mr-4">Urbit Grants</h2>
53+ <button className="flex bg-green type-ui px-4 items-center justify-center h-12 rounded-full">32 Open</button>
54+ </div>
55+ <div className="flex w-full bg-lightGreen px-8 py-12 rounded-xl">
56+ <div className="flex items-center flex-col p-4 w-full">
57+ <h2>200+</h2>
58+ <h3 className="text-gray text-center pt-4">Urbit stars awarded</h3>
59+ </div>
60+ <div className="h-48 w-4 bg-green" />
61+ <div className="flex items-center flex-col p-4 w-full">
62+ <h2>1M+</h2>
63+ <h3 className="text-gray text-center pt-4">USD Rewarded</h3>
64+ </div>
65+ <div className="h-48 w-4 bg-green" />
66+ <div className="flex items-center flex-col p-4 w-full">
67+ <h2>90+</h2>
68+ <h3 className="text-gray text-center pt-4">Grants completed</h3>
69+ </div>
70+ </div>
71+ <div className='measure py-12'>
72+ <p className="pb-12">We regularly give away address space to reward community contributions, including education, promotion, and development.</p>
73+ <button className="button-lg type-ui">Contribute</button>
74+ </div>
75+ </section>
76+
5477
55− <footer className={styles.footer}>
56− <a
57− href="https://vercel.com?utm_source=create-next-app&utm_medium=default-template&utm_campaign=create-next-app"
58− target="_blank"
59− rel="noopener noreferrer"
60− >
61− Powered by{' '}
62− <span className={styles.logo}>
63− <Image src="/vercel.svg" alt="Vercel Logo" width={72} height={16} />
64− </span>
65− </a>
66− </footer>
67− </div>
78+ {
79+ posts.map((post, i) => {
80+ console.log(post)
81+ return (
82+ <div className='mb-40 cursor-pointer'>
83+ <Link href={'/blog/' + post.slug} key={'home-post-' + post.slug}>
84+ <div>
85+ <p className='text-black mt-2'>{post.title}</p>
86+ <p className='text-gray'>{post.date}</p>
87+ </div>
88+ </Link>
89+ </div>
90+ )
91+ }
92+ )}
93+ </Container>
6894 )
6995}
96+
97+export async function getStaticProps() {
98+ const entries = getAllPosts([
99+ 'title',
100+ 'slug',
101+ 'date',
102+ ])
103+
104+ return {
105+ props: { posts: entries },
106+ }
107+}
postcss.config.jsnew file+6
@@ -0,0 +1,6 @@
1+module.exports = {
2+ plugins: {
3+ tailwindcss: { config: './tailwind.config.js' },
4+ autoprefixer: {},
5+ },
6+}
styles/Home.module.cssdeleted−121
@@ -1,121 +0,0 @@
1−.container {
2− min-height: 100vh;
3− padding: 0 0.5rem;
4− display: flex;
5− flex-direction: column;
6− justify-content: center;
7− align-items: center;
8− height: 100vh;
9−}
10−
11−.main {
12− padding: 5rem 0;
13− flex: 1;
14− display: flex;
15− flex-direction: column;
16− justify-content: center;
17− align-items: center;
18−}
19−
20−.footer {
21− width: 100%;
22− height: 100px;
23− border-top: 1px solid #eaeaea;
24− display: flex;
25− justify-content: center;
26− align-items: center;
27−}
28−
29−.footer a {
30− display: flex;
31− justify-content: center;
32− align-items: center;
33− flex-grow: 1;
34−}
35−
36−.title a {
37− color: #0070f3;
38− text-decoration: none;
39−}
40−
41−.title a:hover,
42−.title a:focus,
43−.title a:active {
44− text-decoration: underline;
45−}
46−
47−.title {
48− margin: 0;
49− line-height: 1.15;
50− font-size: 4rem;
51−}
52−
53−.title,
54−.description {
55− text-align: center;
56−}
57−
58−.description {
59− line-height: 1.5;
60− font-size: 1.5rem;
61−}
62−
63−.code {
64− background: #fafafa;
65− border-radius: 5px;
66− padding: 0.75rem;
67− font-size: 1.1rem;
68− font-family: Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono,
69− Bitstream Vera Sans Mono, Courier New, monospace;
70−}
71−
72−.grid {
73− display: flex;
74− align-items: center;
75− justify-content: center;
76− flex-wrap: wrap;
77− max-width: 800px;
78− margin-top: 3rem;
79−}
80−
81−.card {
82− margin: 1rem;
83− padding: 1.5rem;
84− text-align: left;
85− color: inherit;
86− text-decoration: none;
87− border: 1px solid #eaeaea;
88− border-radius: 10px;
89− transition: color 0.15s ease, border-color 0.15s ease;
90− width: 45%;
91−}
92−
93−.card:hover,
94−.card:focus,
95−.card:active {
96− color: #0070f3;
97− border-color: #0070f3;
98−}
99−
100−.card h2 {
101− margin: 0 0 1rem 0;
102− font-size: 1.5rem;
103−}
104−
105−.card p {
106− margin: 0;
107− font-size: 1.25rem;
108− line-height: 1.5;
109−}
110−
111−.logo {
112− height: 1em;
113− margin-left: 0.5rem;
114−}
115−
116−@media (max-width: 600px) {
117− .grid {
118− width: 100%;
119− flex-direction: column;
120− }
121−}
styles/globals.css+80−2
@@ -1,9 +1,11 @@
1+/* :root {
2+ font-size:16px;
3+} */
4+
15html,
26body {
37 padding: 0;
48 margin: 0;
5− font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,
6− Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
79}
810
911a {
@@ -14,3 +16,79 @@ a {
1416* {
1517 box-sizing: border-box;
1618}
19+
20+.layout-narrow {
21+ padding-left: 16.6667%;
22+ padding-right: 16.6667%;
23+ width: 100%;
24+}
25+
26+.layout-wide {
27+ padding-left: 8.3334%;
28+ padding-right: 8.3334%;
29+ width: 100%;
30+}
31+
32+h1, .type-h1 {
33+ @apply text-6xl leading-tight font-sans tracking-tighter font-bold;
34+ }
35+
36+h2, .type-h2 {
37+ @apply text-5xl font-sans tracking-tighter font-bold;
38+}
39+
40+h3, .type-h3 {
41+ @apply text-3xl font-sans tracking-tight font-semibold;
42+}
43+
44+ .type-ui {
45+ @apply text-lg font-sans tracking-tight font-semibold;
46+ }
47+
48+ p, .type p {
49+ @apply text-lg font-sans tracking-tight font-medium;
50+ }
51+
52+ .button-sm {
53+ @apply flex px-4 py-2 bg-black rounded text-white;
54+ border:none;
55+ }
56+
57+ .button-lg {
58+ @apply flex px-4 py-2 bg-black rounded-lg text-white;
59+ border:none;
60+ }
61+
62+ .button-sm:hover {
63+ opacity: 0.66;
64+ }
65+
66+ .button-lg:hover {
67+ opacity: 0.66;
68+ }
69+
70+ a:hover {
71+ opacity: 0.66;
72+ }
73+
74+ .hero-card-height {
75+ height: 750px;
76+ }
77+
78+ .hero-image-height {
79+ height: 686px;
80+ }
81+
82+ .hero-image {
83+ transform: translateX(8%);
84+ }
85+
86+ .measure {
87+ max-width: 34rem;
88+ }
89+
90+ .flex-center {
91+ display: flex;
92+ align-items: center;
93+ justify-content: center;
94+ }
styles/markdown.module.cssnew file+38
@@ -0,0 +1,38 @@
1+.markdown {
2+ @apply leading-relaxed;
3+ }
4+
5+ .markdown p,
6+ .markdown ul,
7+ .markdown ol,
8+ .markdown blockquote {
9+ @apply my-6;
10+ }
11+
12+ .markdown h1 {
13+ @apply font-semibold mt-12 mb-4;
14+ }
15+
16+ .markdown h2 {
17+ @apply font-semibold mt-12 mb-4;
18+ }
19+
20+ .markdown h3 {
21+ @apply font-semibold mt-8 mb-4;
22+ }
23+
24+ .markdown p,
25+ .markdown h1,
26+ .markdown h2,
27+ .markdown h3,
28+ .markdown h4,
29+ .markdown h5 {
30+ @apply max-w-prose;
31+ }
32+
33+
34+ .markdown img {
35+ width: 100%;
36+ height: auto;
37+ @apply py-4;
38+ }
tailwind.config.jsnew file+27
@@ -0,0 +1,27 @@
1+module.exports = {
2+ purge: ['./pages/**/*.{js,ts,jsx,tsx}', './components/**/*.{js,ts,jsx,tsx}'],
3+ darkMode: false, // or 'media' or 'class'
4+ theme: {
5+ colors: {
6+ black: '#000',
7+ white: '#FFF',
8+ gray: 'rgba(0, 0, 0, 0.6)',
9+ yellow: '#FCDB63',
10+ midYellow: 'rgba(255, 199, 0, 0.6)',
11+ lightYellow: 'rgba(255, 199, 0, 0.3)',
12+ washedYellow: 'rgba(255, 199, 0, 0.05)',
13+ green: 'rgba(0, 159, 101, 1)',
14+ midGreen: 'rgba(0, 159, 101, 0.6)',
15+ lightGreen: 'rgba(0, 159, 101, 0.3)',
16+ washedGreen: 'rgba(0, 159, 101, 0.05)',
17+ },
18+ fontFamily: {
19+ sans: ['Inter', '-apple-system', 'sans-serif'],
20+ mono: ['Source Code Pro', 'monospace'],
21+ },
22+ },
23+ variants: {
24+ extend: {},
25+ },
26+ plugins: [],
27+}