Compare commits

...

459 Commits

Author SHA1 Message Date
github-actions[bot] 0111f5c8b0 Release 0.9.7 (#1703)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: marcusschiesser <17126+marcusschiesser@users.noreply.github.com>
2025-03-05 16:59:05 +07:00
Thuc Pham beb922b743 fix: build fail in edge runtime (#1705)
Co-authored-by: Marcus Schiesser <mail@marcusschiesser.de>
2025-03-05 16:35:00 +07:00
patryktop e28c29d1f5 feat: add Llama 3.3 70B Instruct to community package (#1702) 2025-03-04 17:27:35 -08:00
github-actions[bot] 008cccd9f1 Release 0.9.6 (#1698) 2025-03-04 17:33:18 +07:00
Huu Le 081698d68c chore: simplify imports of agent workflow (#1700) 2025-03-04 17:01:29 +07:00
Huu Le ab5fe5d7a0 chore: remove core import in document (#1699) 2025-03-04 16:14:31 +07:00
Huu Le 56689707d3 feat: Support AgentWorkflow (#1685)
Co-authored-by: Marcus Schiesser <mail@marcusschiesser.de>
2025-03-04 16:05:25 +07:00
Brian Lange fd74ba4bf1 fix: Voyage typescript configs + docs (#1696) 2025-03-04 11:00:05 +07:00
github-actions[bot] b2634e47ca Release 0.9.5 (#1694)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: marcusschiesser <17126+marcusschiesser@users.noreply.github.com>
2025-02-28 18:18:14 +07:00
Thuc Pham ad3c7f1ec1 fix: streaming issues with LLMAgent (#1692) 2025-02-28 18:13:36 +07:00
Alex Yang 335f2df626 chore: fix lock file 2025-02-27 12:31:11 -08:00
github-actions[bot] ee963644bf Release 0.9.4 (#1689)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-02-27 12:28:48 -08:00
Alex Yang cb256f24ae feat: support gpt-4.5 (#1688) 2025-02-27 12:24:33 -08:00
Alex Yang 1ccc04ecb5 chore: fix changeset 2025-02-27 12:17:12 -08:00
Brian Lange 034639153b feat: Voyage embeddings (#1574)
Co-authored-by: Marcus Schiesser <mail@marcusschiesser.de>
2025-02-27 10:22:33 +07:00
patryktop 1914b52708 feat: add Claude 3.7 Sonnet model to community package (#1683) 2025-02-26 14:38:14 -08:00
Alex Yang cb021e7196 feat(node-parser): support async function (#1682) 2025-02-26 08:59:51 -08:00
ratacat c2aa836b35 docs: upgrade remote ollama embeddings (#1680) 2025-02-25 11:39:16 -08:00
github-actions[bot] 3b0f55f1ea Release 0.9.3 (#1676)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: marcusschiesser <17126+marcusschiesser@users.noreply.github.com>
2025-02-25 16:53:30 +07:00
Marcus Schiesser a9c6144eec feat: stream thinking tokens for claude 3.7 (#1679) 2025-02-25 16:48:12 +07:00
Marcus Schiesser 3564244ced chore: add claude 3.7 support (#1678) 2025-02-25 15:18:45 +07:00
Gunnar Holwerda d952e68ec4 Fix refine synthesizer empty source nodes behavior (#1677) 2025-02-24 10:56:21 +07:00
Tushar Sonawane 5c026e839f feat(vectorstore): adds firestore vector store support (#1600) 2025-02-21 16:23:50 +07:00
github-actions[bot] 9c1c5b4d50 Release 0.9.2 (#1673)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-02-21 10:57:11 +07:00
Thuc Pham c902fcbc33 chore: bump llamacloud openapi (#1674) 2025-02-20 17:47:41 +07:00
Thuc Pham 88d776f392 fix: enhance error message in llamacloud (#1672) 2025-02-20 16:33:34 +07:00
github-actions[bot] 6fcc6bcb84 Release @llamaindex/anthropic@0.1.2 (#1671)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-02-20 12:56:33 +07:00
Thuc Pham be74207945 fix: dont add empty text block to tool call (#1670) 2025-02-20 12:47:43 +07:00
Alex Yang 6be223dfad chore: bump version (#1668) 2025-02-19 19:28:12 +08:00
Alex Yang 4cbfdb5f5c ci: only run in pull request (#1669) 2025-02-19 19:11:53 +08:00
github-actions[bot] 9767d1c004 Release 0.9.1 (#1664)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: himself65 <14026360+himself65@users.noreply.github.com>
2025-02-19 18:15:41 +08:00
Alex Yang e831b28627 ci: add size limit check (#1667) 2025-02-19 18:05:28 +08:00
Alex Yang cc50c9c2d4 chore: trigger env package release 2025-02-19 17:59:38 +08:00
Thuc Pham 954140776e fix: missing document entrypoints (#1663)
Co-authored-by: Marcus Schiesser <mail@marcusschiesser.de>
2025-02-14 17:06:23 +07:00
Savas Ziplies 6d37d440a6 refactor(agent): changed regex for tool use extraction to look for optional "Input:" prefix to comply with Cohere command-r models (#1654) 2025-02-14 15:17:03 +07:00
Alex Yang e724f7e9f2 fix: cjs module resolve esm module unexpectedly (#1662) 2025-02-14 15:52:37 +08:00
Alex Yang 1b029ae525 test: add cjs smoke test (#1660) 2025-02-14 14:28:09 +08:00
Marcus Schiesser d1db2189c9 docs: update starter to ask for api key (#1661) 2025-02-14 12:14:51 +07:00
Alex Yang 2c5b4030c9 chore: bump bunchee (#1645) 2025-02-14 09:41:32 +08:00
Alex Yang 96eb597059 fix: bundler issue default in default (#1653) 2025-02-14 09:20:39 +08:00
Marcus Schiesser 04098d55ff chore: fix pnpm lock (#1658) 2025-02-13 17:49:21 +07:00
Marcus Schiesser 335a6b9e88 chore: add pathe to examples (#1657) 2025-02-13 17:44:30 +07:00
github-actions[bot] c2a345ebb1 Release 0.9.0 (#1643)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: marcusschiesser <17126+marcusschiesser@users.noreply.github.com>
2025-02-13 17:34:06 +07:00
Marcus Schiesser d3fa729a30 Cleanups before 0.9 release (#1656) 2025-02-13 17:26:22 +07:00
Thuc Pham c7c08005ec fix: fumadoc build fail (#1655) 2025-02-13 16:24:28 +07:00
Alex Yang bb0ae5e321 chore: fix pkg.pr.new issue (#1651) 2025-02-12 21:19:29 +08:00
Marcus Schiesser f4588bc770 chore: Remove readers package from llamaindex (#1649) 2025-02-12 17:16:41 +07:00
Marcus Schiesser b49037612d remove service context (#1618)
Co-authored-by: thucpn <thucsh2@gmail.com>
2025-02-12 15:10:11 +07:00
Thuc Pham a87efb91a4 docs: update chat engine docs (#1648) 2025-02-12 12:45:26 +07:00
Thuc Pham 6a4a73760b chore: remove re-exporting packages in llamaindex (#1624)
Co-authored-by: Marcus Schiesser <mail@marcusschiesser.de>
2025-02-12 12:44:52 +07:00
Alex Yang 1564831158 ci: fix pkg-pr-new release (#1646) 2025-02-11 22:42:42 +08:00
Alex Yang 4d94f6e50d test: smoke test with cjs/esm dual package (#1644) 2025-02-11 15:02:06 +08:00
Thuc Pham 7bd5d9340c docs: update workflow doc (#1637)
Co-authored-by: Marcus Schiesser <mail@marcusschiesser.de>
2025-02-11 13:41:11 +07:00
Thuc Pham d924c63162 feat: asChatEngine function for index (#1640) 2025-02-11 12:57:15 +07:00
github-actions[bot] 83cff1277c Release 0.8.37 (#1642)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: marcusschiesser <17126+marcusschiesser@users.noreply.github.com>
2025-02-11 12:48:58 +07:00
Marcus Schiesser 1c908fd852 Revert "fix: bundle output incorrect (#1638)" (#1641) 2025-02-11 12:27:11 +07:00
github-actions[bot] 56f367f08d Release 0.8.36 (#1639)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: himself65 <14026360+himself65@users.noreply.github.com>
2025-02-10 21:49:19 +08:00
Alex Yang cb608b5d01 fix: bundle output incorrect (#1638) 2025-02-10 21:30:36 +08:00
github-actions[bot] bd55bcffff Release 0.8.35 (#1633)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: marcusschiesser <17126+marcusschiesser@users.noreply.github.com>
2025-02-10 16:45:42 +07:00
Thuc Pham 6d4d96f8fe chore: update import to workspace pages for examples and docs (#1626)
Co-authored-by: Marcus Schiesser <mail@marcusschiesser.de>
2025-02-10 15:43:29 +07:00
Thuc Pham b6ea2bf964 fix(gemini): use function role for message contains tool-result (#1634) 2025-02-10 12:57:45 +07:00
Parham Saidi 15563a0f70 fix: delete temp competely from params when calling openai o3 (#1629) 2025-02-10 11:07:21 +07:00
github-actions[bot] bd940d1d43 Release 0.8.34 (#1630)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-02-07 16:02:27 +07:00
Thuc Pham 9f8ad37b79 fix: missing peer deps in llamaindex (#1631) 2025-02-07 15:06:41 +07:00
Peter Goldstein 7265f74c24 Add reasoning_effort for o1 and o3 (#1628) 2025-02-07 12:01:48 +07:00
github-actions[bot] e3f1b85846 Release 0.8.33 (#1619)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: marcusschiesser <17126+marcusschiesser@users.noreply.github.com>
2025-02-06 15:53:47 +07:00
Peter Goldstein e38e474f86 Add Gemini 2.0 models (#1625) 2025-02-06 15:41:20 +07:00
Parham Saidi 2019a041f7 fix: o3 calls do not support temperature param (#1622) 2025-02-06 10:23:23 +07:00
Thuc Pham 067a4894fe fix: missing condition to stringify tool input (#1620) 2025-02-05 17:25:37 +07:00
clean99 21769c8ad9 Fix: update deprecated response property in examples (#1614)
Co-authored-by: Marcus Schiesser <mail@marcusschiesser.de>
2025-02-05 11:28:32 +07:00
github-actions[bot] 89ea1e1d31 Release 0.8.32 (#1595)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: marcusschiesser <17126+marcusschiesser@users.noreply.github.com>
2025-02-04 12:23:47 +07:00
siquick d9bbaf95f3 chore: updated docs and examples to use correct PGVectorStore imports (#1611)
Co-authored-by: Marcus Schiesser <mail@marcusschiesser.de>
2025-02-04 11:18:39 +07:00
Marcus Schiesser 8744796c06 update the versioon of chromadb client (#1616)
Co-authored-by: my8bit <mail@my8bit.name>
2025-02-04 10:58:04 +07:00
Ihor Pavlenko f02621e379 fix: doc links (#1610) 2025-02-04 10:46:04 +07:00
Peter Goldstein 1892e1ce1d Add O3 mini model (#1612) 2025-02-04 10:34:22 +07:00
dependabot[bot] d90d8959a5 chore(deps-dev): bump vite from 5.4.11 to 5.4.12 (#1604)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-04 10:33:18 +07:00
Thuc Pham 4df1fe6cca chore: migrate llamaindex llms and embeddings to their own packages (#1615) 2025-02-03 17:32:19 +07:00
Thuc Pham 34faf4821a chore: move vector stores to their own packages (#1605) 2025-01-24 12:45:13 +07:00
Marcus Schiesser b24ffc6174 fix: pinecone import (#1603) 2025-01-21 12:32:05 +07:00
Thuc Pham 82e25c924c fix: remove ignore package from changeset (#1602) 2025-01-21 12:28:39 +07:00
Thuc Pham 1931bbca74 chore: move azure code to own @llamaindex/azure package (#1601) 2025-01-21 12:14:17 +07:00
Thuc Pham 94566169fb chore: move postgres storage classes to @llamaindex/postgres (#1597) 2025-01-20 12:24:44 +07:00
Alex Yang d6c270ec7a feat(cloud): support pass project and org id to llama parse reader (#1594) 2025-01-08 11:23:48 -08:00
github-actions[bot] e3a77044d5 Release 0.8.31 (#1579)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: himself65 <himself65@users.noreply.github.com>
2025-01-08 10:42:19 -08:00
Alex Yang fd9c8294e1 chore: bump llamacloud openapi (#1592) 2025-01-06 23:12:41 -08:00
Thuc Pham 0ebbfc1031 fix: clean up docstore when generating embedding fail (#1588)
Co-authored-by: Marcus Schiesser <mail@marcusschiesser.de>
2025-01-07 11:58:09 +07:00
Alex Yang 5dec9f912a chore: bump sdk deps (#1591) 2025-01-06 17:03:15 -08:00
Alex Yang 1f53819b64 chore: bump version (#1583) 2025-01-02 07:43:17 -08:00
Erik d211b7ab13 add tool call history support in chat messages (#1565) 2024-12-22 19:09:38 -08:00
Thuc Pham 057ee146bd fix: add start command for stackblitz (#1577) 2024-12-20 23:55:33 -08:00
Thuc Pham 4a831b192c fix: docs migration issues (#1576) 2024-12-20 16:42:54 +07:00
Thuc Pham cf29ca1bf8 [WIP] feat: remove legacy docs (#1571) 2024-12-20 15:12:01 +07:00
Wassim Chegham 09b933f8da feat: add Azure AI Vector Search (#1485) 2024-12-18 11:26:53 -06:00
Thuc Pham 44c0734106 feat: migrate legacy docs (#1568) 2024-12-18 02:18:47 -08:00
github-actions[bot] a7023b4a93 Release 0.8.30 (#1570)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-12-16 11:40:25 -08:00
Alex Yang 012495b5ba chore: bump llamacloud sdk (#1569) 2024-12-16 11:10:09 -08:00
github-actions[bot] a8afb9a7a7 Release 0.8.29 (#1566)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-12-13 19:19:03 -08:00
Peter Goldstein dd596a0cf2 Add Gemini Flash 2.0 Experimental (#1563) 2024-12-13 12:10:46 -08:00
Alex Yang 9e648a0b4f chore: bump version (#1562) 2024-12-11 12:56:38 -08:00
github-actions[bot] bbb87f42ed Release 0.8.28 (#1559)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: himself65 <himself65@users.noreply.github.com>
2024-12-11 12:09:46 -08:00
Parham Saidi 24caf93efe fix: added inference profile mapping for nova models (#1560) 2024-12-11 11:17:40 -08:00
Thuc Pham a9b5b993fa feat: build api reference pages for new documentation site (#1551) 2024-12-11 09:21:21 -08:00
github-actions[bot] f369d3de4f Release 0.8.27 (#1545)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: himself65 <himself65@users.noreply.github.com>
2024-12-11 12:18:21 +07:00
Parham Saidi c1850ee370 feat: Amazon Nova support via Bedrock (#1548) 2024-12-10 18:56:35 -08:00
Marcus Schiesser 086a65141d Add adapter to use Vercel model providers (#1558)
Co-authored-by: Alex Yang <himself65@outlook.com>
2024-12-09 21:02:57 -08:00
Qwertic d99d598491 Update typescript.mdx (#1557) 2024-12-09 19:52:15 -08:00
Gunnar Holwerda a0e6f57d9b Pass options through to userWebpack in withLlamaIndex (#1550) 2024-12-09 19:51:52 -08:00
Gunnar Holwerda e0f6cc3be1 fix: return actual source nodes with compact and refine response synt… (#1554) 2024-12-09 11:00:12 -08:00
Jingyi Zhao 8386510d86 chore: add e2e working example for ingestion (#1543) 2024-12-04 17:36:00 -08:00
Marcus Schiesser b504303c66 fix: allow Node 18 again to make Stackblitz work (#1544) 2024-12-03 20:57:20 -08:00
Marcus Schiesser cf9a9356e0 fix: discord link (#1542) 2024-12-03 11:16:02 +07:00
github-actions[bot] 335020e242 Release 0.8.26 (#1541)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: himself65 <himself65@users.noreply.github.com>
2024-12-02 12:23:57 -08:00
Alex Yang 3d1808b5d2 chore: bump version (#1540) 2024-12-02 12:18:51 -08:00
Alex Yang a19cbc7fe0 ci: fix (#1539) 2024-12-02 10:33:44 -08:00
github-actions[bot] b8f0cbc4e0 Release 0.8.25 (#1536)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: marcusschiesser <marcusschiesser@users.noreply.github.com>
2024-12-02 03:02:36 -08:00
Marcus Schiesser 7e8230b056 fix: release missing readers package (#1537) 2024-12-02 17:54:22 +07:00
Alex Yang 8be45899a7 chore: bump version 2024-12-02 02:21:13 -08:00
github-actions[bot] c4800bcf82 Release @llamaindex/vercel@0.0.2 (#1535) 2024-12-02 14:19:40 +07:00
Thuc Pham fd38a253b7 feat: add vercel chat example (#1532)
Co-authored-by: Marcus Schiesser <mail@marcusschiesser.de>
2024-12-02 13:56:28 +07:00
github-actions[bot] 510191cb5d Release 0.8.24 (#1531)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-30 06:05:47 -08:00
Jingyi Zhao 7934ade092 fix: add obsidian reader to index (#1533) 2024-11-30 01:29:45 -08:00
Jingyi Zhao a6c1eab762 feat: data connector for obsidian note taking app (#1529) 2024-11-29 22:39:59 -08:00
crisjy 515f2c1e3d feat: add AzureCosmosDBMongoVectorStore (#1528) 2024-11-28 17:53:09 -08:00
github-actions[bot] dc85649ead Release 0.8.23 (#1526)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-26 17:41:29 -08:00
Alex Yang d2b2722a30 fix: switch tokenizer in cloudflare (#1525) 2024-11-26 15:42:20 -08:00
github-actions[bot] a2bbd62399 Release 0.8.22 (#1520)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-21 23:17:45 -08:00
Alex Yang 969365ca0a feat: add cloudflare worker full example (#1521) 2024-11-21 23:05:40 -08:00
fatmelon 819af453d6 feat: add Azure CosmosDB Mongo vCore Chat store (#1516)
Co-authored-by: root <root@CPC-yangq-FRSGK>
2024-11-21 21:25:41 -08:00
github-actions[bot] 9db36f7384 Release 0.8.21 (#1513)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-19 18:18:35 -08:00
fatmelon efa221116f feat: integrate with azure cosmos db mongo vCore (#1500)
Co-authored-by: root <root@CPC-yangq-FRSGK>
Co-authored-by: Alex Yang <himself65@outlook.com>
2024-11-19 17:58:25 -08:00
Alex Yang 83c3897539 fix: pinecone vector store (#1512) 2024-11-19 17:51:45 -08:00
github-actions[bot] e1cbce1f80 Release 0.8.20 (#1511)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-19 10:01:18 -08:00
Madarco 02b22da384 fix: supports vercel bundling (#1509)
Co-authored-by: Alex Yang <himself65@outlook.com>
2024-11-19 09:52:56 -08:00
github-actions[bot] 0aa61db547 Release 0.8.19 (#1507)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-19 00:01:48 -08:00
Alex Yang 90d265cf47 chore: bump version (#1505) 2024-11-18 18:39:13 -08:00
github-actions[bot] fc2d5ea1cd Release 0.8.18 (#1506)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-18 13:08:32 -08:00
Thuc Pham ef4f63d9f4 refactor: move mockLLM to core (#1493)
Co-authored-by: Alex Yang <himself65@outlook.com>
2024-11-18 11:39:46 -08:00
Thuc Pham d17450fdfb fix: next.js 15 compatibility (#1474)
Co-authored-by: Alex Yang <himself65@outlook.com>
2024-11-18 11:34:05 -08:00
github-actions[bot] 805d2b0d55 Release 0.8.17 (#1504)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-18 10:28:15 -08:00
Marcus Schiesser 6d22fa2a50 feat: Get PromptTemplate template variables at run-time (#1502) 2024-11-18 09:34:26 -08:00
Aman Rao 16f0068175 chore: update azure cosmos db no sql vector store (#1503) 2024-11-18 09:33:20 -08:00
github-actions[bot] 1054c3382a Release 0.8.16 (#1499)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-17 22:28:02 -08:00
Alex Yang e60328b086 fix: import error in cjs (#1498) 2024-11-17 22:24:09 -08:00
Laurie Voss 3371dfb89f Syncing footer to match main site (#1496) 2024-11-16 00:43:44 -08:00
github-actions[bot] 2065a16a07 Release 0.8.15 (#1494)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-15 11:27:52 -08:00
Wassim Chegham 5dae534f8d fix: propagate queryStr to concrete vectorStore (#1495)
Co-authored-by: Alex Yang <himself65@outlook.com>
2024-11-15 11:16:32 -08:00
Aman Rao 3d503cb810 chore: update azure cosmos db (#1484)
Co-authored-by: Alex Yang <himself65@outlook.com>
2024-11-15 00:55:32 -08:00
Thuc Pham daf8522bec feat: use mock llm (#1492) 2024-11-15 14:50:49 +08:00
github-actions[bot] 223f3136b4 Release 0.8.14 (#1491)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-14 21:49:37 -08:00
Thuc Pham c6bad7d951 docs(next): chat UI with rsc example (#1481)
Co-authored-by: Marcus Schiesser <mail@marcusschiesser.de>
2024-11-14 21:33:30 -08:00
Aman Rao 630b425545 feat: add Azure CosmosDB NoSql Chat store (#1490)
Co-authored-by: Alex Yang <himself65@outlook.com>
2024-11-14 21:30:55 -08:00
github-actions[bot] 4c7b891446 Release 0.8.13 (#1480)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: himself65 <himself65@users.noreply.github.com>
2024-11-14 18:25:19 -08:00
Alex Yang a9c5b4899b docs: update docusaurus.config.js (#1489) 2024-11-14 17:36:52 -08:00
Alex Yang a7b0ac3cb7 feat(anthropic): support prompt caching (#1488) 2024-11-14 17:35:21 -08:00
Alex Yang a7540ff47b docs: update (#1486) 2024-11-14 15:46:48 -08:00
Aman Rao c69605f406 feat: add async support to BaseChatStore and BaseChatStoreMemory (#1483)
Co-authored-by: Alex Yang <himself65@outlook.com>
2024-11-14 13:45:50 -08:00
Alex Yang ee20c44d9b feat(workflow): allow send event with no output (#1479) 2024-11-14 00:17:53 -08:00
Alex Yang 1d470363df docs: add banner for legacy (#1478) 2024-11-13 18:16:13 -08:00
github-actions[bot] b39f40dbd8 Release (#1477)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: himself65 <himself65@users.noreply.github.com>
2024-11-13 01:25:40 -08:00
Alex Yang fadc8b8ea0 feat: recoverable data with error handling (#1476) 2024-11-13 01:15:50 -08:00
Alex Yang ea92b6986d chore: update changeset 2024-11-13 01:15:28 -08:00
Alex Yang 17f9022d22 fix: output event check (#1475) 2024-11-13 00:46:35 -08:00
github-actions[bot] 14792cd8b4 Release 0.8.12 (#1473)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-12 16:20:25 -08:00
Alex Yang 7ae6eaa0a2 chore: update changeset 2024-11-12 12:49:17 -08:00
Alex Yang dbb5bd9f23 feat: allow tool_choice for OpenAIAgent (#1472) 2024-11-12 12:46:57 -08:00
github-actions[bot] aacd606204 Release 0.8.11 (#1471)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-12 11:49:22 -08:00
Alex Yang f865c984d3 feat: async get message on chat store (#1470) 2024-11-12 10:59:44 -08:00
github-actions[bot] 7b10882d06 Release 0.8.10 (#1466)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: himself65 <himself65@users.noreply.github.com>
2024-11-11 14:19:46 -08:00
Alex Yang f066e50482 feat: vllm support (#1468) 2024-11-11 13:14:08 -08:00
Alex Yang fd8c882792 refactor: migrate example to new workflow API (#1467) 2024-11-11 12:03:38 -08:00
Alex Yang d89ebe0261 chore: update changeset 2024-11-11 10:11:04 -08:00
Alex Yang 968feb32cd feat: better input type for function tool with zod (#1464) 2024-11-11 10:10:03 -08:00
Alex Yang 43f6f56c5b docs(next): fix turbo.json (#1465) 2024-11-11 10:07:12 -08:00
github-actions[bot] b2364dc5ba Release 0.8.9 (#1460)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-10 23:32:41 -08:00
Alex Yang 67f4db8501 fix: steaming chat in ollama (#1463) 2024-11-10 23:27:09 -08:00
Alex Yang e4151a8b02 feat: support ollama agent (#1462) 2024-11-10 22:38:40 -08:00
Alex Yang 4d4cd8ac6b feat: support ollama tool call (#1461) 2024-11-10 20:46:46 -08:00
Alex Yang 4fc001c8de chore: bump @huggingface/transformers (#1459) 2024-11-10 20:14:44 -08:00
Alex Yang cf675bdc7a chore: bump version (#1458) 2024-11-10 16:43:45 -08:00
github-actions[bot] 660b831b9e Release 0.8.8 (#1457)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: himself65 <himself65@users.noreply.github.com>
2024-11-08 23:56:46 -08:00
Alex Yang ad85bd0b46 fix: agent streaming final message & async local storage (#1456) 2024-11-08 22:54:13 -08:00
Alex Yang 18ec1f2f61 chore: separate tokenizers (#1454) 2024-11-08 18:53:05 -08:00
Alex Yang b0fbd8b5c8 docs: update CONTRIBUTING.md (#1455) 2024-11-08 18:38:26 -08:00
github-actions[bot] c0dfc8c641 Release 0.8.7 (#1453)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-08 17:57:02 -08:00
Alex Yang a8d3fa68a1 fix: exports in package.json (#1452) 2024-11-08 16:51:21 -08:00
github-actions[bot] f9470c470a Release 0.8.6 (#1450)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-08 14:57:13 -08:00
Alex Yang 95a5cc6ee1 refactor: move storage into core (#1451) 2024-11-08 14:29:08 -08:00
Peter Goldstein 487782cd98 fix: add missing inference endpoints for the Haiku 3.5 models (#1448) 2024-11-07 20:12:34 -08:00
Alex Yang 58e65d399e refactor: move e2e top level (#1449) 2024-11-07 20:11:15 -08:00
github-actions[bot] fdad3d66ac Release 0.8.5 (#1446)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-07 15:57:54 -08:00
Rozstone a6db5dd29b feat: add baseUrl and timeout option in cohere rerank (#1445)
Co-authored-by: Alex Yang <himself65@outlook.com>
2024-11-07 15:13:13 -08:00
Laurie Voss 7b684c4480 docs: home page tweaks (#1447) 2024-11-07 15:12:54 -08:00
Alex Yang c66868a98a chore: fix turbo cache 2024-11-07 15:05:41 -08:00
Alex Yang 14cc9ebe59 chore: move multi-model into single sub module (#1443) 2024-11-07 15:01:17 -08:00
Aman Rao 396b1e1474 feat: integrate with azure cosmos db (#1444)
Co-authored-by: Wassim Chegham <github@wassim.dev>
Co-authored-by: Alex Yang <himself65@outlook.com>
2024-11-07 14:43:19 -08:00
github-actions[bot] 69f3095424 Release (#1438)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-07 14:30:26 -08:00
Alex Yang dc8bd5ea92 chore: delete .changeset/fresh-dancers-refuse.md 2024-11-07 09:49:54 -08:00
Marcus Schiesser 4af9a77d8b feat: add example using chat-ui components to docs (#1436)
Co-authored-by: Alex Yang <himself65@outlook.com>
2024-11-07 09:44:47 -08:00
Alex Yang 9c1d094455 docs: fix upload llamacloud script 2024-11-07 09:35:30 -08:00
Alex Yang 0a8e3fdbcd docs(next): fix build (#1441) 2024-11-06 15:23:42 -08:00
Alex Yang 1c0e0e1e1d chore: bump version (#1439) 2024-11-06 10:16:18 -08:00
Parham Saidi 47a7c3ea15 feat: added Haiku 3.5 support via Bedrock (#1437) 2024-11-05 13:03:10 -08:00
Alex Yang 898cff0d6a chore: bump pnpm (#1435) 2024-11-04 20:50:15 -08:00
Alex Yang 9df37edef4 fix: remove usage of pnpx (#1434) 2024-11-04 20:38:08 -08:00
github-actions[bot] f86a7a4fa3 Release 0.8.4 (#1432)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-04 14:51:57 -08:00
Aman Rao 35430d3609 feat: add AzureCosmosDBNoSqlVectorStore and SimpleCosmosDBReader (#1331)
Co-authored-by: Alex Yang <himself65@outlook.com>
2024-11-04 13:39:39 -08:00
Alex Yang 3c162b2b4a docs: direct to legacy docs (#1431) 2024-11-04 09:54:54 -08:00
github-actions[bot] 5bb4531245 Release 0.8.3 (#1427)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-02 19:05:28 -07:00
Alex Yang 2ff0a89891 fix: expose @llamaindex/node-parser (#1426) 2024-11-02 18:57:05 -07:00
Alex Yang d57917d782 feat: add code splitter and html node parser (#1425) 2024-11-02 15:14:03 -07:00
github-actions[bot] f231e0739f Release (#1424)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: himself65 <himself65@users.noreply.github.com>
2024-11-01 16:50:36 -07:00
Alex Yang 0765742ef3 feat: revamped workflow (#1422) 2024-11-01 15:59:19 -07:00
github-actions[bot] ec7fd6be5c Release 0.8.2 (#1421)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-31 23:54:40 -07:00
Thuc Pham c7a918c3f5 fix: export postprocessors in core (#1419) 2024-10-31 23:40:37 -07:00
Marcus Schiesser 00e681d43b ci: run type-check for reader examples 2024-11-01 12:52:06 +07:00
Alex Yang c01502fb84 docs: update document (#1418) 2024-10-31 14:02:31 -07:00
github-actions[bot] 075f88dbc3 Release 0.8.1 (#1415)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-31 11:57:26 -07:00
Alex Yang cc47ee0602 docs: update README.md (#1416) 2024-10-31 11:56:54 -07:00
Alex Yang 5e6ef55a5a chore: drop nodejs 18 support (#1414) 2024-10-31 11:23:29 -07:00
Alex Yang 9c73f0a530 fix(core): async local storage in Setting.with API (#1413) 2024-10-31 11:06:14 -07:00
Alex Yang 52a4d2b83d chore: bump to eslint 9 (#1410) 2024-10-30 18:34:17 -07:00
Alex Yang 0fd78d5434 docs(next): fix update llamacloud (#1409) 2024-10-29 21:47:21 -07:00
github-actions[bot] 5c4f4a8d83 Release 0.8.0 (#1397)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: himself65 <himself65@users.noreply.github.com>
2024-10-27 20:36:08 -05:00
Alex Yang 620c63cd19 feat: add @llamaindex/readers package (#1404) 2024-10-27 20:28:55 -05:00
Alex Yang cb51ad90ea docs(next): update document (#1402) 2024-10-27 13:44:55 -05:00
Alex Yang 359fd33041 refactor(core): move ContextChatEngine and SimpleChatEngine (#1401) 2024-10-27 00:39:03 -05:00
Alex Yang efb7e1b868 docs(next): ask ai using llamacloud (#1400) 2024-10-27 00:01:55 -05:00
Erik 98ba1e71bd feat: implement context-aware agent functionality. (#1394)
Co-authored-by: Alex Yang <himself65@outlook.com>
2024-10-26 09:23:10 -05:00
Alex Yang fd4b09d375 docs(next): fix shiki theme (#1395) 2024-10-26 08:19:50 -05:00
Alex Yang 7c90e1b6b4 docs(next): update homepage & init setup toturial (#1386) 2024-10-25 18:52:09 -05:00
github-actions[bot] 21ba0a80d1 Release 0.7.10 (#1392)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: himself65 <himself65@users.noreply.github.com>
2024-10-24 17:43:00 -07:00
Alex Yang 9df9a8fc1d fix: export all huggingface module (#1390) 2024-10-24 15:55:58 -07:00
Alex Yang 60b185ff53 fix: source nodes is empty (#1391) 2024-10-24 15:55:45 -07:00
github-actions[bot] ca75c81bc0 Release 0.7.9 (#1388)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: himself65 <himself65@users.noreply.github.com>
2024-10-24 12:32:24 -07:00
Alex Yang 691c5bcaf1 fix: export embeddings utils (#1387) 2024-10-24 12:23:57 -07:00
Alex Yang 9ab998c5d5 chore: add bug report template (#1385) 2024-10-24 11:37:04 -07:00
github-actions[bot] 938b417028 Release 0.7.8 (#1384)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: himself65 <himself65@users.noreply.github.com>
2024-10-24 10:17:01 -07:00
Alex Yang fa60fc66ae fix(env): no esm shim (#1383) 2024-10-24 10:08:49 -07:00
marcusschiesser 5607ed2fec chore: update lock file 2024-10-24 16:05:41 +07:00
github-actions[bot] f57ad6150e Release 0.7.7 2024-10-24 16:05:41 +07:00
Marcus Schiesser 2486bd8f41 feat: Add files_via_content example for LlamaCloud retrieval 2024-10-24 15:55:08 +07:00
Marcus Schiesser e2a0876ddd fix: Remove chunk size limit for prompt helper (use LLM default) 2024-10-24 15:55:08 +07:00
github-actions[bot] a75d899a57 Release 0.7.6 (#1373)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-24 00:03:09 -07:00
Alex Yang 809a6e7eea docs(next): generate llamacloud api (#1377) 2024-10-24 00:02:59 -07:00
Wassim Chegham da6eb6474b feat: add user-agent to Azure OpenAI LLM and Embedding (#1367) 2024-10-23 20:28:26 -07:00
Alex Yang cd83f8ee4f fix(next-doc): dark mode & create llama preview (#1376) 2024-10-23 19:23:44 -07:00
Thuc Pham 534d5505cb fix: replicate deps warning in nextjs (#1370) 2024-10-23 19:08:04 -07:00
Alex Yang eb87b96518 feat(next-doc): update create llama preview (#1375) 2024-10-23 19:05:21 -07:00
Alex Yang 9510d45046 chore: fix build command 2024-10-23 18:01:09 -07:00
Alex Yang 9b5b012fdf feat: new doc (#1374) 2024-10-23 17:56:59 -07:00
Parham Saidi a5a75f618d feat: added sonnet 3.5 v2 support via bedrock (#1371) 2024-10-23 10:22:06 -07:00
github-actions[bot] 051faddefd Release 0.7.5 (#1368)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-22 22:47:37 -07:00
Thuc Pham 9f22aae57c fix: unable to resolve unpdf in nextjs (#1369) 2024-10-23 11:48:22 +07:00
Marcus Schiesser e9a111d9d3 fix: VectorIndexRetrieverOptions typing (#1366)
Co-authored-by: Alex Yang <himself65@outlook.com>
2024-10-22 11:00:07 -07:00
github-actions[bot] bb7622e4d4 Release 0.7.4 (#1365)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-22 00:55:33 -07:00
Alex Yang 06f632b2cb fix(cloud): allow filename in llama parse (#1364) 2024-10-22 00:49:15 -07:00
github-actions[bot] 76b925e62a Release 0.7.3 (#1357)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: himself65 <himself65@users.noreply.github.com>
2024-10-20 20:15:51 -07:00
Alex Yang 0493f679a4 fix(core): inline python-format-js (#1356) 2024-10-20 20:07:48 -07:00
github-actions[bot] 0e0a627c9a Release 0.7.2 (#1355)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: himself65 <himself65@users.noreply.github.com>
2024-10-20 19:22:59 -07:00
Alex Yang 4ba2cfe7ab fix(env): align export APIs (#1354) 2024-10-20 17:11:09 -07:00
github-actions[bot] c1578a19d9 Release 0.7.1 (#1342)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: himself65 <himself65@users.noreply.github.com>
2024-10-20 15:29:19 -07:00
Alex Yang ae49ff4e15 feat: use gpt-tokenizer (#1352) 2024-10-20 15:18:30 -07:00
Alex Yang a75af835a5 chore: fix misc before release (#1351) 2024-10-20 14:34:21 -07:00
Alex Yang 7c7cd34908 fix(pg): allow passing perform setup (#1350) 2024-10-20 14:01:24 -07:00
Alex Yang f651891196 fix: remove internal getImageEmbedModel 2024-10-20 13:21:15 -07:00
Alex Yang 04714c886f chore: move under providers directory (#1349) 2024-10-19 20:19:12 -07:00
Alex Yang cf28574f51 refactor: move clip&huggingface embedding into single package (#1346) 2024-10-19 18:39:52 -07:00
Jason Musgrave 24d065f054 feat: log api response from failed parse jobs (#1348) 2024-10-19 18:39:28 -07:00
Alex Yang b8719586e3 ci: pack all module under packages (#1345) 2024-10-18 17:26:40 -07:00
Alex Yang 07a40aca49 refactor: move llm into single packages (#1344) 2024-10-18 16:12:52 -07:00
Alex Yang 33b562938d refactor: move data-structs module (#1343) 2024-10-18 14:52:39 -07:00
Alex Yang 723b41c23c refactor: move tools into core module (#1316) 2024-10-18 09:45:01 -07:00
Alex Yang 4c38c1be0b fix: do not detect file type in sdk (#1340) 2024-10-18 09:36:01 -07:00
Alex Yang 0dde0ca27f ci: fix pre-release (#1341) 2024-10-17 23:28:58 -07:00
github-actions[bot] f3e0d07f48 Release 0.7.0 (#1337)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: himself65 <himself65@users.noreply.github.com>
2024-10-17 11:18:29 -07:00
Bruno Bornsztein 1364e8eeed feat: update metadata extractor to use prompt template (#1338) 2024-10-17 11:10:41 -07:00
Bruno Bornsztein 96fc69cc61 feat: use promptTemplate arg correctly. (#1335) 2024-10-16 16:16:03 -07:00
Parham Saidi 3b7736f763 feat: added gemini 002 support (#1336) 2024-10-16 15:52:36 -07:00
Alex Yang a7a7afe66e fix: vector store type (#1334) 2024-10-15 11:53:35 -07:00
github-actions[bot] c646ee2eca Release 0.6.22 (#1333)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-15 11:27:21 +07:00
Marcus Schiesser 5729bd92fd fix: LlamaCloud API calls for ensuring and index and for file uploads (#1332) 2024-10-15 11:21:35 +07:00
github-actions[bot] e0e52cf879 Release 0.6.21 (#1329)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-14 15:36:53 +07:00
Thuc Pham 6f75306c17 feat: support metadata filters for Astra (#1330)
Co-authored-by: Marcus Schiesser <mail@marcusschiesser.de>
2024-10-14 15:31:00 +07:00
Thuc Pham 94cb4ad810 feat: ChromaDb metadata filters (#1323)
Co-authored-by: Marcus Schiesser <mail@marcusschiesser.de>
2024-10-14 10:21:52 +07:00
github-actions[bot] 1ea4014746 Release 0.6.20 (#1325)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-11 12:55:16 -07:00
Parham Saidi 6a9a7b1458 fix: use init api key for openai embeddings (#1324) 2024-10-11 12:20:20 -07:00
github-actions[bot] 1c168cd531 Release 0.6.19 (#1318)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-10 15:16:02 +07:00
Marcus Schiesser 62cba5236d feat: Add ensureIndex function to LlamaCloudIndex (#1321) 2024-10-10 14:49:12 +07:00
Thuc Pham d265e96420 fix: ignore webpack resolve unpdf for nextjs (#1320)
Co-authored-by: Marcus Schiesser <mail@marcusschiesser.de>
2024-10-10 14:22:38 +07:00
Marcus Schiesser d30bbf799f fix: Convert undefined values to null in LlamaCloud filters (#1319) 2024-10-10 12:00:16 +07:00
Marcus Schiesser 53fd00a7c3 fix: getPipelineId in LlamaCloudIndex (#1317) 2024-10-09 17:51:27 +07:00
Thuc Pham 83f2848d47 feat: add test split nodes with UUID (#1315) 2024-10-09 12:34:46 +07:00
github-actions[bot] 313071e9cd Release 0.6.18 (#1310)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-09 12:05:45 +07:00
Marcus Schiesser 5f6782038a Fix that node parsers generate nodes with UUIDs (#1311) 2024-10-09 11:56:02 +07:00
Marcus Schiesser fe08d0451b fix: llamacloud retrieval with multiple pipelines (#1309) 2024-10-09 11:39:55 +07:00
github-actions[bot] 59c5e5c3d4 Release 0.6.17 (#1305)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-07 14:44:04 +07:00
Thuc Pham ee697fb1b3 fix: generate uuid when inserting to Qdrant (#1301) 2024-10-07 14:17:04 +07:00
Alex Yang cf3320a4ea fix: improve getResponseSynthesizer type (#1304) 2024-10-06 19:15:55 -07:00
github-actions[bot] f2ed69f2f8 Release 0.6.16 (#1300)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-06 18:25:11 -07:00
Alex Yang 3489e7de84 fix: num output incorrect in prompt helper (#1303) 2024-10-06 18:19:05 -07:00
Alex Yang 468bda594e fix: correct warning when chunk size smaller than 0 (#1297) 2024-10-04 12:01:10 -07:00
Thuc Pham 6f3a31caf6 feat: add metadata filters for vector stores (#1289) 2024-10-04 14:25:11 +07:00
Thuc Pham 63e9846e97 fix: preFilters doesnot work with asQueryEngine (#1298) 2024-10-04 14:24:01 +07:00
github-actions[bot] b7382b0d24 Release 0.6.15 (#1295)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-03 19:44:55 -07:00
Alex Yang 2a8241328d fix: lazy load openai (#1294) 2024-10-03 17:12:33 -07:00
Alex Yang 0b20ff9f17 fix(cloud): package.json format (#1291) 2024-10-03 17:07:50 -07:00
github-actions[bot] 1fc26046e3 Release 0.6.14 (#1290)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-03 16:35:54 -07:00
LAWG b17d439d6d fix: ensure id_ is correctly passed during creation (#1282)
Co-authored-by: lawrencegb <lawrence@3api.com>
Co-authored-by: Alex Yang <himself65@outlook.com>
2024-10-03 11:52:26 -07:00
github-actions[bot] 040160c360 Release 0.6.13 (#1288)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-02 16:35:52 -07:00
Alex Yang 981811efd1 fix(cloud): llama parse reader save image incorrectly (#1287) 2024-10-02 14:31:03 -07:00
github-actions[bot] d563b45a27 Release (#1286)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-02 09:14:15 -07:00
Parham Saidi 2774e80234 feat: Meta Llama 3.2 via bedrock (#1285) 2024-10-02 08:59:09 -07:00
github-actions[bot] 449274ca5a Release 0.6.12 (#1273)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-09-30 16:34:14 -07:00
Alex Yang 78037a664c chore: update changelog 2024-09-30 16:13:22 -07:00
Alex Yang 1d9e3b1000 fix: export llama reader in non-nodejs runtime (#1279) 2024-09-30 16:13:07 -07:00
Alex Yang df83e32107 fix: bypass service context embed model (#1280) 2024-09-30 16:02:48 -07:00
Thuc Pham f7b4e94231 feat: add filters for pinecone (#1272) 2024-09-30 17:04:43 +07:00
Marcus Schiesser 4c07a2655d text: add cycle test (#1270) 2024-09-29 23:13:59 -07:00
Marcus Schiesser 5c0c8b2ec4 test: add concurrent test for workflows (#1269) 2024-09-29 22:10:21 -07:00
Emmanuel Ferdman e5e18688a6 fix: update reader reference (#1268)
Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
2024-09-28 14:44:44 -07:00
github-actions[bot] b6fb10eba8 Release 0.6.11 (#1267)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-09-27 13:19:52 -07:00
Alex Yang df441e28f4 chore: release for new env package 2024-09-27 12:54:14 -07:00
github-actions[bot] a4e05ec7ab Release 0.6.10 (#1263)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-09-27 01:51:07 -07:00
irevived1 96f72ad86e fix: openai streaming with token usage and finish_reason (#1265)
Co-authored-by: Alex Yang <himself65@outlook.com>
2024-09-26 17:51:59 -07:00
Alex Yang f3556c011c chore: update changeset 2024-09-26 09:36:20 -07:00
Alex Yang ebc510582b feat: support @vercel/postgres (#1262) 2024-09-25 22:39:32 -07:00
Alex Yang f3bfdc29e3 chore: fix changeset 2024-09-25 20:09:37 -07:00
Alex Yang 6cce3b12ea feat: support npm:postgres (#1248) 2024-09-25 19:40:20 -07:00
Alex Yang 0273e9739a chore: fix docs build with turbo (#1260) 2024-09-25 07:32:37 -07:00
Alex Yang 7c8b883448 fix: turbo cache (#1259) 2024-09-25 04:47:01 -07:00
Alex Yang c2bb418542 chore: fix url in package.json (#1258) 2024-09-25 03:52:33 -07:00
Alex Yang ed6acbead0 fix(core): backward support for legacy typescript (#1257) 2024-09-25 03:19:41 -07:00
Alex Yang 976cce40d7 docs: update README.md (#1255) 2024-09-24 15:03:48 -07:00
Alex Yang e4fd4158bb feat: move agent into core (#1254) 2024-09-24 14:55:40 -07:00
Alex Yang 31d5dffcef refactor: move ollama standalone (#1253) 2024-09-24 12:15:50 -07:00
github-actions[bot] d12edee802 Release 0.6.9 (#1252)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-09-24 10:31:54 -07:00
Alex Yang ac41ed3aae chore: bump cloud sdk version (#1251) 2024-09-24 09:43:45 -07:00
github-actions[bot] d8c1159032 Release 0.6.8 (#1245)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-09-23 18:41:44 -07:00
Alex Yang c856c5becb revert: stream back to first parameter (#1247) 2024-09-23 18:35:36 -07:00
John Wick 50e6b57be0 feat: add Amazon Bedrock Retriever (#1219)
Co-authored-by: Arnaud JEAN <arnajean@amazon.com>
Co-authored-by: ajohn-wick <ajohnwick@mrwick.org>
Co-authored-by: Alex Yang <himself65@outlook.com>
2024-09-23 15:11:53 -07:00
Alex Yang 8b7fdba544 refactor: move chat engine & retriever into core (#1242) 2024-09-23 13:26:26 -07:00
github-actions[bot] 22ae8d0166 Release 0.6.7 (#1244)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-09-23 13:25:02 -07:00
Goran 23bcc379a8 fix: add serializer in doc store (#1243)
Co-authored-by: Alex Yang <himself65@outlook.com>
2024-09-23 13:11:51 -07:00
github-actions[bot] bdc4bfe7b0 Release 0.6.6 (#1241)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-09-23 11:54:33 -07:00
Goran 025ffe6b50 fix: update PostgresKVStore constructor params (#1240)
Co-authored-by: Alex Yang <himself65@outlook.com>
2024-09-23 10:46:11 -07:00
Cahid Arda Öz a6595747fa feat: add Upstash Vector Store (#1218)
Co-authored-by: ogzhanolguncu <ogzhan11@gmail.com>
Co-authored-by: Alex Yang <himself65@outlook.com>
2024-09-23 10:00:10 -07:00
Marcus Schiesser d902cc3e7e fix: context not working in contextchatengine (#1237) 2024-09-22 15:19:13 -07:00
github-actions[bot] 726eb41359 Release 0.6.5 (#1239)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-09-20 14:24:23 -07:00
André Mazayev e9714dbfcd feat: update PGVectorStore constructor parameters (#1225)
Co-authored-by: Alex Yang <himself65@outlook.com>
2024-09-20 01:34:51 -07:00
Alex Yang a3618e761e chore: fix cache for cloud package (#1236) 2024-09-19 17:48:39 -07:00
github-actions[bot] 24eabe7f35 Release 0.6.4 (#1234)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-09-19 16:42:39 -07:00
Alex Yang ecfa939ea6 ci: enable remote cache (#1233) 2024-09-19 15:40:34 -07:00
Alex Yang b48bcc3add feat: support custom @xenova/transformers (#1232) 2024-09-19 14:55:23 -07:00
github-actions[bot] fa01fa2051 Release 0.6.3 (#1220)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: himself65 <himself65@users.noreply.github.com>
2024-09-19 12:38:23 -07:00
Alex Yang fb36eff5e1 fix: use Blob instead of File (#1231) 2024-09-19 12:32:10 -07:00
Alex Yang d24d3d1e8c fix: print warning when llama parse reader has error (#1230) 2024-09-19 09:41:37 -07:00
Aaron Ji 5c4badbcca chore: add 'late_chunking' for Jina embedding (#1223) 2024-09-18 17:38:46 +07:00
Alex Yang 2cd1383dc8 feat: align response-synthesizers & chat-engine module (#1169) 2024-09-17 15:44:44 -07:00
github-actions[bot] 72440c101f Release 0.6.2 (#1217)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: himself65 <himself65@users.noreply.github.com>
2024-09-16 16:40:33 -07:00
Alex Yang 423d66b07a refactor: chat memory & chat history into core module (#1201) 2024-09-16 16:09:17 -07:00
Alex Yang b42adebd51 fix: get job result in llama parse reader (#1216) 2024-09-16 16:05:47 -07:00
Alex Yang 749b43a3b1 fix: multi model embedding (#1215) 2024-09-16 15:51:24 -07:00
github-actions[bot] 8daaef44ee Release 0.6.1 (#1202)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: himself65 <himself65@users.noreply.github.com>
2024-09-16 13:08:49 -07:00
Alex Yang ac07e3cbe6 fix: replace instanceof check with .type check (#1214) 2024-09-16 12:46:40 -07:00
Alex Yang 1a6137b323 feat: experimental support for browser (#1213) 2024-09-16 12:11:24 -07:00
Alex Yang 85c2e198a4 feat: llama cloud sdk update (#1206) 2024-09-16 09:29:33 -07:00
Fabian Wimmer 01263c4cfd docs: fix false params (#1211) 2024-09-16 07:55:59 -07:00
Thuc Pham fbd5e0174d refactor: move groq as llm package (#1209) 2024-09-16 17:44:14 +07:00
Marcus Schiesser 70ccb4ae65 feat: allow arbitrary types in workflow's StartEvent and StopEvent (#1210) 2024-09-16 16:31:08 +07:00
Alex Yang 7eb331774d chore: bump typescript (#1205) 2024-09-13 13:18:35 -07:00
Alex Yang 24a3f058a3 chore: update build script (#1204) 2024-09-13 11:44:40 -07:00
Fabian Wimmer 84c28f95f9 docs: restructure, add API references (#1196) 2024-09-13 11:22:37 -07:00
Alex Yang 7af57982fe test: enable dom & edge runtime (#1203) 2024-09-13 10:43:18 -07:00
Aaron Ji 6b70c5408f chore: update JinaEmbedding for v3 release (#1187) 2024-09-13 09:44:43 -07:00
github-actions[bot] 74fc725f37 Release 0.6.0 (#1199)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: marcusschiesser <marcusschiesser@users.noreply.github.com>
2024-09-13 16:07:16 +07:00
Marcus Schiesser a0a74aed60 fix: release openai package (#1200) 2024-09-13 16:01:00 +07:00
Marcus Schiesser 11feef8c82 Add workflows (#1188)
Co-authored-by: Thuc Pham <51660321+thucpn@users.noreply.github.com>
2024-09-13 15:46:02 +07:00
github-actions[bot] 9c5ff164ac Release 0.5.27 (#1195)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-09-12 13:47:11 -07:00
Alex Yang 7edeb1c2d7 feat: decouple openai from llamaindex module (#1194) 2024-09-12 13:36:08 -07:00
github-actions[bot] 8b95abdc85 Release 0.5.26 (#1193)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-09-12 11:38:07 -07:00
Alex Yang ffe0cd1ef1 chore: update changelog 2024-09-12 11:33:32 -07:00
Alex Yang 5d2111a19f feat: init support openai o1 model (#1192) 2024-09-12 11:31:05 -07:00
Alex Yang 68ac7fd57f ci: fix syntax (#1186) 2024-09-11 16:54:39 -07:00
Alex Yang 7320d96a36 fix: waku build (#1185) 2024-09-11 15:36:39 -07:00
Goran ee17fb475b feat: add PostgreSQL storage (#1180) 2024-09-11 12:31:04 -07:00
github-actions[bot] 28b877e31f Release 0.5.25 (#1182)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-09-11 12:08:39 -07:00
Alex Yang 4389b80a52 docs: update README.md (#1183) 2024-09-11 11:07:00 -07:00
Alex Yang d3bc663951 fix: vector store cleanup (#1175) 2024-09-11 10:20:55 -07:00
Kieran Simkin 4810364788 fix: handle RouterQueryEngine with string query (#1181) 2024-09-11 10:19:59 -07:00
github-actions[bot] 2dcad52dd9 Release 0.5.24 (#1178)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-09-10 23:48:51 -07:00
Alex Yang 0bf8d80b12 fix: llama cloud api build 2024-09-10 23:39:58 -07:00
github-actions[bot] e4bba02aec Release 0.5.23 (#1174)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-09-10 11:41:49 -07:00
Alex Yang 1caa0da657 chore: fix changeset 2024-09-10 11:34:07 -07:00
Alex Yang 711c814bb2 fix: patch python-format-js (#1173) 2024-09-10 09:49:36 -07:00
Alex Yang 5b832eb927 fix: strict type check (#1170) 2024-09-10 09:28:44 -07:00
Alex Yang 49988431f6 refactor: move settings.llm into core package (#1165) 2024-09-09 10:45:57 -07:00
Alex Yang 72d65dd51a docs: fix example (#1168) 2024-09-09 10:45:30 -07:00
Alex Yang 553bc55b19 refactor: move PromptHelper into core package (#1166) 2024-09-09 10:15:21 -07:00
Alex Yang fc6f69833c fix: example code (#1167) 2024-09-09 10:11:58 -07:00
github-actions[bot] c7fd06841f Release 0.5.22 (#1164)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-09-09 09:27:26 -07:00
Thuc Pham 4648da6849 fix: wrong tiktoken version caused NextJs CL template run fail (#1162) 2024-09-09 09:23:13 -07:00
Fabian Wimmer 0188cf3bb6 docs: fix typos, add API references (#1161) 2024-09-09 11:40:05 +07:00
Alex Yang e0b4f9c047 refactor: move constant into core module (#1158) 2024-09-06 20:29:08 -07:00
github-actions[bot] 4895bba96e Release 0.5.21 (#1140)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-09-06 15:26:14 -07:00
Alex Yang 76d1df817b chore: update tall-kangaroos-sleep.md 2024-09-06 15:11:10 -07:00
Ryan Lee 83d7f415e2 fix: database insertion for PGVectorStore (#1157) 2024-09-06 14:32:48 -07:00
Fabian Wimmer ae1149ffaf feat: add json streaming to JSONReader (#1119) 2024-09-06 11:22:21 -07:00
Alex Yang 0148354dbe refactor: prompt system (#1154) 2024-09-06 11:22:08 -07:00
Thuc Pham 11b3856334 feat: implement filters for MongoDBAtlasVectorSearch (#1142) 2024-09-05 14:11:31 +07:00
Philipp Serrer e8f229cd01 chore: remove logging from mongodb atlas vector store (#1145) 2024-09-03 18:01:52 -07:00
Alex Yang 75b70e5824 fix: remove Stream API polyfill (#1149) 2024-09-03 18:01:42 -07:00
Marcus Schiesser 1711f6d8fc fix: Export imageToDataUrl for using images in chat (#1146) 2024-09-03 10:56:30 +07:00
Alex Yang 20d16abdf4 chore: bump version (#1143) 2024-08-30 13:08:14 -07:00
Thuc Pham 2411c9fbd0 feat: Auto-create index for MongoDB vector store (if not exists) (#1139)
Co-authored-by: Marcus Schiesser <mail@marcusschiesser.de>
2024-08-30 14:24:20 +07:00
Phil Nash be3e280f2a Updates references to SimpleNodeParser to SentenceSplitter. (#1129) 2024-08-30 11:15:57 +07:00
github-actions[bot] 2afcbe6587 Release 0.5.20 (#1132)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-08-28 10:43:26 +07:00
Marcus Schiesser 22ff486fbe fix: Add tiktoken WASM to withLlamaIndex (#1134)
Co-authored-by: Thuc Pham <51660321+thucpn@users.noreply.github.com>
2024-08-28 10:39:14 +07:00
Thuc Pham eed0b0415d fix: use metadata mode LLM for generating context (#1133)
Co-authored-by: Marcus Schiesser <mail@marcusschiesser.de>
2024-08-23 22:56:18 +07:00
Sebastian van Gerwen d9d6c56ed5 pgvectorstore support new conditions and operations (#1131)
Co-authored-by: Sebastian van Gerwen <svangerwen@invertigro.com>
Co-authored-by: Marcus Schiesser <marcus.schiesser@googlemail.com>
2024-08-23 14:40:39 +07:00
github-actions[bot] f99a237093 Release 0.5.19 (#1128)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-08-19 14:04:47 +07:00
Thuc Pham fcbf18344c feat: implement llamacloud file service (#1125) 2024-08-19 14:01:41 +07:00
github-actions[bot] bf8cbeb6c5 Release 0.5.18 (#1124)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-08-19 12:53:28 +09:00
Alex Yang e27e7dd054 chore: bump natural to 8.0.1 (#1126) 2024-08-17 07:15:08 -07:00
Thuc Pham 8b66cf4341 feat: support organization id in llamacloud index (#1123)
Co-authored-by: Marcus Schiesser <mail@marcusschiesser.de>
2024-08-15 13:51:48 +07:00
github-actions[bot] 6f4549bdea Release 0.5.17 (#1117)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-08-12 17:45:29 +07:00
Thuc Pham c654398f75 feat: implement Weaviate Vector Store in TS (#1109) 2024-08-12 17:41:05 +07:00
github-actions[bot] 0664a99945 Release 0.5.16 (#1115)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-08-09 22:09:34 -07:00
Alex Yang 58abc5731b chore: update changeset 2024-08-09 22:06:43 -07:00
github-actions[bot] 7498b1e0f1 Release 0.5.15 (#1108)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-08-09 14:36:47 -07:00
Alex Yang 07a275fea5 chore: bump openai (#1113) 2024-08-09 12:56:30 -07:00
Alex Yang 1b6263e08d fix: export schema in top level (#1112) 2024-08-09 10:10:12 -07:00
Alex Yang 089f1d49c0 refactor: migrate reader type into core (#1111) 2024-08-09 09:53:50 -07:00
Thuc Pham 01c184c608 feat: add is_empty operator for filtering vector store (#1107) 2024-08-09 14:50:57 +07:00
github-actions[bot] 1752463ee6 Release 0.5.14 (#1103)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-08-07 17:03:00 -07:00
Peter Goldstein c825a2f743 Add gpt-4o-mini to Azure. Add 2024-06-01 API version for Azure (#1102) 2024-08-06 14:23:28 +07:00
github-actions[bot] ba058dc8d4 Release 0.5.13 (#1100)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-08-02 09:50:07 -07:00
Philipp Serrer 04b2f8e062 fix: metadata should not be included after sentence splitter (#1099) 2024-08-02 09:22:04 -07:00
Alex Yang 62b874e14f fix: enforce no-base-to-string (#1097) 2024-08-01 14:05:19 -07:00
github-actions[bot] 9c9e9b4e03 Release 0.5.12 (#1091)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-07-30 15:46:39 -07:00
Alex Yang e3c307ab55 chore: fix changeset 2024-07-30 15:32:24 -07:00
André Lago b1b2baa969 docs: fix minor typo (#1092) 2024-07-30 15:07:46 -07:00
Marcus Schiesser 0452af91cc fix: handling errors in splitBySentenceTokenizer (#1087)
Co-authored-by: Alex Yang <himself65@outlook.com>
2024-07-30 09:36:58 -07:00
Marcus Schiesser da5cfc42e5 fix: integrate with create-llama (#1088)
Co-authored-by: Alex Yang <himself65@outlook.com>
2024-07-30 08:19:32 -07:00
Alex Yang eb89223386 chore: bump bunchee@5.3.1 (#1090) 2024-07-30 08:19:01 -07:00
Alex Yang 93dc3a31b3 fix: lock hey-api version (#1089) 2024-07-30 08:00:05 -07:00
Fabian Wimmer 345300f110 feat: add split by page mode to LlamaParseReader (#924) 2024-07-29 16:16:46 +07:00
github-actions[bot] f322c5d202 Release 0.5.11 (#1082)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-07-26 21:26:11 -07:00
Parham Saidi 376d29a78f feat: meta3.1 405b tool calling support (#1080) 2024-07-26 19:53:24 -07:00
Parham Saidi 224d507ab5 fix: prevent anthropic tool calling getting mixed with conversation (#1078) 2024-07-26 09:55:22 -07:00
Alex Yang 1f680d731d chore: bump llamacloud api (#1081) 2024-07-26 09:53:50 -07:00
github-actions[bot] f0a1cc51b4 Release 0.5.10 (#1074)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-07-25 16:43:17 -07:00
Alex Yang fee3280799 chore: fix changelog 2024-07-25 11:21:16 -07:00
Alex Yang 54925bf1ae chore: fix changelog 2024-07-25 11:20:47 -07:00
Alex Yang 91d02a4fc0 feat: support transform component callable (#1072) 2024-07-25 11:19:57 -07:00
Erik 086b94038e feat: add DeepSeek LLM class and documentation (#1071) 2024-07-25 11:15:34 -07:00
Fabian Wimmer 5d5716b339 feat: add a reader for JSON data (#1063) 2024-07-25 09:40:54 -07:00
Fabian Wimmer fb6db454d4 feat: update/add pageSeparator params to LlamaParseReader (#1051) 2024-07-25 15:09:43 +07:00
Marcus Schiesser e4d4e0d024 docs: update CONTRIBUTING.md (#1073) 2024-07-25 00:59:45 -07:00
Diego Ferreiro Val 17724d961e feat: add support for buffer on loadJSON API on LlamaParseReader (#1069)
Co-authored-by: Alex Yang <himself65@outlook.com>
2024-07-25 14:44:46 +07:00
1301 changed files with 99599 additions and 37558 deletions
-79
View File
@@ -1,79 +0,0 @@
const { join } = require("node:path");
module.exports = {
root: true,
extends: [
"turbo",
"prettier",
"plugin:@typescript-eslint/recommended-type-checked-only",
],
parserOptions: {
project: join(__dirname, "tsconfig.eslint.json"),
__tsconfigRootDir: __dirname,
},
settings: {
react: {
version: "999.999.999",
},
},
rules: {
"max-params": ["error", 4],
"prefer-const": "error",
"@typescript-eslint/no-floating-promises": [
"error",
{
ignoreIIFE: true,
},
],
"no-debugger": "error",
"@typescript-eslint/await-thenable": "off",
"@typescript-eslint/ban-ts-comment": "off",
"@typescript-eslint/ban-types": "off",
"no-array-constructor": "off",
"@typescript-eslint/no-array-constructor": "off",
"@typescript-eslint/no-base-to-string": "off",
"@typescript-eslint/no-duplicate-enum-values": "off",
"@typescript-eslint/no-duplicate-type-constituents": "off",
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/no-extra-non-null-assertion": "off",
"@typescript-eslint/no-for-in-array": "off",
"no-implied-eval": "off",
"@typescript-eslint/no-implied-eval": "off",
"no-loss-of-precision": "off",
"@typescript-eslint/no-loss-of-precision": "off",
"@typescript-eslint/no-misused-new": "off",
"@typescript-eslint/no-misused-promises": "off",
"@typescript-eslint/no-namespace": "off",
"@typescript-eslint/no-non-null-asserted-optional-chain": "off",
"@typescript-eslint/no-redundant-type-constituents": "off",
"@typescript-eslint/no-this-alias": "off",
"@typescript-eslint/no-unnecessary-type-assertion": "off",
"@typescript-eslint/no-unnecessary-type-constraint": "off",
"@typescript-eslint/no-unsafe-argument": "off",
"@typescript-eslint/no-unsafe-assignment": "off",
"@typescript-eslint/no-unsafe-call": "off",
"@typescript-eslint/no-unsafe-declaration-merging": "off",
"@typescript-eslint/no-unsafe-enum-comparison": "off",
"@typescript-eslint/no-unsafe-member-access": "off",
"@typescript-eslint/no-unsafe-return": "off",
"no-unused-vars": "off",
"@typescript-eslint/no-unused-vars": "off",
"@typescript-eslint/no-var-requires": "off",
"@typescript-eslint/prefer-as-const": "off",
"require-await": "off",
"@typescript-eslint/require-await": "off",
"@typescript-eslint/restrict-plus-operands": "off",
"@typescript-eslint/restrict-template-expressions": "off",
"@typescript-eslint/triple-slash-reference": "off",
"@typescript-eslint/unbound-method": "off",
},
overrides: [
{
files: ["examples/**/*.ts"],
rules: {
"turbo/no-undeclared-env-vars": "off",
},
},
],
ignorePatterns: ["dist/", "lib/", "deps/"],
};
+46
View File
@@ -0,0 +1,46 @@
---
name: Bug report
about: Create a report to help us improve
title: ""
labels: bug
assignees: ""
---
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Code to reproduce the behavior:
```ts
// paste the code here
```
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Desktop (please complete the following information):**
- OS: [e.g. macOS, Linux]
- JS Runtime / Framework / Bundler (select all applicable)
- [ ] Node.js
- [ ] Deno
- [ ] Bun
- [ ] Next.js
- [ ] ESBuild
- [ ] Rollup
- [ ] Webpack
- [ ] Turbopack
- [ ] Vite
- [ ] Waku
- [ ] Edge Runtime
- [ ] AWS Lambda
- [ ] Cloudflare Worker
- [ ] Others (please elaborate on this)
- Version [e.g. 22]
**Additional context**
Add any other context about the problem here.
+1 -1
View File
@@ -25,4 +25,4 @@ jobs:
run: pnpm run build
- name: Pre Release
run: pnpx pkg-pr-new publish ./packages/*
run: pnpx pkg-pr-new publish --pnpm ./packages/* ./packages/providers/* ./packages/providers/storage/*
+74 -29
View File
@@ -12,19 +12,33 @@ concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
POSTGRES_HOST_AUTH_METHOD: trust
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ vars.TURBO_TEAM }}
TURBO_REMOTE_ONLY: true
jobs:
e2e:
strategy:
fail-fast: false
matrix:
node-version: [18.x, 20.x, 22.x]
node-version: [18.x, 20.x, 22.x, 23.x]
name: E2E on Node.js ${{ matrix.node-version }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ankane/setup-postgres@v1
with:
database: llamaindex_node_test
dev-files: true
- run: |
cd /tmp
git clone --branch v0.7.0 https://github.com/pgvector/pgvector.git
cd pgvector
make
sudo make install
- uses: pnpm/action-setup@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
@@ -39,10 +53,9 @@ jobs:
strategy:
fail-fast: false
matrix:
node-version: [18.x, 20.x, 22.x]
node-version: [18.x, 20.x, 22.x, 23.x]
name: Test on Node.js ${{ matrix.node-version }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
@@ -70,19 +83,10 @@ jobs:
run: pnpm install
- name: Build
run: pnpm run build
- name: Use Build For Examples
run: pnpm link ../packages/llamaindex/
working-directory: ./examples
- name: Run Type Check
run: pnpm run type-check
- name: Run Circular Dependency Check
run: pnpm dlx turbo run circular-check
- uses: actions/upload-artifact@v3
if: failure()
with:
name: typecheck-build-dist
path: ./packages/llamaindex/dist
if-no-files-found: error
run: pnpm run circular-check
e2e-llamaindex-examples:
strategy:
fail-fast: false
@@ -92,7 +96,9 @@ jobs:
- nextjs-agent
- nextjs-edge-runtime
- nextjs-node-runtime
# - waku-query-engine
- waku-query-engine
- llama-parse-browser
- vite-import-llamaindex
runs-on: ubuntu-latest
name: Build LlamaIndex Example (${{ matrix.packages }})
steps:
@@ -109,7 +115,31 @@ jobs:
run: pnpm run build
- name: Build ${{ matrix.packages }}
run: pnpm run build
working-directory: packages/llamaindex/e2e/examples/${{ matrix.packages }}
working-directory: e2e/examples/${{ matrix.packages }}
size-limit:
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
name: Size Limit
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version-file: ".nvmrc"
cache: "pnpm"
- name: Install dependencies
run: pnpm install
- name: Build llamaindex
run: pnpm run build
- uses: andresz1/size-limit-action@94bc357df29c36c8f8d50ea497c3e225c3c95d1d
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
directory: e2e/examples/vite-import-llamaindex
skip_step: "install"
build_script: build
package_manager: pnpm
typecheck-examples:
runs-on: ubuntu-latest
@@ -128,21 +158,36 @@ jobs:
run: pnpm run build
- name: Copy examples
run: rsync -rv --exclude=node_modules ./examples ${{ runner.temp }}
- name: Pack @llamaindex/cloud
run: pnpm pack --pack-destination ${{ runner.temp }}
working-directory: packages/cloud
- name: Pack @llamaindex/core
run: pnpm pack --pack-destination ${{ runner.temp }}
working-directory: packages/core
- name: Pack @llamaindex/env
run: pnpm pack --pack-destination ${{ runner.temp }}
working-directory: packages/env
- name: Pack llamaindex
run: pnpm pack --pack-destination ${{ runner.temp }}
working-directory: packages/llamaindex
- name: Pack packages
run: |
for dir in packages/*; do
if [ -d "$dir" ] && [ -f "$dir/package.json" ] && [[ ! "$dir" =~ autotool ]]; then
echo "Packing $dir"
pnpm pack --pack-destination ${{ runner.temp }} -C $dir
else
echo "Skipping $dir, no package.json found"
fi
done
- name: Pack provider packages
run: |
for dir in packages/providers/* packages/providers/storage/*; do
if [ -d "$dir" ] && [ -f "$dir/package.json" ]; then
echo "Packing $dir"
pnpm pack --pack-destination ${{ runner.temp }} -C $dir
else
echo "Skipping $dir, no package.json found"
fi
done
- name: Install
run: npm add ${{ runner.temp }}/*.tgz
working-directory: ${{ runner.temp }}/examples
- name: Run Type Check
run: npx tsc --project ./tsconfig.json
working-directory: ${{ runner.temp }}/examples
- uses: actions/upload-artifact@v4
if: failure()
with:
name: build-dist
path: |
${{ runner.temp }}/*.tgz
if-no-files-found: error
+1 -3
View File
@@ -1,3 +1 @@
pnpm format
pnpm lint
npx lint-staged
pnpm run lint-staged
+3
View File
@@ -4,3 +4,6 @@ pnpm-lock.yaml
lib/
dist/
.docusaurus/
.source/
# prttier doesn't support mdx3 we are using
*.mdx
+1
View File
@@ -0,0 +1 @@
LlamaIndexTS
+3 -1
View File
@@ -13,5 +13,7 @@
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
}
},
"prettier.prettierPath": "./node_modules/prettier",
"prettier.configPath": "prettier.config.mjs"
}
+38 -59
View File
@@ -2,86 +2,65 @@
## Structure
This is a monorepo built with Turborepo
LlamaIndex.TS uses pnpm monorepo.
Right now there are two packages of importance:
We recommend you to understand the basics of Node.js, TypeScript, pnpm, and of course, LLM before contributing.
packages/llamaindex which is the main NPM library llamaindex
There are some important folders in the repository:
examples is where the demo code lives
### Turborepo docs
You can checkout how Turborepo works using the default [README-turborepo.md](/README-turborepo.md)
- `packages/*`: Contains the source code of the packages. Each package is a separate npm package.
- `llamaindex`: The starter package for LlamaIndex.TS, which contains the all sub-packages.
- `core`: The core package of LlamaIndex.TS, which contains the abstract classes and interfaces. It is designed for
all JS runtime environments.
- `env`: The environment package of LlamaIndex.TS, which contains the environment-specific classes and interfaces. It
includes compatibility layers for Node.js, Deno, Vercel Edge Runtime, Cloudflare Workers...
- `apps/*`: The applications based on LlamaIndex.TS.
- `next`: Our documentation website based on Next.js.
- `examples`: The code examples of LlamaIndex.TS using Node.js.
## Getting Started
Install NodeJS. Preferably v18 using nvm or n.
Inside the LlamaIndexTS directory:
Make sure you have Node.js LIS (Long-term Support) installed. You can check your Node.js version by running:
```shell
node -v
# v20.x.x
```
npm i -g pnpm ts-node
### Use pnpm
```shell
corepack enable
```
### Install dependencies
```shell
pnpm install
```
Note: we use pnpm in this repo, which has a lot of the same functionality and CLI options as npm but it does do some things better in a monorepo, like centralizing dependencies and caching.
### Build the packages
PNPM's has documentation on its [workspace feature](https://pnpm.io/workspaces) and Turborepo had some [useful documentation also](https://turbo.build/repo/docs/core-concepts/monorepos/running-tasks).
You'll need Turbo to build the packages. If you don't have it, you can run it with `pnpx`.
### Running Typescript
To build all packages, run:
When we publish to NPM we will have a tsc compiled version of the library in JS. For now, the easiest thing to do is use ts-node.
```shell
# Build all packages
pnpx turbo build --filter "./packages/*"
### Test cases
To run them, run
```
pnpm run test
```
To write new test cases write them in [packages/llamaindex/tests](/packages/llamaindex/tests)
We use Jest https://jestjs.io/ to write our test cases. Jest comes with a bunch of built in assertions using the expect function: https://jestjs.io/docs/expect
### Demo applications
There is an existing ["example"](/examples/README.md) demos folder with mainly NodeJS scripts. Feel free to add additional demos to that folder. If you would like to try out your changes in the core package with a new demo, you need to run the build command in the README.
You can create new demo applications in the apps folder. Just run pnpm init in the folder after you create it to create its own package.json
### Installing packages
To install packages for a specific package or demo application, run
```
pnpm add [NPM Package] --filter [package or application i.e. llamaindex or docs]
```
To install packages for every package or application run
```
pnpm add -w [NPM Package]
# Or if you have turbo installed, you can run:
turbo build --filter "./packages/*"
```
### Docs
To contribute to the docs, go to the docs website folder and run the Docusaurus instance.
```bash
cd apps/docs
pnpm install
pnpm start
```
That should start a webserver which will serve the docs on https://localhost:3000
Any changes you make should be reflected in the browser. If you need to regenerate the API docs and find that your TSDoc isn't getting the updates, feel free to remove apps/docs/api. It will automatically regenerate itself when you run pnpm start again.
See the [docs](./apps/next/README.md) for more information.
## Changeset
We use [changesets](https://github.com/changesets/changesets) for managing versions and changelogs. To create a new changeset, run:
We use [changesets](https://github.com/changesets/changesets) for managing versions and changelogs. To create a new
changeset, run in the root folder:
```
pnpm changeset
@@ -95,6 +74,6 @@ The [Release Github Action](.github/workflows/release.yml) is automatically gene
PR called "Release {version}".
This PR will update the `package.json` and `CHANGELOG.md` files of each package according to
the current changesets in the [.changeset](.changeset/) folder.
the current changesets in the [.changeset](.changeset) folder.
If this PR is merged it will automatically add version tags to the repository and publish the updated packages to NPM.
+43 -166
View File
@@ -1,13 +1,17 @@
# LlamaIndex.TS
<p align="center">
<img height="100" width="100" alt="LlamaIndex logo" src="https://ts.llamaindex.ai/square.svg" />
</p>
<h1 align="center">LlamaIndex.TS</h1>
<h3 align="center">
Data framework for your LLM application.
</h3>
[![NPM Version](https://img.shields.io/npm/v/llamaindex)](https://www.npmjs.com/package/llamaindex)
[![NPM License](https://img.shields.io/npm/l/llamaindex)](https://www.npmjs.com/package/llamaindex)
[![NPM Downloads](https://img.shields.io/npm/dm/llamaindex)](https://www.npmjs.com/package/llamaindex)
[![Discord](https://img.shields.io/discord/1059199217496772688)](https://discord.com/invite/eN6D2HQ4aX)
LlamaIndex is a data framework for your LLM application.
Use your own data with large language models (LLMs, OpenAI ChatGPT and others) in Typescript and Javascript.
Use your own data with large language models (LLMs, OpenAI ChatGPT and others) in JS runtime environments with TypeScript support.
Documentation: https://ts.llamaindex.ai/
@@ -19,139 +23,58 @@ Try examples online:
LlamaIndex.TS aims to be a lightweight, easy to use set of libraries to help you integrate large language models into your applications with your own data.
## Multiple JS Environment Support
## Compatibility
### Multiple JS Environment Support
LlamaIndex.TS supports multiple JS environments, including:
- Node.js (18, 20, 22)
- Node.js >= 20
- Deno ✅
- Bun ✅
- React Server Components (Next.js)
- Nitro
- Vercel Edge Runtime ✅ (with some limitations)
- Cloudflare Workers ✅ (with some limitations)
For now, browser support is limited due to the lack of support for [AsyncLocalStorage-like APIs](https://github.com/tc39/proposal-async-context)
### Supported LLMs:
- OpenAI LLms
- Anthropic LLms
- Groq LLMs
- Llama2, Llama3, Llama3.1 LLMs
- MistralAI LLMs
- Fireworks LLMs
- DeepSeek LLMs
- ReplicateAI LLMs
- TogetherAI LLMs
- HuggingFace LLms
- DeepInfra LLMs
- Gemini LLMs
## Getting started
```shell
npm install llamaindex
pnpm install llamaindex
yarn add llamaindex
jsr install @llamaindex/core
```
### Node.js
### Setup in Node.js, Deno, Bun, TypeScript...?
```ts
import fs from "fs/promises";
import { Document, VectorStoreIndex } from "llamaindex";
See our official document: <https://ts.llamaindex.ai/docs/llamaindex/getting_started/>
async function main() {
// Load essay from abramov.txt in Node
const essay = await fs.readFile(
"node_modules/llamaindex/examples/abramov.txt",
"utf-8",
);
### Adding provider packages
// Create Document object with essay
const document = new Document({ text: essay });
In most cases, you'll also need to install provider packages to use LlamaIndexTS. These are for adding AI models, file readers for ingestion or storing documents, e.g. in vector databases.
// Split text and create embeddings. Store them in a VectorStoreIndex
const index = await VectorStoreIndex.fromDocuments([document]);
For example, to use the OpenAI LLM, you would install the following package:
// Query the index
const queryEngine = index.asQueryEngine();
const response = await queryEngine.query({
query: "What did the author do in college?",
});
// Output response
console.log(response.toString());
}
main();
```
```bash
# `pnpm install tsx` before running the script
node --import tsx ./main.ts
```
### React Server Component (Next.js, Waku, Redwood.JS...)
First, you will need to add a llamaindex plugin to your Next.js project.
```js
// next.config.js
const withLlamaIndex = require("llamaindex/next");
module.exports = withLlamaIndex({
// your next.js config
});
```
You can combine `ai` with `llamaindex` in Next.js with RSC (React Server Components).
```tsx
// src/apps/page.tsx
"use client";
import { chatWithAgent } from "@/actions";
import type { JSX } from "react";
import { useFormState } from "react-dom";
// You can use the Edge runtime in Next.js by adding this line:
// export const runtime = "edge";
export default function Home() {
const [ui, action] = useFormState<JSX.Element | null>(async () => {
return chatWithAgent("hello!", []);
}, null);
return (
<main>
{ui}
<form action={action}>
<button>Chat</button>
</form>
</main>
);
}
```
```tsx
// src/actions/index.ts
"use server";
import { createStreamableUI } from "ai/rsc";
import { OpenAIAgent } from "llamaindex";
import type { ChatMessage } from "llamaindex/llm/types";
export async function chatWithAgent(
question: string,
prevMessages: ChatMessage[] = [],
) {
const agent = new OpenAIAgent({
tools: [
// ... adding your tools here
],
});
const responseStream = await agent.chat({
stream: true,
message: question,
chatHistory: prevMessages,
});
const uiStream = createStreamableUI(<div>loading...</div>);
responseStream
.pipeTo(
new WritableStream({
start: () => {
uiStream.update("response:");
},
write: async (message) => {
uiStream.append(message.response.delta);
},
}),
)
.catch(console.error);
return uiStream.value;
}
```shell
npm install @llamaindex/openai
pnpm install @llamaindex/openai
yarn add @llamaindex/openai
```
## Playground
@@ -164,7 +87,7 @@ Check out our NextJS playground at https://llama-playground.vercel.app/. The sou
- [Node](/packages/llamaindex/src/Node.ts): The basic data building block. Most commonly, these are parts of the document split into manageable pieces that are small enough to be fed into an embedding model and LLM.
- [Embedding](/packages/llamaindex/src/embeddings/OpenAIEmbedding.ts): Embeddings are sets of floating point numbers which represent the data in a Node. By comparing the similarity of embeddings, we can derive an understanding of the similarity of two pieces of data. One use case is to compare the embedding of a question with the embeddings of our Nodes to see which Nodes may contain the data needed to answer that quesiton. Because the default service context is OpenAI, the default embedding is `OpenAIEmbedding`. If using different models, say through Ollama, use this [Embedding](/packages/llamaindex/src/embeddings/OllamaEmbedding.ts) (see all [here](/packages/llamaindex/src/embeddings)).
- [Embedding](/packages/llamaindex/src/embeddings/OpenAIEmbedding.ts): Embeddings are sets of floating point numbers which represent the data in a Node. By comparing the similarity of embeddings, we can derive an understanding of the similarity of two pieces of data. One use case is to compare the embedding of a question with the embeddings of our Nodes to see which Nodes may contain the data needed to answer that question. Because the default service context is OpenAI, the default embedding is `OpenAIEmbedding`. If using different models, say through Ollama, use this [Embedding](/packages/llamaindex/src/embeddings/OllamaEmbedding.ts) (see all [here](/packages/llamaindex/src/embeddings)).
- [Indices](/packages/llamaindex/src/indices/): Indices store the Nodes and the embeddings of those nodes. QueryEngines retrieve Nodes from these Indices using embedding similarity.
@@ -174,57 +97,11 @@ Check out our NextJS playground at https://llama-playground.vercel.app/. The sou
- [SimplePrompt](/packages/llamaindex/src/Prompt.ts): A simple standardized function call definition that takes in inputs and formats them in a template literal. SimplePrompts can be specialized using currying and combined using other SimplePrompt functions.
## Tips when using in non-Node.js environments
When you are importing `llamaindex` in a non-Node.js environment(such as React Server Components, Cloudflare Workers, etc.)
Some classes are not exported from top-level entry file.
The reason is that some classes are only compatible with Node.js runtime,(e.g. `PDFReader`) which uses Node.js specific APIs(like `fs`, `child_process`, `crypto`).
If you need any of those classes, you have to import them instead directly though their file path in the package.
Here's an example for importing the `PineconeVectorStore` class:
```typescript
import { PineconeVectorStore } from "llamaindex/storage/vectorStore/PineconeVectorStore";
```
As the `PDFReader` is not working with the Edge runtime, here's how to use the `SimpleDirectoryReader` with the `LlamaParseReader` to load PDFs:
```typescript
import { SimpleDirectoryReader } from "llamaindex/readers/SimpleDirectoryReader";
import { LlamaParseReader } from "llamaindex/readers/LlamaParseReader";
export const DATA_DIR = "./data";
export async function getDocuments() {
const reader = new SimpleDirectoryReader();
// Load PDFs using LlamaParseReader
return await reader.loadData({
directoryPath: DATA_DIR,
fileExtToReader: {
pdf: new LlamaParseReader({ resultType: "markdown" }),
},
});
}
```
> _Note_: Reader classes have to be added explictly to the `fileExtToReader` map in the Edge version of the `SimpleDirectoryReader`.
You'll find a complete example with LlamaIndexTS here: https://github.com/run-llama/create_llama_projects/tree/main/nextjs-edge-llamaparse
## Supported LLMs:
- OpenAI GPT-3.5-turbo and GPT-4
- Anthropic Claude 3 (Opus, Sonnet, and Haiku) and the legacy models (Claude 2 and Instant)
- Groq LLMs
- Llama2/3 Chat LLMs (70B, 13B, and 7B parameters)
- MistralAI Chat LLMs
- Fireworks Chat LLMs
## Contributing:
We are in the very early days of LlamaIndex.TS. If youre interested in hacking on it with us check out our [contributing guide](/CONTRIBUTING.md)
Please see our [contributing guide](CONTRIBUTING.md) for more information.
You are highly encouraged to contribute to LlamaIndex.TS!
## Bugs? Questions?
## Community
Please join our Discord! https://discord.com/invite/eN6D2HQ4aX
-21
View File
@@ -1,21 +0,0 @@
# Dependencies
/node_modules
# Production
/build
# Generated files
.docusaurus
.cache-loader
lib
# Misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local
npm-debug.log*
yarn-debug.log*
yarn-error.log*
-409
View File
@@ -1,409 +0,0 @@
# docs
## 0.0.50
### Patch Changes
- Updated dependencies [15962b3]
- llamaindex@0.5.9
## 0.0.49
### Patch Changes
- Updated dependencies [3d5ba08]
- Updated dependencies [d917cdc]
- llamaindex@0.5.8
## 0.0.48
### Patch Changes
- Updated dependencies [ec59acd]
- llamaindex@0.5.7
## 0.0.47
### Patch Changes
- Updated dependencies [2562244]
- Updated dependencies [325aa51]
- Updated dependencies [ab700ea]
- Updated dependencies [92f0782]
- Updated dependencies [6cf6ae6]
- Updated dependencies [b7cfe5b]
- llamaindex@0.5.6
## 0.0.46
### Patch Changes
- Updated dependencies [b974eea]
- llamaindex@0.5.5
## 0.0.45
### Patch Changes
- Updated dependencies [1a65ead]
- llamaindex@0.5.4
## 0.0.44
### Patch Changes
- Updated dependencies [9bbbc67]
- Updated dependencies [b3681bf]
- llamaindex@0.5.3
## 0.0.43
### Patch Changes
- llamaindex@0.5.2
## 0.0.42
### Patch Changes
- 2774681: Add mixedbread's embeddings and reranking API
- Updated dependencies [2774681]
- Updated dependencies [a0f424e]
- llamaindex@0.5.1
## 0.0.41
### Patch Changes
- 36ddec4: fix: typo in custom page separator parameter for LlamaParse
- Updated dependencies [16ef5dd]
- Updated dependencies [16ef5dd]
- Updated dependencies [36ddec4]
- llamaindex@0.5.0
- @llamaindex/examples@0.0.7
## 0.0.40
### Patch Changes
- llamaindex@0.4.14
## 0.0.39
### Patch Changes
- Updated dependencies [e8f8bea]
- Updated dependencies [304484b]
- llamaindex@0.4.13
## 0.0.38
### Patch Changes
- Updated dependencies [f326ab8]
- llamaindex@0.4.12
## 0.0.37
### Patch Changes
- Updated dependencies [8bf5b4a]
- llamaindex@0.4.11
## 0.0.36
### Patch Changes
- Updated dependencies [7dce3d2]
- llamaindex@0.4.10
## 0.0.35
### Patch Changes
- Updated dependencies [3a96a48]
- llamaindex@0.4.9
## 0.0.34
### Patch Changes
- Updated dependencies [83ebdfb]
- llamaindex@0.4.8
## 0.0.33
### Patch Changes
- Updated dependencies [41fe871]
- Updated dependencies [321c39d]
- Updated dependencies [f7f1af0]
- llamaindex@0.4.7
## 0.0.32
### Patch Changes
- Updated dependencies [1feb23b]
- Updated dependencies [08c55ec]
- llamaindex@0.4.6
## 0.0.31
### Patch Changes
- Updated dependencies [6c3e5d0]
- llamaindex@0.4.5
## 0.0.30
### Patch Changes
- Updated dependencies [42eb73a]
- llamaindex@0.4.4
## 0.0.29
### Patch Changes
- Updated dependencies [2ef62a9]
- llamaindex@0.4.3
- @llamaindex/examples@0.0.6
## 0.0.28
### Patch Changes
- Updated dependencies [a87a4d1]
- Updated dependencies [0730140]
- llamaindex@0.4.2
## 0.0.27
### Patch Changes
- Updated dependencies [3c47910]
- Updated dependencies [ed467a9]
- Updated dependencies [cba5406]
- llamaindex@0.4.1
## 0.0.26
### Patch Changes
- b1a4a74: docs: updated Bedrock Opus region and added a basic README
- Updated dependencies [436bc41]
- Updated dependencies [a44e54f]
- Updated dependencies [a51ed8d]
- Updated dependencies [d3b635b]
- llamaindex@0.4.0
- @llamaindex/examples@0.0.5
## 0.0.25
### Patch Changes
- Updated dependencies [6bc5bdd]
- Updated dependencies [bf25ff6]
- Updated dependencies [e6d6576]
- llamaindex@0.3.17
## 0.0.24
### Patch Changes
- 631f000: feat: DeepInfra LLM implementation
- 8832669: Community bedrock support added
- a29d835: setDocumentHash should be async
- Updated dependencies [11ae926]
- Updated dependencies [631f000]
- Updated dependencies [1378ec4]
- Updated dependencies [6b1ded4]
- Updated dependencies [4d4bd85]
- Updated dependencies [24a9d1e]
- Updated dependencies [45952de]
- Updated dependencies [54230f0]
- Updated dependencies [a29d835]
- Updated dependencies [73819bf]
- llamaindex@0.3.16
## 0.0.23
### Patch Changes
- Updated dependencies [6e156ed]
- Updated dependencies [265976d]
- Updated dependencies [8e26f75]
- llamaindex@0.3.15
## 0.0.22
### Patch Changes
- Updated dependencies [6ff7576]
- Updated dependencies [94543de]
- llamaindex@0.3.14
## 0.0.21
### Patch Changes
- Updated dependencies [1b1081b]
- Updated dependencies [37525df]
- Updated dependencies [660a2b3]
- Updated dependencies [a1f2475]
- llamaindex@0.3.13
## 0.0.20
### Patch Changes
- Updated dependencies [34fb1d8]
- llamaindex@0.3.12
## 0.0.19
### Patch Changes
- Updated dependencies [e072c45]
- Updated dependencies [9e133ac]
- Updated dependencies [447105a]
- Updated dependencies [320be3f]
- llamaindex@0.3.11
## 0.0.18
### Patch Changes
- Updated dependencies [4aba02e]
- llamaindex@0.3.10
## 0.0.17
### Patch Changes
- Updated dependencies [c3747d0]
- llamaindex@0.3.9
## 0.0.16
### Patch Changes
- Updated dependencies [ce94780]
- llamaindex@0.3.8
## 0.0.15
### Patch Changes
- Updated dependencies [b6a6606]
- Updated dependencies [b6a6606]
- llamaindex@0.3.7
## 0.0.14
### Patch Changes
- Updated dependencies [efa326a]
- llamaindex@0.3.6
## 0.0.13
### Patch Changes
- Updated dependencies [bc7a11c]
- Updated dependencies [2fe2b81]
- Updated dependencies [5596e31]
- Updated dependencies [e74fe88]
- Updated dependencies [be5df5b]
- llamaindex@0.3.5
## 0.0.12
### Patch Changes
- Updated dependencies [1dce275]
- Updated dependencies [d10533e]
- Updated dependencies [2008efe]
- Updated dependencies [5e61934]
- Updated dependencies [9e74a43]
- Updated dependencies [ee719a1]
- llamaindex@0.3.4
## 0.0.11
### Patch Changes
- Updated dependencies [e8c41c5]
- llamaindex@0.3.3
## 0.0.10
### Patch Changes
- Updated dependencies [61103b6]
- llamaindex@0.3.2
## 0.0.9
### Patch Changes
- Updated dependencies [46227f2]
- llamaindex@0.3.1
## 0.0.8
### Patch Changes
- Updated dependencies [5016f21]
- llamaindex@0.3.0
## 0.0.7
### Patch Changes
- Updated dependencies [6277105]
- llamaindex@0.2.13
## 0.0.6
### Patch Changes
- Updated dependencies [d8d952d]
- llamaindex@0.2.12
## 0.0.5
### Patch Changes
- Updated dependencies [87142b2]
- Updated dependencies [5a6cc0e]
- Updated dependencies [87142b2]
- llamaindex@0.2.11
## 0.0.4
### Patch Changes
- Updated dependencies [5116ad8]
- @llamaindex/env@0.0.5
## 0.0.3
### Patch Changes
- 09bf27a: Add Groq LLM to LlamaIndex
- Updated dependencies [cf87f84]
- @llamaindex/env@0.0.4
## 0.0.2
### Patch Changes
- 0f64084: docs: update API references
## 0.0.1
### Patch Changes
- 3154f52: chore: add qdrant readme
-47
View File
@@ -1,47 +0,0 @@
# Website
This website is built using [Docusaurus 2](https://docusaurus.io/), a modern static website generator.
### Installation
```
$ pnpm
```
### Local Development
```
$ pnpm start
```
This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.
However, the searchbar may not function with `yarn start`. Instead, run `yarn build` and launch a server:
```
$ npx http-server ./build
```
### Build
```
$ pnpm build
```
This command generates static content into the `build` directory and can be served using any static contents hosting service.
### Deployment
Using SSH:
```
$ USE_SSH=true pnpm deploy
```
Not using SSH:
```
$ GIT_USER=<Your GitHub username> pnpm deploy
```
If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch.
-3
View File
@@ -1,3 +0,0 @@
module.exports = {
presets: [require.resolve("@docusaurus/core/lib/babel/preset")],
};
-493
View File
@@ -1,493 +0,0 @@
---
title: LlamaIndexTS v0.3.0
description: This is my first post on Docusaurus.
slug: welcome-llamaindexts-v0.3
authors:
- name: Alex Yang
title: LlamaIndexTS maintainer, Node.js Member
url: https://github.com/himself65
image_url: https://github.com/himself65.png
tags: [llamaindex, agent]
hide_table_of_contents: false
---
- [What's new in LlamaIndexTS v0.3.0](#whats-new-in-llamaindexts-v030)
- [Improvement in LlamaIndexTS v0.3.0](#improvement-in-llamaindexts-v030)
- [What's the next?](#whats-the-next)
## What's new in LlamaIndexTS v0.3.0
## Agents
In this release, we've not only ported the Agent module from the LlamaIndex Python version but have significantly
enhanced it to be more powerful and user-friendly for JavaScript/TypeScript applications.
Starting from v0.3.0, we are introducing multiple agents specifically designed for RAG applications, including:
- `OpenAIAgent`
- `AnthropicAgent`
- `ReActAgent`:
```ts
import { OpenAIAgent } from "llamaindex";
import { tools } from "./tools";
const agent = new OpenAIAgent({
tools: [...tools],
});
const { response } = await agent.chat({
message: "What is weather today?",
stream: false,
});
console.log(response.message.content);
```
We are also introducing the abstract AgentRunner class, which allows you to create your own agent by simply implementing
the task handler.
```ts
import { AgentRunner, OpenAI } from "llamaindex";
class MyLLM extends OpenAI {}
export class MyAgentWorker extends AgentWorker<MyLLM> {
taskHandler = MyAgent.taskHandler;
}
export class MyAgent extends AgentRunner<MyLLM> {
constructor(params: Params) {
super({
llm: params.llm,
chatHistory: params.chatHistory ?? [],
systemPrompt: params.systemPrompt ?? null,
runner: new MyAgentWorker(),
tools:
"tools" in params
? params.tools
: params.toolRetriever.retrieve.bind(params.toolRetriever),
});
}
// create store is a function to create a store for each task, by default it only includes `messages` and `toolOutputs`
createStore = AgentRunner.defaultCreateStore;
static taskHandler: TaskHandler<Anthropic> = async (step, enqueueOutput) => {
const { llm, stream } = step.context;
// initialize the input
const response = await llm.chat({
stream,
messages: step.context.store.messages,
});
// store the response for next task step
step.context.store.messages = [
...step.context.store.messages,
response.message,
];
// your logic here to decide whether to continue the task
const shouldContinue = Math.random(); /* <-- replace with your logic here */
enqueueOutput({
taskStep: step,
output: response,
isLast: !shouldContinue,
});
if (shouldContinue) {
const content = await someHeavyFunctionCall();
// if you want to continue the task, you can insert your new context for the next task step
step.context.store.messages = [
...step.context.store.messages,
{
content,
role: "user",
},
];
}
};
}
```
### Web Stream API for Streaming response
Web Stream is a web standard utilized in many modern web frameworks and libraries (like React 19, Deno, Node 22). We
have migrated streaming responses to Web Stream to ensure broader compatibility.
For instance, you can use the streaming response in a simple HTTP Server:
```ts
import { createServer } from "http";
import { OpenAIAgent } from "llamaindex";
import { OpenAIStream, streamToResponse } from "ai";
import { tools } from "./tools";
const agent = new OpenAIAgent({
tools: [...tools],
});
const server = createServer(async (req, res) => {
const response = await agent.chat({
message: "What is weather today?",
stream: true,
});
// Transform the response into a string readable stream
const stream: ReadableStream<string> = response.pipeThrough(
new TransformStream({
transform: (chunk, controller) => {
controller.enqueue(chunk.response.delta);
},
}),
);
// Pipe the stream to the response
streamToResponse(stream, res);
});
server.listen(3000);
```
Or it can be integrated into React Server Components (RSC) in Next.js:
```tsx
// app/actions/index.tsx
"use server";
import { createStreamableUI } from "ai/rsc";
import { OpenAIAgent } from "llamaindex";
import type { ChatMessage } from "llamaindex/llm/types";
export async function chatWithAgent(
question: string,
prevMessages: ChatMessage[] = [],
) {
const agent = new OpenAIAgent({
tools: [],
});
const responseStream = await agent.chat({
stream: true,
message: question,
chatHistory: prevMessages,
});
const uiStream = createStreamableUI(<div>loading...</div>);
responseStream
.pipeTo(
new WritableStream({
start: () => {
uiStream.update("response:");
},
write: async (message) => {
uiStream.append(message.response.delta);
},
}),
)
.catch(uiStream.error);
return uiStream.value;
}
```
```tsx
// app/src/page.tsx
"use client";
import { chatWithAgent } from "@/actions";
import type { JSX } from "react";
import { useFormState } from "react-dom";
export const runtime = "edge";
export default function Home() {
const [state, action] = useFormState<JSX.Element | null>(async () => {
return chatWithAgent("hello!", []);
}, null);
return (
<main>
{state}
<form action={action}>
<button>Chat</button>
</form>
</main>
);
}
```
## Improvement in LlamaIndexTS v0.3.0
### Better TypeScript support
We have made significant improvements to the type system to ensure that all code is thoroughly checked before it is
published. This ongoing enhancement has already resulted in better module reliability and developer experience.
For example, we have improved `FunctionTool` type with generic support:
```ts
type Input = {
a: number;
b: number;
};
const sumNumbers = FunctionTool.from<Input>(
({ a, b }) => `${a + b}`, // a and b will be checked as number
// JSON schema will be an error if you type wrong.
{
name: "sumNumbers",
description: "Use this function to sum two numbers",
parameters: {
type: "object",
properties: {
a: {
type: "number",
description: "The first number",
},
b: {
type: "number",
description: "The second number",
},
},
required: ["a", "b"],
},
},
);
```
![type checking](./img/function_tool_example.png)
### Better Next.js, Deno, Cloudflare Worker, and Waku(Vite) support
In addition to Node.js, LlamaIndexTS now offers enhanced support for Next.js, Deno, and Cloudflare Workers, making it
more versatile across different platforms.
For now, you can install llamaindex and directly import it into your existing Next.js, Deno or Cloudflare Worker project
**without any extra configuration**.
#### [Deno](https://deno.com/)
You can use LlamaIndexTS in Deno by installation through JSR:
```sh
jsr add @llamaindex/core
```
#### [Cloudflare Worker](https://developers.cloudflare.com/workers/)
For Cloudflare Workers, here is a starter template:
```typescript
export default {
async fetch(
request: Request,
env: Env,
ctx: ExecutionContext,
): Promise<Response> {
const { setEnvs } = await import("@llamaindex/env");
setEnvs(env);
const { OpenAIAgent } = await import("llamaindex");
const agent = new OpenAIAgent({
tools: [],
});
const responseStream = await agent.chat({
stream: true,
message: "Hello? What is the weather today?",
});
const textEncoder = new TextEncoder();
const response = responseStream.pipeThrough(
new TransformStream({
transform: (chunk, controller) => {
controller.enqueue(textEncoder.encode(chunk.response.delta));
},
}),
);
return new Response(response);
},
};
```
### [Waku (Vite)](https://waku.gg/)
Waku powered by Vite is a minimal React framework that supports multiple JS environments, including Deno, Cloudflare, and
Node.js.
You can use LlamaIndexTS with Node.js output to enable full Node.js support with React.
```sh
npm install llamaindex
```
```ts
// file: src/actions.ts
"use server";
import { Document, VectorStoreIndex } from "llamaindex";
import { readFile } from "node:fs/promises";
const path = "node_modules/llamaindex/examples/abramov.txt";
const essay = await readFile(path, "utf-8");
// Create Document object with essay
const document = new Document({ text: essay, id_: path });
// Split text and create embeddings. Store them in a VectorStoreIndex
const index = await VectorStoreIndex.fromDocuments([document]);
const queryEngine = index.asQueryEngine();
export async function chatWithAI(question: string): Promise<string> {
const { response } = await queryEngine.query({ query: question });
return response;
}
```
```tsx
// file: src/pages/index.tsx
import { chatWithAI } from "./actions";
export default async function HomePage() {
return (
<div>
<Chat askQuestion={chatWithAI} />
</div>
);
}
```
```tsx
// file: src/components/Chat.tsx
"use client";
export type ChatProps = {
askQuestion: (question: string) => Promise<string>;
};
export const Chat = (props: ChatProps) => {
const [response, setResponse] = useState<string | null>(null);
return (
<section className="border-blue-400 -mx-4 mt-4 rounded border border-dashed p-4">
<h2 className="text-lg font-bold">Chat with AI</h2>
{response ? (
<p className="text-sm text-gray-600 max-w-sm">{response}</p>
) : null}
<form
action={async (formData) => {
const question = formData.get("question") as string | null;
if (question) {
setResponse(await props.askQuestion(question));
}
}}
>
<input
type="text"
name="question"
className="border border-gray-400 rounded-sm px-2 py-0.5 text-sm"
/>
<button className="rounded-sm bg-black px-2 py-0.5 text-sm text-white">
Ask
</button>
</form>
</section>
);
};
```
```shell
waku dev # development mode
waku build # build for production
waku start # start the production server
```
Note that not all the modules are supported in all JS environments because of
lack of the file system, network API,
and incompatibility with the Node.js API by upstream dependencies.
But we are trying to make it more compatible with all the environments.
## What's the next?
As we continue to develop LlamaIndexTS, our focus remains on providing more comprehensive and powerful tools for
creating custom agents.
### Align with the Python `llama-index`
We aim to align LlamaIndexTS with the Python version to ensure API consistency and ease of use for developers familiar
with the Python ecosystem.
### Align with the Web Standard and JS development
Not all python APIs are compatible and easy to use in JavaScript/TypeScript.
We are trying to make the API more compatible with the Web Standard and JavaScript modern development.
### More Agents
Future releases will introduce more agents from the Python Llama-Index and explore APIs tailored to real-world use
cases.
### 🧪 `@llamaindex/tool`
We are exploring innovative ways to create tools for agents. The `@llamaindex/tool` library allows you to transform any
function into a tool for an agent, simplifying the development process and reducing runtime costs.
```ts
export function getWeather(city: string) {
return `The weather in ${city} is sunny.`;
}
// you don't need to worry about the shcema with different llm tools
export function getTemperature(city: string) {
return `The temperature in ${city} is 25°C.`;
}
export function getCurrentCity() {
return "New York";
}
```
These functions can be easily integrated into your applications, such as Next.js:
```ts
"use server";
import { OpenAI } from "openai";
import { getTools } from "@llamaindex/tool";
export async function chat(message: string) {
const openai = new OpenAI();
openai.chat.completions.create({
messages: [
{
role: "user",
content: "What is the weather in the current city?",
},
],
tools: getTools("openai"),
});
}
```
```ts
// next.config.js
const withTool = require("@llamaindex/tool/next");
const config = {
// Your original Next.js config
};
module.exports = withTool(config);
```
The functions are automatically transformed into tools for the agent at compile time, which eliminates any extra runtime
costs. This feature is particularly beneficial when you need to debug or deploy your assistant.
For deploying your local functions into OpenAI, you can use a simple command:
```sh
npm install -g @llamaindex/tool
mkai --tools ./src/index.llama.ts
# Successfully created assistant: asst_XXX
# chat with your assistant by `chatai --assistant asst_XXX`
chatai --assistant asst_XXX
# Open your browser and chat with your assistant
# Running at http://localhost:3000
```
This deployment process simplifies the testing and implementation of your custom tools in a live environment.
As this project is still in its early stages, we continue to explore the best ways to create and integrate tools for
agents. For more information and updates, visit the @llamaindex/tool repository.
This release of LlamaIndexTS v0.3.0 marks a significant step forward in our journey to provide developers with robust,
flexible tools for building advanced agents. We are excited to see how our community utilizes these new capabilities to
create innovative solutions and look forward to continuing to support and enhance LlamaIndexTS in future updates.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 178 KiB

-1
View File
@@ -1 +0,0 @@
api/
-2
View File
@@ -1,2 +0,0 @@
label: Examples
position: 3
-10
View File
@@ -1,10 +0,0 @@
# Agents
A built-in agent that can take decisions and reasoning based on the tools provided to it.
## OpenAI Agent
import CodeBlock from "@theme/CodeBlock";
import CodeSource from "!raw-loader!../../../../examples/agent/openai";
<CodeBlock language="ts">{CodeSource}</CodeBlock>
-6
View File
@@ -1,6 +0,0 @@
# Gemini Agent
import CodeBlock from "@theme/CodeBlock";
import CodeSourceGemini from "!raw-loader!../../../../examples/gemini/agent.ts";
<CodeBlock language="ts">{CodeSourceGemini}</CodeBlock>
-12
View File
@@ -1,12 +0,0 @@
---
sidebar_position: 2
---
import CodeBlock from "@theme/CodeBlock";
import CodeSource from "!raw-loader!../../../../examples/chatEngine";
# Chat Engine
Chat Engine is a class that allows you to create a chatbot from a retriever. It is a wrapper around a retriever that allows you to chat with it in a conversational manner.
<CodeBlock language="ts">{CodeSource}</CodeBlock>
@@ -1,10 +0,0 @@
---
sidebar_position: 4
---
import CodeBlock from "@theme/CodeBlock";
import CodeSource from "!raw-loader!../../../../examples/storageContext";
# Save/Load an Index
<CodeBlock language="ts">{CodeSource}</CodeBlock>
-10
View File
@@ -1,10 +0,0 @@
---
sidebar_position: 3
---
import CodeBlock from "@theme/CodeBlock";
import CodeSource from "!raw-loader!../../../../examples/summaryIndex";
# Summary Index
<CodeBlock language="ts">{CodeSource}</CodeBlock>
-10
View File
@@ -1,10 +0,0 @@
---
sidebar_position: 2
---
import CodeBlock from "@theme/CodeBlock";
import CodeSource from "!raw-loader!../../../../examples/vectorIndex";
# Vector Index
<CodeBlock language="ts">{CodeSource}</CodeBlock>
@@ -1,2 +0,0 @@
label: Getting Started
position: 1
@@ -1,15 +0,0 @@
---
sidebar_position: 2
---
# Environments
We support Node.JS versions 18, 20 and 22, with experimental support for Deno, Bun and Vercel Edge functions.
## NextJS App Router
If you're using NextJS App Router route handlers/serverless functions, you'll need to use the NodeJS mode:
```js
export const runtime = "nodejs"; // default
```
@@ -1,34 +0,0 @@
---
sidebar_position: 0
---
# Installation and Setup
We support Node.JS versions 18, 20 and 22, with experimental support for Deno, Bun and Vercel Edge functions.
## Installation from NPM
```bash npm2yarn
npm install llamaindex
```
### Environment variables
Our examples use OpenAI by default. You can use [other LLMs](../examples/other_llms) via their APIs; if you would prefer to use local models check out our [local LLM example](../examples/local_llm).
To use OpenAI, you'll need to [get an OpenAI API key](https://platform.openai.com/account/api-keys) and then make it available as an environment variable this way:
```bash
export OPENAI_API_KEY="sk-......" # Replace with your key
```
If you want to have it automatically loaded every time, add it to your `.zshrc/.bashrc`.
**WARNING:** do not check in your OpenAI key into version control. GitHub automatically invalidates OpenAI keys checked in by accident.
## What next?
- The easiest way to started is to [build a full-stack chat app with `create-llama`](starter_tutorial/chatbot).
- Try our other [getting started tutorials](starter_tutorial/retrieval_augmented_generation)
- Learn more about the [high level concepts](concepts) behind how LlamaIndex works
- Check out our [many examples](../examples/more_examples) of LlamaIndex.TS in action
@@ -1,2 +0,0 @@
label: Starter Tutorials
position: 1
-2
View File
@@ -1,2 +0,0 @@
label: Guides
position: 2
@@ -1,2 +0,0 @@
label: Agents
position: 1
-54
View File
@@ -1,54 +0,0 @@
---
sidebar_position: 0
slug: /
---
# What is LlamaIndex?
LlamaIndex is a framework for building LLM-powered applications. LlamaIndex helps you ingest, structure, and access private or domain-specific data. It's available [as a Python package](https://docs.llamaindex.ai/en/stable/) and in TypeScript (this package). LlamaIndex.TS offers the core features of LlamaIndex for popular runtimes like Node.js (official support), Vercel Edge Functions (experimental), and Deno (experimental).
## 🚀 Why LlamaIndex.TS?
LLMs offer a natural language interface between humans and inferred data. Widely available models come pre-trained on huge amounts of publicly available data, from Wikipedia and mailing lists to textbooks and source code.
Applications built on top of LLMs often require augmenting these models with private or domain-specific data. That data is often distributed across siloed applications and data stores. It's behind APIs, in SQL databases, or trapped in PDFs and slide decks.
LlamaIndex.TS helps you unlock that data and then build powerful applications with it.
## 🦙 What is LlamaIndex for?
LlamaIndex.TS handles several major use cases:
- **Structured Data Extraction**: turning complex, unstructured and semi-structured data into uniform, programmatically accessible formats.
- **Retrieval-Augmented Generation (RAG)**: answering queries across your internal data by providing LLMs with up-to-date, semantically relevant context including Question and Answer systems and chat bots.
- **Autonomous Agents**: building software that is capable of intelligently selecting and using tools to accomplish tasks in an interative, unsupervised manner.
## 👨‍👩‍👧‍👦 Who is LlamaIndex for?
LlamaIndex targets the "AI Engineer": developers building software in any domain that can be enhanced by LLM-powered functionality, without needing to be an expert in machine learning or natural language processing.
Our high-level API allows beginner users to use LlamaIndex.TS to ingest, index, and query their data in just a few lines of code.
For more complex applications, our lower-level APIs allow advanced users to customize and extend any module—data connectors, indices, retrievers, and query engines, to fit their needs.
## Getting Started
`npm install llamaindex`
Our documentation includes [Installation Instructions](./getting_started/installation.mdx) and a [Starter Tutorial](./getting_started/starter_tutorial/retrieval_augmented_generation.mdx) to build your first application.
Once you're up and running, [High-Level Concepts](./getting_started/concepts.md) has an overview of LlamaIndex's modular architecture. For more hands-on practical examples, look through our Examples section on the sidebar.
## 🗺️ Ecosystem
To download or contribute, find LlamaIndex on:
- Github: https://github.com/run-llama/LlamaIndexTS
- NPM: https://www.npmjs.com/package/llamaindex
## Community
Need help? Have a feature suggestion? Join the LlamaIndex community:
- Twitter: https://twitter.com/llama_index
- Discord https://discord.gg/dGcwcsnxhU
-3
View File
@@ -1,3 +0,0 @@
label: "Modules"
collapsed: false
position: 5
@@ -1,2 +0,0 @@
label: "Agents"
position: 3
-29
View File
@@ -1,29 +0,0 @@
---
sidebar_position: 4
---
# ChatEngine
The chat engine is a quick and simple way to chat with the data in your index.
```typescript
const retriever = index.asRetriever();
const chatEngine = new ContextChatEngine({ retriever });
// start chatting
const response = await chatEngine.chat({ message: query });
```
The `chat` function also supports streaming, just add `stream: true` as an option:
```typescript
const stream = await chatEngine.chat({ message: query, stream: true });
for await (const chunk of stream) {
process.stdout.write(chunk.response);
}
```
## Api References
- [ContextChatEngine](../api/classes/ContextChatEngine.md)
- [CondenseQuestionChatEngine](../api/classes/ContextChatEngine.md)
@@ -1,2 +0,0 @@
label: "Loaders"
position: 1
@@ -1,37 +0,0 @@
import CodeBlock from "@theme/CodeBlock";
import CodeSource from "!raw-loader!../../../../../examples/readers/src/simple-directory-reader";
import CodeSource2 from "!raw-loader!../../../../../examples/readers/src/custom-simple-directory-reader";
# Loader
Before you can start indexing your documents, you need to load them into memory.
## SimpleDirectoryReader
[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/run-llama/LlamaIndexTS/tree/main/examples/readers?file=src/simple-directory-reader.ts&title=Simple%20Directory%20Reader)
LlamaIndex.TS supports easy loading of files from folders using the `SimpleDirectoryReader` class.
It is a simple reader that reads all files from a directory and its subdirectories.
<CodeBlock language="ts">{CodeSource}</CodeBlock>
Currently, it supports reading `.txt`, `.pdf`, `.csv`, `.md`, `.docx`, `.htm`, `.html`, `.jpg`, `.jpeg`, `.png` and `.gif` files, but support for other file types is planned.
You can modify the reader three different ways:
- `overrideReader` overrides the reader for all file types, including unsupported ones.
- `fileExtToReader` maps a reader to a specific file type. Can override reader for existing file types or add support for new file types.
- `defaultReader` sets a fallback reader for files with unsupported extensions. By default it is `TextFileReader`.
SimpleDirectoryReader supports up to 9 concurrent requests. Use the `numWorkers` option to set the number of concurrent requests. By default it runs in sequential mode, i.e. set to 1.
### Example
<CodeBlock language="ts" showLineNumbers metastring="{8-12,17-21}">
{CodeSource2}
</CodeBlock>
## API Reference
- [SimpleDirectoryReader](../../api/classes/SimpleDirectoryReader.md)
@@ -1 +0,0 @@
label: "LlamaParse"
@@ -1,2 +0,0 @@
label: "Document / Nodes"
position: 0
@@ -1,2 +0,0 @@
label: "Embeddings"
position: 3
@@ -1 +0,0 @@
label: "Available Embeddings"
@@ -1,28 +0,0 @@
# MistralAI
To use MistralAI embeddings, you need to import `MistralAIEmbedding` from `llamaindex`.
```ts
import { MistralAIEmbedding, Settings } from "llamaindex";
// Update Embed Model
Settings.embedModel = new MistralAIEmbedding({
apiKey: "<YOUR_API_KEY>",
});
const document = new Document({ text: essay, id_: "essay" });
const index = await VectorStoreIndex.fromDocuments([document]);
const queryEngine = index.asQueryEngine();
const query = "What is the meaning of life?";
const results = await queryEngine.query({
query,
});
```
## API Reference
- [MistralAIEmbedding](../../../api/classes/MistralAIEmbedding.md)
@@ -1,25 +0,0 @@
# OpenAI
To use OpenAI embeddings, you need to import `OpenAIEmbedding` from `llamaindex`.
```ts
import { OpenAIEmbedding, Settings } from "llamaindex";
Settings.embedModel = new OpenAIEmbedding();
const document = new Document({ text: essay, id_: "essay" });
const index = await VectorStoreIndex.fromDocuments([document]);
const queryEngine = index.asQueryEngine();
const query = "What is the meaning of life?";
const results = await queryEngine.query({
query,
});
```
## API Reference
- [OpenAIEmbedding](../../../api/classes/OpenAIEmbedding.md)
@@ -1,21 +0,0 @@
# Embedding
The embedding model in LlamaIndex is responsible for creating numerical representations of text. By default, LlamaIndex will use the `text-embedding-ada-002` model from OpenAI.
This can be explicitly updated through `Settings`
```typescript
import { OpenAIEmbedding, Settings } from "llamaindex";
Settings.embedModel = new OpenAIEmbedding({
model: "text-embedding-ada-002",
});
```
## Local Embedding
For local embeddings, you can use the [HuggingFace](./available_embeddings/huggingface.md) embedding model.
## API Reference
- [OpenAIEmbedding](../../api/classes/OpenAIEmbedding.md)
@@ -1,2 +0,0 @@
label: "Evaluating"
position: 3
@@ -1 +0,0 @@
label: "Modules"
@@ -1,2 +0,0 @@
label: "Ingestion Pipeline"
position: 2
@@ -1,2 +0,0 @@
label: "LLMs"
position: 3
@@ -1 +0,0 @@
label: "Available LLMs"
@@ -1,69 +0,0 @@
# Bedrock
## Usage
```ts
import { BEDROCK_MODELS, Bedrock } from "@llamaindex/community";
Settings.llm = new Bedrock({
model: BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_HAIKU,
region: "us-east-1", // can be provided via env AWS_REGION
credentials: {
accessKeyId: "...", // optional and can be provided via env AWS_ACCESS_KEY_ID
secretAccessKey: "...", // optional and can be provided via env AWS_SECRET_ACCESS_KEY
},
});
```
Currently only supports Anthropic and Meta models:
```ts
ANTHROPIC_CLAUDE_INSTANT_1 = "anthropic.claude-instant-v1";
ANTHROPIC_CLAUDE_2 = "anthropic.claude-v2";
ANTHROPIC_CLAUDE_2_1 = "anthropic.claude-v2:1";
ANTHROPIC_CLAUDE_3_SONNET = "anthropic.claude-3-sonnet-20240229-v1:0";
ANTHROPIC_CLAUDE_3_HAIKU = "anthropic.claude-3-haiku-20240307-v1:0";
ANTHROPIC_CLAUDE_3_OPUS = "anthropic.claude-3-opus-20240229-v1:0"; // available on us-west-2
ANTHROPIC_CLAUDE_3_5_SONNET = "anthropic.claude-3-5-sonnet-20240620-v1:0";
META_LLAMA2_13B_CHAT = "meta.llama2-13b-chat-v1";
META_LLAMA2_70B_CHAT = "meta.llama2-70b-chat-v1";
META_LLAMA3_8B_INSTRUCT = "meta.llama3-8b-instruct-v1:0";
META_LLAMA3_70B_INSTRUCT = "meta.llama3-70b-instruct-v1:0";
META_LLAMA3_1_8B_INSTRUCT = "meta.llama3-1-8b-instruct-v1:0"; // available on us-west-2
META_LLAMA3_1_70B_INSTRUCT = "meta.llama3-1-70b-instruct-v1:0"; // available on us-west-2
META_LLAMA3_1_405B_INSTRUCT = "meta.llama3-1-405b-instruct-v1:0"; // preview only, available on us-west-2
```
Sonnet, Haiku and Opus are multimodal, image_url only supports base64 data url format, e.g. `data:image/jpeg;base64,SGVsbG8sIFdvcmxkIQ==`
## Full Example
```ts
import { BEDROCK_MODELS, Bedrock } from "llamaindex";
Settings.llm = new Bedrock({
model: BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_HAIKU,
});
async function main() {
const document = new Document({ text: essay, id_: "essay" });
// Load and index documents
const index = await VectorStoreIndex.fromDocuments([document]);
// Create a query engine
const queryEngine = index.asQueryEngine({
retriever,
});
const query = "What is the meaning of life?";
// Query
const response = await queryEngine.query({
query,
});
// Log the response
console.log(response.response);
}
```
-35
View File
@@ -1,35 +0,0 @@
---
sidebar_position: 3
---
# Large Language Models (LLMs)
The LLM is responsible for reading text and generating natural language responses to queries. By default, LlamaIndex.TS uses `gpt-3.5-turbo`.
The LLM can be explicitly updated through `Settings`.
```typescript
import { OpenAI, Settings } from "llamaindex";
Settings.llm = new OpenAI({ model: "gpt-3.5-turbo", temperature: 0 });
```
## Azure OpenAI
To use Azure OpenAI, you only need to set a few environment variables.
For example:
```
export AZURE_OPENAI_KEY="<YOUR KEY HERE>"
export AZURE_OPENAI_ENDPOINT="<YOUR ENDPOINT, see https://learn.microsoft.com/en-us/azure/ai-services/openai/quickstart?tabs=command-line%2Cpython&pivots=rest-api>"
export AZURE_OPENAI_DEPLOYMENT="gpt-4" # or some other deployment name
```
## Local LLM
For local LLMs, currently we recommend the use of [Ollama](./available_llms/ollama.md) LLM.
## API Reference
- [OpenAI](../../api/classes/OpenAI.md)
@@ -1,2 +0,0 @@
label: "Node Postprocessors"
position: 3
@@ -1,2 +0,0 @@
label: "Prompts"
position: 0
@@ -1,2 +0,0 @@
label: "Query Engines"
position: 2
-22
View File
@@ -1,22 +0,0 @@
---
sidebar_position: 5
---
# Retriever
A retriever in LlamaIndex is what is used to fetch `Node`s from an index using a query string. Aa `VectorIndexRetriever` will fetch the top-k most similar nodes. Meanwhile, a `SummaryIndexRetriever` will fetch all nodes no matter the query.
```typescript
const retriever = vectorIndex.asRetriever({
similarityTopK: 3,
});
// Fetch nodes!
const nodesWithScore = await retriever.retrieve({ query: "query string" });
```
## API Reference
- [SummaryIndexRetriever](../api/classes/SummaryIndexRetriever.md)
- [SummaryIndexLLMRetriever](../api/classes/SummaryIndexLLMRetriever.md)
- [VectorIndexRetriever](../api/classes/VectorIndexRetriever.md)
-26
View File
@@ -1,26 +0,0 @@
---
sidebar_position: 7
---
# Storage
Storage in LlamaIndex.TS works automatically once you've configured a `StorageContext` object. Just configure the `persistDir` and attach it to an index.
Right now, only saving and loading from disk is supported, with future integrations planned!
```typescript
import { Document, VectorStoreIndex, storageContextFromDefaults } from "./src";
const storageContext = await storageContextFromDefaults({
persistDir: "./storage",
});
const document = new Document({ text: "Test Text" });
const index = await VectorStoreIndex.fromDocuments([document], {
storageContext,
});
```
## API Reference
- [StorageContext](../api/interfaces/StorageContext.md)
@@ -1,2 +0,0 @@
label: "Vector Stores"
position: 1
@@ -1,2 +0,0 @@
label: Observability
position: 5
-64
View File
@@ -1,64 +0,0 @@
# Observability
LlamaIndex provides **one-click observability** 🔭 to allow you to build principled LLM applications in a production setting.
A key requirement for principled development of LLM applications over your data (RAG systems, agents) is being able to observe, debug, and evaluate
your system - both as a whole and for each component.
This feature allows you to seamlessly integrate the LlamaIndex library with powerful observability/evaluation tools offered by our partners.
Configure a variable once, and you'll be able to do things like the following:
- View LLM/prompt inputs/outputs
- Ensure that the outputs of any component (LLMs, embeddings) are performing as expected
- View call traces for both indexing and querying
Each provider has similarities and differences. Take a look below for the full set of guides for each one!
- [OpenLLMetry](#openllmetry)
- [Langtrace](#langtrace)
## OpenLLMetry
[OpenLLMetry](https://github.com/traceloop/openllmetry-js) is an open-source project based on OpenTelemetry for tracing and monitoring
LLM applications. It connects to [all major observability platforms](https://www.traceloop.com/docs/openllmetry/integrations/introduction) and installs in minutes.
### Usage Pattern
```bash
npm install @traceloop/node-server-sdk
```
```js
import * as traceloop from "@traceloop/node-server-sdk";
traceloop.initialize({
apiKey: process.env.TRACELOOP_API_KEY,
disableBatch: true,
});
```
## Langtrace
Enhance your observability with Langtrace, a robust open-source tool supports OpenTelemetry and is designed to trace, evaluate, and manage LLM applications seamlessly. Langtrace integrates directly with LlamaIndex, offering detailed, real-time insights into performance metrics such as accuracy, evaluations, and latency.
#### Install
- Self-host or sign-up and generate an API key using [Langtrace](https://www.langtrace.ai) Cloud
```bash
npm install @langtrase/typescript-sdk
```
#### Initialize
```js
import * as Langtrace from "@langtrase/typescript-sdk";
Langtrace.init({ api_key: "<YOUR_API_KEY>" });
```
Features:
- OpenTelemetry compliant, ensuring broad compatibility with observability platforms.
- Provides comprehensive logs and detailed traces of all components.
- Real-time monitoring of accuracy, evaluations, usage, costs, and latency.
- For more configuration options and details, visit [Langtrace Docs](https://docs.langtrace.ai/introduction).
-2
View File
@@ -1,2 +0,0 @@
label: Recipes
position: 3
-162
View File
@@ -1,162 +0,0 @@
// @ts-check
// Note: type annotations allow type checking and IDEs autocompletion
const renderer = require("prism-react-renderer");
const lightCodeTheme = renderer.themes.github;
const darkCodeTheme = renderer.themes.dracula;
/** @type {import('@docusaurus/types').Config} */
const config = {
title: "LlamaIndex.TS",
tagline: "Unleash the power of LLMs over your data in TypeScript",
favicon: "img/favicon.png",
// Set the production url of your site here
url: "https://ts.llamaindex.ai",
// Set the /<baseUrl>/ pathname under which your site is served
// For GitHub pages deployment, it is often '/<projectName>/'
baseUrl: "/",
// GitHub pages deployment config.
// If you aren't using GitHub pages, you don't need these.
organizationName: "run-llama", // Usually your GitHub org/user name.
projectName: "LlamaIndex.TS", // Usually your repo name.
onBrokenLinks: "warn",
onBrokenMarkdownLinks: "warn",
presets: [
[
"@docusaurus/preset-classic",
/** @type {import('@docusaurus/preset-classic').Options} */
({
docs: {
path: "docs",
routeBasePath: "/",
sidebarPath: require.resolve("./sidebars.js"),
// Please change this to your repo.
// Remove this to remove the "edit this page" links.
// editUrl:
// "https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/",
remarkPlugins: [
[require("@docusaurus/remark-plugin-npm2yarn"), { sync: true }],
],
},
blog: {
blogTitle: "LlamaIndexTS blog",
blogDescription: "The official blog of LlamaIndexTS",
postsPerPage: "ALL",
},
gtag: {
trackingID: "G-NB9B8LW9W5",
anonymizeIP: true,
},
}),
],
],
themeConfig:
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
({
// Replace with your project's social card
image: "img/favicon.png", // TODO change this
navbar: {
title: "LlamaIndex.TS",
logo: {
alt: "LlamaIndex.TS",
src: "img/favicon.png",
},
items: [
{
type: "docSidebar",
sidebarId: "mySidebar",
position: "left",
label: "Docs",
},
{
type: "localeDropdown",
position: "left",
},
{ to: "blog", label: "Blog", position: "right" },
{
href: "https://github.com/run-llama/LlamaIndexTS",
label: "GitHub",
position: "right",
},
],
},
footer: {
style: "dark",
links: [
{
title: "Docs",
items: [
{
label: "API",
to: "/api",
},
],
},
{
title: "Community",
items: [
{
label: "Discord",
href: "https://discord.com/invite/eN6D2HQ4aX",
},
{
label: "Twitter",
href: "https://twitter.com/LlamaIndex",
},
],
},
{
title: "More",
items: [
{
label: "GitHub",
href: "https://github.com/run-llama/LlamaIndexTS",
},
],
},
],
copyright: `Copyright © ${new Date().getFullYear()} LlamaIndex. Built with Docusaurus.`,
},
prism: {
theme: lightCodeTheme,
darkTheme: darkCodeTheme,
},
algolia: {
// The application ID provided by Algolia
appId: "DYKPM6G4CX",
// Public API key: it is safe to commit it
apiKey: "c4ff3789f20bb72a5d735082aef17719",
indexName: "ts-llamaindex",
// Optional: see doc section below
contextualSearch: true,
},
}),
plugins: [
[
"docusaurus-plugin-typedoc",
{
entryPoints: ["../../packages/llamaindex/src/index.ts"],
tsconfig: "../../tsconfig.json",
readme: "none",
sourceLinkTemplate:
"https://github.com/run-llama/LlamaIndexTS/blob/{gitRevision}/{path}#L{line}",
sidebar: {
position: 6,
},
},
],
],
markdown: {
format: "detect",
},
};
module.exports = config;
-57
View File
@@ -1,57 +0,0 @@
{
"name": "docs",
"version": "0.0.50",
"private": true,
"scripts": {
"docusaurus": "docusaurus",
"start": "docusaurus start",
"build": "docusaurus build",
"swizzle": "docusaurus swizzle",
"deploy": "docusaurus deploy",
"clear": "docusaurus clear",
"serve": "docusaurus serve",
"write-translations": "docusaurus write-translations",
"write-heading-ids": "docusaurus write-heading-ids",
"typecheck": "tsc"
},
"dependencies": {
"@docusaurus/core": "3.4.0",
"@docusaurus/remark-plugin-npm2yarn": "3.4.0",
"@llamaindex/examples": "workspace:*",
"@mdx-js/react": "3.0.1",
"clsx": "2.1.1",
"llamaindex": "workspace:*",
"postcss": "8.4.39",
"prism-react-renderer": "2.3.1",
"raw-loader": "4.0.2",
"react": "18.3.1",
"react-dom": "18.3.1"
},
"devDependencies": {
"@docusaurus/module-type-aliases": "3.4.0",
"@docusaurus/preset-classic": "3.4.0",
"@docusaurus/theme-classic": "3.4.0",
"@docusaurus/types": "3.4.0",
"@tsconfig/docusaurus": "2.0.3",
"@types/node": "^20.12.11",
"docusaurus-plugin-typedoc": "1.0.3",
"typedoc": "0.26.4",
"typedoc-plugin-markdown": "4.1.2",
"typescript": "^5.5.3"
},
"browserslist": {
"production": [
">0.5%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"engines": {
"node": ">=18"
}
}
-33
View File
@@ -1,33 +0,0 @@
/**
* Creating a sidebar enables you to:
- create an ordered group of docs
- render a sidebar for each doc of that group
- provide next/previous navigation
The sidebars can be generated from the filesystem, or explicitly defined here.
Create as many sidebars as you want.
*/
// @ts-check
/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */
const sidebars = {
// By default, Docusaurus generates a sidebar from the docs folder structure
mySidebar: [{ type: "autogenerated", dirName: "." }],
// But you can create a sidebar manually
/*
tutorialSidebar: [
'intro',
'hello',
{
type: 'category',
label: 'Tutorial',
items: ['tutorial-basics/create-a-document'],
},
],
*/
};
module.exports = sidebars;
@@ -1,59 +0,0 @@
import clsx from "clsx";
import React from "react";
import styles from "./styles.module.css";
type FeatureItem = {
title: string;
Svg: React.ComponentType<React.ComponentProps<"svg">>;
description: JSX.Element;
};
const FeatureList: FeatureItem[] = [
{
title: "Data Driven",
Svg: require("@site/static/img/undraw_docusaurus_mountain.svg").default,
description: <>LlamaIndex.TS is all about using your data with LLMs.</>,
},
{
title: "Typescript Native",
Svg: require("@site/static/img/undraw_docusaurus_tree.svg").default,
description: <>We Typescript, and so do our users.</>,
},
{
title: "Built by the Community",
Svg: require("@site/static/img/undraw_docusaurus_react.svg").default,
description: (
<>
LlamaIndex.TS is a community project, and we welcome your contributions!
</>
),
},
];
function Feature({ title, Svg, description }: FeatureItem) {
return (
<div className={clsx("col col--4")}>
<div className="text--center">
<Svg className={styles.featureSvg} role="img" />
</div>
<div className="text--center padding-horiz--md">
<h3>{title}</h3>
<p>{description}</p>
</div>
</div>
);
}
export default function HomepageFeatures(): JSX.Element {
return (
<section className={styles.features}>
<div className="container">
<div className="row">
{FeatureList.map((props, idx) => (
<Feature key={idx} {...props} />
))}
</div>
</div>
</section>
);
}
@@ -1,11 +0,0 @@
.features {
display: flex;
align-items: center;
padding: 2rem 0;
width: 100%;
}
.featureSvg {
height: 200px;
width: 200px;
}
-30
View File
@@ -1,30 +0,0 @@
/**
* Any CSS included here will be global. The classic template
* bundles Infima by default. Infima is a CSS framework designed to
* work well for content-centric websites.
*/
/* You can override the default Infima variables here. */
:root {
--ifm-color-primary: #2e8555;
--ifm-color-primary-dark: #29784c;
--ifm-color-primary-darker: #277148;
--ifm-color-primary-darkest: #205d3b;
--ifm-color-primary-light: #33925d;
--ifm-color-primary-lighter: #359962;
--ifm-color-primary-lightest: #3cad6e;
--ifm-code-font-size: 95%;
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1);
}
/* For readability concerns, you should choose a lighter palette in dark mode. */
[data-theme="dark"] {
--ifm-color-primary: #25c2a0;
--ifm-color-primary-dark: #21af90;
--ifm-color-primary-darker: #1fa588;
--ifm-color-primary-darkest: #1a8870;
--ifm-color-primary-light: #29d5b0;
--ifm-color-primary-lighter: #32d8b4;
--ifm-color-primary-lightest: #4fddbf;
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3);
}
-23
View File
@@ -1,23 +0,0 @@
/**
* CSS files with the .module.css suffix will be treated as CSS modules
* and scoped locally.
*/
.heroBanner {
padding: 4rem 0;
text-align: center;
position: relative;
overflow: hidden;
}
@media screen and (max-width: 996px) {
.heroBanner {
padding: 2rem;
}
}
.buttons {
display: flex;
align-items: center;
justify-content: center;
}
-7
View File
@@ -1,7 +0,0 @@
---
title: Markdown page example
---
# Markdown page example
You don't need React to write simple standalone pages.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

-37
View File
@@ -1,37 +0,0 @@
<svg width="200" height="200" viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
<g fill="none" fill-rule="evenodd">
<path fill="#FFF" d="M99 52h84v34H99z" />
<path
d="M23 163c-7.398 0-13.843-4.027-17.303-10A19.886 19.886 0 0 0 3 163c0 11.046 8.954 20 20 20h20v-20H23z"
fill="#3ECC5F" />
<path
d="M112.98 57.376L183 53V43c0-11.046-8.954-20-20-20H73l-2.5-4.33c-1.112-1.925-3.889-1.925-5 0L63 23l-2.5-4.33c-1.111-1.925-3.889-1.925-5 0L53 23l-2.5-4.33c-1.111-1.925-3.889-1.925-5 0L43 23c-.022 0-.042.003-.065.003l-4.142-4.141c-1.57-1.571-4.252-.853-4.828 1.294l-1.369 5.104-5.192-1.392c-2.148-.575-4.111 1.389-3.535 3.536l1.39 5.193-5.102 1.367c-2.148.576-2.867 3.259-1.296 4.83l4.142 4.142c0 .021-.003.042-.003.064l-4.33 2.5c-1.925 1.111-1.925 3.889 0 5L23 53l-4.33 2.5c-1.925 1.111-1.925 3.889 0 5L23 63l-4.33 2.5c-1.925 1.111-1.925 3.889 0 5L23 73l-4.33 2.5c-1.925 1.111-1.925 3.889 0 5L23 83l-4.33 2.5c-1.925 1.111-1.925 3.889 0 5L23 93l-4.33 2.5c-1.925 1.111-1.925 3.889 0 5L23 103l-4.33 2.5c-1.925 1.111-1.925 3.889 0 5L23 113l-4.33 2.5c-1.925 1.111-1.925 3.889 0 5L23 123l-4.33 2.5c-1.925 1.111-1.925 3.889 0 5L23 133l-4.33 2.5c-1.925 1.111-1.925 3.889 0 5L23 143l-4.33 2.5c-1.925 1.111-1.925 3.889 0 5L23 153l-4.33 2.5c-1.925 1.111-1.925 3.889 0 5L23 163c0 11.046 8.954 20 20 20h120c11.046 0 20-8.954 20-20V83l-70.02-4.376A10.645 10.645 0 0 1 103 68c0-5.621 4.37-10.273 9.98-10.624"
fill="#3ECC5F" />
<path fill="#3ECC5F" d="M143 183h30v-40h-30z" />
<path
d="M193 158c-.219 0-.428.037-.639.064-.038-.15-.074-.301-.116-.451A5 5 0 0 0 190.32 148a4.96 4.96 0 0 0-3.016 1.036 26.531 26.531 0 0 0-.335-.336 4.955 4.955 0 0 0 1.011-2.987 5 5 0 0 0-9.599-1.959c-.148-.042-.297-.077-.445-.115.027-.211.064-.42.064-.639a5 5 0 0 0-5-5 5 5 0 0 0-5 5c0 .219.037.428.064.639-.148.038-.297.073-.445.115a4.998 4.998 0 0 0-9.599 1.959c0 1.125.384 2.151 1.011 2.987-3.717 3.632-6.031 8.693-6.031 14.3 0 11.046 8.954 20 20 20 9.339 0 17.16-6.41 19.361-15.064.211.027.42.064.639.064a5 5 0 0 0 5-5 5 5 0 0 0-5-5"
fill="#44D860" />
<path fill="#3ECC5F" d="M153 123h30v-20h-30z" />
<path
d="M193 115.5a2.5 2.5 0 1 0 0-5c-.109 0-.214.019-.319.032-.02-.075-.037-.15-.058-.225a2.501 2.501 0 0 0-.963-4.807c-.569 0-1.088.197-1.508.518a6.653 6.653 0 0 0-.168-.168c.314-.417.506-.931.506-1.494a2.5 2.5 0 0 0-4.8-.979A9.987 9.987 0 0 0 183 103c-5.522 0-10 4.478-10 10s4.478 10 10 10c.934 0 1.833-.138 2.69-.377a2.5 2.5 0 0 0 4.8-.979c0-.563-.192-1.077-.506-1.494.057-.055.113-.111.168-.168.42.321.939.518 1.508.518a2.5 2.5 0 0 0 .963-4.807c.021-.074.038-.15.058-.225.105.013.21.032.319.032"
fill="#44D860" />
<path
d="M63 55.5a2.5 2.5 0 0 1-2.5-2.5c0-4.136-3.364-7.5-7.5-7.5s-7.5 3.364-7.5 7.5a2.5 2.5 0 1 1-5 0c0-6.893 5.607-12.5 12.5-12.5S65.5 46.107 65.5 53a2.5 2.5 0 0 1-2.5 2.5"
fill="#000" />
<path d="M103 183h60c11.046 0 20-8.954 20-20V93h-60c-11.046 0-20 8.954-20 20v70z" fill="#FFFF50" />
<path
d="M168.02 124h-50.04a1 1 0 1 1 0-2h50.04a1 1 0 1 1 0 2m0 20h-50.04a1 1 0 1 1 0-2h50.04a1 1 0 1 1 0 2m0 20h-50.04a1 1 0 1 1 0-2h50.04a1 1 0 1 1 0 2m0-49.814h-50.04a1 1 0 1 1 0-2h50.04a1 1 0 1 1 0 2m0 19.814h-50.04a1 1 0 1 1 0-2h50.04a1 1 0 1 1 0 2m0 20h-50.04a1 1 0 1 1 0-2h50.04a1 1 0 1 1 0 2M183 61.611c-.012 0-.022-.006-.034-.005-3.09.105-4.552 3.196-5.842 5.923-1.346 2.85-2.387 4.703-4.093 4.647-1.889-.068-2.969-2.202-4.113-4.46-1.314-2.594-2.814-5.536-5.963-5.426-3.046.104-4.513 2.794-5.807 5.167-1.377 2.528-2.314 4.065-4.121 3.994-1.927-.07-2.951-1.805-4.136-3.813-1.321-2.236-2.848-4.75-5.936-4.664-2.994.103-4.465 2.385-5.763 4.4-1.373 2.13-2.335 3.428-4.165 3.351-1.973-.07-2.992-1.51-4.171-3.177-1.324-1.873-2.816-3.993-5.895-3.89-2.928.1-4.399 1.97-5.696 3.618-1.232 1.564-2.194 2.802-4.229 2.724a1 1 0 0 0-.072 2c3.017.101 4.545-1.8 5.872-3.487 1.177-1.496 2.193-2.787 4.193-2.855 1.926-.082 2.829 1.115 4.195 3.045 1.297 1.834 2.769 3.914 5.731 4.021 3.103.104 4.596-2.215 5.918-4.267 1.182-1.834 2.202-3.417 4.15-3.484 1.793-.067 2.769 1.35 4.145 3.681 1.297 2.197 2.766 4.686 5.787 4.796 3.125.108 4.634-2.62 5.949-5.035 1.139-2.088 2.214-4.06 4.119-4.126 1.793-.042 2.728 1.595 4.111 4.33 1.292 2.553 2.757 5.445 5.825 5.556l.169.003c3.064 0 4.518-3.075 5.805-5.794 1.139-2.41 2.217-4.68 4.067-4.773v-2z"
fill="#000" />
<path fill="#3ECC5F" d="M83 183h40v-40H83z" />
<path
d="M143 158c-.219 0-.428.037-.639.064-.038-.15-.074-.301-.116-.451A5 5 0 0 0 140.32 148a4.96 4.96 0 0 0-3.016 1.036 26.531 26.531 0 0 0-.335-.336 4.955 4.955 0 0 0 1.011-2.987 5 5 0 0 0-9.599-1.959c-.148-.042-.297-.077-.445-.115.027-.211.064-.42.064-.639a5 5 0 0 0-5-5 5 5 0 0 0-5 5c0 .219.037.428.064.639-.148.038-.297.073-.445.115a4.998 4.998 0 0 0-9.599 1.959c0 1.125.384 2.151 1.011 2.987-3.717 3.632-6.031 8.693-6.031 14.3 0 11.046 8.954 20 20 20 9.339 0 17.16-6.41 19.361-15.064.211.027.42.064.639.064a5 5 0 0 0 5-5 5 5 0 0 0-5-5"
fill="#44D860" />
<path fill="#3ECC5F" d="M83 123h40v-20H83z" />
<path
d="M133 115.5a2.5 2.5 0 1 0 0-5c-.109 0-.214.019-.319.032-.02-.075-.037-.15-.058-.225a2.501 2.501 0 0 0-.963-4.807c-.569 0-1.088.197-1.508.518a6.653 6.653 0 0 0-.168-.168c.314-.417.506-.931.506-1.494a2.5 2.5 0 0 0-4.8-.979A9.987 9.987 0 0 0 123 103c-5.522 0-10 4.478-10 10s4.478 10 10 10c.934 0 1.833-.138 2.69-.377a2.5 2.5 0 0 0 4.8-.979c0-.563-.192-1.077-.506-1.494.057-.055.113-.111.168-.168.42.321.939.518 1.508.518a2.5 2.5 0 0 0 .963-4.807c.021-.074.038-.15.058-.225.105.013.21.032.319.032"
fill="#44D860" />
<path
d="M143 41.75c-.16 0-.33-.02-.49-.05a2.52 2.52 0 0 1-.47-.14c-.15-.06-.29-.14-.431-.23-.13-.09-.259-.2-.38-.31-.109-.12-.219-.24-.309-.38s-.17-.28-.231-.43a2.619 2.619 0 0 1-.189-.96c0-.16.02-.33.05-.49.03-.16.08-.31.139-.47.061-.15.141-.29.231-.43.09-.13.2-.26.309-.38.121-.11.25-.22.38-.31.141-.09.281-.17.431-.23.149-.06.31-.11.47-.14.32-.07.65-.07.98 0 .159.03.32.08.47.14.149.06.29.14.43.23.13.09.259.2.38.31.11.12.22.25.31.38.09.14.17.28.23.43.06.16.11.31.14.47.029.16.05.33.05.49 0 .66-.271 1.31-.73 1.77-.121.11-.25.22-.38.31-.14.09-.281.17-.43.23a2.565 2.565 0 0 1-.96.19m20-1.25c-.66 0-1.3-.27-1.771-.73a3.802 3.802 0 0 1-.309-.38c-.09-.14-.17-.28-.231-.43a2.619 2.619 0 0 1-.189-.96c0-.66.27-1.3.729-1.77.121-.11.25-.22.38-.31.141-.09.281-.17.431-.23.149-.06.31-.11.47-.14.32-.07.66-.07.98 0 .159.03.32.08.47.14.149.06.29.14.43.23.13.09.259.2.38.31.459.47.73 1.11.73 1.77 0 .16-.021.33-.05.49-.03.16-.08.32-.14.47-.07.15-.14.29-.23.43-.09.13-.2.26-.31.38-.121.11-.25.22-.38.31-.14.09-.281.17-.43.23a2.565 2.565 0 0 1-.96.19"
fill="#000" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 6.5 KiB

-171
View File
@@ -1,171 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1088" height="687.962" viewBox="0 0 1088 687.962">
<title>Easy to Use</title>
<g id="Group_12" data-name="Group 12" transform="translate(-57 -56)">
<g id="Group_11" data-name="Group 11" transform="translate(57 56)">
<path id="Path_83" data-name="Path 83" d="M1017.81,560.461c-5.27,45.15-16.22,81.4-31.25,110.31-20,38.52-54.21,54.04-84.77,70.28a193.275,193.275,0,0,1-27.46,11.94c-55.61,19.3-117.85,14.18-166.74,3.99a657.282,657.282,0,0,0-104.09-13.16q-14.97-.675-29.97-.67c-15.42.02-293.07,5.29-360.67-131.57-16.69-33.76-28.13-75-32.24-125.27-11.63-142.12,52.29-235.46,134.74-296.47,155.97-115.41,369.76-110.57,523.43,7.88C941.15,276.621,1036.99,396.031,1017.81,560.461Z" transform="translate(-56 -106.019)" fill="#3f3d56"/>
<path id="Path_84" data-name="Path 84" d="M986.56,670.771c-20,38.52-47.21,64.04-77.77,80.28a193.272,193.272,0,0,1-27.46,11.94c-55.61,19.3-117.85,14.18-166.74,3.99a657.3,657.3,0,0,0-104.09-13.16q-14.97-.675-29.97-.67-23.13.03-46.25,1.72c-100.17,7.36-253.82-6.43-321.42-143.29L382,283.981,444.95,445.6l20.09,51.59,55.37-75.98L549,381.981l130.2,149.27,36.8-81.27L970.78,657.9l14.21,11.59Z" transform="translate(-56 -106.019)" fill="#f2f2f2"/>
<path id="Path_85" data-name="Path 85" d="M302,282.962l26-57,36,83-31-60Z" opacity="0.1"/>
<path id="Path_86" data-name="Path 86" d="M610.5,753.821q-14.97-.675-29.97-.67L465.04,497.191Z" transform="translate(-56 -106.019)" opacity="0.1"/>
<path id="Path_87" data-name="Path 87" d="M464.411,315.191,493,292.962l130,150-132-128Z" opacity="0.1"/>
<path id="Path_88" data-name="Path 88" d="M908.79,751.051a193.265,193.265,0,0,1-27.46,11.94L679.2,531.251Z" transform="translate(-56 -106.019)" opacity="0.1"/>
<circle id="Ellipse_11" data-name="Ellipse 11" cx="3" cy="3" r="3" transform="translate(479 98.962)" fill="#f2f2f2"/>
<circle id="Ellipse_12" data-name="Ellipse 12" cx="3" cy="3" r="3" transform="translate(396 201.962)" fill="#f2f2f2"/>
<circle id="Ellipse_13" data-name="Ellipse 13" cx="2" cy="2" r="2" transform="translate(600 220.962)" fill="#f2f2f2"/>
<circle id="Ellipse_14" data-name="Ellipse 14" cx="2" cy="2" r="2" transform="translate(180 265.962)" fill="#f2f2f2"/>
<circle id="Ellipse_15" data-name="Ellipse 15" cx="2" cy="2" r="2" transform="translate(612 96.962)" fill="#f2f2f2"/>
<circle id="Ellipse_16" data-name="Ellipse 16" cx="2" cy="2" r="2" transform="translate(736 192.962)" fill="#f2f2f2"/>
<circle id="Ellipse_17" data-name="Ellipse 17" cx="2" cy="2" r="2" transform="translate(858 344.962)" fill="#f2f2f2"/>
<path id="Path_89" data-name="Path 89" d="M306,121.222h-2.76v-2.76h-1.48v2.76H299V122.7h2.76v2.759h1.48V122.7H306Z" fill="#f2f2f2"/>
<path id="Path_90" data-name="Path 90" d="M848,424.222h-2.76v-2.76h-1.48v2.76H841V425.7h2.76v2.759h1.48V425.7H848Z" fill="#f2f2f2"/>
<path id="Path_91" data-name="Path 91" d="M1144,719.981c0,16.569-243.557,74-544,74s-544-57.431-544-74,243.557,14,544,14S1144,703.413,1144,719.981Z" transform="translate(-56 -106.019)" fill="#3f3d56"/>
<path id="Path_92" data-name="Path 92" d="M1144,719.981c0,16.569-243.557,74-544,74s-544-57.431-544-74,243.557,14,544,14S1144,703.413,1144,719.981Z" transform="translate(-56 -106.019)" opacity="0.1"/>
<ellipse id="Ellipse_18" data-name="Ellipse 18" cx="544" cy="30" rx="544" ry="30" transform="translate(0 583.962)" fill="#3f3d56"/>
<path id="Path_93" data-name="Path 93" d="M624,677.981c0,33.137-14.775,24-33,24s-33,9.137-33-24,33-96,33-96S624,644.844,624,677.981Z" transform="translate(-56 -106.019)" fill="#ff6584"/>
<path id="Path_94" data-name="Path 94" d="M606,690.66c0,15.062-6.716,10.909-15,10.909s-15,4.153-15-10.909,15-43.636,15-43.636S606,675.6,606,690.66Z" transform="translate(-56 -106.019)" opacity="0.1"/>
<rect id="Rectangle_97" data-name="Rectangle 97" width="92" height="18" rx="9" transform="translate(489 604.962)" fill="#2f2e41"/>
<rect id="Rectangle_98" data-name="Rectangle 98" width="92" height="18" rx="9" transform="translate(489 586.962)" fill="#2f2e41"/>
<path id="Path_95" data-name="Path 95" d="M193,596.547c0,55.343,34.719,100.126,77.626,100.126" transform="translate(-56 -106.019)" fill="#3f3d56"/>
<path id="Path_96" data-name="Path 96" d="M270.626,696.673c0-55.965,38.745-101.251,86.626-101.251" transform="translate(-56 -106.019)" fill="#6c63ff"/>
<path id="Path_97" data-name="Path 97" d="M221.125,601.564c0,52.57,22.14,95.109,49.5,95.109" transform="translate(-56 -106.019)" fill="#6c63ff"/>
<path id="Path_98" data-name="Path 98" d="M270.626,696.673c0-71.511,44.783-129.377,100.126-129.377" transform="translate(-56 -106.019)" fill="#3f3d56"/>
<path id="Path_99" data-name="Path 99" d="M254.3,697.379s11.009-.339,14.326-2.7,16.934-5.183,17.757-1.395,16.544,18.844,4.115,18.945-28.879-1.936-32.19-3.953S254.3,697.379,254.3,697.379Z" transform="translate(-56 -106.019)" fill="#a8a8a8"/>
<path id="Path_100" data-name="Path 100" d="M290.716,710.909c-12.429.1-28.879-1.936-32.19-3.953-2.522-1.536-3.527-7.048-3.863-9.591l-.368.014s.7,8.879,4.009,10.9,19.761,4.053,32.19,3.953c3.588-.029,4.827-1.305,4.759-3.2C294.755,710.174,293.386,710.887,290.716,710.909Z" transform="translate(-56 -106.019)" opacity="0.2"/>
<path id="Path_101" data-name="Path 101" d="M777.429,633.081c0,38.029,23.857,68.8,53.341,68.8" transform="translate(-56 -106.019)" fill="#3f3d56"/>
<path id="Path_102" data-name="Path 102" d="M830.769,701.882c0-38.456,26.623-69.575,59.525-69.575" transform="translate(-56 -106.019)" fill="#6c63ff"/>
<path id="Path_103" data-name="Path 103" d="M796.755,636.528c0,36.124,15.213,65.354,34.014,65.354" transform="translate(-56 -106.019)" fill="#6c63ff"/>
<path id="Path_104" data-name="Path 104" d="M830.769,701.882c0-49.139,30.773-88.9,68.8-88.9" transform="translate(-56 -106.019)" fill="#3f3d56"/>
<path id="Path_105" data-name="Path 105" d="M819.548,702.367s7.565-.233,9.844-1.856,11.636-3.562,12.2-.958,11.368,12.949,2.828,13.018-19.844-1.33-22.119-2.716S819.548,702.367,819.548,702.367Z" transform="translate(-56 -106.019)" fill="#a8a8a8"/>
<path id="Path_106" data-name="Path 106" d="M844.574,711.664c-8.54.069-19.844-1.33-22.119-2.716-1.733-1.056-2.423-4.843-2.654-6.59l-.253.01s.479,6.1,2.755,7.487,13.579,2.785,22.119,2.716c2.465-.02,3.317-.9,3.27-2.2C847.349,711.159,846.409,711.649,844.574,711.664Z" transform="translate(-56 -106.019)" opacity="0.2"/>
<path id="Path_107" data-name="Path 107" d="M949.813,724.718s11.36-1.729,14.5-4.591,16.89-7.488,18.217-3.667,19.494,17.447,6.633,19.107-30.153,1.609-33.835-.065S949.813,724.718,949.813,724.718Z" transform="translate(-56 -106.019)" fill="#a8a8a8"/>
<path id="Path_108" data-name="Path 108" d="M989.228,734.173c-12.86,1.659-30.153,1.609-33.835-.065-2.8-1.275-4.535-6.858-5.2-9.45l-.379.061s1.833,9.109,5.516,10.783,20.975,1.725,33.835.065c3.712-.479,4.836-1.956,4.529-3.906C993.319,732.907,991.991,733.817,989.228,734.173Z" transform="translate(-56 -106.019)" opacity="0.2"/>
<path id="Path_109" data-name="Path 109" d="M670.26,723.9s9.587-1.459,12.237-3.875,14.255-6.32,15.374-3.095,16.452,14.725,5.6,16.125-25.448,1.358-28.555-.055S670.26,723.9,670.26,723.9Z" transform="translate(-56 -106.019)" fill="#a8a8a8"/>
<path id="Path_110" data-name="Path 110" d="M703.524,731.875c-10.853,1.4-25.448,1.358-28.555-.055-2.367-1.076-3.827-5.788-4.39-7.976l-.32.051s1.547,7.687,4.655,9.1,17.7,1.456,28.555.055c3.133-.4,4.081-1.651,3.822-3.3C706.977,730.807,705.856,731.575,703.524,731.875Z" transform="translate(-56 -106.019)" opacity="0.2"/>
<path id="Path_111" data-name="Path 111" d="M178.389,719.109s7.463-1.136,9.527-3.016,11.1-4.92,11.969-2.409,12.808,11.463,4.358,12.553-19.811,1.057-22.23-.043S178.389,719.109,178.389,719.109Z" transform="translate(-56 -106.019)" fill="#a8a8a8"/>
<path id="Path_112" data-name="Path 112" d="M204.285,725.321c-8.449,1.09-19.811,1.057-22.23-.043-1.842-.838-2.979-4.506-3.417-6.209l-.249.04s1.2,5.984,3.624,7.085,13.781,1.133,22.23.043c2.439-.315,3.177-1.285,2.976-2.566C206.973,724.489,206.1,725.087,204.285,725.321Z" transform="translate(-56 -106.019)" opacity="0.2"/>
<path id="Path_113" data-name="Path 113" d="M439.7,707.337c0,30.22-42.124,20.873-93.7,20.873s-93.074,9.347-93.074-20.873,42.118-36.793,93.694-36.793S439.7,677.117,439.7,707.337Z" transform="translate(-56 -106.019)" opacity="0.1"/>
<path id="Path_114" data-name="Path 114" d="M439.7,699.9c0,30.22-42.124,20.873-93.7,20.873s-93.074,9.347-93.074-20.873S295.04,663.1,346.616,663.1,439.7,669.676,439.7,699.9Z" transform="translate(-56 -106.019)" fill="#3f3d56"/>
</g>
<g id="docusaurus_keytar" transform="translate(312.271 493.733)">
<path id="Path_40" data-name="Path 40" d="M99,52h91.791V89.153H99Z" transform="translate(5.904 -14.001)" fill="#fff" fill-rule="evenodd"/>
<path id="Path_41" data-name="Path 41" d="M24.855,163.927A21.828,21.828,0,0,1,5.947,153a21.829,21.829,0,0,0,18.908,32.782H46.71V163.927Z" transform="translate(-3 -4.634)" fill="#3ecc5f" fill-rule="evenodd"/>
<path id="Path_42" data-name="Path 42" d="M121.861,61.1l76.514-4.782V45.39A21.854,21.854,0,0,0,176.52,23.535H78.173L75.441,18.8a3.154,3.154,0,0,0-5.464,0l-2.732,4.732L64.513,18.8a3.154,3.154,0,0,0-5.464,0l-2.732,4.732L53.586,18.8a3.154,3.154,0,0,0-5.464,0L45.39,23.535c-.024,0-.046,0-.071,0l-4.526-4.525a3.153,3.153,0,0,0-5.276,1.414l-1.5,5.577-5.674-1.521a3.154,3.154,0,0,0-3.863,3.864L26,34.023l-5.575,1.494a3.155,3.155,0,0,0-1.416,5.278l4.526,4.526c0,.023,0,.046,0,.07L18.8,48.122a3.154,3.154,0,0,0,0,5.464l4.732,2.732L18.8,59.05a3.154,3.154,0,0,0,0,5.464l4.732,2.732L18.8,69.977a3.154,3.154,0,0,0,0,5.464l4.732,2.732L18.8,80.9a3.154,3.154,0,0,0,0,5.464L23.535,89.1,18.8,91.832a3.154,3.154,0,0,0,0,5.464l4.732,2.732L18.8,102.76a3.154,3.154,0,0,0,0,5.464l4.732,2.732L18.8,113.687a3.154,3.154,0,0,0,0,5.464l4.732,2.732L18.8,124.615a3.154,3.154,0,0,0,0,5.464l4.732,2.732L18.8,135.542a3.154,3.154,0,0,0,0,5.464l4.732,2.732L18.8,146.469a3.154,3.154,0,0,0,0,5.464l4.732,2.732L18.8,157.4a3.154,3.154,0,0,0,0,5.464l4.732,2.732L18.8,168.324a3.154,3.154,0,0,0,0,5.464l4.732,2.732A21.854,21.854,0,0,0,45.39,198.375H176.52a21.854,21.854,0,0,0,21.855-21.855V89.1l-76.514-4.782a11.632,11.632,0,0,1,0-23.219" transform="translate(-1.681 -17.226)" fill="#3ecc5f" fill-rule="evenodd"/>
<path id="Path_43" data-name="Path 43" d="M143,186.71h32.782V143H143Z" transform="translate(9.984 -5.561)" fill="#3ecc5f" fill-rule="evenodd"/>
<path id="Path_44" data-name="Path 44" d="M196.71,159.855a5.438,5.438,0,0,0-.7.07c-.042-.164-.081-.329-.127-.493a5.457,5.457,0,1,0-5.4-9.372q-.181-.185-.366-.367a5.454,5.454,0,1,0-9.384-5.4c-.162-.046-.325-.084-.486-.126a5.467,5.467,0,1,0-10.788,0c-.162.042-.325.08-.486.126a5.457,5.457,0,1,0-9.384,5.4,21.843,21.843,0,1,0,36.421,21.02,5.452,5.452,0,1,0,.7-10.858" transform="translate(10.912 -6.025)" fill="#44d860" fill-rule="evenodd"/>
<path id="Path_45" data-name="Path 45" d="M153,124.855h32.782V103H153Z" transform="translate(10.912 -9.271)" fill="#3ecc5f" fill-rule="evenodd"/>
<path id="Path_46" data-name="Path 46" d="M194.855,116.765a2.732,2.732,0,1,0,0-5.464,2.811,2.811,0,0,0-.349.035c-.022-.082-.04-.164-.063-.246a2.733,2.733,0,0,0-1.052-5.253,2.7,2.7,0,0,0-1.648.566q-.09-.093-.184-.184a2.7,2.7,0,0,0,.553-1.633,2.732,2.732,0,0,0-5.245-1.07,10.928,10.928,0,1,0,0,21.031,2.732,2.732,0,0,0,5.245-1.07,2.7,2.7,0,0,0-.553-1.633q.093-.09.184-.184a2.7,2.7,0,0,0,1.648.566,2.732,2.732,0,0,0,1.052-5.253c.023-.081.042-.164.063-.246a2.814,2.814,0,0,0,.349.035" transform="translate(12.767 -9.377)" fill="#44d860" fill-rule="evenodd"/>
<path id="Path_47" data-name="Path 47" d="M65.087,56.891a2.732,2.732,0,0,1-2.732-2.732,8.2,8.2,0,0,0-16.391,0,2.732,2.732,0,0,1-5.464,0,13.659,13.659,0,0,1,27.319,0,2.732,2.732,0,0,1-2.732,2.732" transform="translate(0.478 -15.068)" fill-rule="evenodd"/>
<path id="Path_48" data-name="Path 48" d="M103,191.347h65.565a21.854,21.854,0,0,0,21.855-21.855V93H124.855A21.854,21.854,0,0,0,103,114.855Z" transform="translate(6.275 -10.199)" fill="#ffff50" fill-rule="evenodd"/>
<path id="Path_49" data-name="Path 49" d="M173.216,129.787H118.535a1.093,1.093,0,1,1,0-2.185h54.681a1.093,1.093,0,0,1,0,2.185m0,21.855H118.535a1.093,1.093,0,1,1,0-2.186h54.681a1.093,1.093,0,0,1,0,2.186m0,21.855H118.535a1.093,1.093,0,1,1,0-2.185h54.681a1.093,1.093,0,0,1,0,2.185m0-54.434H118.535a1.093,1.093,0,1,1,0-2.185h54.681a1.093,1.093,0,0,1,0,2.185m0,21.652H118.535a1.093,1.093,0,1,1,0-2.186h54.681a1.093,1.093,0,0,1,0,2.186m0,21.855H118.535a1.093,1.093,0,1,1,0-2.186h54.681a1.093,1.093,0,0,1,0,2.186M189.585,61.611c-.013,0-.024-.007-.037-.005-3.377.115-4.974,3.492-6.384,6.472-1.471,3.114-2.608,5.139-4.473,5.078-2.064-.074-3.244-2.406-4.494-4.874-1.436-2.835-3.075-6.049-6.516-5.929-3.329.114-4.932,3.053-6.346,5.646-1.5,2.762-2.529,4.442-4.5,4.364-2.106-.076-3.225-1.972-4.52-4.167-1.444-2.443-3.112-5.191-6.487-5.1-3.272.113-4.879,2.606-6.3,4.808-1.5,2.328-2.552,3.746-4.551,3.662-2.156-.076-3.27-1.65-4.558-3.472-1.447-2.047-3.077-4.363-6.442-4.251-3.2.109-4.807,2.153-6.224,3.954-1.346,1.709-2.4,3.062-4.621,2.977a1.093,1.093,0,0,0-.079,2.186c3.3.11,4.967-1.967,6.417-3.81,1.286-1.635,2.4-3.045,4.582-3.12,2.1-.09,3.091,1.218,4.584,3.327,1.417,2,3.026,4.277,6.263,4.394,3.391.114,5.022-2.42,6.467-4.663,1.292-2,2.406-3.734,4.535-3.807,1.959-.073,3.026,1.475,4.529,4.022,1.417,2.4,3.023,5.121,6.324,5.241,3.415.118,5.064-2.863,6.5-5.5,1.245-2.282,2.419-4.437,4.5-4.509,1.959-.046,2.981,1.743,4.492,4.732,1.412,2.79,3.013,5.95,6.365,6.071l.185,0c3.348,0,4.937-3.36,6.343-6.331,1.245-2.634,2.423-5.114,4.444-5.216Z" transform="translate(7.109 -13.11)" fill-rule="evenodd"/>
<path id="Path_50" data-name="Path 50" d="M83,186.71h43.71V143H83Z" transform="translate(4.42 -5.561)" fill="#3ecc5f" fill-rule="evenodd"/>
<g id="Group_8" data-name="Group 8" transform="matrix(0.966, -0.259, 0.259, 0.966, 109.327, 91.085)">
<rect id="Rectangle_3" data-name="Rectangle 3" width="92.361" height="36.462" rx="2" transform="translate(0 0)" fill="#d8d8d8"/>
<g id="Group_2" data-name="Group 2" transform="translate(1.531 23.03)">
<rect id="Rectangle_4" data-name="Rectangle 4" width="5.336" height="5.336" rx="1" transform="translate(16.797 0)" fill="#4a4a4a"/>
<rect id="Rectangle_5" data-name="Rectangle 5" width="5.336" height="5.336" rx="1" transform="translate(23.12 0)" fill="#4a4a4a"/>
<rect id="Rectangle_6" data-name="Rectangle 6" width="5.336" height="5.336" rx="1" transform="translate(29.444 0)" fill="#4a4a4a"/>
<rect id="Rectangle_7" data-name="Rectangle 7" width="5.336" height="5.336" rx="1" transform="translate(35.768 0)" fill="#4a4a4a"/>
<rect id="Rectangle_8" data-name="Rectangle 8" width="5.336" height="5.336" rx="1" transform="translate(42.091 0)" fill="#4a4a4a"/>
<rect id="Rectangle_9" data-name="Rectangle 9" width="5.336" height="5.336" rx="1" transform="translate(48.415 0)" fill="#4a4a4a"/>
<rect id="Rectangle_10" data-name="Rectangle 10" width="5.336" height="5.336" rx="1" transform="translate(54.739 0)" fill="#4a4a4a"/>
<rect id="Rectangle_11" data-name="Rectangle 11" width="5.336" height="5.336" rx="1" transform="translate(61.063 0)" fill="#4a4a4a"/>
<rect id="Rectangle_12" data-name="Rectangle 12" width="5.336" height="5.336" rx="1" transform="translate(67.386 0)" fill="#4a4a4a"/>
<path id="Path_51" data-name="Path 51" d="M1.093,0H14.518a1.093,1.093,0,0,1,1.093,1.093V4.243a1.093,1.093,0,0,1-1.093,1.093H1.093A1.093,1.093,0,0,1,0,4.243V1.093A1.093,1.093,0,0,1,1.093,0ZM75,0H88.426a1.093,1.093,0,0,1,1.093,1.093V4.243a1.093,1.093,0,0,1-1.093,1.093H75a1.093,1.093,0,0,1-1.093-1.093V1.093A1.093,1.093,0,0,1,75,0Z" transform="translate(0 0)" fill="#4a4a4a" fill-rule="evenodd"/>
</g>
<g id="Group_3" data-name="Group 3" transform="translate(1.531 10.261)">
<path id="Path_52" data-name="Path 52" d="M1.093,0H6.218A1.093,1.093,0,0,1,7.31,1.093V4.242A1.093,1.093,0,0,1,6.218,5.335H1.093A1.093,1.093,0,0,1,0,4.242V1.093A1.093,1.093,0,0,1,1.093,0Z" transform="translate(0 0)" fill="#4a4a4a" fill-rule="evenodd"/>
<rect id="Rectangle_13" data-name="Rectangle 13" width="5.336" height="5.336" rx="1" transform="translate(8.299 0)" fill="#4a4a4a"/>
<rect id="Rectangle_14" data-name="Rectangle 14" width="5.336" height="5.336" rx="1" transform="translate(14.623 0)" fill="#4a4a4a"/>
<rect id="Rectangle_15" data-name="Rectangle 15" width="5.336" height="5.336" rx="1" transform="translate(20.947 0)" fill="#4a4a4a"/>
<rect id="Rectangle_16" data-name="Rectangle 16" width="5.336" height="5.336" rx="1" transform="translate(27.271 0)" fill="#4a4a4a"/>
<rect id="Rectangle_17" data-name="Rectangle 17" width="5.336" height="5.336" rx="1" transform="translate(33.594 0)" fill="#4a4a4a"/>
<rect id="Rectangle_18" data-name="Rectangle 18" width="5.336" height="5.336" rx="1" transform="translate(39.918 0)" fill="#4a4a4a"/>
<rect id="Rectangle_19" data-name="Rectangle 19" width="5.336" height="5.336" rx="1" transform="translate(46.242 0)" fill="#4a4a4a"/>
<rect id="Rectangle_20" data-name="Rectangle 20" width="5.336" height="5.336" rx="1" transform="translate(52.565 0)" fill="#4a4a4a"/>
<rect id="Rectangle_21" data-name="Rectangle 21" width="5.336" height="5.336" rx="1" transform="translate(58.888 0)" fill="#4a4a4a"/>
<rect id="Rectangle_22" data-name="Rectangle 22" width="5.336" height="5.336" rx="1" transform="translate(65.212 0)" fill="#4a4a4a"/>
<rect id="Rectangle_23" data-name="Rectangle 23" width="5.336" height="5.336" rx="1" transform="translate(71.536 0)" fill="#4a4a4a"/>
<rect id="Rectangle_24" data-name="Rectangle 24" width="5.336" height="5.336" rx="1" transform="translate(77.859 0)" fill="#4a4a4a"/>
<rect id="Rectangle_25" data-name="Rectangle 25" width="5.336" height="5.336" rx="1" transform="translate(84.183 0)" fill="#4a4a4a"/>
</g>
<g id="Group_4" data-name="Group 4" transform="translate(91.05 9.546) rotate(180)">
<path id="Path_53" data-name="Path 53" d="M1.093,0H6.219A1.093,1.093,0,0,1,7.312,1.093v3.15A1.093,1.093,0,0,1,6.219,5.336H1.093A1.093,1.093,0,0,1,0,4.243V1.093A1.093,1.093,0,0,1,1.093,0Z" transform="translate(0 0)" fill="#4a4a4a" fill-rule="evenodd"/>
<rect id="Rectangle_26" data-name="Rectangle 26" width="5.336" height="5.336" rx="1" transform="translate(8.299 0)" fill="#4a4a4a"/>
<rect id="Rectangle_27" data-name="Rectangle 27" width="5.336" height="5.336" rx="1" transform="translate(14.623 0)" fill="#4a4a4a"/>
<rect id="Rectangle_28" data-name="Rectangle 28" width="5.336" height="5.336" rx="1" transform="translate(20.947 0)" fill="#4a4a4a"/>
<rect id="Rectangle_29" data-name="Rectangle 29" width="5.336" height="5.336" rx="1" transform="translate(27.271 0)" fill="#4a4a4a"/>
<rect id="Rectangle_30" data-name="Rectangle 30" width="5.336" height="5.336" rx="1" transform="translate(33.594 0)" fill="#4a4a4a"/>
<rect id="Rectangle_31" data-name="Rectangle 31" width="5.336" height="5.336" rx="1" transform="translate(39.918 0)" fill="#4a4a4a"/>
<rect id="Rectangle_32" data-name="Rectangle 32" width="5.336" height="5.336" rx="1" transform="translate(46.242 0)" fill="#4a4a4a"/>
<rect id="Rectangle_33" data-name="Rectangle 33" width="5.336" height="5.336" rx="1" transform="translate(52.565 0)" fill="#4a4a4a"/>
<rect id="Rectangle_34" data-name="Rectangle 34" width="5.336" height="5.336" rx="1" transform="translate(58.889 0)" fill="#4a4a4a"/>
<rect id="Rectangle_35" data-name="Rectangle 35" width="5.336" height="5.336" rx="1" transform="translate(65.213 0)" fill="#4a4a4a"/>
<rect id="Rectangle_36" data-name="Rectangle 36" width="5.336" height="5.336" rx="1" transform="translate(71.537 0)" fill="#4a4a4a"/>
<rect id="Rectangle_37" data-name="Rectangle 37" width="5.336" height="5.336" rx="1" transform="translate(77.86 0)" fill="#4a4a4a"/>
<rect id="Rectangle_38" data-name="Rectangle 38" width="5.336" height="5.336" rx="1" transform="translate(84.183 0)" fill="#4a4a4a"/>
<rect id="Rectangle_39" data-name="Rectangle 39" width="5.336" height="5.336" rx="1" transform="translate(8.299 0)" fill="#4a4a4a"/>
<rect id="Rectangle_40" data-name="Rectangle 40" width="5.336" height="5.336" rx="1" transform="translate(14.623 0)" fill="#4a4a4a"/>
<rect id="Rectangle_41" data-name="Rectangle 41" width="5.336" height="5.336" rx="1" transform="translate(20.947 0)" fill="#4a4a4a"/>
<rect id="Rectangle_42" data-name="Rectangle 42" width="5.336" height="5.336" rx="1" transform="translate(27.271 0)" fill="#4a4a4a"/>
<rect id="Rectangle_43" data-name="Rectangle 43" width="5.336" height="5.336" rx="1" transform="translate(33.594 0)" fill="#4a4a4a"/>
<rect id="Rectangle_44" data-name="Rectangle 44" width="5.336" height="5.336" rx="1" transform="translate(39.918 0)" fill="#4a4a4a"/>
<rect id="Rectangle_45" data-name="Rectangle 45" width="5.336" height="5.336" rx="1" transform="translate(46.242 0)" fill="#4a4a4a"/>
<rect id="Rectangle_46" data-name="Rectangle 46" width="5.336" height="5.336" rx="1" transform="translate(52.565 0)" fill="#4a4a4a"/>
<rect id="Rectangle_47" data-name="Rectangle 47" width="5.336" height="5.336" rx="1" transform="translate(58.889 0)" fill="#4a4a4a"/>
<rect id="Rectangle_48" data-name="Rectangle 48" width="5.336" height="5.336" rx="1" transform="translate(65.213 0)" fill="#4a4a4a"/>
<rect id="Rectangle_49" data-name="Rectangle 49" width="5.336" height="5.336" rx="1" transform="translate(71.537 0)" fill="#4a4a4a"/>
<rect id="Rectangle_50" data-name="Rectangle 50" width="5.336" height="5.336" rx="1" transform="translate(77.86 0)" fill="#4a4a4a"/>
<rect id="Rectangle_51" data-name="Rectangle 51" width="5.336" height="5.336" rx="1" transform="translate(84.183 0)" fill="#4a4a4a"/>
</g>
<g id="Group_6" data-name="Group 6" transform="translate(1.531 16.584)">
<path id="Path_54" data-name="Path 54" d="M1.093,0h7.3A1.093,1.093,0,0,1,9.485,1.093v3.15A1.093,1.093,0,0,1,8.392,5.336h-7.3A1.093,1.093,0,0,1,0,4.243V1.094A1.093,1.093,0,0,1,1.093,0Z" transform="translate(0 0)" fill="#4a4a4a" fill-rule="evenodd"/>
<g id="Group_5" data-name="Group 5" transform="translate(10.671 0)">
<rect id="Rectangle_52" data-name="Rectangle 52" width="5.336" height="5.336" rx="1" fill="#4a4a4a"/>
<rect id="Rectangle_53" data-name="Rectangle 53" width="5.336" height="5.336" rx="1" transform="translate(6.324 0)" fill="#4a4a4a"/>
<rect id="Rectangle_54" data-name="Rectangle 54" width="5.336" height="5.336" rx="1" transform="translate(12.647 0)" fill="#4a4a4a"/>
<rect id="Rectangle_55" data-name="Rectangle 55" width="5.336" height="5.336" rx="1" transform="translate(18.971 0)" fill="#4a4a4a"/>
<rect id="Rectangle_56" data-name="Rectangle 56" width="5.336" height="5.336" rx="1" transform="translate(25.295 0)" fill="#4a4a4a"/>
<rect id="Rectangle_57" data-name="Rectangle 57" width="5.336" height="5.336" rx="1" transform="translate(31.619 0)" fill="#4a4a4a"/>
<rect id="Rectangle_58" data-name="Rectangle 58" width="5.336" height="5.336" rx="1" transform="translate(37.942 0)" fill="#4a4a4a"/>
<rect id="Rectangle_59" data-name="Rectangle 59" width="5.336" height="5.336" rx="1" transform="translate(44.265 0)" fill="#4a4a4a"/>
<rect id="Rectangle_60" data-name="Rectangle 60" width="5.336" height="5.336" rx="1" transform="translate(50.589 0)" fill="#4a4a4a"/>
<rect id="Rectangle_61" data-name="Rectangle 61" width="5.336" height="5.336" rx="1" transform="translate(56.912 0)" fill="#4a4a4a"/>
<rect id="Rectangle_62" data-name="Rectangle 62" width="5.336" height="5.336" rx="1" transform="translate(63.236 0)" fill="#4a4a4a"/>
</g>
<path id="Path_55" data-name="Path 55" d="M1.094,0H8A1.093,1.093,0,0,1,9.091,1.093v3.15A1.093,1.093,0,0,1,8,5.336H1.093A1.093,1.093,0,0,1,0,4.243V1.094A1.093,1.093,0,0,1,1.093,0Z" transform="translate(80.428 0)" fill="#4a4a4a" fill-rule="evenodd"/>
</g>
<g id="Group_7" data-name="Group 7" transform="translate(1.531 29.627)">
<rect id="Rectangle_63" data-name="Rectangle 63" width="5.336" height="5.336" rx="1" transform="translate(0 0)" fill="#4a4a4a"/>
<rect id="Rectangle_64" data-name="Rectangle 64" width="5.336" height="5.336" rx="1" transform="translate(6.324 0)" fill="#4a4a4a"/>
<rect id="Rectangle_65" data-name="Rectangle 65" width="5.336" height="5.336" rx="1" transform="translate(12.647 0)" fill="#4a4a4a"/>
<rect id="Rectangle_66" data-name="Rectangle 66" width="5.336" height="5.336" rx="1" transform="translate(18.971 0)" fill="#4a4a4a"/>
<path id="Path_56" data-name="Path 56" d="M1.093,0H31.515a1.093,1.093,0,0,1,1.093,1.093V4.244a1.093,1.093,0,0,1-1.093,1.093H1.093A1.093,1.093,0,0,1,0,4.244V1.093A1.093,1.093,0,0,1,1.093,0ZM34.687,0h3.942a1.093,1.093,0,0,1,1.093,1.093V4.244a1.093,1.093,0,0,1-1.093,1.093H34.687a1.093,1.093,0,0,1-1.093-1.093V1.093A1.093,1.093,0,0,1,34.687,0Z" transform="translate(25.294 0)" fill="#4a4a4a" fill-rule="evenodd"/>
<rect id="Rectangle_67" data-name="Rectangle 67" width="5.336" height="5.336" rx="1" transform="translate(66.003 0)" fill="#4a4a4a"/>
<rect id="Rectangle_68" data-name="Rectangle 68" width="5.336" height="5.336" rx="1" transform="translate(72.327 0)" fill="#4a4a4a"/>
<rect id="Rectangle_69" data-name="Rectangle 69" width="5.336" height="5.336" rx="1" transform="translate(84.183 0)" fill="#4a4a4a"/>
<path id="Path_57" data-name="Path 57" d="M5.336,0V1.18A1.093,1.093,0,0,1,4.243,2.273H1.093A1.093,1.093,0,0,1,0,1.18V0Z" transform="translate(83.59 2.273) rotate(180)" fill="#4a4a4a"/>
<path id="Path_58" data-name="Path 58" d="M5.336,0V1.18A1.093,1.093,0,0,1,4.243,2.273H1.093A1.093,1.093,0,0,1,0,1.18V0Z" transform="translate(78.255 3.063)" fill="#4a4a4a"/>
</g>
<rect id="Rectangle_70" data-name="Rectangle 70" width="88.927" height="2.371" rx="1.085" transform="translate(1.925 1.17)" fill="#4a4a4a"/>
<rect id="Rectangle_71" data-name="Rectangle 71" width="4.986" height="1.581" rx="0.723" transform="translate(4.1 1.566)" fill="#d8d8d8" opacity="0.136"/>
<rect id="Rectangle_72" data-name="Rectangle 72" width="4.986" height="1.581" rx="0.723" transform="translate(10.923 1.566)" fill="#d8d8d8" opacity="0.136"/>
<rect id="Rectangle_73" data-name="Rectangle 73" width="4.986" height="1.581" rx="0.723" transform="translate(16.173 1.566)" fill="#d8d8d8" opacity="0.136"/>
<rect id="Rectangle_74" data-name="Rectangle 74" width="4.986" height="1.581" rx="0.723" transform="translate(21.421 1.566)" fill="#d8d8d8" opacity="0.136"/>
<rect id="Rectangle_75" data-name="Rectangle 75" width="4.986" height="1.581" rx="0.723" transform="translate(26.671 1.566)" fill="#d8d8d8" opacity="0.136"/>
<rect id="Rectangle_76" data-name="Rectangle 76" width="4.986" height="1.581" rx="0.723" transform="translate(33.232 1.566)" fill="#d8d8d8" opacity="0.136"/>
<rect id="Rectangle_77" data-name="Rectangle 77" width="4.986" height="1.581" rx="0.723" transform="translate(38.48 1.566)" fill="#d8d8d8" opacity="0.136"/>
<rect id="Rectangle_78" data-name="Rectangle 78" width="4.986" height="1.581" rx="0.723" transform="translate(43.73 1.566)" fill="#d8d8d8" opacity="0.136"/>
<rect id="Rectangle_79" data-name="Rectangle 79" width="4.986" height="1.581" rx="0.723" transform="translate(48.978 1.566)" fill="#d8d8d8" opacity="0.136"/>
<rect id="Rectangle_80" data-name="Rectangle 80" width="4.986" height="1.581" rx="0.723" transform="translate(55.54 1.566)" fill="#d8d8d8" opacity="0.136"/>
<rect id="Rectangle_81" data-name="Rectangle 81" width="4.986" height="1.581" rx="0.723" transform="translate(60.788 1.566)" fill="#d8d8d8" opacity="0.136"/>
<rect id="Rectangle_82" data-name="Rectangle 82" width="4.986" height="1.581" rx="0.723" transform="translate(66.038 1.566)" fill="#d8d8d8" opacity="0.136"/>
<rect id="Rectangle_83" data-name="Rectangle 83" width="4.986" height="1.581" rx="0.723" transform="translate(72.599 1.566)" fill="#d8d8d8" opacity="0.136"/>
<rect id="Rectangle_84" data-name="Rectangle 84" width="4.986" height="1.581" rx="0.723" transform="translate(77.847 1.566)" fill="#d8d8d8" opacity="0.136"/>
<rect id="Rectangle_85" data-name="Rectangle 85" width="4.986" height="1.581" rx="0.723" transform="translate(83.097 1.566)" fill="#d8d8d8" opacity="0.136"/>
</g>
<path id="Path_59" data-name="Path 59" d="M146.71,159.855a5.439,5.439,0,0,0-.7.07c-.042-.164-.081-.329-.127-.493a5.457,5.457,0,1,0-5.4-9.372q-.181-.185-.366-.367a5.454,5.454,0,1,0-9.384-5.4c-.162-.046-.325-.084-.486-.126a5.467,5.467,0,1,0-10.788,0c-.162.042-.325.08-.486.126a5.457,5.457,0,1,0-9.384,5.4,21.843,21.843,0,1,0,36.421,21.02,5.452,5.452,0,1,0,.7-10.858" transform="translate(6.275 -6.025)" fill="#44d860" fill-rule="evenodd"/>
<path id="Path_60" data-name="Path 60" d="M83,124.855h43.71V103H83Z" transform="translate(4.42 -9.271)" fill="#3ecc5f" fill-rule="evenodd"/>
<path id="Path_61" data-name="Path 61" d="M134.855,116.765a2.732,2.732,0,1,0,0-5.464,2.811,2.811,0,0,0-.349.035c-.022-.082-.04-.164-.063-.246a2.733,2.733,0,0,0-1.052-5.253,2.7,2.7,0,0,0-1.648.566q-.09-.093-.184-.184a2.7,2.7,0,0,0,.553-1.633,2.732,2.732,0,0,0-5.245-1.07,10.928,10.928,0,1,0,0,21.031,2.732,2.732,0,0,0,5.245-1.07,2.7,2.7,0,0,0-.553-1.633q.093-.09.184-.184a2.7,2.7,0,0,0,1.648.566,2.732,2.732,0,0,0,1.052-5.253c.023-.081.042-.164.063-.246a2.811,2.811,0,0,0,.349.035" transform="translate(7.202 -9.377)" fill="#44d860" fill-rule="evenodd"/>
<path id="Path_62" data-name="Path 62" d="M143.232,42.33a2.967,2.967,0,0,1-.535-.055,2.754,2.754,0,0,1-.514-.153,2.838,2.838,0,0,1-.471-.251,4.139,4.139,0,0,1-.415-.339,3.2,3.2,0,0,1-.338-.415A2.7,2.7,0,0,1,140.5,39.6a2.968,2.968,0,0,1,.055-.535,3.152,3.152,0,0,1,.152-.514,2.874,2.874,0,0,1,.252-.47,2.633,2.633,0,0,1,.753-.754,2.837,2.837,0,0,1,.471-.251,2.753,2.753,0,0,1,.514-.153,2.527,2.527,0,0,1,1.071,0,2.654,2.654,0,0,1,.983.4,4.139,4.139,0,0,1,.415.339,4.019,4.019,0,0,1,.339.415,2.786,2.786,0,0,1,.251.47,2.864,2.864,0,0,1,.208,1.049,2.77,2.77,0,0,1-.8,1.934,4.139,4.139,0,0,1-.415.339,2.722,2.722,0,0,1-1.519.459m21.855-1.366a2.789,2.789,0,0,1-1.935-.8,4.162,4.162,0,0,1-.338-.415,2.7,2.7,0,0,1-.459-1.519,2.789,2.789,0,0,1,.8-1.934,4.139,4.139,0,0,1,.415-.339,2.838,2.838,0,0,1,.471-.251,2.752,2.752,0,0,1,.514-.153,2.527,2.527,0,0,1,1.071,0,2.654,2.654,0,0,1,.983.4,4.139,4.139,0,0,1,.415.339,2.79,2.79,0,0,1,.8,1.934,3.069,3.069,0,0,1-.055.535,2.779,2.779,0,0,1-.153.514,3.885,3.885,0,0,1-.251.47,4.02,4.02,0,0,1-.339.415,4.138,4.138,0,0,1-.415.339,2.722,2.722,0,0,1-1.519.459" transform="translate(9.753 -15.532)" fill-rule="evenodd"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 31 KiB

-170
View File
@@ -1,170 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1041.277" height="554.141" viewBox="0 0 1041.277 554.141">
<title>Powered by React</title>
<g id="Group_24" data-name="Group 24" transform="translate(-440 -263)">
<g id="Group_23" data-name="Group 23" transform="translate(439.989 262.965)">
<path id="Path_299" data-name="Path 299" d="M1040.82,611.12q-1.74,3.75-3.47,7.4-2.7,5.67-5.33,11.12c-.78,1.61-1.56,3.19-2.32,4.77-8.6,17.57-16.63,33.11-23.45,45.89A73.21,73.21,0,0,1,942.44,719l-151.65,1.65h-1.6l-13,.14-11.12.12-34.1.37h-1.38l-17.36.19h-.53l-107,1.16-95.51,1-11.11.12-69,.75H429l-44.75.48h-.48l-141.5,1.53-42.33.46a87.991,87.991,0,0,1-10.79-.54h0c-1.22-.14-2.44-.3-3.65-.49a87.38,87.38,0,0,1-51.29-27.54C116,678.37,102.75,655,93.85,629.64q-1.93-5.49-3.6-11.12C59.44,514.37,97,380,164.6,290.08q4.25-5.64,8.64-11l.07-.08c20.79-25.52,44.1-46.84,68.93-62,44-26.91,92.75-34.49,140.7-11.9,40.57,19.12,78.45,28.11,115.17,30.55,3.71.24,7.42.42,11.11.53,84.23,2.65,163.17-27.7,255.87-47.29,3.69-.78,7.39-1.55,11.12-2.28,66.13-13.16,139.49-20.1,226.73-5.51a189.089,189.089,0,0,1,26.76,6.4q5.77,1.86,11.12,4c41.64,16.94,64.35,48.24,74,87.46q1.37,5.46,2.37,11.11C1134.3,384.41,1084.19,518.23,1040.82,611.12Z" transform="translate(-79.34 -172.91)" fill="#f2f2f2"/>
<path id="Path_300" data-name="Path 300" d="M576.36,618.52a95.21,95.21,0,0,1-1.87,11.12h93.7V618.52Zm-78.25,62.81,11.11-.09V653.77c-3.81-.17-7.52-.34-11.11-.52ZM265.19,618.52v11.12h198.5V618.52ZM1114.87,279h-74V191.51q-5.35-2.17-11.12-4V279H776.21V186.58c-3.73.73-7.43,1.5-11.12,2.28V279H509.22V236.15c-3.69-.11-7.4-.29-11.11-.53V279H242.24V217c-24.83,15.16-48.14,36.48-68.93,62h-.07v.08q-4.4,5.4-8.64,11h8.64V618.52h-83q1.66,5.63,3.6,11.12h79.39v93.62a87,87,0,0,0,12.2,2.79c1.21.19,2.43.35,3.65.49h0a87.991,87.991,0,0,0,10.79.54l42.33-.46v-97H498.11v94.21l11.11-.12V629.64H765.09V721l11.12-.12V629.64H1029.7v4.77c.76-1.58,1.54-3.16,2.32-4.77q2.63-5.45,5.33-11.12,1.73-3.64,3.47-7.4v-321h76.42Q1116.23,284.43,1114.87,279ZM242.24,618.52V290.08H498.11V618.52Zm267,0V290.08H765.09V618.52Zm520.48,0H776.21V290.08H1029.7Z" transform="translate(-79.34 -172.91)" opacity="0.1"/>
<path id="Path_301" data-name="Path 301" d="M863.09,533.65v13l-151.92,1.4-1.62.03-57.74.53-1.38.02-17.55.15h-.52l-106.98.99L349.77,551.4h-.15l-44.65.42-.48.01-198.4,1.82v-15l46.65-28,93.6-.78,2-.01.66-.01,2-.03,44.94-.37,2.01-.01.64-.01,2-.01L315,509.3l.38-.01,35.55-.3h.29l277.4-2.34,6.79-.05h.68l5.18-.05,37.65-.31,2-.03,1.85-.02h.96l11.71-.09,2.32-.03,3.11-.02,9.75-.09,15.47-.13,2-.02,3.48-.02h.65l74.71-.64Z" fill="#65617d"/>
<path id="Path_302" data-name="Path 302" d="M863.09,533.65v13l-151.92,1.4-1.62.03-57.74.53-1.38.02-17.55.15h-.52l-106.98.99L349.77,551.4h-.15l-44.65.42-.48.01-198.4,1.82v-15l46.65-28,93.6-.78,2-.01.66-.01,2-.03,44.94-.37,2.01-.01.64-.01,2-.01L315,509.3l.38-.01,35.55-.3h.29l277.4-2.34,6.79-.05h.68l5.18-.05,37.65-.31,2-.03,1.85-.02h.96l11.71-.09,2.32-.03,3.11-.02,9.75-.09,15.47-.13,2-.02,3.48-.02h.65l74.71-.64Z" opacity="0.2"/>
<path id="Path_303" data-name="Path 303" d="M375.44,656.57v24.49a6.13,6.13,0,0,1-3.5,5.54,6,6,0,0,1-2.5.6l-34.9.74a6,6,0,0,1-2.7-.57,6.12,6.12,0,0,1-3.57-5.57V656.57Z" transform="translate(-79.34 -172.91)" fill="#3f3d56"/>
<path id="Path_304" data-name="Path 304" d="M375.44,656.57v24.49a6.13,6.13,0,0,1-3.5,5.54,6,6,0,0,1-2.5.6l-34.9.74a6,6,0,0,1-2.7-.57,6.12,6.12,0,0,1-3.57-5.57V656.57Z" transform="translate(-79.34 -172.91)" opacity="0.1"/>
<path id="Path_305" data-name="Path 305" d="M377.44,656.57v24.49a6.13,6.13,0,0,1-3.5,5.54,6,6,0,0,1-2.5.6l-34.9.74a6,6,0,0,1-2.7-.57,6.12,6.12,0,0,1-3.57-5.57V656.57Z" transform="translate(-79.34 -172.91)" fill="#3f3d56"/>
<rect id="Rectangle_137" data-name="Rectangle 137" width="47.17" height="31.5" transform="translate(680.92 483.65)" fill="#3f3d56"/>
<rect id="Rectangle_138" data-name="Rectangle 138" width="47.17" height="31.5" transform="translate(680.92 483.65)" opacity="0.1"/>
<rect id="Rectangle_139" data-name="Rectangle 139" width="47.17" height="31.5" transform="translate(678.92 483.65)" fill="#3f3d56"/>
<path id="Path_306" data-name="Path 306" d="M298.09,483.65v4.97l-47.17,1.26v-6.23Z" opacity="0.1"/>
<path id="Path_307" data-name="Path 307" d="M460.69,485.27v168.2a4,4,0,0,1-3.85,3.95l-191.65,5.1h-.05a4,4,0,0,1-3.95-3.95V485.27a4,4,0,0,1,3.95-3.95h191.6a4,4,0,0,1,3.95,3.95Z" transform="translate(-79.34 -172.91)" fill="#65617d"/>
<path id="Path_308" data-name="Path 308" d="M265.19,481.32v181.2h-.05a4,4,0,0,1-3.95-3.95V485.27a4,4,0,0,1,3.95-3.95Z" transform="translate(-79.34 -172.91)" opacity="0.1"/>
<path id="Path_309" data-name="Path 309" d="M194.59,319.15h177.5V467.4l-177.5,4Z" fill="#39374d"/>
<path id="Path_310" data-name="Path 310" d="M726.09,483.65v6.41l-47.17-1.26v-5.15Z" opacity="0.1"/>
<path id="Path_311" data-name="Path 311" d="M867.69,485.27v173.3a4,4,0,0,1-4,3.95h0L672,657.42a4,4,0,0,1-3.85-3.95V485.27a4,4,0,0,1,3.95-3.95H863.7a4,4,0,0,1,3.99,3.95Z" transform="translate(-79.34 -172.91)" fill="#65617d"/>
<path id="Path_312" data-name="Path 312" d="M867.69,485.27v173.3a4,4,0,0,1-4,3.95h0V481.32h0a4,4,0,0,1,4,3.95Z" transform="translate(-79.34 -172.91)" opacity="0.1"/>
<path id="Path_313" data-name="Path 313" d="M775.59,319.15H598.09V467.4l177.5,4Z" fill="#39374d"/>
<path id="Path_314" data-name="Path 314" d="M663.19,485.27v168.2a4,4,0,0,1-3.85,3.95l-191.65,5.1h0a4,4,0,0,1-4-3.95V485.27a4,4,0,0,1,3.95-3.95h191.6A4,4,0,0,1,663.19,485.27Z" transform="translate(-79.34 -172.91)" fill="#65617d"/>
<path id="Path_315" data-name="Path 315" d="M397.09,319.15h177.5V467.4l-177.5,4Z" fill="#4267b2"/>
<path id="Path_316" data-name="Path 316" d="M863.09,533.65v13l-151.92,1.4-1.62.03-57.74.53-1.38.02-17.55.15h-.52l-106.98.99L349.77,551.4h-.15l-44.65.42-.48.01-198.4,1.82v-15l202.51-1.33h.48l40.99-.28h.19l283.08-1.87h.29l.17-.01h.47l4.79-.03h1.46l74.49-.5,4.4-.02.98-.01Z" opacity="0.1"/>
<circle id="Ellipse_111" data-name="Ellipse 111" cx="51.33" cy="51.33" r="51.33" transform="translate(435.93 246.82)" fill="#fbbebe"/>
<path id="Path_317" data-name="Path 317" d="M617.94,550.07s-99.5,12-90,0c3.44-4.34,4.39-17.2,4.2-31.85-.06-4.45-.22-9.06-.45-13.65-1.1-22-3.75-43.5-3.75-43.5s87-41,77-8.5c-4,13.13-2.69,31.57.35,48.88.89,5.05,1.92,10,3,14.7a344.66,344.66,0,0,0,9.65,33.92Z" transform="translate(-79.34 -172.91)" fill="#fbbebe"/>
<path id="Path_318" data-name="Path 318" d="M585.47,546c11.51-2.13,23.7-6,34.53-1.54,2.85,1.17,5.47,2.88,8.39,3.86s6.12,1.22,9.16,1.91c10.68,2.42,19.34,10.55,24.9,20s8.44,20.14,11.26,30.72l6.9,25.83c6,22.45,12,45.09,13.39,68.3a2437.506,2437.506,0,0,1-250.84,1.43c5.44-10.34,11-21.31,10.54-33s-7.19-23.22-4.76-34.74c1.55-7.34,6.57-13.39,9.64-20.22,8.75-19.52,1.94-45.79,17.32-60.65,6.92-6.68,17-9.21,26.63-8.89,12.28.41,24.85,4.24,37,6.11C555.09,547.48,569.79,548.88,585.47,546Z" transform="translate(-79.34 -172.91)" fill="#ff6584"/>
<path id="Path_319" data-name="Path 319" d="M716.37,657.17l-.1,1.43v.1l-.17,2.3-1.33,18.51-1.61,22.3-.46,6.28-1,13.44v.17l-107,1-175.59,1.9v.84h-.14v-1.12l.45-14.36.86-28.06.74-23.79.07-2.37a10.53,10.53,0,0,1,11.42-10.17c4.72.4,10.85.89,18.18,1.41l3,.22c42.33,2.94,120.56,6.74,199.5,2,1.66-.09,3.33-.19,5-.31,12.24-.77,24.47-1.76,36.58-3a10.53,10.53,0,0,1,11.6,11.23Z" transform="translate(-79.34 -172.91)" opacity="0.1"/>
<path id="Path_320" data-name="Path 320" d="M429.08,725.44v-.84l175.62-1.91,107-1h.3v-.17l1-13.44.43-6,1.64-22.61,1.29-17.9v-.44a10.617,10.617,0,0,0-.11-2.47.3.3,0,0,0,0-.1,10.391,10.391,0,0,0-2-4.64,10.54,10.54,0,0,0-9.42-4c-12.11,1.24-24.34,2.23-36.58,3-1.67.12-3.34.22-5,.31-78.94,4.69-157.17.89-199.5-2l-3-.22c-7.33-.52-13.46-1-18.18-1.41a10.54,10.54,0,0,0-11.24,8.53,11,11,0,0,0-.18,1.64l-.68,22.16L429.54,710l-.44,14.36v1.12Z" transform="translate(-79.34 -172.91)" fill="#3f3d56"/>
<path id="Path_321" data-name="Path 321" d="M716.67,664.18l-1.23,15.33-1.83,22.85-.46,5.72-1,12.81-.06.64v.17h0l-.15,1.48.11-1.48h-.29l-107,1-175.65,1.9v-.28l.49-14.36,1-28.06.64-18.65A6.36,6.36,0,0,1,434.3,658a6.25,6.25,0,0,1,3.78-.9c2.1.17,4.68.37,7.69.59,4.89.36,10.92.78,17.94,1.22,13,.82,29.31,1.7,48,2.42,52,2,122.2,2.67,188.88-3.17,3-.26,6.1-.55,9.13-.84a6.26,6.26,0,0,1,3.48.66,5.159,5.159,0,0,1,.86.54,6.14,6.14,0,0,1,2,2.46,3.564,3.564,0,0,1,.25.61A6.279,6.279,0,0,1,716.67,664.18Z" transform="translate(-79.34 -172.91)" opacity="0.1"/>
<path id="Path_322" data-name="Path 322" d="M377.44,677.87v3.19a6.13,6.13,0,0,1-3.5,5.54l-40.1.77a6.12,6.12,0,0,1-3.57-5.57v-3Z" transform="translate(-79.34 -172.91)" opacity="0.1"/>
<path id="Path_323" data-name="Path 323" d="M298.59,515.57l-52.25,1V507.9l52.25-1Z" fill="#3f3d56"/>
<path id="Path_324" data-name="Path 324" d="M298.59,515.57l-52.25,1V507.9l52.25-1Z" opacity="0.1"/>
<path id="Path_325" data-name="Path 325" d="M300.59,515.57l-52.25,1V507.9l52.25-1Z" fill="#3f3d56"/>
<path id="Path_326" data-name="Path 326" d="M758.56,679.87v3.19a6.13,6.13,0,0,0,3.5,5.54l40.1.77a6.12,6.12,0,0,0,3.57-5.57v-3Z" transform="translate(-79.34 -172.91)" opacity="0.1"/>
<path id="Path_327" data-name="Path 327" d="M678.72,517.57l52.25,1V509.9l-52.25-1Z" opacity="0.1"/>
<path id="Path_328" data-name="Path 328" d="M676.72,517.57l52.25,1V509.9l-52.25-1Z" fill="#3f3d56"/>
<path id="Path_329" data-name="Path 329" d="M534.13,486.79c.08,7-3.16,13.6-5.91,20.07a163.491,163.491,0,0,0-12.66,74.71c.73,11,2.58,22,.73,32.9s-8.43,21.77-19,24.9c17.53,10.45,41.26,9.35,57.76-2.66,8.79-6.4,15.34-15.33,21.75-24.11a97.86,97.86,0,0,1-13.31,44.75A103.43,103.43,0,0,0,637,616.53c4.31-5.81,8.06-12.19,9.72-19.23,3.09-13-1.22-26.51-4.51-39.5a266.055,266.055,0,0,1-6.17-33c-.43-3.56-.78-7.22.1-10.7,1-4.07,3.67-7.51,5.64-11.22,5.6-10.54,5.73-23.3,2.86-34.88s-8.49-22.26-14.06-32.81c-4.46-8.46-9.3-17.31-17.46-22.28-5.1-3.1-11-4.39-16.88-5.64l-25.37-5.43c-5.55-1.19-11.26-2.38-16.87-1.51-9.47,1.48-16.14,8.32-22,15.34-4.59,5.46-15.81,15.71-16.6,22.86-.72,6.59,5.1,17.63,6.09,24.58,1.3,9,2.22,6,7.3,11.52C532,478.05,534.07,482,534.13,486.79Z" transform="translate(-79.34 -172.91)" fill="#3f3d56"/>
</g>
<g id="docusaurus_keytar" transform="translate(670.271 615.768)">
<path id="Path_40" data-name="Path 40" d="M99,52h43.635V69.662H99Z" transform="translate(-49.132 -33.936)" fill="#fff" fill-rule="evenodd"/>
<path id="Path_41" data-name="Path 41" d="M13.389,158.195A10.377,10.377,0,0,1,4.4,153a10.377,10.377,0,0,0,8.988,15.584H23.779V158.195Z" transform="translate(-3 -82.47)" fill="#3ecc5f" fill-rule="evenodd"/>
<path id="Path_42" data-name="Path 42" d="M66.967,38.083l36.373-2.273V30.615A10.389,10.389,0,0,0,92.95,20.226H46.2l-1.3-2.249a1.5,1.5,0,0,0-2.6,0L41,20.226l-1.3-2.249a1.5,1.5,0,0,0-2.6,0l-1.3,2.249-1.3-2.249a1.5,1.5,0,0,0-2.6,0l-1.3,2.249-.034,0-2.152-2.151a1.5,1.5,0,0,0-2.508.672L25.21,21.4l-2.7-.723a1.5,1.5,0,0,0-1.836,1.837l.722,2.7-2.65.71a1.5,1.5,0,0,0-.673,2.509l2.152,2.152c0,.011,0,.022,0,.033l-2.249,1.3a1.5,1.5,0,0,0,0,2.6l2.249,1.3-2.249,1.3a1.5,1.5,0,0,0,0,2.6L20.226,41l-2.249,1.3a1.5,1.5,0,0,0,0,2.6l2.249,1.3-2.249,1.3a1.5,1.5,0,0,0,0,2.6l2.249,1.3-2.249,1.3a1.5,1.5,0,0,0,0,2.6l2.249,1.3-2.249,1.3a1.5,1.5,0,0,0,0,2.6l2.249,1.3-2.249,1.3a1.5,1.5,0,0,0,0,2.6l2.249,1.3-2.249,1.3a1.5,1.5,0,0,0,0,2.6l2.249,1.3-2.249,1.3a1.5,1.5,0,0,0,0,2.6l2.249,1.3-2.249,1.3a1.5,1.5,0,0,0,0,2.6l2.249,1.3-2.249,1.3a1.5,1.5,0,0,0,0,2.6l2.249,1.3-2.249,1.3a1.5,1.5,0,0,0,0,2.6l2.249,1.3A10.389,10.389,0,0,0,30.615,103.34H92.95A10.389,10.389,0,0,0,103.34,92.95V51.393L66.967,49.12a5.53,5.53,0,0,1,0-11.038" transform="translate(-9.836 -17.226)" fill="#3ecc5f" fill-rule="evenodd"/>
<path id="Path_43" data-name="Path 43" d="M143,163.779h15.584V143H143Z" transform="translate(-70.275 -77.665)" fill="#3ecc5f" fill-rule="evenodd"/>
<path id="Path_44" data-name="Path 44" d="M173.779,148.389a2.582,2.582,0,0,0-.332.033c-.02-.078-.038-.156-.06-.234a2.594,2.594,0,1,0-2.567-4.455q-.086-.088-.174-.175a2.593,2.593,0,1,0-4.461-2.569c-.077-.022-.154-.04-.231-.06a2.6,2.6,0,1,0-5.128,0c-.077.02-.154.038-.231.06a2.594,2.594,0,1,0-4.461,2.569,10.384,10.384,0,1,0,17.314,9.992,2.592,2.592,0,1,0,.332-5.161" transform="translate(-75.08 -75.262)" fill="#44d860" fill-rule="evenodd"/>
<path id="Path_45" data-name="Path 45" d="M153,113.389h15.584V103H153Z" transform="translate(-75.08 -58.444)" fill="#3ecc5f" fill-rule="evenodd"/>
<path id="Path_46" data-name="Path 46" d="M183.389,108.944a1.3,1.3,0,1,0,0-2.6,1.336,1.336,0,0,0-.166.017c-.01-.039-.019-.078-.03-.117a1.3,1.3,0,0,0-.5-2.5,1.285,1.285,0,0,0-.783.269q-.043-.044-.087-.087a1.285,1.285,0,0,0,.263-.776,1.3,1.3,0,0,0-2.493-.509,5.195,5.195,0,1,0,0,10,1.3,1.3,0,0,0,2.493-.509,1.285,1.285,0,0,0-.263-.776q.044-.043.087-.087a1.285,1.285,0,0,0,.783.269,1.3,1.3,0,0,0,.5-2.5c.011-.038.02-.078.03-.117a1.337,1.337,0,0,0,.166.017" transform="translate(-84.691 -57.894)" fill="#44d860" fill-rule="evenodd"/>
<path id="Path_47" data-name="Path 47" d="M52.188,48.292a1.3,1.3,0,0,1-1.3-1.3,3.9,3.9,0,0,0-7.792,0,1.3,1.3,0,1,1-2.6,0,6.493,6.493,0,0,1,12.987,0,1.3,1.3,0,0,1-1.3,1.3" transform="translate(-21.02 -28.41)" fill-rule="evenodd"/>
<path id="Path_48" data-name="Path 48" d="M103,139.752h31.168a10.389,10.389,0,0,0,10.389-10.389V93H113.389A10.389,10.389,0,0,0,103,103.389Z" transform="translate(-51.054 -53.638)" fill="#ffff50" fill-rule="evenodd"/>
<path id="Path_49" data-name="Path 49" d="M141.1,94.017H115.106a.519.519,0,1,1,0-1.039H141.1a.519.519,0,0,1,0,1.039m0,10.389H115.106a.519.519,0,1,1,0-1.039H141.1a.519.519,0,0,1,0,1.039m0,10.389H115.106a.519.519,0,1,1,0-1.039H141.1a.519.519,0,0,1,0,1.039m0-25.877H115.106a.519.519,0,1,1,0-1.039H141.1a.519.519,0,0,1,0,1.039m0,10.293H115.106a.519.519,0,1,1,0-1.039H141.1a.519.519,0,0,1,0,1.039m0,10.389H115.106a.519.519,0,1,1,0-1.039H141.1a.519.519,0,0,1,0,1.039m7.782-47.993c-.006,0-.011,0-.018,0-1.605.055-2.365,1.66-3.035,3.077-.7,1.48-1.24,2.443-2.126,2.414-.981-.035-1.542-1.144-2.137-2.317-.683-1.347-1.462-2.876-3.1-2.819-1.582.054-2.344,1.451-3.017,2.684-.715,1.313-1.2,2.112-2.141,2.075-1-.036-1.533-.938-2.149-1.981-.686-1.162-1.479-2.467-3.084-2.423-1.555.053-2.319,1.239-2.994,2.286-.713,1.106-1.213,1.781-2.164,1.741-1.025-.036-1.554-.784-2.167-1.65-.688-.973-1.463-2.074-3.062-2.021a3.815,3.815,0,0,0-2.959,1.879c-.64.812-1.14,1.456-2.2,1.415a.52.52,0,0,0-.037,1.039,3.588,3.588,0,0,0,3.05-1.811c.611-.777,1.139-1.448,2.178-1.483,1-.043,1.47.579,2.179,1.582.674.953,1.438,2.033,2.977,2.089,1.612.054,2.387-1.151,3.074-2.217.614-.953,1.144-1.775,2.156-1.81.931-.035,1.438.7,2.153,1.912.674,1.141,1.437,2.434,3.006,2.491,1.623.056,2.407-1.361,3.09-2.616.592-1.085,1.15-2.109,2.14-2.143.931-.022,1.417.829,2.135,2.249.671,1.326,1.432,2.828,3.026,2.886l.088,0c1.592,0,2.347-1.6,3.015-3.01.592-1.252,1.152-2.431,2.113-2.479Z" transform="translate(-55.378 -38.552)" fill-rule="evenodd"/>
<path id="Path_50" data-name="Path 50" d="M83,163.779h20.779V143H83Z" transform="translate(-41.443 -77.665)" fill="#3ecc5f" fill-rule="evenodd"/>
<g id="Group_8" data-name="Group 8" transform="matrix(0.966, -0.259, 0.259, 0.966, 51.971, 43.3)">
<rect id="Rectangle_3" data-name="Rectangle 3" width="43.906" height="17.333" rx="2" transform="translate(0 0)" fill="#d8d8d8"/>
<g id="Group_2" data-name="Group 2" transform="translate(0.728 10.948)">
<rect id="Rectangle_4" data-name="Rectangle 4" width="2.537" height="2.537" rx="1" transform="translate(7.985 0)" fill="#4a4a4a"/>
<rect id="Rectangle_5" data-name="Rectangle 5" width="2.537" height="2.537" rx="1" transform="translate(10.991 0)" fill="#4a4a4a"/>
<rect id="Rectangle_6" data-name="Rectangle 6" width="2.537" height="2.537" rx="1" transform="translate(13.997 0)" fill="#4a4a4a"/>
<rect id="Rectangle_7" data-name="Rectangle 7" width="2.537" height="2.537" rx="1" transform="translate(17.003 0)" fill="#4a4a4a"/>
<rect id="Rectangle_8" data-name="Rectangle 8" width="2.537" height="2.537" rx="1" transform="translate(20.009 0)" fill="#4a4a4a"/>
<rect id="Rectangle_9" data-name="Rectangle 9" width="2.537" height="2.537" rx="1" transform="translate(23.015 0)" fill="#4a4a4a"/>
<rect id="Rectangle_10" data-name="Rectangle 10" width="2.537" height="2.537" rx="1" transform="translate(26.021 0)" fill="#4a4a4a"/>
<rect id="Rectangle_11" data-name="Rectangle 11" width="2.537" height="2.537" rx="1" transform="translate(29.028 0)" fill="#4a4a4a"/>
<rect id="Rectangle_12" data-name="Rectangle 12" width="2.537" height="2.537" rx="1" transform="translate(32.034 0)" fill="#4a4a4a"/>
<path id="Path_51" data-name="Path 51" d="M.519,0H6.9A.519.519,0,0,1,7.421.52v1.5a.519.519,0,0,1-.519.519H.519A.519.519,0,0,1,0,2.017V.519A.519.519,0,0,1,.519,0ZM35.653,0h6.383a.519.519,0,0,1,.519.519v1.5a.519.519,0,0,1-.519.519H35.652a.519.519,0,0,1-.519-.519V.519A.519.519,0,0,1,35.652,0Z" transform="translate(0 0)" fill="#4a4a4a" fill-rule="evenodd"/>
</g>
<g id="Group_3" data-name="Group 3" transform="translate(0.728 4.878)">
<path id="Path_52" data-name="Path 52" d="M.519,0H2.956a.519.519,0,0,1,.519.519v1.5a.519.519,0,0,1-.519.519H.519A.519.519,0,0,1,0,2.017V.519A.519.519,0,0,1,.519,0Z" transform="translate(0 0)" fill="#4a4a4a" fill-rule="evenodd"/>
<rect id="Rectangle_13" data-name="Rectangle 13" width="2.537" height="2.537" rx="1" transform="translate(3.945 0)" fill="#4a4a4a"/>
<rect id="Rectangle_14" data-name="Rectangle 14" width="2.537" height="2.537" rx="1" transform="translate(6.951 0)" fill="#4a4a4a"/>
<rect id="Rectangle_15" data-name="Rectangle 15" width="2.537" height="2.537" rx="1" transform="translate(9.958 0)" fill="#4a4a4a"/>
<rect id="Rectangle_16" data-name="Rectangle 16" width="2.537" height="2.537" rx="1" transform="translate(12.964 0)" fill="#4a4a4a"/>
<rect id="Rectangle_17" data-name="Rectangle 17" width="2.537" height="2.537" rx="1" transform="translate(15.97 0)" fill="#4a4a4a"/>
<rect id="Rectangle_18" data-name="Rectangle 18" width="2.537" height="2.537" rx="1" transform="translate(18.976 0)" fill="#4a4a4a"/>
<rect id="Rectangle_19" data-name="Rectangle 19" width="2.537" height="2.537" rx="1" transform="translate(21.982 0)" fill="#4a4a4a"/>
<rect id="Rectangle_20" data-name="Rectangle 20" width="2.537" height="2.537" rx="1" transform="translate(24.988 0)" fill="#4a4a4a"/>
<rect id="Rectangle_21" data-name="Rectangle 21" width="2.537" height="2.537" rx="1" transform="translate(27.994 0)" fill="#4a4a4a"/>
<rect id="Rectangle_22" data-name="Rectangle 22" width="2.537" height="2.537" rx="1" transform="translate(31 0)" fill="#4a4a4a"/>
<rect id="Rectangle_23" data-name="Rectangle 23" width="2.537" height="2.537" rx="1" transform="translate(34.006 0)" fill="#4a4a4a"/>
<rect id="Rectangle_24" data-name="Rectangle 24" width="2.537" height="2.537" rx="1" transform="translate(37.012 0)" fill="#4a4a4a"/>
<rect id="Rectangle_25" data-name="Rectangle 25" width="2.537" height="2.537" rx="1" transform="translate(40.018 0)" fill="#4a4a4a"/>
</g>
<g id="Group_4" data-name="Group 4" transform="translate(43.283 4.538) rotate(180)">
<path id="Path_53" data-name="Path 53" d="M.519,0H2.956a.519.519,0,0,1,.519.519v1.5a.519.519,0,0,1-.519.519H.519A.519.519,0,0,1,0,2.017V.519A.519.519,0,0,1,.519,0Z" transform="translate(0 0)" fill="#4a4a4a" fill-rule="evenodd"/>
<rect id="Rectangle_26" data-name="Rectangle 26" width="2.537" height="2.537" rx="1" transform="translate(3.945 0)" fill="#4a4a4a"/>
<rect id="Rectangle_27" data-name="Rectangle 27" width="2.537" height="2.537" rx="1" transform="translate(6.951 0)" fill="#4a4a4a"/>
<rect id="Rectangle_28" data-name="Rectangle 28" width="2.537" height="2.537" rx="1" transform="translate(9.958 0)" fill="#4a4a4a"/>
<rect id="Rectangle_29" data-name="Rectangle 29" width="2.537" height="2.537" rx="1" transform="translate(12.964 0)" fill="#4a4a4a"/>
<rect id="Rectangle_30" data-name="Rectangle 30" width="2.537" height="2.537" rx="1" transform="translate(15.97 0)" fill="#4a4a4a"/>
<rect id="Rectangle_31" data-name="Rectangle 31" width="2.537" height="2.537" rx="1" transform="translate(18.976 0)" fill="#4a4a4a"/>
<rect id="Rectangle_32" data-name="Rectangle 32" width="2.537" height="2.537" rx="1" transform="translate(21.982 0)" fill="#4a4a4a"/>
<rect id="Rectangle_33" data-name="Rectangle 33" width="2.537" height="2.537" rx="1" transform="translate(24.988 0)" fill="#4a4a4a"/>
<rect id="Rectangle_34" data-name="Rectangle 34" width="2.537" height="2.537" rx="1" transform="translate(27.994 0)" fill="#4a4a4a"/>
<rect id="Rectangle_35" data-name="Rectangle 35" width="2.537" height="2.537" rx="1" transform="translate(31.001 0)" fill="#4a4a4a"/>
<rect id="Rectangle_36" data-name="Rectangle 36" width="2.537" height="2.537" rx="1" transform="translate(34.007 0)" fill="#4a4a4a"/>
<rect id="Rectangle_37" data-name="Rectangle 37" width="2.537" height="2.537" rx="1" transform="translate(37.013 0)" fill="#4a4a4a"/>
<rect id="Rectangle_38" data-name="Rectangle 38" width="2.537" height="2.537" rx="1" transform="translate(40.018 0)" fill="#4a4a4a"/>
<rect id="Rectangle_39" data-name="Rectangle 39" width="2.537" height="2.537" rx="1" transform="translate(3.945 0)" fill="#4a4a4a"/>
<rect id="Rectangle_40" data-name="Rectangle 40" width="2.537" height="2.537" rx="1" transform="translate(6.951 0)" fill="#4a4a4a"/>
<rect id="Rectangle_41" data-name="Rectangle 41" width="2.537" height="2.537" rx="1" transform="translate(9.958 0)" fill="#4a4a4a"/>
<rect id="Rectangle_42" data-name="Rectangle 42" width="2.537" height="2.537" rx="1" transform="translate(12.964 0)" fill="#4a4a4a"/>
<rect id="Rectangle_43" data-name="Rectangle 43" width="2.537" height="2.537" rx="1" transform="translate(15.97 0)" fill="#4a4a4a"/>
<rect id="Rectangle_44" data-name="Rectangle 44" width="2.537" height="2.537" rx="1" transform="translate(18.976 0)" fill="#4a4a4a"/>
<rect id="Rectangle_45" data-name="Rectangle 45" width="2.537" height="2.537" rx="1" transform="translate(21.982 0)" fill="#4a4a4a"/>
<rect id="Rectangle_46" data-name="Rectangle 46" width="2.537" height="2.537" rx="1" transform="translate(24.988 0)" fill="#4a4a4a"/>
<rect id="Rectangle_47" data-name="Rectangle 47" width="2.537" height="2.537" rx="1" transform="translate(27.994 0)" fill="#4a4a4a"/>
<rect id="Rectangle_48" data-name="Rectangle 48" width="2.537" height="2.537" rx="1" transform="translate(31.001 0)" fill="#4a4a4a"/>
<rect id="Rectangle_49" data-name="Rectangle 49" width="2.537" height="2.537" rx="1" transform="translate(34.007 0)" fill="#4a4a4a"/>
<rect id="Rectangle_50" data-name="Rectangle 50" width="2.537" height="2.537" rx="1" transform="translate(37.013 0)" fill="#4a4a4a"/>
<rect id="Rectangle_51" data-name="Rectangle 51" width="2.537" height="2.537" rx="1" transform="translate(40.018 0)" fill="#4a4a4a"/>
</g>
<g id="Group_6" data-name="Group 6" transform="translate(0.728 7.883)">
<path id="Path_54" data-name="Path 54" d="M.519,0h3.47a.519.519,0,0,1,.519.519v1.5a.519.519,0,0,1-.519.519H.519A.519.519,0,0,1,0,2.017V.52A.519.519,0,0,1,.519,0Z" transform="translate(0 0)" fill="#4a4a4a" fill-rule="evenodd"/>
<g id="Group_5" data-name="Group 5" transform="translate(5.073 0)">
<rect id="Rectangle_52" data-name="Rectangle 52" width="2.537" height="2.537" rx="1" transform="translate(0 0)" fill="#4a4a4a"/>
<rect id="Rectangle_53" data-name="Rectangle 53" width="2.537" height="2.537" rx="1" transform="translate(3.006 0)" fill="#4a4a4a"/>
<rect id="Rectangle_54" data-name="Rectangle 54" width="2.537" height="2.537" rx="1" transform="translate(6.012 0)" fill="#4a4a4a"/>
<rect id="Rectangle_55" data-name="Rectangle 55" width="2.537" height="2.537" rx="1" transform="translate(9.018 0)" fill="#4a4a4a"/>
<rect id="Rectangle_56" data-name="Rectangle 56" width="2.537" height="2.537" rx="1" transform="translate(12.025 0)" fill="#4a4a4a"/>
<rect id="Rectangle_57" data-name="Rectangle 57" width="2.537" height="2.537" rx="1" transform="translate(15.031 0)" fill="#4a4a4a"/>
<rect id="Rectangle_58" data-name="Rectangle 58" width="2.537" height="2.537" rx="1" transform="translate(18.037 0)" fill="#4a4a4a"/>
<rect id="Rectangle_59" data-name="Rectangle 59" width="2.537" height="2.537" rx="1" transform="translate(21.042 0)" fill="#4a4a4a"/>
<rect id="Rectangle_60" data-name="Rectangle 60" width="2.537" height="2.537" rx="1" transform="translate(24.049 0)" fill="#4a4a4a"/>
<rect id="Rectangle_61" data-name="Rectangle 61" width="2.537" height="2.537" rx="1" transform="translate(27.055 0)" fill="#4a4a4a"/>
<rect id="Rectangle_62" data-name="Rectangle 62" width="2.537" height="2.537" rx="1" transform="translate(30.061 0)" fill="#4a4a4a"/>
</g>
<path id="Path_55" data-name="Path 55" d="M.52,0H3.8a.519.519,0,0,1,.519.519v1.5a.519.519,0,0,1-.519.519H.519A.519.519,0,0,1,0,2.017V.52A.519.519,0,0,1,.519,0Z" transform="translate(38.234 0)" fill="#4a4a4a" fill-rule="evenodd"/>
</g>
<g id="Group_7" data-name="Group 7" transform="translate(0.728 14.084)">
<rect id="Rectangle_63" data-name="Rectangle 63" width="2.537" height="2.537" rx="1" transform="translate(0 0)" fill="#4a4a4a"/>
<rect id="Rectangle_64" data-name="Rectangle 64" width="2.537" height="2.537" rx="1" transform="translate(3.006 0)" fill="#4a4a4a"/>
<rect id="Rectangle_65" data-name="Rectangle 65" width="2.537" height="2.537" rx="1" transform="translate(6.012 0)" fill="#4a4a4a"/>
<rect id="Rectangle_66" data-name="Rectangle 66" width="2.537" height="2.537" rx="1" transform="translate(9.018 0)" fill="#4a4a4a"/>
<path id="Path_56" data-name="Path 56" d="M.519,0H14.981A.519.519,0,0,1,15.5.519v1.5a.519.519,0,0,1-.519.519H.519A.519.519,0,0,1,0,2.018V.519A.519.519,0,0,1,.519,0Zm15.97,0h1.874a.519.519,0,0,1,.519.519v1.5a.519.519,0,0,1-.519.519H16.489a.519.519,0,0,1-.519-.519V.519A.519.519,0,0,1,16.489,0Z" transform="translate(12.024 0)" fill="#4a4a4a" fill-rule="evenodd"/>
<rect id="Rectangle_67" data-name="Rectangle 67" width="2.537" height="2.537" rx="1" transform="translate(31.376 0)" fill="#4a4a4a"/>
<rect id="Rectangle_68" data-name="Rectangle 68" width="2.537" height="2.537" rx="1" transform="translate(34.382 0)" fill="#4a4a4a"/>
<rect id="Rectangle_69" data-name="Rectangle 69" width="2.537" height="2.537" rx="1" transform="translate(40.018 0)" fill="#4a4a4a"/>
<path id="Path_57" data-name="Path 57" d="M2.537,0V.561a.519.519,0,0,1-.519.519H.519A.519.519,0,0,1,0,.561V0Z" transform="translate(39.736 1.08) rotate(180)" fill="#4a4a4a"/>
<path id="Path_58" data-name="Path 58" d="M2.537,0V.561a.519.519,0,0,1-.519.519H.519A.519.519,0,0,1,0,.561V0Z" transform="translate(37.2 1.456)" fill="#4a4a4a"/>
</g>
<rect id="Rectangle_70" data-name="Rectangle 70" width="42.273" height="1.127" rx="0.564" transform="translate(0.915 0.556)" fill="#4a4a4a"/>
<rect id="Rectangle_71" data-name="Rectangle 71" width="2.37" height="0.752" rx="0.376" transform="translate(1.949 0.744)" fill="#d8d8d8" opacity="0.136"/>
<rect id="Rectangle_72" data-name="Rectangle 72" width="2.37" height="0.752" rx="0.376" transform="translate(5.193 0.744)" fill="#d8d8d8" opacity="0.136"/>
<rect id="Rectangle_73" data-name="Rectangle 73" width="2.37" height="0.752" rx="0.376" transform="translate(7.688 0.744)" fill="#d8d8d8" opacity="0.136"/>
<rect id="Rectangle_74" data-name="Rectangle 74" width="2.37" height="0.752" rx="0.376" transform="translate(10.183 0.744)" fill="#d8d8d8" opacity="0.136"/>
<rect id="Rectangle_75" data-name="Rectangle 75" width="2.37" height="0.752" rx="0.376" transform="translate(12.679 0.744)" fill="#d8d8d8" opacity="0.136"/>
<rect id="Rectangle_76" data-name="Rectangle 76" width="2.37" height="0.752" rx="0.376" transform="translate(15.797 0.744)" fill="#d8d8d8" opacity="0.136"/>
<rect id="Rectangle_77" data-name="Rectangle 77" width="2.37" height="0.752" rx="0.376" transform="translate(18.292 0.744)" fill="#d8d8d8" opacity="0.136"/>
<rect id="Rectangle_78" data-name="Rectangle 78" width="2.37" height="0.752" rx="0.376" transform="translate(20.788 0.744)" fill="#d8d8d8" opacity="0.136"/>
<rect id="Rectangle_79" data-name="Rectangle 79" width="2.37" height="0.752" rx="0.376" transform="translate(23.283 0.744)" fill="#d8d8d8" opacity="0.136"/>
<rect id="Rectangle_80" data-name="Rectangle 80" width="2.37" height="0.752" rx="0.376" transform="translate(26.402 0.744)" fill="#d8d8d8" opacity="0.136"/>
<rect id="Rectangle_81" data-name="Rectangle 81" width="2.37" height="0.752" rx="0.376" transform="translate(28.897 0.744)" fill="#d8d8d8" opacity="0.136"/>
<rect id="Rectangle_82" data-name="Rectangle 82" width="2.37" height="0.752" rx="0.376" transform="translate(31.393 0.744)" fill="#d8d8d8" opacity="0.136"/>
<rect id="Rectangle_83" data-name="Rectangle 83" width="2.37" height="0.752" rx="0.376" transform="translate(34.512 0.744)" fill="#d8d8d8" opacity="0.136"/>
<rect id="Rectangle_84" data-name="Rectangle 84" width="2.37" height="0.752" rx="0.376" transform="translate(37.007 0.744)" fill="#d8d8d8" opacity="0.136"/>
<rect id="Rectangle_85" data-name="Rectangle 85" width="2.37" height="0.752" rx="0.376" transform="translate(39.502 0.744)" fill="#d8d8d8" opacity="0.136"/>
</g>
<path id="Path_59" data-name="Path 59" d="M123.779,148.389a2.583,2.583,0,0,0-.332.033c-.02-.078-.038-.156-.06-.234a2.594,2.594,0,1,0-2.567-4.455q-.086-.088-.174-.175a2.593,2.593,0,1,0-4.461-2.569c-.077-.022-.154-.04-.231-.06a2.6,2.6,0,1,0-5.128,0c-.077.02-.154.038-.231.06a2.594,2.594,0,1,0-4.461,2.569,10.384,10.384,0,1,0,17.314,9.992,2.592,2.592,0,1,0,.332-5.161" transform="translate(-51.054 -75.262)" fill="#44d860" fill-rule="evenodd"/>
<path id="Path_60" data-name="Path 60" d="M83,113.389h20.779V103H83Z" transform="translate(-41.443 -58.444)" fill="#3ecc5f" fill-rule="evenodd"/>
<path id="Path_61" data-name="Path 61" d="M123.389,108.944a1.3,1.3,0,1,0,0-2.6,1.338,1.338,0,0,0-.166.017c-.01-.039-.019-.078-.03-.117a1.3,1.3,0,0,0-.5-2.5,1.285,1.285,0,0,0-.783.269q-.043-.044-.087-.087a1.285,1.285,0,0,0,.263-.776,1.3,1.3,0,0,0-2.493-.509,5.195,5.195,0,1,0,0,10,1.3,1.3,0,0,0,2.493-.509,1.285,1.285,0,0,0-.263-.776q.044-.043.087-.087a1.285,1.285,0,0,0,.783.269,1.3,1.3,0,0,0,.5-2.5c.011-.038.02-.078.03-.117a1.335,1.335,0,0,0,.166.017" transform="translate(-55.859 -57.894)" fill="#44d860" fill-rule="evenodd"/>
<path id="Path_62" data-name="Path 62" d="M141.8,38.745a1.41,1.41,0,0,1-.255-.026,1.309,1.309,0,0,1-.244-.073,1.349,1.349,0,0,1-.224-.119,1.967,1.967,0,0,1-.2-.161,1.52,1.52,0,0,1-.161-.2,1.282,1.282,0,0,1-.218-.722,1.41,1.41,0,0,1,.026-.255,1.5,1.5,0,0,1,.072-.244,1.364,1.364,0,0,1,.12-.223,1.252,1.252,0,0,1,.358-.358,1.349,1.349,0,0,1,.224-.119,1.309,1.309,0,0,1,.244-.073,1.2,1.2,0,0,1,.509,0,1.262,1.262,0,0,1,.468.192,1.968,1.968,0,0,1,.2.161,1.908,1.908,0,0,1,.161.2,1.322,1.322,0,0,1,.12.223,1.361,1.361,0,0,1,.1.5,1.317,1.317,0,0,1-.379.919,1.968,1.968,0,0,1-.2.161,1.346,1.346,0,0,1-.223.119,1.332,1.332,0,0,1-.5.1m10.389-.649a1.326,1.326,0,0,1-.92-.379,1.979,1.979,0,0,1-.161-.2,1.282,1.282,0,0,1-.218-.722,1.326,1.326,0,0,1,.379-.919,1.967,1.967,0,0,1,.2-.161,1.351,1.351,0,0,1,.224-.119,1.308,1.308,0,0,1,.244-.073,1.2,1.2,0,0,1,.509,0,1.262,1.262,0,0,1,.468.192,1.967,1.967,0,0,1,.2.161,1.326,1.326,0,0,1,.379.919,1.461,1.461,0,0,1-.026.255,1.323,1.323,0,0,1-.073.244,1.847,1.847,0,0,1-.119.223,1.911,1.911,0,0,1-.161.2,1.967,1.967,0,0,1-.2.161,1.294,1.294,0,0,1-.722.218" transform="translate(-69.074 -26.006)" fill-rule="evenodd"/>
</g>
<g id="React-icon" transform="translate(906.3 541.56)">
<path id="Path_330" data-name="Path 330" d="M263.668,117.179c0-5.827-7.3-11.35-18.487-14.775,2.582-11.4,1.434-20.477-3.622-23.382a7.861,7.861,0,0,0-4.016-1v4a4.152,4.152,0,0,1,2.044.466c2.439,1.4,3.5,6.724,2.672,13.574-.2,1.685-.52,3.461-.914,5.272a86.9,86.9,0,0,0-11.386-1.954,87.469,87.469,0,0,0-7.459-8.965c5.845-5.433,11.332-8.41,15.062-8.41V78h0c-4.931,0-11.386,3.514-17.913,9.611-6.527-6.061-12.982-9.539-17.913-9.539v4c3.712,0,9.216,2.959,15.062,8.356a84.687,84.687,0,0,0-7.405,8.947,83.732,83.732,0,0,0-11.4,1.972c-.412-1.793-.717-3.532-.932-5.2-.843-6.85.2-12.175,2.618-13.592a3.991,3.991,0,0,1,2.062-.466v-4h0a8,8,0,0,0-4.052,1c-5.039,2.9-6.168,11.96-3.568,23.328-11.153,3.443-18.415,8.947-18.415,14.757,0,5.828,7.3,11.35,18.487,14.775-2.582,11.4-1.434,20.477,3.622,23.382a7.882,7.882,0,0,0,4.034,1c4.931,0,11.386-3.514,17.913-9.611,6.527,6.061,12.982,9.539,17.913,9.539a8,8,0,0,0,4.052-1c5.039-2.9,6.168-11.96,3.568-23.328C256.406,128.511,263.668,122.988,263.668,117.179Zm-23.346-11.96c-.663,2.313-1.488,4.7-2.421,7.083-.735-1.434-1.506-2.869-2.349-4.3-.825-1.434-1.7-2.833-2.582-4.2C235.517,104.179,237.974,104.645,240.323,105.219Zm-8.212,19.1c-1.4,2.421-2.833,4.716-4.321,6.85-2.672.233-5.379.359-8.1.359-2.708,0-5.415-.126-8.069-.341q-2.232-3.2-4.339-6.814-2.044-3.523-3.73-7.136c1.112-2.4,2.367-4.805,3.712-7.154,1.4-2.421,2.833-4.716,4.321-6.85,2.672-.233,5.379-.359,8.1-.359,2.708,0,5.415.126,8.069.341q2.232,3.2,4.339,6.814,2.044,3.523,3.73,7.136C234.692,119.564,233.455,121.966,232.11,124.315Zm5.792-2.331c.968,2.4,1.793,4.805,2.474,7.136-2.349.574-4.823,1.058-7.387,1.434.879-1.381,1.757-2.8,2.582-4.25C236.4,124.871,237.167,123.419,237.9,121.984ZM219.72,141.116a73.921,73.921,0,0,1-4.985-5.738c1.614.072,3.263.126,4.931.126,1.685,0,3.353-.036,4.985-.126A69.993,69.993,0,0,1,219.72,141.116ZM206.38,130.555c-2.546-.377-5-.843-7.352-1.417.663-2.313,1.488-4.7,2.421-7.083.735,1.434,1.506,2.869,2.349,4.3S205.5,129.192,206.38,130.555ZM219.63,93.241a73.924,73.924,0,0,1,4.985,5.738c-1.614-.072-3.263-.126-4.931-.126-1.686,0-3.353.036-4.985.126A69.993,69.993,0,0,1,219.63,93.241ZM206.362,103.8c-.879,1.381-1.757,2.8-2.582,4.25-.825,1.434-1.6,2.869-2.331,4.3-.968-2.4-1.793-4.805-2.474-7.136C201.323,104.663,203.8,104.179,206.362,103.8Zm-16.227,22.449c-6.348-2.708-10.454-6.258-10.454-9.073s4.106-6.383,10.454-9.073c1.542-.663,3.228-1.255,4.967-1.811a86.122,86.122,0,0,0,4.034,10.92,84.9,84.9,0,0,0-3.981,10.866C193.38,127.525,191.694,126.915,190.134,126.252Zm9.647,25.623c-2.439-1.4-3.5-6.724-2.672-13.574.2-1.686.52-3.461.914-5.272a86.9,86.9,0,0,0,11.386,1.954,87.465,87.465,0,0,0,7.459,8.965c-5.845,5.433-11.332,8.41-15.062,8.41A4.279,4.279,0,0,1,199.781,151.875Zm42.532-13.663c.843,6.85-.2,12.175-2.618,13.592a3.99,3.99,0,0,1-2.062.466c-3.712,0-9.216-2.959-15.062-8.356a84.689,84.689,0,0,0,7.405-8.947,83.731,83.731,0,0,0,11.4-1.972A50.194,50.194,0,0,1,242.313,138.212Zm6.9-11.96c-1.542.663-3.228,1.255-4.967,1.811a86.12,86.12,0,0,0-4.034-10.92,84.9,84.9,0,0,0,3.981-10.866c1.775.556,3.461,1.165,5.039,1.829,6.348,2.708,10.454,6.258,10.454,9.073C259.67,119.994,255.564,123.562,249.216,126.252Z" fill="#61dafb"/>
<path id="Path_331" data-name="Path 331" d="M320.8,78.4Z" transform="translate(-119.082 -0.328)" fill="#61dafb"/>
<circle id="Ellipse_112" data-name="Ellipse 112" cx="8.194" cy="8.194" r="8.194" transform="translate(211.472 108.984)" fill="#61dafb"/>
<path id="Path_332" data-name="Path 332" d="M520.5,78.1Z" transform="translate(-282.975 -0.082)" fill="#61dafb"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 35 KiB

-40
View File
@@ -1,40 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1129" height="663" viewBox="0 0 1129 663">
<title>Focus on What Matters</title>
<circle cx="321" cy="321" r="321" fill="#f2f2f2" />
<ellipse cx="559" cy="635.49998" rx="514" ry="27.50002" fill="#3f3d56" />
<ellipse cx="558" cy="627" rx="460" ry="22" opacity="0.2" />
<rect x="131" y="152.5" width="840" height="50" fill="#3f3d56" />
<path d="M166.5,727.3299A21.67009,21.67009,0,0,0,188.1701,749H984.8299A21.67009,21.67009,0,0,0,1006.5,727.3299V296h-840Z" transform="translate(-35.5 -118.5)" fill="#3f3d56" />
<path d="M984.8299,236H188.1701A21.67009,21.67009,0,0,0,166.5,257.6701V296h840V257.6701A21.67009,21.67009,0,0,0,984.8299,236Z" transform="translate(-35.5 -118.5)" fill="#3f3d56" />
<path d="M984.8299,236H188.1701A21.67009,21.67009,0,0,0,166.5,257.6701V296h840V257.6701A21.67009,21.67009,0,0,0,984.8299,236Z" transform="translate(-35.5 -118.5)" opacity="0.2" />
<circle cx="181" cy="147.5" r="13" fill="#3f3d56" />
<circle cx="217" cy="147.5" r="13" fill="#3f3d56" />
<circle cx="253" cy="147.5" r="13" fill="#3f3d56" />
<rect x="168" y="213.5" width="337" height="386" rx="5.33505" fill="#606060" />
<rect x="603" y="272.5" width="284" height="22" rx="5.47638" fill="#2e8555" />
<rect x="537" y="352.5" width="416" height="15" rx="5.47638" fill="#2e8555" />
<rect x="537" y="396.5" width="416" height="15" rx="5.47638" fill="#2e8555" />
<rect x="537" y="440.5" width="416" height="15" rx="5.47638" fill="#2e8555" />
<rect x="537" y="484.5" width="416" height="15" rx="5.47638" fill="#2e8555" />
<rect x="865" y="552.5" width="88" height="26" rx="7.02756" fill="#3ecc5f" />
<path d="M1088.60287,624.61594a30.11371,30.11371,0,0,0,3.98291-15.266c0-13.79652-8.54358-24.98081-19.08256-24.98081s-19.08256,11.18429-19.08256,24.98081a30.11411,30.11411,0,0,0,3.98291,15.266,31.248,31.248,0,0,0,0,30.53213,31.248,31.248,0,0,0,0,30.53208,31.248,31.248,0,0,0,0,30.53208,30.11408,30.11408,0,0,0-3.98291,15.266c0,13.79652,8.54353,24.98081,19.08256,24.98081s19.08256-11.18429,19.08256-24.98081a30.11368,30.11368,0,0,0-3.98291-15.266,31.248,31.248,0,0,0,0-30.53208,31.248,31.248,0,0,0,0-30.53208,31.248,31.248,0,0,0,0-30.53213Z" transform="translate(-35.5 -118.5)" fill="#3f3d56" />
<ellipse cx="1038.00321" cy="460.31783" rx="19.08256" ry="24.9808" fill="#3f3d56" />
<ellipse cx="1038.00321" cy="429.78574" rx="19.08256" ry="24.9808" fill="#3f3d56" />
<path d="M1144.93871,339.34489a91.61081,91.61081,0,0,0,7.10658-10.46092l-50.141-8.23491,54.22885.4033a91.566,91.566,0,0,0,1.74556-72.42605l-72.75449,37.74139,67.09658-49.32086a91.41255,91.41255,0,1,0-150.971,102.29805,91.45842,91.45842,0,0,0-10.42451,16.66946l65.0866,33.81447-69.40046-23.292a91.46011,91.46011,0,0,0,14.73837,85.83669,91.40575,91.40575,0,1,0,143.68892,0,91.41808,91.41808,0,0,0,0-113.02862Z" transform="translate(-35.5 -118.5)" fill="#3ecc5f" fill-rule="evenodd" />
<path d="M981.6885,395.8592a91.01343,91.01343,0,0,0,19.56129,56.51431,91.40575,91.40575,0,1,0,143.68892,0C1157.18982,436.82067,981.6885,385.60008,981.6885,395.8592Z" transform="translate(-35.5 -118.5)" opacity="0.1" />
<path d="M365.62,461.43628H477.094v45.12043H365.62Z" transform="translate(-35.5 -118.5)" fill="#fff" fill-rule="evenodd" />
<path d="M264.76252,608.74122a26.50931,26.50931,0,0,1-22.96231-13.27072,26.50976,26.50976,0,0,0,22.96231,39.81215H291.304V608.74122Z" transform="translate(-35.5 -118.5)" fill="#3ecc5f" fill-rule="evenodd" />
<path d="M384.17242,468.57061l92.92155-5.80726V449.49263a26.54091,26.54091,0,0,0-26.54143-26.54143H331.1161l-3.31768-5.74622a3.83043,3.83043,0,0,0-6.63536,0l-3.31768,5.74622-3.31767-5.74622a3.83043,3.83043,0,0,0-6.63536,0l-3.31768,5.74622L301.257,417.205a3.83043,3.83043,0,0,0-6.63536,0L291.304,422.9512c-.02919,0-.05573.004-.08625.004l-5.49674-5.49541a3.8293,3.8293,0,0,0-6.4071,1.71723l-1.81676,6.77338L270.607,424.1031a3.82993,3.82993,0,0,0-4.6912,4.69253l1.84463,6.89148-6.77072,1.81411a3.8315,3.8315,0,0,0-1.71988,6.40975l5.49673,5.49673c0,.02787-.004.05574-.004.08493l-5.74622,3.31768a3.83043,3.83043,0,0,0,0,6.63536l5.74621,3.31768L259.0163,466.081a3.83043,3.83043,0,0,0,0,6.63536l5.74622,3.31768-5.74622,3.31767a3.83043,3.83043,0,0,0,0,6.63536l5.74622,3.31768-5.74622,3.31768a3.83043,3.83043,0,0,0,0,6.63536l5.74622,3.31768-5.74622,3.31767a3.83043,3.83043,0,0,0,0,6.63536l5.74622,3.31768-5.74622,3.31768a3.83043,3.83043,0,0,0,0,6.63536l5.74622,3.31768-5.74622,3.31768a3.83042,3.83042,0,0,0,0,6.63535l5.74622,3.31768-5.74622,3.31768a3.83043,3.83043,0,0,0,0,6.63536l5.74622,3.31768L259.0163,558.976a3.83042,3.83042,0,0,0,0,6.63535l5.74622,3.31768-5.74622,3.31768a3.83043,3.83043,0,0,0,0,6.63536l5.74622,3.31768-5.74622,3.31768a3.83042,3.83042,0,0,0,0,6.63535l5.74622,3.31768-5.74622,3.31768a3.83043,3.83043,0,0,0,0,6.63536l5.74622,3.31768A26.54091,26.54091,0,0,0,291.304,635.28265H450.55254A26.5409,26.5409,0,0,0,477.094,608.74122V502.5755l-92.92155-5.80727a14.12639,14.12639,0,0,1,0-28.19762" transform="translate(-35.5 -118.5)" fill="#3ecc5f" fill-rule="evenodd" />
<path d="M424.01111,635.28265h39.81214V582.19979H424.01111Z" transform="translate(-35.5 -118.5)" fill="#3ecc5f" fill-rule="evenodd" />
<path d="M490.36468,602.10586a6.60242,6.60242,0,0,0-.848.08493c-.05042-.19906-.09821-.39945-.15393-.59852A6.62668,6.62668,0,1,0,482.80568,590.21q-.2203-.22491-.44457-.44589a6.62391,6.62391,0,1,0-11.39689-6.56369c-.1964-.05575-.39414-.10218-.59056-.15262a6.63957,6.63957,0,1,0-13.10086,0c-.1964.05042-.39414.09687-.59056.15262a6.62767,6.62767,0,1,0-11.39688,6.56369,26.52754,26.52754,0,1,0,44.23127,25.52756,6.6211,6.6211,0,1,0,.848-13.18579" transform="translate(-35.5 -118.5)" fill="#44d860" fill-rule="evenodd" />
<path d="M437.28182,555.65836H477.094V529.11693H437.28182Z" transform="translate(-35.5 -118.5)" fill="#3ecc5f" fill-rule="evenodd" />
<path d="M490.36468,545.70532a3.31768,3.31768,0,0,0,0-6.63536,3.41133,3.41133,0,0,0-.42333.04247c-.02655-.09953-.04911-.19907-.077-.29859a3.319,3.319,0,0,0-1.278-6.37923,3.28174,3.28174,0,0,0-2.00122.68742q-.10947-.11346-.22294-.22295a3.282,3.282,0,0,0,.67149-1.98265,3.31768,3.31768,0,0,0-6.37-1.2992,13.27078,13.27078,0,1,0,0,25.54082,3.31768,3.31768,0,0,0,6.37-1.2992,3.282,3.282,0,0,0-.67149-1.98265q.11347-.10947.22294-.22294a3.28174,3.28174,0,0,0,2.00122.68742,3.31768,3.31768,0,0,0,1.278-6.37923c.02786-.0982.05042-.19907.077-.29859a3.41325,3.41325,0,0,0,.42333.04246" transform="translate(-35.5 -118.5)" fill="#44d860" fill-rule="evenodd" />
<path d="M317.84538,466.081a3.31768,3.31768,0,0,1-3.31767-3.31768,9.953,9.953,0,1,0-19.90608,0,3.31768,3.31768,0,1,1-6.63535,0,16.58839,16.58839,0,1,1,33.17678,0,3.31768,3.31768,0,0,1-3.31768,3.31768" transform="translate(-35.5 -118.5)" fill-rule="evenodd" />
<path d="M370.92825,635.28265h79.62429A26.5409,26.5409,0,0,0,477.094,608.74122v-92.895H397.46968a26.54091,26.54091,0,0,0-26.54143,26.54143Z" transform="translate(-35.5 -118.5)" fill="#ffff50" fill-rule="evenodd" />
<path d="M457.21444,556.98543H390.80778a1.32707,1.32707,0,0,1,0-2.65414h66.40666a1.32707,1.32707,0,0,1,0,2.65414m0,26.54143H390.80778a1.32707,1.32707,0,1,1,0-2.65414h66.40666a1.32707,1.32707,0,0,1,0,2.65414m0,26.54143H390.80778a1.32707,1.32707,0,1,1,0-2.65414h66.40666a1.32707,1.32707,0,0,1,0,2.65414m0-66.10674H390.80778a1.32707,1.32707,0,0,1,0-2.65414h66.40666a1.32707,1.32707,0,0,1,0,2.65414m0,26.29459H390.80778a1.32707,1.32707,0,0,1,0-2.65414h66.40666a1.32707,1.32707,0,0,1,0,2.65414m0,26.54143H390.80778a1.32707,1.32707,0,0,1,0-2.65414h66.40666a1.32707,1.32707,0,0,1,0,2.65414M477.094,474.19076c-.01592,0-.0292-.008-.04512-.00663-4.10064.13934-6.04083,4.24132-7.75274,7.86024-1.78623,3.78215-3.16771,6.24122-5.43171,6.16691-2.50685-.09024-3.94007-2.92222-5.45825-5.91874-1.74377-3.44243-3.73438-7.34667-7.91333-7.20069-4.04227.138-5.98907,3.70784-7.70631,6.857-1.82738,3.35484-3.07084,5.39455-5.46887,5.30033-2.55727-.09289-3.91619-2.39536-5.48877-5.06013-1.75306-2.96733-3.77951-6.30359-7.8775-6.18946-3.97326.13669-5.92537,3.16507-7.64791,5.83912-1.82207,2.82666-3.09872,4.5492-5.52725,4.447-2.61832-.09289-3.9706-2.00388-5.53522-4.21611-1.757-2.4856-3.737-5.299-7.82308-5.16231-3.88567.13271-5.83779,2.61434-7.559,4.80135-1.635,2.07555-2.9116,3.71846-5.61218,3.615a1.32793,1.32793,0,1,0-.09555,2.65414c4.00377.134,6.03154-2.38873,7.79257-4.6275,1.562-1.9853,2.91027-3.69855,5.56441-3.78879,2.55594-.10882,3.75429,1.47968,5.56707,4.04093,1.7212,2.43385,3.67465,5.19416,7.60545,5.33616,4.11789.138,6.09921-2.93946,7.8536-5.66261,1.56861-2.43385,2.92221-4.53461,5.50734-4.62352,2.37944-.08892,3.67466,1.79154,5.50072,4.885,1.72121,2.91557,3.67069,6.21865,7.67977,6.36463,4.14709.14332,6.14965-3.47693,7.89475-6.68181,1.51155-2.77092,2.93814-5.38791,5.46621-5.4755,2.37944-.05573,3.62025,2.11668,5.45558,5.74622,1.71459,3.388,3.65875,7.22591,7.73019,7.37321l.22429.004c4.06614,0,5.99571-4.08074,7.70364-7.68905,1.51154-3.19825,2.94211-6.21069,5.3972-6.33411Z" transform="translate(-35.5 -118.5)" fill-rule="evenodd" />
<path d="M344.38682,635.28265h53.08286V582.19979H344.38682Z" transform="translate(-35.5 -118.5)" fill="#3ecc5f" fill-rule="evenodd" />
<path d="M424.01111,602.10586a6.60242,6.60242,0,0,0-.848.08493c-.05042-.19906-.09821-.39945-.15394-.59852A6.62667,6.62667,0,1,0,416.45211,590.21q-.2203-.22491-.44458-.44589a6.62391,6.62391,0,1,0-11.39689-6.56369c-.1964-.05575-.39413-.10218-.59054-.15262a6.63957,6.63957,0,1,0-13.10084,0c-.19641.05042-.39414.09687-.59055.15262a6.62767,6.62767,0,1,0-11.39689,6.56369,26.52755,26.52755,0,1,0,44.2313,25.52756,6.6211,6.6211,0,1,0,.848-13.18579" transform="translate(-35.5 -118.5)" fill="#44d860" fill-rule="evenodd" />
<path d="M344.38682,555.65836h53.08286V529.11693H344.38682Z" transform="translate(-35.5 -118.5)" fill="#3ecc5f" fill-rule="evenodd" />
<path d="M410.74039,545.70532a3.31768,3.31768,0,1,0,0-6.63536,3.41133,3.41133,0,0,0-.42333.04247c-.02655-.09953-.04911-.19907-.077-.29859a3.319,3.319,0,0,0-1.278-6.37923,3.28174,3.28174,0,0,0-2.00122.68742q-.10947-.11346-.22294-.22295a3.282,3.282,0,0,0,.67149-1.98265,3.31768,3.31768,0,0,0-6.37-1.2992,13.27078,13.27078,0,1,0,0,25.54082,3.31768,3.31768,0,0,0,6.37-1.2992,3.282,3.282,0,0,0-.67149-1.98265q.11347-.10947.22294-.22294a3.28174,3.28174,0,0,0,2.00122.68742,3.31768,3.31768,0,0,0,1.278-6.37923c.02786-.0982.05042-.19907.077-.29859a3.41325,3.41325,0,0,0,.42333.04246" transform="translate(-35.5 -118.5)" fill="#44d860" fill-rule="evenodd" />
<path d="M424.01111,447.8338a3.60349,3.60349,0,0,1-.65028-.06636,3.34415,3.34415,0,0,1-.62372-.18579,3.44679,3.44679,0,0,1-.572-.30522,5.02708,5.02708,0,0,1-.50429-.4114,3.88726,3.88726,0,0,1-.41007-.50428,3.27532,3.27532,0,0,1-.55737-1.84463,3.60248,3.60248,0,0,1,.06636-.65027,3.82638,3.82638,0,0,1,.18447-.62373,3.48858,3.48858,0,0,1,.30656-.57064,3.197,3.197,0,0,1,.91436-.91568,3.44685,3.44685,0,0,1,.572-.30523,3.344,3.344,0,0,1,.62372-.18578,3.06907,3.06907,0,0,1,1.30053,0,3.22332,3.22332,0,0,1,1.19436.491,5.02835,5.02835,0,0,1,.50429.41139,4.8801,4.8801,0,0,1,.41139.50429,3.38246,3.38246,0,0,1,.30522.57064,3.47806,3.47806,0,0,1,.25215,1.274A3.36394,3.36394,0,0,1,426.36,446.865a5.02708,5.02708,0,0,1-.50429.4114,3.3057,3.3057,0,0,1-1.84463.55737m26.54143-1.65884a3.38754,3.38754,0,0,1-2.35024-.96877,5.04185,5.04185,0,0,1-.41007-.50428,3.27532,3.27532,0,0,1-.55737-1.84463,3.38659,3.38659,0,0,1,.96744-2.34892,5.02559,5.02559,0,0,1,.50429-.41139,3.44685,3.44685,0,0,1,.572-.30523,3.3432,3.3432,0,0,1,.62373-.18579,3.06952,3.06952,0,0,1,1.30052,0,3.22356,3.22356,0,0,1,1.19436.491,5.02559,5.02559,0,0,1,.50429.41139,3.38792,3.38792,0,0,1,.96876,2.34892,3.72635,3.72635,0,0,1-.06636.65026,3.37387,3.37387,0,0,1-.18579.62373,4.71469,4.71469,0,0,1-.30522.57064,4.8801,4.8801,0,0,1-.41139.50429,5.02559,5.02559,0,0,1-.50429.41139,3.30547,3.30547,0,0,1-1.84463.55737" transform="translate(-35.5 -118.5)" fill-rule="evenodd" />
</svg>

Before

Width:  |  Height:  |  Size: 12 KiB

-11
View File
@@ -1,11 +0,0 @@
{
// This file is not used in compilation. It is here just for a nice editor experience.
"extends": "./node_modules/@tsconfig/docusaurus/tsconfig.json",
"compilerOptions": {
"baseUrl": ".",
"composite": true,
"incremental": true,
"outDir": "./lib",
"tsBuildInfoFile": "./lib/.tsbuildinfo"
}
}
+33
View File
@@ -0,0 +1,33 @@
# deps
/node_modules
# generated content
.contentlayer
.content-collections
.source
# test & build
/coverage
/.next/
/out/
/build
*.tsbuildinfo
# misc
.DS_Store
*.pem
/.pnp
.pnp.js
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# others
.env*.local
.vercel
next-env.d.ts
# build
/src/content/docs/cloud/api
/src/content/docs/api
./types
+555
View File
@@ -0,0 +1,555 @@
# @llamaindex/doc
## 0.1.7
### Patch Changes
- Updated dependencies [beb922b]
- @llamaindex/core@0.5.6
- llamaindex@0.9.7
- @llamaindex/cloud@3.0.7
- @llamaindex/node-parser@1.0.6
- @llamaindex/openai@0.1.58
- @llamaindex/readers@2.0.6
- @llamaindex/workflow@0.0.13
## 0.1.6
### Patch Changes
- Updated dependencies [5668970]
- @llamaindex/core@0.5.5
- @llamaindex/workflow@0.0.12
- @llamaindex/cloud@3.0.6
- llamaindex@0.9.6
- @llamaindex/node-parser@1.0.5
- @llamaindex/openai@0.1.57
- @llamaindex/readers@2.0.5
## 0.1.5
### Patch Changes
- Updated dependencies [ad3c7f1]
- @llamaindex/core@0.5.4
- @llamaindex/cloud@3.0.5
- llamaindex@0.9.5
- @llamaindex/node-parser@1.0.4
- @llamaindex/openai@0.1.56
- @llamaindex/readers@2.0.4
## 0.1.4
### Patch Changes
- Updated dependencies [cb256f2]
- Updated dependencies [cb021e7]
- @llamaindex/openai@0.1.55
- @llamaindex/core@0.5.3
- llamaindex@0.9.4
- @llamaindex/cloud@3.0.4
- @llamaindex/node-parser@1.0.3
- @llamaindex/readers@2.0.3
## 0.1.3
### Patch Changes
- Updated dependencies [d952e68]
- @llamaindex/core@0.5.2
- @llamaindex/cloud@3.0.3
- llamaindex@0.9.3
- @llamaindex/node-parser@1.0.2
- @llamaindex/openai@0.1.54
- @llamaindex/readers@2.0.2
## 0.1.2
### Patch Changes
- Updated dependencies [c902fcb]
- Updated dependencies [88d776f]
- @llamaindex/cloud@3.0.2
- llamaindex@0.9.2
## 0.1.1
### Patch Changes
- Updated dependencies [6d37d44]
- llamaindex@0.9.1
- @llamaindex/cloud@3.0.1
- @llamaindex/core@0.5.1
- @llamaindex/node-parser@1.0.1
- @llamaindex/openai@0.1.53
- @llamaindex/readers@2.0.1
- @llamaindex/workflow@0.0.11
## 0.1.0
### Minor Changes
- 6a4a737: Remove re-exports from llamaindex main package
- f4588bc: Remove readers package from llamaindex
### Patch Changes
- c7c0800: fix: fumadoc build fail
- a87efb9: docs: update chat engine docs
- 7bd5d93: docs: update workflow doc
- Updated dependencies [6a4a737]
- Updated dependencies [d924c63]
- Updated dependencies [b490376]
- Updated dependencies [f4588bc]
- llamaindex@0.9.0
- @llamaindex/core@0.5.0
- @llamaindex/cloud@3.0.0
- @llamaindex/node-parser@1.0.0
- @llamaindex/openai@0.1.52
- @llamaindex/readers@2.0.0
## 0.0.41
### Patch Changes
- Updated dependencies [1c908fd]
- @llamaindex/openai@0.1.51
- @llamaindex/node-parser@0.0.24
- @llamaindex/workflow@0.0.10
- @llamaindex/readers@1.0.25
- @llamaindex/cloud@2.0.24
- @llamaindex/core@0.4.23
- llamaindex@0.8.37
## 0.0.40
### Patch Changes
- Updated dependencies [cb608b5]
- @llamaindex/openai@0.1.50
- @llamaindex/node-parser@0.0.23
- @llamaindex/workflow@0.0.9
- @llamaindex/readers@1.0.24
- @llamaindex/cloud@2.0.23
- @llamaindex/core@0.4.22
- llamaindex@0.8.36
## 0.0.39
### Patch Changes
- 6d4d96f: chore: update examples and docs to use unified imports
- Updated dependencies [15563a0]
- @llamaindex/openai@0.1.49
- llamaindex@0.8.35
## 0.0.38
### Patch Changes
- Updated dependencies [9f8ad37]
- Updated dependencies [7265f74]
- llamaindex@0.8.34
- @llamaindex/openai@0.1.48
## 0.0.37
### Patch Changes
- Updated dependencies [2019a04]
- @llamaindex/openai@0.1.47
- llamaindex@0.8.33
## 0.0.36
### Patch Changes
- f02621e: Fix internal links between chapters
- Updated dependencies [34faf48]
- Updated dependencies [4df1fe6]
- Updated dependencies [9456616]
- Updated dependencies [d6c270e]
- Updated dependencies [1892e1c]
- Updated dependencies [1931bbc]
- llamaindex@0.8.32
- @llamaindex/core@0.4.21
- @llamaindex/cloud@2.0.22
- @llamaindex/openai@0.1.46
- @llamaindex/node-parser@0.0.22
- @llamaindex/readers@1.0.23
## 0.0.35
### Patch Changes
- Updated dependencies [5dec9f9]
- Updated dependencies [fd9c829]
- Updated dependencies [d211b7a]
- Updated dependencies [0ebbfc1]
- @llamaindex/cloud@2.0.21
- llamaindex@0.8.31
- @llamaindex/core@0.4.20
- @llamaindex/node-parser@0.0.21
- @llamaindex/openai@0.1.45
- @llamaindex/readers@1.0.22
## 0.0.34
### Patch Changes
- Updated dependencies [012495b]
- @llamaindex/cloud@2.0.20
- llamaindex@0.8.30
## 0.0.33
### Patch Changes
- Updated dependencies [dd596a0]
- llamaindex@0.8.29
## 0.0.32
### Patch Changes
- a9b5b99: feat: build api reference pages for new documentation site
- Updated dependencies [a9b5b99]
- @llamaindex/core@0.4.19
- @llamaindex/readers@1.0.21
- @llamaindex/cloud@2.0.19
- llamaindex@0.8.28
- @llamaindex/node-parser@0.0.20
- @llamaindex/openai@0.1.44
## 0.0.31
### Patch Changes
- Updated dependencies [b504303]
- Updated dependencies [e0f6cc3]
- Updated dependencies [a0e6f57]
- llamaindex@0.8.27
- @llamaindex/core@0.4.18
- @llamaindex/cloud@2.0.18
- @llamaindex/node-parser@0.0.19
- @llamaindex/openai@0.1.43
- @llamaindex/readers@1.0.20
- @llamaindex/workflow@0.0.8
## 0.0.30
### Patch Changes
- Updated dependencies [3d1808b]
- @llamaindex/core@0.4.17
- llamaindex@0.8.26
- @llamaindex/openai@0.1.42
- @llamaindex/cloud@2.0.17
- @llamaindex/node-parser@0.0.18
- @llamaindex/readers@1.0.19
## 0.0.29
### Patch Changes
- Updated dependencies [7e8230b]
- Updated dependencies [8be4589]
- @llamaindex/readers@1.0.18
- @llamaindex/cloud@2.0.16
- @llamaindex/core@0.4.16
- @llamaindex/node-parser@0.0.17
- @llamaindex/openai@0.1.41
- @llamaindex/workflow@0.0.7
- llamaindex@0.8.25
## 0.0.28
### Patch Changes
- fd38a25: Add vercel tool adapter to use query engine tool
## 0.0.27
### Patch Changes
- Updated dependencies [515f2c1]
- llamaindex@0.8.24
## 0.0.26
### Patch Changes
- @llamaindex/cloud@2.0.15
- @llamaindex/core@0.4.15
- llamaindex@0.8.23
- @llamaindex/node-parser@0.0.16
- @llamaindex/openai@0.1.40
- @llamaindex/readers@1.0.17
## 0.0.25
### Patch Changes
- Updated dependencies [819af45]
- llamaindex@0.8.22
- @llamaindex/cloud@2.0.14
- @llamaindex/core@0.4.14
- @llamaindex/node-parser@0.0.15
- @llamaindex/openai@0.1.39
- @llamaindex/readers@1.0.16
## 0.0.24
### Patch Changes
- Updated dependencies [83c3897]
- Updated dependencies [efa2211]
- llamaindex@0.8.21
## 0.0.23
### Patch Changes
- Updated dependencies [02b22da]
- llamaindex@0.8.20
## 0.0.22
### Patch Changes
- Updated dependencies [90d265c]
- @llamaindex/cloud@2.0.13
- @llamaindex/core@0.4.13
- llamaindex@0.8.19
- @llamaindex/node-parser@0.0.14
- @llamaindex/readers@1.0.15
- @llamaindex/openai@0.1.38
## 0.0.21
### Patch Changes
- Updated dependencies [d17450f]
- Updated dependencies [ef4f63d]
- llamaindex@0.8.18
- @llamaindex/core@0.4.12
- @llamaindex/cloud@2.0.12
- @llamaindex/node-parser@0.0.13
- @llamaindex/openai@0.1.37
- @llamaindex/readers@1.0.14
## 0.0.20
### Patch Changes
- Updated dependencies [6d22fa2]
- @llamaindex/core@0.4.11
- @llamaindex/cloud@2.0.11
- llamaindex@0.8.17
- @llamaindex/node-parser@0.0.12
- @llamaindex/openai@0.1.36
- @llamaindex/readers@1.0.13
## 0.0.19
### Patch Changes
- Updated dependencies [e60328b]
- @llamaindex/readers@1.0.12
- llamaindex@0.8.16
## 0.0.18
### Patch Changes
- Updated dependencies [3d503cb]
- Updated dependencies [5dae534]
- llamaindex@0.8.15
## 0.0.17
### Patch Changes
- Updated dependencies [630b425]
- llamaindex@0.8.14
## 0.0.16
### Patch Changes
- Updated dependencies [a7b0ac3]
- Updated dependencies [ee20c44]
- Updated dependencies [c69605f]
- @llamaindex/core@0.4.10
- @llamaindex/workflow@0.0.6
- llamaindex@0.8.13
- @llamaindex/cloud@2.0.10
- @llamaindex/node-parser@0.0.11
- @llamaindex/openai@0.1.35
- @llamaindex/readers@1.0.11
## 0.0.15
### Patch Changes
- Updated dependencies [ea92b69]
- Updated dependencies [fadc8b8]
- @llamaindex/workflow@0.0.5
## 0.0.14
### Patch Changes
- Updated dependencies [7ae6eaa]
- @llamaindex/core@0.4.9
- @llamaindex/openai@0.1.34
- @llamaindex/cloud@2.0.9
- llamaindex@0.8.12
- @llamaindex/node-parser@0.0.10
- @llamaindex/readers@1.0.10
## 0.0.13
### Patch Changes
- Updated dependencies [f865c98]
- @llamaindex/core@0.4.8
- @llamaindex/cloud@2.0.8
- llamaindex@0.8.11
- @llamaindex/node-parser@0.0.9
- @llamaindex/openai@0.1.33
- @llamaindex/readers@1.0.9
## 0.0.12
### Patch Changes
- Updated dependencies [f066e50]
- Updated dependencies [d89ebe0]
- Updated dependencies [fd8c882]
- Updated dependencies [fd8c882]
- llamaindex@0.8.10
- @llamaindex/core@0.4.7
- @llamaindex/workflow@0.0.4
- @llamaindex/cloud@2.0.7
- @llamaindex/node-parser@0.0.8
- @llamaindex/openai@0.1.32
- @llamaindex/readers@1.0.8
## 0.0.11
### Patch Changes
- Updated dependencies [4fc001c]
- Updated dependencies [4d4cd8a]
- llamaindex@0.8.9
- @llamaindex/cloud@2.0.6
- @llamaindex/core@0.4.6
- @llamaindex/node-parser@0.0.7
- @llamaindex/openai@0.1.31
- @llamaindex/readers@1.0.7
## 0.0.10
### Patch Changes
- Updated dependencies [ad85bd0]
- @llamaindex/core@0.4.5
- llamaindex@0.8.8
- @llamaindex/node-parser@0.0.6
- @llamaindex/workflow@0.0.3
- @llamaindex/cloud@2.0.5
- @llamaindex/openai@0.1.30
- @llamaindex/readers@1.0.6
## 0.0.9
### Patch Changes
- @llamaindex/cloud@2.0.4
- @llamaindex/core@0.4.4
- llamaindex@0.8.7
- @llamaindex/node-parser@0.0.5
- @llamaindex/openai@0.1.29
- @llamaindex/readers@1.0.5
## 0.0.8
### Patch Changes
- Updated dependencies [95a5cc6]
- @llamaindex/core@0.4.3
- llamaindex@0.8.6
- @llamaindex/cloud@2.0.3
- @llamaindex/node-parser@0.0.4
- @llamaindex/openai@0.1.28
- @llamaindex/readers@1.0.4
## 0.0.7
### Patch Changes
- Updated dependencies [14cc9eb]
- Updated dependencies [a6db5dd]
- Updated dependencies [396b1e1]
- llamaindex@0.8.5
- @llamaindex/cloud@2.0.2
- @llamaindex/core@0.4.2
- @llamaindex/node-parser@0.0.3
- @llamaindex/openai@0.1.27
- @llamaindex/readers@1.0.3
## 0.0.6
### Patch Changes
- Updated dependencies [35430d3]
- llamaindex@0.8.4
- @llamaindex/readers@1.0.2
## 0.0.5
### Patch Changes
- Updated dependencies [2ff0a89]
- @llamaindex/node-parser@0.0.2
- llamaindex@0.8.3
## 0.0.4
### Patch Changes
- Updated dependencies [0765742]
- @llamaindex/workflow@0.0.2
## 0.0.3
### Patch Changes
- Updated dependencies [c7a918c]
- llamaindex@0.8.2
## 0.0.2
### Patch Changes
- Updated dependencies [9c73f0a]
- @llamaindex/core@0.4.1
- @llamaindex/cloud@2.0.1
- llamaindex@0.8.1
- @llamaindex/openai@0.1.26
- @llamaindex/readers@1.0.1
## 0.0.1
### Patch Changes
- Updated dependencies [359fd33]
- Updated dependencies [efb7e1b]
- Updated dependencies [98ba1e7]
- Updated dependencies [620c63c]
- @llamaindex/core@0.4.0
- llamaindex@0.8.0
- @llamaindex/cloud@2.0.0
- @llamaindex/openai@0.1.25
- @llamaindex/readers@1.0.0
+21
View File
@@ -0,0 +1,21 @@
# Docs
This is a Next.js application generated with
[Create Fumadocs](https://github.com/fuma-nama/fumadocs).
Run development server:
```bash
turbo run dev
# turbo will build all required packages before running the dev server
```
## Learn More
To learn more about Next.js and Fumadocs, take a look at the following
resources:
- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js
features and API.
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
- [Fumadocs](https://fumadocs.vercel.app) - learn about Fumadocs
+20
View File
@@ -0,0 +1,20 @@
{
"$schema": "https://ui.shadcn.com/schema.json",
"style": "new-york",
"rsc": true,
"tsx": true,
"tailwind": {
"config": "tailwind.config.js",
"css": "app/global.css",
"baseColor": "neutral",
"cssVariables": true,
"prefix": ""
},
"aliases": {
"components": "@/components",
"utils": "@/lib/utils",
"ui": "@/components/ui",
"lib": "@/lib",
"hooks": "@/hooks"
}
}
+35
View File
@@ -0,0 +1,35 @@
import { createMDX } from "fumadocs-mdx/next";
import MonacoWebpackPlugin from "monaco-editor-webpack-plugin";
const withMDX = createMDX();
/** @type {import('next').NextConfig} */
const config = {
reactStrictMode: true,
transpilePackages: ["monaco-editor"],
serverExternalPackages: ["@huggingface/transformers"],
webpack: (config, { isServer }) => {
if (Array.isArray(config.target) && config.target.includes("web")) {
config.target = ["web", "es2020"];
}
config.resolve.alias = {
...config.resolve.alias,
sharp$: false,
"onnxruntime-node$": false,
};
config.resolve.fallback ??= {};
config.resolve.fallback.fs = false;
if (!isServer) {
config.plugins.push(
new MonacoWebpackPlugin({
languages: ["typescript"],
filename: "static/[name].worker.js",
}),
);
}
config.resolve.alias["replicate"] = false;
return config;
},
};
export default withMDX(config);
+93
View File
@@ -0,0 +1,93 @@
{
"name": "@llamaindex/doc",
"version": "0.1.7",
"private": true,
"scripts": {
"build": "pnpm run build:docs && next build",
"dev": "next dev",
"start": "next start",
"postdev": "fumadocs-mdx",
"postbuild": "fumadocs-mdx && tsx scripts/post-build.mts",
"build:docs": "cross-env NODE_OPTIONS=\"--max-old-space-size=8192\" typedoc && node ./scripts/generate-docs.mjs"
},
"dependencies": {
"@icons-pack/react-simple-icons": "^10.1.0",
"@llamaindex/chat-ui": "0.0.9",
"@llamaindex/cloud": "workspace:*",
"@llamaindex/core": "workspace:*",
"@llamaindex/node-parser": "workspace:*",
"@llamaindex/openai": "workspace:*",
"@llamaindex/readers": "workspace:*",
"@llamaindex/workflow": "workspace:*",
"@mdx-js/mdx": "^3.1.0",
"@number-flow/react": "^0.3.4",
"@radix-ui/react-dialog": "^1.1.2",
"@radix-ui/react-icons": "^1.3.2",
"@radix-ui/react-label": "^2.1.0",
"@radix-ui/react-slider": "^1.2.1",
"@radix-ui/react-slot": "^1.1.0",
"@radix-ui/react-tooltip": "^1.1.4",
"@vercel/functions": "^1.5.0",
"@scalar/api-client-react": "^1.1.25",
"ai": "^3.4.33",
"class-variance-authority": "^0.7.0",
"clsx": "2.1.1",
"foxact": "^0.2.41",
"framer-motion": "^11.11.17",
"fumadocs-core": "^14.7.7",
"fumadocs-docgen": "^1.3.7",
"fumadocs-mdx": "^11.5.3",
"fumadocs-openapi": "^5.12.0",
"fumadocs-twoslash": "^2.0.3",
"fumadocs-typescript": "^3.0.3",
"fumadocs-ui": "^14.7.7",
"hast-util-to-jsx-runtime": "^2.3.2",
"llamaindex": "workspace:*",
"lucide-react": "^0.460.0",
"next": "15.1.7",
"next-themes": "^0.4.3",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"react-icons": "^5.3.0",
"react-monaco-editor": "^0.56.2",
"react-text-transition": "^3.1.0",
"react-use-measure": "^2.1.1",
"rehype-katex": "^7.0.1",
"remark-math": "^6.0.0",
"rimraf": "^6.0.1",
"shiki": "^2.3.2",
"shiki-magic-move": "^1.0.0",
"swr": "^2.2.5",
"tailwind-merge": "^2.5.2",
"tailwindcss-animate": "^1.0.7",
"tree-sitter": "^0.22.1",
"tree-sitter-typescript": "^0.23.2",
"use-stick-to-bottom": "^1.0.42",
"web-tree-sitter": "^0.24.4",
"zod": "^3.23.8"
},
"devDependencies": {
"@next/env": "^15.0.3",
"@types/mdx": "^2.0.13",
"@types/node": "22.9.0",
"@types/react": "^18.3.12",
"@types/react-dom": "^18.3.1",
"autoprefixer": "^10.4.20",
"cross-env": "^7.0.3",
"fast-glob": "^3.3.2",
"gray-matter": "^4.0.3",
"monaco-editor-webpack-plugin": "^7.1.0",
"postcss": "^8.4.49",
"raw-loader": "^4.0.2",
"remark": "^15.0.1",
"remark-gfm": "^4.0.0",
"remark-mdx": "^3.1.0",
"remark-stringify": "^11.0.0",
"tailwindcss": "^3.4.15",
"tsx": "^4.19.2",
"typedoc": "0.27.4",
"typedoc-plugin-markdown": "^4.3.1",
"typedoc-plugin-merge-modules": "^6.1.0",
"typescript": "^5.7.2"
}
}
+6
View File
@@ -0,0 +1,6 @@
module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
};
Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 867 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 304 182" style="enable-background:new 0 0 304 182;" xml:space="preserve">
<style type="text/css">
.st0{fill:#252F3E;}
.st1{fill-rule:evenodd;clip-rule:evenodd;fill:#FF9900;}
</style>
<g>
<path class="st0" d="M86.4,66.4c0,3.7,0.4,6.7,1.1,8.9c0.8,2.2,1.8,4.6,3.2,7.2c0.5,0.8,0.7,1.6,0.7,2.3c0,1-0.6,2-1.9,3l-6.3,4.2
c-0.9,0.6-1.8,0.9-2.6,0.9c-1,0-2-0.5-3-1.4C76.2,90,75,88.4,74,86.8c-1-1.7-2-3.6-3.1-5.9c-7.8,9.2-17.6,13.8-29.4,13.8
c-8.4,0-15.1-2.4-20-7.2c-4.9-4.8-7.4-11.2-7.4-19.2c0-8.5,3-15.4,9.1-20.6c6.1-5.2,14.2-7.8,24.5-7.8c3.4,0,6.9,0.3,10.6,0.8
c3.7,0.5,7.5,1.3,11.5,2.2v-7.3c0-7.6-1.6-12.9-4.7-16c-3.2-3.1-8.6-4.6-16.3-4.6c-3.5,0-7.1,0.4-10.8,1.3c-3.7,0.9-7.3,2-10.8,3.4
c-1.6,0.7-2.8,1.1-3.5,1.3c-0.7,0.2-1.2,0.3-1.6,0.3c-1.4,0-2.1-1-2.1-3.1v-4.9c0-1.6,0.2-2.8,0.7-3.5c0.5-0.7,1.4-1.4,2.8-2.1
c3.5-1.8,7.7-3.3,12.6-4.5c4.9-1.3,10.1-1.9,15.6-1.9c11.9,0,20.6,2.7,26.2,8.1c5.5,5.4,8.3,13.6,8.3,24.6V66.4z M45.8,81.6
c3.3,0,6.7-0.6,10.3-1.8c3.6-1.2,6.8-3.4,9.5-6.4c1.6-1.9,2.8-4,3.4-6.4c0.6-2.4,1-5.3,1-8.7v-4.2c-2.9-0.7-6-1.3-9.2-1.7
c-3.2-0.4-6.3-0.6-9.4-0.6c-6.7,0-11.6,1.3-14.9,4c-3.3,2.7-4.9,6.5-4.9,11.5c0,4.7,1.2,8.2,3.7,10.6
C37.7,80.4,41.2,81.6,45.8,81.6z M126.1,92.4c-1.8,0-3-0.3-3.8-1c-0.8-0.6-1.5-2-2.1-3.9L96.7,10.2c-0.6-2-0.9-3.3-0.9-4
c0-1.6,0.8-2.5,2.4-2.5h9.8c1.9,0,3.2,0.3,3.9,1c0.8,0.6,1.4,2,2,3.9l16.8,66.2l15.6-66.2c0.5-2,1.1-3.3,1.9-3.9c0.8-0.6,2.2-1,4-1
h8c1.9,0,3.2,0.3,4,1c0.8,0.6,1.5,2,1.9,3.9l15.8,67l17.3-67c0.6-2,1.3-3.3,2-3.9c0.8-0.6,2.1-1,3.9-1h9.3c1.6,0,2.5,0.8,2.5,2.5
c0,0.5-0.1,1-0.2,1.6c-0.1,0.6-0.3,1.4-0.7,2.5l-24.1,77.3c-0.6,2-1.3,3.3-2.1,3.9c-0.8,0.6-2.1,1-3.8,1h-8.6c-1.9,0-3.2-0.3-4-1
c-0.8-0.7-1.5-2-1.9-4L156,23l-15.4,64.4c-0.5,2-1.1,3.3-1.9,4c-0.8,0.7-2.2,1-4,1H126.1z M254.6,95.1c-5.2,0-10.4-0.6-15.4-1.8
c-5-1.2-8.9-2.5-11.5-4c-1.6-0.9-2.7-1.9-3.1-2.8c-0.4-0.9-0.6-1.9-0.6-2.8v-5.1c0-2.1,0.8-3.1,2.3-3.1c0.6,0,1.2,0.1,1.8,0.3
c0.6,0.2,1.5,0.6,2.5,1c3.4,1.5,7.1,2.7,11,3.5c4,0.8,7.9,1.2,11.9,1.2c6.3,0,11.2-1.1,14.6-3.3c3.4-2.2,5.2-5.4,5.2-9.5
c0-2.8-0.9-5.1-2.7-7c-1.8-1.9-5.2-3.6-10.1-5.2L246,52c-7.3-2.3-12.7-5.7-16-10.2c-3.3-4.4-5-9.3-5-14.5c0-4.2,0.9-7.9,2.7-11.1
c1.8-3.2,4.2-6,7.2-8.2c3-2.3,6.4-4,10.4-5.2c4-1.2,8.2-1.7,12.6-1.7c2.2,0,4.5,0.1,6.7,0.4c2.3,0.3,4.4,0.7,6.5,1.1
c2,0.5,3.9,1,5.7,1.6c1.8,0.6,3.2,1.2,4.2,1.8c1.4,0.8,2.4,1.6,3,2.5c0.6,0.8,0.9,1.9,0.9,3.3v4.7c0,2.1-0.8,3.2-2.3,3.2
c-0.8,0-2.1-0.4-3.8-1.2c-5.7-2.6-12.1-3.9-19.2-3.9c-5.7,0-10.2,0.9-13.3,2.8c-3.1,1.9-4.7,4.8-4.7,8.9c0,2.8,1,5.2,3,7.1
c2,1.9,5.7,3.8,11,5.5l14.2,4.5c7.2,2.3,12.4,5.5,15.5,9.6c3.1,4.1,4.6,8.8,4.6,14c0,4.3-0.9,8.2-2.6,11.6
c-1.8,3.4-4.2,6.4-7.3,8.8c-3.1,2.5-6.8,4.3-11.1,5.6C264.4,94.4,259.7,95.1,254.6,95.1z"/>
<g>
<path class="st1" d="M273.5,143.7c-32.9,24.3-80.7,37.2-121.8,37.2c-57.6,0-109.5-21.3-148.7-56.7c-3.1-2.8-0.3-6.6,3.4-4.4
c42.4,24.6,94.7,39.5,148.8,39.5c36.5,0,76.6-7.6,113.5-23.2C274.2,133.6,278.9,139.7,273.5,143.7z"/>
<path class="st1" d="M287.2,128.1c-4.2-5.4-27.8-2.6-38.5-1.3c-3.2,0.4-3.7-2.4-0.8-4.5c18.8-13.2,49.7-9.4,53.3-5
c3.6,4.5-1,35.4-18.6,50.2c-2.7,2.3-5.3,1.1-4.1-1.9C282.5,155.7,291.4,133.4,287.2,128.1z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.6 KiB

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 272 92" width="272" height="92"><path fill="#EA4335" d="M115.75 47.18c0 12.77-9.99 22.18-22.25 22.18s-22.25-9.41-22.25-22.18C71.25 34.32 81.24 25 93.5 25s22.25 9.32 22.25 22.18zm-9.74 0c0-7.98-5.79-13.44-12.51-13.44S80.99 39.2 80.99 47.18c0 7.9 5.79 13.44 12.51 13.44s12.51-5.55 12.51-13.44z"/><path fill="#FBBC05" d="M163.75 47.18c0 12.77-9.99 22.18-22.25 22.18s-22.25-9.41-22.25-22.18c0-12.85 9.99-22.18 22.25-22.18s22.25 9.32 22.25 22.18zm-9.74 0c0-7.98-5.79-13.44-12.51-13.44s-12.51 5.46-12.51 13.44c0 7.9 5.79 13.44 12.51 13.44s12.51-5.55 12.51-13.44z"/><path fill="#4285F4" d="M209.75 26.34v39.82c0 16.38-9.66 23.07-21.08 23.07-10.75 0-17.22-7.19-19.66-13.07l8.48-3.53c1.51 3.61 5.21 7.87 11.17 7.87 7.31 0 11.84-4.51 11.84-13v-3.19h-.34c-2.18 2.69-6.38 5.04-11.68 5.04-11.09 0-21.25-9.66-21.25-22.09 0-12.52 10.16-22.26 21.25-22.26 5.29 0 9.49 2.35 11.68 4.96h.34v-3.61h9.25zm-8.56 20.92c0-7.81-5.21-13.52-11.84-13.52-6.72 0-12.35 5.71-12.35 13.52 0 7.73 5.63 13.36 12.35 13.36 6.63 0 11.84-5.63 11.84-13.36z"/><path fill="#34A853" d="M225 3v65h-9.5V3h9.5z"/><path fill="#EA4335" d="M262.02 54.48l7.56 5.04c-2.44 3.61-8.32 9.83-18.48 9.83-12.6 0-22.01-9.74-22.01-22.18 0-13.19 9.49-22.18 20.92-22.18 11.51 0 17.14 9.16 18.98 14.11l1.01 2.52-29.65 12.28c2.27 4.45 5.8 6.72 10.75 6.72 4.96 0 8.4-2.44 10.92-6.14zm-23.27-7.98l19.82-8.23c-1.09-2.77-4.37-4.7-8.23-4.7-4.95 0-11.84 4.37-11.59 12.93z"/><path fill="#4285F4" d="M35.29 41.41V32H67c.31 1.64.47 3.58.47 5.68 0 7.06-1.93 15.79-8.15 22.01-6.05 6.3-13.78 9.66-24.02 9.66C16.32 69.35.36 53.89.36 34.91.36 15.93 16.32.47 35.3.47c10.5 0 17.98 4.12 23.6 9.49l-6.64 6.64c-4.03-3.78-9.49-6.72-16.97-6.72-13.86 0-24.7 11.17-24.7 25.03 0 13.86 10.84 25.03 24.7 25.03 8.99 0 14.11-3.61 17.39-6.89 2.66-2.66 4.41-6.46 5.1-11.65l-22.49.01z"/></svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

+654
View File
@@ -0,0 +1,654 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 28.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg [
<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
]>
<svg version="1.2" baseProfile="tiny" id="Layer_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 1000 341.5"
overflow="visible" xml:space="preserve">
<switch>
<foreignObject requiredExtensions="&ns_ai;" x="0" y="0" width="1" height="1">
<i:aipgfRef xlink:href="#adobe_illustrator_pgf">
</i:aipgfRef>
</foreignObject>
<g i:extraneous="self">
<path d="M556,7.1c-62.1,0-112.4,50.3-112.4,112.4S493.9,232,556,232s112.4-50.3,112.4-112.4c0,0,0,0,0,0
C668.3,57.5,618,7.2,556,7.1z M556,189.8c-38.8,0-70.3-31.5-70.3-70.3c0-38.8,31.5-70.3,70.3-70.3c38.8,0,70.3,31.5,70.3,70.3
C626.2,158.3,594.7,189.8,556,189.8L556,189.8z"/>
<path d="M131.6,6.5C69.5,6,18.7,55.8,18.1,117.9C17.5,180,67.4,230.8,129.5,231.4c0.7,0,1.4,0,2.1,0h37v-42.1h-37
c-38.8,0.5-70.6-30.6-71.1-69.4s30.6-70.6,69.4-71.1c0.5,0,1.1,0,1.6,0c38.7,0,70.4,31.5,70.4,70.3l0,0v103.5l0,0
c0,38.5-31.3,69.8-69.7,70.3c-18.4-0.2-35.9-7.5-48.9-20.6L53.5,302c20.7,20.8,48.7,32.6,78,32.9l0,0h1.5l0,0
c61.3-0.9,110.6-50.6,110.9-111.9V116.2C242.4,55.2,192.5,6.6,131.6,6.5z"/>
<path d="M918.6,330.1V116.8c-1.5-61-51.4-109.6-112.4-109.7c-62.1-0.6-112.9,49.3-113.5,111.4S742.1,231.4,804.2,232
c0.7,0,1.4,0,2.1,0h37v-42.1h-37c-38.8,0.5-70.6-30.6-71.1-69.4s30.6-70.6,69.4-71.1c0.5,0,1.1,0,1.6,0
c38.7,0,70.4,31.5,70.4,70.3l0,0v210.1l0,0L918.6,330.1z"/>
<path d="M276.1,232h42V119.6c0-38.8,31.5-70.3,70.3-70.3c12.8,0,24.7,3.4,35.1,9.4l21.1-36.5c-16.5-9.5-35.7-15-56.1-15
c-62.1,0-112.4,50.3-112.4,112.4L276.1,232z"/>
<g>
<path d="M950.3,10c3.2,1.8,5.7,4.3,7.5,7.5c1.8,3.2,2.7,6.7,2.7,10.6c0,3.9-0.9,7.4-2.8,10.7c-1.9,3.2-4.4,5.8-7.6,7.6
c-3.2,1.9-6.8,2.8-10.6,2.8s-7.4-0.9-10.6-2.8c-3.2-1.9-5.7-4.4-7.5-7.6c-1.8-3.2-2.8-6.7-2.8-10.6c0-3.8,0.9-7.4,2.8-10.6
c1.8-3.2,4.4-5.7,7.6-7.6s6.8-2.8,10.7-2.8C943.6,7.2,947.1,8.1,950.3,10z M948.2,43c2.6-1.5,4.6-3.6,6.1-6.2
c1.5-2.6,2.2-5.5,2.2-8.7c0-3.2-0.7-6.1-2.2-8.7s-3.5-4.6-6-6.1c-2.6-1.5-5.5-2.2-8.7-2.2c-3.2,0-6.1,0.8-8.7,2.3
c-2.6,1.5-4.6,3.6-6.1,6.2c-1.5,2.6-2.2,5.5-2.2,8.7c0,3.2,0.7,6.1,2.2,8.7c1.5,2.6,3.5,4.7,6,6.2c2.6,1.5,5.4,2.3,8.6,2.3
C942.7,45.3,945.6,44.5,948.2,43z M949.5,29.2c-0.7,1.2-1.8,2.1-3.2,2.8l5,7.7h-6.2l-4.3-6.7h-0.2h-3.9v6.7h-6.2v-23h10
c3.1,0,5.6,0.7,7.4,2.2c1.8,1.5,2.7,3.5,2.7,6C950.6,26.5,950.2,28,949.5,29.2z M940.1,28.4c1.4,0,2.5-0.3,3.2-0.9
c0.8-0.6,1.2-1.5,1.2-2.6c0-1.1-0.4-2-1.2-2.7s-1.9-0.9-3.2-0.9h-3.5v7.2H940.1z"/>
</g>
</g>
</switch>
<i:aipgf id="adobe_illustrator_pgf" i:pgfEncoding="zstd/base64" i:pgfVersion="24">
<![CDATA[
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
]]>
<![CDATA[
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
]]>
<![CDATA[
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
]]>
<![CDATA[
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
]]>
<![CDATA[
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
]]>
<![CDATA[
axSweofigwf63801QU/kDYxJWIh3YOUhhsuyQV/3tzu9Rpzm/hWEBDErFnEx5NRQaxTj4dAptjAi
g/OSekWk8GUozkpco6DyBMlCyMR4dqALv7Bb3ocj1Eui9MUCn45O3/wwTSMDwVB8uEoSUlm8ef6v
FDEDt55RulEwqI0tv/S1eKmkxZqAvlWswv+x/hWt5fZfPXY9MJepnfn8EWrXTSTtE5Z5Sq2yc886
3ZORQJ5OkcpCcx8Y4cpD+XvI5mIw5Iqln1I1vMBl0O+tGIBPZuJObaEgKeRcSmUzQPRAkkYocqld
7mDjnZREp4XpcVyg9CRAQjVHbrJ0Ije1za9T+gUTBXjdC+DwZ75gVWOGgxporMigEIt/jZ7Unwev
m8/7kfCy9evU3IZYlcecLypjYeEbyCyeyLA4YKZLqm7Sq4fIl9JoZsDHOURgutevZMxpEhAJFBI2
U+1FUFoj+MZ014qg89d912a6mbzn8A1nQ0qjdE0Kpst+TLmj1st0KWUsTy99jyDTxW2f+I6B6ap5
jFQQV44s00VEvieX0YWCGVqk4EjNbG9QG+AICXbWTxu4MkIGNz85SUyA0P3Qr96PysBqZswIXaUE
HgwfKD+0jAaho8qgs7wBzeHg/I3LXMB+CjC9Uu+nQ3pEga86cIVW50Xziu9WHX6NlXnLrk5l9CgF
VKsyNLKi+FI4uxCDO6Tst5KBy684ShZqSlsc6ZVxPsxlsIyLwbCpCTfUxHACw7Rgdf3BUIaEpgUz
9p501BJicREP7SfTO8WrPj8WmCFjaAZLQkbLt+j16z7oFBzKg1MxM+vz0K1rtGaCkjSW6P6xuiTU
oN5xDFaZBC9fAFnuyLwkLnPtN02+//hhZYnSGvPLqnKDuL3+M4CcMcW+hx4HB7l2KT3GguJ3wKrn
c1BUDCcyuxo68ESDcpFrC98XK8Rx9+nX7Ol33ioMD2X6DWL0VeXQAOU5lhiHWc/TI2pxB+Y+fGpX
d7LREOTHHh+OcKGwpDjoyWpOCbL2AI9ZLkrwa5CEvrFZwpWCCOFUzHNEZlBdsIQTURrNERLUhz3+
C8Z5JuvhGQAE2aPyd5lXWd27pzLXcleIQV3LyvX9iPGPY4St5D/WH6etjUzuYCPmKGX+unfXYP7h
YEDHKzn1NTg5sLw8E7iVagWqr7myXmL8uMXV1//xYSngd/AY8XslMgVIxiJz4dGQi6IfU6McbSIf
6npnuhu8K76CyzjOOu2MqGuJwCVSEOTzDfrMapcIzWbk22k2PiZiTIqSbc3w9RpErAARy8Rwznw9
7FqyUUcqiD92WaZgCJvFfWPzzcHiHP+JtFdIKqrB7mzOf/mUnbMcQQQOSefPXhyhjDUZb6RDnjJ6
PfchADyIbyRop9lhQNuZOm+oecEeFxxEoNATx/p23Z7BCXMG1VwQU7UqdEIeLq0d/9CCwcZIRXfJ
VlXOu2H26O78BuZ3qlGuyPy1WyDj+TlX/ukEMJmJjWn8cfkqLe+SpoLCLnXYQGXBlbwbptfzo8lF
bULZYxuILRw+lg9pydlNO5poud/N4Epg5ZaMvN8gynAx4+qE+mGmqb1DSah7hX3kKrna7tIWsb6b
RuyzzFmAfIrCJmKUvLHlqviRCb6uhiqNBlmgqZNbNNCZnNkrp01o78zzGJXwlQ8cFmDX001Wu4c6
sHErzOBqRrumnLpCjkuBXaUvEb/6BnagrjpTDTj+l8/xAHQ5UsEuWEnU5bisbnU41gbQeNdf0q1s
JIsosAs51O1spopcobiBMBbsYp2eEEzjyF1hrjCAo6y3PIpysuqaW/qozUrEFUhbisXCYuBcMqxh
W1gQXshUhWNp+TlzYkrEMDmrLaCdBQAXTsYfeO/5l5uyLxCVRNG/SYUIjpdgxq2+1kfbFPss1fzu
1AFyiBYRy9NTF/BYT48wXjim6Be4HhO1kLd8zgkMTTafMKWiKcrPpV3hGNRSMdba68rSPZCmFTYe
X4MZc2d6xezR+7U+aNOfXE34gpoQszuvLQ5G+VE2B/gdjJ4aXm9jIb5b9E7lyg/wrl/BuZDSEVGa
OAntDjWKYcenjOuIr22JLX5HDMuz/QvvI1nEyGNScriR6YgBHnYr3gvrn1sj/ff4DBDzI6axko3n
w0tyDBGtcnj2qyVvgn7zr3w4Bp6ANT5lnoF9QJ4cJCxi7PGda/mXKvocVZEUMZ9bZ13Z2oeNfdsj
/nq1EK4fGzL4vAnKLhW/Upb3qU8gxNmbxbh78uaMLWUxuVoGZKCTqKCyEG/6YeMKDCwxHNcZapyS
6CWgNw4INMAluITAkYJTxv7raFGr1JKvDUYYlMqVfvvflXnRBzr5cZ2Juy2RaUtFieR3+zDRGf0o
g0Cc/dITlYprVd9VfJIG7dt8Xr0ztftqmCZ3WDRpqR7qZYE9oK1cqsnt/56AM8GTvKIl0l38XqMn
STA1tDrnFTLkpPDyqkYJrwcsxzovX9ebuWq00YTplnOKab1tvRoK+G7oR5bHlzioOFPldKoyvr4P
QXWziJ+V5fzVyAs5VSCnnJhyhtzGi6EMRaGfZ60csRWFAumUUdjcCNdYcjJV0B9fXFP6ZN+USbo1
jjKaRQf1Uhc/CBGeyiIcyWnrlgX4MppXCy8qEdIS7eGezqNZd81v+m9FojBgXQbnwIdOz1Ubj0mt
kcF+vPfnKsAdHSukPCH78bQPI6tvh8hbdexYjNUs2TULpCXPQjS7wgilu7P7+60xYY66jbdQy0nv
fcImrL1j/GfaKbzuF8C9fFzgB89kufuH9yZ6Ba8HmNnVwvKm1HjfuGFIVZHIUB++EacMO/cjpgtM
ZhbhSGP8lXSTYIaCmleuETHcaVDaILRdZZs1Wm0E+dKwHvGx+WeQg7h2ofxMNktmoUoGnDVoS01/
HWAJZ/MLzN8fA79J8yeKg363tca21/8gkJftLMvQTrX7hwCQCzgDtaxH5e0nAInrTtv4gOQnqECN
Q0Tm0e0Sw3FIE9VybhUO60l55uO7S0gAafQaYH5q9Wb7L2hOHubmgcl9+k5Snm45SMliwXpru1xJ
je95qJoDKzfzWlDDLkKYeArP36QH5iYp2IJCOIZynhOj+WOUAGW2ENEc83UwQ4u0AqKo7BjdT7/a
ArohVf3oajEU9DymR75uxrMkwbBAeKmL5HiKL8xHRiYKtMmaa8Rg8yXpTEcOEpgVo/YOnhVFntJ+
qUYlGMjnSQ8y+Srkt0pQ6iscJ0SYm8nw9Lv/R29IO5Yr2hg6pJMDFvjPX5YjmWmJzBTfeCupBbV2
6ieMFZcpvku+g6fNEXv1f8EkWauPNUlfwWugbNQ3w8jGqiGiL9+at+btwHcNibIe2FBVyTXls8eC
6HIo5x7W5ztVQTHGlzVG6hImZCao4ZKoo4Rl61jnHvfDB3VaDscXSEHkG5JTWpqmxYj8FnHvw7jX
NTlNTA0Kcut0JjO+stcPHz9ckj06PdX4rZZ1ZNc12q8p3/b+cc1EBoBkZZIlTW92MgNRkcTAZ5hn
almn2AwjIe4chAL34ieznYCBbt9iO617/6KpN+sqNDbKSxm/MOKiFbai5qjYP7K8J6y1e6Mx0M2Z
vOycimwxZB11PY6maZRyWPoUoimiIjITBI4wXDzwVcaqo17JgD22DhWjNCs1/lSYoFbee4CREHZ+
eX0jA0CN9wyyYOnSE1iYOVebWc+VHZ7lkyL4F5CZYNHHGPYQ4QmjM6EIuwNZPlJbEhHyyo/X5miD
ke5t6s19MIY9jxJ0kSp7eg4vuc/OK48BM+CpBUL8S7PgYbq++BQTjoabNFVB4+HRxuAa0opPL9wl
zozPDc/76KN4aPw2xr/usig8BHGPGbtKM55DcdHL9i0DW4WgCQdHt8VFzX6ZswtRNkyCbYQyNQGL
N3LWiTX6pMLEnQ1/ruVUoVhUym8wpTLswo4NtYO7eBfGQU6d0lcGfYgMkTKYJySl+HgPQCpbqxgv
lKcEYgdgBXK4tQQEuaIGR6qCHzYjK5THREKoM18zpn/8ksIzTL1+Zhu8AXisC9leEHd8Dy0mjeHI
VhllU5keV9KUz2XzTwsKHN6sFqHNhrX48HdvA++xKFYehehkumRdK2Q2eTwSavZv1PdLsmMqiR7P
ETXh6Z43jlKJl4LmuS9pqkUBaB+H6FHqjB0adH9lQLyQVKJLVRDaXgUAuOte6Z1sl8XrDz9T7WuS
bMcoC+T+A2frw9iN+6ZakzFc1lP6sSdS1EAq9fkZZw3l1Xn8rJYGDKjnGhnHZMLvXYFs28xRQwuk
7sm8Vl+vevJrQIeHmJ/YaS+g7AHIFzYQPgYxOEuom0wZqG7RPMf2xPrma8VI9i6WOkjfYP3PIDt0
sMfwZacoYI1fUr5H4Xfhgb4E/CyROPvZZsDlyeqystIbByQyrXkE9p/dP2AVXS4m92I3KIHsqzHE
1cAxyyT4Af3nSJuR0mn2Mdauir+3PTdvtyU6y2VxfAyVKmRCjZEFo+FLKL2/eVRK0hrvuUwAFQ5n
6tUNF9J/vh5jBFlN2grjG2e3rylpH6cFzlEZMu8dCSJuZqg1jITGFSmcJmyih6i1NRxOzFBko9Y9
aowvUWj/LQjvyxbCM4KRs/D2XyjHxPAENV7i5r0J7ZPXJ8CV1RSP5JX75eIiPKDMzmBOX777f/c1
TDp1Aub/u/4U0MOjKwn0SoEYtjtgTK5MDuDe98NYcE34KBR8ktINy5xYOzCQJp1SiLxzGAtkxe7x
gWC1T+b0JmnS/uFkbHLuv9pYVbMyLJT2UgoLCQLgayExpJMCYggpsz+TGnUS87RTiR10+KTz2lM6
vUiwlDxRl2sRtM68thrS+qAQUcKUWaGXrKB/zJZwuQmFK8fKWIwGJeBBpNDK7hDLw++IDjcLVUYu
OMo4n/gW525C+EMpKpRNFzcByWV4B1glf7Ainc1DRLIE0TDGicMtUEFmeR6WacYoyfktNHU0T70m
QUUBnVW+N8OCSF59oqHhm8AJ9CAxStWp4PmdiH9kkVUqI7gHVoLh0NVpsywasxbAJOEEhki9K+10
bkZRyNiIwvsixcm2hBMrXm+icSyIG/l1iu3M4wal1xGgVhXTQo1KRzjaADrLIl+yHKhCWfcj/gq2
nAf54Bw/mM6SvIKXkNGVIkcL8U1i8riAUNlyqEaImrjQZpYzWjla5Gb6sGqkosVNLwiKZr4wI17Q
RJBDxeKby0kKuumHeuTv5/tdOPkuTyun4+gUsICmN8ZvfdbJXReD9QOyDFwmmtxd5C9v7twvE8gn
B8a9Ne7kl8Mz1tZqzU8nrasKnN8LFD/DdvqimMqg36m8JpR+3XeenRE5PYIhY9POZZtUMjpmDPxO
5BCUeOiCaSlQ3Bp+OzSQB6pde+OTvW2EsP5ZCI41ehx+GoWQ0SbWq/n5KEY/7RiebfY5yMvWc5Dn
LaJSXcUJlLHJrdDVT6WQKlr0drxnfQ/gKVL1A+qf91d9i0UPHUW6VO4CH1r2x653ag==
]]>
<![CDATA[
wA/p8jTAghdHbISxiWVLChzuk3IQGhy02f2bodwFE6TunqSOD+7tWhJzYtzuuoB7I4DD/WxOz5cy
Xm2WWUnGZeDWiI+kL+GhkBUGJwzWBhB4R5dmUU2TNijCbs6eFebR/fY48cPN+WtewZqDfrEwiSw7
QzUH4XkwsWu/1dEpImZEhnUDO/FFhCYtw+uKpvNR3RAQqVRdmEuO2W0ATpGRHakneETKC4EaTy6U
ReK+qV5lQoKHhwVexEMOs47JtGTi/t46cGOr9kZjGE0CxzVPntVxANdQB1lwYy5ni8KSGNVFkbKy
zwxpvayz1KlK35XTCscRlySTPjLg5nhy4eOp+xI3NxBCD5E7/Si/C9X45eARIT90SJZfxgpqK4dh
e2nYb3sFMcPOKS4C+P6lbNDPwuEaZIIUTlEmIVO4ptsiD0OQnh6taT+4D+P5C9hveizHZoZtg0zg
EWqKriexG/6cmFS8Fq2JvZdgDvioOsWoRMJqrYo00teTexWDD7nVsXMdu0SrfJRARHQQMvgNbT2i
A6pDpB2aWrPXldclemtEtvhgvnCejY2cK82KAQrF5iJI1zq9aiE4yYLZAd0crvcDHGMQzdXMR5kF
ngtLrRE5G6HnFG8CoSXfnC1lhoSg/YHthXYVD7ZtDoBI9hhYQRVdZ/6nRdq/UQkivmWgw53xz8SE
aPM8Q73dHk2oxKZcTFZvGLjEvoyRpdKLoecl1jfLDv6GFUSUGPtRMEjzLR9q9NTIayhVhCauNC5R
3GAYR77bwL6KkbZzyhrQk6qGgH/ZDtcWs8zoUIKCj7DroOlWXJhpxvzIFmha0AYlzadGpWPmiPtK
B2JD6oJ3LHdrz5RHvpufcwjiSaeOqlcDDw3wQCSqZBfyAu8Bs0o8Jz2IGo1gl/V+w4mxR+U/75nK
HAlMDPXBokzRD7z9S+75fkftugpGiqBoSo9xpPNHTTUMP75PDGPRgHewithGDg+ipuAxjxxu5CgP
qj3ZtC5GyOZAlWs3FviKeM98NUKHxqZuk8eUFH7ikkmMTvf2Nc2d4ds3D/lGqR0b7a+na/all1Wh
FqRyl5ymI8y0EDt4mEup0beXZUUQkVLNDyRFdUdU0/uBFAN3UNBluYhwi388HR1tIzXQVpliSoa1
GliLsU26+EmGKxD5XQZsvGwu7Ihyu4rAjhV5Kp7H1/UhVoRqjLFJmnzWkViHhnSXtFRRu1AObxVR
y81+9TpRTdCg10zalwu4IOSHDOHnoYtXuZO8k0ialdmMpDTgmm9KANn0K4wtycFk4u9vUG/nfxYo
f8HRwz0IbY5qw8ooYAZIBLky5K+HRagWhlVW5tzqggX4IjsA47GdH8kjGTtLd505I5aenf57l9OM
kbKIESQoP01Wbbl+BCeyAA6qT+ubDEfrAJxsqv3ldpzFxD4aTgBzSmNRP35ihwibpmDaZMh9FzYT
TEH7IAw9Hm41OzBYu4dNGUI9Ab88nkfpUaQlpyXQoCCvMqDjmcVE67TFYLeMizniBxvbwz8owl7k
WDgjjZoW+8yjedOKH0GixdDHLA+sNPhXPiXC8ZDgeM+IAQ7I1xw/6+43CRanWs3gbHS+To17VlgE
Y3FZJo41DrRD23sQM5vYZDhHi8mjFM20PPCo5IZ4oc3qB9oE81Y5qs7Ve6v0HersIAAE12R9gjGU
HitIe/6x+bxKGK2nROesW2cbu4XmgJFMG6VmMHcDMDVOiXGT0xBekyz7OBiJVX8KVRJIagS44qVb
4kUMzzMrRuihrk4T+snBwDy2ELjxEkKfBtp7sEDn/ykGW5n7FFjFel4AZmvhRC+ehMNJn8ykIYz7
DjP3MQrmSpbvQ5H5FDKMMYKkPHWRDEAILjQsgLmRDrTcTK6dwxFHEkxs+23ucb3hiTxk0GFFUEGI
xyoSkV1tRnCguHWSa4HIEYIpk5PBk6R0FoTSvT4RN1ThVH/AnYcPR1oeiiVd6cGekV3xpyehj58z
pnue+etQtS7lzWQ4/2cY0K4phLRegvloSBtoZh0rBDxiLgFxylejrHLAjbG2UnRU7UQ76uWbJ21k
vuS6E73v1sxAtMGZGTUinhL+OgGgEzE1fr82iAPhGNlNpG/+QApCAaUOZmDSjwf0lqB9yI4RGaLP
mVRo8Bjo0RJ+ZJe+wcoh9o83ntw+CHTwANyTZGFFFgFge4KMuVUqGcKCd3fYfa+A4cS4aKx6NW7w
XKrRRVeM4j1mLG7XdIRlAjSBGct9HRfKjtVRExk39LkNxaGCwSw9YnpHf2fwYClBevUH7OUSQPzP
Sws5YbLCssnYM14KpRcLQyS5YrBBinq/2gsrFnDs7SjuUgbQsrik1zr5XaOCQuRZ6+JLryzLff9F
6iVmU3/cK+UAVzFfiYp8wgYRPa3V6XEvmQvwkDapDyLpjElLzV5v5bgjBpiKQcUb5850xBgFeVSx
TTN+ateo+JtbyLJDJoRw5Or0gPc5MxyZ/ryPnBePNnjo8dGpafKy+hEJoSsG9Ay4/cvOGPfHQcN5
9cEOtIMdoLj81OitZZartpTqqBOJrfWIm8ts7HYizBX7nwpxo2SrYpsumEd+vhmIPRQMp7mRR/gw
gTrBn7JKgVG+APSinsM/XVmKJYw+YIToGNzauhPWX4PJjLnEPm1xywsMZnHkW/fAV1tYfqcdno97
tWt5O4i6gK58fXuZ5ThxBeIdGq79AIioVp3Hdu0vMoaGMsOjMcUCxdeTrUKlQyFCAJuIRNsy71NE
5zmyFD9aS7R8pmDMVD5ISGnWFeMgftVhJg6kpsyryubl/BgOMIvBNiyhIbsAlpSry+eaGWH9LJvS
O1CBFP/GQaapuCy347qqgXKpxnQT9zUMNKM50RivGgnrdVwtuVYOOASKkwfepBcjeO3pvu/j/kuJ
l+TUQIOpXxwwkFQ3IEBisG6T+LOf5ENLD1sOKFuP4RpYrUYNEAwqDu+FK5FBv8XIDVJQMLMV3UAJ
iRQeoZg5EcfEbhzswtg5loJzaAP8BdAXUzYjnYHvE5ooSFk0Au04aDsG0v2XHmoQwuJPGzVhApf5
kmvLt88itLCCmLKPYrZPTufb5L+EWhI8PFILN4zcqU4i1iHadagN8vyD6h7YdnSUjiyOstUGQmCU
kAsO3PQWYlFxkijkYgKLlCARGiI6IURoH+rCA2AOpU0DdsYmz4LZlSCzDniEptrtTVCFCCeUuVQX
ipDHqEGx7JdPvHFSLW+mdBSsx6YQCTr9A5xCuXeoJa2giwItqSYUQIj7oNtsAk50hwOwhDECx2mq
pS5eTod11PfYWzd//ubtniRamSodwQDsYVLVshfzIoJGog2n7Dac1NOYcnydP9pOpLd7NBCTewx/
YriCIeAXMVzvEVQW/Ja02V2D0z3NV21wZWyHN1sjEv3InUoN9amXKZo12dVcNJkcQkQENGonOlG3
vBV1KRK4s0+0DH7sQTJy0xAYpZJHVCvhn756aZlahP+Dh07KJmtr24Ik8g9MS6nFKxMoMLihzYG7
4lxDNRXKlGpk3kkZBR8cxaKsW+B+th5gOayBtAWaecdBYcYK8YXFi7Govf2UNslXYlFh/KFD7qDI
66ccg4Y3q95K65n1lfGhGflryB85U/3TBENNXqVSFedL/992UbTVoyxrYVV7j7BrTDGSGm7OnQz3
vzAJg/Y/Smu19F84ulO/RGzuzy5GL+Dkw+wn/ycqJf8BBb0ACmOtMy9wyElK2r2z1lCxaJADrZ9L
/YewZxh7iNG2srt7Z+T1GIBpt+YDJWsD5SwuJjQ+A2YEuwK8Avuy+uDRtkw10TPH9hKO4kV0XWWd
rtLher4vuf5VajHazShtlUP4UqmHRpVwlFW76ZHV63y0VXh7Sl1uQ1WcU9N8HeqNzpO+xETJu1r0
ng7H54RCoQwSDizXN2v3TkzfnVYVL+V3T+1WY12lyzhK/XZa+y936ZunLd/ZrJd4FK+Pas+uZod1
515lHbdGEQum6ViYhKd0VXk0akw8itLaXtMQD89FCxf3e0k3Sy5lTyPNtWKWZb81NJ09F9z7fZR4
lFK69OFtx3/Jo6dZGW7h16pFY/qCPl8Ljb8ps3L2322PRkssOtSptcREOT3FTMwsszr8+cadu3ug
UEKhOEmxUS5ZESEhsVEoWYCHQslGoUQEJFFAxceGCCoWFlESKBQamEDFxwaGCEhSYaNQkoCOYuEC
IcGgo1ChK1TuXvQumyMSUEGEDUkgCST5IQmGMTAuLi7m4iKChS0sBpJEsLDAgCQPIAkk4eCgUowg
gZHABhcsQcNlRCRMiIgGBgRAHBs0kAFBI2MDCMeFHUCRoSIDAgQQIAwYGEJc8KBYB6WR4sSEyGC4
jAhR4GHCCXCB4YRNCgQ2HFCAA3g4seGBPpBgqMIEDKgCQ2PDBwIsJkA48QCIBDBkgACCDQsD6IS6
UEACB40PDTZk2HDgwwEbheJjgwwYkESCDxIWR2CIAo0DLFCLYySAEQICbYQPBAoTwIAEnQkVGKQU
ZKhgwYKFRihwVECBBRY4GIjLiFiJDAgUiMuIQOhQQUaEQFxGhB6wQKBAQBL8cAZwcAAK9SHELTh9
+OAhQsKHy4igCQUq3KrDZUROdHCHy4hYgMAgI0IdMDpcRgSDgwOFd0gGKBySmAQVogIMsgSXEaEN
Iz5UKICDFRFslNAPIC6QcLBBxU1YoIODxScEwAIGi0/gUECDAYs3IMFlRCSYBIt/iMBQE3DwMIfL
iGgDDHgYg8NlRLyABA9PyHCRQDrwuOBwGZGJlMCAw2VECgIGMNgaLiNSFiRgIA0HGDwarMQFDRAm
uKDhMiIRUEy44BIcG2A4EOm4cECDBxduAMPCcNyDiwUOgh/MqRBxGZGBoOKjgrtAwIaMiAUiEpAh
BAQMDEBIEqI0OlTYcAAArAUFRhwwgkMDeoDgAggODyQsfKCwggOCGRsdIgegFfbhGw1MqAqHwMAA
cuOAEwDIsCGAFBtkwBChcRHBxgYDAbDgEVBEwwYk2Q4JDpiByBO4GAsgyQMVF5AkARRSUIQKKC5E
DBiAigeQREOFChsFcQMU3sEDiQYOAMii0ICAwojcQKHABaaBKiLIgCGBAoNCo+MjI8MGJDGgY4SI
CwMKAQWwgCQQVnwjRYgQF9xxQAAOQBY0IBk2MlQQAgIMyAEoMLABAliRYSNFBhwJaDhQ8eEBsnhw
kEQDSLKig6mIaKApHByGDRARCAGoMA+cuNjo+MhgwQQDIFTgYECFp9DgvgGACAUZECT5sBXfoBBh
AJBaYAEPE1ywAyOGg8YGjQ0NjAFJIElGWnLLJvViliEqliZ5blmWSJ+5tqpD6FJnei9brM8XV8m6
e935X2oNka5n63yxrFHPp8MkP630o9bUYkmfkq0XjbSp6jHLhKNkGtGN+TxEtP31g6SljI5uEYsK
lSzPpImfRC1ou6tPLcz8lwwvlya9SUep+7DoNBfHfhMF7+53l2lVYxfzTYdkZDjqRQ==
]]>
<![CDATA[
Z5Bw3N6JMPVsubV7rZuvyxlp9+hYH9SXIzyvkRRrbk86ijfvrNSUn/vXReobrezsZbTkXS0TGfeo
nryyV3SYStebspdrkkuprLZsstj/3EIy/dgu/aiOZpoqJx0Jh9ndJeqllf9KHSxf79lfTc/JpdaY
drb69e7m60dSj2XSURB/Ncz9oc1WUcxU+u2pb8qk13JqfhbL8VTLpldNaZ1S5n3wylmZYvqu/eAW
tebV0e2ijlq5W/OU7KRdL1I6R618j1efl4sp1SoVIZVnreCPaFXPwqF0sbXa3SM63ZDq/mSqpdxR
uyPhKE/yrVppbf7CVCs77T/Gl0Tn6Wlu7piul6q5S/uhtBrRuFzQDvGchHqlvGrimc+ZhlR2abbp
tSqtS3fxVUR17x0lOYk83lK3eLv8tP9U1eqUaAgrz3UmQ9xz7hrd0Yaw3H3T5r3TubrYplmmpqF3
CIuW8SqfhWkyQpMpmuV8k45iPqlRpj+/jtOq6Y1cN4qI50U77+lQufjommpDOqkdeqiccJSywpMa
TemWlOymTpu9CyKd7PseDtmlDnMVrUqzJrFoolqp1GhjdLFrWslmSTfphKPccNeuurupv/jXVd2k
K426rH7tV6qGc/pyrSNDdeLhqAuqd6kq1zdXRWaq37NZTEwUNHtvS2e6at/83bhcF3GBgggmiJBk
kHRwlDy8f/NmGulZ6fx8ZlKSuqz4t5aLZlNFLRthevCYcBS7j063cOnIhZg3W7iJR/mnhYg2v+55
ty0WWs7VFrNMs13+NVVV1M8vFpl6Xptfm+Xt2u4s6+Ylwn+d5qTDnDuu3nlIky80TVs01NOpF9bu
kp4Ph16OkHTRm/eky6NcnlftMPVTtladMNfMZqnKHstf7/WuqXezvhmP0G5WLCIbf0seJpnUSWS3
tk/9+bsysruc+49r+ruzHX0anmaiUnl+5K+uDXGuNvG46d3R7uxma8s9NVUT11VIezVlW9DoPrUv
q3hTry7uoG3iUfS26pHtuX2xKsqzrE0P3ZZ0IabmOndwX/BwK+tkWlO3ZansT1P0ze6LlppKSdE7
d0tIlvaynFOVW5/VeNfEosQypOfOUZXXKdNqZaUsz36zlHgUq6OkTEKyKaPxmESnn/Q+ia5Dr1J1
RYTWI87eJh4lvXdPNSUae5Uvnc/wyHTytlyt1yet9eSr2CGeyqWmwduyr1KfiChnX8VuZt2fEX4V
S9c3ripWope17DV06xUZJB0c5e5LdaKqns7lkbYucz34Sjy08DBNa426SonHylEyu6vV0Vcpa95X
85Z0FNsrdZl8Neuq3KdtzCzhKKq4iU5T0rm+rFURa+pWfKqYo/qCtEVnuxtN2W59V3rSmCzxuNd+
VKvci151fqnNWhXX2apXy+pkibSaSh3Wq+6tdBp1JSbKZe2VXiruN2+kwbzeeiOk9KZOnoQIxUID
hEVNTLzD9sdUM9OxOxKOcjJC7/i1pHcv4uGWVpHql3Iw1XdDIjo6zVmlL+9eVrlpeddS9Vqa0VkN
VY1Xfmnh0UuYY/xV71PpHGYxPRbp5q7O3outDymLtHKsEun+K3rJpZVOoq9NT5WsV3qffUu6ZzhX
WRStvHZ+jWpLm8R0mp3OOsPxdTzvTmdH+CnDuqLioerNkZYratJTj1SptK5rq2OkCUexxKs1/Y2Y
pmdWpk+JhQcqQCAQSEKixAUbLOCEBikKiY8TKlKQ+ChRSJS4YAMSKi4oJBRwQYoSyQcJBBTggg8J
JEjoeAcPxQJCwWSEhwk6XmVms7xCjvKyuvrQy94sPpPIqJ9dpBca7Q9Hf/ZdtjEnn1nGy6PNOc1u
DP9To9IbcxW02qr8+jxmdUZUL+61kkjvNKtupbTXXfl2iao+wrnt7Vb+xmeXtaVVVHO/lUTmIdtM
Mkg8ypa+fFPO/Hd/t7pFt2OJB+6ZvfckHx71COn2bD8sxePS2Lj/KZnuUu96c3zpyf+W9W5XDZH2
Pi0P2trU6ieV4lQh6tlmtzT0DVX+ZoqWtThYu5d3N5R0IuvtbKNUpbCojPCbQ2tLN1LpPWebdBR8
nanPDHNMVZKIEGvvqMa3CUcx8+KNhIq2iqlXex+01Pvm+dLS9H6Kk7Ylf6RLY1fJtHVtLkwTJQ19
dzOkmrtK+VRrs1QFsdCWubfdm575+t6cqWKhc26beJx0vWj12rVZg7VFnbsnV9VSqaazcLUya3/S
PURVvCL6bWf3qXlastF60XFvojkt3n1H4xhhmutWU/9JKqu4ZHlfe4jK9q6wzgZdJY1UOf8W39OK
bFZ7mHiXF80+/vRob8evYkhktotVO/Yta0mkuOe8RLsx8bo1+C1FTsMvUuHgv2uLaht94g8JrbDw
tXnWtd2h2qJ4o7zeVpGV0MoQb6pQ7bR4NlibeGTWyXRvDb20rMipc9vypeva13LN+NMZc878s6XV
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
]]>
<![CDATA[
30u5gMQXtCf0pGs8eMi17B3Z4KTmwnmndi8JWA/E6YYPdiemkI782cC/SE0tWoNvjKBDejvvcPvs
JTV+XPuEr1zoJTFgk3YUJ/S+L1ypo7Y3NvjI/rpWr7kf3amtW2p0NoRGD3lvozrdcmaKq/5pGEth
oUdbquGOWwx2v7S5KshtZmgmVz5AlUwcAVe1SGoNEvBf1P3fLKDbc6IcR/QtG6pn7jlxpQ49NWlD
qr7w9o9v/A868sOZINyLoUsRAVnuhpYhNGgKFaTO74NWlCg8AkV6/ru7CKbfjkWMwbYP9LplJR6e
QKu4tpHhQdfaMNHKoH8U0SEtLWTlzXJMKm6xLG5Gow1RSp8ifGQMYoTGILVLHOpNjqwoxy2RWERW
zYqspItT0f4JrSgWlRZ4JPAiYJd4WwdkZ8K2BFZRaCj+U0i3V7P9mQ8c/nhAiwzHqOqbCdEOeyx3
l09R0/ZjYBu8tfqxBxD30P78QwM1M0gEniyKkKMfxh8BGu2MC6j47MHViG11wv3urpcqhx3qDznI
g1hLpF6JcK6OtxvuNm6RViaIT6Z53L1bjhuZhhwJkWMjeccnS6IDbKCBtwNQq7L5F0K6u3vwJor2
NKO704E328Ont4DGvzDL7LK17tjoMDcy9Nht3iepGkCFPmmALmx/iNC2F33EdPcHTKrzg3b8lQHc
XrUBQNu+4BTyc+C2CWnBfzxQ2vGx2TOjbXNIi+jfQ56z936nTESjV+altrfzrVXsEi9qG4/cntzZ
rM2TW0c2hEwLhmhbEq73LREyH2jzr0t0NNerpLZpU4BlMrWTz796Q9v2ZNBsV78sGUSUh/0i8UPX
Aw==
]]>
</i:aipgf>
</svg>

After

Width:  |  Height:  |  Size: 48 KiB

@@ -0,0 +1,23 @@
<svg width="150" height="150" viewBox="0 0 96 96" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="e399c19f-b68f-429d-b176-18c2117ff73c" x1="-1032.172" x2="-1059.213" y1="145.312" y2="65.426" gradientTransform="matrix(1 0 0 -1 1075 158)" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#114a8b"/>
<stop offset="1" stop-color="#0669bc"/>
</linearGradient>
<linearGradient id="ac2a6fc2-ca48-4327-9a3c-d4dcc3256e15" x1="-1023.725" x2="-1029.98" y1="108.083" y2="105.968" gradientTransform="matrix(1 0 0 -1 1075 158)" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-opacity=".3"/>
<stop offset=".071" stop-opacity=".2"/>
<stop offset=".321" stop-opacity=".1"/>
<stop offset=".623" stop-opacity=".05"/>
<stop offset="1" stop-opacity="0"/>
</linearGradient>
<linearGradient id="a7fee970-a784-4bb1-af8d-63d18e5f7db9" x1="-1027.165" x2="-997.482" y1="147.642" y2="68.561" gradientTransform="matrix(1 0 0 -1 1075 158)" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#3ccbf4"/>
<stop offset="1" stop-color="#2892df"/>
</linearGradient>
</defs>
<path fill="url(#e399c19f-b68f-429d-b176-18c2117ff73c)" d="M33.338 6.544h26.038l-27.03 80.087a4.152 4.152 0 0 1-3.933 2.824H8.149a4.145 4.145 0 0 1-3.928-5.47L29.404 9.368a4.152 4.152 0 0 1 3.934-2.825z"/>
<path fill="#0078d4" d="M71.175 60.261h-41.29a1.911 1.911 0 0 0-1.305 3.309l26.532 24.764a4.171 4.171 0 0 0 2.846 1.121h23.38z"/>
<path fill="url(#ac2a6fc2-ca48-4327-9a3c-d4dcc3256e15)" d="M33.338 6.544a4.118 4.118 0 0 0-3.943 2.879L4.252 83.917a4.14 4.14 0 0 0 3.908 5.538h20.787a4.443 4.443 0 0 0 3.41-2.9l5.014-14.777 17.91 16.705a4.237 4.237 0 0 0 2.666.972H81.24L71.024 60.261l-29.781.007L59.47 6.544z"/>
<path fill="url(#a7fee970-a784-4bb1-af8d-63d18e5f7db9)" d="M66.595 9.364a4.145 4.145 0 0 0-3.928-2.82H33.648a4.146 4.146 0 0 1 3.928 2.82l25.184 74.62a4.146 4.146 0 0 1-3.928 5.472h29.02a4.146 4.146 0 0 0 3.927-5.472z"/>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

+7
View File
@@ -0,0 +1,7 @@
<svg width="209" height="135" viewBox="0 0 209 135" fill="none" xmlns="http://www.w3.org/2000/svg">
<ellipse cx="136.019" cy="67.2304" rx="66.6667" ry="64" fill="#FFDE2D"/>
<ellipse cx="69.352" cy="67.2304" rx="66.6667" ry="64" fill="#327EFF"/>
<path d="M2.68528 67.2304C2.68527 31.8842 32.5329 3.23047 69.3519 3.23047L69.3519 67.2304L2.68528 67.2304Z" fill="#327EFF"/>
<path d="M136.019 67.2305C136.019 102.577 106.171 131.23 69.3519 131.23L69.3519 67.2305L136.019 67.2305Z" fill="#FF6446"/>
<path d="M69.352 67.2304C69.352 31.8842 99.1997 3.23047 136.019 3.23047L136.019 67.2304L69.352 67.2304Z" fill="#FF6446"/>
</svg>

After

Width:  |  Height:  |  Size: 622 B

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.1 KiB

+27
View File
@@ -0,0 +1,27 @@
<svg width="167" height="56" viewBox="0 0 167 56" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_4688_32443)">
<path d="M78.6387 42.6243C78.6387 44.6538 76.9936 46.2992 74.9641 46.2992H72.4522V43.4301H72.3626C72.0936 43.8185 71.7349 44.222 71.2866 44.6402C70.8681 45.0289 70.3603 45.3876 69.7624 45.7164C69.1947 46.0449 68.5521 46.3139 67.8348 46.5234C67.1473 46.7325 66.43 46.8368 65.683 46.8368C64.0691 46.8368 62.6048 46.5678 61.2897 46.0299C59.9746 45.4622 58.8391 44.685 57.8827 43.6988C56.9563 42.6827 56.239 41.4874 55.7309 40.1128C55.2227 38.7378 54.9688 37.2286 54.9688 35.585C54.9688 34.0608 55.1929 32.6112 55.6412 31.2362C56.1192 29.8318 56.777 28.5912 57.6137 27.5153C58.4805 26.4396 59.5263 25.5879 60.7517 24.9602C61.9772 24.3028 63.3669 23.974 64.9209 23.974C66.3257 23.974 67.6257 24.1981 68.821 24.6464C70.0465 25.0649 71.0474 25.7971 71.8246 26.8433H71.9143V16.0827C71.9143 14.0533 73.5594 12.4082 75.5888 12.4082H78.6387V42.6243ZM72.4522 35.4053C72.4522 33.7617 71.9742 32.4319 71.0177 31.4155C70.0913 30.3995 68.7762 29.8913 67.0727 29.8913C65.3692 29.8913 64.0394 30.3995 63.0829 31.4155C62.1565 32.4319 61.6932 33.7617 61.6932 35.4053C61.6932 37.0493 62.1565 38.3791 63.0829 39.3951C64.0394 40.4115 65.3692 40.9197 67.0727 40.9197C68.7762 40.9197 70.0913 40.4115 71.0177 39.3951C71.9742 38.3791 72.4522 37.0493 72.4522 35.4053Z" fill="#DC244C"/>
<path d="M82.9893 28.1863C82.9893 26.1571 84.6344 24.512 86.6639 24.512H89.7137V28.0085H89.8034C90.5207 26.6638 91.3724 25.6626 92.3587 25.0051C93.3449 24.3177 94.5851 23.974 96.0795 23.974C96.4679 23.974 96.8563 23.989 97.2451 24.0188C97.6335 24.0487 97.9921 24.1085 98.321 24.1982V30.3398C97.8426 30.1902 97.3645 30.0855 96.8864 30.0256C96.4381 29.9359 95.9597 29.8911 95.4519 29.8911C94.1665 29.8911 93.1505 30.0704 92.4035 30.4291C91.6561 30.7877 91.0733 31.2959 90.6552 31.9533C90.2664 32.5809 90.0125 33.343 89.8931 34.2396C89.7733 35.1365 89.7137 36.1224 89.7137 37.1983V42.6241C89.7137 44.6536 88.0686 46.299 86.0392 46.299H82.9893V28.1863Z" fill="#DC244C"/>
<path d="M114.631 43.565H114.541C113.794 44.7306 112.793 45.5673 111.538 46.0754C110.312 46.5833 109.012 46.8372 107.637 46.8372C106.621 46.8372 105.635 46.688 104.679 46.3893C103.752 46.1203 102.93 45.7017 102.213 45.134C101.496 44.5659 100.928 43.8637 100.51 43.0267C100.091 42.19 99.8819 41.2188 99.8819 40.1131C99.8819 38.8579 100.106 37.7967 100.554 36.9303C101.033 36.0634 101.66 35.3462 102.437 34.7784C103.244 34.2104 104.156 33.7771 105.172 33.4784C106.188 33.1495 107.234 32.9103 108.31 32.7607C109.416 32.6116 110.506 32.5219 111.582 32.4918C112.688 32.462 113.704 32.4473 114.631 32.4473C114.631 31.2516 114.198 30.3102 113.331 29.6227C112.494 28.9054 111.493 28.5468 110.327 28.5468C109.222 28.5468 108.205 28.786 107.279 29.2641C106.382 29.7127 105.575 30.3403 104.858 31.1469L101.272 27.4709C102.527 26.3055 103.992 25.4388 105.665 24.871C107.339 24.2732 109.072 23.9744 110.865 23.9744C112.838 23.9744 114.451 24.2284 115.707 24.7365C116.992 25.2146 118.008 25.9319 118.755 26.8881C119.532 27.8446 120.07 29.0252 120.369 30.4296C120.668 31.8046 120.817 33.4034 120.817 35.2264V42.6251C120.817 44.6541 119.172 46.2996 117.143 46.2996H114.631V43.565ZM112.972 36.7506C112.464 36.7506 111.822 36.7807 111.044 36.8402C110.297 36.8704 109.565 36.9898 108.848 37.1989C108.161 37.4083 107.563 37.7221 107.055 38.1403C106.577 38.5588 106.337 39.1416 106.337 39.889C106.337 40.6959 106.681 41.2934 107.368 41.6818C108.056 42.0706 108.773 42.2646 109.52 42.2646C110.178 42.2646 110.806 42.1749 111.403 41.9956C112.031 41.8163 112.584 41.5624 113.062 41.2335C113.54 40.905 113.914 40.4865 114.183 39.9783C114.482 39.4705 114.631 38.8726 114.631 38.1855V36.7506H112.972Z" fill="#DC244C"/>
<path d="M125.485 28.1863C125.485 26.1571 127.13 24.512 129.16 24.512H131.941V27.4705H132.03C132.24 27.0524 132.538 26.6339 132.927 26.2155C133.315 25.7971 133.779 25.4235 134.317 25.0947C134.855 24.766 135.467 24.497 136.155 24.2878C136.842 24.0786 137.589 23.974 138.396 23.974C140.1 23.974 141.474 24.243 142.521 24.7809C143.566 25.289 144.373 26.0063 144.941 26.9326C145.539 27.8593 145.942 28.9499 146.152 30.2051C146.361 31.4603 146.466 32.8203 146.466 34.2849V42.6243C146.466 44.6538 144.82 46.2992 142.791 46.2992H139.741V35.6295C139.741 35.0019 139.711 34.3595 139.651 33.7018C139.621 33.0147 139.487 32.3871 139.248 31.8193C139.039 31.2512 138.695 30.7879 138.217 30.4293C137.769 30.0706 137.111 29.8913 136.244 29.8913C135.378 29.8913 134.675 30.0559 134.137 30.3844C133.6 30.6835 133.181 31.1017 132.882 31.6397C132.613 32.1478 132.434 32.7306 132.344 33.388C132.255 34.0457 132.21 34.7329 132.21 35.4501V42.6243C132.21 44.6538 130.565 46.2992 128.535 46.2992H125.485V28.1863Z" fill="#DC244C"/>
<path d="M166.515 26.2168C166.515 28.246 164.87 29.8911 162.841 29.8911H160.598V37.1538C160.598 37.7513 160.628 38.3043 160.687 38.8122C160.747 39.2906 160.882 39.7088 161.091 40.0674C161.3 40.426 161.614 40.7101 162.032 40.9195C162.481 41.0988 163.063 41.1881 163.781 41.1881C164.139 41.1881 164.603 41.1584 165.17 41.0985C165.768 41.0088 166.217 40.8299 166.515 40.5609V43.7666C166.515 45.2051 165.614 46.5434 164.184 46.7021C163.377 46.7918 162.585 46.8366 161.808 46.8366C160.673 46.8366 159.627 46.7172 158.67 46.478C157.714 46.2392 156.877 45.8654 156.16 45.3576C155.442 44.8197 154.875 44.1322 154.456 43.2951C154.068 42.4584 153.873 41.4424 153.873 40.2471V29.8911H149.57V28.1861C149.57 26.1569 151.215 24.5118 153.244 24.5118H153.873V21.7309C153.873 19.7015 155.519 18.0563 157.548 18.0563H160.598V24.5118H166.515V26.2168Z" fill="#DC244C"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M38.6234 51.4767L37.5067 20.6899L35.4844 12.5732L48.9828 14.0022V51.2437L40.7371 56.0026L38.6234 51.4767Z" fill="#24386C"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M48.9815 14L40.7359 18.7622L23.7198 15.0296L3.80271 23.139L0.484375 14L12.6067 7L24.7327 0L36.8553 7L48.9815 14Z" fill="#7589BE"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M0.484375 13.9994L8.73004 18.7616L13.5099 32.9769L29.6488 45.89L24.733 55.9994L12.6071 48.999L0.484375 41.999V13.9994Z" fill="#B2BFE8"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M30.201 38.4209L24.7344 46.4799V56.0006L32.4913 51.525L36.4881 45.5569" fill="#24386C"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M24.7368 36.9622L16.9766 23.5262L18.6481 19.0731L25.0025 15.9922L32.4904 23.5265L24.7368 36.9622Z" fill="#7589BE"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M16.9756 23.5254L24.7326 28.001V36.9595L17.5584 37.2682L13.2188 31.727L16.9756 23.5254Z" fill="#B2BFE8"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M24.7344 27.9996L32.4913 23.5244L37.7705 32.3147L31.382 37.5931L24.7344 36.9585V27.9996Z" fill="#24386C"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M32.49 51.524L40.7357 56V18.7622L32.7326 14.1433L24.7331 9.52441L16.7299 14.1433L8.73047 18.7622V37.2411L16.7299 41.86L24.7331 46.4793L32.49 41.9996V51.524ZM32.49 32.4789L24.7331 36.9582L16.9761 32.4789V23.524L24.7331 19.0448L32.49 23.524V32.4789Z" fill="#DC244C"/>
<path d="M24.7361 46.4828V36.9606L17.0195 32.5195V42.0259L24.7361 46.4828Z" fill="url(#paint0_linear_4688_32443)"/>
</g>
<defs>
<linearGradient id="paint0_linear_4688_32443" x1="23.3133" y1="38.7809" x2="15.6239" y2="38.7809" gradientUnits="userSpaceOnUse">
<stop stop-color="#FF3364"/>
<stop offset="1" stop-color="#C91540" stop-opacity="0"/>
</linearGradient>
<clipPath id="clip0_4688_32443">
<rect width="166.03" height="56" fill="white" transform="translate(0.484375)"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 7.4 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 114 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Some files were not shown because too many files have changed in this diff Show More