# Introduction

Aavegotchi is a radical experiment in player-owned gaming economies.

We envision a world:&#x20;

* where all the items you earn in a game are shared across every game you play;&#x20;
* where the line between gamer and developer is blurred;&#x20;
* where players truly own the assets they have earned

It’s not an easy path. But it’s something worth building.

If our vision speaks to you, [join us](https://discord.gg/aavegotchi).

## Our Vision

To create an interoperable, player-owned gaming ecosystem that educates, entertains, and empowers players to join the growing onchain economy.&#x20;

## Our goals

* **Educate.** Teach players about decentralized finance and provide a fun and accessible way for people to learn about and participate in the onchain economy.&#x20;
* **Entertain.** Create games and content that players enjoy playing and supporting.&#x20;
* **Empower.** Give players the tools to create their own gaming content, and become active creators in the onchain economy, not just passive consumers.&#x20;

## **Get Involved**

There are many ways you can participate in the burgeoning Aavegotchi gaming ecosystem:

* **Play our** [**games**](/gaming/live-games)**.** A growing catalogue of games offers players novel crypto experiences and ways to "play and earn" -- having fun while [earning crypto](/own/earning-in-aavegotchi).
* **Participate in DAO governance.** Holding Aavegotchi [assets](/gaming/assets) gives players power to help steer the direction of the protocol and make decisions, both big and small.
* **Attend our events.** We regularly hold events, both online and offline. Join, say hi, and maybe even cop some exclusive Aavegotchi merch!
* **Build something**. Whatever your skillset, there's a way you can contribute to our ecosystem, whether it's building games, developing dapps, constructing dashboards, or simply helping us organize information better. See [AavegotchiDAO](/governance/about-aavegotchidao) for more information on applying for funding.&#x20;

## Learn More

These docs are a great resource to learn all the basics about Aavegotchi.

We also regularly update our [Youtube](https://www.youtube.com/@Aavegotchi) channel.

And the [Wiki](https://wiki.aavegotchi.com) is a great resource for deeper information about the history of the project.

### <mark style="color:purple;">Welcome to Aavegotchi! We're excited to have you.</mark>&#x20;


# What is True Ownership?

True Asset Ownership in gaming is a transformative concept that radically changes players' relationship with their in-game items.&#x20;

Before blockchain technology, assets were owned by game publishers and players could access their items, but did not truly "own" them. We have seen many examples[^1][ ](https://gamerant.com/call-duty-warzone-shutdown-cosmetics-skins-gone-what-happens/)where game publishers removed access to assets previously thought to be owned by players.

True Asset Ownership means players have sovereignty over the assets they earn or purchase. They can hold, sell, or even burn those items if they choose.&#x20;

They truly own the assets.&#x20;

### True Ownership in Aavegotchi

Aavegotchi has a deep and diverse array of onchain game items. All items can be traded natively with no restrictions via the Aavegotchi Dapp.

* [GHST Token](/own/tokens/ghst-token) is the official governance token of Aavegotchi. Holding it grants players voting power within [AavegotchiDAO](/governance/about-aavegotchidao).
* [Aavegotchis](/own/game-items/aavegotchis) are the primary onchain asset of Aavegotchi. Currently, there are only 25,000 of them, with no plans to mint more. You'll definitely want to own one of these, if you can.
* [Portals](/own/game-items/portals) are mystery boxes that contain random Aavegotchis inside. Most of the Portals have been opened, but there are still some unopened ones that may contain rare Aavegotchis.
* [Wearables](/own/game-items/wearables) are equippable onchain assets that power up your Aavegotchi and make it more stylish. There are hundreds of Wearables to choose from, so dig in!
* [The Forge](/own/game-items/the-forge) is not a single asset, but a class of onchain assets that allow players to craft new Wearables.&#x20;
* [Gotchiverse](/own/game-items/gotchiverse) includes all of the assets playable in the Aavegotchi "Gotchiverse" game, the official metaverse of our gaming universe.&#x20;

Visit the [Aavegotchi Baazaar](https://dapp.aavegotchi.com/baazaar/aavegotchis), the official marketplace of Aavegotchi, to learn more and make your first purchase.

[^1]:


# Tokens

The Aavegotchi ecosystem has three main fungible tokens available for players to earn and trade.&#x20;

* GHST Token.
* Gotchus Alchemica.
* GLTR Token.


# GHST Token

GHST Token is the eco-governance token of Aavegotchi. Owning GHST grants voting power to the bearer in AavegotchiDAO. GHST is also the underlying token for all trading in the Aavegotchi Baazaar, our official P2P marketplace.&#x20;

## Contract Addresses

Ethereum: <https://etherscan.io/token/0x3f382dbd960e3a9bbceae22651e88158d2791550>

Polygon: <https://polygonscan.com/address/0x385Eeac5cB85A38A9a07A70c73e0a3271CfB54A7>

Base: <https://basescan.org/address/0xcd2f22236dd9dfe2356d7c543161d4d260fd9bcb>

## Tokenomics

#### Total Supply

The total supply of GHST on Ethereum is 52,747,802. However, this figure does not include the GHST burned on Polygon via primary sales and baazaar listings.&#x20;

A more accurate total supply can be calculated by subtracting the amount burned on Polygon (GHST in the [0x000](https://polygonscan.com/token/0x385Eeac5cB85A38A9a07A70c73e0a3271CfB54A7?a=0xffffffffffffffffffffffffffffffffffffffff) wallet) which gives us a more accurate total supply of 50,478,617, or roughly 50M.&#x20;

#### Circulating Supply

There are no vesting lockups active, which means that GHST has a circulating supply of 100%.&#x20;

#### Burns

GHST is technically a deflationary token because 0.1 GHST gets burned every time a new listing on the Aavegotchi Baazaar is created. 5% of the GHST traded in primary sales has also traditionally been burned.&#x20;

To date, more than 2,000,000 GHST has been burned via these methods.&#x20;

To view the latest burns, please visit the Polygonscan explorer transaction history for the [0x000](https://polygonscan.com/token/0x385Eeac5cB85A38A9a07A70c73e0a3271CfB54A7?a=0xffffffffffffffffffffffffffffffffffffffff) wallet.&#x20;

## Utility

#### Voting Power

The [AavegotchiDAO](/governance/about-aavegotchidao) is one of the most active gaming DAOs in the world, with more than 120 proposal passed to date.&#x20;

Holding GHST grants voting power to the bearer in the AavegotchiDAO in the form of 1 GHST = 1 voting power. No lockups required.&#x20;

#### Medium of Exchange

GHST is the primary medium of exchange for trading assets in the Aavegotchi ecosystem.&#x20;

All primary and secondary sales are generally denominated in GHST.&#x20;

#### Liquidity Staking

GHST holders can provide value back to the ecosystem by providing liquidity between GHST and other tokens such as USDC and ETH.

Liquidity providers can stake their receipt tokens in exchange for GLTR rewards.&#x20;

#### Gas Token (Coming with Gotchichain)

GHST will also be the gas token of our upcoming Gaming L3, Gotchichain.

All non-sponsored transactions will require a small amount of GHST to perform, in order to prevent spam and keep the network free from unnecessary congestion.&#x20;

## How to Earn GHST

There are many ways to stack GHST by participating in the Aavegotchi ecosystem:

* Entering your Aavegotchis into Rarity Farming or Gotchi Battler.
* Participating in game nights, tournaments, and other special events with GHST rewards.
* Buying and selling Aavegotchi game items in the Baazaar.&#x20;
* Creating and selling FAKE Gotchis art.&#x20;
* ...and that's just the obvious ones! Join our Discord community to make frens and learn the latest strategies for stacking our favorite purple coin.

{% hint style="info" %}
**Did you know?**

GHST Token was deployed on Ethereum Mainnet on September 14, 2020 via an Aragon Fundraising Bonding Curve continuous token sale.&#x20;

The Bonding Curve used DAI as its collateral, with a 30% reserve ratio.

The sale lasted for several years, finally concluding on March 10, 2023 when AavegotchiDAO voted to close the bonding curve.&#x20;

Throughout this period, the total supply of GHST fluctuated, finally settling on its current total supply of 52,747,802 when the sale came to an end.&#x20;
{% endhint %}


# Gotchus Alchemica

**Gotchus Alchemica** refers to a set of in-game token resources that can be used to upgrade and enhance your Aavegotchi REALM Parcel, the digital land of the Gotchiverse.&#x20;

Gotchus Alchemica is comprised of four types of resources: FUD, FOMO, ALPHA, and KEK.

* FUD represents earth and is the most plentiful of the four elements, being used in many recipes for crafting.
* FOMO represents fire and is often seen in recipes for mechanical items such as Harvesters.
* ALPHA represents water and is often used in recipes for potions, as well as social items like the Gotchi Lodge.
* KEK represents metal and is often used in high-level crafting recipes such as the Alchemical Aaltar Level 9.

## Utility

Alchemica are used primarily for crafting items in the Gotchiverse and Spirit Force Arena.&#x20;

## How to Earn Gotchus Alchemica

Alchemica can be obtained by farming them from parcels in the Gotchiverse, or by swapping GHST on DEXes.&#x20;

## Contract Addresses

### Polygon Network

FUD: 0x403e967b044d4be25170310157cb1a4bf10bdd0f

FOMO: 0x44a6e0be76e1d9620a7f76588e4509fe4fa8e8c8

ALPHA: 0x6a3e7c3c6ef65ee26975b12293ca1aad7e1daed2

KEK: 0x42e5e06ef5b90fe15f853f59299fc96259209c5c


# GLTR Token

GAX Liquidity Rewards Token (GLTR) is an in-game resource token used primarily in the Gotchiverse and the Aavegotchi Forge.&#x20;

## Utility

### Crafting and Forging

Players can spend GLTR token to speed up Crafting and Forging. One GLTR token represents one block of time on the Polygon blockchain.

### Promoting Events

The Gotchiverse 2D (and soon 3D) allows land owners to promote events they are holding on their REALM Parcel. Players can spend GLTR to promote their parcel for a fixed amount of time.

{% hint style="info" %}
All GLTR spent on crafting, forging, and promoting events is burned 🔥
{% endhint %}

## How to Earn GLTR Token

GLTR Token can be earned by participating in the GHST Staking program in Polygon. Stake GHST alongside other tokens to earn GLTR.&#x20;

## Tokenomics

The max supply of GLTR is 1,000,000,000,000.&#x20;

## Contract Addresses

GLTR (Polygon): <https://polygonscan.com/address/0x3801C3B3B5c98F88a9c9005966AA96aa440B9Afc>


# Game Items


# Aavegotchis

Aavegotchis are the core assets in the Aavegotchi Crypto Gaming protocol.

Aavegotchis can be summoned by claiming them from Portals. For more information on Portals, please visit [Portals](/own/game-items/portals).

{% hint style="info" %}
Don't have an Aavegotchi but want to play games? Check out [Gotchi Lending](https://dapp.aavegotchi.com/lending/aavegotchis), an onchain marketplace for borrowing Aavegotchis using GHST token.
{% endhint %}

## Aavegotchi Traits

**Each Aavegotchi comes with a set of onchain traits that determine its personality and its rarity.**

* Energy (NRG)
* Aggression (AGG)
* Spookiness (SPK)
* Brain Size (BRN)
* Eye Shape (EYS)
* Eye Color (EYC)

Energy, Aggression, Spookiness, and Brain Size can be modified by equipping wearables and leveling up your Aavegotchi.

Each trait has a natural range of 0-99 but these ranges can be exceeded by equipping wearables or spending Spirit Points.&#x20;

{% hint style="info" %}
Eye Shape and Eye Color are **permanent** traits that cannot be modified.
{% endhint %}

In addition to the above traits, Aavegotchis also have three higher level traits:

### Rarity

Rarity, also known as Base Rarity Score (BRS), is the combined value of your Aavegotch's six traits listed above.&#x20;

Rarity in Aavegotchi works on the principle of a "bell curve" from 0-99 where the closer your trait is to 50, the less rare it is. Thus, 0 and 99 are equally rare.&#x20;

The lowest BRS an Aavegotchi could have is 300 (if each trait equaled 50) while there is no maximum, although anything above 1000 is considered incredibly rare.&#x20;

Rarity can be increased by equipping your Aavegotchi with Wearables or spending Spirit Points.&#x20;

{% hint style="info" %}
**SPIRIT POINTS**

Your Aavegotchi earns one Spirit Point for every three experience levels it gains. Spirit Points can be spent to modify your Aavegotchi's traits.&#x20;
{% endhint %}

### Kinship

Kinship is a measure of your onchain bond with your Aavegotchi. Each Aavegotchi starts with a kinship value of 50. If you do not [pet your Aavegotchi](#petting-your-aavegotchi) via an onchain transaction, your kinship starts to go down by one per twenty-four hours. There is no maximum amount of Kinship your Aavegotchi can have.

{% hint style="info" %}
Channeling your land in the Gotchiverse reduces Kinship by 2.&#x20;
{% endhint %}

### Experience Level

Experience (XP) is an onchain value that allows your Aavegotchi to level up.&#x20;

Currently, there are three main ways to earn XP for your Aavegotchis:

* **Voting in AavegotchiDAO.** Voting on Signal Proposals (SigProps) that ultimately become Core Proposals (CoreProp) and successfully reach quorum allows you to claim 10 XP (for Sigprops) and 20 XP (for CoreProps) per Aavegotchi you had in your wallet at the time the prop was created.&#x20;

{% hint style="info" %}
For more information on Voting in AavegotchiDAO, visit the [Voting on Proposals](/governance/voting-on-proposals) section in AavegotchiDAO.
{% endhint %}

* **Participating in XP events.** XP events are special one-off events where you can earn XP for your Aavegotchis. Some examples of XP events in the past have been: Minigame Events, Hangouts, and special announcements. Join the Aavegotchi Discord for notifications about when these events occur!
* **Drinking XP Potions.** A small number of XP potions still exist and can be fed to your Aavegotchi. However, it's worth noting that due to their low remaining quantity, these potions are quite expensive!
* **Sacrificing Aavegotchis.** Yes, you can sacrifice your ghostly pets! Sacrificing an Aavegotchi burns it permanently, but transfers the XP of the Aavegotchi to another Aavegotchi, and also refunds the Spirit Force (token collateral) inside of it. Visit the [Sacrificing your Aavegotchi ](#sacrificing-your-aavegotchi)section for more details.

## Naming your Aavegotchi

Naming an Aavegotchi you own is a great way to customize it. Names in Aavegotchi are unique and stored onchain, and it doesn't cost anything to update the name (besides the gas fee).&#x20;

Simply visit your Aavegotchi's profile and click the Rename button to name your Aavegotchi.&#x20;

## Petting your Aavegotchi

**How to Pet**

Petting your Aavegotchi is a must if you want to maintain good kinship! To pet your Aavegotchi, simply visit its profile and click the "Pet" button.&#x20;

You can also use the "Pet All" button located in the Aavegotchis tab of your Inventory to pet all of your Aavegotchis at once.&#x20;

**When to Pet**

Aavegotchis can be pet whenever you'd like, but kinship only increases once every 12 hours. If you pet your Aavegotchi before the 12 hour cooldown is up, it will appreciate your pet, but its kinship will not increase.

**Forgetting to Pet**

If you forget to pet your Aavegotchi for 24 hours, its kinship will start going down by 1 for every 24 hours that passes.&#x20;

**Auto-Petting**

If you live a busy life and do not have time to pet your Aavegotchis, maybe you should reconsider some of your life choices. Just kidding!&#x20;

Some big-brains in the Aavegotchi community have set up "auto-petters" that pet your Aavegotchis on your behalf.&#x20;

[Orium Network](https://orium.network/aavegotchi/pet-operator/) is the most popular of these services, and it's free, although it is not guaranteed to always pet on time!

## Feeding your Aavegotchi

Aavegotchis love to consume beverages! Currently there are two main types of consumables you can feed your Aavegotchi: XP Potions and Kinship Potions.

These items are quite rare however, and can only be purchased on the Aavegotchi Baazaar under the Consumables tab.

One day we hope to have more types of consumables to feed your onchain fren.

## Dressing your Aavegotchi

One of the most interesting parts of owning an Aavegotchi is dressing it up to fit different occasions.&#x20;

Hundreds of different wearables exist, giving you plenty of options to deck your Aavegotchi out just like you want it.&#x20;

Here are a few pointers to be aware of when shopping for Wearables and dressing up your Aavegotchi.&#x20;

* There are eight different slots you can equip: Body, Head, Face, Eyes, Left hand, Right hand, Pet, and Background.&#x20;
* Only one Wearable can be equipped in a slot at each time.
* Wearables come in six different rarities: Common, Uncommon, Rare, Legendary, Mythical, and Godlike.&#x20;
* Equipping a Wearable increases the BRS of your Aavegotchi by a flat amount, in addition to bonuses given by trait adjustments.&#x20;
* Wearables can be unequipped. Unequipping a Wearable returns it to the inventory of the owner.&#x20;

{% hint style="info" %}
There are two scenarios when an Aavegotchi cannot unequip its wearables.

1. When it's listed for sale in the Baazaar
2. When it's lent out.
   {% endhint %}

* For more information on Wearables, head over to the [Wearables](/own/game-items/wearables) section.
* **NEW** - You can now borrow Wearables to equip on your Aavegotchi via the Orium Renting protocol. Visit the [Orium Network](https://orium.network/collection/polygon-mainnet/0x58de9aabcaeec0f69883c94318810ad79cc6a44f/) dapp to browse all available Wearables.

## Sacrificing your Aavegotchi

Although it's still an open question whether or not you can kill something that is already dead (Aavegotchis are ghosts, after all), it is indeed possible to fully destroy your onchain Aavegotchi by sacrificing it.&#x20;

Sacrificing your Aavegotchi burns it permanently and releases the Spirit Force (staked collateral) stored inside.&#x20;

Although it seems crazy to do such a dreadful thing, there is actually a good reason -- sacrificing your Aavegotchi lets you transfer its accrued XP to another Aavegotchi.&#x20;

This could give you a big advantage on the XP Leaderboard for Rarity Farming, while also increasing its level.&#x20;

In addition to transferring XP, you now also receive 1000 [Essence](/own/game-items/the-forge) token when sacrificing an Aavegotchi.&#x20;

## Playing Games with your Aavegotchi

Aavegotchis are literally born to game, and their favorite way to pass time in eternity is by playing games with their frens.&#x20;

For a updated list of games to play with your Aavegotchis, as well as the rewards you can earn, please visit the [Gaming](/gaming/aavegotchi-gaming-console) section.


# Portals

*This section is still WIP.*&#x20;

Please visit the Wiki entry on [Portals](https://wiki.aavegotchi.com/en/portals) for a full overview of what Portals are and how to use them.&#x20;


# Wearables

Wearables are an important component of the Aavegotchi game. Besides endowing your Aavegotchi with a sense of fashion, wearables also boost your Aavegotchi's traits and Rarity score, enabling it to perform better in Rarity Farming and other games.&#x20;

Aavegotchis have four traits that can be modified by wearables.

* AGG = Aggressiveness
* NRG = Energy
* SPK = Spookiness
* BRN = Brain Size

{% hint style="info" %}
The traits of "Eye Color" and "Eye Shape" cannot be modified by wearables.
{% endhint %}

*Note: Lower/Negative values do not mean the trait is getting "weaker". Aavegotchi traits are distributed on a bell curve, so the extremes (0,1) and (99,100) are actually the best!*

### Wearables and Rarity

There are six levels of Rarity in Aavegotchi, ranging from Common to Godlike.

Dressing your Aavegotchi with Wearables increases its Rarity Score by the BRS Bonus below.&#x20;

In addition to the flat BRS Bonus, you can also get an extra increase to your Aavegotchi's BRS by matching the Wearable to your Aavegotchi's specific trait to move it further down the bell curve.&#x20;

For example, equipping a +1 AGG Wearable to an Aavegotchi with 20 AGG would not increase its Rarity score because its score is getting closer to 50. To get the benefit of the Wearable in this case, you should equip it to an Aavegotchi with an AGG score of above 50.

For a full list of Wearables and their trait bonuses, please visit the [Aavegotchi Wiki page on Wearables](https://wiki.aavegotchi.com/en/wearables).


# The Forge

The Aavegotchi Forge is an extension of the core Aavegotchi protocol contracts that creates a new pathway for Wearables to be introduced, without diluting the existing supply.&#x20;

Conceived by Dr. Wagmi in an AavegotchiDAO proposal and implemented by the Forge team, the Forge introduces two new workflows -- Smelting and Forging, and five new types of onchain assets to the Aavegotchi protocol: Schematics, Cores, Alloy, Essence, and Geodes.

### Assets

* **Schematics** are blueprints for a specific Wearable.&#x20;
* **Core** imbues the Wearable with rarity and dictates which slot it represent&#x73;**.** &#x20;
* **Alloy** is the material needed to craft the wearable.
* **Essence** (pets only) is the spirit of the Wearable that imbues it with life.&#x20;
* **Geodes** are like mystery boxes that can contain different Forge items when opened.

### Forging

Forging is the process of creating a new Wearable by combining a Schematic, a Core, the requisite amount of Alloy, and Essence (for pets).&#x20;

Forging is hard work, and thus takes a certain number of blocks to complete the forging of a Wearable. The higher the rarity, the longer it takes.&#x20;

The process of forging can be sped up by spending GLTR token.

Forging with an Aavegotchi that has high Smithing skill can also reduce the time required. Forging also increases the Smithing level of the Aavegotchi.&#x20;

### Smelting

Smelting is the process of breaking down a Wearable into its composite parts -- Schematic, Core, Alloy, and Geodes.&#x20;

Smelting is instant and also increases the Smithing level of the Aavegotchi.&#x20;

{% hint style="info" %}
Smelting returns 90% of the Alloy used to create the Wearable.&#x20;
{% endhint %}

Visit the [Forge](https://dapp.aavegotchi.com/forge) page in the official Aavegotchi dapp to start forging, smelting, and leveling up your Aavegotchi's smithing skill!


# Gotchiverse

This section is still WIP. Please visit the Wiki entry on [Gotchiverse](https://wiki.aavegotchi.com/en/gotchiverse)!

## REALM Parcels

Gotchiverse REALM Parcels are player-owned land within the Gotchiverse open world. Players can farm Gotchus Alchemica from the parcel, and decorate it with aesthetic Installations and Tiles.&#x20;

### Tokenomics

The max supply is REALM Parcels in the Gotchiverse is 420,069, but currently only 50,000 have been minted.&#x20;

### Utility

* Farming Gotchus Alchemica using Installations.
* Channeling Gotchus Alchemica from the Alchemical Aaltar using your Aavegotchi.
* Decorating the parcel.
* Traveling between distant locations in the Gotchiverse using a Bounce Gate.&#x20;

## Installations

Installations are onchain buildings that can be placed onto your REALM Parcel.&#x20;

Installations are crafted using Gotchus Alchemica and then placed onto the Parcel. Once an Installation is placed, it can optionally be upgraded to a higher level by spending more Alchemica.&#x20;

For a full list of Installations, view the entry on the Aavegotchi Wiki.

## Tiles

Tiles are onchain flooring that can be placed onto your REALM Parcel.&#x20;

Tiles are crafted using Gotchus Alchemica and then placed onto the Parcel. All tiles are rendered beneath Installations, but above the Parcel floor.

For a full list of Tiles, view the entry on the Aavegotchi Wiki.


# Trading


# Aavegotchi Baazaar

The Aavegotchi Baazaar is the primary decentralized marketplace where Aavegotchi-related NFTs are traded on Polygon (and soon, on Gotchichain).

The Baazaar is fully peer-to-peer, meaning players can list and purchase items from other players.&#x20;

## Listing an Item

To list an item in the Baazaar, visit the "My Inventory" page by clicking the icon at the top right of the page. Then click on the item you would like to list and click the "List" button at the bottom of the page.

For ERC721 assets such as Aavegotchis, REALM Parcels, and FAKE Gotchis, simply input the price at you would like to list it.

For ERC1155 assets such as Wearables, Forge items, and Tickets, input the price and quantity of items you would like to list.&#x20;

After inputting this information, click the "Next" button to review your listing. Then click the "Confirm" button to initiate your blockchain transaction.

{% hint style="info" %}
Listing an item in the Baazaar requires 0.1 GHST, which gets burned.&#x20;

There is a 3.5% fee on all transactions, which gets distributed to AavegotchiDAO and Pixelcraft Studios to help fund development.
{% endhint %}

## Purchasing an Item

The Baazaar has a wide array of items available for players to purchase. Currently, all of these items are denominated in GHST, the official eco-governance token of Aavegotchi.&#x20;

To purchase an item from the Baazaar, you will need to have a sufficient balance of GHST token for the item you'd like to purchase.

[>> Click here to get GHST token](https://dapp.aavegotchi.com/ghst).&#x20;

To purchase an item from the Baazaar, click on the item and tap the "Buy Now" button to initiate a purchase transaction.

If this is your first time purchasing an item in the Baazaar, you will need to first "Approve Spend" GHST in the Baazaar.&#x20;

Once the purchase transaction has been confirmed onchain, the item will appear in the "My Inventory" page.&#x20;


# Auction House

The GBM Auction House is a place where players can create Auctions to sell their assets. &#x20;

## What is a GBM Auction?

GBM Auction is a special type of English auction where bidders make money when they are outbid.&#x20;

Whenever an auction participant is outbid, their bid is returned immediately, plus an additional amount known as the *incentive*. The incentive is subtracted from the final amount paid out to the seller.

GBM Auctions are an exciting and popular mechanic for trading assets in the Aavegotchi protocol.

Let's look at how to create and participate in a GBM auction.

## Creating an Auction

To create an auction, visit the "My Inventory" page and click on an item you would like to sell. Click the "Auction" button to view the auction configuration.&#x20;

There are several key fields you will need to fill in:

* Start date: When the auction will begin. Can be configured to start in the future.
* Duration: How long the auction lasts.
* Quantity: How many of the item you would like to sell. Only available for ERC1155 items such as Wearables and Forge items.
* Hammer time: Hardcoded to twenty minutes. Any bid placed the last twenty minutes of the Auction will extend its duration by twenty minutes.
* GBM Incentives: The max incentive you would like to pay to bidders, as a percentage of the total bid amount.
  * Low: 1%
  * Medium: 5%
  * High: 10%

Once you have input your auction configurations, click the "Confirm" button to initiate an onchain transaction.

*Approve required: If this is the first time you have created an Auction for a specific NFT type, you will need to "Approve NFT" first.*&#x20;

After the transaction to create the auction has been confirmed onchain, the auction will appear in the Auction house under "Live" for auctions that have begun, or "Upcoming" for auctions scheduled in the future.&#x20;

## Bidding on an Item

To place a bid, simply visit the Auction house and click on an item you would like to bid for. Then click the "Place Bid" button to view the Place Bid popup.

Within the Place Bid popup, you can select how much you would like to bid. Each auction has a minimum bid required that changes based on the incentive assigned to that auction.

Placing the minimum bid will result in an incentive 1/10th the amount of the max incentive for that auction. For example, if the max incentive is 5% and you place a minimum bid, you will receive a 0.5% incentive on your bid when outbid.

To get the maximum incentive upon outbid, simply double the existing bid.&#x20;

Once you have selected your bid amount, click "Next" to review your order, and then "Confirm" to initiate the onchain transaction.

*GHST Approval required: If this is your first time bidding on an Auction, you will need to approve your GHST to be spent.*&#x20;

<br>

## Cancelling an Auction

There are two times an auction can be cancelled:

* Before the first bid is placed
* Within one hour of the auction ending

Only a seller can cancel an auction. To cancel an existing auction, visit the "My Activity" page in your user profile and click the Auction tabs.&#x20;

Click on the Auction you would like to cancel and click "Cancel" to initiate the cancel transaction onchain.

Cancelling a completed auction requires the seller to pay a 4% auction fee plus the incentive of the final bid.

## Claiming your Item / Proceeds

Once the hour grace period has passed, the auction can be finalized. When an auction is finalized, the proceeds (GHST) go to the seller (minus fees) and the item goes to the buyer.

To claim your proceeds as a seller, visit the "My Activity" tab in your profile and click the Auctions tab. Then click into an unclaimed auction and click "Claim" to initiate the claiming transaction.

To claim your item as a buyer, visit the "My Activity" tab in your profile and click the "Bids" tab. Then click into an unclaimed auction and click "Claim" to initiate the claiming transaction.

Finalizing the auction will transfer both proceeds (GHST) and the auctioned item to seller and buyer, irrespective of who initiated the claiming transaction.

## Happy auctioning!


# Earning in Aavegotchi


# Rarity Farming

### What is Rarity Farming? <a href="#what-is-rarity-farming" id="what-is-rarity-farming"></a>

Rarity Farming is a play-to-earn mechanic in the Aavegotchi ecosystem that rewards players for boosting the rarity of their Aavegotchi NFTs.

Each season of Rarity Farming generally lasts eight-weeks and allows Aavegotchis to compete in three categories: Rarity, Kinship, and XP.

New seasons do not happen automatically - they must be voted on by AavegotchiDAO.

#### Leaderboards <a href="#leaderboards" id="leaderboards"></a>

In each season of Rarity Farming, the rarest Aavegotchis in each given category (Rarity, Kinship, XP) receive a distribution of GHST rewards that can be claimed by their owners.

To participate in Aavegotchi Rarity Farming, you need to own an Aavegotchi or borrow one from a player who is offering a split on GHST earned during the borrowing period with Gotchi Lending.&#x20;

To increase your Aavegotchi's chance of earning GHST, you can do the following:

**Rarity**

1. Carefully select an Aavegotchi with rare traits during the summoning process
2. Equip wearables to modify the traits of your Aavegotchi.
3. Level your Aavegotchi up and spend Spirit Points

**Kinship**

1. Pet your Aavegotchi
2. Consume Kinship Potions

**XP**

1. Participate in events and activities that can boost your Aavegotchi's XP
2. Vote in AavegotchiDAO and claim XP for your Aavegotchis
3. Drink XP Potions
4. Sacrifice Aavegotchis and transfer their XP

#### Rewards <a href="#rewards" id="rewards"></a>

The distribution of Rarity Farming rewards is based on a descending curve, with the top few Aavegotchis earning more GHST rewards than other Gotchis positioned lower on the curve. The proportion of rewards allocated to each of the categories (Rarity, Kinship, and XP) is decided each season by the AavegotchiDAO.

### Gotchi Battler <a href="#gotchi-battler" id="gotchi-battler"></a>

Gotchi Battler is a game voted on by AavegotchiDAO and implemented by Immaterial that aims to further gamify the Rarity leaderboard, which has become stale in recent seasons.

Began in Season 7 and continued in Season 8, Gotchi Battler pits teams of 5 Aavegotchis against each other in a series of double-elimination tournaments.

In Season 8, AavegotchiDAO voted to allocate 10% of total rewards (150,000 GHST) to Gotchi Battler. If no CoreProp is passed, this allocation will increase to 20% starting in Season 9. This means that Aavegotchi owners have even more opportunities to earn rewards and enhance their overall Rarity Farming performance.

To follow the progress of Gotchi Battler's development and participate in tournaments, visit the [Gotchi Battler](https://gotchibattler.com/) website and join the official [Aavegotchi Discord](https://app.gitbook.com/s/xL7BrPh5mCX5Ckfhatq9).

## Rewards

Generally, the total prize pool for each Rarity Farming Season is 1.5M GHST. This is not a fixed amount, however, and can be adjusted each season by the proposer of the Rarity Farming proposal.&#x20;


# Staking

### What is Staking? <a href="#what-is-staking" id="what-is-staking"></a>

Staking in Aavegotchi involves locking up your cryptocurrency, specifically the native token GHST, in various staking contracts to earn rewards.

The primary rewards for staking GHST are [GAX Liquidity Token Rewards (GLTR)](/own/tokens/gltr-token). These GLTR tokens can be used in the Gotchiverse to speed up the crafting and upgrading of Installations, allowing players to progress faster in the game. Additionally, GLTR can be burned to speed up the time for Forging.

In addition to the above, more usecases are being developed for GLTR token and will be announced in the future.

### How to Stake <a href="#how-to-stake" id="how-to-stake"></a>

To stake GHST, you can visit the [Staking](https://dapp.aavegotchi.com/staking?p=gltr) page, where you'll find seven staking pools:

* wapGHST
* GHST-FUD
* GHST-FOMO
* GHST-ALPHA
* GHST-KEK
* GHST-USDC
* GHST-GLTR.

GHST-MATIC also appears on the list, but its rewards have been reduced to zero.

After depositing tokens into these pools via Quickswap or other decentralized exchanges, you'll receive LP tokens, which can then be staked in the Aavegotchi DApp.

The staking process not only offers rewards but also contributes to the alignment of the AavegotchiDAO, GHST holders, and Aavegotchi NFT holders' goals, fostering a sustainable ecosystem.


# Playing Games

Many games developed by Aavegotchi game developers offer rewards: GHST, Wearables, Schematics, and more -- it's never been a better time to be an Aavegotchi gamer!&#x20;

For the latest info on what type of rewards are being offered in each game, join the Aavegotchi Discord (and the sub-Discords of each game) to get all the updates.&#x20;


# Aavegotchi Gaming Console

The Aavegotchi Gaming Console (AGC) is an onchain layer designed to enhance the gaming experience for users of the Aavegotchi ecosystem.&#x20;

It serves as a platform for storing and sharing granular player and Aavegotchi data across multiple games, enabling developers to craft deep "meta-level" progression and achievement experiences for players, all powered by public onchain data.

## Key Features

Key features of the Aavegotchi Gaming Console include:

* Overviews of how Aavegotchis and other assets are used within each game
* Cross-game player progression&#x20;
* Onchain player Badges
* Profile decoration (titles, frames, PFP)

## Interoperabilty FTW

Interoperability of assets across various Aavegotchi gaming titles is a key goal of our vision for Aavegotchi gaming.&#x20;

The Aavegotchi Gaming Console acts as the unifying "glue" between all Aavegotchi games, ensuring that developers prioritize interoperability in their game design.&#x20;

Check out all of the associated AGC assets in the [Assets](/gaming/assets) section below!


# Live Games

Aavegotchi has a diverse and growing ecosystem of games, ranging from FPS (Spirit Force Arena) to tower defense (Gotchi Guardians) and even roguelites (Dropt).&#x20;

View all of the latest game updates in the official Aavegotchi Game Center.


# Assets


# Badges

**Badges** are a form of achievement or recognition for completing specific tasks or reaching certain milestones within a game. They are a way to reward players for their accomplishments and can be displayed on a player's profile to showcase their progress and skills.

Badges, also come with a certain amount of XP that is added to the Player Profile when the Badge is earned.

* Common - 5XP per badge
* Uncommon - 10XP per badge
* Rare - 20XP per badge
* Godlike - 100XP per badge


# Experience Points

**Experience Points,** or XP, are a numerical value that represents a player's progression or skill level within the Aavegotchi Gaming Universe.&#x20;

Players earn XP by completing various activities, tasks, or challenges, which contribute to their overall experience and level of expertise in the game. XP can be used to unlock new features, abilities, or items, and is often used as a measure of a player's standing or rank within the game's community.


# Skins

**Skins** refer to cosmetic collectibles that players can apply to their avatars or in-game items to alter their appearance. Skins do not affect the functionality or performance of the avatar or item, but they allow players to personalize their gaming experience and express their unique style. Skins can be earned through gameplay, purchased with in-game currency, or obtained as rewards for special events or achievements.

Every Aavegotchi game has its own type of skins. Gotchi Guardians offers Map Skins, Tower Skins, and Guardians Skins, while Spirit Force Arena offers Map Skins and Lickquidator Skins.&#x20;

Skins are a fun new way to show off your achievements with the Aavegotchi Gaming Universe.&#x20;

Collect as many as you can!


# \[REDACTED]

**\[REDACTED]** are Aavegotchi Gaming Console items that can be earned by playing Aavegotchi games.&#x20;

To open a \[REDACTED] you will need a \[REDACTED2] which can be purchased from the Aavegotchi Gaming Console Store using GHST.&#x20;

\[REDACTED] come in many varieties and are generally only available for a limited time.&#x20;

Get yours while they are still available! &#x20;


# Overview

The Web3/crypto gaming industry has experienced explosive growth in this cycle, finally delivering playable games and innovative new economic models for user acquisition.

With growth comes growing pains, however, and recent events expose major problems with the state of crypto gaming today:

1. **Rampant botting/sybil attacks.** Games/chains claiming huge DAU/MAU numbers, but many are bots / multi-accounting.
2. **Extremely inefficient reward campaigns.** Games airdropping valuable rewards to bots / multi-accounters instead of real users.
3. **High player churn.** Promise of rewards attracts botters and airdrop farmers, who leave after the reward period is over.

The heart of the problem is how we define a “user” in blockchain. Our open networks allow bad actors to spin up thousands of “users” to farm rewards and evade bans when they get caught.

This becomes an endless game of whack-a-mole that wastes developer resources and often ends up penalizing real users.

**Thus, the challenge becomes: how can we distribute rewards to real users, without stifling growth?**

### The Members-Only Blockchain

Geist is our answer to this challenge — **a new onchain space for crypto gaming — exclusive, curated, and rewarding.**

**Exclusive.** While anyone can transact on the chain, reward programs are reserved for invited members only. Invites are limited by design, and will force Inviters to choose their Invitees wisely.

**Curated.** Only games approved by Pixelcraft Studios or AavegotchiDAO can deploy on Geist. Quality over quantity.

**Rewarding.** Members have exclusive access to reward programs such as airdrops, giveaways, and exclusive content. Inviters are incentivized to invite quality users to receive more invites.

We see a gap in the market for a gaming chain focused on quality over quantity, **both in games and users.** Geist is a **network** driven not by vanity metrics and flashy numbers, but by the loyalty of its fans.

## Key features of Geist

Geist is built using the cutting-edge Arbitrum stack, the leading rollup chain stack for crypto gaming. Standard benefits of the Arbitrum stack such as <250ms block time, custom gas token (GHST), and permissionless transacting all apply.

Here’s what sets Geist apart:

* **A chain-wide membership program.** Geist Members will enjoy exclusive access to reward campaigns across all games on the chain. Non-members can still transact and play games on the chain, but will miss out on many of the benefits.
* **World-class Uptime and Developer Tooling.** Powered by Alchemy, the leader in blockchain infrastructure, Geist offers high uptime and familiar developer tools such as Token API, Transaction API, and Webhooks.
* **Native NFT Marketplace.** Geist supports the Aavegotchi Baazaar, a fully onchain NFT marketplace with royalties enabled.
* **CEX Onramps.** Geist is collaborating closely with Coinbase and other CEXes to allow for ETH and GHST onramps.
* **Native VRF.** Geist supports a native onchain random number generator (VRF) developed by Pixelcraft Studios, allowing game developers to deliver provable randomness to their players.
* **Account Abstraction and Gasless Relayers.** Geist supports the latest in account abstraction, smart wallets, and gasless transactions, powered by Thirdweb.
* **Native Staking with revenue sharing.** Pending a future AavegotchiDAO proposal, Geist will support staking GHST to earn a portion of both marketplace and sequencer fees.
* **Permissioned contract deployment.** To prevent network congestion and ensure quality control, deployment of contracts is only available to permissioned partners. If you're interested in building on Geist, please fill out this [interest](https://aavegotchi.typeform.com/geist-partner) form.

## Built with Love for Gotchigang, and beyond

Geist is built to be the onchain home of Aavegotchi, the Aavegotchi Gaming Console, and all of our official and community-built games. Games or dapps that include Aavegotchi elements (tokens, NFTs, tooling, lore) will be prioritized for deployment.

**Aavegotchi NFT holders will also play a key role in driving initial network effects of the chain.**

Have an idea for a game or dapp you’d like to deploy on Geist? Submit your idea via [this](https://aavegotchi.typeform.com/geist-partner) form, or apply through AavegotchiDAO.


# FAQ

## About Geist

### What is the gas token of Geist?

[GHST (Aavegotchi Token)](https://www.coingecko.com/en/coins/aavegotchi) is the gas token.

### Can anyone transact on Geist?

Yes, anyone can connect to the Geist network, play supported games, and transact. However, all rewards are reserved for Geist members only.

### Can anyone deploy a contract on Geist?

No, Geist is a permissioned network. This protects the integrity of transaction throughput among other things, ensuring a premium UX for members. If you are interested in deploying a contract or other application to Geist, please fill in [this](https://aavegotchi.typeform.com/geist-partner) interest form.

### Is Geist a new L1 Blockchain?

No, Geist is not an L1. Geist is an L3 blockchain that inherits the security of the Base L2 rollup. For more information on rollups and L3’s, please read [this](https://www.coinbase.com/learn/crypto-glossary/what-are-layer-3-blockchains-and-what-is-the-difference-with-layer-2-blockchains) blog post.

### How do I bridge assets to Geist?

Once Geist Mainnet is live, you will be able to bridge tokens and NFTs to Geist by using the official Socket bridge. All funds are stored securely in the bridge contract.

### Who is the RaaS provider of Geist?

Alchemy, the world’s leading Web3 infrastructure provider, is the RaaS (rollup-as-a-service) provider of Geist.

## About Membership

### What constitutes an Invited Member?

An Invited Member is a wallet that has redeemed an Invite Code and paid the Geist membership dues.

### Is Geist membership permanent?

No, Membership is not permanent. It must be renewed once the membership period expires.

### Is there a free trial?

Yes, every user that redeems an Invite Code will get a free 7-day trial of Geist Membership. After the trial period is up, the user may opt to pay the Membership dues and become a full Member, or let the membership expire.

### How many Invite Codes will there be?

There is no maximum number of Invite Codes, but initially they will be relatively scarce, to prevent unbounded multi-accounting.

### How do I get an Invite Code?

#### **From a Holder**

Initially, Invite Codes will be airdropped to Aavegotchi NFT holders, at a rate of 1 Aavegotchi = 1 Invite code. This airdrop may become recurring, but initially it will be a one-time event.

Before the airdrop, we will announce a Snapshot in the official Aavegotchi Discord and on the @aavegotchi and @geistnetwork X accounts.

If you do not hold an Aavegotchi, you are welcome to join the Aavegotchi Discord and connect with individuals who may be willing to share their extra codes.

#### **By Applying**

A limited number of Invites will be given to users with good onchain history. To apply for an Invite, visit the Geist website, submit your email and wallet address, and mint the commemorative “Members Only” NFT on either Base or Arbitrum (or both, if you are really serious).

### What benefits will Members have?

While anyone can transact and play games on Geist, only Members will be able to access the rewards programs associated with each game.

Reward programs include airdrop campaigns, giveaway, and exclusive content.

Stay tuned for more information on these campaigns.

### I have Aavegotchi NFTs. Do I need to pay to become a Geist Member?

All addresses that held Aavegotchis prior the launch of Geist Mainnet will be eligible for a free Membership to Geist. Stay tuned for more announcements about this special perk!


# About AavegotchiDAO

AavegotchiDAO is a decentralized autonomous organization (DAO) that governs the Aavegotchi ecosystem, which includes the Aavegotchi protocol smart contracts and the treasury.&#x20;

## Scope

AavegotchiDAO is responsible for managing various aspects of the Aavegotchi ecosystem, such as:

* the total supply of Aavegotchis
* wearables created by the community
* funding allocations to support development and other initiatives within the ecosystem

## Treasury

AavegotchiDAO manages a significant treasury consisting of GHST, ETH, and stablecoins.&#x20;

View the [AavegotchiDAO treasury](https://daobase.ai/dao/Aavegotchi/treasury/ft/asset) on DAOBase.&#x20;

## Governance Process

For a detailed overview of how to create a proposal, see [Creating a Proposal](/governance/creating-a-proposal).

## Incentives

To help incentivize active participation, voters in AavegotchiDAO are rewarded with Experience Points (XP) for their Aavegotchis.&#x20;

Voting in AavegotchiDAO is currently one of the main ways to accrue XP for your Aavegotchi and compete in Rarity Farming.&#x20;


# Creating a Proposal

* Voting power
* Sigprop vs. Coreprop
* Getting whitelisted on Snapshot

The governance process of AavegotchiDAO is generally a three-step process:

## Proposal Flow

### Step 1: Discussion

Begin a new discussion in the AavegotchiDAO Forum. Currently, this forum is located in the official Aavegotchi Discord.

### Step 2: Signal Proposal (SigProp)

After a period of discussion and engagement, if there is support for the proposal, create a Signal Proposal on Snapshot.

**All Proposals posted on the Aavegotchi Snapshot must follow the Proposal Template (see below).**

Proposals not following the Template will be deleted without warning.

To prevent spam in Snapshot, all proposers must get allowlisted. Please make a support ticket in the Aavegotchi Discord to get on the allowlist.&#x20;

### Step 3: Core Proposal (CoreProp)

If a Signal Proposal reaches quorum and passes with sufficient Voting Differential (see below), it will be upgraded by the Aavegotchi team to a Core Proposal.&#x20;

{% hint style="info" %}
The current quorum for all proposals, both Sigprop and Coreprop, is 9 million.
{% endhint %}

### Step 4: Implementation

If the CoreProp reaches quorum and is successful, it should be implemented in a timely manner by either the Pixelcraft Studios team, the AavegotchiDAO directors, or the individual/team cited in the prop.&#x20;

## Vote Differential

To prevent close ties on controversial votes, AavegotchiDAO enforces a vote differential rule, whereby votes with multiple options must pass by a certain threshold. This helps ensure that true consensus has been made.

The vote differential rules are:

* 2 options: 10%
* 3 options: 15%
* 4 options: 20%

For example, a vote with 2 options must have at least a 10% difference between YAE and NAE for the vote to pass, even if quorum is met.&#x20;

## Proposal Guidelines

All proposals in AavegotchiDAO should adhere to the basic guidelines below.&#x20;

* Include Author + Gotchi ID at the top of the proposal
* Link to the discussion in the AavegotchiDAO Forum (Aavegotchi Discord)
* Select Weighted Voted option

Proposals not following the Template will be deleted by mods without warning.

## Suggestions for Proposers

* Allow for sufficient time to reach quorum. The recommended duration of a SigProp/CoreProp is 7-10 days.&#x20;
* Be prepared to engage in sincere debate with the Aavegotchi community, and show us why your proposal is worth passing.
* &#x20;

##

1. Visit the AavegotchiDAO Forum at forum.aavegotchi.com (<http://forum.aavegotchi.com/>) to discuss your proposal with the community. This is essential for getting feedback and gauging support for your idea.
2. If your signal proposal is successful and reaches a 20% quorum, it can be upgraded to a Core Proposal (CoreProp). A CoreProp requires a 20% quorum of circulating GHST tokens eligible to vote on Polygon at the time of proposal creation.
3. Once a Core Proposal is created, vote on it using Snapshot. To vote, connect your web3 wallet, read the proposal and discussion, select your choice, and sign the transaction.
4. If the Core Proposal reaches quorum, XP will be sent to all voting wallets' Aavegotchis, regardless of which side of the results one is on.

\
Remember, before creating a vote on Snapshot, ensure you have thoroughly read the blog post and are abiding by the Signal Proposal Template found within.


# Voting on Proposals

To vote on a proposal, visit the official [Aavegotchi Snapshot](https://vote.aavegotchi.com/).&#x20;

Voting Power is calculated based on ownership of various Aavegotchi assets on Polygon, including:

* GHST&#x20;
* Aavegotchi NFTs&#x20;
* Aavegotchi Wearables
* REALM Land Parcels

To see your current voting power, visit the [DAO portal](https://dapp.aavegotchi.com/dao?p=voting) on the Aavegotchi Dapp and connect your wallet.&#x20;


# Aavegotchi Contracts

This section is currently WIP.


# Reading from Aavegotchi Contracts


# Fetching Onchain SVGs

Overview of Aavegotchi's onchain data storing

Aavegotchi stores a lot of information onchain, such as the Aavegotchi's unique name, the `numericTraits` about the Aavegotchi, and other details. But unlike many NFT games, we actually store all of the SVG files themselves onchain.

SVG data are stored and retrieved with `SvgFacet.sol` and `LibSvg.sol`.

It costs less gas to store SVG data as contract data than to store it in contract storage. Normally contract bytecode is stored as contract data, but it is possible to store other data as contract data, as we are doing with SVG data.

### Storing SVG as Contract Data

This function is used to store SVG data:

```
struct SvgTypeAndSizes {
  bytes32 svgType;
  uint256[] sizes;
}

function storeSvg(string calldata _svg, SvgTypeAndSizes[] calldata _typesAndSizes) 
  public 
  onlyDaoOrOwner
```

The `_svg` argument holds one or more SVG images as strings.  It is more gas-efficient for `_svg` to contain multiple SVG images because `_svg` is stored as the entire contents of a contract. Creating a new contract has an up-front fixed gas cost of 32,000.

`_typesAndSizes` is used to say what category the SVG images are and contains size information so the `_svg` data can be broken into multiple SVG images.

`svgType` specifies the category of SVG images in `_svg`. Each SVG category has SVG images with unique incrementing identifiers that start at 0. SVG categories are used to distinguish different groups of SVG images. Here are SVG categories:

* `aavegotchi`&#x20;
* `collaterals`
* `eyeShapes`
* `wearables`

The `storeSvg` function above calls the following function to actually store the `_svg` argument as contract data:

```
function storeSvgInContract(string calldata _svg) 
  internal 
  returns (address svgContract) {
```

`storeSvgInContract` contains the bytecode of a contract constructor function that returns data as a contract. `storeSvgInContract` uses the constructor function to create a contract consisting of `_svg` and returns the Ethereum address.

### Retrieving SVG Data

External functions call the `getSvg(bytes32 _svgType, uint256 _id)` internal function from `LibSvg.sol` to get SVG data. `_svgType` is the SVG category. `_id` is the unique id of an SVG image.

### **Previewing Aavegotchis**

You can request the SVG data needed to display any assortment of Aavegotchi traits and equipment in an image using the [`previewAavegotchi`](https://github.com/aavegotchi/aavegotchi-contracts/blob/master/contracts/Aavegotchi/facets/SvgFacet.sol#L291) function. A breakdown of the arguments is followed by an example of using it in a JavaScript environment.

**`function previewAavegotchi(hauntId, collateralAddress, numericTraits, equippedWearables)`**

**`hauntId`** refers to the minting events of new Aavegotchi's, which increments from zero, so Haunt 1 is `hauntId = 0`. Different "haunts" have different varieties to their designs such as the collateral type and eye shape. The expected argument is a whole integer, for example supplying `0` is used to produce Aavegotchi's with Haunt 1 collateral / eye shapes available.

**`collateralAddress`** is equal to the token collateral's address that would be used to stake the Aavegotchi which further determines the color and style of its features. The expected argument is a string, such as `0x9719d867a500ef117cc201206b8ab51e794d3f82` which is the maUSDC address Polygon.

**`numericTraits: int16[6]`** is an array of 6 traits from 0-100 for newly-summoned Aavegotchis, the last two values in the array determine some visual features like eye shape and color. The expected format is an array of whole integers such as `[ 1, 10, 50, 99, 0, 1]`

**`equippedWearables: int16[16]`** indicated equipped items on the Aavegotchi by matching the svgId to the index of the array, if the svgId is zero then the slot has nothing equipped. The index of the item in the array determines what slot is matches, for example `[ 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0]` produces a character with only a santa hat because the svgId of Santa Hat is 43, and the HEAD slot corresponds to the third index of the equippedWearables array.&#x20;

![Mappings for index of equippedWearables array](/files/-Mi46LVM1xEya2RZlVW5)

For complex outfits you can query a full list of item information from [the subgraph](https://thegraph.com/explorer/subgraph/aavegotchi/aavegotchi-core-matic?version=current) under `itemTypes`.

#### Browser Example: [CodeSandbox Playground](https://codesandbox.io/s/laughing-kalam-lwmy3?file=/pages/index.js)

In a JavaScript environment for example, you could use the above function to create an image of an Aavegotchi and assign it as the source of an `<img>` element so it can be viewed in a browser.

```typescript
import { SvgFacet__factory, contracts } from "@aavegotchi/sdk";
import { getDefaultProvider } from "ethers";

// 0x86935F11C86623deC8a25696E1C19a8659CbF95d on Polygon
const diamondAddress = contracts.addresses.diamond[137];
const provider = getDefaultProvider("https://rpc-mainnet.maticvigil.com");
const svgFacet = SvgFacet__factory.connect(diamondAddress, provider);

async function previewBlob() {

    const tokenId = 3; // getting an existing gotchi id
    const svgDataSpecific = await svgFacet.getAavegotchiSvg(tokenId);
    console.log(svgDataSpecific, `Summoned Aavegotchi`);

    const hauntId = 0;
    const collateralAddress = "0x9719d867a500ef117cc201206b8ab51e794d3f82"; //maUSDC
    const numericTraits = [99, 99, 99, 99, 99, 99];
    const equippedWearables = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];

    const svgDataPreview = await svgFacet.previewAavegotchi(
        hauntId,
        collateralAddress,
        numericTraits,
        equippedWearables
    );
    console.log(svgDataPreview.length, `preview gotchi`);

}

```


# Writing to Aavegotchi Contracts


# Extending Aavegotchi Contracts


# Upgrading

Upgrading the Aavegotchi Diamond

As per [EIP-2535 Diamond Standard](https://eips.ethereum.org/EIPS/eip-2535) upgrades are done by calling the `diamondCut` function to add/replace/remove any number of functions and facets in a single transaction.

Upgrading can be done safely and easily as long as some important rules are followed.

### Rules

1. Make sure that an upgrade is atomic, meaning that all changes are done in a single transaction to ensure the diamond does not get into an inconsistent state. This is done by calling `diamondCut` once with all functions to add/replace/remove.
2. The diamond and all the facets share the same contract storage address space. Do not corrupt state variables by sticking new state variables in the middle of structs. Do not change the bit size of an existing state variable if that overlaps with an existing state variable.&#x20;
3. New state variables can be added to the end of structs.
4. Existing state variables can have their name changed.

More info on upgrade rules found here: <https://eip2535diamonds.substack.com/p/diamond-upgrades?s=w>

### Upgrade Procedure

1. Modify the existing source code of the diamond and its facets.
2. Write an upgrade script that calls the `diamondCut` function to add/replace/remove functions.
3. Write any new tests and run tests to make sure they pass.
4. Commit and push changes to git.
5. Get any needed code review or code audit.
6. Execute the upgrade script.
7. Immediately[ tag the source code](https://git-scm.com/book/en/v2/Git-Basics-Tagging) with the transaction hash that made the upgrade. Commit and push the tag to git. This records and associates the diamond and facet source code with the upgrade.
8. Use the hardhat etherscan plugin to verify the source code of any new facets that were used to add/replace functions.

Example upgrade command: `npx hardhat run scripts/upgrade.js --network kovan`


# Security

Locking Aavegotchi state before trading

Without some kind of locking mechanism it is possible to put up an Aavegotchi for sale and for the owner to remove or alter the state of the Aavegotchi right when/after it is sold but before the transfer occurs. This is a front-running attack.

The following function locks certain assets and the state of an Aavegotchi for a number of seconds specified by `_lockDuration`

```
function lockAavegotchi(uint256 _tokenId, uint256 _lockDuration) external 
  onlyUnlocked(_tokenId) 
{
  require(
    s.aavegotchis[_tokenId].status == LibAppStorage.STATUS_AAVEGOTCHI, 
    "AavegotchiFacet: Must be claimed"
  );
  require(
    msg.sender == s.aavegotchis[_tokenId].owner, 
    "AavegotchiFacet: Only owner can lock aavegotchi"
  );
  s.aavegotchis[_tokenId].unlockTime = block.timestamp + _lockDuration;
  emit LockAavegotchi(_tokenId, _lockDuration);
 }
```

The `onlyUnlocked` modifier is on functions that should only be called when an aavegotchi is unlocked. It causes functions to revert if an aavegotchi is locked.

```
modifier onlyUnlocked(uint256 _tokenId) {
  require(
    s.aavegotchis[_tokenId].unlockTime < block.timestamp, 
    "Only callable on unlocked Aavegotchis"
  );
  _;
}
```

The general rule is that state changes caused by external function calls that can be bad for an aavegotchi can only succeed when the aavegotchi is unlocked.

Here are functions that can only be called when an Aavegotchi is unlocked:

* `setAavegotchiName`
* `spendSkillPoints`
* `lockAavegotchi`
* `decreaseStake`
* `decreaseAndDestroy`
* `transferFromParent` ERC998 function that transfers items out of aavegotchi.
* `transferAsChild` ERC998 function that transfers items out of aavegotchi to other aavegotchi or NFT.
* `useConsumable`

Note that the `equipWearables` function does not have to be unlocked to use. The reason is because `equipWearables` does not remove items from the inventory of an Aavegotchi.


# Deployment

Deploying the Aavegotchi Diamond

Deployment is done by running `npx hardhat run scripts/deploy.js`

The various scripts in the `scripts` and `svg` directories are used in deployment.

After deployment [tag the source code](https://git-scm.com/book/en/v2/Git-Basics-Tagging) with the transaction hash that deployed. Commit and push the tag to git. This records and associates the diamond and facet source code with the upgrade.

After deployment the [hardhat etherscan plugin](https://hardhat.org/plugins/nomiclabs-hardhat-etherscan.html) should be used with the diamond and each facet to publish the verified source code.


# Governance

High-level overview of the governance mechanism for Aavegotchi Contracts

## Contract Upgradeability

The Aavegotchi Contracts implement the [EIP-2535 Diamond Standard](https://github.com/ethereum/EIPs/issues/2535), a new standard for fully-upgradeable smart contracts.&#x20;

The mechanism for upgrading a Diamond is by calling [`diamondCut()`](https://eips.ethereum.org/EIPS/eip-2535#the-diamondcut-function) which takes arguments of functions to replace, and what functions to replace them with.&#x20;

Initially, the `diamondCut()` upgrade function will only be callable by the Aavegotchi Team Multisig, whose Signees consist of Aavegotchi core team members, advisors with interests aligned with Aavegotchi, and trusted community members.&#x20;

Upgrades will only be executed when a majority of the Signees believe the upgrades are beneficial to the Aavegotchi project and have been fully-vetted and reviewed by third-party auditors.&#x20;

**It is our full intention to eventually transfer access to the `diamondCut()` function to the AavegotchiDAO.** But this is a process of gradual decentralization. The DAO must be ready for this responsibility, or else the protocol will be at risk.&#x20;

## DAO-Only Functions

Although the AavegotchiDAO does not initially have access to upgrading the contracts, there are many functions within the `DAOFacet.sol` it can call:

Initially, the Aavegotchi Multisig `contractOwner` will also have access to these functions, but in a future update this access will be restricted.

Below are all of the functions callable by the AavegotchiDAO. For more details visit [DAOFacet.sol](broken://pages/-MNlntYCt8pFbEP8FtGT).&#x20;

1. `setDAO()` transfers access to a new DAO, in the case of a migration.&#x20;
2. `addCollateralTypes()` adds new whitelisted collaterals that will appear in Portals.&#x20;
3. `updateCollateralModifiers()` updates the trait modifiers of a certain collateral.
4. `createHaunt()` creates a new Haunt, consisting of a certain size, with a set price and a randomly-appearing `bodyColor` property. Note: The previous Haunt must be completed before `createHaunt()` can be called.
5. `mintItems()` creates items of a given `itemType` and `value` and transfers them to a given `to` address.&#x20;
6. `grantExperience()` increases the experience of the given Aavegotchis by a given amount.&#x20;
7. `addItemTypes()` Creates (but does not mint) new `itemTypes`. Must be called before minting items, if they have not been created previously.
8. `addItemTypesAndSvgs()` Creates (but does not mint) new `itemTypes` and adds their associated SVG files to contract memory. Must be called before minting items, if they have not been created previously.
9. `addWearableSets()` adds new Wearable sets with the given parameters.
10. `setGameManager()` Sets a game manager contract to manage Aavegotchi minigames.&#x20;


# About EIP-2535 Diamonds

High-level overview of EIP-2535 Diamonds

## Overview

[EIP-2535 Diamonds](https://eips.ethereum.org/EIPS/eip-2535) is a contract standard that standardizes contract interfaces and implementation details to implement the diamond pattern. The standardization makes integration with tools and other software possible.

The diamond pattern is a contract that uses a fallback function to delegate function calls to multiple other contracts called facets. Conceptually a diamond can be thought of as a contract that gets its external functions from other contracts. A diamond has four standard functions (called the loupe) that report what functions and facets a diamond has. A diamond has a `DiamondCut` event that reports all functions/facets that are added/replaced/removed on a diamond, making upgrades on diamonds transparent.

The diamond pattern is a code implementation and organization strategy. The diamond pattern makes it possible to implement a lot of contract functionality that is compartmented into separate areas of functionality, but still using the same Ethereum address. The code is further simplified and saves gas because state variables are shared between facets.&#x20;

Diamonds are not limited by the maximum contract size which is 24KB.

Facets can be deployed once and reused by any number of diamonds.

Diamonds can be upgradeable or immutable. They can be upgradeable and at a later date become immutable. Diamonds support fine-grained upgrades which means it is possible to add/replace/remove only the parts desired. Everything does not have to be redeployed in order to make a change. A diamond does not solve all upgrade issues and problems but makes some things easier and better.

See [the standard](https://eips.ethereum.org/EIPS/eip-2535) and the [standard's reference section](https://eips.ethereum.org/EIPS/eip-2535#learning--references) for more information about diamonds.

### Aavegotchi Diamond

Aavegotchi is implemented with the AavegotchiDiamond contract. It is a diamond that implements EIP-2535 Diamond Standard.

When deployed AavegotchiDiamond adds all the external functions from all the facets listed in the documentation to itself.

AavegotchiDiamond provides a single Ethereum address for Aavegotchi functionality. All contract interaction with Aavegotchis is done with AavegotchiDiamond.

Information about the AavegotchiDiamond can be seen in [louper.dev](https://louper.dev/?address=0x86935F11C86623deC8a25696E1C19a8659CbF95d\&network=polygon), a user interface for diamonds.

### Facets

A facet is a contract whose external functions are added to a diamond to give the diamond functionality.

All the functions from the facets documented on this website, such as `AavegotchiFacet`, `CollateralFacet`, `ItemsFacet` etc, are added to AavegotchiDiamond when it is deployed.

The external functions defined in the facets can be called on the AavegotchiDiamond Ethereum address.

Facets that are added to the same diamond can share the same state variables.

### Loupe Functions

> In the diamond industry a loupe is a small magnifying glass used to look at diamonds.&#x20;

To find out what functions and facets the AavegotchiDiamond has the loupe functions can be called.

1. The `facetAddresses()` function returns all the Ethereum addresses of all facets used by a diamond.
2. The `facetFunctionSelectors(address _facet)` function is used to return all the 4-byte function selectors of a facet that is used by a diamond. The 4-byte function selectors and the ABI of a facet are used to get the function names and arguments.
3. The `facetAddress(bytes4 _functionSelector)` function returns the facet address used by a diamond for the 4-byte function selector that is provided.
4. The `facets()` function returns all the facet addresses and function selectors used by a diamond.

Loupe Resources:

* [Diamond Loupe Functions](https://dev.to/mudgen/why-loupe-functions-for-diamonds-1kc3)

### Upgradeability

EIP-2535 Diamond Standard specifies the `diamondCut` function to upgrade diamonds.

The  `diamondCut` function can be used to add and/or replace and/or remove any number of functions in a single transactions. This enables a number of specific changes to occur at the same time which prevents a diamond from getting into a bad or inconsistent state.

Anytime functions are added/replaced/removed the `DiamondCut` event is emitted. This provides a historical and transparent record of all changes to a diamond over time.

The standard does allow custom upgrade functions to be implemented for diamonds. But in any case the `DiamondCut` event must be emitted for all functions that are added, replaced or removed.

AavegotchiDiamond is upgradeable and has the standard `diamondCut` function. It has no custom upgrade functions. See the governance section about upgrading AavegotchiDiamond.


# Facets

Brief overviews of each facet in the Aavegotchi Diamond.

{% embed url="<https://www.youtube.com/embed/qHMdqHJMXww>" %}

## Information in louper.dev

Information about facets of the AavegotchiDiamond can be seen in [louper.dev](https://louper.dev/?address=0x86935F11C86623deC8a25696E1C19a8659CbF95d\&network=polygon), a user interface for diamonds.

## AavegotchiFacet.sol

Implements the ERC721 standard. Handles logic related to claiming Aavegotchis, updating traits, increasing kinship, and locking Aavegotchis for resale.&#x20;

## CollateralFacet.sol

Handles logic related to Aavegotchis' collateral stakes, including increasing, decreasing, and burning Aavegotchis to return all stake to the owner.&#x20;

## DAOFacet.sol

Handles logic and functions intended to be managed and called by the AavegotchiDAO, including adding new whitelisted collaterals, creating new Haunts (Aavegotchi generations), creating and minting new items and sets, and granting experience to Aavegotchis.&#x20;

## ItemsFacet.sol&#x20;

Implements the ERC1155 standard. Handles all logic related to equipping, consuming, and transferring items. Items come in three types: wearables, badges, and consumables.&#x20;

## ShopFacet.sol

Handles all logic related to buying Portals, converting vouchers into Wearables, and purchasing items using GHST token.&#x20;

## SvgFacet.sol

Handles all logic related to rendering Aavegotchi SVGs using onchain metadata.&#x20;

## VRFFacet.sol

Implements the Chainlink VRF functionality and updates Aavegotchi state variables when completed. The function to open portals is also in this facet.


# maTokens

Aave's aTokens on Matic Network

Information generally about how maTokens work is given in the article here: [Aave's Interest-Bearing aTokens on Matic Network](https://aavegotchi.substack.com/p/aaves-interest-bearing-atokens-on).

### Conversion between aTokens and maTokens

The aToken bridging contract leverages the [Aave protocol](https://docs.aave.com/developers/the-core-protocol/atokens) to convert aToken values to maToken values and back. Exactly how this is done is given in the two functions below.

To convert an aToken value to a maToken value  or vise versa call the following functions on Ethereum on the aToken bridge contract which is at this address: `0x0D29aDA4c818A9f089107201eaCc6300e56E0d5c`

```solidity
 /**
  * @dev Converts aToken value to maToken value
  * @param _aTokenAddress aToken contract address
  * @param _aTokenValue aToken value to convert
  * @return maTokenValue_ The converted maToken value
  **/
 function getMATokenValue(address _aTokenAddress, uint256 _aTokenValue) 
   public 
   view 
   returns 
   (uint256 maTokenValue_) 
 {
   ILendingPool pool = IAToken(_aTokenAddress).POOL();
   uint256 liquidityIndex = pool.getReserveNormalizedIncome(
     IAToken(_aTokenAddress).UNDERLYING_ASSET_ADDRESS()
   );
   maTokenValue_ = p27Div(_aTokenValue, liquidityIndex);
 }
 
 /**
  * @dev Converts maToken value to aToken value
  * @param _aTokenAddress aToken contract address
  * @param _maTokenValue maToken value to convert
  * @return aTokenValue_ The converted aToken value
  **/
 function getATokenValue(address _aTokenAddress, uint256 _maTokenValue) 
   public 
   view 
   returns (uint256 aTokenValue_) 
 {
  ILendingPool pool = IAToken(_aTokenAddress).POOL();
  uint256 liquidityIndex = pool.getReserveNormalizedIncome(
    IAToken(_aTokenAddress).UNDERLYING_ASSET_ADDRESS()
  );
  aTokenValue_ = p27Mul(_maTokenValue, liquidityIndex);
 }
```

The source code for the aToken bridge contract is here: <https://github.com/aavegotchi/pos-portal/blob/master/contracts/root/RootChainManager/ATokenRootChainManager.sol>

Don't use the ABI on Etherscan to call these functions. Instead use the ABI at this link: <https://gist.github.com/mudgen/5da65e965e05ba08354f003aa86e6587>

### Getting aToken and maToken contract addresses

Use the functions below to get aTokens and maToken addresses.

```solidity
 /**
  * @dev Gets the maTokens contract address on Matic that is associate with
  * the aTokens contract on Ethereum.
  * @param _rootToken The aToken contract address on Ethereum
  * @return The maToken contract address on Matic.
  **/
function rootToChildToken(address _rootToken) external view returns (address)

 /**
  * @dev Gets the aTokens contract address on Ethereum that is associate with
  * the maTokens contract on Matic.
  * @param _childToken The maToken contract address on Matic
  * @return The aToken contract address on Ethereum.
  **/
function childToRootToken(address _childToken) external view returns (address)
```

The aToken addresses can be found on Etherscan or in [Aave documentation](https://docs.aave.com/developers/getting-started/deployed-contracts).

The aToken bridge to Matic only works with version 2 aToken contracts.


# Concepts

High-level overview of the most important concepts in the Aavegotchi game.

### Aavegotchis

Aavegotchis are ERC721 NFTs represented by onchain SVG layers. Each Aavegotchi manages an escrow contract address that holds `aTokens`, interest-generating ERC20 tokens from the Aave protocol.

To get an Aavegotchi, a player must first acquire a Portal from the Aavegotchi Shop, then open the Portal and claim an Aavegotchi from it by staking the required amount of `aTokens`. The required amount varies depending on the rarity of the Aavegotchi.&#x20;

### Portals

Portals are purchased from the Aavegotchi Store by spending GHST. Each Portal contains 10 Aavegotchis inside it, with traits generated randomly by a Chainlink VRF call initiated in the `openPortals()` function.&#x20;

### Haunts

Haunts are akin to the concept of "Generation" in other NFT games. The initial Haunt when Aavegotchis launches on Mainnet will allow 10,000 Portals to be minted. Thereafter, the AavegotchiDAO can vote to create new Haunts, and can also vote to change the price (in GHST) of Portals in that Haunt.&#x20;

### Collaterals

Although there are thousands of ERC20 tokens, Aavegotchis can only be staked with certain collaterals that have been whitelisted by the protocol. Generally speaking, these collaterals are all interest-bearing `aTokens` from the Aave protocol. Each Collateral has special `modifiers` that affect slightly the traits of the Aavegotchi. Which Collateral must be staked within an Aavegotchi is randomly decided by the Chainlink VRF, along with its traits.

### Traits

Traits are numeric values generated from the Chainlink VRF random number assigned to each Aavegotchi. Initially, the value of each trait ranges from 0-99, but they can also go lower or higher depending on various influence, such as collateral `modifiers`, equipped Wearables, and even boosts from Consumables. Traits are distributed on a bell-curve, with the lowest and highest extremes giving the highest `rarityScore` to the Aavegotchi.&#x20;

### Rarity

The base rarity score of an Aavegotch is calculated by adding up the rarity of all its `numericTraits`, including bonuses from equipped wearables, collateral `modifiers` and consumable bonuses.&#x20;

### Items&#x20;

There are three types of Items in Aavegotchi.

**Wearables** can be equipped by the Aavegotchi and provide bonuses to its traits.

**Consumables** cannot be equipped, but can be consumed (burned) to provide temporary or permanent bonuses to the Aavegotchi's stats, including kinship, experience, and traits.

**Badges** cannot be equipped or used by the Aavegotchi, but are nevertheless held in its inventory as a sort of "diary" of the events in which it has participated.

### Kinship

Kinship is a dynamic number that increases or decreases based on the owner's interaction with the Aavegotchi. Kinship starts at 50 for every new Aavegotchi and can be increased by interacting with the Aavegotchi every 12 hours. It can also be additionally increased by consuming Kinship potions.&#x20;

### Level

An Aavegotchi's level is based on its accrued experience. Aavegotchis can gain experience by consuming certain experience-giving items, or by participating in certain events and getting rewarded by the AavegotchiDAO. Every three levels, an Aavegotchi gets a `skillPoint` which can be assigned towards increasing one of its `numericTraits`.&#x20;

A full table of experience required to level up is available [here](http://wiki.aavegotchi.com/xp).&#x20;


# Deployed Contracts


# Aavegotchi Diamond

The primary diamond in the Aavegotchi ecosystem.


# Forge Diamond


# Wearable Diamond


# Gotchiverse Realm Diamond


# Installation Diamond


# Tile Diamond


# Subgraphs

This section is currently WIP.


# General

General overview over Subgraphs

A Subgraph is a piece of code which gets deployed to a TheGraph Node. It indexes data from the blockchain through handlers which listen on emitted events of smart contracts.

Aavegotchi provides multiple subgraphs to fetch fast information from the chain, e.g. stats about the aavegotchi, the marketplace or even the svgs from the aavegotchis itself.

## How to Query a Subgraph

The following describes how to interact with Graph endpoints in general. If you know how to work with GraphQL endpoints you can skip this section.

### How to Query the Graphs in your app

In order to query with your app the graph you need a graphQL client. There are tons of libraries out there: <https://graphql.org/code/>. In the following example we work with apollo-fetch. A tiny GraphQL NodeJS Library which has a wide acceptance <https://www.npmjs.com/package/apollo-fetch>.

You create a client for the subgraph:

```
const { createApolloFetch } = require('apollo-fetch');

const uri = 'https://api.thegraph.com/subgraphs/name/aavegotchi/aavegotchi-core-matic';
const apolloFetch = createApolloFetch({ uri });
```

and afterwards create and send a query and log the response:

```
let query = `{ 
    aavegotchi(id: "4430"){
        name
    }
}`;

apolloFetch({ query }).then(result => {
    const { data, errors, extensions } = result;
    if(errors !== undefined) {
        console.error(JSON.stringify(errors))
    }
    console.log(data);
}).catch(error => {
    console.error(error);
});
```

The output should be:

```
{ aavegotchi: { name: 'ChillETH' } }
```

In case you do an error the subgraph responses with an error. For example:

```
{ 
    aavegotchi(id: "4430"){
        fieldWhichDoesNOtExist
    }
}
```

returns

```
[{"locations":[{"line":4,"column":9}],"message":"Type `Aavegotchi` has no field `fieldWhichDoesNOtExist`"}]
```

### Query historical data

If a graph gets deployed it starts indexing the data from a specific block. It iterates through all the events and maintains its own state in a postgresql. The state contains not only the latest information, but also all the previous information. This allows you to fetch data from the history. The following for example will return the name of the aavegotchi at block 18250000:

```
{ 
    aavegotchi(id: "4430" block: { number: 18250000 }){
        name
    }
}
```

####

### Query for specific items or a set of items

You can either fetch single items or multiple. The difference is a s at the end of the entity. This query will return one aavegotchi:

```
{ 
    aavegotchi(id: "4430"){
        name
    }
}
```

whereas this query will return a list of aavegotchis

```
{ 
    aavegotchis(orderBy: name){
        name
    }
}
```


# Core Matic Subgraph

The probably best way to discover the subgraph is the GraphQL Playground from thegraph itself: [Try the Playground](https://thegraph.com/legacy-explorer/subgraph/aavegotchi/aavegotchi-core-matic?version=current)

The full documentation can be found in the repository [here](https://githublink)

If you want connect to the endpoint please use the following endpoint: `https://api.thegraph.com/subgraphs/name/aavegotchi/aavegotchi-core-matic` Below you can find some possible use cases:

## Examples

### Get traits and modified traits of specific Aavegotchi

You can get information about the traits of the gotchi with the following query

```
{
  aavegotchi(id: 4430) {
    numericTraits, modifiedNumericTraits
  }
}
```

It will return an array with integers which represents the values of the six different traits. The order is: Energy, Aggression, Spookiness, Brain Size, Eye Shape, Eye Color

```
{
  "data": {
    "aavegotchi": {
      "modifiedNumericTraits": [
        18,
        68,
        10,
        48,
        82,
        22
      ],
      "numericTraits": [
        17,
        68,
        10,
        48,
        82,
        22
      ]
    }
  }
}
```

### Get Bazaar Listings of items which are a potion

Its also possible to fetch present and historic listings on the bazaar. If you want to fetch all available potions. You must first fetch the itemTypeID of the items you want to fetch and insert the IDs afterwards in your getListings Query:

```
{
  itemTypes(where:{name_contains: "Potion"}) {
  name, id
}
```

will return

```
 "itemTypes": [
  {
    "id": "126",
    "name": "Kinship Potion"
  },
  {
    "id": "127",
    "name": "Greater Kinship Potion"
  },
  {
    "id": "128",
    "name": "XP Potion"
  },
  {
    "id": "129",
    "name": "Greater XP Potion"
  }
]
```

Afterwards you can get the Listings with:

```
erc1155Listings(where: {id_in: ["126", "127","128","129"]}) {
  priceInWei, seller, quantity, erc1155TypeId, erc1155TokenAddress
}
```

which will return

```
"erc1155Listings": [
  {
    "erc1155TokenAddress": "0x86935f11c86623dec8a25696e1c19a8659cbf95d",
    "erc1155TypeId": "78",
    "priceInWei": "200000000000000000000",
    "quantity": "1",
    "seller": "0xded1fd193cd8b55c2f9c42b3257d5a9088c7d137"
  },
  {
    "erc1155TokenAddress": "0x86935f11c86623dec8a25696e1c19a8659cbf95d",
    "erc1155TypeId": "106",
    "priceInWei": "1100000000000000000000",
    "quantity": "1",
    "seller": "0x75ddb7ab958135bbe2dab48d6286826f6aa5e3b4"
  },
  {
    "erc1155TokenAddress": "0x86935f11c86623dec8a25696e1c19a8659cbf95d",
    "erc1155TypeId": "105",
    "priceInWei": "3000000000000000000000",
    "quantity": "1",
    "seller": "0xf3152f7f73b3cc394708e6c465c4bc8598cc44f5"
  },
  {
    "erc1155TokenAddress": "0x86935f11c86623dec8a25696e1c19a8659cbf95d",
    "erc1155TypeId": "128",
    "priceInWei": "398000000000000000000",
    "quantity": "5",
    "seller": "0xbeaea5d64b81e48e9f91870cbc8ca5f00d8c396f"
  }
],
```

### Get user data

In case you need all the data from a specifc user you fetch also the user entities. The user contains arrays of from user bought & owned portals, as well as owned gotchis.

```
user(id: "0x1ad3d72e54fb0eb46e87f82f77b284fc8a66b16c") {
      portalsOwned{id }, portalsBought {id},gotchisOwned { id, name },id
}
```

returns

```
{
  "data": {
    "user": {
      "gotchisOwned": [
        {
          "id": "4430",
          "name": "ChillETH"
        }
      ],
      "id": "0x1ad3d72e54fb0eb46e87f82f77b284fc8a66b16c",
      "portalsBought": [],
      "portalsOwned": [
        {
          "id": "4430"
        }
      ]
    }
  }
}
```

Be sure that the ID is case sensitive and you have to provide the address as lowercase!

### Get statistics

We also maintain some statistics on the subgraph. Such as portals bought, portal opened and aavegotchis claimed, but also some market data. You can query for volumes from the market:

```
{
  statistics {
    portalsBought,
    portalsOpened,
    aavegotchisClaimed,
    erc721TotalVolume,
    erc1155TotalVolume
  }
}
```

you will get something like

```
{
  "data": {
    "statistics": [
      {
        "aavegotchisClaimed": "7136",
        "erc1155TotalVolume": "9486555714498572424804980",
        "erc721TotalVolume": "11126949887492653499800000",
        "portalsBought": "10000",
        "portalsOpened": "7761"
      }
    ]
  }
}
```


# SVG Subgraphs

Currently we provide two Subgraphs for SVGs. One for the Aavegotchi itself and one for the Portal Options.

### Aavegotchi Subgraph

This subgraph provides the current and previous SVGs from the aavegotchis. The full documentation can be found here [LINK](https://github.com/aavegotchi/aavegotchi-svg-subgraph)

The endpoint is: `https://api.thegraph.com/subgraphs/name/aavegotchi/aavegotchi-svg`&#x20;

The Playground can be found [HERE](https://api.thegraph.com/subgraphs/name/aavegotchi/aavegotchi-svg)

The SVG of an Aavegotchi can be queried as follows:

```
{
  aavegotchi(id: "4430") {
    id
    svg
    left
    right
  }
}

```

the response contains the ID of the aavegotchi and the svg...

```
{
  "data": {
    "aavegotchi": {
      "id": "4430",
      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 64 64\"><g class=\"gotchi-wearable wearable-bg\"><svg x=\"0\" y=\"0\"><path d=\"M0 0v64h64V0H0z\" fill=\"#9325ee\"/><g fill=\"#a948eb\"><path d=\"M31 21h1v1h-1zm0-7h1v1h-1zm1 4h1v1h-1zM9 20h1v1H9zm2-2h1v1h-1zm3-14h1v1h-1zm-1 9h1v1h-1zm-2-3h1v1h-1zm7 1h1v1h-1zm-7-5h1v1h-1zm5 3h1v1h-1zm4 0h1v1h-1zM9 3h1v1H9zm0-2h1v1H9zm3 21h1v1h-1z\"/><path d=\"M13 21h1v1h-1zM9 5h1v1H9zm10-2h1v1h-1zm-7 0h1v1h-1zm-1-2h1v1h-1zM8 0h1v1H8zM6 10h1v1H6zm-2 0h1v1H4z\"/><path d=\"M8 6h1v1H8zM6 20h1v1H6zm1-5h1v1H7zm-1 7h1v1H6zm2-4h1v1H8zm-2 6h1v1H6zM6 0h1v1H6zm2 12h1v1H8z\"/><path d=\"M3 11h1v1H3zm4 8h1v1H7zm2 5h1v-1H8v2h1v-1zm0-9h1v1H9zm2 0h1v1h-1zm-6 6h1v1H5zm1-7h1v1H6z\"/><path d=\"M5 13h1v1H5zm-2 0h1v1H3zm2-4h1v1H5zm2 0h1v1H7zm0 8h1v1H7zM31 4h1v1h-1zm23 19h1v1h-1zm0 4h1v1h-1zM51 4h1v1h-1zm0 6h1v1h-1zm-4 0h1v1h-1zm2 5h1v1h-1zm5-8h1v1h-1z\"/><path d=\"M53 8h1v1h-1zm-4 17h1v1h-1zm1 5h1v1h-1zm1-11h1v1h-1zm2-9h1v1h-1z\"/><path d=\"M54 11h1v1h-1zm-6 0h1v1h-1zm3-10h1v1h-1zm5 6h1v1h-1zm2-1h1v1h-1zm0-5h1v1h-1zM40 2h1v1h-1zm16 19h1v1h-1z\"/><path d=\"M62 14h-1v-1h-1v-1h1v-1h-1v-1h-1V9h-1V8h-1v1h-1V8h-1v1h-1v1h1v1h1v1h-1v1h1v1h-1v1h1v1h-1v1h1v1h1v1h-1v1h1v1h1v1h-1v1h1v1h-1v1h1v1h1v1h1v1h1v1h1v1h1v1h1V14h-1v-1h-1v1zm-10 0h1v1h-1z\"/><path d=\"M54 13h1v1h-1zm1 5h1v1h-1zm7 13h1v1h-1zm-2 0h1v1h-1zm-1-3h1v1h-1z\"/><path d=\"M58 27h1v1h-1zm-2-2h1v1h-1zm7-13h1v1h-1zm-2 0h1v1h-1zm-6 8h1v1h-1zm1 3h1v1h-1zm-2-8h1v1h-1zm5-7h1v1h-1zm4 1h1v1h-1zm-2 1h1v1h-1z\"/><path d=\"M60 9h1v1h-1zm1-4h1v1h-1zm-6 0h1v1h-1zm5-3h1v1h-1zm-3 24h1v1h-1zm0 3h1v1h-1zm3 0h1v1h-1z\"/><path d=\"M61 30h1v1h-1zm-8 21h1v1h-1zm1 5h1v1h-1z\"/><path d=\"M53 55h1v1h-1zm-4-18h1v1h-1zm3 5h1v1h-1zm0-5h1v1h-1zm-2 3h1v1h-1zm2-1h1v1h-1z\"/><path d=\"M49 41h1v1h-1zm4-8h1v1h-1zm-4 0h1v1h-1zm2 20h1v1h-1z\"/><path d=\"M52 54h1v1h-1zm0-2h1v1h-1zm11-12h1v1h-1zm-3-5h1v1h-1zm-1 8v1h1v-2h-2v1h1zm4-5h1v1h-1zm-5 14h1v1h-1zm-2-4h1v1h-1zm-2 0h1v1h-1zm6-1h1v1h-1zm-2-1h1v1h-1zm1 10h1v1h-1zm-3 0h1v1h-1zm2 4h1v1h-1zm5-1h1v1h-1zm-3 1h1v1h-1z\"/><path d=\"M60 58h1v1h-1zm-4 0h1v1h-1zm2-26v1h2v-1h-2zm5 23h1v1h-1zm-6-8h1v1h-1zm5-8h1v1h-1z\"/><path d=\"M55 39h1v1h-1zm7 22h-1v1h-1v-1h-1v1h-1v-1h-1v-1h-1v-1h-1v-1h-1v-1h-1v-1h-1v-1h-1v-1h-1v-1h1v-1h1v-1h1v-1h-1v-1h1v-1h1v-1h1v1h1v-1h1v-1h1v-1h1v-1h-1v-1h-1v-1h-1v1h-1v-1h-1v1h-1v1h-1v-1h-1v-1h-1v1h-1v-1h-1v1h-2v1h-1v-1h1v-1h2v-1h-1v-1h1v-1h-1v-1h1v-1h-1v-1h-1v-1h-1v-1h-1v-1h-1v1h-1v-1h-1v1h-1v-1h-1v-1h-1v-1h1v-1h-1v-1h-1v-1h-1v1h-1v-1h1v-1h1v-1h-1v-1h-1v-1h-1v-1h-1v1h-1v1h-1v1h-1v1h1v1h1v1h-1v1h-1v-1h-1v-1h-1v1h-1v-1h-1v1h-1v-1h-1v1h-1v-1h-1v-1h1v-1h1v-1h1v1h1v-1h1v-1h-1v-1h1v-1h-1v-1h-1v-1h-1v1h-1v-1h-1v1h-1v-1h-1v1h-1v1h-1v-1h-1v1h-1v1h-1v-1h-1v1h-1v1h-1v-1h-1v1h-1v1H9v1H8v-1H7v1H6v-1H5v-1h1v-1H5v-1H4v-1h1v-1h1v-1h1v-1H6v-1h1v-1H6v-1H5v-1H4v1H3v-1H2v-1h1v-1H2v-1h1v-1h1V9h1V8h1v1h1V8h1V7H7V6h1V5h1V4H8V3h1V2H8V1H7v1H6V1H5V0H0v64h64v-3h-1v-1h-1v1z\"/><path d=\"M57 59h1v1h-1zm0-5h1v1h-1zm-2-1h1v1h-1zm2-12h1v1h-1zm3 0h1v1h-1zm-5 0h1v1h-1zm2-4h1v1h-1zm-2 20h1v1h-1zm3-8h1v1h-1zm-5 0h1v1h-1zM21 19h1v1h-1zm-2-2h1v1h-1zm-1 3h1v1h-1zm8 0h1v1h-1zm-6-5h1v1h-1zm4 1h1v1h-1z\"/><path d=\"M30 22h1v1h-1zm-5-3h1v1h-1z\"/><path d=\"M23 19h1v1h-1zm8 4h1v1h-1z\"/><path d=\"M30 24h1v1h-1z\"/><path d=\"M29 23h1v1h-1zm-2 0h1v1h-1zm2 4h1v1h-1z\"/><path d=\"M30 28h1v1h-1zm-3-7h1v1h-1zm-4-8h1v1h-1zm6 12h1v1h-1zm15-8h1v1h-1zm-8 3h1v1h-1zm-2 2h1v1h-1zm2 2h1v1h-1z\"/><path d=\"M35 23h1v1h-1zm4 8h1v1h-1zm-2-17h1v1h-1zm-1 3h1v1h-1z\"/><path d=\"M42 32h1v1h-1zm2 0h1v1h-1zm-4 0h1v1h-1zm6-10h1v1h-1zm-1 8h1v1h-1zm1-2h1v1h-1zm0 4h1v1h-1zm0 2h1v1h-1z\"/><path d=\"M45 33h1v1h-1zM16 20h1v1h-1zm-1-2h1v1h-1zm1-3h1v1h-1z\"/><path d=\"M15 21h1v1h-1zM26 9h1v1h-1zm2 9h1v1h-1zm0 8h1v1h-1z\"/><path d=\"M24 26h1v1h-1zm3 1h1v1h-1z\"/><path d=\"M25 27h1v1h-1zm-2 0h1v1h-1zm2-17h1v1h-1zm17 16h1v1h-1zm-10-4h1v1h-1zm6 6h1v1h-1zm2-1h1v1h-1zm0 3h1v1h-1z\"/><path d=\"M38 24h2v-1h-2v1zm-1 3h1v1h-1zm-4-6h1v1h-1zm4 4h1v1h-1zm2 4h1v1h-1zm9 7h1v1h-1zm0 4h1v1h-1zm0-2h1v1h-1z\"/><path d=\"M47 35h1v1h-1z\"/><path d=\"M48 34h1v1h-1z\"/><path d=\"M47 33h1v1h-1z\"/></g><g fill=\"#e796e7\"><path d=\"M11 10h1v1h-1zm7 1h1v1h-1zm-2-2h1v1h-1zm4 0h1v1h-1zm-7 20h1v1h-1zm-2-2h1v1h-1z\"/><path d=\"M12 28h1v1h-1zm7-25h1v1h-1zm-7 0h1v1h-1zM1 0h1v1H1zm3 3h1v1H4zM0 9h1v1H0zm4-3h1v1H4zm-4 6h1v1H0zm0 8h1v1H0zm4 5h1v1H4zm-3-2h1v1H1zm7 0h1v1H8zm-7-7h1v1H1zm10-1h1v1h-1zM3 27h1v1H3zM2 5h1v1H2zm1 12h1v1H3zM31 4h1v1h-1zm23 23h1v1h-1zm-5-12h1v1h-1zm0 10h1v1h-1zm2-24h1v1h-1zm7 0h1v1h-1zM40 2h1v1h-1zm20 20h1v1h-1zm-2-8h1v1h-1zm0 4h1v1h-1zm5 7h1v1h-1z\"/><path d=\"M58 11h1v1h-1zm1 8h1v1h-1zm3 5h1v1h-1z\"/><path d=\"M61 23h1v1h-1zm-1-7h1v1h-1zm-3-6h1v1h-1zm3-8h1v1h-1z\"/><path d=\"M61 26h1v1h-1zm2-9v1h-1v-1h-1v1h-1v1h1v1h-1v1h1v1h1v1h1v1h1v-7h-1z\"/></g><path d=\"M54 61h1v1h-1z\" fill=\"#be72e9\"/><g fill=\"#e796e7\"><path d=\"M50 48h1v1h-1zm-2 10h1v1h-1zm-2 3h1v1h-1zm-1 1h-1v1h-1v-1h-1v-1h-1v-1h-1v-1h-1v-1h-1v-1h1v-1h1v-1h-1v-1h1v-1h-1v-1h1v-1h-1v-1h1v-1h-1v-1h-1v-1h1v-1h-1v-1h-1v-1h1v-1h-1v-1h-1v-1h-1v-1h-1v-1h-1v-1h-1v-1h-1v1h-1v-1h-1v1h-1v-1h-1v1h-1v1h-1v-1h-1v1h-1v-1h-1v1h-1v-1h-1v-1h-1v-1h-1v-1h-1v-1h-1v-1h-1v-1h-1v-1h-1v-1h-1v-1h-1v-1h-1v1H9v-1H8v1H7v-1H6v1H5v-1H4v1H3v-1H0v36h46v-1h-1v-1zm6 0h1v1h-1zm1-4h1v1h-1zm-3 5h1v1h-1zm-2 0h1v1h-1z\"/><path d=\"M43 55h1v1h-1zm16-13h1v1h-1zm-3 2h1v1h-1zm-2 0h1v1h-1zm-2 4h1v1h-1zm8-1h1v1h-1zm-8-1h1v1h-1zM40 56h1v1h-1z\"/><path d=\"M40 58h1v1h-1zm19-26h1v1h-1zm4 23h1v1h-1zm-10-8h1v1h-1zm-2 0h1v1h-1zm12 16h1v1h-1zm-6-9h1v1h-1zm-4-9h1v1h-1z\"/><path d=\"M55 45h1v1h-1zm3 4h1v1h-1zM41 59h1v1h-1zm2 0h1v1h-1zm0 2h1v1h-1z\"/><path d=\"M42 60h1v1h-1zM22 31h1v1h-1zm-2-9h1v1h-1zm-1 5h1v1h-1zm1 4h1v1h-1zm0-7h1v1h-1zm0-9h1v1h-1zm3 7h1v1h-1zm4 7h1v1h-1zm17-12h1v1h-1zM32 27h1v1h-1zm2 3h1v1h-1zm3-16h1v1h-1zm-4 11h1v1h-1zm-15 7h1v1h-1zm3 3h1v1h-1zm-2 0h1v1h-1zm11-3h1v1h-1zm-2 3h1v1h-1zm-4 0h1v1h-1zm1-2h1v1h-1zm19 5h1v1h-1z\"/><path d=\"M43 39h1v1h-1zm0 2h1v1h-1zm-2-5h1v1h-1z\"/><path d=\"M42 35h1v1h-1zm2-1h1v1h-1zm-8 6h1v1h-1zm-2-2h1v1h-1z\"/><path d=\"M40 38h1v1h-1zm-2 6h1v1h-1zm-3-5h1v1h-1zm3 2h1v1h-1zm-1-4h1v1h-1zm-4 0h1v1h-1zm6-3h1v1h-1zm7 14h1v1h-1zm0 4h1v1h-1zm-3-3h1v1h-1zm3-21h1v1h-1zm-1 9h1v1h-1zm0 3h1v1h-1zm-4 6h1v1h-1zM16 15h1v1h-1zm0 8h1v1h-1zm-1 2h1v1h-1z\"/><path d=\"M16 26h1v1h-1zm0 4h1v1h-1zM26 9h1v1h-1z\"/><path d=\"M25 10h1v1h-1zm15 17h1v1h-1zm-1-4h1v1h-1zm-23 9h1v1h-1zm31 14h1v1h-1zm-6 6h1v1h-1zm-8-17h1v1h-1zm2-1h1v1h-1zm8 3h1v1h-1z\"/><path d=\"M42 38h1v1h-1z\"/><path d=\"M41 39h1v1h-1zm-2 18h1v1h-1zM9 27h1v1H9z\"/></g><g fill=\"#be72e9\"><path d=\"M16 9h1v1h-1zM4 3h1v1H4zM1 28h1v1H1zm10-13h1v1h-1zM6 29h1v1H6zM3 17h1v1H3zm51 10h1v1h-1zm-5-12h1v1h-1zm2-14h1v1h-1zM40 2h1v1h-1zm21 16h1v1h-1zm-3 0h1v1h-1z\"/><path d=\"M60 2h1v1h-1zm3 16v1h-1v1h-1v1h1v1h1v1h1v-5h-1zM9 58h1v1H9zm4-26h1v1h-1z\"/><path d=\"M14 33h1v1h-1zm1 23h1v1h-1z\"/><path d=\"M14 57h1v1h-1zm-2 0h1v1h-1z\"/><path d=\"M11 58h1v1h-1zM9 42h1v1H9z\"/><path d=\"M10 43h1v1h-1zm-6-2h1v1H4zm4 0h1v1H8zM2 51h1v1H2z\"/><path d=\"M10 47h1v1h-1zm0-2h1v1h-1zm-7 5h1v1H3zM1 60h1v1H1z\"/><path d=\"M0 59h1v1H0zm5 1h1v1H5zM0 43h1v1H0zm1 9h1v1H1z\"/><path d=\"M0 55h1v1H0zm9-7h1v1H9zM6 59h1v1H6zm-3 1h1v1H3zm8-14h1v1h-1zm-5-5h1v1H6zm-3 1h1v1H3zM0 57h1v1H0z\"/><path d=\"M7 58h1v1H7zm-3 3h1v1H4zm4-12h1v1H8zm-2 0h1v1H6zm24 6h1v1h-1z\"/><path d=\"M31 56h1v1h-1zm-2 0h1v1h-1zm2 2h1v1h-1zm-2 4h1v1h-1z\"/><path d=\"M41 62v-1h-1v-1h-1v-1h-1v-3h1v-1h-1v-1h1v-1h-1v-1h1v-1h-1v-1h1v-1h-1v-1h-1v-1h1v-1h-1v-1h-1v-1h-1v-1h1v-1h-1v-1h-1v-1h-1v-1h-1v1h-1v-1h-1v-1h-1v1h-1v1h-1v-1h-1v1h-1v-1h-1v1h-1v-1h-1v1h-1v-1h-1v1h-1v-1h-1v-1h-1v-1h-1v1h-1v-1h1v-1h-1v-1h-1v-1h-1v-1h-1v-1h1v-1h-1v-1h-1v-1h-1v1H9v-1H8v1H7v1H6v-1H5v-1H4v1H3v-1H2v1H1v-1H0v3h1v1H0v9h1v1h1v-1h1v-1h1v-1h1v1h1v-1h1v1h1v-1h1v1h1v1h1v1h1v1h-1v1h1v1h1v1h-1v1h-1v1h-1v1H9v1H8v-1H7v1H6v1h1v1H6v-1H5v-1H4v1H3v1H2v1H1v1h1v1H1v1h1v1H1v1h1v1h1v-1h1v1h1v-1h1v-1h1v-1h1v1h1v-1h1v1h1v-1h1v-1h1v1h1v-1h1v-1h-1v-1h1v-1h1v-1h1v-1h-1v-1h1v-1h1v1h1v-1h1v-1h1v1h1v-1h1v1h1v-1h1v1h1v-1h1v1h1v1h1v1h-1v1h1v1h-1v1h1v1h1v-1h1v1h1v1h1v-1h1v1h-1v1h-1v1h1v1h-1v1h-1v1h1v1h-1v1h-1v1h9v-1h1v1h1v-1h1v-1h-1zm-3-1h-1v-1h1v1zm-1-4h-1v-1h1v1zM19 47h-1v-1h1v1zM3 33h1v1H3v-1zm32 16h-1v-1h1v1zm-19-7h-1v-1h1v1zm13 2h-1v-1h1v1zm-16-6h-1v-1h1v1zm-9-2v-1h1v1H4zm2 1h1v1H6v-1zm26 13h1v1h-1v-1zm5 4h-1v-1h1v1zm0-4h-1v-1h1v1zm-3-5h-1v-1h1v1zm-3-3h-1v-1h1v1zm-7-1v1h-1v-1h1zm-11-5h-1v-1h1v1zm-2-5v1h-1v1H9v-1h1v-1h1zM1 39h1v1H1v-1zm10 1h1v1h-1v-1zm1 10v1h-1v-1h1zm-9 5h1v1H3v-1zm1 3v-1h1v1H4zm8-4v-1h1v1h-1zm13-7v-1h1v1h-1zm5 4h1v1h-1v-1z\"/><path d=\"M42 63h1v1h-1zm8-15h1v1h-1zm-2 10h1v1h-1zm3 4h1v1h-1zm1-4h1v1h-1zm-8 5h1v1h-1zm15-21h1v1h-1zm-3 2h1v1h-1zm-2 0h1v1h-1zm-2 4h1v1h-1zm8-1h1v1h-1zm-8-1h1v1h-1z\"/><path d=\"M53 47h1v1h-1zm-2 0h1v1h-1zm12 16h1v1h-1zm-6-9h1v1h-1zm-4-9h1v1h-1zm2 0h1v1h-1zM30 61h1v1h-1zm-8-30h1v1h-1zm-3-4h1v1h-1zm1-12h1v1h-1zm3 7h1v1h-1zm4 7h1v1h-1zm17-12h1v1h-1zM34 30h1v1h-1zm3-16h1v1h-1zm-4 11h1v1h-1zM18 37h1v1h-1z\"/><path d=\"M19 38h1v1h-1zm12 0h1v1h-1zm-4 0h1v1h-1zm-2 12h1v1h-1z\"/><path d=\"M26 49h1v1h-1z\"/><path d=\"M27 50h1v1h-1zm-3-1h1v1h-1zm-2 0h1v1h-1zm22-11h1v1h-1z\"/><path d=\"M43 39h1v1h-1zm0 2h1v1h-1zm-2-5h1v1h-1z\"/><path d=\"M42 35h1v1h-1zm2-1h1v1h-1zm-4 4h1v1h-1zM27 54h1v1h-1zm0-2h1v1h-1zm-9-1h1v1h-1z\"/><path d=\"M17 50h1v1h-1zm2 0h1v1h-1z\"/><path d=\"M17 52h1v1h-1zm3-1h1v1h-1z\"/><path d=\"M23 50h1v1h-1zm-2 0h1v1h-1z\"/><path d=\"M20 49h1v1h-1zm26 3h1v1h-1zm0-24h1v1h-1zm-29 8h1v1h-1zm28 1h1v1h-1zm0 3h1v1h-1zm-9 3h1v1h-1zm-8 12h1v1h-1zm-13-1h1v1h-1z\"/><path d=\"M16 53h1v1h-1zm0-18h1v1h-1z\"/><path d=\"M15 34h1v1h-1zm28 3h1v1h-1z\"/><path d=\"M42 38h1v1h-1z\"/><path d=\"M41 39h1v1h-1zM5 50h1v1H5z\"/></g><g fill=\"#fffff5\"><path d=\"M18 11h1v1h-1zm2-2h1v1h-1zM0 12h1v1H0zm31-8h1v1h-1zm27-3h1v1h-1zM22 63h1v1h-1zm-1-7h1v1h-1z\"/><path d=\"M22 55h1v1h-1zm-7 7h1v1h-1zm0-2h1v1h-1zm3-3h1v1h-1zm-1 5h1v1h-1z\"/><path d=\"M18 61h1v1h-1zm-2 0h1v1h-1zm4-7h1v1h-1zm-3 5h1v1h-1zm3 4h1v1h-1zm-2 0h1v1h-1zM2 48h1v1H2zm4-3h1v1H6z\"/><path d=\"M2 46h1v1H2zm0 17h1v1H2zm2 0h1v1H4zm21-1h1v1h-1zM7 44h1v1H7zm-5-1h1v1H2zm4 5h1v1H6zm-2-1h1v1H4zm5-1h1v1H9zm-2 0h1v1H7zm-3-1h1v1H4zm19 9h1v1h-1zm40 1h1v1h-1zm-5-6h1v1h-1zM29 59h1v1h-1zm-10 1h1v1h-1z\"/><path d=\"M26 61h1v1h-1zm4-29h1v1h-1zm-5 20h1v1h-1zm21-4h1v1h-1zm-22 7h1v1h-1zm16-28h1v1h-1z\"/><path d=\"M27 57h1v1h-1zm-1 1h-1v1h-1v-1h1v-1h-1v-1h-1v1h-1v1h-1v-1h-1v1h-1v1h1v1h1v1h-1v1h3v1h1v-1h1v-1h1v-1h1v-1h-1v-1zM5 44h1v1H5zm0 2h1v1H5z\"/></g><path d=\"M61 61v-4h-2v1h1v3h-1v1h3v-1h-1zm-4-2h-1v-2h-1v5h1v-2h1v2h1v-5h-1v2z\" fill=\"#e796e7\"/></svg></g><style>.gotchi-primary{fill:#64438E;}.gotchi-secondary{fill:#EDD3FD;}.gotchi-cheek{fill:#F696C6;}.gotchi-eyeColor{fill:#5D24BF;}.gotchi-primary-mouth{fill:#64438E;}.gotchi-sleeves-up{display:none;}.gotchi-handsUp{display:none;}.gotchi-handsDownOpen{display:block;}.gotchi-handsDownClosed{display:none;}</style><g class=\"gotchi-body\"><g class=\"gotchi-primary\"><path d=\"M21 12h2v-2h-4v2h1z\"/><path d=\"M19 14v-2h-2v2h1zm6-4h2V8h-4v2h1z\"/><path d=\"M29 8h8V6H27v2h1zm16 6h2v-2h-2v1z\"/><path d=\"M48 14h-1v39h-2v2h4V14zm-11-4h4V8h-4v1z\"/><path d=\"M41 12h4v-2h-4v1zM17 53V14h-2v41h4v-2h-1z\"/><path d=\"M24 51h-5v2h5v-1z\"/><path d=\"M27 53h-3v2h5v-2h-1zm18-2h-5v2h5v-1z\"/><path d=\"M35 51h-6v2h6v-1z\"/><path d=\"M38 53h-3v2h5v-2h-1z\"/></g><g class=\"gotchi-secondary\"><path d=\"M18 43v6h2v-1h2v1h2v2h-5v2h-2V14h2v1h-1v26z\"/><path d=\"M27 51h-3v2h5v-2h-1zm11 0h-3v2h5v-2h-1z\"/><path d=\"M35 49h-2v-1h-2v1h-2v2h6v-1zM25 11h2v-1h-4v1h1zm-4 2h2v-1h-4v1h1zm24 31v5h-1v-1h-2v1h-2v2h5v2h2V14h-2v29z\"/><path d=\"M37 8H27v1h5v1h5V9zm8 4h-4v2h4v-1z\"/><path d=\"M41 10h-4v2h4v-1z\"/></g><path d=\"M44 14h-3v-2h-4v-2h-5V9h-5v2h-4v2h-4v2h-1v34h2v-1h2v1h2v2h5v-2h2v-1h2v1h2v2h5v-2h2v-1h2v1h1V14z\" fill=\"#fff\"/></g><path class=\"gotchi-cheek\" d=\"M21 32v2h2v-2h-1zm21 0h-1v2h2v-2z\"/><g class=\"gotchi-primary-mouth\"><path d=\"M29 32h-2v2h2v-1z\"/><path d=\"M33 34h-4v2h6v-2h-1z\"/><path d=\"M36 32h-1v2h2v-2z\"/></g><g class=\"gotchi-shadow\"><path opacity=\".25\" d=\"M25 58H19v1h1v1h24V59h1V58h-1z\" fill=\"#000\"/></g><g class=\"gotchi-collateral\"><g fill=\"#64438e\"><path d=\"M29 17v-2h-1v4h1v-1z\"/><path d=\"M29 14h1v1h-1zm0 5h1v1h-1z\"/><path d=\"M30 20h1v1h-1z\"/><path d=\"M31 21v1h2v-1h-1zm-1-8h1v1h-1zm4 6h1v1h-1zm0-5h1v1h-1z\"/><path d=\"M33 13v-1h-2v1h1zm0 7h1v1h-1z\"/><path d=\"M33 13h1v1h-1zm2 2v4h1v-4z\"/></g><path d=\"M34 17h-2v4h1v-1h1v-1h1v-2z\" fill=\"#c260ff\"/><g fill=\"#dea8ff\"><path d=\"M30 17h-1v2h1v1h1v1h1v-4h-1z\"/><path d=\"M34 15v-1h-1v-1h-1v4h3v-2z\"/></g><path d=\"M31 17h1v-4h-1v1h-1v1h-1v2h1z\" fill=\"#edd3fd\"/></g><g class=\"gotchi-eyeColor\"><path d=\"M27 23H26H25H24H23H22H21V24H22H23H24V25H23H22H21V26H22H23H24H25H26H27H28H29V25H28H27H26V24H27H28H29V23H28H27Z\" class=\"gotchi-primary\" /><path d=\"M41 24H42H43V23H42H41H40H39H38H37H36H35V24H36H37H38V25H37H36H35V26H36H37H38H39H40H41H42H43V25H42H41H40V24H41Z\" class=\"gotchi-primary\" /><rect x=\"24\" y=\"24\" width=\"2\" height=\"1\" /><rect x=\"38\" y=\"24\" width=\"2\" height=\"1\" /></g><g class=\"gotchi-wearable wearable-body\"><svg x=\"10\" y=\"31\"><path d=\"M37 2v1h-2v1h-2v1h-2v1h-2v1h-2v1h-3v1h-4V8h-3V7h-2V6h-2V5h-2V4H9V3H7V2H5v22h4v-2h5v2h5v-2h6v2h5v-2h5v2h4V2h-2z\" fill=\"#321227\"/><path d=\"M24 15v1h-4v-1H5v9h4v-2h5v2h5v-2h6v2h5v-2h5v2h4v-9H24z\" fill=\"#376560\"/><path d=\"M21 12v1h2v-1h-2zm0 2v1h2v-1h-2zm0-4v1h2v-1h-2z\" fill=\"#b49698\"/><path d=\"M37 3v1h-2v1h-2v1h-2v1h-2v1h-2v1h-3v5h14V3h-1zm-12 7h1v1h-1v-1zm0 3v-1h1v1h-1zm-7-4h-1V8h-2V7h-2V6h-2V5H9V4H7V3H6v11h14V9h-2zm1 4h-1v-1h1v1zm0-2h-1v-1h1v1z\" fill=\"#482b3e\"/><path d=\"M38 17v-1H24v4h1v2h5v-2h5v2h3v-2h-1v-1h1v-1h-1v-1h1zm-17-1v4h2v-4h-2zM6 16v1h1v1H6v1h1v1H6v2h3v-2h5v2h5v-2h1v-4H6z\" fill=\"#6ca958\"/></svg></g><g class=\"gotchi-handsDownClosed\"><g class=\"gotchi-primary\"><path d=\"M19 42h1v1h-1zm1-6h1v1h-1z\"/><path d=\"M21 37h1v1h-1zm5 3v4h1v-4zm-5 3h-1v1h2v-1z\"/><path d=\"M24 44h-2v1h4v-1h-1zm1-5h-1v1h2v-1z\"/><path d=\"M23 38h-1v1h2v-1z\"/></g><g class=\"gotchi-secondary\"><path d=\"M19 43h1v1h-1zm5 2h-2v1h4v-1h-1z\"/><path d=\"M27 41v3h1v-3zm-6 3h-1v1h2v-1z\"/><path d=\"M26 44h1v1h-1zm-7-3h-1v2h1v-1z\"/></g><g class=\"gotchi-primary\"><path d=\"M44 42h1v1h-1zm-1-6h1v1h-1z\"/><path d=\"M42 37h1v1h-1z\"/><path d=\"M42 39v-1h-2v1h1zm0 4v1h2v-1h-1z\"/><path d=\"M40 44h-2v1h4v-1h-1z\"/><path d=\"M38 42v-2h-1v4h1v-1z\"/><path d=\"M40 40v-1h-2v1h1z\"/></g><g class=\"gotchi-secondary\"><path d=\"M42 44v1h2v-1h-1zm-5-2v-1h-1v3h1v-1z\"/><path d=\"M40 45h-2v1h4v-1h-1z\"/><path d=\"M37 44h1v1h-1zm7-1h1v1h-1z\"/></g></g><g class=\"gotchi-handsDownOpen\"><g class=\"gotchi-primary\"><path d=\"M14 40h1v1h-1v-1zm-1-6h1v1h-1v-1z\"/><path d=\"M14 33h1v1h-1v-1zm-2 2h1v1h-1v-1zm-5 3h1v4H7v-4zm5 3h2v1h-2v-1z\"/><path d=\"M8 42h4v1H8v-1zm0-5h2v1H8v-1z\"/><path d=\"M10,36h2v1h-2V36z\"/></g><g class=\"gotchi-secondary\"><path d=\"M14,39h1v1h-1V39z\"/><path d=\"M12,40h2v1h-2V40z\"/><path d=\"M8,41h4v1H8V41z\"/></g><path d=\"M8,38v3h4v-1h2v-1h1v-5h-1v1h-1v1h-1v1h-2v1H8z\" fill=\"#fff\" /><g class=\"gotchi-primary\"><path d=\"M49 40h1v1h-1v-1zm1-6h1v1h-1v-1z\"/><path d=\"M49 33h1v1h-1v-1zm2 2h1v1h-1v-1zm5 3h1v4h-1v-4zm-6 3h2v1h-2v-1z\"/><path d=\"M52 42h4v1h-4v-1zm2-5h2v1h-2v-1z\"/><path d=\"M52,36h2v1h-2V36z\"/></g><g class=\"gotchi-secondary\"><path d=\"M49,39h1v1h-1V39z\"/><path d=\"M50,40h2v1h-2V40z\"/><path d=\"M52,41h4v1h-4V41z\"/></g><path d=\"M54,38v-1h-2v-1h-1v-1h-1v-1h-1v5h1v1h2v1h4v-3H54z\" fill=\"#fff\" /></g><g class=\"gotchi-handsUp\"><g class=\"gotchi-secondary\"><path d=\"M50,38h1v1h-1V38z\"/><path d=\"M49 39h1v1h-1v-1zm2-2h1v1h-1v-1z\"/><path d=\"M52,36h2v1h-2V36z\"/><path d=\"M54,35h2v1h-2V35z\"/></g><path d=\"M52,32v1h-2v1h-1v5h1v-1h1v-1h1v-1h2v-1h2v-3H52z\" fill=\"#fff\"/><g class=\"gotchi-primary\"><path d=\"M49,33h1v1h-1V33z\"/><path d=\"M50 32h2v1h-2v-1zm0 7h1v1h-1v-1z\"/><path d=\"M49 40h1v1h-1v-1zm2-2h1v1h-1v-1z\"/><path d=\"M52 37h2v1h-2v-1zm0-6h4v1h-4v-1z\"/><path d=\"M56,32h1v4h-1V32z\"/><path d=\"M54,36h2v1h-2V36z\"/></g><g class=\"gotchi-secondary\"><path d=\"M13,38h1v1h-1V38z\"/><path d=\"M14 39h1v1h-1v-1zm-2-2h1v1h-1v-1z\"/><path d=\"M10,36h2v1h-2V36z\"/><path d=\"M8,35h2v1H8V35z\"/></g><path d=\"M8,32v3h2v1h2v1h1v1h1v1h1v-5h-1v-1h-2v-1H8z\" fill=\"#fff\"/><g class=\"gotchi-primary\"><path d=\"M14,33h1v1h-1V33z\"/><path d=\"M12 32h2v1h-2v-1zm1 7h1v1h-1v-1z\"/><path d=\"M14 40h1v1h-1v-1zm-2-2h1v1h-1v-1z\"/><path d=\"M10 37h2v1h-2v-1zm-2-6h4v1H8v-1z\"/><path d=\"M7,32h1v4H7V32z\"/><path d=\"M8,36h2v1H8V36z\"/></g></g>\"><svg x=\"10\" y=\"31\"><g><g class=\"gotchi-sleeves gotchi-sleeves-left gotchi-sleeves-up\"><path d=\"M40 13v-1h1v-1h1v-1h2V0h-2v1h-2v1h-1.5v11H40z\" fill=\"#321227\"/><path d=\"M40 12V3h-1v9h1z\" fill=\"#b49698\"/><path d=\"M42 10V2h-1v8h1z\" fill=\"#6ca958\"/></g><g class=\"gotchi-sleeves gotchi-sleeves-left gotchi-sleeves-down\"><path d=\"M40 2v1h1v1h1v1h2v10h-2v-1h-2v-1h-1.5V2H40z\" fill=\"#321227\"/><path d=\"M40 3v9h-1V3h1z\" fill=\"#b49698\"/><path d=\"M42 5v8h-1V5h1z\" fill=\"#6ca958\"/></g><g class=\"gotchi-sleeves gotchi-sleeves-right gotchi-sleeves-up\"><path d=\"M4 13v-1H3v-1H2v-1H0V0h2v1h2v1h1.5v11H4z\" fill=\"#321227\"/><path d=\"M4 12V3h1v9H4z\" fill=\"#b49698\"/><path d=\"M2 10V2h1v8H2z\" fill=\"#6ca958\"/></g><g class=\"gotchi-sleeves gotchi-sleeves-right gotchi-sleeves-down\"><path d=\"M4 2v1H3v1H2v1H0v10h2v-1h2v-1h1.5V2H4z\" fill=\"#321227\"/><path d=\"M4 3v9h1V3H4z\" fill=\"#b49698\"/><path d=\"M2 5v8h1V5H2z\" fill=\"#6ca958\"/></g></g></svg></svg>",
      "left": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 64 64\"><g class=\"gotchi-bg\"><defs fill=\"#fff\"><pattern id=\"a\" patternUnits=\"userSpaceOnUse\" width=\"4\" height=\"4\"><path d=\"M0 0h1v1H0zm2 2h1v1H2z\"/></pattern><pattern id=\"b\" patternUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"2\" height=\"2\"><path d=\"M0 0h1v1H0z\"/></pattern><pattern id=\"c\" patternUnits=\"userSpaceOnUse\" x=\"-2\" y=\"0\" width=\"8\" height=\"1\"><path d=\"M0 0h1v1H0zm2 0h1v1H2zm2 0h1v1H4z\"/></pattern><pattern id=\"d\" patternUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"4\" height=\"4\"><path d=\"M0 0h1v1H0zm0 2h1v1H0zm1 0V1h1v1zm1 0h1v1H2zm0-1h1V0H2zm1 2h1v1H3z\"/></pattern><pattern id=\"e\" patternUnits=\"userSpaceOnUse\" width=\"64\" height=\"32\"><path d=\"M4 4h1v1H4zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1z\"/><path fill=\"url(#a)\" d=\"M0 8h64v7H0z\"/><path fill=\"url(#b)\" d=\"M0 16h64v1H0z\"/><path fill=\"url(#c)\" d=\"M0 18h64v1H0z\"/><path fill=\"url(#b)\" d=\"M22 18h15v1H22zM0 20h64v3H0z\"/><path fill=\"url(#d)\" d=\"M0 24h64v8H0z\"/></pattern><mask id=\"f\"><path fill=\"url(#e)\" d=\"M0 0h64v32H0z\"/></mask></defs><path fill=\"#fff\" d=\"M0 0h64v32H0z\"/><path fill=\"#dea8ff\" class=\"gotchi-secondary\" mask=\"url(#f)\" d=\"M0 0h64v32H0z\"/><path fill=\"#dea8ff\" class=\"gotchi-secondary\" d=\"M0 32h64v32H0z\"/><path mask=\"url(#f)\" fill=\"#fff\" transform=\"matrix(1 0 0 -1 0 64)\" d=\"M0 0h64v32H0z\"/></g><style>.gotchi-primary{fill:#64438E;}.gotchi-secondary{fill:#EDD3FD;}.gotchi-cheek{fill:#F696C6;}.gotchi-eyeColor{fill:#5D24BF;}.gotchi-primary-mouth{fill:#64438E;}.gotchi-sleeves-up{display:none;}.gotchi-handsUp{display:none;}.gotchi-handsDownOpen{display:block;}.gotchi-handsDownClosed{display:none;}</style><path d=\"M43 14v-2h-2v-2h-2V8h-4V6h-6v2h-4v2h-2v2h-2v2h-1v41h3v-2h3v2h4v-2h4v2h4v-2h3v2h3V14z\" class=\"gotchi-primary\"/><path d=\"M41 14v-2h-2v-2h-4V8h-6v2h-4v2h-2v2h-2v39h2v-2h3v2h4v-2h4v2h4v-2h3v2h2V14z\" class=\"gotchi-secondary\"/><path d=\"M42,51h-1v-2h-3v2h-4v-2h-4v2h-4v-2h-3v2h-2V14h2v-1h2v-2h4V9h6v2h4v2h2v2h1V51z\" fill=\"#fff\"/><g class=\"gotchi-shadow\"><path d=\"M23 58v1h1v1h16v-1h1v-1z\" opacity=\".25\"/></g><path class=\"gotchi-cheek\" d=\"M22 32h2v2h-2z\" fill=\"#f696c6\"/><g class=\"gotchi-collateral\"><path d=\"M23 15v-1h-2v7h1v-1h1v-1h1v-4z\" fill=\"#64438e\"/><path d=\"M22 15v-1h-1v6h1v-1h1v-4z\" fill=\"#c260ff\"/><path d=\"M22,15v-1h-1v3h2v-2H22z\" fill=\"#dea8ff\"/></g><g class=\"gotchi-eyeColor\"><path d=\"M21 25h4v1h-4zm0 2h4v1h-4z\"/><path d=\"M21 26h1v1h-1z\"/></g><g class=\"gotchi-wearable wearable-body\"><svg x=\"20\" y=\"31\"><g><path d=\"M1 6V5h2V4h2V3h2V2h17v22h-3v-2h-3v2h-4v-2h-4v2H6v-2H3v2H0V6h1z\" fill=\"#321227\"/><path d=\"M24 15v9h-3v-2h-3v2h-4v-2h-4v2H6v-2H3v2H0v-9h24z\" fill=\"#376560\"/><path d=\"M24 3v11H13V3h11zM1 7V6h2V5h2V4h2V3h5v11H0V7h1z\" fill=\"#482b3e\"/><path d=\"M12 16v4h-2v2H6v-2H3v2H0v-6h12zm1 0v4h1v2h4v-2h3v2h3v-3h-3v-1h3v-2H13zm4 1v1h-2v-1h2zm-2 3v-1h2v1h-2z\" fill=\"#6ca958\"/></g></svg></g><path d=\"M25 44h-1v-4h1v-1h2v-1h2v-1h1v-1h1v-1h2v1h-.2v5h.2v1h-1v1h-1v1h-2v1h-4v-1z\" class=\"gotchi-primary\"/><path d=\"M25,40h2v-1h2v-1h1v-1h1v-1h2v5h-1v1h-1v1h-2v1h-4V40z\" fill=\"#fff\"/><g class=\"gotchi-secondary\"><path d=\"M33 40v1h-1v-1h1z\"/><path d=\"M29,42v1h2v-1h1v-1h-1v1H29z\"/><path d=\"M29 43v1h-4v-1h4z\"/></g>\"><svg x=\"20\" y=\"31\"><g><g class=\"gotchi-sleeves gotchi-sleeves-left gotchi-sleeves-up\"><path d=\"M12 2h1v1h1v1h1v2H4V4H3V2H2V0h10v2z\" fill=\"#321227\"/><path d=\"M14 5H5V4h9v1z\" fill=\"#b49698\"/><path d=\"M12 3H4V2h8v1z\" fill=\"#6ca958\"/></g><g class=\"gotchi-sleeves gotchi-sleeves-left gotchi-sleeves-down\"><path d=\"M9 7V6h1V5h1V4h2v11h-2v1H9v1H7V7h2z\" fill=\"#321227\"/><path d=\"M12 5v9h-1V5h1z\" fill=\"#b49698\"/><path d=\"M10 7v8H9V7h1z\" fill=\"#6ca958\"/></g></g></svg></svg>",
      "right": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 64 64\"><g class=\"gotchi-bg\"><defs fill=\"#fff\"><pattern id=\"a\" patternUnits=\"userSpaceOnUse\" width=\"4\" height=\"4\"><path d=\"M0 0h1v1H0zm2 2h1v1H2z\"/></pattern><pattern id=\"b\" patternUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"2\" height=\"2\"><path d=\"M0 0h1v1H0z\"/></pattern><pattern id=\"c\" patternUnits=\"userSpaceOnUse\" x=\"-2\" y=\"0\" width=\"8\" height=\"1\"><path d=\"M0 0h1v1H0zm2 0h1v1H2zm2 0h1v1H4z\"/></pattern><pattern id=\"d\" patternUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"4\" height=\"4\"><path d=\"M0 0h1v1H0zm0 2h1v1H0zm1 0V1h1v1zm1 0h1v1H2zm0-1h1V0H2zm1 2h1v1H3z\"/></pattern><pattern id=\"e\" patternUnits=\"userSpaceOnUse\" width=\"64\" height=\"32\"><path d=\"M4 4h1v1H4zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1z\"/><path fill=\"url(#a)\" d=\"M0 8h64v7H0z\"/><path fill=\"url(#b)\" d=\"M0 16h64v1H0z\"/><path fill=\"url(#c)\" d=\"M0 18h64v1H0z\"/><path fill=\"url(#b)\" d=\"M22 18h15v1H22zM0 20h64v3H0z\"/><path fill=\"url(#d)\" d=\"M0 24h64v8H0z\"/></pattern><mask id=\"f\"><path fill=\"url(#e)\" d=\"M0 0h64v32H0z\"/></mask></defs><path fill=\"#fff\" d=\"M0 0h64v32H0z\"/><path fill=\"#dea8ff\" class=\"gotchi-secondary\" mask=\"url(#f)\" d=\"M0 0h64v32H0z\"/><path fill=\"#dea8ff\" class=\"gotchi-secondary\" d=\"M0 32h64v32H0z\"/><path mask=\"url(#f)\" fill=\"#fff\" transform=\"matrix(1 0 0 -1 0 64)\" d=\"M0 0h64v32H0z\"/></g><style>.gotchi-primary{fill:#64438E;}.gotchi-secondary{fill:#EDD3FD;}.gotchi-cheek{fill:#F696C6;}.gotchi-eyeColor{fill:#5D24BF;}.gotchi-primary-mouth{fill:#64438E;}.gotchi-sleeves-up{display:none;}.gotchi-handsUp{display:none;}.gotchi-handsDownOpen{display:block;}.gotchi-handsDownClosed{display:none;}</style><path d=\"M21 14v-2h2v-2h2V8h4V6h6v2h4v2h2v2h2v2h1v41h-3v-2h-3v2h-4v-2h-4v2h-4v-2h-3v2h-3V14z\" class=\"gotchi-primary\"/><path d=\"M23 14v-2h2v-2h4V8h6v2h4v2h2v2h2v39h-2v-2h-3v2h-4v-2h-4v2h-4v-2h-3v2h-2V14z\" class=\"gotchi-secondary\"/><path d=\"M22,15h1v-2h2v-2h4V9h6v2h4v2h2v1h2v37h-2v-2h-3v2h-4v-2h-4v2h-4v-2h-3v2h-1V15z\" fill=\"#fff\"/><g class=\"gotchi-shadow\"><path d=\"M23 58v1h1v1h16v-1h1v-1z\" opacity=\".25\"/></g><path class=\"gotchi-cheek\" d=\"M40 32h2v2h-2z\" fill=\"#f696c6\"/><g class=\"gotchi-collateral\"><path d=\"M41 14v1h-1v4h1v1h1v1h1v-7z\" fill=\"#64438e\"/><path d=\"M42 14v1h-1v4h1v1h1v-6z\" fill=\"#dea8ff\"/><path d=\"M42,14v1h-1v2h2v-3H42z\" fill=\"#c260ff\"/></g><g class=\"gotchi-eyeColor\"><path d=\"M39 25h4v1h-4zm0 2h4v1h-4z\"/><path d=\"M42 26h1v1h-1z\"/></g><g class=\"gotchi-wearable wearable-body\"><svg x=\"20\" y=\"31\"><g><path d=\"M23 6V5h-2V4h-2V3h-2V2H0v22h3v-2h3v2h4v-2h4v2h4v-2h3v2h3V6h-1z\" fill=\"#321227\"/><path d=\"M0 15v9h3v-2h3v2h4v-2h4v2h4v-2h3v2h3v-9H0z\" fill=\"#376560\"/><path d=\"M0 3v11h11V3H0zm23 4V6h-2V5h-2V4h-2V3h-5v11h12V7h-1z\" fill=\"#482b3e\"/><path d=\"M12 16v4h2v2h4v-2h3v2h3v-6H12zM0 16v2h3v1H0v3h3v-2h3v2h4v-2h1v-4H0zm9 1v1H7v-1h2zm-2 3v-1h2v1H7z\" fill=\"#6ca958\"/></g></svg></g><path class=\"gotchi-primary\" d=\"M39 45h-4v-1h-2v-1h-1v-1h-1v-1h.2v-5H31v-1h2v1h1v1h1v1h2v1h2v1h1v4h-1v1z\"/><path d=\"M39 44h-4v-1h-2v-1h-1v-1h-1v-5h2v1h1v1h1v1h2v1h2v4z\" fill=\"#fff\"/><g class=\"gotchi-secondary\"><path d=\"M32 40v1h-1v-1h1z\"/><path d=\"M33 42v-1h-1v1h1v1h2v-1h-2z\"/><path d=\"M39 43v1h-4v-1h4z\"/></g>\"><svg x=\"20\" y=\"31\"><g><g class=\"gotchi-sleeves gotchi-sleeves-right gotchi-sleeves-up\"><path d=\"M12 2h-1v1h-1v1H9v2h11V4h1V2h1V0H12v2z\" fill=\"#321227\"/><path d=\"M10 5h9V4h-9v1z\" fill=\"#b49698\"/><path d=\"M12 3h8V2h-8v1z\" fill=\"#6ca958\"/></g><g class=\"gotchi-sleeves gotchi-sleeves-right gotchi-sleeves-down\"><path d=\"M15 7V6h-1V5h-1V4h-2v11h2v1h2v1h2V7h-2z\" fill=\"#321227\"/><path d=\"M12 5v9h1V5h-1z\" fill=\"#b49698\"/><path d=\"M14 7v8h1V7h-1z\" fill=\"#6ca958\"/></g></g></svg></svg>"
    }
  }
}
```

### Portal Options SVG

This subgraph provides the SVGs for the Portal Options. The full documentation can be found here [LINK](https://github.com/aavegotchi/aavegotchi-portal-svg-subgraph)

The endpoint is: `https://api.thegraph.com/subgraphs/name/aavegotchi/aavegotchi-portal-svgs`&#x20;

The Playground can be found [HERE](https://thegraph.com/hosted-service/subgraph/aavegotchi/aavegotchi-portal-svgs)

The SVGs of the Portal Options can be queried as follows:

```
{
  portal(id: "4430") {
    id
    svgs
  }
}

```

the response contains the ID of the portal and an array of the SVGs of the single options.

```
{
  "data": {
    "portal": {
      "id": "4430",
      "svgs": [
        "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 64 64\"><style>.gotchi-primary{fill:#FF2A7A;}.gotchi-secondary{fill:#FFC3DF;}.gotchi-cheek{fill:#F696C6;}.gotchi-eyeColor{fill:#FF2A7A;}.gotchi-sleeves-up{display:none;}.gotchi-handsUp{display:none;}.gotchi-handsDownOpen{display:none;}.gotchi-handsDownClosed{display:block}</style><g class=\"gotchi-bg\"><defs fill=\"#fff\"><pattern id=\"a\" patternUnits=\"userSpaceOnUse\" width=\"4\" height=\"4\"><path d=\"M0 0h1v1H0zm2 2h1v1H2z\"/></pattern><pattern id=\"b\" patternUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"2\" height=\"2\"><path d=\"M0 0h1v1H0z\"/></pattern><pattern id=\"c\" patternUnits=\"userSpaceOnUse\" x=\"-2\" y=\"0\" width=\"8\" height=\"1\"><path d=\"M0 0h1v1H0zm2 0h1v1H2zm2 0h1v1H4z\"/></pattern><pattern id=\"d\" patternUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"4\" height=\"4\"><path d=\"M0 0h1v1H0zm0 2h1v1H0zm1 0V1h1v1zm1 0h1v1H2zm0-1h1V0H2zm1 2h1v1H3z\"/></pattern><pattern id=\"e\" patternUnits=\"userSpaceOnUse\" width=\"64\" height=\"32\"><path d=\"M4 4h1v1H4zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1z\"/><path fill=\"url(#a)\" d=\"M0 8h64v7H0z\"/><path fill=\"url(#b)\" d=\"M0 16h64v1H0z\"/><path fill=\"url(#c)\" d=\"M0 18h64v1H0z\"/><path fill=\"url(#b)\" d=\"M22 18h15v1H22zM0 20h64v3H0z\"/><path fill=\"url(#d)\" d=\"M0 24h64v8H0z\"/></pattern><mask id=\"f\"><path fill=\"url(#e)\" d=\"M0 0h64v32H0z\"/></mask></defs><path fill=\"#fff\" d=\"M0 0h64v32H0z\"/><path fill=\"#dea8ff\" class=\"gotchi-secondary\" mask=\"url(#f)\" d=\"M0 0h64v32H0z\"/><path fill=\"#dea8ff\" class=\"gotchi-secondary\" d=\"M0 32h64v32H0z\"/><path mask=\"url(#f)\" fill=\"#fff\" transform=\"matrix(1 0 0 -1 0 64)\" d=\"M0 0h64v32H0z\"/></g><g class=\"gotchi-body\"><g class=\"gotchi-primary\"><path d=\"M21 12h2v-2h-4v2h1z\"/><path d=\"M19 14v-2h-2v2h1zm6-4h2V8h-4v2h1z\"/><path d=\"M29 8h8V6H27v2h1zm16 6h2v-2h-2v1z\"/><path d=\"M48 14h-1v39h-2v2h4V14zm-11-4h4V8h-4v1z\"/><path d=\"M41 12h4v-2h-4v1zM17 53V14h-2v41h4v-2h-1z\"/><path d=\"M24 51h-5v2h5v-1z\"/><path d=\"M27 53h-3v2h5v-2h-1zm18-2h-5v2h5v-1z\"/><path d=\"M35 51h-6v2h6v-1z\"/><path d=\"M38 53h-3v2h5v-2h-1z\"/></g><g class=\"gotchi-secondary\"><path d=\"M18 43v6h2v-1h2v1h2v2h-5v2h-2V14h2v1h-1v26z\"/><path d=\"M27 51h-3v2h5v-2h-1zm11 0h-3v2h5v-2h-1z\"/><path d=\"M35 49h-2v-1h-2v1h-2v2h6v-1zM25 11h2v-1h-4v1h1zm-4 2h2v-1h-4v1h1zm24 31v5h-1v-1h-2v1h-2v2h5v2h2V14h-2v29z\"/><path d=\"M37 8H27v1h5v1h5V9zm8 4h-4v2h4v-1z\"/><path d=\"M41 10h-4v2h4v-1z\"/></g><path d=\"M44 14h-3v-2h-4v-2h-5V9h-5v2h-4v2h-4v2h-1v34h2v-1h2v1h2v2h5v-2h2v-1h2v1h2v2h5v-2h2v-1h2v1h1V14z\" fill=\"#fff\"/></g><path class=\"gotchi-cheek\" d=\"M21 32v2h2v-2h-1zm21 0h-1v2h2v-2z\"/><g class=\"gotchi-primary-mouth\"><path d=\"M29 32h-2v2h2v-1z\"/><path d=\"M33 34h-4v2h6v-2h-1z\"/><path d=\"M36 32h-1v2h2v-2z\"/></g><g class=\"gotchi-shadow\"><path opacity=\".25\" d=\"M25 58H19v1h1v1h24V59h1V58h-1z\" fill=\"#000\"/></g><g class=\"gotchi-collateral\"><path d=\"M30 9V8h-1v1h-1v2h1v1h2V9z\" fill=\"#ffc2db\"/><path d=\"M28 7V6h-1v2h2V7z\" fill=\"#ffdeec\"/><path d=\"M26 5h1v1h-1z\" fill=\"#fff\"/><path d=\"M33 13v-2h-1v1h-1v1h-2v1h1v1h4v-2z\" fill=\"#ff88b8\"/><g fill=\"#ff3085\"><path d=\"M27 5V4h-1V3h-1v3h1V5z\"/><path d=\"M27 5h1v1h-1z\"/><path d=\"M28 6h1v1h-1z\"/><path d=\"M29 7h1v1h-1z\"/><path d=\"M30 8h1v1h-1zm-2 1h1V8h-2v3h1z\"/><path d=\"M31 13v-1h-2v-1h-1v3h1v-1z\"/><path d=\"M31 12h1v-1h1v-1h-1V9h-1z\"/><path d=\"M34 12v-1h-1v2h1v2h1v-3z\"/><path d=\"M30 15v-1h-1v2h5v-1zm-4-9h1v2h-1z\"/></g></g><g class=\"gotchi-eyeColor\"><path d=\"M28 22H27V21H26H25H24H23V22H22V23H21V24V25V26V27H22V28H23V29H24H25H26H27V28H28V27H29V26V25V24V23H28V22Z\" /><path d=\"M42 23V22H41V21H40H39H38H37V22H36V23H35V24V25V26V27H36V28H37V29H38H39H40H41V28H42V27H43V26V25V24V23H42Z\" /></g><g class=\"gotchi-handsDownClosed\"><g class=\"gotchi-primary\"><path d=\"M19 42h1v1h-1zm1-6h1v1h-1z\"/><path d=\"M21 37h1v1h-1zm5 3v4h1v-4zm-5 3h-1v1h2v-1z\"/><path d=\"M24 44h-2v1h4v-1h-1zm1-5h-1v1h2v-1z\"/><path d=\"M23 38h-1v1h2v-1z\"/></g><g class=\"gotchi-secondary\"><path d=\"M19 43h1v1h-1zm5 2h-2v1h4v-1h-1z\"/><path d=\"M27 41v3h1v-3zm-6 3h-1v1h2v-1z\"/><path d=\"M26 44h1v1h-1zm-7-3h-1v2h1v-1z\"/></g><g class=\"gotchi-primary\"><path d=\"M44 42h1v1h-1zm-1-6h1v1h-1z\"/><path d=\"M42 37h1v1h-1z\"/><path d=\"M42 39v-1h-2v1h1zm0 4v1h2v-1h-1z\"/><path d=\"M40 44h-2v1h4v-1h-1z\"/><path d=\"M38 42v-2h-1v4h1v-1z\"/><path d=\"M40 40v-1h-2v1h1z\"/></g><g class=\"gotchi-secondary\"><path d=\"M42 44v1h2v-1h-1zm-5-2v-1h-1v3h1v-1z\"/><path d=\"M40 45h-2v1h4v-1h-1z\"/><path d=\"M37 44h1v1h-1zm7-1h1v1h-1z\"/></g></g><g class=\"gotchi-handsDownOpen\"><g class=\"gotchi-primary\"><path d=\"M14 40h1v1h-1v-1zm-1-6h1v1h-1v-1z\"/><path d=\"M14 33h1v1h-1v-1zm-2 2h1v1h-1v-1zm-5 3h1v4H7v-4zm5 3h2v1h-2v-1z\"/><path d=\"M8 42h4v1H8v-1zm0-5h2v1H8v-1z\"/><path d=\"M10,36h2v1h-2V36z\"/></g><g class=\"gotchi-secondary\"><path d=\"M14,39h1v1h-1V39z\"/><path d=\"M12,40h2v1h-2V40z\"/><path d=\"M8,41h4v1H8V41z\"/></g><path d=\"M8,38v3h4v-1h2v-1h1v-5h-1v1h-1v1h-1v1h-2v1H8z\" fill=\"#fff\" /><g class=\"gotchi-primary\"><path d=\"M49 40h1v1h-1v-1zm1-6h1v1h-1v-1z\"/><path d=\"M49 33h1v1h-1v-1zm2 2h1v1h-1v-1zm5 3h1v4h-1v-4zm-6 3h2v1h-2v-1z\"/><path d=\"M52 42h4v1h-4v-1zm2-5h2v1h-2v-1z\"/><path d=\"M52,36h2v1h-2V36z\"/></g><g class=\"gotchi-secondary\"><path d=\"M49,39h1v1h-1V39z\"/><path d=\"M50,40h2v1h-2V40z\"/><path d=\"M52,41h4v1h-4V41z\"/></g><path d=\"M54,38v-1h-2v-1h-1v-1h-1v-1h-1v5h1v1h2v1h4v-3H54z\" fill=\"#fff\" /></g><g class=\"gotchi-handsUp\"><g class=\"gotchi-secondary\"><path d=\"M50,38h1v1h-1V38z\"/><path d=\"M49 39h1v1h-1v-1zm2-2h1v1h-1v-1z\"/><path d=\"M52,36h2v1h-2V36z\"/><path d=\"M54,35h2v1h-2V35z\"/></g><path d=\"M52,32v1h-2v1h-1v5h1v-1h1v-1h1v-1h2v-1h2v-3H52z\" fill=\"#fff\"/><g class=\"gotchi-primary\"><path d=\"M49,33h1v1h-1V33z\"/><path d=\"M50 32h2v1h-2v-1zm0 7h1v1h-1v-1z\"/><path d=\"M49 40h1v1h-1v-1zm2-2h1v1h-1v-1z\"/><path d=\"M52 37h2v1h-2v-1zm0-6h4v1h-4v-1z\"/><path d=\"M56,32h1v4h-1V32z\"/><path d=\"M54,36h2v1h-2V36z\"/></g><g class=\"gotchi-secondary\"><path d=\"M13,38h1v1h-1V38z\"/><path d=\"M14 39h1v1h-1v-1zm-2-2h1v1h-1v-1z\"/><path d=\"M10,36h2v1h-2V36z\"/><path d=\"M8,35h2v1H8V35z\"/></g><path d=\"M8,32v3h2v1h2v1h1v1h1v1h1v-5h-1v-1h-2v-1H8z\" fill=\"#fff\"/><g class=\"gotchi-primary\"><path d=\"M14,33h1v1h-1V33z\"/><path d=\"M12 32h2v1h-2v-1zm1 7h1v1h-1v-1z\"/><path d=\"M14 40h1v1h-1v-1zm-2-2h1v1h-1v-1z\"/><path d=\"M10 37h2v1h-2v-1zm-2-6h4v1H8v-1z\"/><path d=\"M7,32h1v4H7V32z\"/><path d=\"M8,36h2v1H8V36z\"/></g></g></svg>",
        "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 64 64\"><style>.gotchi-primary{fill:#0074F9;}.gotchi-secondary{fill:#C8E1FD;}.gotchi-cheek{fill:#F696C6;}.gotchi-eyeColor{fill:#36818E;}.gotchi-sleeves-up{display:none;}.gotchi-handsUp{display:none;}.gotchi-handsDownOpen{display:none;}.gotchi-handsDownClosed{display:block}</style><g class=\"gotchi-bg\"><defs fill=\"#fff\"><pattern id=\"a\" patternUnits=\"userSpaceOnUse\" width=\"4\" height=\"4\"><path d=\"M0 0h1v1H0zm2 2h1v1H2z\"/></pattern><pattern id=\"b\" patternUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"2\" height=\"2\"><path d=\"M0 0h1v1H0z\"/></pattern><pattern id=\"c\" patternUnits=\"userSpaceOnUse\" x=\"-2\" y=\"0\" width=\"8\" height=\"1\"><path d=\"M0 0h1v1H0zm2 0h1v1H2zm2 0h1v1H4z\"/></pattern><pattern id=\"d\" patternUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"4\" height=\"4\"><path d=\"M0 0h1v1H0zm0 2h1v1H0zm1 0V1h1v1zm1 0h1v1H2zm0-1h1V0H2zm1 2h1v1H3z\"/></pattern><pattern id=\"e\" patternUnits=\"userSpaceOnUse\" width=\"64\" height=\"32\"><path d=\"M4 4h1v1H4zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1z\"/><path fill=\"url(#a)\" d=\"M0 8h64v7H0z\"/><path fill=\"url(#b)\" d=\"M0 16h64v1H0z\"/><path fill=\"url(#c)\" d=\"M0 18h64v1H0z\"/><path fill=\"url(#b)\" d=\"M22 18h15v1H22zM0 20h64v3H0z\"/><path fill=\"url(#d)\" d=\"M0 24h64v8H0z\"/></pattern><mask id=\"f\"><path fill=\"url(#e)\" d=\"M0 0h64v32H0z\"/></mask></defs><path fill=\"#fff\" d=\"M0 0h64v32H0z\"/><path fill=\"#dea8ff\" class=\"gotchi-secondary\" mask=\"url(#f)\" d=\"M0 0h64v32H0z\"/><path fill=\"#dea8ff\" class=\"gotchi-secondary\" d=\"M0 32h64v32H0z\"/><path mask=\"url(#f)\" fill=\"#fff\" transform=\"matrix(1 0 0 -1 0 64)\" d=\"M0 0h64v32H0z\"/></g><g class=\"gotchi-body\"><g class=\"gotchi-primary\"><path d=\"M21 12h2v-2h-4v2h1z\"/><path d=\"M19 14v-2h-2v2h1zm6-4h2V8h-4v2h1z\"/><path d=\"M29 8h8V6H27v2h1zm16 6h2v-2h-2v1z\"/><path d=\"M48 14h-1v39h-2v2h4V14zm-11-4h4V8h-4v1z\"/><path d=\"M41 12h4v-2h-4v1zM17 53V14h-2v41h4v-2h-1z\"/><path d=\"M24 51h-5v2h5v-1z\"/><path d=\"M27 53h-3v2h5v-2h-1zm18-2h-5v2h5v-1z\"/><path d=\"M35 51h-6v2h6v-1z\"/><path d=\"M38 53h-3v2h5v-2h-1z\"/></g><g class=\"gotchi-secondary\"><path d=\"M18 43v6h2v-1h2v1h2v2h-5v2h-2V14h2v1h-1v26z\"/><path d=\"M27 51h-3v2h5v-2h-1zm11 0h-3v2h5v-2h-1z\"/><path d=\"M35 49h-2v-1h-2v1h-2v2h6v-1zM25 11h2v-1h-4v1h1zm-4 2h2v-1h-4v1h1zm24 31v5h-1v-1h-2v1h-2v2h5v2h2V14h-2v29z\"/><path d=\"M37 8H27v1h5v1h5V9zm8 4h-4v2h4v-1z\"/><path d=\"M41 10h-4v2h4v-1z\"/></g><path d=\"M44 14h-3v-2h-4v-2h-5V9h-5v2h-4v2h-4v2h-1v34h2v-1h2v1h2v2h5v-2h2v-1h2v1h2v2h5v-2h2v-1h2v1h1V14z\" fill=\"#fff\"/></g><path class=\"gotchi-cheek\" d=\"M21 32v2h2v-2h-1zm21 0h-1v2h2v-2z\"/><g class=\"gotchi-primary-mouth\"><path d=\"M29 32h-2v2h2v-1z\"/><path d=\"M33 34h-4v2h6v-2h-1z\"/><path d=\"M36 32h-1v2h2v-2z\"/></g><g class=\"gotchi-shadow\"><path opacity=\".25\" d=\"M25 58H19v1h1v1h24V59h1V58h-1z\" fill=\"#000\"/></g><g class=\"gotchi-collateral\" fill=\"#0074f9\"><path d=\"M30 16h1v1h-1zm4 1h1v1h-1z\"/><path d=\"M33 16h1v1h-1zm1 2h1v1h-1z\"/><path d=\"M34 19h1v1h-1z\"/><path d=\"M34 20h1v1h-1zm-2 1h1v1h-1z\"/><path d=\"M33 21h1v1h-1zm-2 0h1v1h-1z\"/><path d=\"M30 21h1v1h-1z\"/><path d=\"M29 20h1v1h-1z\"/><path d=\"M30 19h1v1h-1z\"/><path d=\"M30 18h1v1h-1z\"/><path d=\"M29 18h1v1h-1zm4-7h1v1h-1zm-2 0h1v1h-1z\"/><path d=\"M30 11h1v1h-1zm2 0h1v1h-1zm-3 4h1v1h-1zm0-2h1v1h-1z\"/><path d=\"M29 12h1v1h-1zm0 2h1v1h-1zm5-2h1v1h-1zm-1 2h1v1h-1z\"/><path d=\"M34 14h1v1h-1z\"/><path d=\"M33 13h1v1h-1zm-1.5 2h1v1h-1z\"/><path d=\"M31.5 14h1v1h-1z\"/><path d=\"M31.5 13h1v1h-1zm0 3h1v1h-1zm0 2h1v1h-1z\"/><path d=\"M31.5 19h1v1h-1zm0-2h1v1h-1z\"/></g><g class=\"gotchi-eyeColor\"><rect x=\"21\" y=\"23\" width=\"8\" height=\"1\" class=\"gotchi-primary\" /><rect x=\"24\" y=\"24\" width=\"2\" height=\"2\" /><rect x=\"35\" y=\"23\" width=\"8\" height=\"1\" class=\"gotchi-primary\" /><rect x=\"38\" y=\"24\" width=\"2\" height=\"2\" /><rect x=\"37\" y=\"24\" width=\"4\" height=\"1\" /><rect x=\"23\" y=\"24\" width=\"4\" height=\"1\" /></g><g class=\"gotchi-handsDownClosed\"><g class=\"gotchi-primary\"><path d=\"M19 42h1v1h-1zm1-6h1v1h-1z\"/><path d=\"M21 37h1v1h-1zm5 3v4h1v-4zm-5 3h-1v1h2v-1z\"/><path d=\"M24 44h-2v1h4v-1h-1zm1-5h-1v1h2v-1z\"/><path d=\"M23 38h-1v1h2v-1z\"/></g><g class=\"gotchi-secondary\"><path d=\"M19 43h1v1h-1zm5 2h-2v1h4v-1h-1z\"/><path d=\"M27 41v3h1v-3zm-6 3h-1v1h2v-1z\"/><path d=\"M26 44h1v1h-1zm-7-3h-1v2h1v-1z\"/></g><g class=\"gotchi-primary\"><path d=\"M44 42h1v1h-1zm-1-6h1v1h-1z\"/><path d=\"M42 37h1v1h-1z\"/><path d=\"M42 39v-1h-2v1h1zm0 4v1h2v-1h-1z\"/><path d=\"M40 44h-2v1h4v-1h-1z\"/><path d=\"M38 42v-2h-1v4h1v-1z\"/><path d=\"M40 40v-1h-2v1h1z\"/></g><g class=\"gotchi-secondary\"><path d=\"M42 44v1h2v-1h-1zm-5-2v-1h-1v3h1v-1z\"/><path d=\"M40 45h-2v1h4v-1h-1z\"/><path d=\"M37 44h1v1h-1zm7-1h1v1h-1z\"/></g></g><g class=\"gotchi-handsDownOpen\"><g class=\"gotchi-primary\"><path d=\"M14 40h1v1h-1v-1zm-1-6h1v1h-1v-1z\"/><path d=\"M14 33h1v1h-1v-1zm-2 2h1v1h-1v-1zm-5 3h1v4H7v-4zm5 3h2v1h-2v-1z\"/><path d=\"M8 42h4v1H8v-1zm0-5h2v1H8v-1z\"/><path d=\"M10,36h2v1h-2V36z\"/></g><g class=\"gotchi-secondary\"><path d=\"M14,39h1v1h-1V39z\"/><path d=\"M12,40h2v1h-2V40z\"/><path d=\"M8,41h4v1H8V41z\"/></g><path d=\"M8,38v3h4v-1h2v-1h1v-5h-1v1h-1v1h-1v1h-2v1H8z\" fill=\"#fff\" /><g class=\"gotchi-primary\"><path d=\"M49 40h1v1h-1v-1zm1-6h1v1h-1v-1z\"/><path d=\"M49 33h1v1h-1v-1zm2 2h1v1h-1v-1zm5 3h1v4h-1v-4zm-6 3h2v1h-2v-1z\"/><path d=\"M52 42h4v1h-4v-1zm2-5h2v1h-2v-1z\"/><path d=\"M52,36h2v1h-2V36z\"/></g><g class=\"gotchi-secondary\"><path d=\"M49,39h1v1h-1V39z\"/><path d=\"M50,40h2v1h-2V40z\"/><path d=\"M52,41h4v1h-4V41z\"/></g><path d=\"M54,38v-1h-2v-1h-1v-1h-1v-1h-1v5h1v1h2v1h4v-3H54z\" fill=\"#fff\" /></g><g class=\"gotchi-handsUp\"><g class=\"gotchi-secondary\"><path d=\"M50,38h1v1h-1V38z\"/><path d=\"M49 39h1v1h-1v-1zm2-2h1v1h-1v-1z\"/><path d=\"M52,36h2v1h-2V36z\"/><path d=\"M54,35h2v1h-2V35z\"/></g><path d=\"M52,32v1h-2v1h-1v5h1v-1h1v-1h1v-1h2v-1h2v-3H52z\" fill=\"#fff\"/><g class=\"gotchi-primary\"><path d=\"M49,33h1v1h-1V33z\"/><path d=\"M50 32h2v1h-2v-1zm0 7h1v1h-1v-1z\"/><path d=\"M49 40h1v1h-1v-1zm2-2h1v1h-1v-1z\"/><path d=\"M52 37h2v1h-2v-1zm0-6h4v1h-4v-1z\"/><path d=\"M56,32h1v4h-1V32z\"/><path d=\"M54,36h2v1h-2V36z\"/></g><g class=\"gotchi-secondary\"><path d=\"M13,38h1v1h-1V38z\"/><path d=\"M14 39h1v1h-1v-1zm-2-2h1v1h-1v-1z\"/><path d=\"M10,36h2v1h-2V36z\"/><path d=\"M8,35h2v1H8V35z\"/></g><path d=\"M8,32v3h2v1h2v1h1v1h1v1h1v-5h-1v-1h-2v-1H8z\" fill=\"#fff\"/><g class=\"gotchi-primary\"><path d=\"M14,33h1v1h-1V33z\"/><path d=\"M12 32h2v1h-2v-1zm1 7h1v1h-1v-1z\"/><path d=\"M14 40h1v1h-1v-1zm-2-2h1v1h-1v-1z\"/><path d=\"M10 37h2v1h-2v-1zm-2-6h4v1H8v-1z\"/><path d=\"M7,32h1v4H7V32z\"/><path d=\"M8,36h2v1H8V36z\"/></g></g></svg>",
        "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 64 64\"><style>.gotchi-primary{fill:#64438E;}.gotchi-secondary{fill:#EDD3FD;}.gotchi-cheek{fill:#F696C6;}.gotchi-eyeColor{fill:#5D24BF;}.gotchi-sleeves-up{display:none;}.gotchi-handsUp{display:none;}.gotchi-handsDownOpen{display:none;}.gotchi-handsDownClosed{display:block}</style><g class=\"gotchi-bg\"><defs fill=\"#fff\"><pattern id=\"a\" patternUnits=\"userSpaceOnUse\" width=\"4\" height=\"4\"><path d=\"M0 0h1v1H0zm2 2h1v1H2z\"/></pattern><pattern id=\"b\" patternUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"2\" height=\"2\"><path d=\"M0 0h1v1H0z\"/></pattern><pattern id=\"c\" patternUnits=\"userSpaceOnUse\" x=\"-2\" y=\"0\" width=\"8\" height=\"1\"><path d=\"M0 0h1v1H0zm2 0h1v1H2zm2 0h1v1H4z\"/></pattern><pattern id=\"d\" patternUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"4\" height=\"4\"><path d=\"M0 0h1v1H0zm0 2h1v1H0zm1 0V1h1v1zm1 0h1v1H2zm0-1h1V0H2zm1 2h1v1H3z\"/></pattern><pattern id=\"e\" patternUnits=\"userSpaceOnUse\" width=\"64\" height=\"32\"><path d=\"M4 4h1v1H4zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1z\"/><path fill=\"url(#a)\" d=\"M0 8h64v7H0z\"/><path fill=\"url(#b)\" d=\"M0 16h64v1H0z\"/><path fill=\"url(#c)\" d=\"M0 18h64v1H0z\"/><path fill=\"url(#b)\" d=\"M22 18h15v1H22zM0 20h64v3H0z\"/><path fill=\"url(#d)\" d=\"M0 24h64v8H0z\"/></pattern><mask id=\"f\"><path fill=\"url(#e)\" d=\"M0 0h64v32H0z\"/></mask></defs><path fill=\"#fff\" d=\"M0 0h64v32H0z\"/><path fill=\"#dea8ff\" class=\"gotchi-secondary\" mask=\"url(#f)\" d=\"M0 0h64v32H0z\"/><path fill=\"#dea8ff\" class=\"gotchi-secondary\" d=\"M0 32h64v32H0z\"/><path mask=\"url(#f)\" fill=\"#fff\" transform=\"matrix(1 0 0 -1 0 64)\" d=\"M0 0h64v32H0z\"/></g><g class=\"gotchi-body\"><g class=\"gotchi-primary\"><path d=\"M21 12h2v-2h-4v2h1z\"/><path d=\"M19 14v-2h-2v2h1zm6-4h2V8h-4v2h1z\"/><path d=\"M29 8h8V6H27v2h1zm16 6h2v-2h-2v1z\"/><path d=\"M48 14h-1v39h-2v2h4V14zm-11-4h4V8h-4v1z\"/><path d=\"M41 12h4v-2h-4v1zM17 53V14h-2v41h4v-2h-1z\"/><path d=\"M24 51h-5v2h5v-1z\"/><path d=\"M27 53h-3v2h5v-2h-1zm18-2h-5v2h5v-1z\"/><path d=\"M35 51h-6v2h6v-1z\"/><path d=\"M38 53h-3v2h5v-2h-1z\"/></g><g class=\"gotchi-secondary\"><path d=\"M18 43v6h2v-1h2v1h2v2h-5v2h-2V14h2v1h-1v26z\"/><path d=\"M27 51h-3v2h5v-2h-1zm11 0h-3v2h5v-2h-1z\"/><path d=\"M35 49h-2v-1h-2v1h-2v2h6v-1zM25 11h2v-1h-4v1h1zm-4 2h2v-1h-4v1h1zm24 31v5h-1v-1h-2v1h-2v2h5v2h2V14h-2v29z\"/><path d=\"M37 8H27v1h5v1h5V9zm8 4h-4v2h4v-1z\"/><path d=\"M41 10h-4v2h4v-1z\"/></g><path d=\"M44 14h-3v-2h-4v-2h-5V9h-5v2h-4v2h-4v2h-1v34h2v-1h2v1h2v2h5v-2h2v-1h2v1h2v2h5v-2h2v-1h2v1h1V14z\" fill=\"#fff\"/></g><path class=\"gotchi-cheek\" d=\"M21 32v2h2v-2h-1zm21 0h-1v2h2v-2z\"/><g class=\"gotchi-primary-mouth\"><path d=\"M29 32h-2v2h2v-1z\"/><path d=\"M33 34h-4v2h6v-2h-1z\"/><path d=\"M36 32h-1v2h2v-2z\"/></g><g class=\"gotchi-shadow\"><path opacity=\".25\" d=\"M25 58H19v1h1v1h24V59h1V58h-1z\" fill=\"#000\"/></g><g class=\"gotchi-collateral\"><g fill=\"#64438e\"><path d=\"M29 17v-2h-1v4h1v-1z\"/><path d=\"M29 14h1v1h-1zm0 5h1v1h-1z\"/><path d=\"M30 20h1v1h-1z\"/><path d=\"M31 21v1h2v-1h-1zm-1-8h1v1h-1zm4 6h1v1h-1zm0-5h1v1h-1z\"/><path d=\"M33 13v-1h-2v1h1zm0 7h1v1h-1z\"/><path d=\"M33 13h1v1h-1zm2 2v4h1v-4z\"/></g><path d=\"M34 17h-2v4h1v-1h1v-1h1v-2z\" fill=\"#c260ff\"/><g fill=\"#dea8ff\"><path d=\"M30 17h-1v2h1v1h1v1h1v-4h-1z\"/><path d=\"M34 15v-1h-1v-1h-1v4h3v-2z\"/></g><path d=\"M31 17h1v-4h-1v1h-1v1h-1v2h1z\" fill=\"#edd3fd\"/></g><g class=\"gotchi-eyeColor\"><path d=\"M27 23H26H25H24H23H22H21V24H22H23H24V25H23H22H21V26H22H23H24H25H26H27H28H29V25H28H27H26V24H27H28H29V23H28H27Z\" class=\"gotchi-primary\" /><path d=\"M41 24H42H43V23H42H41H40H39H38H37H36H35V24H36H37H38V25H37H36H35V26H36H37H38H39H40H41H42H43V25H42H41H40V24H41Z\" class=\"gotchi-primary\" /><rect x=\"24\" y=\"24\" width=\"2\" height=\"1\" /><rect x=\"38\" y=\"24\" width=\"2\" height=\"1\" /></g><g class=\"gotchi-handsDownClosed\"><g class=\"gotchi-primary\"><path d=\"M19 42h1v1h-1zm1-6h1v1h-1z\"/><path d=\"M21 37h1v1h-1zm5 3v4h1v-4zm-5 3h-1v1h2v-1z\"/><path d=\"M24 44h-2v1h4v-1h-1zm1-5h-1v1h2v-1z\"/><path d=\"M23 38h-1v1h2v-1z\"/></g><g class=\"gotchi-secondary\"><path d=\"M19 43h1v1h-1zm5 2h-2v1h4v-1h-1z\"/><path d=\"M27 41v3h1v-3zm-6 3h-1v1h2v-1z\"/><path d=\"M26 44h1v1h-1zm-7-3h-1v2h1v-1z\"/></g><g class=\"gotchi-primary\"><path d=\"M44 42h1v1h-1zm-1-6h1v1h-1z\"/><path d=\"M42 37h1v1h-1z\"/><path d=\"M42 39v-1h-2v1h1zm0 4v1h2v-1h-1z\"/><path d=\"M40 44h-2v1h4v-1h-1z\"/><path d=\"M38 42v-2h-1v4h1v-1z\"/><path d=\"M40 40v-1h-2v1h1z\"/></g><g class=\"gotchi-secondary\"><path d=\"M42 44v1h2v-1h-1zm-5-2v-1h-1v3h1v-1z\"/><path d=\"M40 45h-2v1h4v-1h-1z\"/><path d=\"M37 44h1v1h-1zm7-1h1v1h-1z\"/></g></g><g class=\"gotchi-handsDownOpen\"><g class=\"gotchi-primary\"><path d=\"M14 40h1v1h-1v-1zm-1-6h1v1h-1v-1z\"/><path d=\"M14 33h1v1h-1v-1zm-2 2h1v1h-1v-1zm-5 3h1v4H7v-4zm5 3h2v1h-2v-1z\"/><path d=\"M8 42h4v1H8v-1zm0-5h2v1H8v-1z\"/><path d=\"M10,36h2v1h-2V36z\"/></g><g class=\"gotchi-secondary\"><path d=\"M14,39h1v1h-1V39z\"/><path d=\"M12,40h2v1h-2V40z\"/><path d=\"M8,41h4v1H8V41z\"/></g><path d=\"M8,38v3h4v-1h2v-1h1v-5h-1v1h-1v1h-1v1h-2v1H8z\" fill=\"#fff\" /><g class=\"gotchi-primary\"><path d=\"M49 40h1v1h-1v-1zm1-6h1v1h-1v-1z\"/><path d=\"M49 33h1v1h-1v-1zm2 2h1v1h-1v-1zm5 3h1v4h-1v-4zm-6 3h2v1h-2v-1z\"/><path d=\"M52 42h4v1h-4v-1zm2-5h2v1h-2v-1z\"/><path d=\"M52,36h2v1h-2V36z\"/></g><g class=\"gotchi-secondary\"><path d=\"M49,39h1v1h-1V39z\"/><path d=\"M50,40h2v1h-2V40z\"/><path d=\"M52,41h4v1h-4V41z\"/></g><path d=\"M54,38v-1h-2v-1h-1v-1h-1v-1h-1v5h1v1h2v1h4v-3H54z\" fill=\"#fff\" /></g><g class=\"gotchi-handsUp\"><g class=\"gotchi-secondary\"><path d=\"M50,38h1v1h-1V38z\"/><path d=\"M49 39h1v1h-1v-1zm2-2h1v1h-1v-1z\"/><path d=\"M52,36h2v1h-2V36z\"/><path d=\"M54,35h2v1h-2V35z\"/></g><path d=\"M52,32v1h-2v1h-1v5h1v-1h1v-1h1v-1h2v-1h2v-3H52z\" fill=\"#fff\"/><g class=\"gotchi-primary\"><path d=\"M49,33h1v1h-1V33z\"/><path d=\"M50 32h2v1h-2v-1zm0 7h1v1h-1v-1z\"/><path d=\"M49 40h1v1h-1v-1zm2-2h1v1h-1v-1z\"/><path d=\"M52 37h2v1h-2v-1zm0-6h4v1h-4v-1z\"/><path d=\"M56,32h1v4h-1V32z\"/><path d=\"M54,36h2v1h-2V36z\"/></g><g class=\"gotchi-secondary\"><path d=\"M13,38h1v1h-1V38z\"/><path d=\"M14 39h1v1h-1v-1zm-2-2h1v1h-1v-1z\"/><path d=\"M10,36h2v1h-2V36z\"/><path d=\"M8,35h2v1H8V35z\"/></g><path d=\"M8,32v3h2v1h2v1h1v1h1v1h1v-5h-1v-1h-2v-1H8z\" fill=\"#fff\"/><g class=\"gotchi-primary\"><path d=\"M14,33h1v1h-1V33z\"/><path d=\"M12 32h2v1h-2v-1zm1 7h1v1h-1v-1z\"/><path d=\"M14 40h1v1h-1v-1zm-2-2h1v1h-1v-1z\"/><path d=\"M10 37h2v1h-2v-1zm-2-6h4v1H8v-1z\"/><path d=\"M7,32h1v4H7V32z\"/><path d=\"M8,36h2v1H8V36z\"/></g></g></svg>",
        "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 64 64\"><style>.gotchi-primary{fill:#FF2A7A;}.gotchi-secondary{fill:#FFC3DF;}.gotchi-cheek{fill:#F696C6;}.gotchi-eyeColor{fill:#FF2A7A;}.gotchi-sleeves-up{display:none;}.gotchi-handsUp{display:none;}.gotchi-handsDownOpen{display:none;}.gotchi-handsDownClosed{display:block}</style><g class=\"gotchi-bg\"><defs fill=\"#fff\"><pattern id=\"a\" patternUnits=\"userSpaceOnUse\" width=\"4\" height=\"4\"><path d=\"M0 0h1v1H0zm2 2h1v1H2z\"/></pattern><pattern id=\"b\" patternUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"2\" height=\"2\"><path d=\"M0 0h1v1H0z\"/></pattern><pattern id=\"c\" patternUnits=\"userSpaceOnUse\" x=\"-2\" y=\"0\" width=\"8\" height=\"1\"><path d=\"M0 0h1v1H0zm2 0h1v1H2zm2 0h1v1H4z\"/></pattern><pattern id=\"d\" patternUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"4\" height=\"4\"><path d=\"M0 0h1v1H0zm0 2h1v1H0zm1 0V1h1v1zm1 0h1v1H2zm0-1h1V0H2zm1 2h1v1H3z\"/></pattern><pattern id=\"e\" patternUnits=\"userSpaceOnUse\" width=\"64\" height=\"32\"><path d=\"M4 4h1v1H4zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1z\"/><path fill=\"url(#a)\" d=\"M0 8h64v7H0z\"/><path fill=\"url(#b)\" d=\"M0 16h64v1H0z\"/><path fill=\"url(#c)\" d=\"M0 18h64v1H0z\"/><path fill=\"url(#b)\" d=\"M22 18h15v1H22zM0 20h64v3H0z\"/><path fill=\"url(#d)\" d=\"M0 24h64v8H0z\"/></pattern><mask id=\"f\"><path fill=\"url(#e)\" d=\"M0 0h64v32H0z\"/></mask></defs><path fill=\"#fff\" d=\"M0 0h64v32H0z\"/><path fill=\"#dea8ff\" class=\"gotchi-secondary\" mask=\"url(#f)\" d=\"M0 0h64v32H0z\"/><path fill=\"#dea8ff\" class=\"gotchi-secondary\" d=\"M0 32h64v32H0z\"/><path mask=\"url(#f)\" fill=\"#fff\" transform=\"matrix(1 0 0 -1 0 64)\" d=\"M0 0h64v32H0z\"/></g><g class=\"gotchi-body\"><g class=\"gotchi-primary\"><path d=\"M21 12h2v-2h-4v2h1z\"/><path d=\"M19 14v-2h-2v2h1zm6-4h2V8h-4v2h1z\"/><path d=\"M29 8h8V6H27v2h1zm16 6h2v-2h-2v1z\"/><path d=\"M48 14h-1v39h-2v2h4V14zm-11-4h4V8h-4v1z\"/><path d=\"M41 12h4v-2h-4v1zM17 53V14h-2v41h4v-2h-1z\"/><path d=\"M24 51h-5v2h5v-1z\"/><path d=\"M27 53h-3v2h5v-2h-1zm18-2h-5v2h5v-1z\"/><path d=\"M35 51h-6v2h6v-1z\"/><path d=\"M38 53h-3v2h5v-2h-1z\"/></g><g class=\"gotchi-secondary\"><path d=\"M18 43v6h2v-1h2v1h2v2h-5v2h-2V14h2v1h-1v26z\"/><path d=\"M27 51h-3v2h5v-2h-1zm11 0h-3v2h5v-2h-1z\"/><path d=\"M35 49h-2v-1h-2v1h-2v2h6v-1zM25 11h2v-1h-4v1h1zm-4 2h2v-1h-4v1h1zm24 31v5h-1v-1h-2v1h-2v2h5v2h2V14h-2v29z\"/><path d=\"M37 8H27v1h5v1h5V9zm8 4h-4v2h4v-1z\"/><path d=\"M41 10h-4v2h4v-1z\"/></g><path d=\"M44 14h-3v-2h-4v-2h-5V9h-5v2h-4v2h-4v2h-1v34h2v-1h2v1h2v2h5v-2h2v-1h2v1h2v2h5v-2h2v-1h2v1h1V14z\" fill=\"#fff\"/></g><path class=\"gotchi-cheek\" d=\"M21 32v2h2v-2h-1zm21 0h-1v2h2v-2z\"/><g class=\"gotchi-primary-mouth\"><path d=\"M29 32h-2v2h2v-1z\"/><path d=\"M33 34h-4v2h6v-2h-1z\"/><path d=\"M36 32h-1v2h2v-2z\"/></g><g class=\"gotchi-shadow\"><path opacity=\".25\" d=\"M25 58H19v1h1v1h24V59h1V58h-1z\" fill=\"#000\"/></g><g class=\"gotchi-collateral\"><path d=\"M30 9V8h-1v1h-1v2h1v1h2V9z\" fill=\"#ffc2db\"/><path d=\"M28 7V6h-1v2h2V7z\" fill=\"#ffdeec\"/><path d=\"M26 5h1v1h-1z\" fill=\"#fff\"/><path d=\"M33 13v-2h-1v1h-1v1h-2v1h1v1h4v-2z\" fill=\"#ff88b8\"/><g fill=\"#ff3085\"><path d=\"M27 5V4h-1V3h-1v3h1V5z\"/><path d=\"M27 5h1v1h-1z\"/><path d=\"M28 6h1v1h-1z\"/><path d=\"M29 7h1v1h-1z\"/><path d=\"M30 8h1v1h-1zm-2 1h1V8h-2v3h1z\"/><path d=\"M31 13v-1h-2v-1h-1v3h1v-1z\"/><path d=\"M31 12h1v-1h1v-1h-1V9h-1z\"/><path d=\"M34 12v-1h-1v2h1v2h1v-3z\"/><path d=\"M30 15v-1h-1v2h5v-1zm-4-9h1v2h-1z\"/></g></g><g class=\"gotchi-eyeColor\"><path d=\"M27 23H26H25H24H23H22H21V24H22H23H24V25H23H22H21V26H22H23H24H25H26H27H28H29V25H28H27H26V24H27H28H29V23H28H27Z\" class=\"gotchi-primary\" /><path d=\"M41 24H42H43V23H42H41H40H39H38H37H36H35V24H36H37H38V25H37H36H35V26H36H37H38H39H40H41H42H43V25H42H41H40V24H41Z\" class=\"gotchi-primary\" /><rect x=\"24\" y=\"24\" width=\"2\" height=\"1\" /><rect x=\"38\" y=\"24\" width=\"2\" height=\"1\" /></g><g class=\"gotchi-handsDownClosed\"><g class=\"gotchi-primary\"><path d=\"M19 42h1v1h-1zm1-6h1v1h-1z\"/><path d=\"M21 37h1v1h-1zm5 3v4h1v-4zm-5 3h-1v1h2v-1z\"/><path d=\"M24 44h-2v1h4v-1h-1zm1-5h-1v1h2v-1z\"/><path d=\"M23 38h-1v1h2v-1z\"/></g><g class=\"gotchi-secondary\"><path d=\"M19 43h1v1h-1zm5 2h-2v1h4v-1h-1z\"/><path d=\"M27 41v3h1v-3zm-6 3h-1v1h2v-1z\"/><path d=\"M26 44h1v1h-1zm-7-3h-1v2h1v-1z\"/></g><g class=\"gotchi-primary\"><path d=\"M44 42h1v1h-1zm-1-6h1v1h-1z\"/><path d=\"M42 37h1v1h-1z\"/><path d=\"M42 39v-1h-2v1h1zm0 4v1h2v-1h-1z\"/><path d=\"M40 44h-2v1h4v-1h-1z\"/><path d=\"M38 42v-2h-1v4h1v-1z\"/><path d=\"M40 40v-1h-2v1h1z\"/></g><g class=\"gotchi-secondary\"><path d=\"M42 44v1h2v-1h-1zm-5-2v-1h-1v3h1v-1z\"/><path d=\"M40 45h-2v1h4v-1h-1z\"/><path d=\"M37 44h1v1h-1zm7-1h1v1h-1z\"/></g></g><g class=\"gotchi-handsDownOpen\"><g class=\"gotchi-primary\"><path d=\"M14 40h1v1h-1v-1zm-1-6h1v1h-1v-1z\"/><path d=\"M14 33h1v1h-1v-1zm-2 2h1v1h-1v-1zm-5 3h1v4H7v-4zm5 3h2v1h-2v-1z\"/><path d=\"M8 42h4v1H8v-1zm0-5h2v1H8v-1z\"/><path d=\"M10,36h2v1h-2V36z\"/></g><g class=\"gotchi-secondary\"><path d=\"M14,39h1v1h-1V39z\"/><path d=\"M12,40h2v1h-2V40z\"/><path d=\"M8,41h4v1H8V41z\"/></g><path d=\"M8,38v3h4v-1h2v-1h1v-5h-1v1h-1v1h-1v1h-2v1H8z\" fill=\"#fff\" /><g class=\"gotchi-primary\"><path d=\"M49 40h1v1h-1v-1zm1-6h1v1h-1v-1z\"/><path d=\"M49 33h1v1h-1v-1zm2 2h1v1h-1v-1zm5 3h1v4h-1v-4zm-6 3h2v1h-2v-1z\"/><path d=\"M52 42h4v1h-4v-1zm2-5h2v1h-2v-1z\"/><path d=\"M52,36h2v1h-2V36z\"/></g><g class=\"gotchi-secondary\"><path d=\"M49,39h1v1h-1V39z\"/><path d=\"M50,40h2v1h-2V40z\"/><path d=\"M52,41h4v1h-4V41z\"/></g><path d=\"M54,38v-1h-2v-1h-1v-1h-1v-1h-1v5h1v1h2v1h4v-3H54z\" fill=\"#fff\" /></g><g class=\"gotchi-handsUp\"><g class=\"gotchi-secondary\"><path d=\"M50,38h1v1h-1V38z\"/><path d=\"M49 39h1v1h-1v-1zm2-2h1v1h-1v-1z\"/><path d=\"M52,36h2v1h-2V36z\"/><path d=\"M54,35h2v1h-2V35z\"/></g><path d=\"M52,32v1h-2v1h-1v5h1v-1h1v-1h1v-1h2v-1h2v-3H52z\" fill=\"#fff\"/><g class=\"gotchi-primary\"><path d=\"M49,33h1v1h-1V33z\"/><path d=\"M50 32h2v1h-2v-1zm0 7h1v1h-1v-1z\"/><path d=\"M49 40h1v1h-1v-1zm2-2h1v1h-1v-1z\"/><path d=\"M52 37h2v1h-2v-1zm0-6h4v1h-4v-1z\"/><path d=\"M56,32h1v4h-1V32z\"/><path d=\"M54,36h2v1h-2V36z\"/></g><g class=\"gotchi-secondary\"><path d=\"M13,38h1v1h-1V38z\"/><path d=\"M14 39h1v1h-1v-1zm-2-2h1v1h-1v-1z\"/><path d=\"M10,36h2v1h-2V36z\"/><path d=\"M8,35h2v1H8V35z\"/></g><path d=\"M8,32v3h2v1h2v1h1v1h1v1h1v-5h-1v-1h-2v-1H8z\" fill=\"#fff\"/><g class=\"gotchi-primary\"><path d=\"M14,33h1v1h-1V33z\"/><path d=\"M12 32h2v1h-2v-1zm1 7h1v1h-1v-1z\"/><path d=\"M14 40h1v1h-1v-1zm-2-2h1v1h-1v-1z\"/><path d=\"M10 37h2v1h-2v-1zm-2-6h4v1H8v-1z\"/><path d=\"M7,32h1v4H7V32z\"/><path d=\"M8,36h2v1H8V36z\"/></g></g></svg>",
        "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 64 64\"><style>.gotchi-primary{fill:#FF2A7A;}.gotchi-secondary{fill:#FFC3DF;}.gotchi-cheek{fill:#F696C6;}.gotchi-eyeColor{fill:#FF2A7A;}.gotchi-sleeves-up{display:none;}.gotchi-handsUp{display:none;}.gotchi-handsDownOpen{display:none;}.gotchi-handsDownClosed{display:block}</style><g class=\"gotchi-bg\"><defs fill=\"#fff\"><pattern id=\"a\" patternUnits=\"userSpaceOnUse\" width=\"4\" height=\"4\"><path d=\"M0 0h1v1H0zm2 2h1v1H2z\"/></pattern><pattern id=\"b\" patternUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"2\" height=\"2\"><path d=\"M0 0h1v1H0z\"/></pattern><pattern id=\"c\" patternUnits=\"userSpaceOnUse\" x=\"-2\" y=\"0\" width=\"8\" height=\"1\"><path d=\"M0 0h1v1H0zm2 0h1v1H2zm2 0h1v1H4z\"/></pattern><pattern id=\"d\" patternUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"4\" height=\"4\"><path d=\"M0 0h1v1H0zm0 2h1v1H0zm1 0V1h1v1zm1 0h1v1H2zm0-1h1V0H2zm1 2h1v1H3z\"/></pattern><pattern id=\"e\" patternUnits=\"userSpaceOnUse\" width=\"64\" height=\"32\"><path d=\"M4 4h1v1H4zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1z\"/><path fill=\"url(#a)\" d=\"M0 8h64v7H0z\"/><path fill=\"url(#b)\" d=\"M0 16h64v1H0z\"/><path fill=\"url(#c)\" d=\"M0 18h64v1H0z\"/><path fill=\"url(#b)\" d=\"M22 18h15v1H22zM0 20h64v3H0z\"/><path fill=\"url(#d)\" d=\"M0 24h64v8H0z\"/></pattern><mask id=\"f\"><path fill=\"url(#e)\" d=\"M0 0h64v32H0z\"/></mask></defs><path fill=\"#fff\" d=\"M0 0h64v32H0z\"/><path fill=\"#dea8ff\" class=\"gotchi-secondary\" mask=\"url(#f)\" d=\"M0 0h64v32H0z\"/><path fill=\"#dea8ff\" class=\"gotchi-secondary\" d=\"M0 32h64v32H0z\"/><path mask=\"url(#f)\" fill=\"#fff\" transform=\"matrix(1 0 0 -1 0 64)\" d=\"M0 0h64v32H0z\"/></g><g class=\"gotchi-body\"><g class=\"gotchi-primary\"><path d=\"M21 12h2v-2h-4v2h1z\"/><path d=\"M19 14v-2h-2v2h1zm6-4h2V8h-4v2h1z\"/><path d=\"M29 8h8V6H27v2h1zm16 6h2v-2h-2v1z\"/><path d=\"M48 14h-1v39h-2v2h4V14zm-11-4h4V8h-4v1z\"/><path d=\"M41 12h4v-2h-4v1zM17 53V14h-2v41h4v-2h-1z\"/><path d=\"M24 51h-5v2h5v-1z\"/><path d=\"M27 53h-3v2h5v-2h-1zm18-2h-5v2h5v-1z\"/><path d=\"M35 51h-6v2h6v-1z\"/><path d=\"M38 53h-3v2h5v-2h-1z\"/></g><g class=\"gotchi-secondary\"><path d=\"M18 43v6h2v-1h2v1h2v2h-5v2h-2V14h2v1h-1v26z\"/><path d=\"M27 51h-3v2h5v-2h-1zm11 0h-3v2h5v-2h-1z\"/><path d=\"M35 49h-2v-1h-2v1h-2v2h6v-1zM25 11h2v-1h-4v1h1zm-4 2h2v-1h-4v1h1zm24 31v5h-1v-1h-2v1h-2v2h5v2h2V14h-2v29z\"/><path d=\"M37 8H27v1h5v1h5V9zm8 4h-4v2h4v-1z\"/><path d=\"M41 10h-4v2h4v-1z\"/></g><path d=\"M44 14h-3v-2h-4v-2h-5V9h-5v2h-4v2h-4v2h-1v34h2v-1h2v1h2v2h5v-2h2v-1h2v1h2v2h5v-2h2v-1h2v1h1V14z\" fill=\"#fff\"/></g><path class=\"gotchi-cheek\" d=\"M21 32v2h2v-2h-1zm21 0h-1v2h2v-2z\"/><g class=\"gotchi-primary-mouth\"><path d=\"M29 32h-2v2h2v-1z\"/><path d=\"M33 34h-4v2h6v-2h-1z\"/><path d=\"M36 32h-1v2h2v-2z\"/></g><g class=\"gotchi-shadow\"><path opacity=\".25\" d=\"M25 58H19v1h1v1h24V59h1V58h-1z\" fill=\"#000\"/></g><g class=\"gotchi-collateral\"><path d=\"M30 9V8h-1v1h-1v2h1v1h2V9z\" fill=\"#ffc2db\"/><path d=\"M28 7V6h-1v2h2V7z\" fill=\"#ffdeec\"/><path d=\"M26 5h1v1h-1z\" fill=\"#fff\"/><path d=\"M33 13v-2h-1v1h-1v1h-2v1h1v1h4v-2z\" fill=\"#ff88b8\"/><g fill=\"#ff3085\"><path d=\"M27 5V4h-1V3h-1v3h1V5z\"/><path d=\"M27 5h1v1h-1z\"/><path d=\"M28 6h1v1h-1z\"/><path d=\"M29 7h1v1h-1z\"/><path d=\"M30 8h1v1h-1zm-2 1h1V8h-2v3h1z\"/><path d=\"M31 13v-1h-2v-1h-1v3h1v-1z\"/><path d=\"M31 12h1v-1h1v-1h-1V9h-1z\"/><path d=\"M34 12v-1h-1v2h1v2h1v-3z\"/><path d=\"M30 15v-1h-1v2h5v-1zm-4-9h1v2h-1z\"/></g></g><g class=\"gotchi-eyeColor\"><path d=\"M28 22H27V21H26H25H24H23V22H22V23H21V24V25V26V27H22V28H23V29H24H25H26H27V28H28V27H29V26V25V24V23H28V22Z\" /><path d=\"M42 23V22H41V21H40H39H38H37V22H36V23H35V24V25V26V27H36V28H37V29H38H39H40H41V28H42V27H43V26V25V24V23H42Z\" /></g><g class=\"gotchi-handsDownClosed\"><g class=\"gotchi-primary\"><path d=\"M19 42h1v1h-1zm1-6h1v1h-1z\"/><path d=\"M21 37h1v1h-1zm5 3v4h1v-4zm-5 3h-1v1h2v-1z\"/><path d=\"M24 44h-2v1h4v-1h-1zm1-5h-1v1h2v-1z\"/><path d=\"M23 38h-1v1h2v-1z\"/></g><g class=\"gotchi-secondary\"><path d=\"M19 43h1v1h-1zm5 2h-2v1h4v-1h-1z\"/><path d=\"M27 41v3h1v-3zm-6 3h-1v1h2v-1z\"/><path d=\"M26 44h1v1h-1zm-7-3h-1v2h1v-1z\"/></g><g class=\"gotchi-primary\"><path d=\"M44 42h1v1h-1zm-1-6h1v1h-1z\"/><path d=\"M42 37h1v1h-1z\"/><path d=\"M42 39v-1h-2v1h1zm0 4v1h2v-1h-1z\"/><path d=\"M40 44h-2v1h4v-1h-1z\"/><path d=\"M38 42v-2h-1v4h1v-1z\"/><path d=\"M40 40v-1h-2v1h1z\"/></g><g class=\"gotchi-secondary\"><path d=\"M42 44v1h2v-1h-1zm-5-2v-1h-1v3h1v-1z\"/><path d=\"M40 45h-2v1h4v-1h-1z\"/><path d=\"M37 44h1v1h-1zm7-1h1v1h-1z\"/></g></g><g class=\"gotchi-handsDownOpen\"><g class=\"gotchi-primary\"><path d=\"M14 40h1v1h-1v-1zm-1-6h1v1h-1v-1z\"/><path d=\"M14 33h1v1h-1v-1zm-2 2h1v1h-1v-1zm-5 3h1v4H7v-4zm5 3h2v1h-2v-1z\"/><path d=\"M8 42h4v1H8v-1zm0-5h2v1H8v-1z\"/><path d=\"M10,36h2v1h-2V36z\"/></g><g class=\"gotchi-secondary\"><path d=\"M14,39h1v1h-1V39z\"/><path d=\"M12,40h2v1h-2V40z\"/><path d=\"M8,41h4v1H8V41z\"/></g><path d=\"M8,38v3h4v-1h2v-1h1v-5h-1v1h-1v1h-1v1h-2v1H8z\" fill=\"#fff\" /><g class=\"gotchi-primary\"><path d=\"M49 40h1v1h-1v-1zm1-6h1v1h-1v-1z\"/><path d=\"M49 33h1v1h-1v-1zm2 2h1v1h-1v-1zm5 3h1v4h-1v-4zm-6 3h2v1h-2v-1z\"/><path d=\"M52 42h4v1h-4v-1zm2-5h2v1h-2v-1z\"/><path d=\"M52,36h2v1h-2V36z\"/></g><g class=\"gotchi-secondary\"><path d=\"M49,39h1v1h-1V39z\"/><path d=\"M50,40h2v1h-2V40z\"/><path d=\"M52,41h4v1h-4V41z\"/></g><path d=\"M54,38v-1h-2v-1h-1v-1h-1v-1h-1v5h1v1h2v1h4v-3H54z\" fill=\"#fff\" /></g><g class=\"gotchi-handsUp\"><g class=\"gotchi-secondary\"><path d=\"M50,38h1v1h-1V38z\"/><path d=\"M49 39h1v1h-1v-1zm2-2h1v1h-1v-1z\"/><path d=\"M52,36h2v1h-2V36z\"/><path d=\"M54,35h2v1h-2V35z\"/></g><path d=\"M52,32v1h-2v1h-1v5h1v-1h1v-1h1v-1h2v-1h2v-3H52z\" fill=\"#fff\"/><g class=\"gotchi-primary\"><path d=\"M49,33h1v1h-1V33z\"/><path d=\"M50 32h2v1h-2v-1zm0 7h1v1h-1v-1z\"/><path d=\"M49 40h1v1h-1v-1zm2-2h1v1h-1v-1z\"/><path d=\"M52 37h2v1h-2v-1zm0-6h4v1h-4v-1z\"/><path d=\"M56,32h1v4h-1V32z\"/><path d=\"M54,36h2v1h-2V36z\"/></g><g class=\"gotchi-secondary\"><path d=\"M13,38h1v1h-1V38z\"/><path d=\"M14 39h1v1h-1v-1zm-2-2h1v1h-1v-1z\"/><path d=\"M10,36h2v1h-2V36z\"/><path d=\"M8,35h2v1H8V35z\"/></g><path d=\"M8,32v3h2v1h2v1h1v1h1v1h1v-5h-1v-1h-2v-1H8z\" fill=\"#fff\"/><g class=\"gotchi-primary\"><path d=\"M14,33h1v1h-1V33z\"/><path d=\"M12 32h2v1h-2v-1zm1 7h1v1h-1v-1z\"/><path d=\"M14 40h1v1h-1v-1zm-2-2h1v1h-1v-1z\"/><path d=\"M10 37h2v1h-2v-1zm-2-6h4v1H8v-1z\"/><path d=\"M7,32h1v4H7V32z\"/><path d=\"M8,36h2v1H8V36z\"/></g></g></svg>",
        "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 64 64\"><style>.gotchi-primary{fill:#FF2A7A;}.gotchi-secondary{fill:#FFC3DF;}.gotchi-cheek{fill:#F696C6;}.gotchi-eyeColor{fill:#FF2A7A;}.gotchi-sleeves-up{display:none;}.gotchi-handsUp{display:none;}.gotchi-handsDownOpen{display:none;}.gotchi-handsDownClosed{display:block}</style><g class=\"gotchi-bg\"><defs fill=\"#fff\"><pattern id=\"a\" patternUnits=\"userSpaceOnUse\" width=\"4\" height=\"4\"><path d=\"M0 0h1v1H0zm2 2h1v1H2z\"/></pattern><pattern id=\"b\" patternUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"2\" height=\"2\"><path d=\"M0 0h1v1H0z\"/></pattern><pattern id=\"c\" patternUnits=\"userSpaceOnUse\" x=\"-2\" y=\"0\" width=\"8\" height=\"1\"><path d=\"M0 0h1v1H0zm2 0h1v1H2zm2 0h1v1H4z\"/></pattern><pattern id=\"d\" patternUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"4\" height=\"4\"><path d=\"M0 0h1v1H0zm0 2h1v1H0zm1 0V1h1v1zm1 0h1v1H2zm0-1h1V0H2zm1 2h1v1H3z\"/></pattern><pattern id=\"e\" patternUnits=\"userSpaceOnUse\" width=\"64\" height=\"32\"><path d=\"M4 4h1v1H4zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1z\"/><path fill=\"url(#a)\" d=\"M0 8h64v7H0z\"/><path fill=\"url(#b)\" d=\"M0 16h64v1H0z\"/><path fill=\"url(#c)\" d=\"M0 18h64v1H0z\"/><path fill=\"url(#b)\" d=\"M22 18h15v1H22zM0 20h64v3H0z\"/><path fill=\"url(#d)\" d=\"M0 24h64v8H0z\"/></pattern><mask id=\"f\"><path fill=\"url(#e)\" d=\"M0 0h64v32H0z\"/></mask></defs><path fill=\"#fff\" d=\"M0 0h64v32H0z\"/><path fill=\"#dea8ff\" class=\"gotchi-secondary\" mask=\"url(#f)\" d=\"M0 0h64v32H0z\"/><path fill=\"#dea8ff\" class=\"gotchi-secondary\" d=\"M0 32h64v32H0z\"/><path mask=\"url(#f)\" fill=\"#fff\" transform=\"matrix(1 0 0 -1 0 64)\" d=\"M0 0h64v32H0z\"/></g><g class=\"gotchi-body\"><g class=\"gotchi-primary\"><path d=\"M21 12h2v-2h-4v2h1z\"/><path d=\"M19 14v-2h-2v2h1zm6-4h2V8h-4v2h1z\"/><path d=\"M29 8h8V6H27v2h1zm16 6h2v-2h-2v1z\"/><path d=\"M48 14h-1v39h-2v2h4V14zm-11-4h4V8h-4v1z\"/><path d=\"M41 12h4v-2h-4v1zM17 53V14h-2v41h4v-2h-1z\"/><path d=\"M24 51h-5v2h5v-1z\"/><path d=\"M27 53h-3v2h5v-2h-1zm18-2h-5v2h5v-1z\"/><path d=\"M35 51h-6v2h6v-1z\"/><path d=\"M38 53h-3v2h5v-2h-1z\"/></g><g class=\"gotchi-secondary\"><path d=\"M18 43v6h2v-1h2v1h2v2h-5v2h-2V14h2v1h-1v26z\"/><path d=\"M27 51h-3v2h5v-2h-1zm11 0h-3v2h5v-2h-1z\"/><path d=\"M35 49h-2v-1h-2v1h-2v2h6v-1zM25 11h2v-1h-4v1h1zm-4 2h2v-1h-4v1h1zm24 31v5h-1v-1h-2v1h-2v2h5v2h2V14h-2v29z\"/><path d=\"M37 8H27v1h5v1h5V9zm8 4h-4v2h4v-1z\"/><path d=\"M41 10h-4v2h4v-1z\"/></g><path d=\"M44 14h-3v-2h-4v-2h-5V9h-5v2h-4v2h-4v2h-1v34h2v-1h2v1h2v2h5v-2h2v-1h2v1h2v2h5v-2h2v-1h2v1h1V14z\" fill=\"#fff\"/></g><path class=\"gotchi-cheek\" d=\"M21 32v2h2v-2h-1zm21 0h-1v2h2v-2z\"/><g class=\"gotchi-primary-mouth\"><path d=\"M29 32h-2v2h2v-1z\"/><path d=\"M33 34h-4v2h6v-2h-1z\"/><path d=\"M36 32h-1v2h2v-2z\"/></g><g class=\"gotchi-shadow\"><path opacity=\".25\" d=\"M25 58H19v1h1v1h24V59h1V58h-1z\" fill=\"#000\"/></g><g class=\"gotchi-collateral\"><path d=\"M30 9V8h-1v1h-1v2h1v1h2V9z\" fill=\"#ffc2db\"/><path d=\"M28 7V6h-1v2h2V7z\" fill=\"#ffdeec\"/><path d=\"M26 5h1v1h-1z\" fill=\"#fff\"/><path d=\"M33 13v-2h-1v1h-1v1h-2v1h1v1h4v-2z\" fill=\"#ff88b8\"/><g fill=\"#ff3085\"><path d=\"M27 5V4h-1V3h-1v3h1V5z\"/><path d=\"M27 5h1v1h-1z\"/><path d=\"M28 6h1v1h-1z\"/><path d=\"M29 7h1v1h-1z\"/><path d=\"M30 8h1v1h-1zm-2 1h1V8h-2v3h1z\"/><path d=\"M31 13v-1h-2v-1h-1v3h1v-1z\"/><path d=\"M31 12h1v-1h1v-1h-1V9h-1z\"/><path d=\"M34 12v-1h-1v2h1v2h1v-3z\"/><path d=\"M30 15v-1h-1v2h5v-1zm-4-9h1v2h-1z\"/></g></g><g class=\"gotchi-eyeColor\"><rect x=\"22\" y=\"28\" width=\"6\" height=\"6\" transform=\"rotate(-90 22 28)\" /><rect x=\"36\" y=\"22\" width=\"6\" height=\"6\" /></g><g class=\"gotchi-handsDownClosed\"><g class=\"gotchi-primary\"><path d=\"M19 42h1v1h-1zm1-6h1v1h-1z\"/><path d=\"M21 37h1v1h-1zm5 3v4h1v-4zm-5 3h-1v1h2v-1z\"/><path d=\"M24 44h-2v1h4v-1h-1zm1-5h-1v1h2v-1z\"/><path d=\"M23 38h-1v1h2v-1z\"/></g><g class=\"gotchi-secondary\"><path d=\"M19 43h1v1h-1zm5 2h-2v1h4v-1h-1z\"/><path d=\"M27 41v3h1v-3zm-6 3h-1v1h2v-1z\"/><path d=\"M26 44h1v1h-1zm-7-3h-1v2h1v-1z\"/></g><g class=\"gotchi-primary\"><path d=\"M44 42h1v1h-1zm-1-6h1v1h-1z\"/><path d=\"M42 37h1v1h-1z\"/><path d=\"M42 39v-1h-2v1h1zm0 4v1h2v-1h-1z\"/><path d=\"M40 44h-2v1h4v-1h-1z\"/><path d=\"M38 42v-2h-1v4h1v-1z\"/><path d=\"M40 40v-1h-2v1h1z\"/></g><g class=\"gotchi-secondary\"><path d=\"M42 44v1h2v-1h-1zm-5-2v-1h-1v3h1v-1z\"/><path d=\"M40 45h-2v1h4v-1h-1z\"/><path d=\"M37 44h1v1h-1zm7-1h1v1h-1z\"/></g></g><g class=\"gotchi-handsDownOpen\"><g class=\"gotchi-primary\"><path d=\"M14 40h1v1h-1v-1zm-1-6h1v1h-1v-1z\"/><path d=\"M14 33h1v1h-1v-1zm-2 2h1v1h-1v-1zm-5 3h1v4H7v-4zm5 3h2v1h-2v-1z\"/><path d=\"M8 42h4v1H8v-1zm0-5h2v1H8v-1z\"/><path d=\"M10,36h2v1h-2V36z\"/></g><g class=\"gotchi-secondary\"><path d=\"M14,39h1v1h-1V39z\"/><path d=\"M12,40h2v1h-2V40z\"/><path d=\"M8,41h4v1H8V41z\"/></g><path d=\"M8,38v3h4v-1h2v-1h1v-5h-1v1h-1v1h-1v1h-2v1H8z\" fill=\"#fff\" /><g class=\"gotchi-primary\"><path d=\"M49 40h1v1h-1v-1zm1-6h1v1h-1v-1z\"/><path d=\"M49 33h1v1h-1v-1zm2 2h1v1h-1v-1zm5 3h1v4h-1v-4zm-6 3h2v1h-2v-1z\"/><path d=\"M52 42h4v1h-4v-1zm2-5h2v1h-2v-1z\"/><path d=\"M52,36h2v1h-2V36z\"/></g><g class=\"gotchi-secondary\"><path d=\"M49,39h1v1h-1V39z\"/><path d=\"M50,40h2v1h-2V40z\"/><path d=\"M52,41h4v1h-4V41z\"/></g><path d=\"M54,38v-1h-2v-1h-1v-1h-1v-1h-1v5h1v1h2v1h4v-3H54z\" fill=\"#fff\" /></g><g class=\"gotchi-handsUp\"><g class=\"gotchi-secondary\"><path d=\"M50,38h1v1h-1V38z\"/><path d=\"M49 39h1v1h-1v-1zm2-2h1v1h-1v-1z\"/><path d=\"M52,36h2v1h-2V36z\"/><path d=\"M54,35h2v1h-2V35z\"/></g><path d=\"M52,32v1h-2v1h-1v5h1v-1h1v-1h1v-1h2v-1h2v-3H52z\" fill=\"#fff\"/><g class=\"gotchi-primary\"><path d=\"M49,33h1v1h-1V33z\"/><path d=\"M50 32h2v1h-2v-1zm0 7h1v1h-1v-1z\"/><path d=\"M49 40h1v1h-1v-1zm2-2h1v1h-1v-1z\"/><path d=\"M52 37h2v1h-2v-1zm0-6h4v1h-4v-1z\"/><path d=\"M56,32h1v4h-1V32z\"/><path d=\"M54,36h2v1h-2V36z\"/></g><g class=\"gotchi-secondary\"><path d=\"M13,38h1v1h-1V38z\"/><path d=\"M14 39h1v1h-1v-1zm-2-2h1v1h-1v-1z\"/><path d=\"M10,36h2v1h-2V36z\"/><path d=\"M8,35h2v1H8V35z\"/></g><path d=\"M8,32v3h2v1h2v1h1v1h1v1h1v-5h-1v-1h-2v-1H8z\" fill=\"#fff\"/><g class=\"gotchi-primary\"><path d=\"M14,33h1v1h-1V33z\"/><path d=\"M12 32h2v1h-2v-1zm1 7h1v1h-1v-1z\"/><path d=\"M14 40h1v1h-1v-1zm-2-2h1v1h-1v-1z\"/><path d=\"M10 37h2v1h-2v-1zm-2-6h4v1H8v-1z\"/><path d=\"M7,32h1v4H7V32z\"/><path d=\"M8,36h2v1H8V36z\"/></g></g></svg>",
        "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 64 64\"><style>.gotchi-primary{fill:#26A17B;}.gotchi-secondary{fill:#AEDCCE;}.gotchi-cheek{fill:#F696C6;}.gotchi-eyeColor{fill:#5D24BF;}.gotchi-sleeves-up{display:none;}.gotchi-handsUp{display:none;}.gotchi-handsDownOpen{display:none;}.gotchi-handsDownClosed{display:block}</style><g class=\"gotchi-bg\"><defs fill=\"#fff\"><pattern id=\"a\" patternUnits=\"userSpaceOnUse\" width=\"4\" height=\"4\"><path d=\"M0 0h1v1H0zm2 2h1v1H2z\"/></pattern><pattern id=\"b\" patternUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"2\" height=\"2\"><path d=\"M0 0h1v1H0z\"/></pattern><pattern id=\"c\" patternUnits=\"userSpaceOnUse\" x=\"-2\" y=\"0\" width=\"8\" height=\"1\"><path d=\"M0 0h1v1H0zm2 0h1v1H2zm2 0h1v1H4z\"/></pattern><pattern id=\"d\" patternUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"4\" height=\"4\"><path d=\"M0 0h1v1H0zm0 2h1v1H0zm1 0V1h1v1zm1 0h1v1H2zm0-1h1V0H2zm1 2h1v1H3z\"/></pattern><pattern id=\"e\" patternUnits=\"userSpaceOnUse\" width=\"64\" height=\"32\"><path d=\"M4 4h1v1H4zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1z\"/><path fill=\"url(#a)\" d=\"M0 8h64v7H0z\"/><path fill=\"url(#b)\" d=\"M0 16h64v1H0z\"/><path fill=\"url(#c)\" d=\"M0 18h64v1H0z\"/><path fill=\"url(#b)\" d=\"M22 18h15v1H22zM0 20h64v3H0z\"/><path fill=\"url(#d)\" d=\"M0 24h64v8H0z\"/></pattern><mask id=\"f\"><path fill=\"url(#e)\" d=\"M0 0h64v32H0z\"/></mask></defs><path fill=\"#fff\" d=\"M0 0h64v32H0z\"/><path fill=\"#dea8ff\" class=\"gotchi-secondary\" mask=\"url(#f)\" d=\"M0 0h64v32H0z\"/><path fill=\"#dea8ff\" class=\"gotchi-secondary\" d=\"M0 32h64v32H0z\"/><path mask=\"url(#f)\" fill=\"#fff\" transform=\"matrix(1 0 0 -1 0 64)\" d=\"M0 0h64v32H0z\"/></g><g class=\"gotchi-body\"><g class=\"gotchi-primary\"><path d=\"M21 12h2v-2h-4v2h1z\"/><path d=\"M19 14v-2h-2v2h1zm6-4h2V8h-4v2h1z\"/><path d=\"M29 8h8V6H27v2h1zm16 6h2v-2h-2v1z\"/><path d=\"M48 14h-1v39h-2v2h4V14zm-11-4h4V8h-4v1z\"/><path d=\"M41 12h4v-2h-4v1zM17 53V14h-2v41h4v-2h-1z\"/><path d=\"M24 51h-5v2h5v-1z\"/><path d=\"M27 53h-3v2h5v-2h-1zm18-2h-5v2h5v-1z\"/><path d=\"M35 51h-6v2h6v-1z\"/><path d=\"M38 53h-3v2h5v-2h-1z\"/></g><g class=\"gotchi-secondary\"><path d=\"M18 43v6h2v-1h2v1h2v2h-5v2h-2V14h2v1h-1v26z\"/><path d=\"M27 51h-3v2h5v-2h-1zm11 0h-3v2h5v-2h-1z\"/><path d=\"M35 49h-2v-1h-2v1h-2v2h6v-1zM25 11h2v-1h-4v1h1zm-4 2h2v-1h-4v1h1zm24 31v5h-1v-1h-2v1h-2v2h5v2h2V14h-2v29z\"/><path d=\"M37 8H27v1h5v1h5V9zm8 4h-4v2h4v-1z\"/><path d=\"M41 10h-4v2h4v-1z\"/></g><path d=\"M44 14h-3v-2h-4v-2h-5V9h-5v2h-4v2h-4v2h-1v34h2v-1h2v1h2v2h5v-2h2v-1h2v1h2v2h5v-2h2v-1h2v1h1V14z\" fill=\"#fff\"/></g><path class=\"gotchi-cheek\" d=\"M21 32v2h2v-2h-1zm21 0h-1v2h2v-2z\"/><g class=\"gotchi-primary-mouth\"><path d=\"M29 32h-2v2h2v-1z\"/><path d=\"M33 34h-4v2h6v-2h-1z\"/><path d=\"M36 32h-1v2h2v-2z\"/></g><g class=\"gotchi-shadow\"><path opacity=\".25\" d=\"M25 58H19v1h1v1h24V59h1V58h-1z\" fill=\"#000\"/></g><g class=\"gotchi-collateral\" fill=\"#26a17b\"><path d=\"M31 19h2v3h-2zm0-2v1h2v-1h3v-1h-3v-1h2v-2h-6v2h2v1h-3v1z\"/><path d=\"M27 17h1v1h-1z\"/><path d=\"M28 18h3v1h-3zm8-1h1v1h-1z\"/><path d=\"M33 18h3v1h-3z\"/></g><g class=\"gotchi-eyeColor\"><rect x=\"22\" y=\"28\" width=\"6\" height=\"6\" transform=\"rotate(-90 22 28)\" /><rect x=\"36\" y=\"22\" width=\"6\" height=\"6\" /></g><g class=\"gotchi-handsDownClosed\"><g class=\"gotchi-primary\"><path d=\"M19 42h1v1h-1zm1-6h1v1h-1z\"/><path d=\"M21 37h1v1h-1zm5 3v4h1v-4zm-5 3h-1v1h2v-1z\"/><path d=\"M24 44h-2v1h4v-1h-1zm1-5h-1v1h2v-1z\"/><path d=\"M23 38h-1v1h2v-1z\"/></g><g class=\"gotchi-secondary\"><path d=\"M19 43h1v1h-1zm5 2h-2v1h4v-1h-1z\"/><path d=\"M27 41v3h1v-3zm-6 3h-1v1h2v-1z\"/><path d=\"M26 44h1v1h-1zm-7-3h-1v2h1v-1z\"/></g><g class=\"gotchi-primary\"><path d=\"M44 42h1v1h-1zm-1-6h1v1h-1z\"/><path d=\"M42 37h1v1h-1z\"/><path d=\"M42 39v-1h-2v1h1zm0 4v1h2v-1h-1z\"/><path d=\"M40 44h-2v1h4v-1h-1z\"/><path d=\"M38 42v-2h-1v4h1v-1z\"/><path d=\"M40 40v-1h-2v1h1z\"/></g><g class=\"gotchi-secondary\"><path d=\"M42 44v1h2v-1h-1zm-5-2v-1h-1v3h1v-1z\"/><path d=\"M40 45h-2v1h4v-1h-1z\"/><path d=\"M37 44h1v1h-1zm7-1h1v1h-1z\"/></g></g><g class=\"gotchi-handsDownOpen\"><g class=\"gotchi-primary\"><path d=\"M14 40h1v1h-1v-1zm-1-6h1v1h-1v-1z\"/><path d=\"M14 33h1v1h-1v-1zm-2 2h1v1h-1v-1zm-5 3h1v4H7v-4zm5 3h2v1h-2v-1z\"/><path d=\"M8 42h4v1H8v-1zm0-5h2v1H8v-1z\"/><path d=\"M10,36h2v1h-2V36z\"/></g><g class=\"gotchi-secondary\"><path d=\"M14,39h1v1h-1V39z\"/><path d=\"M12,40h2v1h-2V40z\"/><path d=\"M8,41h4v1H8V41z\"/></g><path d=\"M8,38v3h4v-1h2v-1h1v-5h-1v1h-1v1h-1v1h-2v1H8z\" fill=\"#fff\" /><g class=\"gotchi-primary\"><path d=\"M49 40h1v1h-1v-1zm1-6h1v1h-1v-1z\"/><path d=\"M49 33h1v1h-1v-1zm2 2h1v1h-1v-1zm5 3h1v4h-1v-4zm-6 3h2v1h-2v-1z\"/><path d=\"M52 42h4v1h-4v-1zm2-5h2v1h-2v-1z\"/><path d=\"M52,36h2v1h-2V36z\"/></g><g class=\"gotchi-secondary\"><path d=\"M49,39h1v1h-1V39z\"/><path d=\"M50,40h2v1h-2V40z\"/><path d=\"M52,41h4v1h-4V41z\"/></g><path d=\"M54,38v-1h-2v-1h-1v-1h-1v-1h-1v5h1v1h2v1h4v-3H54z\" fill=\"#fff\" /></g><g class=\"gotchi-handsUp\"><g class=\"gotchi-secondary\"><path d=\"M50,38h1v1h-1V38z\"/><path d=\"M49 39h1v1h-1v-1zm2-2h1v1h-1v-1z\"/><path d=\"M52,36h2v1h-2V36z\"/><path d=\"M54,35h2v1h-2V35z\"/></g><path d=\"M52,32v1h-2v1h-1v5h1v-1h1v-1h1v-1h2v-1h2v-3H52z\" fill=\"#fff\"/><g class=\"gotchi-primary\"><path d=\"M49,33h1v1h-1V33z\"/><path d=\"M50 32h2v1h-2v-1zm0 7h1v1h-1v-1z\"/><path d=\"M49 40h1v1h-1v-1zm2-2h1v1h-1v-1z\"/><path d=\"M52 37h2v1h-2v-1zm0-6h4v1h-4v-1z\"/><path d=\"M56,32h1v4h-1V32z\"/><path d=\"M54,36h2v1h-2V36z\"/></g><g class=\"gotchi-secondary\"><path d=\"M13,38h1v1h-1V38z\"/><path d=\"M14 39h1v1h-1v-1zm-2-2h1v1h-1v-1z\"/><path d=\"M10,36h2v1h-2V36z\"/><path d=\"M8,35h2v1H8V35z\"/></g><path d=\"M8,32v3h2v1h2v1h1v1h1v1h1v-5h-1v-1h-2v-1H8z\" fill=\"#fff\"/><g class=\"gotchi-primary\"><path d=\"M14,33h1v1h-1V33z\"/><path d=\"M12 32h2v1h-2v-1zm1 7h1v1h-1v-1z\"/><path d=\"M14 40h1v1h-1v-1zm-2-2h1v1h-1v-1z\"/><path d=\"M10 37h2v1h-2v-1zm-2-6h4v1H8v-1z\"/><path d=\"M7,32h1v4H7V32z\"/><path d=\"M8,36h2v1H8V36z\"/></g></g></svg>",
        "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 64 64\"><style>.gotchi-primary{fill:#0074F9;}.gotchi-secondary{fill:#C8E1FD;}.gotchi-cheek{fill:#F696C6;}.gotchi-eyeColor{fill:#0074F9;}.gotchi-sleeves-up{display:none;}.gotchi-handsUp{display:none;}.gotchi-handsDownOpen{display:none;}.gotchi-handsDownClosed{display:block}</style><g class=\"gotchi-bg\"><defs fill=\"#fff\"><pattern id=\"a\" patternUnits=\"userSpaceOnUse\" width=\"4\" height=\"4\"><path d=\"M0 0h1v1H0zm2 2h1v1H2z\"/></pattern><pattern id=\"b\" patternUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"2\" height=\"2\"><path d=\"M0 0h1v1H0z\"/></pattern><pattern id=\"c\" patternUnits=\"userSpaceOnUse\" x=\"-2\" y=\"0\" width=\"8\" height=\"1\"><path d=\"M0 0h1v1H0zm2 0h1v1H2zm2 0h1v1H4z\"/></pattern><pattern id=\"d\" patternUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"4\" height=\"4\"><path d=\"M0 0h1v1H0zm0 2h1v1H0zm1 0V1h1v1zm1 0h1v1H2zm0-1h1V0H2zm1 2h1v1H3z\"/></pattern><pattern id=\"e\" patternUnits=\"userSpaceOnUse\" width=\"64\" height=\"32\"><path d=\"M4 4h1v1H4zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1z\"/><path fill=\"url(#a)\" d=\"M0 8h64v7H0z\"/><path fill=\"url(#b)\" d=\"M0 16h64v1H0z\"/><path fill=\"url(#c)\" d=\"M0 18h64v1H0z\"/><path fill=\"url(#b)\" d=\"M22 18h15v1H22zM0 20h64v3H0z\"/><path fill=\"url(#d)\" d=\"M0 24h64v8H0z\"/></pattern><mask id=\"f\"><path fill=\"url(#e)\" d=\"M0 0h64v32H0z\"/></mask></defs><path fill=\"#fff\" d=\"M0 0h64v32H0z\"/><path fill=\"#dea8ff\" class=\"gotchi-secondary\" mask=\"url(#f)\" d=\"M0 0h64v32H0z\"/><path fill=\"#dea8ff\" class=\"gotchi-secondary\" d=\"M0 32h64v32H0z\"/><path mask=\"url(#f)\" fill=\"#fff\" transform=\"matrix(1 0 0 -1 0 64)\" d=\"M0 0h64v32H0z\"/></g><g class=\"gotchi-body\"><g class=\"gotchi-primary\"><path d=\"M21 12h2v-2h-4v2h1z\"/><path d=\"M19 14v-2h-2v2h1zm6-4h2V8h-4v2h1z\"/><path d=\"M29 8h8V6H27v2h1zm16 6h2v-2h-2v1z\"/><path d=\"M48 14h-1v39h-2v2h4V14zm-11-4h4V8h-4v1z\"/><path d=\"M41 12h4v-2h-4v1zM17 53V14h-2v41h4v-2h-1z\"/><path d=\"M24 51h-5v2h5v-1z\"/><path d=\"M27 53h-3v2h5v-2h-1zm18-2h-5v2h5v-1z\"/><path d=\"M35 51h-6v2h6v-1z\"/><path d=\"M38 53h-3v2h5v-2h-1z\"/></g><g class=\"gotchi-secondary\"><path d=\"M18 43v6h2v-1h2v1h2v2h-5v2h-2V14h2v1h-1v26z\"/><path d=\"M27 51h-3v2h5v-2h-1zm11 0h-3v2h5v-2h-1z\"/><path d=\"M35 49h-2v-1h-2v1h-2v2h6v-1zM25 11h2v-1h-4v1h1zm-4 2h2v-1h-4v1h1zm24 31v5h-1v-1h-2v1h-2v2h5v2h2V14h-2v29z\"/><path d=\"M37 8H27v1h5v1h5V9zm8 4h-4v2h4v-1z\"/><path d=\"M41 10h-4v2h4v-1z\"/></g><path d=\"M44 14h-3v-2h-4v-2h-5V9h-5v2h-4v2h-4v2h-1v34h2v-1h2v1h2v2h5v-2h2v-1h2v1h2v2h5v-2h2v-1h2v1h1V14z\" fill=\"#fff\"/></g><path class=\"gotchi-cheek\" d=\"M21 32v2h2v-2h-1zm21 0h-1v2h2v-2z\"/><g class=\"gotchi-primary-mouth\"><path d=\"M29 32h-2v2h2v-1z\"/><path d=\"M33 34h-4v2h6v-2h-1z\"/><path d=\"M36 32h-1v2h2v-2z\"/></g><g class=\"gotchi-shadow\"><path opacity=\".25\" d=\"M25 58H19v1h1v1h24V59h1V58h-1z\" fill=\"#000\"/></g><g class=\"gotchi-collateral\" fill=\"#0074f9\"><path d=\"M30 16h1v1h-1zm4 1h1v1h-1z\"/><path d=\"M33 16h1v1h-1zm1 2h1v1h-1z\"/><path d=\"M34 19h1v1h-1z\"/><path d=\"M34 20h1v1h-1zm-2 1h1v1h-1z\"/><path d=\"M33 21h1v1h-1zm-2 0h1v1h-1z\"/><path d=\"M30 21h1v1h-1z\"/><path d=\"M29 20h1v1h-1z\"/><path d=\"M30 19h1v1h-1z\"/><path d=\"M30 18h1v1h-1z\"/><path d=\"M29 18h1v1h-1zm4-7h1v1h-1zm-2 0h1v1h-1z\"/><path d=\"M30 11h1v1h-1zm2 0h1v1h-1zm-3 4h1v1h-1zm0-2h1v1h-1z\"/><path d=\"M29 12h1v1h-1zm0 2h1v1h-1zm5-2h1v1h-1zm-1 2h1v1h-1z\"/><path d=\"M34 14h1v1h-1z\"/><path d=\"M33 13h1v1h-1zm-1.5 2h1v1h-1z\"/><path d=\"M31.5 14h1v1h-1z\"/><path d=\"M31.5 13h1v1h-1zm0 3h1v1h-1zm0 2h1v1h-1z\"/><path d=\"M31.5 19h1v1h-1zm0-2h1v1h-1z\"/></g><g class=\"gotchi-eyeColor\"><path d=\"M28 22H27V21H26H25H24H23V22H22V23H21V24V25V26V27H22V28H23V29H24H25H26H27V28H28V27H29V26V25V24V23H28V22Z\" /><path d=\"M42 23V22H41V21H40H39H38H37V22H36V23H35V24V25V26V27H36V28H37V29H38H39H40H41V28H42V27H43V26V25V24V23H42Z\" /></g><g class=\"gotchi-handsDownClosed\"><g class=\"gotchi-primary\"><path d=\"M19 42h1v1h-1zm1-6h1v1h-1z\"/><path d=\"M21 37h1v1h-1zm5 3v4h1v-4zm-5 3h-1v1h2v-1z\"/><path d=\"M24 44h-2v1h4v-1h-1zm1-5h-1v1h2v-1z\"/><path d=\"M23 38h-1v1h2v-1z\"/></g><g class=\"gotchi-secondary\"><path d=\"M19 43h1v1h-1zm5 2h-2v1h4v-1h-1z\"/><path d=\"M27 41v3h1v-3zm-6 3h-1v1h2v-1z\"/><path d=\"M26 44h1v1h-1zm-7-3h-1v2h1v-1z\"/></g><g class=\"gotchi-primary\"><path d=\"M44 42h1v1h-1zm-1-6h1v1h-1z\"/><path d=\"M42 37h1v1h-1z\"/><path d=\"M42 39v-1h-2v1h1zm0 4v1h2v-1h-1z\"/><path d=\"M40 44h-2v1h4v-1h-1z\"/><path d=\"M38 42v-2h-1v4h1v-1z\"/><path d=\"M40 40v-1h-2v1h1z\"/></g><g class=\"gotchi-secondary\"><path d=\"M42 44v1h2v-1h-1zm-5-2v-1h-1v3h1v-1z\"/><path d=\"M40 45h-2v1h4v-1h-1z\"/><path d=\"M37 44h1v1h-1zm7-1h1v1h-1z\"/></g></g><g class=\"gotchi-handsDownOpen\"><g class=\"gotchi-primary\"><path d=\"M14 40h1v1h-1v-1zm-1-6h1v1h-1v-1z\"/><path d=\"M14 33h1v1h-1v-1zm-2 2h1v1h-1v-1zm-5 3h1v4H7v-4zm5 3h2v1h-2v-1z\"/><path d=\"M8 42h4v1H8v-1zm0-5h2v1H8v-1z\"/><path d=\"M10,36h2v1h-2V36z\"/></g><g class=\"gotchi-secondary\"><path d=\"M14,39h1v1h-1V39z\"/><path d=\"M12,40h2v1h-2V40z\"/><path d=\"M8,41h4v1H8V41z\"/></g><path d=\"M8,38v3h4v-1h2v-1h1v-5h-1v1h-1v1h-1v1h-2v1H8z\" fill=\"#fff\" /><g class=\"gotchi-primary\"><path d=\"M49 40h1v1h-1v-1zm1-6h1v1h-1v-1z\"/><path d=\"M49 33h1v1h-1v-1zm2 2h1v1h-1v-1zm5 3h1v4h-1v-4zm-6 3h2v1h-2v-1z\"/><path d=\"M52 42h4v1h-4v-1zm2-5h2v1h-2v-1z\"/><path d=\"M52,36h2v1h-2V36z\"/></g><g class=\"gotchi-secondary\"><path d=\"M49,39h1v1h-1V39z\"/><path d=\"M50,40h2v1h-2V40z\"/><path d=\"M52,41h4v1h-4V41z\"/></g><path d=\"M54,38v-1h-2v-1h-1v-1h-1v-1h-1v5h1v1h2v1h4v-3H54z\" fill=\"#fff\" /></g><g class=\"gotchi-handsUp\"><g class=\"gotchi-secondary\"><path d=\"M50,38h1v1h-1V38z\"/><path d=\"M49 39h1v1h-1v-1zm2-2h1v1h-1v-1z\"/><path d=\"M52,36h2v1h-2V36z\"/><path d=\"M54,35h2v1h-2V35z\"/></g><path d=\"M52,32v1h-2v1h-1v5h1v-1h1v-1h1v-1h2v-1h2v-3H52z\" fill=\"#fff\"/><g class=\"gotchi-primary\"><path d=\"M49,33h1v1h-1V33z\"/><path d=\"M50 32h2v1h-2v-1zm0 7h1v1h-1v-1z\"/><path d=\"M49 40h1v1h-1v-1zm2-2h1v1h-1v-1z\"/><path d=\"M52 37h2v1h-2v-1zm0-6h4v1h-4v-1z\"/><path d=\"M56,32h1v4h-1V32z\"/><path d=\"M54,36h2v1h-2V36z\"/></g><g class=\"gotchi-secondary\"><path d=\"M13,38h1v1h-1V38z\"/><path d=\"M14 39h1v1h-1v-1zm-2-2h1v1h-1v-1z\"/><path d=\"M10,36h2v1h-2V36z\"/><path d=\"M8,35h2v1H8V35z\"/></g><path d=\"M8,32v3h2v1h2v1h1v1h1v1h1v-5h-1v-1h-2v-1H8z\" fill=\"#fff\"/><g class=\"gotchi-primary\"><path d=\"M14,33h1v1h-1V33z\"/><path d=\"M12 32h2v1h-2v-1zm1 7h1v1h-1v-1z\"/><path d=\"M14 40h1v1h-1v-1zm-2-2h1v1h-1v-1z\"/><path d=\"M10 37h2v1h-2v-1zm-2-6h4v1H8v-1z\"/><path d=\"M7,32h1v4H7V32z\"/><path d=\"M8,36h2v1H8V36z\"/></g></g></svg>",
        "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 64 64\"><style>.gotchi-primary{fill:#FF2A7A;}.gotchi-secondary{fill:#FFC3DF;}.gotchi-cheek{fill:#F696C6;}.gotchi-eyeColor{fill:#FF2A7A;}.gotchi-sleeves-up{display:none;}.gotchi-handsUp{display:none;}.gotchi-handsDownOpen{display:none;}.gotchi-handsDownClosed{display:block}</style><g class=\"gotchi-bg\"><defs fill=\"#fff\"><pattern id=\"a\" patternUnits=\"userSpaceOnUse\" width=\"4\" height=\"4\"><path d=\"M0 0h1v1H0zm2 2h1v1H2z\"/></pattern><pattern id=\"b\" patternUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"2\" height=\"2\"><path d=\"M0 0h1v1H0z\"/></pattern><pattern id=\"c\" patternUnits=\"userSpaceOnUse\" x=\"-2\" y=\"0\" width=\"8\" height=\"1\"><path d=\"M0 0h1v1H0zm2 0h1v1H2zm2 0h1v1H4z\"/></pattern><pattern id=\"d\" patternUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"4\" height=\"4\"><path d=\"M0 0h1v1H0zm0 2h1v1H0zm1 0V1h1v1zm1 0h1v1H2zm0-1h1V0H2zm1 2h1v1H3z\"/></pattern><pattern id=\"e\" patternUnits=\"userSpaceOnUse\" width=\"64\" height=\"32\"><path d=\"M4 4h1v1H4zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1z\"/><path fill=\"url(#a)\" d=\"M0 8h64v7H0z\"/><path fill=\"url(#b)\" d=\"M0 16h64v1H0z\"/><path fill=\"url(#c)\" d=\"M0 18h64v1H0z\"/><path fill=\"url(#b)\" d=\"M22 18h15v1H22zM0 20h64v3H0z\"/><path fill=\"url(#d)\" d=\"M0 24h64v8H0z\"/></pattern><mask id=\"f\"><path fill=\"url(#e)\" d=\"M0 0h64v32H0z\"/></mask></defs><path fill=\"#fff\" d=\"M0 0h64v32H0z\"/><path fill=\"#dea8ff\" class=\"gotchi-secondary\" mask=\"url(#f)\" d=\"M0 0h64v32H0z\"/><path fill=\"#dea8ff\" class=\"gotchi-secondary\" d=\"M0 32h64v32H0z\"/><path mask=\"url(#f)\" fill=\"#fff\" transform=\"matrix(1 0 0 -1 0 64)\" d=\"M0 0h64v32H0z\"/></g><g class=\"gotchi-body\"><g class=\"gotchi-primary\"><path d=\"M21 12h2v-2h-4v2h1z\"/><path d=\"M19 14v-2h-2v2h1zm6-4h2V8h-4v2h1z\"/><path d=\"M29 8h8V6H27v2h1zm16 6h2v-2h-2v1z\"/><path d=\"M48 14h-1v39h-2v2h4V14zm-11-4h4V8h-4v1z\"/><path d=\"M41 12h4v-2h-4v1zM17 53V14h-2v41h4v-2h-1z\"/><path d=\"M24 51h-5v2h5v-1z\"/><path d=\"M27 53h-3v2h5v-2h-1zm18-2h-5v2h5v-1z\"/><path d=\"M35 51h-6v2h6v-1z\"/><path d=\"M38 53h-3v2h5v-2h-1z\"/></g><g class=\"gotchi-secondary\"><path d=\"M18 43v6h2v-1h2v1h2v2h-5v2h-2V14h2v1h-1v26z\"/><path d=\"M27 51h-3v2h5v-2h-1zm11 0h-3v2h5v-2h-1z\"/><path d=\"M35 49h-2v-1h-2v1h-2v2h6v-1zM25 11h2v-1h-4v1h1zm-4 2h2v-1h-4v1h1zm24 31v5h-1v-1h-2v1h-2v2h5v2h2V14h-2v29z\"/><path d=\"M37 8H27v1h5v1h5V9zm8 4h-4v2h4v-1z\"/><path d=\"M41 10h-4v2h4v-1z\"/></g><path d=\"M44 14h-3v-2h-4v-2h-5V9h-5v2h-4v2h-4v2h-1v34h2v-1h2v1h2v2h5v-2h2v-1h2v1h2v2h5v-2h2v-1h2v1h1V14z\" fill=\"#fff\"/></g><path class=\"gotchi-cheek\" d=\"M21 32v2h2v-2h-1zm21 0h-1v2h2v-2z\"/><g class=\"gotchi-primary-mouth\"><path d=\"M29 32h-2v2h2v-1z\"/><path d=\"M33 34h-4v2h6v-2h-1z\"/><path d=\"M36 32h-1v2h2v-2z\"/></g><g class=\"gotchi-shadow\"><path opacity=\".25\" d=\"M25 58H19v1h1v1h24V59h1V58h-1z\" fill=\"#000\"/></g><g class=\"gotchi-collateral\"><path d=\"M30 9V8h-1v1h-1v2h1v1h2V9z\" fill=\"#ffc2db\"/><path d=\"M28 7V6h-1v2h2V7z\" fill=\"#ffdeec\"/><path d=\"M26 5h1v1h-1z\" fill=\"#fff\"/><path d=\"M33 13v-2h-1v1h-1v1h-2v1h1v1h4v-2z\" fill=\"#ff88b8\"/><g fill=\"#ff3085\"><path d=\"M27 5V4h-1V3h-1v3h1V5z\"/><path d=\"M27 5h1v1h-1z\"/><path d=\"M28 6h1v1h-1z\"/><path d=\"M29 7h1v1h-1z\"/><path d=\"M30 8h1v1h-1zm-2 1h1V8h-2v3h1z\"/><path d=\"M31 13v-1h-2v-1h-1v3h1v-1z\"/><path d=\"M31 12h1v-1h1v-1h-1V9h-1z\"/><path d=\"M34 12v-1h-1v2h1v2h1v-3z\"/><path d=\"M30 15v-1h-1v2h5v-1zm-4-9h1v2h-1z\"/></g></g><g class=\"gotchi-eyeColor\"><path d=\"M23 22h-1v1h1v-1zm0 5h-1v1h1v-1zm5-5h-1v1h1v-1zm0 5h-1v1h1v-1zm14 0h-1v1h1v-1zm0-5h-1v1h1v-1zm-5 0h-1v1h1v-1zm0 5h-1v1h1v-1z\" class=\"gotchi-primary\" /><g><path d=\"M25 26h-1v1h1v-1zm2-1h-1v1h1v-1zm-3-1h-1v1h1v-1z\" /><path d=\"M25 23h-1v1h1v-1z\" /><path d=\"M25 24h-1v1h1v-1zm2 0h-1v1h1v-1zm-1 2h-1v1h1v-1z\" /><path d=\"M25 25h-1v1h1v-1z\" /><path d=\"M26 25h-1v1h1v-1zm-2 0h-1v1h1v-1zm2-2h-1v1h1v-1z\" /><path d=\"M26 24h-1v1h1v-1zm13 2h-1v1h1v-1zm2-1h-1v1h1v-1zm-3-1h-1v1h1v-1z\" /><path d=\"M39 24h-1v1h1v-1z\" /><path d=\"M38 23h1v1h-1m0 1h-1v1h1v-1zm2 1h-1v1h1v-1z\" /><path d=\"M40 25h-1v1h1v-1z\" /><path d=\"M39 25h-1v1h1v-1zm2-1h-1v1h1v-1z\" /><path d=\"M40 23h-1v1h1v-1z\" /><path d=\"M40 24h-1v1h1v-1z\" /></g></g><g class=\"gotchi-handsDownClosed\"><g class=\"gotchi-primary\"><path d=\"M19 42h1v1h-1zm1-6h1v1h-1z\"/><path d=\"M21 37h1v1h-1zm5 3v4h1v-4zm-5 3h-1v1h2v-1z\"/><path d=\"M24 44h-2v1h4v-1h-1zm1-5h-1v1h2v-1z\"/><path d=\"M23 38h-1v1h2v-1z\"/></g><g class=\"gotchi-secondary\"><path d=\"M19 43h1v1h-1zm5 2h-2v1h4v-1h-1z\"/><path d=\"M27 41v3h1v-3zm-6 3h-1v1h2v-1z\"/><path d=\"M26 44h1v1h-1zm-7-3h-1v2h1v-1z\"/></g><g class=\"gotchi-primary\"><path d=\"M44 42h1v1h-1zm-1-6h1v1h-1z\"/><path d=\"M42 37h1v1h-1z\"/><path d=\"M42 39v-1h-2v1h1zm0 4v1h2v-1h-1z\"/><path d=\"M40 44h-2v1h4v-1h-1z\"/><path d=\"M38 42v-2h-1v4h1v-1z\"/><path d=\"M40 40v-1h-2v1h1z\"/></g><g class=\"gotchi-secondary\"><path d=\"M42 44v1h2v-1h-1zm-5-2v-1h-1v3h1v-1z\"/><path d=\"M40 45h-2v1h4v-1h-1z\"/><path d=\"M37 44h1v1h-1zm7-1h1v1h-1z\"/></g></g><g class=\"gotchi-handsDownOpen\"><g class=\"gotchi-primary\"><path d=\"M14 40h1v1h-1v-1zm-1-6h1v1h-1v-1z\"/><path d=\"M14 33h1v1h-1v-1zm-2 2h1v1h-1v-1zm-5 3h1v4H7v-4zm5 3h2v1h-2v-1z\"/><path d=\"M8 42h4v1H8v-1zm0-5h2v1H8v-1z\"/><path d=\"M10,36h2v1h-2V36z\"/></g><g class=\"gotchi-secondary\"><path d=\"M14,39h1v1h-1V39z\"/><path d=\"M12,40h2v1h-2V40z\"/><path d=\"M8,41h4v1H8V41z\"/></g><path d=\"M8,38v3h4v-1h2v-1h1v-5h-1v1h-1v1h-1v1h-2v1H8z\" fill=\"#fff\" /><g class=\"gotchi-primary\"><path d=\"M49 40h1v1h-1v-1zm1-6h1v1h-1v-1z\"/><path d=\"M49 33h1v1h-1v-1zm2 2h1v1h-1v-1zm5 3h1v4h-1v-4zm-6 3h2v1h-2v-1z\"/><path d=\"M52 42h4v1h-4v-1zm2-5h2v1h-2v-1z\"/><path d=\"M52,36h2v1h-2V36z\"/></g><g class=\"gotchi-secondary\"><path d=\"M49,39h1v1h-1V39z\"/><path d=\"M50,40h2v1h-2V40z\"/><path d=\"M52,41h4v1h-4V41z\"/></g><path d=\"M54,38v-1h-2v-1h-1v-1h-1v-1h-1v5h1v1h2v1h4v-3H54z\" fill=\"#fff\" /></g><g class=\"gotchi-handsUp\"><g class=\"gotchi-secondary\"><path d=\"M50,38h1v1h-1V38z\"/><path d=\"M49 39h1v1h-1v-1zm2-2h1v1h-1v-1z\"/><path d=\"M52,36h2v1h-2V36z\"/><path d=\"M54,35h2v1h-2V35z\"/></g><path d=\"M52,32v1h-2v1h-1v5h1v-1h1v-1h1v-1h2v-1h2v-3H52z\" fill=\"#fff\"/><g class=\"gotchi-primary\"><path d=\"M49,33h1v1h-1V33z\"/><path d=\"M50 32h2v1h-2v-1zm0 7h1v1h-1v-1z\"/><path d=\"M49 40h1v1h-1v-1zm2-2h1v1h-1v-1z\"/><path d=\"M52 37h2v1h-2v-1zm0-6h4v1h-4v-1z\"/><path d=\"M56,32h1v4h-1V32z\"/><path d=\"M54,36h2v1h-2V36z\"/></g><g class=\"gotchi-secondary\"><path d=\"M13,38h1v1h-1V38z\"/><path d=\"M14 39h1v1h-1v-1zm-2-2h1v1h-1v-1z\"/><path d=\"M10,36h2v1h-2V36z\"/><path d=\"M8,35h2v1H8V35z\"/></g><path d=\"M8,32v3h2v1h2v1h1v1h1v1h1v-5h-1v-1h-2v-1H8z\" fill=\"#fff\"/><g class=\"gotchi-primary\"><path d=\"M14,33h1v1h-1V33z\"/><path d=\"M12 32h2v1h-2v-1zm1 7h1v1h-1v-1z\"/><path d=\"M14 40h1v1h-1v-1zm-2-2h1v1h-1v-1z\"/><path d=\"M10 37h2v1h-2v-1zm-2-6h4v1H8v-1z\"/><path d=\"M7,32h1v4H7V32z\"/><path d=\"M8,36h2v1H8V36z\"/></g></g></svg>",
        "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 64 64\"><style>.gotchi-primary{fill:#FF7D00;}.gotchi-secondary{fill:#F9D792;}.gotchi-cheek{fill:#F4AF24;}.gotchi-eyeColor{fill:#0064FF;}.gotchi-sleeves-up{display:none;}.gotchi-handsUp{display:none;}.gotchi-handsDownOpen{display:none;}.gotchi-handsDownClosed{display:block}</style><g class=\"gotchi-bg\"><defs fill=\"#fff\"><pattern id=\"a\" patternUnits=\"userSpaceOnUse\" width=\"4\" height=\"4\"><path d=\"M0 0h1v1H0zm2 2h1v1H2z\"/></pattern><pattern id=\"b\" patternUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"2\" height=\"2\"><path d=\"M0 0h1v1H0z\"/></pattern><pattern id=\"c\" patternUnits=\"userSpaceOnUse\" x=\"-2\" y=\"0\" width=\"8\" height=\"1\"><path d=\"M0 0h1v1H0zm2 0h1v1H2zm2 0h1v1H4z\"/></pattern><pattern id=\"d\" patternUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"4\" height=\"4\"><path d=\"M0 0h1v1H0zm0 2h1v1H0zm1 0V1h1v1zm1 0h1v1H2zm0-1h1V0H2zm1 2h1v1H3z\"/></pattern><pattern id=\"e\" patternUnits=\"userSpaceOnUse\" width=\"64\" height=\"32\"><path d=\"M4 4h1v1H4zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1zm7 0h1v1h-1z\"/><path fill=\"url(#a)\" d=\"M0 8h64v7H0z\"/><path fill=\"url(#b)\" d=\"M0 16h64v1H0z\"/><path fill=\"url(#c)\" d=\"M0 18h64v1H0z\"/><path fill=\"url(#b)\" d=\"M22 18h15v1H22zM0 20h64v3H0z\"/><path fill=\"url(#d)\" d=\"M0 24h64v8H0z\"/></pattern><mask id=\"f\"><path fill=\"url(#e)\" d=\"M0 0h64v32H0z\"/></mask></defs><path fill=\"#fff\" d=\"M0 0h64v32H0z\"/><path fill=\"#dea8ff\" class=\"gotchi-secondary\" mask=\"url(#f)\" d=\"M0 0h64v32H0z\"/><path fill=\"#dea8ff\" class=\"gotchi-secondary\" d=\"M0 32h64v32H0z\"/><path mask=\"url(#f)\" fill=\"#fff\" transform=\"matrix(1 0 0 -1 0 64)\" d=\"M0 0h64v32H0z\"/></g><g class=\"gotchi-body\"><g class=\"gotchi-primary\"><path d=\"M21 12h2v-2h-4v2h1z\"/><path d=\"M19 14v-2h-2v2h1zm6-4h2V8h-4v2h1z\"/><path d=\"M29 8h8V6H27v2h1zm16 6h2v-2h-2v1z\"/><path d=\"M48 14h-1v39h-2v2h4V14zm-11-4h4V8h-4v1z\"/><path d=\"M41 12h4v-2h-4v1zM17 53V14h-2v41h4v-2h-1z\"/><path d=\"M24 51h-5v2h5v-1z\"/><path d=\"M27 53h-3v2h5v-2h-1zm18-2h-5v2h5v-1z\"/><path d=\"M35 51h-6v2h6v-1z\"/><path d=\"M38 53h-3v2h5v-2h-1z\"/></g><g class=\"gotchi-secondary\"><path d=\"M18 43v6h2v-1h2v1h2v2h-5v2h-2V14h2v1h-1v26z\"/><path d=\"M27 51h-3v2h5v-2h-1zm11 0h-3v2h5v-2h-1z\"/><path d=\"M35 49h-2v-1h-2v1h-2v2h6v-1zM25 11h2v-1h-4v1h1zm-4 2h2v-1h-4v1h1zm24 31v5h-1v-1h-2v1h-2v2h5v2h2V14h-2v29z\"/><path d=\"M37 8H27v1h5v1h5V9zm8 4h-4v2h4v-1z\"/><path d=\"M41 10h-4v2h4v-1z\"/></g><path d=\"M44 14h-3v-2h-4v-2h-5V9h-5v2h-4v2h-4v2h-1v34h2v-1h2v1h2v2h5v-2h2v-1h2v1h2v2h5v-2h2v-1h2v1h1V14z\" fill=\"#fff\"/></g><path class=\"gotchi-cheek\" d=\"M21 32v2h2v-2h-1zm21 0h-1v2h2v-2z\"/><g class=\"gotchi-primary-mouth\"><path d=\"M29 32h-2v2h2v-1z\"/><path d=\"M33 34h-4v2h6v-2h-1z\"/><path d=\"M36 32h-1v2h2v-2z\"/></g><g class=\"gotchi-shadow\"><path opacity=\".25\" d=\"M25 58H19v1h1v1h24V59h1V58h-1z\" fill=\"#000\"/></g><g class=\"gotchi-collateral\" fill=\"#ff7d00\"><path d=\"M37 16v-1h-1v-1h-1v1h-6v-2h5v-1h-6v3h-1v1h1v1h-1v1h1v3h6v-1h-5v-2h6v1h1v-1h1v-1h-1v-1h1zm-2 1h-6v-1h6v1z\"/><path d=\"M34 19h1v1h-1zm0-6h1v1h-1z\"/></g><g class=\"gotchi-eyeColor\"><path d=\"M39 23v2h-1v-2h1v-1h-2v1h-1v3h1v1h2v-1h1v-3h-1z\" /><g class=\"gotchi-primary\"><path d=\"M36 22h-1v1h1v-1z\" /><path d=\"M35 25v-2h-1v4h1v-2z\" /><path d=\"M36 27h-1v1h1v-1zm5-5h-1v1h1v-1z\" /><path d=\"M41 23v4h1v-4h-1zm-3-1h2v-1h-4v1h2zm0 6h-2v1h4v-1h-2z\" /><path d=\"M41 27h-1v1h1v-1z\" /></g><path d=\"M27 24v1h-1v-2h1v-1h-2v1h-1v3h1v1h2v-1h1v-3h-1v1z\" /><g class=\"gotchi-primary\"><path d=\"M24 22h-1v1h1v-1z\" /><path d=\"M23 25v-2h-1v4h1v-2z\" /><path d=\"M24 27h-1v1h1v-1zm5-5h-1v1h1v-1z\" /><path d=\"M29 24v3h1v-4h-1v1zm-3-2h2v-1h-4v1h2zm0 6h-2v1h4v-1h-2z\" /><path d=\"M29 27h-1v1h1v-1z\" /></g></g><g class=\"gotchi-handsDownClosed\"><g class=\"gotchi-primary\"><path d=\"M19 42h1v1h-1zm1-6h1v1h-1z\"/><path d=\"M21 37h1v1h-1zm5 3v4h1v-4zm-5 3h-1v1h2v-1z\"/><path d=\"M24 44h-2v1h4v-1h-1zm1-5h-1v1h2v-1z\"/><path d=\"M23 38h-1v1h2v-1z\"/></g><g class=\"gotchi-secondary\"><path d=\"M19 43h1v1h-1zm5 2h-2v1h4v-1h-1z\"/><path d=\"M27 41v3h1v-3zm-6 3h-1v1h2v-1z\"/><path d=\"M26 44h1v1h-1zm-7-3h-1v2h1v-1z\"/></g><g class=\"gotchi-primary\"><path d=\"M44 42h1v1h-1zm-1-6h1v1h-1z\"/><path d=\"M42 37h1v1h-1z\"/><path d=\"M42 39v-1h-2v1h1zm0 4v1h2v-1h-1z\"/><path d=\"M40 44h-2v1h4v-1h-1z\"/><path d=\"M38 42v-2h-1v4h1v-1z\"/><path d=\"M40 40v-1h-2v1h1z\"/></g><g class=\"gotchi-secondary\"><path d=\"M42 44v1h2v-1h-1zm-5-2v-1h-1v3h1v-1z\"/><path d=\"M40 45h-2v1h4v-1h-1z\"/><path d=\"M37 44h1v1h-1zm7-1h1v1h-1z\"/></g></g><g class=\"gotchi-handsDownOpen\"><g class=\"gotchi-primary\"><path d=\"M14 40h1v1h-1v-1zm-1-6h1v1h-1v-1z\"/><path d=\"M14 33h1v1h-1v-1zm-2 2h1v1h-1v-1zm-5 3h1v4H7v-4zm5 3h2v1h-2v-1z\"/><path d=\"M8 42h4v1H8v-1zm0-5h2v1H8v-1z\"/><path d=\"M10,36h2v1h-2V36z\"/></g><g class=\"gotchi-secondary\"><path d=\"M14,39h1v1h-1V39z\"/><path d=\"M12,40h2v1h-2V40z\"/><path d=\"M8,41h4v1H8V41z\"/></g><path d=\"M8,38v3h4v-1h2v-1h1v-5h-1v1h-1v1h-1v1h-2v1H8z\" fill=\"#fff\" /><g class=\"gotchi-primary\"><path d=\"M49 40h1v1h-1v-1zm1-6h1v1h-1v-1z\"/><path d=\"M49 33h1v1h-1v-1zm2 2h1v1h-1v-1zm5 3h1v4h-1v-4zm-6 3h2v1h-2v-1z\"/><path d=\"M52 42h4v1h-4v-1zm2-5h2v1h-2v-1z\"/><path d=\"M52,36h2v1h-2V36z\"/></g><g class=\"gotchi-secondary\"><path d=\"M49,39h1v1h-1V39z\"/><path d=\"M50,40h2v1h-2V40z\"/><path d=\"M52,41h4v1h-4V41z\"/></g><path d=\"M54,38v-1h-2v-1h-1v-1h-1v-1h-1v5h1v1h2v1h4v-3H54z\" fill=\"#fff\" /></g><g class=\"gotchi-handsUp\"><g class=\"gotchi-secondary\"><path d=\"M50,38h1v1h-1V38z\"/><path d=\"M49 39h1v1h-1v-1zm2-2h1v1h-1v-1z\"/><path d=\"M52,36h2v1h-2V36z\"/><path d=\"M54,35h2v1h-2V35z\"/></g><path d=\"M52,32v1h-2v1h-1v5h1v-1h1v-1h1v-1h2v-1h2v-3H52z\" fill=\"#fff\"/><g class=\"gotchi-primary\"><path d=\"M49,33h1v1h-1V33z\"/><path d=\"M50 32h2v1h-2v-1zm0 7h1v1h-1v-1z\"/><path d=\"M49 40h1v1h-1v-1zm2-2h1v1h-1v-1z\"/><path d=\"M52 37h2v1h-2v-1zm0-6h4v1h-4v-1z\"/><path d=\"M56,32h1v4h-1V32z\"/><path d=\"M54,36h2v1h-2V36z\"/></g><g class=\"gotchi-secondary\"><path d=\"M13,38h1v1h-1V38z\"/><path d=\"M14 39h1v1h-1v-1zm-2-2h1v1h-1v-1z\"/><path d=\"M10,36h2v1h-2V36z\"/><path d=\"M8,35h2v1H8V35z\"/></g><path d=\"M8,32v3h2v1h2v1h1v1h1v1h1v-5h-1v-1h-2v-1H8z\" fill=\"#fff\"/><g class=\"gotchi-primary\"><path d=\"M14,33h1v1h-1V33z\"/><path d=\"M12 32h2v1h-2v-1zm1 7h1v1h-1v-1z\"/><path d=\"M14 40h1v1h-1v-1zm-2-2h1v1h-1v-1z\"/><path d=\"M10 37h2v1h-2v-1zm-2-6h4v1H8v-1z\"/><path d=\"M7,32h1v4H7V32z\"/><path d=\"M8,36h2v1H8V36z\"/></g></g></svg>"
      ]
    }
  }
}
```

```
```


# Gotchiverse Subgraph

The subgraph for the Gotchiverse

### Introduction

This subgraph provides all the information you need for the gotchiverse: Events, Parcels, Gotchis, Installations, Tiles and more.&#x20;

Watch out! The subgraph is a WIP and things might change over time. Please follow the #subgraphs channel at the [Aavegotchi Discord](https://discord.gg/aavegotchi)!

The endpoint is: `https://api.thegraph.com/subgraphs/name/aavegotchi/gotchiverse-matic`

The Playground can be found [HERE](https://thegraph.com/hosted-service/subgraph/aavegotchi/gotchiverse-matic).

### Schema

The schema consists out of basically three different kinds of entities: Events, State and Stats. We have for each event emitted on chain a Event entitiy on the subgraph whichs logs all the data. Such as Transfer events, Mint Parcel events or EquipTile events. The State holds the latest state of the Parcels, Gotchis, Installations and Tiles. Finally the Stats hold information about the Gotchiverse, the user, the parcels and gotchis.

You can find at the Playground or in the github repo the entire Schema: <https://github.com/aavegotchi/gotchiverse-subgraph/blob/main/schema.graphql>

### Examples

In this section we provide some example queries which should help you to get first ideas of what to fetch from the graph and how to do it. You can insert all events on the Playground and get the results. If you need help on how to integrate those queries in your app please take a look into the [General Section](https://docs.aavegotchi.com/subgraphs/general).

#### Events

You can query the subgraph for almost every event happened on chain. From transfers, to equip / unequip of installations and tiles also to parcel access rights and more.

```
{
  transferFromUser: transferEvents(where: {from:"0xa97946357a1f6c251b9d257833ab0233ed863527"}) {
    from
    to
    tokenId
  }
  
  transferToUser: transferEvents(where: {to:"0xa97946357a1f6c251b9d257833ab0233ed863527"}) {
    from
    to
    tokenId
  }
  
  upgradeFinalizedEvents(where: {parcel: "23596"}) {
    installation {
      name
    }
  }
}
```

#### Gotchis and Parcels

We store a lot of information about the Parcles, but very less for Gotchis, because the  [core matic subgraph](https://docs.aavegotchi.com/subgraphs/core-matic-subgraph) already maintains the gotchi information. We store for both entity types the last channeled alchemica attribute. For the parcels we also store the size, the coordinates, the alchemica boost and the equipped tiles and installations.&#x20;

```
{
  gotchis(where: {id_in: ["4430", "20695"]}) {
    id
    lastChanneledAlchemica
  }
  parcels(where: {owner: "0x1AD3d72e54Fb0eB46e87F82f77B284FC8a66b16C"}) {
    equippedInstallations {
      name
      level
    }
    equippedTiles {
      name
      uri
    }
    lastChanneledAlchemica
    fudBoost
    fomoBoost
    alphaBoost
    kekBoost
    size
    coordinateX
    coordinateY
  }
}
```

#### Installation Types and Tile Types

You can query all the possible Installation and Tiles types with their pre requisites and alchemica costs.

```
{
  tileTypes {
    width
    height
    deprecated
    craftTime
    alchemicaCost
    name
    amount
    uri
  }
  
  installationTypes {
    width
    height
    level
    alchemicaType
    spillRadius
    spillRate
    prerequisites
    amountPrerequisites
    name
    amount
    uri
    harvestRate
    alchemicaCost
    deprecated
    craftTime
    upgradeQueueBoost
  }
}
```

#### Stats

We store some stats for the entire gotchisverse, but also for users, parcel and gotchis.&#x20;

```
{
  overallStats: stat(id:"overall") {
    alchemicaSpendOnTiles
    alchemicaSpendOnUpgrades
    alchemicaSpendTotal
    alchemicaClaimedTotal
    tilesEquippedCurrent
    installationsEquippedCurrent
    alchemicaSpendOnInstallations
    alchemicaSpendOnUpgrades
    alchemicaSpendOnTiles
    alchemicaSpendTotal
    tilesMinted
  }
  
  userStats:stat(id:"user-0x1ad3d72e54fb0eb46e87f82f77b284fc8a66b16c") {
    alchemicaSpendTotal
    tilesMinted
    installationsMintedTotal
    installationsUpgradedTotal
    alchemicaSpendTotal
    alchemicaSpendOnUpgrades
    alchemicaSpendOnInstallations
  }
  
  parcelStats:stat(id:"parcel-23596") {
    installationsEquippedTotal
    installationsEquippedCurrent
    alchemicaChanneledTotal
  }
}
```


# FAKE Gotchi Subgraph

The subgraph provides all the information needed for the fakegotchis.com webpage. It allows to fetch all the happened events on-chain as well as useful entities for the Cards and NFTs. Furthermore in provides some useful stats. The full documentation can be found here [LINK](https://github.com/aavegotchi/aavegotchi-fakegotchi-subgraph)

The endpoint is: `https://api.thegraph.com/subgraphs/name/aavegotchi/fake-gotchis-matic`&#x20;

The Playground can be found [HERE](https://thegraph.com/hosted-service/subgraph/aavegotchi/fake-gotchis-matic)

### Events

The Events can be queried as followed:

```
{
  erc1155Transfers(first: 5) {
    from {
      id
    }
    to {
      id
    }
    valueExact
  }  
  
  metadataFlags(first: 5) {
    flaggedBy {
      id
    }
    metadata {
      id
    }
  }
  
  metadataLikes(first: 5) {
    likedBy {
      id
    }
    metadata {
      id
    }
  }
}

```

the response contains the ID of the aavegotchi and the svg...

```
{
  "data": {
    "erc1155Transfers": [
      {
        "from": null,
        "to": {
          "id": "0x8d46fd7160940d89da026d59b2e819208e714e82"
        },
        "valueExact": "2535"
      },
      {
        "from": {
          "id": "0x8d46fd7160940d89da026d59b2e819208e714e82"
        },
        "to": {
          "id": "0x57f1a63b97ec36777054a4a94468083ae9cf0cc8"
        },
        "valueExact": "1"
      },
      {
        "from": {
          "id": "0x57f1a63b97ec36777054a4a94468083ae9cf0cc8"
        },
        "to": null,
        "valueExact": "1"
      },
      {
        "from": {
          "id": "0x8d46fd7160940d89da026d59b2e819208e714e82"
        },
        "to": {
          "id": "0xc29029de05bf135a90c19f31f866f8774a39dbb6"
        },
        "valueExact": "1"
      },
      {
        "from": {
          "id": "0x8d46fd7160940d89da026d59b2e819208e714e82"
        },
        "to": {
          "id": "0x92baffdd6cfb11a4e57a58ffec4833b4d1abd25d"
        },
        "valueExact": "1"
      }
    ],
    "metadataFlags": [
      {
        "flaggedBy": {
          "id": "0xc89a3292eb0a8396a2505deb6195afa7f83a8a30"
        },
        "metadata": {
          "id": "1"
        }
      },
      {
        "flaggedBy": {
          "id": "0xf0b3868bdfdc28ed7ebca122ce821e0211fd3c0f"
        },
        "metadata": {
          "id": "4"
        }
      },
      {
        "flaggedBy": {
          "id": "0x20906e454a9d20181350630ead131d8dfa21dd3f"
        },
        "metadata": {
          "id": "4"
        }
      },
      {
        "flaggedBy": {
          "id": "0x1ea25519e4829bf579a58f133c4bf31e7e6f7565"
        },
        "metadata": {
          "id": "4"
        }
      },
      {
        "flaggedBy": {
          "id": "0x6fd155b9d52f80e8a73a8a2537268602978486e2"
        },
        "metadata": {
          "id": "4"
        }
      }
    ],
    "metadataLikes": [
      {
        "likedBy": {
          "id": "0x3aef590df6febaa81477c1cea3009bb9e096730c"
        },
        "metadata": {
          "id": "1"
        }
      },
      {
        "likedBy": {
          "id": "0xc89a3292eb0a8396a2505deb6195afa7f83a8a30"
        },
        "metadata": {
          "id": "1"
        }
      },
      {
        "likedBy": {
          "id": "0x501ffc7ee44f7986c24fb5bf7c04c1ed6377ec87"
        },
        "metadata": {
          "id": "1"
        }
      },
      {
        "likedBy": {
          "id": "0x1ea25519e4829bf579a58f133c4bf31e7e6f7565"
        },
        "metadata": {
          "id": "1"
        }
      },
      {
        "likedBy": {
          "id": "0xb53cf0a586973ab15c0a045990d06b4fa083dd5a"
        },
        "metadata": {
          "id": "1"
        }
      }
    ]
  }
}
```

### Cards and NFTs

Cards are are ERC1155s and NFTs ERC721. The Subgraph allows to query for both:

<pre><code><strong>{
</strong>  account(id:"0x01c28a969a7d0ba03419c8c80be59928c4732cd9") {
    id
    ERC721tokens(first: 3) {
      metadata {
        name
        artistName
        description
      }
    }
    ERC1155balances(first: 3) {
      id
    }
  }
}

</code></pre>

the response contains all the information: In this case the accounts owns multiple NFTs, but no cards.

```
{
  "data": {
    "account": {
      "id": "0x01c28a969a7d0ba03419c8c80be59928c4732cd9",
      "ERC721tokens": [
        {
          "metadata": {
            "name": "Chubby Gotchi Family Portrait",
            "artistName": "Gotchi Bulls",
            "description": "These are reimaginings of many actual Aavegotchis  that take on a life of their own in the Chubby World!"
          }
        },
        {
          "metadata": {
            "name": "Chubby Gotchi Family Portrait",
            "artistName": "Gotchi Bulls",
            "description": "These are reimaginings of many actual Aavegotchis  that take on a life of their own in the Chubby World!"
          }
        },
        {
          "metadata": {
            "name": "Chubby Gotchi Family Portrait",
            "artistName": "Gotchi Bulls",
            "description": "These are reimaginings of many actual Aavegotchis  that take on a life of their own in the Chubby World!"
          }
        }
      ],
      "ERC1155balances": []
    }
  }
}
```

### Statistics

The subgraph provides also some useful stats. For example how large is the supply and how many cards and nfts are already burned.

```
{
  totalStatistics {
    totalOwners
    totalFakeGotchiPieces
    totalNFTs
    burnedNFTs
    burnedCards
  }
  
  nftstatistics {
    holders(first: 3) {
      id
      amount
    }
    burned
    amountHolder
    totalSupply
  }
}
```

The response looks like this:

```
{
  "data": {
    "totalStatistics": [
      {
        "totalOwners": 57,
        "totalFakeGotchiPieces": 14,
        "totalNFTs": 920,
        "burnedNFTs": 0,
        "burnedCards": 0
      }
    ],
    "nftstatistics": [
      {
        "holders": [
          {
            "id": "0x07a009e9e98649bff954cf3032ceb3e21e020f49-1",
            "amount": 1
          },
          {
            "id": "0x3c2262255793f2b4629f7b9a2d57ce78f7842a8d-1",
            "amount": 2
          },
          {
            "id": "0x57f1a63b97ec36777054a4a94468083ae9cf0cc8-1",
            "amount": 90
          }
        ],
        "burned": 0,
        "amountHolder": 9,
        "totalSupply": 100
      },
      {
        "holders": [
          {
            "id": "0x26cf02f892b04af4cf350539ce2c77fcf79ec172-10",
            "amount": 1
          },
          {
            "id": "0x3c2262255793f2b4629f7b9a2d57ce78f7842a8d-10",
            "amount": 1
          },
          {
            "id": "0x4572192ed1dee5fd0f8f07269be4ef3e3e270715-10",
            "amount": 1
          }
        ],
        "burned": 0,
        "amountHolder": 12,
        "totalSupply": 30
      },
      {
        "holders": [
          {
            "id": "0x3bd59ed16c462b4464091830dab828dce079076f-11",
            "amount": 1
          },
          {
            "id": "0x5e31c357d03e9528e9bf95bd16e5c1ab3f7d37d0-11",
            "amount": 1
          },
          {
            "id": "0x81e5cd19323ce7f6b36c9511fbc98d477a188b13-11",
            "amount": 67
          }
        ],
        "burned": 0,
        "amountHolder": 3,
        "totalSupply": 69
      },
      {
        "holders": [
          {
            "id": "0x0465c733bcbc4e15f15d393d919cf6dc8ae757ce-12",
            "amount": 1
          },
          {
            "id": "0x2fa37cb96c19e9b1f9ad060aed00c0cfc727ae39-12",
            "amount": 1
          },
          {
            "id": "0x3c2262255793f2b4629f7b9a2d57ce78f7842a8d-12",
            "amount": 2
          }
        ],
        "burned": 0,
        "amountHolder": 7,
        "totalSupply": 25
      },
      {
        "holders": [
          {
            "id": "0x0465c733bcbc4e15f15d393d919cf6dc8ae757ce-13",
            "amount": 1
          },
          {
            "id": "0x2fa37cb96c19e9b1f9ad060aed00c0cfc727ae39-13",
            "amount": 11
          },
          {
            "id": "0x3c2262255793f2b4629f7b9a2d57ce78f7842a8d-13",
            "amount": 1
          }
        ],
        "burned": 0,
        "amountHolder": 9,
        "totalSupply": 20
      },
      {
        "holders": [
          {
            "id": "0x082e8a9da4397bc24ac22fad57cd7063dc1cd58b-14",
            "amount": 42
          }
        ],
        "burned": 0,
        "amountHolder": 1,
        "totalSupply": 42
      },
      {
        "holders": [
          {
            "id": "0xc29029de05bf135a90c19f31f866f8774a39dbb6-15",
            "amount": 100
          }
        ],
        "burned": 0,
        "amountHolder": 1,
        "totalSupply": 100
      },
      {
        "holders": [
          {
            "id": "0x2dd1951f15e2f9b629209dc43fac402fa7a91d8f-2",
            "amount": 1
          },
          {
            "id": "0x5e31c357d03e9528e9bf95bd16e5c1ab3f7d37d0-2",
            "amount": 1
          },
          {
            "id": "0xcd3014700f40d44f36c520b3bc887b7a603673dd-2",
            "amount": 1
          }
        ],
        "burned": 0,
        "amountHolder": 5,
        "totalSupply": 64
      },
      {
        "holders": [
          {
            "id": "0x137173233cc1ecf6d6ba9799868c8272352fb2e5-3",
            "amount": 17
          },
          {
            "id": "0x5e31c357d03e9528e9bf95bd16e5c1ab3f7d37d0-3",
            "amount": 1
          },
          {
            "id": "0x6994ba66fd6789044c4ad43786cc16840d099c8a-3",
            "amount": 1
          }
        ],
        "burned": 0,
        "amountHolder": 4,
        "totalSupply": 20
      },
      {
        "holders": [
          {
            "id": "0x01c28a969a7d0ba03419c8c80be59928c4732cd9-5",
            "amount": 19
          },
          {
            "id": "0x1ea25519e4829bf579a58f133c4bf31e7e6f7565-5",
            "amount": 1
          },
          {
            "id": "0x2fa37cb96c19e9b1f9ad060aed00c0cfc727ae39-5",
            "amount": 1
          }
        ],
        "burned": 0,
        "amountHolder": 6,
        "totalSupply": 100
      },
      {
        "holders": [
          {
            "id": "0x0465c733bcbc4e15f15d393d919cf6dc8ae757ce-6",
            "amount": 1
          },
          {
            "id": "0x3c2262255793f2b4629f7b9a2d57ce78f7842a8d-6",
            "amount": 1
          },
          {
            "id": "0x44e9d011df8741be2493e99297e9ad67bb1aa85b-6",
            "amount": 95
          }
        ],
        "burned": 0,
        "amountHolder": 6,
        "totalSupply": 100
      },
      {
        "holders": [
          {
            "id": "0x1d130d29b3906555030452f0f29cdb0b9750fd21-7",
            "amount": 35
          },
          {
            "id": "0x2fa37cb96c19e9b1f9ad060aed00c0cfc727ae39-7",
            "amount": 1
          },
          {
            "id": "0x30dcca068f593cbffb5affe8a89f35ae49614972-7",
            "amount": 1
          }
        ],
        "burned": 0,
        "amountHolder": 15,
        "totalSupply": 50
      },
      {
        "holders": [
          {
            "id": "0x92baffdd6cfb11a4e57a58ffec4833b4d1abd25d-8",
            "amount": 100
          }
        ],
        "burned": 0,
        "amountHolder": 1,
        "totalSupply": 100
      },
      {
        "holders": [
          {
            "id": "0x0465c733bcbc4e15f15d393d919cf6dc8ae757ce-9",
            "amount": 1
          },
          {
            "id": "0x08a534738ba8ec107ed65986a3de66c330441b9a-9",
            "amount": 1
          },
          {
            "id": "0x2dd1951f15e2f9b629209dc43fac402fa7a91d8f-9",
            "amount": 1
          }
        ],
        "burned": 0,
        "amountHolder": 14,
        "totalSupply": 100
      }
    ]
  }
}
```

### NFT Proposals

It takes time to mint a NFT. It requires that the card is burned and some art is added. After some days the NFT can be minted. Proposals can be liked, flagged or change their status.

```
{
   metadataActionLogs(where: {status: 0} first: 1) {
    name
    publisher {
      id
    }
    publisherName
    artist {
      id
    }
    artistName
    fileHash
    flagCount
    likeCount
    status
  }
}
```

The status codes are defined as follows:

```
export const METADATA_STATUS_PENDING = 0;
export const METADATA_STATUS_PAUSED = 1;
export const METADATA_STATUS_APPROVED = 2;
export const METADATA_STATUS_DECLINED = 3;
```

The result shows all neccesary informations:

```
{
  "data": {
    "metadataActionLogs": [
      {
        "name": "FUD vs FOMO",
        "publisher": {
          "id": "0x187dad1e0dd5e599091c2ec88e89afb4cde4b7a3"
        },
        "publisherName": "Skeenee",
        "artist": {
          "id": "0x15b89bae8ba07c249c4a7985317a9d14f19ca67f"
        },
        "artistName": "Skeenee",
        "fileHash": "aaRv5WVb0XHPF9NOGmchDl6tm2xduZjL8_9XVYZhtR0",
        "flagCount": 0,
        "likeCount": 15,
        "status": 0
      }
    ]
  }
}
```


