{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/BllfmgtEgYXRkk9rqBkw/VPvxF6blvrnj8NAevlr6/xUFEuGbVZ-6.js"],
  "sourcesContent": ["import{jsx as e,jsxs as t}from\"react/jsx-runtime\";import{ComponentPresetsConsumer as r,Link as a}from\"framer\";import{motion as o}from\"framer-motion\";import*as n from\"react\";import i from\"https://framerusercontent.com/modules/pVk4QsoHxASnVtUBp6jr/TbhpORLndv1iOkZzyo83/CodeBlock.js\";export const richText=/*#__PURE__*/t(n.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Let's face it - nothing beats real user experiences when it comes to evaluating software. So, let's dive into what users are saying about Kualitee and TestRail.\"}),/*#__PURE__*/e(\"h4\",{children:\"Overall Star Ratings: The Quick Glance\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Kualitee: 4.5 stars (based on 140 reviews)\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"TestRail: 4.4 stars (based on 590 reviews)\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Both tools are neck and neck in overall satisfaction, with Kualitee having a slight edge. But let's dig deeper, shall we?\"}),/*#__PURE__*/e(\"h4\",{children:\"Key Areas of Comparison: The Nitty-Gritty\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:[/*#__PURE__*/e(\"p\",{children:\"Ease of Use\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Kualitee: 8.9/10\"})}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:[/*#__PURE__*/e(\"p\",{children:\"TestRail: 8.6/10\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]})]})]}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Kualitee takes the cake here, but both tools are considered user-friendly.\"})}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:[/*#__PURE__*/e(\"p\",{children:\"Setup and Administration\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Kualitee: 8.7/10 for setup, 8.8/10 for admin\"})}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:[/*#__PURE__*/e(\"p\",{children:\"TestRail: 8.5/10 for setup, 8.6/10 for admin\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]})]})]}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Kualitee edges out TestRail slightly in both setup and administration ease.\"})}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:[/*#__PURE__*/e(\"p\",{children:\"Meeting Business Needs\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Kualitee: 9.1/10\"})}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:[/*#__PURE__*/e(\"p\",{children:\"TestRail: 8.6/10\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]})]})]}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Kualitee seems to be hitting the mark more consistently when it comes to fulfilling business requirements.\"})}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:[/*#__PURE__*/e(\"p\",{children:\"Quality of Support\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Kualitee: 8.9/10\"})}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:[/*#__PURE__*/e(\"p\",{children:\"TestRail: 8.5/10\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]})]})]}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Both tools offer solid support, but Kualitee users seem a bit more satisfied.\"})}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:[/*#__PURE__*/e(\"p\",{children:\"Product Direction\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Kualitee: 9.5/10\"})}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:[/*#__PURE__*/e(\"p\",{children:\"TestRail: 8.6/10\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]})]})]}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Users are particularly excited about where Kualitee is headed, giving it a near-perfect score for product direction.\"})})]}),/*#__PURE__*/e(\"h4\",{children:\"The Takeaway\"}),/*#__PURE__*/e(\"p\",{children:\"While both tools receive positive ratings across the board, Kualitee seems to have a slight edge in user satisfaction. It particularly shines in meeting business needs and product direction.\"}),/*#__PURE__*/e(\"p\",{children:\"However, don't let these numbers alone sway you. Remember, TestRail has a larger user base (590 reviews vs Kualitee's 140), which can sometimes lead to more varied opinions.\"}),/*#__PURE__*/e(\"p\",{children:\"In the next section, we'll look at the features that set these tools apart. After all, the best tool is the one that fits your specific needs like a glove!\"})]});export const richText1=/*#__PURE__*/t(n.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Now that we've seen what users think, let's dive into the features that make Kualitee and TestRail tick. After all, it's the functionality that'll determine whether a tool fits your workflow like a custom-tailored suit.\"}),/*#__PURE__*/e(\"h3\",{children:\"Test Management Capabilities: The Core Business\"}),/*#__PURE__*/t(\"p\",{children:[\"Both Kualitee and TestRail shine in their primary function: \",/*#__PURE__*/e(a,{href:\"https://qodex.ai/blog/test-data-management-strategy\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"test management\"})}),\". Here's how they stack up:\"]}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Kualitee: 9.0/10\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"TestRail: 8.0/10\"})})]}),/*#__PURE__*/e(\"p\",{children:\"While both tools offer robust test management features, Kualitee seems to have a slight edge according to user ratings. Both allow you to create, organize, and execute test cases with ease. They also provide reporting capabilities to keep your team and stakeholders in the loop.\"}),/*#__PURE__*/e(\"h3\",{children:\"Bug Tracking: Kualitee's Secret Weapon\"}),/*#__PURE__*/e(\"p\",{children:\"Here's where we see a significant difference:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Kualitee: 9.0/10 for bug tracking\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"TestRail: Not enough data available\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Kualitee offers integrated bug tracking capabilities, allowing you to seamlessly move from test execution to bug reporting without switching tools. This can be a major time-saver and reduce the risk of information getting lost in translation between systems.\"}),/*#__PURE__*/e(\"p\",{children:\"TestRail, on the other hand, doesn't have built-in bug tracking. It typically integrates with other tools like Jira for this functionality. This isn't necessarily a drawback if you're already using a dedicated bug tracking tool, but it's worth considering if you're looking for an all-in-one solution.\"}),/*#__PURE__*/e(\"h3\",{children:\"Other Notable Differences\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:[/*#__PURE__*/e(\"p\",{children:\"Ease of Setup:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Kualitee: Known for its quick setup process\"})}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:[/*#__PURE__*/e(\"p\",{children:\"TestRail: Offers a cloud-based option that gets you started in minutes\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]})]})]}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:[/*#__PURE__*/e(\"p\",{children:\"Integrations:\"}),/*#__PURE__*/e(\"ul\",{children:/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:[/*#__PURE__*/e(\"p\",{children:\"Both tools offer integrations with popular development and project management tools, but the specific integrations may differ. It's worth checking if they connect with the other tools in your stack.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]})})]}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:[/*#__PURE__*/e(\"p\",{children:\"Customization:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[\"TestRail is known for its flexibility in customizing \",/*#__PURE__*/e(a,{href:\"https://qodex.ai/blog/create-test-data-ai-test-data-generation\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"test cases\"})}),\" and reports\"]})}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:[/*#__PURE__*/e(\"p\",{children:\"Kualitee offers customization options too, but user feedback suggests TestRail might have an edge here\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]})]})]}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:[/*#__PURE__*/e(\"p\",{children:\"Mobile App Testing:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[\"Kualitee offers features specifically for \",/*#__PURE__*/e(a,{href:\"https://qodex.ai/blog/top-mobile-app-automation-testing-tools-and-techniques\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"mobile app testing\"})})]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"TestRail's capabilities in this area aren't explicitly mentioned in the provided information\"})})]})]})]}),/*#__PURE__*/e(\"h3\",{children:\"The Bottom Line\"}),/*#__PURE__*/e(\"p\",{children:\"If you're looking for an all-in-one solution that includes bug tracking, Kualitee might be your best bet. However, if you're already happy with your current bug tracking solution and are looking for a highly customizable test management tool, TestRail could be the way to go.\"})]});export const richText2=/*#__PURE__*/t(n.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Let's peek behind the curtain and see who's really using Kualitee and TestRail. Understanding the user base can give you valuable insights into which tool might be the best fit for your organization.\"}),/*#__PURE__*/e(\"h3\",{children:\"User Demographics: Size Matters\"}),/*#__PURE__*/e(\"h4\",{children:\"Company Size Breakdown\"}),/*#__PURE__*/e(\"p\",{children:\"Kualitee:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Small Business (50 or fewer employees): 35.8%\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Mid-Market (51-1000 employees): 57.7%\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Enterprise (1000+ employees): 6.6%\"})})]}),/*#__PURE__*/e(\"p\",{children:\"TestRail:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Small Business: 30.4%\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Mid-Market: 49.3%\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Enterprise: 20.4%\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Interesting, right? While both tools are popular with mid-market companies, TestRail has a stronger presence in the enterprise space.\"}),/*#__PURE__*/e(\"h3\",{children:\"Industry Favorites\"}),/*#__PURE__*/e(\"h4\",{children:\"Top Industries Using Kualitee:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Computer Software (40.9%)\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Information Technology and Services (24.1%)\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Banking (7.3%)\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Hospital & Health Care (5.8%)\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Financial Services (2.9%)\"})})]}),/*#__PURE__*/e(\"h4\",{children:\"Top Industries Using TestRail:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Computer Software (29.3%)\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Information Technology and Services (15.6%)\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Financial Services (4.2%)\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Automotive (4.0%)\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Computer Games (3.2%)\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Both tools are hits in the tech world, but Kualitee seems to have found a niche in banking and healthcare, while TestRail has fans in the automotive and gaming industries.\"}),/*#__PURE__*/e(\"h3\",{children:'Pros and Cons: The Good, The Bad, and The \"Meh\"'}),/*#__PURE__*/e(\"p\",{children:\"Now, let's break down the strengths and areas for improvement for each tool.\"}),/*#__PURE__*/e(\"h4\",{children:\"Kualitee's Strengths\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"User-friendly interface\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Integrated bug tracking\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Strong in meeting business requirements\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Positive product direction\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Free tier available for small teams\"})})]}),/*#__PURE__*/e(\"h4\",{children:\"TestRail's Strengths\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Robust customization options\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Strong presence in enterprise market\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Well-established with a larger user base\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Integrates well with other tools\"})})]}),/*#__PURE__*/e(\"h3\",{children:\"Areas for Improvement\"}),/*#__PURE__*/e(\"h4\",{children:\"Kualitee\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Could expand enterprise-level features\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Might benefit from more industry-specific customizations\"})})]}),/*#__PURE__*/e(\"h4\",{children:\"TestRail\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Lack of built-in bug tracking\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Some users report issues with Jira integration\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Pricing might be a barrier for smaller teams\"})})]}),/*#__PURE__*/e(\"h3\",{children:\"The Takeaway\"}),/*#__PURE__*/e(\"p\",{children:\"If you're a mid-market company in the tech, banking, or healthcare sector looking for an all-in-one solution with bug tracking, Kualitee could be your go-to. Its user-friendly interface and strong business alignment make it a solid choice.\"}),/*#__PURE__*/e(\"p\",{children:\"On the other hand, if you're a larger organization, particularly in software, automotive, or gaming industries, and you need a highly customizable tool that plays well with your existing bug tracking solution, TestRail might be more up your alley.\"})]});export const richText3=/*#__PURE__*/t(n.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"While Kualitee and TestRail are both solid choices for test management, they're not the only players in the game. Let's take a quick look at some other options you might want to consider:\"}),/*#__PURE__*/e(\"h3\",{children:\"Qodex.ai\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"Qodexai\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,aRfYGSd6j4QnfrGes2rZqovxbQ.png\",\"data-framer-height\":\"412\",\"data-framer-width\":\"937\",height:\"206\",src:\"https://framerusercontent.com/images/aRfYGSd6j4QnfrGes2rZqovxbQ.png\",srcSet:\"https://framerusercontent.com/images/aRfYGSd6j4QnfrGes2rZqovxbQ.png?scale-down-to=512 512w,https://framerusercontent.com/images/aRfYGSd6j4QnfrGes2rZqovxbQ.png 937w\",style:{aspectRatio:\"937 / 412\"},width:\"468\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(a,{href:\"https://qodex.ai/\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Qodex.ai\"})}),\" is worth noting. It's an AI-powered test automation platform that aims to simplify the process of creating and maintaining automated tests.\"]}),/*#__PURE__*/e(\"h3\",{children:\"PractiTest\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"PractiTest\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,L9KcH6kDbs1M7mWJH8gkh4EqJaI.png\",\"data-framer-height\":\"325\",\"data-framer-width\":\"1500\",height:\"162\",src:\"https://framerusercontent.com/images/L9KcH6kDbs1M7mWJH8gkh4EqJaI.png\",srcSet:\"https://framerusercontent.com/images/L9KcH6kDbs1M7mWJH8gkh4EqJaI.png?scale-down-to=512 512w,https://framerusercontent.com/images/L9KcH6kDbs1M7mWJH8gkh4EqJaI.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/L9KcH6kDbs1M7mWJH8gkh4EqJaI.png 1500w\",style:{aspectRatio:\"1500 / 325\"},width:\"750\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"A flexible test management platform that offers end-to-end visibility of your testing process. It's known for its strong integration capabilities and customizable dashboards.\"}),/*#__PURE__*/e(\"h3\",{children:\"Jira\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"Jira\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,bTAt8j4J3KPKntx6EJwBMaiQ.png\",\"data-framer-height\":\"628\",\"data-framer-width\":\"1200\",height:\"314\",src:\"https://framerusercontent.com/images/bTAt8j4J3KPKntx6EJwBMaiQ.png\",srcSet:\"https://framerusercontent.com/images/bTAt8j4J3KPKntx6EJwBMaiQ.png?scale-down-to=512 512w,https://framerusercontent.com/images/bTAt8j4J3KPKntx6EJwBMaiQ.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/bTAt8j4J3KPKntx6EJwBMaiQ.png 1200w\",style:{aspectRatio:\"1200 / 628\"},width:\"600\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"While primarily a project management tool, Jira is often used for bug tracking and can be adapted for test management with the right add-ons. It's a go-to for teams already deep in the Atlassian ecosystem.\"}),/*#__PURE__*/e(\"h3\",{children:\"Panaya Smart Testing and Change Intelligence\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"Panaya Smart Testing and Change Intelligence\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,vFegJxevY2yF7Wii3erv7hvn8w.png\",\"data-framer-height\":\"315\",\"data-framer-width\":\"597\",height:\"157\",src:\"https://framerusercontent.com/images/vFegJxevY2yF7Wii3erv7hvn8w.png\",srcSet:\"https://framerusercontent.com/images/vFegJxevY2yF7Wii3erv7hvn8w.png?scale-down-to=512 512w,https://framerusercontent.com/images/vFegJxevY2yF7Wii3erv7hvn8w.png 597w\",style:{aspectRatio:\"597 / 315\"},width:\"298\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"This tool focuses on ERP testing and change management, making it a niche player for organizations using SAP or Oracle.\"}),/*#__PURE__*/e(\"h3\",{children:\"BrowserStack\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"BrowserStack\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,9D6469317IgpdEK4HnnajTjK6Pk.png\",\"data-framer-height\":\"315\",\"data-framer-width\":\"600\",height:\"157\",src:\"https://framerusercontent.com/images/9D6469317IgpdEK4HnnajTjK6Pk.png\",srcSet:\"https://framerusercontent.com/images/9D6469317IgpdEK4HnnajTjK6Pk.png?scale-down-to=512 512w,https://framerusercontent.com/images/9D6469317IgpdEK4HnnajTjK6Pk.png 600w\",style:{aspectRatio:\"600 / 315\"},width:\"300\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"Specializing in cross-browser testing, BrowserStack is a great option if your primary focus is ensuring your web applications work across different browsers and devices.\"}),/*#__PURE__*/e(\"h3\",{children:\"Qase\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"Qase\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,OCP96eoBM6dEvRUqkP9FJ3IbjiU.png\",\"data-framer-height\":\"493\",\"data-framer-width\":\"1194\",height:\"246\",src:\"https://framerusercontent.com/images/OCP96eoBM6dEvRUqkP9FJ3IbjiU.png\",srcSet:\"https://framerusercontent.com/images/OCP96eoBM6dEvRUqkP9FJ3IbjiU.png?scale-down-to=512 512w,https://framerusercontent.com/images/OCP96eoBM6dEvRUqkP9FJ3IbjiU.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/OCP96eoBM6dEvRUqkP9FJ3IbjiU.png 1194w\",style:{aspectRatio:\"1194 / 493\"},width:\"597\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"A modern, lightweight test management tool that offers a clean interface and integrations with popular development tools. It's gaining traction among smaller teams and startups.\"}),/*#__PURE__*/e(\"h3\",{children:\"Tuskr\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"Tuskr\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,tTSNJo4l2NrIMtyX2Diw1nQpsFc.png\",\"data-framer-height\":\"327\",\"data-framer-width\":\"1240\",height:\"163\",src:\"https://framerusercontent.com/images/tTSNJo4l2NrIMtyX2Diw1nQpsFc.png\",srcSet:\"https://framerusercontent.com/images/tTSNJo4l2NrIMtyX2Diw1nQpsFc.png?scale-down-to=512 512w,https://framerusercontent.com/images/tTSNJo4l2NrIMtyX2Diw1nQpsFc.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/tTSNJo4l2NrIMtyX2Diw1nQpsFc.png 1240w\",style:{aspectRatio:\"1240 / 327\"},width:\"620\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"A newer entrant in the market, Tuskr offers a fresh approach to test management with a focus on collaboration and ease of use.\"}),/*#__PURE__*/e(\"p\",{children:\"Remember, the best tool for you depends on your specific needs, team size, budget, and existing tech stack. While Kualitee and TestRail are strong contenders, it's always worth exploring all your options to find the perfect fit.\"})]});export const richText4=/*#__PURE__*/t(n.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Choosing between Kualitee and TestRail ultimately comes down to your specific needs. If you're a mid-market company looking for an all-in-one solution with integrated bug tracking, Kualitee might be your best bet. For larger organizations needing high customizability and strong integrations, TestRail could be the way to go.\"}),/*#__PURE__*/e(\"p\",{children:\"Remember, the ideal test management tool should seamlessly fit into your workflow, scale with your needs, and improve your team's efficiency. Whether you choose Kualitee, TestRail, or explore other alternatives, the key is to select a tool that aligns with your testing processes and business goals.\"})]});export const richText5=/*#__PURE__*/t(n.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Ever clicked on a website only to find it looking wonky or not working at all? Chances are, you've stumbled upon a cross-browser compatibility issue. It's a headache for users and an even bigger one for developers. That's where cross-browser testing comes in \u2013 it's like a superhero swooping in to save the day (and your website's reputation).\"}),/*#__PURE__*/e(\"p\",{children:\"But here's the catch: choosing the right cross-browser testing tool can be as tricky as picking the perfect avocado at the grocery store. Too soft, and it's a mushy mess. Too hard, and you're left waiting days for it to ripen.\"}),/*#__PURE__*/t(\"p\",{children:[\"Today, we're putting two popular tools under the microscope: \",/*#__PURE__*/e(\"strong\",{children:\"BrowserStack and Browserling\"}),\". They're both veterans in the game, but they've got some key differences that might make one a better fit for your team than the other.\"]}),/*#__PURE__*/e(\"p\",{children:\"BrowserStack is like the Swiss Army knife of testing tools. It's packed with features for all sorts of testing scenarios \u2013 from checking how your site looks on the latest iPhone to making sure it works smoothly on that ancient version of Internet Explorer your boss insists on using.\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(a,{href:\"https://qodex.ai/blog/browserling-alternatives\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Browserling\"})}),\", on the other hand, is more like a trusty pocketknife. It's simpler, more focused, and gets the job done without a lot of extra bells and whistles.\"]}),/*#__PURE__*/e(\"p\",{children:\"So, whether you're a solo developer trying to keep your site running smoothly or part of a big team juggling complex testing needs, stick around. We're about to dive into the nitty-gritty of BrowserStack vs Browserling to help you figure out which one deserves a spot in your toolbox.\"})]});export const richText6=/*#__PURE__*/t(n.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Imagine having a magic wand that lets you peek at your website on any device or browser. That's BrowserStack in a nutshell. It's the go-to platform for developers and QA teams who need to cover all their bases.\"}),/*#__PURE__*/e(\"h4\",{children:\"What's in the Box?\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Real Device Testing\"}),\": No emulators here! BrowserStack gives you access to actual phones and computers. It's like borrowing devices from everyone you know, without the awkward asking.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Broad Coverage\"}),\": From the latest iPhone to that dusty old PC running Windows XP, BrowserStack has you covered with a vast array of device-browser-OS combos.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"More Than Just Browsers\"}),\": Need to test your mobile app too? BrowserStack has your back with \",/*#__PURE__*/e(a,{href:\"https://qodex.ai/blog/top-mobile-app-automation-testing-tools-and-techniques\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"app testing\"})}),\" capabilities.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Automation Nation\"}),\": For those who love efficiency, BrowserStack plays nice with automation tools like Selenium.\"]})})]}),/*#__PURE__*/e(\"h3\",{children:\"Browserling: The Focused Freelancer\"}),/*#__PURE__*/e(\"p\",{children:\"If BrowserStack is a bustling tech metropolis, Browserling is more like a cozy tech caf\\xe9. It's streamlined, focused, and gets straight to the point.\"}),/*#__PURE__*/e(\"h4\",{children:\"What's on the Menu?\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Live Interactive Testing\"}),\": Jump right in and start clicking around. It's like test-driving a car \u2013 you get to feel how your site really handles.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Screenshot Snapper\"}),\": Spot a bug? Snap a pic and show your team. It's like Instagram for web developers (minus the filters).\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Bug Hunter Tools\"}),\": Browserling gives you nifty tools to mark up your findings. Think of it as a digital red pen for your website.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Responsive Testing\"}),\": Make sure your site looks good on screens of all sizes. It's like trying on different outfits to see what fits best.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Secure Browsing\"}),\": Browserling keeps your testing sessions private and secure. It's like having a bodyguard for your browsing.\"]})})]}),/*#__PURE__*/e(\"p\",{children:\"While BrowserStack is the all-you-can-eat buffet of testing tools, Browserling is more like a carefully curated tasting menu. Both have their place, depending on your appetite for features and the size of your testing needs.\"})]});export const richText7=/*#__PURE__*/t(n.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Let's roll up our sleeves and dive into the details. We'll compare these tools across four key areas: product features, customer support, integrations, and pricing. It's like a four-round boxing match, but with less sweat and more browsers.\"}),/*#__PURE__*/e(\"h3\",{children:\"Round 1: Product Features\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"BrowserStack's Heavyweight Offering:\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Vast device lab with real mobile and desktop devices\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Support for both manual and automated testing\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(a,{href:\"https://qodex.ai/blog/ways-to-automate-visual-regression-testing-tools-and-techniques\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Visual regression testing\"})}),\" to catch sneaky UI changes\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(a,{href:\"https://qodex.ai/blog/top-accessibility-testing-tools\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Accessibility testing\"})}),\" to make your site welcoming for all\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Local testing for those behind-the-scenes projects\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Network throttling to test your site's performance under pressure\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Browserling's Lightweight Contender:\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Quick access to a select set of browsers\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Live interactive testing sessions\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Screenshot capture for easy bug reporting\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Responsive design testing tools\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Secure, anonymous browsing sessions\"})})]}),/*#__PURE__*/e(\"p\",{children:\"BrowserStack comes out swinging with a wider range of features, while Browserling keeps it simple and focused.\"}),/*#__PURE__*/e(\"h3\",{children:\"Round 2: Customer Support\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"BrowserStack's Support Squad:\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"24/7 chat and email support\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Phone support for those who prefer talking\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Extensive documentation and knowledge base\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Active community forums\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Browserling's Support Setup:\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Email support\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Phone support (though potentially less responsive than BrowserStack)\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Basic documentation\"})})]}),/*#__PURE__*/e(\"p\",{children:\"BrowserStack takes this round with more comprehensive and accessible support options.\"}),/*#__PURE__*/e(\"h3\",{children:\"Round 3: Integrations\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"BrowserStack's Integration Arsenal:\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Plays well with popular tools like Slack, GitHub, and Jira\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[\"Seamless integration with \",/*#__PURE__*/e(a,{href:\"https://qodex.ai/blog/top-ui-test-automation-frameworks-how-to-choose\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"automation frameworks\"})}),\" (Selenium, Appium, Cypress, Playwright)\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"CI/CD integration for smooth DevOps workflows\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Browserling's Integration Offerings:\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Limited integration options\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"API access for some customization\"})})]}),/*#__PURE__*/e(\"p\",{children:\"BrowserStack dominates this round with its extensive integration capabilities, making it a team player in larger tech stacks.\"}),/*#__PURE__*/e(\"h3\",{children:\"Round 4: Pricing\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"BrowserStack's Pricing Tiers:\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Multiple subscription options based on team size and needs\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Separate plans for different products (Live, Automate, App Live, etc.)\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Free trial available to test the waters\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Browserling's Price Tags:\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Simple pricing structure with Free, Developer, and Team plans\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Generally more affordable, reflecting its more focused feature set\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Browserling might edge out this round for budget-conscious users, but BrowserStack offers more value for teams needing comprehensive testing solutions.\"}),/*#__PURE__*/e(\"p\",{children:\"And there you have it, folks! BrowserStack packs a punch with its extensive features and integrations, while Browserling keeps it lean and mean with focused functionality and simpler pricing.\"}),/*#__PURE__*/e(\"p\",{children:\"Remember, the best tool for you depends on your specific needs. It's not about which one wins the most rounds, but which one fits your workflow like a glove.\"})]});export const richText8=/*#__PURE__*/t(n.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"You've made it this far, and now you're faced with the million-dollar question: BrowserStack or Browserling? Let's break it down and help you make the right call for your team.\"}),/*#__PURE__*/e(\"h3\",{children:\"BrowserStack's Superpowers\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Swiss Army Knife of Testing:\"}),\" From web to mobile, manual to automated, BrowserStack does it all.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Device Diversity:\"}),\" With a vast array of real devices, you can test on practically anything your users might have.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Integration Champion:\"}),\" Plays nice with your existing tools and workflows.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Scalability:\"}),\" Grows with your team, from solo devs to enterprise-level operations.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Comprehensive Support:\"}),\" 24/7 help when you need it, how you need it.\"]})})]}),/*#__PURE__*/e(\"h3\",{children:\"Browserling's Secret Weapons\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Simplicity is Key:\"}),\" Easy to use with a no-frills approach to testing.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Budget-Friendly:\"}),\" More affordable for smaller teams or individual developers.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Quick and Dirty Testing:\"}),' Perfect for those \"I just need to check this real quick\" moments.']})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Focused Feature Set:\"}),\" Offers core functionality without overwhelming users.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Lightweight Solution:\"}),\" Ideal for teams that don't need all the bells and whistles.\"]})})]}),/*#__PURE__*/e(\"h3\",{children:\"Making the Call: Who Should Use What?\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Choose BrowserStack if:\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"You're working on complex, multi-platform projects\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Your team needs extensive device coverage\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"You're scaling up and need a tool that grows with you\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Automated testing is a big part of your workflow\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"You need robust integrations with other development tools\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Go with Browserling if:\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"You're a small team or solo developer\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Your testing needs are primarily focused on web browsers\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"You're on a tight budget\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"You prefer a simpler, more straightforward tool\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"You mainly need quick, on-the-fly testing capabilities\"})})]})]});export const richText9=/*#__PURE__*/t(n.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Choosing between BrowserStack and Browserling is like picking between a Swiss Army knife and a trusty pocket knife. BrowserStack offers a comprehensive suite of tools for teams with diverse and complex testing needs. It's the go-to choice for larger organizations or teams working on multi-platform projects.\"}),/*#__PURE__*/e(\"p\",{children:\"Browserling, on the other hand, is your reliable, no-fuss option. It's perfect for smaller teams or individual developers who need quick, straightforward browser testing without all the extra features.\"}),/*#__PURE__*/e(\"p\",{children:'Remember, the \"best\" tool is the one that fits your team\\'s specific needs and workflows. Consider your project requirements, team size, budget, and long-term goals when making your decision.'}),/*#__PURE__*/e(\"p\",{children:\"Whichever you choose, both BrowserStack and Browserling will help you catch those pesky cross-browser bugs and keep your users happy.\"})]});export const richText10=/*#__PURE__*/t(n.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Picture this: You've got a killer app, but it's moving slower than a snail on a lazy Sunday. Enter Akamai, the superhero of content delivery networks (CDNs). These folks have been in the business of making the internet faster and more reliable for ages. But here's where it gets exciting - they've opened up their superpowers to us mere mortal developers through their API.\"}),/*#__PURE__*/e(\"p\",{children:\"So, what's the big deal about Akamai's CDN services? Imagine your content, be it images, videos, or good old HTML, zooming across the globe at lightning speed. That's what Akamai does. They've got servers everywhere (and we mean everywhere), ensuring your users get their digital goodies faster than you can say \\\"buffer.\\\"\"}),/*#__PURE__*/t(\"p\",{children:[\"Now, why should you, as a developer, care about their API? Well, it's like being handed the keys to a sports car. With the \",/*#__PURE__*/e(a,{href:\"https://developers.qodex.ai/akamai-apis\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Akamai API\"})}),\", you're not just along for the ride - you're in the driver's seat. Want to purge that outdated content? Done. Need to tweak your security settings on the fly? You got it. Fancy a peek at your real-time analytics? It's all at your fingertips.\"]}),/*#__PURE__*/e(\"p\",{children:\"The API isn't just a nice-to-have; it's a game-changer. It lets you automate tasks that would otherwise have you clicking through interfaces until your fingers fall off. Plus, it opens up a world of possibilities for integrating Akamai's robust features directly into your workflows and applications.\"}),/*#__PURE__*/t(\"p\",{children:[\"Imagine being able to respond to traffic spikes automatically, update your content instantly across the globe, or fine-tune your security settings based on real-time threats. That's the power the \",/*#__PURE__*/e(a,{href:\"https://developers.qodex.ai/akamai-apis\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Akamai API\"})}),\" puts in your hands.\"]}),/*#__PURE__*/e(\"p\",{children:\"But here's the best part - you don't need to be a CDN expert to harness this power. The API is designed with developers like us in mind. It's intuitive, well-documented, and there's a treasure trove of resources to help you along the way.\"}),/*#__PURE__*/e(\"p\",{children:\"So, whether you're looking to speed up your website, secure your applications, or just flex your developer muscles with some cutting-edge tools, the Akamai API is your ticket to the big leagues of content delivery.\"}),/*#__PURE__*/e(\"p\",{children:\"Ready to get your hands dirty and see what this API can do? Stick around as we walk through the essentials of getting started, common use cases, and some nifty advanced features that'll make your developer heart skip a beat.\"})]});export const richText11=/*#__PURE__*/t(n.Fragment,{children:[/*#__PURE__*/t(\"p\",{children:[\"Alright, tech enthusiasts, let's cut to the chase and explore the juicy features that make the Akamai API a developer's dream come true. Buckle up, because these tools are about to supercharge your web applications!\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})]}),/*#__PURE__*/e(\"ol\",{children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Content Purging: The Magic Eraser\"})})})}),/*#__PURE__*/t(\"p\",{children:[\"Ever published something and then had an \\\"Oh no!\\\" moment? With Akamai's content purging feature, you've got a digital magic eraser at your fingertips. Zap outdated content across Akamai's global network in seconds. It's like hitting a reset button for your web assets, ensuring your users always get the freshest content. No more waiting for cache timeouts \u2013 you're in control now!\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})]}),/*#__PURE__*/e(\"ol\",{start:\"2\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Configuration Management: Your Digital Puppet Master\"})})})}),/*#__PURE__*/t(\"p\",{children:[\"Imagine tweaking your entire web infrastructure with a few lines of code. That's what configuration management through the Akamai API offers. It's like having a universal remote for your web properties. Update settings, deploy new rules, or rollback changes across multiple properties simultaneously. It's DevOps nirvana \u2013 automate your configurations and say goodbye to manual, error-prone updates.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})]}),/*#__PURE__*/e(\"ol\",{start:\"3\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Real-time Analytics: Your Crystal Ball\"})})})}),/*#__PURE__*/t(\"p\",{children:['Knowledge is power, and real-time analytics is your secret weapon. The Akamai API serves up detailed performance and security data faster than you can say \"metrics.\" Track user engagement, monitor bandwidth usage, or spot security threats as they happen. It\\'s like having a mission control center for your web applications, helping you make data-driven decisions on the fly.',/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})]}),/*#__PURE__*/e(\"ol\",{start:\"4\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Security Controls: Your Digital Bouncer\"})})})}),/*#__PURE__*/t(\"p\",{children:[\"In today's wild west of the internet, security is paramount. The Akamai API puts you in the control room of your digital fortress. Adjust your Web Application Firewall (WAF) rules, tweak bot management settings, or implement custom security protocols \u2013 all programmatically. It's like having a team of cybersecurity experts on standby 24/7, ready to adapt to new threats at a moment's notice.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})]}),/*#__PURE__*/e(\"ol\",{start:\"5\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Edge Compute: The Speed Demon\"})})})}),/*#__PURE__*/e(\"p\",{children:\"Last but not least, let's talk about Edge Compute. This feature is like strapping a rocket to your application's backend. With Akamai's EdgeWorkers, you can run custom JavaScript at the edge \u2013 closer to your users than ever before. Imagine processing data, personalizing content, or making real-time decisions without the round trip to your origin server. It's the secret sauce for creating lightning-fast, responsive applications that'll make your users go \\\"Wow!\\\"\"}),/*#__PURE__*/e(\"p\",{children:\"Each of these features is a powerhouse on its own, but when combined through the Akamai API, they form an unstoppable force for web optimization and security. The best part? You can mix and match these features to create custom solutions tailored to your specific needs.\"}),/*#__PURE__*/e(\"p\",{children:\"Whether you're looking to streamline your content delivery, beef up security, or push the boundaries of web performance, the Akamai API has got your back. It's not just about making things faster or more secure \u2013 it's about giving you the tools to innovate and create web experiences that stand out in today's crowded digital landscape.\"})]});export const richText12=/*#__PURE__*/t(n.Fragment,{children:[/*#__PURE__*/e(\"h3\",{children:\"1. Creating an Akamai Account: Your Passport to Speed\"}),/*#__PURE__*/e(\"p\",{children:\"First things first, you need an Akamai account. Think of it as your all-access pass to the world of content delivery awesomeness. Here's the lowdown:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[\"Head over to the \",/*#__PURE__*/e(a,{href:\"https://www.akamai.com/\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Akamai website\"})}),\" and look for the sign-up button. It's usually pretty hard to miss.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Fill out the form with your details. Pro tip: Use your work email if you're doing this for your company.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Once you're in, you'll have access to the Akamai Control Center. This is your command center for all things Akamai.\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Remember, Rome wasn't built in a day, and neither is your Akamai setup. Take a moment to explore the Control Center and familiarize yourself with the layout. It'll pay off, trust me!\"}),/*#__PURE__*/e(\"h3\",{children:\"2. Generating API Credentials: Your Secret Handshake\"}),/*#__PURE__*/e(\"p\",{children:\"Now that you're in, it's time to get your API credentials. These are like the secret handshake that lets you into the API clubhouse. Here's how to get them:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:'In the Akamai Control Center, navigate to the \"Identity & Access\" section.'})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:'Look for \"API Users\" and click on \"Create API User.\"'})}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:[/*#__PURE__*/e(\"p\",{children:\"Follow the prompts to generate your credentials. You'll end up with three key pieces:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Client token\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Client secret\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Access token\"})})]})]})]}),/*#__PURE__*/e(\"p\",{children:\"Keep these safe! They're the keys to your API kingdom. If they were physical keys, you'd want to guard them like a dragon guards its gold.\"}),/*#__PURE__*/e(\"h3\",{children:\"3. Choosing an API Client: Pick Your Weapon\"}),/*#__PURE__*/e(\"p\",{children:\"You've got your account and your credentials. Now it's time to choose your API client. Think of this as picking your trusty sidekick for your API adventures. Akamai's got your back with official clients for several popular languages:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Python (perfect for data crunchers and automation wizards)\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Node.js (great for you JavaScript lovers)\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Java (for those who like their code typed and their coffee strong)\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Go (for the speed demons out there)\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Can't find your favorite language? No sweat! You can always use a third-party HTTP client or even craft your own implementation if you're feeling adventurous.\"}),/*#__PURE__*/e(\"p\",{children:\"My two cents? Start with the official clients. They handle a lot of the nitty-gritty details like authentication, which means less headache for you and more time for the fun stuff.\"}),/*#__PURE__*/e(\"p\",{children:\"And there you have it! You're now locked and loaded, ready to start your Akamai API journey. With your account set up, credentials in hand, and client chosen, you're all set to start exploring the vast possibilities the Akamai API has to offer.\"}),/*#__PURE__*/e(\"p\",{children:\"Remember, every great developer journey begins with a single API call. So why not take that first step and see where the Akamai API takes you? Trust me, your future self (and your users) will thank you for it!\"})]});export const richText13=/*#__PURE__*/t(n.Fragment,{children:[/*#__PURE__*/e(\"h3\",{children:\"Authentication: The Secret Handshake\"}),/*#__PURE__*/e(\"p\",{children:\"First up, let's talk about EdgeGrid authentication. It's Akamai's way of making sure you're you and not some random person trying to mess with your content. Think of it as the bouncer at an exclusive club, but instead of checking IDs, it's checking your API credentials.\"}),/*#__PURE__*/e(\"p\",{children:\"EdgeGrid authentication might sound intimidating, but it's actually pretty straightforward. It involves signing your requests with those API credentials you generated earlier. The process goes something like this:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"You make a request to the Akamai API.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Your request gets dressed up with a special signature using your credentials.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Akamai checks the signature and gives you a thumbs up (or down if something's off).\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Now, I promised you an example using Python, so let's see this in action:\"}),/*#__PURE__*/e(o.div,{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(r,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/TbhpORLndv1iOkZzyo83/CodeBlock.js:default\",children:t=>/*#__PURE__*/e(i,{...t,code:\"from akamai.edgegrid import EdgeGridAuth, EdgeRc\\nfrom urllib.parse import urljoin\\nimport requests\\n# Load your credentials\\nedgerc = EdgeRc('~/.edgerc')\\nsection = 'default'\\n# Set up a session with EdgeGrid auth\\nsession = requests.Session()\\nsession.auth = EdgeGridAuth.from_edgerc(edgerc, section)\\n# Make a request\\nbaseurl = 'https://%s' % edgerc.get(section, 'host')\\nresult = session.get(urljoin(baseurl, '/diagnostic-tools/v2/ghost-locations/available'))\\nprint(result.json())\",language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"This script loads your credentials, sets up an authenticated session, and makes a simple request. It's like magic, but with code!\"})]});export const richText14=/*#__PURE__*/t(n.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Now that we're authenticated, let's look at some common tasks you might want to tackle:\"}),/*#__PURE__*/e(\"ol\",{children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Purging Content: The Digital Spring Cleaning\"})})})}),/*#__PURE__*/e(\"p\",{children:\"Need to get rid of old content? Here's how you might purge specific URLs:\"}),/*#__PURE__*/e(o.div,{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(r,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/TbhpORLndv1iOkZzyo83/CodeBlock.js:default\",children:t=>/*#__PURE__*/e(i,{...t,code:'endpoint = \\'/ccu/v3/invalidate/url\\'\\npayload = {\\n\\xa0\\xa0\\xa0\\xa0\"objects\": [\\n\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\"https://www.example.com/outdated-image.jpg\",\\n\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\"https://www.example.com/old-script.js\"\\n\\xa0\\xa0\\xa0\\xa0]\\n}\\nresult = session.post(urljoin(baseurl, endpoint), json=payload)\\nprint(result.json())',language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"Just like that, those files are cleared from Akamai's cache. It's like hitting the refresh button for the entire internet!\"}),/*#__PURE__*/e(\"ol\",{start:\"2\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Retrieving Property Information: Know Your Domain\"})})})}),/*#__PURE__*/e(\"p\",{children:\"Want to get the lowdown on your properties? Try this:\"}),/*#__PURE__*/e(o.div,{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(r,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/TbhpORLndv1iOkZzyo83/CodeBlock.js:default\",children:t=>/*#__PURE__*/e(i,{...t,code:\"endpoint = '/papi/v1/properties'\\nresult = session.get(urljoin(baseurl, endpoint))\\nproperties = result.json()\\nfor property in properties['properties']['items']:\\n\\xa0\\xa0\\xa0\\xa0print(f\\\"Property Name: {property['propertyName']}\\\")\\n\\xa0\\xa0\\xa0\\xa0print(f\\\"Property ID: {property['propertyId']}\\\")\\n\\xa0\\xa0\\xa0\\xa0print(\\\"---\\\")\",language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"This script fetches info about all your properties. It's like having a bird's-eye view of your Akamai setup.\"}),/*#__PURE__*/e(\"ol\",{start:\"3\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Managing Security Configurations: Your Digital Bodyguard\"})})})}),/*#__PURE__*/e(\"p\",{children:\"Let's say you want to check out your security settings, particularly your attack groups:\"}),/*#__PURE__*/e(o.div,{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(r,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/TbhpORLndv1iOkZzyo83/CodeBlock.js:default\",children:t=>/*#__PURE__*/e(i,{...t,code:\"endpoint = f'/appsec/v1/configs/{config_id}/versions/{version}/security-policies/{policy_id}/attack-groups'\\nresult = session.get(urljoin(baseurl, endpoint))\\nattack_groups = result.json()\\nfor group in attack_groups['attackGroups']:\\n\\xa0\\xa0\\xa0\\xa0print(f\\\"Attack Group: {group['groupName']}\\\")\\n\\xa0\\xa0\\xa0\\xa0print(f\\\"Enabled: {group['enabled']}\\\")\\n\\xa0\\xa0\\xa0\\xa0print(\\\"---\\\")\",language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"This script gives you a rundown of your attack groups and whether they're enabled. It's like checking the locks on your digital fortress.\"}),/*#__PURE__*/e(\"p\",{children:\"And there you have it! You've just dipped your toes into the vast ocean of possibilities with the Akamai API. From purging content to managing security, you're now equipped to take control of your content delivery like never before.\"}),/*#__PURE__*/e(\"p\",{children:\"Remember, these are just a few examples of what you can do. The Akamai API is incredibly powerful and flexible, so don't be afraid to experiment and see what else you can accomplish. Who knows? You might just revolutionize how your organization handles content delivery and security!\"})]});export const richText15=/*#__PURE__*/t(n.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Alright, API enthusiasts! You've got the basics down, so let's level up your Akamai API game. We'll cover some essential best practices to keep your code clean and secure, then dive into some advanced features that'll make your applications truly shine.\"}),/*#__PURE__*/e(\"h4\",{children:\"Best Practices: Keeping Your API Game Strong\"}),/*#__PURE__*/e(\"ol\",{children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Stick with the Official Clients\"})})})}),/*#__PURE__*/e(\"p\",{children:\"Think of official Akamai API clients as your trusty Swiss Army knife. They handle authentication, request signing, and a bunch of other low-level details so you don't have to. It's like having a personal assistant for your API calls. Plus, they're regularly updated to keep up with any API changes. Work smarter, not harder!\"}),/*#__PURE__*/e(\"ol\",{start:\"2\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Implement Rate Limiting\"})})})}),/*#__PURE__*/e(\"p\",{children:\"Akamai's API is powerful, but even superheroes have limits. Implement rate limiting in your code to avoid hitting Akamai's request caps. It's like pacing yourself in a marathon - you'll go farther if you don't sprint right out of the gate. A simple delay between requests can work wonders:\"}),/*#__PURE__*/e(o.div,{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(r,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/TbhpORLndv1iOkZzyo83/CodeBlock.js:default\",children:t=>/*#__PURE__*/e(i,{...t,code:\"import time\\n# Make API calls with a delay\\nfor item in items_to_process:\\n\\xa0\\xa0\\xa0\\xa0make_api_call(item)\\n\\xa0\\xa0\\xa0\\xa0time.sleep(1)\\xa0 # Wait 1 second between calls\",language:\"JSX\"})})}),/*#__PURE__*/e(\"ol\",{start:\"3\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Handle Errors Like a Pro\"})})})}),/*#__PURE__*/e(\"p\",{children:\"In the world of APIs, errors happen. The key is how you handle them. Akamai provides detailed error responses, so use them! Implement try-except blocks and log those errors. It's like having a safety net for your code:\"}),/*#__PURE__*/e(o.div,{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(r,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/TbhpORLndv1iOkZzyo83/CodeBlock.js:default\",children:t=>/*#__PURE__*/e(i,{...t,code:'try:\\n\\xa0\\xa0\\xa0\\xa0result = session.get(urljoin(baseurl, endpoint))\\n\\xa0\\xa0\\xa0\\xa0result.raise_for_status()\\xa0 # Raises an HTTPError for bad responses\\nexcept requests.exceptions.RequestException as e:\\n\\xa0\\xa0\\xa0\\xa0print(f\"Oops! API call failed: {e}\")\\n\\xa0\\xa0\\xa0\\xa0# Log the error, notify your team, etc.',language:\"JSX\"})})}),/*#__PURE__*/e(\"ol\",{start:\"4\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Guard Those Credentials\"})})})}),/*#__PURE__*/e(\"p\",{children:\"Your API credentials are the keys to your Akamai kingdom. Treat them like you would your bank password. Never hardcode them in your applications or commit them to public repositories. Instead, use environment variables or secure credential management systems. It's like keeping your house keys in a safe instead of under the doormat.\"})]});export const richText16=/*#__PURE__*/t(n.Fragment,{children:[/*#__PURE__*/e(\"ol\",{children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Edge Compute with EdgeWorkers\"})})})}),/*#__PURE__*/e(\"p\",{children:\"EdgeWorkers let you run custom JavaScript at the edge of Akamai's network. It's like having mini-servers all around the world, ready to process data instantly. Here's a taste of how you might activate an EdgeWorker:\"}),/*#__PURE__*/e(o.div,{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(r,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/TbhpORLndv1iOkZzyo83/CodeBlock.js:default\",children:t=>/*#__PURE__*/e(i,{...t,code:'endpoint = f\\'/edgeworkers/v1/ids/{ew_id}/versions/{version}/activate\\'\\npayload = {\\n\\xa0\\xa0\\xa0\\xa0\"network\": \"STAGING\",\\n\\xa0\\xa0\\xa0\\xa0\"note\": \"Activating our awesome new feature\"\\n}\\nresult = session.post(urljoin(baseurl, endpoint), json=payload)\\nprint(result.json())',language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"Imagine personalizing content or processing data right next to your users. That's the power of EdgeWorkers!\"}),/*#__PURE__*/e(\"ol\",{start:\"2\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Image and Video Management\"})})})}),/*#__PURE__*/e(\"p\",{children:\"Akamai's Image and Video Manager (IVM) is like having a professional media editor built into your CDN. You can optimize and transform images and videos on the fly. Let's see how you might fetch your IVM policies:\"}),/*#__PURE__*/e(o.div,{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(r,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/TbhpORLndv1iOkZzyo83/CodeBlock.js:default\",children:t=>/*#__PURE__*/e(i,{...t,code:\"endpoint = '/imaging/v0/policies'\\nresult = session.get(urljoin(baseurl, endpoint))\\npolicies = result.json()\\nfor policy in policies['items']:\\n\\xa0\\xa0\\xa0\\xa0print(f\\\"Policy Name: {policy['name']}\\\")\\n\\xa0\\xa0\\xa0\\xa0print(f\\\"Policy ID: {policy['id']}\\\")\\n\\xa0\\xa0\\xa0\\xa0print(\\\"---\\\")\",language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"With IVM, you can resize images, convert formats, or even apply filters - all through simple API calls. It's like Instagram filters for your entire website!\"}),/*#__PURE__*/e(\"ol\",{start:\"3\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Bot Management\"})})})}),/*#__PURE__*/e(\"p\",{children:\"In today's internet, not all traffic is human. Akamai's Bot Manager helps you separate the good bots from the bad. Let's peek at your bot management settings:\"}),/*#__PURE__*/e(o.div,{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(r,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/TbhpORLndv1iOkZzyo83/CodeBlock.js:default\",children:t=>/*#__PURE__*/e(i,{...t,code:\"endpoint = f'/appsec/v1/configs/{config_id}/versions/{version}/security-policies/{policy_id}/bot-management-settings'\\nresult = session.get(urljoin(baseurl, endpoint))\\nbot_settings = result.json()\\nprint(f\\\"Bot Detection: {bot_settings['botDetectionEnabled']}\\\")\\nprint(f\\\"Bot Management Mode: {bot_settings['botManagementSettings']['botManagementMode']}\\\")\",language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"With Bot Manager, you can allow helpful bots (like search engine crawlers) while blocking malicious ones. It's like having a bouncer for your website who knows exactly who to let in and who to keep out.\"}),/*#__PURE__*/e(\"p\",{children:\"And there you have it! You're now armed with best practices to keep your Akamai API usage smooth and secure, plus some advanced features to take your applications to the next level.\"}),/*#__PURE__*/e(\"p\",{children:\"Remember, the key to mastering the Akamai API is experimentation. Don't be afraid to try new things, push the boundaries, and see what amazing solutions you can create. With these tools at your disposal, you're well on your way to becoming an Akamai API wizard!\"})]});export const richText17=/*#__PURE__*/e(n.Fragment,{children:/*#__PURE__*/e(\"p\",{children:\"Congratulations! You've just unlocked the power of the Akamai API. From the basics of authentication to advanced features like EdgeWorkers and Bot Management, you're now equipped to revolutionize your content delivery and security strategies. Remember to follow best practices, experiment with different features, and always keep learning. The Akamai API is more than just a tool\u2014it's your ticket to creating faster, more secure, and highly scalable web applications. So go ahead, dive in, and start building the next generation of web experiences. Your users (and your future self) will thank you for it.\"})});export const richText18=/*#__PURE__*/t(n.Fragment,{children:[/*#__PURE__*/t(\"p\",{children:[\"Hey there, social media enthusiasts and budding developers! Ever wondered how to tap into the goldmine of tweets floating around the Twitterverse? Well, you're in luck! Today, we're diving into the world of \",/*#__PURE__*/e(a,{href:\"https://developers.qodex.ai/twitter/twitter-api-v2-2\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Twitter API v2\"})}),\" \u2013 your ticket to fetching those 280-character gems.\"]}),/*#__PURE__*/e(\"h3\",{children:\"Let's Get Started: Twitter API v2 in a Nutshell\"}),/*#__PURE__*/e(\"p\",{children:\"Twitter's latest API version is like a shiny new toy for developers. It's packed with cool features that'll make your tweet-fetching dreams come true. Here's what's got us excited:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Sleeker Responses: Say goodbye to clunky data. The new API serves up information in a much more digestible format.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Poll Power: Love those Twitter polls? Now you can grab that data too!\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Smart Annotations: Get the lowdown on what a tweet's really about with contextual info and entity recognition.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Conversation Threads: No more missing out on the full picture. Fetch entire conversation threads with ease.\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Why Should You Care?\"})}),/*#__PURE__*/t(\"p\",{children:[\"Whether you're building a social media dashboard, conducting research, or just satisfying your curiosity, the \",/*#__PURE__*/e(a,{href:\"https://developers.qodex.ai/twitter/twitter-api-v2-2\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Twitter API v2\"})}),\" opens up a world of possibilities. It's like having a backstage pass to the Twitterverse!\"]}),/*#__PURE__*/e(\"p\",{children:\"Ready to jump in? In the next sections, we'll walk you through setting up your developer account, getting your hands on those crucial API keys, and making your very first API call. Trust me, it's easier than you think!\"})]});export const richText19=/*#__PURE__*/t(n.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Alright, let's roll up our sleeves and get you set up with Twitter API access. Don't worry, it's not as daunting as it might sound!\"}),/*#__PURE__*/e(\"h4\",{children:\"Step 1: Becoming a Twitter Developer\"}),/*#__PURE__*/e(\"p\",{children:\"First things first, you need to join the cool kids' club - aka get a Twitter developer account. Here's how:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[\"Head over to the \",/*#__PURE__*/e(a,{href:\"https://developer.x.com/en\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Twitter Developer Platform website\"})}),\".\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:'Click that \"Sign Up\" button and follow the prompts.'})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Fill out the application with your brilliant ideas for using the API.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Cross your fingers and wait for approval. (Don't worry, Twitter's pretty quick about it!)\"})})]}),/*#__PURE__*/e(\"h4\",{children:\"Step 2: Creating Your Twitter Project\"}),/*#__PURE__*/e(\"p\",{children:\"Once you're in, it's project time:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Log into the Twitter Developer Portal.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:'Look for the \"Create Project\" button and give it a click.'})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Pick a snazzy name for your project. Make it count!\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Choose the use case that best fits your plans.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Jot down a brief description of what you're up to.\"})})]}),/*#__PURE__*/e(\"h4\",{children:\"Step 3: Connecting an App\"}),/*#__PURE__*/e(\"p\",{children:\"Now for the fun part - setting up your app:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:'In your new project, you\\'ll see an option to \"Add App\" or \"Create App\".'})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:'If you\\'re starting fresh, hit \"Create App\" and give it a name.'})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Already have an app? Just connect it to your new project.\"})})]}),/*#__PURE__*/e(\"h4\",{children:\"Step 4: Securing Your Keys to the Twitter Kingdom\"}),/*#__PURE__*/e(\"p\",{children:\"Here's where you get your VIP access:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Once your app is created, you'll see a screen with your API Key, API Secret Key, and Bearer Token.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"These are your golden tickets, so keep them safe! Copy and store them securely on your local machine.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Pro tip: Never share these keys publicly. They're like the passwords to your Twitter API kingdom!\"})})]}),/*#__PURE__*/e(\"p\",{children:\"And voil\\xe0! You're now officially set up with Twitter developer access. Pat yourself on the back - you're one step closer to becoming a Twitter API wizard!\"})]});export const richText20=/*#__PURE__*/t(n.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Now that you're armed with your API keys, it's time for the moment of truth - making your first API request. Don't worry, we've got options for everyone, from command-line warriors to Python enthusiasts. Let's dive in!\"}),/*#__PURE__*/e(\"h4\",{children:\"Option 1: The Command Line Hero (cURL)\"}),/*#__PURE__*/e(\"p\",{children:\"For those who love the terminal, cURL is your best friend:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Open your terminal.\"})}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:[/*#__PURE__*/t(\"p\",{children:[\"Copy this command (but don't hit enter yet!):\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})]}),/*#__PURE__*/e(o.div,{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(r,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/TbhpORLndv1iOkZzyo83/CodeBlock.js:default\",children:t=>/*#__PURE__*/e(i,{...t,code:\" curl --request GET 'https://api.x.com/2/tweets/search/recent?query=from:twitterdev' --header 'Authorization: Bearer $BEARER_TOKEN'\",language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Replace $BEARER_TOKEN with your actual Bearer Token.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Hit enter and watch the magic happen! You'll see a JSON response with recent tweets from @TwitterDev.\"})})]}),/*#__PURE__*/e(\"h4\",{children:\"Option 2: Python Power\"}),/*#__PURE__*/e(\"p\",{children:\"More of a Python person? We've got you covered:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[\"Head to the \",/*#__PURE__*/e(a,{href:\"https://developers.qodex.ai/twitter/twitter-api-v2-2\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Twitter API v2\"})}),\" sample code on GitHub.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Download or clone the repository.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Navigate to the recent_search.py file.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Make sure you have the requests library installed (pip install requests).\"})}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:[/*#__PURE__*/t(\"p\",{children:[\"Set your Bearer Token as an environment variable:\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})]}),/*#__PURE__*/e(o.div,{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(r,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/TbhpORLndv1iOkZzyo83/CodeBlock.js:default\",children:t=>/*#__PURE__*/e(i,{...t,code:\"export 'BEARER_TOKEN'='your_actual_bearer_token_here'\",language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Run the script: python3 recent_search.py\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Boom! You're now fetching tweets with Python. Feel free to tweak the query in the script to fetch different tweets.\"}),/*#__PURE__*/e(\"h4\",{children:\"Option 3: The GUI Way (Qodex)\"}),/*#__PURE__*/e(\"p\",{children:\"If you prefer clicking to typing:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[\"Go to \",/*#__PURE__*/e(a,{href:\"https://qodex.ai/\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Qodex.ai\"})}),\".\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Create a new request in Qodex.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Set the request type to GET.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Use this URL: https://api.x.com/2/tweets/search/recent?query=from:twitterdev\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"In the Headers tab, add Authorization as the key and Bearer your_actual_bearer_token as the value.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Hit Send and watch those tweets roll in!\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Bonus: Libraries Galore\"}),/*#__PURE__*/e(\"p\",{children:\"Want to streamline your coding? Check out Twitter's tools and libraries page. There are libraries available in various programming languages that support v2 of the API. They can make your life a whole lot easier!\"})]});export const richText21=/*#__PURE__*/t(n.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Now that you've got your feet wet, let's dive deeper into the Recent Search endpoint. This powerful tool is your ticket to finding specific tweets from the last seven days. Here's how to make it work for you:\"}),/*#__PURE__*/e(\"h4\",{children:\"Basic Query Structure\"}),/*#__PURE__*/e(\"p\",{children:\"The Recent Search endpoint is all about the query. Here's a simple structure:\"}),/*#__PURE__*/e(o.div,{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(r,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/TbhpORLndv1iOkZzyo83/CodeBlock.js:default\",children:t=>/*#__PURE__*/e(i,{...t,code:\"https://api.x.com/2/tweets/search/recent?query=your_search_terms_here\",language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"For example, to find tweets about cats:\"}),/*#__PURE__*/e(o.div,{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(r,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/TbhpORLndv1iOkZzyo83/CodeBlock.js:default\",children:t=>/*#__PURE__*/e(i,{...t,code:\"https://api.x.com/2/tweets/search/recent?query=cats\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:\"Modifying Queries for Specific Data\"}),/*#__PURE__*/e(\"p\",{children:\"Want to get fancy? Try these query modifications:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"From a specific user: from:username\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Containing a hashtag: #hashtag\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Tweets with media: has:images or has:videos\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Tweets in a language: lang:en (for English)\"})})]}),/*#__PURE__*/e(\"h4\",{children:\"Combine these for more precise results:\"}),/*#__PURE__*/e(o.div,{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(r,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/TbhpORLndv1iOkZzyo83/CodeBlock.js:default\",children:t=>/*#__PURE__*/e(i,{...t,code:\"query=cats from:ASPCA has:images lang:en\",language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"This would find English tweets about cats from @ASPCA that include images.\"}),/*#__PURE__*/e(\"h4\",{children:\"Using Fields and Expansions\"}),/*#__PURE__*/e(\"p\",{children:\"To get more detailed responses, use fields and expansions:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Add tweet fields: tweet.fields=created_at,author_id,public_metrics\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Include user data: expansions=author_id&user.fields=username,verified\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Your URL might look like this:\"}),/*#__PURE__*/e(o.div,{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(r,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/TbhpORLndv1iOkZzyo83/CodeBlock.js:default\",children:t=>/*#__PURE__*/e(i,{...t,code:\"https://api.x.com/2/tweets/search/recent?query=cats&tweet.fields=created_at,author_id,public_metrics&expansions=author_id&user.fields=username,verified\",language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"This gives you creation time, author info, and engagement metrics for each tweet.\"})]});export const richText22=/*#__PURE__*/t(n.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Congratulations! You're now equipped to fetch and filter tweets like a pro. But why stop here? Let's look at where to go next:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:[/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Explore More Endpoints\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Try the Filtered Stream endpoint for real-time tweet monitoring\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Use the User Tweet Timeline endpoint to fetch a user's recent tweets\"})})]})]}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:[/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Check the Twitter API Roadmap\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Visit the official Twitter API roadmap to see what exciting features are coming up\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Stay ahead of the curve by preparing for upcoming endpoints and features\"})})]})]}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:[/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Resources for Further Learning\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[\"Dive into the \",/*#__PURE__*/e(a,{href:\"https://developers.qodex.ai/twitter\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Twitter API documentation\"})}),\" for in-depth information\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Join the Twitter Developer Community to connect with other developers\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Watch tutorial videos on the Twitter Developer YouTube channel\"})})]})]})]}),/*#__PURE__*/e(\"p\",{children:\"Remember, the world of Twitter data is vast and ever-changing. Keep experimenting, stay curious, and don't be afraid to try new things. Who knows? Your next big project or groundbreaking research could be just a query away!\"})]});export const richText23=/*#__PURE__*/e(n.Fragment,{children:/*#__PURE__*/t(\"p\",{children:[\"And there you have it, folks! You're now equipped to dive into the Twitter API and start fetching tweets like a pro. From setting up your developer account to crafting the perfect query, you've got the basics down. Remember, this is just the \",/*#__PURE__*/e(a,{href:\"https://developers.qodex.ai/twitter\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"beginning of your Twitter API journey\"})}),\". Keep exploring, experimenting, and pushing the boundaries of what you can do with this powerful tool. Whether you're building the next big social media app or conducting groundbreaking research, the Twitter API is your oyster. So go forth, code fearlessly, and may your tweets always be plentiful!\"]})});export const richText24=/*#__PURE__*/t(n.Fragment,{children:[/*#__PURE__*/t(\"p\",{children:[\"Hey there, tech enthusiasts! Ever wondered how to automate your Zoom meetings using Python? Well, you're in for a treat! Today, we're diving into the world of \",/*#__PURE__*/e(a,{href:\"https://developers.qodex.ai/zoom-public\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Zoom API\"})}),\" and how you can harness its power with just a few lines of Python code.\"]}),/*#__PURE__*/t(\"p\",{children:[\"Zoom has become an integral part of our daily lives, whether for work, education, or catching up with friends. But did you know you can create, manage, and customize Zoom meetings programmatically? That's where the \",/*#__PURE__*/e(a,{href:\"https://developers.qodex.ai/zoom-public\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Zoom API\"})}),\" comes in handy, and Python makes it a breeze to work with.\"]}),/*#__PURE__*/t(\"p\",{children:[\"In this guide, we'll walk you through the process of setting up your Zoom API account, writing some simple Python code, and creating your very first \",/*#__PURE__*/e(a,{href:\"https://developers.qodex.ai/zoom-public\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Zoom meeting through API calls\"})}),\". Whether you're a Python newbie or a seasoned coder, this tutorial will have you automating Zoom tasks in no time.\"]}),/*#__PURE__*/e(\"p\",{children:\"So, grab your favorite caffeinated beverage, fire up your code editor, and let's get started on this exciting journey into the world of Zoom API and Python!\"})]});export const richText25=/*#__PURE__*/t(n.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Alright, let's kick things off by getting your Zoom API account ready for action. Don't worry, it's easier than you might think!\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Creating a Zoom Account First things first, you'll need a Zoom account. If you already have one, great! If not, head over to zoom.us and sign up. It's free and takes just a minute.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Navigating to the Zoom Marketplace Once you're logged in, it's time to visit the Zoom App Marketplace. Here's how:\"})})]}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[\"Go to \",/*#__PURE__*/e(a,{href:\"https://marketplace.zoom.us/\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"marketplace.zoom.us\"})})]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:'Click on the \"Develop\" dropdown in the top-right corner'})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:'Select \"Build App\"'})})]}),/*#__PURE__*/e(\"p\",{children:\"You'll feel like a kid in a candy store with all the options, but stay focused!\"}),/*#__PURE__*/e(\"ol\",{start:\"3\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Building a JWT App Now, let's create your app:\"})})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:'Click on \"Create\" under the JWT option'})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"You'll see a pop-up about Zoom's API License and Terms of Use. Give it a quick read and click \\\"I agree\\\"\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Time to name your app! Choose something cool (or boring, we won't judge)\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Fill in some basic details like your name and email\"})})]}),/*#__PURE__*/e(\"ol\",{start:\"4\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Obtaining API Key and Secret You're in the home stretch now:\"})})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:'After creating your app, navigate to the \"App Credentials\" tab'})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Here you'll find your API Key and API Secret\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Keep these safe! They're like the secret ingredients to your API recipe\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Pro tip: Never share your API credentials publicly. It's like giving away the keys to your digital kingdom!\"}),/*#__PURE__*/e(\"p\",{children:\"And there you have it! Your Zoom API account is set up and ready to go. Pat yourself on the back \u2013 you've just taken the first step towards Zoom automation mastery.\"})]});export const richText26=/*#__PURE__*/t(n.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Now that we've got our Zoom API account set up, it's time to get our hands dirty with some Python magic! Let's start by installing the necessary libraries and then move on to generating our JWT token.\"}),/*#__PURE__*/e(\"h3\",{children:\"Installing Required Python Libraries\"}),/*#__PURE__*/e(\"p\",{children:\"Before we dive into the code, we need to equip our Python environment with two essential libraries:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[\"Requests library: This is our go-to for making \",/*#__PURE__*/e(a,{href:\"https://qodex.ai/blog/http-request-methods-verbs\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"HTTP requests\"})}),\". It's like the Swiss Army knife for interacting with web APIs.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[\"PyJWT library: This little gem will help us generate our \",/*#__PURE__*/e(a,{href:\"https://qodex.ai/blog/jwt-json-web-tokens\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"JSON Web Tokens (JWT)\"})}),\" for authentication.\"]})})]}),/*#__PURE__*/e(\"p\",{children:\"To install these libraries, open your terminal and run:\"}),/*#__PURE__*/e(o.div,{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(r,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/TbhpORLndv1iOkZzyo83/CodeBlock.js:default\",children:t=>/*#__PURE__*/e(i,{...t,code:\"pip install requests pyjwt\",language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"Easy peasy, right? Now we're ready to roll!\"}),/*#__PURE__*/e(\"h3\",{children:\"Generating a JWT Token\"}),/*#__PURE__*/t(\"p\",{children:[\"Alright, let's create a function to generate our JWT token. This token is like a VIP pass that lets us access the \",/*#__PURE__*/e(a,{href:\"https://developers.qodex.ai/zoom-public/zoom-account-api\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Zoom API\"})}),\". Here's how we do it:\"]}),/*#__PURE__*/e(o.div,{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(r,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/TbhpORLndv1iOkZzyo83/CodeBlock.js:default\",children:t=>/*#__PURE__*/e(i,{...t,code:\"import jwt\\nfrom time import time\\nAPI_KEY = 'Your_API_Key_Here'\\nAPI_SEC = 'Your_API_Secret_Here'\\ndef generate_token():\\n\\xa0\\xa0\\xa0\\xa0token = jwt.encode(\\n\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0{'iss': API_KEY, 'exp': time() + 5000},\\n\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0API_SEC,\\n\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0algorithm='HS256'\\n\\xa0\\xa0\\xa0\\xa0)\",language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"Let's break this down:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"We import the necessary modules: jwt for token generation and time for setting the expiration.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"We define our API_KEY and API_SEC variables. Remember to replace these with your actual credentials!\"})}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:[/*#__PURE__*/e(\"p\",{children:\"Our generate_token() function does the heavy lifting:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:[/*#__PURE__*/e(\"p\",{children:\"It creates a payload with two components:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"'iss': This is our API Key, which identifies our app to Zoom.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"'exp': This sets the expiration time for our token (current time + 5000 seconds).\"})})]})]}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"We use our API Secret to sign the token.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"We specify the hashing algorithm as 'HS256'.\"})})]})]})]}),/*#__PURE__*/e(\"p\",{children:\"And voil\\xe0! We've got ourselves a shiny new JWT token generator.\"}),/*#__PURE__*/e(\"p\",{children:\"This token is like a temporary password that proves to Zoom that we're authorized to use the API. It's more secure than sending our API key and secret with every request.\"}),/*#__PURE__*/e(\"h3\",{children:\"Creating a Zoom Meeting and Handling the API Response\"}),/*#__PURE__*/t(\"p\",{children:[\"Now that we've got our token generator up and running, let's dive into the fun part \u2013 \",/*#__PURE__*/e(a,{href:\"https://developers.qodex.ai/zoom-public/zoom-meeting-api\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"creating a Zoom meeting with just a few lines of code\"})}),\"!\"]}),/*#__PURE__*/e(\"h3\",{children:\"Creating a Zoom Meeting\"}),/*#__PURE__*/e(\"p\",{children:\"First, we'll define our meeting details in JSON format. This is like filling out a form for Zoom, telling it what kind of meeting we want:\"}),/*#__PURE__*/e(o.div,{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(r,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/TbhpORLndv1iOkZzyo83/CodeBlock.js:default\",children:t=>/*#__PURE__*/e(i,{...t,code:'import json\\nmeeting_details = {\\n\\xa0\\xa0\\xa0\\xa0\"topic\": \"Python Zoom Meeting\",\\n\\xa0\\xa0\\xa0\\xa0\"type\": 2,\\xa0 # Scheduled meeting\\n\\xa0\\xa0\\xa0\\xa0\"start_time\": \"2023-06-14T10:00:00\",\\xa0 # Use your desired date and time\\n\\xa0\\xa0\\xa0\\xa0\"duration\": \"45\",\\xa0 # Duration in minutes\\n\\xa0\\xa0\\xa0\\xa0\"timezone\": \"America/New_York\",\\n\\xa0\\xa0\\xa0\\xa0\"agenda\": \"Discuss Zoom API Integration\",\\n\\xa0\\xa0\\xa0\\xa0\"settings\": {\\n\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\"host_video\": True,\\n\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\"participant_video\": True,\\n\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\"join_before_host\": False,\\n\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\"mute_upon_entry\": True,\\n\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\"watermark\": False,\\n\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\"audio\": \"voip\",\\n\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\"auto_recording\": \"none\"\\n\\xa0\\xa0\\xa0\\xa0}\\n}',language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"Now, let's create a function to send this to Zoom's API:\"}),/*#__PURE__*/e(o.div,{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(r,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/TbhpORLndv1iOkZzyo83/CodeBlock.js:default\",children:t=>/*#__PURE__*/e(i,{...t,code:\"import requests\\ndef create_meeting():\\n    headers = {\\n        'authorization': 'Bearer ' + generate_token(),\\n        'content-type': 'application/json'\\n    }\\n    r = requests.post(\\n        f'https://api.zoom.us/v2/users/me/meetings',\\n        headers=headers, \\n        data=json.dumps(meeting_details)\\n    )\\n    return r.json()\",language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"This function does a few key things:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"It sets up the headers, including our JWT token.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[\"It sends a POST request to \",/*#__PURE__*/e(a,{href:\"https://developers.qodex.ai/zoom-public\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Zoom's API endpoint\"})}),\".\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"It includes our meeting details in the request.\"})})]}),/*#__PURE__*/e(\"h3\",{children:\"Handling the API Response\"}),/*#__PURE__*/e(o.div,{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(r,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/TbhpORLndv1iOkZzyo83/CodeBlock.js:default\",children:t=>/*#__PURE__*/e(i,{...t,code:'def display_meeting_info():\\n\\xa0\\xa0\\xa0\\xa0response = create_meeting()\\n\\xa0\\xa0\\xa0\\xa0\\n\\xa0\\xa0\\xa0\\xa0join_url = response[\\'join_url\\']\\n\\xa0\\xa0\\xa0\\xa0meeting_password = response[\\'password\\']\\n\\xa0\\xa0\\xa0\\xa0print(f\"Your meeting has been created!\")\\n\\xa0\\xa0\\xa0\\xa0print(f\"Join URL: {join_url}\")\\n\\xa0\\xa0\\xa0\\xa0print(f\"Password: {meeting_password}\")\\n# Let\\'s run it!\\ndisplay_meeting_info()',language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"And there you have it! When you run this script, it will create a Zoom meeting and print out the join URL and password. It's that simple!\"}),/*#__PURE__*/e(\"p\",{children:\"You've just created your first Zoom meeting using Python and the Zoom API. How cool is that? With this foundation, you can start building more complex applications \u2013 maybe a meeting scheduler, or even a custom Zoom client. The possibilities are endless!\"}),/*#__PURE__*/e(\"h3\",{children:\"Complete Code Example and Running the Script\"}),/*#__PURE__*/e(\"p\",{children:\"Alright, let's put it all together! Here's the complete Python script that combines all the steps we've covered. This is your one-stop shop for creating Zoom meetings programmatically:\"}),/*#__PURE__*/e(o.div,{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(r,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/TbhpORLndv1iOkZzyo83/CodeBlock.js:default\",children:t=>/*#__PURE__*/e(i,{...t,code:'import jwt\\nimport requests\\nimport json\\nfrom time import time\\n# Your Zoom API credentials\\nAPI_KEY = \\'Your_API_Key_Here\\'\\nAPI_SEC = \\'Your_API_Secret_Here\\'\\n# Function to generate a JWT token\\ndef generate_token():\\n\\xa0\\xa0\\xa0\\xa0token = jwt.encode(\\n\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0{\\'iss\\': API_KEY, \\'exp\\': time() + 5000},\\n\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0API_SEC,\\n\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0algorithm=\\'HS256\\'\\n\\xa0\\xa0\\xa0\\xa0)\\n\\xa0\\xa0\\xa0\\xa0return token\\n# Meeting details\\nmeeting_details = {\\n\\xa0\\xa0\\xa0\\xa0\"topic\": \"Python Zoom Meeting\",\\n\\xa0\\xa0\\xa0\\xa0\"type\": 2,\\xa0 # Scheduled meeting\\n\\xa0\\xa0\\xa0\\xa0\"start_time\": \"2023-06-14T10:00:00\",\\xa0 # Use your desired date and time\\n\\xa0\\xa0\\xa0\\xa0\"duration\": \"45\",\\xa0 # Duration in minutes\\n\\xa0\\xa0\\xa0\\xa0\"timezone\": \"America/New_York\",\\n\\xa0\\xa0\\xa0\\xa0\"agenda\": \"Discuss Zoom API Integration\",\\n\\xa0\\xa0\\xa0\\xa0\"settings\": {\\n\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\"host_video\": True,\\n\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\"participant_video\": True,\\n\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\"join_before_host\": False,\\n\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\"mute_upon_entry\": True,\\n\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\"watermark\": False,\\n\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\"audio\": \"voip\",\\n\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\"auto_recording\": \"none\"\\n\\xa0\\xa0\\xa0\\xa0}\\n}\\n# Function to create a meeting\\ndef create_meeting():\\n\\xa0\\xa0\\xa0\\xa0headers = {\\n\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\'authorization\\': \\'Bearer \\' + generate_token(),\\n\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\'content-type\\': \\'application/json\\'\\n\\xa0\\xa0\\xa0\\xa0}\\n\\xa0\\xa0\\xa0\\xa0r = requests.post(\\n\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0f\\'https://api.zoom.us/v2/users/me/meetings\\',\\n\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0headers=headers,\\xa0\\n\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0\\xa0data=json.dumps(meeting_details)\\n\\xa0\\xa0\\xa0\\xa0)\\n\\xa0\\xa0\\xa0\\xa0return r.json()\\n# Function to display meeting info\\ndef display_meeting_info():\\n\\xa0\\xa0\\xa0\\xa0response = create_meeting()\\n\\xa0\\xa0\\xa0\\xa0\\n\\xa0\\xa0\\xa0\\xa0join_url = response[\\'join_url\\']\\n\\xa0\\xa0\\xa0\\xa0meeting_password = response[\\'password\\']\\n\\xa0\\xa0\\xa0\\xa0print(f\"Your meeting has been created!\")\\n\\xa0\\xa0\\xa0\\xa0print(f\"Join URL: {join_url}\")\\n\\xa0\\xa0\\xa0\\xa0print(f\"Password: {meeting_password}\")\\n# Run the script\\nif __name__ == \"__main__\":\\n\\xa0\\xa0\\xa0\\xa0display_meeting_info()',language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Running the Script\"}),/*#__PURE__*/e(\"p\",{children:\"Now for the moment of truth! Let's run this script and see the magic happen.\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Save the above code in a file, let's call it zoom_meeting_creator.py.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Open your terminal or command prompt.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Navigate to the directory where you saved the file.\"})}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:[/*#__PURE__*/t(\"p\",{children:[\"Run the script by typing:\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})]}),/*#__PURE__*/e(o.div,{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(r,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/TbhpORLndv1iOkZzyo83/CodeBlock.js:default\",children:t=>/*#__PURE__*/e(i,{...t,code:\"python zoom_meeting_creator.py\",language:\"JSX\"})})})]})]}),/*#__PURE__*/e(\"h3\",{children:\"Understanding the Output\"}),/*#__PURE__*/e(\"p\",{children:\"When you run the script, you should see output similar to this:\"}),/*#__PURE__*/e(o.div,{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(r,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/TbhpORLndv1iOkZzyo83/CodeBlock.js:default\",children:t=>/*#__PURE__*/e(i,{...t,code:\"Your meeting has been created!\\nJoin URL: https://us04web.zoom.us/j/12345678901?pwd=abcdefghijklmnop\\nPassword: 123456\",language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"Let's break down what's happening:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"The script generates a JWT token for authentication.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"It sends a request to Zoom's API to create a meeting with your specified details.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Zoom responds with the meeting information.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"The script extracts and displays the Join URL and Password.\"})})]}),/*#__PURE__*/e(\"p\",{children:\"The Join URL is what you'd share with participants to join your meeting. The password adds an extra layer of security.\"}),/*#__PURE__*/e(\"p\",{children:\"And there you have it! You've just created a Zoom meeting programmatically. Pretty neat, huh?\"}),/*#__PURE__*/e(\"p\",{children:\"Remember, this is just the tip of the iceberg. You can expand this script to create multiple meetings, schedule recurring meetings, or even integrate it into a larger application. The possibilities are endless!\"})]});export const richText27=/*#__PURE__*/t(n.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Congratulations! You've just unlocked the power of the Zoom API with Python. We've covered everything from setting up your API account to creating meetings with just a few lines of code. This is just the beginning of what you can achieve. Imagine automating your entire meeting schedule or integrating Zoom features into your own apps. The possibilities are endless!\"}),/*#__PURE__*/t(\"p\",{children:[\"Remember, practice makes perfect. Keep experimenting, and don't be afraid to dive deeper into the \",/*#__PURE__*/e(a,{href:\"https://developers.qodex.ai/zoom-public\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Zoom API documentation\"})}),\". Who knows? You might just create the next big Zoom integration that revolutionizes how we connect online.\"]})]});export const richText28=/*#__PURE__*/t(n.Fragment,{children:[/*#__PURE__*/t(\"p\",{children:[\"Ever felt like you needed a magic wand to automate your web browser tasks? Well, you're in luck! Today, we're pitting two powerful tools against each other: \",/*#__PURE__*/e(\"strong\",{children:\"Playwright and Puppeteer\"}),'. These nifty pieces of software are like having a super-smart robot at your fingertips, ready to click, scroll, and type faster than you can say \"automate.\"']}),/*#__PURE__*/e(\"p\",{children:\"But what exactly are these tools, and where did they come from?\"}),/*#__PURE__*/e(\"p\",{children:\"Puppeteer burst onto the scene courtesy of the brilliant minds at Google. Think of it as Chrome's cool cousin, designed to make your browsing tasks a breeze. It's been the go-to choice for many developers looking to simplify their web automation needs.\"}),/*#__PURE__*/e(\"p\",{children:\"Enter Playwright, the new kid on the block. Born in the labs of Microsoft in 2020, it's like Puppeteer's overachieving younger sibling. Fun fact: The team behind Playwright actually used to work on Puppeteer at Google before moving to Microsoft. Talk about a plot twist!\"}),/*#__PURE__*/e(\"p\",{children:\"Both these tools are here to make your life easier, whether you're testing websites, scraping data, or just trying to automate those repetitive browser tasks that make you want to pull your hair out. But which one is right for you?\"})]});export const richText29=/*#__PURE__*/t(n.Fragment,{children:[/*#__PURE__*/e(\"h4\",{children:\"1.  Juggling Multiple Pages\"}),/*#__PURE__*/e(\"p\",{children:\"Imagine you're a circus performer, but instead of juggling balls, you're juggling browser tabs. That's where Playwright shines! It's like having an extra pair of hands, effortlessly managing multiple pages at once. Need to simulate a user hopping between different tabs? Playwright's got your back.\"}),/*#__PURE__*/e(\"p\",{children:\"Puppeteer, on the other hand, is more of a one-trick pony. It's great at focusing on one page at a time, perfect for when you need to dive deep into a single task without distractions.\"}),/*#__PURE__*/e(\"h4\",{children:\"2. Browser Buffet\"}),/*#__PURE__*/e(\"p\",{children:\"Playwright is the foodie of browser automation. It doesn't discriminate - Chrome, Firefox, Safari? Bring 'em on! This cross-browser support means you can ensure your website looks great and functions perfectly, no matter what browser your users prefer.\"}),/*#__PURE__*/e(\"p\",{children:\"Puppeteer, however, is a bit pickier. It's got a special relationship with Chrome and Chromium-based browsers. If Chrome is your jam, Puppeteer will be your best friend. But if you need to test on other browsers, you might find yourself in a bit of a pickle.\"}),/*#__PURE__*/e(\"h4\",{children:\"3. Simple vs. Complex: The Use Case Showdown\"}),/*#__PURE__*/t(\"p\",{children:[\"Think of Playwright as the Swiss Army knife of \",/*#__PURE__*/e(a,{href:\"https://qodex.ai/blog/what-is-web-application-testing\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"web automation\"})}),\". Got a complex web app with intricate user flows? Playwright is your go-to tool. It's built to handle the tough stuff, making it ideal for testing sophisticated applications or automating complex scenarios.\"]}),/*#__PURE__*/e(\"p\",{children:\"Puppeteer, meanwhile, is like that reliable screwdriver in your toolbox. It's straightforward, efficient, and perfect for simpler automation tasks. Need to quickly scrape some data or automate a basic workflow? Puppeteer's simplicity might be just what the doctor ordered.\"}),/*#__PURE__*/t(\"p\",{children:[\"In a nutshell, \",/*#__PURE__*/e(a,{href:\"https://qodex.ai/blog/playwright-alternatives\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Playwright\"})}),\" is your all-rounder, ready to tackle complex, multi-browser scenarios. Puppeteer is your specialist, excelling in Chrome-based, straightforward automation tasks.\"]})]});export const richText30=/*#__PURE__*/e(n.Fragment,{children:/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Browser Buffet Playwright doesn't play favorites. Chrome, Firefox, Safari - it handles them all like a pro. It's like having a universal remote for browsers, giving you the power to ensure your web app looks and works great everywhere.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Parallel Universe Ever wished you could be in multiple places at once? With Playwright's parallel testing, you can! Run multiple tests simultaneously, saving you precious time and making your testing process faster than The Flash on espresso.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Polyglot Paradise Playwright speaks your language - literally. Whether you're a Python enthusiast, a JavaScript junkie, or a Java genius, Playwright's got you covered. It's like a UN translator for coding languages!\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Patience is a Virtue Tired of playing the waiting game with web elements? Playwright's auto-wait feature is like having a personal assistant who knows exactly when everything's ready. No more awkward timing issues or premature interactions.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Network Ninja With Playwright's network interception capabilities, you're basically a web traffic cop. Redirect requests, mock responses, or spy on network activity - all without breaking a sweat.\"})})]})});export const richText31=/*#__PURE__*/t(n.Fragment,{children:[/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Chrome's BFF Puppeteer and Chrome go together like peanut butter and jelly. This tight integration means smoother sailing when you're working with Google's popular browser.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Setup Simplicity If you love plug-and-play gadgets, you'll adore Puppeteer. Setting it up is easier than assembling a LEGO set. Just a few quick steps, and you're ready to automate!\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:'Speed Demon Puppeteer is all about that need for speed. It executes tasks faster than you can say \"automation,\" making it perfect for projects where every millisecond counts.'})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Extension Extravaganza Working with Chrome extensions? Puppeteer's got your back. In headful mode (that's geek-speak for \\\"with a visible browser\\\"), you can automate extensions just like a real user would interact with them.\"})})]}),/*#__PURE__*/t(\"p\",{children:[\"Both Playwright and \",/*#__PURE__*/e(a,{href:\"https://qodex.ai/blog/puppeteer-alternatives\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Puppeteer\"})}),\" bring some serious firepower to the table. Playwright is your Swiss Army knife, ready for any browser or language you throw at it. Puppeteer is your Chrome specialist, offering simplicity and speed.\"]}),/*#__PURE__*/e(\"p\",{children:'Remember, the \"best\" tool depends on your specific needs. Are you looking for versatility or specialization? Cross-browser support or Chrome mastery? Whatever your choice, you\\'re in for a treat with these automation powerhouses!'})]});\nexport const __FramerMetadata__ = {\"exports\":{\"richText10\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText27\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText24\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText29\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText6\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText28\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText23\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText2\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText25\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText12\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText17\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText5\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText4\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText30\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText20\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText19\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText18\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText16\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText15\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText21\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText11\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText26\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText1\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText7\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText31\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText13\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText14\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText22\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText8\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText3\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText9\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],
  "mappings": "qUAAgS,IAAMA,EAAsBC,EAAIC,EAAS,CAAC,SAAS,CAAcC,EAAE,IAAI,CAAC,SAAS,kKAAkK,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,wCAAwC,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,4CAA4C,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,4CAA4C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,2HAA2H,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,2CAA2C,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAS,CAAcE,EAAE,IAAI,CAAC,SAAS,aAAa,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,kBAAkB,CAAC,CAAC,CAAC,EAAeF,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAS,CAAcE,EAAE,IAAI,CAAC,SAAS,kBAAkB,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAsBA,EAAE,KAAK,CAAC,UAAU,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,4EAA4E,CAAC,CAAC,CAAC,EAAeF,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAS,CAAcE,EAAE,IAAI,CAAC,SAAS,0BAA0B,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,8CAA8C,CAAC,CAAC,CAAC,EAAeF,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAS,CAAcE,EAAE,IAAI,CAAC,SAAS,8CAA8C,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAsBA,EAAE,KAAK,CAAC,UAAU,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,6EAA6E,CAAC,CAAC,CAAC,EAAeF,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAS,CAAcE,EAAE,IAAI,CAAC,SAAS,wBAAwB,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,kBAAkB,CAAC,CAAC,CAAC,EAAeF,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAS,CAAcE,EAAE,IAAI,CAAC,SAAS,kBAAkB,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAsBA,EAAE,KAAK,CAAC,UAAU,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,4GAA4G,CAAC,CAAC,CAAC,EAAeF,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAS,CAAcE,EAAE,IAAI,CAAC,SAAS,oBAAoB,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,kBAAkB,CAAC,CAAC,CAAC,EAAeF,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAS,CAAcE,EAAE,IAAI,CAAC,SAAS,kBAAkB,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAsBA,EAAE,KAAK,CAAC,UAAU,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,+EAA+E,CAAC,CAAC,CAAC,EAAeF,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAS,CAAcE,EAAE,IAAI,CAAC,SAAS,mBAAmB,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,kBAAkB,CAAC,CAAC,CAAC,EAAeF,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAS,CAAcE,EAAE,IAAI,CAAC,SAAS,kBAAkB,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAsBA,EAAE,KAAK,CAAC,UAAU,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,sHAAsH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,cAAc,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,gMAAgM,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,+KAA+K,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,6JAA6J,CAAC,CAAC,CAAC,CAAC,EAAeC,EAAuBH,EAAIC,EAAS,CAAC,SAAS,CAAcC,EAAE,IAAI,CAAC,SAAS,6NAA6N,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,iDAAiD,CAAC,EAAeF,EAAE,IAAI,CAAC,SAAS,CAAC,+DAA4EE,EAAEE,EAAE,CAAC,KAAK,sDAAsD,OAAO,YAAY,aAAa,GAAG,aAAa,GAAG,SAAsBF,EAAE,IAAI,CAAC,SAAS,iBAAiB,CAAC,CAAC,CAAC,EAAE,6BAA6B,CAAC,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,kBAAkB,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,wRAAwR,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,wCAAwC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,+CAA+C,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,mCAAmC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,qCAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,oQAAoQ,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,+SAA+S,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,2BAA2B,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAS,CAAcE,EAAE,IAAI,CAAC,SAAS,gBAAgB,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,6CAA6C,CAAC,CAAC,CAAC,EAAeF,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAS,CAAcE,EAAE,IAAI,CAAC,SAAS,wEAAwE,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAsBA,EAAE,KAAK,CAAC,UAAU,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeF,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAS,CAAcE,EAAE,IAAI,CAAC,SAAS,eAAe,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAsBF,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAS,CAAcE,EAAE,IAAI,CAAC,SAAS,wMAAwM,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAsBA,EAAE,KAAK,CAAC,UAAU,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeF,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAS,CAAcE,EAAE,IAAI,CAAC,SAAS,gBAAgB,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBF,EAAE,IAAI,CAAC,SAAS,CAAC,wDAAqEE,EAAEE,EAAE,CAAC,KAAK,iEAAiE,OAAO,YAAY,aAAa,GAAG,aAAa,GAAG,SAAsBF,EAAE,IAAI,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAeF,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAS,CAAcE,EAAE,IAAI,CAAC,SAAS,wGAAwG,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAsBA,EAAE,KAAK,CAAC,UAAU,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeF,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAS,CAAcE,EAAE,IAAI,CAAC,SAAS,qBAAqB,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBF,EAAE,IAAI,CAAC,SAAS,CAAC,6CAA0DE,EAAEE,EAAE,CAAC,KAAK,+EAA+E,OAAO,YAAY,aAAa,GAAG,aAAa,GAAG,SAAsBF,EAAE,IAAI,CAAC,SAAS,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,8FAA8F,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,iBAAiB,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,qRAAqR,CAAC,CAAC,CAAC,CAAC,EAAeG,EAAuBL,EAAIC,EAAS,CAAC,SAAS,CAAcC,EAAE,IAAI,CAAC,SAAS,yMAAyM,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,iCAAiC,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,wBAAwB,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,WAAW,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,+CAA+C,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,uCAAuC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,oCAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,WAAW,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,uBAAuB,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,mBAAmB,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,uIAAuI,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,oBAAoB,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,gCAAgC,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,2BAA2B,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,6CAA6C,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,gBAAgB,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,+BAA+B,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,gCAAgC,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,2BAA2B,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,6CAA6C,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,2BAA2B,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,mBAAmB,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,6KAA6K,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,iDAAiD,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,8EAA8E,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,sBAAsB,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,yBAAyB,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,yBAAyB,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,yCAAyC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,4BAA4B,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,qCAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,sBAAsB,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,8BAA8B,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,sCAAsC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,0CAA0C,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,kCAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,uBAAuB,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,UAAU,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,wCAAwC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,0DAA0D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,UAAU,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,+BAA+B,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,gDAAgD,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,8CAA8C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,cAAc,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,iPAAiP,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,yPAAyP,CAAC,CAAC,CAAC,CAAC,EAAeI,EAAuBN,EAAIC,EAAS,CAAC,SAAS,CAAcC,EAAE,IAAI,CAAC,SAAS,6LAA6L,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,UAAU,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAsBA,EAAE,KAAK,CAAC,UAAU,gBAAgB,CAAC,CAAC,CAAC,EAAeA,EAAE,MAAM,CAAC,IAAI,UAAU,UAAU,eAAe,oBAAoB,6DAA6D,qBAAqB,MAAM,oBAAoB,MAAM,OAAO,MAAM,IAAI,sEAAsE,OAAO,sKAAsK,MAAM,CAAC,YAAY,WAAW,EAAE,MAAM,KAAK,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAsBA,EAAE,KAAK,CAAC,UAAU,gBAAgB,CAAC,CAAC,CAAC,EAAeF,EAAE,IAAI,CAAC,SAAS,CAAcE,EAAEE,EAAE,CAAC,KAAK,oBAAoB,OAAO,YAAY,aAAa,GAAG,aAAa,GAAG,SAAsBF,EAAE,IAAI,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,8IAA8I,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,YAAY,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAsBA,EAAE,KAAK,CAAC,UAAU,gBAAgB,CAAC,CAAC,CAAC,EAAeA,EAAE,MAAM,CAAC,IAAI,aAAa,UAAU,eAAe,oBAAoB,8DAA8D,qBAAqB,MAAM,oBAAoB,OAAO,OAAO,MAAM,IAAI,uEAAuE,OAAO,uQAAuQ,MAAM,CAAC,YAAY,YAAY,EAAE,MAAM,KAAK,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAsBA,EAAE,KAAK,CAAC,UAAU,gBAAgB,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,gLAAgL,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,MAAM,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAsBA,EAAE,KAAK,CAAC,UAAU,gBAAgB,CAAC,CAAC,CAAC,EAAeA,EAAE,MAAM,CAAC,IAAI,OAAO,UAAU,eAAe,oBAAoB,2DAA2D,qBAAqB,MAAM,oBAAoB,OAAO,OAAO,MAAM,IAAI,oEAAoE,OAAO,8PAA8P,MAAM,CAAC,YAAY,YAAY,EAAE,MAAM,KAAK,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAsBA,EAAE,KAAK,CAAC,UAAU,gBAAgB,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,+MAA+M,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,8CAA8C,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAsBA,EAAE,KAAK,CAAC,UAAU,gBAAgB,CAAC,CAAC,CAAC,EAAeA,EAAE,MAAM,CAAC,IAAI,+CAA+C,UAAU,eAAe,oBAAoB,6DAA6D,qBAAqB,MAAM,oBAAoB,MAAM,OAAO,MAAM,IAAI,sEAAsE,OAAO,sKAAsK,MAAM,CAAC,YAAY,WAAW,EAAE,MAAM,KAAK,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAsBA,EAAE,KAAK,CAAC,UAAU,gBAAgB,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,yHAAyH,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,cAAc,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAsBA,EAAE,KAAK,CAAC,UAAU,gBAAgB,CAAC,CAAC,CAAC,EAAeA,EAAE,MAAM,CAAC,IAAI,eAAe,UAAU,eAAe,oBAAoB,8DAA8D,qBAAqB,MAAM,oBAAoB,MAAM,OAAO,MAAM,IAAI,uEAAuE,OAAO,wKAAwK,MAAM,CAAC,YAAY,WAAW,EAAE,MAAM,KAAK,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAsBA,EAAE,KAAK,CAAC,UAAU,gBAAgB,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,2KAA2K,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,MAAM,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAsBA,EAAE,KAAK,CAAC,UAAU,gBAAgB,CAAC,CAAC,CAAC,EAAeA,EAAE,MAAM,CAAC,IAAI,OAAO,UAAU,eAAe,oBAAoB,8DAA8D,qBAAqB,MAAM,oBAAoB,OAAO,OAAO,MAAM,IAAI,uEAAuE,OAAO,uQAAuQ,MAAM,CAAC,YAAY,YAAY,EAAE,MAAM,KAAK,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAsBA,EAAE,KAAK,CAAC,UAAU,gBAAgB,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,mLAAmL,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,OAAO,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAsBA,EAAE,KAAK,CAAC,UAAU,gBAAgB,CAAC,CAAC,CAAC,EAAeA,EAAE,MAAM,CAAC,IAAI,QAAQ,UAAU,eAAe,oBAAoB,8DAA8D,qBAAqB,MAAM,oBAAoB,OAAO,OAAO,MAAM,IAAI,uEAAuE,OAAO,uQAAuQ,MAAM,CAAC,YAAY,YAAY,EAAE,MAAM,KAAK,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAsBA,EAAE,KAAK,CAAC,UAAU,gBAAgB,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,gIAAgI,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,sOAAsO,CAAC,CAAC,CAAC,CAAC,EAAeK,EAAuBP,EAAIC,EAAS,CAAC,SAAS,CAAcC,EAAE,IAAI,CAAC,SAAS,uUAAuU,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,6SAA6S,CAAC,CAAC,CAAC,CAAC,EAAeM,EAAuBR,EAAIC,EAAS,CAAC,SAAS,CAAcC,EAAE,IAAI,CAAC,SAAS,8VAAyV,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,oOAAoO,CAAC,EAAeF,EAAE,IAAI,CAAC,SAAS,CAAC,gEAA6EE,EAAE,SAAS,CAAC,SAAS,8BAA8B,CAAC,EAAE,0IAA0I,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,kSAA6R,CAAC,EAAeF,EAAE,IAAI,CAAC,SAAS,CAAcE,EAAEE,EAAE,CAAC,KAAK,iDAAiD,OAAO,YAAY,aAAa,GAAG,aAAa,GAAG,SAAsBF,EAAE,IAAI,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,EAAE,sJAAsJ,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,8RAA8R,CAAC,CAAC,CAAC,CAAC,EAAeO,EAAuBT,EAAIC,EAAS,CAAC,SAAS,CAAcC,EAAE,IAAI,CAAC,SAAS,oNAAoN,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,oBAAoB,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBF,EAAE,IAAI,CAAC,SAAS,CAAcE,EAAE,SAAS,CAAC,SAAS,qBAAqB,CAAC,EAAE,oKAAoK,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBF,EAAE,IAAI,CAAC,SAAS,CAAcE,EAAE,SAAS,CAAC,SAAS,gBAAgB,CAAC,EAAE,+IAA+I,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBF,EAAE,IAAI,CAAC,SAAS,CAAcE,EAAE,SAAS,CAAC,SAAS,yBAAyB,CAAC,EAAE,uEAAoFA,EAAEE,EAAE,CAAC,KAAK,+EAA+E,OAAO,YAAY,aAAa,GAAG,aAAa,GAAG,SAAsBF,EAAE,IAAI,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBF,EAAE,IAAI,CAAC,SAAS,CAAcE,EAAE,SAAS,CAAC,SAAS,mBAAmB,CAAC,EAAE,+FAA+F,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,qCAAqC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,yJAAyJ,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,qBAAqB,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBF,EAAE,IAAI,CAAC,SAAS,CAAcE,EAAE,SAAS,CAAC,SAAS,0BAA0B,CAAC,EAAE,8HAAyH,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBF,EAAE,IAAI,CAAC,SAAS,CAAcE,EAAE,SAAS,CAAC,SAAS,oBAAoB,CAAC,EAAE,0GAA0G,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBF,EAAE,IAAI,CAAC,SAAS,CAAcE,EAAE,SAAS,CAAC,SAAS,kBAAkB,CAAC,EAAE,kHAAkH,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBF,EAAE,IAAI,CAAC,SAAS,CAAcE,EAAE,SAAS,CAAC,SAAS,oBAAoB,CAAC,EAAE,wHAAwH,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBF,EAAE,IAAI,CAAC,SAAS,CAAcE,EAAE,SAAS,CAAC,SAAS,iBAAiB,CAAC,EAAE,+GAA+G,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,kOAAkO,CAAC,CAAC,CAAC,CAAC,EAAeQ,EAAuBV,EAAIC,EAAS,CAAC,SAAS,CAAcC,EAAE,IAAI,CAAC,SAAS,kPAAkP,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,2BAA2B,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAsBA,EAAE,SAAS,CAAC,SAAS,sCAAsC,CAAC,CAAC,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,sDAAsD,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,+CAA+C,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBF,EAAE,IAAI,CAAC,SAAS,CAAcE,EAAEE,EAAE,CAAC,KAAK,wFAAwF,OAAO,YAAY,aAAa,GAAG,aAAa,GAAG,SAAsBF,EAAE,IAAI,CAAC,SAAS,2BAA2B,CAAC,CAAC,CAAC,EAAE,6BAA6B,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBF,EAAE,IAAI,CAAC,SAAS,CAAcE,EAAEE,EAAE,CAAC,KAAK,wDAAwD,OAAO,YAAY,aAAa,GAAG,aAAa,GAAG,SAAsBF,EAAE,IAAI,CAAC,SAAS,uBAAuB,CAAC,CAAC,CAAC,EAAE,sCAAsC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,oDAAoD,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,mEAAmE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAsBA,EAAE,SAAS,CAAC,SAAS,sCAAsC,CAAC,CAAC,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,0CAA0C,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,mCAAmC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,2CAA2C,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,iCAAiC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,qCAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,gHAAgH,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,2BAA2B,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAsBA,EAAE,SAAS,CAAC,SAAS,+BAA+B,CAAC,CAAC,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,6BAA6B,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,4CAA4C,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,4CAA4C,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAsBA,EAAE,SAAS,CAAC,SAAS,8BAA8B,CAAC,CAAC,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,eAAe,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,sEAAsE,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,uFAAuF,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,uBAAuB,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAsBA,EAAE,SAAS,CAAC,SAAS,qCAAqC,CAAC,CAAC,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,4DAA4D,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBF,EAAE,IAAI,CAAC,SAAS,CAAC,6BAA0CE,EAAEE,EAAE,CAAC,KAAK,wEAAwE,OAAO,YAAY,aAAa,GAAG,aAAa,GAAG,SAAsBF,EAAE,IAAI,CAAC,SAAS,uBAAuB,CAAC,CAAC,CAAC,EAAE,0CAA0C,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,+CAA+C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAsBA,EAAE,SAAS,CAAC,SAAS,sCAAsC,CAAC,CAAC,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,6BAA6B,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,mCAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,+HAA+H,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,kBAAkB,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAsBA,EAAE,SAAS,CAAC,SAAS,+BAA+B,CAAC,CAAC,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,4DAA4D,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,wEAAwE,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,yCAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAsBA,EAAE,SAAS,CAAC,SAAS,2BAA2B,CAAC,CAAC,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,+DAA+D,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,oEAAoE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,yJAAyJ,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,iMAAiM,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,+JAA+J,CAAC,CAAC,CAAC,CAAC,EAAeS,EAAuBX,EAAIC,EAAS,CAAC,SAAS,CAAcC,EAAE,IAAI,CAAC,SAAS,kLAAkL,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,4BAA4B,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBF,EAAE,IAAI,CAAC,SAAS,CAAcE,EAAE,SAAS,CAAC,SAAS,8BAA8B,CAAC,EAAE,qEAAqE,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBF,EAAE,IAAI,CAAC,SAAS,CAAcE,EAAE,SAAS,CAAC,SAAS,mBAAmB,CAAC,EAAE,iGAAiG,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBF,EAAE,IAAI,CAAC,SAAS,CAAcE,EAAE,SAAS,CAAC,SAAS,uBAAuB,CAAC,EAAE,qDAAqD,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBF,EAAE,IAAI,CAAC,SAAS,CAAcE,EAAE,SAAS,CAAC,SAAS,cAAc,CAAC,EAAE,uEAAuE,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBF,EAAE,IAAI,CAAC,SAAS,CAAcE,EAAE,SAAS,CAAC,SAAS,wBAAwB,CAAC,EAAE,+CAA+C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,8BAA8B,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBF,EAAE,IAAI,CAAC,SAAS,CAAcE,EAAE,SAAS,CAAC,SAAS,oBAAoB,CAAC,EAAE,oDAAoD,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBF,EAAE,IAAI,CAAC,SAAS,CAAcE,EAAE,SAAS,CAAC,SAAS,kBAAkB,CAAC,EAAE,8DAA8D,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBF,EAAE,IAAI,CAAC,SAAS,CAAcE,EAAE,SAAS,CAAC,SAAS,0BAA0B,CAAC,EAAE,oEAAoE,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBF,EAAE,IAAI,CAAC,SAAS,CAAcE,EAAE,SAAS,CAAC,SAAS,sBAAsB,CAAC,EAAE,wDAAwD,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBF,EAAE,IAAI,CAAC,SAAS,CAAcE,EAAE,SAAS,CAAC,SAAS,uBAAuB,CAAC,EAAE,8DAA8D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,uCAAuC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAsBA,EAAE,SAAS,CAAC,SAAS,yBAAyB,CAAC,CAAC,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,oDAAoD,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,2CAA2C,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,uDAAuD,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,kDAAkD,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,2DAA2D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAsBA,EAAE,SAAS,CAAC,SAAS,yBAAyB,CAAC,CAAC,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,uCAAuC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,0DAA0D,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,0BAA0B,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,iDAAiD,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,wDAAwD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeU,EAAuBZ,EAAIC,EAAS,CAAC,SAAS,CAAcC,EAAE,IAAI,CAAC,SAAS,sTAAsT,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,2MAA2M,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,gMAAiM,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,uIAAuI,CAAC,CAAC,CAAC,CAAC,EAAeW,EAAwBb,EAAIC,EAAS,CAAC,SAAS,CAAcC,EAAE,IAAI,CAAC,SAAS,uXAAuX,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,mUAAqU,CAAC,EAAeF,EAAE,IAAI,CAAC,SAAS,CAAC,8HAA2IE,EAAEE,EAAE,CAAC,KAAK,0CAA0C,OAAO,YAAY,aAAa,GAAG,aAAa,GAAG,SAAsBF,EAAE,IAAI,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,oPAAoP,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,8SAA8S,CAAC,EAAeF,EAAE,IAAI,CAAC,SAAS,CAAC,uMAAoNE,EAAEE,EAAE,CAAC,KAAK,0CAA0C,OAAO,YAAY,aAAa,GAAG,aAAa,GAAG,SAAsBF,EAAE,IAAI,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,gPAAgP,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,wNAAwN,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,kOAAkO,CAAC,CAAC,CAAC,CAAC,EAAeY,EAAwBd,EAAIC,EAAS,CAAC,SAAS,CAAcD,EAAE,IAAI,CAAC,SAAS,CAAC,0NAAuOE,EAAE,KAAK,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,UAAU,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAsBA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAsBA,EAAE,SAAS,CAAC,SAAS,mCAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeF,EAAE,IAAI,CAAC,SAAS,CAAC,qYAA+YE,EAAE,KAAK,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,UAAU,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,MAAM,IAAI,SAAsBA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAsBA,EAAE,SAAS,CAAC,SAAS,sDAAsD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeF,EAAE,IAAI,CAAC,SAAS,CAAC,uZAA+ZE,EAAE,KAAK,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,UAAU,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,MAAM,IAAI,SAAsBA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAsBA,EAAE,SAAS,CAAC,SAAS,wCAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeF,EAAE,IAAI,CAAC,SAAS,CAAC,yXAAuYE,EAAE,KAAK,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,UAAU,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,MAAM,IAAI,SAAsBA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAsBA,EAAE,SAAS,CAAC,SAAS,yCAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeF,EAAE,IAAI,CAAC,SAAS,CAAC,gZAAwZE,EAAE,KAAK,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,UAAU,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,MAAM,IAAI,SAAsBA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAsBA,EAAE,SAAS,CAAC,SAAS,+BAA+B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,udAAod,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,gRAAgR,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,uVAAkV,CAAC,CAAC,CAAC,CAAC,EAAea,EAAwBf,EAAIC,EAAS,CAAC,SAAS,CAAcC,EAAE,KAAK,CAAC,SAAS,uDAAuD,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,uJAAuJ,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBF,EAAE,IAAI,CAAC,SAAS,CAAC,oBAAiCE,EAAEE,EAAE,CAAC,KAAK,0BAA0B,OAAO,YAAY,aAAa,GAAG,aAAa,GAAG,SAAsBF,EAAE,IAAI,CAAC,SAAS,gBAAgB,CAAC,CAAC,CAAC,EAAE,qEAAqE,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,0GAA0G,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,qHAAqH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,wLAAwL,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,sDAAsD,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,8JAA8J,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,4EAA4E,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,sDAAsD,CAAC,CAAC,CAAC,EAAeF,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAS,CAAcE,EAAE,IAAI,CAAC,SAAS,uFAAuF,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,cAAc,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,eAAe,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,4IAA4I,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,6CAA6C,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,2OAA2O,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,4DAA4D,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,2CAA2C,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,oEAAoE,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,qCAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,gKAAgK,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,sLAAsL,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,sPAAsP,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,mNAAmN,CAAC,CAAC,CAAC,CAAC,EAAec,EAAwBhB,EAAIC,EAAS,CAAC,SAAS,CAAcC,EAAE,KAAK,CAAC,SAAS,sCAAsC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,gRAAgR,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,uNAAuN,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,uCAAuC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,+EAA+E,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,qFAAqF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,2EAA2E,CAAC,EAAeA,EAAEe,EAAE,IAAI,CAAC,UAAU,qBAAqB,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,SAAsBf,EAAEgB,EAAE,CAAC,oBAAoB,wEAAwE,SAASC,GAAgBjB,EAAEkB,EAAE,CAAC,GAAGD,EAAE,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAye,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAejB,EAAE,IAAI,CAAC,SAAS,mIAAmI,CAAC,CAAC,CAAC,CAAC,EAAemB,EAAwBrB,EAAIC,EAAS,CAAC,SAAS,CAAcC,EAAE,IAAI,CAAC,SAAS,yFAAyF,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAsBA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAsBA,EAAE,SAAS,CAAC,SAAS,8CAA8C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,2EAA2E,CAAC,EAAeA,EAAEe,EAAE,IAAI,CAAC,UAAU,qBAAqB,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,SAAsBf,EAAEgB,EAAE,CAAC,oBAAoB,wEAAwE,SAASC,GAAgBjB,EAAEkB,EAAE,CAAC,GAAGD,EAAE,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAwV,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAejB,EAAE,IAAI,CAAC,SAAS,4HAA4H,CAAC,EAAeA,EAAE,KAAK,CAAC,MAAM,IAAI,SAAsBA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAsBA,EAAE,SAAS,CAAC,SAAS,mDAAmD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,uDAAuD,CAAC,EAAeA,EAAEe,EAAE,IAAI,CAAC,UAAU,qBAAqB,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,SAAsBf,EAAEgB,EAAE,CAAC,oBAAoB,wEAAwE,SAASC,GAAgBjB,EAAEkB,EAAE,CAAC,GAAGD,EAAE,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAA+U,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAejB,EAAE,IAAI,CAAC,SAAS,8GAA8G,CAAC,EAAeA,EAAE,KAAK,CAAC,MAAM,IAAI,SAAsBA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAsBA,EAAE,SAAS,CAAC,SAAS,0DAA0D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,0FAA0F,CAAC,EAAeA,EAAEe,EAAE,IAAI,CAAC,UAAU,qBAAqB,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,SAAsBf,EAAEgB,EAAE,CAAC,oBAAoB,wEAAwE,SAASC,GAAgBjB,EAAEkB,EAAE,CAAC,GAAGD,EAAE,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAAqY,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAejB,EAAE,IAAI,CAAC,SAAS,2IAA2I,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,0OAA0O,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,6RAA6R,CAAC,CAAC,CAAC,CAAC,EAAeoB,EAAwBtB,EAAIC,EAAS,CAAC,SAAS,CAAcC,EAAE,IAAI,CAAC,SAAS,+PAA+P,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,8CAA8C,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAsBA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAsBA,EAAE,SAAS,CAAC,SAAS,iCAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,sUAAsU,CAAC,EAAeA,EAAE,KAAK,CAAC,MAAM,IAAI,SAAsBA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAsBA,EAAE,SAAS,CAAC,SAAS,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,mSAAmS,CAAC,EAAeA,EAAEe,EAAE,IAAI,CAAC,UAAU,qBAAqB,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,SAAsBf,EAAEgB,EAAE,CAAC,oBAAoB,wEAAwE,SAASC,GAAgBjB,EAAEkB,EAAE,CAAC,GAAGD,EAAE,KAAK;AAAA;AAAA;AAAA;AAAA,iEAAkL,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAejB,EAAE,KAAK,CAAC,MAAM,IAAI,SAAsBA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAsBA,EAAE,SAAS,CAAC,SAAS,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,4NAA4N,CAAC,EAAeA,EAAEe,EAAE,IAAI,CAAC,UAAU,qBAAqB,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,SAAsBf,EAAEgB,EAAE,CAAC,oBAAoB,wEAAwE,SAASC,GAAgBjB,EAAEkB,EAAE,CAAC,GAAGD,EAAE,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA,yDAAkU,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAejB,EAAE,KAAK,CAAC,MAAM,IAAI,SAAsBA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAsBA,EAAE,SAAS,CAAC,SAAS,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,+UAA+U,CAAC,CAAC,CAAC,CAAC,EAAeqB,EAAwBvB,EAAIC,EAAS,CAAC,SAAS,CAAcC,EAAE,KAAK,CAAC,SAAsBA,EAAE,KAAK,CAAC,kBAAkB,IAAI,SAAsBA,EAAE,IAAI,CAAC,SAAsBA,EAAE,SAAS,CAAC,SAAS,+BAA+B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,yNAAyN,CAAC,EAAeA,EAAEe,EAAE,IAAI,CAAC,UAAU,qBAAqB,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,SAAsBf,EAAEgB,EAAE,CAAC,oBAAoB,wEAAwE,SAASC,GAAgBjB,EAAEkB,EAAE,CAAC,GAAGD,EAAE,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAsR,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAejB,EAAE,IAAI,CAAC,SAAS,6GAA6G,CAAC,EAAeA,EAAE,KAAK,CAAC,MAAM,IAAI,SAAsBA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAsBA,EAAE,SAAS,CAAC,SAAS,4BAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,sNAAsN,CAAC,EAAeA,EAAEe,EAAE,IAAI,CAAC,UAAU,qBAAqB,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,SAAsBf,EAAEgB,EAAE,CAAC,oBAAoB,wEAAwE,SAASC,GAAgBjB,EAAEkB,EAAE,CAAC,GAAGD,EAAE,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAAoS,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAejB,EAAE,IAAI,CAAC,SAAS,8JAA8J,CAAC,EAAeA,EAAE,KAAK,CAAC,MAAM,IAAI,SAAsBA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAsBA,EAAE,SAAS,CAAC,SAAS,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,gKAAgK,CAAC,EAAeA,EAAEe,EAAE,IAAI,CAAC,UAAU,qBAAqB,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,SAAsBf,EAAEgB,EAAE,CAAC,oBAAoB,wEAAwE,SAASC,GAAgBjB,EAAEkB,EAAE,CAAC,GAAGD,EAAE,KAAK;AAAA;AAAA;AAAA;AAAA,6FAAyW,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAejB,EAAE,IAAI,CAAC,SAAS,4MAA4M,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,uLAAuL,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,uQAAuQ,CAAC,CAAC,CAAC,CAAC,EAAesB,EAAwBtB,EAAID,EAAS,CAAC,SAAsBC,EAAE,IAAI,CAAC,SAAS,omBAA+lB,CAAC,CAAC,CAAC,EAAeuB,EAAwBzB,EAAIC,EAAS,CAAC,SAAS,CAAcD,EAAE,IAAI,CAAC,SAAS,CAAC,kNAA+NE,EAAEE,EAAE,CAAC,KAAK,uDAAuD,OAAO,YAAY,aAAa,GAAG,aAAa,GAAG,SAAsBF,EAAE,IAAI,CAAC,SAAS,gBAAgB,CAAC,CAAC,CAAC,EAAE,2DAAsD,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,iDAAiD,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,sLAAsL,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,oHAAoH,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,uEAAuE,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,gHAAgH,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,6GAA6G,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAsBA,EAAE,SAAS,CAAC,SAAS,sBAAsB,CAAC,CAAC,CAAC,EAAeF,EAAE,IAAI,CAAC,SAAS,CAAC,iHAA8HE,EAAEE,EAAE,CAAC,KAAK,uDAAuD,OAAO,YAAY,aAAa,GAAG,aAAa,GAAG,SAAsBF,EAAE,IAAI,CAAC,SAAS,gBAAgB,CAAC,CAAC,CAAC,EAAE,4FAA4F,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,4NAA4N,CAAC,CAAC,CAAC,CAAC,EAAewB,EAAwB1B,EAAIC,EAAS,CAAC,SAAS,CAAcC,EAAE,IAAI,CAAC,SAAS,qIAAqI,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,sCAAsC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,6GAA6G,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBF,EAAE,IAAI,CAAC,SAAS,CAAC,oBAAiCE,EAAEE,EAAE,CAAC,KAAK,6BAA6B,OAAO,YAAY,aAAa,GAAG,aAAa,GAAG,SAAsBF,EAAE,IAAI,CAAC,SAAS,oCAAoC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,qDAAqD,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,uEAAuE,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,2FAA2F,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,uCAAuC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,oCAAoC,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,wCAAwC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,2DAA2D,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,qDAAqD,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,gDAAgD,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,oDAAoD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,2BAA2B,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,6CAA6C,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,yEAA0E,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,gEAAiE,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,2DAA2D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,mDAAmD,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,uCAAuC,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,oGAAoG,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,uGAAuG,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,mGAAmG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,+JAA+J,CAAC,CAAC,CAAC,CAAC,EAAeyB,EAAwB3B,EAAIC,EAAS,CAAC,SAAS,CAAcC,EAAE,IAAI,CAAC,SAAS,4NAA4N,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,wCAAwC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,4DAA4D,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,qBAAqB,CAAC,CAAC,CAAC,EAAeF,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAS,CAAcA,EAAE,IAAI,CAAC,SAAS,CAAC,gDAA6DE,EAAE,KAAK,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,UAAU,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAEe,EAAE,IAAI,CAAC,UAAU,qBAAqB,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,SAAsBf,EAAEgB,EAAE,CAAC,oBAAoB,wEAAwE,SAASC,GAAgBjB,EAAEkB,EAAE,CAAC,GAAGD,EAAE,KAAK,sIAAsI,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAejB,EAAE,IAAI,CAAC,SAAsBA,EAAE,KAAK,CAAC,UAAU,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,sDAAsD,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,uGAAuG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,wBAAwB,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,iDAAiD,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBF,EAAE,IAAI,CAAC,SAAS,CAAC,eAA4BE,EAAEE,EAAE,CAAC,KAAK,uDAAuD,OAAO,YAAY,aAAa,GAAG,aAAa,GAAG,SAAsBF,EAAE,IAAI,CAAC,SAAS,gBAAgB,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,mCAAmC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,wCAAwC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,2EAA2E,CAAC,CAAC,CAAC,EAAeF,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAS,CAAcA,EAAE,IAAI,CAAC,SAAS,CAAC,oDAAiEE,EAAE,KAAK,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,UAAU,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAEe,EAAE,IAAI,CAAC,UAAU,qBAAqB,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,SAAsBf,EAAEgB,EAAE,CAAC,oBAAoB,wEAAwE,SAASC,GAAgBjB,EAAEkB,EAAE,CAAC,GAAGD,EAAE,KAAK,wDAAwD,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAejB,EAAE,IAAI,CAAC,SAAsBA,EAAE,KAAK,CAAC,UAAU,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,0CAA0C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,qHAAqH,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,+BAA+B,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,mCAAmC,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBF,EAAE,IAAI,CAAC,SAAS,CAAC,SAAsBE,EAAEE,EAAE,CAAC,KAAK,oBAAoB,OAAO,YAAY,aAAa,GAAG,aAAa,GAAG,SAAsBF,EAAE,IAAI,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,gCAAgC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,8BAA8B,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,8EAA8E,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,oGAAoG,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,0CAA0C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,yBAAyB,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,sNAAsN,CAAC,CAAC,CAAC,CAAC,EAAe0B,EAAwB5B,EAAIC,EAAS,CAAC,SAAS,CAAcC,EAAE,IAAI,CAAC,SAAS,kNAAkN,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,uBAAuB,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,+EAA+E,CAAC,EAAeA,EAAEe,EAAE,IAAI,CAAC,UAAU,qBAAqB,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,SAAsBf,EAAEgB,EAAE,CAAC,oBAAoB,wEAAwE,SAASC,GAAgBjB,EAAEkB,EAAE,CAAC,GAAGD,EAAE,KAAK,wEAAwE,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAejB,EAAE,IAAI,CAAC,SAAS,yCAAyC,CAAC,EAAeA,EAAEe,EAAE,IAAI,CAAC,UAAU,qBAAqB,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,SAAsBf,EAAEgB,EAAE,CAAC,oBAAoB,wEAAwE,SAASC,GAAgBjB,EAAEkB,EAAE,CAAC,GAAGD,EAAE,KAAK,sDAAsD,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAejB,EAAE,KAAK,CAAC,SAAS,qCAAqC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,mDAAmD,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,qCAAqC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,gCAAgC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,6CAA6C,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,6CAA6C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,yCAAyC,CAAC,EAAeA,EAAEe,EAAE,IAAI,CAAC,UAAU,qBAAqB,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,SAAsBf,EAAEgB,EAAE,CAAC,oBAAoB,wEAAwE,SAASC,GAAgBjB,EAAEkB,EAAE,CAAC,GAAGD,EAAE,KAAK,2CAA2C,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAejB,EAAE,IAAI,CAAC,SAAS,4EAA4E,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,6BAA6B,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,4DAA4D,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,oEAAoE,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,uEAAuE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,gCAAgC,CAAC,EAAeA,EAAEe,EAAE,IAAI,CAAC,UAAU,qBAAqB,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,SAAsBf,EAAEgB,EAAE,CAAC,oBAAoB,wEAAwE,SAASC,GAAgBjB,EAAEkB,EAAE,CAAC,GAAGD,EAAE,KAAK,0JAA0J,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAejB,EAAE,IAAI,CAAC,SAAS,mFAAmF,CAAC,CAAC,CAAC,CAAC,EAAe2B,EAAwB7B,EAAIC,EAAS,CAAC,SAAS,CAAcC,EAAE,IAAI,CAAC,SAAS,gIAAgI,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAS,CAAcE,EAAE,IAAI,CAAC,SAAsBA,EAAE,SAAS,CAAC,SAAS,wBAAwB,CAAC,CAAC,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,iEAAiE,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,sEAAsE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeF,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAS,CAAcE,EAAE,IAAI,CAAC,SAAsBA,EAAE,SAAS,CAAC,SAAS,+BAA+B,CAAC,CAAC,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,oFAAoF,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,0EAA0E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeF,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAS,CAAcE,EAAE,IAAI,CAAC,SAAsBA,EAAE,SAAS,CAAC,SAAS,gCAAgC,CAAC,CAAC,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBF,EAAE,IAAI,CAAC,SAAS,CAAC,iBAA8BE,EAAEE,EAAE,CAAC,KAAK,sCAAsC,OAAO,YAAY,aAAa,GAAG,aAAa,GAAG,SAAsBF,EAAE,IAAI,CAAC,SAAS,2BAA2B,CAAC,CAAC,CAAC,EAAE,2BAA2B,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,uEAAuE,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,gEAAgE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,iOAAiO,CAAC,CAAC,CAAC,CAAC,EAAe4B,EAAwB5B,EAAID,EAAS,CAAC,SAAsBD,EAAE,IAAI,CAAC,SAAS,CAAC,qPAAkQE,EAAEE,EAAE,CAAC,KAAK,sCAAsC,OAAO,YAAY,aAAa,GAAG,aAAa,GAAG,SAAsBF,EAAE,IAAI,CAAC,SAAS,uCAAuC,CAAC,CAAC,CAAC,EAAE,6SAA6S,CAAC,CAAC,CAAC,CAAC,EAAe6B,EAAwB/B,EAAIC,EAAS,CAAC,SAAS,CAAcD,EAAE,IAAI,CAAC,SAAS,CAAC,kKAA+KE,EAAEE,EAAE,CAAC,KAAK,0CAA0C,OAAO,YAAY,aAAa,GAAG,aAAa,GAAG,SAAsBF,EAAE,IAAI,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,0EAA0E,CAAC,CAAC,EAAeF,EAAE,IAAI,CAAC,SAAS,CAAC,0NAAuOE,EAAEE,EAAE,CAAC,KAAK,0CAA0C,OAAO,YAAY,aAAa,GAAG,aAAa,GAAG,SAAsBF,EAAE,IAAI,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,6DAA6D,CAAC,CAAC,EAAeF,EAAE,IAAI,CAAC,SAAS,CAAC,wJAAqKE,EAAEE,EAAE,CAAC,KAAK,0CAA0C,OAAO,YAAY,aAAa,GAAG,aAAa,GAAG,SAAsBF,EAAE,IAAI,CAAC,SAAS,gCAAgC,CAAC,CAAC,CAAC,EAAE,qHAAqH,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,8JAA8J,CAAC,CAAC,CAAC,CAAC,EAAe8B,EAAwBhC,EAAIC,EAAS,CAAC,SAAS,CAAcC,EAAE,IAAI,CAAC,SAAS,kIAAkI,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,sLAAsL,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,oHAAoH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBF,EAAE,IAAI,CAAC,SAAS,CAAC,SAAsBE,EAAEE,EAAE,CAAC,KAAK,+BAA+B,OAAO,YAAY,aAAa,GAAG,aAAa,GAAG,SAAsBF,EAAE,IAAI,CAAC,SAAS,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,yDAAyD,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,iFAAiF,CAAC,EAAeA,EAAE,KAAK,CAAC,MAAM,IAAI,SAAsBA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,gDAAgD,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,wCAAwC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,yGAA2G,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,0EAA0E,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,qDAAqD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,MAAM,IAAI,SAAsBA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,8DAA8D,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,gEAAgE,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,8CAA8C,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,yEAAyE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,6GAA6G,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,2KAAsK,CAAC,CAAC,CAAC,CAAC,EAAe+B,EAAwBjC,EAAIC,EAAS,CAAC,SAAS,CAAcC,EAAE,IAAI,CAAC,SAAS,0MAA0M,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,sCAAsC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,qGAAqG,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBF,EAAE,IAAI,CAAC,SAAS,CAAC,kDAA+DE,EAAEE,EAAE,CAAC,KAAK,mDAAmD,OAAO,YAAY,aAAa,GAAG,aAAa,GAAG,SAAsBF,EAAE,IAAI,CAAC,SAAS,eAAe,CAAC,CAAC,CAAC,EAAE,iEAAiE,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBF,EAAE,IAAI,CAAC,SAAS,CAAC,4DAAyEE,EAAEE,EAAE,CAAC,KAAK,4CAA4C,OAAO,YAAY,aAAa,GAAG,aAAa,GAAG,SAAsBF,EAAE,IAAI,CAAC,SAAS,uBAAuB,CAAC,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,yDAAyD,CAAC,EAAeA,EAAEe,EAAE,IAAI,CAAC,UAAU,qBAAqB,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,SAAsBf,EAAEgB,EAAE,CAAC,oBAAoB,wEAAwE,SAASC,GAAgBjB,EAAEkB,EAAE,CAAC,GAAGD,EAAE,KAAK,6BAA6B,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAejB,EAAE,IAAI,CAAC,SAAS,6CAA6C,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,wBAAwB,CAAC,EAAeF,EAAE,IAAI,CAAC,SAAS,CAAC,qHAAkIE,EAAEE,EAAE,CAAC,KAAK,2DAA2D,OAAO,YAAY,aAAa,GAAG,aAAa,GAAG,SAAsBF,EAAE,IAAI,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAC,EAAeA,EAAEe,EAAE,IAAI,CAAC,UAAU,qBAAqB,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,SAAsBf,EAAEgB,EAAE,CAAC,oBAAoB,wEAAwE,SAASC,GAAgBjB,EAAEkB,EAAE,CAAC,GAAGD,EAAE,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA0V,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAejB,EAAE,IAAI,CAAC,SAAS,wBAAwB,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,gGAAgG,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,sGAAsG,CAAC,CAAC,CAAC,EAAeF,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAS,CAAcE,EAAE,IAAI,CAAC,SAAS,uDAAuD,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAS,CAAcE,EAAE,IAAI,CAAC,SAAS,2CAA2C,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,+DAA+D,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,mFAAmF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,0CAA0C,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,8CAA8C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,oEAAoE,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,4KAA4K,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,uDAAuD,CAAC,EAAeF,EAAE,IAAI,CAAC,SAAS,CAAC,8FAAsGE,EAAEE,EAAE,CAAC,KAAK,2DAA2D,OAAO,YAAY,aAAa,GAAG,aAAa,GAAG,SAAsBF,EAAE,IAAI,CAAC,SAAS,uDAAuD,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,yBAAyB,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,4IAA4I,CAAC,EAAeA,EAAEe,EAAE,IAAI,CAAC,UAAU,qBAAqB,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,SAAsBf,EAAEgB,EAAE,CAAC,oBAAoB,wEAAwE,SAASC,GAAgBjB,EAAEkB,EAAE,CAAC,GAAGD,EAAE,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAy0B,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAejB,EAAE,IAAI,CAAC,SAAS,0DAA0D,CAAC,EAAeA,EAAEe,EAAE,IAAI,CAAC,UAAU,qBAAqB,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,SAAsBf,EAAEgB,EAAE,CAAC,oBAAoB,wEAAwE,SAASC,GAAgBjB,EAAEkB,EAAE,CAAC,GAAGD,EAAE,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAoV,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAejB,EAAE,IAAI,CAAC,SAAS,sCAAsC,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,kDAAkD,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBF,EAAE,IAAI,CAAC,SAAS,CAAC,8BAA2CE,EAAEE,EAAE,CAAC,KAAK,0CAA0C,OAAO,YAAY,aAAa,GAAG,aAAa,GAAG,SAAsBF,EAAE,IAAI,CAAC,SAAS,qBAAqB,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,iDAAiD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,2BAA2B,CAAC,EAAeA,EAAEe,EAAE,IAAI,CAAC,UAAU,qBAAqB,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,SAAsBf,EAAEgB,EAAE,CAAC,oBAAoB,wEAAwE,SAASC,GAAgBjB,EAAEkB,EAAE,CAAC,GAAGD,EAAE,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAuZ,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAejB,EAAE,IAAI,CAAC,SAAS,2IAA2I,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,oQAA+P,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,8CAA8C,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,0LAA0L,CAAC,EAAeA,EAAEe,EAAE,IAAI,CAAC,UAAU,qBAAqB,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,SAAsBf,EAAEgB,EAAE,CAAC,oBAAoB,wEAAwE,SAASC,GAAgBjB,EAAEkB,EAAE,CAAC,GAAGD,EAAE,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wCAAwzE,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAejB,EAAE,KAAK,CAAC,SAAS,oBAAoB,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,8EAA8E,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,uEAAuE,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,uCAAuC,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,qDAAqD,CAAC,CAAC,CAAC,EAAeF,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAS,CAAcA,EAAE,IAAI,CAAC,SAAS,CAAC,4BAAyCE,EAAE,KAAK,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,UAAU,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAEe,EAAE,IAAI,CAAC,UAAU,qBAAqB,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,SAAsBf,EAAEgB,EAAE,CAAC,oBAAoB,wEAAwE,SAASC,GAAgBjB,EAAEkB,EAAE,CAAC,GAAGD,EAAE,KAAK,iCAAiC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAejB,EAAE,KAAK,CAAC,SAAS,0BAA0B,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,iEAAiE,CAAC,EAAeA,EAAEe,EAAE,IAAI,CAAC,UAAU,qBAAqB,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,SAAsBf,EAAEgB,EAAE,CAAC,oBAAoB,wEAAwE,SAASC,GAAgBjB,EAAEkB,EAAE,CAAC,GAAGD,EAAE,KAAK;AAAA;AAAA,kBAAyH,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAejB,EAAE,IAAI,CAAC,SAAS,oCAAoC,CAAC,EAAeF,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,sDAAsD,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,mFAAmF,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,6CAA6C,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,SAAS,sBAAsB,kBAAkB,2BAA2B,MAAM,EAAE,SAAsBA,EAAE,IAAI,CAAC,SAAS,6DAA6D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,wHAAwH,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,+FAA+F,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,oNAAoN,CAAC,CAAC,CAAC,CAAC,EAAegC,EAAwBlC,EAAIC,EAAS,CAAC,SAAS,CAAcC,EAAE,IAAI,CAAC,SAAS,gXAAgX,CAAC,EAAeF,EAAE,IAAI,CAAC,SAAS,CAAC,qGAAkHE,EAAEE,EAAE,CAAC,KAAK,0CAA0C,OAAO,YAAY,aAAa,GAAG,aAAa,GAAG,SAAsBF,EAAE,IAAI,CAAC,SAAS,wBAAwB,CAAC,CAAC,CAAC,EAAE,6GAA6G,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeiC,EAAwBnC,EAAIC,EAAS,CAAC,SAAS,CAAcD,EAAE,IAAI,CAAC,SAAS,CAAC,gKAA6KE,EAAE,SAAS,CAAC,SAAS,0BAA0B,CAAC,EAAE,+JAA+J,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,iEAAiE,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,8PAA8P,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,gRAAgR,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,yOAAyO,CAAC,CAAC,CAAC,CAAC,EAAekC,EAAwBpC,EAAIC,EAAS,CAAC,SAAS,CAAcC,EAAE,KAAK,CAAC,SAAS,6BAA6B,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,4SAA4S,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,0LAA0L,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,mBAAmB,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,8PAA8P,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,oQAAoQ,CAAC,EAAeA,EAAE,KAAK,CAAC,SAAS,8CAA8C,CAAC,EAAeF,EAAE,IAAI,CAAC,SAAS,CAAC,kDAA+DE,EAAEE,EAAE,CAAC,KAAK,wDAAwD,OAAO,YAAY,aAAa,GAAG,aAAa,GAAG,SAAsBF,EAAE,IAAI,CAAC,SAAS,gBAAgB,CAAC,CAAC,CAAC,EAAE,iNAAiN,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,kRAAkR,CAAC,EAAeF,EAAE,IAAI,CAAC,SAAS,CAAC,kBAA+BE,EAAEE,EAAE,CAAC,KAAK,gDAAgD,OAAO,YAAY,aAAa,GAAG,aAAa,GAAG,SAAsBF,EAAE,IAAI,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,oKAAoK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAemC,EAAwBnC,EAAID,EAAS,CAAC,SAAsBD,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,SAAsBA,EAAE,IAAI,CAAC,SAAS,6OAA6O,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,SAAsBA,EAAE,IAAI,CAAC,SAAS,oPAAoP,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,SAAsBA,EAAE,IAAI,CAAC,SAAS,yNAAyN,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,SAAsBA,EAAE,IAAI,CAAC,SAAS,kPAAkP,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,SAAsBA,EAAE,IAAI,CAAC,SAAS,sMAAsM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeoC,EAAwBtC,EAAIC,EAAS,CAAC,SAAS,CAAcD,EAAE,KAAK,CAAC,SAAS,CAAcE,EAAE,KAAK,CAAC,kBAAkB,IAAI,SAAsBA,EAAE,IAAI,CAAC,SAAS,8KAA8K,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,SAAsBA,EAAE,IAAI,CAAC,SAAS,uLAAuL,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,SAAsBA,EAAE,IAAI,CAAC,SAAS,gLAAgL,CAAC,CAAC,CAAC,EAAeA,EAAE,KAAK,CAAC,kBAAkB,IAAI,SAAsBA,EAAE,IAAI,CAAC,SAAS,iOAAmO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeF,EAAE,IAAI,CAAC,SAAS,CAAC,uBAAoCE,EAAEE,EAAE,CAAC,KAAK,+CAA+C,OAAO,YAAY,aAAa,GAAG,aAAa,GAAG,SAAsBF,EAAE,IAAI,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,EAAE,yMAAyM,CAAC,CAAC,EAAeA,EAAE,IAAI,CAAC,SAAS,sOAAuO,CAAC,CAAC,CAAC,CAAC,EAC/1zIqC,EAAqB,CAAC,QAAU,CAAC,WAAa,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,GAAG,CAAC,EAAE,WAAa,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,GAAG,CAAC,EAAE,WAAa,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,GAAG,CAAC,EAAE,WAAa,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,GAAG,CAAC,EAAE,UAAY,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,GAAG,CAAC,EAAE,WAAa,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,GAAG,CAAC,EAAE,WAAa,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,GAAG,CAAC,EAAE,UAAY,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,GAAG,CAAC,EAAE,WAAa,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,GAAG,CAAC,EAAE,WAAa,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,GAAG,CAAC,EAAE,WAAa,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,GAAG,CAAC,EAAE,UAAY,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,GAAG,CAAC,EAAE,UAAY,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,GAAG,CAAC,EAAE,WAAa,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,GAAG,CAAC,EAAE,WAAa,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,GAAG,CAAC,EAAE,WAAa,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,GAAG,CAAC,EAAE,WAAa,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,GAAG,CAAC,EAAE,WAAa,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,GAAG,CAAC,EAAE,WAAa,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,GAAG,CAAC,EAAE,WAAa,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,GAAG,CAAC,EAAE,WAAa,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,GAAG,CAAC,EAAE,WAAa,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,GAAG,CAAC,EAAE,UAAY,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,GAAG,CAAC,EAAE,SAAW,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,GAAG,CAAC,EAAE,UAAY,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,GAAG,CAAC,EAAE,WAAa,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,GAAG,CAAC,EAAE,WAAa,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,GAAG,CAAC,EAAE,WAAa,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,GAAG,CAAC,EAAE,WAAa,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,GAAG,CAAC,EAAE,UAAY,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,GAAG,CAAC,EAAE,UAAY,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,GAAG,CAAC,EAAE,UAAY,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,GAAG,CAAC,EAAE,mBAAqB,CAAC,KAAO,UAAU,CAAC,CAAC",
  "names": ["richText", "u", "x", "p", "richText1", "Link", "richText2", "richText3", "richText4", "richText5", "richText6", "richText7", "richText8", "richText9", "richText10", "richText11", "richText12", "richText13", "motion", "ComponentPresetsConsumer", "t", "CodeBlock_default", "richText14", "richText15", "richText16", "richText17", "richText18", "richText19", "richText20", "richText21", "richText22", "richText23", "richText24", "richText25", "richText26", "richText27", "richText28", "richText29", "richText30", "richText31", "__FramerMetadata__"]
}
