diff --git a/preview/97/404.html b/preview/97/404.html new file mode 100644 index 000000000..2323c02a4 --- /dev/null +++ b/preview/97/404.html @@ -0,0 +1,208 @@ + + + + + + + + + + + + + + +404 Page not found | CHIPS Alliance + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+error-image +

This page is missing.

+Go home +
+
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/preview/97/about/contact/index.html b/preview/97/about/contact/index.html new file mode 100644 index 000000000..6f758153f --- /dev/null +++ b/preview/97/about/contact/index.html @@ -0,0 +1,236 @@ + + + + + + + + + + + + + + +Contact | CHIPS Alliance + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+

Contact

+

The CHIPS Alliance is always interested in hearing from our community, supporters, users of our projects, and anyone else interested in using our projects.

+
+
+
+
+
+
+banner-image +
+shape +
+
+
+
+
+
+
+
+
+
+
+ + +

Mailing Address

+

CHIPS Alliance
+1 Letterman Drive, Building D, Suite D4700
+San Francisco, CA 94129

+
+
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/preview/97/about/faq/index.html b/preview/97/about/faq/index.html new file mode 100644 index 000000000..42bb82aab --- /dev/null +++ b/preview/97/about/faq/index.html @@ -0,0 +1,367 @@ + + + + + + + + + + + + + + +Frequently Asked Questions | CHIPS Alliance + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+

Frequently Asked Questions

+

Learn more about CHIPS Alliance!

+
+
+
+
+
+
+banner-image +
+shape +
+
+
+
+
+
+
+
+
+
+
+
+
+1 +

+ +

+
+
CHIPS Alliance, a member of the Linux Foundation, is championing open source based collaboration in the chip design community. This includes architectures, specifications, reference implementations, PDKs and EDA tooling. CHIPS Alliance hosts different workgroups to bring community members together to focus on topics of shared interest.
+
+
+
+2 +

+ +

+
+
Open source ingredients for hardware design are enabling and accelerating the global collaborative ecosystem. They encourage the formulation of new, disruptive ideas that drive the industry forward, decrease cost and time needed to build new processing platforms, and give users more control over the technology stack and the ability to co-design software and hardware more effectively.
+
+
+
+3 +

+ +

+
+
CHIPS Alliance is a Linux Foundation project, so it inherits many of the Linux Foundation’s processes, governance, etc. To be a member of CHIPS Alliance you also need to be a member of the Linux Foundation. Visit here for details on joining the Linux Foundation.
+
+
+
+4 +

+ +

+
+
The CHIPS Alliance hosts multiple open source projects. Similar projects are organized into workgroups. To find out more about our workgroups, visit here. To browse all our projects, visit our GitHub.
+
+
+
+5 +

+ +

+
+
Typically, CHIPS Alliance projects are covered by the Apache License 2.0 for code, and OWFa 0.9 for specs. The Technical Steering Committee can allow non-Apache/OWFa licensed code into CHIPS Alliance if it meets certain conditions. See Chapter 7: “Intellectual Property Policy” of our Technical Charter.
+
+
+
+6 +

+ +

+
+

Members are never obligated to contribute to code or specification projects in CHIPS Alliance, nor are they obligated to participate in the development process in any way. Members and non-members alike must sign a CHIPS Alliance CLA (distinct from membership) before contributing to code or specification projects.

+

Our specification projects leverage the OWFa 0.9 (Necessary Claims) license, as described in the CHIPS directed fund charter which is included in the project’s membership agreement. Prospective members will want to review the IP policy set forth in the charter with their own legal counsel, in order to understand how the implementation of OWFa may relate to their specific situation. Please note also that CHIPS utilizes a notice and voting period in connection with specification releases, and provides a mechanism for members to opt out of further commitments under OWFa at any time by following the procedures outlined in the IP policy.

+

Our CLAs can be found in the TSC repository.

+
+
+
+
+7 +

+ +

+
+
Yes, among other things. CHIPS Alliance wants to promote, develop and enhance open source digital and analog IP building blocks for ASICs and FPGAs, but the scope of our organization goes beyond that. We are also adopting and developing open source tools, interconnect standards and methodologies for a complete open source hardware paradigm.
+
+
+
+8 +

+ +

+
+
We do have a concept of “Commons,” which are related projects that are not directly members but collaborate with us closely. See here for details.
+
+
+
+9 +

+ +

+
+
No, joining is separate from any code / spec contributions. You can join CHIPS Alliance to collaborate around open source silicon even if you don’t have any or don’t want to contribute pre-existing open source projects.
+
+
+
+10 +

+ +

+
+
No. Our Working Group and TSC meetings, as well as mailing lists, are all open. You are welcome to join the conversation around open source hardware/silicon and work with us even before you decide to join. See here for our meeting times and additional information.
+
+
+
+11 +

+ +

+
+
Click here to learn about joining CHIPS Alliance and see our membership documents, or email us at membership@chipsalliance.org.
+
+
+
+12 +

+ +

+
+
Non-profit and academic institutions may join CHIPS Alliance as Associate members at no cost. Please reach out to membership@chipsalliance.org to share your interest in becoming an Associate member.
+
+
+
+
+
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/preview/97/about/governance/index.html b/preview/97/about/governance/index.html new file mode 100644 index 000000000..c1ec82279 --- /dev/null +++ b/preview/97/about/governance/index.html @@ -0,0 +1,425 @@ + + + + + + + + + + + + + + +Governance | CHIPS Alliance + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+

Governance

+

The CHIPS Alliance is a directed fund of The Linux Foundation, a 501(c)(6) non-profit organization. Following best practices in the industry, we maintain a clear and consistent separation of responsibilities between technical and non-technical governance decisions. The CHIPS Alliance operates under its Charter.

+ +
+
+
+
+banner-image +
+shape +
+
+
+
+
+
+
+
+
+
+
+

In addition to the top-level structure of The CHIPS Alliance, each hosted open source project has its own process, structure, and community. While the Technical Steering Community (TSC) sets high-level technical policy, projects have a great deal of flexibility in day-to-day operations.

+

Rob Mains - General Manager

+
+
+
+

The General Manager works with the Governing Board, our members, and our projects to ensure the CHIPS Alliance is a healthy, sustainable, and neutral home for open source technical collaborations.

+

Rob Mains is a 38 year industry veteran, former engineering vice president of Oracle and Sun Microsystems distinguished engineer, where he lead an organization of over 200 software researchers and developers. Prior to this, Rob was a principal engineer at Magma Design Automation, and originally a senior engineer at IBM involved in numerous technical areas for the development of IBM Power and S/390 systems.

+

Rob has in depth experience in software development, electronic design automation, IT management, semiconductor technology, microprocessor circuit design, and chip construction methodology. In his career, he has had the privilege of working in multi-company collaborations, understanding the dynamics of multiple players, and working towards win-win solutions for all. He is the holder of 13 U.S. patents.

+
+
+
+
+Rob Mains +
+
+
+
+
+

Governing Board

+

The Governing Board sets overall policy through our participation agreement and technical charter, which describes the membership requirements and responsibilities of participants.

+
+
+
+
+
+Borivoje Nikolic +
+
+

Borivoje Nikolic

+

Berkeley

+
+
+
+
+
+
+Placeholder profile photo +
+
+

Chris Wang

+

VeriSilicon

+
+
+
+
+
+
+Christoph Sandner +
+
+

Christoph Sandner

+

Infineon

+
+
+
+
+
+
+Danny Hua +
+
+

Danny Hua

+

Futerwei

+
+
+
+
+
+
+Dave Kehlet +
+
+

Dave Kehlet

+

Intel

+
+
+
+
+
+
+Matt Cockrell +
+
+

Matt Cockrell

+

Google

+

Governing Board Chair

+
+
+
+
+
+
+Peter Gielda +
+
+

Peter Gielda

+

Antmicro

+
+
+
+
+
+
+Placeholder profile photo +
+
+

Phil Dworsky

+

SiFive

+
+
+
+
+
+
+Prabhu Jayanna +
+
+

Prabhu Jayanna

+

AMD

+
+
+
+
+
+
+Stefano Righi +
+
+

Stefano Righi

+

AMI US Holdings Inc

+
+
+
+
+
+
+Placeholder profile photo +
+
+

Stephen Walli

+

Microsoft

+
+
+
+
+
+
+Wei Wu +
+
+

Wei Wu

+

ISCAS

+
+
+
+
+
+

Technical Steering Committee (TSC)

+

The Technical Steering Committee, or TSC, is responsible for the technical oversight of the CHIPS Alliance. The TSC is responsible for implementing technical policy and procedures within the scope and direction of the policies set by the Governing Board, such as defining and maintaining neutral consensus on the technical vision for CHIPS Alliance projects, shepherding projects through their technical lifecycle, and identifying, recruiting, and engaging prospective projects.

+

The TSC operates openly and transparently, and consists of elected representatives from each CHIPS Alliance workgroup. TSC meetings are open to all, and both members and non-members may earn the right to participate in all TSC governance processes.

+
+
+
+
+
+Henry Cook +
+
+

Henry Cook

+

+

Chair

+
+
+
+
+
+

Outreach Committee

+

The Outreach Committee is responsible for organizing the external presence of the CHIPS Alliance.

+
+
+
+
+
+Michael Gielda +
+
+

Michael Gielda

+

+

Chair

+
+
+
+
+
+
+
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/preview/97/about/index.html b/preview/97/about/index.html new file mode 100644 index 000000000..abcf29e21 --- /dev/null +++ b/preview/97/about/index.html @@ -0,0 +1,403 @@ + + + + + + + + + + + + + + +Abouts | CHIPS Alliance + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+

Welcome!

+

+
+
+
+
+
+
+banner-image +
+shape +
+
+
+
+
+
+
+
+
+
+
+

About CHIPS Alliance

+

The CHIPS Alliance develops high-quality, open source hardware designs relevant to silicon devices and FPGAs. By creating an open and collaborative environment, CHIPS Alliance shares resources to lower the cost of development. Companies and individuals can work together to develop open source CPUs, various peripherals, and complex IP blocks. CHIPS Alliance is open to all organizations who are interested in collaborating on open source hardware or software tools to accelerate the creation of more efficient and innovative chip designs.

+
+
+
+
+
+
+
+13 +
+

Hosted Projects

+
+
+
+
+
+2019 +
+

Established in

+
+
+
+
+
+6 +
+

Workgroups

+
+
+
+
+
+43 +
+

Member Organizations

+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+

Sign Up to our Groups!

+

Browser the CHIPS Alliance mailing lists and join groups you are interested in.

+ +
+
+
+
+
+card-images +
+
+effect-image +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/about/index.xml b/preview/97/about/index.xml new file mode 100644 index 000000000..eb83d70cd --- /dev/null +++ b/preview/97/about/index.xml @@ -0,0 +1,9 @@ +Abouts on CHIPS Alliancehttps://chipsalliance.org/preview/97/about/Recent content in Abouts on CHIPS AllianceHugo -- gohugo.ioen-usContacthttps://chipsalliance.org/preview/97/about/contact/Mon, 01 Jan 0001 00:00:00 +0000https://chipsalliance.org/preview/97/about/contact/hbspt.forms.create({ region: "na1", portalId: "8112310", formId: "94557cae-71ce-4536-a54f-8eff19aab9f9", sfdcCampaignId: "7012M000001FetwQAC" }); Mailing Address CHIPS Alliance +1 Letterman Drive, Building D, Suite D4700 +San Francisco, CA 94129Frequently Asked Questionshttps://chipsalliance.org/preview/97/about/faq/Mon, 01 Jan 0001 00:00:00 +0000https://chipsalliance.org/preview/97/about/faq/1 What is CHIPS Alliance? +CHIPS Alliance, a member of the Linux Foundation, is championing open source based collaboration in the chip design community. This includes architectures, specifications, reference implementations, PDKs and EDA tooling. CHIPS Alliance hosts different workgroups to bring community members together to focus on topics of shared interest. 2 Why do we need open source hardware, chips, FPGAs, etc.? +Open source ingredients for hardware design are enabling and accelerating the global collaborative ecosystem.Governancehttps://chipsalliance.org/preview/97/about/governance/Mon, 01 Jan 0001 00:00:00 +0000https://chipsalliance.org/preview/97/about/governance/In addition to the top-level structure of The CHIPS Alliance, each hosted open source project has its own process, structure, and community. While the Technical Steering Community (TSC) sets high-level technical policy, projects have a great deal of flexibility in day-to-day operations. +Rob Mains - General Manager The General Manager works with the Governing Board, our members, and our projects to ensure the CHIPS Alliance is a healthy, sustainable, and neutral home for open source technical collaborations.Membershttps://chipsalliance.org/preview/97/about/members/Mon, 01 Jan 0001 00:00:00 +0000https://chipsalliance.org/preview/97/about/members/When an organization joins the CHIPS Alliance, they are making a tangible commitment to the success and sustainability of open source projects which help to achieve these goals. The CHIPS Alliance recognizes the critical supporting role of these organizations, and thanks them for their ongoing support of our project communities. +CHIPS Alliance Members Become a Member Platinum Members Gold Members Silver Members Auditor Members Associate MembersWho We Arehttps://chipsalliance.org/preview/97/about/who-we-are/Mon, 01 Jan 0001 00:00:00 +0000https://chipsalliance.org/preview/97/about/who-we-are/The CHIPS Alliance leverages common hardware development efforts by developing IP blocks that can be broadly used, such as RISC-V cores and neural network accelerator cores. We recognize that verification contributions benefit all who participate in the project, and prioritize joint resources for design verification. +The scope of the Project includes hardware and software design and development under an open source (Apache v2) license: +Verified IP blocks (compute cores, accelerators etc) Verified SoC designs (based on RISC-V and other open source cores) Open source software development tools for ASIC development High value IP including analog peripherals, mixed signal blocks and compute acceleration Exploration of new design flows such as Python-based design verification. \ No newline at end of file diff --git a/preview/97/about/members/index.html b/preview/97/about/members/index.html new file mode 100644 index 000000000..75aa37ebc --- /dev/null +++ b/preview/97/about/members/index.html @@ -0,0 +1,390 @@ + + + + + + + + + + + + + + +Members | CHIPS Alliance + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+

Members

+

The mission of the CHIPS Alliance is to develop high-quality, open source hardware designs relevant to silicon devices and FPGAs. By creating an open and collaborative environment, CHIPS Alliance shares resources to lower the cost of development. Companies and individuals can work together to develop open source CPUs, various peripherals, and complex IP blocks.

+ +
+
+
+
+banner-image +
+shape +
+
+
+
+
+
+
+
+
+
+
+

When an organization joins the CHIPS Alliance, they are making a tangible commitment to the success and sustainability of open source projects which help to achieve these goals. The CHIPS Alliance recognizes the critical supporting role of these organizations, and thanks them for their ongoing support of our project communities.

+

CHIPS Alliance Members

+

+ Become a Member +

+
+

Platinum Members

+
+
+AMD logo +
+
+Antmicro logo +
+
+Futerwei logo +
+
+Google logo +
+
+Infineon logo +
+
+Intel logo +
+
+Microsoft logo +
+
+SiFive logo +
+
+VeriSilicon logo +
+
+
+
+

Gold Members

+
+
+ISCAS logo +
+
+Marvell logo +
+
+
+
+

Silver Members

+
+
+AMI US Holdings Inc logo +
+
+Efabless logo +
+
+Electronic and Telecommunications Research Institute logo +
+
+Imperas logo +
+
+Meta logo +
+
+Nvidia logo +
+
+ProteanTecs logo +
+
+Western Digital logo +
+
+
+
+

Auditor Members

+
+
+Axiado logo +
+
+Precision Innovations logo +
+
+Siemens logo +
+
+
+
+

Associate Members

+
+
+ASU logo +
+
+Berkeley logo +
+
+BYU logo +
+
+Hochschule logo +
+
+IIT logo +
+
+Nebrija logo +
+
+OpenRoad logo +
+
+Rios logo +
+
+RISC-V logo +
+
+Stanford Engineering logo +
+
+UC San Diego logo +
+
+UC Santa Cruz logo +
+
+UIT logo +
+
+University de Kragujevac logo +
+
+University of Hawaii logo +
+
+University of Manchester logo +
+
+University of Michigan logo +
+
+University of Minnesota logo +
+
+University of New Brunswick logo +
+
+University of Toronto logo +
+
+Yale University logo +
+
+
+
+
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/preview/97/about/who-we-are/index.html b/preview/97/about/who-we-are/index.html new file mode 100644 index 000000000..340112625 --- /dev/null +++ b/preview/97/about/who-we-are/index.html @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + +Who We Are | CHIPS Alliance + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+

Who We Are

+

The CHIPS Alliance is an organization which develops and hosts high quality, open source hardware code (IP cores), interconnect IP (phy and logical protocols), and open source software development tools for design, verification, and more. We seek to provide a barrier-free collaborative environment, to lower the cost of developing IP and tools for hardware development.

+
+
+
+
+
+
+banner-image +
+shape +
+
+
+
+
+
+
+
+
+
+
+

The CHIPS Alliance leverages common hardware development efforts by developing IP blocks that can be broadly used, such as RISC-V cores and neural network accelerator cores. We recognize that verification contributions benefit all who participate in the project, and prioritize joint resources for design verification.

+

The scope of the Project includes hardware and software design and development under an open source (Apache v2) license:

+
    +
  • Verified IP blocks (compute cores, accelerators etc)
  • +
  • Verified SoC designs (based on RISC-V and other open source cores)
  • +
  • Open source software development tools for ASIC development
  • +
  • High value IP including analog peripherals, mixed signal blocks and compute acceleration
  • +
  • Exploration of new design flows such as Python-based design verification.
  • +
  • The CHIPS Alliance welcomes technical contributions from members and non-members alike. We encourage everyone to use, extend, and contribute back to our projects, and to participate on the Technical Steering Committee.
  • +
+

We also welcome organizations and institutions who wish to participate in the CHIPS Alliance governance process by becoming members. If you have questions, please reach out to membership@chipsalliance.org.

+

The CHIPS Alliance is hosted by The Linux Foundation, a 501(c)6 non-profit organization.

+

+ Get Started with CHIPS Alliance +

+
+
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/preview/97/announcement/2019/05/07/chips-alliance-to-reveal-project-details-strategy-and-roadmap-at-inaugural-workshop-hosted-at-google/index.html b/preview/97/announcement/2019/05/07/chips-alliance-to-reveal-project-details-strategy-and-roadmap-at-inaugural-workshop-hosted-at-google/index.html new file mode 100644 index 000000000..9546eefc0 --- /dev/null +++ b/preview/97/announcement/2019/05/07/chips-alliance-to-reveal-project-details-strategy-and-roadmap-at-inaugural-workshop-hosted-at-google/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/chips-alliance-to-reveal-project-details-strategy-and-roadmap-at-inaugural-workshop-hosted-at-google/ \ No newline at end of file diff --git a/preview/97/announcement/2020/05/14/newly-enhanced-swerv-cores/index.html b/preview/97/announcement/2020/05/14/newly-enhanced-swerv-cores/index.html new file mode 100644 index 000000000..58419133b --- /dev/null +++ b/preview/97/announcement/2020/05/14/newly-enhanced-swerv-cores/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/newly-enhanced-swerv-cores/ \ No newline at end of file diff --git a/preview/97/announcement/2020/07/16/aib-2-0-draft-specification/index.html b/preview/97/announcement/2020/07/16/aib-2-0-draft-specification/index.html new file mode 100644 index 000000000..03c3cce86 --- /dev/null +++ b/preview/97/announcement/2020/07/16/aib-2-0-draft-specification/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/aib-2-0-draft-specification/ \ No newline at end of file diff --git a/preview/97/announcement/2020/08/11/quicklogic-joins-chips-alliance-to-expand-open-source-fpga-efforts/index.html b/preview/97/announcement/2020/08/11/quicklogic-joins-chips-alliance-to-expand-open-source-fpga-efforts/index.html new file mode 100644 index 000000000..4650adf23 --- /dev/null +++ b/preview/97/announcement/2020/08/11/quicklogic-joins-chips-alliance-to-expand-open-source-fpga-efforts/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/quicklogic-joins-chips-alliance-to-expand-open-source-fpga-efforts/ \ No newline at end of file diff --git a/preview/97/announcement/2020/09/15/efabless-joins-chips-alliance-to-accelerate-the-growth-of-the-open-source-chip-ecosystem/index.html b/preview/97/announcement/2020/09/15/efabless-joins-chips-alliance-to-accelerate-the-growth-of-the-open-source-chip-ecosystem/index.html new file mode 100644 index 000000000..b7af4b0d6 --- /dev/null +++ b/preview/97/announcement/2020/09/15/efabless-joins-chips-alliance-to-accelerate-the-growth-of-the-open-source-chip-ecosystem/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/efabless-joins-chips-alliance-to-accelerate-the-growth-of-the-open-source-chip-ecosystem/ \ No newline at end of file diff --git a/preview/97/announcement/2020/12/08/omnixtend/index.html b/preview/97/announcement/2020/12/08/omnixtend/index.html new file mode 100644 index 000000000..f784bc300 --- /dev/null +++ b/preview/97/announcement/2020/12/08/omnixtend/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/omnixtend/ \ No newline at end of file diff --git a/preview/97/announcement/2021/02/08/chips-alliance-brings-on-rob-mains-as-new-executive-director/index.html b/preview/97/announcement/2021/02/08/chips-alliance-brings-on-rob-mains-as-new-executive-director/index.html new file mode 100644 index 000000000..e04c32df4 --- /dev/null +++ b/preview/97/announcement/2021/02/08/chips-alliance-brings-on-rob-mains-as-new-executive-director/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/chips-alliance-brings-on-rob-mains-as-new-executive-director/ \ No newline at end of file diff --git a/preview/97/announcement/2021/02/11/chips-alliance-welcomes-antmicro-and-verisilicon-to-the-platinum-membership-level/index.html b/preview/97/announcement/2021/02/11/chips-alliance-welcomes-antmicro-and-verisilicon-to-the-platinum-membership-level/index.html new file mode 100644 index 000000000..851d119df --- /dev/null +++ b/preview/97/announcement/2021/02/11/chips-alliance-welcomes-antmicro-and-verisilicon-to-the-platinum-membership-level/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/chips-alliance-welcomes-antmicro-and-verisilicon-to-the-platinum-membership-level/ \ No newline at end of file diff --git a/preview/97/announcement/2021/03/24/risc-v-international-omnixtend-working-group/index.html b/preview/97/announcement/2021/03/24/risc-v-international-omnixtend-working-group/index.html new file mode 100644 index 000000000..9c69a04ae --- /dev/null +++ b/preview/97/announcement/2021/03/24/risc-v-international-omnixtend-working-group/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/risc-v-international-omnixtend-working-group/ \ No newline at end of file diff --git a/preview/97/announcement/2021/09/16/skywater-technology-joins-chips-alliance-to-further-efforts-to-make-chip-design-and-production-more-accessible/index.html b/preview/97/announcement/2021/09/16/skywater-technology-joins-chips-alliance-to-further-efforts-to-make-chip-design-and-production-more-accessible/index.html new file mode 100644 index 000000000..b501edbe3 --- /dev/null +++ b/preview/97/announcement/2021/09/16/skywater-technology-joins-chips-alliance-to-further-efforts-to-make-chip-design-and-production-more-accessible/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/skywater-technology-joins-chips-alliance-to-further-efforts-to-make-chip-design-and-production-more-accessible/ \ No newline at end of file diff --git a/preview/97/announcement/2022/02/03/xilinx-new-member/index.html b/preview/97/announcement/2022/02/03/xilinx-new-member/index.html new file mode 100644 index 000000000..a4f787613 --- /dev/null +++ b/preview/97/announcement/2022/02/03/xilinx-new-member/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/xilinx-new-member/ \ No newline at end of file diff --git a/preview/97/announcement/2022/02/18/chips-alliance-forms-f4pga-workgroup-to-accelerate-adoption-of-open-source-fpga-tooling/index.html b/preview/97/announcement/2022/02/18/chips-alliance-forms-f4pga-workgroup-to-accelerate-adoption-of-open-source-fpga-tooling/index.html new file mode 100644 index 000000000..fb9b83cc2 --- /dev/null +++ b/preview/97/announcement/2022/02/18/chips-alliance-forms-f4pga-workgroup-to-accelerate-adoption-of-open-source-fpga-tooling/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/chips-alliance-forms-f4pga-workgroup-to-accelerate-adoption-of-open-source-fpga-tooling/ \ No newline at end of file diff --git a/preview/97/announcement/2022/12/13/chips-alliance-welcomes-the-caliptra-open-source-root-of-trust-project/index.html b/preview/97/announcement/2022/12/13/chips-alliance-welcomes-the-caliptra-open-source-root-of-trust-project/index.html new file mode 100644 index 000000000..0ed04dd38 --- /dev/null +++ b/preview/97/announcement/2022/12/13/chips-alliance-welcomes-the-caliptra-open-source-root-of-trust-project/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/chips-alliance-welcomes-the-caliptra-open-source-root-of-trust-project/ \ No newline at end of file diff --git a/preview/97/blog/2019/12/06/open-source-usb-test-suite/index.html b/preview/97/blog/2019/12/06/open-source-usb-test-suite/index.html new file mode 100644 index 000000000..626b0550c --- /dev/null +++ b/preview/97/blog/2019/12/06/open-source-usb-test-suite/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/open-source-usb-test-suite/ \ No newline at end of file diff --git a/preview/97/blog/2020/05/07/systemverilog-linting-and-formatting-with-fusesoc-verible-integration/index.html b/preview/97/blog/2020/05/07/systemverilog-linting-and-formatting-with-fusesoc-verible-integration/index.html new file mode 100644 index 000000000..fb3d937bf --- /dev/null +++ b/preview/97/blog/2020/05/07/systemverilog-linting-and-formatting-with-fusesoc-verible-integration/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/systemverilog-linting-and-formatting-with-fusesoc-verible-integration/ \ No newline at end of file diff --git a/preview/97/blog/2020/05/14/newly-enhanced-swerv-cores/index.html b/preview/97/blog/2020/05/14/newly-enhanced-swerv-cores/index.html new file mode 100644 index 000000000..58419133b --- /dev/null +++ b/preview/97/blog/2020/05/14/newly-enhanced-swerv-cores/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/newly-enhanced-swerv-cores/ \ No newline at end of file diff --git a/preview/97/blog/2020/06/08/chips-alliances-incredible-growth/index.html b/preview/97/blog/2020/06/08/chips-alliances-incredible-growth/index.html new file mode 100644 index 000000000..f7ed8eca6 --- /dev/null +++ b/preview/97/blog/2020/06/08/chips-alliances-incredible-growth/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/chips-alliances-incredible-growth/ \ No newline at end of file diff --git a/preview/97/blog/2020/06/29/open-source-process-design-kit-from-google-skywater-technologies-and-partners-released/index.html b/preview/97/blog/2020/06/29/open-source-process-design-kit-from-google-skywater-technologies-and-partners-released/index.html new file mode 100644 index 000000000..250312e35 --- /dev/null +++ b/preview/97/blog/2020/06/29/open-source-process-design-kit-from-google-skywater-technologies-and-partners-released/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/open-source-process-design-kit-from-google-skywater-technologies-and-partners-released/ \ No newline at end of file diff --git a/preview/97/blog/2020/07/10/chips-swerv-cores-and-the-open-tools-ecosystem/index.html b/preview/97/blog/2020/07/10/chips-swerv-cores-and-the-open-tools-ecosystem/index.html new file mode 100644 index 000000000..0a19fa5e2 --- /dev/null +++ b/preview/97/blog/2020/07/10/chips-swerv-cores-and-the-open-tools-ecosystem/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/chips-swerv-cores-and-the-open-tools-ecosystem/ \ No newline at end of file diff --git a/preview/97/blog/2020/09/15/the-chips-alliance-workshop-overview/index.html b/preview/97/blog/2020/09/15/the-chips-alliance-workshop-overview/index.html new file mode 100644 index 000000000..21f0dc0ee --- /dev/null +++ b/preview/97/blog/2020/09/15/the-chips-alliance-workshop-overview/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/the-chips-alliance-workshop-overview/ \ No newline at end of file diff --git a/preview/97/blog/2021/01/07/ibex-synthesis-and-simulation/index.html b/preview/97/blog/2021/01/07/ibex-synthesis-and-simulation/index.html new file mode 100644 index 000000000..f24b9a721 --- /dev/null +++ b/preview/97/blog/2021/01/07/ibex-synthesis-and-simulation/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/ibex-synthesis-and-simulation/ \ No newline at end of file diff --git a/preview/97/blog/2021/02/23/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/index.html b/preview/97/blog/2021/02/23/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/index.html new file mode 100644 index 000000000..f6f4ef428 --- /dev/null +++ b/preview/97/blog/2021/02/23/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/ \ No newline at end of file diff --git a/preview/97/blog/2021/03/16/github-actions-self-hosted-runners-build-event-server-and-google-cloud/index.html b/preview/97/blog/2021/03/16/github-actions-self-hosted-runners-build-event-server-and-google-cloud/index.html new file mode 100644 index 000000000..302484177 --- /dev/null +++ b/preview/97/blog/2021/03/16/github-actions-self-hosted-runners-build-event-server-and-google-cloud/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/github-actions-self-hosted-runners-build-event-server-and-google-cloud/ \ No newline at end of file diff --git a/preview/97/blog/2021/04/09/modular-open-source-fpga-based-lpddr4-test-platform/index.html b/preview/97/blog/2021/04/09/modular-open-source-fpga-based-lpddr4-test-platform/index.html new file mode 100644 index 000000000..14cded49e --- /dev/null +++ b/preview/97/blog/2021/04/09/modular-open-source-fpga-based-lpddr4-test-platform/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/modular-open-source-fpga-based-lpddr4-test-platform/ \ No newline at end of file diff --git a/preview/97/blog/2021/04/29/new-mpw-two-program/index.html b/preview/97/blog/2021/04/29/new-mpw-two-program/index.html new file mode 100644 index 000000000..62e538360 --- /dev/null +++ b/preview/97/blog/2021/04/29/new-mpw-two-program/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/new-mpw-two-program/ \ No newline at end of file diff --git a/preview/97/blog/2021/05/13/dynamic-scheduling-in-verilator/index.html b/preview/97/blog/2021/05/13/dynamic-scheduling-in-verilator/index.html new file mode 100644 index 000000000..043096098 --- /dev/null +++ b/preview/97/blog/2021/05/13/dynamic-scheduling-in-verilator/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/dynamic-scheduling-in-verilator/ \ No newline at end of file diff --git a/preview/97/blog/2021/05/14/antmicros-arvsom-risc-v-module-announced/index.html b/preview/97/blog/2021/05/14/antmicros-arvsom-risc-v-module-announced/index.html new file mode 100644 index 000000000..ba7577aaa --- /dev/null +++ b/preview/97/blog/2021/05/14/antmicros-arvsom-risc-v-module-announced/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/antmicros-arvsom-risc-v-module-announced/ \ No newline at end of file diff --git a/preview/97/blog/2021/05/20/efabless-launches-chipignite/index.html b/preview/97/blog/2021/05/20/efabless-launches-chipignite/index.html new file mode 100644 index 000000000..2058d262d --- /dev/null +++ b/preview/97/blog/2021/05/20/efabless-launches-chipignite/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/efabless-launches-chipignite/ \ No newline at end of file diff --git a/preview/97/blog/2021/07/19/what-you-need-to-know-about-verilator-open-source-tooling/index.html b/preview/97/blog/2021/07/19/what-you-need-to-know-about-verilator-open-source-tooling/index.html new file mode 100644 index 000000000..f6af6d5a3 --- /dev/null +++ b/preview/97/blog/2021/07/19/what-you-need-to-know-about-verilator-open-source-tooling/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/what-you-need-to-know-about-verilator-open-source-tooling/ \ No newline at end of file diff --git a/preview/97/blog/2021/08/04/open-source-systemverilog-tools-in-asic-design/index.html b/preview/97/blog/2021/08/04/open-source-systemverilog-tools-in-asic-design/index.html new file mode 100644 index 000000000..cbc678c15 --- /dev/null +++ b/preview/97/blog/2021/08/04/open-source-systemverilog-tools-in-asic-design/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/open-source-systemverilog-tools-in-asic-design/ \ No newline at end of file diff --git a/preview/97/blog/2021/09/02/open-source-custom-github-actions-runners-with-google-cloud-and-terraform/index.html b/preview/97/blog/2021/09/02/open-source-custom-github-actions-runners-with-google-cloud-and-terraform/index.html new file mode 100644 index 000000000..6f23f8c35 --- /dev/null +++ b/preview/97/blog/2021/09/02/open-source-custom-github-actions-runners-with-google-cloud-and-terraform/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/open-source-custom-github-actions-runners-with-google-cloud-and-terraform/ \ No newline at end of file diff --git a/preview/97/blog/2021/09/08/automatic-systemverilog-linting-in-github-actions-with-verible/index.html b/preview/97/blog/2021/09/08/automatic-systemverilog-linting-in-github-actions-with-verible/index.html new file mode 100644 index 000000000..a2c3bc863 --- /dev/null +++ b/preview/97/blog/2021/09/08/automatic-systemverilog-linting-in-github-actions-with-verible/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/automatic-systemverilog-linting-in-github-actions-with-verible/ \ No newline at end of file diff --git a/preview/97/blog/2021/09/09/symbiflow-fpga-interchange-format-to-enable-interoperable-fpga-tooling/index.html b/preview/97/blog/2021/09/09/symbiflow-fpga-interchange-format-to-enable-interoperable-fpga-tooling/index.html new file mode 100644 index 000000000..ca86f34a2 --- /dev/null +++ b/preview/97/blog/2021/09/09/symbiflow-fpga-interchange-format-to-enable-interoperable-fpga-tooling/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/symbiflow-fpga-interchange-format-to-enable-interoperable-fpga-tooling/ \ No newline at end of file diff --git a/preview/97/blog/2021/09/28/open-source-ddr-controller-framework-for-mitigating-rowhammer/index.html b/preview/97/blog/2021/09/28/open-source-ddr-controller-framework-for-mitigating-rowhammer/index.html new file mode 100644 index 000000000..eeba3d743 --- /dev/null +++ b/preview/97/blog/2021/09/28/open-source-ddr-controller-framework-for-mitigating-rowhammer/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/open-source-ddr-controller-framework-for-mitigating-rowhammer/ \ No newline at end of file diff --git a/preview/97/blog/2021/10/27/improving-the-openlane-asic-build-flow-with-open-source-systemverilog-support/index.html b/preview/97/blog/2021/10/27/improving-the-openlane-asic-build-flow-with-open-source-systemverilog-support/index.html new file mode 100644 index 000000000..1d06f8a29 --- /dev/null +++ b/preview/97/blog/2021/10/27/improving-the-openlane-asic-build-flow-with-open-source-systemverilog-support/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/improving-the-openlane-asic-build-flow-with-open-source-systemverilog-support/ \ No newline at end of file diff --git a/preview/97/blog/2021/11/17/how-google-is-applying-machine-learning-to-macro-placement/index.html b/preview/97/blog/2021/11/17/how-google-is-applying-machine-learning-to-macro-placement/index.html new file mode 100644 index 000000000..985888c28 --- /dev/null +++ b/preview/97/blog/2021/11/17/how-google-is-applying-machine-learning-to-macro-placement/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/how-google-is-applying-machine-learning-to-macro-placement/ \ No newline at end of file diff --git a/preview/97/blog/2021/11/30/open-source-debayerization-blocks-in-fpga/index.html b/preview/97/blog/2021/11/30/open-source-debayerization-blocks-in-fpga/index.html new file mode 100644 index 000000000..6d1abbddf --- /dev/null +++ b/preview/97/blog/2021/11/30/open-source-debayerization-blocks-in-fpga/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/open-source-debayerization-blocks-in-fpga/ \ No newline at end of file diff --git a/preview/97/blog/2021/12/17/software-driven-asic-prototyping-using-the-open-source-skywater-shuttle/index.html b/preview/97/blog/2021/12/17/software-driven-asic-prototyping-using-the-open-source-skywater-shuttle/index.html new file mode 100644 index 000000000..ea29e9666 --- /dev/null +++ b/preview/97/blog/2021/12/17/software-driven-asic-prototyping-using-the-open-source-skywater-shuttle/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/software-driven-asic-prototyping-using-the-open-source-skywater-shuttle/ \ No newline at end of file diff --git a/preview/97/blog/2022/01/03/open-source-fpga-platform-for-rowhammer-security-testing-in-the-data-center/index.html b/preview/97/blog/2022/01/03/open-source-fpga-platform-for-rowhammer-security-testing-in-the-data-center/index.html new file mode 100644 index 000000000..b2d4661be --- /dev/null +++ b/preview/97/blog/2022/01/03/open-source-fpga-platform-for-rowhammer-security-testing-in-the-data-center/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/open-source-fpga-platform-for-rowhammer-security-testing-in-the-data-center/ \ No newline at end of file diff --git a/preview/97/blog/2022/01/05/sata-design-implementation-on-fpgas-with-open-source-tools/index.html b/preview/97/blog/2022/01/05/sata-design-implementation-on-fpgas-with-open-source-tools/index.html new file mode 100644 index 000000000..296087397 --- /dev/null +++ b/preview/97/blog/2022/01/05/sata-design-implementation-on-fpgas-with-open-source-tools/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/sata-design-implementation-on-fpgas-with-open-source-tools/ \ No newline at end of file diff --git a/preview/97/blog/2022/02/01/towards-uvm-using-coroutines/index.html b/preview/97/blog/2022/02/01/towards-uvm-using-coroutines/index.html new file mode 100644 index 000000000..932f4392c --- /dev/null +++ b/preview/97/blog/2022/02/01/towards-uvm-using-coroutines/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/towards-uvm-using-coroutines/ \ No newline at end of file diff --git a/preview/97/blog/2022/06/30/enhanced-system-verilog-support-for-yosys-via-antmicro-plug-in/index.html b/preview/97/blog/2022/06/30/enhanced-system-verilog-support-for-yosys-via-antmicro-plug-in/index.html new file mode 100644 index 000000000..034906ddf --- /dev/null +++ b/preview/97/blog/2022/06/30/enhanced-system-verilog-support-for-yosys-via-antmicro-plug-in/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/enhanced-system-verilog-support-for-yosys-via-antmicro-plug-in/ \ No newline at end of file diff --git a/preview/97/blog/2023/09/29/verilator-model-generation-performance-improvements-and-initial-multithreaded-verilation-support/index.html b/preview/97/blog/2023/09/29/verilator-model-generation-performance-improvements-and-initial-multithreaded-verilation-support/index.html new file mode 100644 index 000000000..3b5d571c7 --- /dev/null +++ b/preview/97/blog/2023/09/29/verilator-model-generation-performance-improvements-and-initial-multithreaded-verilation-support/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/verilator-model-generation-performance-improvements-and-initial-multithreaded-verilation-support/ \ No newline at end of file diff --git a/preview/97/categories/announcements/index.html b/preview/97/categories/announcements/index.html new file mode 100644 index 000000000..9052821f3 --- /dev/null +++ b/preview/97/categories/announcements/index.html @@ -0,0 +1,467 @@ + + + + + + + + + + + + + + +Announcements | CHIPS Alliance + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+

Announcements

+

+
+
+
+
+
+
+
+
+ +
+ +
+
+ +
+ + +
+ +
+ + + + + + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/preview/97/categories/announcements/index.xml b/preview/97/categories/announcements/index.xml new file mode 100644 index 000000000..7bf1ce46c --- /dev/null +++ b/preview/97/categories/announcements/index.xml @@ -0,0 +1,26 @@ +Announcements on CHIPS Alliancehttps://chipsalliance.org/preview/97/categories/announcements/Recent content in Announcements on CHIPS AllianceHugo -- gohugo.ioen-usTue, 13 Dec 2022 00:00:00 +0000CHIPS Alliance Welcomes the Caliptra Open Source Root of Trust Projecthttps://chipsalliance.org/preview/97/news/chips-alliance-welcomes-the-caliptra-open-source-root-of-trust-project/Tue, 13 Dec 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/chips-alliance-welcomes-the-caliptra-open-source-root-of-trust-project/SAN FRANCISCO, December 13, 2022 – CHIPS Alliance, a Linux Foundation project and leading consortium advancing common and open hardware for interfaces, processors and systems, announced that Caliptra, the open source root of trust project founded by technology leaders AMD, Google, Microsoft and NVIDIA, has joined CHIPS Alliance to enable an open, collaborative community-driven approach to hardware security. +Caliptra is a new specification for an open source silicon root of trust (RoT) designed to meet the enhanced security requirements of modern edge and confidential computing workloads.CHIPS Alliance Fall 2022 Technology Update December 15https://chipsalliance.org/preview/97/news/chips-alliance-fall-2022-technology-update-december-15/Thu, 01 Dec 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/chips-alliance-fall-2022-technology-update-december-15/Please join us on December 15 at 8:30 am PT either in person at Google or virtually for a CHIPS technology update featuring many exciting speakers. Details and registration are here: https://events.linuxfoundation.org/chips-biannual-technology-update/Catch us at DAC 59 in San Francisco starting July 11https://chipsalliance.org/preview/97/news/catch-us-at-dac-59-in-san-francisco-starting-july-11/Fri, 08 Jul 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/catch-us-at-dac-59-in-san-francisco-starting-july-11/Come learn about open source hardware and CHIPS Alliance at next week’s 59th Design Automation Conference in San Francisco. We will be at kiosk 2344 in the RISC-V pavilion. You can also here out talk at 12:30 Monday in the Open Source Central Theatre (booth 2338). We are also in a DAC Pavilion Panel: Is Democratization of Chip Design Already Happening? at 2:30 on Monday. Look forward to an exciting day in SF!Alibaba Cloud Announced Progress in Porting Android Functions onto RISC-Vhttps://chipsalliance.org/preview/97/news/alibaba-cloud-announced-progress-in-porting-android-functions-onto-risc-v/Thu, 21 Apr 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/alibaba-cloud-announced-progress-in-porting-android-functions-onto-risc-v/The company also tops MLPerf Tiny v0.7 Benchmark with its IOT processor +Hangzhou, China, April 20, 2022 – Alibaba Cloud, the digital technologies and intelligence backbone of Alibaba Group, announced it has made further progress in porting basic Android functions onto the RISC-V instruction-set architecture (ISA). This proves the feasibility of using RISC-V based Android devices in scenarios ranging from multimedia to signal processing, device interconnection, and artificial intelligence. +Last year, the company reported it had successfully ported basic functions like chrome browsing in Android 10.CHIPS Alliance Forms F4PGA Workgroup to Accelerate Adoption of Open Source FPGA Toolinghttps://chipsalliance.org/preview/97/news/chips-alliance-forms-f4pga-workgroup-to-accelerate-adoption-of-open-source-fpga-tooling/Fri, 18 Feb 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/chips-alliance-forms-f4pga-workgroup-to-accelerate-adoption-of-open-source-fpga-tooling/New workgroup draws support from industry leaders as the open FPGA toolchain matures +SAN FRANCISCO, Feb. 18, 2022 – CHIPS Alliance, the leading consortium advancing common and open source hardware for interfaces, processors and systems, today established the FOSS Flow For FPGA (F4PGA) Workgroup to drive open source tooling, IP and research efforts for FPGAs. +FPGA vendors such as Xilinx (now part of AMD) and QuickLogic, industrial FPGA users and contributors such as Google and Antmicro, as well as universities including Brigham Young University, University of Pennsylvania, Princeton University and University of Toronto, can now officially collaborate under the umbrella of the newly launched F4PGA Workgroup.CHIPS Alliance Announces Xilinx as its Newest Memberhttps://chipsalliance.org/preview/97/news/xilinx-new-member/Thu, 03 Feb 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/xilinx-new-member/Xilinx to continue to drive forward open source FPGA innovation +SAN FRANCISCO, Feb. 3, 2022 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced that Xilinx, Inc. (NASDAQ: XLNX) has joined the CHIPS Alliance organization. Xilinx is a leader in adaptive computing, providing highly-flexible programmable silicon, enabled by a suite of advanced software and tools to drive rapid innovation across a wide span of industries and technologies – from consumer to cars to the cloud.SkyWater Technology Joins CHIPS Alliance to Further Efforts to Make Chip Design and Production More Accessiblehttps://chipsalliance.org/preview/97/news/skywater-technology-joins-chips-alliance-to-further-efforts-to-make-chip-design-and-production-more-accessible/Thu, 16 Sep 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/skywater-technology-joins-chips-alliance-to-further-efforts-to-make-chip-design-and-production-more-accessible/SkyWater furthers collaboration with CHIPS Alliance members on open source shuttle projects +SAN FRANCISCO, Sept. 16, 2021 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced that SkyWater Technology (NASDAQ: SKYT) has become a member of the organization. SkyWater provides custom development, volume manufacturing and advanced packaging services for a wide range of silicon, including solutions based on the free and open RISC-V instruction set architecture (ISA).CHIPS Alliance and RISC-V International Invite the RISC-V Community to Participate in Updating a New Unified Memory Architecture Standardhttps://chipsalliance.org/preview/97/news/risc-v-international-omnixtend-working-group/Wed, 24 Mar 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/risc-v-international-omnixtend-working-group/New joint working group will enhance the OmniXtend Cache Coherency architecture +SAN FRANCISCO, March 24, 2020 – RISC-V International, a non-profit corporation controlled by its members to drive the adoption and implementation of the free and open RISC-V instruction set architecture (ISA), and CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced a joint collaboration to update the OmniXtend Cache Coherency specification and protocol, along with building out developer tools for OmniXtend.CHIPS Alliance Welcomes Antmicro and VeriSilicon to the Platinum Membership Levelhttps://chipsalliance.org/preview/97/news/chips-alliance-welcomes-antmicro-and-verisilicon-to-the-platinum-membership-level/Thu, 11 Feb 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/chips-alliance-welcomes-antmicro-and-verisilicon-to-the-platinum-membership-level/CHIPS Alliance continues to grow with more than 25 companies collaborating on open source hardware and software technologies +SAN FRANCISCO, Feb. 11, 2021 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today welcomed Antmicro and VeriSilicon to the company’s Platinum membership level. Antmicro, one of the initial members of the CHIPS Alliance, has upgraded to the Platinum membership level to reflect its deepening involvement in the organization.CHIPS Alliance Brings on Rob Mains as New Executive Directorhttps://chipsalliance.org/preview/97/news/chips-alliance-brings-on-rob-mains-as-new-executive-director/Mon, 08 Feb 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/chips-alliance-brings-on-rob-mains-as-new-executive-director/Industry veteran to lead open hardware consortium democratizing silicon innovation +SAN FRANCISCO, Feb. 8, 2021 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced the appointment of Rob Mains as the organization’s new executive director. +Rob has over 35 years of experience in software engineering and development, with 25 years of experience as an EDA software architect focused on microprocessor design and advanced process node technologies.Efabless Joins CHIPS Alliance to Accelerate the Growth of the Open Source Chip Ecosystemhttps://chipsalliance.org/preview/97/news/efabless-joins-chips-alliance-to-accelerate-the-growth-of-the-open-source-chip-ecosystem/Tue, 15 Dec 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/efabless-joins-chips-alliance-to-accelerate-the-growth-of-the-open-source-chip-ecosystem/Efabless to give a talk on the OpenROAD project at the CHIPS Alliance Workshop on Sept. 17 +SAN FRANCISCO, Sept. 15, 2020 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today welcomed Efabless, a crowdsourcing design platform for custom silicon, as its latest member. Efabless is already an active participant in several open source initiatives that the CHIPS Alliance is involved in, including the OpenROAD project and the Open Source Shuttle Program.CHIPS Alliance to Collaborate with RISC-V to Standardize an Open Unified Memory Leveraging OmniXtendhttps://chipsalliance.org/preview/97/news/omnixtend/Tue, 08 Dec 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/omnixtend/CHIPS Alliance to highlight OmniXtend advances at RISC-V Summit +SAN FRANCISCO, Dec. 8, 2020 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced that the organization will highlight OmniXtend advances in a presentation at the RISC-V Summit, taking place virtually from Dec. 8-10, 2020. The CHIPS Alliance plans to work with RISC-V International to standardize an open unified memory coherency bus leveraging OmniXtend to foster innovation for data-centric applications.CHIPS Alliance Welcomes Mentor as its Newest Memberhttps://chipsalliance.org/preview/97/news/chips-alliance-welcomes-mentor-as-its-newest-member/Mon, 17 Aug 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/chips-alliance-welcomes-mentor-as-its-newest-member/Mentor to present at the virtual CHIPS Alliance Workshop on Sept. 17 +SAN FRANCISCO, Aug. 18, 2020 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced that Mentor, a Siemens business, has joined as its newest member. The CHIPS Alliance has a roster of more than 20 members collaborating to accelerate the creation and deployment of open system-on-chips (SoCs), peripherals and software tools for a wide range of applications.QuickLogic Joins CHIPS Alliance to Expand Open Source FPGA Effortshttps://chipsalliance.org/preview/97/news/quicklogic-joins-chips-alliance-to-expand-open-source-fpga-efforts/Tue, 11 Aug 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/quicklogic-joins-chips-alliance-to-expand-open-source-fpga-efforts/QuickLogic to present at the virtual CHIPS Alliance Workshop on Sept. 17 +SAN FRANCISCO, Aug. 11, 2020 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced that QuickLogic Corporation (NASDAQ: QUIK), a developer of ultra-low power multi-core voice-enabled SoCs, embedded FPGA IP, and Endpoint AI solutions, has joined as its newest member. +“Over the past few years the electronics industry has seen a big shift towards open source hardware and software, and we’re proud to be one of the companies at the forefront of that movement,” said Brian Faith, president and CEO at QuickLogic.CHIPS Alliance Announces AIB 2.0 Draft Specification to Accelerate Design of Open Source Chipletshttps://chipsalliance.org/preview/97/news/aib-2-0-draft-specification/Thu, 16 Jul 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/aib-2-0-draft-specification/AIB reduces design barriers, costs, and leverages generators to ease development of chiplet-based designs +SAN FRANCISCO, July 16, 2020 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced that it has released the Advanced Interface Bus (AIB) version 2.0 draft specification on GitHub. The AIB standard is an open-source, royalty-free PHY-level standard for connecting multiple semiconductor die within the same package. AIB is ideal for designing SoCs, FPGAs, SerDes chiplets, high-performance ADC/DAC chiplets, optical networking chiplets and more.CHIPS Alliance’s Newly Enhanced SweRV Cores Available to All for Freehttps://chipsalliance.org/preview/97/news/newly-enhanced-swerv-cores/Thu, 14 May 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/newly-enhanced-swerv-cores/CHIPS Alliance to host online event to help community innovating with SweRV Core EH2 and EL2 Solutions +SAN FRANCISCO, May 14, 2020 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced new enhancements to the SweRV Core™ EH2 and SweRV Core EL2, developed for the open-source community by Western Digital. Since the introduction of the cores earlier this year, the CHIPS Alliance has worked with its community to exhaustedly validate the cores through a transparent and rigorous process, as well as incorporate a variety of new updates.Intel joins CHIPS Alliance to promote Advanced Interface Bus (AIB) as an open standardhttps://chipsalliance.org/preview/97/news/intel-joins-chips-alliance-to-promote-advanced-interface-bus-aib-as-an-open-standard/Wed, 22 Jan 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/intel-joins-chips-alliance-to-promote-advanced-interface-bus-aib-as-an-open-standard/Open development for SOCs gets major boost with new collaboration +SAN FRANCISCO, Jan. 22, 2020 /PRNewswire/ — CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced industry leading chipmaker Intel as it’s newest member. Intel is contributing the Advanced Interface Bus (AIB) to CHIPS Alliance to foster broad adoption. +CHIPS Alliance is hosted by the Linux Foundation to foster a collaborative environment to accelerate the creation and deployment of open SoCs, peripherals and software tools for use in mobile, computing, consumer electronics and Internet of Things (IoT) applications.CHIPS Alliance announces technical milestones, three new workgroups including Chisel and the 3rd Chisel Community Conferencehttps://chipsalliance.org/preview/97/news/chips-alliance-announces-technical-milestones-three-new-workgroups-including-chisel-and-the-3rd-chisel-community-conference/Thu, 07 Nov 2019 00:00:00 +0000https://chipsalliance.org/preview/97/news/chips-alliance-announces-technical-milestones-three-new-workgroups-including-chisel-and-the-3rd-chisel-community-conference/SAN FRANCISCO, Nov. 7, 2019 — CHIPS Alliance, the leading consortium advancing common, open hardware for interfaces, processors and systems, today announced the creation of Interconnects, Rocket and Chisel workgroups. In addition, a November verification workshop in Munich and a Chisel conference in January will be held giving engineers an opportunity to learn about open source development efforts in CHIPS Alliance. Lastly, the CHIPS Alliance toolchain and cores workgroups have made contributions to open source development tools.CHIPS Alliance growth continues with new members and design workshop this Novemberhttps://chipsalliance.org/preview/97/news/chips-alliance-growth-continues-with-new-members-and-design-workshop-this-november/Tue, 15 Oct 2019 00:00:00 +0000https://chipsalliance.org/preview/97/news/chips-alliance-growth-continues-with-new-members-and-design-workshop-this-november/SAN FRANCISCO, Oct. 15, 2019 /PRNewswire/ — CHIPS Alliance, the leading consortium advancing common, open hardware for interfaces, processors and systems, today announced Codasip GmbH and Munich University of Applied Science have joined the CHIPS Alliance. In addition, on November 14–15, CHIPS Alliance will be joining the university for a workshop on open source design verification. +CHIPS Alliance is a project hosted by the Linux Foundation to foster a collaborative environment to accelerate the creation and deployment of open SoCs, peripherals and software tools for use in mobile, computing, consumer electronics, and Internet of Things (IoT) applications.CHIPS Alliance Builds Momentum and Community with Newest Members Imperas Software and Metricshttps://chipsalliance.org/preview/97/news/chips-alliance-builds-momentum-and-community-with-newest-members-imperas-software-and-metrics/Tue, 18 Jun 2019 00:00:00 +0000https://chipsalliance.org/preview/97/news/chips-alliance-builds-momentum-and-community-with-newest-members-imperas-software-and-metrics/Imperas and Metrics joining CHIPS Alliance to help drive the verification of RISC-V Open ISA implementations +SAN FRANCISCO – June 18, 2019 – CHIPS Alliance, the leading consortium advancing common, open hardware for interfaces, processors and systems, today announced Imperas and Metrics are joining the organization and the Verification Working Group. Imperas is an independent provider of processor simulation technology and tools for virtual platforms and analysis tools for multicore SoC software development.CHIPS Alliance to Reveal Project Details, Strategy and Roadmap at Inaugural Workshop Hosted at Googlehttps://chipsalliance.org/preview/97/news/chips-alliance-to-reveal-project-details-strategy-and-roadmap-at-inaugural-workshop-hosted-at-google/Tue, 07 May 2019 00:00:00 +0000https://chipsalliance.org/preview/97/news/chips-alliance-to-reveal-project-details-strategy-and-roadmap-at-inaugural-workshop-hosted-at-google/SAN FRANCISCO – May 7, 2019 – CHIPS Alliance, the leading consortium advancing common, open hardware for interfaces, processors and systems, today announced it is holding its inaugural workshop on June 19, 2019 at Google at 111 W. Java Drive, Sunnyvale, Calif. +Project details, strategy and roadmaps will be presented by member companies, and attendees will have an opportunity to propose Register Transfer Level (RTL) projects and development flow ideas. The workshop will focus on open source hardware, software tools, RTL development, design verification tools and related topics.Open Hardware Group – CHIPS Alliance – Building Momentum and Community with Newest Member Antmicrohttps://chipsalliance.org/preview/97/news/open-hardware-group-chips-alliance-building-momentum-and-community-with-newest-member-antmicro/Thu, 18 Apr 2019 00:00:00 +0000https://chipsalliance.org/preview/97/news/open-hardware-group-chips-alliance-building-momentum-and-community-with-newest-member-antmicro/Antmicro Joins CHIPS Alliance to develop open source cores, IP blocks and tools for CPUs, RISC-V-based SoCs and peripherals +SAN FRANCISCO – April 18, 2019 – CHIPS Alliance, the leading consortium advancing common, open hardware for interfaces, processors and systems, today announced Antmicro is joining the organization. Antmicro is a software-driven technology company focused on introducing open source into strategic areas of industry, especially edge AI. Announced just last month, the CHIPS Alliance welcomes Antmicro among its initial members Esperanto Technologies, Google, SiFive, and Western Digital.Linux Foundation to Host CHIPS Alliance Project to Propel Industry Innovation Through Open Source CPU Chip and SoC Designhttps://chipsalliance.org/preview/97/news/linux-foundation-to-host-chips-alliance-project-to-propel-industry-innovation-through-open-source-cpu-chip-and-soc-design/Mon, 11 Mar 2019 00:00:00 +0000https://chipsalliance.org/preview/97/news/linux-foundation-to-host-chips-alliance-project-to-propel-industry-innovation-through-open-source-cpu-chip-and-soc-design/New Linux Foundation Project to Foster Flexible, Next-Generation Chip Design for Diverse Data-Centric Applications and Workloads +SAN FRANCISCO – March 11, 2019 – The Linux Foundation, the nonprofit organization enabling mass innovation through open source, today announced its intent to form the CHIPS Alliance project to host and curate high-quality open source code relevant to the design of silicon devices. CHIPS Alliance will foster a collaborative environment that will enable accelerated creation and deployment of more efficient and flexible chip designs for use in mobile, computing, consumer electronics, and Internet of Things (IoT) applications. \ No newline at end of file diff --git a/preview/97/categories/announcements/page/1/index.html b/preview/97/categories/announcements/page/1/index.html new file mode 100644 index 000000000..6fe5a6180 --- /dev/null +++ b/preview/97/categories/announcements/page/1/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/categories/announcements/ \ No newline at end of file diff --git a/preview/97/categories/announcements/page/2/index.html b/preview/97/categories/announcements/page/2/index.html new file mode 100644 index 000000000..02a547390 --- /dev/null +++ b/preview/97/categories/announcements/page/2/index.html @@ -0,0 +1,447 @@ + + + + + + + + + + + + + + +Announcements | CHIPS Alliance + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+

Announcements

+

+
+
+
+
+
+
+
+
+
+ +
+ + + + + + + + + + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/preview/97/categories/blog/index.html b/preview/97/categories/blog/index.html new file mode 100644 index 000000000..d8513a13a --- /dev/null +++ b/preview/97/categories/blog/index.html @@ -0,0 +1,473 @@ + + + + + + + + + + + + + + +Blog | CHIPS Alliance + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+

Blog

+

+
+
+
+
+
+
+
+
+ + + +
+ +
+
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/preview/97/categories/blog/index.xml b/preview/97/categories/blog/index.xml new file mode 100644 index 000000000..009e6be2b --- /dev/null +++ b/preview/97/categories/blog/index.xml @@ -0,0 +1,44 @@ +Blog on CHIPS Alliancehttps://chipsalliance.org/preview/97/categories/blog/Recent content in Blog on CHIPS AllianceHugo -- gohugo.ioen-usFri, 29 Sep 2023 00:00:00 +0000Verilator Model Generation Performance Improvements and Initial Multithreaded Verilation Supporthttps://chipsalliance.org/preview/97/news/verilator-model-generation-performance-improvements-and-initial-multithreaded-verilation-support/Fri, 29 Sep 2023 00:00:00 +0000https://chipsalliance.org/preview/97/news/verilator-model-generation-performance-improvements-and-initial-multithreaded-verilation-support/Verilator can boast the status of one of the most widely used free and open source digital design tools for ASIC and FPGA development. To stay on top of the ever-increasing complexity of ASIC and FPGA devices, as users and contributors, Antmicro, a CHIPS Alliance member and part of the Tools Workgroup, has been actively working on improving the tool and its ecosystem, including adding co-simulation capabilities with Renode, adding support for SystemVerilog UVM testbenches to Verilator, or improving scalability for very large designs.Progress in open source SystemVerilog / UVM support in Verilatorhttps://chipsalliance.org/preview/97/news/progress-in-open-source-systemverilog-uvm-support-in-verilator/Fri, 21 Jul 2023 00:00:00 +0000https://chipsalliance.org/preview/97/news/progress-in-open-source-systemverilog-uvm-support-in-verilator/Verilator is a shining example of a widely-accepted open source tool which provides state-of-the-art results in the ASIC design space. It is commonly used for simulation and testing, but originally, due to the lack of capability to run event-driven simulations, Verilator wasn’t even considered capable of handling UVM (Universal Verification Methodology) testbenches implemented in SystemVerilog which require scheduling and other features notably absent from the tool. For some time now, Antmicro, together with Western Digital, Google and others in the CHIPS Alliance, has been working on enabling fully open source support for SystemVerilog UVM testbenches in Verilator.Open source and CI-driven RTL testing and verification for Caliptra’s RISC-V VeeR corehttps://chipsalliance.org/preview/97/news/open-source-rtl-ci-testing-and-verification-for-caliptra-veer/Tue, 04 Jul 2023 00:00:00 +0000https://chipsalliance.org/preview/97/news/open-source-rtl-ci-testing-and-verification-for-caliptra-veer/As part of CHIPS Alliance’s mission to enable a software-driven approach to silicon, working with Google and other CHIPS members, Antmicro has been developing and improving a growing number of open source tools to enable effective, CI-driven silicon development. +Fully reproducible and scalable workflows based on open source tooling are especially beneficial for efforts spanning across multiple industrial and academic actors such as Caliptra, a Root of Trust project driven by Google, AMD, NVIDIA and Microsoft which recently joined CHIPS in order to host the ongoing development and provide the necessary structure, working environment and support for the reference implementation of the standard, originally hosted by Open Compute Project.Integrating the Language Server Protocol in Veriblehttps://chipsalliance.org/preview/97/news/integrating-language-server-protocol-in-verible/Wed, 12 Apr 2023 00:00:00 +0000https://chipsalliance.org/preview/97/news/integrating-language-server-protocol-in-verible/A more collaborative, open and software driven ASIC design methodology pioneered by the CHIPS Alliance requires an open source tooling stack to enable sharing of workflows, artifacts and fostering a free exchange of insights and improvements. +While internally often using new design methodologies and languages such as Migen, Chisel or XLS, Antmicro is conscious of the fact that a lot of the world’s ASIC development involves SystemVerilog and UVM, and so we are working on bridging traditional and new ASIC development methodologies as described in a recent blog note.Joint Analog Workgroup / MOS-AK Panel Sessionhttps://chipsalliance.org/preview/97/news/joint-analog-workgroup-mos-ak-panel-session/Mon, 05 Dec 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/joint-analog-workgroup-mos-ak-panel-session/Please join us for a special joint panel webinar session for the CHIPS Alliance Analog Workgroup and MOS-AK Foundation. +This panel will feature speakers with 20 minute talks on the following topic areas: +@Mehdi Saligane : Introduction to the open source EDA tool flow for IC design (with reference to [1]) @Makris Nikolaos : EKV3 in NGSPICE using ADMSXL @Keiter, Eric R : Xyce and its support for commercial (hSpice/spectre) libs/syntax @Tim Edwards : his work on the SkyWater 130 nm compatibility with ngspice @Kevin Cameron : update on the P1800 (SystemVerilog) AMS standardization efforts (public doc [2]) There will be time for Q & A after each talk and conversation after the presentation completion.F4PGA open source flow gets a new Python-based build system and CLI toolhttps://chipsalliance.org/preview/97/news/f4pga-open-source-flow-gets-a-new-python-based-build-system-and-cli-tool/Sun, 09 Oct 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/f4pga-open-source-flow-gets-a-new-python-based-build-system-and-cli-tool/One of the most recent projects developed within the workgroup is the unified f4pga CLI tool. In the broader context of our continuous efforts to make the FPGA space more unified and flexible, creating the f4pga CLI tool was a logical next step – it allowed us to wrap the underlying tools into a single CLI, making the F4PGA toolchain a more complete flow. The currently supported architectures are AMD’s (former Xilinx) 7 Series, Lattice’s iCE40 and QuickLogic’s EOS S3.Skywaterhttps://chipsalliance.org/preview/97/news/skywater/Sat, 06 Aug 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/skywater/It’s great to learn that Google announced the expansion of its partnership with SkyWater Technology. They are working together to release an open source process design kit (PDK) for SKY90-FD, SkyWater’s commercial 90nm fully depleted silicon on insulator (FDSOI) CMOS process technology. SKY90-FD is based on MIT Lincoln Laboratory’s 90 nm commercial FDSOI technology, and enables designers to create complex integrated circuits for a diverse range of applications. +You can read more @ https://opensource.Antmicro DDR5 Rowhammer Testing Frameworkhttps://chipsalliance.org/preview/97/news/1212/Fri, 05 Aug 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/1212/CHIPS Alliance is excited by the Antmicro announcement of the extensible, open, Rowhammer testing framework for DDR5. Read a detailed description of their work here: https://antmicro.com/blog/2022/08/extending-the-open-source-rowhammer-testing-framework-to-ddr5/ +Here are some graphics of the work:Enhanced System Verilog Support for Yosys via Antmicro plug-inhttps://chipsalliance.org/preview/97/news/enhanced-system-verilog-support-for-yosys-via-antmicro-plug-in/Thu, 30 Jun 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/enhanced-system-verilog-support-for-yosys-via-antmicro-plug-in/CHIPS Alliance is pleased to see the announcement by Antmicro for its development and contribution to the open source hardware community to provide a easy to use plug-in for any version of Yosys to allow import of System Verilog based designs. This development is made possible by the underlying utilization of the Unified Hardware Data Model (UHDM), a key open source data representation upon which EDA applications can be built. Details can be seen here from Antmicro: https://antmicro.Towards UVM: Using Coroutines for Low-overhead Dynamic Scheduling in Verilatorhttps://chipsalliance.org/preview/97/news/towards-uvm-using-coroutines/Tue, 01 Feb 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/towards-uvm-using-coroutines/This post was originally published at Antmicro. +Verilator is a popular open source SystemVerilog simulator and one of the key tools in the ASIC and FPGA ecosystem, which Antmicro is actively using and developing, e.g. by enabling co-simulation with Renode or Cocotb integration. It’s also one of the fastest available HDL simulators, including proprietary alternatives. It achieves that speed by generating highly optimized C++ code from a given hardware design. Verilator does a lot of work at compile-time to make the generated (‘verilated’) code extremely fast, such as ordering statements in an optimal way.SATA Design Implementation on FPGAs with Open Source Toolshttps://chipsalliance.org/preview/97/news/sata-design-implementation-on-fpgas-with-open-source-tools/Wed, 05 Jan 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/sata-design-implementation-on-fpgas-with-open-source-tools/This post was originally published at Antmicro. +Real-world FPGAs designs often require high rate transmission protocols such as PCIe, USB and SATA which rely on high speed transceivers for external communication. These protocols are used to interface with various devices such as graphics cards and storage devices, and many of our clients reach out to us specifically because they need the flexibility, high-throughput and low-latency characteristics of FPGAs. +In particular, for customers that deal with high data volumes (which is very common in video applications), implementing SATA to communicate and transfer data with e.Open Source FPGA Platform for Rowhammer Security Testing in the Data Centerhttps://chipsalliance.org/preview/97/news/open-source-fpga-platform-for-rowhammer-security-testing-in-the-data-center/Mon, 03 Jan 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/open-source-fpga-platform-for-rowhammer-security-testing-in-the-data-center/This post was originally published at Antmicro. +Our work together with Google and the world’s research community on detecting and mitigating the Rowhammer problem in DRAM memories has been proving that the challenge is far from being solved and a lot of systems are still vulnerable. The DDR Rowhammer testing framework that we developed together with an open hardware LPDDR4 DRAM tester board has been used to detect new attack methods such as Half-Double and Blacksmith and all data seems to suggest this more such methods will be discovered with time.Software-driven ASIC Prototyping Using the Open Source SkyWater Shuttlehttps://chipsalliance.org/preview/97/news/software-driven-asic-prototyping-using-the-open-source-skywater-shuttle/Fri, 17 Dec 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/software-driven-asic-prototyping-using-the-open-source-skywater-shuttle/This post was originally published at Antmicro. +The growing cost and complexity of advanced nodes, supply chain issues and demand for silicon independence mean that the ASIC design process is in need of innovation. Antmicro believes the answer to those challenges is bound to come from the software-driven, open source approach which has shaped the Internet and gave rise to modern cloud computing. Applying the methodologies of software design to ASICs is however notoriously viewed as difficult, given the closed nature of many components needed to build chips – tools, IP and process design kits, or PDKs for short, as well as the slow turnaround of manufacturing.Open Source Debayerization Blocks in FPGAhttps://chipsalliance.org/preview/97/news/open-source-debayerization-blocks-in-fpga/Tue, 30 Nov 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/open-source-debayerization-blocks-in-fpga/This post was originally published at Antmicro. +In modern digital camera systems, the captured image undergoes a complex process involving various image signal processing (ISP) techniques to reproduce the observed scene as accurately as possible while preserving bandwidth. On the most basic level, most CCD and CMOS image sensors use the Bayer pattern filter, where 50% of the pixels are green, 25% are red and 25% are blue (corresponding to the increased sensitivity of the human eye to the green color).How Google is Applying Machine Learning to Macro Placementhttps://chipsalliance.org/preview/97/news/how-google-is-applying-machine-learning-to-macro-placement/Wed, 17 Nov 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/how-google-is-applying-machine-learning-to-macro-placement/CHIPS Alliance’s latest Deep Dive Cafe featured an outstanding talk by a Google physical design engineer, Young-Joon Lee, who has a PhD from Georgia Tech, and has been working on machine learning physical design projects for the past two years. +The chip placement problem is a notoriously challenging design problem, and has been explored in the electronic design automation research and development community for years. For those unfamiliar with the problem, it involves finding the optimal placement of physical cells implementing the logical function on a chip image to minimize performance, power, and area of the silicon, which in the end affects the cost of the product.Improving the OpenLane ASIC Build Flow with Open Source SystemVerilog Supporthttps://chipsalliance.org/preview/97/news/improving-the-openlane-asic-build-flow-with-open-source-systemverilog-support/Wed, 27 Oct 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/improving-the-openlane-asic-build-flow-with-open-source-systemverilog-support/This post was originally published at Antmicro. +Open source toolchains are key to building collaborative ecosystems, welcoming to new approaches, opportunistic/focused innovations and niche use cases. The ASIC design domain, especially in the view of the rising tensions around manufacturing and supply chains, are in dire need of a software-driven innovation based on an open source approach. The fledgling open source hardware ecosystem has been energized by the success of RISC-V and is now being vastly expanded to cover the entire ASIC design flow by CHIPS Alliance, and Antmicro has been playing a leadership role in both of these organizations as well as offering commercial engineering and support services to assist with early adoption of open source approaches in hardware.Recap of the Fall 2021 CHIPS Alliance Workshophttps://chipsalliance.org/preview/97/news/recap-of-the-fall-2021-chips-alliance-workshop-rob-mains-chips-alliance/Tue, 26 Oct 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/recap-of-the-fall-2021-chips-alliance-workshop-rob-mains-chips-alliance/We recently held our fall 2021 CHIPS Alliance workshop with nearly 160 attendees present for informative seminars covering a range of topics including porting Android to RISC-V, open source ASIC design and FPGA tooling, and OmniXtend. In case you missed the talks, a replay is available on the CHIPS Alliance YouTube channel. +During the seminar, we had eight exciting technical presentations, including: +Porting Android to RISC-V – Guoyin Chen and Han Mao, Alibaba Practical Adoption of Open Source SystemVerilog Tools – Michael Gielda, Antmicro Chisel and FIRRTL for Next-Generation SoC Designs – Jack Koenig, SiFive OpenFASOC: Automated Open Source Analog and Mixed-Signals IC Generation – Mehdi Saligane, University of Michigan (UMICH) FPGA Tooling Interoperability with the FPGA Interchange Format – Maciej Kurc, Antmicro OmniXtend: Scalability and LPC – Jaco Hofmann, Western Digital Corporation Open Source NVME IP with AI Acceleration – Anand Kulkarni, Western Digital Corporation and Karol Gugala, Antmicro Automating Analog Layout using ALIGN – Sachin Sapatnekar, University of Minnesota (UMN) Each of these talks provided informative, technical details of key aspects of the work underway by members of CHIPS Alliance who are working in an open, collaborative fashion.Open Source DDR Controller Framework for Mitigating Rowhammerhttps://chipsalliance.org/preview/97/news/open-source-ddr-controller-framework-for-mitigating-rowhammer/Tue, 28 Sep 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/open-source-ddr-controller-framework-for-mitigating-rowhammer/This post was originally published at Antmicro. +Rowhammer is a hardware vulnerability that affects DRAM memory chips and can be exploited to modify memory contents, potentially providing root access to the system. It occurs because Dynamic RAM consists of multiple memory cells packed tightly together and specific access patterns can cause unwanted effects that propagate to nearby memory cells and cause bit-flips in cells which have not been accessed by the attacker.Listen to CHIPS Alliance’s Rob Mains on EE Journal’s FishFry Podcasthttps://chipsalliance.org/preview/97/news/listen-to-chips-alliances-rob-mains-on-ee-journals-fishfry-podcast/Fri, 24 Sep 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/listen-to-chips-alliances-rob-mains-on-ee-journals-fishfry-podcast/CHIPS Alliance’s general manager Rob Mains joined Amelia Dalton at EE Journal’s FishFry podcast for a lively discussion about how we’re working to make chip design more accessible. Rob discussed CHIPS Alliance’s work with RISC-V International to develop a new unified memory standard, along with our work to accelerate the design of open source chipsets with the AIB 2.0 specification. The conversation also touched on our efforts to provide better support for SystemVerilog using open source tools and to create a dynamic stratified scheduler implementation in Verilator.SymbiFlow FPGA Interchange Format to Enable Interoperable FPGA Toolinghttps://chipsalliance.org/preview/97/news/symbiflow-fpga-interchange-format-to-enable-interoperable-fpga-tooling/Thu, 09 Sep 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/symbiflow-fpga-interchange-format-to-enable-interoperable-fpga-tooling/This post was originally published at Antmicro. +Field Programmable Gate Arrays (FPGAs) have been around for several decades, but historically development of toolchains targeting specific platforms was done in separate ecosystems and driven by the vendors themselves. Only in recent years, the development of vendor-neutral open source toolchains has revealed the need of having an abstraction layer to describe and define an FPGA architecture through a standard format. +FPGA toolchains are not trivial as they comprise several elements which themselves can be quite complex: roughly speaking, you can divide the process of “compiling” FPGA-targeted code in a Hardware Description Language (HDL) into three stages: synthesis, place and route, bitstream generation.Automatic SystemVerilog Linting in GitHub Actions with Veriblehttps://chipsalliance.org/preview/97/news/automatic-systemverilog-linting-in-github-actions-with-verible/Wed, 08 Sep 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/automatic-systemverilog-linting-in-github-actions-with-verible/This post was originally published at Antmicro. +With the recent advances in open source ASIC development tools such as Verible, it has become easier to automate tasks and boost developer productivity. The Verible linter is a static code analysis tool that has been helping us and our collaborators to spot and fix stylistic errors and bugs in SystemVerilog code. +CI/CD for smaller backlog and better test reliability As part of our work within the newly established CHIPS Alliance SystemVerilog subgroup, Antmicro has made further steps to facilitate SystemVerilog workflows with Verible, by providing an easy to use Verible Linter GitHub Action.Open Source Custom GitHub Actions Runners with Google Cloud and Terraformhttps://chipsalliance.org/preview/97/news/open-source-custom-github-actions-runners-with-google-cloud-and-terraform/Thu, 02 Sep 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/open-source-custom-github-actions-runners-with-google-cloud-and-terraform/This post was originally published at Antmicro. +In order to fulfill our internal and our customers’ needs, we have developed and successfully deployed an open source custom GitHub Actions runner that allows us to mix the GitHub default and your custom hardware and software. The runner software itself operates within a Google Cloud Platform project, spawns Compute Engine instances and orchestrates the build, providing a number of interesting advantages that were needed in our ASIC and FPGA-related work.Open Source SystemVerilog Tools in ASIC Designhttps://chipsalliance.org/preview/97/news/open-source-systemverilog-tools-in-asic-design/Wed, 04 Aug 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/open-source-systemverilog-tools-in-asic-design/This post was originally published at Antmicro. +Open source hardware is undeniably undergoing a renaissance whose origin can be traced to the establishment of RISC-V Foundation (later redubbed RISC-V International). The open ISA and ecosystem, in which Antmicro participated since the beginning as a Founding member, has sparked many open source CPU implementations but also new tooling, methodologies and trends which allow for more collaborative and software driven design. +Many of those broader open hardware activities have been finding a home in CHIPS Alliance, an open source organization we participate in as a Platinum member alongside Google, Intel, Western Digital, SiFive and others, whose goals explicitly encompass:Advanced Co-simulation with Renode and Verilator: PolarFire SoC and FastVDMAhttps://chipsalliance.org/preview/97/news/renode-and-verilator-polarfire-soc-and-fastvdma/Tue, 20 Jul 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/renode-and-verilator-polarfire-soc-and-fastvdma/This post was originally published at Antmicro. +Co-simulating HDL has been possible in Renode since the 1.7.1 release, but the functionality – critical for hardware/software co-development as well as FPGA use cases – is constantly evolving based on the needs of our customers like Google and Microchip as well as our work in open source groups including CHIPS Alliance and RISC-V International. To quickly recap, by co-simulation we mean a scenario where a part of the system is simulated in Renode but some specific peripheral or subsystem is simulated directly from HDL, e.Progress on Building Open Source Infrastructure for System Veriloghttps://chipsalliance.org/preview/97/news/open-source-infrastructure-for-system-verilog/Tue, 20 Jul 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/open-source-infrastructure-for-system-verilog/SystemVerilog is a rich hardware design description and verification language that is seeing increased usage in industry. In the second Deep Dive Cafe Talk by CHIPS Alliance on July 20, Henner Zeller, who is an software developer with Google, provided an excellent in depth technical talk on building out an open source tooling ecosystem around SystemVerilog to provide a common framework that can be used by both functional simulation applications as well as logic synthesis.What You Need to Know About Verilator Open Source Toolinghttps://chipsalliance.org/preview/97/news/what-you-need-to-know-about-verilator-open-source-tooling/Mon, 19 Jul 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/what-you-need-to-know-about-verilator-open-source-tooling/Verilator is a high performance, open source functional simulator that has gained tremendous popularity in its usage and adoption in the verification of chip design. The ASIC development community has widely embraced Verilator as an effective, often even superior alternative to proprietary solutions, and it is now the standard approach in RISC-V CPU design as the community has worked to provide Verilator simulation capabilities out of the box. CHIPS Alliance and RISC-V leaders Antmicro and Western Digital have been collaborating to make Verilator even more useful for ASIC design purposes, working towards supporting industry-standard verification methods in a completely open source flow.Efabless Launches chipIgnite with SkyWater to Bring Chip Creation to the Masseshttps://chipsalliance.org/preview/97/news/efabless-launches-chipignite/Thu, 20 May 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/efabless-launches-chipignite/Program includes a pre-designed carrier chip and automated open source design flow from Efabless SkyWater’s open source SKY130 process is the first node to be used to fabricate chips for the program Initiative removes access barriers by significantly reducing cost and the need for deep semiconductor experience to design chips Efabless, a community chip creation platform, today announced the launch of its new chipIgnite program to bring chip design and fabrication to the masses and a collaboration with SkyWater Technology for the first node supported in the program.Antmicro’s ARVSOM RISC-V Module Announcedhttps://chipsalliance.org/preview/97/news/antmicros-arvsom-risc-v-module-announced/Fri, 14 May 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/antmicros-arvsom-risc-v-module-announced/This post was originally published at Antmicro. +We are excited to announce the ARVSOM – Antmicro’s fully open source, RISC-V-based system-on-module featuring the StarFive 71×0 SoC. Using the RISC-V architecture, which Antmicro has been heavily involved in since the early days as a Founding Member of RISC-V International, the SoM is going to enable unprecedented openness, reusability and functionality across different verticals. +We are excited to announce the ARVSOM – Antmicro’s fully open source, RISC-V-based system-on-module featuring the StarFive 71×0 SoC.Dynamic Scheduling in Verilator – Milestone Towards Open Source UVMhttps://chipsalliance.org/preview/97/news/dynamic-scheduling-in-verilator/Thu, 13 May 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/dynamic-scheduling-in-verilator/This post was originally published at Antmicro. +UVM is a verification methodology traditionally used in chip design which has historically been missing from the open source landscape of verification-focused tooling. While new, open source approaches to verification have emerged that include the excellent Python-based Cocotb (that we also use and support) maintained by FOSSi Foundation, not everyone can easily adopt it, especially in long-running projects and existing codebases that use a different verification approach.New MPW-TWO Program Will Provide Fabrication For Fully Open Source Projectshttps://chipsalliance.org/preview/97/news/new-mpw-two-program/Thu, 29 Apr 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/new-mpw-two-program/CHIPS Alliance is excited to announce that the hardware development community can submit their open source design projects to Efabless.com for space on their forthcoming shuttle. This opportunity comes after the success of having 40 submissions for the MPW-ONE shuttle; 60% of those designs were submitted by first-time ASIC designers. MPW-TWO is the second Open MPW Shuttle providing fabrication for fully open-source projects using the SkyWater Open Source PDK announced by Google and SkyWater.Modular, Open-source FPGA-based LPDDR4 Test Platformhttps://chipsalliance.org/preview/97/news/modular-open-source-fpga-based-lpddr4-test-platform/Fri, 09 Apr 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/modular-open-source-fpga-based-lpddr4-test-platform/This post was originally published at Antmicro. +The flexibility of FPGAs makes them an excellent choice not only for parallel processing applications but also for research and experimentation in a range of technological areas. +We often provide our customers with flexible R&D platforms that can be easily adapted to changing requirements and new use cases as a result of our practice of using open source hardware, software, FPGA IP and tooling.GitHub Actions Self-hosted Runners, Build Event Server and Google Cloudhttps://chipsalliance.org/preview/97/news/github-actions-self-hosted-runners-build-event-server-and-google-cloud/Tue, 16 Mar 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/github-actions-self-hosted-runners-build-event-server-and-google-cloud/This post was originally published at Antmicro. +Continuous Integration and smart lifecycle management are key for high-tech product development, which is often a complex and multi-faceted process that requires automation to be efficient and failure-proof. At Antmicro, we’ve been creating various open source cloud and hybrid cloud solutions for our customers, helping them to encapsulate the complexity of their software stack. Lots of those projects cross the hardware/software boundary and involve a mix of open source and proprietary code, which means that fine-grained control of the CI setups are needed to make them work.Goings-on in the FuseSoC Project and Other Open Source Silicon Related Newshttps://chipsalliance.org/preview/97/news/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/Tue, 23 Feb 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/This post was originally published by Olof Kindgren +FOSSi Fever 2020 2020 was a year with a lot of bad news and so it feels slightly strange to cheerfully write about a very specific topic in the light of this. But there will always be good and bad things happening in the world. So let’s keep fighting the bad things and for now take look at what happened last year within the amazing world of open source silicon.High-Throughput Open Source PCIe on Xilinx VU19P-Based ASIC Prototyping Platformhttps://chipsalliance.org/preview/97/news/high-throughput-open-source-pcie/Thu, 11 Feb 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/high-throughput-open-source-pcie/This post was originally published at Antmicro. +In our daily work at Antmicro we use FPGAs primarily for their flexibility and parallel data processing capabilities that make them remarkably effective in advanced vision and audio processing systems involving high-speed interfaces such as PCI Express, USB, Ethernet, HDMI, SDI etc. that we develop and integrate as open source, portable building blocks. Many of our customers, however, use FPGAs also in a different context, namely for designing ASICs, which is a highly specialized market that typically involves large FPGAs, proprietary flows and IP.Enabling Open Source Ibex Synthesis and Simulation in Verilator/Yosys via UHDM/Sureloghttps://chipsalliance.org/preview/97/news/ibex-synthesis-and-simulation/Thu, 07 Jan 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/ibex-synthesis-and-simulation/This post was originally published at Antmicro. +Throughout 2020 we were hard at work developing proper, portable SystemVerilog support for multiple open-source FPGA and ASIC design tools used by us and our customers, most notably Yosys and Verilator. We strongly believe that the support is a necessary step in building a collaborative ecosystem and scalable and reproducible CIs, especially publicly accessible ones that are common in multi-organization projects such as OpenTitan and CHIPS Alliance.The CHIPS Alliance Workshop: 10 Talks From Industry Leaders, All For Freehttps://chipsalliance.org/preview/97/news/the-chips-alliance-workshop-overview/Tue, 15 Sep 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/the-chips-alliance-workshop-overview/Mark your calendars! The CHIPS Alliance Workshop is coming up on Thursday, Sept. 17 from 11 a.m. to 2 p.m. PT. This free, virtual event will feature talks from industry leaders including Antmicro, Efabless, Google, Intel, Mentor, Metrics, OpenROAD, QuickLogic, SiFive, UC Berkeley and Western Digital. +The CHIPS Alliance Workshop will fit 10 sessions into three hours for a jam-packed event covering a range of interesting topics in the open source community.CHIPS SweRV Cores and the Open Tools Ecosystemhttps://chipsalliance.org/preview/97/news/chips-swerv-cores-and-the-open-tools-ecosystem/Fri, 10 Jul 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/chips-swerv-cores-and-the-open-tools-ecosystem/This post was originally published at Antmicro. +Antmicro’s open source work spans all parts of the computing stack, from software and AI, to PCBs, FPGAs and, most recently, custom silicon. We connect those areas with an overarching vision of open source tooling and methodology, and a software-driven approach that allows us to move fast and build future-centric solutions. Our partners and customers, many of whom work with us also in the context of organizations such as CHIPS Alliance and RISC-V, share our approach to developing open systems.Open Source Process Design Kit from Google, SkyWater Technologies and Partners Releasedhttps://chipsalliance.org/preview/97/news/open-source-process-design-kit-from-google-skywater-technologies-and-partners-released/Mon, 29 Jun 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/open-source-process-design-kit-from-google-skywater-technologies-and-partners-released/This post was originally published at Antmicro. +The ASIC design and manufacturing flow has for a long time been dominated by proprietary tools and processes. The growing complexity of chip-building has been reinforcing the claim that “hardware is too hard to be open source”, as the cost and time needed to build an ASIC have kept small, more agile, software-oriented teams and individuals away from the hardware domain. Thus, ASICs have not been able to benefit from the enthusiasm and collaboration which have been fuelling software development for decades now.Semiconductor Engineering: About The SweRV Core EH2https://chipsalliance.org/preview/97/news/semiconductor-engineering-swerv-core-eh2/Thu, 25 Jun 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/semiconductor-engineering-swerv-core-eh2/In mid-May, CHIPS Alliance announced the open sourcing of the SweRV Core EH2 and SweRV Core EL2 designed by Western Digital. These cores, as well as the earlier EH1, are now supported by Codasip’s SweRV Core Support Package which provides all of the components necessary to design, implement, test, and write software for a SweRV Core-based system-on-chip. But what is SweRV Core EH2? +The SweRV Core EH1 was the first to be released through CHIPS Alliance and was a core aimed at high-end embedded applications including Western Digital’s flash controllers and SSDs.QuickLogic Announces Open Reconfigurable Computing Initiativehttps://chipsalliance.org/preview/97/news/quicklogic-announces-open-reconfigurable-computing-initiative/Mon, 22 Jun 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/quicklogic-announces-open-reconfigurable-computing-initiative/Originally issued by QuickLogic, the following press release announces the QORC initiative including the world’s first vendor-supported open FPGA toolchain using SymbiFlow, and describes the contribution of CHIPS Alliance members Antmicro and Google. +QuickLogic Open Reconfigurable Computing (QORC) initiative, developed by Antmicro in collaboration with QuickLogic and Google, broadens access to company’s FPGA technology and eFPGA IP for all embedded systems developers First Programmable Logic Company to Embrace Open Source FPGA Development Tools San Jose, CA – June 16, 2020 – QuickLogic Corporation (NASDAQ: QUIK), a developer of ultra-low power multi-core voice-enabled SoCs, embedded FPGA IP, and Endpoint AI solutions, today announced its ground breaking QORC (QuickLogic Open Reconfigurable Computing) initiative, making it the first programmable logic vendor to actively embrace a fully open source suite of development tools for its FPGA devices and eFPGA technology.A Look Back at the CHIPS Alliance’s Incredible Growthhttps://chipsalliance.org/preview/97/news/chips-alliances-incredible-growth/Mon, 08 Jun 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/chips-alliances-incredible-growth/It’s been just over a year since the CHIPS Alliance was founded with the mission of making open source hardware development more accessible to companies, universities and individuals. We’re working to bring the dynamics of the hugely successful open source software development model into ASIC design, building on the groundwork set by the RISC-V community. Progress over the past year is detailed in our Annual Report. +CHIPS Alliance is focused on expanding on this open hardware vision by:SystemVerilog Linting and Formatting with FuseSoC – Verible Integrationhttps://chipsalliance.org/preview/97/news/systemverilog-linting-and-formatting-with-fusesoc-verible-integration/Thu, 07 May 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/systemverilog-linting-and-formatting-with-fusesoc-verible-integration/This post was originally published at Antmicro. +Although new ASIC design methodologies and tools such as Chisel are on the rise, most ASIC projects still use SystemVerilog, the support of which in open source tools has traditionally lagged behind. This is unfortunate, as using proprietary alternatives with the CI systems of open source projects is neither scalable due to licensing costs and restrictions nor simple due to the need for license management and obfuscation.Open Source USB test suitehttps://chipsalliance.org/preview/97/news/open-source-usb-test-suite/Fri, 06 Dec 2019 00:00:00 +0000https://chipsalliance.org/preview/97/news/open-source-usb-test-suite/Note: the open source test suite will be demonstrated at the CHIPS Alliance booth at the RISC-V Summit 2019 – join us Dec 10-12 in the San Jose Convention Center! +USB is often a daunting topic for developers, and implementing support for it from scratch is a time consuming task. When the expected result is more complicated than a USB-to-serial bridge, the solution would be to either use a hardware transceiver or, especially for older USB standards, use an open source core to implement one directly in the FPGA fabric.CHIPS Alliance featured in All About Circuitshttps://chipsalliance.org/preview/97/news/chips-alliance-featured-in-all-about-circuits/Wed, 10 Jul 2019 00:00:00 +0000https://chipsalliance.org/preview/97/news/chips-alliance-featured-in-all-about-circuits/All About Circuits recently featured an interview with Ted Marena, Yunsup Lee, Amir Salek, and Zvonimir Bandic, discussing the formation of the CHIPS Alliance, its relationship to the RISC-V Foundation, the CHIPS Alliance’s open development model, and initial open source contributions. +Read the article.Podcast – Embedded Computing Design – Five Minutes With… Zvonimir Bandic, Chairman, Chips Alliancehttps://chipsalliance.org/preview/97/news/podcast-embedded-computing-design-five-minutes-with-zvonimir-bandic-chairman-chips-alliance/Thu, 23 May 2019 00:00:00 +0000https://chipsalliance.org/preview/97/news/podcast-embedded-computing-design-five-minutes-with-zvonimir-bandic-chairman-chips-alliance/Zvonimir Bandic wears lots of hats. He is the Senior Director of Hardware Platforms for Western Digital; he’s a Member of the Board of Directors for the RISC-V Foundation, and he’s the Chairman of the Chips Alliance. It’s that latter capacity that we discussed in this week’s Five Minutes With…discussion. The organization focuses on things like open source hardware, software tools, RTL development, and related topics. They will be holding their inaugural workshop in just a few weeks, so it was timely to understand the purpose of the Alliance. \ No newline at end of file diff --git a/preview/97/categories/blog/page/1/index.html b/preview/97/categories/blog/page/1/index.html new file mode 100644 index 000000000..4901d331a --- /dev/null +++ b/preview/97/categories/blog/page/1/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/categories/blog/ \ No newline at end of file diff --git a/preview/97/categories/blog/page/2/index.html b/preview/97/categories/blog/page/2/index.html new file mode 100644 index 000000000..27b366361 --- /dev/null +++ b/preview/97/categories/blog/page/2/index.html @@ -0,0 +1,477 @@ + + + + + + + + + + + + + + +Blog | CHIPS Alliance + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+

Blog

+

+
+
+
+
+
+
+
+
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ + +
+ +
+ +
+ +
+ + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/preview/97/categories/blog/page/3/index.html b/preview/97/categories/blog/page/3/index.html new file mode 100644 index 000000000..5192aece6 --- /dev/null +++ b/preview/97/categories/blog/page/3/index.html @@ -0,0 +1,477 @@ + + + + + + + + + + + + + + +Blog | CHIPS Alliance + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+

Blog

+

+
+
+
+
+
+
+
+
+ +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/preview/97/categories/blog/page/4/index.html b/preview/97/categories/blog/page/4/index.html new file mode 100644 index 000000000..9be68b289 --- /dev/null +++ b/preview/97/categories/blog/page/4/index.html @@ -0,0 +1,413 @@ + + + + + + + + + + + + + + +Blog | CHIPS Alliance + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+

Blog

+

+
+
+
+
+
+
+
+
+
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+
+ +
+ + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/preview/97/categories/index.html b/preview/97/categories/index.html new file mode 100644 index 000000000..7298c4bb6 --- /dev/null +++ b/preview/97/categories/index.html @@ -0,0 +1,264 @@ + + + + + + + + + + + + + + +Categories | CHIPS Alliance + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+

Categories

+

+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + +
+Blog +
+
+
+
+
+ +
+
+
+
+ +
+
+ + +
+Reports +
+
+
+
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/preview/97/categories/index.xml b/preview/97/categories/index.xml new file mode 100644 index 000000000..99bb96505 --- /dev/null +++ b/preview/97/categories/index.xml @@ -0,0 +1 @@ +Categories on CHIPS Alliancehttps://chipsalliance.org/preview/97/categories/Recent content in Categories on CHIPS AllianceHugo -- gohugo.ioen-usFri, 29 Sep 2023 00:00:00 +0000Bloghttps://chipsalliance.org/preview/97/categories/blog/Fri, 29 Sep 2023 00:00:00 +0000https://chipsalliance.org/preview/97/categories/blog/Announcementshttps://chipsalliance.org/preview/97/categories/announcements/Tue, 13 Dec 2022 00:00:00 +0000https://chipsalliance.org/preview/97/categories/announcements/Reportshttps://chipsalliance.org/preview/97/categories/reports/Sat, 01 Jan 2022 00:00:00 +0000https://chipsalliance.org/preview/97/categories/reports/ \ No newline at end of file diff --git a/preview/97/categories/page/1/index.html b/preview/97/categories/page/1/index.html new file mode 100644 index 000000000..99d5476a1 --- /dev/null +++ b/preview/97/categories/page/1/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/categories/ \ No newline at end of file diff --git a/preview/97/categories/reports/index.html b/preview/97/categories/reports/index.html new file mode 100644 index 000000000..cdfdbab30 --- /dev/null +++ b/preview/97/categories/reports/index.html @@ -0,0 +1,253 @@ + + + + + + + + + + + + + + +Reports | CHIPS Alliance + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+

Reports

+

+
+
+
+
+
+
+
+
+
+ +
+
+ +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/preview/97/categories/reports/index.xml b/preview/97/categories/reports/index.xml new file mode 100644 index 000000000..91d81330c --- /dev/null +++ b/preview/97/categories/reports/index.xml @@ -0,0 +1,3 @@ +Reports on CHIPS Alliancehttps://chipsalliance.org/preview/97/categories/reports/Recent content in Reports on CHIPS AllianceHugo -- gohugo.ioen-usSat, 01 Jan 2022 00:00:00 +00002021 Annual Reporthttps://chipsalliance.org/preview/97/news/2021-annual-report/Sat, 01 Jan 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/2021-annual-report/CHIPS Alliance was founded in March 2019 to design high-quality, open source hardware register transfer level (RTL) and develop open source hardware and software design tools. By creating an open and collaborative environment, companies and organizations can develop innovative, cost effective hardware designs optimized for the requirements of today’s silicon devices and FPGAs. +CHIPS Alliance was incorporated by four organizations which wanted to make open source silicon a reality. Esperanto, Google, SiFive and Western Digital were the founding members.2020 Annual Reporthttps://chipsalliance.org/preview/97/news/2020-annual-report/Fri, 01 Jan 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/2020-annual-report/CHIPS Alliance was founded in March 2019 to design high-quality, open source hardware register transfer level (RTL) and develop open source hardware and software design tools. By creating an open and collaborative environment, companies and organizations can develop innovative, cost effective hardware designs optimized for the requirements of today’s silicon devices and FPGAs. +CHIPS Alliance was incorporated by four organizations which wanted to make open source silicon a reality. Esperanto, Google, SiFive and Western Digital were the founding members. \ No newline at end of file diff --git a/preview/97/categories/reports/page/1/index.html b/preview/97/categories/reports/page/1/index.html new file mode 100644 index 000000000..1b2ac5e31 --- /dev/null +++ b/preview/97/categories/reports/page/1/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/categories/reports/ \ No newline at end of file diff --git a/preview/97/chips-alliance-2020-annual-report/index.html b/preview/97/chips-alliance-2020-annual-report/index.html new file mode 100644 index 000000000..0b9f39c28 --- /dev/null +++ b/preview/97/chips-alliance-2020-annual-report/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/2020-annual-report/ \ No newline at end of file diff --git a/preview/97/events/chips-2023-fall-event/index.html b/preview/97/events/chips-2023-fall-event/index.html new file mode 100644 index 000000000..a024da0af --- /dev/null +++ b/preview/97/events/chips-2023-fall-event/index.html @@ -0,0 +1,241 @@ + + + + + + + + + + + + + + +CHIPS Technology Update - November 2023 | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+

CHIPS Technology Update - November 2023

+

+
+
+
+
+
+
+banner-image +
+shape +
+
+
+
+
+
+
+
+
+
+
+

Join us for the next Technology Update featuring informative, technical talks on open source hardware collaborative +development. Hosted by Google in Sunnyvale, California, the event includes speakers from Google, Antmicro, Open Compute +Project, and others. This event is free to attend, however, registration is required.

+

Register and view +schedule.

+
+
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/preview/97/events/chips-biannual-technology-update-2022-1/index.html b/preview/97/events/chips-biannual-technology-update-2022-1/index.html new file mode 100644 index 000000000..a0c1b0916 --- /dev/null +++ b/preview/97/events/chips-biannual-technology-update-2022-1/index.html @@ -0,0 +1,263 @@ + + + + + + + + + + + + + + +CHIPS Alliance First 2022 Biannual Technology Update | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+

CHIPS Alliance First 2022 Biannual Technology Update

+

+
+
+
+
+
+
+banner-image +
+shape +
+
+
+
+
+
+
+
+
+
+
+

Watch the Replay

+

Check out the presentations below:

+
    +
  • Introduction – Rob Mains, CHIPS Alliance
  • +
  • Updates of Android on RISC-V – Han Mao, Alibaba +(slides)
  • +
  • Chisel and FIRRTL for Next-Generation SoC Designs– Jack Koenig, SiFive +(slides)
  • +
  • Introducting the F4PGA Workgroup– Michael Gielda, Karol Gugala, Antmicro +(slides)
  • +
  • Chiplet IP Protocol– Dave Kehlet, Intel +(slides)
  • +
  • NVMe Computational Storage Processor for Edge & Datacenter Applications, Anand Kulkarni, Wester Digital +(slides)
  • +
  • Towards Open Source Models of Cryogenic CMOS : Brian Hoskins and Pragya Shrestha, NIST +(slides)
  • +
  • Latest Statistics from Google’s No Cost Shuttle Program : Tim Ansell, Google : +(slides)
  • +
+

Watch the Replay

+
+
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/preview/97/events/chips-biannual-technology-update-2022-2/index.html b/preview/97/events/chips-biannual-technology-update-2022-2/index.html new file mode 100644 index 000000000..e7bbd31c1 --- /dev/null +++ b/preview/97/events/chips-biannual-technology-update-2022-2/index.html @@ -0,0 +1,252 @@ + + + + + + + + + + + + + + +CHIPS Alliance Fall Workshop 2022 | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+

CHIPS Alliance Fall Workshop 2022

+

+
+
+
+
+
+
+banner-image +
+shape +
+
+
+
+
+
+
+
+
+
+
+

Check out the presentations below, and watch the replay here

+
    +
  • Caliptra – Bryan Kelly, Microsoft
  • +
  • SBOM and HBOM / Zephyr - Kate Stewart, Linux Foundation
  • +
  • F4PGA tools in the classroom - Mike Wirthlin, Jeff Goeders, BYU (slides)
  • +
  • Datasets for Machine Learning for Chip Design - Aman Arora, UT-Austin (slides)
  • +
  • Open source SystemVerilog / UVM support and scaling for large designs in Verilator 5.0 and beyond, Michael Gielda, Antmicro (slides)
  • +
  • Lowering barriers to chip design using OpenFASOC, AWG activities and tapeouts, Mehdi Saligane, University of Michigan (slides)
  • +
  • Global Foundries Open PDK, Karthik Chandrasekaran, Global Foundries
  • +
  • Caravel SOC Learnings, Mohammed Kassem, Efabless, (slides)
  • +
  • Intel Compiler for SystemC, Mikhail Moiseev, Intel (slides)
  • +
  • Renode co-simulation for Caravel, Peter Gielda, Antmicro (slides)
  • +
+

Watch the Replay

+
+
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/preview/97/events/chips-biannual-technology-update-2022_13_07/index.html b/preview/97/events/chips-biannual-technology-update-2022_13_07/index.html new file mode 100644 index 000000000..f42727b9a --- /dev/null +++ b/preview/97/events/chips-biannual-technology-update-2022_13_07/index.html @@ -0,0 +1,247 @@ + + + + + + + + + + + + + + +CHIPS Alliance Summer Workshop 2023 | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+

CHIPS Alliance Summer Workshop 2023

+

+
+
+
+
+
+
+banner-image +
+shape +
+
+
+
+
+
+
+
+
+
+
+

Check out the presentations below, and watch the replay here

+
    +
  • Caliptra & VeeR continuous integration ecosystem – Michael Gielda, Antmicro (slides)
  • +
  • Caliptra: Validating firmware against multiple hardware models in CI - Kor Nielsen, Google
  • +
  • OmniXtend: coherent scaleout over commodity fabrics - Jaco Hoffman, Westen Digital (slides)
  • +
  • CHISEL 3 and Beyond - Jack Koenig, SiFive (slides)
  • +
  • Single Source library for digital design and virtual prototyping - Mikhail Moiseev, Intel (slides)
  • +
  • Building Confidence in Open IC Design using OpenFASOC - Mehdi Saligane, University of Michigan (slides)
  • +
+

Watch the Replay

+
+
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/preview/97/events/chips_ocp_2023/index.html b/preview/97/events/chips_ocp_2023/index.html new file mode 100644 index 000000000..014627f7f --- /dev/null +++ b/preview/97/events/chips_ocp_2023/index.html @@ -0,0 +1,242 @@ + + + + + + + + + + + + + + +CHIPS Alliance at the Open Compute Project Global Summit | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+

CHIPS Alliance at the Open Compute Project Global Summit

+

+
+
+
+
+
+
+banner-image +
+shape +
+
+
+
+
+
+
+
+
+
+
+

Please join us at the Open Compute Project Global Summit to hear about the Caliptra Root of Trust collaborative project.

+

Be sure to come visit us at booth C37 hosted by the Linux Foundation at the event.

+

Details here

+
+
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/preview/97/events/fall-workshop-2021/index.html b/preview/97/events/fall-workshop-2021/index.html new file mode 100644 index 000000000..a6ea31e00 --- /dev/null +++ b/preview/97/events/fall-workshop-2021/index.html @@ -0,0 +1,258 @@ + + + + + + + + + + + + + + +CHIPS Alliance Fall Workshop 2021 | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+

CHIPS Alliance Fall Workshop 2021

+

+
+
+
+
+
+
+banner-image +
+shape +
+
+
+
+
+
+
+
+
+
+
+

Check out the presentations below, and watch the replay here

+
    +
  • Porting Android to RISC-V Alibaba – Guoyin Chen and Han Mao, Alibaba (replay) +(slides)
  • +
  • Practical Adoption of Open Source System Verilog Tools – Michael Gielda, Antmicro (replay) +(slides)
  • +
  • Chisel and FIRRTL for Next-Generation SoC Designs– Jack Koenig, SiFive (replay) +(slides)
  • +
  • OpenFASOC: Automated Open Source Analog and Mixed-Signals IC Generation – Mehdi Saligane, University of Michigan (UMICH) (replay) +(slides)
  • +
  • FPGA Tooling Interoperability with the FPGA Interchange Format – Maciej Kurc, Antmicro (replay) +(slides)
  • +
  • OmniXtend: Scalability and LPC – Jaco Hofmann, Western Digital Corporation (replay) +(slides)
  • +
  • Open Source NVME IP with AI Acceleration – Anand Kulkarni, Western Digital Corporation and Karol Gugala, Antmicro (replay) +(slides)
  • +
  • Automating Analog Layout using ALIGN – Sachin Sapatnekar, University of Minnesota (UMN) (replay) +(slides)
  • +
+

Watch the Replay

+
+
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/preview/97/events/index.html b/preview/97/events/index.html new file mode 100644 index 000000000..579a81d66 --- /dev/null +++ b/preview/97/events/index.html @@ -0,0 +1,398 @@ + + + + + + + + + + + + + + +Events | CHIPS Alliance + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+

Events

+

Join CHIPS Alliance workshops and meetings.

+
+
+
+
+
+
+banner-image +
+shape +
+
+
+
+
+
+
+
+
+
+
+

Upcoming Events

+
+
+

+CHIPS Technology Update - November 2023 +

+ +

Join us for the next Technology Update featuring informative, technical talks on open source hardware collaborative +development. Hosted by Google in Sunnyvale, California, the event includes speakers from Google, Antmicro, Open Compute +Project, and others. This event is free to attend, however, registration is required.

+

Register and view +schedule.

+
+
+
+
+

+RISC-V Summit North America 2023 +

+ +

Please join us at the RISC-V North American Summit November 7 - 8

+

Be sure to come visit us at the CHIPS Alliance booth at the event.

+

Details here:

+
+
+

Past Events

+
+
+

+CHIPS Alliance at the Open Compute Project Global Summit +

+ +

Please join us at the Open Compute Project Global Summit to hear about the Caliptra Root of Trust collaborative project.

+

Be sure to come visit us at booth C37 hosted by the Linux Foundation at the event.

+

Details here

+
+
+
+
+

+CHIPS Alliance Summer Workshop 2023 +

+ +

Check out the presentations below, and watch the replay here

+
    +
  • Caliptra & VeeR continuous integration ecosystem – Michael Gielda, Antmicro (slides)
  • +
  • Caliptra: Validating firmware against multiple hardware models in CI - Kor Nielsen, Google
  • +
  • OmniXtend: coherent scaleout over commodity fabrics - Jaco Hoffman, Westen Digital (slides)
  • +
  • CHISEL 3 and Beyond - Jack Koenig, SiFive (slides)
  • +
  • Single Source library for digital design and virtual prototyping - Mikhail Moiseev, Intel (slides)
  • +
  • Building Confidence in Open IC Design using OpenFASOC - Mehdi Saligane, University of Michigan (slides)
  • +
+

Watch the Replay

+
+
+
+
+

+CHIPS Alliance Fall Workshop 2022 +

+ +

Check out the presentations below, and watch the replay here

+
    +
  • Caliptra – Bryan Kelly, Microsoft
  • +
  • SBOM and HBOM / Zephyr - Kate Stewart, Linux Foundation
  • +
  • F4PGA tools in the classroom - Mike Wirthlin, Jeff Goeders, BYU (slides)
  • +
  • Datasets for Machine Learning for Chip Design - Aman Arora, UT-Austin (slides)
  • +
  • Open source SystemVerilog / UVM support and scaling for large designs in Verilator 5.0 and beyond, Michael Gielda, Antmicro (slides)
  • +
  • Lowering barriers to chip design using OpenFASOC, AWG activities and tapeouts, Mehdi Saligane, University of Michigan (slides)
  • +
  • Global Foundries Open PDK, Karthik Chandrasekaran, Global Foundries
  • +
  • Caravel SOC Learnings, Mohammed Kassem, Efabless, (slides)
  • +
  • Intel Compiler for SystemC, Mikhail Moiseev, Intel (slides)
  • +
  • Renode co-simulation for Caravel, Peter Gielda, Antmicro (slides)
  • +
+

Watch the Replay

+
+
+
+
+

+CHIPS Alliance First 2022 Biannual Technology Update +

+ +

Watch the Replay

+

Check out the presentations below:

+
    +
  • Introduction – Rob Mains, CHIPS Alliance
  • +
  • Updates of Android on RISC-V – Han Mao, Alibaba +(slides)
  • +
  • Chisel and FIRRTL for Next-Generation SoC Designs– Jack Koenig, SiFive +(slides)
  • +
  • Introducting the F4PGA Workgroup– Michael Gielda, Karol Gugala, Antmicro +(slides)
  • +
  • Chiplet IP Protocol– Dave Kehlet, Intel +(slides)
  • +
  • NVMe Computational Storage Processor for Edge & Datacenter Applications, Anand Kulkarni, Wester Digital +(slides)
  • +
  • Towards Open Source Models of Cryogenic CMOS : Brian Hoskins and Pragya Shrestha, NIST +(slides)
  • +
  • Latest Statistics from Google’s No Cost Shuttle Program : Tim Ansell, Google : +(slides)
  • +
+

Watch the Replay

+
+
+
+
+

+CHIPS Alliance Fall Workshop 2021 +

+ +

Check out the presentations below, and watch the replay here

+
    +
  • Porting Android to RISC-V Alibaba – Guoyin Chen and Han Mao, Alibaba (replay) +(slides)
  • +
  • Practical Adoption of Open Source System Verilog Tools – Michael Gielda, Antmicro (replay) +(slides)
  • +
  • Chisel and FIRRTL for Next-Generation SoC Designs– Jack Koenig, SiFive (replay) +(slides)
  • +
  • OpenFASOC: Automated Open Source Analog and Mixed-Signals IC Generation – Mehdi Saligane, University of Michigan (UMICH) (replay) +(slides)
  • +
  • FPGA Tooling Interoperability with the FPGA Interchange Format – Maciej Kurc, Antmicro (replay) +(slides)
  • +
  • OmniXtend: Scalability and LPC – Jaco Hofmann, Western Digital Corporation (replay) +(slides)
  • +
  • Open Source NVME IP with AI Acceleration – Anand Kulkarni, Western Digital Corporation and Karol Gugala, Antmicro (replay) +(slides)
  • +
  • Automating Analog Layout using ALIGN – Sachin Sapatnekar, University of Minnesota (UMN) (replay) +(slides)
  • +
+

Watch the Replay

+
+
+
+
+

+CHIPS Alliance Spring Workshop 2021 +

+ +

Check out the presentations below, and watch the replay here

+
    +
  • Chipyard - Bora Nikolic, UC Berkeley (slides)
  • +
  • RISC-V DV Workgroup Updates Tao Liu / Matt Cockrell, Google (slides)
  • +
  • Open Source Flows in ASIC & FPGA Development Michael Gielda, Antmicro
  • +
  • Open-Source AIB Chiplet Ecosystem David Kehlet, Intel (slides)
  • +
  • OmniXtend Milestone Updates Dejan Vucinic, Western Digital (slides)
  • +
  • Chisel advances for next-gen SOC Designs Jack Koenig, SiFive (slides)
  • +
  • Codasip SweRV Core Support Package in a Nutshell Zdenek Prikyl, Codasip (slides)
  • +
  • An Introduction to the OpenROAD project Andrew Kahng / Tom Spyrou, OpenROAD (slides)
  • +
  • Open Source FPGA Tooling Brian Faith, Quicklogic (slides)
  • +
  • Fully Open Silicon Down to the Transistor Tim Ansell, Google (slides)
  • +
+

Watch the Replay

+
+
+
+
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/preview/97/events/index.xml b/preview/97/events/index.xml new file mode 100644 index 000000000..90540c60f --- /dev/null +++ b/preview/97/events/index.xml @@ -0,0 +1,12 @@ +Events on CHIPS Alliancehttps://chipsalliance.org/preview/97/events/Recent content in Events on CHIPS AllianceHugo -- gohugo.ioen-usThu, 09 Nov 2023 00:00:00 +0000CHIPS Technology Update - November 2023https://chipsalliance.org/preview/97/events/chips-2023-fall-event/Thu, 09 Nov 2023 00:00:00 +0000https://chipsalliance.org/preview/97/events/chips-2023-fall-event/Join us for the next Technology Update featuring informative, technical talks on open source hardware collaborative development. Hosted by Google in Sunnyvale, California, the event includes speakers from Google, Antmicro, Open Compute Project, and others. This event is free to attend, however, registration is required. +Register and view schedule.RISC-V Summit North America 2023https://chipsalliance.org/preview/97/events/riscv_na_2023/Tue, 07 Nov 2023 00:00:00 +0000https://chipsalliance.org/preview/97/events/riscv_na_2023/Please join us at the RISC-V North American Summit November 7 - 8 +Be sure to come visit us at the CHIPS Alliance booth at the event. +Details here:CHIPS Alliance at the Open Compute Project Global Summithttps://chipsalliance.org/preview/97/events/chips_ocp_2023/Tue, 17 Oct 2023 00:00:00 +0000https://chipsalliance.org/preview/97/events/chips_ocp_2023/Please join us at the Open Compute Project Global Summit to hear about the Caliptra Root of Trust collaborative project. +Be sure to come visit us at booth C37 hosted by the Linux Foundation at the event. +Details hereCHIPS Alliance Summer Workshop 2023https://chipsalliance.org/preview/97/events/chips-biannual-technology-update-2022_13_07/Thu, 13 Jul 2023 00:00:00 +0000https://chipsalliance.org/preview/97/events/chips-biannual-technology-update-2022_13_07/Check out the presentations below, and watch the replay here +Caliptra & VeeR continuous integration ecosystem – Michael Gielda, Antmicro (slides) Caliptra: Validating firmware against multiple hardware models in CI - Kor Nielsen, Google OmniXtend: coherent scaleout over commodity fabrics - Jaco Hoffman, Westen Digital (slides) CHISEL 3 and Beyond - Jack Koenig, SiFive (slides) Single Source library for digital design and virtual prototyping - Mikhail Moiseev, Intel (slides) Building Confidence in Open IC Design using OpenFASOC - Mehdi Saligane, University of Michigan (slides) Watch the ReplayCHIPS Alliance Fall Workshop 2022https://chipsalliance.org/preview/97/events/chips-biannual-technology-update-2022-2/Thu, 15 Dec 2022 00:00:00 +0000https://chipsalliance.org/preview/97/events/chips-biannual-technology-update-2022-2/Check out the presentations below, and watch the replay here +Caliptra – Bryan Kelly, Microsoft SBOM and HBOM / Zephyr - Kate Stewart, Linux Foundation F4PGA tools in the classroom - Mike Wirthlin, Jeff Goeders, BYU (slides) Datasets for Machine Learning for Chip Design - Aman Arora, UT-Austin (slides) Open source SystemVerilog / UVM support and scaling for large designs in Verilator 5.0 and beyond, Michael Gielda, Antmicro (slides) Lowering barriers to chip design using OpenFASOC, AWG activities and tapeouts, Mehdi Saligane, University of Michigan (slides) Global Foundries Open PDK, Karthik Chandrasekaran, Global Foundries Caravel SOC Learnings, Mohammed Kassem, Efabless, (slides) Intel Compiler for SystemC, Mikhail Moiseev, Intel (slides) Renode co-simulation for Caravel, Peter Gielda, Antmicro (slides) Watch the ReplayCHIPS Alliance First 2022 Biannual Technology Updatehttps://chipsalliance.org/preview/97/events/chips-biannual-technology-update-2022-1/Tue, 19 Apr 2022 00:00:00 +0000https://chipsalliance.org/preview/97/events/chips-biannual-technology-update-2022-1/Watch the Replay +Check out the presentations below: +Introduction – Rob Mains, CHIPS Alliance Updates of Android on RISC-V – Han Mao, Alibaba (slides) Chisel and FIRRTL for Next-Generation SoC Designs– Jack Koenig, SiFive (slides) Introducting the F4PGA Workgroup– Michael Gielda, Karol Gugala, Antmicro (slides) Chiplet IP Protocol– Dave Kehlet, Intel (slides) NVMe Computational Storage Processor for Edge & Datacenter Applications, Anand Kulkarni, Wester Digital (slides) Towards Open Source Models of Cryogenic CMOS : Brian Hoskins and Pragya Shrestha, NIST (slides) Latest Statistics from Google’s No Cost Shuttle Program : Tim Ansell, Google : (slides) Watch the ReplayCHIPS Alliance Fall Workshop 2021https://chipsalliance.org/preview/97/events/fall-workshop-2021/Tue, 12 Oct 2021 00:00:00 +0000https://chipsalliance.org/preview/97/events/fall-workshop-2021/Check out the presentations below, and watch the replay here +Porting Android to RISC-V Alibaba – Guoyin Chen and Han Mao, Alibaba (replay) (slides) Practical Adoption of Open Source System Verilog Tools – Michael Gielda, Antmicro (replay) (slides) Chisel and FIRRTL for Next-Generation SoC Designs– Jack Koenig, SiFive (replay) (slides) OpenFASOC: Automated Open Source Analog and Mixed-Signals IC Generation – Mehdi Saligane, University of Michigan (UMICH) (replay) (slides) FPGA Tooling Interoperability with the FPGA Interchange Format – Maciej Kurc, Antmicro (replay) (slides) OmniXtend: Scalability and LPC – Jaco Hofmann, Western Digital Corporation (replay) (slides) Open Source NVME IP with AI Acceleration – Anand Kulkarni, Western Digital Corporation and Karol Gugala, Antmicro (replay) (slides) Automating Analog Layout using ALIGN – Sachin Sapatnekar, University of Minnesota (UMN) (replay) (slides) Watch the ReplayCHIPS Alliance Spring Workshop 2021https://chipsalliance.org/preview/97/events/spring-workshop-2021/Tue, 30 Mar 2021 00:00:00 +0000https://chipsalliance.org/preview/97/events/spring-workshop-2021/Check out the presentations below, and watch the replay here +Chipyard - Bora Nikolic, UC Berkeley (slides) RISC-V DV Workgroup Updates Tao Liu / Matt Cockrell, Google (slides) Open Source Flows in ASIC & FPGA Development Michael Gielda, Antmicro Open-Source AIB Chiplet Ecosystem David Kehlet, Intel (slides) OmniXtend Milestone Updates Dejan Vucinic, Western Digital (slides) Chisel advances for next-gen SOC Designs Jack Koenig, SiFive (slides) Codasip SweRV Core Support Package in a Nutshell Zdenek Prikyl, Codasip (slides) An Introduction to the OpenROAD project Andrew Kahng / Tom Spyrou, OpenROAD (slides) Open Source FPGA Tooling Brian Faith, Quicklogic (slides) Fully Open Silicon Down to the Transistor Tim Ansell, Google (slides) Watch the Replay \ No newline at end of file diff --git a/preview/97/events/riscv_na_2023/index.html b/preview/97/events/riscv_na_2023/index.html new file mode 100644 index 000000000..53cdc595f --- /dev/null +++ b/preview/97/events/riscv_na_2023/index.html @@ -0,0 +1,244 @@ + + + + + + + + + + + + + + +RISC-V Summit North America 2023 | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+

RISC-V Summit North America 2023

+

+
+
+
+
+
+
+banner-image +
+shape +
+
+
+
+
+
+
+
+
+
+
+

Please join us at the RISC-V North American Summit November 7 - 8

+

Be sure to come visit us at the CHIPS Alliance booth at the event.

+

Details here:

+
+
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/preview/97/events/spring-workshop-2021/index.html b/preview/97/events/spring-workshop-2021/index.html new file mode 100644 index 000000000..d6cdf11aa --- /dev/null +++ b/preview/97/events/spring-workshop-2021/index.html @@ -0,0 +1,252 @@ + + + + + + + + + + + + + + +CHIPS Alliance Spring Workshop 2021 | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+

CHIPS Alliance Spring Workshop 2021

+

+
+
+
+
+
+
+banner-image +
+shape +
+
+
+
+
+
+
+
+
+
+
+

Check out the presentations below, and watch the replay here

+
    +
  • Chipyard - Bora Nikolic, UC Berkeley (slides)
  • +
  • RISC-V DV Workgroup Updates Tao Liu / Matt Cockrell, Google (slides)
  • +
  • Open Source Flows in ASIC & FPGA Development Michael Gielda, Antmicro
  • +
  • Open-Source AIB Chiplet Ecosystem David Kehlet, Intel (slides)
  • +
  • OmniXtend Milestone Updates Dejan Vucinic, Western Digital (slides)
  • +
  • Chisel advances for next-gen SOC Designs Jack Koenig, SiFive (slides)
  • +
  • Codasip SweRV Core Support Package in a Nutshell Zdenek Prikyl, Codasip (slides)
  • +
  • An Introduction to the OpenROAD project Andrew Kahng / Tom Spyrou, OpenROAD (slides)
  • +
  • Open Source FPGA Tooling Brian Faith, Quicklogic (slides)
  • +
  • Fully Open Silicon Down to the Transistor Tim Ansell, Google (slides)
  • +
+

Watch the Replay

+
+
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/preview/97/faq/index.html b/preview/97/faq/index.html new file mode 100644 index 000000000..56db01bd2 --- /dev/null +++ b/preview/97/faq/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/about/faq/ \ No newline at end of file diff --git a/preview/97/fonts/FontAwesome.otf b/preview/97/fonts/FontAwesome.otf new file mode 100644 index 000000000..401ec0f36 Binary files /dev/null and b/preview/97/fonts/FontAwesome.otf differ diff --git a/preview/97/fonts/fontawesome-webfont.eot b/preview/97/fonts/fontawesome-webfont.eot new file mode 100644 index 000000000..e9f60ca95 Binary files /dev/null and b/preview/97/fonts/fontawesome-webfont.eot differ diff --git a/preview/97/fonts/fontawesome-webfont.svg b/preview/97/fonts/fontawesome-webfont.svg new file mode 100644 index 000000000..855c845e5 --- /dev/null +++ b/preview/97/fonts/fontawesome-webfont.svg @@ -0,0 +1,2671 @@ + + + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/preview/97/fonts/fontawesome-webfont.ttf b/preview/97/fonts/fontawesome-webfont.ttf new file mode 100644 index 000000000..35acda2fa Binary files /dev/null and b/preview/97/fonts/fontawesome-webfont.ttf differ diff --git a/preview/97/fonts/fontawesome-webfont.woff b/preview/97/fonts/fontawesome-webfont.woff new file mode 100644 index 000000000..400014a4b Binary files /dev/null and b/preview/97/fonts/fontawesome-webfont.woff differ diff --git a/preview/97/fonts/fontawesome-webfont.woff2 b/preview/97/fonts/fontawesome-webfont.woff2 new file mode 100644 index 000000000..4d13fc604 Binary files /dev/null and b/preview/97/fonts/fontawesome-webfont.woff2 differ diff --git a/preview/97/getting-started/index.html b/preview/97/getting-started/index.html new file mode 100644 index 000000000..77aca82d4 --- /dev/null +++ b/preview/97/getting-started/index.html @@ -0,0 +1,301 @@ + + + + + + + + + + + + + + +Getting Started | CHIPS Alliance + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+

Getting Started

+

The CHIPS Alliance develops high-quality, open source hardware designs and open source hardware design tools relevant to silicon devices and FPGAs.

+
+
+
+
+
+
+banner-image +
+shape +
+
+
+
+
+
+
+
+
+
+
+

By creating an open and collaborative environment, the CHIPS Alliance shares resources to lower the cost of development. Companies and individuals can work together to develop open source CPUs, various peripherals, complex IP blocks, tools and workflows.

+

The CHIPS Alliance is open to all organizations who are interested in collaborating on open source hardware or software tools to accelerate the creation of more efficient and innovative chip designs.

+

THe CHIPS Alliance is hosted by The Linux Foundation, a 501(c)6 non-profit.

+

Read on to learn more about participation in the CHIPS Alliance, and join us as we develop open source hardware designs and tools!

+

Getting Started

+

The CHIPS Alliance works in the open and welcomes all participants in our open source community. Here are the first things you should do to get involved.

+

Join our mailing lists

+

We recommend you join our mailing lists, as they are our primary means of communication. The CHIPS Alliance uses groups.io for our mailing lists. If you aren’t familiar with the process of joining groups, we have a tutorial on how to find and join our lists.

+

General mailing lists

+
    +
  • announce@lists.chipsalliance.org - This is our main list for publishing CHIPS Alliance announcements, such as workshop notifications and other updates. This is the best way to connect with us.
  • +
  • technical-discuss@lists.chipsalliance.org - This is our main technical discussion list, for anything related to the Technical Steering Committee or for technical discussion with a scope beyond a single workgroup.
  • +
+

Workgroup mailing lists

+

Go to the Workgroups page for details, with mailing lists and meeting times.

+

Member mailing lists

+

In addition to the lists which are open to everyone, we have some special-purpose mailing lists for members and individual participants in the CHIPS Alliance. If you work for a CHIPS Alliance member, or have completed the individual participant registration form, please visit these lists and apply for membership.

+ +

Follow us on social

+

Follow us on our social channels: Twitter, LinkedIn.

+

Join our Slack

+

Join our Slack. You can get an invite here.

+

Subscribe to our calendar

+

We publish our workgroup and meeting calendar (ical). Please email mailto:operations@chipsalliance.org to request new events on the calendar, or to be added to an existing invite.

+

How to participate in the Technical Community

+

The CHIPS Alliance is home to multiple open source projects, which operate under the leadership of the Technical Steering Committee (TSC). These projects develop high quality open source hardware code (IP cores), interconnect IP (phy and logical protocols), and open source software development tools for design, verification, and more.

+

Our projects represent a diverse range of technologies and implementations, and are organized into workgroups. Each of these workgroups are represented through membership in the TSC, our primary technical governing body.

+

Participation in the development and decision-making process is open to anybody in the technical community. We strongly encourage developers to engage with our projects directly on a technical level.

+

About the Technical Steering Committee

+

The TSC is governed by the CHIPS Alliance Technical Charter. The Charter provides the TSC a great deal of latitude to organize itself and its processes in such a way that benefits our technical communities.

+

The TSC is comprised of technical representatives from CHIPS Alliance projects and workgroups, and led by a chairperson. All members of the technical community are welcome to subscribe to the TSC mailing list, and can participate in TSC meetings.

+ +

How to participate as a Member

+

The CHIPS Alliance is a member-supported organization. Our members provide 100% of the financial support for our activities. Among other things, this enables us to provide operational, marketing, and legal support for our hosted projects, enables logisitical support for the ongoing operations of the Alliance, and allows us to host technical workshops to advance the state of the art of open hardware design.

+

First steps for new members

+

We have a number of additional lists and committees for members. Here are a few more things you should do.

+ +

Please contact operations@chipsalliance.org for any questions or issues related to membership.

+

The Governing Board

+

The CHIPS Alliance is managed by a Governing Board, comprised of member representatives, the TSC chair, and the Marketing Committee chair.

+

Although the Governing Board delegates day-to-day technical governance to the TSC, it is responsible for setting the high-level policies which govern our projects. For example, the Governing Board works in close coordination with the Legal Committee to manage the Participation Agreement and the Technical Charter (including the IP Policy).

+

In addition, the Governing Board is responsible for managing the organization’s budget.

+

The Governing Board meets bi-weekly.

+

The Marketing Committee

+

The Marketing Committee is responsible for coordinating outreach activities and for responding to inbound requests. All CHIPS Alliance members are welcome to participate on Marketing Committee meetings and activities.

+

Please send an email to operations@chipsalliance.org to be added to the mailing list and calendar invitation.

+ +

The CHIPS Alliance Legal Committee is responsible for coordinating legal activity, including document and policy reviews. The Legal Committee makes recommendations to the Governing Board on such matters. All CHIPS Alliance members are welcome to designate a member of their in-house legal counsel to participate on this committee.

+

Please send an email to operations@chipsalliance.org to be added to the mailing list and calendar invitation.

+

Are you not a member, but interested in joining?

+ +

I have a question or a problem!

+ +
+
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/preview/97/images/404/error.png b/preview/97/images/404/error.png new file mode 100644 index 000000000..3db088950 Binary files /dev/null and b/preview/97/images/404/error.png differ diff --git a/preview/97/images/about/arrow-down.svg b/preview/97/images/about/arrow-down.svg new file mode 100644 index 000000000..5753005fd --- /dev/null +++ b/preview/97/images/about/arrow-down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/images/about/patterns-two.png b/preview/97/images/about/patterns-two.png new file mode 100644 index 000000000..90772f04c Binary files /dev/null and b/preview/97/images/about/patterns-two.png differ diff --git a/preview/97/images/announcement-share.jpg b/preview/97/images/announcement-share.jpg new file mode 100644 index 000000000..18b6b35ef Binary files /dev/null and b/preview/97/images/announcement-share.jpg differ diff --git a/preview/97/images/blog-share.jpg b/preview/97/images/blog-share.jpg new file mode 100644 index 000000000..dd70a73c8 Binary files /dev/null and b/preview/97/images/blog-share.jpg differ diff --git a/preview/97/images/chips-alliance-share.jpg b/preview/97/images/chips-alliance-share.jpg new file mode 100644 index 000000000..60278c344 Binary files /dev/null and b/preview/97/images/chips-alliance-share.jpg differ diff --git a/preview/97/images/chips-logo-white.svg b/preview/97/images/chips-logo-white.svg new file mode 100644 index 000000000..107155c1d --- /dev/null +++ b/preview/97/images/chips-logo-white.svg @@ -0,0 +1,3 @@ + + + diff --git a/preview/97/images/chips_alliance.svg b/preview/97/images/chips_alliance.svg new file mode 100644 index 000000000..08b59bb8d --- /dev/null +++ b/preview/97/images/chips_alliance.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/images/contact/effects.png b/preview/97/images/contact/effects.png new file mode 100644 index 000000000..099a41a96 Binary files /dev/null and b/preview/97/images/contact/effects.png differ diff --git a/preview/97/images/favicon/cropped-favicon-1-180x180.png b/preview/97/images/favicon/cropped-favicon-1-180x180.png new file mode 100644 index 000000000..b9231946b Binary files /dev/null and b/preview/97/images/favicon/cropped-favicon-1-180x180.png differ diff --git a/preview/97/images/favicon/cropped-favicon-1-192x192.png b/preview/97/images/favicon/cropped-favicon-1-192x192.png new file mode 100644 index 000000000..7c40ee0ad Binary files /dev/null and b/preview/97/images/favicon/cropped-favicon-1-192x192.png differ diff --git a/preview/97/images/favicon/cropped-favicon-1-270x270.png b/preview/97/images/favicon/cropped-favicon-1-270x270.png new file mode 100644 index 000000000..24f2bd81d Binary files /dev/null and b/preview/97/images/favicon/cropped-favicon-1-270x270.png differ diff --git a/preview/97/images/favicon/cropped-favicon-1-32x32.png b/preview/97/images/favicon/cropped-favicon-1-32x32.png new file mode 100644 index 000000000..508ec1e2e Binary files /dev/null and b/preview/97/images/favicon/cropped-favicon-1-32x32.png differ diff --git a/preview/97/images/feature/48302010402_7eef97a236_o.jpg b/preview/97/images/feature/48302010402_7eef97a236_o.jpg new file mode 100644 index 000000000..f1f965b0b Binary files /dev/null and b/preview/97/images/feature/48302010402_7eef97a236_o.jpg differ diff --git a/preview/97/images/feature/48302010742_0a53e0557d_o.jpg b/preview/97/images/feature/48302010742_0a53e0557d_o.jpg new file mode 100644 index 000000000..6a7278b45 Binary files /dev/null and b/preview/97/images/feature/48302010742_0a53e0557d_o.jpg differ diff --git a/preview/97/images/feature/48302011232_72f8ed17c8_o.jpg b/preview/97/images/feature/48302011232_72f8ed17c8_o.jpg new file mode 100644 index 000000000..13053b2a6 Binary files /dev/null and b/preview/97/images/feature/48302011232_72f8ed17c8_o.jpg differ diff --git a/preview/97/images/feature/balloons.jpg b/preview/97/images/feature/balloons.jpg new file mode 100644 index 000000000..8a4121d4e Binary files /dev/null and b/preview/97/images/feature/balloons.jpg differ diff --git a/preview/97/images/feature/circuits1.jpg b/preview/97/images/feature/circuits1.jpg new file mode 100644 index 000000000..8e8a622c3 Binary files /dev/null and b/preview/97/images/feature/circuits1.jpg differ diff --git a/preview/97/images/feature/circuits2.jpg b/preview/97/images/feature/circuits2.jpg new file mode 100644 index 000000000..264555d32 Binary files /dev/null and b/preview/97/images/feature/circuits2.jpg differ diff --git a/preview/97/images/feature/effect-1.png b/preview/97/images/feature/effect-1.png new file mode 100644 index 000000000..56367140d Binary files /dev/null and b/preview/97/images/feature/effect-1.png differ diff --git a/preview/97/images/feature/effect-2.png b/preview/97/images/feature/effect-2.png new file mode 100644 index 000000000..168a3365d Binary files /dev/null and b/preview/97/images/feature/effect-2.png differ diff --git a/preview/97/images/feature/effect-3.png b/preview/97/images/feature/effect-3.png new file mode 100644 index 000000000..e369ed33f Binary files /dev/null and b/preview/97/images/feature/effect-3.png differ diff --git a/preview/97/images/feature/effect-4.png b/preview/97/images/feature/effect-4.png new file mode 100644 index 000000000..40098b41b Binary files /dev/null and b/preview/97/images/feature/effect-4.png differ diff --git a/preview/97/images/feature/effect-5.png b/preview/97/images/feature/effect-5.png new file mode 100644 index 000000000..9f7e701a0 Binary files /dev/null and b/preview/97/images/feature/effect-5.png differ diff --git a/preview/97/images/feature/effect-6.png b/preview/97/images/feature/effect-6.png new file mode 100644 index 000000000..8d382fdfa Binary files /dev/null and b/preview/97/images/feature/effect-6.png differ diff --git a/preview/97/images/feature/effect-7.png b/preview/97/images/feature/effect-7.png new file mode 100644 index 000000000..ed289a28c Binary files /dev/null and b/preview/97/images/feature/effect-7.png differ diff --git a/preview/97/images/feature/mailing-lists.png b/preview/97/images/feature/mailing-lists.png new file mode 100644 index 000000000..ec98ddc55 Binary files /dev/null and b/preview/97/images/feature/mailing-lists.png differ diff --git a/preview/97/images/feature/niek-doup-Xf071ws2Icg-unsplash.jpg b/preview/97/images/feature/niek-doup-Xf071ws2Icg-unsplash.jpg new file mode 100644 index 000000000..52a1712b5 Binary files /dev/null and b/preview/97/images/feature/niek-doup-Xf071ws2Icg-unsplash.jpg differ diff --git a/preview/97/images/feature/woman-talking.jpg b/preview/97/images/feature/woman-talking.jpg new file mode 100644 index 000000000..1bc5cf2eb Binary files /dev/null and b/preview/97/images/feature/woman-talking.jpg differ diff --git a/preview/97/images/hero/hero-one-shape.png b/preview/97/images/hero/hero-one-shape.png new file mode 100644 index 000000000..147e35294 Binary files /dev/null and b/preview/97/images/hero/hero-one-shape.png differ diff --git a/preview/97/images/hero/hero-three-shape.png b/preview/97/images/hero/hero-three-shape.png new file mode 100644 index 000000000..968aed836 Binary files /dev/null and b/preview/97/images/hero/hero-three-shape.png differ diff --git a/preview/97/images/hero/home-hero.jpg b/preview/97/images/hero/home-hero.jpg new file mode 100644 index 000000000..0dc32257f Binary files /dev/null and b/preview/97/images/hero/home-hero.jpg differ diff --git a/preview/97/images/lf-projects-banner-white.svg b/preview/97/images/lf-projects-banner-white.svg new file mode 100644 index 000000000..856812ad9 --- /dev/null +++ b/preview/97/images/lf-projects-banner-white.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/images/members/ETRI.png b/preview/97/images/members/ETRI.png new file mode 100644 index 000000000..4cdfcc05d Binary files /dev/null and b/preview/97/images/members/ETRI.png differ diff --git a/preview/97/images/members/alibaba.png b/preview/97/images/members/alibaba.png new file mode 100644 index 000000000..2ed7d381b Binary files /dev/null and b/preview/97/images/members/alibaba.png differ diff --git a/preview/97/images/members/amd.svg b/preview/97/images/members/amd.svg new file mode 100644 index 000000000..8de1fd7d7 --- /dev/null +++ b/preview/97/images/members/amd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/images/members/american-megatrendsinternational-llc.svg b/preview/97/images/members/american-megatrendsinternational-llc.svg new file mode 100644 index 000000000..22688336e --- /dev/null +++ b/preview/97/images/members/american-megatrendsinternational-llc.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/preview/97/images/members/antmicro.png b/preview/97/images/members/antmicro.png new file mode 100644 index 000000000..9fac26210 Binary files /dev/null and b/preview/97/images/members/antmicro.png differ diff --git a/preview/97/images/members/arizona-state-u.svg b/preview/97/images/members/arizona-state-u.svg new file mode 100644 index 000000000..8c594483f --- /dev/null +++ b/preview/97/images/members/arizona-state-u.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/images/members/axiado.svg b/preview/97/images/members/axiado.svg new file mode 100644 index 000000000..d3ecec088 --- /dev/null +++ b/preview/97/images/members/axiado.svg @@ -0,0 +1 @@ +Axiado logo \ No newline at end of file diff --git a/preview/97/images/members/byu.svg b/preview/97/images/members/byu.svg new file mode 100644 index 000000000..4479d363b --- /dev/null +++ b/preview/97/images/members/byu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/images/members/codasip.png b/preview/97/images/members/codasip.png new file mode 100644 index 000000000..ee5cb5a06 Binary files /dev/null and b/preview/97/images/members/codasip.png differ diff --git a/preview/97/images/members/efabless.png b/preview/97/images/members/efabless.png new file mode 100644 index 000000000..46942aac6 Binary files /dev/null and b/preview/97/images/members/efabless.png differ diff --git a/preview/97/images/members/esperanto-tech.png b/preview/97/images/members/esperanto-tech.png new file mode 100644 index 000000000..83761dcdf Binary files /dev/null and b/preview/97/images/members/esperanto-tech.png differ diff --git a/preview/97/images/members/futurewei-tech.png b/preview/97/images/members/futurewei-tech.png new file mode 100644 index 000000000..da7becb69 Binary files /dev/null and b/preview/97/images/members/futurewei-tech.png differ diff --git a/preview/97/images/members/google.png b/preview/97/images/members/google.png new file mode 100644 index 000000000..baf5c87cd Binary files /dev/null and b/preview/97/images/members/google.png differ diff --git a/preview/97/images/members/hochschule.png b/preview/97/images/members/hochschule.png new file mode 100644 index 000000000..d074c2291 Binary files /dev/null and b/preview/97/images/members/hochschule.png differ diff --git a/preview/97/images/members/iit.png b/preview/97/images/members/iit.png new file mode 100644 index 000000000..79c833846 Binary files /dev/null and b/preview/97/images/members/iit.png differ diff --git a/preview/97/images/members/imperas.png b/preview/97/images/members/imperas.png new file mode 100644 index 000000000..7c33d744e Binary files /dev/null and b/preview/97/images/members/imperas.png differ diff --git a/preview/97/images/members/infineon.png b/preview/97/images/members/infineon.png new file mode 100644 index 000000000..c511d33a4 Binary files /dev/null and b/preview/97/images/members/infineon.png differ diff --git a/preview/97/images/members/intel.png b/preview/97/images/members/intel.png new file mode 100644 index 000000000..09f28a768 Binary files /dev/null and b/preview/97/images/members/intel.png differ diff --git a/preview/97/images/members/iscas.png b/preview/97/images/members/iscas.png new file mode 100644 index 000000000..a600cc41d Binary files /dev/null and b/preview/97/images/members/iscas.png differ diff --git a/preview/97/images/members/marvell-semiconductors-ltd.svg b/preview/97/images/members/marvell-semiconductors-ltd.svg new file mode 100644 index 000000000..e7a08f73d --- /dev/null +++ b/preview/97/images/members/marvell-semiconductors-ltd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/images/members/marvell.svg b/preview/97/images/members/marvell.svg new file mode 100644 index 000000000..e7da1cfce --- /dev/null +++ b/preview/97/images/members/marvell.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/images/members/meta.svg b/preview/97/images/members/meta.svg new file mode 100644 index 000000000..22806c9f7 --- /dev/null +++ b/preview/97/images/members/meta.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/images/members/microsoft.svg b/preview/97/images/members/microsoft.svg new file mode 100644 index 000000000..8fc313a8f --- /dev/null +++ b/preview/97/images/members/microsoft.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/images/members/nvidia.jpg b/preview/97/images/members/nvidia.jpg new file mode 100644 index 000000000..dedc1172a Binary files /dev/null and b/preview/97/images/members/nvidia.jpg differ diff --git a/preview/97/images/members/openroad.png b/preview/97/images/members/openroad.png new file mode 100644 index 000000000..59e162efb Binary files /dev/null and b/preview/97/images/members/openroad.png differ diff --git a/preview/97/images/members/precision-innovations.png b/preview/97/images/members/precision-innovations.png new file mode 100644 index 000000000..c2e302d93 Binary files /dev/null and b/preview/97/images/members/precision-innovations.png differ diff --git a/preview/97/images/members/proteantecs.svg b/preview/97/images/members/proteantecs.svg new file mode 100644 index 000000000..af3b94db6 --- /dev/null +++ b/preview/97/images/members/proteantecs.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/images/members/qamcom.png b/preview/97/images/members/qamcom.png new file mode 100644 index 000000000..f44b3cfad Binary files /dev/null and b/preview/97/images/members/qamcom.png differ diff --git a/preview/97/images/members/quicklogic.png b/preview/97/images/members/quicklogic.png new file mode 100644 index 000000000..6a4d25cae Binary files /dev/null and b/preview/97/images/members/quicklogic.png differ diff --git a/preview/97/images/members/rapidsilicon.svg b/preview/97/images/members/rapidsilicon.svg new file mode 100644 index 000000000..2b5d4d192 --- /dev/null +++ b/preview/97/images/members/rapidsilicon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/images/members/rios.png b/preview/97/images/members/rios.png new file mode 100644 index 000000000..d655f420f Binary files /dev/null and b/preview/97/images/members/rios.png differ diff --git a/preview/97/images/members/risc-v.svg b/preview/97/images/members/risc-v.svg new file mode 100644 index 000000000..1ed99ff7e --- /dev/null +++ b/preview/97/images/members/risc-v.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/images/members/siemens.png b/preview/97/images/members/siemens.png new file mode 100644 index 000000000..d435f9a50 Binary files /dev/null and b/preview/97/images/members/siemens.png differ diff --git a/preview/97/images/members/sifive.png b/preview/97/images/members/sifive.png new file mode 100644 index 000000000..6c9fccbd2 Binary files /dev/null and b/preview/97/images/members/sifive.png differ diff --git a/preview/97/images/members/skywater-technology.svg b/preview/97/images/members/skywater-technology.svg new file mode 100644 index 000000000..96e765928 --- /dev/null +++ b/preview/97/images/members/skywater-technology.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/images/members/stanford-eng.png b/preview/97/images/members/stanford-eng.png new file mode 100644 index 000000000..f3e549fa0 Binary files /dev/null and b/preview/97/images/members/stanford-eng.png differ diff --git a/preview/97/images/members/uc-san-diego.png b/preview/97/images/members/uc-san-diego.png new file mode 100644 index 000000000..28a17c6a0 Binary files /dev/null and b/preview/97/images/members/uc-san-diego.png differ diff --git a/preview/97/images/members/uc-santa-cruz.png b/preview/97/images/members/uc-santa-cruz.png new file mode 100644 index 000000000..fabf53234 Binary files /dev/null and b/preview/97/images/members/uc-santa-cruz.png differ diff --git a/preview/97/images/members/ucberkeley.svg b/preview/97/images/members/ucberkeley.svg new file mode 100644 index 000000000..3eca76d80 --- /dev/null +++ b/preview/97/images/members/ucberkeley.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/images/members/uit-merl.png b/preview/97/images/members/uit-merl.png new file mode 100644 index 000000000..c92555723 Binary files /dev/null and b/preview/97/images/members/uit-merl.png differ diff --git a/preview/97/images/members/unb.png b/preview/97/images/members/unb.png new file mode 100644 index 000000000..4a8f6cc04 Binary files /dev/null and b/preview/97/images/members/unb.png differ diff --git a/preview/97/images/members/universidad-nebrija.png b/preview/97/images/members/universidad-nebrija.png new file mode 100644 index 000000000..d206a1b27 Binary files /dev/null and b/preview/97/images/members/universidad-nebrija.png differ diff --git a/preview/97/images/members/university-kragujevac.png b/preview/97/images/members/university-kragujevac.png new file mode 100644 index 000000000..8a9089b21 Binary files /dev/null and b/preview/97/images/members/university-kragujevac.png differ diff --git a/preview/97/images/members/university-of-hawaii-system.svg b/preview/97/images/members/university-of-hawaii-system.svg new file mode 100644 index 000000000..3a3728ffd --- /dev/null +++ b/preview/97/images/members/university-of-hawaii-system.svg @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + diff --git a/preview/97/images/members/university-of-manchester.png b/preview/97/images/members/university-of-manchester.png new file mode 100644 index 000000000..e2b01bf07 Binary files /dev/null and b/preview/97/images/members/university-of-manchester.png differ diff --git a/preview/97/images/members/university-of-michigan.png b/preview/97/images/members/university-of-michigan.png new file mode 100644 index 000000000..3c13367e2 Binary files /dev/null and b/preview/97/images/members/university-of-michigan.png differ diff --git a/preview/97/images/members/university-of-minnesota.png b/preview/97/images/members/university-of-minnesota.png new file mode 100644 index 000000000..1790ad278 Binary files /dev/null and b/preview/97/images/members/university-of-minnesota.png differ diff --git a/preview/97/images/members/university-of-toronto.png b/preview/97/images/members/university-of-toronto.png new file mode 100644 index 000000000..43663963b Binary files /dev/null and b/preview/97/images/members/university-of-toronto.png differ diff --git a/preview/97/images/members/verisilicon.png b/preview/97/images/members/verisilicon.png new file mode 100644 index 000000000..0bfeda233 Binary files /dev/null and b/preview/97/images/members/verisilicon.png differ diff --git a/preview/97/images/members/western-digital.png b/preview/97/images/members/western-digital.png new file mode 100644 index 000000000..ec73744b2 Binary files /dev/null and b/preview/97/images/members/western-digital.png differ diff --git a/preview/97/images/members/western-digital.svg b/preview/97/images/members/western-digital.svg new file mode 100644 index 000000000..3bf9dfe7b --- /dev/null +++ b/preview/97/images/members/western-digital.svg @@ -0,0 +1,34 @@ + + + diff --git a/preview/97/images/members/xilinx-inc.svg b/preview/97/images/members/xilinx-inc.svg new file mode 100644 index 000000000..378648b35 --- /dev/null +++ b/preview/97/images/members/xilinx-inc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/images/members/yale-university.png b/preview/97/images/members/yale-university.png new file mode 100644 index 000000000..ada4e4279 Binary files /dev/null and b/preview/97/images/members/yale-university.png differ diff --git a/preview/97/images/members/zero-asic.svg b/preview/97/images/members/zero-asic.svg new file mode 100644 index 000000000..f7c5a18a6 --- /dev/null +++ b/preview/97/images/members/zero-asic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/images/muted-logo.svg b/preview/97/images/muted-logo.svg new file mode 100644 index 000000000..b78a58511 --- /dev/null +++ b/preview/97/images/muted-logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/images/projects/caliptra.svg b/preview/97/images/projects/caliptra.svg new file mode 100644 index 000000000..a61c76986 --- /dev/null +++ b/preview/97/images/projects/caliptra.svg @@ -0,0 +1 @@ + diff --git a/preview/97/images/projects/chisel.svg b/preview/97/images/projects/chisel.svg new file mode 100644 index 000000000..a6b1e2738 --- /dev/null +++ b/preview/97/images/projects/chisel.svg @@ -0,0 +1,12593 @@ + + + +image/svg+xml + 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 +N3jjITWjpuydNmuC/HeZ8OxyAkNz0nN5oruwEwlXKVj58ANebGeuDyGwwUIBnR/qbQfEKekfu8UH +TQkleQrZtii3Ex1GeYlChg2jDOESUzvFmLu8i/lMu/DB/M8FGYUWH8dp2KvudMtfv6/znZN9IZy4 +Lgg2FOhgdSXoVzdcZ26qogK/3zw42CNl0vJQX3l4ZSh3V09eNcDEL949BWuVcgDn9Jtv2NLsK2xK +hzy+eitOzD8mWPLFrEEFrkjpuCTJRYXpVzF/glP2JEhHmMI4h4SgAq/nmxTrlflcTrS5h2/uNjC8 +t3gzW3NaH9sBbZcud0/lQHoVEfOVcFtfijjiwT3YXkkzSHiv9PJKdAyAlPil1u9jXvygDg+srz1S +e+uH3qZIfVJfilcAn+cKeqE6UQeL2G4m3dZmMr4DCM+PSfc8acdZuzXLS5kvzvcx7sv8pAVFYARy +ar/0A9bldv18XZ/xyutCf/EIc58IryBsMeE1hr3q/nuce134nmF3DFMibrN3Uyts12GKxi1/neaf +tB2PYOplxiy//cnXP/74n8x2/vlf/uynn7779S+//fO///avvvvVdz/76bufY0dXu/lOi+N3Oeuf +/fz7n3789bd/8d3//dO33//y2//+1z/+8jz169H/3fc/fPvNj7/6/ru///Z/+u604P3tT/7cbHMc +/Ze//u4333/3j/aL//T3cyzMXDlLGkL9Fu5T3Pz2b743Z+F/+/7nP/3HT97Un/7DTz/+D7/+8R/n +wPbqdniJP33Pe/n2b/7pV999ajj/52f/l92FPfA/ffsXP358/8jp5Y3ziv7yu19/NHfl3Q/IkZv3 +9+pHPMJf/+pnH7//5S++/dvf/Sf/4XO/xF/9+I/Xl3BmxW0yK+bf/iX+w3ff/+I/fnp+/M2Pv1on +U5ynf2b/+tM/r9/+2S9/Pn8+//D1d7/4/pfzT//t2x/95Y8//OpnP//xH379x//uv3n3D+FJ2czI +lwH+fMsUIYe0mzdljiiaagTJD8XOPfmITAg6mrt+f+r/53//x/nPh47N6TnawX/yf/+P9t//H/vr +P77l9PY/v/0f/2d6+/m/06//6srhvb+n9YqnFtsnbuztL26HhSf8i9uLfuaw+4v+8nffPL7+2cf/ +l/mnKWKhRPjmy0t9r6OQ3v4Xz4+btbcd2v53d19cfjjNJbgrNJcow3sMZ8H44TyKGdrBCAPUOo82 +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 + + UhYbU1RvjcpLlp6xD6++bP/Jdb3yz7bOivcXHrZ+/5J/6jezqpJPE68kBfE30uKl57yj4UesA/7+ ++o/XH1d/tnS34pPNJy0/bb6gH/LfrP1bbExHT8916zbfyEoXnjR/7e0t+oO3s/D3vq7i93w9Re9F +Htd9MaEtet/V13586YnkbOhO0xerz5u+W3/Z9N3K86ZvvLcbPrUYyv/o66/5bGOIcXL5Ge04OqMV +JMblDTujoivrQ+wT0GeHl562fu8HlnRdL3wf+rtoY0hWsvhCeGZn1MRaH9RVrw4Iz4YfNHzuuV79 +F8/1qr+au4o+GNdd+u+dcUHxJtTT9hv60bVB2qENYNul5w3fhR7Wf+XqL/7A3nPlz+GHpZ/EpxgX +SbdGmppTNG2+YZ+j/q5F6Hbj5yvP2n5YpzzyGf0n6JWvN14wT6VGBQU7UJubA8yf1563/Ri6V/PJ +OviJpaPov9eHOGd3ZrS0zSlVfdSuYlHZMmVhXVoGnpzTl/zOZqx539ld8ReLvuAPnv66Tx+yLrwH +9fljEjhta4h92tVV/dcxUcFvBtgXf/OcdfE3r+XFfww+4hxbHuCd9t5q/Cw+wb8cHeOcTU5Qf/ul +bf+s/vxvLaaiP7v7qj8eV198DzS5HDGr2VtDooLoqOjq8rPW7939VX+Z1Rb/dk5T+juzqerPD9rP +/uu4ouyTxafMk4kJRc3WG8GVxafN3yzeB83tgP7sr/wo9Kj+a/g+f0qNShvWx4xS7yPu8dVhcVHK +0tW1PiwpdV6v+tuY4Ny/jPAv/sfd1hP/yT350f+z8KTm9MZw1f5Zzcn/FbhT+mF6nn4uOdMO3NN4 +IDlJP4lbeCUZm5odnxQXpy1afsKiEQTv84+E7tG+D92t+Zu3v+LDpceN+9JTwmLz9ZofKn/64//w +91ccyzgM2uDT9lMT+kv/vTpY9cXGq8rPQ7cL31t6VPU5Micqv8c59qfoEKsiA7y5PsI+ufi08RvX +jWvvO/uu/HFef/l31s6Kv/bTjv3X9er9/7b+gnEm8Kj+i0n1lf94Iyn4zaj02r/P6Sp+Pyo8/x+D +zBP/PmYo+B3jzIf/r1lXsm8Hatp3n/2T83r5X22dxe+ZO4r/MKW8+l9jwgv/NqOr+OsTfuGHD5tO +/efaoPjyuLrmA0CO33h7S99ff9L03az6yh+G2D//T3fHhd+GHnJO2TvZxxYfiC/GJ1T1oG+/rD1r +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 +WzHjS78tdhi2/HTS/jiL9WNKoP0xye/9Mc6kfhmj43cCbNqClpATPpx3aCQf9km/PykuuxVUMqq9 +QvBjN6f+lp1Wdm6UV3xhdqDp2fwQOmVsABY92tFyf6aPUzotFdVN9xGTFlXo5KC44uaYoOjS4kDr +6wMvtW3Hi6td0INj5zXQlK8TnI5PQQ5nd5RN2fbRYGsObPHOKB2z5+ey9wKCvp1RNnnVSqpYNZEq +FuTIlAlR7RMXt/SKBpd/VoqsOkMuSf1FCs2/aaGU3JA0vjumbI85JqiLOtoLTvjFwaq6P94DTw72 +Q98e/s5Dr/z415S44d2EpOYxwEe/D0CT/rAQMv72sMofjQua3832oBKcQvAbVEH0L6S896e3TIiG +eXn1w5Cq/vlUT+ndvuYXx/qbXh3zdlbdltMqryc8vXYUnfbuj+keyEsfr/a2BVN6VQsvukTKeXO8 +NPJKRNa9sxFVL64fZdfHH89+e/soOPHx0akuYB1F1Q8XB6sfBIR517TY2NO8ynvHFG3PT67rW5Lm +dPAcDS7zZkBQ8fbAg4Psu4mwdSO+ZNeGLlgerHhgIcX+NSGujFw1EsplqLJXU4qWghlZfdyEsDZ6 +UQp9twNcxJKqMcHGyLwkqn/984KMmD3Shczxi5pTV9XgOCs15YqZEPPXXH/u/c+joPQdJzh9VloC +MGhN7I6bgQxIUcVrVmQ1wECgz+Po+u8TeMjXMUz9jwkqbsXUngMwzPVFDTRz10ECr+vaM7WYuDMW +fNatBSkoOqQERy/JUcmrej5sWcWoXNWzWlbNfOyihla3oMLnLWuQyYCWTZkbhH8IDaHTtofZuHk5 +KrcHlHzRSCl+/2Wc2bGsASdsugCuG2MQdkYJjSFTS+yGh9C6H2Cz5hTt8YCP1AMMDV0ZQuUtDdY9 +G+lIvREeani3akZkzBpxBQCTFK5acMVz6vYPB2Mk2I9ZwO5NqOJpGTh2xQBOWjcDjGBGZO358I3/ +LLIln4JkDGBzFZvD+JoDP75t1YEGHYwx6F+DTPrnAA29HyAjQzZs2X6ATv80zmT+mGTz/52gkb6O +4up3nLiSVT06Yw3wp6k+WLSXW3tjdxhd6pBgE71CaNS8gpAX7Gl7PS9rfLqkrn82K298EeipvT/W +3fRwVs4qH5dySqd6CUlhHaV8/vDcdn/N/ZCi5dWaqT131Q5NnVTXPg1IG17sj7Hom4BPrDqpzZsu +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 +ZEv5vj1P3v83r/zD7f9z82M3/99v/uttf/rJa6PFT/euXv3JvtWrzu4ayeH55dMbl80/vXGg68i6 +BeKDp+d3vP/UgzccXNc39cQrw7M/fXNF5dO9q1ac37W87+Q2PB9wv3Hw5f7bjoJtfn7X6sq5XatH +zu8C/gTfFuRq/xFY76MvL7395KalXcc3Ds4+tGHZ7Ld/233LG0/e73z0m+5p514tLdj/3P32m/8x ++28/wLu+X1z+wKH1j5Y+fG7ZzH0/XTzl+HNLbzv2XPHWd34+t339Cvtr7zwx85qzO8f6zr72yOMn +d333B4dfeXhw/8s90955Zp44/FL3XYeez9148PnF/scv5jrffzbf+fHG1cXDW9aMnH51zfLzr68a +wRrGfU8uMN//dX7qx2A7n9iyFPbo0pkfvli46eDLpbvPbS8/dG774NzDL+f/fs+/3vH1PT++6y8O +vvCQf3LL4D1HtqzqPfDS6Nz3fjt82+tPLL1p1z8/eM2Bp3tu2vPPs/528yO3/cX27932tSNgc5/f +OVY4urk8981fLWjf829d15zcuGj6+Vd77z74Uu+dH7/YP/Po+vL8Yxse7j225fvfPf7K2JIDzy+5 +afc/3/VnL4zK3//oV/Nt7D90cnt50dEtQwvAf7z9w2dHZn3w65X37fv3onvo+YXG6R2Lv3Vqe99d +Z3au6D8Fsuf8a99ZA37DYydeXTW8/6XRRe/8qv/2D57umXLg+cUY78OY1a0HN/fedmHv2LILbzz6 +w9O7VgyffHXZwjO7V5SOb1m+5PD6ZfMOvdg/48DzPVMPb+q+9ezuSvHi3sf+7dy+f3j2g/Wlew5v +Grzn1PZy/sz28uIDz+Sn7vrxbLH1R13Xv7+2cNeRTT/47sH1j43t+llh+hu/XOh9+u7jTxzbNlbA +e2Qvbge/ZHtuJth2s0/tXL70zO7v/eu53Y987+imvjsPvPiQ++FzC60DLy6+6djmxTddeH3pfZfe +Wtb78caH3P0vPGSDLb/s4r7Hf4I9Zs7twHxn8Z6jG5fOuPjGsu5Lb61YeeHtR398aOdYz/vrRueC +PTP31Mbh2UefWzjl1R9M+/pLD9/8P9988p5rP3q5F+zckfvf/U3x1q0/mP2n+558cMqBFxbPuLRr +1bLzuwbnHV0PNsizD5mnt44sOL99den8q4+sPrJ12f17fpG3dv508Q27fjL3OljPm373Vrl46Y1y +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 +1nt+d+89hzbee/17a7/9JyDnzE/3rlx1fs+KocMv9U7f98TMtg9+fe81p9eXZl3atnrowu6HRw9t +WTbn9I5VAxd2f+9HF15//B+Pb68s2b/2vmvf/eW9bYdfLHzr3PaHy5+8+cgPT+8Y6z69c6z707fW +fPf87pH8sXU933r75/dcs+ERefWrP7z1fxwCG+aT3cuW/BfQ/+i2gZmX9i0v/+69VY9e2PPw8jPg +a5/ZNnTfR2sf6Pht2fy9nf847X9f2D6y+MjzpbvAj/m7956a89cfP5/zwc546JNX11Q+3b2qfHDD +0jvee67bPf7Kit5zO1csPbN9eN7xzQNd7/z6gWvffWreNZf29M34ZE8J9mp5AcbWD4O9dnzD6AOn +N48tPLcdZPf2/hknXhkCu3/Z7Eu7V49d2rN6xRnQ+x+uW3rr0c2ji07vWN576bWHV5wD+NFto4WP +N/TfiXUvx14eAz9/6M6Pn33QePvJWf/73V/cf935PSPdn7798KMX9q559MyeFcOnMN/6yqOjR7Z/ +Z+Tsvsf+6cK+R35wAmymD9flbzzw4hLv1NaHh8/s/O73j4HvuO/pgn9y53cevvT2w48f2bhw6tZH +O//ww18vuP7o5kXesa09tyG9964dvPWVf+23P3zh8ZUXXv/hU2fB7z2x4b4bPvzNXX/++s+m/SH4 +gjeff3X1yktvPf7vbzzV/a21y+/8o4+eLc8FX3XVf7/z6L/955tj5YMvLHQ/+M397fufzVknQZfD +WhXfebpw49vYg+C3uVsv7lr98H/tXb3mAvhwx7csmb7rJ7f92cbHb/7Dk1v7F3+6/7FfnN+7ooLx +kKMvFLvAdvr+7/av+edPXq/0X9hRXgj06HrzZ7nrD60vzbkIdtHen83+62dGzP9r+w+n/en+X881 +/vvdUuH/myQ/ixs9gS/qJ0Ok2X4yRJrtJ0Ok2X4yRJrtJ0Ok2X4yRJrtJ0Ok2X4yRJrtJ0Ok2X4y +RJrtJ0Ok2X4yRJrtJ0Ok2X4yRJrtJ0Ok2X4yRJrtJ0Ok2X4yRJrtJ0Ok2X4yRJrtJ0Ok2X4yRJrt +J0Ok2X4yRJrtJ0Ok2X4yRJrtJ0Ok2X4yRJrtJ0Ok2X4yRJrtJ0Ok2X4yRJrtJ0Ok2X4yRJrtJ0Ok +2X4yRJrtJ0Ok2X4yRJrtJ0Ok2X4yRJrtJ0Ok2X4yRJrtJ0Ok2X4yRJrtJ0Ok2X4yRJrtJ0Ok2X4y +RJrtJ0Ok2X4yRJrtJ0Ok2X4WH54kP3e3TZKf37/mmluHuqfnKrmrr5p/+9VXXTP1DrkIIPfmRiqF +8tVX3Q2gRTdMLVemF/OVYmkoV17ZdiPCjA5ht91wbyE30HYtP9wGT7XNLBd7i0MAnJ3PDRSua7se +n52C/3P1VUab2WbQ/81fefVV7a5vGR2WsE3PE/Af0eYZjtMhpWFJy5CGsNoG6Snb7LA84QjPtg3P +ST81QE8h0PZ9z3Ntx7HhKX7N903XN1xXPZUasban0iP2XX3VfVdfNXT1VfdcfZXfdu11bfPhz7nx +34GWHtJyWnl0pG9WrgI0GgopvOju0tCscnGoUhzqbW9X8GkFoF70X2AFhunfTIP/cfa8275dHKC1 +uSH4HZfkhvkzuu4udRfo9/hqXeafprRdu2JwYAj+sR0mWC4uGa0URmjZYNHLueQz+b7iQHe5MERP +iLYb7hiqhP+I/1NZOcyrfq1pGNdc13bD3KFiHuCz4dtDvfFnx3IDo+rhvkKxt69y+ceHcoP8NMxH +P399KyC3vNhd6asdN/V4o1CrA7GVtSO1siUQWlE7Qisah9DUOxZNHRjuyy0ya0as2A2PjocSPtQo +nEpLlhbylWml0aFumOO00jgrEUGthyQgPFsZqX31Yi9dXxtizSZgK6PlJaMDhaF8oWZa8cu1EikY +qmHo1YxYuTAyOlCH/tDPNwq5odLsSrGSH0crRBAcocfnFAcKdXB57KVGoSpqxnFodHBmvpIbqwfF +6DsNUzAdhqwZySW5kcK3y4Vlo7Bx69CfiddqFFmfhY95OXyqK4qoxC3MqVH0RDC4/OI0ZN1ml0bL ++cJt5dxwXzFfuyodqn3VikON48rx5hlBqTRcKOcqpXLtiIVvtIR6KA6NI4XiiyYavsE6S4PDpZFi +pa799SVNhkylmudxw/RCT9uUzDnNnNMvRdVmzmmrOKd25pxewc5pTzkHZvnA3aXiSOaeZu5pVSyb +wj2tXUy1rntae5ww806bRoJm3mnmnWbe6ZXpndqT2TutB7nW8k7bxaTzT+tCqWU81GmFscLA7L5c +d2n5l5REbUWfjS0O8t4nnb1Ru5k/UumeXhgr5nBa9fgy0bcaheWSgdFxdOEX45Q20vi4LTc6MlLM +DU0bF9fmtu9r58juOuRqdwMFax0Y1aH8uhuo/eraT60iCks9PSOFyvjbp/VFxUzCtJWFxADa6lgg +mi8NlMo3Lu8b1+mKabKVA3XEU9XjjWLL2ksoRkbLPbl8QVUY14xe7K1MonyBSI0MF/IzR8fZaC0c +Dq/dRUBKjA7kyp2loZFKbqgOHNNvNgxbo250b10xXBoqTATd8M0WdZrAQYafmim2qnYSrWqg12/W +hVSLhDJkPTjVHctopKEzq1QcqnTVFQe8/subzWy1t7uU8dLKBli9qq1VVPYkz79MLJQ1gTRMSzBl +i7pvE0ozNZsAqd127K+D/fobyH11YGTVgZHVOIxqtwr6x4lxxTCyWwKjcZYzhpHZaIk+WcshcuVi +pW+wUKkDtVZUy/VbU62ikgeKlVm54ngecKaTJ7IizabSJxBAn4AcauQqzyiUewtI11a2vOreklfC +In2pk2mCiWTlYK1WDmZO3nKwetatVWKotWPUMtVgnaXSwLRyobCq9tRqdmRp8h1ZMjtqb1VQznUX +R+ugj36+sd7z5Czt6y4O5OqoimhFv7n2RWu11Hod7NhdBzvWXoT7pRnEpfJwX2mg1Fu7Ym9CH2oy +y8RMEragJJy8Z27rOC+WScJGOHOTr7p50gnAJbXnJltOPNR5Tql15EPrV2lP+mYX9Q== + + MF+riIo6DNsWExVXUPeO2g8NtG73jtoZ9Qvr3tHsO7LFNNzkaEgyTjFXVJ7UeTKnwUdyrmjl1jol +NktqZ8BW09h1oDYB0dcQlO6tPU/Y2ZcbGioMzC4MFPJ1haPSbzYK26m153knjG36zQartenFkeGB +XL4wWBiqzMgNt7JuG8zB52rPkbaS72a06f9rS/1qxn6tGX36tQ47Wj/fCuK1VTR87eHIllOGdXaO +bR0/oBMP8c+oQdQ0t7CsZ4FaZDvVccK7ldsD1R4uaTmhUTtqX5LQaLZd2lNfRVtPcWCgrnqvgcYt +9kBxqJCrvfg+nxvIzyjVUScdeaNRKOYGludWjmNixbdrJVeub7/yC41CsPb9WinVYWqXWkGH9JRL +g3XsNXq6UViVC+Tj1Yxbrru7WCmO1bHZwjcaxou1b7TuOprO8cONQmqoNFTHquXzo4Oj41cPxdYt +8k6jkKzdGosiq+dwN2FTM77x1xrmz9fOrEvwwtg68kD8eEOdpNxQcbAeLrz+y5rI5Gk02e5llUtN +74DmJ2/lUh2otVg8J6tcqmGdGhv9rof5WkVUZJVLk6ByqY4ui61butSIe3GbfU+2mI6bHLVLtZvA +rVW7dGWrt9apXcpP3tqlOlDLapey2qWsdimrXZp47ZJ5xdUu1SNeW0XDT97apTpQazE/YJLULtWz +QC2yna6M2qX85K1dqgO1FhMaX0IKrRVLsepZ4PqFTiMXeFI0Cq2ndjBbnq98eb7UPj0ttzpf6mSa +YCKTsYHr1DsWTafWTIvqjJVN4vLkOgKiLdZXbHLfVPDV9hhrqHieUN+qTCxOQCw6mVhU+NVOiUws +ZmIxE4uTUyzeWgZIZixmxmKLS8UC8nEmFDOh+MUJxcxUzEzFTChmQjETiiQUoxm2RXUWH0xi2Vg7 +Jb6gnHgrZlmznTbhneZmO03hVzslsp2W7bTx+UkabbL2ak4mwb31FHRGXmmUBQjSZFZxRWFg1kBu +5aI6T8c2c918dulc3SQrFwZL4zVLadEuTcWh7kJPcWjcu6JjlXvDhVxlej09ViKvNArRkWFsSFUz +klk7qmqr2OB2VFdCmyOzjtYxWZ+jcOGaoM9RjXZO1uRo/APjQZOjxuzBNnOKMNpMCf9rtMH/T4Hf +4b9T4B/avopDTI1znybQ2qnZrLXJfI3uV+7IN6bWe1zPvYUPktSFXHaUpAXWqEVkx3jz/OLyWS2V +j2yZ7hSlweHSCDjqM0fHkXZfjHBspBzp1Li2shCpPWbYXwcP9jeQBevAaJxisBhGVgNdmNoxGidb +GcPIbgmMxlnOGEZmiwm+VlHKuXKx0jdYqNShslpXOdfrk7Wiav5KWsROJt3cigmhiS14dvL1c06m +CSaSZfMnQTa/zj6gWTY/sZJZNv9yBMqy+V8+otnlUlWsySybn0Axy+Z/OVhl2fzqmGbZ/KoINjib +T+Yt5vOFMaU+UzfL4LdStKg1An5ZBj/L4I/jSGYZ/K8yVcXcNLu+GyViLzWKD1cWBgZKy2tGdKDY +21eBB9rz2CW4dlyT7zXMlq7dki729IyOFDpLQ+DiDNUhWVIvNsxmqV1LjJZ7wIuqk3/jb7WGIG0R +Ba94aNJqv3rxu0Jucs+iillUMYsqZlHFr8QSyu5Cb9WoYj1GeBZabPbQIntgU3rLhcLQFLBmC1NA +VxZ7S1PGiqWBQmVKudA9pVTODY1XupDFHBtuv5le7XHh3Kri4GhlnAtwY/tQv9AoRnVqR64wAH/V +F3OMvNLg8NX0IjnuXShlm6BaCOZDzlKXkvqtvEFAll05oaYs/tKy8ZeR4UIejLzyV3RMpkFlBbXz +pyJH/cHQ9JutsB3VpG9dMQzuxETQDd/MIlFZJCqLRGWRqCwSlUWiskhUFolq5kiUijtxJEqFpSgg +lUWiWs3RziJRX1QkqnFytdHZ8SslvjZbOW2TIcA2kcBFqwRlrojeM5P1ePtXHFFrpHybFI1n6mgB +0iKNZ+rAKGs80yiztXaMWqTxzOS+4egK6TxTd7lqy6jlgWJlVq44Xooj08lNoZOzZnCZTm5qjFpE +J9ct9DJ13FTqeGJBjlZTyVkTuDp1civWWdS/2FkDuM85mSaYyGRsADf1jkWz+3LdpeXZPWfhGs+9 +8jqjTea+G7X3/Mv6bjS37TFZWlTUfv1x9ziyK1Y4taJx3FcHRrXfNk7PtsR+ahVRWOrpGSlUcPuU +C931SfsWFRkzCeMr2Ff5HEt+JTgtzbZcX1nmqeVWKnMvW8+9NC3jmpqZuK9QV21Z8HyjlKlp14Hc +8mJ3PcWa6vFGodZuytpRq8Oga6A9VxdKdVjdDTS6w+BN1tY+C95MzuCNkwVvJoknNlmCN96kC97U +gVEWvMmCN1nwphWW/EoICTTbcmXBmyx4M3mCN+heVnL1lKVlzuXkcy57yrl8JTdwd6lYRyk9v14r +mYLBGoJg/kut4moMSrXHg1qt/9VQaXalWMmPE0qNhQXw8TnFgXoaGsReahSqdbT6GhodnAm7dKwe +HKPvNApFo6P2/l5LciOFb5cLy0YLQ/k63NDEay2wJbO2+Z+hgLNmZVmzsq8cxUnfrMzoqP1iskqp +Dquu1Bp6padcGqxDsNDTjcLrSmgsl/WVa9W+cnVYaF9GW7nGBcUm0HrsywqIzRktLxkdgAVo6UBq +PdZyi/jkWR+kKks3gdOdjQx9T+jsYxZxriPiMZnLBetBrrXKBetArDWKBetAqGVKBUPLYNE4XTmy +jM7l4kotn9Gp1Ggitmg+B9HL0h+tn/6ovSqtdbMfRgPSH400oCeHd1qXhMn808w/zfzTzD/N/NOW +cOcy/7QJ/NParaLMP518/umkrzjMPNTJ4aHW3vSmdT3U2nHMHNSmkaCZg5o5qJmDeiU6qHIyO6j1 +INdaDmq7Oelc1LpQahkn9b5Sqbu3nKtDF2Ue6uTzUCf39UC1m/xZy5UmdcLr63/RWheRTpY+MlkT +4BoxyvrINE1TkVaTg6UaGsi0riT8QtvjNCbUPwD2dHu+NFAq37hkIJfvn9LGoNJwLl+srLyxngDk +SGXlQB05APV4o1iTkJ60G68+7Fps330bWbSVt12dq9Miem2SB4g/Vy+wVrlG7QqyTUaodW/nZBaU +V9j9rcxRs/O5esyQ2EuN4sXlffX0qhjAPAA80F6DHomimnyvUdjWvqLqCunO0tBIJTfe1aMxpzX5 +YqNwrb2UamS03JPLF+pk3/hbmZ/+BSJV7/3lraYA676f/croi2Rate/Z3Kri4Gg9ec7ghUYtulN7 +U7PCAPxVX2oh8kqjECQl1/BmX1+WRTe9SPqsq67Kgeu/zPmQDOlSlkUr25lXlg2W2SUta5dM5CL3 +VrNNancRNDXq9xHSbzYM29qVsp70rSuGS0OFiaAbvpkZaJmB1iADLbPPvhr7bLba9JPBQJuI3msV +nT7JcydfWXF9yzBmi94INCkyCrVr2P46WLC/gRxYB0bj9J6KYWS1BEbjVKjEMLJbwaXpH+fRGEZm +o6X6ZC3DzpWLlb7BQj3377Siaq47C9AyanmgWJmVK47nImc6uSl0ch3SsUV0ch0YZTq5+TFqEZ1c +t9DL1HFTqeOJBTkylTy5VXIrhumzu3NbygD7KhRHyy3SlzqZVuaWSd8jbGIR69YwpWptstTC9QNX +UBe0K+Ca0qxPd0sqicEcfK72diatpB7MNkP9X7XfAkjNuNOvdexK/XwLqZBW0Y63wdsj4xc7TgYn +daBUnlHDHm1uKTOZLbUroxXQV33ctJGbbrJ0z2mffO1z2ms3Mlulf85XFX1rCHIzG3JWvZHCo/Ub +ztRvXLUKN07yCs7PsdlaJz2FaRtEcc5XdEHAZEpRtc6CtYpEMTvqOKTXwuZ/dBFrP7jbottustj/ +k1eRIzvO7ymUv10sN00IqNlWv5JbUsfKt1JgV7TVnk4hKsyrM3Ibe6nBwujbo0P5e1tZCk1ePuxw +24y2K4sTb8s4sSk50bzSROK0ZigRIv8Mz+nPKeeGRnrquCqnCXfHhGyqVjEYJ3nkZ6KnvFop6MM4 +NpPFn4V9LrNkVD45dWCgWRar2egzQZbOKno/52SaYCITu1Xvmql3mMaiW4e6g9v1CCYRtOju0tAs ++Ap1LWtX8GmF3uJQ9F+uvuruYf6Ozf84e+XgktIARooK5SWgw6672mibevVVRtv85fi/UwtXXzWK +v+iqqfkr8a874belAFveZrfNaFuw0Gjrhvfm33v1Ve1CdPieabcJq8PwTa9tEHYB/Oo5fgDqCkHt +8ItpezbCglerAiMvD8VmNhP+p8MwfafN6HA9+B/HlOiV9cPLpuxwTQuGcTqk4bsuzqZdGB1CwpPt +bocjpA+/CLND2Ibgx0xftt3PjzmW47a1yw7bdw34xfQ7HNeDX+wO1/AMEyBeh5SGhxDDcz2/rRMH +dTpMIdvarQ7fkR581bQ6LMN2EeJYLn7I7LClKRBg+ZaU/Bogajr4KcuycFam3WFbMBmcgOdabWls +4LWeCC3NDtN1XIdIbnTYNpLShClbntVmuh2uxD9dX/pt84CBHQDgMAbQlwY08TsMsQzTlQAxOkzH +hqUHhBxfWjggTNNRMEDOgC9LAAizDWmIZIKR6L8CF0W9A4TD9QS0DQMQEHaHELaDIxmOtK22FAqM +Ga6rI2EoiZSB/5hAYlpZt8OwTVgxgCHdTcQZYNKGj8C6+QZ8FP5WM3V9y7clAlxL2ADwfNd2TBzF +JTQABGTxAdSFIJtmC++ZruvihzzDk/hhKaQFg3kdpu8LfMuKfMgjMgDhLc+GxXE7pGPbOHvbdaSD +n7EMy8UnpCHxe51V8OgKEK/G0LiK+FQ7ENc1hY9oAw/6MF+EWaYFvwgkIrIZMBRMBZbRh38xmCN9 +U9B0Yfkdw3CIuWwPiALcZgiDuE1I4VvEI4KpQy9asATAELa0aHzfFQ4BeC+JDk/aNuEEfGQL0+eH +LEAcxvJdeBgAsC9SOPBaex0wHaA6MLdtuMLiFYXvIOcDi5mmZSF1YERLmBbvXgM2EfCfYSEAsDQM +mAsMYPrE+0hGm5gJiASEJhBgIpAkrid5bwoJawEvCeQ/AbuC5wTfFciKCCMc4VHPlrx9XQNWfR7h +CqssCWaZQDXc6w5iBwADxAuKkhRq4SJ7yB8uLb/QQgtpbJquIIFjAo5ICuBZy/NQHMG8PNtAvgAW +ZBxgmWxJX7Idw7eRFMhihHnkMfiwsEmCwkYkvsVZ+oAS/a9hMTmEdGDzWrxIwBbCswURBMY1US4B +5Wl6gIAEguNSwo4wBMkXWzEILJNj0+6H5zwXtiABYSO1VcHw/suyPfCfcC3bpumYvk3MgUBJowNF +TMcgNoXXaRkdYGaWwabiBRB3SrAA0HY8koaACcgXlN4A8Uie425AiO8bwmKIY7FgR7FPnAbvebjY +AAFO95gmwMwEAYmJ+woGtAzpqgET0788A8C3fOIzGMa1CVeHZKxJMCkFaSXDwd2OSw== + + BvrJRFxRWim+93n1YZMBNyLnu6BdXN8lnYqqFIUd8InHSgBpaSm2dS0kGM7ZVN+3HE8oRPS6AVtY +SAHYE6AEeBGEh6uRokCeSJcmVJqYCZrji8DsDu585B3bdHEPeYZAmQBijtgRxbXwfOIl3OOdREGp +Keg6IAG6GEZ7gkgIZGcYSDpfRiaRoP04fAkj8gZAKWpZpHoB6AraXGAHOB59HTUqDg2C0ORlhD1h +GGyDwNblWaOA8YVD/+p4yJhoXzgolE0kjuT1B0Fs06Y3DDuwOHySuPCiK5BKaIOYgoSiRAMAZRUt +GnwCvumROoC19kxT4iRMw4VNjvyAOhPxAXY02TBJIXl57oWhPZdwhIVB6Y00wYXA7wHQA1vDJtQs +m7UUD34/G3tAHp92pKRVBpo4yLbwmOt5ho/Th88bZCv4JMN5jg5qiFAJIinQskDFBMjKzzK6UqZZ +ynhLmnh5nid9HIUjTUoAbSyX3+MVRi3MEhFsEN6LwKCKwWl5+eNKNgMFPY/Hj1NvPEuonVSwT4zp +OPCU4kHWzwBkKw250oC9ixAwboAjAGLbrmAICW0mpGd6Fr0I9BRMSLALyGxBq4Xli0TzE3Yk4mMz +cslpXN6SqT7t1Je72DD2hI8TMHyiMYgaCwGoWFDZ2tXJVo26qRVILBMtrqVlQIckA6VdoG3k02sm +cQm8ZUlLkhGMTolaXbCaCVVQjyZrIaAw2AQdsFpgJKg9aEmXbFCpsBHBewLkRVuaMswCZFHgRkF/ +BK24QQ2D5QUYcymZHTCWROHoyyjAcn3P064GqX/wJ5QGtWEs3weAz56Gw1YMbQafXxJoD4MR66Lu +II53bBBWwDBsAQmcCnwMtQ8YuvodD6UVkN1DepFZgFYMroNtMUWAbh4+Imw0MUnC4SNeh6uUpkPK +CQCSVqGTyehYHhrZLJIIJZyv5dDyJkjVOZ7Eig2gBFZiFolpJjAhxjF5bU3yCxBblG0gacjqRNGD +8g1Yss1E/rMcTSPiSeQDSfYmCDO04lAVo/uhiORYIGjwS2Bok+QwUa77pOBkVSpddvuBzYS+LPEj +LN8g7xfLB82NxEUrhRgY7SL0+Wyyci3amIQh+EJahMLSMsxGUYoAtHIRYNGetNhgJNPdYoENlKA9 +TPrM57F8VITo5HrgW81T7rtnkospfLY6pGnQpKUvAqVmIOejaWVJNTwyJI7qGQwgliVT3/E0/1jk +vIK8ttATTdLj/styDJhjAjeTp5gfqeeRa0RoS9v1iQkFKir0H8zPmEZqrilsEijnmV/Jf0QfTvqs +RlBdtsF/XVKf5KrgWGDgADo8lkm7nfx1Ggt2rrCB0vCwK8mbARyApwQtuGE5ZDVKYlSUSbgqiLna +F6znOpkalgPrC9QAMWe1RcnjqrhKnF7jMCcwuUVf8on+ijth56GR42kZBWyHIh/+Fp5Lop/xgUFQ +CLD1KykGgR4S7hZU86BEiL4wYzI0KABBotrhlyTrQ/QRPVeQHWeQDsVQlGGx2ndxr+F2dmztVPgS +oycgBKRjkiXAtjIaruAGE30BxjISLC5WEYA7ImGirmGVRlpBI95ZjRoDHPYB/C1B+x1DVkAiMLI9 +Wj2bPwYmtkmChG1Z+GeyElGWMH3QaEHxjEoQtgF8S/i431G2I/fB34YAXFCwGew8gRthWch7HnOI +q6x93KIYW5mHXzUNE3xIlBooRoDfTTTQwRQ1BcaF2JeH/UImSiehQpYFgDzwZOERMjXwbxLfCVQv +K819RAU5FuYM7EAREpN9JhN9DoxUga5wYVcgDuDt414nv99mtGiTwt+IDopZE4UbqhdB/25aPocU +gMpoogA5QWBQBMEXkhgADQCkiGXgqCCYDVcFRhyHSGV6Ns0QA01tOgTh6+WDmXvsOSaRGTc6RG4d +fhCjfIMUxKCVRKEE24XCE0hpGIuiE/M4zkGomRjesnG+ZIOhWCBqucjtFCDyJO9dVBS44SlEAn4N +RlOEIJQl8ktyIuPZsKl4GsV+EkG3KmG5eOguT9E8y6RnMGZMIT/TwLCUQe6TiQaDQY6XiZNRHM3+ +h6lMifBv9o0xjIhKXHsWNIxBoge9AHBBwOzwfc/AR2BzC/qbVAFIfPAZfBVvM4UI92SXisACgP1y +VISCTBaTjQiXo02STRqmOtmskqwMimGRWEBrGKmPuxgFDiyK8NkzFII1r02Ci14h8SeIRUnJorMt +bcTF5mBhInw7xkwUi/CmQsBV4sS+igQZJBdILLskNA2aLtC+WhS1hwJ88ZDiIMNsm2KGnu2quCPu +TwSQPwl7GES4yYEHEOAue/2O9sUN5c/B0lhk+OMHFIsYFgYSgNHQ+rEUT1DYCGEUbYA9QLFx5FoH +Y02pYC6xRSrim4gJp1DOI/Mn6JKiXIq8eZIlyWB9OqAfi/nnSUCoCKZSzCSzBPvSwc5VwWQU78x3 +ADMMorVhq8/GArhjxMvREG8qAlwlTKwkgs00BD2BKQuMzqNEAIOBZCNGo4kog6RXSHFgzMmD1cT1 +xSgYai6Eka8FAOEqAEWDgfU5qGJRZFfpPUl2JYYHKfoCGp4WsR13gQHDpXipk5kwxnNdn8GYMUzH +6KFE1DwVV08G33mx2NMCVrNQZAmSnOwgspGoQyhoWHvshuJiYUKBvUjhp6PhvKETIfNkUD0VeWep +J8gVwnwURhDA56aJtaNEQlxTqzae4IfFccnnxdglBhk+Y5lTH+6qHlVPRd+7qofo43H8MVLmimwW +Be1I63HsAMY2HdJ1QaiB5AZzhOehWWlK9hooyqWjT6ZHRh9Y8uQDYwyURFAXWWocqLfVeoNa4OGQ +ETA1lqLMZY0egfE/j+ljIbcDHZkUtFwGeYbwJd7HtvIZUzMjyZfAoIvsJ/Jx0Wkz0ETwdJQfg2No +082jJZKY22unTIrEWAKY6QaHa4hv6SFWnOTnoPmIYTbEEvMHrJgSiIzHQemcByVLHNT6goLDpPgM +smxd2mG8B++nr4IIZY72BXhqXQgT7MwgjBQzCm/QGBZDUCiQzYWmH4ZJSQXjdoUdRDIFQ6ekjoE/ +Kd4sObQoyBKjlywKYJLh67KglEo4gdQAE5B8DuGiYAExD1Yh+VTBUCjJKFjv87RtChQJ5foKjPXo +fIbkaDvb+irjhXaTjZLSIV2Ei0hDwbx4bDQ0LPWSqYK0Jr+Uygvh3kkmj5LZpXQKqrPawnWNoxPS +KQmdBUpmLpLZjVQSJM++IfOiq8P0gBwHcVH6GxTkUWxJPqGO4gJLecQfYC6Bbms3KHYmmGWU5k4w +FuGb5MCu6oyaJMtYLIcXpPqS6cAqSbWqubdUhm6McPIE+iwI5PQSerZoVVDexfKIOg5FMfHztOnZ +wfYDSWA7LK8SGbcxWqR0Yi6dvEskyfJqyTmnBZJCuG70MQtVs6ySqcqPFzJH11yVdpCWYD5Cq58W +0aJ4LCKsF9/2qZhCcKxYbWjG3yK1j/uVpoL1DZRjUfmLVFKOk1rJ3F06v5dIRHV+RrYqntMaoxiO +QV4ypdpszveo3Au6Z4L42w+ixag7dRTH51AqFr6gneGoMAdmV0y0Y+fR3AXlEWBsjwWerYwIfJ7/ +yaKor8m0lI4OkLhU1INfIBcIgzGmEqzstqUWRkW+4d9ttMzbKVonuYwHgMJSVQ2CbQPTkJzLgRX3 +SapyygYhtLs4i6sUld3B5jVlLCnHZKvKEZwZhYCCnCQjoAiEn1X1FK40uULH5HRCCnNOfiYJlCZi +itZ5WkrFgcQnUgk5lTgiz5LsFYpsof+omBI3EIdrMXtKSSyTXUXSEDbHTc0OtdwWK3qCmGowT8Wd +/SBLayKr+ZzUpP0qtdZJrc54xj1ypFRpxjC+B0zJ8tFSAT6YPAWW20mtwNj3cz5YYnAJRYpUYtgx +LE71k3EShRg2GjwqqMcpWJARWn6jzcxsyNVfUuVM0fC0FS2RyyjbqFmImFV9iZVJmgB5QidJpzQt +kxTPc27GFmrNQQpyphdz4EowqoIyStIRRKoqC/QIiaho+/KCJpPMY5xiS+Si0/nqVMaXmdHTZpAS +kJ7OBaEIp0+lFnbc7GUqmztIgo7jKZQttgzS0Zykc0mioVdP0XLYHyqcjDqb05qClB8FnZXSAU3P +BsFncEYVBkrxWJwTO6vxawp5lsY+lVfhlicrC30ux2WbT7LuT2Xd87w/E8n5VPo+mePPcw5H0cZg +0yNIVJH/IyVXFbBdhCktzIt2csKLHF0kPonTVLXhGIuWRE1iqmoxmWbPq7xuLBmfztdXS+v3EJnj +a838EeWGNLekvpXn/ZGoJKhSbZAsSuisXruQzDaPcbIqlZVOZa6T+W1FnESCPZ2Er5qr95RtAUDh +YeIOIAKtR4K4bCD4GHEKAGxGwLp69C3lobgYtrUpuiUpdk0xB58CqWHO1aWIGZVvYcyDSc9BQow5 +8Seq7c3LljpZvk/RR0G+Ka+uTeWaQG5SoRGAxdzDuVnEimLETEYE2kRblzMxBEGHBgPlXETkKplv +MOW0WcWfxwQ8he0QQpF4LMPhnemqjERAan6RLeLPpDYLgMSSpFcttbh5pXmT9RrJmo5UpYBSIIl6 +gnTJQaIwQQkOTJ+1YfqK9yq6Dujx8TOU3Ub6RmWgwLouGAM1JxYDkP+AcURb+fHzeP8AVSX5+pbH +ognjoxQepwiOq6wsEXpZGLr0yWumCCxnIjkMb5smh6rirFNLoQz5CZhM9j2Vs/XJ0QMKsS+H64ym +mkWpKworIzfY+LulCeqqADyafwYzGgUNEEDxf7VbKFIFMJtKTkCOeyh+8dOkEVwqcsfvOmTyq7eI +WyyeIw5FkgBLeYVDfqJFZRc6Raaq3Shvj2k0pS3JiaRUG6m2BIGV1IkvQmqZkmupCp8MEIZYWEFK +Aguh+G+VhEWuQWZzOiiorspwQMMSiG3dZHWJUizxCpRUiUqijkXhoDMgklUkyl6DQhlqqPiaBzqF +o7z6W2x+ulRJY2MNniRB5pO6BN5gbemqvCaYh1ROzaQ3wWPBlfdYjWGiAG0ii4PuKdZQkirJPykO +i7NhZzVeTeCmjDsPHpe6DAbFskllMByUTtbFKHkRrZxJFdYk6kqUrEgUn6TKUxI1LHmuYZEqt6pq +G/wOSlShyWu4qtbO5VIYKqHoZLVKE8JqCo+CSgKLCTBdSup/njIvDMoXc3mWpxL2YLnQiQA0YcgC +1NFstt9410hOLiNTuDiboJQqySXjujVVa2pShSaJMpAxtvWilSKpSpJk+QT7F2i1UrUDF/c7ys0H +AEcOHMVEHqs/hbRBMSIUCCrwKCkU4fJ+RTOVUkxOELhCB8ZH9eQok89R5ypgq6JUQYBFMSbJmUNl +jZNKg8+bpFIdSpYja2J1hEgvCbsYiXVLLmxi7RX7EiYqFkpBSJNZUb2TqFlSFTSJwqZU6VNiLcfV +LmBDUujCVWJjkGBcaO6G4QSPUoyYPSQEq5I7viKpJUuuK3ODJFfPUx4EsQeGDgJTOA== + + WbjDgihR3ZOq/0nUCCmC8yb1+EAWsjiJaqx2Y2IavCQURza1rcrcibKfSjExrYJuEJrlKA04tgTG +HNolJnEU0ouS/1h1RzYHpUeQjbwwx02Ux1AlMAlbWAgAMdeGJSpkOyTXRqkBS0lUjJgZyiJAp9um +Uhg+mUTeHf0NBo700jPgAE9imilEktiq6A5FSulsis3cTvFnITrYvgMhTJYsZvp97XVyRBpP/Zgy +Vb/EwdZEjVOqCqp6pZSSHtqp5XgU7gvCO0msy9r1sNXYegXTlmQ+JWVQJwusbWKXD5mO/zbpiBqm +V2lX+Cojz/FrU9rCxy+pFC0KReHzY2QRVquZStVVpSqvkuVZ+UhcGDnZ5/wsZ1+EKmTB77JlBf+i +YuAGyXOD2d2lbL/DmxorhDyqsTHYO7ZZs5EfoQEG+UltKYqNJ3DS5V+wqhLjn1ouYLEyl+WxQYdx +ABcmhoQCo0RN3uIApM+BJJwGzd1noyI1rXwUmXDuSeziFKD0GPuaVJGI5xFVdhDTEtJi+wgnjac6 +fD7FYXdw7QXmnnDPJOrXxvCJZIFbrP7tM8vGquvvKpVjvtrsaDd5tF/I9EIzCxnU48wPE4KdQhDk +5BoD0am0TiqzCe0pHNBWCRMnLISwVY4DpDEFpSwVyUL5KtyqBXOJkrpkxV2yKC+PmAhNKpfOuwGd +sfKDLDfTSxW45bkmLlkDl6yRi5bRdaYr7ZIkHRuHqTGVT0TiwOJgmDGWGlOOmTl0YLcqOZMUT65I +ctGoBIeLgkxykanIm4prTDwcYJqpyrw8YRor3kvW9sWL//JUIePRHnGpqJIrbQwqNLAsPhWJSpSq +c5lZKadDhQewJ1NleFx0E6/US1byJYr9eE3J9fKUeEfLE/+LHKMMeNpzDu5SQSLY410kcdMZaMtw +gplsFEyUIi1tlWDtTC3hZc8KJevkaL09zDCj52Og5YdlBRgowxwNqh9dmGOr2EtnWPelszf4Nwb6 +9KSSk6RSlggSCQSTJMhzvQzyg6cr7YQq/TRIL9NpIKSp6yj9g1IMXXtHucWJYr4xWtx4uV+8GDBR +LdiZptXlS0FREFBeVipvcZCKDThPCjCVzOc6GAxNoz6oVnyRLNBIVXCkyjzyuAVVYZBJPkKb1KUP +FLI2LSpR5Hw2VvhznFWqFaYP8V5PVDGQxE+UOiRrIarVSwhOn5OjQlICEKfiPQy4U9Q6RS6lK6jL +wDdGsd3DdPyT74/57PPnlkeRPjw25PltukzUIHfG89Klhnla10RBYpWaxUQxGr2WqFhL1bSlCt/y +VG/FsURLhddsFSBHgKoJStQd0Vup4qRU+VKikihPVSrxcqNUQVKK32itkjyZYtrEUtFLDkUZqBAN +TSAAEHe0qw2Xqr2hl+L1OakCnqplPtWqgdIVQ4nyjzwZsskqkXQlSbLchCJuHSoFoGAEUGTkI4vx +qgR+J1m5kK5uSKbalf3LTCVVfox8CUqFSSoelFVS4+wAJTPo6Sx7KhmvKiEoVoEnX33Om5uGSrWx +q5zKyvJr6dxtOr+bSPaprGwiJ1gtbxjPYLCnnEp0VE2HxLMmOtiHFERrh4LvrmJBTC6Qek5nJXQ6 +I528SCc4quRBUtmSVD4lHjlXwxG5hQp20TQp2k4JrlTcWb2TDE4no9fxCDe/BMi4VI2IfEwPkUdm +6ZN2yTgrr1siGFslXBuP1vFbLDil2mgg/6m6WSrTMBm54ncS0a1k+CsRsmH2T4R1qgR+4hEI3m0+ +BRxddXKIYg8oGFw6vSDTPje/lXDMk557wrmnkE36qFT8LFXqiBFLrJhbPUCgtO+d8M9TXjwJTcEi +FWEorAKPMQKI+6bkMsb916R/m3DvSKSnzg0lzhXFPSnSUnFnK+mMJR0Msm7iPkjCRUkYwHk2iZH9 +2SmSbbq80FaZoKRNm+dq2rjZmzSL49YgGxKxQyjJQypVz7Ekj7okj8LEDsvQGwZZGcAbfGohArDc +Ki12+J1UH55ko564MZUn6+sbcyN9nsy2qcP453TiJjpA4eAnYT+TwnVgc5FHweEMU2kBqif3qcAQ +2UVwmTjGICmT6VMKjM4R0OaR7MlShTbHzCSebOJiTUsV2zkU0adWPbqg31XpH2qt4ngoDL2gXVWQ +xYenyC/r4rgWhvQReUk7gE66c1YN08jSUO2vgJVRpLrKk+7igCcVZGi9wTDXRpZ3+NAIwYAhPXT2 +MBuGWf0uEm9ceWarszxdEeFqKSeQYZ6S7Vi1aCmYQ76pJq56jkSfQYzo6ZeVkYFVw8j5PBuHy/NE +B5/fYiD/jj1ZVAU2oscpAt2WhenAdiHVmRimIhcf8SD56zD5sfqCg7Fk2Ji8miG58VkbNzotlUml +dmjK0PF0WlHQyRZ/Uy1LkMG11dISeyhbFueNIpV4iOOZZH65vAaOOiaEgUMycfkwAxeZGKRcmTy4 +bo5lUehMHxBLMjO7fHPZEZnfDQ+0XXtd2/z7gi5opkUFA8Kh9kBg8tK6gPbnsxac7zI5rzAYQlDN +4LoCr9looTqKv0KqaQgbly45w8FTwHr0kP5MAFAjsYZkEGoei7q3qK+gvcZmd7hEGkQSnacUwPSc +9YcSWOW1V+zx6TSKaHpUg27gRu0P92xIBw2xlFzCdhHoFdo6BxpMzY7Uw2E7JIt8dvWUpbae/kwA +iNBBg/DYlrYy+TPtpjqTFyGEBpEy5DkFMD3p4EsJvPLagx2ugTO4bAUbOrF658PEJBxxQ5GN3hV5 +EKPqSqKAmc02TwTmKDsw+m7wXDBIV7WRmcctijxiyCY404E2JSoJvRu7wqcQc5t7t9kqzxIBSaX3 +Ii/qp+zw5EFyRB1egec8WmSTKikGSZYIdkEtanhgsYxXDwoOPZN0MagcMAqR0Xf0A/rbXVXG42mg +82jyCQZK8PuO6v6hJSW6KqFm0c9irM8zHX2shT3iGJBsaDP2fvhkMFRX9RmouQm9I6kolY8d47kA +qiYimxZtnK7okxjWUiehcGjVSicK4/B27G39oB6mq9rYXbpgXKqiFlB3tqnqxX0WJaYKcXRFHxQq +88kKyBG0N+NA8O0dP/568KQap6vK2MGULDrPLBRKPCWuH8caK4ONjOA57G6ljQCbSoKtGMxSFI6+ +q58TEbIlxw2mw70BdVCGS2AsD31oEeEm/ZzJq65gmLIxYzBbmdbxd/k5PUZXlXHVdDB1w+FQPrvD +2XOfsNGlpV2R5yxV8sqUkHT2NA6jYFH0Vf2YHqKryrBqNib12KLTaRT/573GETMdXuuKPKedZt4o +dgpokKqkKYYvBw/qUbqqjKzFELU4I3uXm51RPtUQJh+IN7lKsSvyJLpqnt6mpj6lEge6Plvd4ev6 +wWCcrmqDd6n+Exz1sNTGpQykdkF4q3WFTyGbKtvJUuZoDMSh88iL+ikrlAvJEfU8BLc6Rb1GPiTn +Qtk0NNW5qq7Ig0LVudMoplBnmSMwqaVi8G7wXDBIV7WRAwvN15YZ/H7NohumlivxptLXLMJ2vosi +D4a9fVVH3mpNeu8YGBgdLA7lKoXutpnl3FBv4bP69SbcppmX6+FrGokmvlgogIldVMuG7purgWC+ +0oEz/C96DQzHwDj/ooqT6DyMArUn321Pj6BKSxiq3w9/0f9khL+ym+xxSbuCpb5QdaBpS5Ay184d +wh7L3W295Vx3sTBUabPFdUQgH2llRm6LN9um9fI25h8TfB0w8qiRrQlCVXiksejfwEG31HD8LBhl +DpUCgqVDkyEwbFzYdhRZ5ufAiZo/GBtECNO14eMuDaLewph43aOhjvIMC0NEpvTxx/XbpuWjoxkO +ttWQmF/0HeHCdDDK+QUhNi2GGKOGgkuA5Qr2lnAsnNOEhjMRMw+9PocmjWI/MRyGTaliR8IeBRXh +gMU5kZEcHAlTwmChOVgAkBzpi1kxixfIw9F8DBGhYYrmIK0YGfXTpl25m9Q0sk36VWxSIfAJColh +jpDCel/O/gTN6/kYPwD/EZjddKw69yfvGAz0gqmL+VQwIgzbbez+FFzuEGjcK3W/erxd22ver+16 +w7bXuCwO5goth7kWmcA3Qv77zB3bnuACZyLjmZiPMKmJoecxwEvuWYEnAigsBqYtOGMCXcovCrfk +VpKUj8ewpAR7FQZzJjYWOAa0mUxgLd8EqZPaTLCzfSzq4a7yoMZ9We+SsZTzXNarrpAmbinaSfGh +JMgNdQgE5mMKH/f4hAYDD94zXBcce5s+46YG+6L4g8cjoyEpaKNiImGzf2M0CNop2dGfNt35EK/u +iuR4lmopTTD933bJCeYQEOzWTm6jz+lSx+M6Rf4MwamKSP+mjgDE/rU9+Xp71UHaU3NpT003gg28 +8e2g1CaQPoMR0RcKs7RUSwulzoj0c/QEYjIMO2kEv3WGok+Dkm9XHSM1lZQAjWDTGcOtK0h0cVS/ +w4mtcyLKH82Btd3LxV+GRUf9YLdLA2O6HlYuwot3JblGoKPXNuPqya6GRoiW2q29OkXEaxZVpUAI +roEG1yyaIBXgxbrpcM2iCVLimkVDpJGnDuG14ZcNRhhtN0wrlQbg2TtMa1auUimUh24dwvsebxst +dquroq5ZpK+zij61YrhUrszRNx9NMK4xq1zKF0ZG2u4t5Cu5od6B8cIaxoTCGtTCGlsE4UELU+rL +gDyDWxgiiM8vOtzDmYpzIgDhB02tpZJ5QsWhIyBLenzqnr7bHvkwtydSgE66pEeVTjKoi0FUOqNA +9GEpww9HATwfDQlmEwEQCvqb4SddVeeq5pGkS9dlnK8afS8D9B8Wpgo6kMkK0sO2uLakuh/1jCGi +KlQYUljU4h/+IIKqx1CFUoMb9aWkRWc4Pp1/xYohw8anhGUJMYHB0OqxsTjSljYa+SBcE9acpIIh +PNnvUpLLNCkk/8XglYqTUJ8/LKmxAS+0MMGWNCc0miXZD7Oly9MWMhUngdd8KisA1ISNmRUYc0Jr +Ztk8moOVDA4YisJNmllf3KIh5WA0PLJl+WBcUG+kmJGV7fzPvfNFtvVth6qkmFYaV9ifX8re/wIH +Qx/VcL0I0VI+zxdDRt6Fer7IBKmIiIxq62xb1rUttUc4re8zlLN/XZs+oxDdoUB12qN4SNTDmynA +m/c9g30NalBighMOyNi+gSfhMd6Hq2xL4hvilc8Ma2Vr+PmNKqfWEJmWre0p4dpe0051fSn5kHZq +p1aXq+0piVDnQPwxCpJhulQSxBapwLYNfis3ubFci2flgWvrfX7EkqEk07ak7lPlqPlRw7W6BrIp +uoOnzg2X7h3jL5niMyTr5yUkj0cZgoTaGC+YhOfKdGAhFUuK7ha+TjLCyeE+1IycgLRHt0f0O11h +JCf6L9LW4iF4XZWKID87vqNBdCmOpze2wNr9KCSUGQSKTUxDqMgz+G74WY0K34oSwZZnQi94QgHo +e2pb01Hc8O9ATqjeYxFKBBCauf5ie/DJKD06UxRKxIS0QKgaEZqb9n/T4Q7yldHHnw== + + Tj58bH0p8pFe4QisPQJMr3Lye13xsEOb6comDz3cW1yypDRUY7zh3vAQYCrApkMP2JOr2sXIyA4W +daY3sThe3djiUQdyhOFZPzx1oqjuUXUMHnbgrnJ4QNTm06sYBXcdPnJJYR+BxXNU2YIXuRiU4PIk +dkDFs5SSTyxb2ElMRV6ppRL1ZbJUy16s3UKA7aCCN/jkfZ4vnRAeVi4xCL5igwSio9F4HkxQb0k8 +eox9M6hk18ZGkbRX8AQhNbVxXW5HgVU7eCYce95iJxBQoRzqE1SQT5fK8KFYQ2ITJZPqgeiIFTdF +Idp5tjoExqesEIZlaFjbjvct0NFqusXTJyuGLkoKzvdQezS8Z8rm3nyYbXI9g+5t4ZIhJJ5w+DYT +3cLVCneIOsmKlx1ZWNfEtUgEoGYjBjUqs92gHaPJNc3qIJ2FZ188bv5pcEWmiwed1AlaRx14EngE +T/VtlrbPAUVQG6rfCt2e7Kt6fWpng2eVODwL2kW3iHX5oCKwADZqQUJZRM0EJ3LYtPr+vBYPs+Eq +XBfeaj5t2tR8fnTw3lIlh8+q7XfttMgjs/tyw4VpA4WhbtitfXdM189M7eqq+tSMXCXfN6c0rdBT +Kuv9fO1dn/nB9K43OyxfUh9pdYpikCvt6QYni+6V9uj2D0PdYUt9u3w8ja4OIusTudjFQgpuuMnb +C/sm00FkPEnvU7oY6M53eunDZsghnuqKipde0GVcDn4GGI7qErG7lYe3Y2ApOneCxrZDHtUpcgtr +gc1BuRsD9sdsE3SSgm7vpoum8nTbt5AW3dmEnb3pBL8p6Y40qpnFZg3YFhvvLbD5SCAaEEgaauRA +DSbAkYSvWyadpKKSVmz6hwDqIqPO6cH0XYRxt2bMhmEWDJOdeBkU9gaioxjYsgCvIVO7y3E96hfE +Sg9pRwICG4rwTcHUpAcfcKXeW/CsS40ZMJTG/efxwyDx6Age9QWj/m54rk44emtZFrfAkXhZBXzb +pwbZtFVgI+Fo2OeJygDxtB5X0qMlZlPMXmBJsckdc/kWUCQiGnXt1O5HbS1X6rOqIBUI5mFvXz4L +6/PVu3TNOp14iDMh7yxs12GRpOXjo8ibHhYXYk4TBYLnYX8nj68bw04RNl+kaFuCW6QDB9FSUot9 +bg5MB+mRQWw8HIpXGQuUx9jbVTXQQ6tUsSaIKsHtOvEUoomk5jMHBpEOaWm6WCTM/U7yfJGI7eEp +fD7lRjyPwhWPpHmocnxs7UJMzYfvTDyCa9Mtaa4kk8uUgu6bo84xeB4N+QaXwuR7VKnvqqCPYP9s +PHhB10gjObGBPRKY2gtafH+TapsExi+B+NS1XipkeF4ePGptUy8vUGdKDtOxYIrbYsSWOMNC5UdN +NkxmTJDwlEnxVWNWi8iDQsNj7sAdbZID7KlGStgvlq4R5b45PJbbwYeuqXsytc73sNs9d9cDxWbS +tuDOjHhHKTh1zJgmfZi6KnIzcGrMpRiTztDhtuRTyiYtpr5dmVUqfU163OFJ3UdrUge2thQLMmfi +RTDCZS60XVU7i6cQ6L4fathnUtsbR11oaupWfCZfTigEY4397Qxb5b2wclnQNRPcvYEyYrg7DemE +SCFnYj9C1XZOqF4yEo98GcSILDRBmdKhGqHaEeCSoah2VKtFzNNLnySggy3bBPaVh+/TZa+qA4TB +Sh8vcsXDGNT42KI7kwzseUlH8vnmeCWVhBKJRFGHrlfAw9J4jYrZwW2bqeukT5wo1XUFJt1W5iOu +jsldKQysnaCBWNDYvsv3/Vi6LzEe53OoV5hPVCbKWbRxyJzBdTA9mwQCnTBVvGlSdRYf4caV597d +Brei52bGpunwlQmePoCExFMtES08M0lVDsKPWB8oH13L5/6M1Gwjz54VN7ZHPxZPEQFqwhFKXpkW +97A3+JpT3auGTzyZSijjXqFeJYY60I/9qKn0IMGDzJp44hYjBwgGw8xSN/n5lksbinpgU+fs4GoD +zsvwXHDD+9zmjptQMfXplKagS65stR2x2MzHsyUk9iXdHsWsKUx1wo8O9NINF3QIw+CmeS42uMCj +Otx+jjkT7QWXWgeS9gaVaQdXMGG/aTy5ZfI1Kaz/QbjShYvUNsjDzhgesYuk8Ct2fvfIorUln6Y1 +8Vi3S12YqG2l4GYTyJZ88RWervVhgZBs+F+llgVGuJFuJDSxyQ0maUy8J9gylXWp2lIKfcING8hZ +1PZI3YiBx9fBZKcLBjyWEI7lhE0oFWdSjYg+b0GsaZLS4kMZdH2FxycHTTzioRkTvskdU1V7btrg +6iILKq3BS2Ndqe4aFo6t7QCJEgINeTK8MKJJx3boolTf5t4TruuoJrd4JIUPMjKh6O4SFJZIWtov +Jrd/S3EgMyY1kKIOySAfLZsLKLAFkyoRojPeJrbX9YnFUKKg3vGYzLoTAl+eyP4YyCafVDf3uBRY +AWlhoRfl+INGLBadz+DzXnRnA13EKOkoBZ0wRvQE3b3E3TryFPR1TLKuTOodg6yG0h2VGbqeGK+g +MIXq3cavuNhcEBeAjpo7gpgYOIjbNDjcyM1VXMyOHl9Ixo1csVcHNptE+U6naanjvCAl4Kj2Yu3K +BBSeavCB3ZS4baG+2MIxqcsYNnzmNyRfMYzc65JkxG73Nmlt29Ir5Xm0BamNnGJIaumob7EyVcMn +6vhhSvYGgL/4Jgc6Xk+DocPNBr0Irrw2fddT9qjPl7xjvRhzpq86d9NNxqTGUSBy5w51ns2ko+/c +kZJviSUpotpVYOSIzubRAIK7G2E1GrGkoVqXRTmPGRINRY88Vz+4z8aklhaC5Tt1ccMTyLavlLZF +Ox2sbL73wzWV0SexrwC7ltT8HwdyDRU6R/vIMpRzJJUtyWyJbWqp4SoaQagz0fNR1yeQ88LHiqkt +J3OYifayr05gw9YFLUHBMcIXWwWjyCZl4wg1NdMD5SKwU4mHWsOnWy70vQV0xxNf3BaYinSlojIr +bNWQh0tp0AoyfHUjlcQjeH6g+kmZIEKCercwhdjXQtvXZ+akDirYac3X7Ox0qJZ33JXH59a1KAjo +kgEyE6hzNjYr0pwpwQPDkJFq/IMTRasbm9Z4jhKWtsVddjEkrofi3rA+HxUm2Wf66rYHVMKsvKl5 +sLD4tge9gaRUpY0edU0BrA1175C6uwf0gsPWrqGiEbipJLcoxStpbG425bDK9jxuVRxnQcWZAn1F +tq4xv0SciQxJVanYs1RQUZ3LhiGevLIENy5Vi4MutZJiNvdGNrGHCZv/DvV65kP5uEMMQ98sxe2F +LGrhgxtf4E1UaBBJj3ofUA8Ek1pmUD8K6g3KXOYKhy+x94j/DOwsKej4PtkAIG5c1teONnxhOIoJ +SL5v0oMniS/JzsYpoKygTWHro+N8jpOsXb5ewCYXw6Km/awEuGkFeiXKkkLCoS0psNmvy26uhx0t +cAp0ZxTFtBwKXrueF0gj1zDCu5xxyejmNk/dPUkegW+JoAWn4kx9g4btcbgKVQ1ffm1IPlqnOhnS +TTJOsHWCS6QAIZvYz/Q81tmO8NhUpQmQPBX6RYt9K+QUatNMl8pQo3/qlCipZ4Bh0sVUJjXiU9fu +mdJX7AqMQNcEW1SAR7Rkjy7Og4o1UeRIds6oESyyps9WEc6M2+pamhOxVxlHWVQoCIOkijex7ZOj +IiSgWShkQurEoTpgqVwGOiYsFV+6VnCMkfr/UhMibsqDK2ZRhx++TEzZCi53dsT2dqiswSTgvrTU +dpKaS/rEGmCdqiCxTwedsFuqG6ptj/t+oqPCzdeVNmSLSKKIQVLSbQ6+umsNRRelrExl/Au1hMr+ +Al0vcE94QpneOvCrrpuQOvLrU+9RxcwWemCuvmcO96+ka57VPTkW31TXJtS1XootuQsC3nrlCuU/ +u6rbh0l7wKEQOl+tZbuB4UBXGZCN4dAK070W7O2YjlQRIvJ6MZgqwqJVEvhARQKiyRoEgGETc/dh +dd0YxUJs9h4xe8eKHM+KYUdRGI13H/g8rEpi7MdcqUKyuD42G7GDDPQdh5uXuOz9Y8SEu+CpNhCc +H+D4I3UyUHhjAlJrMJ0g8DnqzRucotxsKAQ9xDhFwLKBOslyjkDHublRCViDrsdL4KlbryhLoJaF +updRmoDRpiuyKE9gcZCdOq+zc05Ts/l6a8oTaEMYe8NQosCja3H49mR2nNBppJg/kYlSBZ4b3gIX +ElJwk3Ped55NDXEk7SyK1LgYFhbcLdpho8kP+22RSPXIDKUeSJwlsCjlQoqPoutklmDndXoFcwRA +dMoZYKQWzSsOCOPxCs4Q0MV3OmfAfrJDVwBzxkDd1UD3cRgd6mYl7p1PQ1mBVy6x7puzBTo3IFno +CbRxOTWAgW5uCax2LFjpiDb30lGJAYwmqBusUlx42QwBuqDgxXrjZwjGif5P7akUysGzNWQT6kkQ +BLlSUx/IalueLg//Ys9rzykXB9tm5Mr9I20PXru8WOlr89tnDxTzhQevq55x1CX+tR/VNow2n9rD +q/smIn93qb/pf7r42ejvkeeGVDW12cb/d+2CewGRkUqZlm8h1qfMR/FEZgd3zWnnS1c9agzHyRCD +fmfvLfI7t8HqudzXO0z+Pt9Txt/X7ya/Sc9Ef6/l+4K/T0U+6vv63eQ36Zno77V83+Lvk8Wuvq/f +TX6Tnon+Xsv3bf6+ZYbf1+8mv2mZid9r+b7k75uR9bUi6xv9puknfq/l+47in/DzZmR5o59047/W +8nGXPh5Z2sjKhp+Tsd9q+a5H3zXDSYcrGn7MdOO/1vJhnz4sQmKb4Ywj3xN+/Nfg01yPoIUE3T1j +Yf2YalVCrqHJlMXfYfcM6Geiv/tBgxGsbLjc3p+NTqAEgfl5BhqJH3IbX9yYNCA6sHyRraTGajy0 +sNRNLQhlrwBBFD5BEF0NTCDHUu+qxsQMpfglQh39qlAAuh4CIRSxCkD6TUlNg+MPYtECf8xRELI2 +9TyCV8lvogkLNSo/JX3Pif1t6xuuApAt1Rs2mpqe7LA0gqT4PcwEOOEs+VphhCp/EkEOg0wvfFWD +/AhtQiiHa2nmNo/KNrbQd8YixNBGI1FCMCUAqB+ULj/I/d6YsHRLkwIFSyJdkXiQGq3SIFznIPgS +YUbMtMN3XUoAI9QmqwdBZBYjyDFcDfKYmCK4kwqhtmR0YRXVuOQ9EwhPlRPIk4qzKJao36ULcBBI +0SWCaMKTIwYg8Jc9K4Twm9h+USafoxWlEcjQxsv1XJPRIjtNvyqxGTqTgDnQVtkmpJ2k45khyOYi +Wv1uAHWkHoQvb/fsDlVmYlNbQoLoAh01PcGvCkeoMbizM4K4YY7OrwUg/S5frBp5EHtvCh5EY0H3 +6TJENWdlwtPdtwilRs8EIt+KZmLppZXEoHZHcCkPQamWChEx9M7kdsYI4rIqYjxHgZT7xlAKSiPU +8/Xm9AzGjbsHEwhN9AAUbgNbJB+km97wc3yJOu0zRT0rOCNp6SW3dZ0RgigtiCArBQ== + + MdyQUgFU3X1HX9NElsLXo9pqgYQXEU2mo0hKopY3rs3vmoGg40bUHjvBIaV8RWVqNMaEd9TnlFuC +i0b9OxEUZG5wyanKAqGGULzMv3l0rFyxKCWyAlDAkCYxVfRBqRaI7gtghqeu5XF0McOg2IUvozLJ ++XR5NVRSKAqiEJh+V0ElRQjV1yyWjtwjioe19Wb2wxnzJd6oADjjIdQKEsi37Li8cHzLjuwgy449 +hzczCB7WCQQ6pQJZORnhNsD7aJUKdLV0dPXn+CL6lJLNR3rwmnEzg2/qiGt8uqnMDTV+9Pfwtoo6 +zYyJDTRRM8NWWsYVTIrBGPVc3BAgCAY0lMrGEBpoK2qehyDeJqxIUJUiSPgRsURiy7X05XMkqTB2 +jSDO3ZMt40ZA4Sa3/BCqZ2NTWD/2Oud1aRBLyS/WZjQbL5wNNhFW09ZigzIYhJvrJyDSDwVOABRa ++/FN0wgylBTBFmoEoWs5AiwwBklQVxsUZOAghAu2SGQ6EVAgqajBhYYGBCBZCktHua0A6lSBUb2E +hvKsuQ0/3r6orSyOISMoVGMWX+WIUKqyZRDpIgRpDRNComseQA0OVyOIrjBAkKsXjSQ8QqQVyleO +hyPU8ky9HOpjRAxGS1ohKOA0P4QFnEsBuNjLHur5+AhUGMpTMb2IveMy0JFaCFGdPeFleQlQjAAh +1JFa3Ss6USCWBxVqxQwRUp0zVLHlUbsvuohUrRiAAgLwFeEJHmC7wLU4lTigRawahoRzADQVE0lX +am1E2WMEceNbQSkRpikZwIHMpnVFqMn2va2qvghkKMXDNydrkH6XbhKJPyjMxMcEoyHCCD4bZX5i +dpT9YhwchYPwFCcTsoFlKZVgitGFL+CN09Dm/ZyGUvYnsjBo8DhSLZ8dWLpqvxlRdS4DfmB1Zoe7 +0ORLf2IgEbVNNVRzIX7OcGK8isOaZpKntQkQYX5bXW4c2SI2VyYl9pfNofDEDrNDNg5fDzZOMAZf +Bxvf67aqdyeZoC0YKkgl1LRpryExEgRAR9Gda+AjwgobEDkpqWZz4XN0f2kbJ7aMSrvF9pfNt/um +uIDuc0zIaLwGyHDTUCrkigp+LNu03Zh2UKmBhBoBKJX5hOomIH2ok6KgUHdFoUrH4deU8tKKEIf1 +tf6OWoB4AVtUtdpcWB/Rv0gvhUREfQd7Kaa+ba5Jir/OHnfERuBetUljwsbyhZjRYbOHGjVNbGo1 +m6ZB3N7pilh8bPMFFp/jhoaYNriobFOGxlf0d8edoMU3sYEmHljCq13bHaw6EW5g8LF5pqEM4moJ +I5BhfIs7g6K6yvEMfjdUanSvOYGcFCRqhwVQw/O0v6W/Rpmg+LDkWYXxDzU/vraXPWJHgYSn1Ty1 +atKggIGc6IMBS4roswzCQv7oIHy7Z2Iydgdf4xaZta38nQhuEZAZ3Voh1NGv6q9pitp0LWKC8rYq +Xo0skc2Vz9GFxL3hWiEopjI1cCABdFw7IsPInnDw8KhthlCBGisFJaGgoSwUyIBEkJYbpLgQ4DoR +4UQGKUJ9rfdYEjmqnDsBiqqzEKq8ca2lAOSYWhOwiEWQCL1iPhCFQDJJWIqp+XHAlMU4Tl6D8knC +EFSTgLuzp6AW3Ykc/Shf1EwgLVL5SmqaYoRBBF1KQLhoUcl3LhPGWpSHoChpQmhAQyqfiFOanfjk +ktAlLdGVY3Mltrp0i00ACgW0U4VlTMGsSUsd2KWeZo/wUe2ApqCedGPj62BKMEfsnm/YSVQsvnc0 +ijOCXC9GmSgo5gAE0EBIcdU6rYiOLvikgRw6ERL1ALz4GkeQ0JxgqSKSOHtpRzrOSBh98+w0lEJO +sW/yfXuxkdljJu6KOCnUVYBQsWJ+VYS5oqAoZUJoQEL9tZDOwaixBQmmp9fN9hOSw+Li3ARvRQgQ +4y06REmiC+M9KWhEyiU0YGgCmMmgj7rSPqaN8XfbCrVx9HcpJ2gCTGygiQd9HO4y4EdzS3jNqMtA +lVqy9TUVfpBasvkqdwKFqSW8EgK9DITqwD5XqCHE1QF7OlwSgAIdRmcX4g8aenrarucArp5IIGXo +0DnNWGijj6xn2w/SS1FQmGGKQG0ZvGoyxNK40gFahETSTDpTgFCVZqKb73jCoRsXgvwInUKoSjPh +IC4jYQb6mkK7CAnTTNo4BqhOMyHpDCadERi9nNjQoHB5fD/xoKNIrLNMtoq9IV5hlgmvaxO8aDrL +hCCf56ezTKgJ1ZQjWSastnJ5EJ1l0v4QglSWye7gS1NwJexI7NfjW1P8IM2E7Z8V4XX6SKd+NIjf +lVwyGn+Qb5+iQTgHhFFqxdyRRBOmIS1fUYHZUV3xS9RTiaYA5EUTTRGoTjTR5wiiUgKS715HSCTP +pEr8EarzTCrXRyCVPpLswgegwJX148/x9X0MCpJlHiV0ECSiNpfFc9FpJrTfqE2HF6SZtKGHoDDN +pG0f2wvSTLYy5hEkgpQAHQFAkIzYTWRBI1BlmWxVy4t0MvS+kGRwa1C4Cxwv8SC7iPg5P/AaHUW7 +MMtk6/X2giwTuog2U8WyUpAwyxSB6iyT3WEHNJY6icNOBdHYiwopXz1oaJsJD1wRyAxFHhmuCAqz +TLY6/whQI7BrqSabQEHqkq+FRZBwohvI4jmHWSY6o9puu0HySCp3RYOCDUS54NiDtqs/p4I0UuVV +4/hK2OGuoqBKM0lVvwognWaKgCJppgDq6zSTVEk12w/STFKZXLSV/XDKHElBXaBsZKnifQhS6aOI +vIjlmfhW3MiDNt0OyKBAolO5JCsqIxIXoRg36UNX7yFbf87SXllc4UbzTFp/sw0kFN/GkjEsolGc +RZMxfJMsQoNkDB/ZIRpoU87Ao8QEipp86kCOH0nGGBQ7IjyYfkL1ntEgfhdP6WpCh9EcoSoPYq9r +5antT0FXX6rJBIuOh+elXjlTvaqVk7Y/I5AwlhMBqrgX34mtJL+px3QtpUe8CBKmkvI62ibw3D1D +VEhOKD9Qg/Sr7M5qaIA/+b20F4KYoD7RnIRy7lhDGSQtLbGlGp2tsLiwx9C1EmI6wImXT1ksTlUU +NAoJFz0C1dkYujJbSQ5XrxodtCRQGKIVag0RqmK5QlmLXhDvFdou8OLpGCMQTpF8DJ1Jjb6Nxe2G +HxvC4hOkPJeI0yFM/WCQkOGDPYSaTsgEoFhCJoTquBRdZYaAIHZFd4Ay4SNBLlOL4jAhY4byT3tY +RLQApKlHh7MSbGCp+hAyhSKOHClZsiHMSK6T7/lGCaoyMlYH36mIIJXzsEIrIpKRwUvHHPWgqSuu +WFMSSNcJ4RXvISiszFC0CB9UV5xHP0fn9nhcKxxXmz7h/LiMjLBwFBbc40KjG2S/tLUWIw23ikiS +kXrTpqGB0RKsjbJvvWg8UyvsMCeDwWepdk9QYuBodtU5mSgoyl8BNGREFrExdnUchUiMr6nLR3wD +uAFfB9uEixjim8xW7kR8l9l8Xiv6uh3ZPEFShg5mJ3a8rcz9iL5XwUHCTSdlNCSWlAmA2i7kiqmI +zMIx1baLWbJ0Xju6x2w6DxVbR0wnisjShnlHM8UG6P8LkRTWdqj+YlDTsGVMA2CywHNjagIp7aT0 +ic2ddiJ6J6C9H0nKhKBYQiKABpE8U2uxMCljUkVnXHXqE+kRHatibBE9bKvliqvxYDP58ZoKOsAS +fV01+4nbCnyuPGlUuGQIx6wPvtw+ZqO4Qnvj0aqKuOHTFavDiWVlbCuMlOiICPd5CqMj0d9ta4Ih +mYkNNNGQjG6NYjlR009bl5YbNf2w9go5BaGBO08HcxAUpsRc6oqCoOjuBIGuHgxybHzzH4ICnqEe +GAEodIOoA5AbT+TRPc3x1+n6YR4kyIhzUyo3zsAWZRVp2prTqWEGI6f3QwiKbpwQGuwwLmpBkN6G +VDRiufHdavGxNDeyrdVRejey+Tn7rUGhAypCYEAC8jdh8RJ1AbgXk1C6CloDGYKSFiGB1LNMxQxx +8ejzmxExSt46ggJZG0BiIllDtelnc2cqhLhhVZ7D043pAW6shtBAYYCOUw8GasVyiSOduFbi8hQN +DZPfdNwq+rpH1T6xQbgAhmYTTfRQxAChQYED94Ih3HQZRACKFwsEUJ1m88hDRUiQZuOcO1E+kmfz +KH4VWyK1B6PrSKeWA1Dgw5NqSHIBh08sN151wr08LCdejuN7imW08Qd+LB6zJ5AyrqQqlrScqPGH +R+Rs9aCy1qRqI0EgQznopikjIP0unddLPOgplg4/x2ENGteKRBC4hUN0ghxkIjQchQbHTjS+QRiN +0rBx2uAxPSNFR3T7Db8KlKo7Iosj6epdtYR2EBN0XLXWkdgH29XEFGz+yXA7avMvChLRMJ6Gal6U +6khihGNxXMtLsjZO0LRiewAr8V0Z2yl4JEKYyY2GcRMZ2X6aCgEvh6+H+ycYxOfuJbFtD1Bhqi8G +4R6fRaQT2H8RUIwKIdRRxOckXUR04eVQvp0UcQB1PT+20XRMKLaWStnFNhreK51mBD7vGxfXko+o +pqHkwkdUAIxtunZMUeB0lO6NaBSpWmmHiicgfqidoqBQjUWhSt9JlQqPaEVsJ2ZqZR6Nl3EPqVDP +SlWCE9HGUtUrxZV5sJ9iylyqkv3Y65ygiFgMyIVSK/PIunPBTcQGwUZLWpcH8W+K2yaJELd+uj4r +PmaKyBrr8Bhb8xEGsdSx+AgboQ8uRJLfsGufElNhOMXXEiUIp4SQaDglgOqcSuRrhsOUigxL1ZJB +TETPz6AiKMZCibdIRMQ0IooyNLPdyIOh4W5Yidc9DLnHBwm2V2w26pR+OG1LlcdFkIuA4hWuAVSX +AgdfC+uFtf6K1RXz4aLIGukzLrGVdG1TJLe6Ci3E93oIpHiiBvqKnYljA/+Pm4IkoRSK0FACmaZi +VlYz7BKqjUjbIvS/LfVgcCyDPTZk9MA4C0EyUogTQj1dvMrufMwsZlc0aT+b3DIyamhzejBmjhsU +d4kLgJA0MQfQwZZsaSilcSLfxPNslheTCpbS63GpYHE/4ahUsJRNQBjrgooQFJImCg3Yi4/WRSit +jyjFl8RS4c7I2unITmSFrdAOI1C4x5LsgYUNvGU9bAYUxPBiPBNGN7XWiUGpujk2OtsisTlSL9IU +MkLpiBBpuig+TpoQFKVhCA22sjK7cEk8/TlL6wgrGmolZz22yAEWISuo1oYJ9uLMQ5yTBDbys9JQ +6jcT+SZG4wPNpkUppxhoikYohl1Do8LpFx2GjnBXFBRSJgoNRL3+mqZzZNTIekSmpxcOMwAJ8SG0 +6RJjrggJYtxhUeQFxRfmjlPQmKSLqcFo/UqihNWKHFm2IkeWzcgx5ejv1kTPRk9soM9bvyJklfoV +IVP1K0Km6leErFa/ImSyfkXIVP2KkNXqV+IPGnp68foVIavVrwiZql8RMlW/ImS1+hUhk/UrQibr +V9DP8iPFIFy/IsJj0rosRchU/YqQ1epXhEzVrwiZrF8htzJaBU71K0Km6leETNWvCA== + + Wa1+Jfago0icrF+hygmZrF8RMlW/ImSqfkXIavUrQqbqV4RM1a8IWa1+RchU/YqQqfoVIavVr8Qe +5PoVIVP1K0JWq18RMlW/ImSqfkXY1epXhJ2sXxF2sn5F2NXqV4Sdql8Rdqp+RYNi9SuR53T9irBT +9Ssidk5a1a8IO1W/IuxU/Yqwq9WvBGEvZiniMjtVvyLsKvUrwk7Vrwg7Vb+iQfH6ldiDXL8ShCXD +eKKwq9SvCDtVvyLsZP2KsKvVrwg7Vb8i7FT9ikgcG+b6FWGn6lfQ/HSDsnMqUBF2tfoVYafqV4Sd +ql8RdrX6FWGn6leElapfEVa1+pXYg5zJFHaqfiWOr65fEXaqfkXYqfoVYVerXxEyWb8iZKp+Rchq +9StCpupXhEzVrwhZrX5FyFT9ipCp+hUhq9WvCJmqXxEyVb8iqpyTTvvnwq7mn2toe+j/0gaP++dx +2aA9amGn/HPym5wkJO2fC32QPva1pH8u7Gr+OUIT/jkxadw/16C4f66hcf889jr757FB2D9PzoY9 +6si0tdsdQS4CquKfh9SKfC3hn8dJr/3zyBpp/zy2kuyfa1DMP9fAgQSQeCnmn+uIUtw/T0FdrWcT +/rmQKf9ch63i/jlCE/45qriEf06xsZR/jtCEf06bNe6fIyjtn5PdF/fPacPF/XMNyidIU8U/T0FZ +TcmUf04jx/1zmmLKPydc4v45YRz3z+OkiUIT/nmE0to/jy+J9s8ja6f988gKa/9cg6L+eZw9lH+O +Ai3tnycfZZsxBXV9NzG6smFkyj9PIkP+eQxpdrtjpAlBaf+ciB33z2lJ4v65dm7i/nlskQMskv55 +kr3YP49zknZOk1BXGcxJ/zwysvaUaYpJ/zzQeqHbHeGuKCjtn0dIGH4t6Z/H1yMyvaR/HlleEarr +Kv55kjvYE9e2cQqa9s81MH6+JOafm5FeH2ak10e0vUfMgZ6Ydz6RYSZeyEA3MGFD3IhvLrkDPkGV +cy472FOwAt8cjQtPvRr65lJJMtPSvjm2BCUdavExRQZxPkuBglepVi32IGf16WsqY8Jm7//P3nt2 +NZIkC8Pv5z2n/4OAxiNR3uBl8Y0TNNA4IQlQIyQhM2Y/PL/9zYjIrMoqVUmiYWZ75vbdvb0oK21k +ZLiMiBQT8eQxU+cdct3c5CIzZJ52xeWnX+Tr5lKpYXpNKVuh0M25sgglkm4utCt8kEK1RUWVivz7 +SL/IleDkl3LdHBaBepEudHOTp1JRdVk3F1c8qu7p5vTOHBV5VzcmX4OkmsOeaWaoHmXPVXVPNze5 +Pwmsy9fNoZSaCtXcs6Honmpu0nMcWOSr5iZ3JcYnjsT20K2eqnuqOStyLepOUs1NHhoKpY4t7jYF +3IXGbYkYYF1Wzb1LDbkiJUjBQYhaW8SLYCa+Zm4JKqZ7Wq3Fo4sBeFwz94o0WTOXSoVmbnkhd0I1 +tyj0DrLg+pq5BW9cITA8zdy/2PY0bot7f6ta8DbWtWkTJBXepdMrWReIXEKRr5nDNSQdL081N3m6 +Mnrqg++trdBHWTU3ubKBOczFGRXBuZ5qbvIYaSjyVXOTix9QynVzcCegi3dP5Qbkdhy/yD8F5AUi +VRS8wtPNTXo2hcDsX5cbPIG9UM1N/igIFOl9Jb5qLpUK1Rw64zDmmjmMyWcW0FT5A1Wap5mbKaql ++mTRJEolq+VAjMkLyFPLTf5eAz6gJo6xTZCWtXLxOhOUKmJylHMDcq9zpmyJYHlV1sotcablivj0 +HnbHtXKLG6GCa4U83xxThFZupRxks/C6DNeBpCJJK/dKdaGVW9wIAUeRa+WWkL50opmiqWHw4y60 +ckvsiu4p2xKpkLRyBhe0lUoVwdfCITJoebScMhMhi1L8I0BmLFX3tHJTZMjWPa08zGpjtHKDu5Go +WtC1kL/FpgddCxWCvi5lhOMeYjqPPVB9200oKwc+lkqM1NNT6Yk2OUeXS+G9oRRf/I3dUIovkgAD +zS2Ub1U5xRdlO1VDKb54JLSc4stjTH5cs18ku6P6pV6WL/5Mo5TlyxLPogSyfFkOZ2pkcMK1aZwd ++Gm+yItbFHlA4FgZyPKFzwfQeQj4twv6KpeSvU2VU0RZnHD6WrylGBL591Q5rtxKZgHhp+XbDvyS +gAYpSv00X5xLSVm+LEWhiQTSfFmqaOr5vHNJUU7VJW5Wgt6FimlJFX0vbs7vfO9ClWOK5F2oCkAF +vAsp8kOV0ydRCIoqJ1nyigLehX6p8C4kTUzVJO9Cch5XtaB3oSrIse9dqPhE0LMboFecqgUtLS5H +qSAeuPx4BpwLKSOWGsr1JdiOlOtLczkqmJ6J1pMiArm++KO+cnouep9SlVN4GYorFfnWbA4KqaLN +N9TvjpJHqqFsX57o40+QbuFUOd2X8DwMpvtyhLQWgA2lBlHDKZ1MLaLQk1m8reHSrZzti1OQULov +oc9L92yWwFeKdAgWyQjmlfqYKHRqCV8FcwgitmWaeugEWB5ie+eE7L7BY+Zd6wVdC1WT76nvWugf +Hs+1ENWT0Jk3PSyXLPFC25FcC72igGuhXyokQwFyybVQ5fw2KMyqtuYGThncHerBUwbOsfKei7aK +offRYHDCNdwwvTZ9LhgstTkj9J0LVZW/HCM4BX/NOMRSTHzWTWY9Hvh1ybnQLwr41XmlnnOhaipB +vmiScBhioCY9aSpzWri6dbgW73kHKpans8unjM5TKOUXBVRKzSGXmsr5vh+OwKEaDFvQ+GtZvhBC +yoksqVDq7CAMwuJPjG+h5kvd/t2Fxq9dJQzReNYeCY9AdBdII99d4NNXMmaCRM/xyDNo+SXy3YVX +6t9deL35dxfesNJtgTQ/ca2gcYdj6bRqPEVp8KyLS47gYRf3HAGOrPI0M9LdhWpxZhC4u6B3sKRp +6/igTWBxUlFArvBLhfzh9eYLKaqQg2RhRjWEiONJPRQbHRCNFMEzAsGa5EsdPOtSaeD2gu4ZUWmQ +TYUqx+lgKXFGXTIvcz1TJLjFIgyEQqIgmZc5s9Ql+7Jnn/Lty36RbF/2Sx0Rh0kJwQKisYF5isIy +NH8nNZBPF99UCojk/MHAkETvwSZgSXaFpSlYqnGzj29gpsSEEmHQhO4ZoAwavG4UpAzCrotLFhZm +v0i2MPul3oF0TC76+yZmRxB02cLsuELO53un8TtXaYc1ejHRK/KOmRFGD4hIR/SSbi+0EMqIUv5I +e7jU5uZUf3D+ZJ08Rc4vQmvh7xzKa6ZE6AHI+EUyCP1Sj1RR2ibcEUd056mG/vWFRi87B/fYW4aP +CZRkKoheYH1RItCLQlbCpZ7W7fUpWKA3rqIKs7B/eQGGCrEQErRUfl8soZZc5MNFLuUA9HvzoeyN +GtgOgR7ervnCg7e3Klml9eDVhbf8AGp4Uqd0dSGVBuhcgAvuBbJjgnOhnw9dylLu3SiAJwKk/RJ3 +CeHfyR9NkfmO0X7cyZCIn4Kg0HXPbkLmXq/Y165ANPKKqQxzFVN2RuEEhodXodc4fcWAgoAVSS/A +97WhBGi0HiqDB1Dl4GMqVlzP80916Jk+xfL89MiGq4BiYEv+ccQOIb8lJbvFMng7NYmv3WkuV850 +fNPOK/PkMjRUecV+jJ9qhntwdDM8EMX9KagfqFK4HdI9ePBY08TdPDyKimv0PDR5SQgYolQCm+jO +By7lF+jbBUdX1fB+2S7BQt5Xiqz1yjxYoCrShxkWrTGqFHLYgbRUD/TQV4o3l6KUZkpmcKAR3lsO ++NYEZtkzJQ854pmYjk+X4EYp+0IlSKUDgIQUgIZwcuPPqEPWEKGB0gaqmDVEaqpTIWX+8/FBRQos +AEsmTl7kCeuIZqLUO1yIkIHmXIxDEh7AcMxu6MhGHZN6VL0En3RgMJ+jgJ5XFICBV+q7iBAOIQ0X ++RPIdI403F+IhnHWgR3SMMAssI9cdOJFnm2ExK4QGgh65LioqHueRaRqBSrrPISsrxSdUsOl/PVa +f15gVrKcwOx1HoUKywS1wzPCkYwB2RtVYagi60zK5NCTiwLQ9UrJ7Ym64xuteuZil6OJtKm6ECP9 +3Qe7Mt99gSP8paIghnn8OIBhuvDSlVtz1wEfjXVxsRtAd5CdCViWn/SD2Kh/ePwSCQJ+oS/CkxgO +TzuI92cMU9XC6OVlCZc3yOSwk7aRPNaD6KWLJLkh9KIYYAWuQnUpJ7Ki82KN26wR1Eg9HUq9gogF +79qyItuF93u9kSjPuQJvXSvC9E1KuoKLFslU8EogRE/FToUop07Jv2WCDGBTqUw1hcOMoXDeqwQe +zaKHPzCxsoc5lCIf0y8rQg/zymTu4hd7bAh6JI7uMytuWwzzNd07wT4LFHl3ZE6pcy/7EK/V6dn1 +MK/VyY8i2AHdfcBAhvdKHOacgSJ0CfQM8DbxLMXwH9ShvxR8Cl28aEZ+WJDLGtfm3ViEoWHz2cjw +peBYeLxc0xVfqaXAYwXPmS5RI4tmZFqUUZ9s38RDLUPYKMGlWFEJt1CK9o3pxNoh9ZYiiDbaIRV6 +61swC3S7UvAdI8MMkV7IIotW+TDt5UgnC8ajSLJ64veEkdj/xJ8mNQ3v3VLxwOEJ/MbDygp9bx16 +uFR8DDx6yr5Lj5me8P5UE0imC8/ZsV0x/AdSVXj4Fz4wvQmvIamRPKHQfOTphGYTmkz/XOKmMmgm +cUBUEYgqEwL4Y7AgniMSiPT14ubIMc3gX7wW/lUmtUBIGPhN0A9en37yA0c+Il596S9d9KrL135S +D2qibyRWP0uvXatkSZFUGpWyEOMWUr/CAGkH8QN9VLxVe9kEhAOMF6XirVocVMf37k6QbiTVp59i +1fjDr+/9JWrhX8JEHOjBSPSN5K166AnRSNn7v7ivb1FK/5H7XxhGJtUgEoihXmScDwJSkQDJanAK +Qh14Gwn0JoAJfPMYRbIVyt8CmyhjEq/KajAeaNAdMdSQMdHbeKwv40REaza+jFMRM4AaAZz05s+P +jkAlXI4lQ0PGqhBSyUAMbjjfI5VNwXAdntk/ISMMr2qzZei6yXXmRBDhvH3B+vLWR7Rm48uoEzED +qBFAPW/+b6Efv3b+DeTk34Qhb6MwMh31egnAVfHhGqYuHC0sLtrYrgouLoJf8a0MYJ7Gq1pMJTFp +sHBhgIf1t0BEER0jXoWGF4yNj6oQGppaAEMV3sY1dM3l2NRXGuB7UW3UqEGiQCKxxWhwqU7/B4nK +94mJguKruskbmXAtZcjiUczGGAKnLcIokZ6GI6or2qimq3uQCZUGOGlEG0ThvkGwNHK3FH4OALBw +DiwtcESE7OxYtkle1HZ/aYAPR7UxIgeJgNObxbRfR+DnOwJvkiR/HZUfPyo/INEOAPcABAjP00OA +MFD7JOCo8eRT1CePhM9czCHtk3T62/k0IPJUcOGp7wz19xw+e3HHtX8tfS2jKEMkmHzRKxqCEUfZ +Fx2iDuyA8xqHF5EHpE8m6sOBuLPYJ29FtIw49pHIyYW5vqMSMUYIdeNOZcS6wi2jCA== + + QCTs3qos/DokP/8heYs+8+swfexherteFb8D8fgQweQG8LjTT/+ZvF1Mt7u5WhlmUWr/mViCMjWx +mGk264mZ9LaqH5a63Wq7kW+U7uvVzV6tUu3MJhZ4te1GN1jrj1az3S3+2aryOorUlXlY+6NaP6y2 +H6rl7smfL/fNOvX6XP1TdOnacMlhuKaiqGy7NJ0BS1XAr8pxbU2x2ZlP2Db60CweV0v1/VK3XfsD +mgbm4Z7Ua+XqSblUrzUeN9u1yq43hNk/a3krpLkvwz+f/uMmZmYT51/ZD9ZEuc03KjR3KjBuM6x1 +QxTNnLG1NdsJNuZLdfaTkkjDxp//Lnxnen1ONErikbKzk2fQ+Z/wa4f99Z2V4WVH4tu1kqh8Yhhy +jKIuj41zLLiG4YZQhUJeHC/BvslT1Tjw+Bn3hcbbRtEsiwIQjxBgha7BQ0PopouV6OTTFx4vi1c2 +aiJHHZCV0nLoMUwSxlOaDRdOlg0ef0zpcPGtZZVKyKtWIa9jCyiViqaHJDwLhpeblgVJztm0bAzF +VbGa5uC7uim6mLQwQILaQbgPPnxtQbYWzCiU0vl4IquWAv78GBVh8ccgsnDaFLyMxREN02L4xr1U +2DzxshPSJcEtmAUvLmnYCFMEgfpiKzAXO4HZrfB1epUCHyEu1MEnwFV6oZW1ssAdDp/ANiknCrhi +4DWzbUF6GicBkdd4z2a7pGSxVho+WAr7iveKjOYwyGq4rXpKscgTRKP8Io5BXoC4r5i8ysRqPHKX +QQbT4zo8cpjByKXYGCzRXA+UmNzbwfcnITkeQAsg6GBKMVYfH5iFS2p5RMiMhnetDrx2hC9Is3Vi +oAUrMTG3kIMZXdTgiK5XyHgo+emp3I+fAYKSyQtnwqTtEFJmCctcXCMDIKVTUSEaDK7abAh3wYYQ +7AHBPvhAuMkbwkEATwC2Pbqm83BTvM22FX7F2ofXhPQGRMXgm9424+0OXsQZJn/8h80DH7fFJ99w +qx3ybYU31jRAEIdNGVh6Fls5mOKaQQdDqg2NuyI54JfCtt8QzuvSomF8jJa2HQpCMsTrRja8imJj +N8EZ0sQBE+llVEA/G2MXoQyfMbcgn6zF6KrGJw4FlqEl/FbsOLADxvpiECJXSyxi07PEU4jwB0Rv +wgcbX7t12b5TwKtl8pdtoDmblKVTY6jDEMjSeHoRgD+4WcGBUXm+LMul9FLwhjOGnUIb13QTppOi +URxXVaGJ6fAkVmwKcMJN8UYD+w1JP0x4wh5Q34K4S2TLJpARfOXWIPjBTatKVIJJVRr8xnt4ohrU +BjwVAP8tjcpMOAc2NVJcHQs0fNgDFuYaGm+FPpXw3CpOTuMxhhZgIWPjUGCK56sNg8/OBDpqAlVn +m2byZH2mRc/mmpD3nXUBCwO/dmhik1+kCXf1JuvVTtloRTc1Ck1nfRGJM1XywaBGFCFgKhDjAf2S +RxG8H6fIkDNwI/n+UFC7odHbMBaEdgPoTPCOMgAx6GUUHBnHgQOH3lRsAENjZNw2eIpztnWGriMK +2i4+VQuZR3RCOZ2C/AC8JsRN2CINm8XDe6BAxefPDQoRplbkk2xhBkHsmiInLPAfC2A3PxN0VPDt +FMoG41JoPPA0BhnTxqzmCn9uyhRRmqyEnnExxRvKukoh/EgYdZ5xXIOHP6FbU0HKSCUuvv8SHpEf +Wou7+DCSipl/4NB62WcJUIxaUDA4RP4DLLAAn9sAbzTaX0ZIKUEkpAqB94KgZwxegkgih1XqG4rD +QgcXTYZ4KjmFASQgHzX4/7EyW2TFh0hBE5J9Yepsm5zxTIhGsDXiKw76OEGZjllvXYr5MsFpBfNe +wxM4jHxxIgJtDPCgYlgJ0HHw7T2FcBkAiEMDiQRuiC8JEn1KGhDtQj1Rph9Dp53Dx5DwySbwRmTn +17ApbARb2eTxjQ81Ap4zOQV4sMEoIb2K5SIJMUx6KxnbuJTswoAAdRgJ5gUuVYZFxxEKMGyb9aYA +UUZ84PHihkiTb/JcoKw7cjFlpxFDK+nRTeKSpkO02sRMA0g0bNNCEqc6wMtAjgI2AjiokMoBZBzz +YZkiDz4QMSaXsN+6g0KUTgFNjJ5g/ntsxA4eCG8mfzPYotSJjCgxPUqnIwbnCo67qfA24B+nsDKD +xy5BJ4CVbAZMANKxAJ+NAJkJPKqwlUIcykYxjAgfUhCQo/A4A60CXLYhVEMzBCQwLBKYFVIOi0iT +rfEYHFZgQtYzG19IIqQwKau6DTlE8eza9M6UDe84wNBYwJDDtom3YCNI78Cgw86GaTpEZg1wDMNu +cMM1qm1jVlE+lEJ5PFgrAx2FAU3A54l1TVjB0AMdAOWxDIvS5KIwiA9toQYPPVv4cJZJcJNHAjwG +WdiG3Ij4xJhByIod63g8HDs0DicbPgHQ6YkPIJf0hCFaPm0dzykeXZciiKAInz1kBMZgNAFoN6Xk +d6gv26AnIvl5x0QkSLvdhP9b7JLXiHFDjq74Fgo7zcA4FP5yCPjK2ZiaisGfEyMg5K5DmIdFTGVg +OET0S7conoUVeK/UwMtFrFODC466QQKWBcmpsV+LMghaPHWEGAi4N5B6bKRTshHg1gomOnS4WKIT +80gytRxffIQatikaYQYhiwfX6fxBXxMeZNH8FQnySkQXaSPINzCUjkYdBnOQQkAYgdhmpHEWigyY +H8SwSKsCEYKzWpAv4eko4FtM6jC4ayxgp8JIZ3gMTu69NUDoukuWdYxOpzJbxRSIKmlZwDYpIYxL ++ZdBSbNJcklqCnqXWpjFUcccXuiSb0HuQ0zzHBqKzwAQHuKpOQLCBBiu4niwpaQVoOBha/xlI+B4 +OokFlssTDDkKha9DWzi6IB6DtoXsU0fpGL0jgTPapKGBjoAZkkARQR3aBsdqG8kGbDAbUIUkCzbP +Q4FteOwo4DlmrrEhiYqNs2N02MECzIOKNEylU2hDUlkdK6H2DUcJaAUsCd/7CkGB44VFuT1A9icJ +HhAXEvuwGasQg2SAZEG/MR0LcFDgVvCbKVyIFwrlfbFB5HATDCPhYRH2yzIYAoaGoHEhPQpEpDsO +5AVHnQeDs5nk4nDOIhxLHZgvqNEaSWgOoJ1LqixXWB2eAVjjXBisChAVGx4ly8ObuNHEdHguHjgK +QAlf5DKVJIU9VsaOOzozgyIEDtemR+k0QnVfllU9zDPBLdchgQJkbxMCGkFtpnODJ5Q/PKx5OG6q +PMrcUEjSNRXxhBOjYIaDfB95KdTAx5BgAyz/8QQ2UR0Os4mhvzrPHAsF+Pip7uc8gDKMcwHTM1hB +URDB5LIOpggxRFZhzaaEQmwoELrouQNQLdjRhQQ7YMXAwwf4pbrc1x2oGWnymiJeVVIpwF1Tebyr +DrnE2JC4ufi6lkn6Nu0u5WnAR43YIgBDHPG2HviCa97jGS4pIqyV6gqqzSrhbCjZFRsalVgVrD5I +oRVUdKCJziMgAThMLUioKsWoQwHOxkVHcA2Jq6MouL8ufxBTdyktOsgMAnFURlAh+QFtpYExqgBx +Nm16ZJWvyECubXDZEDA45fLXX214w4zggGIZVUJSr+FbPlSADv0qEh4D+3U0Ir0qYB+KnQZJcRC9 +Si/2gv3KSWgi5gawWvA+BU4w2r1AMEbDh0VZ8QydOCRY2RRM48XXlSVTIT19BeIBAJ9JtmiNwROC +yrDLXyIUZ42bCinpAMMqBjwdjSsUJsegiOJZUoWXXhUS70F6wXYuz9bOaqk65o7lvcI0dQcT/3rv +aIPqyAfEHBUKyT481TUonw6JVIiimngz3gRYEIGDQp0/uIpZHtiBEK+cojkFMrmhCVJsQFkMhi/T +m6Q+JL14J4QKQMOfJTAIHiMPp4Oe53BFtkB46Vwlbs8GVLGEvyVlpURwqst5jM6TqScxhtom4UPl +iTgRYQCxHSFpw+nGh1gxGIBOjkbpbS1UoBBjMPm6Q1YurklRJhoNTVTibPCMpw6uDo47pabWQUER +8gtySw2+YSUvyxZYlYmIkTFUtSjJNpcYeYIyi9R8KCErhOrwdGdCdUuqNp11nKcmQm9M8Rixwh9j +UGHXFFIUXcrFyERhEGW4KMwzoRloO8HTRokAHR6TDbIRpeGQBjRFalSYF2yeCRKbTQUqvt9tQrpE +NLSynkw+nqlzRUJ1yUwBPfFcmi4XcLwBGb6jMZprf5RsCYQojNowTZFoVqc05lAH5VN6gIKbV22S ++GAHDR1tPi6PUWYoQSkVwEqEkSI6yL4qV7JUnkIO9hcRG7QsDRu6MLJGVip668D15EcodFEJ04Fv +GmRdp+PH+qfAa6beufRQCURjEWjQLuhQISXTAesbDghUHDQyvAVAUxHcS2lkuELrOUYagT0F5X1P +D9RA50Ojpk7voGnQJVdYQVbC5bAdM1Wyw/L3B1xIJKCiyEhJP+RDYbtcegACgY9WgPJFPJTL6Z4c +JnNVtDdTdnGdK/5MmqQXK9lWmyRvihHhhhai7rGhzePoADkBDqyAJ/YE9U5RfbkUjNSYVIOvkKM8 +nlEd4eBiLijGS1WEiK3zJCCgy9iGJkDqYnYSkDnQzoY3EkCK2CGwMBkJmFwxJRXwaVvnm+jyVzkt +yF2IljWHk3+wKWC2IbgSwRfHQf7gJ98y+fullriVYPjn4Mu0Fmbw1sjUR1c/0kwZflPMFWCPqlA1 +eseRSSYuvusg7CJs0arOOSdo9jR9F6NHVTxQdAHhYjwUWRuJk7gYKquLk8jDmhSylEI1MlLDjReq +9+Igwo2EwtEULFaUHhZUKWQ0usgqqXKZzKNRDj5J4ZnAKDwUniFFEVV3RIKlFL1FyZuBUAKSFyfd +qBRrkDjMIXMrXquoYJ6BnTF47qJAK/4esIrBaipyBTSZKcgtgHILi4KCAFctz3gBiA8macz7DCZ0 +eHPcQGooWVdcMLW7lmddgddM4U4PL+lMrnyqIoMFFICuphokS4oNAPOrCleCcCxgcCayJ5C3wM4I +syijlUzy4gYMsPGzTQL9EhETrl8gXQlIFfi2DWeAGhAPxRJARKwHcZc/UqZB4Dkb2hKP/UEAp8pz +reB2qXxROn8tWCWxFTmYTWQDLg+hU9sxLSF7YIpML20ZkDyghvABjbIqquO6Tk8aYxuX7jXgE5mF +Hbp7ZAOYOoBTsynFOybaMYghYPpMEKtBtFcplTeSRE2ccI2/kCADQiNzjCbyq0FlsBGDSE+PPKgY +7pcQAcRcxMEciSgjkaTiQhJm+K2oti8YwZxg/7nYhzerKF/wPDdoxQchTtWlSz0dLno4aWUnCJVl +XaPrTpA68eTpcPlj0+UgCkBQ4HAIgmENhCld4w9n2nA5xlQ8A7Q2mDLcUaFJFcQeMUOVTM0GXRbT +lTQO7lAOau/2EE4unGsU3EBhZhBjZ5UxXZckIcA76JpCRMFcyJAfMNUU97E6ZbAwgGlbdP2N93cm +XOiCeOIgQmhklNbJIIHPkShkJCfqDS8oQAHjN45CU8a5g6HU9CAIwryl8AeLgZGoKg== + + GXBtnoaMyU022KkY/fDmh3MFszJPhOdC/DRe8vA8cUiEwY5r8GPPhnIgfBEsYJrhEsGFi3ALvArg +4hLyLTCQWBoFxyKHoKB7NPvYeA0F+RvYHxam3MWEwmAVsj19BbMxM7pmgd5Bm6niBT7YCXXdBx2I +C4bFbTkpE5+2RUYGJFcxwBrIftItPNytoplGIX8JPBz44gWaJCnDFuS+ddBKQ0dMxKVLBiAFcmXD +5axtkIOAhtczBl2osNmKW33g4WBshJszthFgnQHblAv3/i7mAQCRgY2XEJtsw8WmRdqrggwGnQDY +4XRSFGJMYocDdNcAFze0MNMlN0oKbM62Q1KcivHGYI+xwUwl0o2BfUbjajUmaGMFmJkOcryhXdUB +zRJ8nSjsWR7CIl4P5mXw0rHpnRibS/hAoCETgNQCBGHQzG2Hzin8Bu8KWDkcAqBUlmyS0yCLANti +WAU4iYB4BdffYJ6CDeANpBE0utKDImygkZyELhVaAlPdYXO8p4MG8IgK7DHQWvYJrRRgrbOQU4gG +/IVrsKkolKUZTHYO0mwwKwNugssC2HMR7firc2SEQUjCNSTbMwOpsQYIrrJ9B2MPCpNwU8JVZoM/ +xQC38GjDExU0la0dTEmgTIKvi0HHF/RRuPqDO2wHXQBQAbV4blswcuBh9s8uGKjAbseKmDgE+hp0 +bXFLlA7itqKTaZY8ZXSLbrIsnn5WByOajk1cA4g4Y7qmLZ90nSZjwW0B2yTdJEjBtRLTIsDSiIQd +pEEmd/IxUKMBkc5ifev8kSYQL1Q2fx0eN2YauYnPTGELk9vTNRKt8C1pJtyYYC1jEwftFHIKoH1d +Q6dD1Jfp4pG4D1yhs30AQgwiAV8IfDY1byF4qwc2UROXCpmADQSS4205WClsDiyNEkOAiGUy/NYV +eisRbHQu8jIHvE3A/khGfzRZKLTXjHyQnY7hmwGZFBz4CanPddBBiL5BEmvQp/FtdcRavL+Huw4N +GDFkgWZnD+ADIxGik5QBNnoLGTxmnNF5mgBhntN1ulgkmx4OaxIagfDk0oI18ERyyL4qiTKqje5K +UIS5peE3qM46FxRUENUUgzaWrsfBTQ2UAQA7GMcMssfp+BCdjb+BqIQGgUf9dPBesZFogE8EwBwO +rrcOlWBPS0cVGMQoQE6N56DH1DIaggL9OTSFLi2pCYhSUABUxKBrSCBpDIXBMAMWJvhJzjwiPTy6 +AesoCOlwW8vmhlf+MDJkGWO/MU880RED3mCjtLCIh5iEHvOwAh66hBIgZTKOiE1sNIJqJIuDSKk7 +tHO6AYO7aKwBQ4xK9wyajc9mgDEFRALsioy+qFEQVoGhwyLxEJRc4HyqSYIn6M+wG6pJDB7cGhRk +Hq7FLcwukUsVr3ITeCMJgSQ25YUSVnOw4+qEVOAOARfBFvdsw6dqmTDJZoEGDp0bblTOR8tIFyh2 +XIMMLioeCxR1kzgfBUU4F803YKpwyOcB9CTMw4IufBpSNeEp4aD1QQwla7BA52DJ4HmoQ/5C8EvA +dLw23iviTRppQpJuB/ZXymWv0mWDAUoD/nSQNhjkuAISpcIVSUMnzQptXXj0ybqs8qy7gs6DtQAl +fVoTquhoZEJp0eC5GlH6N8hXwuRCunBUAFqGSYA07vhmqsL8wlMCgkcTqmBg6DM9zyiuEsClItjI +PTMsaBhws8J4JmbS1tDvERu5PGs75mhidYBLqQ5ZHg1wIQNh0eDmIU3jApEwusEhhhtF8DnA+Ca4 +uIArZYvjOBpHTTJtebIpOrsDb1LFbYJL71723RmJO6UcCGEOSGEevQPXGtCFFCSJBhg5XWTYQMzY +aXEpH4tEURn9ww3EF9uZBAE3YjrWQPknPACNDbodeH2IUwd3adwhixXZQCXht0PkxQZKzSgFPiwG +2QtNYt9oxkLxx2J0J4FPPbAJq3jtZCXCg9DQp5InM3feFfoNLorHUdmUIxEOgqaQSQtTIIKQYHNj +MHpBIPtSTKHtobYBVAsxC6gQ0Ard9g2zgbGy/MKZpF9UPOCG5oXKxFU7f5VOxVTw6GDmSlOywFBo +csM4XK8yWEAZevngKxkgRSn8ei08VNbLPBPtBK/4fuJKotx8aTV7jUqi81RqVRMvzUrISXxQN/8j +X3qQHiCHOUSnGIoBNwCMQegYiMJwVHEohIYxaDAXgfz003jVm/D79kuzcdiuNbpssGSSl6Ozvfzl +03++tPCbQ98O6z3278H9dwaXT/+ZSVea99VEpt3rPCX2S43SY7WdOGhXqu3ZYR8T9DVbqtdrj+1S +66lW5lWLbBMWE2ai1U0ljgErFvvrzibYjGeCLdTBTYKV9USL+mAtDn4r1Yc2oM7DVamPAQ0K9VJX +NGDoe9Bgu/cUqJelPp5K7XKzVE8kE4Uqq1JtD26Vq/3G0NurRH1UqIZcb7/ZEnU43kR1Vm3UXngf +J9XSy+JsIsU3nSFKcMv/AvTpmzbgB5s4/I+SABuqmQARgP3DtFX8i8kvCSuR3r7NtNkhqFex7V7t +ntGF2+wJq2neAh5wsNwWSo2/d0kxaAQrktEUfwPiwn8h45Qi8tfi/w+e8w+Or3uITKMzoZCxuATY +vHEePFbmLxnbPxM0NtMlcb0u/pf/5y8c2V81jKziqEkLVChc9l8F8r4dp9H9/R5p5R+No1GEBaaX +7SNFUKolFhOnjUbppVpJWIsJ8R8260WE3WIiIZ6NFLFWqveXQgcxof44eONmywlheIpUidVPqKHJ +Ahlx8B4c/GEtuGxAOwBNEaRQXIoSsRQwr8N/hyzjozcqjnDj8pF0A9GOh4CmqdHFZrCYMyL+kW8y +Iw/SBkdBhf/98TBx6Rvb+ZPun/Vq59N/Fncbzd8b+AvEv5l0o8kI++IXtgSQfhbTTDj8rep9X8xy +ubJQqzMIYhOG3bVGgqpQ8SwJZrzOAojvi2e1To1Je9hpRCcn3VL5+U2dZEqdWlmeRrNR6dW6o7Vm +Ml1i8bDU7kZ2ddJtN5+rb5mNhp/qB23eFHqVBWsG0Wb3uFpuMmGtgl+pIgdsAkNtMcwCfH9BXWAH +Cjgz0/OZTqYkduNCLjXIjOiFXCoYcgn1ziswhepDYjnB1jojDYdi7XIC55cIAuJDdjcMTTpyHDAH +Dw+dancWlxLbxcx2vd5DSbzZTlX/YDNeJPRnDaoCNWcCPSb2GJom8g+gXbDqxVr3BzdmZrvRqYGy +BDvEzk6C0cNOq176k37Oxm4e35vYjVJTzo9tlRfcTB9ovWKWsVsZ3oVMvcq0wbfs42D8xf58CCgp +KyYeGNJ2BpYsLdXvJH4lfwOGAoZ8HGg8rfe0U83/Vm0cVCqENTCMD7GDQUHUfUCDqoAnmXvA6RnB +ZJh0VKlVmR7r0JSTrs9DxL8ZDNfOZAKQ9+bys6AQuHrYfwsK/Qt3X1VmhdT/l+3+vwBMhvbhYPqf +Et2RAfP288La5P+olnswGfqIXUQLjAnVNv/PCY2/ZKX/zBz0uj8mLJHtyYqXmFSGypRbhqmXbxaZ +lH+CyCRI0C+B6X/CMq1fEtMvHBodh4R+l3mKwSd3NhG04fBhUuY/CJ/Mv1Ck+HfLlpr6SwQfhez+ +ksA/WgLPVH+rMrRoPnT/mTL4/8La+gZ8/kFT6rs0jcGr+Rttt/8CimMCyYFof9A2VPR2UjTXMh0X +XI3AOQ689/4agk3qXKH33//+mdgvdZ4/RJcTV4iS5jYY7Cp3kknMHDOY9Dr/U7GPQMIVUbh++xCY +BPobFS6GAMtLvfYyywkLOgV9b3RbWGCLKs2HTvf/Fqc2Da4gGXRk/hqG/X+ee+fazVbi5KlUaf7+ +i33/S9j3T0gb3gOxdwvhRPMDmP4BND94ckblhZzClzvtMpkKwRQpiHyrRIW6KLmv99qCM1DJU7P9 +3+C1bK9TPTzZy4iaUUSZCObzD9FnaSM65TqNYXocvVJqPwen0yrVQlP+rdruzsqLv683CElUS3jB +4g6RSTiR/6NVYmQ3U31otquJs2q7UwOnkJ/DSvGTUO0eCHO/yPW/kFz/0qOGGzsNVKkgbAHSBZCv +J4RNun+tIlVslxodRpRehvEPr2IiXyo/pUq1VjQLkTocXZnyaG+nXKpXt24Pq+0yA4q4eOIqRfO3 +6tntYbcTvI9qVx/qjMReBEuxo71agwdXhIc4Cwyhhr4VSpC/P+LTlvwpMLEtb2IGp/+tWuOwWfMX +EZjtebCHdrNb6lZvc9XHdrUaXh9jHM2X2n+rkU1A/WQAF99w5EbvJdts1cIddcXOcFfNAUrrL2T5 +hSzvRZb/tYlGG9lE8/c79tnGXydw/eK7b+O76iy8DIKcl/2vDq95wBZBsPcvzvuLmP4cxPQXsvxC +ln8O5/05Ga/+V5o5fnHdPq6rwttHjmq7puGokNNZjWXCJvFgSHCXhLzltkbqr+v8xfeIv+jqL7r6 +v6ZLKgan/SJNP4lCoDpcIYCMlaAQqBhNmlJdR/9FjH4Ro/8DxOiXC/RPQ4yMgGSkw1u/QIx0yND1 +T/SwR+9t7W/Br58HNeg/776rfrfTwP+BW+RCs14rPVZvN09+3SX/K++Sf5ZTLTBtlpNfP8mIkviG +Nn4g2MBJk5qB2XltcJVVVMh/bF0nWn8DNfhpgAXwIBD9IoJ/AxHEYNRjkm4T578I4S9C+C/2gfyl +NX+01qxHac3q36E1q/9QrfnnIPuHjA6XKs1e+5f0+28l+v8Am4k6ugjtIWykEC2ZN/5H4vJfbGn7 +NwSGj77b8JoGqAF00/FLD/gbGAImc01km+1Gtd1JaInWXx/OHC2jBSbyIU4JoR7f7JrQHuaa8K/h +b14iRXVAIsUoxPzhlJf/NiXnlw337yVb31h5qVfvXsvU6qT20qr71Kp/V96B53yXDhmx6wZmhvl9 +842KlN13eJrgQ6ZmMfWEpnN4TwPAf2a+yc8hXMO+nXdgvcHiT/85LAfWNvP1qdatBsox8o0BnhEk +r9wzsM1k9y92E8fVitQk8OmiWq83f+df1fDXTabBNaSPivwx+2fJ/6YGv2Xqvao0m8C3/dIj01VL +4jOIAXDV6KJhEGutsqL9VVBzL1ZdJbHL/vTnjxUdU/S4yvYQKl2ssrLdVbkiJMp2gxUd7DJc0fRX +jbVMqAXDB6vpZv/IrCw8ckpBuQbmySvCary1+PU0GdyrmsJrhQZOmYFqZlw1O1jPNmPqOaawwHrg +dgjcXmUf3AhsncOR/UH1XVy5B0o9NAn+P6F52EEgYRZz4e7Cp6GIaRjBunZAWIROsSaAPmJtckVc +GW6nXFEVC1L8wWHl+7Cei1UzUFWlTHn4j1yV0FODypopA0CVJ+ojcnhT5WqmElNNp7Ohm9Ju6X6f +uhncLZqtvCivqhnGZgSAFjxGsHothKSmWL/hoyrMQIPKRrCywTc0xYFL1Q3o2zDFJEwZs1M8U6EP +XdM7gZYShK0p6lo0HV4fJmNhfYCGEZq6wevLUze82hKk5Wc7PFB7c7FDkNbFXBx57g== + + ujcXJzR3MQ06UAHIWKYgDXqwvs13U6pr+4fUDFAIPCMO/q8ERtubii1q84QUyEcWEsQ2EoKTxLkR +BKsHOjpolxqP7BNnJMO7CjUIdFZgonjjMXHy/OcIHUmV/U4Er+ReFCe9FhOEIHsTzT1xVntsAEse +of/4tjTcwGu/sMXCq8zbvs3eIVUXZGlms136ExWow8egKEBnWdAShixBMQIfFnWNiKpuuKbNKjpO +RE0nXNOCPu2Imna4pgk1oyZq9dWMqGSGK+lxizHCNbW4xejhmmrcYrRwTSVuMWpfTSNmdNPf0Uy7 +9vjUlfZUEuNWfUreL5jYYQHGNiPrCb4X6LJPIJIkhBj5IMBHJTbGeWg/G7M44VPY/+mq/wc1syJb +HWZ8CduTo9/2AsceE6UDSsSnYF6LaLtI/63pp0AauE88QUHQxSRsdO/XGGg2P/i2iKrQR3oVDbr6 +/2DEdrNc7XTYVMtdRlXrQF5mzqpwq8Nk99oL/gYjykutUeoyNY+I7yxebdVemCjefu4krmZ+r3Wf +Em4S33O7mkW41O7vmyDez2xW2/fVdmm272k2PokBC+LbkWuWey9M5M+VuiV8F08U0JN4Aa0UC873 +9740K9WYz8uJmT9e6g1WIVnqdtu1+17XezdvMd1mZPHv7OaDRpHqlZ9q9Uq72uC1RNYs8Rn+6frv +581MNTq3v5XanWUpT7Rc97cS6GK8MnzoxFQEf0Nej8+mE/z5jwfVfa0BIoM6CqQYSE+q3S8IkxHA +JVdf+CkW22g24qYeWGi9WX6uVkZapKj6kUjxfkCogwEx2l7X4LHMkU7GKLv7P9/8txOFpd9GJwtQ +9+dAclhnudfpNl9+AvL3l6LoUqcEVk/goYzQjI6pf8e5OYF3FH6u+fy7jnLn4fefAL//AZS8AxLs +v2bvTXj83TRcxTEc1dVdcWMZu/ynKmiQIyGAqPpT0HFDNcjYYFu6oWja0IX+XqtgLtrh6+Q1f4pl +JlX0/tZsQ7cN09KHLvPPkZb450+yPDPlWJZlu4quWYahGUOX98dopOonWZ7n3xK7nvtml0kie9WH +7kG7xhTfkZbX3+inETqQmp40e+1yNQN2kp9D6mDM8KeYx0u1W6owcewDJuO+ezITFW5TGQnnpNp0 +cjVDc0Sy0m03UWp375uldiVRbtab7YSWaHtq39Cqj3hnHARyf0VewXO7SG+rakLMKvHcYJpms9dl +nTV7rcF1a51mvdStJu7B9UA8ixWo7SZaJTDld2ovvTrerIcOPFRBh+JWie1J+U82bK3Cqv9XgMwy +Td2MX7QqwWdoVRk+Qyvf+1s8FPBSXdXSHd2rK8xt2VLjt1LnxF+WGoDoYbvaqbZ/qyaK1T+6iXyl +1i3d1+q17p8+RImeZ+rVagUI1pmEgSLKOdtuttLtaolcyqKkyDDhnkmLlYBh5rRRKzN8FTgsWVS8 +2W53RAtu2JUq2a7tJBx4JBsni07reIRmjnv1ajtAYsWU+atq+yLZLw5FSz1MHwsRRTNTmuL9n5pI +apqVsm1pnONqvdg8piFozMNmpwZrxc+aN6wyeiO1j4SItSNIQyvBffSsq0wN6rUSe6XGY6/0WE0c +NlveWZr5tl+t1HovieMqOz497oQSBn5Ud4U6ONw32HFCfOkm5B3yMycDhu5XO0+J41KnW23X/ovn +ThqON9GVQJODXrfFjv2QRn0ohL0gBCqtWkocGJGMulnvIzcvmBEpWFaq1wSD1S0xqVapUgnjX6fV +7M76+7GdSPe6TW/OVX946mKz3rwv1Y+rrV69468heJqOQRgPHSfpc7HZivx4WG13WlU8aZuMZN0W +6s1mWzxsSGhrOrZIfRBZe1MiR4YZ1zGc9kKpXE3jJQOnnpamxnUN9TdDhG5A1WOPfCoxtRhmiiUx +VUhNOIah9h3xcKOTbsk7SGKJTizwzmrV3xnaM2rQLTXK3jbGN8BNy//R9flocNcyKNnJGweXakMn +DbE5IQYVrlP0ZQOZhUROcDhssVpG4jTxS4bNCqxY12zLHoRfcr+DIXnQKpV9bjOoY6w+GuJi1TDm +xk8ExfDAPHwRRtVuT9jJzwK73W9WqmH6AbdjiQePPDLxpV5rVBNdxk09Yhc3brZar0uMWe7Tkvos +Nbq1BKNTJUGoZpjirKQUSeh7Tm8XevW6oNo8vzz7Gkc7Q8rESbW+Veqy5ntNhohA3Dsyp4mrzWBU +bW/nAnXl70Wwy8HQEaJHFNQ66F4slmlIcg9nQLDYo14J5JPEHlzODt1bIo7BzY3FG9iQLNN5xHy1 ++H63mozqNxtbskFl6LHwT6XpuI46gDZmZPLhA81OnPRarTbc/qJzTuLgt2q71a7JtCj+8BzWS40q +egajhAeE0se9pKkoQ8kUk1tK8ANXc1Zq1DpPbEtkUhu3xeV6rcWEVrBm/8EE50eGjGKfbV8YDjRp +I29N/kY324ybSgTaMXTGDnTVGj5lb+WwuwEyFjfXlpCJmwK6YqrIhWx3BC4Em4ijMi4uw8e2mXSF +3YzSQySIR5+Ev/bQLGLRxBeXtxuV6h8n1XKzUZHHHYkFe4snZhhYv2uOuHFeJ337NvpEfAD0z2RU +GBRq7Y43smWPuHtctovYvrhx8UwNPKLx5GJAs2WYqu/vH+IFffEAYTaUPzxJpIEBpYEBRWraDKGh +1gEn4kWf9cknmyqRvLzIvVUygTMtM90EE7APwqdv2Mxn+pWZRd+Mtvi9eZ8S+jN5xAQBG67LVIh6 +P/jDtdqMDbU7VZhGO7SQcNXOc611z1b8PKQeLrpUF8zNZ/N9FZmGJ69kWIdi9dIdEDcCQODDTvN+ +u/HQTMQw7OAunwRYdYxmGVApofVAPTKMK3373z+bLHCVLOcqxwGuMgKaR8LqvtZ9KQEHCGqfniAg +1289vjyn7kHqbz48pMimKyT02Pov4H7VVz9q64Ld9zpVJlKhjuGDXYqUGYD5gMlVhEYEvOWKnW49 +VaEuEfIeSg85WtCON5BsjqM0alVe2Od6Y/R5tSqjd09eAn6TqE1n8hSvN2grWCU+ASHBuWQaUjVN +scGtMWq/WSv5Ksox1JQFV16aZZu2E9smcE2nanHVai/s/Kfq1YdRq3abwhRkOvpIs6d2bWk6juaO +tAZqGcDxGYatjHZUEvd/JnJtxr/ag3cQupEQI/IIlsMwjq8VgOqAzpqyKWVAd+F6fUiD1dDEPISH +VKqd2mMjykgdScnv+bXMwD6xZvOhVh/GwIg5dIjujXa0oFlwY/rXXm+nXgL6cmQVJl7CU2pgXBu0 +IKjqCeP3FL5AEoYWWb1dSTH9DALOgiQ8suYDYyLeE3S+BTFcrcUttAMRAwd+TA1GRl5J+FNJmV3C +1TBli9fb0Iq/DVlpp9yql8M2jv5K5UZnIFqzSl0mZ8qyYMwq2ZbVS60RwMErDloAcsNqA0wKA8k5 +VOt4wahDcRnrE/2XDssojdgp6ELUuZgMRATFMX3GO0BsChGqARx/WKVyu9kaVgfEwxqT6IbVa0vh +p0PHBUPYfandGbSlQcFFYlAj1O7K6xpWWWZMI0hc0kxGqO3PZITK8kyiTtZDo5uq1IdQRKrUaj80 +GwPJIdTr9O69U6pH7VaHLde3kEUKNR0m7YKAPGjTO6lG9bEkXevF1ALbDhimhuAQVGR8qTGkt7oK +/ZV8G2o0MnRSnacSU7yqg6AFtapdMO802Px8eET2F6pmR3GDP1qpoDXKv4kKVWv36RF4WxZV9TFK +5YiqyFmmZGGO2lu/IhlVh1St1wZRE1YDjNClPhNAVM1mqzyI4mCNzqDtxxqV3gBJiNXocDvo72AG +bb7thjPU1RBJpl1pd0bgO1jtodcoD0IwqsSVYA/JhjAbbFRqNLz7x2iDAFYbqsiUX2SxbOY0dZJK +fK3eMyUaQ4WuZk6+HhxezSZ+04aolC9McJTFy6h9YpVAJwxYh6MqCYNr+eXP5wEglmo26UWaCCtG +WtSX7Riytcr0L7cPa39U64fVNjzRG5rhXqnTFZfu27nQpEa+cQ/cjZNVa1Ok9ob3gOmyfOD1OLWC +PIAJNh9sha4afa2CY5F95M2DUbNRRpM9bRpN31SeqDXQzg/ScnXwsZTMQ7jIQdahoFUSrt8jjJKy +gQh7HGAf6qsbbdlS4qrFmDmxzihWzpOzzQLjhHDhFqT5NBz7DCMcNA5LnsSoSh/B+2C32o5ux9br +Gy6lAfMv99UKTS6i3XkpzANYYa4okN/wCzGysRjhJMm+HT4+9A/M9rNc6/SrtzCnBiMxgS2UwRMc +RP5ywuSfarcbYZEG6EDWKbzGbJXKESh0Uvqtut+rd2sMMdIho6hXre+O/qn5+1bNo50/YmCsNZ7r +nS7jzP4do6Be243nBARXhsyv3g1oiNy0Sg1PtuNJtg5zBX5wQDVptrqE7cFjttO8TxzQJ/l42bar +yEgsV4vyHeuDTcNDnsVMTcAkfZLd3nbMXBW4CH411g+mvs2vfF2dXi6dL+zoUwfJzEZ78+Vp6bEx +tlMYW5iZztZKqc5n63Qrb00sbZxuru0b60t7V9P7G+1e2S7ktX1nUjWMCUXp5L7nHheUzxvLN6m5 +jZWFVmejs6stsmE2lvfG2qLWTjfzuHW0t7FiVE+ytdW1ci6Vmn7sG2uvcsEGtHOFySX7crOb+36d +MS6TC+mX5l6HYUz3aX7NmugVcsbnr5nv9emvbJjcg7JzH9nbZ9t9sM+Ovl2li9nUWfyocr2l642V +58L1xlIn9TKfW5jsFWY2Kw9sGIRX4e72oJd7uP5qZ+ob9fOlh8xTN/tkX6oBiNxN5crq3uvGyvr0 +V+qITbqTvXm8abK/pl5z25XtsUzS+f45fZKcaNAkzkuVHhvG/T4zX86XzaOZ7JNxu7ySntSn5jNf +Fu7mN7LTp4VstTe3drYz8bRcLpee4a/afP5h74mGVpXFkt2ufb5bqt3sVDL1yfXpZHv+qpfeO5l6 +hQXMbizvPOlsGGv57Hoj3ShPv8yv7i8v2i9XqzXbXuw86Ol2eVudf15SvS7LuZ3OGYOcPV21v+pK +ZamWXSyxTVb3V2eSC9VM3T58oTVc7E1uZLdXJr7mF1wT0jTltr9ZE2t2tnkzv3JW+bak3U9cY79r +jUm2pDVrbgK25Zv11TpqAKjWMs+zVpIj6FllT1GvJ/Zzi6WVqcLY/GUbhrHgww32glXYMMr9+LaB +P+bXCiv8r5Wv+V2qn13I31Fv2oW2zTD4XJlfW8svaLn1x1Xe0dfVleXK9y83uJvejFl/BxlTDMNq +ZXa8KVz7U1BnVo+hVtXAMnMsk7tFcOeqnXXDurS+l9PF3Pf53MPi7mu+VJr+nLHuT49WtnK3a+ni +U7mbPvxc3k8XNR1QIG1fX0ywRpXL/Pndes+DEiFvAFtvnv3enHqqvSU27aKZezjJVxCkrN/S7Pza +xPJX2iXomQ2Tv1XnzzLG+U5ho91+OjWW9r+u4y45Zq1tsR2cW5jPNN2bMDSDS5dBLw== + + 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 +//38H/qEfhT8YGRkeatZ+vL/2SvZoA== + \ No newline at end of file diff --git a/preview/97/images/projects/f4pga.svg b/preview/97/images/projects/f4pga.svg new file mode 100644 index 000000000..e58d55a29 --- /dev/null +++ b/preview/97/images/projects/f4pga.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/images/projects/fpga-tool-perf.svg b/preview/97/images/projects/fpga-tool-perf.svg new file mode 100644 index 000000000..546bec10a --- /dev/null +++ b/preview/97/images/projects/fpga-tool-perf.svg @@ -0,0 +1,16 @@ + + + + + + diff --git a/preview/97/images/projects/sv-tests.svg b/preview/97/images/projects/sv-tests.svg new file mode 100644 index 000000000..b82c6ccaf --- /dev/null +++ b/preview/97/images/projects/sv-tests.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/images/projects/verible.svg b/preview/97/images/projects/verible.svg new file mode 100644 index 000000000..13942fb04 --- /dev/null +++ b/preview/97/images/projects/verible.svg @@ -0,0 +1,281 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/preview/97/images/team/borivoje-nikolic.jpg b/preview/97/images/team/borivoje-nikolic.jpg new file mode 100644 index 000000000..48940b61c Binary files /dev/null and b/preview/97/images/team/borivoje-nikolic.jpg differ diff --git a/preview/97/images/team/christoph-sandner.jpg b/preview/97/images/team/christoph-sandner.jpg new file mode 100644 index 000000000..e7c19a153 Binary files /dev/null and b/preview/97/images/team/christoph-sandner.jpg differ diff --git a/preview/97/images/team/danny-hua.jpg b/preview/97/images/team/danny-hua.jpg new file mode 100644 index 000000000..006ef0878 Binary files /dev/null and b/preview/97/images/team/danny-hua.jpg differ diff --git a/preview/97/images/team/dave-ditzel.jpg b/preview/97/images/team/dave-ditzel.jpg new file mode 100644 index 000000000..4182aa03c Binary files /dev/null and b/preview/97/images/team/dave-ditzel.jpg differ diff --git a/preview/97/images/team/dave-kehlet.jpg b/preview/97/images/team/dave-kehlet.jpg new file mode 100644 index 000000000..a17b3f157 Binary files /dev/null and b/preview/97/images/team/dave-kehlet.jpg differ diff --git a/preview/97/images/team/generic-avatar.jpg b/preview/97/images/team/generic-avatar.jpg new file mode 100644 index 000000000..9bdf61ea7 Binary files /dev/null and b/preview/97/images/team/generic-avatar.jpg differ diff --git a/preview/97/images/team/lide-duan.jpg b/preview/97/images/team/lide-duan.jpg new file mode 100644 index 000000000..74292fba3 Binary files /dev/null and b/preview/97/images/team/lide-duan.jpg differ diff --git a/preview/97/images/team/matt-cockrell.jpg b/preview/97/images/team/matt-cockrell.jpg new file mode 100644 index 000000000..68cade144 Binary files /dev/null and b/preview/97/images/team/matt-cockrell.jpg differ diff --git a/preview/97/images/team/michael-gielda.jpg b/preview/97/images/team/michael-gielda.jpg new file mode 100644 index 000000000..41d8e1a9d Binary files /dev/null and b/preview/97/images/team/michael-gielda.jpg differ diff --git a/preview/97/images/team/peter-gielda.jpg b/preview/97/images/team/peter-gielda.jpg new file mode 100644 index 000000000..93c0587d8 Binary files /dev/null and b/preview/97/images/team/peter-gielda.jpg differ diff --git a/preview/97/images/team/prabhu-jayanna.jpg b/preview/97/images/team/prabhu-jayanna.jpg new file mode 100644 index 000000000..232c67423 Binary files /dev/null and b/preview/97/images/team/prabhu-jayanna.jpg differ diff --git a/preview/97/images/team/rob-mains.jpg b/preview/97/images/team/rob-mains.jpg new file mode 100644 index 000000000..7a3a755a8 Binary files /dev/null and b/preview/97/images/team/rob-mains.jpg differ diff --git a/preview/97/images/team/stefano-righi.jpg b/preview/97/images/team/stefano-righi.jpg new file mode 100644 index 000000000..15321f098 Binary files /dev/null and b/preview/97/images/team/stefano-righi.jpg differ diff --git a/preview/97/images/team/tony-mcdowell.jpg b/preview/97/images/team/tony-mcdowell.jpg new file mode 100644 index 000000000..9bdf61ea7 Binary files /dev/null and b/preview/97/images/team/tony-mcdowell.jpg differ diff --git a/preview/97/images/team/wei-wu.jpg b/preview/97/images/team/wei-wu.jpg new file mode 100644 index 000000000..06692a824 Binary files /dev/null and b/preview/97/images/team/wei-wu.jpg differ diff --git a/preview/97/images/team/yunsup-lee.jpg b/preview/97/images/team/yunsup-lee.jpg new file mode 100644 index 000000000..4b0da5ed5 Binary files /dev/null and b/preview/97/images/team/yunsup-lee.jpg differ diff --git a/preview/97/images/video/effect-one.png b/preview/97/images/video/effect-one.png new file mode 100644 index 000000000..b3d7f3a8b Binary files /dev/null and b/preview/97/images/video/effect-one.png differ diff --git a/preview/97/images/video/effect-two.png b/preview/97/images/video/effect-two.png new file mode 100644 index 000000000..399469988 Binary files /dev/null and b/preview/97/images/video/effect-two.png differ diff --git a/preview/97/images/video/effect.png b/preview/97/images/video/effect.png new file mode 100644 index 000000000..4b6894509 Binary files /dev/null and b/preview/97/images/video/effect.png differ diff --git a/preview/97/images/video/video-thum.jpg b/preview/97/images/video/video-thum.jpg new file mode 100644 index 000000000..e0d31684b Binary files /dev/null and b/preview/97/images/video/video-thum.jpg differ diff --git a/preview/97/index.html b/preview/97/index.html new file mode 100644 index 000000000..0f94086d0 --- /dev/null +++ b/preview/97/index.html @@ -0,0 +1,563 @@ + + + + + + + + + + + + + + + +CHIPS Alliance + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+

Welcome!

+

CHIPS (Common Hardware for Interfaces, Processors and Systems) Alliance harnesses the energy of open source collaboration to accelerate hardware development.

+ +
+
+
+
+banner-image +
+shape +
+
+
+
+
+
+
+
+
+
+
+

About CHIPS Alliance

+

The CHIPS Alliance develops high-quality, open source hardware designs relevant to silicon devices and FPGAs. By creating an open and collaborative environment, CHIPS Alliance shares resources to lower the cost of development. Companies and individuals can work together to develop open source CPUs, various peripherals, and complex IP blocks. CHIPS Alliance is open to all organizations who are interested in collaborating on open source hardware or software tools to accelerate the creation of more efficient and innovative chip designs.

+
+
+
+
+
+
+
+13 +
+

Hosted Projects

+
+
+
+
+
+2019 +
+

Established in

+
+
+
+
+
+6 +
+

Workgroups

+
+
+
+
+
+43 +
+

Member Organizations

+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+

Sign Up to our Groups!

+

Browser the CHIPS Alliance mailing lists and join groups you are interested in.

+ +
+
+
+
+
+card-images +
+
+effect-image +
+
+
+
+
+
+
+
+
+
+

CHIPS Alliance Members

+

+ Become a Member +

+
+

Platinum Members

+
+
+AMD logo +
+
+Antmicro logo +
+
+Futerwei logo +
+
+Google logo +
+
+Infineon logo +
+
+Intel logo +
+
+Microsoft logo +
+
+SiFive logo +
+
+VeriSilicon logo +
+
+
+
+

Gold Members

+
+
+ISCAS logo +
+
+Marvell logo +
+
+
+
+

Silver Members

+
+
+AMI US Holdings Inc logo +
+
+Efabless logo +
+
+Electronic and Telecommunications Research Institute logo +
+
+Imperas logo +
+
+Meta logo +
+
+Nvidia logo +
+
+ProteanTecs logo +
+
+Western Digital logo +
+
+
+
+

Auditor Members

+
+
+Axiado logo +
+
+Precision Innovations logo +
+
+Siemens logo +
+
+
+
+

Associate Members

+
+
+ASU logo +
+
+Berkeley logo +
+
+BYU logo +
+
+Hochschule logo +
+
+IIT logo +
+
+Nebrija logo +
+
+OpenRoad logo +
+
+Rios logo +
+
+RISC-V logo +
+
+Stanford Engineering logo +
+
+UC San Diego logo +
+
+UC Santa Cruz logo +
+
+UIT logo +
+
+University de Kragujevac logo +
+
+University of Hawaii logo +
+
+University of Manchester logo +
+
+University of Michigan logo +
+
+University of Minnesota logo +
+
+University of New Brunswick logo +
+
+University of Toronto logo +
+
+Yale University logo +
+
+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/index.xml b/preview/97/index.xml new file mode 100644 index 000000000..c2a05c2e2 --- /dev/null +++ b/preview/97/index.xml @@ -0,0 +1,94 @@ +CHIPS Alliancehttps://chipsalliance.org/preview/97/Recent content on CHIPS AllianceHugo -- gohugo.ioen-usThu, 09 Nov 2023 00:00:00 +0000CHIPS Technology Update - November 2023https://chipsalliance.org/preview/97/events/chips-2023-fall-event/Thu, 09 Nov 2023 00:00:00 +0000https://chipsalliance.org/preview/97/events/chips-2023-fall-event/Join us for the next Technology Update featuring informative, technical talks on open source hardware collaborative development. Hosted by Google in Sunnyvale, California, the event includes speakers from Google, Antmicro, Open Compute Project, and others. This event is free to attend, however, registration is required. +Register and view schedule.RISC-V Summit North America 2023https://chipsalliance.org/preview/97/events/riscv_na_2023/Tue, 07 Nov 2023 00:00:00 +0000https://chipsalliance.org/preview/97/events/riscv_na_2023/Please join us at the RISC-V North American Summit November 7 - 8 +Be sure to come visit us at the CHIPS Alliance booth at the event. +Details here:CHIPS Alliance at the Open Compute Project Global Summithttps://chipsalliance.org/preview/97/events/chips_ocp_2023/Tue, 17 Oct 2023 00:00:00 +0000https://chipsalliance.org/preview/97/events/chips_ocp_2023/Please join us at the Open Compute Project Global Summit to hear about the Caliptra Root of Trust collaborative project. +Be sure to come visit us at booth C37 hosted by the Linux Foundation at the event. +Details hereVerilator Model Generation Performance Improvements and Initial Multithreaded Verilation Supporthttps://chipsalliance.org/preview/97/news/verilator-model-generation-performance-improvements-and-initial-multithreaded-verilation-support/Fri, 29 Sep 2023 00:00:00 +0000https://chipsalliance.org/preview/97/news/verilator-model-generation-performance-improvements-and-initial-multithreaded-verilation-support/Verilator can boast the status of one of the most widely used free and open source digital design tools for ASIC and FPGA development. To stay on top of the ever-increasing complexity of ASIC and FPGA devices, as users and contributors, Antmicro, a CHIPS Alliance member and part of the Tools Workgroup, has been actively working on improving the tool and its ecosystem, including adding co-simulation capabilities with Renode, adding support for SystemVerilog UVM testbenches to Verilator, or improving scalability for very large designs.Progress in open source SystemVerilog / UVM support in Verilatorhttps://chipsalliance.org/preview/97/news/progress-in-open-source-systemverilog-uvm-support-in-verilator/Fri, 21 Jul 2023 00:00:00 +0000https://chipsalliance.org/preview/97/news/progress-in-open-source-systemverilog-uvm-support-in-verilator/Verilator is a shining example of a widely-accepted open source tool which provides state-of-the-art results in the ASIC design space. It is commonly used for simulation and testing, but originally, due to the lack of capability to run event-driven simulations, Verilator wasn’t even considered capable of handling UVM (Universal Verification Methodology) testbenches implemented in SystemVerilog which require scheduling and other features notably absent from the tool. For some time now, Antmicro, together with Western Digital, Google and others in the CHIPS Alliance, has been working on enabling fully open source support for SystemVerilog UVM testbenches in Verilator.CHIPS Alliance Summer Workshop 2023https://chipsalliance.org/preview/97/events/chips-biannual-technology-update-2022_13_07/Thu, 13 Jul 2023 00:00:00 +0000https://chipsalliance.org/preview/97/events/chips-biannual-technology-update-2022_13_07/Check out the presentations below, and watch the replay here +Caliptra & VeeR continuous integration ecosystem – Michael Gielda, Antmicro (slides) Caliptra: Validating firmware against multiple hardware models in CI - Kor Nielsen, Google OmniXtend: coherent scaleout over commodity fabrics - Jaco Hoffman, Westen Digital (slides) CHISEL 3 and Beyond - Jack Koenig, SiFive (slides) Single Source library for digital design and virtual prototyping - Mikhail Moiseev, Intel (slides) Building Confidence in Open IC Design using OpenFASOC - Mehdi Saligane, University of Michigan (slides) Watch the ReplayOpen source and CI-driven RTL testing and verification for Caliptra’s RISC-V VeeR corehttps://chipsalliance.org/preview/97/news/open-source-rtl-ci-testing-and-verification-for-caliptra-veer/Tue, 04 Jul 2023 00:00:00 +0000https://chipsalliance.org/preview/97/news/open-source-rtl-ci-testing-and-verification-for-caliptra-veer/As part of CHIPS Alliance’s mission to enable a software-driven approach to silicon, working with Google and other CHIPS members, Antmicro has been developing and improving a growing number of open source tools to enable effective, CI-driven silicon development. +Fully reproducible and scalable workflows based on open source tooling are especially beneficial for efforts spanning across multiple industrial and academic actors such as Caliptra, a Root of Trust project driven by Google, AMD, NVIDIA and Microsoft which recently joined CHIPS in order to host the ongoing development and provide the necessary structure, working environment and support for the reference implementation of the standard, originally hosted by Open Compute Project.Integrating the Language Server Protocol in Veriblehttps://chipsalliance.org/preview/97/news/integrating-language-server-protocol-in-verible/Wed, 12 Apr 2023 00:00:00 +0000https://chipsalliance.org/preview/97/news/integrating-language-server-protocol-in-verible/A more collaborative, open and software driven ASIC design methodology pioneered by the CHIPS Alliance requires an open source tooling stack to enable sharing of workflows, artifacts and fostering a free exchange of insights and improvements. +While internally often using new design methodologies and languages such as Migen, Chisel or XLS, Antmicro is conscious of the fact that a lot of the world’s ASIC development involves SystemVerilog and UVM, and so we are working on bridging traditional and new ASIC development methodologies as described in a recent blog note.CHIPS Alliance Fall Workshop 2022https://chipsalliance.org/preview/97/events/chips-biannual-technology-update-2022-2/Thu, 15 Dec 2022 00:00:00 +0000https://chipsalliance.org/preview/97/events/chips-biannual-technology-update-2022-2/Check out the presentations below, and watch the replay here +Caliptra – Bryan Kelly, Microsoft SBOM and HBOM / Zephyr - Kate Stewart, Linux Foundation F4PGA tools in the classroom - Mike Wirthlin, Jeff Goeders, BYU (slides) Datasets for Machine Learning for Chip Design - Aman Arora, UT-Austin (slides) Open source SystemVerilog / UVM support and scaling for large designs in Verilator 5.0 and beyond, Michael Gielda, Antmicro (slides) Lowering barriers to chip design using OpenFASOC, AWG activities and tapeouts, Mehdi Saligane, University of Michigan (slides) Global Foundries Open PDK, Karthik Chandrasekaran, Global Foundries Caravel SOC Learnings, Mohammed Kassem, Efabless, (slides) Intel Compiler for SystemC, Mikhail Moiseev, Intel (slides) Renode co-simulation for Caravel, Peter Gielda, Antmicro (slides) Watch the ReplayCHIPS Alliance Welcomes the Caliptra Open Source Root of Trust Projecthttps://chipsalliance.org/preview/97/news/chips-alliance-welcomes-the-caliptra-open-source-root-of-trust-project/Tue, 13 Dec 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/chips-alliance-welcomes-the-caliptra-open-source-root-of-trust-project/SAN FRANCISCO, December 13, 2022 – CHIPS Alliance, a Linux Foundation project and leading consortium advancing common and open hardware for interfaces, processors and systems, announced that Caliptra, the open source root of trust project founded by technology leaders AMD, Google, Microsoft and NVIDIA, has joined CHIPS Alliance to enable an open, collaborative community-driven approach to hardware security. +Caliptra is a new specification for an open source silicon root of trust (RoT) designed to meet the enhanced security requirements of modern edge and confidential computing workloads.Joint Analog Workgroup / MOS-AK Panel Sessionhttps://chipsalliance.org/preview/97/news/joint-analog-workgroup-mos-ak-panel-session/Mon, 05 Dec 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/joint-analog-workgroup-mos-ak-panel-session/Please join us for a special joint panel webinar session for the CHIPS Alliance Analog Workgroup and MOS-AK Foundation. +This panel will feature speakers with 20 minute talks on the following topic areas: +@Mehdi Saligane : Introduction to the open source EDA tool flow for IC design (with reference to [1]) @Makris Nikolaos : EKV3 in NGSPICE using ADMSXL @Keiter, Eric R : Xyce and its support for commercial (hSpice/spectre) libs/syntax @Tim Edwards : his work on the SkyWater 130 nm compatibility with ngspice @Kevin Cameron : update on the P1800 (SystemVerilog) AMS standardization efforts (public doc [2]) There will be time for Q & A after each talk and conversation after the presentation completion.CHIPS Alliance Fall 2022 Technology Update December 15https://chipsalliance.org/preview/97/news/chips-alliance-fall-2022-technology-update-december-15/Thu, 01 Dec 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/chips-alliance-fall-2022-technology-update-december-15/Please join us on December 15 at 8:30 am PT either in person at Google or virtually for a CHIPS technology update featuring many exciting speakers. Details and registration are here: https://events.linuxfoundation.org/chips-biannual-technology-update/F4PGA open source flow gets a new Python-based build system and CLI toolhttps://chipsalliance.org/preview/97/news/f4pga-open-source-flow-gets-a-new-python-based-build-system-and-cli-tool/Sun, 09 Oct 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/f4pga-open-source-flow-gets-a-new-python-based-build-system-and-cli-tool/One of the most recent projects developed within the workgroup is the unified f4pga CLI tool. In the broader context of our continuous efforts to make the FPGA space more unified and flexible, creating the f4pga CLI tool was a logical next step – it allowed us to wrap the underlying tools into a single CLI, making the F4PGA toolchain a more complete flow. The currently supported architectures are AMD’s (former Xilinx) 7 Series, Lattice’s iCE40 and QuickLogic’s EOS S3.Skywaterhttps://chipsalliance.org/preview/97/news/skywater/Sat, 06 Aug 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/skywater/It’s great to learn that Google announced the expansion of its partnership with SkyWater Technology. They are working together to release an open source process design kit (PDK) for SKY90-FD, SkyWater’s commercial 90nm fully depleted silicon on insulator (FDSOI) CMOS process technology. SKY90-FD is based on MIT Lincoln Laboratory’s 90 nm commercial FDSOI technology, and enables designers to create complex integrated circuits for a diverse range of applications. +You can read more @ https://opensource.Antmicro DDR5 Rowhammer Testing Frameworkhttps://chipsalliance.org/preview/97/news/1212/Fri, 05 Aug 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/1212/CHIPS Alliance is excited by the Antmicro announcement of the extensible, open, Rowhammer testing framework for DDR5. Read a detailed description of their work here: https://antmicro.com/blog/2022/08/extending-the-open-source-rowhammer-testing-framework-to-ddr5/ +Here are some graphics of the work:Catch us at DAC 59 in San Francisco starting July 11https://chipsalliance.org/preview/97/news/catch-us-at-dac-59-in-san-francisco-starting-july-11/Fri, 08 Jul 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/catch-us-at-dac-59-in-san-francisco-starting-july-11/Come learn about open source hardware and CHIPS Alliance at next week’s 59th Design Automation Conference in San Francisco. We will be at kiosk 2344 in the RISC-V pavilion. You can also here out talk at 12:30 Monday in the Open Source Central Theatre (booth 2338). We are also in a DAC Pavilion Panel: Is Democratization of Chip Design Already Happening? at 2:30 on Monday. Look forward to an exciting day in SF!Enhanced System Verilog Support for Yosys via Antmicro plug-inhttps://chipsalliance.org/preview/97/news/enhanced-system-verilog-support-for-yosys-via-antmicro-plug-in/Thu, 30 Jun 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/enhanced-system-verilog-support-for-yosys-via-antmicro-plug-in/CHIPS Alliance is pleased to see the announcement by Antmicro for its development and contribution to the open source hardware community to provide a easy to use plug-in for any version of Yosys to allow import of System Verilog based designs. This development is made possible by the underlying utilization of the Unified Hardware Data Model (UHDM), a key open source data representation upon which EDA applications can be built. Details can be seen here from Antmicro: https://antmicro.Alibaba Cloud Announced Progress in Porting Android Functions onto RISC-Vhttps://chipsalliance.org/preview/97/news/alibaba-cloud-announced-progress-in-porting-android-functions-onto-risc-v/Thu, 21 Apr 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/alibaba-cloud-announced-progress-in-porting-android-functions-onto-risc-v/The company also tops MLPerf Tiny v0.7 Benchmark with its IOT processor +Hangzhou, China, April 20, 2022 – Alibaba Cloud, the digital technologies and intelligence backbone of Alibaba Group, announced it has made further progress in porting basic Android functions onto the RISC-V instruction-set architecture (ISA). This proves the feasibility of using RISC-V based Android devices in scenarios ranging from multimedia to signal processing, device interconnection, and artificial intelligence. +Last year, the company reported it had successfully ported basic functions like chrome browsing in Android 10.CHIPS Alliance First 2022 Biannual Technology Updatehttps://chipsalliance.org/preview/97/events/chips-biannual-technology-update-2022-1/Tue, 19 Apr 2022 00:00:00 +0000https://chipsalliance.org/preview/97/events/chips-biannual-technology-update-2022-1/Watch the Replay +Check out the presentations below: +Introduction – Rob Mains, CHIPS Alliance Updates of Android on RISC-V – Han Mao, Alibaba (slides) Chisel and FIRRTL for Next-Generation SoC Designs– Jack Koenig, SiFive (slides) Introducting the F4PGA Workgroup– Michael Gielda, Karol Gugala, Antmicro (slides) Chiplet IP Protocol– Dave Kehlet, Intel (slides) NVMe Computational Storage Processor for Edge & Datacenter Applications, Anand Kulkarni, Wester Digital (slides) Towards Open Source Models of Cryogenic CMOS : Brian Hoskins and Pragya Shrestha, NIST (slides) Latest Statistics from Google’s No Cost Shuttle Program : Tim Ansell, Google : (slides) Watch the ReplayCHIPS Alliance Forms F4PGA Workgroup to Accelerate Adoption of Open Source FPGA Toolinghttps://chipsalliance.org/preview/97/news/chips-alliance-forms-f4pga-workgroup-to-accelerate-adoption-of-open-source-fpga-tooling/Fri, 18 Feb 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/chips-alliance-forms-f4pga-workgroup-to-accelerate-adoption-of-open-source-fpga-tooling/New workgroup draws support from industry leaders as the open FPGA toolchain matures +SAN FRANCISCO, Feb. 18, 2022 – CHIPS Alliance, the leading consortium advancing common and open source hardware for interfaces, processors and systems, today established the FOSS Flow For FPGA (F4PGA) Workgroup to drive open source tooling, IP and research efforts for FPGAs. +FPGA vendors such as Xilinx (now part of AMD) and QuickLogic, industrial FPGA users and contributors such as Google and Antmicro, as well as universities including Brigham Young University, University of Pennsylvania, Princeton University and University of Toronto, can now officially collaborate under the umbrella of the newly launched F4PGA Workgroup.CHIPS Alliance Announces Xilinx as its Newest Memberhttps://chipsalliance.org/preview/97/news/xilinx-new-member/Thu, 03 Feb 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/xilinx-new-member/Xilinx to continue to drive forward open source FPGA innovation +SAN FRANCISCO, Feb. 3, 2022 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced that Xilinx, Inc. (NASDAQ: XLNX) has joined the CHIPS Alliance organization. Xilinx is a leader in adaptive computing, providing highly-flexible programmable silicon, enabled by a suite of advanced software and tools to drive rapid innovation across a wide span of industries and technologies – from consumer to cars to the cloud.Towards UVM: Using Coroutines for Low-overhead Dynamic Scheduling in Verilatorhttps://chipsalliance.org/preview/97/news/towards-uvm-using-coroutines/Tue, 01 Feb 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/towards-uvm-using-coroutines/This post was originally published at Antmicro. +Verilator is a popular open source SystemVerilog simulator and one of the key tools in the ASIC and FPGA ecosystem, which Antmicro is actively using and developing, e.g. by enabling co-simulation with Renode or Cocotb integration. It’s also one of the fastest available HDL simulators, including proprietary alternatives. It achieves that speed by generating highly optimized C++ code from a given hardware design. Verilator does a lot of work at compile-time to make the generated (‘verilated’) code extremely fast, such as ordering statements in an optimal way.SATA Design Implementation on FPGAs with Open Source Toolshttps://chipsalliance.org/preview/97/news/sata-design-implementation-on-fpgas-with-open-source-tools/Wed, 05 Jan 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/sata-design-implementation-on-fpgas-with-open-source-tools/This post was originally published at Antmicro. +Real-world FPGAs designs often require high rate transmission protocols such as PCIe, USB and SATA which rely on high speed transceivers for external communication. These protocols are used to interface with various devices such as graphics cards and storage devices, and many of our clients reach out to us specifically because they need the flexibility, high-throughput and low-latency characteristics of FPGAs. +In particular, for customers that deal with high data volumes (which is very common in video applications), implementing SATA to communicate and transfer data with e.Open Source FPGA Platform for Rowhammer Security Testing in the Data Centerhttps://chipsalliance.org/preview/97/news/open-source-fpga-platform-for-rowhammer-security-testing-in-the-data-center/Mon, 03 Jan 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/open-source-fpga-platform-for-rowhammer-security-testing-in-the-data-center/This post was originally published at Antmicro. +Our work together with Google and the world’s research community on detecting and mitigating the Rowhammer problem in DRAM memories has been proving that the challenge is far from being solved and a lot of systems are still vulnerable. The DDR Rowhammer testing framework that we developed together with an open hardware LPDDR4 DRAM tester board has been used to detect new attack methods such as Half-Double and Blacksmith and all data seems to suggest this more such methods will be discovered with time.2021 Annual Reporthttps://chipsalliance.org/preview/97/news/2021-annual-report/Sat, 01 Jan 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/2021-annual-report/CHIPS Alliance was founded in March 2019 to design high-quality, open source hardware register transfer level (RTL) and develop open source hardware and software design tools. By creating an open and collaborative environment, companies and organizations can develop innovative, cost effective hardware designs optimized for the requirements of today’s silicon devices and FPGAs. +CHIPS Alliance was incorporated by four organizations which wanted to make open source silicon a reality. Esperanto, Google, SiFive and Western Digital were the founding members.Software-driven ASIC Prototyping Using the Open Source SkyWater Shuttlehttps://chipsalliance.org/preview/97/news/software-driven-asic-prototyping-using-the-open-source-skywater-shuttle/Fri, 17 Dec 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/software-driven-asic-prototyping-using-the-open-source-skywater-shuttle/This post was originally published at Antmicro. +The growing cost and complexity of advanced nodes, supply chain issues and demand for silicon independence mean that the ASIC design process is in need of innovation. Antmicro believes the answer to those challenges is bound to come from the software-driven, open source approach which has shaped the Internet and gave rise to modern cloud computing. Applying the methodologies of software design to ASICs is however notoriously viewed as difficult, given the closed nature of many components needed to build chips – tools, IP and process design kits, or PDKs for short, as well as the slow turnaround of manufacturing.Open Source Debayerization Blocks in FPGAhttps://chipsalliance.org/preview/97/news/open-source-debayerization-blocks-in-fpga/Tue, 30 Nov 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/open-source-debayerization-blocks-in-fpga/This post was originally published at Antmicro. +In modern digital camera systems, the captured image undergoes a complex process involving various image signal processing (ISP) techniques to reproduce the observed scene as accurately as possible while preserving bandwidth. On the most basic level, most CCD and CMOS image sensors use the Bayer pattern filter, where 50% of the pixels are green, 25% are red and 25% are blue (corresponding to the increased sensitivity of the human eye to the green color).How Google is Applying Machine Learning to Macro Placementhttps://chipsalliance.org/preview/97/news/how-google-is-applying-machine-learning-to-macro-placement/Wed, 17 Nov 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/how-google-is-applying-machine-learning-to-macro-placement/CHIPS Alliance’s latest Deep Dive Cafe featured an outstanding talk by a Google physical design engineer, Young-Joon Lee, who has a PhD from Georgia Tech, and has been working on machine learning physical design projects for the past two years. +The chip placement problem is a notoriously challenging design problem, and has been explored in the electronic design automation research and development community for years. For those unfamiliar with the problem, it involves finding the optimal placement of physical cells implementing the logical function on a chip image to minimize performance, power, and area of the silicon, which in the end affects the cost of the product.Improving the OpenLane ASIC Build Flow with Open Source SystemVerilog Supporthttps://chipsalliance.org/preview/97/news/improving-the-openlane-asic-build-flow-with-open-source-systemverilog-support/Wed, 27 Oct 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/improving-the-openlane-asic-build-flow-with-open-source-systemverilog-support/This post was originally published at Antmicro. +Open source toolchains are key to building collaborative ecosystems, welcoming to new approaches, opportunistic/focused innovations and niche use cases. The ASIC design domain, especially in the view of the rising tensions around manufacturing and supply chains, are in dire need of a software-driven innovation based on an open source approach. The fledgling open source hardware ecosystem has been energized by the success of RISC-V and is now being vastly expanded to cover the entire ASIC design flow by CHIPS Alliance, and Antmicro has been playing a leadership role in both of these organizations as well as offering commercial engineering and support services to assist with early adoption of open source approaches in hardware.Recap of the Fall 2021 CHIPS Alliance Workshophttps://chipsalliance.org/preview/97/news/recap-of-the-fall-2021-chips-alliance-workshop-rob-mains-chips-alliance/Tue, 26 Oct 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/recap-of-the-fall-2021-chips-alliance-workshop-rob-mains-chips-alliance/We recently held our fall 2021 CHIPS Alliance workshop with nearly 160 attendees present for informative seminars covering a range of topics including porting Android to RISC-V, open source ASIC design and FPGA tooling, and OmniXtend. In case you missed the talks, a replay is available on the CHIPS Alliance YouTube channel. +During the seminar, we had eight exciting technical presentations, including: +Porting Android to RISC-V – Guoyin Chen and Han Mao, Alibaba Practical Adoption of Open Source SystemVerilog Tools – Michael Gielda, Antmicro Chisel and FIRRTL for Next-Generation SoC Designs – Jack Koenig, SiFive OpenFASOC: Automated Open Source Analog and Mixed-Signals IC Generation – Mehdi Saligane, University of Michigan (UMICH) FPGA Tooling Interoperability with the FPGA Interchange Format – Maciej Kurc, Antmicro OmniXtend: Scalability and LPC – Jaco Hofmann, Western Digital Corporation Open Source NVME IP with AI Acceleration – Anand Kulkarni, Western Digital Corporation and Karol Gugala, Antmicro Automating Analog Layout using ALIGN – Sachin Sapatnekar, University of Minnesota (UMN) Each of these talks provided informative, technical details of key aspects of the work underway by members of CHIPS Alliance who are working in an open, collaborative fashion.CHIPS Alliance Fall Workshop 2021https://chipsalliance.org/preview/97/events/fall-workshop-2021/Tue, 12 Oct 2021 00:00:00 +0000https://chipsalliance.org/preview/97/events/fall-workshop-2021/Check out the presentations below, and watch the replay here +Porting Android to RISC-V Alibaba – Guoyin Chen and Han Mao, Alibaba (replay) (slides) Practical Adoption of Open Source System Verilog Tools – Michael Gielda, Antmicro (replay) (slides) Chisel and FIRRTL for Next-Generation SoC Designs– Jack Koenig, SiFive (replay) (slides) OpenFASOC: Automated Open Source Analog and Mixed-Signals IC Generation – Mehdi Saligane, University of Michigan (UMICH) (replay) (slides) FPGA Tooling Interoperability with the FPGA Interchange Format – Maciej Kurc, Antmicro (replay) (slides) OmniXtend: Scalability and LPC – Jaco Hofmann, Western Digital Corporation (replay) (slides) Open Source NVME IP with AI Acceleration – Anand Kulkarni, Western Digital Corporation and Karol Gugala, Antmicro (replay) (slides) Automating Analog Layout using ALIGN – Sachin Sapatnekar, University of Minnesota (UMN) (replay) (slides) Watch the ReplayOpen Source DDR Controller Framework for Mitigating Rowhammerhttps://chipsalliance.org/preview/97/news/open-source-ddr-controller-framework-for-mitigating-rowhammer/Tue, 28 Sep 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/open-source-ddr-controller-framework-for-mitigating-rowhammer/This post was originally published at Antmicro. +Rowhammer is a hardware vulnerability that affects DRAM memory chips and can be exploited to modify memory contents, potentially providing root access to the system. It occurs because Dynamic RAM consists of multiple memory cells packed tightly together and specific access patterns can cause unwanted effects that propagate to nearby memory cells and cause bit-flips in cells which have not been accessed by the attacker.Listen to CHIPS Alliance’s Rob Mains on EE Journal’s FishFry Podcasthttps://chipsalliance.org/preview/97/news/listen-to-chips-alliances-rob-mains-on-ee-journals-fishfry-podcast/Fri, 24 Sep 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/listen-to-chips-alliances-rob-mains-on-ee-journals-fishfry-podcast/CHIPS Alliance’s general manager Rob Mains joined Amelia Dalton at EE Journal’s FishFry podcast for a lively discussion about how we’re working to make chip design more accessible. Rob discussed CHIPS Alliance’s work with RISC-V International to develop a new unified memory standard, along with our work to accelerate the design of open source chipsets with the AIB 2.0 specification. The conversation also touched on our efforts to provide better support for SystemVerilog using open source tools and to create a dynamic stratified scheduler implementation in Verilator.SkyWater Technology Joins CHIPS Alliance to Further Efforts to Make Chip Design and Production More Accessiblehttps://chipsalliance.org/preview/97/news/skywater-technology-joins-chips-alliance-to-further-efforts-to-make-chip-design-and-production-more-accessible/Thu, 16 Sep 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/skywater-technology-joins-chips-alliance-to-further-efforts-to-make-chip-design-and-production-more-accessible/SkyWater furthers collaboration with CHIPS Alliance members on open source shuttle projects +SAN FRANCISCO, Sept. 16, 2021 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced that SkyWater Technology (NASDAQ: SKYT) has become a member of the organization. SkyWater provides custom development, volume manufacturing and advanced packaging services for a wide range of silicon, including solutions based on the free and open RISC-V instruction set architecture (ISA).SymbiFlow FPGA Interchange Format to Enable Interoperable FPGA Toolinghttps://chipsalliance.org/preview/97/news/symbiflow-fpga-interchange-format-to-enable-interoperable-fpga-tooling/Thu, 09 Sep 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/symbiflow-fpga-interchange-format-to-enable-interoperable-fpga-tooling/This post was originally published at Antmicro. +Field Programmable Gate Arrays (FPGAs) have been around for several decades, but historically development of toolchains targeting specific platforms was done in separate ecosystems and driven by the vendors themselves. Only in recent years, the development of vendor-neutral open source toolchains has revealed the need of having an abstraction layer to describe and define an FPGA architecture through a standard format. +FPGA toolchains are not trivial as they comprise several elements which themselves can be quite complex: roughly speaking, you can divide the process of “compiling” FPGA-targeted code in a Hardware Description Language (HDL) into three stages: synthesis, place and route, bitstream generation.Automatic SystemVerilog Linting in GitHub Actions with Veriblehttps://chipsalliance.org/preview/97/news/automatic-systemverilog-linting-in-github-actions-with-verible/Wed, 08 Sep 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/automatic-systemverilog-linting-in-github-actions-with-verible/This post was originally published at Antmicro. +With the recent advances in open source ASIC development tools such as Verible, it has become easier to automate tasks and boost developer productivity. The Verible linter is a static code analysis tool that has been helping us and our collaborators to spot and fix stylistic errors and bugs in SystemVerilog code. +CI/CD for smaller backlog and better test reliability As part of our work within the newly established CHIPS Alliance SystemVerilog subgroup, Antmicro has made further steps to facilitate SystemVerilog workflows with Verible, by providing an easy to use Verible Linter GitHub Action.Open Source Custom GitHub Actions Runners with Google Cloud and Terraformhttps://chipsalliance.org/preview/97/news/open-source-custom-github-actions-runners-with-google-cloud-and-terraform/Thu, 02 Sep 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/open-source-custom-github-actions-runners-with-google-cloud-and-terraform/This post was originally published at Antmicro. +In order to fulfill our internal and our customers’ needs, we have developed and successfully deployed an open source custom GitHub Actions runner that allows us to mix the GitHub default and your custom hardware and software. The runner software itself operates within a Google Cloud Platform project, spawns Compute Engine instances and orchestrates the build, providing a number of interesting advantages that were needed in our ASIC and FPGA-related work.Open Source SystemVerilog Tools in ASIC Designhttps://chipsalliance.org/preview/97/news/open-source-systemverilog-tools-in-asic-design/Wed, 04 Aug 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/open-source-systemverilog-tools-in-asic-design/This post was originally published at Antmicro. +Open source hardware is undeniably undergoing a renaissance whose origin can be traced to the establishment of RISC-V Foundation (later redubbed RISC-V International). The open ISA and ecosystem, in which Antmicro participated since the beginning as a Founding member, has sparked many open source CPU implementations but also new tooling, methodologies and trends which allow for more collaborative and software driven design. +Many of those broader open hardware activities have been finding a home in CHIPS Alliance, an open source organization we participate in as a Platinum member alongside Google, Intel, Western Digital, SiFive and others, whose goals explicitly encompass:Advanced Co-simulation with Renode and Verilator: PolarFire SoC and FastVDMAhttps://chipsalliance.org/preview/97/news/renode-and-verilator-polarfire-soc-and-fastvdma/Tue, 20 Jul 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/renode-and-verilator-polarfire-soc-and-fastvdma/This post was originally published at Antmicro. +Co-simulating HDL has been possible in Renode since the 1.7.1 release, but the functionality – critical for hardware/software co-development as well as FPGA use cases – is constantly evolving based on the needs of our customers like Google and Microchip as well as our work in open source groups including CHIPS Alliance and RISC-V International. To quickly recap, by co-simulation we mean a scenario where a part of the system is simulated in Renode but some specific peripheral or subsystem is simulated directly from HDL, e.Progress on Building Open Source Infrastructure for System Veriloghttps://chipsalliance.org/preview/97/news/open-source-infrastructure-for-system-verilog/Tue, 20 Jul 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/open-source-infrastructure-for-system-verilog/SystemVerilog is a rich hardware design description and verification language that is seeing increased usage in industry. In the second Deep Dive Cafe Talk by CHIPS Alliance on July 20, Henner Zeller, who is an software developer with Google, provided an excellent in depth technical talk on building out an open source tooling ecosystem around SystemVerilog to provide a common framework that can be used by both functional simulation applications as well as logic synthesis.What You Need to Know About Verilator Open Source Toolinghttps://chipsalliance.org/preview/97/news/what-you-need-to-know-about-verilator-open-source-tooling/Mon, 19 Jul 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/what-you-need-to-know-about-verilator-open-source-tooling/Verilator is a high performance, open source functional simulator that has gained tremendous popularity in its usage and adoption in the verification of chip design. The ASIC development community has widely embraced Verilator as an effective, often even superior alternative to proprietary solutions, and it is now the standard approach in RISC-V CPU design as the community has worked to provide Verilator simulation capabilities out of the box. CHIPS Alliance and RISC-V leaders Antmicro and Western Digital have been collaborating to make Verilator even more useful for ASIC design purposes, working towards supporting industry-standard verification methods in a completely open source flow.Efabless Launches chipIgnite with SkyWater to Bring Chip Creation to the Masseshttps://chipsalliance.org/preview/97/news/efabless-launches-chipignite/Thu, 20 May 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/efabless-launches-chipignite/Program includes a pre-designed carrier chip and automated open source design flow from Efabless SkyWater’s open source SKY130 process is the first node to be used to fabricate chips for the program Initiative removes access barriers by significantly reducing cost and the need for deep semiconductor experience to design chips Efabless, a community chip creation platform, today announced the launch of its new chipIgnite program to bring chip design and fabrication to the masses and a collaboration with SkyWater Technology for the first node supported in the program.Antmicro’s ARVSOM RISC-V Module Announcedhttps://chipsalliance.org/preview/97/news/antmicros-arvsom-risc-v-module-announced/Fri, 14 May 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/antmicros-arvsom-risc-v-module-announced/This post was originally published at Antmicro. +We are excited to announce the ARVSOM – Antmicro’s fully open source, RISC-V-based system-on-module featuring the StarFive 71×0 SoC. Using the RISC-V architecture, which Antmicro has been heavily involved in since the early days as a Founding Member of RISC-V International, the SoM is going to enable unprecedented openness, reusability and functionality across different verticals. +We are excited to announce the ARVSOM – Antmicro’s fully open source, RISC-V-based system-on-module featuring the StarFive 71×0 SoC.Dynamic Scheduling in Verilator – Milestone Towards Open Source UVMhttps://chipsalliance.org/preview/97/news/dynamic-scheduling-in-verilator/Thu, 13 May 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/dynamic-scheduling-in-verilator/This post was originally published at Antmicro. +UVM is a verification methodology traditionally used in chip design which has historically been missing from the open source landscape of verification-focused tooling. While new, open source approaches to verification have emerged that include the excellent Python-based Cocotb (that we also use and support) maintained by FOSSi Foundation, not everyone can easily adopt it, especially in long-running projects and existing codebases that use a different verification approach.New MPW-TWO Program Will Provide Fabrication For Fully Open Source Projectshttps://chipsalliance.org/preview/97/news/new-mpw-two-program/Thu, 29 Apr 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/new-mpw-two-program/CHIPS Alliance is excited to announce that the hardware development community can submit their open source design projects to Efabless.com for space on their forthcoming shuttle. This opportunity comes after the success of having 40 submissions for the MPW-ONE shuttle; 60% of those designs were submitted by first-time ASIC designers. MPW-TWO is the second Open MPW Shuttle providing fabrication for fully open-source projects using the SkyWater Open Source PDK announced by Google and SkyWater.Modular, Open-source FPGA-based LPDDR4 Test Platformhttps://chipsalliance.org/preview/97/news/modular-open-source-fpga-based-lpddr4-test-platform/Fri, 09 Apr 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/modular-open-source-fpga-based-lpddr4-test-platform/This post was originally published at Antmicro. +The flexibility of FPGAs makes them an excellent choice not only for parallel processing applications but also for research and experimentation in a range of technological areas. +We often provide our customers with flexible R&D platforms that can be easily adapted to changing requirements and new use cases as a result of our practice of using open source hardware, software, FPGA IP and tooling.CHIPS Alliance Spring Workshop 2021https://chipsalliance.org/preview/97/events/spring-workshop-2021/Tue, 30 Mar 2021 00:00:00 +0000https://chipsalliance.org/preview/97/events/spring-workshop-2021/Check out the presentations below, and watch the replay here +Chipyard - Bora Nikolic, UC Berkeley (slides) RISC-V DV Workgroup Updates Tao Liu / Matt Cockrell, Google (slides) Open Source Flows in ASIC & FPGA Development Michael Gielda, Antmicro Open-Source AIB Chiplet Ecosystem David Kehlet, Intel (slides) OmniXtend Milestone Updates Dejan Vucinic, Western Digital (slides) Chisel advances for next-gen SOC Designs Jack Koenig, SiFive (slides) Codasip SweRV Core Support Package in a Nutshell Zdenek Prikyl, Codasip (slides) An Introduction to the OpenROAD project Andrew Kahng / Tom Spyrou, OpenROAD (slides) Open Source FPGA Tooling Brian Faith, Quicklogic (slides) Fully Open Silicon Down to the Transistor Tim Ansell, Google (slides) Watch the ReplayCHIPS Alliance and RISC-V International Invite the RISC-V Community to Participate in Updating a New Unified Memory Architecture Standardhttps://chipsalliance.org/preview/97/news/risc-v-international-omnixtend-working-group/Wed, 24 Mar 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/risc-v-international-omnixtend-working-group/New joint working group will enhance the OmniXtend Cache Coherency architecture +SAN FRANCISCO, March 24, 2020 – RISC-V International, a non-profit corporation controlled by its members to drive the adoption and implementation of the free and open RISC-V instruction set architecture (ISA), and CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced a joint collaboration to update the OmniXtend Cache Coherency specification and protocol, along with building out developer tools for OmniXtend.GitHub Actions Self-hosted Runners, Build Event Server and Google Cloudhttps://chipsalliance.org/preview/97/news/github-actions-self-hosted-runners-build-event-server-and-google-cloud/Tue, 16 Mar 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/github-actions-self-hosted-runners-build-event-server-and-google-cloud/This post was originally published at Antmicro. +Continuous Integration and smart lifecycle management are key for high-tech product development, which is often a complex and multi-faceted process that requires automation to be efficient and failure-proof. At Antmicro, we’ve been creating various open source cloud and hybrid cloud solutions for our customers, helping them to encapsulate the complexity of their software stack. Lots of those projects cross the hardware/software boundary and involve a mix of open source and proprietary code, which means that fine-grained control of the CI setups are needed to make them work.Goings-on in the FuseSoC Project and Other Open Source Silicon Related Newshttps://chipsalliance.org/preview/97/news/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/Tue, 23 Feb 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/This post was originally published by Olof Kindgren +FOSSi Fever 2020 2020 was a year with a lot of bad news and so it feels slightly strange to cheerfully write about a very specific topic in the light of this. But there will always be good and bad things happening in the world. So let’s keep fighting the bad things and for now take look at what happened last year within the amazing world of open source silicon.CHIPS Alliance Welcomes Antmicro and VeriSilicon to the Platinum Membership Levelhttps://chipsalliance.org/preview/97/news/chips-alliance-welcomes-antmicro-and-verisilicon-to-the-platinum-membership-level/Thu, 11 Feb 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/chips-alliance-welcomes-antmicro-and-verisilicon-to-the-platinum-membership-level/CHIPS Alliance continues to grow with more than 25 companies collaborating on open source hardware and software technologies +SAN FRANCISCO, Feb. 11, 2021 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today welcomed Antmicro and VeriSilicon to the company’s Platinum membership level. Antmicro, one of the initial members of the CHIPS Alliance, has upgraded to the Platinum membership level to reflect its deepening involvement in the organization.High-Throughput Open Source PCIe on Xilinx VU19P-Based ASIC Prototyping Platformhttps://chipsalliance.org/preview/97/news/high-throughput-open-source-pcie/Thu, 11 Feb 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/high-throughput-open-source-pcie/This post was originally published at Antmicro. +In our daily work at Antmicro we use FPGAs primarily for their flexibility and parallel data processing capabilities that make them remarkably effective in advanced vision and audio processing systems involving high-speed interfaces such as PCI Express, USB, Ethernet, HDMI, SDI etc. that we develop and integrate as open source, portable building blocks. Many of our customers, however, use FPGAs also in a different context, namely for designing ASICs, which is a highly specialized market that typically involves large FPGAs, proprietary flows and IP.CHIPS Alliance Brings on Rob Mains as New Executive Directorhttps://chipsalliance.org/preview/97/news/chips-alliance-brings-on-rob-mains-as-new-executive-director/Mon, 08 Feb 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/chips-alliance-brings-on-rob-mains-as-new-executive-director/Industry veteran to lead open hardware consortium democratizing silicon innovation +SAN FRANCISCO, Feb. 8, 2021 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced the appointment of Rob Mains as the organization’s new executive director. +Rob has over 35 years of experience in software engineering and development, with 25 years of experience as an EDA software architect focused on microprocessor design and advanced process node technologies.Enabling Open Source Ibex Synthesis and Simulation in Verilator/Yosys via UHDM/Sureloghttps://chipsalliance.org/preview/97/news/ibex-synthesis-and-simulation/Thu, 07 Jan 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/ibex-synthesis-and-simulation/This post was originally published at Antmicro. +Throughout 2020 we were hard at work developing proper, portable SystemVerilog support for multiple open-source FPGA and ASIC design tools used by us and our customers, most notably Yosys and Verilator. We strongly believe that the support is a necessary step in building a collaborative ecosystem and scalable and reproducible CIs, especially publicly accessible ones that are common in multi-organization projects such as OpenTitan and CHIPS Alliance.2020 Annual Reporthttps://chipsalliance.org/preview/97/news/2020-annual-report/Fri, 01 Jan 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/2020-annual-report/CHIPS Alliance was founded in March 2019 to design high-quality, open source hardware register transfer level (RTL) and develop open source hardware and software design tools. By creating an open and collaborative environment, companies and organizations can develop innovative, cost effective hardware designs optimized for the requirements of today’s silicon devices and FPGAs. +CHIPS Alliance was incorporated by four organizations which wanted to make open source silicon a reality. Esperanto, Google, SiFive and Western Digital were the founding members.Efabless Joins CHIPS Alliance to Accelerate the Growth of the Open Source Chip Ecosystemhttps://chipsalliance.org/preview/97/news/efabless-joins-chips-alliance-to-accelerate-the-growth-of-the-open-source-chip-ecosystem/Tue, 15 Dec 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/efabless-joins-chips-alliance-to-accelerate-the-growth-of-the-open-source-chip-ecosystem/Efabless to give a talk on the OpenROAD project at the CHIPS Alliance Workshop on Sept. 17 +SAN FRANCISCO, Sept. 15, 2020 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today welcomed Efabless, a crowdsourcing design platform for custom silicon, as its latest member. Efabless is already an active participant in several open source initiatives that the CHIPS Alliance is involved in, including the OpenROAD project and the Open Source Shuttle Program.CHIPS Alliance to Collaborate with RISC-V to Standardize an Open Unified Memory Leveraging OmniXtendhttps://chipsalliance.org/preview/97/news/omnixtend/Tue, 08 Dec 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/omnixtend/CHIPS Alliance to highlight OmniXtend advances at RISC-V Summit +SAN FRANCISCO, Dec. 8, 2020 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced that the organization will highlight OmniXtend advances in a presentation at the RISC-V Summit, taking place virtually from Dec. 8-10, 2020. The CHIPS Alliance plans to work with RISC-V International to standardize an open unified memory coherency bus leveraging OmniXtend to foster innovation for data-centric applications.The CHIPS Alliance Workshop: 10 Talks From Industry Leaders, All For Freehttps://chipsalliance.org/preview/97/news/the-chips-alliance-workshop-overview/Tue, 15 Sep 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/the-chips-alliance-workshop-overview/Mark your calendars! The CHIPS Alliance Workshop is coming up on Thursday, Sept. 17 from 11 a.m. to 2 p.m. PT. This free, virtual event will feature talks from industry leaders including Antmicro, Efabless, Google, Intel, Mentor, Metrics, OpenROAD, QuickLogic, SiFive, UC Berkeley and Western Digital. +The CHIPS Alliance Workshop will fit 10 sessions into three hours for a jam-packed event covering a range of interesting topics in the open source community.CHIPS Alliance Welcomes Mentor as its Newest Memberhttps://chipsalliance.org/preview/97/news/chips-alliance-welcomes-mentor-as-its-newest-member/Mon, 17 Aug 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/chips-alliance-welcomes-mentor-as-its-newest-member/Mentor to present at the virtual CHIPS Alliance Workshop on Sept. 17 +SAN FRANCISCO, Aug. 18, 2020 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced that Mentor, a Siemens business, has joined as its newest member. The CHIPS Alliance has a roster of more than 20 members collaborating to accelerate the creation and deployment of open system-on-chips (SoCs), peripherals and software tools for a wide range of applications.QuickLogic Joins CHIPS Alliance to Expand Open Source FPGA Effortshttps://chipsalliance.org/preview/97/news/quicklogic-joins-chips-alliance-to-expand-open-source-fpga-efforts/Tue, 11 Aug 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/quicklogic-joins-chips-alliance-to-expand-open-source-fpga-efforts/QuickLogic to present at the virtual CHIPS Alliance Workshop on Sept. 17 +SAN FRANCISCO, Aug. 11, 2020 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced that QuickLogic Corporation (NASDAQ: QUIK), a developer of ultra-low power multi-core voice-enabled SoCs, embedded FPGA IP, and Endpoint AI solutions, has joined as its newest member. +“Over the past few years the electronics industry has seen a big shift towards open source hardware and software, and we’re proud to be one of the companies at the forefront of that movement,” said Brian Faith, president and CEO at QuickLogic.CHIPS Alliance Announces AIB 2.0 Draft Specification to Accelerate Design of Open Source Chipletshttps://chipsalliance.org/preview/97/news/aib-2-0-draft-specification/Thu, 16 Jul 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/aib-2-0-draft-specification/AIB reduces design barriers, costs, and leverages generators to ease development of chiplet-based designs +SAN FRANCISCO, July 16, 2020 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced that it has released the Advanced Interface Bus (AIB) version 2.0 draft specification on GitHub. The AIB standard is an open-source, royalty-free PHY-level standard for connecting multiple semiconductor die within the same package. AIB is ideal for designing SoCs, FPGAs, SerDes chiplets, high-performance ADC/DAC chiplets, optical networking chiplets and more.CHIPS SweRV Cores and the Open Tools Ecosystemhttps://chipsalliance.org/preview/97/news/chips-swerv-cores-and-the-open-tools-ecosystem/Fri, 10 Jul 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/chips-swerv-cores-and-the-open-tools-ecosystem/This post was originally published at Antmicro. +Antmicro’s open source work spans all parts of the computing stack, from software and AI, to PCBs, FPGAs and, most recently, custom silicon. We connect those areas with an overarching vision of open source tooling and methodology, and a software-driven approach that allows us to move fast and build future-centric solutions. Our partners and customers, many of whom work with us also in the context of organizations such as CHIPS Alliance and RISC-V, share our approach to developing open systems.Open Source Process Design Kit from Google, SkyWater Technologies and Partners Releasedhttps://chipsalliance.org/preview/97/news/open-source-process-design-kit-from-google-skywater-technologies-and-partners-released/Mon, 29 Jun 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/open-source-process-design-kit-from-google-skywater-technologies-and-partners-released/This post was originally published at Antmicro. +The ASIC design and manufacturing flow has for a long time been dominated by proprietary tools and processes. The growing complexity of chip-building has been reinforcing the claim that “hardware is too hard to be open source”, as the cost and time needed to build an ASIC have kept small, more agile, software-oriented teams and individuals away from the hardware domain. Thus, ASICs have not been able to benefit from the enthusiasm and collaboration which have been fuelling software development for decades now.Semiconductor Engineering: About The SweRV Core EH2https://chipsalliance.org/preview/97/news/semiconductor-engineering-swerv-core-eh2/Thu, 25 Jun 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/semiconductor-engineering-swerv-core-eh2/In mid-May, CHIPS Alliance announced the open sourcing of the SweRV Core EH2 and SweRV Core EL2 designed by Western Digital. These cores, as well as the earlier EH1, are now supported by Codasip’s SweRV Core Support Package which provides all of the components necessary to design, implement, test, and write software for a SweRV Core-based system-on-chip. But what is SweRV Core EH2? +The SweRV Core EH1 was the first to be released through CHIPS Alliance and was a core aimed at high-end embedded applications including Western Digital’s flash controllers and SSDs.QuickLogic Announces Open Reconfigurable Computing Initiativehttps://chipsalliance.org/preview/97/news/quicklogic-announces-open-reconfigurable-computing-initiative/Mon, 22 Jun 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/quicklogic-announces-open-reconfigurable-computing-initiative/Originally issued by QuickLogic, the following press release announces the QORC initiative including the world’s first vendor-supported open FPGA toolchain using SymbiFlow, and describes the contribution of CHIPS Alliance members Antmicro and Google. +QuickLogic Open Reconfigurable Computing (QORC) initiative, developed by Antmicro in collaboration with QuickLogic and Google, broadens access to company’s FPGA technology and eFPGA IP for all embedded systems developers First Programmable Logic Company to Embrace Open Source FPGA Development Tools San Jose, CA – June 16, 2020 – QuickLogic Corporation (NASDAQ: QUIK), a developer of ultra-low power multi-core voice-enabled SoCs, embedded FPGA IP, and Endpoint AI solutions, today announced its ground breaking QORC (QuickLogic Open Reconfigurable Computing) initiative, making it the first programmable logic vendor to actively embrace a fully open source suite of development tools for its FPGA devices and eFPGA technology.A Look Back at the CHIPS Alliance’s Incredible Growthhttps://chipsalliance.org/preview/97/news/chips-alliances-incredible-growth/Mon, 08 Jun 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/chips-alliances-incredible-growth/It’s been just over a year since the CHIPS Alliance was founded with the mission of making open source hardware development more accessible to companies, universities and individuals. We’re working to bring the dynamics of the hugely successful open source software development model into ASIC design, building on the groundwork set by the RISC-V community. Progress over the past year is detailed in our Annual Report. +CHIPS Alliance is focused on expanding on this open hardware vision by:CHIPS Alliance’s Newly Enhanced SweRV Cores Available to All for Freehttps://chipsalliance.org/preview/97/news/newly-enhanced-swerv-cores/Thu, 14 May 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/newly-enhanced-swerv-cores/CHIPS Alliance to host online event to help community innovating with SweRV Core EH2 and EL2 Solutions +SAN FRANCISCO, May 14, 2020 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced new enhancements to the SweRV Core™ EH2 and SweRV Core EL2, developed for the open-source community by Western Digital. Since the introduction of the cores earlier this year, the CHIPS Alliance has worked with its community to exhaustedly validate the cores through a transparent and rigorous process, as well as incorporate a variety of new updates.SystemVerilog Linting and Formatting with FuseSoC – Verible Integrationhttps://chipsalliance.org/preview/97/news/systemverilog-linting-and-formatting-with-fusesoc-verible-integration/Thu, 07 May 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/systemverilog-linting-and-formatting-with-fusesoc-verible-integration/This post was originally published at Antmicro. +Although new ASIC design methodologies and tools such as Chisel are on the rise, most ASIC projects still use SystemVerilog, the support of which in open source tools has traditionally lagged behind. This is unfortunate, as using proprietary alternatives with the CI systems of open source projects is neither scalable due to licensing costs and restrictions nor simple due to the need for license management and obfuscation.Intel joins CHIPS Alliance to promote Advanced Interface Bus (AIB) as an open standardhttps://chipsalliance.org/preview/97/news/intel-joins-chips-alliance-to-promote-advanced-interface-bus-aib-as-an-open-standard/Wed, 22 Jan 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/intel-joins-chips-alliance-to-promote-advanced-interface-bus-aib-as-an-open-standard/Open development for SOCs gets major boost with new collaboration +SAN FRANCISCO, Jan. 22, 2020 /PRNewswire/ — CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced industry leading chipmaker Intel as it’s newest member. Intel is contributing the Advanced Interface Bus (AIB) to CHIPS Alliance to foster broad adoption. +CHIPS Alliance is hosted by the Linux Foundation to foster a collaborative environment to accelerate the creation and deployment of open SoCs, peripherals and software tools for use in mobile, computing, consumer electronics and Internet of Things (IoT) applications.Open Source USB test suitehttps://chipsalliance.org/preview/97/news/open-source-usb-test-suite/Fri, 06 Dec 2019 00:00:00 +0000https://chipsalliance.org/preview/97/news/open-source-usb-test-suite/Note: the open source test suite will be demonstrated at the CHIPS Alliance booth at the RISC-V Summit 2019 – join us Dec 10-12 in the San Jose Convention Center! +USB is often a daunting topic for developers, and implementing support for it from scratch is a time consuming task. When the expected result is more complicated than a USB-to-serial bridge, the solution would be to either use a hardware transceiver or, especially for older USB standards, use an open source core to implement one directly in the FPGA fabric.CHIPS Alliance announces technical milestones, three new workgroups including Chisel and the 3rd Chisel Community Conferencehttps://chipsalliance.org/preview/97/news/chips-alliance-announces-technical-milestones-three-new-workgroups-including-chisel-and-the-3rd-chisel-community-conference/Thu, 07 Nov 2019 00:00:00 +0000https://chipsalliance.org/preview/97/news/chips-alliance-announces-technical-milestones-three-new-workgroups-including-chisel-and-the-3rd-chisel-community-conference/SAN FRANCISCO, Nov. 7, 2019 — CHIPS Alliance, the leading consortium advancing common, open hardware for interfaces, processors and systems, today announced the creation of Interconnects, Rocket and Chisel workgroups. In addition, a November verification workshop in Munich and a Chisel conference in January will be held giving engineers an opportunity to learn about open source development efforts in CHIPS Alliance. Lastly, the CHIPS Alliance toolchain and cores workgroups have made contributions to open source development tools.CHIPS Alliance growth continues with new members and design workshop this Novemberhttps://chipsalliance.org/preview/97/news/chips-alliance-growth-continues-with-new-members-and-design-workshop-this-november/Tue, 15 Oct 2019 00:00:00 +0000https://chipsalliance.org/preview/97/news/chips-alliance-growth-continues-with-new-members-and-design-workshop-this-november/SAN FRANCISCO, Oct. 15, 2019 /PRNewswire/ — CHIPS Alliance, the leading consortium advancing common, open hardware for interfaces, processors and systems, today announced Codasip GmbH and Munich University of Applied Science have joined the CHIPS Alliance. In addition, on November 14–15, CHIPS Alliance will be joining the university for a workshop on open source design verification. +CHIPS Alliance is a project hosted by the Linux Foundation to foster a collaborative environment to accelerate the creation and deployment of open SoCs, peripherals and software tools for use in mobile, computing, consumer electronics, and Internet of Things (IoT) applications.CHIPS Alliance featured in All About Circuitshttps://chipsalliance.org/preview/97/news/chips-alliance-featured-in-all-about-circuits/Wed, 10 Jul 2019 00:00:00 +0000https://chipsalliance.org/preview/97/news/chips-alliance-featured-in-all-about-circuits/All About Circuits recently featured an interview with Ted Marena, Yunsup Lee, Amir Salek, and Zvonimir Bandic, discussing the formation of the CHIPS Alliance, its relationship to the RISC-V Foundation, the CHIPS Alliance’s open development model, and initial open source contributions. +Read the article.CHIPS Alliance Builds Momentum and Community with Newest Members Imperas Software and Metricshttps://chipsalliance.org/preview/97/news/chips-alliance-builds-momentum-and-community-with-newest-members-imperas-software-and-metrics/Tue, 18 Jun 2019 00:00:00 +0000https://chipsalliance.org/preview/97/news/chips-alliance-builds-momentum-and-community-with-newest-members-imperas-software-and-metrics/Imperas and Metrics joining CHIPS Alliance to help drive the verification of RISC-V Open ISA implementations +SAN FRANCISCO – June 18, 2019 – CHIPS Alliance, the leading consortium advancing common, open hardware for interfaces, processors and systems, today announced Imperas and Metrics are joining the organization and the Verification Working Group. Imperas is an independent provider of processor simulation technology and tools for virtual platforms and analysis tools for multicore SoC software development.Podcast – Embedded Computing Design – Five Minutes With… Zvonimir Bandic, Chairman, Chips Alliancehttps://chipsalliance.org/preview/97/news/podcast-embedded-computing-design-five-minutes-with-zvonimir-bandic-chairman-chips-alliance/Thu, 23 May 2019 00:00:00 +0000https://chipsalliance.org/preview/97/news/podcast-embedded-computing-design-five-minutes-with-zvonimir-bandic-chairman-chips-alliance/Zvonimir Bandic wears lots of hats. He is the Senior Director of Hardware Platforms for Western Digital; he’s a Member of the Board of Directors for the RISC-V Foundation, and he’s the Chairman of the Chips Alliance. It’s that latter capacity that we discussed in this week’s Five Minutes With…discussion. The organization focuses on things like open source hardware, software tools, RTL development, and related topics. They will be holding their inaugural workshop in just a few weeks, so it was timely to understand the purpose of the Alliance.CHIPS Alliance to Reveal Project Details, Strategy and Roadmap at Inaugural Workshop Hosted at Googlehttps://chipsalliance.org/preview/97/news/chips-alliance-to-reveal-project-details-strategy-and-roadmap-at-inaugural-workshop-hosted-at-google/Tue, 07 May 2019 00:00:00 +0000https://chipsalliance.org/preview/97/news/chips-alliance-to-reveal-project-details-strategy-and-roadmap-at-inaugural-workshop-hosted-at-google/SAN FRANCISCO – May 7, 2019 – CHIPS Alliance, the leading consortium advancing common, open hardware for interfaces, processors and systems, today announced it is holding its inaugural workshop on June 19, 2019 at Google at 111 W. Java Drive, Sunnyvale, Calif. +Project details, strategy and roadmaps will be presented by member companies, and attendees will have an opportunity to propose Register Transfer Level (RTL) projects and development flow ideas. The workshop will focus on open source hardware, software tools, RTL development, design verification tools and related topics.Open Hardware Group – CHIPS Alliance – Building Momentum and Community with Newest Member Antmicrohttps://chipsalliance.org/preview/97/news/open-hardware-group-chips-alliance-building-momentum-and-community-with-newest-member-antmicro/Thu, 18 Apr 2019 00:00:00 +0000https://chipsalliance.org/preview/97/news/open-hardware-group-chips-alliance-building-momentum-and-community-with-newest-member-antmicro/Antmicro Joins CHIPS Alliance to develop open source cores, IP blocks and tools for CPUs, RISC-V-based SoCs and peripherals +SAN FRANCISCO – April 18, 2019 – CHIPS Alliance, the leading consortium advancing common, open hardware for interfaces, processors and systems, today announced Antmicro is joining the organization. Antmicro is a software-driven technology company focused on introducing open source into strategic areas of industry, especially edge AI. Announced just last month, the CHIPS Alliance welcomes Antmicro among its initial members Esperanto Technologies, Google, SiFive, and Western Digital.Linux Foundation to Host CHIPS Alliance Project to Propel Industry Innovation Through Open Source CPU Chip and SoC Designhttps://chipsalliance.org/preview/97/news/linux-foundation-to-host-chips-alliance-project-to-propel-industry-innovation-through-open-source-cpu-chip-and-soc-design/Mon, 11 Mar 2019 00:00:00 +0000https://chipsalliance.org/preview/97/news/linux-foundation-to-host-chips-alliance-project-to-propel-industry-innovation-through-open-source-cpu-chip-and-soc-design/New Linux Foundation Project to Foster Flexible, Next-Generation Chip Design for Diverse Data-Centric Applications and Workloads +SAN FRANCISCO – March 11, 2019 – The Linux Foundation, the nonprofit organization enabling mass innovation through open source, today announced its intent to form the CHIPS Alliance project to host and curate high-quality open source code relevant to the design of silicon devices. CHIPS Alliance will foster a collaborative environment that will enable accelerated creation and deployment of more efficient and flexible chip designs for use in mobile, computing, consumer electronics, and Internet of Things (IoT) applications.Analog Workgrouphttps://chipsalliance.org/preview/97/workgroups/analog/Mon, 01 Jan 0001 00:00:00 +0000https://chipsalliance.org/preview/97/workgroups/analog/The Analog workgroup was formed by the CHIPS Alliance TSC to explore collaborations in open source Analog/Mixed-Signal design and verification. It focuses on sharing best practices, ideas, tooling (analog automation), and other challenge areas in the design space. The workgroup is composed of both industry and university members.Caliptra Workgrouphttps://chipsalliance.org/preview/97/workgroups/caliptra/Mon, 01 Jan 0001 00:00:00 +0000https://chipsalliance.org/preview/97/workgroups/caliptra/Microsoft Teams Meeting LinkChisel Workgrouphttps://chipsalliance.org/preview/97/workgroups/chisel/Mon, 01 Jan 0001 00:00:00 +0000https://chipsalliance.org/preview/97/workgroups/chisel/The Chisel Workgroup is formed around the eponymous hardware design language (HDL) that facilitates advanced circuit generation and design reuse for both ASIC and FPGA digital logic designs. Chisel adds hardware construction primitives to the Scala programming language, providing designers with the power of a modern programming language to write complex, parameterizable circuit generators that produce synthesizable Verilog. Chisel is powered by FIRRTL (Flexible Intermediate Representation for RTL), a hardware compiler framework that performs optimizations of Chisel-generated circuits and supports custom user-defined circuit transformations on an Intermediate Representation.Contacthttps://chipsalliance.org/preview/97/about/contact/Mon, 01 Jan 0001 00:00:00 +0000https://chipsalliance.org/preview/97/about/contact/hbspt.forms.create({ region: "na1", portalId: "8112310", formId: "94557cae-71ce-4536-a54f-8eff19aab9f9", sfdcCampaignId: "7012M000001FetwQAC" }); Mailing Address CHIPS Alliance +1 Letterman Drive, Building D, Suite D4700 +San Francisco, CA 94129F4PGA Workgrouphttps://chipsalliance.org/preview/97/workgroups/f4pga/Mon, 01 Jan 0001 00:00:00 +0000https://chipsalliance.org/preview/97/workgroups/f4pga/The F4PGA Workgroup was formed to drive open source tooling, IP cores and research for FPGA devices. It includes three major groups whose collaboration is critical to the success of the open source approach in this space: FPGA vendors, industrial users and university members. Its main focus is enabling rapid prototyping and software-driven development of FPGA-oriented systems in areas such as ML and video processing. The workgroup provides an open collaboration platform for its members, aiming at accelerating the speed of innovation in FPGAs and the general availability of the technology.Frequently Asked Questionshttps://chipsalliance.org/preview/97/about/faq/Mon, 01 Jan 0001 00:00:00 +0000https://chipsalliance.org/preview/97/about/faq/1 What is CHIPS Alliance? +CHIPS Alliance, a member of the Linux Foundation, is championing open source based collaboration in the chip design community. This includes architectures, specifications, reference implementations, PDKs and EDA tooling. CHIPS Alliance hosts different workgroups to bring community members together to focus on topics of shared interest. 2 Why do we need open source hardware, chips, FPGAs, etc.? +Open source ingredients for hardware design are enabling and accelerating the global collaborative ecosystem.Getting Startedhttps://chipsalliance.org/preview/97/getting-started/Mon, 01 Jan 0001 00:00:00 +0000https://chipsalliance.org/preview/97/getting-started/By creating an open and collaborative environment, the CHIPS Alliance shares resources to lower the cost of development. Companies and individuals can work together to develop open source CPUs, various peripherals, complex IP blocks, tools and workflows. +The CHIPS Alliance is open to all organizations who are interested in collaborating on open source hardware or software tools to accelerate the creation of more efficient and innovative chip designs. +THe CHIPS Alliance is hosted by The Linux Foundation, a 501(c)6 non-profit.Governancehttps://chipsalliance.org/preview/97/about/governance/Mon, 01 Jan 0001 00:00:00 +0000https://chipsalliance.org/preview/97/about/governance/In addition to the top-level structure of The CHIPS Alliance, each hosted open source project has its own process, structure, and community. While the Technical Steering Community (TSC) sets high-level technical policy, projects have a great deal of flexibility in day-to-day operations. +Rob Mains - General Manager The General Manager works with the Governing Board, our members, and our projects to ensure the CHIPS Alliance is a healthy, sustainable, and neutral home for open source technical collaborations.Joinhttps://chipsalliance.org/preview/97/join/Mon, 01 Jan 0001 00:00:00 +0000https://chipsalliance.org/preview/97/join/The CHIPS Alliance is an organization which works collaboratively to develop high quality, open source hardware designs relevant to silicon devices and FPGAs. By sharing openly resources and ideas, we hope to lower the cost of hardware development. +As a collection of open source projects, anyone is welcome to participate in the technical development process. The Technical Steering Committee is governed by a technical charter. +The CHIPS Alliance also welcomes corporate members.Membershttps://chipsalliance.org/preview/97/about/members/Mon, 01 Jan 0001 00:00:00 +0000https://chipsalliance.org/preview/97/about/members/When an organization joins the CHIPS Alliance, they are making a tangible commitment to the success and sustainability of open source projects which help to achieve these goals. The CHIPS Alliance recognizes the critical supporting role of these organizations, and thanks them for their ongoing support of our project communities. +CHIPS Alliance Members Become a Member Platinum Members Gold Members Silver Members Auditor Members Associate MembersProjectshttps://chipsalliance.org/preview/97/projects/Mon, 01 Jan 0001 00:00:00 +0000https://chipsalliance.org/preview/97/projects/Graduated Projects F4PGA Free and open source toolchain for FPGA devices Repositories: f4pga Issue Tracker Website Contact: Tomasz Michalak (GitHub) Caliptra The Caliptra project focuses on development of HW and SW IP for the Caliptra Root of Trust Repositories: caliptra caliptra-rtl caliptra-sw caliptra-ureg caliptra-dpe Issue Tracker Website Contact: Andres Lagar-Cavilla (GitHub) FPGA Interchange format FPGA Interchange is a Vendor agnostic FPGA devices and designs description.Rocket Workgrouphttps://chipsalliance.org/preview/97/workgroups/rocket/Mon, 01 Jan 0001 00:00:00 +0000https://chipsalliance.org/preview/97/workgroups/rocket/The Rocket Chip Workgroup covers the “Rocket” pipelined implementation of a RISC-V core as well as a TileLink uncore and cache coherent memory hierarchy. The main rocket-chip repository that the group maintains is a meta-repository containing tools needed to generate and test RTL implementations of SoC designs. This repository contains code that is used to generate RTL using Chisel and Diplomacy: the Rocket Chip generator itself is a Scala program that invokes the Diplomacy library and Chisel compiler in order to emit RTL describing a complete SoC.Tools Workgrouphttps://chipsalliance.org/preview/97/workgroups/tools/Mon, 01 Jan 0001 00:00:00 +0000https://chipsalliance.org/preview/97/workgroups/tools/The Tools workgroup (WG) of CHIPS Alliance covers a wide array of open source tooling for ASIC and FPGA design, mostly focusing around digital design (as there is a separate Analog WG that focuses on AMS design flows). The topics covered include simulation, synthesis, place and route, IP aggregation, linting, formatting, and many more.Who We Arehttps://chipsalliance.org/preview/97/about/who-we-are/Mon, 01 Jan 0001 00:00:00 +0000https://chipsalliance.org/preview/97/about/who-we-are/The CHIPS Alliance leverages common hardware development efforts by developing IP blocks that can be broadly used, such as RISC-V cores and neural network accelerator cores. We recognize that verification contributions benefit all who participate in the project, and prioritize joint resources for design verification. +The scope of the Project includes hardware and software design and development under an open source (Apache v2) license: +Verified IP blocks (compute cores, accelerators etc) Verified SoC designs (based on RISC-V and other open source cores) Open source software development tools for ASIC development High value IP including analog peripherals, mixed signal blocks and compute acceleration Exploration of new design flows such as Python-based design verification. \ No newline at end of file diff --git a/preview/97/join/index.html b/preview/97/join/index.html new file mode 100644 index 000000000..34b4ecde9 --- /dev/null +++ b/preview/97/join/index.html @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + +Join | CHIPS Alliance + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+

Join

+

Join the CHIPS Alliance and harness the tremendous amount of collaborative energy in open source hardware development.

+ +
+
+
+
+banner-image +
+shape +
+
+
+
+
+
+
+
+
+
+
+

The CHIPS Alliance is an organization which works collaboratively to develop high quality, open source hardware designs relevant to silicon devices and FPGAs. By sharing openly resources and ideas, we hope to lower the cost of hardware development.

+

As a collection of open source projects, anyone is welcome to participate in the technical development process. The Technical Steering Committee is governed by a technical charter.

+

The CHIPS Alliance also welcomes corporate members. By participating as a corporate member, your organization provides vital funding for the infrastructure and activities that support our open and collaborative development process.

+

To join the CHIPS Alliance as a corporate member, please complete the participation agreement below. Please note that Linux Foundation membership is required to join the CHIPS Alliance.

+

You may preview these documents before signing:

+ +

If you have any questions, please email membership@chipsalliance.org!

+

+ Join Us +

+

Please note that non-profit and academic institutions may join the Linux Foundation and the CHIPS Alliance as Associate members at no cost. Please contact us for more information.

+
+
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/preview/97/js/script.js b/preview/97/js/script.js new file mode 100644 index 000000000..af6ce5199 --- /dev/null +++ b/preview/97/js/script.js @@ -0,0 +1,106 @@ +$(document).ready(function () { + 'use strict'; + + $(window).on('scroll', function () { + var windscroll = $(window).scrollTop(); + if (windscroll >= 70) { + $('#mainnavigationBar').addClass('sticky-nav'); + } else { + $('#mainnavigationBar').removeClass('sticky-nav'); + } + }); + $('.navbar-toggler').on('click', function () { + var navbar = $('#mainnavigationBar'); + navbar.toggleClass('bg-nav'); + }); + + + // Magnific Popup + $('.popup-vimeo').magnificPopup({ + disableOn: 700, + type: 'iframe', + mainClass: 'mfp-fade', + removalDelay: 160, + preloader: false, + fixedContentPos: false, + }); + + const counterUp = window.counterUp.default + +const callback = entries => { + entries.forEach( entry => { + const el = entry.target + if ( entry.isIntersecting && ! el.classList.contains( 'is-visible' ) ) { + counterUp( el, { + duration: 1000, + delay: 16, + } ) + el.classList.add( 'is-visible' ) + } + } ) +} + +const IO = new IntersectionObserver( callback, { threshold: 1 } ) + +const els = document.querySelectorAll( '.counter' ) +els.forEach(el => { + IO.observe( el ) +}) + + + + //Show password + $('.viewPassword').click(function () { + $(this).toggleClass('fa-eye fa-eye-slash'); + var input = $($(this).attr('toggle')); + if (input.attr('type') == 'password') { + input.attr('type', 'text'); + } else { + input.attr('type', 'password'); + } + }); + // Scroll spy style start + $('.nav-link').click(function () { + $('.nav-link').removeClass('active'); + $(this).addClass('active'); + }); + // Scroll spy + $(document).ready(function () { + $('body').scrollspy({ + target: '#scrol-nav', + offset: 20, + }); + + // Navbar fade + changeNavbar(); + + $(window).scroll(function () { + changeNavbar(); + }); + + function changeNavbar() { + var navbar = $('#scrol-nav'); + if ($(this).scrollTop() >= 20) { + navbar.addClass('bg-light').removeClass('bg-transparent'); + } else if ($(this).scrollTop() < 20) { + navbar.removeClass('bg-light').addClass('bg-transparent'); + } + } + }); + //end Scroll spy style + + // Add active class to the current accordionExample + var header = document.getElementById('accordionExample'); + var btns = header && header.getElementsByClassName('accordion-item'); + if (btns) { + for (var i = 0; i < btns.length; i++) { + btns[i].addEventListener('click', function () { + var current = document.getElementsByClassName('shows'); + if (current.length > 0) { + current[0].className = current[0].className.replace(' shows', ''); + } + this.className += ' shows'; + }); + } + } +}); diff --git a/preview/97/news/1212/DDR5-diagram.svg b/preview/97/news/1212/DDR5-diagram.svg new file mode 100644 index 000000000..78764a465 --- /dev/null +++ b/preview/97/news/1212/DDR5-diagram.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/news/1212/DDR5-photo.png b/preview/97/news/1212/DDR5-photo.png new file mode 100644 index 000000000..5b98be56f Binary files /dev/null and b/preview/97/news/1212/DDR5-photo.png differ diff --git a/preview/97/news/1212/index.html b/preview/97/news/1212/index.html new file mode 100644 index 000000000..54d48b17f --- /dev/null +++ b/preview/97/news/1212/index.html @@ -0,0 +1,310 @@ + + + + + + + + + + + + + + +Antmicro DDR5 Rowhammer Testing Framework | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/1212/share.png b/preview/97/news/1212/share.png new file mode 100644 index 000000000..e5de18a29 Binary files /dev/null and b/preview/97/news/1212/share.png differ diff --git a/preview/97/news/2020-annual-report/index.html b/preview/97/news/2020-annual-report/index.html new file mode 100644 index 000000000..b65a6f529 --- /dev/null +++ b/preview/97/news/2020-annual-report/index.html @@ -0,0 +1,434 @@ + + + + + + + + + + + + + + +2020 Annual Report | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

2020 Annual Report

+
+
    +
  • +

    January 1, 2021

    +
  • +
  • +

    10 minutes

    +
  • +
  • +

    2054 words

    +
  • +
+
+
+
+featured-image +
+

CHIPS Alliance was founded in March 2019 to design high-quality, open source hardware register transfer level (RTL) and develop open source hardware and software design tools. By creating an open and collaborative environment, companies and organizations can develop innovative, cost effective hardware designs optimized for the requirements of today’s silicon devices and FPGAs.

+

CHIPS Alliance was incorporated by four organizations which wanted to make open source silicon a reality. Esperanto, Google, SiFive and Western Digital were the founding members. Now that one year has passed since the organization’s founding, it is fitting to look back at our progress so far. We are pleased to present this annual report detailing the many things we have accomplished collectively in this fast growing organization.

+

Comments and feedback are welcome at info@chipsalliance.org.

+

“The growth behind CHIPS Alliance has been incredible. We are laying the foundation for open source hardware development to become accessible to a wider number of companies, universities and individuals.”
+– Zvonimir Bandic, Governing Board Chair, CHIPS Alliance, and Senior Director, Western Digital

+

A Great First Year For Chips Alliance

+ +

Who We Are

+

CHIPS Alliance is a barrier free, open organization focused on developing open source hardware RTL and open source hardware and software development tools. The organization desires to lower the cost of chip development through collaboration, leveraging the diverse expertise and broad experience of its members. CHIPS Alliance encourages contributions and shared investments by providing vendor-neutral promotional events, documentation, tools and support for a variety of projects in our workgroups.

+

Current Workgroups

+

The following workgroups are part of CHIPS Alliance:

+
    +
  • Interconnect +
      +
    • OmniXtend
    • +
    • AIB (Chiplets)
    • +
    • TileLink
    • +
    +
  • +
  • Cores +
      +
    • SweRV Cores
    • +
    +
  • +
  • Tools +
      +
    • Verilator
    • +
    • FuseSoC
    • +
    • Cocotb
    • +
    • riscv-dv
    • +
    +
  • +
  • Chisel
  • +
  • Rocket SoC
  • +
+

Growing Membership

+

In March 2019, CHIPS Alliance was formed as a project under the Linux Foundation. The four founding members – Esperanto, Google, SiFive and Western Digital – set the aspirations for the group. CHIPS Alliance can be viewed as an extension of the mission started by organizations such as RISC-V International. RISC-V defines an open instruction set architecture (ISA) specification which paved the way for a plethora of open cores and CPU implementations, but does not instruct how to make the physical hardware and other building blocks needed to create practical open silicon. This is where CHIPS Alliance begins. Using open standards such as RISC-V, CHIPS Alliance is working to collaboratively build robust and industry-proven cores, peripherals and SoCs.

+

Early on it became clear that lowering the barriers and cost of development would require collaboration among many parties to develop relevant open source design tools. CHIPS Alliance stepped up to the task. Today the organization focuses on both open source hardware RTL designs and open source software and hardware design tool development. CHIPS Alliance is a barrier free, open organization promoting open silicon.

+

CHIPS Alliance has grown to nineteen members over the past year. The organization now boasts some of the world’s leading semiconductor manufacturers including Intel, Samsung, Futurewei and Alibaba. Software tools, IP and services companies in the organization include Antmicro, Codasip, Imperas and Qamcom. Several notable universities and open source projects are also part of CHIPS Alliance, including the leading open simulator tool Verilator, UC Berkeley, IIT Madras, Yale University, OpenRoad, Munich University of Applied Sciences and UC San Diego. The complete membership list can be found at https://chipsalliance.org/.

+

How Do I Get Involved?

+

To aid new members and those who are interested in knowing more about CHIPS Alliance, we have created a Getting Started Guide. We encourage everyone to join our main mailing list, follow us on social media channels Twitter and LinkedIn, and engage in our technical community, which is not limited to members. If you see a particular workgroup you want to get involved in, you can join that specific mailing list and attend their meetings.

+

Events Over The Past Year

+

After the formation of CHIPS Alliance, we began holding events to share what the organization is about and to highlight progress of various work groups. Listed chronologically:

+
    +
  • It started with our inaugural workshop held in June 2019 at Google’s Sunnyvale campus. The list of speakers included CEOs, CTOs, engineers and other technical presenters. Over 200 attendees joined us for our initial event.
  • +
  • In August 2019, CHIPS Alliance held a meetup in the Bay Area highlighting a proposed graphics extension for RISC-V.
  • +
  • In November 2019, the Munich University of Applied Sciences held an open source design verification workshop in Munich, Germany.
  • +
  • In January 2020, CHIPS Alliance hosted a Chisel Community Conference at Western Digital’s Milpitas office. The two day event featured talks from industry leaders and academia, as well as in-depth training on Chisel, FIRRTL and the associated software ecosystem.
  • +
  • In April 2020, CHIPS Alliance held an online meetup on Cache Coherent Memory Fabric with TileLink and OmniXtend. There were over 250 attendees who learned about developments from SiFive, Western Digital and Intel.
  • +
+

Technical Highlights

+
    +
  • The CHIPS Alliance announced the enhanced updates of the SweRV Core EH2 and EL2 solutions which were initially developed by Western Digital. The SweRV Core family also includes the EH1. Learn more at GitHub.
  • +
  • Antmicro, Google and the CHIPS Alliance have been working together with the lowRISC project to develop Verible support for some SystemVerilog features required for working with practical use cases, such as lowRISC’s ibex. Furthermore, the recent integration of Verible with FuseSoC has made linting and formatting automation even easier.
  • +
  • Antmicro and Google developed an open source SystemVerilog test suite. It is available on GitHub. The suite runs a number of open source EDA tools against a series of SystemVerilog compliance tests and presents the results online.
  • +
  • The SweRV Support Package (SSP), developed by Codasip in cooperation with Western Digital, provides a comprehensive set of tools and components for designing, implementing, testing and writing software for a SweRV Core-based SoC. The basic version of the SSP is available free of charge at GitHub.
  • +
  • The SweRV Instruction Set Simulator (ISS), initially developed by Western Digital, offers full test bench support for the design of SweRV Cores.
  • +
  • Antmicro together with Western Digital and FOSSi Foundation developed the initial Verilator open source simulator support in Cocotb – an open source Python coroutine-based co-simulation library.
  • +
  • Antmicro has developed an open source test suite for USB IP cores, available on GitHub.
  • +
  • The Advanced Interface Bus (AIB) specification and reference implementations from Intel were published on GitHub.
  • +
  • Western Digital open sourced the OmniXtend™ cache-coherent protocol to provide an efficient way to attach persistent memory processors. Learn more at GitHub.
  • +
  • Google released RISCV-DV – a SystemVerilog/UVM based open-source instruction generator for RISC-V processor verification. The project is available on GitHub.
  • +
  • The Cores and Tools workgroups created a portable SoC based on the SweRV CoreTM EH1 using FuseSoC; the SoC includes a debug port and Zephyr support.
  • +
  • The Chisel workgroup has also achieved a significant number of technical milestones, as presented on the 2020 Chisel Community Conference
  • +
+

Why Members Join Chips Alliance

+

The members of CHIPS Alliance join for a variety of reasons. Some organizations join to grow their business. Companies that fall into this group normally offer an open source solution, along with selling support and additional services to interested companies. As an example, Codasip has an open SweRV package that anyone can access, a Pro version with commercial EDA tools, and customization and verification services available upon request.

+

Many organizations join CHIPS Alliance to accelerate development of a RTL IP/SoC or software tool. For example, Verilator and Chisel are software development tools that have benefited from their organizations joining. See slide 4 of the Verilator, Accelerated presentation to see how CHIPS Alliance has benefited the Verilator ecosystem.

+

Another reason companies join CHIPS Alliance is to accelerate adoption of IP or software. One such IP is AIB which was brought into CHIPS Alliance by Intel. AIB is a chiplet interconnect and is being adopted by a number of companies. Recently DARPA presented on the benefits of AIB and how chiplets can accelerate SoC development.

+

Chips Alliance News

+ +

Member News

+ +

Media Coverage

+ +

A Look Ahead To 2021

+

While CHIPS Alliance had a number of in-person events planned for 2020, many of these events have been delayed or postponed due to COVID-19. In the meantime, the CHIPS Alliance will be hosting several online events and meetups. Sign up for our announcements list to be kept up-to-date on our events.

+

The CHIPS Alliance has seen additional interest from a number of companies, organizations and nonprofits in joining our ecosystem, so we will continue to focus on growing our membership. As development accelerates and more output is generated, we anticipate this will foster even more interest in CHIPS Alliance and its open source solutions.

+

Lastly, we are actively recruiting a full time executive director and hope to have this individual on board by mid-2020.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/2020-annual-report/share.jpg b/preview/97/news/2020-annual-report/share.jpg new file mode 100644 index 000000000..ddef1e14f Binary files /dev/null and b/preview/97/news/2020-annual-report/share.jpg differ diff --git a/preview/97/news/2021-annual-report/index.html b/preview/97/news/2021-annual-report/index.html new file mode 100644 index 000000000..553a3e7b0 --- /dev/null +++ b/preview/97/news/2021-annual-report/index.html @@ -0,0 +1,448 @@ + + + + + + + + + + + + + + +2021 Annual Report | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

2021 Annual Report

+
+
    +
  • +

    January 1, 2022

    +
  • +
  • +

    13 minutes

    +
  • +
  • +

    2576 words

    +
  • +
+
+
+
+featured-image +
+

CHIPS Alliance was founded in March 2019 to design high-quality, open source hardware register transfer level (RTL) and develop open source hardware and software design tools. By creating an open and collaborative environment, companies and organizations can develop innovative, cost effective hardware designs optimized for the requirements of today’s silicon devices and FPGAs.

+

CHIPS Alliance was incorporated by four organizations which wanted to make open source silicon a reality. Esperanto, Google, SiFive and Western Digital were the founding members. Now almost two years later, it is fitting to look back at our progress. We are pleased to present this annual report detailing the many things we have accomplished collectively in this fast growing organization.

+

Comments and feedback are welcome at info@chipsalliance.org.

+
+

“The growth behind CHIPS Alliance has been incredible. We are laying the foundation for open source hardware development to become accessible to a wider number of companies, universities and individuals.”

+

Zvonimir Bandic, Governing Board Chair, CHIPS Alliance, and Senior Director, Western Digital

+
+

Leading The Open Hardware Movement

+ +

Who We Are

+

CHIPS Alliance is a barrier free, open organization focused on developing open source hardware RTL and open source hardware and software development tools. The organization desires to lower the cost of chip development through collaboration, leveraging the diverse expertise and broad experience of its members. CHIPS Alliance encourages contributions and shared investments by providing vendor-neutral promotional events, documentation, tools and support for a variety of projects in our workgroups.

+

Rob Mains serves as General Manager of the CHIPS Alliance. Rob joined the organization in January 2021, bringing more than 38 years of industry experience to the role. To learn more about Rob, please visit here.

+

Current Workgroups

+

The following workgroups are part of CHIPS Alliance:

+
    +
  • Interconnect (currently OmniXtend, the AIB chiplet interface and TileLink)
  • +
  • Cores (including the SWeRV core family)
  • +
  • Tools (grouping efforts around extending Verilator to allow UVM-based DV, SystemVerilog support in open source, the RISC-V DV framework as well as tools like Cocotb and FuseSoC)
  • +
  • Chisel (concerning the development of the Chisel HDL, FIRRTL intermediate representation and related tools)
  • +
  • Rocket SoC (encompassing the Rocket core generator ecosystem)
  • +
+

The organization is also working on setting up an Open Source Analog Design/Generators Working Group.

+

Growing Membership

+

In March 2019, CHIPS Alliance was formed as a project under the Linux Foundation. The four founding members – Esperanto, Google, SiFive and Western Digital – set the aspirations for the group. CHIPS Alliance can be viewed as an extension of the mission started by organizations such as RISC-V International. RISC-V defines an open instruction set architecture (ISA) specification which paved the way for a plethora of open cores and CPU implementations, but does not instruct how to make the physical hardware and other building blocks needed to create practical open silicon. This is where CHIPS Alliance begins. Using open standards such as RISC-V, CHIPS Alliance is working to collaboratively build robust and industry-proven cores, peripherals and SoCs.

+

Early on it became clear that lowering the barriers and cost of development would require collaboration among many parties to develop relevant open source design tools. CHIPS Alliance stepped up to the task. Today the organization focuses on both open source hardware RTL designs and open source software and hardware design tool development. CHIPS Alliance is a barrier free, open organization promoting open silicon.

+

CHIPS Alliance has grown to more than 25 members over the past year. The organization now boasts some of the world’s leading semiconductor manufacturers including Intel, Samsung, Futurewei and Alibaba. Software tools, IP and services companies in the organization include Antmicro, Codasip, Imperas, Qamcom and Verisilicon. Several notable universities and open source projects are also part of CHIPS Alliance such as UC Berkeley, IIT Madras, Yale University, OpenRoad, Munich University of Applied Sciences and UC San Diego. The complete membership list can be found at https://chipsalliance.org/about/members/

+

How Do I Get Involved?

+

To aid new members and those who are interested in knowing more about CHIPS Alliance, we have created a Getting Started Guide. We encourage everyone to join our main mailing list, follow us on social media channels Twitter and LinkedIn, and engage in our technical community, which is not limited to members. If you see a particular workgroup you want to get involved in, you can join that specific mailing list and attend their meetings.

+

Events Over The Past Year

+

CHIPS Alliance hosted a number of events over the past year, pivoting to virtual workshops and Meetups due to the pandemic. Below please find more information about the events CHIPS Alliance and its members participated in:

+
    +
  • In January 2020, CHIPS Alliance hosted a Chisel Community Conference at Western Digital’s Milpitas office. The two day event featured talks from industry leaders and academia, as well as in-depth training on Chisel, FIRRTL and the associated software ecosystem.
  • +
  • In April 2020, CHIPS Alliance held an online meetup on Cache Coherent Memory Fabric with TileLink and OmniXtend. There were over 250 attendees who learned about developments from SiFive, Western Digital and Intel.
  • +
  • In May 2020, the CHIPS Alliance participated in a Meetup hosted by the Bay Area RISC-V Group, providing attendees with an overview of the organization and the SweRV family of cores.
  • +
  • In September 2020, the CHIPS Alliance Workshop featured 10 talks about open source milestones, progress, updates and more.
  • +
  • In November, CHIPS Alliance chair of Outreach Committee Michael Gielda gave a talk at RISC-V Days Tokyo, discussing the ongoing activities towards enabling fully open source and CI-driven ASIC and FPGA development flows.
  • +
  • In December 2020, at the RISC-V Summit, CHIPS Alliance Chairman Dr. Zvonimir Bandić gave a talk about OmniXtend, and Antmicro gave a talk describing its efforts towards enabling SystemVerilog support in open source tools.
  • +
+

Technical Highlights

+
    +
  • CHIPS Alliance announced a collaboration with RISC-V International to standardize an open unified memory coherency bus leveraging OmniXtend to foster innovation for data-centric applications.
  • +
  • CHIPS Alliance released the Advanced Interface Bus (AIB) version 2.0 draft specification on GitHub. The AIB standard is an open-source, royalty-free PHY-level standard for connecting multiple semiconductor die within the same package.
  • +
  • Antmicro and Western Digital have been making significant progress in enabling dynamic scheduling in Verilator, which paves the way for open source UVM verification.
  • +
  • The CHIPS Alliance announced the enhanced updates of the SweRV Core EH2 and EL2 solutions which were initially developed by Western Digital. The SweRV Core family also includes the EH1. Learn more at GitHub.
  • +
  • Antmicro, Google and the CHIPS Alliance have been working together with the lowRISC project to develop Verible linting and formatting support (including FuseSoC integration) for some SystemVerilog features required for working with practical use cases, such as lowRISC’s ibex. Ibex can also now be synthesized and simulated in a completely open source flow using Surelog, Yosys and Verilator.
  • +
  • Google, SkyWater, eFabless, Antmicro, the OpenROAD project and other partners collaborated to release the first ever open source process design kit, SkyWater’s PDK for the 130 nm MOSFET fabrication process, along with related sources. This development lowers the cost of entry into chip manufacturing and paves the way for even more exciting collaborations to happen in the open source silicon domain.
  • +
  • Antmicro and Google have been further developing the open source SystemVerilog test suite. It is available on GitHub. The suite runs a number of open source EDA tools against a series of SystemVerilog compliance tests and presents the results online.
  • +
  • The SweRV Support Package (SSP), developed by Codasip in cooperation with Western Digital, provides a comprehensive set of tools and components for designing, implementing, testing and writing software for a SweRV Core-based SoC. The basic version of the SSP is available free of charge at GitHub.
  • +
  • The SweRV Instruction Set Simulator (ISS), initially developed by Western Digital, offers full test bench support for the design of SweRV Cores.
  • +
  • The Chisel workgroup has also achieved a significant number of technical milestones, as presented on the 2020 Chisel Community Conference
  • +
+

Why Members Join CHIPS Alliance

+

The members of CHIPS Alliance join for a variety of reasons. Some organizations join to grow their business. Companies that fall into this group normally offer an open source solution, along with selling support and additional services to interested companies. As an example, Codasip has an open SweRV package that anyone can access, a Pro version with commercial EDA tools, and customization and verification services available upon request.

+

Many organizations join CHIPS Alliance to accelerate development of a RTL IP/SoC or software tool. For example, the software tool Verilator and the hardware compiler framework Chisel have benefited from their organizations joining. See slide 4 of the Verilator, Accelerated presentation to see how CHIPS Alliance has benefited the Verilator ecosystem.

+

Another reason companies join CHIPS Alliance is to accelerate adoption of IP or software. One such IP is AIB which was brought into CHIPS Alliance by Intel. AIB is a chiplet interconnect and is being adopted by a number of companies. DARPA presented on the benefits of AIB and how chiplets can accelerate SoC development.

+

CHIPS Alliance News

+ +

Member News

+ +

Media Coverage

+ +

Looking Ahead

+

Don’t miss the CHIPS Alliance Spring Workshop on March 30! Learn more and register for free. Sign up for our announcements list to be kept up-to-date on our events. The CHIPS Alliance has seen additional interest from a number of companies, organizations and nonprofits in joining our ecosystem, so we will continue to focus on growing our membership. As development accelerates and more output is generated, we anticipate this will foster even more interest in CHIPS Alliance and its open source solutions.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/2021-annual-report/share.png b/preview/97/news/2021-annual-report/share.png new file mode 100644 index 000000000..481a0c519 Binary files /dev/null and b/preview/97/news/2021-annual-report/share.png differ diff --git a/preview/97/news/aib-2-0-draft-specification/index.html b/preview/97/news/aib-2-0-draft-specification/index.html new file mode 100644 index 000000000..beba28a6e --- /dev/null +++ b/preview/97/news/aib-2-0-draft-specification/index.html @@ -0,0 +1,321 @@ + + + + + + + + + + + + + + +CHIPS Alliance Announces AIB 2.0 Draft Specification to Accelerate Design of Open Source Chiplets | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

CHIPS Alliance Announces AIB 2.0 Draft Specification to Accelerate Design of Open Source Chiplets

+
+
    +
  • +

    July 16, 2020

    +
  • +
  • +

    4 minutes

    +
  • +
  • +

    704 words

    +
  • +
+
+
+
+featured-image +
+

AIB reduces design barriers, costs, and leverages generators to ease development of chiplet-based designs

+

SAN FRANCISCO, July 16, 2020 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced that it has released the Advanced Interface Bus (AIB) version 2.0 draft specification on GitHub. The AIB standard is an open-source, royalty-free PHY-level standard for connecting multiple semiconductor die within the same package. AIB is ideal for designing SoCs, FPGAs, SerDes chiplets, high-performance ADC/DAC chiplets, optical networking chiplets and more.

+

AIB 2.0 has more than six times the edge bandwidth density of AIB 1.0 through increases in the per-wire line rate and the number of IOs per channel. Additionally, with smaller microbumps AIB 2.0 can use as little as half of the current microbump array area. AIB makes it easier for designers to connect chiplets so companies can mix foundries, process nodes, IP sources, etc. for more flexibility in designing highly-integrated semiconductor devices.

+

“The AIB 2.0 draft standard continues the CHIPS Alliance’s efforts to provide comprehensive design resources to simplify hardware design and reduce development costs,” said Dr. Zvonimir Bandić, Chairman, CHIPS Alliance. “As companies increasingly rely on chiplets to keep up with the latest computing requirements and workloads for different applications, AIB will make it easier to integrate silicon IP with other chiplets into a single device to deliver new levels of functionality and optimization.”

+

The CHIPS Alliance and its members are working together to help foster the growth of an industry ecosystem which engenders more device innovation via heterogeneous integration. With broader adoption and support for AIB-enabled chiplets, developers can go beyond the limits of traditional monolithic semiconductor manufacturing to leverage the ideal process node for each function in their design while lowering development costs. The AIB specification is already in use by leading semiconductor companies, and has also been adopted by DARPA’s Common Heterogeneous Integration and IP Reuse Strategies (CHIPS) program.

+

To further reduce the design effort of producing block variants and porting custom blocks to a new process, Blue Cheetah Analog Design, Inc. has developed agile, process portable, and parameterizable generators for the AIB die-to-die interface. Blue Cheetah’s AIB PHY Generator enables the rapid generation of sign-off ready AIB custom blocks (i.e. netlist, GDS, LEF, LIB, and behavioral models) across a multitude of process design kits (PDKs).

+

“Reducing barriers to entry in developing custom silicon will be critical for the growth, adoption, and success of the chiplet movement,” said Dr. Krishna Settaluri, CEO, Blue Cheetah Analog Design. “By producing custom blocks at push-button speed, Blue Cheetah’s generators drastically reduce time-to-market and engineering effort required to produce tape-out ready IP. We are excited to offer this capability and look forward to enabling companies to thrive in the chiplet ecosystem.”

+

Dr. Settaluri of Blue Cheetah and David Kehlet of Intel® Corporation will be discussing the AIB PHY generator and AIB 2.0 draft specification at DAC 2020, which is being held virtually this year. The session, called “Tutorial 10 Part 1: Chiplet Integration: Tools, Methodology, Requirement, Infrastructure,” will take place on Monday, July 20 at 1:30 p.m. PT. To learn more about the talk, please visit here.

+

To read the AIB specification, please visit: https://github.com/chipsalliance/AIB-specification.

+

To check out the AIB PHY Generator, please visit: https://github.com/chipsalliance/aib-phy-generator.

+

About the CHIPS Alliance

+

The CHIPS Alliance is an organization which develops and hosts high-quality, open source hardware code (IP cores), interconnect IP (physical and logical protocols), and open source software development tools for design, verification, and more. The main aim is to provide a barrier-free collaborative environment, to lower the cost of developing IP and tools for hardware development. The CHIPS Alliance is hosted by the Linux Foundation. For more information, visit chipsalliance.org.

+

About the Linux Foundation

+

The Linux Foundation was founded in 2000 and has since become the world’s leading home for collaboration on open source software, open standards, open data, and open hardware. Today, the Foundation is supported by more than 1,000 members and its projects are critical to the world’s infrastructure, including Linux, Kubernetes, Node.js and more. The Linux Foundation focuses on employing best practices and addressing the needs of contributors, users, and solution providers to create sustainable models for open collaboration. For more information, visit linuxfoundation.org.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/alibaba-cloud-announced-progress-in-porting-android-functions-onto-risc-v/index.html b/preview/97/news/alibaba-cloud-announced-progress-in-porting-android-functions-onto-risc-v/index.html new file mode 100644 index 000000000..3123ed558 --- /dev/null +++ b/preview/97/news/alibaba-cloud-announced-progress-in-porting-android-functions-onto-risc-v/index.html @@ -0,0 +1,325 @@ + + + + + + + + + + + + + + +Alibaba Cloud Announced Progress in Porting Android Functions onto RISC-V | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

Alibaba Cloud Announced Progress in Porting Android Functions onto RISC-V

+
+
    +
  • +

    April 21, 2022

    +
  • +
  • +

    4 minutes

    +
  • +
  • +

    680 words

    +
  • +
+
+
+
+featured-image +
+

The company also tops MLPerf Tiny v0.7 Benchmark with its IOT processor

+

Hangzhou, China, April 20, 2022 – Alibaba Cloud, the digital technologies and intelligence backbone of Alibaba Group, announced it has made further progress in porting basic Android functions onto the RISC-V instruction-set architecture (ISA). This proves the feasibility of using RISC-V based Android devices in scenarios ranging from multimedia to signal processing, device interconnection, and artificial intelligence.

+

Last year, the company reported it had successfully ported basic functions like chrome browsing in Android 10. Since the initial porting trial, further effort has been invested to rebase previous engineering on Android 12 to enable third-party vendor modules to facilitate new functions, including audio and video playback, WiFi and Bluetooth, as well as camera operation.

+

To better facilitate these new functions, Alibaba Cloud has also enabled more system enhancement features such as core tool sets, third-party libraries and SoC board support package on RISC-V, further improving the robustness of the RISC-V ecosystem when running on the Android software stack.

+

In addition, Alibaba Cloud successfully trialed the TensorFlow Lite models on RISC-V, supporting AI functions like image and audio classification and Optical Character Recognition (OCR), a development that helps accelerate the incorporation of RISC-V into smart devices.

+

“The support of Android12, vendor modules and the AI framework on RISC-V based devices is another major milestone that we have achieved,” said Jianyi Meng, Senior Director at Alibaba. “We look forward to further contributing to the RISC-V community with our advanced technology and resources, and encouraging more innovation in the community together with global developers.”

+

Meng added Alibaba Cloud will open the source codes of related technologies in the near future.

+

Alibaba Cloud Tops MLPerf Tiny v0.7 Benchmark

+

Earlier this month, Alibaba Cloud’s Xuantie C906 processor attained firsts in the most recent findings from MLPerf Tiny v0.7, an AI benchmark focusing on IOT devices. The Xuantie C906’s performance excelled in all four core categories – visual wake words, image classifications, keyword spotting, and anomaly detection. The Xuantie C906 is Alibaba’s custom-built processor based on the RISC-V instruction-set architecture.

+

Xuantie C906’s remarkable performance marks a milestone that showcases the potential of the RISC-V framework in achieving tailored AI functions with extremely low computing power.

+

The breakthrough performance in the AIoT area is driven by Alibaba Cloud’s innovation across hardware and software layers. Alibaba Cloud has improved the computing efficiency by using SinianML, a model optimiser, the Heterogeneous Honey Badger (HHB), the neural network model deployment toolset designed for the RISC-V architecture, and CSI-NN2, the optimised neural network operator library. In addition, Alibaba’s software stack, along with the hardware toolset and library, has optimised AI operators and further improved the performance of the AI inference model, resulting in the Xuantie C906’sexceptional performance.

+

Alibaba Cloud’s RISC-V based processors have already been deployed widely across a range of applications including smart home appliances, automotive environments and edge computing. Last year, Alibaba Cloud opened the source code of its XuanTie IP Core series, enabling developers to access the codes on Github and the Open Chip Community in order to build prototype chips of their own, which can be customised for IoT applications such as networking, gateway and edge servers.

+

Launched by the open engineering consortium MLCommons, MLPerf™ Tiny benchmark measures how quickly a trained neural network can process new data for the lowest power devices and smallest form factors. MLPerf Tiny v0.7 is the organisation’s second inference benchmark suite that targets machine learning use cases on embedded devices.

+

“AI for IoT is a highly competitive arena where customisation at every level is critical to achieve new breakthrough results at very low power” said Calista Redmond, CEO of RISC-V International. “Alibaba continues to build RISC-V industry leadership in parallel with their dedication and contribution to the global RISC-V community.”

+

“The flexibility of the RISC-V’s framework gives it an advantage in meeting the customisation demands of clients in the AIoT field. We will continue to drive innovation among the thriving RISC-V community, and assist global developers to build their own RISC-V-based chips in a much more cost-effective way,” said Meng.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/alibaba-cloud-announced-progress-in-porting-android-functions-onto-risc-v/share.png b/preview/97/news/alibaba-cloud-announced-progress-in-porting-android-functions-onto-risc-v/share.png new file mode 100644 index 000000000..1dce51a39 Binary files /dev/null and b/preview/97/news/alibaba-cloud-announced-progress-in-porting-android-functions-onto-risc-v/share.png differ diff --git a/preview/97/news/antmicros-arvsom-risc-v-module-announced/ARVSOM-Renode.png b/preview/97/news/antmicros-arvsom-risc-v-module-announced/ARVSOM-Renode.png new file mode 100644 index 000000000..f348604d1 Binary files /dev/null and b/preview/97/news/antmicros-arvsom-risc-v-module-announced/ARVSOM-Renode.png differ diff --git a/preview/97/news/antmicros-arvsom-risc-v-module-announced/ARV_Twitter_Blog.png b/preview/97/news/antmicros-arvsom-risc-v-module-announced/ARV_Twitter_Blog.png new file mode 100644 index 000000000..92e52abc0 Binary files /dev/null and b/preview/97/news/antmicros-arvsom-risc-v-module-announced/ARV_Twitter_Blog.png differ diff --git a/preview/97/news/antmicros-arvsom-risc-v-module-announced/index.html b/preview/97/news/antmicros-arvsom-risc-v-module-announced/index.html new file mode 100644 index 000000000..6eb761c46 --- /dev/null +++ b/preview/97/news/antmicros-arvsom-risc-v-module-announced/index.html @@ -0,0 +1,324 @@ + + + + + + + + + + + + + + +Antmicro’s ARVSOM RISC-V Module Announced | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

Antmicro’s ARVSOM RISC-V Module Announced

+
+
    +
  • +

    May 14, 2021

    +
  • +
  • +

    4 minutes

    +
  • +
  • +

    672 words

    +
  • +
+
+
+
+featured-image +
+

This post was originally published at Antmicro.

+

We are excited to announce the ARVSOM – Antmicro’s fully open source, RISC-V-based system-on-module featuring the StarFive 71×0 SoC. Using the RISC-V architecture, which Antmicro has been heavily involved in since the early days as a Founding Member of RISC-V International, the SoM is going to enable unprecedented openness, reusability and functionality across different verticals.

+

We are excited to announce the ARVSOM – Antmicro’s fully open source, RISC-V-based system-on-module featuring the StarFive 71×0 SoC. Using the RISC-V architecture, which Antmicro has been heavily involved in since the early days as a Founding Member of RISC-V International, the SoM is going to enable unprecedented openness, reusability and functionality across different verticals.

+

ARVSOM

+

Open source-driven innovation

+

Since its conception, Antmicro has been enabling its customers to tap into the technological freedom that is inherent in open source. We’ve been developing cutting-edge industrial and edge AI systems using vendor-neutral and customizable solutions as well as actively developing and contributing to the tooling ecosystem, improving processes and unlocking even more system design options – often in alignment with our efforts driving RISC-V International and CHIPS Alliance. Targeted at a range of different use cases and enabling unmatched flexibility, ARVSOM is the latest product and example of Antmicro’s expertise in creating practical and easily modifiable technologies using open source.

+

Based on StarFive 71×0

+

Sitting at the heart of ARVSOM is the StarFive 71×0 system-on-chip – the first Linux-capable RISC-V SoC that is intended for mainstream, general-purpose edge applications and is expected to be used in millions of devices to be built on the open source RISC-V ISA. The SoC is also used in the BeagleV StarLight development platform (GitHub repo) which has just been shipped to beta users, including Antmicro, who will be verifying its robustness and reliability in real life use cases, while the development community focuses on further expanding the RISC-V software support. The SoC features a dual core U74 CPU from our partner and RISC-V pioneer SiFive, two AI accelerators: the open source NVDLA and SiFive’s Neural Network Engine, 1 MIPI DSI and 2 MIPI CSI interfaces, HDMI, Gigabit Ethernet, dual ISP, USB 3.0, while the production version of the SoC to be released later in the year will also have PCI Express.

+

Compatible with Scalenode for server room applications

+

The SoM will be compatible with our server-oriented Scalenode platform, released earlier this month, originally designed as a baseboard for the Raspberry Pi 4 Compute Module. Used together, Scalenode and ARVSOM will enable building easily scalable and flexible infrastructures consisting of clusters of small RISC-V-based compute units, with as many as 18 Scalenode boards fitting in a 1U rack. ARVSOM will also work with other Raspberry Pi CM 4 baseboards, opening the door to a host of solutions and custom devices to be built with it right away.

+

ARVSOM in Renode

+

You can already start software development with our ARVSOM and the BeagleV StarLight SBC thanks to support in Renode, our open source simulation framework. The two have joined an array of platforms and sensors that can be simulated in our open source framework for system development and testing. You can freely co-develop hardware and software in Renode’s virtual environment, with the code behaving exactly the way it would on real hardware. Renode can also be used throughout the development lifecycle to enable continuous testing and integration, as well as prototyping new solutions based on RISC-V, as it features extensive support of this open source ISA. You can read more about the latest updates in Renode in the version 1.12 announcement blog note.

+

Our SoM is in development and will be gradually unveiled throughout the year with the increasing StarFive 71×0 SoC availability.

+

ARVSOM can be customized and integrated into your project. We have been helping our customers embrace the groundbreaking RISC-V architecture and enable them to reap the benefits of having an advanced system based on vendor-neutral, future-proof and robust technologies. Get in touch with us at contact@antmicro.com if you need a modern product that you have full control over.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/automatic-systemverilog-linting-in-github-actions-with-verible/index.html b/preview/97/news/automatic-systemverilog-linting-in-github-actions-with-verible/index.html new file mode 100644 index 000000000..4ef60c36a --- /dev/null +++ b/preview/97/news/automatic-systemverilog-linting-in-github-actions-with-verible/index.html @@ -0,0 +1,336 @@ + + + + + + + + + + + + + + +Automatic SystemVerilog Linting in GitHub Actions with Verible | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

Automatic SystemVerilog Linting in GitHub Actions with Verible

+
+
    +
  • +

    September 8, 2021

    +
  • +
  • +

    3 minutes

    +
  • +
  • +

    515 words

    +
  • +
+
+
+
+featured-image +
+

This post was originally published at Antmicro.

+

With the recent advances in open source ASIC development tools such as Verible, it has become easier to automate tasks and boost developer productivity. The Verible linter is a static code analysis tool that has been helping us and our collaborators to spot and fix stylistic errors and bugs in SystemVerilog code.

+

CI/CD for smaller backlog and better test reliability

+

As part of our work within the newly established CHIPS Alliance SystemVerilog subgroup, Antmicro has made further steps to facilitate SystemVerilog workflows with Verible, by providing an easy to use Verible Linter GitHub Action. Combined with another open source tool called Reviewdog, the action allows you to easily perform automatic code style checks and code review.

+

Diagram depicting Verible integration with Github Actions

+

Using it is as easy as adding a few lines to a workflow in the .github/workflows directory. For basic usage, just add the action with a github_token parameter to your current workflow:

+
- uses: chipsalliance/verible-linter-action@main
+with:
+github_token: ${{ secrets.GITHUB_TOKEN }}
+

For a more tailor-made setup, it is easy to configure the action by:

+
    +
  • excluding selected files from the linting process,
  • +
  • providing a configuration file that will be used with --conf-file option of the linter,
  • +
  • choosing the form of the output,
  • +
  • specifying any extra arguments for the linter.
  • +
+

With this straightforward solution, any GitHub-hosted open-source or private project can inform commiters about the issues detected in their code, as you can see in the picture below. Of course, creating similar setups in private installations and other repository systems is also possible, and Antmicro offers the services to develop the necessary tooling, integrations and provide support and guidance.

+

Screenshot of Verible Github Actions

+

The action uses a GitHub Token assigned to every workflow run individually. There’s no need to create personal access tokens, and you can use it in any repository, no matter if it uses a public, private, or enterprise plan.

+

Developers can discuss each problem separately, by creating responses to the comments made by the GitHub Actions bot. Marking a conversation as resolved will let others know that the issue has already been taken care of.

+

If, instead of automatic code review, you wish to have a log with all the issues, you can omit the github_token parameter. You can see the setup in action on the Ibex RISC-V Core used by the OpenTitan project below:

+

Verible CI setup used by OpenTitatn project

+

Software developers have been using such automated solutions to facilitate cross-team and cross-company collaboration, taking away the daily pains of coordinating between large teams while improving the ability to detect faults early. Instant, targeted feedback helps both the committers and the reviewers.

+

Working together with Google and other CHIPS Alliance members we are making the benefits of automated, software-driven development in distributed environments and the cloud available to hardware developers. A wide range of applications for the Verible linter action can be devised, from faster pull requests reviews, to isolating erroneous portions of code.

+

Coming next

+

We’re working on adding this action to the Ibex repository. The next step will be preparing a GitHub Action with the Verible formatter, which will allow to not only find problems but automatically suggest changes.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/automatic-systemverilog-linting-in-github-actions-with-verible/veriable_integration.svg b/preview/97/news/automatic-systemverilog-linting-in-github-actions-with-verible/veriable_integration.svg new file mode 100644 index 000000000..5c1d2cfdf --- /dev/null +++ b/preview/97/news/automatic-systemverilog-linting-in-github-actions-with-verible/veriable_integration.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/news/automatic-systemverilog-linting-in-github-actions-with-verible/verible-github-actions-screenshot1.png b/preview/97/news/automatic-systemverilog-linting-in-github-actions-with-verible/verible-github-actions-screenshot1.png new file mode 100644 index 000000000..8bb82a84a Binary files /dev/null and b/preview/97/news/automatic-systemverilog-linting-in-github-actions-with-verible/verible-github-actions-screenshot1.png differ diff --git a/preview/97/news/automatic-systemverilog-linting-in-github-actions-with-verible/verible-github-actions-screenshot2.png b/preview/97/news/automatic-systemverilog-linting-in-github-actions-with-verible/verible-github-actions-screenshot2.png new file mode 100644 index 000000000..f1be69304 Binary files /dev/null and b/preview/97/news/automatic-systemverilog-linting-in-github-actions-with-verible/verible-github-actions-screenshot2.png differ diff --git a/preview/97/news/catch-us-at-dac-59-in-san-francisco-starting-july-11/index.html b/preview/97/news/catch-us-at-dac-59-in-san-francisco-starting-july-11/index.html new file mode 100644 index 000000000..8183e356e --- /dev/null +++ b/preview/97/news/catch-us-at-dac-59-in-san-francisco-starting-july-11/index.html @@ -0,0 +1,304 @@ + + + + + + + + + + + + + + +Catch us at DAC 59 in San Francisco starting July 11 | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

Catch us at DAC 59 in San Francisco starting July 11

+
+
    +
  • +

    July 8, 2022

    +
  • +
  • +

    1 minutes

    +
  • +
  • +

    73 words

    +
  • +
+
+
+
+featured-image +
+

Come learn about open source hardware and CHIPS Alliance at next week’s 59th Design Automation Conference in San Francisco. We will be at kiosk 2344 in the RISC-V pavilion. You can also here out talk at 12:30 Monday in the Open Source Central Theatre (booth 2338). We are also in a DAC Pavilion Panel: Is Democratization of Chip Design Already Happening? at 2:30 on Monday. Look forward to an exciting day in SF!

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/catch-us-at-dac-59-in-san-francisco-starting-july-11/share.png b/preview/97/news/catch-us-at-dac-59-in-san-francisco-starting-july-11/share.png new file mode 100644 index 000000000..1fa6512fe Binary files /dev/null and b/preview/97/news/catch-us-at-dac-59-in-san-francisco-starting-july-11/share.png differ diff --git a/preview/97/news/chips-alliance-announces-technical-milestones-three-new-workgroups-including-chisel-and-the-3rd-chisel-community-conference/index.html b/preview/97/news/chips-alliance-announces-technical-milestones-three-new-workgroups-including-chisel-and-the-3rd-chisel-community-conference/index.html new file mode 100644 index 000000000..1f0c658ae --- /dev/null +++ b/preview/97/news/chips-alliance-announces-technical-milestones-three-new-workgroups-including-chisel-and-the-3rd-chisel-community-conference/index.html @@ -0,0 +1,323 @@ + + + + + + + + + + + + + + +CHIPS Alliance announces technical milestones, three new workgroups including Chisel and the 3rd Chisel Community Conference | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

CHIPS Alliance announces technical milestones, three new workgroups including Chisel and the 3rd Chisel Community Conference

+
+
    +
  • +

    November 7, 2019

    +
  • +
  • +

    4 minutes

    +
  • +
  • +

    685 words

    +
  • +
+
+
+
+featured-image +
+

SAN FRANCISCO, Nov. 7, 2019 — CHIPS Alliance, the leading consortium advancing common, open hardware for interfaces, processors and systems, today announced the creation of Interconnects, Rocket and Chisel workgroups. In addition, a November verification workshop in Munich and a Chisel conference in January will be held giving engineers an opportunity to learn about open source development efforts in CHIPS Alliance. Lastly, the CHIPS Alliance toolchain and cores workgroups have made contributions to open source development tools.

+

CHIPS Alliance is the project hosted by the Linux Foundation to foster a collaborative environment to accelerate the creation and deployment of open SoCs, peripherals and software tools for use in mobile, computing, consumer electronics, and Internet of Things (IoT) applications. The CHIPS Alliance project develops high-quality open source Register Transfer Level (RTL) code and software development tools relevant to the design of open source CPUs, RISC-V-based SoCs, and complex peripherals for Field Programmable Gate Arrays (FPGAs) and custom silicon.

+

The Open Source Design Verification Workshop in Munich is being held on November 14th and 15th. CHIPS Alliance is hosting the third Chisel Community Conference to be held on January 29-30th in Milpitas, CA. Chisel is a hardware-construction language, hosted in Scala, and is used in both academia and industry to generate RTL for digital hardware. The Chisel community is joining CHIPS Alliance to further accelerate the development of open source hardware and software. Call for papers is open now.

+

CHIPS Alliance has also formed three new workgroups, Interconnects, Rocket and Chisel. The Interconnects group will further develop OmniXtendTM and TileLink. These groups will begin work imminently to make key contributions to open development tools and hardware. Go to www.chipsalliance.org to learn more or join a workgroup. In addition, the Cores and Toolchain workgroups have completed the following milestones

+
    +
  • Created a portable SoC based on the SweRV CoreTM EH1 using FuseSoC +
      +
    • Includes debug port and Zephyr support
    • +
    +
  • +
  • Verilator, the open-source simulator, is extended to add CMake and Python support for Cocotb
  • +
  • Verilator project for SystemVerilog kicked off
  • +
+

“The rest of the developer team and I are very excited for Chisel to move to its new home in CHIPS Alliance. Now with open-source industry backing, Chisel is primed to continue growing its user base, adding new features, and stabilizing its infrastructure and ecosystem for industry applications.” – Adam Izraelevitz, PhD candidate at UC Berkeley and a lead developer of the Chisel ecosystem.

+

“We want to personally thank Olof Kindgren, Wilson Snyder and Stefan Wallentowitz for their key contribution to open source software development. These extraordinary individuals were vital to achieving these milestones. We look forward to further participation in CHIPS Alliance to facilitate the adoption of open architectures,” said Dr. Zvonimir Bandić, Chairman, CHIPS Alliance, and senior director of next-generation platforms architecture at Western Digital.

+

“Antmicro firmly believes in CHIPS Alliance’s vision of fully open tools and workflows as a foundation of an open ecosystem.”, said Michael Gielda, Chair of Marketing, CHIPS Alliance, VP Business Development at Antmicro, “Our work with open source simulation and verification, as well as production-grade SystemVerilog support in open source tooling relies on a collaborative environment where common milestones can be achieved faster.”

+

About the CHIPS Alliance

+

The CHIPS Alliance is an organization which develops and hosts high-quality, open source hardware code (IP cores), interconnect IP (physical and logical protocols), and open source software development tools for design, verification, and more. The main aim is to provide a barrier-free collaborative environment, to lower the cost of developing IP and tools for hardware development. The CHIPS Alliance is hosted by the Linux Foundation. For more information, visit chipsalliance.org.

+

About the Linux Foundation

+

The Linux Foundation was founded in 2000 and has since become the world’s leading home for collaboration on open source software, open standards, open data, and open hardware. Today, the Foundation is supported by more than 1,000 members and its projects are critical to the world’s infrastructure, including Linux, Kubernetes, Node.js and more. The Linux Foundation focuses on employing best practices and addressing the needs of contributors, users, and solution providers to create sustainable models for open collaboration. For more information, visit linuxfoundation.org.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/chips-alliance-brings-on-rob-mains-as-new-executive-director/index.html b/preview/97/news/chips-alliance-brings-on-rob-mains-as-new-executive-director/index.html new file mode 100644 index 000000000..1f18de5e8 --- /dev/null +++ b/preview/97/news/chips-alliance-brings-on-rob-mains-as-new-executive-director/index.html @@ -0,0 +1,320 @@ + + + + + + + + + + + + + + +CHIPS Alliance Brings on Rob Mains as New Executive Director | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

CHIPS Alliance Brings on Rob Mains as New Executive Director

+
+
    +
  • +

    February 8, 2021

    +
  • +
  • +

    3 minutes

    +
  • +
  • +

    462 words

    +
  • +
+
+
+
+featured-image +
+

Industry veteran to lead open hardware consortium democratizing silicon innovation

+

SAN FRANCISCO, Feb. 8, 2021 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced the appointment of Rob Mains as the organization’s new executive director.

+

Rob has over 35 years of experience in software engineering and development, with 25 years of experience as an EDA software architect focused on microprocessor design and advanced process node technologies. He most recently served as a technology advisor at Spillbox, and prior to that worked in leadership and senior engineering roles at Qualcomm, Sun Microsystems (staying on at Oracle after the acquisition) and IBM. Throughout his career, Rob has worked closely with hardware developers to play a hands-on role in helping to devise innovative solutions for a wide range of applications.

+

“Rob is an ideal fit for the CHIPS Alliance with his strong leadership experience and deep understanding of the silicon industry,” said Dr. Zvonimir Bandić, Chairman, CHIPS Alliance. “As the CHIPS Alliance runs full steam ahead with its growing membership, impressive technical milestones and other activities, we look forward to having Rob on board to continue this strong momentum.”

+

“As more companies are looking to open source solutions to help eliminate design barriers, reduce costs and speed up development time, the CHIPS Alliance will play a critical role in advancing open hardware for the benefit of everyone,” said Mains. “I look forward to working closely with CHIPS Alliance members to continue the organization’s goals, while also focusing on growing the membership base.”

+

Today the CHIPS Alliance has more than 25 members collaborating to accelerate the creation and deployment of open system-on-chips (SoCs), peripherals and software development tools for a wide range of applications. To learn more, check out the CHIPS Alliance 2020 Annual Report: https://chipsalliance.org/chips-alliance-2020-annual-report/.

+

About the CHIPS Alliance

+

The CHIPS Alliance is an organization which develops and hosts high-quality, open source hardware code (IP cores), interconnect IP (physical and logical protocols), and open source software development tools for design, verification, and more. The main aim is to provide a barrier-free collaborative environment, to lower the cost of developing IP and tools for hardware development. The CHIPS Alliance is hosted by the Linux Foundation. For more information, visit chipsalliance.org.

+

About the Linux Foundation

+

The Linux Foundation was founded in 2000 and has since become the world’s leading home for collaboration on open source software, open standards, open data, and open hardware. Today, the Foundation is supported by more than 1,000 members and its projects are critical to the world’s infrastructure, including Linux, Kubernetes, Node.js and more. The Linux Foundation focuses on employing best practices and addressing the needs of contributors, users, and solution providers to create sustainable models for open collaboration. For more information, visit linuxfoundation.org.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/chips-alliance-builds-momentum-and-community-with-newest-members-imperas-software-and-metrics/index.html b/preview/97/news/chips-alliance-builds-momentum-and-community-with-newest-members-imperas-software-and-metrics/index.html new file mode 100644 index 000000000..a7c1f67da --- /dev/null +++ b/preview/97/news/chips-alliance-builds-momentum-and-community-with-newest-members-imperas-software-and-metrics/index.html @@ -0,0 +1,329 @@ + + + + + + + + + + + + + + +CHIPS Alliance Builds Momentum and Community with Newest Members Imperas Software and Metrics | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

CHIPS Alliance Builds Momentum and Community with Newest Members Imperas Software and Metrics

+
+
    +
  • +

    June 18, 2019

    +
  • +
  • +

    5 minutes

    +
  • +
  • +

    869 words

    +
  • +
+
+
+
+featured-image +
+

Imperas and Metrics joining CHIPS Alliance to help drive the verification of RISC-V Open ISA implementations

+

SAN FRANCISCO – June 18, 2019 – CHIPS Alliance, the leading consortium advancing common, open hardware for interfaces, processors and systems, today announced Imperas and Metrics are joining the organization and the Verification Working Group. Imperas is an independent provider of processor simulation technology and tools for virtual platforms and +analysis tools for multicore SoC software development. Metrics leads the cloud-based solutions for SoC designers with hardware simulation for both design management flexibility and on-demand capacity. The CHIPS Alliance welcomes Imperas and Metrics among its current members Antmicro, Esperanto Technologies, Google, SiFive, Western Digital.

+

CHIPS Alliance is a project hosted by the Linux Foundation to foster a collaborative environment to accelerate the creation and deployment of open SoCs, peripherals and software tools for use in mobile, computing, consumer electronics, and Internet of Things (IoT) applications. The CHIPS Alliance project hosts and curates high-quality open source Register Transfer Level (RTL) code relevant to the design of open source CPUs, RISC-V- based SoCs, and complex peripherals for Field Programmable Gate Arrays (FPGAs) and custom silicon.

+

Imperas provides reference processor models for verification of processors and SoC’s and will be contributing to the CHIPS Alliance working group on verification. Planned contributions will include enhanced interfaces and design flow methodologies to the riscvOVPsim ISS (Instruction Set Simulator) for RISC-V processor IP verification and compliance. riscvOVPsim is free and available for download on GitHub as part of the latest RISC-V compliance test suite and framework, available on GitHub at https://github.com/riscv/riscv-compliance

+

Metrics is the first cloud platform for ASIC and complex FPGA design verification. The company provides design teams with on-demand simulation resources, a modern continuous integration workflow, a pricing by-the-minute business model and unique development flexibility. Metrics develops innovative products powered by a cross-functional team that includes simulation technologists, IC design verification experts, and modern cloud software developers.

+

“Within the RISC-V community and ecosystem Imperas has made many contributions to customer and community projects and also released a free RISC-V reference simulator on GitHub, while Metrics has pioneered a cloud-based approach that enables infinite hardware simulation capacity that changes the nature of semiconductor verification use models,” said +Zvonimir Bandic, senior director of next-generation platforms architecture at Western Digital and Chairman, CHIPS Alliance. “With Imperas joining CHIPS Alliance we welcome their contributions within the verification task group to help the industry wide efforts to ensure quality IP is available to all adopters of RISC-V. Metrics’ contributions to verification +infrastructure will provide a modern approach to RISC-V cores, peripherals, and complex IP block development.”

+

“Imperas is pleased to join the CHIPS Alliance and support the continuing efforts to improve verification for all RISC-V implementers and SoC designers,” said Simon Davidmann, CEO of Imperas Software. “Open ISA’s are enabling new approaches and innovations in processor architectures that will require broad community support to address the verification challenges of next generation domain specific optimized devices.”

+

“Metrics was founded with an open platform philosophy that has allowed the company to form many valuable relationships that drive next-generation verification approaches,” said Doug Letcher, CEO, Metrics. “In joining CHIPS Alliance, we are excited to help and support industry wide collaborations for verification that are essential for the next generation +of devices.”

+

“CHIPS Alliance has seen a tremendous wave of interest and support since it was first announced just a few months ago,” said Ted Marena, Interim Director CHIPS Alliance. “We are pleased to welcome Imperas and Metrics as its latest members and both will be in attendance at the inaugural workshop on June 19, 2019 at Google at 111 W. Java Drive, Sunnyvale, Calif.”

+

The CHIPS Alliance community includes technology developers and contributors supported by a Board of Directors and a Technical Steering Committee. Its initial plans focus on establishing a curation process aimed at providing the FPGA and chip community access to high-quality, enterprise grade hardware.

+

About Imperas

+

Imperas is revolutionizing the development of embedded software and systems and is the leading provider of RISC-V processor models and virtual prototype solutions. Imperas, along with Open Virtual Platforms (OVP), promotes open source model availability for a spectrum of processors, IP vendors, CPU architectures, system IP and reference platform models of +processors and systems ranging from simple single core bare metal platforms to full heterogeneous multi-core systems booting SMP Linux. All models are available from Imperas at www.imperas.com and the Open Virtual Platforms (OVP) website.

+

About Metrics

+

Metrics, headquartered in Ottawa, Ontario, Canada, is the first true cloud-based platform for ASIC and complex FPGA Design Verification. The Metrics Platform provides an infinitely scalable design verification workflow together with advanced simulation technology, which reduces infrastructure waste and enables better engineering efficiency. https://metrics.ca/

+

About the Linux Foundation

+

Founded in 2000, the Linux Foundation is supported by more than 1,000 members and is the world’s leading home for collaboration on open source software, open standards, open data, and open hardware. Linux Foundation’s projects are critical to the world’s infrastructure, including Linux, Kubernetes, Node.js and more. The Linux Foundation’s +methodology focuses on leveraging best practices and addressing the needs of contributors, users, and solution providers to create sustainable models for open collaboration. For more information, please visit us at linuxfoundation.org.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/chips-alliance-fall-2022-technology-update-december-15/index.html b/preview/97/news/chips-alliance-fall-2022-technology-update-december-15/index.html new file mode 100644 index 000000000..4791016e3 --- /dev/null +++ b/preview/97/news/chips-alliance-fall-2022-technology-update-december-15/index.html @@ -0,0 +1,304 @@ + + + + + + + + + + + + + + +CHIPS Alliance Fall 2022 Technology Update December 15 | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

CHIPS Alliance Fall 2022 Technology Update December 15

+
+
    +
  • +

    December 1, 2022

    +
  • +
  • +

    1 minutes

    +
  • +
  • +

    32 words

    +
  • +
+
+
+
+featured-image +
+

Please join us on December 15 at 8:30 am PT either in person at Google or virtually for a CHIPS technology update featuring many exciting speakers. Details and registration are here: https://events.linuxfoundation.org/chips-biannual-technology-update/

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/chips-alliance-fall-2022-technology-update-december-15/share.png b/preview/97/news/chips-alliance-fall-2022-technology-update-december-15/share.png new file mode 100644 index 000000000..2652f9356 Binary files /dev/null and b/preview/97/news/chips-alliance-fall-2022-technology-update-december-15/share.png differ diff --git a/preview/97/news/chips-alliance-featured-in-all-about-circuits/index.html b/preview/97/news/chips-alliance-featured-in-all-about-circuits/index.html new file mode 100644 index 000000000..cd01afedf --- /dev/null +++ b/preview/97/news/chips-alliance-featured-in-all-about-circuits/index.html @@ -0,0 +1,308 @@ + + + + + + + + + + + + + + +CHIPS Alliance featured in All About Circuits | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

CHIPS Alliance featured in All About Circuits

+
+
    +
  • +

    July 10, 2019

    +
  • +
  • +

    1 minutes

    +
  • +
  • +

    44 words

    +
  • +
+
+
+
+featured-image +
+

All About Circuits recently featured an interview with Ted Marena, Yunsup Lee, Amir Salek, and Zvonimir Bandic, discussing the formation of the CHIPS Alliance, its relationship to the RISC-V Foundation, the CHIPS Alliance’s open development model, and initial open source contributions.

+

Read the article.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/chips-alliance-forms-f4pga-workgroup-to-accelerate-adoption-of-open-source-fpga-tooling/index.html b/preview/97/news/chips-alliance-forms-f4pga-workgroup-to-accelerate-adoption-of-open-source-fpga-tooling/index.html new file mode 100644 index 000000000..e83cc6087 --- /dev/null +++ b/preview/97/news/chips-alliance-forms-f4pga-workgroup-to-accelerate-adoption-of-open-source-fpga-tooling/index.html @@ -0,0 +1,323 @@ + + + + + + + + + + + + + + +CHIPS Alliance Forms F4PGA Workgroup to Accelerate Adoption of Open Source FPGA Tooling | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

CHIPS Alliance Forms F4PGA Workgroup to Accelerate Adoption of Open Source FPGA Tooling

+
+
    +
  • +

    February 18, 2022

    +
  • +
  • +

    3 minutes

    +
  • +
  • +

    631 words

    +
  • +
+
+
+
+featured-image +
+

New workgroup draws support from industry leaders as the open FPGA toolchain matures

+

SAN FRANCISCO, Feb. 18, 2022 – CHIPS Alliance, the leading consortium advancing common and open source hardware for interfaces, processors and systems, today established the FOSS Flow For FPGA (F4PGA) Workgroup to drive open source tooling, IP and research efforts for FPGAs.

+

FPGA vendors such as Xilinx (now part of AMD) and QuickLogic, industrial FPGA users and contributors such as Google and Antmicro, as well as universities including Brigham Young University, University of Pennsylvania, Princeton University and University of Toronto, can now officially collaborate under the umbrella of the newly launched F4PGA Workgroup.

+

“FPGAs are essential for a wide variety of low-latency compute use cases, from telecoms to space applications and beyond. This new F4PGA toolchain will enable a software-driven approach to building FPGA gateware, making code integration easier than ever,” said Rob Mains, General Manager at CHIPS Alliance. “Under the umbrella of the CHIPS Alliance, this workgroup will help unite current FPGA efforts so academia and industry leaders can collaborate on accelerating open FPGA innovation.”

+

The initial F4PGA projects are focused around the free and open source FPGA toolchain formerly known as SymbiFlow, as well as the FPGA Interchange Format, which is designed to enable interoperability between open and closed source FPGA toolchains. CHIPS Alliance’s newest member Xilinx, now part of AMD, collaborated with Google and Antmicro to develop the Interchange Format definition and related tools to provide a development standard for the entire FPGA industry. The FPGA Interchange Format allows developers to quickly and easily move from one tool to another, lowering the barriers to entry for the entire supply chain – from FPGA vendors to academics and FPGA users.

+

In addition to the work around the FPGA Interchange Format, several CHIPS Alliance members have collaborated on the FPGA tool perf framework. This open FPGA tooling project provides a comprehensive end-to-end FPGA synthesis flow and FPGA performance profiling framework, allowing developers to analyze FPGA designs by looking at metrics such as clock frequency, resource utilization and runtime.

+

CHIPS Alliance members have also worked on the development of the FPGA Assembly (FASM) format. The FPGA Assembly (FASM) format is a textual format specifying which FPGA feature should be enabled or disabled; the textual nature of FASM makes it easy to analyze and experiment with in different designs.

+

Industry support for open FPGA tools has continued to rise with QuickLogic becoming the first company to fully embrace the open source FPGA toolchain in 2020, and now with Xilinx’ participation in the FPGA Interchange project. The strong support for the F4PGA Workgroup promises to help further accelerate industry adoption across geographies and increase confidence in open source FPGA tooling as a viable option for all types of designs.

+

To learn more about the F4PGA Workgroup, please visit: https://chipsalliance.org/workgroups/.

+

About the CHIPS Alliance

+

The CHIPS Alliance is an organization which develops and hosts high-quality, open source hardware code (IP cores), interconnect IP (physical and logical protocols), and open source software development tools for design, verification, and more. The primary focus is to provide a barrier-free collaborative environment, to lower the cost of developing IP and tools for hardware development. The CHIPS Alliance is hosted by the Linux Foundation. For more information, visit chipsalliance.org.

+

About the Linux Foundation

+

The Linux Foundation was founded in 2000 and has since become the world’s leading home for collaboration on open source software, open standards, open data, and open hardware. Today, the Foundation is supported by more than 1,000 members and its projects are critical to the world’s infrastructure, including Linux, Kubernetes, Node.js and more. The Linux Foundation focuses on employing best practices and addressing the needs of contributors, users, and solution providers to create sustainable models for open collaboration. For more information, visit linuxfoundation.org.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/chips-alliance-forms-f4pga-workgroup-to-accelerate-adoption-of-open-source-fpga-tooling/share.png b/preview/97/news/chips-alliance-forms-f4pga-workgroup-to-accelerate-adoption-of-open-source-fpga-tooling/share.png new file mode 100644 index 000000000..4ddaf0f66 Binary files /dev/null and b/preview/97/news/chips-alliance-forms-f4pga-workgroup-to-accelerate-adoption-of-open-source-fpga-tooling/share.png differ diff --git a/preview/97/news/chips-alliance-growth-continues-with-new-members-and-design-workshop-this-november/index.html b/preview/97/news/chips-alliance-growth-continues-with-new-members-and-design-workshop-this-november/index.html new file mode 100644 index 000000000..c35237e4a --- /dev/null +++ b/preview/97/news/chips-alliance-growth-continues-with-new-members-and-design-workshop-this-november/index.html @@ -0,0 +1,323 @@ + + + + + + + + + + + + + + +CHIPS Alliance growth continues with new members and design workshop this November | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

CHIPS Alliance growth continues with new members and design workshop this November

+
+
    +
  • +

    October 15, 2019

    +
  • +
  • +

    4 minutes

    +
  • +
  • +

    695 words

    +
  • +
+
+
+
+featured-image +
+

SAN FRANCISCO, Oct. 15, 2019 /PRNewswire/ — CHIPS Alliance, the leading consortium advancing common, open hardware for interfaces, processors and systems, today announced Codasip GmbH and Munich University of Applied Science have joined the CHIPS Alliance. In addition, on November 14–15, CHIPS Alliance will be joining the university for a workshop on open source design verification.

+

CHIPS Alliance is a project hosted by the Linux Foundation to foster a collaborative environment to accelerate the creation and deployment of open SoCs, peripherals and software tools for use in mobile, computing, consumer electronics, and Internet of Things (IoT) applications. The CHIPS Alliance project develops high-quality open source Register Transfer Level (RTL) code relevant to the design of open source CPUs, RISC-V-based SoCs, and complex peripherals for Field Programmable Gate Arrays (FPGAs) and custom silicon.

+

Codasip is a leading supplier of configurable RISC-V® embedded processor IP. Codasip provides a portfolio of various RISC-V implementations along with a suite of processor developers tools to allow for rapid core customization, and will contribute to working groups on verification platforms and open cores.

+

“Codasip has years of processor development experience and has shown its dedication to open platforms by its contributions to open source compiler and compliance projects. We welcome their participation in the CHIPS Alliance to facilitate the adoption of open architectures,” said Zvonimir Bandić, senior director of next-generation platforms architecture at Western Digital and Chairman, CHIPS Alliance.

+

“Codasip is excited to join the CHIPS Alliance and support the community in its efforts to ease the path of adoption of RISC-V processors in leading-edge SOC applications,” said Karel Masařík, CEO of Codasip. “The CHIPS Alliance is the logical next step in providing chip designers more choices when it comes to processor architectures.”

+

Munich University of Applied Sciences aims to secure an outstanding position as a university of applied sciences. It recognizes the future demands of society and industry, and is changing with a critical yet open vision for current issues, such as the ongoing digitalization of all areas of life. The university focuses on continuous improvement of quality and on constant development in research, teaching, and continuing education.

+

“We strongly believe in open source silicon and design flows,” said Stefan Wallentowitz, professor for computer architecture at MUAS. “We look forward to improving open source verification tools together with innovative companies in that field.”

+

In cooperation with Munich University of Applied Science, the CHIPS Alliance is conducting an open source design verification workshop in Munich. The workshop invites contributions from industry, academia and hobbyists as talks or tutorials. Registration is open now for the November 14–15 event.

+

About Codasip

+

Codasip delivers leading-edge processor IP and high-level design tools, providing ASIC designers with all the advantages of the RISC-V open ISA, along with the unique ability to automatically optimize the processor IP. As a founding member of the RISC-V Foundation and a long-term supplier of LLVM and GNU-based processor solutions, Codasip is committed to open standards for embedded processors. Formed in 2006 and headquartered in Munich, Germany, Codasip currently has offices in the US and Europe, with representatives in Asia and Israel. For more information about our products and services, visit www.codasip.com.

+

About the CHIPS Alliance

+

The CHIPS Alliance is an organization which develops and hosts high-quality, open source hardware code (IP cores), interconnect IP (physical and logical protocols), and open source software development tools for design, verification, and more. The main aim is to provide a barrier-free collaborative environment, to lower the cost of developing IP and tools for hardware development. The CHIPS Alliance is hosted by the Linux Foundation. For more information, visit chipsalliance.org.

+

About the Linux Foundation

+

The Linux Foundation was founded in 2000 and has since become the world’s leading home for collaboration on open source software, open standards, open data, and open hardware. Today, the Foundation is supported by more than 1,000 members and its projects are critical to the world’s infrastructure, including Linux, Kubernetes, Node.js and more. The Linux Foundation focuses on employing best practices and addressing the needs of contributors, users, and solution providers to create sustainable models for open collaboration. For more information, visit linuxfoundation.org.

+

Media Contact

+

Chris Jones, VP of Marketing
+E-mail: jones@codasip.com

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/chips-alliance-to-reveal-project-details-strategy-and-roadmap-at-inaugural-workshop-hosted-at-google/index.html b/preview/97/news/chips-alliance-to-reveal-project-details-strategy-and-roadmap-at-inaugural-workshop-hosted-at-google/index.html new file mode 100644 index 000000000..ddd0fa250 --- /dev/null +++ b/preview/97/news/chips-alliance-to-reveal-project-details-strategy-and-roadmap-at-inaugural-workshop-hosted-at-google/index.html @@ -0,0 +1,333 @@ + + + + + + + + + + + + + + +CHIPS Alliance to Reveal Project Details, Strategy and Roadmap at Inaugural Workshop Hosted at Google | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

CHIPS Alliance to Reveal Project Details, Strategy and Roadmap at Inaugural Workshop Hosted at Google

+
+
    +
  • +

    May 7, 2019

    +
  • +
  • +

    3 minutes

    +
  • +
  • +

    498 words

    +
  • +
+
+
+
+featured-image +
+

SAN FRANCISCO – May 7, 2019 – CHIPS Alliance, the leading consortium advancing common, open hardware for interfaces, processors and systems, today announced it is holding its inaugural workshop on June 19, 2019 at Google at 111 W. Java Drive, Sunnyvale, Calif.

+

Project details, strategy and roadmaps will be presented by member companies, and attendees will have an opportunity to propose Register Transfer Level (RTL) projects and development flow ideas. The workshop will focus on open source hardware, software tools, RTL development, design verification tools and related topics. The agenda and registration details are available at https://events.linuxfoundation.org/events/chips-alliance-workshop-2019

+

“This workshop at Google will kick off CHIPS Alliance hardware RTL development. The organization will discuss the planned projects, what is needed for accelerated open source hardware and key software tools. Attendees will see the potential of CHIPS Alliance and the vision for what we will deliver,” said Dr. Zvonimir Bandic, Western Digital and Chairman of the CHIPS Alliance Foundation.

+

“Workshop attendees will learn more about our organization and the open source hardware, verification flows/tools and software we will be developing. Attendees will also have an opportunity to suggest projects and meet with CHIPS Alliance members and the Board of Directors. We look forward to answering questions, discussing ideas and sharing the aspirations of the group,” said Dr. Richard Ho, Google and Board member of the CHIPS Alliance Foundation.

+

CHIPS Alliance members include Antmicro, Esperanto Technologies, Google, SiFive and Western Digital. The Alliance is a collaborative forum designed to accelerate the creation and deployment of more efficient and flexible CPUs, SoCs and complex peripherals for FPGAs and custom silicon. It is supported by a Board of Directors and a Technical Steering Committee.

+

CHIPS Alliance Inaugural Workshop Agenda

+
    +
  • 9:00 Introduction to CHIPS Alliance (Zvonimir Bandic)
  • +
  • 9:15 Why open source hardware unlocks innovation (Martin Fink)
  • +
  • 9:40 Federation: An Open-Source Chip Design Workflow (Yunsup Lee)
  • +
  • 10:05 Collaborative end to end Design Verification Flow (Richard Ho)
  • +
  • 10:30 Break
  • +
  • 11:00 RISC-V SweRV Core contribution (Zvonimir Bandic)
  • +
  • 11:20 Open Source Tools: cocotb and Verilator support (Michael Gielda)
  • +
  • 11:40 Verilator and Test Bench Environment roadmap (Wilson Snyder)
  • +
  • 12:00 Lunch
  • +
  • 1:00 A natural fit, RISC-V with CHIPS Alliance (Naveed Sherwani)
  • +
  • 1:25 BooM v2 coordination with UC Berkeley (Dave Ditzel)
  • +
  • 1:50 Audience Participation – What RTL IP do you want to be designed?
  • +
  • 2:30 Break
  • +
  • 3:00 Blue Cheetah Framework for Rapid IP Design (Krishna Settaluri)
  • +
  • 3:25 FuseSoC support for SweRV (Olof Kindgren)
  • +
  • 3:40 Chisel and FIRRTL (Yunsup Lee)
  • +
  • 4:00 Why join CHIPS Alliance? (Ted Marena)
  • +
+

About The Linux Foundation

+

Founded in 2000, the Linux Foundation is supported by more than 1,000 members and is the world’s leading home for collaboration on open source software, open standards, open data, and open hardware. Linux Foundation’s projects are critical to the world’s infrastructure, including Linux, Kubernetes, Node.js and more. The Linux Foundation’s methodology focuses on leveraging best practices and addressing the needs of contributors, users, and solution providers to create sustainable models for open collaboration. For more information, please visit us at linuxfoundation.org.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/chips-alliance-welcomes-antmicro-and-verisilicon-to-the-platinum-membership-level/index.html b/preview/97/news/chips-alliance-welcomes-antmicro-and-verisilicon-to-the-platinum-membership-level/index.html new file mode 100644 index 000000000..8d1c43d3c --- /dev/null +++ b/preview/97/news/chips-alliance-welcomes-antmicro-and-verisilicon-to-the-platinum-membership-level/index.html @@ -0,0 +1,319 @@ + + + + + + + + + + + + + + +CHIPS Alliance Welcomes Antmicro and VeriSilicon to the Platinum Membership Level | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

CHIPS Alliance Welcomes Antmicro and VeriSilicon to the Platinum Membership Level

+
+
    +
  • +

    February 11, 2021

    +
  • +
  • +

    4 minutes

    +
  • +
  • +

    667 words

    +
  • +
+
+
+
+featured-image +
+

CHIPS Alliance continues to grow with more than 25 companies collaborating on open source hardware and software technologies

+

SAN FRANCISCO, Feb. 11, 2021 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today welcomed Antmicro and VeriSilicon to the company’s Platinum membership level. Antmicro, one of the initial members of the CHIPS Alliance, has upgraded to the Platinum membership level to reflect its deepening involvement in the organization. VeriSilicon is new to the CHIPS Alliance, although the company is heavily involved in open source activities.

+

“Over the past few years, Antmicro has continued to become more involved in the CHIPS Alliance, helping to steer the technical deliverables and strategic direction of this important organization,” said Michael Gielda, VP Business Development at Antmicro. “We’re deeply committed to furthering the goals of the CHIPS Alliance to realize the vision of open source RTL designs and tooling for silicon and FPGAs.”

+

In addition to his role at Antmicro, Gielda is Chair of Outreach at the CHIPS Alliance, helping to drive the marketing, educational and community activities of the organization. Antmicro provides development and commercial support services for open source IP, systems and tools, actively participating in a number of other open source projects and initiatives including RISC-V International, OpenPOWER Foundation, Renode and Zephyr Project. Antmicro is also propelling many of CHIPS Alliance efforts like open source SystemVerilog support and FPGA & ASIC tooling.

+

Said Wayne Dai, President and CEO at VeriSilicon: “We have been impressed by the momentum the CHIPS Alliance community has generated over the past two years, and we look forward to helping to drive its next phase of growth and development by joining as a Platinum member.”

+

In 2018, VeriSilicon was instrumental in establishing the China RISC-V Industry Consortium (CRVIC), which has more than 120 members today. VeriSilicon is also a member of RISC-V International, and is eager to expand its open source efforts by joining the CHIPS Alliance. With the company’s strong growth over the past two decades, the company recently celebrated a new milestone with its entry to the Sci-Tech Innovation Board (STAR Market) of the Shanghai Stock Exchange in China.

+

“The addition of Antmicro and VeriSilicon to our Platinum membership level demonstrates the growing commitment we’re seeing from companies across the silicon ecosystem,” said Rob Mains, Executive Director at CHIPS Alliance. “As we continue to expand our membership base, we remain laser focused on targeting other parts of ASICs beyond the CPU core, open sourcing the tools needed to work with ASICs, and providing real, battle-proven reference implementations and project infrastructure.”

+

As Platinum members, Antmicro and VeriSilicon are entitled to appoint a representative to the Governing Board and any Committee. Additionally, a representative of each Platinum member company is eligible to be elected Chair and/or Vice Chair of the Technical Steering Committee (the “TSC”). Furthermore, Platinum members get ten complimentary registrations for CHIPS Alliance workshops and events during the year of membership, along with each company’s logo prominently displayed in CHIPS Alliance online and print materials.

+

About the CHIPS Alliance

+

The CHIPS Alliance is an organization which develops and hosts high-quality, open source hardware code (IP cores), interconnect IP (physical and logical protocols), and open source software development tools for design, verification, and more. The main aim is to provide a barrier-free collaborative environment, to lower the cost of developing IP and tools for hardware development. The CHIPS Alliance is hosted by the Linux Foundation. For more information, visit chipsalliance.org.

+

About the Linux Foundation

+

The Linux Foundation was founded in 2000 and has since become the world’s leading home for collaboration on open source software, open standards, open data, and open hardware. Today, the Foundation is supported by more than 1,000 members and its projects are critical to the world’s infrastructure, including Linux, Kubernetes, Node.js and more. The Linux Foundation focuses on employing best practices and addressing the needs of contributors, users, and solution providers to create sustainable models for open collaboration. For more information, visit linuxfoundation.org.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/chips-alliance-welcomes-antmicro-and-verisilicon-to-the-platinum-membership-level/share.png b/preview/97/news/chips-alliance-welcomes-antmicro-and-verisilicon-to-the-platinum-membership-level/share.png new file mode 100644 index 000000000..245fa4125 Binary files /dev/null and b/preview/97/news/chips-alliance-welcomes-antmicro-and-verisilicon-to-the-platinum-membership-level/share.png differ diff --git a/preview/97/news/chips-alliance-welcomes-mentor-as-its-newest-member/index.html b/preview/97/news/chips-alliance-welcomes-mentor-as-its-newest-member/index.html new file mode 100644 index 000000000..18a991e3b --- /dev/null +++ b/preview/97/news/chips-alliance-welcomes-mentor-as-its-newest-member/index.html @@ -0,0 +1,320 @@ + + + + + + + + + + + + + + +CHIPS Alliance Welcomes Mentor as its Newest Member | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

CHIPS Alliance Welcomes Mentor as its Newest Member

+
+
    +
  • +

    August 17, 2020

    +
  • +
  • +

    3 minutes

    +
  • +
  • +

    525 words

    +
  • +
+
+
+
+featured-image +
+

Mentor to present at the virtual CHIPS Alliance Workshop on Sept. 17

+

SAN FRANCISCO, Aug. 18, 2020 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced that Mentor, a Siemens business, has joined as its newest member. The CHIPS Alliance has a roster of more than 20 members collaborating to accelerate the creation and deployment of open system-on-chips (SoCs), peripherals and software tools for a wide range of applications.

+

“Mentor has a long history of supporting open standards to enable companies to design and verify their solutions,” said Badru Agarwala, general manager of Digital Design and Implementation Solutions at Mentor. “High level synthesis plays an important role in the design of accelerators, and in fostering an open and collaborative hardware development ecosystem. We look forward to contributing to the CHIPS Alliance’s efforts to reduce design barriers for the benefit of the entire silicon ecosystem.”

+

Mentor is a world leader in electronic hardware and software design solutions, providing products, consulting services and award-winning support for the world’s most successful electronic, semiconductor and systems companies. The company recently collaborated with another CHIPS Alliance member, Imperas Software, to extend the hardware design verification of RISC-V cores with industrial quality coverage methodologies. Mentor’s high level synthesis (HLS) tool, Catapult, enables hardware designers to use C++ or SystemC to describe functional intent and move up to a more productive abstraction level.

+

“Over the past year we’ve focused on expanding our membership base and achieving new technical milestones as we work to make open source silicon a reality for mobile, computing, consumer electronics and Internet of Things applications,” said Dr. Zvonimir Bandić, Chairman, CHIPS Alliance. “We’re pleased to welcome Mentor to this dynamic, collaborative community driving the new era of hardware innovation.”

+

Mentor will be presenting at the CHIPS Alliance Workshop, being held virtually on Thursday, Sept. 17. Mentor’s Anoop Saha will be presenting the session “Open ML Accelerator.”

+

To see the full CHIPS Alliance Workshop schedule and register for the event, please visit: https://events.linuxfoundation.org/chips-alliance-workshop/program/schedule/.

+

To learn more about CHIPS Alliance’s work, please check out the 2020 Annual Report: https://chipsalliance.org/chips-alliance-2020-annual-report/.

+

About the CHIPS Alliance

+

The CHIPS Alliance is an organization which develops and hosts high-quality, open source hardware code (IP cores), interconnect IP (physical and logical protocols), and open source software development tools for design, verification, and more. The main aim is to provide a barrier-free collaborative environment, to lower the cost of developing IP and tools for hardware development. The CHIPS Alliance is hosted by the Linux Foundation. For more information, visit chipsalliance.org.

+

About the Linux Foundation

+

The Linux Foundation was founded in 2000 and has since become the world’s leading home for collaboration on open source software, open standards, open data, and open hardware. Today, the Foundation is supported by more than 1,000 members and its projects are critical to the world’s infrastructure, including Linux, Kubernetes, Node.js and more. The Linux Foundation focuses on employing best practices and addressing the needs of contributors, users, and solution providers to create sustainable models for open collaboration. For more information, visit linuxfoundation.org.

+

Note: A list of relevant Siemens trademarks can be found here.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/chips-alliance-welcomes-the-caliptra-open-source-root-of-trust-project/caliptra.png b/preview/97/news/chips-alliance-welcomes-the-caliptra-open-source-root-of-trust-project/caliptra.png new file mode 100644 index 000000000..1f9e7e637 Binary files /dev/null and b/preview/97/news/chips-alliance-welcomes-the-caliptra-open-source-root-of-trust-project/caliptra.png differ diff --git a/preview/97/news/chips-alliance-welcomes-the-caliptra-open-source-root-of-trust-project/index.html b/preview/97/news/chips-alliance-welcomes-the-caliptra-open-source-root-of-trust-project/index.html new file mode 100644 index 000000000..c76bc8cce --- /dev/null +++ b/preview/97/news/chips-alliance-welcomes-the-caliptra-open-source-root-of-trust-project/index.html @@ -0,0 +1,321 @@ + + + + + + + + + + + + + + +CHIPS Alliance Welcomes the Caliptra Open Source Root of Trust Project | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

CHIPS Alliance Welcomes the Caliptra Open Source Root of Trust Project

+
+
    +
  • +

    December 13, 2022

    +
  • +
  • +

    4 minutes

    +
  • +
  • +

    793 words

    +
  • +
+
+
+
+featured-image +
+

SAN FRANCISCO, December 13, 2022 – CHIPS Alliance, a Linux Foundation project and leading consortium advancing common and open hardware for interfaces, processors and systems, announced that Caliptra, the open source root of trust project founded by technology leaders AMD, Google, Microsoft and NVIDIA, has joined CHIPS Alliance to enable an open, collaborative community-driven approach to hardware security.

+

Caliptra is a new specification for an open source silicon root of trust (RoT) designed to meet the enhanced security requirements of modern edge and confidential computing workloads. CHIPS Alliance will oversee the open source implementation of register-transfer level (RTL) code for Caliptra that can be synthesized into current SoC designs, along with the verification suite and firmware. As part of this architecture, the open source RISC-V core hosted by the CHIPS Alliance and now relaunched as VeeR, is embedded within the Caliptra Root of Trust macro. VeeR is a true open source RISC-V core family with full RTL and verification bench all under Apache 2.0 license ready for anyone to use.

+

Having joined CHIPS Alliance, Caliptra will form its governance under the CHIPS Alliance Technical Steering Committee in accordance with the project’s charter, while the Caliptra hardware specification is hosted in the Open Compute Project, in a collaboration that will further tighten the bond between the CHIPS Alliance and the OCP. .

+

“By pushing for introducing transparency into hardware security, Caliptra’s aim coincides with that of CHIPS Alliance”, said Rob Mains, General Manager at CHIPS Alliance. “CHIPS is actively encouraging collaboration with industry, universities and individuals to build a strong open source hardware ecosystem, comprised of IP, design, EDA, and PDK’s. Caliptra is a strong addition to the overall endeavors of CHIPS, and helps further the goals of CHIPS.”

+

CHIPS Alliance is proud to announce that, in addition to Google and AMD which were already members related to other open source initiatives they are pursuing with CHIPS Alliance, Microsoft and NVIDIA have now also joined as Platinum and Silver members, respectively.

+

“Google is delighted to have Caliptra join the CHIPS Alliance and see it host the open source project, including RTL and firmware,” said Partha Ranganathan, Vice President and Technical Fellow, Google. “Furthermore, we are proud to welcome AMD, Nvidia and Microsoft as members of CHIPS Alliance and work together to drive further open source collaboration and raise the security bar in the broader Cloud industry.”

+

Ensuring the security of our data centers and electronic devices is critical to all of us in the industry. Having a collaborative platform to bring the best minds to complex security problems and addressing real world threats is of paramount importance. The work done within CHIPS is all under an Apache 2.0 license, which encourages collaboration and usage of the intellectual property hosted by CHIPS.

+

CHIPS Alliance welcomes all to join and participate in its different workgroups that covers a broad range of silicon design topics including: implementation, verification, process design kits, electronic design automation, and FPGAs to name a few. Please visit the CHIPS website at:

+

https://chipsalliance.org/join for more information.

+

About the CHIPS Alliance

+

The CHIPS Alliance is an organization which develops and hosts high-quality, open source hardware code (IP cores), interconnect IP (physical and logical protocols), and open source software development tools for design, verification, and more. The primary focus is to provide a barrier-free collaborative environment, to lower the cost of developing IP and tools for hardware development. The CHIPS Alliance is hosted by the Linux Foundation. For more information, visit chipsalliance.org.

+

About the Linux Foundation

+

The Linux Foundation was founded in 2000 and has since become the world’s leading home for collaboration on open source software, open standards, open data, and open hardware. Today, the Foundation is supported by more than 1,000 members and its projects are critical to the world’s infrastructure, including Linux, Kubernetes, Node.js and more. The Linux Foundation focuses on employing best practices and addressing the needs of contributors, users, and solution providers to create sustainable models for open collaboration. For more information, visit linuxfoundation.org.

+

About the Open Compute Project Foundation

+

At the core of the Open Compute Project (OCP) Community are hyperscale data center operators and industry players, joined by telecom, colocation providers and enterprise IT users, working with vendors to develop and commercialize open innovations that, when embedded in product are deployed from the cloud to the edge. The OCP Foundation is responsible for fostering, serving and seeding the OCP Community to develop new open solutions that can meet the market and shape the future. In shaping the future, OCP will continue to invest in strategic initiatives that prepare the IT ecosystem for major changes, such as AI & ML, optics, sustainable data center solutions, advanced power management and cooling techniques, composable silicon and sustainability. Learn more at www.opencompute.org.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/chips-alliance-welcomes-the-caliptra-open-source-root-of-trust-project/share.png b/preview/97/news/chips-alliance-welcomes-the-caliptra-open-source-root-of-trust-project/share.png new file mode 100644 index 000000000..f7041a02e Binary files /dev/null and b/preview/97/news/chips-alliance-welcomes-the-caliptra-open-source-root-of-trust-project/share.png differ diff --git a/preview/97/news/chips-alliances-incredible-growth/index.html b/preview/97/news/chips-alliances-incredible-growth/index.html new file mode 100644 index 000000000..10f41cabe --- /dev/null +++ b/preview/97/news/chips-alliances-incredible-growth/index.html @@ -0,0 +1,315 @@ + + + + + + + + + + + + + + +A Look Back at the CHIPS Alliance’s Incredible Growth | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

A Look Back at the CHIPS Alliance’s Incredible Growth

+
+
    +
  • +

    June 8, 2020

    +
  • +
  • +

    2 minutes

    +
  • +
  • +

    304 words

    +
  • +
+
+
+
+featured-image +
+

It’s been just over a year since the CHIPS Alliance was founded with the mission of making open source hardware development more accessible to companies, universities and individuals. We’re working to bring the dynamics of the hugely successful open source software development model into ASIC design, building on the groundwork set by the RISC-V community. Progress over the past year is detailed in our Annual Report.

+

CHIPS Alliance is focused on expanding on this open hardware vision by:

+
    +
  • Targeting other parts of ASICs beyond the CPU core, gradually open sourcing all IPs that go into a SoC, both analog and digital.
  • +
  • Open sourcing the tools needed to work with ASICs, making it possible to design innovative solutions without a massive upfront investment.
  • +
  • Providing real, battle-proven reference implementations and project infrastructure to ensure the continued success of the projects we govern and support.
  • +
+

With these three pillars guiding our efforts, we believe that the CHIPS Alliance will enable truly open hardware to flourish for the first time. The CHIPS Alliance has already made incredible progress so far. We have achieved a number of important technical milestones, including announcing newly enhanced SweRV Cores – EH2 and EL2 – and releasing the Advanced Interface Bus (AIB) specification and reference implementations by one of the CHIPS Alliance’s newest members, Intel. These technical accomplishments are making it easier for engineers to design innovative embedded applications for the latest computing requirements.

+

We’re also excited by the significant community interest in the work we’re doing. Hundreds of people from around the world have attended CHIPS Alliance events over the past year, both in-person and online, and our working groups are running full steam ahead. Check out our Annual Report to learn more about the CHIPS Alliance’s news and activities, and stay up to date by following us on Twitter and LinkedIn.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/chips-swerv-cores-and-the-open-tools-ecosystem/index.html b/preview/97/news/chips-swerv-cores-and-the-open-tools-ecosystem/index.html new file mode 100644 index 000000000..909ad7eef --- /dev/null +++ b/preview/97/news/chips-swerv-cores-and-the-open-tools-ecosystem/index.html @@ -0,0 +1,334 @@ + + + + + + + + + + + + + + +CHIPS SweRV Cores and the Open Tools Ecosystem | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

CHIPS SweRV Cores and the Open Tools Ecosystem

+
+
    +
  • +

    July 10, 2020

    +
  • +
  • +

    8 minutes

    +
  • +
  • +

    1684 words

    +
  • +
+
+
+
+featured-image +
+

This post was originally published at Antmicro.

+

Antmicro’s open source work spans all parts of the computing stack, from software and AI, to PCBs, FPGAs and, most recently, custom silicon. We connect those areas with an overarching vision of open source tooling and methodology, and a software-driven approach that allows us to move fast and build future-centric solutions. Our partners and customers, many of whom work with us also in the context of organizations such as CHIPS Alliance and RISC-V, share our approach to developing open systems. We were recently very happy to be invited to give a talk at the “Production grade, open RISC-V SweRV Core Solutions in CHIPS Alliance” meetup organized by Western Digital where we presented our systems approach on the example of the open source tools ecosystem that targets their SweRV cores and which we are helping to develop.

+

What is SweRV?

+

SweRV is a family of production-grade RISC-V implementations originally developed by Western Digital, who have announced they are going to transition 2 billion cores in their products to RISC-V, showing they are fully committed to this open processor architecture. SweRV comes in three variants: the original EH1 and the recently released EH2 and EL2.

+

EH2 is the world’s first dual-threaded commercial, embedded RISC-V core designed for IoT and AI systems, boasting as much as 6.3 CoreMark/MHz in dual-threaded mode, at 1.2 GHz in 16nm. EL2, on the other hand, is a tiny, low-power but high-performance RISC-V core (with just 0.023 mm2 in 16nm, it runs at up to 600 MHz and 3.6 CoreMark/MHz) targeting applications such as state-machine sequencers and waveform generators. The best thing about them is that anybody can use and extend them for free, with more high performance cores being planned in the future.

+

But a CPU is as good as the tooling around it and Western Digital knows it. That is why the entire SweRV family was handed over to CHIPS Alliance, which now aims to facilitate using the cores in practical scenarios by maintaining the dynamic ecosystem of relevant tools. Many of the necessary building blocks are already in place, while others are still being developed with active participation of Antmicro, the FOSSi community and others. In this article you will see examples of how you can work with SweRV in simulation, on an FPGA and in an ASIC context.

+

Getting started

+

To get started very quickly with no hardware whatsoever, you can simulate any of the SweRV cores in Verilator – one of the most successful and widely used open source projects in the EDA space, which we use extensively. Simply, go to the relevant core’s GitHub space in the CHIPS Alliance organization (e.g. https://github.com/chipsalliance/Cores-SweRV for EH1) and simulate the RTL (which is written in SystemVerilog).

+

Verilator simulates the RTL with high performance by compiling to an optimized model and running it, outperforming many proprietary alternatives. What is more, it is developing very fast thanks to the work of its maintainer – Wilson Snyder, the FOSSI community and CHIPS Alliance. Antmicro specifically has been working together with Western Digital and Google on adding support for SystemVerilog / Universal Verification Methodology to enable Verilator’s design verification for real-world use cases (see Looking into the future below).

+

Putting SweRV into an FPGA

+

If you want to get working on something more tangible, you might want to run SweRV on an FPGA – in a portable, vendor-neutral manner, of course.

+

To simplify interfacing with various toolchains, simulators and other tools you might need depending on the platform you want to target, you can use Edalize – a Python utility that allows you to seamlessly work with different kinds of EDA tools, both for FPGA and ASIC design. It helps you to maintain consistent workflows and pinpoint whether a specific bug is tool-related or pertains to your code. We’ve been adding quite a lot of new functionalities into Edalize recently, while using it heavily as a default way to interface with various tools out there in our work e.g. sv-tests (again, see Looking into the future for more on that topic).

+

Edalize will help you use your SweRV-based design on the FPGA/board of your choice without having to care about remembering and maintaining specific configurations and runtime flags.

+

Another great tool from the same author is FuseSoC, a Python-based package manager and a set of build tools for HDL code. It enables you to reuse your FPGA IP across many designs and, of course, it supports SweRV cores well. Apart from making it simple to reuse existing cores, it allows you to easily create compile-time or run-time configurations, port designs to new targets, set up configurable Continuous Integration as well as let other projects use your code. FuseSoC is also used by the SweRVolf SoC.

+

Thanks to integrations with other open source tools like Google’s Verible linter/formatter, that we’re also helping to develop, FuseSoC can be used to lint and format System Verilog – we have recently written an article about this.

+

Incorporating SweRV into an SoC

+

A core alone, however, is not enough to get any practical work done. If you want to build a System-on-Chip, you should definitely look at LiteX – a SoC generator that allows you to put SweRV in an actual use case. LiteX is an IP library and a SoC builder that is portable between various FPGAs and can turn SweRV into a full blown system. It has a number of IPs and other building blocks such as Ethernet, RAM, UART, SATA, etc. which you can configure to work with different kinds of CPUs. It has initial SweRV support which enables the user to quickly build plug & play SoC systems with SweRV. Antmicro is heavily involved in work to build a robust ecosystem around it. LiteX can run the Zephyr RTOS – which is also supported on SweRV – and, with a suitable CPU, it can run Linux as well. The LiteX SoC ecosystem can also be used together with another tooling project we heavily contribute to, SymbiFlow – the open source FPGA flow.

+

Simulating, experimenting, testing

+

If you want to use SweRV to build a full production system and leverage the flexibility to customize that comes with the RISC-V and open tooling, you will most likely need to experiment with the architecture and co-develop hardware and software. This is where Renode can be of immense use thanks to its architectural exploration, simulation, testing and debug capabilities for complex systems: entire SoCs, boards and systems of boards. All you need to do is download Renode and put together a few configuration files – it even comes with many demos and pre-compiled examples for various platforms. Renode provides initial support for SweRV EH1 (with more to come) as well as extensive support of LiteX, which will let you quickly build and simulate entire open source SoCs. On top of that, Renode enables hardware/software co-simulation with Verilator for building your custom IP and testing its HDL as-is, while keeping the rest of the system simulated in Renode to save development time.

+

Building and verifying a production-grade ASIC

+

Assuming SweRV fits your use case, you may eventually want to build and verify a production-grade ASIC which includes one of those CPUs. As part of the CHIPS working groups focused on cores and tools, the developers of SweRV in collaboration with Google, Antmicro and others are building an entirely open source design verification ecosystem around the cores family, including projects such as riscv-dv and Whisper ISS. The former is an entire SV/UVM flow based on an instruction generator for RISC-V processor verification, which allows you to perform various tests on SweRV-based designs. It features a number of test suites dedicated to different functionalities. It runs ISS and RTL simulators in tandem and compares the results. Whisper ISS is a tool used for verification of SweRV implementations, which can be run in an interactive mode, allowing the user to single step RISC-V code and inspect/modify the RISC-V registers or system memory, or it can be run in lock-step, e.g. with Verilator.

+

Looking into the future

+

There is ongoing work from CHIPS Alliance and the broader open source community to rapidly transform the ASIC-development workflows to fully embrace open source. One such effort is sv-tests, a System Verilog test suite designed to stress-test different kinds of designs in SystemVerilog against various open source tools, showing a results table indicating detailed coverage. SweRV, being written in SystemVerilog, is of course one of the suite’s test targets.

+

The SV test suite informs some of our ongoing open source work for ASIC tooling, one of the goals of which is to enable open source development and verification of System Verilog designs. An interesting tool to look at in this space is Surelog – a full-blown SystemVerilog parser developed in collaboration between Google and Antmicro oriented at simulation and UVM. We are working to plug it as the System Verilog front-end into various open source tools using a framework called UHDM (Universal Hardware Data Model), which will enable code reuse between various tools with similar needs.

+

With the recent release of the world’s first open PDK, that we are proud to have been participating in, and the progress being made in the OpenROAD project, which aims at a fully open flow for chip design and other areas, it looks like the future in which a SweRV based SoC can be designed, verified and manufactured using open tools is not that far off.

+

Summary

+

Apart from being an expanding, production-grade family of cores, SweRV taps into a very good and dynamic ecosystem of tools that we are helping to build. CHIPS Alliance is aiming to revolutionize the way developers work with ASICs and FPGAs by enabling a software-driven approach to silicon, which perfectly aligns with Antmicro’s strategy and long-term objectives. With extensive experience in RISC-V-powered open source work, we offer high-quality services that our customers can use to build on top of SweRV using these new collaborative methodologies and tools. Reach out to Antmicro at contact@antmicro.com to find out how the company can assist you with your next RISC-V-centered project.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/dynamic-scheduling-in-verilator/dynamic-scheduling-verilator.png b/preview/97/news/dynamic-scheduling-in-verilator/dynamic-scheduling-verilator.png new file mode 100644 index 000000000..46f05b8b4 Binary files /dev/null and b/preview/97/news/dynamic-scheduling-in-verilator/dynamic-scheduling-verilator.png differ diff --git a/preview/97/news/dynamic-scheduling-in-verilator/index.html b/preview/97/news/dynamic-scheduling-in-verilator/index.html new file mode 100644 index 000000000..7df2369f1 --- /dev/null +++ b/preview/97/news/dynamic-scheduling-in-verilator/index.html @@ -0,0 +1,337 @@ + + + + + + + + + + + + + + +Dynamic Scheduling in Verilator – Milestone Towards Open Source UVM | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

Dynamic Scheduling in Verilator – Milestone Towards Open Source UVM

+
+
    +
  • +

    May 13, 2021

    +
  • +
  • +

    5 minutes

    +
  • +
  • +

    1032 words

    +
  • +
+
+
+
+featured-image +
+

This post was originally published at Antmicro.

+

UVM is a verification methodology traditionally used in chip design which has historically been missing from the open source landscape of verification-focused tooling. While new, open source approaches to verification have emerged that include the excellent Python-based Cocotb (that we also use and support) maintained by FOSSi Foundation, not everyone can easily adopt it, especially in long-running projects and existing codebases that use a different verification approach. Leading the efforts towards comprehensive UVM / SystemVerilog support in open source tools, we have been gradually completing milestones, getting closer to what will essentially be a modular, collaboration-driven chips design methodology/workflow. Some examples of our activity in this space include enabling open source synthesis and simulation of the Ibex CPU in Verilator/Yosys via UHDM/Surelog, and the most recent joint project with Western Digital in which we have developed dynamic scheduling in Verilator.

+

Verilating non-synthesizable code

+

The work is a part of a wider, long-term effort that, besides Western Digital, has involved other fellow CHIPS Alliance members such as Google, to develop UVM / SystemVerilog support in open source tools. To get closer to this goal, this time we have introduced an improvement to Verilator – an open source tool that is great at doing what it was originally designed to do, that is simulating synthesizable code, but hasn’t been enabling its users to convert non-synthesizable code and run fully fledged testbenches written in Verilog/SystemVerilog. The biggest challenge to opening that possibility turned out to be Verilator’s original scheduler running everything sequentially, which in general is not a bad approach but can get you only so far without actually executing the code in parallel.

+

Dynamic scheduling in Verilator

+

To run proper UVM testbenches in Verilator, we had to be able to properly handle language constructs specifically designed for use in simulation. Those features include delay statements, forks, wait statements and events. To achieve all of this, we needed to add a proof-of-concept dynamic scheduler to Verilator.

+

How dynamic scheduling in Verilator works

+

Instead of grouping code blocks of the same type as the original scheduler does, the dynamic scheduler separates the code into many runnable blocks and then creates and spawns a process for each of them (when they are due to be executed). To deal with it we created a new process, which translates to a new high level thread for each initial block, always block, forever block, each block in the fork statement etc. This allows us to pause the execution of one block and continue the execution of other blocks. Blocks can be paused when they encounter simulation control statements like:

+
    +
  • The wait statement (e.g. wait (rdy == 1); or wait (event_name.triggered))
  • +
  • Waiting for an event (e.g @event_name;)
  • +
  • A delay (#10;)
  • +
  • Or even a join statement after fork (join, join_anyjoin_none is also supported, however it is not used to control the execution per se)
  • +
+

All of the statements listed above are not supported in Verilator’s original scheduler, so to be able to dynamically control the execution of those already dynamically spawned sub-processes, a way to react to changes in signal/events states needed to be implemented. We did it by wrapping the primitive types used for storing signal values in objects using higher abstraction levels, which now allows us to attach other processes to monitor values of specific signals and execute an arbitrary callback when a signal changes. Note that this is a mechanism used internally to implement the flow control statements and is not visible to the user writing Verilog code.

+

One additional thing that had to be re-written and adapted to the dynamic scheduler was the way non-blocking assignments are handled.

+

With a scheduler that is aware of the simulation time and other flow control statements, the same approach originally used by Verilator could not be applied anymore. A way to properly schedule assignments, and execute them in the proper moment was a crucial step in getting all of this to work.

+

Note that the features described above are the ones that are immediately visible to users of Verilator with the dynamic scheduler. This is however only the tip of the iceberg when it comes to the amount of internal changes needed to be done in Verilator.

+

Example usage

+

To present the usage of all the new Verilator features we have created a public GitHub repository with a number of example designs and GitHub Actions-based CI simulating them.

+

The examples range from single feature examples to more complex scenarios simulating a system with two UARTs sending data between each other.

+

The UART testbench example uses all the newly added features. It spawns a thread for every simulated UART block and each thread feeds the UART IP that is being tested with the predefined data (the “hello world” string in our example).

+

The UART block reads the data from an AXI stream interface, serializes it and sends it over the TX line.

+

The received data is available on the output AXI Stream bus.

+

Each testbench thread introduces a random delay between consecutive data chunk transmission.

+

The threads are synchronized using SystemVerilog events – e.g. once the data is fed into the UART block over the AXI stream interface, a thread is triggering an event informing the other part of the thread that the data is being transmitted by the IP. +Once transmission is done, another event is triggered informing the first thread that the IP is ready for a new data chunk.

+

Once all the test data is transferred between both tested UART instances, the threads are joined and data correctness is validated.

+

Next steps, future goals

+

This ongoing project is a big step towards UVM support in open tools as it not only removes a number of limitations in this area but also opens the door to future developments – which include a number of SystemVerilog features oriented towards verification which were earlier out of scope since open source UVM verification wasn’t on the horizon. Together with the effort to support SystemVerilog in Verilator using UHDM which is part of another ongoing project, in CHIPS Alliance we continue to work towards enabling open source design verification for everyone, which will revolutionize the way chips are built.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/efabless-joins-chips-alliance-to-accelerate-the-growth-of-the-open-source-chip-ecosystem/index.html b/preview/97/news/efabless-joins-chips-alliance-to-accelerate-the-growth-of-the-open-source-chip-ecosystem/index.html new file mode 100644 index 000000000..87e3f3a9e --- /dev/null +++ b/preview/97/news/efabless-joins-chips-alliance-to-accelerate-the-growth-of-the-open-source-chip-ecosystem/index.html @@ -0,0 +1,319 @@ + + + + + + + + + + + + + + +Efabless Joins CHIPS Alliance to Accelerate the Growth of the Open Source Chip Ecosystem | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

Efabless Joins CHIPS Alliance to Accelerate the Growth of the Open Source Chip Ecosystem

+
+
    +
  • +

    December 15, 2020

    +
  • +
  • +

    3 minutes

    +
  • +
  • +

    575 words

    +
  • +
+
+
+
+featured-image +
+

Efabless to give a talk on the OpenROAD project at the CHIPS Alliance Workshop on Sept. 17

+

SAN FRANCISCO, Sept. 15, 2020 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today welcomed Efabless, a crowdsourcing design platform for custom silicon, as its latest member. Efabless is already an active participant in several open source initiatives that the CHIPS Alliance is involved in, including the OpenROAD project and the Open Source Shuttle Program.

+

“The mission of the CHIPS Alliance to democratize silicon design nicely aligns with our focus on changing how chip design is done forever. Our platform is essentially an ecosystem-in-a-box that’s instantly accessible to designers anywhere to create and deliver new chip solutions faster than traditional approaches,” said Mohamed Kassem, co-founder and CTO at Efabless. “Through the CHIPS Alliance and other open source initiatives, we’re working to make it easier for design teams of all sizes to define, develop, collaborate and monetize their work.”

+

At the CHIPS Alliance Workshop on Thursday, Sept. 17, Kassem and Andrew Kahng of OpenROAD and UCSD will be presenting the session “OpenROAD open RTL-to-GDS update.” The talk will discuss the OpenROAD autonomous and fully open flow for chip design.

+

“We’ve been impressed with Efabless’ strong commitment to accelerating open source chip innovation,” said Dr. Zvonimir Bandić, Chairman, CHIPS Alliance. “We look forward to working closely with Efabless and our other members to continue to lower the cost of developing IP and tools for hardware development.”

+

Efabless is collaborating with SkyWater Technology Foundry and CHIPS Alliance members Google and Antmicro on an open source SkyWater PDK (Process Design Kit) for the 130 nm CMOS process technology. Efabless will make the design for this PDK simple and affordable by integrating resources on its cloud-based design platform including: an open source based end-to-end ASIC design flow – openLANE based on OpenROAD, Yosys and Magic; the open source striVe family of full ASIC reference designs; and a marketplace for monetizing chip and IP designs. This project will help lower the cost of entry for chip manufacturing, making chip design more accessible for everyone.

+

Additionally, Efabless is managing the Open Source Shuttle Program sponsored by Google. This program will provide free of cost chip manufacturing runs for open source designs. The first run is scheduled for November 2020, and another will take place in early 2021.

+

To check out the schedule for the CHIPS Alliance Workshop and register for this free event, please visit: https://events.linuxfoundation.org/chips-alliance-workshop/program/schedule/.

+

About the CHIPS Alliance

+

The CHIPS Alliance is an organization which develops and hosts high-quality, open source hardware code (IP cores), interconnect IP (physical and logical protocols), and open source software development tools for design, verification, and more. The main aim is to provide a barrier-free collaborative environment, to lower the cost of developing IP and tools for hardware development. The CHIPS Alliance is hosted by the Linux Foundation. For more information, visit chipsalliance.org.

+

About the Linux Foundation

+

The Linux Foundation was founded in 2000 and has since become the world’s leading home for collaboration on open source software, open standards, open data, and open hardware. Today, the Foundation is supported by more than 1,000 members and its projects are critical to the world’s infrastructure, including Linux, Kubernetes, Node.js and more. The Linux Foundation focuses on employing best practices and addressing the needs of contributors, users, and solution providers to create sustainable models for open collaboration. For more information, visit linuxfoundation.org.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/efabless-launches-chipignite/index.html b/preview/97/news/efabless-launches-chipignite/index.html new file mode 100644 index 000000000..5852781b5 --- /dev/null +++ b/preview/97/news/efabless-launches-chipignite/index.html @@ -0,0 +1,315 @@ + + + + + + + + + + + + + + +Efabless Launches chipIgnite with SkyWater to Bring Chip Creation to the Masses | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

Efabless Launches chipIgnite with SkyWater to Bring Chip Creation to the Masses

+
+
    +
  • +

    May 20, 2021

    +
  • +
  • +

    2 minutes

    +
  • +
  • +

    259 words

    +
  • +
+
+
+
+featured-image +
+
    +
  • Program includes a pre-designed carrier chip and automated open source design flow from Efabless
  • +
  • SkyWater’s open source SKY130 process is the first node to be used to fabricate chips for the program
  • +
  • Initiative removes access barriers by significantly reducing cost and the need for deep semiconductor experience to design chips
  • +
+

Efabless, a community chip creation platform, today announced the launch of its new chipIgnite program to bring chip design and fabrication to the masses and a collaboration with SkyWater Technology for the first node supported in the program. The chipIgnite program expands upon the SKY130-based open source chip manufacturing program sponsored by Google and supports private commercial designs that include non-open source IP. This initiative represents another step forward in the industry to broaden access to chip design by giving people the ability to more easily create and fabricate chips.

+

The first shuttle in the chipIgnite program will support fabrication of student projects as part of the EE272B course in the Electrical Engineering department at Stanford University for senior undergraduate and graduate students.

+

The new program also has industry support from organizations including QuickLogic and the CHIPS Alliance.

+

“CHIPS Alliance is a major champion of open source hardware design and associated design automation tools. I am excited to see the chipIgnite program offered by Efabless to include many different collaborative IP developers to prove new ideas. The platform alleviates the barriers to entry into chip design and allows for ready exploration of many concepts,” said Rob Mains, general manager of CHIPS Alliance.

+

Read the full announcement at Efabless: https://info.efabless.com/press-release-efabless-launches-chipignite-with-skywater-to-bring-chip-creation-to-the-masses/

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/enhanced-system-verilog-support-for-yosys-via-antmicro-plug-in/index.html b/preview/97/news/enhanced-system-verilog-support-for-yosys-via-antmicro-plug-in/index.html new file mode 100644 index 000000000..cc28c6016 --- /dev/null +++ b/preview/97/news/enhanced-system-verilog-support-for-yosys-via-antmicro-plug-in/index.html @@ -0,0 +1,304 @@ + + + + + + + + + + + + + + +Enhanced System Verilog Support for Yosys via Antmicro plug-in | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

Enhanced System Verilog Support for Yosys via Antmicro plug-in

+
+
    +
  • +

    June 30, 2022

    +
  • +
  • +

    1 minutes

    +
  • +
  • +

    78 words

    +
  • +
+
+
+
+featured-image +
+

CHIPS Alliance is pleased to see the announcement by Antmicro for its development and contribution to the open source hardware community to provide a easy to use plug-in for any version of Yosys to allow import of System Verilog based designs. This development is made possible by the underlying utilization of the Unified Hardware Data Model (UHDM), a key open source data representation upon which EDA applications can be built. Details can be seen here from Antmicro: https://antmicro.com/blog/2022/02/simplifying-open-source-sv-synthesis-with-the-yosys-uhdm-plugin/

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/enhanced-system-verilog-support-for-yosys-via-antmicro-plug-in/share.png b/preview/97/news/enhanced-system-verilog-support-for-yosys-via-antmicro-plug-in/share.png new file mode 100644 index 000000000..e469b0696 Binary files /dev/null and b/preview/97/news/enhanced-system-verilog-support-for-yosys-via-antmicro-plug-in/share.png differ diff --git a/preview/97/news/f4pga-open-source-flow-gets-a-new-python-based-build-system-and-cli-tool/F4PGA_Python_toolchain_CLI_tool-2048x1153.png b/preview/97/news/f4pga-open-source-flow-gets-a-new-python-based-build-system-and-cli-tool/F4PGA_Python_toolchain_CLI_tool-2048x1153.png new file mode 100644 index 000000000..bc4af507b Binary files /dev/null and b/preview/97/news/f4pga-open-source-flow-gets-a-new-python-based-build-system-and-cli-tool/F4PGA_Python_toolchain_CLI_tool-2048x1153.png differ diff --git a/preview/97/news/f4pga-open-source-flow-gets-a-new-python-based-build-system-and-cli-tool/index.html b/preview/97/news/f4pga-open-source-flow-gets-a-new-python-based-build-system-and-cli-tool/index.html new file mode 100644 index 000000000..047d2b81a --- /dev/null +++ b/preview/97/news/f4pga-open-source-flow-gets-a-new-python-based-build-system-and-cli-tool/index.html @@ -0,0 +1,305 @@ + + + + + + + + + + + + + + +F4PGA open source flow gets a new Python-based build system and CLI tool | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

F4PGA open source flow gets a new Python-based build system and CLI tool

+
+
    +
  • +

    October 9, 2022

    +
  • +
  • +

    1 minutes

    +
  • +
  • +

    83 words

    +
  • +
+
+
+
+featured-image +
+

One of the most recent projects developed within the workgroup is the unified f4pga CLI tool. In the broader context of our continuous efforts to make the FPGA space more unified and flexible, creating the f4pga CLI tool was a logical next step – it allowed us to wrap the underlying tools into a single CLI, making the F4PGA toolchain a more complete flow. The currently supported architectures are AMD’s (former Xilinx) 7 Series, Lattice’s iCE40 and QuickLogic’s EOS S3. Details are here.

+

F4PGA Diagram

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/f4pga-open-source-flow-gets-a-new-python-based-build-system-and-cli-tool/share.png b/preview/97/news/f4pga-open-source-flow-gets-a-new-python-based-build-system-and-cli-tool/share.png new file mode 100644 index 000000000..b97de54f7 Binary files /dev/null and b/preview/97/news/f4pga-open-source-flow-gets-a-new-python-based-build-system-and-cli-tool/share.png differ diff --git a/preview/97/news/github-actions-self-hosted-runners-build-event-server-and-google-cloud/index.html b/preview/97/news/github-actions-self-hosted-runners-build-event-server-and-google-cloud/index.html new file mode 100644 index 000000000..c64e2df05 --- /dev/null +++ b/preview/97/news/github-actions-self-hosted-runners-build-event-server-and-google-cloud/index.html @@ -0,0 +1,319 @@ + + + + + + + + + + + + + + +GitHub Actions Self-hosted Runners, Build Event Server and Google Cloud | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

GitHub Actions Self-hosted Runners, Build Event Server and Google Cloud

+
+
    +
  • +

    March 16, 2021

    +
  • +
  • +

    4 minutes

    +
  • +
  • +

    795 words

    +
  • +
+
+
+
+featured-image +
+

This post was originally published at Antmicro.

+

Continuous Integration and smart lifecycle management are key for high-tech product development, which is often a complex and multi-faceted process that requires automation to be efficient and failure-proof. At Antmicro, we’ve been creating various open source cloud and hybrid cloud solutions for our customers, helping them to encapsulate the complexity of their software stack. Lots of those projects cross the hardware/software boundary and involve a mix of open source and proprietary code, which means that fine-grained control of the CI setups are needed to make them work.

+

To provide the level of flexibility that we and our customers require, we often find ourselves working extensively on the underlying CI infrastructure, building open source solutions that can scale between organizations and teams. One such project involved creating a custom, local GitHub Actions runner, with containerized builds, support for Google’s Build Event Server and workload measurement and analytics; in collaboration with Google we then also enabled running an identical setup with the extra capabilities in Google Cloud.

+

Self-hosted runner diagram

+

Custom runner, more applications

+

GitHub is the world’s largest open source code sharing space, home to many of our open source projects such as Renode, the open source FPGA toolchain SymbiFlow or our open source ASIC development-focused SystemVerilog work. GitHub Actions – used by millions of developers worldwide – is a natural choice for those projects as the go-to CI flow. However, by default it provides compute resources – in the CI world traditionally called runners – with a specific hardware configuration which does not always fit the needs of the workloads that we deal with.

+

Especially in our work that involves ASIC and FPGA development flows – working towards enabling fully open source chip and IP design in our broader work in collaboration with our customers and fellow CHIPS Alliance members such as Google, Western Digital and QuickLogic, we find ourselves needing hybrid setups which would allow us to keep the code as well as the CI definitions public while being able to rely on internal infrastructure to do the heavy lifting. Long-running builds involving tools like VtR or OpenROAD that use lots of memory and CPU power, can greatly benefit from the flexibility that comes with the use of custom, self-hosted runners, and this solution also gives you a high degree of freedom in terms of integrating your runner with external hardware or tools that can’t be shared publicly. The latter is especially helpful in some of our other open source projects for things like benchmarking RISC-V, OpenPOWER and other cores or tracking the QoR for your FPGA designs. The Quality of Results and flexible Continuous Integration elements are extremely important for custom engineering projects we embark on, which typically integrate a variety of open source components together – fortunately the very nature of open source that constitute the predominant part of the tools we use makes such work much easier.

+

Virtual machines, distant-bes and Google Cloud integration

+

Our internal and our customers’ needs have called for the ability to integrate on-premise runners into our GitHub CI flows, which can be done using the GitHub runner project. For many of our projects, we provide flexible development infrastructure based on open source that allows us to better collaborate around shared code and to do that, we need to be able to scale compute resources between the private and public cloud. To enable feature parity with some of internal infrastructure, we also extended the self-hosted runners with some extra features.

+

Firstly, the custom runners developed as part of the project can be used with our distant-bes framework to push results in the Build Event Server format to custom results viewers transparently to the CI run itself. You can see an example of how this works in the symbiflow-examples repository. Secondly, we modified the runner so that instead of running the CI script on bare metal, it spawns virtual machines and performs the run steps inside them, collects results, and kills the machine, without changing the state of the host system’s kernel. This also allows us to gather performance metrics to see what the real utilization of the runner’s resources is – and we push those results in the form of graphs to our BES server.

+

Runner’s resource utilization

+

Lastly, based on the needs of several of our collaborative open source projects with Google, we pursued yet another goal, namely, instantiating our self-hosted runners in Google Cloud, which enables our CI to spin powerful servers up and down on demand. This mix of robust internal infrastructure and always-available, scalable on-demand Google Cloud resources is very useful for heavy workloads run by multiple organizations. In the world of collaborative development in forums like the CHIPS Alliance and RISC-V International, this is no longer a nice-to-have, but a necessity.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/github-actions-self-hosted-runners-build-event-server-and-google-cloud/resource-usage.png b/preview/97/news/github-actions-self-hosted-runners-build-event-server-and-google-cloud/resource-usage.png new file mode 100644 index 000000000..e6e4a3726 Binary files /dev/null and b/preview/97/news/github-actions-self-hosted-runners-build-event-server-and-google-cloud/resource-usage.png differ diff --git a/preview/97/news/github-actions-self-hosted-runners-build-event-server-and-google-cloud/self-hosted-runners.png b/preview/97/news/github-actions-self-hosted-runners-build-event-server-and-google-cloud/self-hosted-runners.png new file mode 100644 index 000000000..1c4f41562 Binary files /dev/null and b/preview/97/news/github-actions-self-hosted-runners-build-event-server-and-google-cloud/self-hosted-runners.png differ diff --git a/preview/97/news/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/corescore_announce.png2.png b/preview/97/news/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/corescore_announce.png2.png new file mode 100644 index 000000000..5d8a0c752 Binary files /dev/null and b/preview/97/news/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/corescore_announce.png2.png differ diff --git a/preview/97/news/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/corescore_crop-0.png b/preview/97/news/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/corescore_crop-0.png new file mode 100644 index 000000000..df5a3210f Binary files /dev/null and b/preview/97/news/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/corescore_crop-0.png differ diff --git a/preview/97/news/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/fuckload.png b/preview/97/news/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/fuckload.png new file mode 100644 index 000000000..97fc12f27 Binary files /dev/null and b/preview/97/news/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/fuckload.png differ diff --git a/preview/97/news/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/gangof12.png b/preview/97/news/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/gangof12.png new file mode 100644 index 000000000..8479be1e1 Binary files /dev/null and b/preview/97/news/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/gangof12.png differ diff --git a/preview/97/news/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/index.html b/preview/97/news/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/index.html new file mode 100644 index 000000000..e3c975a59 --- /dev/null +++ b/preview/97/news/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/index.html @@ -0,0 +1,373 @@ + + + + + + + + + + + + + + +Goings-on in the FuseSoC Project and Other Open Source Silicon Related News | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

Goings-on in the FuseSoC Project and Other Open Source Silicon Related News

+
+
    +
  • +

    February 23, 2021

    +
  • +
  • +

    22 minutes

    +
  • +
  • +

    4665 words

    +
  • +
+
+
+
+featured-image +
+

This post was originally published by Olof Kindgren

+

FOSSi Fever 2020

+

+

2020 was a year with a lot of bad news and so it feels slightly strange to cheerfully write about a very specific topic in the light of this. But there will always be good and bad things happening in the world. So let’s keep fighting the bad things and for now take look at what happened last year within the amazing world of open source silicon. I will start by mentioning the most significant, but by no means the only, milestones for the FOSSi movement as a whole and then take a more personal look at the work where I have been directly involved.

+

OpenMPW

+

The biggest story within free and open source silicon this year has undoubtly been the openMPW project involving Google, SkyWater Foundries and eFabless together with a number of other collaborators.

+

Ever since I got involved in open source silicon ten years ago, building a fully open source ASIC has been one of those big milestones. While we have had FOSSi IP cores taped out on chips for at least 20 years and parts of the flow being managed by open source tools, it has always seemed to be too much work and requiring filling in too many gaps to have a fully open source end-to-end flow to produce ASICs. But, over the years people all over the world have filled in the gaps and done the work bit by bit. Sometimes in the context of overarching programmes to advance open source silicon, sometimes in academic settings, sometimes coming from the industry and sometimes as completely unpaid hobby projects. And this year all these efforts came together, helped by funding, to produce four shuttle runs, each loaded with 40 different completely open source designs. The first of these runs are currently being fabricated, and it will be extremely interesting to see them coming back.

+

One of the final pieces in this puzzle was the PDK. And while SkyWater should be rightfully lauded for their decicion to open up their 130nm PDK, it begs to ask the question: Why on Earth did it take this long? What could possibly the fabs have to lose by doing this? What they gain is easy to answer, a completely new market of users who can create chips at their fab. According to people within the project, it’s estimated that 75% of the people on the first shuttle define themselves as software engineers. It’s very likely that none of these people would ever dream of making an ASIC without this possibility. So I kind of feel that making the EDA industry open up their formats is a bit like trying to get your kids to eat vegetables. It’s a lot of groaning and complaining, but was it really all that bad in the end to get some nutritions. Or in the case of ASIC fabs, was it really all that horrible to release your PDK to get some more customers? Let’s just hope this opens up the eyes of more fabs. My, and many others, dream is to eventually see the same thing happening to ASIC fabs as has been happening with cheap PCB services over the past ten years. And using that analogy, I’m quite sure it pays off to be early in the race. So, get started folks!

+

QuickLogic and SymbiFlow

+

The other big thing happening this year is that we finally have an FPGA-vendor shipping an open source toolchain for their devices. The company that will go down in the annals of history for being the first to do this is QuickLogic and their EOS S3 FPGA. This is by no means the first FPGA with an open toolchain, and the QuickLogic-flavored version of SymbiFlow developed by FOSSi veterans Antmicro is based on all this prior work. But it is the first time we see a toolchain being created from the FPGA manufacturer’s specifications rather than being figured out from compiled FPGA binaries and it’s the first toolchain that is supported and funded by the vendor rather than being at best tolerated by them. And again I must ask, why did it take so long for this to happen? If I was running a small FPGA startup with limited resources, I can’t for my life understand why I would want to spend a lot of time and money to build and continouosly maintain a big unwieldy toolchain all by myself instead of adding the required device-specific bits to a known good open source toolchain and share the maintenance burden. If nothing else it would free up resources to build other value-add products on top of the tools. It’s like if every vendor of computer systems would first build their own operating system and compiler before shipping their products. This is what we had in the 80s and abandonded it for very good reasons. Because it made absolutely no one happy. And you know what? I think the users of FPGAs should put more effort into pushing their vendors to support open source toolchains, because it will save everyone a heap of time and money.

+

Let me illustrate that last point with an example that actually happened when I was porting SERV to the QuickLogic devices. After synthesis I noticed that it used far more resources than expected. Looking at the synthesis logs I realized the memories in the design weren’t mapped to on-chip SRAM. So I asked the toolchain developers about this. They pointed me to the file in the toolchain that contained the rules for mapping to SRAM. I quickly found a badly tuned parameter, changed it to a more sensible value and ten minutes later it was working fine. An hour later I had submitted a patch back to the toolchain that fixed the problem for everyone else who would encounter it.

+

let’s break this down into numbers. Finding the cause of the bug took about 15 minutes. Fixing it, another five. At that point I could use it myself, but after spending another 15 minutes or so, it was also fixed for everyone else.

+

Now let’s do the same exercise for a proprietary closed source toolchain. Finding the cause of the bug takes… well…it depends… Let me explain.

+

I started my professional career at a company which at that point was the world’s largest FPGA buyer. Whenever we had problems, they flew in two FAEs to sit in our lap, they could provide us with custom internal builds of their tools and generally tried to make sure the problem quickly went away so that we would continue to buy FPGAs from them. However, most companies are not the world’s largest FPGA buyer and does not get this treatment. Instead you will have to wade through layers of support people until you reach someone who is actually qualified enough to acknowledge the issue. I have been in this situation numerous times and would estimate this process usually takes around 2-3 months. Actually fixing the bug probably takes five minutes or so in this case too, but here comes the fun part. In most cases you will now have to wait, I don’t know, a year or so until the fixed bug ends up in a released product that you can download. What happens in practice is that the user tends to find a workaround instead. In the example above, the likely solution would be to instantiate a RAM macro instead of relying on inference. This however doesn’t come for free as it requires finding all the instances where this is a problem, add special handling for this case which results in a larger code base with more options to verify and maintain. This costs time and this costs money. So the moral of this story is that closed source tools are more expensive for everyone involved and users of FPGAs should get better at telling the FPGA vendors that they are done with this closed source nonsense.

+

The QuickFeather. First FPGA board to ship with a FOSSi toolchain +The QuickFeather. First FPGA board to ship with a FOSSi toolchain

+

There are numerous other news and projects that are well worth mentioning, but the above two are milestones that we have been waiting for a long time, so they deserved special attention. And if you want to keep up with the latest happenings in open source silicon, I highly recommend subscribing to the El Correo Libre newsletter which does a fantastic job of providing an overview of what goes on in all corners of the world. So let’s move on to some of my more personal victories that aren’t necessarily mentioned in other people’s year in review.

+

When I am working on and talking about open source silicon I am often wearing many hats because I’m associated with several different organizations. Luckily they are all pretty much aligned on this topic which makes things far easier. But these organizations also have different motives and goals so I would like to mention a few words about them here.

+

Qamcom

+

My dayjob is working for Qamcom Research & Technology and also there it has been more FOSSi work than usual, which I think is a good indication that open source silicon is becoming increasingly more common in chip design in general. The year started off by finishing up some work on SweRVolf together with a couple of my Qamcom colleagues. SweRVolf is a project under CHIPS Alliance, an organization that Qamcom has been part of since 2019 to help improve the state for open source and custom silicon. After that I was pulled into a project for doing climate research with a huge radar system. My task here was to handle sub-nanosecond time synchronization between systems located hundreds of miles from each other, using the White Rabbit system developed at CERN. I was pretty excited about getting to know White Rabbit. The timing section at CERN responsible for the White Rabbit project and associated technologies are household names within open source silicon and have a long history here. I know many of the people working there personally and have great respect for their work. But so far I haven’t had the chance until now to actually get down and dirty with the technology. Once my job was done there I moved on to another proprietary project that I can’t discuss here. I do get to use FuseSoC and Verilator though, so it’s fine 🙂

+

FOSSi Foundation

+

The hat I tend to wear most when topic revolves around open source silicon is my FOSSi Foundation director hat. And despite doing a lot less of the things we normally spend time on, it turns out we did a lot of other great things instead. I will however not go into more detail here, but instead point to the excellent summary done by my FOSSi Foundation colleague Philipp Wagner.

+

RISC-V

+

Arguably the most well-known project nowadays with ties to open source silicon is RISC-V. My RISC-V ties deepened in the beginning of the year when I was asked to become a RISC-V ambassador. Part of being an ambassador is to create awareness of RISC-V in the fields where I’m active. For well-known reasons the number and nature of events were a bit different from previous years which meant fewer opportunities to weild this new-found power, but I did participate in an ask-the-expert session during the RISC-V global forum and a couple of other events that will be described later. And I also got to be interviewed about RISC-V and open source silicon by Sweden’s largest electronics and tech news outlets as well as the Architecnologia blog.

+

Current crop of RISC-V Ambassadors; AKA the Twantasic 12 +Current crop of RISC-V Ambassadors; AKA the Twantasic 12

+

In addition to my day job and participating in different organizations I also run a bunch of open source projects, so let’s take a look at the progress of the most important ones during 2020.

+

SweRVolf

+

SweRVolf is an extendable and portable reference SoC platform for the Western Digital / CHIPS Alliance SweRV cores. SweRVolf is designed for software engineers who wants a turn-key system to evaluate SweRV performance and features, for system designers who want a base platform to build upon and for learners of SoC design, computer architecture, embedded systems or open source silicon methodology. To easily achieve the goals of portability and extendability it is powered by FuseSoC, which just happens to be one of my other open source silicon projects mentioned later on.

+

During 2020 SweRVolf gained support for booting from SPI Flash but most effort was spent on usability, by making it rock-solid, improve documentation, increase compatibility with more EDA tools, keep the underlying cores up-to-date and follow along with changes in the Zephyr operating system, which is the officially supported software platform for SweRVolf.

+

But the biggest thing to happen SweRVolf this year is that SweRVolf will be used as the base of a new university course from Imagination University Programme called RVfpga: Understanding Computer Architecture. I’m very excited (and slightly scared) about soon having thousands of students getting familiar with computer architecture, RISC-V and open source silicon through a SoC that I have designed. And I would like to mention a few things about how SwerRVolf is built because I think it’s a great example of how to create chip designs. When I say that I have designed SweRVolf, most of the work has consisted of putting together various pieces and make sure it works well as a whole. Most of the underlying code has been written by other people, and from my perspective, that is really the most successful aspect of SweRVolf because it highlights the rich open source silicon ecosystem. The main CPU core is from Western Digital and governed by CHIPS Alliance. Most of the AXI infrastructure was developed through the [PULP project](PULP project) at ETH Zürich and University of Bologna. The UART and SPI controllers were developed for the OpenRISC project during the first wave of open source silicon almost 20 years ago. The Wishbone infrastructure was developed by me when I started out with open source silicon ten years ago and the memory controller was created by Enjoy Digital and is written in Migen as part of the Litex ecosystem. And to go full circle, the memory controller uses a tiny RISC-V CPU called SERV internally to aid with calibration. SERV, the world’s smallest RISC-V CPU is written by me. Small world. And of course the whole project is packaged with FuseSoC and uses Verilator by default for simulations, so it’s FOSSi all the way. As I hope you understand by now it’s not about some lone hero churning out code, but instead all this has been made possible by a huge amount of work by a ton of people over many years, and I’m proud to be one of them.

+

SERV

+

Probably the hobby (read unpaid) project I spent most time on during 2020 was SERV, the world’s smallest RISC-V CPU, which turned from small to even smaller during the year. SERV is very much a project driven by numbers, so lets look at some of these numbers.

+

In February I got hold of an ZCU106 development board with a huge Xilinx Ultrascale+ FPGA for a project I was assigned to. As this was the largest FPGA I had ever had in my home I got curious to see how many SERV cores I could squeeze into it. The year before, at the 2019 RISC-V workshop in Zürich, I had done a presentation on how to fit 8 RISC-V cores in a small Lattice iCE40 FPGA (spoiler: it ended up being slightly more than 8 eventually), giving each of them a single I/O to communicate with the outside world. Problem this time was that after stuffing in 360 cores I run out of I/O pins. It would also had been practically impossible to verify that all these external pins actually did what they were supposed to do, so I needed some way of using less than one I/O pin per core. Then it struck me that just a few months earlier I had created a heterogenous sensor aggregation platform based on SERV cores called Observer. The idea with Observer was to connect a lot of sensors to an FPGA, each serviced by its own SERV core and then merge the data to an output stream. I gave up on the platform when I realized that while I could fit a lot of SERV cores into the devices, I just had a few sensors so there wasn’t much data to to aggregate. But this platform was a very good starting point.

+

Block diagram of the Observer platform +Block diagram of the Observer platform

+

By removing all sensor interfaces and just have each core print out an identification message instead I had a system that I could instantiate with any number of cores. Trying this on the ZCU106 I could now run over 600 cores on the FPGA. The next problem then was that I was running out of on-chip RAM way before any of the other FPGA resources. In case you don’t know, most FPGAs contain a number of fixed-size SRAM spread out over the devices, each typically being 1-8kB large. For SERV, each core used one for the RF (register file), and another one for the program/data memory. With RISC-V using 32 32-bit registers, this means that only 128 bytes of the RF RAM is used but since the fixed-size SRAM on FPGAs are typically being far larger than that most of the RAM ends up unused. That’s bad, but I had a plan. With a bit of work I managed to share RF, program and data in the same RAM so that the RF is allocated to the top 128 bytes of the RAM. This freed up half of the on-chip RAM blocks and I could eventually hit 1000 SERV cores on the ZCU106 board. Of course, at this point I was curious to see what the situation was for other boards after all these optimizations. Taking it one step further I figured I should turn this into a real thing by creating a benchmark so that people can have a quick way to see roughly how large the FPGAs are on different boards. And with that ServMark was born.

+

+

ServMark lasted for about three minutes until I realized CoreScore was a much catchier name, so that’s we have now.

+

+

I had originally planned to do a presentation about SERV at Latch-Up in Boston. But for well-known reasons we cancelled all FOSSi Foundation physical events. Instead I accepted an invitation to speak at the First virtual RISC-V Munich meetup. By this point I had attended a couple of virtual meetups and I hated it. It was in most cases awful to watch a narrated slide deck without a stage and a speaker to bring it to life at least a bit. So, I decided to take a fresh look and look at the possibilities instead of being limited by the medium. I decided to make videos instead. First of all, since people would watch on a computer screen with proper resolution instead of a washed-out image projected on canvas. This meant I could have much more detailed pictures and smaller font sizes. I could also freely mix pictures and animations, fine-tune timings, do several takes of the audio and add sound effects. And despite being done by someone who has pretty much zero experience in these sort of things, I think it turned out pretty well. So on the day of the event, I just introduced myself and let the audience indulge in my fully immersive multimedia edutainment experience about SERV. Not sure why the Oscars committee hasn’t got in touch yet.

+

Is CoreScore the only attempt to put a mind-boggling number of RISC-V cores inside chips? Absolutely not, and during the summer I learned of the Manticore project from Florian Zaruba and Fabian Schuiki (jointly known as Flobian Schuba) from ETH Zürich, both well-known names in the FOSSisphere from their work in the PULP ecosystem. Manticore: A 4096-core RISC-V Chiplet Architecture for Ultra-efficient Floating-point Computing had been accepted into the prestigious Hot chips conference. Manticore is an impressive project, but I still thought it was a bit unfair that I wasn’t invited as well. So I reached out for the biggest FPGA board I could find and then wrote my first academic paper of the year called Plenticore: A 4097-core RISC-V SoClet Architecture for Ultra-inefficient Floating-point Computing. Unfortunately I did not recieve an invitation to Hot chips despite this. I assume it must have gotten lost in the mail somewhere.

+

Oh well, let’s look at some more numbers instead.

+
    +
  • A number of optimizations was found over the year which, depending on the measure, further shrank the core 5-10%.
  • +
  • The number of supported FPGA boards for the servant SoC grew from 4 to 17, mostly thanks to other contributors (thanks everyone, love you all!)
  • +
  • The SERV support for the Zephyr operating system was rewritten and upgraded from the aging Zephyr 1.13 to 2.4, the latest version at the time of writing.
  • +
+

SERV resource usage over time on a Lattice iCE40 FPGA +SERV resource usage over time on a Lattice iCE40 FPGA

+

Coming back to CoreScore, the results right now range from 10 cores on a smaller Lattice iCE40 device up to 5087 cores on a large Xilinx device and the high score table can even be [viewed interactively online](https://corescore.store/! If you can’t find your favorite board there, just send a PR and we’ll get it added. And if any people with access to crazy large FPGAs happen to read this, please get in touch with me. I’m very curious to see who will be first to get above 10000 cores.

+

SERV also saw another great improvement in the form of documentation. While not completely there yet, the functionality of most SERV modules have been documented together with detailed schematics showing the implementation down the individual gates, muxes and flip-flops. And most changes to the source are now accompanied by a code comment to clarify what is going on. Since SERV is optimized for size rather than readability, many parts of the core are difficult to figure out by just looking at the source code. Hopefully this will make it easier for other who want to understand or work on the core, but frankly it has also been very useful for me since I tend to forget why I did things in a certain way so I have had to spend a lot of time following my own tracks.

+

Schematic of the SERV control unit from the SERV documentation +Schematic of the SERV control unit from the SERV documentation

+

FuseSoC

+

The oldest of my open source silicon project still going strong is FuseSoC. It is now about to turn ten years old and keeps growing in features and users for each year. Looking back at the changes through 2020 I can see some new trends in the development. The most important one is that for the first year ever, most of the work was not done by me. During 2020, my fellow FOSSi Foundation director and LowRISC employee Philipp Wagner has been pulling the heaviest load of FuseSoC development. And with Philipp came quality. Dr. Wagner has improved FuseSoC in pretty much every aspect. Bugs have been fixed and features has been added. The development experience has been improved by CI testing, automatic code formatting checks and improved testing coverage. And what makes me happiest is that the user experience has been improved not least by a total rewrite of the documentation into something that is actually useful and can be proudly shown to the world. All this is very much needed as FuseSoC is becoming increasingly popular. It has already been picked up by many of the flagship open source silicon projects like OpenTitan, SweRVolf, OpenPiton and with the RVFPGA university programme there will soon be a whole new generation who will get familiar with it as well.

+

Edalize

+

In 2018, the part of FuseSoC that interacted with the EDA tools was spun off into Edalize. The reason was that it was believed this part could be useful for others who weren’t interested in the whole FuseSoC package. This prediction seems to have been correct and Edalize has very much started a life on its own by now. In addition to FuseSoC, Edalize is now used by several other projects such as Silice, Clash and fpga-perf-tool and over the year Edalize has gained support for 7 new EDA tool flows, bringing the total number up to 25.

+

2020 was also the year when Edalize had it’s first taste of being in the spotlight on its own merits. For the Workshop on Open-Source EDA Technology (WOSET) 2020 I decided to submit a presentation about Edalize. Being an academic conference this also prompted me to write an accompanying paper as is the common courtesy for these kind of events. The paper received a lukewarm response but was accepted anyway. Once again I did not feel like reciting slides to a camera so I turned back to my new-found interest in advanced multimedia productions. And it paid off. The Edalize video won an award for best video at WOSET 2020. Well done Edalize!

+

LED to Believe

+

All of the above projects use FuseSoC and Edalize because – well it’s kind of why I created FuseSoC in the first place – to easily reuse components and retarget to different devices. But I also realized there was a need for a dead simple project to help people getting started with FuseSoC – the Hello world of silicon, so to speak. And the Hello World of silicon is of course the blinking LED. So in 2018 I created project LED to Believe with the ambitious goal to create FuseSoC-powered LED blinkers for every FPGA board ever made. The project has several aspects that are useful in different ways. It serves as a very simple introduction to FuseSoC and how to make a design that targets multiple hardware. It is also an excellent pipe cleaner for when you receive a new board. If you can run the project successfully and get the LED to blink, it likely means you have managed to install all the EDA tools correctly which is no small feat, and you also have a template to take on bigger projects. And it’s also fun to see what boards are available out there. While I have submitted a bunch of the board ports myself, the vast majority have come from all the fantastic contributors out there. And during 2020 the number of supported boards grew from 16 to 44. Perhaps not all the FPGA boards ever made, but a considerable chunk of them. And already in the short amount of 2021 that has passed, there have been numerous more contributions so we’re getting closer all the time.

+

In closing, 2020 was a busy year FOSSi-wise. And this has just touched upon the surface of all things that have been happening during the year. And just as we were about to close the books on 2020, I was informed that Lattice had incorporated one of my FOSSi projects into their shiny new award-winning Propel design suite. Which project, you might ask? Was it the similarly award-winning FuseSoC, to give Lattice users immediate access to a rich ecosystem of Open IP cores? Or was it the Rosetta stone of Edalize, with its award-winning video, that would easily provide a coherent interface for a dozen simulators and make it easy to switch between Lattice’s multitude of FPGA tools such as Diamond, icecube2 and Radiant? Or was it SERV itself, the award-winning CPU capable of offering a RISC-V experience for all but their absolutely smallest offerings? Well, actually, none of the above. It turns out that Propel now contains ipyxact, my somewhat feature-limited Python library for working with IP-XACT files. Not my first choice, but fair enough. I wonder if they have read my somewhat complicated relationship with IP-XACT.

+

Finally my work is recognized by big EDA vendors (picture by Gatecat) +Finally my work is recognized by big EDA vendors (picture by Gatecat)

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/observer.png b/preview/97/news/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/observer.png new file mode 100644 index 000000000..2d14238c6 Binary files /dev/null and b/preview/97/news/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/observer.png differ diff --git a/preview/97/news/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/propel.png b/preview/97/news/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/propel.png new file mode 100644 index 000000000..593195551 Binary files /dev/null and b/preview/97/news/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/propel.png differ diff --git a/preview/97/news/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/qorc.jpg b/preview/97/news/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/qorc.jpg new file mode 100644 index 000000000..826a37a30 Binary files /dev/null and b/preview/97/news/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/qorc.jpg differ diff --git a/preview/97/news/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/serv_ctrl_int.png b/preview/97/news/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/serv_ctrl_int.png new file mode 100644 index 000000000..66e524566 Binary files /dev/null and b/preview/97/news/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/serv_ctrl_int.png differ diff --git a/preview/97/news/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/serv_resources_210215.png b/preview/97/news/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/serv_resources_210215.png new file mode 100644 index 000000000..666d0663e Binary files /dev/null and b/preview/97/news/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/serv_resources_210215.png differ diff --git a/preview/97/news/high-throughput-open-source-pcie/high_troughput_PCIE.gif b/preview/97/news/high-throughput-open-source-pcie/high_troughput_PCIE.gif new file mode 100644 index 000000000..abba5c468 Binary files /dev/null and b/preview/97/news/high-throughput-open-source-pcie/high_troughput_PCIE.gif differ diff --git a/preview/97/news/high-throughput-open-source-pcie/index.html b/preview/97/news/high-throughput-open-source-pcie/index.html new file mode 100644 index 000000000..114eecca1 --- /dev/null +++ b/preview/97/news/high-throughput-open-source-pcie/index.html @@ -0,0 +1,317 @@ + + + + + + + + + + + + + + +High-Throughput Open Source PCIe on Xilinx VU19P-Based ASIC Prototyping Platform | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

High-Throughput Open Source PCIe on Xilinx VU19P-Based ASIC Prototyping Platform

+
+
    +
  • +

    February 11, 2021

    +
  • +
  • +

    3 minutes

    +
  • +
  • +

    567 words

    +
  • +
+
+
+
+featured-image +
+

This post was originally published at Antmicro.

+

In our daily work at Antmicro we use FPGAs primarily for their flexibility and parallel data processing capabilities that make them remarkably effective in advanced vision and audio processing systems involving high-speed interfaces such as PCI Express, USB, Ethernet, HDMI, SDI etc. that we develop and integrate as open source, portable building blocks. Many of our customers, however, use FPGAs also in a different context, namely for designing ASICs, which is a highly specialized market that typically involves large FPGAs, proprietary flows and IP. In one such project, we were working with one of the largest FPGAs in production today, the 9-million LUT Xilinx VU19. Being a design with considerable complexity, it needed a high-throughput link between the FPGA and the host PC that could be thoroughly benchmarked, analyzed and optimized for the use case.

+

Implementing PCIe with open source

+

Implementing PCIe is not completely straightforward as you have to synchronize multiple lines of high-speed bi-directional data. If you hit a bug somewhere in your data flow, things get very tricky to debug, especially if you have no ability to inspect and change the source code of the IPs involved. Being active developers of a variety of portable and reusable open source FPGA IP cores, for the project in question we were able to integrate a fully open PCIe interface into the Xilinx VU19-based ASIC prototyping platform using LiteX/LitePCIe, achieving a pretty respectable throughput of 31 Gbits/s on an 8-lane bandwidth. Although the FPGA chip itself is capable of 16-lane bandwidth for transferring data, the proFPGA board used in the setup supports only 8 lanes, but with hardware capable of bigger bandwidth we can achieve even greater throughput if needed. In fact, the repository also contains instructions for a 16-lane capable VU9-based setup – using a popular and not as prohibitively expensive devboard available from after-market- where we could measure as much as 59 Gbits/s.

+

PCIe connection between host PC and VU19

+

Scalable, portable and customizable flows

+

Our ability to rapidly iterate as well as track down and fix bugs in the system we have created for this customer project demonstrates the scalability and portability of the open source-based approach, and is an example of Antmicro’s wider efforts aimed at developing reusable building blocks and introducing improvements to the whole FPGA ecosystem.

+

Open source-licensed IP cores play well with the open source FPGA and ASIC tooling that we are building to enable a faster, collaborative and modular system development workflow – a goal that is shared by CHIPS Alliance, of which we are proud to be a Platinum member. As one of the many examples, we are making great progress in enabling open source synthesis and simulation of complex SystemVerilog-based designs, such as security-focused RISC-V cores like OpenTitan’s Ibex. Some of our other projects focus on open source synthesis and place & route flows, linters, formatters, CI systems, simulation platforms, test suites and more.

+

Flexible system design

+

The PCIe core used in the ASIC prototyping project also works great in sophisticated computer systems we have been building for our customers. The wide array of customizable and licence-free FPGA IPs and SoC generators that we work with allows us to implement specific functionalities in the devices we build and it includes MIPI CSI and other camera interfaces, SDI, HDMI, ISP processing, video codecs, AI and 2D GPU acceleration, I2S, SPDIF, PCIe, USB, Ethernet, DMA, SATA and DRAM controllers.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/how-google-is-applying-machine-learning-to-macro-placement/index.html b/preview/97/news/how-google-is-applying-machine-learning-to-macro-placement/index.html new file mode 100644 index 000000000..f6b2dadcd --- /dev/null +++ b/preview/97/news/how-google-is-applying-machine-learning-to-macro-placement/index.html @@ -0,0 +1,315 @@ + + + + + + + + + + + + + + +How Google is Applying Machine Learning to Macro Placement | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

How Google is Applying Machine Learning to Macro Placement

+
+
    +
  • +

    November 17, 2021

    +
  • +
  • +

    2 minutes

    +
  • +
  • +

    359 words

    +
  • +
+
+
+
+featured-image +
+

CHIPS Alliance’s latest Deep Dive Cafe featured an outstanding talk by a Google physical design engineer, Young-Joon Lee, who has a PhD from Georgia Tech, and has been working on machine learning physical design projects for the past two years.

+

The chip placement problem is a notoriously challenging design problem, and has been explored in the electronic design automation research and development community for years. For those unfamiliar with the problem, it involves finding the optimal placement of physical cells implementing the logical function on a chip image to minimize performance, power, and area of the silicon, which in the end affects the cost of the product. The effort by Google to apply machine learning to the placement problem started as part of the Google Brain effort, which in part focuses on running algorithms at scale on large amounts of data.

+

Deep learning itself started taking off in 2012, with computational needs rapidly increasing every three to four months. Machine learning is particularly applicable to the placement problem as different moves that are tried for training can be fed back to the underlying network as part of reinforcement learning. Models are trained and scale on distributed systems with billions of parameters.

+

In this talk, Young-Joon shared how Google devised a hybrid approach to the placement problem, first placing large macros with reinforcement learning, and then using force directed placement for standard cells. As part of this effort, Google used an open source RISC-V processor called Ariane. The presentation highlighted the quality of results achieved, challenges, and the overall designer productivity that was afforded with the development of this technique. Of note, the recently released TPU v4 was able to be placed within 24 hours by the machine learning approach compared to six to eight weeks by a physical design engineer, achieving 3% shorter wirelengths and 23 more DRC violations.

+

Finally, next steps in the project were discussed as well as how Google is exploring more machine learning techniques to use for other parts of electronic design automation.

+

Watch the presentation below and check out the slides here: Learning To Play the Game of Macro Placement with Deep Reinforcement Learning

+
+ +
+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/ibex-synthesis-and-simulation/Logos.svg b/preview/97/news/ibex-synthesis-and-simulation/Logos.svg new file mode 100644 index 000000000..d78ab58fa --- /dev/null +++ b/preview/97/news/ibex-synthesis-and-simulation/Logos.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/news/ibex-synthesis-and-simulation/Universal-hardware-data-model-outlines.svg b/preview/97/news/ibex-synthesis-and-simulation/Universal-hardware-data-model-outlines.svg new file mode 100644 index 000000000..f63d322f3 --- /dev/null +++ b/preview/97/news/ibex-synthesis-and-simulation/Universal-hardware-data-model-outlines.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/news/ibex-synthesis-and-simulation/index.html b/preview/97/news/ibex-synthesis-and-simulation/index.html new file mode 100644 index 000000000..51e75a696 --- /dev/null +++ b/preview/97/news/ibex-synthesis-and-simulation/index.html @@ -0,0 +1,321 @@ + + + + + + + + + + + + + + +Enabling Open Source Ibex Synthesis and Simulation in Verilator/Yosys via UHDM/Surelog | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

Enabling Open Source Ibex Synthesis and Simulation in Verilator/Yosys via UHDM/Surelog

+
+
    +
  • +

    January 7, 2021

    +
  • +
  • +

    3 minutes

    +
  • +
  • +

    586 words

    +
  • +
+
+
+
+featured-image +
+

This post was originally published at Antmicro.

+

Throughout 2020 we were hard at work developing proper, portable SystemVerilog support for multiple open-source FPGA and ASIC design tools used by us and our customers, most notably Yosys and Verilator. We strongly believe that the support is a necessary step in building a collaborative ecosystem and scalable and reproducible CIs, especially publicly accessible ones that are common in multi-organization projects such as OpenTitan and CHIPS Alliance. Leading the efforts towards achieving this goal, we’ve been developing a fully open source SystemVerilog parsing flow for Yosys and Verilator using UHDM and Surelog, achieving an important milestone: being able to fully parse, synthesize and simulate OpenTitan’s Ibex core directly from the SystemVerilog source.

+

Getting closer to open-source synthesis and simulation

+

In this effort, Antmicro has been gradually covering various SystemVerilog functionalities and real-world implementations, developing support for different open source RISC-V cores and moving closer to a complete open-source synthesis and simulation tools support for Ibex – a small and efficient, 32-bit, RISC-V core used in the OpenTitan project. Originally developed at ETH Zürich as RI5CY, it is now maintained and developed further by lowRISC – a not-for-profit organization promoting collaborative engineering that targets open source silicon designs and tools.

+

+

Open source SystemVerilog test suite

+

What has proved very helpful in this process is the SystemVerilog test suite that we developed last year and continue to maintain together with a broad open source community in order to keep track of the supported and missing SystemVerilog features in a number of Verilog tools. It runs tests dedicated to various tools classes, covering a range of features, from single SV functionalities up to complex designs.

+

Earlier this year, while closely tracking our progress using sv-tests, we have completed a number of milestones such as parsing Ibex in the Yosys synthesis tool directly or enabling SystemVerilog linting in formatting with Google’s Verible SystemVerilog parser and FuseSoC an open source tooling and IP package manager that is easy to integrate with existing workflows. The results of this ongoing work are now being used in several open source silicon projects, most notably OpenTitan. You can find a demo integration on our GitHub as described in dedicated blog note earlier this year.

+

Parsing CPU cores with a higher order tool

+

However, our overarching goal in this space was to enable parsing various complex SystemVerilog designs (with Ibex being the tip of the proverbial iceberg) with higher order tools which could be used as a front-end to multiple other tools, without the necessity to redo the work every time and to maintain SystemVerilog support in multiple tools.

+

+

This can be achieved with UHDM and Surelog – two open source tools originally developed by Alain Marcel. UHDM (Universal Hardware Data Model) is a multi-purpose intermediate library that enables plugging a parser into many different tools, while Surelog is a versatile, comprehensive SystemVerilog parser, pre-processor, elaborator and UHDM compiler.

+

Adding enough coverage of SystemVerilog in UHDM/Surelog to support the Ibex core in two critical open source hardware development tools is an important milestone in Antmicro’s long-running collaboration with Google and Western Digital, both of which are driving the OpenTitan project as well as the FOSSi community, interested in open source simulation, synthesis, place & route and verification of designs of similar or bigger complexity than Ibex. A guide on using the Surelog/UHDM flow to synthesize the Ibex design is available on our GitHub.

+

Open source technologies are bringing a new dimension to FPGA/ASIC development flows. Learn more at antmicro.com.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/improving-the-openlane-asic-build-flow-with-open-source-systemverilog-support/index.html b/preview/97/news/improving-the-openlane-asic-build-flow-with-open-source-systemverilog-support/index.html new file mode 100644 index 000000000..88a382b56 --- /dev/null +++ b/preview/97/news/improving-the-openlane-asic-build-flow-with-open-source-systemverilog-support/index.html @@ -0,0 +1,354 @@ + + + + + + + + + + + + + + +Improving the OpenLane ASIC Build Flow with Open Source SystemVerilog Support | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

Improving the OpenLane ASIC Build Flow with Open Source SystemVerilog Support

+
+
    +
  • +

    October 27, 2021

    +
  • +
  • +

    7 minutes

    +
  • +
  • +

    1409 words

    +
  • +
+
+
+
+featured-image +
+

This post was originally published at Antmicro.

+

Open source toolchains are key to building collaborative ecosystems, welcoming to new approaches, opportunistic/focused innovations and niche use cases. The ASIC design domain, especially in the view of the rising tensions around manufacturing and supply chains, are in dire need of a software-driven innovation based on an open source approach. The fledgling open source hardware ecosystem has been energized by the success of RISC-V and is now being vastly expanded to cover the entire ASIC design flow by CHIPS Alliance, and Antmicro has been playing a leadership role in both of these organizations as well as offering commercial engineering and support services to assist with early adoption of open source approaches in hardware.

+

One of CHIPS Alliance’s projects, the DARPA-funded OpenROAD, has created the necessary tooling to build open source ASIC-oriented flows such as OpenLane and OpenFASoC, becoming one of the central elements of the open ASIC ecosystem. The OpenROAD project, led by prof. Andrew Kahng from University of California San Diego, aims at a fully end-to-end, RTL-GDSII flow, providing accessibility and collaboration options that are often not available for proprietary tools.

+

Antmicro is helping early adopters of OpenROAD-based flows, providing development services improving the tools themselves – such as the open source SystemVerilog support described in this note. Our engineering services involve introducing better, open workflows on the design and implementation level, but also scaling up into the cloud in collaboration with Google Cloud.

+

There has been a lot of progress recently in the practical adoption of open ASIC design workflows, with most of the effort currently focused around the fully open source 130 nm SkyWater PDK for the release of which we collaborated with Google, efabless, SkyWater Technologies and many others. What is perhaps less known is that there have been successful tapeouts based on OpenROAD in more modern processes such as GF12 (and together with our customers we are planning more next year), but of course there is a long way to go until the toolchain can be considered a viable replacement for your latest-gen smartphone SoC design. There are, however, serious advantages in favor of an open source ASIC design flow, and to get there, delivering practical value in useful increments is needed. This is why we are working in CHIPS Alliance on making the flow more useful for practical designs.

+

Why open source tools for ASIC development?

+

The hope for open source ASIC flows like OpenLane is to provide multiple benefits:

+
    +
  • enable new, less conventional approaches
  • +
  • provide more capabilities of vertical integration
  • +
  • encourage more software-driven and AI-assisted workflows
  • +
  • use the infinite scalability of the cloud without worrying about licensing costs
  • +
+

In this early and emerging ecosystem, having a commercial support partner like Antmicro which can be relied on for the tools development is important for success – this lets you focus on your design while we take care of the infrastructure needs. Already now there are many niche use cases which can benefit from employing point open source improvements, and our work in CHIPS aims at broadening the application area of open source ASIC design flows to capture the needs of the broader market and bring the benefits of software innovation to hardware. We offer flexible, scalable engineering services to support our customers every step of the way.

+

Open Source SystemVerilog support in OpenLane

+

OpenLane is an automated RTL to GDSII flow that is composed of several tools such as OpenROAD, Yosys, Magic, Netgen, Fault, CVC, SPEF-Extractor, CU-GR, Klayout and a number of scripts used for design exploration and optimization. This collection of tools performs all steps required in a full ASIC implementation from RTL to GDSII.

+

The flow, depicted below, consists of several highly customizable stages. In the initial stage the RTL source files written in an HDL (Hardware Description Language) are synthesized, technology mapped and analyzed in terms of timing. In the following step the floorplan and power distribution network are prepared for the design placement. Once finished, the design and clock placement is performed followed by global routing. With the physical layout ready in the form of a DEF (Design Exchange Format) file, it’s possible to perform several DRC checks, including Antenna Net or LVS (Layout vs. Schematic), to eventually generate the final GDSII layout file which contains a complete layout description that is now ready to be sent to the foundry.

+

Diagram depicting openlane flow

+

Our latest improvement in the OpenLane open source ASIC build flow is adding a Surelog/UHDM/Yosys flow that enables SystemVerilog synthesis without the necessity of converting the HDL code to Verilog as an intermediate step.

+

Yosys is a highly extensible open source HDL synthesis tool used in the RTL synthesis step of the OpenLane flow. Yosys has extensive Verilog-2005 support, but it needs additional plugins to support other languages such as VHDL or SystemVerilog. Previously, SystemVerilog support was only supported with a proprietary plugin, but Antmicro has been involved in adding the SystemVerilog support to Yosys through recent contributions adding UHDM (Universal Hardware Data Model) frontend which has been described in a separate Blog note. UHDM is a file format for storing hardware designs and at the same time a library able to manipulate this format. Designs written in SystemVerilog can be elaborated to the UHDM format by Surelog, which is a tool that aims to be a fully-featured SystemVerilog 2017 preprocessor, parser and elaborator. In our recent efforts both the Surelog parser library and the UHDM library have been integrated with Yosys which essentially enabled seamless SystemVerilog support.

+

Diagram depicting surelog/uhmd -> yosys

+

This combination of Surelog/UHDM/Yosys is a very practical improvement for the OpenLane ASIC build flow as it enables using it with a number of existing ASIC designs which are often implemented with SystemVerilog (e.g. OpenTitan’s Ibex/Earl Grey (an SoC based on Ibex), OHG’s Core-V, University of Washington’s BlackParrot, CHIPS Alliance’s SWeRV).

+

Together with Google, we are working with relevant communities to prove the feasibility of these designs with our open source flows and the open source SkyWater PDK.

+

Building and testing OpenLane with SystemVerilog support

+

The OpenLane toolchain relies on dockerized tools to implement the flow in practice. This allows the users to focus on building the designs without the necessity of handling complex tools dependencies.

+

In order to add SystemVerilog support to OpenLane, you need to have a Docker container with Yosys with UHDM support. First you will need to install the OpenLane flow files as well as the PDK (Process Design Kit) files.

+
git clone https://github.com/The-OpenROAD-Project/OpenLane.git
+cd OpenLane
+
+make openlane 
+make pdk 
+cd docker_build/
+make build-yosys DOCKER_BUILD_OPTS=--no-cache
+make merge
+

Once the tools are built and containers recreated, you can see the tools in action using this example CI run:

+
export IMAGE_NAME=<docker image name>
+make test
+

Optionally, you can run the OpenLane container in interactive mode and manually run the OpenLane flow script.

+
export IMAGE_NAME=<docker image name>
+make mount
+./flow.tcl -design spm 
+exit
+

The IMAGE_NAME environment variable selects which Docker image will be used. If not set, a default OpenLane image will be fetched from DockerHub. The default image does not implement the Surelog/UHDM/Yosys flow and will, most likely, fail when used with the synthesis scripts from the repository.

+

The Surelog/UHDM flow is very similar to the original (Verilog only) flow, but differs in the way Yosys handles the RTL design. This is because Surelog and UHDM (along with the Yosys UHDM frontend) are packed into a library and loaded into Yosys as a plugin. Loading the plugin is one of the first steps of the synthesis process. Once the plugin is loaded, you can proceed to loading the RTL files and continue with the rest of the flow.

+

Early adoption services for open source in ASIC design

+

At Antmicro, we are providing services to our customers developing custom ASICs on many levels both IP, tools (Yosys, VPR, OpenROAD, Renode etc.) as well as cloud scaling (distant, custom GitHub runners etc.), focusing on interoperability between the many building blocks needed for a complete ASIC design flow.

+

Our collaboration with CHIPS Alliance partners like Google and Western Digital has been spawning many interesting projects which contributed to maturing the open source ecosystem. Our linting and formatting work, used by such projects like OpenTitan and Core-V, recently presented at the CHIPS Alliance Fall Workshop, is a very good example of delivering incremental value with solutions to practical problems. Other projects which enable the blending of old and new methodologies for chip design are the efforts towards UVM support in Verilator or co-simulation in Renode.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/improving-the-openlane-asic-build-flow-with-open-source-systemverilog-support/openlane-flow.png b/preview/97/news/improving-the-openlane-asic-build-flow-with-open-source-systemverilog-support/openlane-flow.png new file mode 100644 index 000000000..e74b068a4 Binary files /dev/null and b/preview/97/news/improving-the-openlane-asic-build-flow-with-open-source-systemverilog-support/openlane-flow.png differ diff --git a/preview/97/news/improving-the-openlane-asic-build-flow-with-open-source-systemverilog-support/surelog-uhdm-yosys-diagram.png b/preview/97/news/improving-the-openlane-asic-build-flow-with-open-source-systemverilog-support/surelog-uhdm-yosys-diagram.png new file mode 100644 index 000000000..9a58d1212 Binary files /dev/null and b/preview/97/news/improving-the-openlane-asic-build-flow-with-open-source-systemverilog-support/surelog-uhdm-yosys-diagram.png differ diff --git a/preview/97/news/index.html b/preview/97/news/index.html new file mode 100644 index 000000000..889bbce18 --- /dev/null +++ b/preview/97/news/index.html @@ -0,0 +1,479 @@ + + + + + + + + + + + + + + +Blog | CHIPS Alliance + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+

Blog

+

+
+
+
+
+
+
+
+
+ + + +
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+
+ +
+
+ +
+ +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/preview/97/news/index.xml b/preview/97/news/index.xml new file mode 100644 index 000000000..f71688864 --- /dev/null +++ b/preview/97/news/index.xml @@ -0,0 +1,71 @@ +Blog on CHIPS Alliancehttps://chipsalliance.org/preview/97/news/Recent content in Blog on CHIPS AllianceHugo -- gohugo.ioen-usFri, 29 Sep 2023 00:00:00 +0000Verilator Model Generation Performance Improvements and Initial Multithreaded Verilation Supporthttps://chipsalliance.org/preview/97/news/verilator-model-generation-performance-improvements-and-initial-multithreaded-verilation-support/Fri, 29 Sep 2023 00:00:00 +0000https://chipsalliance.org/preview/97/news/verilator-model-generation-performance-improvements-and-initial-multithreaded-verilation-support/Verilator can boast the status of one of the most widely used free and open source digital design tools for ASIC and FPGA development. To stay on top of the ever-increasing complexity of ASIC and FPGA devices, as users and contributors, Antmicro, a CHIPS Alliance member and part of the Tools Workgroup, has been actively working on improving the tool and its ecosystem, including adding co-simulation capabilities with Renode, adding support for SystemVerilog UVM testbenches to Verilator, or improving scalability for very large designs.Progress in open source SystemVerilog / UVM support in Verilatorhttps://chipsalliance.org/preview/97/news/progress-in-open-source-systemverilog-uvm-support-in-verilator/Fri, 21 Jul 2023 00:00:00 +0000https://chipsalliance.org/preview/97/news/progress-in-open-source-systemverilog-uvm-support-in-verilator/Verilator is a shining example of a widely-accepted open source tool which provides state-of-the-art results in the ASIC design space. It is commonly used for simulation and testing, but originally, due to the lack of capability to run event-driven simulations, Verilator wasn’t even considered capable of handling UVM (Universal Verification Methodology) testbenches implemented in SystemVerilog which require scheduling and other features notably absent from the tool. For some time now, Antmicro, together with Western Digital, Google and others in the CHIPS Alliance, has been working on enabling fully open source support for SystemVerilog UVM testbenches in Verilator.Open source and CI-driven RTL testing and verification for Caliptra’s RISC-V VeeR corehttps://chipsalliance.org/preview/97/news/open-source-rtl-ci-testing-and-verification-for-caliptra-veer/Tue, 04 Jul 2023 00:00:00 +0000https://chipsalliance.org/preview/97/news/open-source-rtl-ci-testing-and-verification-for-caliptra-veer/As part of CHIPS Alliance’s mission to enable a software-driven approach to silicon, working with Google and other CHIPS members, Antmicro has been developing and improving a growing number of open source tools to enable effective, CI-driven silicon development. +Fully reproducible and scalable workflows based on open source tooling are especially beneficial for efforts spanning across multiple industrial and academic actors such as Caliptra, a Root of Trust project driven by Google, AMD, NVIDIA and Microsoft which recently joined CHIPS in order to host the ongoing development and provide the necessary structure, working environment and support for the reference implementation of the standard, originally hosted by Open Compute Project.Integrating the Language Server Protocol in Veriblehttps://chipsalliance.org/preview/97/news/integrating-language-server-protocol-in-verible/Wed, 12 Apr 2023 00:00:00 +0000https://chipsalliance.org/preview/97/news/integrating-language-server-protocol-in-verible/A more collaborative, open and software driven ASIC design methodology pioneered by the CHIPS Alliance requires an open source tooling stack to enable sharing of workflows, artifacts and fostering a free exchange of insights and improvements. +While internally often using new design methodologies and languages such as Migen, Chisel or XLS, Antmicro is conscious of the fact that a lot of the world’s ASIC development involves SystemVerilog and UVM, and so we are working on bridging traditional and new ASIC development methodologies as described in a recent blog note.CHIPS Alliance Welcomes the Caliptra Open Source Root of Trust Projecthttps://chipsalliance.org/preview/97/news/chips-alliance-welcomes-the-caliptra-open-source-root-of-trust-project/Tue, 13 Dec 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/chips-alliance-welcomes-the-caliptra-open-source-root-of-trust-project/SAN FRANCISCO, December 13, 2022 – CHIPS Alliance, a Linux Foundation project and leading consortium advancing common and open hardware for interfaces, processors and systems, announced that Caliptra, the open source root of trust project founded by technology leaders AMD, Google, Microsoft and NVIDIA, has joined CHIPS Alliance to enable an open, collaborative community-driven approach to hardware security. +Caliptra is a new specification for an open source silicon root of trust (RoT) designed to meet the enhanced security requirements of modern edge and confidential computing workloads.Joint Analog Workgroup / MOS-AK Panel Sessionhttps://chipsalliance.org/preview/97/news/joint-analog-workgroup-mos-ak-panel-session/Mon, 05 Dec 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/joint-analog-workgroup-mos-ak-panel-session/Please join us for a special joint panel webinar session for the CHIPS Alliance Analog Workgroup and MOS-AK Foundation. +This panel will feature speakers with 20 minute talks on the following topic areas: +@Mehdi Saligane : Introduction to the open source EDA tool flow for IC design (with reference to [1]) @Makris Nikolaos : EKV3 in NGSPICE using ADMSXL @Keiter, Eric R : Xyce and its support for commercial (hSpice/spectre) libs/syntax @Tim Edwards : his work on the SkyWater 130 nm compatibility with ngspice @Kevin Cameron : update on the P1800 (SystemVerilog) AMS standardization efforts (public doc [2]) There will be time for Q &amp; A after each talk and conversation after the presentation completion.CHIPS Alliance Fall 2022 Technology Update December 15https://chipsalliance.org/preview/97/news/chips-alliance-fall-2022-technology-update-december-15/Thu, 01 Dec 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/chips-alliance-fall-2022-technology-update-december-15/Please join us on December 15 at 8:30 am PT either in person at Google or virtually for a CHIPS technology update featuring many exciting speakers. Details and registration are here: https://events.linuxfoundation.org/chips-biannual-technology-update/F4PGA open source flow gets a new Python-based build system and CLI toolhttps://chipsalliance.org/preview/97/news/f4pga-open-source-flow-gets-a-new-python-based-build-system-and-cli-tool/Sun, 09 Oct 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/f4pga-open-source-flow-gets-a-new-python-based-build-system-and-cli-tool/One of the most recent projects developed within the workgroup is the unified f4pga CLI tool. In the broader context of our continuous efforts to make the FPGA space more unified and flexible, creating the f4pga CLI tool was a logical next step – it allowed us to wrap the underlying tools into a single CLI, making the F4PGA toolchain a more complete flow. The currently supported architectures are AMD’s (former Xilinx) 7 Series, Lattice’s iCE40 and QuickLogic’s EOS S3.Skywaterhttps://chipsalliance.org/preview/97/news/skywater/Sat, 06 Aug 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/skywater/It’s great to learn that Google announced the expansion of its partnership with SkyWater Technology. They are working together to release an open source process design kit (PDK) for SKY90-FD, SkyWater’s commercial 90nm fully depleted silicon on insulator (FDSOI) CMOS process technology. SKY90-FD is based on MIT Lincoln Laboratory’s 90 nm commercial FDSOI technology, and enables designers to create complex integrated circuits for a diverse range of applications. +You can read more @ https://opensource.Antmicro DDR5 Rowhammer Testing Frameworkhttps://chipsalliance.org/preview/97/news/1212/Fri, 05 Aug 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/1212/CHIPS Alliance is excited by the Antmicro announcement of the extensible, open, Rowhammer testing framework for DDR5. Read a detailed description of their work here: https://antmicro.com/blog/2022/08/extending-the-open-source-rowhammer-testing-framework-to-ddr5/ +Here are some graphics of the work:Catch us at DAC 59 in San Francisco starting July 11https://chipsalliance.org/preview/97/news/catch-us-at-dac-59-in-san-francisco-starting-july-11/Fri, 08 Jul 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/catch-us-at-dac-59-in-san-francisco-starting-july-11/Come learn about open source hardware and CHIPS Alliance at next week’s 59th Design Automation Conference in San Francisco. We will be at kiosk 2344 in the RISC-V pavilion. You can also here out talk at 12:30 Monday in the Open Source Central Theatre (booth 2338). We are also in a DAC Pavilion Panel: Is Democratization of Chip Design Already Happening? at 2:30 on Monday. Look forward to an exciting day in SF!Enhanced System Verilog Support for Yosys via Antmicro plug-inhttps://chipsalliance.org/preview/97/news/enhanced-system-verilog-support-for-yosys-via-antmicro-plug-in/Thu, 30 Jun 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/enhanced-system-verilog-support-for-yosys-via-antmicro-plug-in/CHIPS Alliance is pleased to see the announcement by Antmicro for its development and contribution to the open source hardware community to provide a easy to use plug-in for any version of Yosys to allow import of System Verilog based designs. This development is made possible by the underlying utilization of the Unified Hardware Data Model (UHDM), a key open source data representation upon which EDA applications can be built. Details can be seen here from Antmicro: https://antmicro.Alibaba Cloud Announced Progress in Porting Android Functions onto RISC-Vhttps://chipsalliance.org/preview/97/news/alibaba-cloud-announced-progress-in-porting-android-functions-onto-risc-v/Thu, 21 Apr 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/alibaba-cloud-announced-progress-in-porting-android-functions-onto-risc-v/The company also tops MLPerf Tiny v0.7 Benchmark with its IOT processor +Hangzhou, China, April 20, 2022 – Alibaba Cloud, the digital technologies and intelligence backbone of Alibaba Group, announced it has made further progress in porting basic Android functions onto the RISC-V instruction-set architecture (ISA). This proves the feasibility of using RISC-V based Android devices in scenarios ranging from multimedia to signal processing, device interconnection, and artificial intelligence. +Last year, the company reported it had successfully ported basic functions like chrome browsing in Android 10.CHIPS Alliance Forms F4PGA Workgroup to Accelerate Adoption of Open Source FPGA Toolinghttps://chipsalliance.org/preview/97/news/chips-alliance-forms-f4pga-workgroup-to-accelerate-adoption-of-open-source-fpga-tooling/Fri, 18 Feb 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/chips-alliance-forms-f4pga-workgroup-to-accelerate-adoption-of-open-source-fpga-tooling/New workgroup draws support from industry leaders as the open FPGA toolchain matures +SAN FRANCISCO, Feb. 18, 2022 – CHIPS Alliance, the leading consortium advancing common and open source hardware for interfaces, processors and systems, today established the FOSS Flow For FPGA (F4PGA) Workgroup to drive open source tooling, IP and research efforts for FPGAs. +FPGA vendors such as Xilinx (now part of AMD) and QuickLogic, industrial FPGA users and contributors such as Google and Antmicro, as well as universities including Brigham Young University, University of Pennsylvania, Princeton University and University of Toronto, can now officially collaborate under the umbrella of the newly launched F4PGA Workgroup.CHIPS Alliance Announces Xilinx as its Newest Memberhttps://chipsalliance.org/preview/97/news/xilinx-new-member/Thu, 03 Feb 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/xilinx-new-member/Xilinx to continue to drive forward open source FPGA innovation +SAN FRANCISCO, Feb. 3, 2022 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced that Xilinx, Inc. (NASDAQ: XLNX) has joined the CHIPS Alliance organization. Xilinx is a leader in adaptive computing, providing highly-flexible programmable silicon, enabled by a suite of advanced software and tools to drive rapid innovation across a wide span of industries and technologies – from consumer to cars to the cloud.Towards UVM: Using Coroutines for Low-overhead Dynamic Scheduling in Verilatorhttps://chipsalliance.org/preview/97/news/towards-uvm-using-coroutines/Tue, 01 Feb 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/towards-uvm-using-coroutines/This post was originally published at Antmicro. +Verilator is a popular open source SystemVerilog simulator and one of the key tools in the ASIC and FPGA ecosystem, which Antmicro is actively using and developing, e.g. by enabling co-simulation with Renode or Cocotb integration. It’s also one of the fastest available HDL simulators, including proprietary alternatives. It achieves that speed by generating highly optimized C++ code from a given hardware design. Verilator does a lot of work at compile-time to make the generated (‘verilated’) code extremely fast, such as ordering statements in an optimal way.SATA Design Implementation on FPGAs with Open Source Toolshttps://chipsalliance.org/preview/97/news/sata-design-implementation-on-fpgas-with-open-source-tools/Wed, 05 Jan 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/sata-design-implementation-on-fpgas-with-open-source-tools/This post was originally published at Antmicro. +Real-world FPGAs designs often require high rate transmission protocols such as PCIe, USB and SATA which rely on high speed transceivers for external communication. These protocols are used to interface with various devices such as graphics cards and storage devices, and many of our clients reach out to us specifically because they need the flexibility, high-throughput and low-latency characteristics of FPGAs. +In particular, for customers that deal with high data volumes (which is very common in video applications), implementing SATA to communicate and transfer data with e.Open Source FPGA Platform for Rowhammer Security Testing in the Data Centerhttps://chipsalliance.org/preview/97/news/open-source-fpga-platform-for-rowhammer-security-testing-in-the-data-center/Mon, 03 Jan 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/open-source-fpga-platform-for-rowhammer-security-testing-in-the-data-center/This post was originally published at Antmicro. +Our work together with Google and the world’s research community on detecting and mitigating the Rowhammer problem in DRAM memories has been proving that the challenge is far from being solved and a lot of systems are still vulnerable. The DDR Rowhammer testing framework that we developed together with an open hardware LPDDR4 DRAM tester board has been used to detect new attack methods such as Half-Double and Blacksmith and all data seems to suggest this more such methods will be discovered with time.2021 Annual Reporthttps://chipsalliance.org/preview/97/news/2021-annual-report/Sat, 01 Jan 2022 00:00:00 +0000https://chipsalliance.org/preview/97/news/2021-annual-report/CHIPS Alliance was founded in March 2019 to design high-quality, open source hardware register transfer level (RTL) and develop open source hardware and software design tools. By creating an open and collaborative environment, companies and organizations can develop innovative, cost effective hardware designs optimized for the requirements of today’s silicon devices and FPGAs. +CHIPS Alliance was incorporated by four organizations which wanted to make open source silicon a reality. Esperanto, Google, SiFive and Western Digital were the founding members.Software-driven ASIC Prototyping Using the Open Source SkyWater Shuttlehttps://chipsalliance.org/preview/97/news/software-driven-asic-prototyping-using-the-open-source-skywater-shuttle/Fri, 17 Dec 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/software-driven-asic-prototyping-using-the-open-source-skywater-shuttle/This post was originally published at Antmicro. +The growing cost and complexity of advanced nodes, supply chain issues and demand for silicon independence mean that the ASIC design process is in need of innovation. Antmicro believes the answer to those challenges is bound to come from the software-driven, open source approach which has shaped the Internet and gave rise to modern cloud computing. Applying the methodologies of software design to ASICs is however notoriously viewed as difficult, given the closed nature of many components needed to build chips – tools, IP and process design kits, or PDKs for short, as well as the slow turnaround of manufacturing.Open Source Debayerization Blocks in FPGAhttps://chipsalliance.org/preview/97/news/open-source-debayerization-blocks-in-fpga/Tue, 30 Nov 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/open-source-debayerization-blocks-in-fpga/This post was originally published at Antmicro. +In modern digital camera systems, the captured image undergoes a complex process involving various image signal processing (ISP) techniques to reproduce the observed scene as accurately as possible while preserving bandwidth. On the most basic level, most CCD and CMOS image sensors use the Bayer pattern filter, where 50% of the pixels are green, 25% are red and 25% are blue (corresponding to the increased sensitivity of the human eye to the green color).How Google is Applying Machine Learning to Macro Placementhttps://chipsalliance.org/preview/97/news/how-google-is-applying-machine-learning-to-macro-placement/Wed, 17 Nov 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/how-google-is-applying-machine-learning-to-macro-placement/CHIPS Alliance’s latest Deep Dive Cafe featured an outstanding talk by a Google physical design engineer, Young-Joon Lee, who has a PhD from Georgia Tech, and has been working on machine learning physical design projects for the past two years. +The chip placement problem is a notoriously challenging design problem, and has been explored in the electronic design automation research and development community for years. For those unfamiliar with the problem, it involves finding the optimal placement of physical cells implementing the logical function on a chip image to minimize performance, power, and area of the silicon, which in the end affects the cost of the product.Improving the OpenLane ASIC Build Flow with Open Source SystemVerilog Supporthttps://chipsalliance.org/preview/97/news/improving-the-openlane-asic-build-flow-with-open-source-systemverilog-support/Wed, 27 Oct 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/improving-the-openlane-asic-build-flow-with-open-source-systemverilog-support/This post was originally published at Antmicro. +Open source toolchains are key to building collaborative ecosystems, welcoming to new approaches, opportunistic/focused innovations and niche use cases. The ASIC design domain, especially in the view of the rising tensions around manufacturing and supply chains, are in dire need of a software-driven innovation based on an open source approach. The fledgling open source hardware ecosystem has been energized by the success of RISC-V and is now being vastly expanded to cover the entire ASIC design flow by CHIPS Alliance, and Antmicro has been playing a leadership role in both of these organizations as well as offering commercial engineering and support services to assist with early adoption of open source approaches in hardware.Recap of the Fall 2021 CHIPS Alliance Workshophttps://chipsalliance.org/preview/97/news/recap-of-the-fall-2021-chips-alliance-workshop-rob-mains-chips-alliance/Tue, 26 Oct 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/recap-of-the-fall-2021-chips-alliance-workshop-rob-mains-chips-alliance/We recently held our fall 2021 CHIPS Alliance workshop with nearly 160 attendees present for informative seminars covering a range of topics including porting Android to RISC-V, open source ASIC design and FPGA tooling, and OmniXtend. In case you missed the talks, a replay is available on the CHIPS Alliance YouTube channel. +During the seminar, we had eight exciting technical presentations, including: +Porting Android to RISC-V – Guoyin Chen and Han Mao, Alibaba Practical Adoption of Open Source SystemVerilog Tools – Michael Gielda, Antmicro Chisel and FIRRTL for Next-Generation SoC Designs – Jack Koenig, SiFive OpenFASOC: Automated Open Source Analog and Mixed-Signals IC Generation – Mehdi Saligane, University of Michigan (UMICH) FPGA Tooling Interoperability with the FPGA Interchange Format – Maciej Kurc, Antmicro OmniXtend: Scalability and LPC – Jaco Hofmann, Western Digital Corporation Open Source NVME IP with AI Acceleration – Anand Kulkarni, Western Digital Corporation and Karol Gugala, Antmicro Automating Analog Layout using ALIGN – Sachin Sapatnekar, University of Minnesota (UMN) Each of these talks provided informative, technical details of key aspects of the work underway by members of CHIPS Alliance who are working in an open, collaborative fashion.Open Source DDR Controller Framework for Mitigating Rowhammerhttps://chipsalliance.org/preview/97/news/open-source-ddr-controller-framework-for-mitigating-rowhammer/Tue, 28 Sep 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/open-source-ddr-controller-framework-for-mitigating-rowhammer/This post was originally published at Antmicro. +Rowhammer is a hardware vulnerability that affects DRAM memory chips and can be exploited to modify memory contents, potentially providing root access to the system. It occurs because Dynamic RAM consists of multiple memory cells packed tightly together and specific access patterns can cause unwanted effects that propagate to nearby memory cells and cause bit-flips in cells which have not been accessed by the attacker.Listen to CHIPS Alliance’s Rob Mains on EE Journal’s FishFry Podcasthttps://chipsalliance.org/preview/97/news/listen-to-chips-alliances-rob-mains-on-ee-journals-fishfry-podcast/Fri, 24 Sep 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/listen-to-chips-alliances-rob-mains-on-ee-journals-fishfry-podcast/CHIPS Alliance’s general manager Rob Mains joined Amelia Dalton at EE Journal’s FishFry podcast for a lively discussion about how we’re working to make chip design more accessible. Rob discussed CHIPS Alliance’s work with RISC-V International to develop a new unified memory standard, along with our work to accelerate the design of open source chipsets with the AIB 2.0 specification. The conversation also touched on our efforts to provide better support for SystemVerilog using open source tools and to create a dynamic stratified scheduler implementation in Verilator.SkyWater Technology Joins CHIPS Alliance to Further Efforts to Make Chip Design and Production More Accessiblehttps://chipsalliance.org/preview/97/news/skywater-technology-joins-chips-alliance-to-further-efforts-to-make-chip-design-and-production-more-accessible/Thu, 16 Sep 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/skywater-technology-joins-chips-alliance-to-further-efforts-to-make-chip-design-and-production-more-accessible/SkyWater furthers collaboration with CHIPS Alliance members on open source shuttle projects +SAN FRANCISCO, Sept. 16, 2021 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced that SkyWater Technology (NASDAQ: SKYT) has become a member of the organization. SkyWater provides custom development, volume manufacturing and advanced packaging services for a wide range of silicon, including solutions based on the free and open RISC-V instruction set architecture (ISA).SymbiFlow FPGA Interchange Format to Enable Interoperable FPGA Toolinghttps://chipsalliance.org/preview/97/news/symbiflow-fpga-interchange-format-to-enable-interoperable-fpga-tooling/Thu, 09 Sep 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/symbiflow-fpga-interchange-format-to-enable-interoperable-fpga-tooling/This post was originally published at Antmicro. +Field Programmable Gate Arrays (FPGAs) have been around for several decades, but historically development of toolchains targeting specific platforms was done in separate ecosystems and driven by the vendors themselves. Only in recent years, the development of vendor-neutral open source toolchains has revealed the need of having an abstraction layer to describe and define an FPGA architecture through a standard format. +FPGA toolchains are not trivial as they comprise several elements which themselves can be quite complex: roughly speaking, you can divide the process of “compiling” FPGA-targeted code in a Hardware Description Language (HDL) into three stages: synthesis, place and route, bitstream generation.Automatic SystemVerilog Linting in GitHub Actions with Veriblehttps://chipsalliance.org/preview/97/news/automatic-systemverilog-linting-in-github-actions-with-verible/Wed, 08 Sep 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/automatic-systemverilog-linting-in-github-actions-with-verible/This post was originally published at Antmicro. +With the recent advances in open source ASIC development tools such as Verible, it has become easier to automate tasks and boost developer productivity. The Verible linter is a static code analysis tool that has been helping us and our collaborators to spot and fix stylistic errors and bugs in SystemVerilog code. +CI/CD for smaller backlog and better test reliability As part of our work within the newly established CHIPS Alliance SystemVerilog subgroup, Antmicro has made further steps to facilitate SystemVerilog workflows with Verible, by providing an easy to use Verible Linter GitHub Action.Open Source Custom GitHub Actions Runners with Google Cloud and Terraformhttps://chipsalliance.org/preview/97/news/open-source-custom-github-actions-runners-with-google-cloud-and-terraform/Thu, 02 Sep 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/open-source-custom-github-actions-runners-with-google-cloud-and-terraform/This post was originally published at Antmicro. +In order to fulfill our internal and our customers’ needs, we have developed and successfully deployed an open source custom GitHub Actions runner that allows us to mix the GitHub default and your custom hardware and software. The runner software itself operates within a Google Cloud Platform project, spawns Compute Engine instances and orchestrates the build, providing a number of interesting advantages that were needed in our ASIC and FPGA-related work.Open Source SystemVerilog Tools in ASIC Designhttps://chipsalliance.org/preview/97/news/open-source-systemverilog-tools-in-asic-design/Wed, 04 Aug 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/open-source-systemverilog-tools-in-asic-design/This post was originally published at Antmicro. +Open source hardware is undeniably undergoing a renaissance whose origin can be traced to the establishment of RISC-V Foundation (later redubbed RISC-V International). The open ISA and ecosystem, in which Antmicro participated since the beginning as a Founding member, has sparked many open source CPU implementations but also new tooling, methodologies and trends which allow for more collaborative and software driven design. +Many of those broader open hardware activities have been finding a home in CHIPS Alliance, an open source organization we participate in as a Platinum member alongside Google, Intel, Western Digital, SiFive and others, whose goals explicitly encompass:Advanced Co-simulation with Renode and Verilator: PolarFire SoC and FastVDMAhttps://chipsalliance.org/preview/97/news/renode-and-verilator-polarfire-soc-and-fastvdma/Tue, 20 Jul 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/renode-and-verilator-polarfire-soc-and-fastvdma/This post was originally published at Antmicro. +Co-simulating HDL has been possible in Renode since the 1.7.1 release, but the functionality – critical for hardware/software co-development as well as FPGA use cases – is constantly evolving based on the needs of our customers like Google and Microchip as well as our work in open source groups including CHIPS Alliance and RISC-V International. To quickly recap, by co-simulation we mean a scenario where a part of the system is simulated in Renode but some specific peripheral or subsystem is simulated directly from HDL, e.Progress on Building Open Source Infrastructure for System Veriloghttps://chipsalliance.org/preview/97/news/open-source-infrastructure-for-system-verilog/Tue, 20 Jul 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/open-source-infrastructure-for-system-verilog/SystemVerilog is a rich hardware design description and verification language that is seeing increased usage in industry. In the second Deep Dive Cafe Talk by CHIPS Alliance on July 20, Henner Zeller, who is an software developer with Google, provided an excellent in depth technical talk on building out an open source tooling ecosystem around SystemVerilog to provide a common framework that can be used by both functional simulation applications as well as logic synthesis.What You Need to Know About Verilator Open Source Toolinghttps://chipsalliance.org/preview/97/news/what-you-need-to-know-about-verilator-open-source-tooling/Mon, 19 Jul 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/what-you-need-to-know-about-verilator-open-source-tooling/Verilator is a high performance, open source functional simulator that has gained tremendous popularity in its usage and adoption in the verification of chip design. The ASIC development community has widely embraced Verilator as an effective, often even superior alternative to proprietary solutions, and it is now the standard approach in RISC-V CPU design as the community has worked to provide Verilator simulation capabilities out of the box. CHIPS Alliance and RISC-V leaders Antmicro and Western Digital have been collaborating to make Verilator even more useful for ASIC design purposes, working towards supporting industry-standard verification methods in a completely open source flow.Efabless Launches chipIgnite with SkyWater to Bring Chip Creation to the Masseshttps://chipsalliance.org/preview/97/news/efabless-launches-chipignite/Thu, 20 May 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/efabless-launches-chipignite/Program includes a pre-designed carrier chip and automated open source design flow from Efabless SkyWater’s open source SKY130 process is the first node to be used to fabricate chips for the program Initiative removes access barriers by significantly reducing cost and the need for deep semiconductor experience to design chips Efabless, a community chip creation platform, today announced the launch of its new chipIgnite program to bring chip design and fabrication to the masses and a collaboration with SkyWater Technology for the first node supported in the program.Antmicro’s ARVSOM RISC-V Module Announcedhttps://chipsalliance.org/preview/97/news/antmicros-arvsom-risc-v-module-announced/Fri, 14 May 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/antmicros-arvsom-risc-v-module-announced/This post was originally published at Antmicro. +We are excited to announce the ARVSOM – Antmicro’s fully open source, RISC-V-based system-on-module featuring the StarFive 71×0 SoC. Using the RISC-V architecture, which Antmicro has been heavily involved in since the early days as a Founding Member of RISC-V International, the SoM is going to enable unprecedented openness, reusability and functionality across different verticals. +We are excited to announce the ARVSOM – Antmicro’s fully open source, RISC-V-based system-on-module featuring the StarFive 71×0 SoC.Dynamic Scheduling in Verilator – Milestone Towards Open Source UVMhttps://chipsalliance.org/preview/97/news/dynamic-scheduling-in-verilator/Thu, 13 May 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/dynamic-scheduling-in-verilator/This post was originally published at Antmicro. +UVM is a verification methodology traditionally used in chip design which has historically been missing from the open source landscape of verification-focused tooling. While new, open source approaches to verification have emerged that include the excellent Python-based Cocotb (that we also use and support) maintained by FOSSi Foundation, not everyone can easily adopt it, especially in long-running projects and existing codebases that use a different verification approach.New MPW-TWO Program Will Provide Fabrication For Fully Open Source Projectshttps://chipsalliance.org/preview/97/news/new-mpw-two-program/Thu, 29 Apr 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/new-mpw-two-program/CHIPS Alliance is excited to announce that the hardware development community can submit their open source design projects to Efabless.com for space on their forthcoming shuttle. This opportunity comes after the success of having 40 submissions for the MPW-ONE shuttle; 60% of those designs were submitted by first-time ASIC designers. MPW-TWO is the second Open MPW Shuttle providing fabrication for fully open-source projects using the SkyWater Open Source PDK announced by Google and SkyWater.Modular, Open-source FPGA-based LPDDR4 Test Platformhttps://chipsalliance.org/preview/97/news/modular-open-source-fpga-based-lpddr4-test-platform/Fri, 09 Apr 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/modular-open-source-fpga-based-lpddr4-test-platform/This post was originally published at Antmicro. +The flexibility of FPGAs makes them an excellent choice not only for parallel processing applications but also for research and experimentation in a range of technological areas. +We often provide our customers with flexible R&amp;D platforms that can be easily adapted to changing requirements and new use cases as a result of our practice of using open source hardware, software, FPGA IP and tooling.CHIPS Alliance and RISC-V International Invite the RISC-V Community to Participate in Updating a New Unified Memory Architecture Standardhttps://chipsalliance.org/preview/97/news/risc-v-international-omnixtend-working-group/Wed, 24 Mar 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/risc-v-international-omnixtend-working-group/New joint working group will enhance the OmniXtend Cache Coherency architecture +SAN FRANCISCO, March 24, 2020 – RISC-V International, a non-profit corporation controlled by its members to drive the adoption and implementation of the free and open RISC-V instruction set architecture (ISA), and CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced a joint collaboration to update the OmniXtend Cache Coherency specification and protocol, along with building out developer tools for OmniXtend.GitHub Actions Self-hosted Runners, Build Event Server and Google Cloudhttps://chipsalliance.org/preview/97/news/github-actions-self-hosted-runners-build-event-server-and-google-cloud/Tue, 16 Mar 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/github-actions-self-hosted-runners-build-event-server-and-google-cloud/This post was originally published at Antmicro. +Continuous Integration and smart lifecycle management are key for high-tech product development, which is often a complex and multi-faceted process that requires automation to be efficient and failure-proof. At Antmicro, we’ve been creating various open source cloud and hybrid cloud solutions for our customers, helping them to encapsulate the complexity of their software stack. Lots of those projects cross the hardware/software boundary and involve a mix of open source and proprietary code, which means that fine-grained control of the CI setups are needed to make them work.Goings-on in the FuseSoC Project and Other Open Source Silicon Related Newshttps://chipsalliance.org/preview/97/news/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/Tue, 23 Feb 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/This post was originally published by Olof Kindgren +FOSSi Fever 2020 2020 was a year with a lot of bad news and so it feels slightly strange to cheerfully write about a very specific topic in the light of this. But there will always be good and bad things happening in the world. So let’s keep fighting the bad things and for now take look at what happened last year within the amazing world of open source silicon.CHIPS Alliance Welcomes Antmicro and VeriSilicon to the Platinum Membership Levelhttps://chipsalliance.org/preview/97/news/chips-alliance-welcomes-antmicro-and-verisilicon-to-the-platinum-membership-level/Thu, 11 Feb 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/chips-alliance-welcomes-antmicro-and-verisilicon-to-the-platinum-membership-level/CHIPS Alliance continues to grow with more than 25 companies collaborating on open source hardware and software technologies +SAN FRANCISCO, Feb. 11, 2021 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today welcomed Antmicro and VeriSilicon to the company’s Platinum membership level. Antmicro, one of the initial members of the CHIPS Alliance, has upgraded to the Platinum membership level to reflect its deepening involvement in the organization.High-Throughput Open Source PCIe on Xilinx VU19P-Based ASIC Prototyping Platformhttps://chipsalliance.org/preview/97/news/high-throughput-open-source-pcie/Thu, 11 Feb 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/high-throughput-open-source-pcie/This post was originally published at Antmicro. +In our daily work at Antmicro we use FPGAs primarily for their flexibility and parallel data processing capabilities that make them remarkably effective in advanced vision and audio processing systems involving high-speed interfaces such as PCI Express, USB, Ethernet, HDMI, SDI etc. that we develop and integrate as open source, portable building blocks. Many of our customers, however, use FPGAs also in a different context, namely for designing ASICs, which is a highly specialized market that typically involves large FPGAs, proprietary flows and IP.CHIPS Alliance Brings on Rob Mains as New Executive Directorhttps://chipsalliance.org/preview/97/news/chips-alliance-brings-on-rob-mains-as-new-executive-director/Mon, 08 Feb 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/chips-alliance-brings-on-rob-mains-as-new-executive-director/Industry veteran to lead open hardware consortium democratizing silicon innovation +SAN FRANCISCO, Feb. 8, 2021 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced the appointment of Rob Mains as the organization’s new executive director. +Rob has over 35 years of experience in software engineering and development, with 25 years of experience as an EDA software architect focused on microprocessor design and advanced process node technologies.Enabling Open Source Ibex Synthesis and Simulation in Verilator/Yosys via UHDM/Sureloghttps://chipsalliance.org/preview/97/news/ibex-synthesis-and-simulation/Thu, 07 Jan 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/ibex-synthesis-and-simulation/This post was originally published at Antmicro. +Throughout 2020 we were hard at work developing proper, portable SystemVerilog support for multiple open-source FPGA and ASIC design tools used by us and our customers, most notably Yosys and Verilator. We strongly believe that the support is a necessary step in building a collaborative ecosystem and scalable and reproducible CIs, especially publicly accessible ones that are common in multi-organization projects such as OpenTitan and CHIPS Alliance.2020 Annual Reporthttps://chipsalliance.org/preview/97/news/2020-annual-report/Fri, 01 Jan 2021 00:00:00 +0000https://chipsalliance.org/preview/97/news/2020-annual-report/CHIPS Alliance was founded in March 2019 to design high-quality, open source hardware register transfer level (RTL) and develop open source hardware and software design tools. By creating an open and collaborative environment, companies and organizations can develop innovative, cost effective hardware designs optimized for the requirements of today’s silicon devices and FPGAs. +CHIPS Alliance was incorporated by four organizations which wanted to make open source silicon a reality. Esperanto, Google, SiFive and Western Digital were the founding members.Efabless Joins CHIPS Alliance to Accelerate the Growth of the Open Source Chip Ecosystemhttps://chipsalliance.org/preview/97/news/efabless-joins-chips-alliance-to-accelerate-the-growth-of-the-open-source-chip-ecosystem/Tue, 15 Dec 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/efabless-joins-chips-alliance-to-accelerate-the-growth-of-the-open-source-chip-ecosystem/Efabless to give a talk on the OpenROAD project at the CHIPS Alliance Workshop on Sept. 17 +SAN FRANCISCO, Sept. 15, 2020 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today welcomed Efabless, a crowdsourcing design platform for custom silicon, as its latest member. Efabless is already an active participant in several open source initiatives that the CHIPS Alliance is involved in, including the OpenROAD project and the Open Source Shuttle Program.CHIPS Alliance to Collaborate with RISC-V to Standardize an Open Unified Memory Leveraging OmniXtendhttps://chipsalliance.org/preview/97/news/omnixtend/Tue, 08 Dec 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/omnixtend/CHIPS Alliance to highlight OmniXtend advances at RISC-V Summit +SAN FRANCISCO, Dec. 8, 2020 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced that the organization will highlight OmniXtend advances in a presentation at the RISC-V Summit, taking place virtually from Dec. 8-10, 2020. The CHIPS Alliance plans to work with RISC-V International to standardize an open unified memory coherency bus leveraging OmniXtend to foster innovation for data-centric applications.The CHIPS Alliance Workshop: 10 Talks From Industry Leaders, All For Freehttps://chipsalliance.org/preview/97/news/the-chips-alliance-workshop-overview/Tue, 15 Sep 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/the-chips-alliance-workshop-overview/Mark your calendars! The CHIPS Alliance Workshop is coming up on Thursday, Sept. 17 from 11 a.m. to 2 p.m. PT. This free, virtual event will feature talks from industry leaders including Antmicro, Efabless, Google, Intel, Mentor, Metrics, OpenROAD, QuickLogic, SiFive, UC Berkeley and Western Digital. +The CHIPS Alliance Workshop will fit 10 sessions into three hours for a jam-packed event covering a range of interesting topics in the open source community.CHIPS Alliance Welcomes Mentor as its Newest Memberhttps://chipsalliance.org/preview/97/news/chips-alliance-welcomes-mentor-as-its-newest-member/Mon, 17 Aug 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/chips-alliance-welcomes-mentor-as-its-newest-member/Mentor to present at the virtual CHIPS Alliance Workshop on Sept. 17 +SAN FRANCISCO, Aug. 18, 2020 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced that Mentor, a Siemens business, has joined as its newest member. The CHIPS Alliance has a roster of more than 20 members collaborating to accelerate the creation and deployment of open system-on-chips (SoCs), peripherals and software tools for a wide range of applications.QuickLogic Joins CHIPS Alliance to Expand Open Source FPGA Effortshttps://chipsalliance.org/preview/97/news/quicklogic-joins-chips-alliance-to-expand-open-source-fpga-efforts/Tue, 11 Aug 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/quicklogic-joins-chips-alliance-to-expand-open-source-fpga-efforts/QuickLogic to present at the virtual CHIPS Alliance Workshop on Sept. 17 +SAN FRANCISCO, Aug. 11, 2020 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced that QuickLogic Corporation (NASDAQ: QUIK), a developer of ultra-low power multi-core voice-enabled SoCs, embedded FPGA IP, and Endpoint AI solutions, has joined as its newest member. +“Over the past few years the electronics industry has seen a big shift towards open source hardware and software, and we’re proud to be one of the companies at the forefront of that movement,” said Brian Faith, president and CEO at QuickLogic.CHIPS Alliance Announces AIB 2.0 Draft Specification to Accelerate Design of Open Source Chipletshttps://chipsalliance.org/preview/97/news/aib-2-0-draft-specification/Thu, 16 Jul 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/aib-2-0-draft-specification/AIB reduces design barriers, costs, and leverages generators to ease development of chiplet-based designs +SAN FRANCISCO, July 16, 2020 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced that it has released the Advanced Interface Bus (AIB) version 2.0 draft specification on GitHub. The AIB standard is an open-source, royalty-free PHY-level standard for connecting multiple semiconductor die within the same package. AIB is ideal for designing SoCs, FPGAs, SerDes chiplets, high-performance ADC/DAC chiplets, optical networking chiplets and more.CHIPS SweRV Cores and the Open Tools Ecosystemhttps://chipsalliance.org/preview/97/news/chips-swerv-cores-and-the-open-tools-ecosystem/Fri, 10 Jul 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/chips-swerv-cores-and-the-open-tools-ecosystem/This post was originally published at Antmicro. +Antmicro’s open source work spans all parts of the computing stack, from software and AI, to PCBs, FPGAs and, most recently, custom silicon. We connect those areas with an overarching vision of open source tooling and methodology, and a software-driven approach that allows us to move fast and build future-centric solutions. Our partners and customers, many of whom work with us also in the context of organizations such as CHIPS Alliance and RISC-V, share our approach to developing open systems.Open Source Process Design Kit from Google, SkyWater Technologies and Partners Releasedhttps://chipsalliance.org/preview/97/news/open-source-process-design-kit-from-google-skywater-technologies-and-partners-released/Mon, 29 Jun 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/open-source-process-design-kit-from-google-skywater-technologies-and-partners-released/This post was originally published at Antmicro. +The ASIC design and manufacturing flow has for a long time been dominated by proprietary tools and processes. The growing complexity of chip-building has been reinforcing the claim that “hardware is too hard to be open source”, as the cost and time needed to build an ASIC have kept small, more agile, software-oriented teams and individuals away from the hardware domain. Thus, ASICs have not been able to benefit from the enthusiasm and collaboration which have been fuelling software development for decades now.Semiconductor Engineering: About The SweRV Core EH2https://chipsalliance.org/preview/97/news/semiconductor-engineering-swerv-core-eh2/Thu, 25 Jun 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/semiconductor-engineering-swerv-core-eh2/In mid-May, CHIPS Alliance announced the open sourcing of the SweRV Core EH2 and SweRV Core EL2 designed by Western Digital. These cores, as well as the earlier EH1, are now supported by Codasip’s SweRV Core Support Package which provides all of the components necessary to design, implement, test, and write software for a SweRV Core-based system-on-chip. But what is SweRV Core EH2? +The SweRV Core EH1 was the first to be released through CHIPS Alliance and was a core aimed at high-end embedded applications including Western Digital’s flash controllers and SSDs.QuickLogic Announces Open Reconfigurable Computing Initiativehttps://chipsalliance.org/preview/97/news/quicklogic-announces-open-reconfigurable-computing-initiative/Mon, 22 Jun 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/quicklogic-announces-open-reconfigurable-computing-initiative/Originally issued by QuickLogic, the following press release announces the QORC initiative including the world’s first vendor-supported open FPGA toolchain using SymbiFlow, and describes the contribution of CHIPS Alliance members Antmicro and Google. +QuickLogic Open Reconfigurable Computing (QORC) initiative, developed by Antmicro in collaboration with QuickLogic and Google, broadens access to company’s FPGA technology and eFPGA IP for all embedded systems developers First Programmable Logic Company to Embrace Open Source FPGA Development Tools San Jose, CA – June 16, 2020 – QuickLogic Corporation (NASDAQ: QUIK), a developer of ultra-low power multi-core voice-enabled SoCs, embedded FPGA IP, and Endpoint AI solutions, today announced its ground breaking QORC (QuickLogic Open Reconfigurable Computing) initiative, making it the first programmable logic vendor to actively embrace a fully open source suite of development tools for its FPGA devices and eFPGA technology.A Look Back at the CHIPS Alliance’s Incredible Growthhttps://chipsalliance.org/preview/97/news/chips-alliances-incredible-growth/Mon, 08 Jun 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/chips-alliances-incredible-growth/It’s been just over a year since the CHIPS Alliance was founded with the mission of making open source hardware development more accessible to companies, universities and individuals. We’re working to bring the dynamics of the hugely successful open source software development model into ASIC design, building on the groundwork set by the RISC-V community. Progress over the past year is detailed in our Annual Report. +CHIPS Alliance is focused on expanding on this open hardware vision by:CHIPS Alliance’s Newly Enhanced SweRV Cores Available to All for Freehttps://chipsalliance.org/preview/97/news/newly-enhanced-swerv-cores/Thu, 14 May 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/newly-enhanced-swerv-cores/CHIPS Alliance to host online event to help community innovating with SweRV Core EH2 and EL2 Solutions +SAN FRANCISCO, May 14, 2020 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced new enhancements to the SweRV Core™ EH2 and SweRV Core EL2, developed for the open-source community by Western Digital. Since the introduction of the cores earlier this year, the CHIPS Alliance has worked with its community to exhaustedly validate the cores through a transparent and rigorous process, as well as incorporate a variety of new updates.SystemVerilog Linting and Formatting with FuseSoC – Verible Integrationhttps://chipsalliance.org/preview/97/news/systemverilog-linting-and-formatting-with-fusesoc-verible-integration/Thu, 07 May 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/systemverilog-linting-and-formatting-with-fusesoc-verible-integration/This post was originally published at Antmicro. +Although new ASIC design methodologies and tools such as Chisel are on the rise, most ASIC projects still use SystemVerilog, the support of which in open source tools has traditionally lagged behind. This is unfortunate, as using proprietary alternatives with the CI systems of open source projects is neither scalable due to licensing costs and restrictions nor simple due to the need for license management and obfuscation.Intel joins CHIPS Alliance to promote Advanced Interface Bus (AIB) as an open standardhttps://chipsalliance.org/preview/97/news/intel-joins-chips-alliance-to-promote-advanced-interface-bus-aib-as-an-open-standard/Wed, 22 Jan 2020 00:00:00 +0000https://chipsalliance.org/preview/97/news/intel-joins-chips-alliance-to-promote-advanced-interface-bus-aib-as-an-open-standard/Open development for SOCs gets major boost with new collaboration +SAN FRANCISCO, Jan. 22, 2020 /PRNewswire/ — CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced industry leading chipmaker Intel as it’s newest member. Intel is contributing the Advanced Interface Bus (AIB) to CHIPS Alliance to foster broad adoption. +CHIPS Alliance is hosted by the Linux Foundation to foster a collaborative environment to accelerate the creation and deployment of open SoCs, peripherals and software tools for use in mobile, computing, consumer electronics and Internet of Things (IoT) applications.Open Source USB test suitehttps://chipsalliance.org/preview/97/news/open-source-usb-test-suite/Fri, 06 Dec 2019 00:00:00 +0000https://chipsalliance.org/preview/97/news/open-source-usb-test-suite/Note: the open source test suite will be demonstrated at the CHIPS Alliance booth at the RISC-V Summit 2019 – join us Dec 10-12 in the San Jose Convention Center! +USB is often a daunting topic for developers, and implementing support for it from scratch is a time consuming task. When the expected result is more complicated than a USB-to-serial bridge, the solution would be to either use a hardware transceiver or, especially for older USB standards, use an open source core to implement one directly in the FPGA fabric.CHIPS Alliance announces technical milestones, three new workgroups including Chisel and the 3rd Chisel Community Conferencehttps://chipsalliance.org/preview/97/news/chips-alliance-announces-technical-milestones-three-new-workgroups-including-chisel-and-the-3rd-chisel-community-conference/Thu, 07 Nov 2019 00:00:00 +0000https://chipsalliance.org/preview/97/news/chips-alliance-announces-technical-milestones-three-new-workgroups-including-chisel-and-the-3rd-chisel-community-conference/SAN FRANCISCO, Nov. 7, 2019 — CHIPS Alliance, the leading consortium advancing common, open hardware for interfaces, processors and systems, today announced the creation of Interconnects, Rocket and Chisel workgroups. In addition, a November verification workshop in Munich and a Chisel conference in January will be held giving engineers an opportunity to learn about open source development efforts in CHIPS Alliance. Lastly, the CHIPS Alliance toolchain and cores workgroups have made contributions to open source development tools.CHIPS Alliance growth continues with new members and design workshop this Novemberhttps://chipsalliance.org/preview/97/news/chips-alliance-growth-continues-with-new-members-and-design-workshop-this-november/Tue, 15 Oct 2019 00:00:00 +0000https://chipsalliance.org/preview/97/news/chips-alliance-growth-continues-with-new-members-and-design-workshop-this-november/SAN FRANCISCO, Oct. 15, 2019 /PRNewswire/ — CHIPS Alliance, the leading consortium advancing common, open hardware for interfaces, processors and systems, today announced Codasip GmbH and Munich University of Applied Science have joined the CHIPS Alliance. In addition, on November 14–15, CHIPS Alliance will be joining the university for a workshop on open source design verification. +CHIPS Alliance is a project hosted by the Linux Foundation to foster a collaborative environment to accelerate the creation and deployment of open SoCs, peripherals and software tools for use in mobile, computing, consumer electronics, and Internet of Things (IoT) applications.CHIPS Alliance featured in All About Circuitshttps://chipsalliance.org/preview/97/news/chips-alliance-featured-in-all-about-circuits/Wed, 10 Jul 2019 00:00:00 +0000https://chipsalliance.org/preview/97/news/chips-alliance-featured-in-all-about-circuits/All About Circuits recently featured an interview with Ted Marena, Yunsup Lee, Amir Salek, and Zvonimir Bandic, discussing the formation of the CHIPS Alliance, its relationship to the RISC-V Foundation, the CHIPS Alliance’s open development model, and initial open source contributions. +Read the article.CHIPS Alliance Builds Momentum and Community with Newest Members Imperas Software and Metricshttps://chipsalliance.org/preview/97/news/chips-alliance-builds-momentum-and-community-with-newest-members-imperas-software-and-metrics/Tue, 18 Jun 2019 00:00:00 +0000https://chipsalliance.org/preview/97/news/chips-alliance-builds-momentum-and-community-with-newest-members-imperas-software-and-metrics/Imperas and Metrics joining CHIPS Alliance to help drive the verification of RISC-V Open ISA implementations +SAN FRANCISCO – June 18, 2019 – CHIPS Alliance, the leading consortium advancing common, open hardware for interfaces, processors and systems, today announced Imperas and Metrics are joining the organization and the Verification Working Group. Imperas is an independent provider of processor simulation technology and tools for virtual platforms and analysis tools for multicore SoC software development.Podcast – Embedded Computing Design – Five Minutes With… Zvonimir Bandic, Chairman, Chips Alliancehttps://chipsalliance.org/preview/97/news/podcast-embedded-computing-design-five-minutes-with-zvonimir-bandic-chairman-chips-alliance/Thu, 23 May 2019 00:00:00 +0000https://chipsalliance.org/preview/97/news/podcast-embedded-computing-design-five-minutes-with-zvonimir-bandic-chairman-chips-alliance/Zvonimir Bandic wears lots of hats. He is the Senior Director of Hardware Platforms for Western Digital; he’s a Member of the Board of Directors for the RISC-V Foundation, and he’s the Chairman of the Chips Alliance. It’s that latter capacity that we discussed in this week’s Five Minutes With…discussion. The organization focuses on things like open source hardware, software tools, RTL development, and related topics. They will be holding their inaugural workshop in just a few weeks, so it was timely to understand the purpose of the Alliance.CHIPS Alliance to Reveal Project Details, Strategy and Roadmap at Inaugural Workshop Hosted at Googlehttps://chipsalliance.org/preview/97/news/chips-alliance-to-reveal-project-details-strategy-and-roadmap-at-inaugural-workshop-hosted-at-google/Tue, 07 May 2019 00:00:00 +0000https://chipsalliance.org/preview/97/news/chips-alliance-to-reveal-project-details-strategy-and-roadmap-at-inaugural-workshop-hosted-at-google/SAN FRANCISCO – May 7, 2019 – CHIPS Alliance, the leading consortium advancing common, open hardware for interfaces, processors and systems, today announced it is holding its inaugural workshop on June 19, 2019 at Google at 111 W. Java Drive, Sunnyvale, Calif. +Project details, strategy and roadmaps will be presented by member companies, and attendees will have an opportunity to propose Register Transfer Level (RTL) projects and development flow ideas. The workshop will focus on open source hardware, software tools, RTL development, design verification tools and related topics.Open Hardware Group – CHIPS Alliance – Building Momentum and Community with Newest Member Antmicrohttps://chipsalliance.org/preview/97/news/open-hardware-group-chips-alliance-building-momentum-and-community-with-newest-member-antmicro/Thu, 18 Apr 2019 00:00:00 +0000https://chipsalliance.org/preview/97/news/open-hardware-group-chips-alliance-building-momentum-and-community-with-newest-member-antmicro/Antmicro Joins CHIPS Alliance to develop open source cores, IP blocks and tools for CPUs, RISC-V-based SoCs and peripherals +SAN FRANCISCO – April 18, 2019 – CHIPS Alliance, the leading consortium advancing common, open hardware for interfaces, processors and systems, today announced Antmicro is joining the organization. Antmicro is a software-driven technology company focused on introducing open source into strategic areas of industry, especially edge AI. Announced just last month, the CHIPS Alliance welcomes Antmicro among its initial members Esperanto Technologies, Google, SiFive, and Western Digital.Linux Foundation to Host CHIPS Alliance Project to Propel Industry Innovation Through Open Source CPU Chip and SoC Designhttps://chipsalliance.org/preview/97/news/linux-foundation-to-host-chips-alliance-project-to-propel-industry-innovation-through-open-source-cpu-chip-and-soc-design/Mon, 11 Mar 2019 00:00:00 +0000https://chipsalliance.org/preview/97/news/linux-foundation-to-host-chips-alliance-project-to-propel-industry-innovation-through-open-source-cpu-chip-and-soc-design/New Linux Foundation Project to Foster Flexible, Next-Generation Chip Design for Diverse Data-Centric Applications and Workloads +SAN FRANCISCO – March 11, 2019 – The Linux Foundation, the nonprofit organization enabling mass innovation through open source, today announced its intent to form the CHIPS Alliance project to host and curate high-quality open source code relevant to the design of silicon devices. CHIPS Alliance will foster a collaborative environment that will enable accelerated creation and deployment of more efficient and flexible chip designs for use in mobile, computing, consumer electronics, and Internet of Things (IoT) applications. \ No newline at end of file diff --git a/preview/97/news/integrating-language-server-protocol-in-verible/autoarg.mp4 b/preview/97/news/integrating-language-server-protocol-in-verible/autoarg.mp4 new file mode 100644 index 000000000..e9fa04bbc Binary files /dev/null and b/preview/97/news/integrating-language-server-protocol-in-verible/autoarg.mp4 differ diff --git a/preview/97/news/integrating-language-server-protocol-in-verible/index.html b/preview/97/news/integrating-language-server-protocol-in-verible/index.html new file mode 100644 index 000000000..a1d851564 --- /dev/null +++ b/preview/97/news/integrating-language-server-protocol-in-verible/index.html @@ -0,0 +1,346 @@ + + + + + + + + + + + + + + +Integrating the Language Server Protocol in Verible | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

Integrating the Language Server Protocol in Verible

+
+
    +
  • +

    April 12, 2023

    +
  • +
  • +

    5 minutes

    +
  • +
  • +

    1003 words

    +
  • +
+
+
+
+featured-image +
+

A more collaborative, open and software driven ASIC design methodology pioneered by the CHIPS Alliance requires an open source tooling stack to enable sharing of workflows, artifacts and fostering a free exchange of insights and improvements.

+

While internally often using new design methodologies and languages such as Migen, Chisel or XLS, Antmicro is conscious of the fact that a lot of the world’s ASIC development involves SystemVerilog and UVM, and so we are working on bridging traditional and new ASIC development methodologies as described in a recent blog note.

+

Another notable example of an effort to provide open source tools for a key part of the ASIC flow, the RTL creation itself, is Verible, an open source SystemVerilog toolkit developed by Google in collaboration with Antmicro within the CHIPS Alliance.

+

The Verible project offers a variety of SystemVerilog development tools, including a parser, a linter and a formatter, that together make finding and fixing syntactic and stylistic errors and bugs in SystemVerilog code simpler and faster. Being completely open source, it enables implementation of open CI and massively scalable infrastructure, and since some time it also features a Language Server, which is currently under active development. The capabilities and new features will be described in this note.

+

Language servers overview

+

Modern code editors (both GUI- and command line-driven) offer many useful features: syntax highlighting, autocompletion, inline errors and warnings reporting, quick fixes, code refactoring and formatting, and more. In the past enabling these features required a separate implementation for each editor, usually resulting in multiple plugins with varying levels of coverage. As a result, support for language-related operations in different editors varied greatly, and making it consistently good was a tedious task.

+

The Language Server Protocol (LSP) brought some much-needed standardization to the space, enabling a unified communication method between code editors (or IDEs) and language servers that provide the necessary language features. Since 2016 when the LSP became public and open, many language servers targeting a variety of languages have been created or adapted to follow the standard. Most of the popular editors support LSP, including VS Code (via specific extensions), Vim (via vim-lsp), Emacs (via lsp-mode), Neovim (built-in), Kakoune (via kak-lsp) and Helix (built-in). There are even LSP plugins for IDEs like IntelliJ.

+

We can distinguish three main parts in an LSP setup:

+
    +
  • a workspace, which is the directory containing the files you work with,
  • +
  • an editor, which is able to read and write the files within the workspace,
  • +
  • a language server, usually with only read access to the data.
  • +
+

Diagram depicting communication between an editor and a language server via LSP

+

The editor and the language server are connected via the Language Server Protocol - with a language client on the editor side and a transport & router block on the language server side. Any changes in a file are stored in the text buffer. The editor can ask for diagnostics, symbols, location of definitions, the language server receives updates in the buffer delivered by the editor and analyzes the edited code, as well as the code present in the workspace, and then creates an indexer. This indexer holds all data about the code: available symbols, references, origin of variables etc. but also provides information about other kinds of relationships, e.g. inheritance between classes. This indexer, along with syntax trees coming from parsing the files, provide various services in the language server, such as completion, diagnostics or code action that help with code refactoring.

+

Implementing the LSP in Verible

+

The Verible project offers an impressive list of features, is regularly tested against an ever-growing suite of language compliance tests provided by the SystemVerilog Tester and is in active use by a variety of projects, including the security-oriented OpenTitan initiative. Antmicro has been involved in Verible’s development since its initial open source release and we are now leading the efforts focused on extending the LSP implementation, which has already yielded promising results.

+

Although several SystemVerilog language server implementations existed before, they weren’t as comprehensive as Verible’s. verible-verilog-ls provides the functionalities that come with the Verible command line tools directly in the code editor. These include:

+
    +
  • checking the code against a number of lint rules,
  • +
  • format selection according to the Verible formatting style,
  • +
  • showing high-level structure of modules and functions in the outline tree,
  • +
  • highlighting related symbols on hover,
  • +
  • jumping to definition of the indicated symbol,
  • +
  • AUTO-expansion capabilities.
  • +
+

For more details about Verible’s tools and their capabilities, refer to the project’s documentation.

+

Integration with various code editors

+

verible-verilog-ls implements the standardized Language Server Protocol, which as mentioned before, enables support for editors and IDEs such as VS Code, Vim, Neovim, Emacs, Sublime, Kakoune and Kate. It helps highlight syntax errors or lint violations and, if available, suggests fixes. The specific way of hooking up the language server depends on the editor; as VS Code is one of the most popular code editors and also the original target for the LSP, the example shown below focuses on this editor.

+

VS Code typically adds new features and tools via extensions, in this case the Verible Language Server Extension.

+

A demo of the AUTO-expansion feature in VS Code is shown below:

+ +

You can get the extension by downloading the verible.vsix archive from the release files. Then, run VS Code with the following flag to install the extension:

+
code --install-extension verible.vsix
+

For examples how to hook Verible’s LSP into other applications please refer to the verible-verilog-ls README.

+

Supporting ASIC development with open source tools

+

The Verible language server, as well as the VS Code extension, are being actively developed by Antmicro, Google and the CHIPS Alliance community. Future updates will include, among others, expanding the information available on hover and finding symbol definitions across different files.

+

Verible’s open and comprehensive nature, combined with dedicated GitHub actions and custom, scalable GCP-based GitHub runners, provides a software-driven, scalable solution for working with SystemVerilog codebases. If you’re interested in benefiting from this approach or would like to adapt other open source tools to speed up your ASIC development process, join the CHIPS Alliance Tools working group or reach out at contact@antmicro.com.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/integrating-language-server-protocol-in-verible/lsp-diagram.png b/preview/97/news/integrating-language-server-protocol-in-verible/lsp-diagram.png new file mode 100644 index 000000000..3fe6e1f6f Binary files /dev/null and b/preview/97/news/integrating-language-server-protocol-in-verible/lsp-diagram.png differ diff --git a/preview/97/news/integrating-language-server-protocol-in-verible/lsp-illustration_chips.png b/preview/97/news/integrating-language-server-protocol-in-verible/lsp-illustration_chips.png new file mode 100644 index 000000000..17f9d5276 Binary files /dev/null and b/preview/97/news/integrating-language-server-protocol-in-verible/lsp-illustration_chips.png differ diff --git a/preview/97/news/intel-joins-chips-alliance-to-promote-advanced-interface-bus-aib-as-an-open-standard/index.html b/preview/97/news/intel-joins-chips-alliance-to-promote-advanced-interface-bus-aib-as-an-open-standard/index.html new file mode 100644 index 000000000..d4f7643f2 --- /dev/null +++ b/preview/97/news/intel-joins-chips-alliance-to-promote-advanced-interface-bus-aib-as-an-open-standard/index.html @@ -0,0 +1,320 @@ + + + + + + + + + + + + + + +Intel joins CHIPS Alliance to promote Advanced Interface Bus (AIB) as an open standard | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

Intel joins CHIPS Alliance to promote Advanced Interface Bus (AIB) as an open standard

+
+
    +
  • +

    January 22, 2020

    +
  • +
  • +

    3 minutes

    +
  • +
  • +

    549 words

    +
  • +
+
+
+
+featured-image +
+

Open development for SOCs gets major boost with new collaboration

+

SAN FRANCISCO, Jan. 22, 2020 /PRNewswire/ — CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced industry leading chipmaker Intel as it’s newest member. Intel is contributing the Advanced Interface Bus (AIB) to CHIPS Alliance to foster broad adoption.

+

CHIPS Alliance is hosted by the Linux Foundation to foster a collaborative environment to accelerate the creation and deployment of open SoCs, peripherals and software tools for use in mobile, computing, consumer electronics and Internet of Things (IoT) applications. The CHIPS Alliance project develops high-quality open source Register Transfer Level (RTL) code and software development tools relevant to the design of open source CPUs, SoCs, and complex peripherals for Field Programmable Gate Arrays (FPGAs) and custom silicon.

+

Intel is joining CHIPS Alliance to share the Advanced Interface Bus (AIB) as an open-source, royalty-free PHY-level standard for connecting multiple semiconductor die within the same package. This effort is intended to encourage an industry environment in which silicon IP can be developed using any semiconductor process as a “chiplet,” and easily integrated with other chiplets into a single device to deliver new levels of functionality and optimization. Broader adoption and support for AIB-enabled chiplets will help device developers grow beyond the limits of traditional monolithic semiconductor manufacturing and reduce the cost of development. Working together, Intel and CHIPS Alliance will encourage the growth of an industry ecosystem which engenders more device innovation via heterogeneous integration.

+

The AIB specifications and collateral will be further developed in the Interconnects workgroup. The group will begin work imminently to make new contributions to foster increased innovation and adoption. All AIB technical details will be placed in the CHIPS Alliance github. In addition, Intel will have a seat on the governing board of CHIPS Alliance. Go to www.chipsalliance.org to learn more about the organization or to join the workgroup mailing list.

+

“We couldn’t be more happy to welcome Intel to CHIPS Alliance.” said Dr. Zvonimir Bandić, Chairman, CHIPS Alliance, and senior director of next-generation platforms architecture at Western Digital. “Intel’s selection of CHIPS Alliance for the AIB specifications affirms the leading role that the organization impacts for open source hardware and software development tools. We look forward to faster adoption of AIB as an open source chiplet interface.”

+

About the CHIPS Alliance

+

The CHIPS Alliance is an organization which develops and hosts high-quality, open source hardware code (IP cores), interconnect IP (physical and logical protocols), and open source software development tools for design, verification, and more. The main aim is to provide a barrier-free collaborative environment, to lower the cost of developing IP and tools for hardware development. The CHIPS Alliance is hosted by the Linux Foundation. For more information, visit chipsalliance.org.

+

About the Linux Foundation

+

The Linux Foundation was founded in 2000 and has since become the world’s leading home for collaboration on open source software, open standards, open data, and open hardware. Today, the Foundation is supported by more than 1,000 members and its projects are critical to the world’s infrastructure, including Linux, Kubernetes, Node.js and more. The Linux Foundation focuses on employing best practices and addressing the needs of contributors, users, and solution providers to create sustainable models for open collaboration. For more information, visit linuxfoundation.org.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/joint-analog-workgroup-mos-ak-panel-session/index.html b/preview/97/news/joint-analog-workgroup-mos-ak-panel-session/index.html new file mode 100644 index 000000000..9ff7159be --- /dev/null +++ b/preview/97/news/joint-analog-workgroup-mos-ak-panel-session/index.html @@ -0,0 +1,324 @@ + + + + + + + + + + + + + + +Joint Analog Workgroup / MOS-AK Panel Session | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

Joint Analog Workgroup / MOS-AK Panel Session

+
+
    +
  • +

    December 5, 2022

    +
  • +
  • +

    1 minutes

    +
  • +
  • +

    153 words

    +
  • +
+
+
+
+featured-image +
+

Please join us for a special joint panel webinar session for the CHIPS Alliance Analog Workgroup and MOS-AK Foundation.

+

This panel will feature speakers with 20 minute talks on the following topic areas:

+
    +
  • @Mehdi Saligane : Introduction to the open source EDA tool flow for IC design (with reference to [1])
  • +
  • @Makris Nikolaos : EKV3 in NGSPICE using ADMSXL
  • +
  • @Keiter, Eric R : Xyce and its support for commercial (hSpice/spectre) libs/syntax
  • +
  • @Tim Edwards : his work on the SkyWater 130 nm compatibility with ngspice
  • +
  • @Kevin Cameron : update on the P1800 (SystemVerilog) AMS standardization efforts (public doc [2]) +There will be time for Q & A after each talk and conversation after the presentation completion.
  • +
+

This webinar can be accessed via the following Zoom link, and will be recorded:

+

Dec 7, 2022 12:00 PM Eastern Time (US and Canada)

+

Topic: AWG/MOS-AK Panel Discussion

+

Please click the link below to join the webinar: https://zoom.us/j/93058965332

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/joint-analog-workgroup-mos-ak-panel-session/share.png b/preview/97/news/joint-analog-workgroup-mos-ak-panel-session/share.png new file mode 100644 index 000000000..ca3128843 Binary files /dev/null and b/preview/97/news/joint-analog-workgroup-mos-ak-panel-session/share.png differ diff --git a/preview/97/news/linux-foundation-to-host-chips-alliance-project-to-propel-industry-innovation-through-open-source-cpu-chip-and-soc-design/index.html b/preview/97/news/linux-foundation-to-host-chips-alliance-project-to-propel-industry-innovation-through-open-source-cpu-chip-and-soc-design/index.html new file mode 100644 index 000000000..59d6d3ca9 --- /dev/null +++ b/preview/97/news/linux-foundation-to-host-chips-alliance-project-to-propel-industry-innovation-through-open-source-cpu-chip-and-soc-design/index.html @@ -0,0 +1,339 @@ + + + + + + + + + + + + + + +Linux Foundation to Host CHIPS Alliance Project to Propel Industry Innovation Through Open Source CPU Chip and SoC Design | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

Linux Foundation to Host CHIPS Alliance Project to Propel Industry Innovation Through Open Source CPU Chip and SoC Design

+
+
    +
  • +

    March 11, 2019

    +
  • +
  • +

    5 minutes

    +
  • +
  • +

    1039 words

    +
  • +
+
+
+
+featured-image +
+

New Linux Foundation Project to Foster Flexible, Next-Generation Chip Design for Diverse Data-Centric Applications and Workloads

+

SAN FRANCISCO – March 11, 2019The Linux Foundation, the nonprofit organization enabling mass innovation through open source, today announced its intent to form the CHIPS Alliance project to host and curate high-quality open source code relevant to the design of silicon devices. CHIPS Alliance will foster a collaborative environment that will enable accelerated creation and deployment of more efficient and flexible chip designs for use in mobile, computing, consumer electronics, and Internet of Things (IoT) applications.

+

Early CHIPS Alliance backers include Esperanto Technologies, Google, SiFive and Western Digital, all committed to both open source hardware and continued momentum behind the free and open RISC-V architecture.

+

“The RISC-V community is working to foster open source foundation technologies that will help unlock market innovation to move [artificial intelligence/machine learning and infrastructure composability] forward,” said Eric Burgener, research vice president of IDC’s Infrastructure Systems, Platforms, and Technologies Group, via a recent IDC report.

+

The project will create an independent entity so companies and individuals can collaborate and contribute resources to make open source CPU chip and system-on-a-chip (SoC) design more accessible to the market.

+

“Open collaboration has repeatedly proven to help industries accelerate time to market, achieve long-term maintainability, and create de facto standards,” said Mike Dolan, vice president of strategic programs, the Linux Foundation. “The same collaboration model applies to the hardware in a system, just as it does to software components. We are eager to host the CHIPS Alliance and invite more organizations to join the initiative to help propel collaborative innovation within the CPU and SoC markets.”

+

“As new workloads surface every day, we need new silicon designs in order to optimize processing requirements,” said Martin Fink, interim CEO of RISC-V Foundation and executive vice president and CTO of Western Digital. “Today’s legacy general-purpose architectures are, in some cases, decades old. With the creation of the CHIPS Alliance, we are expecting to fast-track silicon innovation through the open source community.”

+

CHIPS Alliance will follow governance practices consistent with other Linux Foundation projects, which will include a Board of Directors, a Technical Steering Committee, and community contributors who will work collectively to manage the project. Initial plans will focus on establishing a curation process aimed at providing the chip community with access to high-quality, enterprise grade hardware.

+

Planned Contributions

+

Google

+

Google is planning to contribute a Universal Verification Methodology (UVM)-based instruction stream generator environment for RISC-V cores. The environment provides configurable, highly stressful instruction sequences that can verify architectural and micro-architectural corner-cases of designs.

+

Western Digital

+

Western Digital is planning to contribute their high performance, 9-stage, dual issue, 32-bit SweRV Core, together with a test bench, and high-performance SweRV Instruction set simulator. Additional contribution will be specification and early implementations of OmniXtend cache coherence protocol.

+

SiFive

+

SiFive was founded by the inventors of the free and open RISC-V Instruction Set Architecture, who, together with their colleagues at UC Berkeley, developed the first open source RISC-V microprocessors and a new open source hardware description language Chisel. This initial work at UC Berkeley also developed the RocketChip SoC generator, including the initial version of the TileLink coherent interconnect fabric.

+

SiFive remains committed to maintaining and improving the RocketChip SoC generator and the TileLink interconnect fabric in opensource as a member of the CHIPS Alliance, and contributing to Chisel and the FIRRTL intermediate representation specification and transformation toolkit. SiFive will also contribute and maintain Diplomacy, the SoC parameter negotiation framework.

+

To learn more about CHIPS Alliance, please visit www.chipsalliance.org.

+

Supporting Quotes

+

Esperanto Technologies

+

“Intellectual property for VLSI chip designs ought to be able to reap similar benefits as open source software has for years. We hope that the CHIPS Alliance will be a catalyst where all hardware designers feel comfortable both contributing and finding useful designs for their projects,” said Dave Ditzel, founder and CEO of Esperanto Technologies, Inc.

+

Google

+

“We are entering a new golden age of computer architecture highlighted by accelerators, rapid hardware development and open source architecture and implementations. Google is committed to fostering an open community of collaboration and innovation in both hardware and software,” said Dr. Amir Salek, senior director, Technical Infrastructure, Google Cloud. “TheCHIPS Alliance will provide the support and framework needed to nurture a vibrant open source hardware ecosystem for high-quality, well-verified and documented components to accelerate and simplify chip design.”

+

SiFive

+

“Semiconductor design starts have evaporated due to the skyrocketing cost of building a custom SoC,” said Dr. Yunsup Lee, co-founder and CTO, SiFive. “A healthy, vibrant semiconductor industry needs a significant number of design starts, and the CHIPS Alliance will fill this need. SiFive is excited to continue to work on and contribute to the RocketChip SoC generator, TileLink, Chisel, and FIRRTL projects as we push the boundaries of open source innovation.”

+

Western Digital

+

“The data-centric universe continues to grow and expand in ways many of us never imagined,” said Dr. Zvonimir Bandic, senior director of next generation platforms architecture at Western Digital, a co-founder of RISC-V as well as CHIPS Alliance. “The CHIPS Alliance will provide access to an open source silicon solution that can democratize key memory and storage interfaces and enable revolutionary new data centric architectures. It paves the way for a new generation of compute devices and intelligent accelerators that are close to the memory and can transform how data is moved, shared, and consumed across a wide range of applications. By extending Western Digital’s commitment to the RISC-V architecture and instruction set, and teaming up with fellow industry leaders to form the CHIPS Alliance, we make another important stride forward toward unlocking the true potential of the data.”

+

About the Linux Foundation

+

Founded in 2000, the Linux Foundation is supported by more than 1,000 members and is the world’s leading home for collaboration on open source software, open standards, open data, and open hardware. Linux Foundation’s projects are critical to the world’s infrastructure including Linux, Kubernetes, Node.js, and more. The Linux Foundation’s methodology focuses on leveraging best practices and addressing the needs of contributors, users and solution providers to create sustainable models for open collaboration. For more information, please visit us at linuxfoundation.org.

+

Media Contact

+

Jill Lovato
+The Linux Foundation
+jlovato@linuxfoundation.org

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/listen-to-chips-alliances-rob-mains-on-ee-journals-fishfry-podcast/index.html b/preview/97/news/listen-to-chips-alliances-rob-mains-on-ee-journals-fishfry-podcast/index.html new file mode 100644 index 000000000..34849d449 --- /dev/null +++ b/preview/97/news/listen-to-chips-alliances-rob-mains-on-ee-journals-fishfry-podcast/index.html @@ -0,0 +1,305 @@ + + + + + + + + + + + + + + +Listen to CHIPS Alliance’s Rob Mains on EE Journal’s FishFry Podcast | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

Listen to CHIPS Alliance’s Rob Mains on EE Journal’s FishFry Podcast

+
+
    +
  • +

    September 24, 2021

    +
  • +
  • +

    1 minutes

    +
  • +
  • +

    99 words

    +
  • +
+
+
+
+featured-image +
+

CHIPS Alliance’s general manager Rob Mains joined Amelia Dalton at EE Journal’s FishFry podcast for a lively discussion about how we’re working to make chip design more accessible. Rob discussed CHIPS Alliance’s work with RISC-V International to develop a new unified memory standard, along with our work to accelerate the design of open source chipsets with the AIB 2.0 specification. The conversation also touched on our efforts to provide better support for SystemVerilog using open source tools and to create a dynamic stratified scheduler implementation in Verilator.

+

Check out the podcast here. The conversation with Rob starts at 7:03.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/modular-open-source-fpga-based-lpddr4-test-platform/LPDDR4_module_front.jpg b/preview/97/news/modular-open-source-fpga-based-lpddr4-test-platform/LPDDR4_module_front.jpg new file mode 100644 index 000000000..290dfe9ce Binary files /dev/null and b/preview/97/news/modular-open-source-fpga-based-lpddr4-test-platform/LPDDR4_module_front.jpg differ diff --git a/preview/97/news/modular-open-source-fpga-based-lpddr4-test-platform/LPDDR4_test_board_front.jpg b/preview/97/news/modular-open-source-fpga-based-lpddr4-test-platform/LPDDR4_test_board_front.jpg new file mode 100644 index 000000000..c24c6db99 Binary files /dev/null and b/preview/97/news/modular-open-source-fpga-based-lpddr4-test-platform/LPDDR4_test_board_front.jpg differ diff --git a/preview/97/news/modular-open-source-fpga-based-lpddr4-test-platform/index.html b/preview/97/news/modular-open-source-fpga-based-lpddr4-test-platform/index.html new file mode 100644 index 000000000..4189489d5 --- /dev/null +++ b/preview/97/news/modular-open-source-fpga-based-lpddr4-test-platform/index.html @@ -0,0 +1,329 @@ + + + + + + + + + + + + + + +Modular, Open-source FPGA-based LPDDR4 Test Platform | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

Modular, Open-source FPGA-based LPDDR4 Test Platform

+
+
    +
  • +

    April 9, 2021

    +
  • +
  • +

    3 minutes

    +
  • +
  • +

    484 words

    +
  • +
+
+
+
+featured-image +
+

This post was originally published at Antmicro.

+

The flexibility of FPGAs makes them an excellent choice not only for parallel processing applications but also for research and experimentation in a range of technological areas.

+

We often provide our customers with flexible R&D platforms that can be easily adapted to changing requirements and new use cases as a result of our practice of using open source hardware, software, FPGA IP and tooling.

+

As an example of such activity, we have recently been contracted to develop a hardware test platform for experimenting with memory controllers and measuring vulnerability of various LPDDR4 memory chips to the Row hammer attack and similar exploits.

+

LPDDR4 test platform

+

Modular and cost-optimized

+

Targeting high-volume customer-facing devices where size, power use and unit cost are a priority, LPDDR4 does not come in the form of modules, while the hardware tools and software frameworks for testing it can be prohibitively expensive. +Despite efforts to mitigate the Row hammer exploit, a number number of memories available on the market remain vulnerable to the problem, which calls for a test platform that would allow experimenting with memory chips and memory controllers to devise new mitigation techniques.

+

Another issue is that preexisting work mostly relies on proprietary memory controllers which cannot be adapted to specific memory access patterns that trigger Row hammer.

+

To address this need, we have created a fully open source flow including Enjoy Digital’s open source memory controller LiteDRAM for which we implemented LPDDR4 support, to enable testing LPDDR4 memory chips.

+

What our customer needed was a flexible platform for developing security measures that would be cost-optimized for high volume production.

+

To accomplish that we’ve built a modular device that consists of the main test board and a series of easily swappable testbeds for different memory types, the first of which is already available on our GitHub.

+

What is more, thanks to being open source, the platform enables various research teams to combine efforts and work collaboratively on coming up with new attacks and mitigations, as well as fully reproduce the results of the work.

+

LPDDR4 test module

+

Experimenting reliably on a robust platform

+

The platform is based on Xilinx Kintex-7 FPGA and it features several I/O options: HDMI, which can be used for processing video data and experimenting with streaming and HDMI preview applications featuring RAM, USB for uploading your bitstream or debugging, as well as an SD card slot and GbE.

+

There is also additional 64MB of on-board HyperRAM that enables safe experimentation with interchangeable RAM chips under extreme conditions.

+

With Antmicro’s commercial development services the platform can be customized to meet your specific requirements, while the open source character of the solutions we use gives you full control over the product and vendor independence.

+

We help our customers build complicated FPGA solutions, embrace the dynamically growing open source tooling ecosystem and develop various technologies that allow developers to work more efficiently across the whole FPGA spectrum.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/new-mpw-two-program/index.html b/preview/97/news/new-mpw-two-program/index.html new file mode 100644 index 000000000..fbef7c824 --- /dev/null +++ b/preview/97/news/new-mpw-two-program/index.html @@ -0,0 +1,310 @@ + + + + + + + + + + + + + + +New MPW-TWO Program Will Provide Fabrication For Fully Open Source Projects | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

New MPW-TWO Program Will Provide Fabrication For Fully Open Source Projects

+
+
    +
  • +

    April 29, 2021

    +
  • +
  • +

    Rob Mains, General Manager of CHIPS Alliance

    +
  • +
  • +

    1 minutes

    +
  • +
  • +

    173 words

    +
  • +
+
+
+
+featured-image +
+

CHIPS Alliance is excited to announce that the hardware development community can submit their open source design projects to Efabless.com for space on their forthcoming shuttle. This opportunity comes after the success of having 40 submissions for the MPW-ONE shuttle; 60% of those designs were submitted by first-time ASIC designers. MPW-TWO is the second Open MPW Shuttle providing fabrication for fully open-source projects using the SkyWater Open Source PDK announced by Google and SkyWater.

+

The shuttle gives designers the freedom to innovate without having to worry about the risks associated with the cost of fabrication. This is a great opportunity for individuals, universities, and industry to create their own IP and have it manufactured.

+

The deadline for submission is June 18. Submissions must be open source designs and leverage open source tooling such as OpenROAD, OpenLane and other EDA applications that Efabless.com has at its design portal. Read more about the project requirements and submit here: https://efabless.com/open_shuttle_program/2.

+

I look forward to seeing the community’s contributions for this generous offering from Efabless.com and Google.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/newly-enhanced-swerv-cores/index.html b/preview/97/news/newly-enhanced-swerv-cores/index.html new file mode 100644 index 000000000..ae79613d2 --- /dev/null +++ b/preview/97/news/newly-enhanced-swerv-cores/index.html @@ -0,0 +1,318 @@ + + + + + + + + + + + + + + +CHIPS Alliance’s Newly Enhanced SweRV Cores Available to All for Free | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

CHIPS Alliance’s Newly Enhanced SweRV Cores Available to All for Free

+
+
    +
  • +

    May 14, 2020

    +
  • +
  • +

    3 minutes

    +
  • +
  • +

    454 words

    +
  • +
+
+
+
+featured-image +
+

CHIPS Alliance to host online event to help community innovating with SweRV Core EH2 and EL2 Solutions

+

SAN FRANCISCO, May 14, 2020 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced new enhancements to the SweRV Core™ EH2 and SweRV Core EL2, developed for the open-source community by Western Digital. Since the introduction of the cores earlier this year, the CHIPS Alliance has worked with its community to exhaustedly validate the cores through a transparent and rigorous process, as well as incorporate a variety of new updates.

+

The SweRV Core EH2, the world’s first dual-threaded, commercial, embedded RISC-V core, is designed for embedded devices supporting data-intensive edge, artificial intelligence (AI) and Internet of Things (IoT) applications. SweRV Core EL2 is an ultra-small, ultra-low-power RISC-V core optimized for applications such as state-machine sequencers and waveform generators. The newly updated cores are now available to everyone for free.

+

CHIPS Alliance will host an online event to discuss the SweRV Core EH2 and EL2, along with the available software support and solutions for programmers on May 20, 2020 at 5:30 p.m. PT. The event will feature talks from representatives of Antmicro, CHIPS Alliance, Codasip, Metrics and Western Digital.

+

“Our work to help bring the newly enhanced SweRV Core EL2 and EH2 to the open hardware community demonstrates key progress towards our goal of accelerating RISC-V innovation. We’ve already seen significant industry interest in the SweRV Core EH1 and are pleased to offer two compelling additional options to engineers designing IoT, consumer, mobile and other embedded applications,” said Dr. Zvonimir Bandić, Chairman, CHIPS Alliance.

+

To register for the CHIPS Alliance virtual event on May 20, please visit: https://zoom.us/webinar/register/WN_fbjiN5uvSuGbGdWUGlI65g.

+

To learn more about the SweRV Cores, please visit: https://github.com/chipsalliance/Cores-SweRV.

+

About the CHIPS Alliance

+

The CHIPS Alliance is an organization which develops and hosts high-quality, open source hardware code (IP cores), interconnect IP (physical and logical protocols), and open source software development tools for design, verification, and more. The main aim is to provide a barrier-free collaborative environment, to lower the cost of developing IP and tools for hardware development. The CHIPS Alliance is hosted by the Linux Foundation. For more information, visit chipsalliance.org.

+

About the Linux Foundation

+

The Linux Foundation was founded in 2000 and has since become the world’s leading home for collaboration on open source software, open standards, open data, and open hardware. Today, the Foundation is supported by more than 1,000 members and its projects are critical to the world’s infrastructure, including Linux, Kubernetes, Node.js and more. The Linux Foundation focuses on employing best practices and addressing the needs of contributors, users, and solution providers to create sustainable models for open collaboration. For more information, visit linuxfoundation.org.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/omnixtend/index.html b/preview/97/news/omnixtend/index.html new file mode 100644 index 000000000..da8ff7b07 --- /dev/null +++ b/preview/97/news/omnixtend/index.html @@ -0,0 +1,320 @@ + + + + + + + + + + + + + + +CHIPS Alliance to Collaborate with RISC-V to Standardize an Open Unified Memory Leveraging OmniXtend | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

CHIPS Alliance to Collaborate with RISC-V to Standardize an Open Unified Memory Leveraging OmniXtend

+
+
    +
  • +

    December 8, 2020

    +
  • +
  • +

    4 minutes

    +
  • +
  • +

    717 words

    +
  • +
+
+
+
+featured-image +
+

CHIPS Alliance to highlight OmniXtend advances at RISC-V Summit

+

SAN FRANCISCO, Dec. 8, 2020 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced that the organization will highlight OmniXtend advances in a presentation at the RISC-V Summit, taking place virtually from Dec. 8-10, 2020. The CHIPS Alliance plans to work with RISC-V International to standardize an open unified memory coherency bus leveraging OmniXtend to foster innovation for data-centric applications.

+

“As RISC-V is increasingly being considered for high end data center and enterprise applications, there is a need for seamless cache-coherent sharing memory systems,” said Dr. Zvonimir Bandić, Chairman, CHIPS Alliance, and senior director of next-generation platforms architecture at Western Digital. “CHIPS Alliance is cooperating with RISC-V to standardize on a unified memory fabric and leverage OmniXtend, which allows heterogenous systems that use TileLink cache-coherence protocol to share the memory coherently. We see a unique opportunity because RISC-V is freely open, while other architectures don’t open up the coherency bus, with RISC-V we can create an open unified memory standard to accelerate innovation for data-centric, heterogeneous applications.”

+

Said Mark Himelstein, CTO at RISC-V International: “ISAs do not stand alone. RISC-V needs a robust ecosystem and the OmniXtend roadmap will enable RISC-V members to create systems that deliver coherent, robust and performant solutions spanning the memory and storage hierarchies.”

+

Dr. Bandić will be presenting the session “OmniXtend: Open Source Cache-coherence over Ethernet” on Wednesday, Dec. 9 at 12:30 p.m. PT. The session will discuss OmniXtend, a cache-coherency protocol architecture that exports Tilelink cache-coherence messages on the top of L2 ethernet frames. The presentation will report the results of four RISC-V nodes, each running four independent RISC-V harts, connecting via commercial ethernet switch, and establishing a ccNUMA (cache coherent non-uniform memory access) architecture. The session will also highlight a detailed study of local and non-local (i.e. going through ethernet switch) cache access latencies, and propose several software models for OmniXtend-backed architectures.

+

Omnixtend will also be discussed in another session at the RISC-V Summit, “Building Cache-coherent Scaleout Systems with Omnixtend” with Atish Patra and Tu Dang at Western Digital on Tuesday, Dec. 8 at 3:30 p.m. PT. Atish and Tu will discuss how to provide the necessary support for OmniXtend to build a scalable system with thousands of nodes, since designing, verifying and deploying these scale-out systems in hardware is time consuming. The session will cover a two-fold approach to build and accelerate the development of OmniXtend scale-out systems: an initialization and configuration protocol defining a simple yet race-free approach to setting up multiple OmniXtend nodes during boot, and a software simulation/emulation framework which implements the OmniXtend protocol and an Omnixtend system emulation using Qemu.

+

The RISC-V Summit will also feature a keynote about the open ecosystem of modern tools, frameworks and platforms that are creating a seamless environment for developers to build advanced ML applications on RISC-V. The session, “Building an Open Edge Machine Learning Ecosystem with RISC-V, Zephyr, TensorFlow Lite Micro and Renode,” will take place on Tuesday, Dec. 8 at 10 a.m. PT and will be moderated by Michael Gielda at Antmicro and feature Tim Ansell at Google, Kate Stewart at the Zephyr Project and Brian Faith at QuickLogic.

+

To learn more about the RISC-V Summit, please visit: https://tmt.knect365.com/risc-v-summit/.

+

To register for the RISC-V Summit, please visit: https://riscv.informatech.com/2020/registrations/Attendee.

+

About the CHIPS Alliance

+

The CHIPS Alliance is an organization which develops and hosts high-quality, open source hardware code (IP cores), interconnect IP (physical and logical protocols), and open source software development tools for design, verification, and more. The main aim is to provide a barrier-free collaborative environment, to lower the cost of developing IP and tools for hardware development. The CHIPS Alliance is hosted by the Linux Foundation. For more information, visit chipsalliance.org.

+

About the Linux Foundation

+

The Linux Foundation was founded in 2000 and has since become the world’s leading home for collaboration on open source software, open standards, open data, and open hardware. Today, the Foundation is supported by more than 1,000 members and its projects are critical to the world’s infrastructure, including Linux, Kubernetes, Node.js and more. The Linux Foundation focuses on employing best practices and addressing the needs of contributors, users, and solution providers to create sustainable models for open collaboration. For more information, visit linuxfoundation.org.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/open-hardware-group-chips-alliance-building-momentum-and-community-with-newest-member-antmicro/index.html b/preview/97/news/open-hardware-group-chips-alliance-building-momentum-and-community-with-newest-member-antmicro/index.html new file mode 100644 index 000000000..cbadd6c62 --- /dev/null +++ b/preview/97/news/open-hardware-group-chips-alliance-building-momentum-and-community-with-newest-member-antmicro/index.html @@ -0,0 +1,321 @@ + + + + + + + + + + + + + + +Open Hardware Group – CHIPS Alliance – Building Momentum and Community with Newest Member Antmicro | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

Open Hardware Group – CHIPS Alliance – Building Momentum and Community with Newest Member Antmicro

+
+
    +
  • +

    April 18, 2019

    +
  • +
  • +

    3 minutes

    +
  • +
  • +

    520 words

    +
  • +
+
+
+
+featured-image +
+

Antmicro Joins CHIPS Alliance to develop open source cores, IP blocks and tools for CPUs, RISC-V-based SoCs and peripherals

+

SAN FRANCISCO – April 18, 2019 – CHIPS Alliance, the leading consortium advancing common, open hardware for interfaces, processors and systems, today announced Antmicro is joining the organization. Antmicro is a software-driven technology company focused on introducing open source into strategic areas of industry, especially edge AI. Announced just last month, the CHIPS Alliance welcomes Antmicro among its initial members Esperanto Technologies, Google, SiFive, and Western Digital.

+

CHIPS Alliance is a project hosted by the Linux Foundation to foster a collaborative environment to accelerate the creation and deployment of more efficient and flexible CPUs, SoCs, and peripherals for use in mobile, computing, consumer electronics, and Internet of Things (IoT) applications. The CHIPS Alliance project hosts and curates high-quality open source Register Transfer Level (RTL) code relevant to the design of open source CPUs, RISC-V-based SoCs, and complex peripherals for Field Programmable Gate Arrays (FPGAs) and custom silicon. Members are committed to both open source hardware and continued momentum behind the free and open RISC-V architecture.

+

“The RISC-V Foundation directs the standards and promotes the adoption of the open and free Instruction Set Architecture. This enables organizations to innovate for the next generation of hardware development. CHIPS Alliance is a natural extension for companies and universities who want to collaborate and create RTL based on RISC-V and related peripherals,” said Calista Redmond, CEO of the RISC-V Foundation.

+

“Antmicro believes in open source collaboration around portable, extendible and vendor-neutral technologies, which we consider a strong foundation for transparent, shared development processes based on good practices. We’re joining CHIPS Alliance because it is the conduit through which we can all realize the vision of open source RTL designs for silicon and FPGAs,” said Peter Gielda, CEO of Antmicro.

+

The CHIPS Alliance community includes technology developers and contributors supported by a Board of Directors and a Technical Steering Committee. Its initial plans focus on establishing a curation process aimed at providing the FPGA and chip community access to high-quality, enterprise grade hardware.

+

About Antmicro

+

Antmicro (www.antmicro.com) is a software-driven tech company developing advanced open source-based cyber-physical and edge AI systems. Antmicro provides open software, hardware, tooling, new development methodologies and applied R&D to customers worldwide, accelerating new product development and adoption of modern computing platforms, both CPU/ASIC, GPU and FPGA-based. A Platinum Founding Member of the RISC-V Foundation, Antmicro supports, uses, contributes to and helps promote a broad range of open source technologies such as RISC‑V, Renode, Tensorflow, Zephyr, Linux and Android.

+

About The Linux Foundation

+

Founded in 2000, the Linux Foundation is supported by more than 1,000 members and is the world’s leading home for collaboration on open source software, open standards, open data, and open hardware. Linux Foundation’s projects are critical to the world’s infrastructure, including Linux, Kubernetes, Node.js and more. The Linux Foundation’s methodology focuses on leveraging best practices and addressing the needs of contributors, users, and solution providers to create sustainable models for open collaboration. For more information, please visit us at linuxfoundation.org.

+

Media Contacts

+

Jill Lovato
+The Linux Foundation
+jlovato@linuxfoundation.org

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/open-source-custom-github-actions-runners-with-google-cloud-and-terraform/custom-runners-gcp-terraform-screenshot1.png b/preview/97/news/open-source-custom-github-actions-runners-with-google-cloud-and-terraform/custom-runners-gcp-terraform-screenshot1.png new file mode 100644 index 000000000..24c04d5b4 Binary files /dev/null and b/preview/97/news/open-source-custom-github-actions-runners-with-google-cloud-and-terraform/custom-runners-gcp-terraform-screenshot1.png differ diff --git a/preview/97/news/open-source-custom-github-actions-runners-with-google-cloud-and-terraform/custom-runners-gcp-terraform-screenshot2.png b/preview/97/news/open-source-custom-github-actions-runners-with-google-cloud-and-terraform/custom-runners-gcp-terraform-screenshot2.png new file mode 100644 index 000000000..d932b9fce Binary files /dev/null and b/preview/97/news/open-source-custom-github-actions-runners-with-google-cloud-and-terraform/custom-runners-gcp-terraform-screenshot2.png differ diff --git a/preview/97/news/open-source-custom-github-actions-runners-with-google-cloud-and-terraform/gcp-custom-runners.svg b/preview/97/news/open-source-custom-github-actions-runners-with-google-cloud-and-terraform/gcp-custom-runners.svg new file mode 100644 index 000000000..d6173a7c3 --- /dev/null +++ b/preview/97/news/open-source-custom-github-actions-runners-with-google-cloud-and-terraform/gcp-custom-runners.svg @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/preview/97/news/open-source-custom-github-actions-runners-with-google-cloud-and-terraform/index.html b/preview/97/news/open-source-custom-github-actions-runners-with-google-cloud-and-terraform/index.html new file mode 100644 index 000000000..c2b3428df --- /dev/null +++ b/preview/97/news/open-source-custom-github-actions-runners-with-google-cloud-and-terraform/index.html @@ -0,0 +1,328 @@ + + + + + + + + + + + + + + +Open Source Custom GitHub Actions Runners with Google Cloud and Terraform | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

Open Source Custom GitHub Actions Runners with Google Cloud and Terraform

+
+
    +
  • +

    September 2, 2021

    +
  • +
  • +

    5 minutes

    +
  • +
  • +

    886 words

    +
  • +
+
+
+
+featured-image +
+

This post was originally published at Antmicro.

+

In order to fulfill our internal and our customers’ needs, we have developed and successfully deployed an open source custom GitHub Actions runner that allows us to mix the GitHub default and your custom hardware and software. The runner software itself operates within a Google Cloud Platform project, spawns Compute Engine instances and orchestrates the build, providing a number of interesting advantages that were needed in our ASIC and FPGA-related work. As is typical for us, we have released all the necessary components as open source – read on to learn how the solution works, the benefits it offers and how to build and deploy this software in your organization (which we can also help with as part of our commercial support and engineering services).

+

As we continue our push for more software-driven hardware development as part of our work within CHIPS Alliance and RISC-V, we see an increasing need for scalable and flexible CI solutions that can be used with a mix of open source and proprietary components. By building on top of existing infrastructure such as GCP, GH Actions and Terraform, it’s possible to achieve noticeable performance gains, better traceability and runtime isolation for some of the advanced use cases we are helping our customers tackle (we have highlighted some of those aspects previously in a blog note earlier this year).

+

Architecture and scalability

+

By default, the software leverages virtual infrastructure created within a GCP project in order to perform builds, consisting of a coordinator instance (which receives jobs from GitHub backend and reports back progress), a virtual subnetwork and dynamically spawned worker instances.

+

custom runners in GPC architecture diagrams

+

In order to reduce the cognitive strain and encapsulate complexity, we’ve prepared a Terraform module that can be used to provision these necessary components easily and make it possible to store the configuration of individual coordinators according to the principles of Infrastructure as Code.

+

Once provisioned and configured, the coordinator is able to spawn instances of any type available within Google Compute Engine. In projects where cost optimizations are a necessity, it is possible to configure the coordinator to spawn preemptible instances.

+

The setup is flexible enough that you can self-host it in your internal infrastructure and connect custom hardware such as FPGA platforms to the coordinator machine, which will then spawn per-job virtual machines with hardware attached using a pass-through mechanism. This capability makes it possible to build automated hardware in the loop testing platforms – something we see as an increasingly useful feature especially given the growing portfolio of our server-oriented platforms like Scalenode and the FPGA-based DC-SCM.

+

Antmicro Scalenode platform with Artix-7 boards connected

+

Additional insights into the build capabilities

+

When creating increasingly complex CI pipelines, we also need a better overview of the builds we are performing. In order to address this requirement, our runner introduces a couple of changes that at the first glance might seem minor, but contribute to a significant improvement in readability.

+

Firstly, in the build logs, each line of output is prefixed with a green or red-colored timestamp, depending on whether the output is coming from standard output or standard error. As a measure to augment the output of Bash scripts, lines that come out as a result of the “set -x” option are highlighted as well, providing a yet another visual cue for the reader.

+

Another important improvement is related to performance analysis and resource usage. To get more insight into our complex and often resource-heavy builds (related to the fact that activities such as place and route or physical layout may take many hours if not days to complete), each worker collects a performance graph using sargraph that can be later retrieved using the upload-artifact action.

+

This kind of rich context for our CI infrastructure is a necessity for our work related to e.g. to the FPGA interchange format or dynamic scheduling in Verilator whose goals are to enable radical improvements in FPGA and ASIC design. We are doing this by visiting previously unexplored avenues and encouraging a broad collaboration with the research community, customers and partners to achieve a step function progress in areas which are only now starting to experience the explosion of creativity related to new open source and software-driven approaches.

+

custom runners in GPC screenshot

+

Apart from supercharging the logs with visual metadata, we’ve addressed the issue of log storage. Google’s BES and ResultStore APIs lend themselves to this use case, allowing the upload of rich metadata associated with the builds and providing a pretty front-end for viewing the logs. Thanks to that, we have an alternative place where logs, artifacts and the aforementioned performance graphs can be stored and viewed independently of GitHub. An example of how this works can be seen in the SymbiFlow examples repository by clicking on any tick associated with a commit and scrolling down to the bottom. This functionality was implemented using our open source distant-bes and distant-rs libraries.

+

custom runners in GPC screenshot

+

Cloud-assisted ASIC design

+

The ongoing effort to enable cloud-assisted ASIC design as well as new development methodologies for FPGAs is bound to accelerate going forward, given the high interest among our customers and groups such as CHIPS Alliance.

+

We always look forward to projects with partners who want to make full use of modern (and open) tooling and environments which, with knowledge and experience, we’re confident to modify for better, scalable and vendor-neutral system development.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/open-source-custom-github-actions-runners-with-google-cloud-and-terraform/scalenode-fpga.png b/preview/97/news/open-source-custom-github-actions-runners-with-google-cloud-and-terraform/scalenode-fpga.png new file mode 100644 index 000000000..cf1513be3 Binary files /dev/null and b/preview/97/news/open-source-custom-github-actions-runners-with-google-cloud-and-terraform/scalenode-fpga.png differ diff --git a/preview/97/news/open-source-ddr-controller-framework-for-mitigating-rowhammer/LPDDR4_test_board_whitebackground.jpg b/preview/97/news/open-source-ddr-controller-framework-for-mitigating-rowhammer/LPDDR4_test_board_whitebackground.jpg new file mode 100644 index 000000000..3d2084418 Binary files /dev/null and b/preview/97/news/open-source-ddr-controller-framework-for-mitigating-rowhammer/LPDDR4_test_board_whitebackground.jpg differ diff --git a/preview/97/news/open-source-ddr-controller-framework-for-mitigating-rowhammer/index.html b/preview/97/news/open-source-ddr-controller-framework-for-mitigating-rowhammer/index.html new file mode 100644 index 000000000..f38a53656 --- /dev/null +++ b/preview/97/news/open-source-ddr-controller-framework-for-mitigating-rowhammer/index.html @@ -0,0 +1,335 @@ + + + + + + + + + + + + + + +Open Source DDR Controller Framework for Mitigating Rowhammer | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

Open Source DDR Controller Framework for Mitigating Rowhammer

+
+
    +
  • +

    September 28, 2021

    +
  • +
  • +

    8 minutes

    +
  • +
  • +

    1553 words

    +
  • +
+
+
+
+featured-image +
+

This post was originally published at Antmicro.

+

Rowhammer is a hardware vulnerability that affects DRAM memory chips and can be exploited to modify memory contents, potentially providing root access to the system. It occurs because Dynamic RAM consists of multiple memory cells packed tightly together and specific access patterns can cause unwanted effects that propagate to nearby memory cells and cause bit-flips in cells which have not been accessed by the attacker.

+

The problem has been known for several years, but as shown by most recent research from Google performed with the open source platform Antmicro developed that we’ll describe in this note, it has yet to be completely solved. The tendency in DRAM manufacturing is to make the chips denser to pack more memory in the same size which inevitably results in increased interdependency between memory cells, making Rowhammer an ongoing problem.

+

Rowhammer attack diagram

+

Solutions like TRR (Target Row Refresh) introduced in newer memory chips help mitigate the issue, although usually only in part – and new attack methods like Half-Double or TRRespass keep emerging. To go beyond the all-too-often used “security through obscurity” approach, Antmicro has been helping build open source platforms which give security researchers full control over the entire technology stack, and enables them to find new solutions to emerging threats.

+

The Rowhammer Tester platform

+

The Rowhammer Tester platform was developed for and with Google, who just like Antmicro believe that open source, well documented technical infrastructure is critical in speeding up research and increasing collaboration with the industry. In this case, we wanted to enable the memory security researchers as well manufacturers to have access to a flexible platform for experimenting with new types of attacks and finding better Rowhammer mitigation techniques.

+

Current Rowhammer test methods involve using the chip-specific MBIST (Memory Built-in Self-Test) or costly ATE (Automated Test Equipment), which means that the existing approaches are either costly, inflexible or both. MBIST are specialized IP cores that test memory chips for errors. Although effective, they lack flexibility in terms of changing testing algorithms hardcoded into the IP core. ATEs devices are usually used at foundries to run various tests on wafers. Access to these devices is quite limited and expensive therefore chip vendors have to rely on DFT (Design for Test) software to produce compressed test patterns which require less access time to ATE while ensuring high test coverage.

+

The main goal of the project was to address those limitations, providing an FPGA-based Rowhammer testing platform that enables full control over the commands sent to the DRAM chip. This is important because DRAM memory requires specialized hardware controllers and any software-based testing approaches have to communicate with the DRAM indirectly via the controller, which pulls the researchers away from the main research subject when studying the DRAM chip behaviour itself.

+

Platform architecture

+

Rowhammer test platform architecture diagram

+

The Rowhammer Tester consists of two parts: the FPGA gateware that is loaded to the hardware platform and a set of Python scripts used to communicate with the FPGA system from the user’s PC. Internally all the important modules of the FPGA system are connected to a shared WishBone bus. We use an EtherBone bridge to be able to interface with the FPGA WishBone bus from the host PC. [EtherBone] +(https://ohwr.org/project/etherbone-core/wikis/home) is a protocol that allows to perform regular WishBone transactions over Ethernet. This way we can perform all of the communication between the user PC and the FPGA efficiently through an Ethernet cable.

+

The FPGA gateware has 3 main parts: a Bulk transfer module, a Payload Executor and the LiteDRAM controller along with a VexRiscv CPU. The Bulk transfer module provides an efficient way of filling and testing the whole memory contents. It supports user-configurable access and data patterns, using high-performance DMA to make use of full bandwidth offered by the LiteDRAM controller. When using the Bulk transfer module, LiteDRAM handles all the required DRAM logic, including row activation, refreshing, etc. and ensuring that all DRAM timings are met.

+

In case when more fine-grained control is required, our Rowhammer Tester provides the Payload Executor module. Payload Executor can be thought of as a simple processor that can execute our custom instruction set. Most of the instructions map directly to DRAM commands, with minimal control flow provided by the LOOP instruction. A user can compile a “program” and load it to Rowhammer Tester’s instruction SRAM, which will be then executed. To execute a program, Payload Executor will disconnect the LiteDRAM controller and send the requested command sequences directly to the DRAM chip via the PHY’s DFI interface. After execution the LiteDRAM controller gets reconnected and the contents of the memory can be inspected to search for potential bit-flips.

+

In our platform we use LiteDRAM which is an open-source controller that we have been using in multiple different projects. It is part of the wider LiteX ecosystem, which is also a very popular choice for many of our FPGA projects. The controller supports different memory types (SDR, DDR, DDR2, DDR3, DDR4, …), as well as many FPGA platforms (Lattice ECP5, Xilinx Series 6, 7, UltraScale, UltraScale+, …). Because it is an open source FPGA IP core, we have complete control over its internals. That means two things: firstly, we were able to easily integrate it with the rest of our system and contribute back to improve LiteDRAM itself. Secondly and perhaps even more importantly, the controller can be modified by groups focused on researching new memory attacking methods in order to expose existing vulnerabilities. The results of such experiments should essentially motivate vendors to work on mitigating the uncovered flaws rather than rely on the “security by obscurity” based approach.

+

Our Rowhammer Tester is fully open source. We provide an extensive set of Python scripts for controlling the board, performing rowhammer attacks and harvesting the results. For more complex testing you can use the so-called Playbook, which is a framework that allows to describe complex testing scenarios using JSON files, providing some predefined attack configurations.

+

Antmicro is actively collaborating with Google and memory makers to help study the Rowhammer vulnerability, contributing to standardization efforts under the JEDEC initiative. The platform has already been used to a lot of success in state-of-the-art Rowhammer research (like the case of finding a new type of Rowhammer attack called Half-Double, as mentioned in the opening paragraph).

+

New DRAM PHYs

+

Initially our Rowhammer Tester targeted two easily available and price-optimized boards: Digilent Arty (DDR3, Xilinx Series7 FPGA) and Xilinx ZCU104 (DDR4, Xilinx UltraScale+ FPGA). They were a good starting point, as DDR3 and DDR4 PHYs for these boards were already supported by LiteDRAM. After the initial version of the Rowhammer Tester was ready and tested on these boards, proving the validity of the concept, the next step was to cover more memory types, some of which find their way into many devices that we interact with on a daily basis.

+

A natural target was the LPDDR4 DRAM – a relatively new type of memory designed for low-power operation with throughputs up to 3200 MT/s. For this end, we designed our dedicated LPDDR4 Test Board, which has already been covered in a previous blog note.

+

LPDDR4 test platform

+

The design is quite interesting because we decided to put the LPDDR4 memory chips on a module, which is against the usual practice of putting LPDDR4 directly on the PCB, as close as possible to the CPU/FPGA to minimize traces impedance. The reason was trivial – we needed the platform to be able to test many memory types interchangeably without having to desolder and resolder parts, using complicated interposers or other niche techniques – the platform is supposed to be open and approachable to all.

+

Alongside the hardware platform we had to develop a new LPDDR4 PHY IP as LiteDRAM didn’t have support for LPDDR4 at that time, resolving challenges related to the differences between LPDDR4 and previously supported DRAM types, such as new training modes. After a phase of verification and testing on our hardware, the newly implemented PHY has been contributed back to LiteDRAM.

+

What’s next?

+

The project does not stop there; we are already working on an LPDDR5 PHY for next-gen low power memory support. This latest low-power memory standard published by JEDEC poses some new and interesting challenges including a new clocking architecture and operation on an even lower voltage. As of today LPDDR5 chips are still hardly available on the market as a bleeding-edge technology, but we are continuing our work to prepare LPDDR5 support for our future hardware platform in simulation using custom and vendor provided simulation models.

+

The fact that our platform has already been successfully used to demonstrate new types of Rowhammer attacks proves that open source test platforms can make a difference, and we are happy to see a growing collaborative ecosystem around the project in a joint effort to ensure that we find robust and transparent mitigation techniques for all variants of Rowhammer for the foreseeable future.

+

Ultimately, our work with the Rowhammer Tester platform shows that by using open source, vendor-neutral IP, tools and hardware, we can create better platforms for more effective research and product development. In the future, building on the success of the FPGA version, our work as part of the CHIPS Alliance will most likely lead to demonstrating the LiteDRAM controller in ASIC form, unlocking even more performance based on the same robust platform.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/open-source-ddr-controller-framework-for-mitigating-rowhammer/row-hammer-tester-platform.png b/preview/97/news/open-source-ddr-controller-framework-for-mitigating-rowhammer/row-hammer-tester-platform.png new file mode 100644 index 000000000..cfe20eb5f Binary files /dev/null and b/preview/97/news/open-source-ddr-controller-framework-for-mitigating-rowhammer/row-hammer-tester-platform.png differ diff --git a/preview/97/news/open-source-ddr-controller-framework-for-mitigating-rowhammer/rowhammer-attack-diagram.jpg b/preview/97/news/open-source-ddr-controller-framework-for-mitigating-rowhammer/rowhammer-attack-diagram.jpg new file mode 100644 index 000000000..281bba550 Binary files /dev/null and b/preview/97/news/open-source-ddr-controller-framework-for-mitigating-rowhammer/rowhammer-attack-diagram.jpg differ diff --git a/preview/97/news/open-source-debayerization-blocks-in-fpga/debayering-diagram.svg b/preview/97/news/open-source-debayerization-blocks-in-fpga/debayering-diagram.svg new file mode 100644 index 000000000..517f86a99 --- /dev/null +++ b/preview/97/news/open-source-debayerization-blocks-in-fpga/debayering-diagram.svg @@ -0,0 +1,454 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/preview/97/news/open-source-debayerization-blocks-in-fpga/demosaicing-wrapper-diagram.svg b/preview/97/news/open-source-debayerization-blocks-in-fpga/demosaicing-wrapper-diagram.svg new file mode 100644 index 000000000..fc57ecf59 --- /dev/null +++ b/preview/97/news/open-source-debayerization-blocks-in-fpga/demosaicing-wrapper-diagram.svg @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/preview/97/news/open-source-debayerization-blocks-in-fpga/index.html b/preview/97/news/open-source-debayerization-blocks-in-fpga/index.html new file mode 100644 index 000000000..f05c52f73 --- /dev/null +++ b/preview/97/news/open-source-debayerization-blocks-in-fpga/index.html @@ -0,0 +1,325 @@ + + + + + + + + + + + + + + +Open Source Debayerization Blocks in FPGA | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

Open Source Debayerization Blocks in FPGA

+
+
    +
  • +

    November 30, 2021

    +
  • +
  • +

    3 minutes

    +
  • +
  • +

    573 words

    +
  • +
+
+
+
+featured-image +
+

This post was originally published at Antmicro.

+

In modern digital camera systems, the captured image undergoes a complex process involving various image signal processing (ISP) techniques to reproduce the observed scene as accurately as possible while preserving bandwidth. On the most basic level, most CCD and CMOS image sensors use the Bayer pattern filter, where 50% of the pixels are green, 25% are red and 25% are blue (corresponding to the increased sensitivity of the human eye to the green color). Demosaicing, also known as debayering, is an important part of any ISP pipeline whereby an algorithm reconstructs the missing RGB components/channels of each pixel by performing interpolation of the values collected for individual pixels.

+

Diagram depicting debayerization process

+

The rapid development of FPGA technologies has made it possible to use advanced ISP algorithms in FPGAs even for high-res, multi-camera arrays, which is great news for resource-constrained real-time applications where image quality is essential. In our R&D work, we are developing reusable open source building blocks for various I/O and data processing purposes that can be used as a starting point for customer projects which need to be bootstrapped quickly, and those include IP cores for debayerization.

+

Open source debayerization

+

As part of a recent project, we implemented and tested an open source FPGA-based demosaicing system that converts raw data obtained from CCD or CMOS sensors and reconstructs the image using three different interpolation algorithms controlled via a dedicated wrapper. The three interpolation methods are:

+
    +
  • Nearest neighbour interpolation, where the nearest pixel is used to approximate the color value. This algorithm is simple to implement and is common in real-time 3D rendering. It uses a 2×2 px matrix and is the lightest and easiest method to implement.
  • +
  • Bilinear interpolation, which establishes color intensity by calculating the average value of the 4 nearest pixels located diagonally in relation to the given pixel. This method uses a 3×3 px matrix and gives better results than the nearest neighbour interpolation method but takes up more FPGA resources.
  • +
  • Edge directed interpolation, which calculates the pixel components in a similar way to bilinear interpolation, but uses edge detection with a 5×5 px matrix. This algorithm is the most sophisticated of the three, but gives the best results and eliminates zippering.
  • +
+

System structure

+

The demosaicing system consists of two parts. The most important part is formed by the demosaicing cores representing the three algorithms described earlier.

+

Diagram depicting dmosaicing wrapper

+

The software part of the system runs in the FPGA and features the bootloader, operating system (Linux), Antmicro’s open source FastVDMA IP core that controls data transmission between the demosaicing setup and the DDR3 memory, and a dedicated Linux driver that makes it possible to control the demosaicing cores from software.

+

Open source FPGA IP cores for vendor-neutral solutions

+

Apart from building highly-capable vision systems based on FPGA platforms, we are developing various tools, open source IP cores and other resources to provide our customers with a complete, end-to-end workflow that they can fully control.

+

Some of our recent projects include the FPGA Interchange Format to enable interoperability between FPGA development tools, an open source PCIe link for ASIC prototyping in FPGA or an FPGA-based testing framework for hardware security of DRAM. If you would like to benefit from introducing a more software-driven, open source friendly work methodology into your next product development cycle, reach out to us at contact@antmicro.com and keep track of our growing list of open IP cores at the Antmicro Open Source Portal.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/open-source-debayerization-blocks-in-fpga/share.jpg b/preview/97/news/open-source-debayerization-blocks-in-fpga/share.jpg new file mode 100644 index 000000000..820120834 Binary files /dev/null and b/preview/97/news/open-source-debayerization-blocks-in-fpga/share.jpg differ diff --git a/preview/97/news/open-source-fpga-platform-for-rowhammer-security-testing-in-the-data-center/datacenter2_blog-note-twitter.svg b/preview/97/news/open-source-fpga-platform-for-rowhammer-security-testing-in-the-data-center/datacenter2_blog-note-twitter.svg new file mode 100644 index 000000000..c3a4ccbf1 --- /dev/null +++ b/preview/97/news/open-source-fpga-platform-for-rowhammer-security-testing-in-the-data-center/datacenter2_blog-note-twitter.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/news/open-source-fpga-platform-for-rowhammer-security-testing-in-the-data-center/datacenter_blog-note-twitter.png b/preview/97/news/open-source-fpga-platform-for-rowhammer-security-testing-in-the-data-center/datacenter_blog-note-twitter.png new file mode 100644 index 000000000..f926d77b4 Binary files /dev/null and b/preview/97/news/open-source-fpga-platform-for-rowhammer-security-testing-in-the-data-center/datacenter_blog-note-twitter.png differ diff --git a/preview/97/news/open-source-fpga-platform-for-rowhammer-security-testing-in-the-data-center/index.html b/preview/97/news/open-source-fpga-platform-for-rowhammer-security-testing-in-the-data-center/index.html new file mode 100644 index 000000000..2f4d18b5f --- /dev/null +++ b/preview/97/news/open-source-fpga-platform-for-rowhammer-security-testing-in-the-data-center/index.html @@ -0,0 +1,334 @@ + + + + + + + + + + + + + + +Open Source FPGA Platform for Rowhammer Security Testing in the Data Center | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

Open Source FPGA Platform for Rowhammer Security Testing in the Data Center

+
+
    +
  • +

    January 3, 2022

    +
  • +
  • +

    5 minutes

    +
  • +
  • +

    1012 words

    +
  • +
+
+
+
+featured-image +
+

This post was originally published at Antmicro.

+

Our work together with Google and the world’s research community on detecting and mitigating the Rowhammer problem in DRAM memories has been proving that the challenge is far from being solved and a lot of systems are still vulnerable. +The DDR Rowhammer testing framework that we developed together with an open hardware LPDDR4 DRAM tester board has been used to detect new attack methods such as Half-Double and Blacksmith and all data seems to suggest this more such methods will be discovered with time.

+

But consumer-facing devices are not the only ones at risk. With the growing role of shared compute infrastructure in the data center, keeping the cloud secure is critical. That is why we again teamed up with Google to bring the open source FPGA-based Rowhammer security research methodology to DDR4 RDIMM used in servers by designing a new Kintex-7 platform for that use case specifically, to foster collaboration around what seems to be one of the world’s largest security challenges.

+

Hardware overview

+

Open source data center Rowhammer tester board

+

The data center DRAM tester is an open source hardware test platform that enables testing and experimenting with various DDR4 RDIMMs (Registered Dual In-Line Memory Module).

+

The main processing platform on this board is a Xilinx Kintex-7 FPGA which interfaces directly with a regular DDR4 DIMM connector. The new design required more IOs compared to the LPDDR version, which was a major driving factor for changing the Kintex-7 FPGA package from 484 to 686 pins.

+

Basing the test platform on the Kintex-7 FPGA allowed us to implement a completely open source memory controller – LiteDRAM – fully within the FPGA just like for the LPDDR case. The system can thus be modified and re-configured on both hardware and software level to freely sculpt memory testing scenarios, providing developers with a flexible platform that can be easily adjusted to new data center use cases. Our previous design was targeting a single channel from a single LPDDR4 IC, featuring specially-designed modules to cover for the fact that LPDDR memories aren’t meant to particulary “modular”. For the data center use case however, as reflecting the more standardized nature of that space, the new board can handle a full-fledged, off-the-shelf DDR4 RDIMM with multiple DRAM chips.

+

As in the LPDDR4 version, the new board features different interfaces to communicate with the FPGA, such as RJ45 Gigabit Ethernet and a Micro USB console. Additionally, there is an HDMI output connector for development purposes. Other features include:

+
    +
  • A JTAG programming connector
  • +
  • A microSD card slot and 12 MBytes flash memory
  • +
  • HyperRam – external DRAM memory that can be used as an FPGA cache.
  • +
+

What is worth stressing here is that unlike LPDDR4, DDR4 modules don’t have to be custom made and are available to buy off the shelf – an advantage that greatly expands the potential applicability and outreach of the platform.

+

Block diagram depicting open source data center Rowhammer tester platform

+

Using open source to transform data centers

+

The DRAM tester described here is meant, of course, to be used with the Antmicro open source Rowhammer testing framework mentioned in the opening of this blog note. The list of devices discovered to be vulnerable to attacks so far is significant, and the new design will help to cover a huge chunk of data center oriented memory modules.

+

The DRAM testing capabilities of the Rowhammer tester are not limited to DDR4 RDIMM memories and LPDDR4 only. Plans for 2022 include support for LPDDR5 and DDR5, which will result in more hardware and collaborations, and hopefully more mitigation techniques. With an open source DRAM controller at the heart, the framework offers potential of collaboration around building Rowhammer mitigations into the controller itself, using the transparency of open source IP to stay one step ahead of the potential attacks.

+

The recent data center security work is part of our wider effort to push open source tooling, methodologies and approach to data center customers. In a similar vein, within the LibreBMC group in OpenPOWER Foundation, we are leading a project to replace ASIC-based BMC (board management controllers) with soft CPUs running on popular and low-cost FPGA platforms. LibreBMC will be a completely transparent security and management solution both in terms of hardware and software and includes two boards compatible with OCP’s DC-SCM standard based on the Xilinx Artix-7 and Lattice ECP5 FPGAs respectively.

+

Complementing our software capabilities in scaling huge workloads and building robust design, development, test and CI, simulation and verification pipelines, our data center oriented platforms also include Scalenode, which shows how open source hardware can be used to build modular servers based on both ARM (Raspberry Pi 4 CM) and RISC-V (ARVSOM).

+

Our open source based services ranging from ASIC and hardware design through IP and software development lets us offer comprehensive help to a wide array of data center customers, to improve their security, development speed and collaboration capacities.

+

The DDR testing platform in a broader context

+

The data center DRAM tester is further proof that the open source hardware trend spearheaded by Antmicro can bring practical value, especially in terms of security and collaboration capability. Developing a completely open framework, configurable down to the DRAM controller itself, has led us to some fantastic collaborations and sparked ideas which would otherwise be impossible to implement. Both the CHIPS Alliance, the OpenPOWER Foundation and RISC-V International have a keen interest in taking the memory controller work forward, potentially leading up to ASIC-proven DDR controller IP.

+

An open source IP ecosystem which we are actively participating in could revolutionize how ASIC and FPGA systems are built. It is one of the key components in a wider push for a more open source, pragmatic and software-centric approach to hardware that we are helping shape at the global level by participating in policy-making initiatives in the EU and US.

+

On a more down-to-earth note, the data center platform is yet another permissively licensed open source board in our arsenal, and can serve as a good reference design for Kintex-7 projects which we are happy to customize and build upon for other areas or types of research for our customers.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/open-source-fpga-platform-for-rowhammer-security-testing-in-the-data-center/share.png b/preview/97/news/open-source-fpga-platform-for-rowhammer-security-testing-in-the-data-center/share.png new file mode 100644 index 000000000..4b9626b4a Binary files /dev/null and b/preview/97/news/open-source-fpga-platform-for-rowhammer-security-testing-in-the-data-center/share.png differ diff --git a/preview/97/news/open-source-infrastructure-for-system-verilog/index.html b/preview/97/news/open-source-infrastructure-for-system-verilog/index.html new file mode 100644 index 000000000..8f710e1a2 --- /dev/null +++ b/preview/97/news/open-source-infrastructure-for-system-verilog/index.html @@ -0,0 +1,315 @@ + + + + + + + + + + + + + + +Progress on Building Open Source Infrastructure for System Verilog | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

Progress on Building Open Source Infrastructure for System Verilog

+
+
    +
  • +

    July 20, 2021

    +
  • +
  • +

    Rob Mains, General Manager of CHIPS Alliance

    +
  • +
  • +

    3 minutes

    +
  • +
  • +

    444 words

    +
  • +
+
+
+
+featured-image +
+

SystemVerilog is a rich hardware design description and verification language that is seeing increased usage in industry. In the second Deep Dive Cafe Talk by CHIPS Alliance on July 20, Henner Zeller, who is an software developer with Google, provided an excellent in depth technical talk on building out an open source tooling ecosystem around SystemVerilog to provide a common framework that can be used by both functional simulation applications as well as logic synthesis. In case you missed the live presentation, you can watch it here.

+
+ +
+

Henner started the talk by providing background and motivation for the work on expanding the tooling available for SystemVerilog. It was noted that SystemVerilog is being used by a large cohort in industry, but there is little awareness that open source tools supporting SystemVerilog exist. Of note is that SystemVerilog is analogous to C++ as is Verilog to C in terms of language robustness and complexity. As such, developing a framework and metric-based scorecard to measure the quality of applications supporting this is of importance. A key aspect of adoption of SystemVerilog and associated open source tooling is that it works out of the box. Subsequently, the so-called sv-tests framework was created by Antmicro and Google – and subsequently transferred to CHIPS Alliance – as a unit test system for SystemVerilog tools to assess the quality of the parsing and handling of different attributes of the language. To incentivize participation, a leader board has been created to show quality of results.

+

The talk also provided an overview of the different parsers Surelog, sv-parser, and Verible, along with discussion of their positive attributes and limitations. This was followed by presentation of UHDM (Unified Hardware Data Model) – a data model allowing transferring parsed and elaborated SystemVerilog between frontend and simulation or synthesis software.

+

An example integration of the UHDM based flow developed collaboratively by CHIPS members Google and Antmicro was presented next. The development aims to integrate the UHDM handling capability with Verilator simulator and Yosys synthesis tools. The work is done publicly in CHIPS Alliance’s GitHub repositories. The UHDM integration tests repository collects all the pieces of the system and allows running the integration tests.

+

The development and measurement of different applications to parse SystemVerilog and robustly represent in a common data representation will do much to ensure the development of a solid framework for construction of different design automation tools.

+

The next CHIPS Alliance Deep Dive Cafe is on Tuesday, Aug. 10 at 4 p.m. PT. Experts from Intel and Blue Cheetah will present on PHYS, protocols, EDA, and heterogeneous integration as well as latest developments on die-to-die interfacing. You can register for the event here.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/open-source-process-design-kit-from-google-skywater-technologies-and-partners-released/index.html b/preview/97/news/open-source-process-design-kit-from-google-skywater-technologies-and-partners-released/index.html new file mode 100644 index 000000000..6dea21bda --- /dev/null +++ b/preview/97/news/open-source-process-design-kit-from-google-skywater-technologies-and-partners-released/index.html @@ -0,0 +1,335 @@ + + + + + + + + + + + + + + +Open Source Process Design Kit from Google, SkyWater Technologies and Partners Released | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

Open Source Process Design Kit from Google, SkyWater Technologies and Partners Released

+
+
    +
  • +

    June 29, 2020

    +
  • +
  • +

    5 minutes

    +
  • +
  • +

    1032 words

    +
  • +
+
+
+
+featured-image +
+

This post was originally published at Antmicro.

+

The ASIC design and manufacturing flow has for a long time been dominated by proprietary tools and processes. The growing complexity of chip-building has been reinforcing the claim that “hardware is too hard to be open source”, as the cost and time needed to build an ASIC have kept small, more agile, software-oriented teams and individuals away from the hardware domain. Thus, ASICs have not been able to benefit from the enthusiasm and collaboration which have been fuelling software development for decades now. Thanks to the continued effort of many entities which Antmicro is very proud to be among, this is now changing quickly.

+

RISC-V: Openness-driven innovation

+

The first shift in the walled garden, proprietary chips design landscape came with the creation of the RISC-V Foundation in 2015 centered around the open source RISC-V ISA. Antmicro has been on board as a Platinum Founding Member of the Foundation (now, several hundred members strong, transitioning into a Swiss-based entity called RISC-V International) since the very beginning, as it reflected our belief that an open source approach can – and is bound to, eventually – revolutionize all areas of computing, even the less obvious ones.

+

RISC-V proved ASIC design can be a collaborative process, with players big and small working together to compliment each other’s strengths not only in developing the ISA but also many of the tools needed to make it practically useful. For example, Microsemi worked with SiFive to provide the SoC complex at the heart of their new and exciting PolarFire FPGA SoC, and then turned to Antmicro to provide a simulation environment – using our open source Renode Framework – to make development possible before the SoC hits the market later this year. The OpenTitan project, driven by key RISC-V adopters Google and Western Digital together with the UK not-for-profit lowRISC, strives to build a more transparent, trustworthy, high-quality reference design and integration guidelines for silicon Root of Trust chips. Such examples abound in the RISC-V world, but the un-core, design tools, verification and other parts of the ecosystem have mostly remained closed.

+

Enter CHIPS

+

Established in 2019, CHIPS Alliance takes the open, collaborative aspect of RISC-V even further. CHIPS wants to generate and integrate fully open source, high quality IP and tooling for ASIC design; the organization extends beyond cores and specifications, and acknowledges the importance not only of the result but the process itself; thus, the aim is to make both ASICs and the ASIC design processes open source all the way. Why? Again, a lesson learned from software: if you open up to collaboration, adaptation and change on all levels, the long-term results will be surprisingly good.

+

CHIPS has been home to such important projects as the Chisel HDL, the Rocket core generator and related tools, the SweRV cores or AIB interconnect. There is work under way to enable fully open source SystemVerilog/UVM support in tools like Verilator and Yosys (with some milestones like fully open source linting, formatting or synthesis of SystemVerilog code already accomplished), opening the door to more open source collaboration around design verification which constitutes the highest cost in modern chip design.

+

Also in the tools area, the very ambitious OpenROAD project, also a CHIPS member, is a DARPA-backed activity aiming to create a fully open source, quick, automated digital design flow. If you want to see how open source, automated chip design might look like in the future, see OpenROAD’s excellent ChipKit tutorial from ISCA 2020.

+

Aggregating those activities a vastly different landscape begins to emerge, one where chip design can be innovated upon on various levels, and teams can go back and forth between hardware and software optimizations for new use cases such as machine learning without NDAs and costly licences. But – until now – there was one element notably missing.

+

First ever open source PDK

+

We are excited to announce Antmicro’s participation in yet another historic first in the area of semiconductor process technology. In a project led by Google and SkyWater Technology, and in collaboration with partners including Antmicro, Blue Cheetah, efabless and numerous Universities, an open source SkyWater PDK (Process Design Kit) for the 130 nm MOSFET fabrication process, along with related sources, is being made available. This development greatly lowers the cost of entry into chip manufacturing and paves the way for even more exciting collaborations to happen in the open source silicon domain.

+

+

For some background, a PDK is a set of data files and tools used to model a specific process in a given foundry used with EDA (Electronic Design Automation) tools in the chip design flow. PDKs traditionally have been closed – to the point where some would say it’s impossible to make them open! This collaboration, where Antmicro worked together with Google and efabless to convert the PDK data for the public release, is an important step towards truly open source chips. The 130nm PDK process is a mature technology that is useful for a range of applications, especially in the area of microcontroller development and research as well as mixed signal embedded designs and other use cases which combine digital and analog circuits. The SKY130 technology stack consists of:

+
    +
  • 1 level of local interconnect
  • +
  • 5 levels of metal
  • +
  • Inductor-capable
  • +
  • High sheet rho poly resistor
  • +
  • Optional MiM capacitors
  • +
  • Includes SONOS shrunken cell
  • +
  • Supports 10V regulated supply
  • +
  • HV extended-drain NMOS and PMOS
  • +
+

SkyWater is an American technology foundry accredited by the US Department of Defense, which offers custom integrated circuit design and manufacturing services. It is predicted that the launch of the open source SKY130 process node will be followed by other, more advanced nodes, ultimately enabling more advanced processor applications, including ones that are Linux-capable.

+

The inaugural talk by Tim Ansell

+

+

On Tuesday, June 30 at 16:00 GMT, Google’s Tim Ansell will give a talk at the FOSSi Dial-up meeting, presenting a thorough overview of the technical details of the PDK, as well as outlining the project’s goals and its roadmap. The event will be livestreamed on YouTube and will be followed by a Q&A session, so tune in to find out more about this historic step towards an open, accessible and collaborative chip-making process.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/open-source-process-design-kit-from-google-skywater-technologies-and-partners-released/opensource_PDK.png b/preview/97/news/open-source-process-design-kit-from-google-skywater-technologies-and-partners-released/opensource_PDK.png new file mode 100644 index 000000000..9d9394a42 Binary files /dev/null and b/preview/97/news/open-source-process-design-kit-from-google-skywater-technologies-and-partners-released/opensource_PDK.png differ diff --git a/preview/97/news/open-source-process-design-kit-from-google-skywater-technologies-and-partners-released/opensource_PDK_blog-note-1.png b/preview/97/news/open-source-process-design-kit-from-google-skywater-technologies-and-partners-released/opensource_PDK_blog-note-1.png new file mode 100644 index 000000000..53b9ab730 Binary files /dev/null and b/preview/97/news/open-source-process-design-kit-from-google-skywater-technologies-and-partners-released/opensource_PDK_blog-note-1.png differ diff --git a/preview/97/news/open-source-rtl-ci-testing-and-verification-for-caliptra-veer/CI-driven-testing-for-VeeR_blog_2.png b/preview/97/news/open-source-rtl-ci-testing-and-verification-for-caliptra-veer/CI-driven-testing-for-VeeR_blog_2.png new file mode 100644 index 000000000..3a7e46d89 Binary files /dev/null and b/preview/97/news/open-source-rtl-ci-testing-and-verification-for-caliptra-veer/CI-driven-testing-for-VeeR_blog_2.png differ diff --git a/preview/97/news/open-source-rtl-ci-testing-and-verification-for-caliptra-veer/CI-driven-testing-for-VeeR_blog_3.png b/preview/97/news/open-source-rtl-ci-testing-and-verification-for-caliptra-veer/CI-driven-testing-for-VeeR_blog_3.png new file mode 100644 index 000000000..f9da22264 Binary files /dev/null and b/preview/97/news/open-source-rtl-ci-testing-and-verification-for-caliptra-veer/CI-driven-testing-for-VeeR_blog_3.png differ diff --git a/preview/97/news/open-source-rtl-ci-testing-and-verification-for-caliptra-veer/CI-driven-testing-for-VeeR_blog_chips.png b/preview/97/news/open-source-rtl-ci-testing-and-verification-for-caliptra-veer/CI-driven-testing-for-VeeR_blog_chips.png new file mode 100644 index 000000000..c4e421274 Binary files /dev/null and b/preview/97/news/open-source-rtl-ci-testing-and-verification-for-caliptra-veer/CI-driven-testing-for-VeeR_blog_chips.png differ diff --git a/preview/97/news/open-source-rtl-ci-testing-and-verification-for-caliptra-veer/CI-driven-testing-for-VeeR_blog_waveform.png b/preview/97/news/open-source-rtl-ci-testing-and-verification-for-caliptra-veer/CI-driven-testing-for-VeeR_blog_waveform.png new file mode 100644 index 000000000..d6958a45b Binary files /dev/null and b/preview/97/news/open-source-rtl-ci-testing-and-verification-for-caliptra-veer/CI-driven-testing-for-VeeR_blog_waveform.png differ diff --git a/preview/97/news/open-source-rtl-ci-testing-and-verification-for-caliptra-veer/CI-driven-testing-for-VeeR_diagram_2_blog.svg b/preview/97/news/open-source-rtl-ci-testing-and-verification-for-caliptra-veer/CI-driven-testing-for-VeeR_diagram_2_blog.svg new file mode 100644 index 000000000..2f04e26e0 --- /dev/null +++ b/preview/97/news/open-source-rtl-ci-testing-and-verification-for-caliptra-veer/CI-driven-testing-for-VeeR_diagram_2_blog.svg @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/preview/97/news/open-source-rtl-ci-testing-and-verification-for-caliptra-veer/CI-driven-testing-for-VeeR_diagram_blog.svg b/preview/97/news/open-source-rtl-ci-testing-and-verification-for-caliptra-veer/CI-driven-testing-for-VeeR_diagram_blog.svg new file mode 100644 index 000000000..a3bd5d4fa --- /dev/null +++ b/preview/97/news/open-source-rtl-ci-testing-and-verification-for-caliptra-veer/CI-driven-testing-for-VeeR_diagram_blog.svg @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/preview/97/news/open-source-rtl-ci-testing-and-verification-for-caliptra-veer/CI-driven-testing-for-VeeR_lint_error.png b/preview/97/news/open-source-rtl-ci-testing-and-verification-for-caliptra-veer/CI-driven-testing-for-VeeR_lint_error.png new file mode 100644 index 000000000..ec554c53a Binary files /dev/null and b/preview/97/news/open-source-rtl-ci-testing-and-verification-for-caliptra-veer/CI-driven-testing-for-VeeR_lint_error.png differ diff --git a/preview/97/news/open-source-rtl-ci-testing-and-verification-for-caliptra-veer/index.html b/preview/97/news/open-source-rtl-ci-testing-and-verification-for-caliptra-veer/index.html new file mode 100644 index 000000000..0299d2c8a --- /dev/null +++ b/preview/97/news/open-source-rtl-ci-testing-and-verification-for-caliptra-veer/index.html @@ -0,0 +1,355 @@ + + + + + + + + + + + + + + +Open source and CI-driven RTL testing and verification for Caliptra’s RISC-V VeeR core | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

Open source and CI-driven RTL testing and verification for Caliptra’s RISC-V VeeR core

+
+
    +
  • +

    July 4, 2023

    +
  • +
  • +

    9 minutes

    +
  • +
  • +

    1880 words

    +
  • +
+
+
+
+featured-image +
+

As part of CHIPS Alliance’s mission to enable a software-driven approach to silicon, working with Google and other CHIPS members, Antmicro has been developing and improving a growing number of open source tools to enable effective, CI-driven silicon development.

+

Fully reproducible and scalable workflows based on open source tooling are especially beneficial for efforts spanning across multiple industrial and academic actors such as Caliptra, a Root of Trust project driven by Google, AMD, NVIDIA and Microsoft which recently joined CHIPS in order to host the ongoing development and provide the necessary structure, working environment and support for the reference implementation of the standard, originally hosted by Open Compute Project.

+

In this note, we describe Antmicro and Google’s collaborative effort focused on introducing a Continuous Integration (CI) based code quality checks, code indexing, coverage and functional testing pipeline into the RISC-V VeeR core family, as used within the Caliptra project.

+

Caliptra and VeeR

+

VeeR (Very Efficient & Elegant RISC-V) is an open source production-grade RISC-V core family hosted by CHIPS Alliance and comes in three variants:

+ +

Caliptra’s hardware block structure with an EL2 VeeR CPU core includes the following elements:

+

Caliptra hardware block structure

+

As can be seen in the diagram, VeeR EL2 plays a central role in the implementation and, while it is a mature and well-tested technology, keeping both the core itself and its integration with Caliptra consistently tested is important.

+

Advanced code processing with Verible and Kythe

+

Many of Antmicro’s efforts focus around building not only the end products but the scalable CI solutions for collaborative hardware development environments that power them. Since Caliptra’s needs for establishing a more open process tie in perfectly with Antmicro’s and all of CHIPS Alliance’s open source-based approach to tooling, we gladly utilized our expertise to help advance VeeR, and by extension, the Caliptra project, in that direction.

+

One of the core parts of this effort involved Verible, an open source SystemVerilog parser developed by Google in collaboration with Antmicro within CHIPS Alliance, offering a number of code processing functionalities, including linting, formatting, indexing and producing a Kythe schema. Verible comes with a Language Server Protocol which enables integration with popular text editors such as VS Code, Vim, Neovim, Emacs, Sublime, Kakoune and Kate, described in detail in a separate note.

+

Antmicro’s work with Caliptra involved adding the Verible formatter to the VeeR CI which marks non-compliant formatting changes and uses the reviewdog bot to add comments in the Pull Request Discussion with suggested fixes. Furthermore, we added a Verible linting Action that helps developers maintain good coding practices by providing lint rules for continuous validation of the code, before it even reaches the compilation phase. Notably, the provided lint rules are flexible and can be adjusted based on the project’s requirements, or even turned off completely through creation of a waiver-file or by an inline directive.

+

Verible linting example

+

Thanks to Verible’s ability to output a Kythe schema, besides linting and formatting code changes we can also provide an indexed overview of the entire codebase, viewable online. The Kythe Verible Indexer, using Verible Indexing Action, enables the user to select multiple repositories to create a set of indexed webpages.

+

Kythe indexer main page

+

The workflow also checks if a newer revision is available for any of the defined repositories and, if needed, performs indexing. The indexed code browser webpages were deployed for Cores-VeeR-EL2 and Caliptra-rtl.

+

Kythe indexer example

+

Putting riscv-dv to use

+

The riscv-dv framework is another tool hosted by CHIPS Alliance helping address the complexities of SoC design and verification. It is an SV/UVM based open source instruction generator for RISC-V processors, originally developed for Google’s own needs but currently in use by a wide array of organizations and companies working with verification of RISC-V cores.

+

The riscv-dv framework generates random instruction chains to exercise certain core features. These instructions are then simultaneously executed by the core (through RTL simulation) and by a reference RISC-V ISS (instruction set simulator), for example Spike or Renode, Antmicro’s open source simulation framework.

+

Core states of both are then compared after each executed instruction and an error is reported in case of a mismatch.

+

riscv-dv flow

+

While working on the Caliptra project, Antmicro introduced the riscv-dv framework for testing the VeeR-EL2 core as well as a GH Actions CI flow which builds or downloads all the dependencies (Verilator, Spike, VeeR-ISS and Renode) and runs the tests. For the purpose of using riscv-dv with VeeR we had to write a VeeR-specific execution trace log parser. The task of this parser is to translate the log to the format understandable by the riscv-dv framework.

+

As an interesting detail, VeeR implements division (div) and remainder (rem) instructions in a way it delegates the calculations to the division logic and proceeds with the execution of the program. Once the division core ends, the result is written back to the div/rem instruction result register. This flow takes into account the situation where any instruction following div/rem requires the div/rem result. In such cases the pipeline is stalled until the result is available. If any instruction following div/rem overwrites the result register before division logic finishes, the division operation is canceled.

+

To handle the case where the division results are available after a few other instructions were executed we’ve developed a lazy parsing method of the VeeR trace log to be able to catch the result register update even if it is not immediate. The second case - cancellation of the division calculation has been handled by adding a code post-processing script. It can detect a situation where a cancellation would happen and prevent it by injecting a number of the NOP instructions (allowing the division core to finish).

+

Custom GitHub Actions runners for greater scalability and more flexibility to mix tools

+

Much like a large part of the industry, the Caliptra project uses Universal Verification Methodology (UVM) as its verification methodology. While Antmicro’s ongoing work on enabling fully open source UVM support in Verilator should ultimately enable completely open source verification, today UVM testbenches or tools like RISC-V DV cannot be run using open source tools only.

+

Fortunately, this problem already has a solution, also developed within the CHIPS Alliance - custom GitHub Actions Runners that are already in use by a large number of CHIPS projects.

+

A custom runner setup, currently in development for Caliptra, allows mixing and matching open and closed source tools for CI testing purposes, exposing only the results (such as pass/fail or coverage) with fine-grained control.

+

What is more, given that RTL design testing and verification of RISC-V based cores and SoCs often require long, memory-consuming and computationally demanding simulations, the custom runners will play another very important role in Caliptra. While GitHub is the obvious choice for hosting the reference RTL, the processing power and throughput of the CI machines available in GitHub Actions is simply not enough to cover the needs of simulation of complex designs, especially in a highly dynamic, collaborative environment with lots of CI angles.

+

In order to enable public-facing yet secure CI, and improve the flexibility and scalability of Caliptra’s/VeeR’s pipelines, the custom runners will be deployed for the respective repositories. This setup will enable us to precisely select machines to be used for specific workloads (i.e. the architecture, virtual CPU count, memory size and disk space) but also to use tools stored on an external cloud disk that can be attached to a virtual machine running the job workload.

+

Seeding other verification methods

+

The Caliptra SoC is meant as a macro for use in a variety of chip designs, big and small. Various teams adopting Caliptra/VeeR as their Root of Trust solution will need to plug it into a larger ecosystem of tools used in their organization (of course hopefully using Caliptra as a good reference and role model).

+

As part of the project, on top of the original Caliptra test suite we’re implementing more specific tests around the VeeR integration in cocotb, a co-simulation testbench library that enables connecting Python coroutines with your HDL simulator of choice. We’re currently working on a cocotb testbench that will be able to not only run programs from the generator, but also apply dedicated stimuli and monitor the results in a Python coroutine.

+

Furthermore, for projects who prefer a more UVM-like testing methodology but need an open source option today, we also provide some example tests using pyuvm, a Pythonic library that mirrors the industry accepted SystemVerilog implementation. We have implemented a minimal UVM Agent for the programmable interrupt controller of the VeeR-EL2 Core, which will be used to verify handling of the interrupt service routines triggered by external or local-to-core timer interrupts. The verification environment is expected to grow as more test cases could be added, covering the DMA controller, close coupled memory buses or the debug interface.

+

For system level tests we decided to connect to an interactive simulation of the complete design via JTAG with commonly used tools: Open On-Chip Debugger (OpenOCD) and the GNU Project Debugger (GDB). The simulation exposes a virtual JTAG port, which is used to establish a connection with OpenOCD. Then the OpenOCD instance connects to the GNU debugger. Finally, test scripts are run in GDB, which verify core registers content, memory access and peripheral accesses.

+

With this testing methodology we exposed an actual problem in the design which prevented accessing system peripherals via JTAG. As it turned out the issue was caused by the side AHB bus of the debug core being disconnected.

+

Screenshot of the faulty waveform

+

Once a connection of the side bus had been made it became possible to access all the peripherals. A 2-to-1 AHB multiplexer was used to join the system and side AHB master ports and forward requests to the peripherals.

+

To verify the effectiveness of all kinds of tests, both ISS and RTL level, and help ensure that all design states are properly tested, we use coverage analysis. While open source tools and frameworks have some support for gathering and presenting these metrics, e.g. Verilator supports line, toggle and functional coverage, some additional work needs to be done to integrate all of those and present them in a comprehensive, visual form, which will be part of our future efforts.

+

Comprehensive ecosystem for hardware development and testing

+

In addition to the efforts described in this note, CHIPS Alliance community’s other work, including Antmicro’s improvements to Verilator to better handle large designs and verification tasks, help bring more open source-driven development and verification solutions to the Caliptra project and the entire open hardware ecosystem.

+

To learn more about ideas and concepts of Caliptra and VeeR, join the next CHIPS Alliance Technology Update on July 13, either virtually or on-site at Google Spear Tower, San Francisco. You can also actively participate in expanding the Caliptra project by joining the CHIPS Alliance Caliptra Workgroup.

+

If you’re interested in benefiting from this software-driven approach to silicon development or would like to find out how to develop and verify your next production-grade ASIC project using the constantly expanding open source tooling ecosystem, reach out at contact@antmicro.com.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/open-source-systemverilog-tools-in-asic-design/index.html b/preview/97/news/open-source-systemverilog-tools-in-asic-design/index.html new file mode 100644 index 000000000..edc756f83 --- /dev/null +++ b/preview/97/news/open-source-systemverilog-tools-in-asic-design/index.html @@ -0,0 +1,392 @@ + + + + + + + + + + + + + + +Open Source SystemVerilog Tools in ASIC Design | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

Open Source SystemVerilog Tools in ASIC Design

+
+
    +
  • +

    August 4, 2021

    +
  • +
  • +

    11 minutes

    +
  • +
  • +

    2226 words

    +
  • +
+
+
+
+featured-image +
+

This post was originally published at Antmicro.

+

Open source hardware is undeniably undergoing a renaissance whose origin can be traced to the establishment of RISC-V Foundation (later redubbed RISC-V International). The open ISA and ecosystem, in which Antmicro participated since the beginning as a Founding member, has sparked many open source CPU implementations but also new tooling, methodologies and trends which allow for more collaborative and software driven design.

+

Many of those broader open hardware activities have been finding a home in CHIPS Alliance, an open source organization we participate in as a Platinum member alongside Google, Intel, Western Digital, SiFive and others, whose goals explicitly encompass:

+
    +
  • creating and maintaining open source ASIC and FPGA design tools (digital and analog)
  • +
  • open source core and uncore IP
  • +
  • interconnects, interoperability specs and more
  • +
+

This is in perfect alignment with Antmicro’s mission, as we’ve been heavily involved with many of the projects inside of and related to CHIPS, providing commercial support and engineering services – and assistance in practical adoption for enterprise deployments.

+

As of this time, a range of everyday design, development, testing and verification tasks are already possible using open source tools and components and are part of our and our customer’s everyday workflow. Other developments are within reach given a reasonable amount of development, which we can provide based on specific scenarios. Others still are much further away, but with dedicated efforts inside CHIPS in which we are involved together with partners like Google and Western Digital there is a pathway towards a completely open hardware design and verification ecosystem. This will eventually unlock incredible potential in new design methodologies, vertical integration capabilities, education and business opportunities – but until then, practical value can already be extracted today for many scenarios such as simulation, linting, formatting, synthesis, continuous integration and more, and Antmicro can help you do that.

+

Building a SystemVerilog ecosystem in CHIPS

+

Some of the challenges towards practical adoption of open source in ASIC design have been related to the fact that a significant proportion of advanced ASIC design is done in SystemVerilog, a fairly complex and powerful language in its own right, which used to be poorly supported in the open source tooling ecosystem. Partial solutions like SystemVerilog to Verilog converters or paid plugins existed, but direct support lagged behind, making open source tools for SystemVerilog a difficult sell previously.

+

This has been fortunately changing rapidly with a dedicated development effort spearheaded by Google and Antmicro. Projects in this space include Verible, Surelog, UHDM and sv-tests which we have been developing as well as integrating with existing tools like Yosys, Verilator under the umbrella of the SymbiFlow open source FPGA project, and which are now officially being transferred into the CHIPS Alliance to increase awareness and build a broader SystemVerilog ecosystem around them. In this note, we will walk you through the state of the art in new SystemVerilog capabilities in open source projects, and invite you to reach out to see how CHIPS Alliance’s SystemVerilog projects can be useful to you today or in the near future.

+

Diagram depicting SystemVerilog tools

+

Verible

+

The Verible project originated at Google, and its main mission is to make SystemVerilog easily and quickly parsable for a wide variety of applications mostly focusing on developer tools.

+

Verible is a set of tools based on a common SystemVerilog parsing engine, providing a command line interface which makes integration with other tools for daily usage or CI systems for automatic testing and deployment a breeze.

+

Antmicro has been involved in the development of Verible since its initial open source release and we now provide a significant portion of current development efforts, helping adapt it for use in various open source projects or commercial environments that use SystemVerilog. One notable user is the security-focused OpenTitan project, which has driven many interesting developments and provides a good showcase of the capabilities, being completely open source, well documented, fairly complex and used in real applications.

+

Linter

+

One of the most common use cases for Verible is linting. The linter analyzes code for patterns and constructs that are deemed undesirable according to the implemented lint rules. The rules follow authoritative style guides that can be enforced on a project or company level in various SystemVerilog projects.

+

The rules range from simple ones like making sure the module name matches the file name to more sophisticated like checking variable naming conventions (all caps, snake case, specific prefix or suffix etc.) or making sure the labels after the begin and end statements match.

+

A full list of rules can be found in the Verible lint documentation and is constantly growing. Usage is very simple:

+
$ verible-verilog-lint --ruleset all core.sv 
+core.sv:3:11: Interface names must use lower_snake_case naming convention and end with _if. [Style: interface-conventions] [interface-name-style]
+

The output of the linter is easy to understand, as the way issues are reported to the user is modeled after popular programming language compilers.

+

The linter is highly configurable. It is possible to select the rules for which the compliance will be checked, some rules allow for detailed configuration (e.g. max line length).

+

Rules can also be selectively waived in specific files or at specific lines or even by regex matching. In addition, some rules can be automatically fixed by the linter itself.

+

Formatter

+

The Verible formatter is a complementary tool for the linter. It is used to automatically detect various formatting issues like improper indentation or alignment. As opposed to the linter, it only detects and fixes issues that have no lexical impact on the source code.

+

The formatter also comes with useful helper scripts for selective and interactive reformatting (e.g. only format files that changed according to git, ask before applying changes to each chunk).

+

A toolset that consists of both the linter and the formatter can effectively remove all the discussions about styling, preferences and conventions from all pull requests. Developers can then focus solely on the technical aspects of the proposed changes.

+
$ cat sample.sv
+typedef struct {
+bit first;
+        bit second;
+bit
+   third
+        ;
+  bit fourth;
+bit fifth; bit sixth;
+}
+ foo_t;
+
+
+$ verible-verilog-format sample.sv
+typedef struct {
+  bit first;
+  bit second;
+  bit third;
+  bit fourth;
+  bit fifth;
+  bit sixth;
+} foo_t;
+

Indexer

+

The Verible parser itself can be relatively easily used to perform many other tasks. One of the interesting use cases is generating a Kythe compatible indexing database.

+

Indexing a SystemVerilog project makes it very easy to collaborate on a project remotely. +It is possible to navigate through the source code using nothing else than just a web browser.

+

The Kythe integration can be served on an arbitrary server, can be deployed after every commit in a project, etc. A showcase of the indexing mechanism can be found in our GitHub repository. The demo downloads the latest version of the Ibex core, indexes it, and deploys it to be viewed on a remote machine. +The results can be viewed on the example index webpage.

+

Demo of SystemVerilog indexing

+

Indexing is widely adopted for many larger open source software projects.

+

Thanks to Verible it is now possible to do the same in the world of open source HDL designs, and of course private, company-wide deployments like this are also possible.

+

Surelog and UHDM

+

SystemVerilog is a powerful language, but it is also complex. That is why so far no open source tools have been able to support it in full. Implementing it separately for each project such as the Yosys synthesis tool or the Verilator simulator would take a colossal amount of time, and that’s where Surelog and UHDM come in.

+

Surelog, originally created and led by Alain Dargelas, aims to be a fully-featured SystemVerilog 2017 preprocessor, parser, and elaborator. It’s a modern tool and thus follows the current version of the SV standard without unnecessary deviations or legacy baggage.

+

What’s interesting is that Surelog is only a language frontend designed to integrate well with other tools – it outputs an elaborated design in an intermediate format called UHDM.

+

UHDM stands for Universal Hardware Data Model, and it’s both a file format for storing hardware designs and a library able to manipulate this format. A client application can access the data using VPI, which is a standard programming interface for SystemVerilog.

+

What this means is that the work required to create a SystemVerilog parser only needs to be done once, and other tools can use that parser via UHDM. This is much easier than implementing a full SystemVerilog parser within each tool. What’s more, any improvements in the unified parser will provide benefits for all client applications. Finally, any other parser is free to emit UHDM as well, so in the future we might see e.g. a UHDM backend for Verible.

+

Just like in Verible’s case, both Surelog and UHDM have recently been contributed into CHIPS Alliance to drive a broader adoption. We are actively contributing to both projects, especially around the integrations with tooling such as Yosys and Verilator and practical use in open source and customer projects.

+

Recent Antmicro contributions adding UHDM frontends for Yosys and Verilator enabled Ibex synthesis and simulation. The complete OpenTitan project is the next milestone.

+

The Surelog/UHDM/Yosys flow enabling SystemVerilog synthesis without the necessity of converting the HDL code to Verilog is a great improvement for open source ASIC build flows such as OpenROAD’s OpenLane flow (which we also support commercially). Removing the code conversion step enables the developers to perform e.g. circuit equivalence validation to check the correctness of the design.

+

More information about Surelog/UHDM and Verible can be found in a dedicated CHIPS Alliance presentation that was recently given by Henner Zeller, Google’s Verible lead.

+

UVM is in the picture

+

No open source ASIC design toolkit can be complete without support for Universal Verification Methodology, or UVM, which is one of the most widespread verification methodologies for large-scale ASIC design. This has also been an underrepresented area in open source tooling and changing that is an enormous undertaking, but working together with our customers, most notably Western Digital, we have been making progress on that front as well.

+

Across the ASIC development landscape, UVM verification is currently performed with proprietary simulators, but a more easily distributable, collaborative and open ecosystem is needed to close the feedback loop between (emerging) open source design approaches and verification. Verilator is an extremely popular choice for other system development use cases but it has historically not focused on UVM-style verification. Other styles of verification, such as the very interesting and popular Python-based cocotb framework maintained by FOSSi Foundation have been enabled in Verilator – we write about our own work around that in a dedicated blog note. But support for UVM, partly due to the size and complexity of the methodology, has been a notably absent.

+

One of the features missing from Verilator but needed for UVM is SystemVerilog stratified scheduling, which is a set of rules specified in the standard that govern the way time progresses in a simulation, as well as the order of operations. In short, a SystemVerilog simulation is divided into smaller steps called time slots, and each time slot is further divided into multiple regions. Specific events can only happen in certain regions, and some regions can reoccur in a single time slot.

+

Until recently, Verilator had implemented only a small subset of these rules, as all scheduling was being done at compilation time. Spearheading a long-standing development effort within CHIPS Alliance, in collaboration with the maintainer of Verilator, Wilson Snyder, we have built is a proof-of-concept version of Verilator with a dynamic scheduler, which manages the occurrence of certain events at runtime, extending the stratified scheduling support. More details can be found in Antmicro’s presentation for the inaugural CHIPS Alliance Deep Dive Cafe Talk.

+

Another feature required for UVM is constrained randomization, which allows generating random inputs to feed to a design in order to thoroughly test it. Unlike unconstrained randomization, which is already provided by Verilator, it allows the user to specify some rules for input generation, thus limiting the possible value space and making sure that the input makes sense. Work on adding this to Verilator has already started, although the feature is still in its infancy. There are many other features on the roadmap which will eventually enable practical UVM support – stay tuned with our CHIPS Alliance events to follow that development.

+

What next?

+

Support for SystemVerilog parsers, for the intermediate format, and for their respective backends and integrations with various tooling as well as for UVM is now under heavy development. If you would like to see more effort put into a specific area, reach out to us at contact@antmicro.com. Antmicro offers commercial support services to extend the flows we’ve briefly presented here to various practical applications and designs, and to effectively integrate this approach into people’s workflows.

+

Adding to this our cloud expertise, Antmicro customers can benefit from a complete and industry-proven methodology scalable between teams and across on-premise and cloud installations, transforming chip design workflows to be more software-driven and collaborative. To take advantage of open source solutions with tools like Verilator, Yosys, OpenROAD and others – tell us about your use case and we will see what can be done today.

+

If you are interested in collaborating on the development SystemVerilog-focused and other open hardware tooling, join CHIPS Alliance and participate in our workgroups and help us push innovation in ASIC design forward.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/open-source-systemverilog-tools-in-asic-design/indexing-systemverilog-demo.png b/preview/97/news/open-source-systemverilog-tools-in-asic-design/indexing-systemverilog-demo.png new file mode 100644 index 000000000..4652932a8 Binary files /dev/null and b/preview/97/news/open-source-systemverilog-tools-in-asic-design/indexing-systemverilog-demo.png differ diff --git a/preview/97/news/open-source-systemverilog-tools-in-asic-design/svtoolsdiagram.svg b/preview/97/news/open-source-systemverilog-tools-in-asic-design/svtoolsdiagram.svg new file mode 100644 index 000000000..7e5dba8fb --- /dev/null +++ b/preview/97/news/open-source-systemverilog-tools-in-asic-design/svtoolsdiagram.svg @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/preview/97/news/open-source-usb-test-suite/index.html b/preview/97/news/open-source-usb-test-suite/index.html new file mode 100644 index 000000000..757bac054 --- /dev/null +++ b/preview/97/news/open-source-usb-test-suite/index.html @@ -0,0 +1,354 @@ + + + + + + + + + + + + + + +Open Source USB test suite | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

Open Source USB test suite

+
+
    +
  • +

    December 6, 2019

    +
  • +
  • +

    5 minutes

    +
  • +
  • +

    873 words

    +
  • +
+
+
+
+featured-image +
+

Note: the open source test suite will be demonstrated at the CHIPS Alliance booth at the RISC-V Summit 2019 – join us Dec 10-12 in the San Jose Convention Center!

+

USB is often a daunting topic for developers, and implementing support for it from scratch is a time consuming task. When the expected result is more complicated than a USB-to-serial bridge, the solution would be to either use a hardware transceiver or, especially for older USB standards, use an open source core to implement one directly in the FPGA fabric. But which core to use?

+

There are many different USB IP cores available, implemented in languages ranging from traditional HDLs like Verilog to modern alternatives like migen (or its new variant, nmigen). Most of them come with their own set of test cases, often checking their internal mechanisms and not corresponding directly to those in other projects. What was lacking is a unified test suite that would run each core through the same set of scenarios, providing a direct, apples-to-apples comparison of their behavior.

+

A solution from Antmicro, a CHIPS Alliance Gold member, is an open source test suite for USB IP cores, available on their Github. It currently supports USB1.1 and will be extended for higher revisions in the future.

+

In the test suite, Antmicro is making use of several open source technologies that they have come to appreciate through other projects. The tests are implemented using Cocotb and the low-level details are handled by the newly created cocotb_usb package. This means that even complicated tests, like those that verify the enumeration procedure under different OSes can be written with easy to understand, Python syntax.

+
from cocotb_usb.harness import get_harness
+from cocotb_usb.device import UsbDevice
+from cocotb_usb.descriptors import Descriptor
+
+@cocotb.test()
+def test_enumeration(dut):
+    harness = get_harness(dut)
+    yield harness.reset()
+    yield harness.connect()
+
+    yield Timer(1e3, units="us")
+
+    yield harness.port_reset(1e3)
+    yield harness
+          .get_device_descriptor(response=model
+              .deviceDescriptor.get())
+
+    yield harness.set_device_address(DEVICE_ADDRESS)
+

Test suite architecture

+

As the various IP cores often provide different interfaces towards the user, from different kinds of FIFOs to expected signals to drive the bidirectional USB pins, they are wrapped in a unified layer to create a simple SoC, also written in Python using LiteX. It provides various helper blocks and takes care of the bus infrastructure, clocking and reset logic, generating Verilog output for the whole system ready to be tested under any number of open source simulators. A minimalistic testbench file provides a unified interface as the top object for the simulation.

+

USB testing diagram

+

Python package

+

At the heart of the test suite is cocotb_usb, a Python package providing API for sending and receiving various USB packets, handling low-level bus states, verifying descriptor contents and checking timings. This is done by providing a UsbTest object that acts as a host and interacts with the device under test. Depending on your needs, you can output single packets, use whole transactions with e.g. automated retries upon receiving “not acknowledged” tokens, or just use high-level functions like get_config_descriptor() and let the library handle all the details. Meanwhile, the UsbDevice class provides means to store all of the descriptors that the core can report in an organized way.

+

The test results can be viewed in a standard Cocotb XML results file, the behavior of all signals in the system at all points can be checked in a VCD signal dump (to be viewed e.g. in GTKWave) and we use open source sigrok decoders to obtain packets and transactions, to be exported for viewing in Wireshark.

+

Test results in GTKWave

+

Current checks

+

Currently tested cores are:

+
    +
  • ValentyUSB – CPU-less IP core written in LiteX, using the eptri interface
  • +
  • Foboot – target with VexRiscv CPU running bare-metal Foboot firmware (it utilizes the epfifo interface of the ValentyUSB core)
  • +
  • usb1_device – a USB1.1 IP core developed by asics.ws in Verilog
  • +
  • TinyFPGA USB bootloader – IP core written in Verilog with interesting features, like providing an interface to program SPI flash memory over USB
  • +
  • tnt`s USB IP core – target with a PicoRV32 CPU, running bare-metal firmware interfacing with the Verilog IP core
  • +
+

So, what tests are supported? They range from a simple control packet handling with both single and multiple transfers, through handling SOF packets, validating clock recovery in the presence of an imperfect clock signal, to complex enumeration scenarios under Linux, Windows 10 and macOS. There are also some special cases, like testing the ValentyUSB core without a CPU by configuring it through a Wishbone bus, or verifying behavior of the TinyFPGA-Bootloader by using CDC transfers to send a boot command to the core.

+

Contributing

+

While full blown documentation is coming soon, there are ways to get involved right now:

+
    +
  • First, to run the test suite, go to the repository and follow the steps in the README,
  • +
  • To write your own test, take a look at our tests folder and the functions provided by the UsbTest class,
  • +
  • To run the tests on another IP core, you will need to prepare a simple LiteX wrapper, a config file with expected descriptor values that the core will return and a Makefile that will point to the needed files and provide the needed steps,
  • +
  • If you would like to test a different USB class that your target supports, head to the cocotb_usb repository and feel free to extend it with that class’ descriptors and requests.
  • +
+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/open-source-usb-test-suite/tinyfpga_gtwave_wireshark.png b/preview/97/news/open-source-usb-test-suite/tinyfpga_gtwave_wireshark.png new file mode 100644 index 000000000..1edaaefdb Binary files /dev/null and b/preview/97/news/open-source-usb-test-suite/tinyfpga_gtwave_wireshark.png differ diff --git a/preview/97/news/open-source-usb-test-suite/usb-test-diagram.svg b/preview/97/news/open-source-usb-test-suite/usb-test-diagram.svg new file mode 100644 index 000000000..b84aa9db7 --- /dev/null +++ b/preview/97/news/open-source-usb-test-suite/usb-test-diagram.svg @@ -0,0 +1,1204 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/preview/97/news/page/1/index.html b/preview/97/news/page/1/index.html new file mode 100644 index 000000000..7dc9049f6 --- /dev/null +++ b/preview/97/news/page/1/index.html @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/news/ \ No newline at end of file diff --git a/preview/97/news/page/2/index.html b/preview/97/news/page/2/index.html new file mode 100644 index 000000000..74b6631af --- /dev/null +++ b/preview/97/news/page/2/index.html @@ -0,0 +1,483 @@ + + + + + + + + + + + + + + +Blog | CHIPS Alliance + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+

Blog

+

+
+
+
+
+
+
+
+
+ + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+ +
+ +
+ +
+ +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/preview/97/news/page/3/index.html b/preview/97/news/page/3/index.html new file mode 100644 index 000000000..1f938b584 --- /dev/null +++ b/preview/97/news/page/3/index.html @@ -0,0 +1,483 @@ + + + + + + + + + + + + + + +Blog | CHIPS Alliance + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+

Blog

+

+
+
+
+
+
+
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/preview/97/news/page/4/index.html b/preview/97/news/page/4/index.html new file mode 100644 index 000000000..d469ff6c2 --- /dev/null +++ b/preview/97/news/page/4/index.html @@ -0,0 +1,483 @@ + + + + + + + + + + + + + + +Blog | CHIPS Alliance + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+

Blog

+

+
+
+
+
+
+
+
+
+ + +
+ +
+ + + + + + + +
+ +
+ + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/preview/97/news/page/5/index.html b/preview/97/news/page/5/index.html new file mode 100644 index 000000000..901948bff --- /dev/null +++ b/preview/97/news/page/5/index.html @@ -0,0 +1,483 @@ + + + + + + + + + + + + + + +Blog | CHIPS Alliance + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+

Blog

+

+
+
+
+
+
+
+
+
+ + +
+ +
+ + +
+ +
+ +
+ +
+
+ +
+
+ +
+ + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/preview/97/news/page/6/index.html b/preview/97/news/page/6/index.html new file mode 100644 index 000000000..64ca793d5 --- /dev/null +++ b/preview/97/news/page/6/index.html @@ -0,0 +1,439 @@ + + + + + + + + + + + + + + +Blog | CHIPS Alliance + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+

Blog

+

+
+
+
+
+
+
+
+
+ +
+ +
+ + +
+ +
+ + + + + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/preview/97/news/podcast-embedded-computing-design-five-minutes-with-zvonimir-bandic-chairman-chips-alliance/index.html b/preview/97/news/podcast-embedded-computing-design-five-minutes-with-zvonimir-bandic-chairman-chips-alliance/index.html new file mode 100644 index 000000000..40fb4455b --- /dev/null +++ b/preview/97/news/podcast-embedded-computing-design-five-minutes-with-zvonimir-bandic-chairman-chips-alliance/index.html @@ -0,0 +1,305 @@ + + + + + + + + + + + + + + +Podcast – Embedded Computing Design – Five Minutes With… Zvonimir Bandic, Chairman, Chips Alliance | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

Podcast – Embedded Computing Design – Five Minutes With… Zvonimir Bandic, Chairman, Chips Alliance

+
+
    +
  • +

    May 23, 2019

    +
  • +
  • +

    1 minutes

    +
  • +
  • +

    100 words

    +
  • +
+
+
+
+featured-image +
+

Zvonimir Bandic wears lots of hats. He is the Senior Director of Hardware Platforms for Western Digital; he’s a Member of the Board of Directors for the RISC-V Foundation, and he’s the Chairman of the Chips Alliance. It’s that latter capacity that we discussed in this week’s Five Minutes With…discussion. The organization focuses on things like open source hardware, software tools, RTL development, and related topics. They will be holding their inaugural workshop in just a few weeks, so it was timely to understand the purpose of the Alliance. And now I do, as will you.

+

Listen to the Podcast.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/progress-in-open-source-systemverilog-uvm-support-in-verilator/index.html b/preview/97/news/progress-in-open-source-systemverilog-uvm-support-in-verilator/index.html new file mode 100644 index 000000000..25346b986 --- /dev/null +++ b/preview/97/news/progress-in-open-source-systemverilog-uvm-support-in-verilator/index.html @@ -0,0 +1,370 @@ + + + + + + + + + + + + + + +Progress in open source SystemVerilog / UVM support in Verilator | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

Progress in open source SystemVerilog / UVM support in Verilator

+
+
    +
  • +

    July 21, 2023

    +
  • +
  • +

    7 minutes

    +
  • +
  • +

    1442 words

    +
  • +
+
+
+
+featured-image +
+

Verilator is a shining example of a widely-accepted open source tool which provides state-of-the-art results in the ASIC design space. It is commonly used for simulation and testing, but originally, due to the lack of capability to run event-driven simulations, Verilator wasn’t even considered capable of handling UVM (Universal Verification Methodology) testbenches implemented in SystemVerilog which require scheduling and other features notably absent from the tool. For some time now, Antmicro, together with Western Digital, Google and others in the CHIPS Alliance, has been working on enabling fully open source support for SystemVerilog UVM testbenches in Verilator. This has already resulted in significant breakthroughs we have described in this blog, such as implementing event-driven simulation capabilities in Verilator which has enabled new and exciting use cases. Since then, on the road to proper UVM testbench support, Antmicro has been working on adding various SystemVerilog constructs and UVM-specific elements into Verilator, which bring us much closer to the goal - the current status and next goals will be described in more detail in this blog note.

+

Verilator and UVM illustration

+

Tracking progress with a custom test suite

+

In the usual CHIPS Alliance fashion, in order to track progress in this long-term project and catch potential regressions, a custom test suite and dashboard was created to provide a concise overview of the current status and some statistics for the tests being executed. This is both informative and motivating, as ticking off consecutive corner cases is a tangible measure of progress. Potentially, this also makes it easy to provide new input to the effort in the form of test cases (e.g. SystemVerilog constructs or elements of testbenches that are known not to work) that need to be addressed, without the necessity to touch the internals of Verilator itself.

+

Thanks to a tight collaboration with Verilator maintainers, as well as a clean and traceable development methodology, many features and improvements outlined in this article, along with the event-driven simulation capability, are now part of Verilator 5.0, which opens the road to eventual mainline UVM support.

+

Verification features report screenshot

+

Improving existing Verilator features

+

A significant part of Antmicro’s efforts involved expanding features that were implemented in Verilator to some extent, but missing specific corner cases or syntactic capabilities. That was the case for concurrent assertions, which are checked with each clock cycle and return true if a certain signal change/state happened. In addition to assertions themselves, we added value sampling. As all sampled value functions are defined in Verilator in terms of the $past function, we focused on this one first, and ultimately ended up adding support for the following keywords:

+
    +
  • $rose
  • +
  • $fell
  • +
  • $changed
  • +
  • $stable
  • +
  • $past
  • +
+

Along with sampling improvements, we also added support for the “not” keyword and named properties in assertions.

+

Another improvement involved $test$plusargs: Verilator did not support expressions (e.g. arbitrary string concatenation) in the arguments of the $test$plusargs statement - it worked only for string literals for argument names, whereas now it works for arbitrary string-type expressions:

+
string bar = "bar";
+$test$plusargs({"foo",bar,"baz"});
+

Previously, Verilator had only rudimentary support for classes, however many of the more specific features were not supported. In UVM, class constructors often end with the return keyword, and in those cases Verilator returned an error due to a missing return type. Antmicro provided a fix for that, along with an improvement to the way super.new() calls are handled - some of the UVM classes contained constructors with arguments and when a child class called this constructor explicitly using super.new(), Verilator reported an error. This improvement is necessary to make it possible to inherit from a base class that has a constructor with arguments.

+

We’ve also added the possibility to use a foreach loop with an object type of string, as shown in the example below:

+
function foo;
+	string bar;
+	foreach (bar[i])
+    	$display(bar[i]);
+endfunction
+

The do while loop was also lacking support for the break and continue keywords, which required changes to how this kind of loop was processed.

+

Although Verilator supported the unique method, it did not support it with the with keyword. This keyword is used for specifying lambda-like constructs and is now supported in unique, unique_index, min and max in queues. The with keyword is now also supported for queue methods in some contexts, namely when accessing members of complex types and passing queue elements to functions.

+

Lastly, Verilator had rudimentary support for randomization using the randomize method, there was no support for constrained randomization - constraint declarations were silently ignored. To support them, the CRAVE library was extended and heavily adapted to mainline Verilator as a common frontend for several solvers. This enabled support for several cases:

+
    +
  • value-based constraints are supported,
  • +
  • soft constraints can be added and relaxed,
  • +
  • with clauses can be used to define dynamic constraints.
  • +
+

Note that adding full support for constrained randomization is a significant effort and the partial support has not been mainlined yet. If you still want to give this feature a try before it’s fully ready, you can use our fork which includes it.

+

Adding new features to Verilator

+

On top of the improvements mentioned above, we have also identified and implemented new features that can benefit Verilator and its users. For designs and testbenches we are working with, there are specific signal types that were not supported by Verilator. For example, we’ve added support for wildcard associative arrays (using wildcard index).

+

So far, Verilator only supported packed struts which cannot contain various types within them e.g. strings. We have now added support for unpacked structs and for the --structs-packed flag, allowing for their different memory layout as well as various types.

+

Another feature that we added to Verilator is support for virtual interfaces, which are required by UVM. Virtual interfaces are “pointers” to interfaces, their value represents an instance of the interface. That’s also the only way to access interfaces from within classes in SystemVerilog (an interface instance cannot be defined in class).

+

UVM makes extensive use of built-in classes provided by the std package. Until recently, Verilator didn’t allow instantiating classes defined outside the current package. The example below shows usage of the “foo” class which is outside of the “bar” package, which would not work before our changes.

+
class foo;
+endclass
+
+package bar;
+	function foo get_foo;
+    	foo baz = new;
+    	return baz;
+	endfunction
+endpackage
+

There were several outstanding issues in Verilator where the this keyword used as a reference or function argument was unsupported - they are now fixed. Verilator also lacked support for some of the classes present in the std package, namely std::semaphore and std::mailbox (parametrized variant), which are used in several places in the UVM library. Both classes are now supported.

+

Parameterized classes are the backbone of UVM. A significant portion of custom objects definitions in UVM is based on parameterized classes. Verilator did not support parameters in classes at all but thanks to the improvements introduced by Antmicro, the following parameterization features have been implemented:

+
    +
  • class parameters,
  • +
  • type parameters in classes,
  • +
  • parameterized subclasses,
  • +
  • scope resolution when accessing members of parameterized classes.
  • +
+

Signal strengths are used for so-called “conflict resolution”. Very basic signal strength support has been added to Verilator, including the following features:

+ +

The future of open source UVM support in Verilator

+

The improvements and additions described in this note, combined with Antmicro’s work on scaling Verilator even for very large designs and other efforts within CHIPS Alliance, are moving us one step closer to the next significant milestone, running the first SystemVerilog UVM testbench through Verilator. However, there are still some features that need to be added in order for some basic UVM testbenches to pass. These include the built-in process class, srandom class method, static local variables, recursive function/task calls, zero delays, constraint_mode method, more complete randomize(...) function support and more thorough type-parameterized classes support. You can watch Michael Gielda’s presentation from CHIPS Alliance Fall Technological Update 2022 in which he provides an overview of UVM support in Verilator. With upcoming new developments within this area, we will be posting more updates in the near future.

+

Antmicro’s other goals for the future include work with open source projects like Caliptra, which now has a dedicated CHIPS Alliance Workgroup, and further supporting instruction stream based verification frameworks like RISC-V DV.

+

Reach out at contact@antmicro.com to learn more about Antmicro’s efforts related to open source tools for ASIC development and how they can be implemented into your workflow, whether it’s based on UVM or not.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/progress-in-open-source-systemverilog-uvm-support-in-verilator/scaling-verilator--chips-alliance.png b/preview/97/news/progress-in-open-source-systemverilog-uvm-support-in-verilator/scaling-verilator--chips-alliance.png new file mode 100644 index 000000000..0e4cab051 Binary files /dev/null and b/preview/97/news/progress-in-open-source-systemverilog-uvm-support-in-verilator/scaling-verilator--chips-alliance.png differ diff --git a/preview/97/news/progress-in-open-source-systemverilog-uvm-support-in-verilator/uvm-support-in-verilator-illustration.svg b/preview/97/news/progress-in-open-source-systemverilog-uvm-support-in-verilator/uvm-support-in-verilator-illustration.svg new file mode 100644 index 000000000..9c8d34b09 --- /dev/null +++ b/preview/97/news/progress-in-open-source-systemverilog-uvm-support-in-verilator/uvm-support-in-verilator-illustration.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/preview/97/news/progress-in-open-source-systemverilog-uvm-support-in-verilator/uvm-support-in-verilator-report.svg b/preview/97/news/progress-in-open-source-systemverilog-uvm-support-in-verilator/uvm-support-in-verilator-report.svg new file mode 100644 index 000000000..cf956209a --- /dev/null +++ b/preview/97/news/progress-in-open-source-systemverilog-uvm-support-in-verilator/uvm-support-in-verilator-report.svg @@ -0,0 +1,142 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/preview/97/news/quicklogic-announces-open-reconfigurable-computing-initiative/PR_Antmicro_QuickLogic_blog.svg b/preview/97/news/quicklogic-announces-open-reconfigurable-computing-initiative/PR_Antmicro_QuickLogic_blog.svg new file mode 100644 index 000000000..b115e4376 --- /dev/null +++ b/preview/97/news/quicklogic-announces-open-reconfigurable-computing-initiative/PR_Antmicro_QuickLogic_blog.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/news/quicklogic-announces-open-reconfigurable-computing-initiative/index.html b/preview/97/news/quicklogic-announces-open-reconfigurable-computing-initiative/index.html new file mode 100644 index 000000000..c113f7e55 --- /dev/null +++ b/preview/97/news/quicklogic-announces-open-reconfigurable-computing-initiative/index.html @@ -0,0 +1,334 @@ + + + + + + + + + + + + + + +QuickLogic Announces Open Reconfigurable Computing Initiative | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

QuickLogic Announces Open Reconfigurable Computing Initiative

+
+
    +
  • +

    June 22, 2020

    +
  • +
  • +

    4 minutes

    +
  • +
  • +

    820 words

    +
  • +
+
+
+
+featured-image +
+

Originally issued by QuickLogic, the following press release announces the QORC initiative including the world’s first vendor-supported open FPGA toolchain using SymbiFlow, and describes the contribution of CHIPS Alliance members Antmicro and Google.

+
    +
  • QuickLogic Open Reconfigurable Computing (QORC) initiative, developed by Antmicro in collaboration with QuickLogic and Google, broadens access to company’s FPGA technology and eFPGA IP for all embedded systems developers
  • +
  • First Programmable Logic Company to Embrace Open Source FPGA Development Tools
  • +
+

San Jose, CA – June 16, 2020 – QuickLogic Corporation (NASDAQ: QUIK), a developer of ultra-low power multi-core voice-enabled SoCs, embedded FPGA IP, and Endpoint AI solutions, today announced its ground breaking QORC (QuickLogic Open Reconfigurable Computing) initiative, making it the first programmable logic vendor to actively embrace a fully open source suite of development tools for its FPGA devices and eFPGA technology. This initiative engenders the emerging trend toward open source tooling, significantly broadens access to the company’s products, and enables both hardware and software developers with tools supported by both the user community and QuickLogic.

+

+

The company’s initial open source development tools, developed by Antmicro in collaboration with QuickLogic and Google, include complete support for its EOS S3 low power voice and sensor processing MCU with embedded FPGA, and its PolarPro 3E discrete FPGA family. Support for additional QuickLogic products, including QuickAI and support for its eFPGA IP offering will be added over the next few months.

+

EOS S3 Open Source Development Tools:

+
    +
  • FPGA Development Flow: SymbiFlow – Open source tools for the optimization and automation of the FPGA design flow, from Verilog to bitstream generation. These tools enable innovation by making FPGAs more accessible to a broader community.
  • +
  • SoC Emulation: Renode – Antmicro’s Renode is an open source simulation framework for rapid prototyping, development and testing of multi-node systems. Utilizing Renode gives developers the flexibility to fully evaluate multiple development board applications.
  • +
  • Zephyr Real Time Operating System (RTOS) – The Zephyr RTOS is an open source, vendor-neutral, compact, real-time operating system running on the Arm Cortex® M4F for connected, resource-constrained and embedded devices in applications that require security and safety.
  • +
  • QuickFeather Development Kit – A small form factor, 100% open source hardware development kit ideal for the next generation of low-power Machine Learning (ML) capable IoT devices.
  • +
+

Traditionally, programmable logic vendors offered and supported only proprietary synthesis, place and route tools. Open source tools were relegated to hobbyists, academics, and independent consultants. However, the electronics industry is starting to see a shift toward open sourced hardware and software as it provides flexibility, vendor and community support, longevity, and adaptability to each engineer’s design flow. Google and Antmicro have been noteworthy influencers in this market, increasing the breadth of supported architectures and quality of results for the open source tools. They are now not only viable but desirable for the majority of the development community, including design teams at many of the industry’s largest companies.

+

“QORC is QuickLogic’s initiative to embrace the rapidly growing open source FPGA tooling ecosystem, inspiring engineers to collaborate on the creation of exciting and innovative products,” said Brian Faith, QuickLogic’s president and CEO. “We believe that the wide adoption of open source tools represents a paradigm shift for the industry, and we’re proud to be at the leading edge.”

+

“With its open source-centered approach, Antmicro has been moving the technological frontier, building whole ecosystems of non-proprietary solutions and overcoming the limitations inherent in closed technologies,” said Michael Gielda, Antmicro’s VP of Business Development. “We’ve been excited to participate in this historical first from QuickLogic, by contributing our expertise in software, hardware and tools to implement the necessary SymbiFlow, Renode and Zephyr support for their hardware platform – broadening their reach within the developer community.”

+

Availability

+

SymbiFlow FPGA, Renode SoC Emulation, and Zephyr RTOS support are available now for QuickLogic’s EOS S3 voice and sensor processing platform and PolarPro 3E FPGA products, as well as the new QuickFeather Development Kit. Support for QuickLogic’s embedded FPGA technology will be added later this year. To learn more, please visit www.quicklogic.com/QORC.

+

About QuickLogic

+

QuickLogic Corporation (NASDAQ: QUIK) is a fabless semiconductor company that develops low power, multi-core semiconductor platforms and Intellectual Property (IP) for Artificial Intelligence (AI), voice and sensor processing. The solutions include embedded FPGA IP (eFPGA) for hardware acceleration and pre-processing, and heterogeneous multi-core SoCs that integrate eFPGA with other processors and peripherals. The Analytics Toolkit from our recently acquired wholly-owned subsidiary, SensiML Corporation, completes the end-to-end solution with accurate sensor algorithms using AI technology. The full range of platforms, software tools and eFPGA IP enables the practical and efficient adoption of AI, voice, and sensor processing across mobile, wearable, hearable, consumer, industrial, edge and endpoint IoT. For more information, visit www.quicklogic.com and https://www.quicklogic.com/blog/.

+

QuickLogic and logo are registered trademarks and EOS and SensiML are trademarks of QuickLogic. All other trademarks are the property of their respective holders and should be treated as such.

+

Press Contact:

+

Andrea Vedanayagam
+Veda Communications
+408.656.4494
+pr@quicklogic.com

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/quicklogic-joins-chips-alliance-to-expand-open-source-fpga-efforts/index.html b/preview/97/news/quicklogic-joins-chips-alliance-to-expand-open-source-fpga-efforts/index.html new file mode 100644 index 000000000..abffcfd43 --- /dev/null +++ b/preview/97/news/quicklogic-joins-chips-alliance-to-expand-open-source-fpga-efforts/index.html @@ -0,0 +1,322 @@ + + + + + + + + + + + + + + +QuickLogic Joins CHIPS Alliance to Expand Open Source FPGA Efforts | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

QuickLogic Joins CHIPS Alliance to Expand Open Source FPGA Efforts

+
+
    +
  • +

    August 11, 2020

    +
  • +
  • +

    3 minutes

    +
  • +
  • +

    525 words

    +
  • +
+
+
+
+featured-image +
+

QuickLogic to present at the virtual CHIPS Alliance Workshop on Sept. 17

+

SAN FRANCISCO, Aug. 11, 2020 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced that QuickLogic Corporation (NASDAQ: QUIK), a developer of ultra-low power multi-core voice-enabled SoCs, embedded FPGA IP, and Endpoint AI solutions, has joined as its newest member.

+

“Over the past few years the electronics industry has seen a big shift towards open source hardware and software, and we’re proud to be one of the companies at the forefront of that movement,” said Brian Faith, president and CEO at QuickLogic. “We have already been working closely with several CHIPS Alliance members to make FPGA tools and devices more accessible, and we look forward to continuing these efforts as an official member of the organization.”

+

QuickLogic recently announced the QuickLogic Open Reconfigurable Computing (QORC) initiative to broaden access to open FPGA technology for embedded systems developers. QuickLogic’s initial open source development tools, developed in collaboration with CHIPS Alliance members Antmicro and Google, include complete support for QuickLogic’s EOS S3 low power voice and sensor processing MCU with an integrated embedded FPGA (eFPGA), and its PolarPro 3E discrete FPGA family.

+

Additionally, QuickLogic and Antmicro launched the first fully open source ArmⓇ CortexⓇ M4 MCU + eFPGA SoC dev kit, QuickFeather™. Antmicro added support for the QuickFeather dev kit into the Zephyr Real Time Operating System (RTOS), as well as in its open source Renode simulation framework. This small form factor development board is ideal for low-power machine learning (ML) capable IoT devices.

+

Said Dr. Zvonimir Bandić, Chairman, CHIPS Alliance: “The CHIPS Alliance is continuing to focus on expanding its member base with organizations from a diverse set of industries. QuickLogic, a leader in open source eFPGA IP and FPGA tooling, will help us drive innovation in the FPGA sector and further our mission to remove barriers for open hardware design.”

+

QuickLogic’s Brian Faith will present “Open Source FPGA Tooling, Our Journey from Resistance to Adoption” at the CHIPS Alliance Workshop, being held virtually on Thursday, September 17.

+

To see the full CHIPS Alliance Workshop schedule and register for the event, please visit: https://events.linuxfoundation.org/chips-alliance-workshop/program/schedule/.

+

About the CHIPS Alliance

+

The CHIPS Alliance is an organization which develops and hosts high-quality, open source hardware code (IP cores), interconnect IP (physical and logical protocols), and open source software development tools for design, verification, and more. The main aim is to provide a barrier-free collaborative environment, to lower the cost of developing IP and tools for hardware development. The CHIPS Alliance is hosted by the Linux Foundation. For more information, visit chipsalliance.org.

+

About the Linux Foundation

+

The Linux Foundation was founded in 2000 and has since become the world’s leading home for collaboration on open source software, open standards, open data, and open hardware. Today, the Foundation is supported by more than 1,000 members and its projects are critical to the world’s infrastructure, including Linux, Kubernetes, Node.js and more. The Linux Foundation focuses on employing best practices and addressing the needs of contributors, users, and solution providers to create sustainable models for open collaboration. For more information, visit linuxfoundation.org.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/recap-of-the-fall-2021-chips-alliance-workshop-rob-mains-chips-alliance/2021-10-CHIPS_Alliance-Sachin-Sapatnekar.pdf b/preview/97/news/recap-of-the-fall-2021-chips-alliance-workshop-rob-mains-chips-alliance/2021-10-CHIPS_Alliance-Sachin-Sapatnekar.pdf new file mode 100644 index 000000000..bd65070e3 Binary files /dev/null and b/preview/97/news/recap-of-the-fall-2021-chips-alliance-workshop-rob-mains-chips-alliance/2021-10-CHIPS_Alliance-Sachin-Sapatnekar.pdf differ diff --git a/preview/97/news/recap-of-the-fall-2021-chips-alliance-workshop-rob-mains-chips-alliance/ChiselTalk_ChipsAlliance_2021_October-Jack-Koenig.pdf b/preview/97/news/recap-of-the-fall-2021-chips-alliance-workshop-rob-mains-chips-alliance/ChiselTalk_ChipsAlliance_2021_October-Jack-Koenig.pdf new file mode 100644 index 000000000..4cec1b92f Binary files /dev/null and b/preview/97/news/recap-of-the-fall-2021-chips-alliance-workshop-rob-mains-chips-alliance/ChiselTalk_ChipsAlliance_2021_October-Jack-Koenig.pdf differ diff --git a/preview/97/news/recap-of-the-fall-2021-chips-alliance-workshop-rob-mains-chips-alliance/FPGA-Tooling-Interoperability-with-the-FPGA-Interchange-Format-Maciej-Kurc.pdf b/preview/97/news/recap-of-the-fall-2021-chips-alliance-workshop-rob-mains-chips-alliance/FPGA-Tooling-Interoperability-with-the-FPGA-Interchange-Format-Maciej-Kurc.pdf new file mode 100644 index 000000000..9ec8789e1 Binary files /dev/null and b/preview/97/news/recap-of-the-fall-2021-chips-alliance-workshop-rob-mains-chips-alliance/FPGA-Tooling-Interoperability-with-the-FPGA-Interchange-Format-Maciej-Kurc.pdf differ diff --git a/preview/97/news/recap-of-the-fall-2021-chips-alliance-workshop-rob-mains-chips-alliance/OXLPC_ChipsAlliance-Jaco-Hofmann.pdf b/preview/97/news/recap-of-the-fall-2021-chips-alliance-workshop-rob-mains-chips-alliance/OXLPC_ChipsAlliance-Jaco-Hofmann.pdf new file mode 100644 index 000000000..9880d904c Binary files /dev/null and b/preview/97/news/recap-of-the-fall-2021-chips-alliance-workshop-rob-mains-chips-alliance/OXLPC_ChipsAlliance-Jaco-Hofmann.pdf differ diff --git a/preview/97/news/recap-of-the-fall-2021-chips-alliance-workshop-rob-mains-chips-alliance/Open-Source-NVME-IP-with-AI-Acceleration-Karol-Gugala.pdf b/preview/97/news/recap-of-the-fall-2021-chips-alliance-workshop-rob-mains-chips-alliance/Open-Source-NVME-IP-with-AI-Acceleration-Karol-Gugala.pdf new file mode 100644 index 000000000..d4cf7644a Binary files /dev/null and b/preview/97/news/recap-of-the-fall-2021-chips-alliance-workshop-rob-mains-chips-alliance/Open-Source-NVME-IP-with-AI-Acceleration-Karol-Gugala.pdf differ diff --git a/preview/97/news/recap-of-the-fall-2021-chips-alliance-workshop-rob-mains-chips-alliance/OpenFASOC_-Open-Source-Fully-Autonomous-SoC-Synthesis-using-Customizable-Cell-Based-Synthesizable-Analog-Circuits-CHIPS-Alliance-Mehdi-Saligane.pdf b/preview/97/news/recap-of-the-fall-2021-chips-alliance-workshop-rob-mains-chips-alliance/OpenFASOC_-Open-Source-Fully-Autonomous-SoC-Synthesis-using-Customizable-Cell-Based-Synthesizable-Analog-Circuits-CHIPS-Alliance-Mehdi-Saligane.pdf new file mode 100644 index 000000000..b5e95085a Binary files /dev/null and b/preview/97/news/recap-of-the-fall-2021-chips-alliance-workshop-rob-mains-chips-alliance/OpenFASOC_-Open-Source-Fully-Autonomous-SoC-Synthesis-using-Customizable-Cell-Based-Synthesizable-Analog-Circuits-CHIPS-Alliance-Mehdi-Saligane.pdf differ diff --git a/preview/97/news/recap-of-the-fall-2021-chips-alliance-workshop-rob-mains-chips-alliance/Practical-Adoption-of-Open-Source-System-Verilog-Tools-CHIPS-Fall-Workshop-Michael-Gielda.pdf b/preview/97/news/recap-of-the-fall-2021-chips-alliance-workshop-rob-mains-chips-alliance/Practical-Adoption-of-Open-Source-System-Verilog-Tools-CHIPS-Fall-Workshop-Michael-Gielda.pdf new file mode 100644 index 000000000..0c2ace7d9 Binary files /dev/null and b/preview/97/news/recap-of-the-fall-2021-chips-alliance-workshop-rob-mains-chips-alliance/Practical-Adoption-of-Open-Source-System-Verilog-Tools-CHIPS-Fall-Workshop-Michael-Gielda.pdf differ diff --git a/preview/97/news/recap-of-the-fall-2021-chips-alliance-workshop-rob-mains-chips-alliance/index.html b/preview/97/news/recap-of-the-fall-2021-chips-alliance-workshop-rob-mains-chips-alliance/index.html new file mode 100644 index 000000000..1a724ce82 --- /dev/null +++ b/preview/97/news/recap-of-the-fall-2021-chips-alliance-workshop-rob-mains-chips-alliance/index.html @@ -0,0 +1,339 @@ + + + + + + + + + + + + + + +Recap of the Fall 2021 CHIPS Alliance Workshop | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

Recap of the Fall 2021 CHIPS Alliance Workshop

+
+
    +
  • +

    October 26, 2021

    +
  • +
  • +

    6 minutes

    +
  • +
  • +

    1106 words

    +
  • +
+
+
+
+featured-image +
+

We recently held our fall 2021 CHIPS Alliance workshop with nearly 160 attendees present for informative seminars covering a range of topics including porting Android to RISC-V, open source ASIC design and FPGA tooling, and OmniXtend. In case you missed the talks, a replay is available on the CHIPS Alliance YouTube channel.

+

During the seminar, we had eight exciting technical presentations, including:

+ +

Each of these talks provided informative, technical details of key aspects of the work underway by members of CHIPS Alliance who are working in an open, collaborative fashion. Of particular interest are the following topic areas:

+

Porting Android to RISC-V

+

The presence of RISC-V is significantly growing, thanks in part to its applicability for the IoT, mobile market, and even the data center. Alibaba shared its experience porting the Android operating system to RISC-V, discussing their challenges and successes, and what is needed to help build out the ecosystem for the RISC-V ISA.

+

Design Languages: Practical Adoption of Open Source SystemVerilog Tools, and Chisel and FIRRTL for Next Generation SoC Designs

+

These two talks showcased the continuing efforts to build robust support for different design description languages.

+

In the first talk, Antmicro provided an overview on the latest developments in open source SystemVerilog tooling, covering the construction of the ecosystem and efforts to support SystemVerilog more robustly, including the creation of a Universal Hardware Data Model (UHDM), continued support of two industry-grade SystemVerilog parsers – Surelog and Verible – as well as a set of tests and scoreboard to determine the quality of different SystemVerilog applications and work towards UVM support in Verilator.

+

From CI-assisted linting and formatting to fully open source synthesis and simulation, the talk pointed out that adding SV support to open ASIC design flows is a way to make emerging ecosystems such as OpenLANE/OpenROAD work with the growing number of designs described in this language (e.g. OpenTitan’s Ibex/Earl Grey, OHG’s Core-V, University of Washington’s BlackParrot, or CHIPS Alliance’s SWeRV). The future of open ASIC design, as spearheaded by members of CHIPS, will be pluralistic.

+

The talk on Chisel and FIRRTL updated the community on the progress with the Chisel design language, which is based upon Scala. For those who are unfamiliar, this introduces object oriented design concepts and expression to a hardware design language. Similar to what occurred in software, the introduction of object oriented concepts serves to increase the productivity of a hardware design engineer. FIRRTL provides a hardware compiler for a design described in Chisel. A key feature of this is the ability to natively embed formal verification as part of the design, which is typically a difficult task. FIRRTL also enables target output to different applications including Verilator for functional verification, OpenROAD for physical implementation, and for FPGA emulation.

+

FPGA Tooling Interoperability with the FPGA Interchange Format

+

Over the past few years, FPGAs have become a strategic component in the arsenal of different computational platforms, from labs and desktops to datacenters. Their flexibility to be dynamically reconfigured based upon updates to underlying changes in the hardware design and its emulation make them very helpful for rapid prototyping of new ideas and quickly moving into production. This has been a tremendous benefit for the rapid development and deployment of new machine learning algorithms and their usage in the datacenter.

+

This talk discussed work to provide a common open device and design representation format, enabling various FPGA design toolchains (both open source and proprietary) to seamlessly interoperate in a design build task. With the Interchange format in place a designer can choose between tools available in different toolchains (e.g. place design with an open source flow, and later route it with a proprietary one).This will enable different companies, universities, and individuals to focus on research and development on a certain part of the flow, without the necessity of implementing the whole toolchain at once.

+

OmniXtend Scalability and LPC

+

This session highlighted the progress of the joint working group with RISC-V International on the cache coherency project, which is making the protocol extensible to a family of participant devices. The talk started with a brief tutorial on the nature of OmniXtend. This update specifically highlighted the extension of OmniXtend to be able to dynamically detect the addition or subtraction of devices to the shared bus between intelligent devices. This 1.1 version of the protocol will be fully released under the Apache 2.0 license in Github.

+

Open Source NVME IP with AI Acceleration

+

This talk discussed the need for machine learning accelerators in proximity to data storage. The talk covered the overall architecture of a data-centric, parallel processing system developed by Antmicro in collaboration with Western Digital, including FPGA implementation of the NVMe core and software architecture with Zephyr RTOS running on the Cortex-R5 RPU and Linux on the Cortex-A53 core of the Xilinx UltraScale MPSoC chip. Both systems use OpenAMP for asynchronous communication, allowing the RTOS to handle base NVMe commands and delegate the rest to the Linux application. To speed up ML algorithm inference, VTA (an open source FPGA AI accelerator) was employed. The ML algorithms were developed using TensorFlow Lite.

+

Analog design automation: OpenFASOC and ALIGN

+

Analog design is still considered magic to most of us. Unbeknownst to many, analog is a key part of many of the electronic devices we enjoy, not the least of which is the mighty smartphone. Analog design is typically the long pole in a chip design schedule, often performed by a select group of engineers and done primarily by manual means. Both of these talks discussed efforts to automate the analog design process, significantly improving the productivity of the design team, reducing the time to market, and also enabling technology migration from process node to node.

+

Our next technical talk will be a CHIPS Deep Dive Cafe Talk on Tuesday, Nov. 9 at 8 a.m. PT entitled “Learning To Play the Game of Macro Placement with Deep Reinforcement” by Young-Joon Lee of Google. I hope you are able to join us for this exciting and informative talk. To register, please visit here.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/recap-of-the-fall-2021-chips-alliance-workshop-rob-mains-chips-alliance/porting-android-chips_alliance-slides-v1.2-Han-Mao.pdf b/preview/97/news/recap-of-the-fall-2021-chips-alliance-workshop-rob-mains-chips-alliance/porting-android-chips_alliance-slides-v1.2-Han-Mao.pdf new file mode 100644 index 000000000..5d6cecce2 Binary files /dev/null and b/preview/97/news/recap-of-the-fall-2021-chips-alliance-workshop-rob-mains-chips-alliance/porting-android-chips_alliance-slides-v1.2-Han-Mao.pdf differ diff --git a/preview/97/news/renode-and-verilator-polarfire-soc-and-fastvdma/Co-simulating-FastVDMA-PF-SoC.png b/preview/97/news/renode-and-verilator-polarfire-soc-and-fastvdma/Co-simulating-FastVDMA-PF-SoC.png new file mode 100644 index 000000000..ba60fa5a3 Binary files /dev/null and b/preview/97/news/renode-and-verilator-polarfire-soc-and-fastvdma/Co-simulating-FastVDMA-PF-SoC.png differ diff --git a/preview/97/news/renode-and-verilator-polarfire-soc-and-fastvdma/icicle-kit-with-antmicro-hdmi-board.jpg b/preview/97/news/renode-and-verilator-polarfire-soc-and-fastvdma/icicle-kit-with-antmicro-hdmi-board.jpg new file mode 100644 index 000000000..489e6015e Binary files /dev/null and b/preview/97/news/renode-and-verilator-polarfire-soc-and-fastvdma/icicle-kit-with-antmicro-hdmi-board.jpg differ diff --git a/preview/97/news/renode-and-verilator-polarfire-soc-and-fastvdma/index.html b/preview/97/news/renode-and-verilator-polarfire-soc-and-fastvdma/index.html new file mode 100644 index 000000000..9f0687ce3 --- /dev/null +++ b/preview/97/news/renode-and-verilator-polarfire-soc-and-fastvdma/index.html @@ -0,0 +1,371 @@ + + + + + + + + + + + + + + +Advanced Co-simulation with Renode and Verilator: PolarFire SoC and FastVDMA | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

Advanced Co-simulation with Renode and Verilator: PolarFire SoC and FastVDMA

+
+
    +
  • +

    July 20, 2021

    +
  • +
  • +

    6 minutes

    +
  • +
  • +

    1130 words

    +
  • +
+
+
+
+featured-image +
+

This post was originally published at Antmicro.

+

Co-simulating HDL has been possible in Renode since the 1.7.1 release, but the functionality – critical for hardware/software co-development as well as FPGA use cases – is constantly evolving based on the needs of our customers like Google and Microchip as well as our work in open source groups including CHIPS Alliance and RISC-V International. To quickly recap, by co-simulation we mean a scenario where a part of the system is simulated in Renode but some specific peripheral or subsystem is simulated directly from HDL, e.g. Verilog. To achieve this, Renode integrates with Verilator, a fast and popular open source HDL simulator, which we are helping our customers adopt as well as expanding its capabilities to cover new use cases. Peripherals simulated directly from HDL are typically called Verilated peripherals.

+

Why co-simulate?

+

Co-simulation is a highly effective approach to testing IP cores in complex scenarios. HDL simulation is typically much slower than functional simulation, so to cut down on development turnaround time you can partition your design into a fixed part that you can simulate fast using Renode and the IP you are developing that you can co-simulate using Verilator. Renode offers a lot of ready-to-use components – for which you do not need to have a hardware description – which can be put together to provide a complete system to test new IP core designs.

+

Co-simulation in Renode so far

+

For more than a year now, Renode has supported using AXI4-Lite and Wishbone buses for the Verilated peripherals’ communication with the rest of the system. As can be seen with the Verilated UART examples included with Renode, these can be used not only to receive data from, but also to send data to the peripheral. Additionally, because Renode can simulate external interfaces, you can easily open a window for such a UART (with showAnalyzer command during simulation) and the whole interaction is driven by UART’s TX and RX signals.

+

Diagram depicting FastVDMA co-simulation

+

The riscv_verilated_liteuart.resc script shows the interaction between the system based on the VexRiscv CPU implemented in Renode and the UART based on an HDL model simulated with Verilator that together enable users to work with Zephyr’s shell interactively.

+

In these examples, however, all the communication is initiated from Renode’s side by either reading from or writing to UART. There is no way for the peripheral to trigger the communication, which limited use-cases where the co-simulation could have been used.

+

New co-simulation features

+

Thanks to our work with Microchip and Google, since Renode 1.12 new features are available in the VerilatorPlugin; the most important change is introducing the ability for a Verilated peripheral to trigger communication with other elements of the system. The Renode API was expanded to accommodate the new features. There are now two new actions in the co-simulating communication which enable a Verilated peripheral to initialize communication with Renode by sending data to or requesting data from the system bus.

+

Support for the AXI4 bus was also added. This is different from the AXI4-Lite bus, which only implements a subset of AXI4 features. The Verilated peripheral can either act on AXI4 bus as a controller that requests accesses (therefore utilizing these new Renode API actions) or as a peripheral (in the AXI4 bus context) that is only requested to take some action.

+

How it works

+

Creating a Renode agent (which handles an HDL model’s connection with Renode) with a role chosen for your peripheral is as simple as including an appropriate header and connecting signals. For example, FastVDMA acts as a controller on AXI4 bus with the following code in a file creating its Renode agent:

+
#include "src/buses/axi-slave.h"
+VDMATop *top;
+
+void Init() {
+    AxiSlave* slaveBus = new AxiSlave(32, 32);
+	
+	
+    slaveBus->aclk = &top->clock;
+    slaveBus->aresetn = &top->reset;
+
+    slaveBus->awid = &top->io_write_aw_awid;
+    slaveBus->awaddr = (uint32_t *)&top->io_write_aw_awaddr;
+
+    // Connecting the rest of the signals to the bus
+

Another new feature is the ability to connect the Verilated peripheral through multiple buses. For example, now it’s possible to have a peripheral connected to both AXI4 and AXI4-Lite buses, which enables even more complex HDL models to be tested with Renode. This is the case of the FastVDMA, which is connected this way:

+
#include "src/buses/axi-slave.h"
+#include "src/buses/axilite.h"
+
+RenodeAgent *fastvdma;
+
+void Init() {
+	AxiLite* bus = new AxiLite();
+	AxiSlave* slaveBus = new AxiSlave(32, 32);
+
+	// Initializing both buses’ signals
+
+	//=================================================
+	// Init eval function
+	//=================================================
+	bus->evaluateModel = &eval;
+	slaveBus->evaluateModel = &eval;
+
+	//=================================================
+	// Init peripheral
+	//=================================================
+	fastvdma = new RenodeAgent(bus);
+	fastvdma->addBus(slaveBus);
+
+	slaveBus->setAgent(fastvdma);
+}
+

FastVDMA

+

Fast Versatile DMA (FastVDMA) is a Direct Memory Access controller designed with portability and customizability in mind. It is an open source IP core developed by Antmicro in 2019 that is written in Chisel. It is a very versatile DMA controller because of the range of supported buses. It can be controlled through an AXI4-Lite or Wishbone bus while the data can be transmitted through either an AXI4, AXI4-Stream or Wishbone. Since its inception it has been used in a number of projects, e.g., bringing a GUI to krktl’s snickerdoodle. For more information it’s best to head to the original blog note about FastVDMA.

+

Expanding the PolarFire SoC ecosystem

+

Through Antmicro’s long-term partnership with Microchip, Renode is a vital part of the PolarFire SoC developer experience. Microchip customers are using the Renode integration with the vendor’s default SoftConsole IDE to develop software for the PolarFire SoC platform and it’s development board, the Icicle Kit.

+

PolarFire Icicle with Antmicro’s HDMI breakout board

+

With the latest co-simulation capabilities, developers are able to explore a combination of hard and soft IP, developing their FPGA payload and verifying it within Renode. This allows them to work on advanced projects, from graphic output support similar to the one we implemented for snickerdoodle with FastVDMA (possibly employing our open-hardware HDMI board for Icicle Kit), through advanced FPGA-based crypto solutions, to design-space exploration and pre-silicon development, with the debugging and testing capabilities native to Renode.

+

To see how Renode allows you to simulate complex setups with multiple co-simulated IP blocks, see our tests of Verilated FastVDMA plus Verilated RAM.

+

It’s worth noting that as these blocks are isolated and interconnected only via Renode, you can easily prepare setups in which peripherals use different busses to connect. This gives you an ability to focus on the interesting details and to prepare your systems from building blocks more easily.

+

Commercial support

+

If you’d like to speed up the development of your ASIC or FPGA solution using the advantages of advanced co-simulation, Antmicro offers commercial support and engineering services around Renode, Verilator and other tools, as well as FPGA and ASIC design, hardware, software and cloud services. We work with organizations like CHIPS Alliance and RISC-V International enable a more software-driven hardware ecosystem based by open source. For a full list of our open source activity, head to our open source portal.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/risc-v-international-omnixtend-working-group/index.html b/preview/97/news/risc-v-international-omnixtend-working-group/index.html new file mode 100644 index 000000000..a9d359898 --- /dev/null +++ b/preview/97/news/risc-v-international-omnixtend-working-group/index.html @@ -0,0 +1,321 @@ + + + + + + + + + + + + + + +CHIPS Alliance and RISC-V International Invite the RISC-V Community to Participate in Updating a New Unified Memory Architecture Standard | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

CHIPS Alliance and RISC-V International Invite the RISC-V Community to Participate in Updating a New Unified Memory Architecture Standard

+
+
    +
  • +

    March 24, 2021

    +
  • +
  • +

    4 minutes

    +
  • +
  • +

    681 words

    +
  • +
+
+
+
+featured-image +
+

New joint working group will enhance the OmniXtend Cache Coherency architecture

+

SAN FRANCISCO, March 24, 2020RISC-V International, a non-profit corporation controlled by its members to drive the adoption and implementation of the free and open RISC-V instruction set architecture (ISA), and CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced a joint collaboration to update the OmniXtend Cache Coherency specification and protocol, along with building out developer tools for OmniXtend.

+

As part of this collaboration, RISC-V International and CHIPS Alliance have formed a new OmniXtend working group which will focus on creating an open, cache coherent, unified memory standard for multicore compute architectures. The group will update the OmniXtend specification and protocol, build out architectural simulation models and a reference register-transfer level (RTL) implementation, as well as create a verification workbench. These tools for an open, standard unified memory coherency bus leveraging OmniXtend will make it easier for designers to take advantage of OmniXtend for data-centric applications.

+

“As RISC-V International develops implementation independent specifications and ecosystem components, it is an important priority for us to ensure that whatever we develop will work with emerging and established standards. The joint working group will interact with various RISC-V groups to review the OmniXtend protocol with an emphasis on cache management and paying close attention to coherency enablement for RISC-V members,” said Mark Himelstein, CTO at RISC-V International. “As a result of this joint effort, the RISC-V community will have the tools they need to leverage an open, coherent, unified memory standard for all types of data-centric applications.”

+

“The newly formed OmniXtend working group will set the standard for open, coherent heterogeneous compute architectures. We plan to allow for a mixture of hardware IP blocks, giving developers more design flexibility so they can choose what works best for their specific application needs,” said Rob Mains, General Manager at CHIPS Alliance. “We encourage the RISC-V community to get involved in this important initiative which will open new design possibilities with OmniXtend.”

+

Dejan Vucinic of Western Digital will be giving a talk on OmniXtend at the CHIPS Alliance Spring Workshop on March 30, 2021. The event will also cover the AIB chiplet ecosystem, SWeRV Core support, FPGA tooling and much more. To register for this free virtual event, please visit: https://events.linuxfoundation.org/chips-alliance-spring-workshop/register/.

+

To learn more about the OmniXtend working group, please visit: https://lists.chipsalliance.org/g/riscv-omnixtend-wg.

+

About RISC-V International

+

RISC-V is a free and open ISA enabling a new era of processor innovation through open collaboration. Founded in 2015, RISC-V International is composed of more than 1,300 members building the first open, collaborative community of software and hardware innovators powering a new era of processor innovation. The RISC-V ISA delivers a new level of free, extensible software and hardware freedom on architecture, paving the way for the next 50 years of computing design and innovation.

+

RISC-V International, a non-profit organization controlled by its members, directs the future development and drives the adoption of the RISC-V ISA. Members of RISC-V International have access to and participate in the development of the RISC-V ISA specifications and related HW / SW ecosystem.

+

About the CHIPS Alliance

+

The CHIPS Alliance is an organization which develops and hosts high-quality, open source hardware code (IP cores), interconnect IP (physical and logical protocols), and open source software development tools for design, verification, and more. The main aim is to provide a barrier-free collaborative environment, to lower the cost of developing IP and tools for hardware development. The CHIPS Alliance is hosted by the Linux Foundation. For more information, visit chipsalliance.org.

+

About the Linux Foundation

+

The Linux Foundation was founded in 2000 and has since become the world’s leading home for collaboration on open source software, open standards, open data, and open hardware. Today, the Foundation is supported by more than 1,000 members and its projects are critical to the world’s infrastructure, including Linux, Kubernetes, Node.js and more. The Linux Foundation focuses on employing best practices and addressing the needs of contributors, users, and solution providers to create sustainable models for open collaboration. For more information, visit linuxfoundation.org.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/risc-v-international-omnixtend-working-group/share.png b/preview/97/news/risc-v-international-omnixtend-working-group/share.png new file mode 100644 index 000000000..e9a26064c Binary files /dev/null and b/preview/97/news/risc-v-international-omnixtend-working-group/share.png differ diff --git a/preview/97/news/sata-design-implementation-on-fpgas-with-open-source-tools/Running-open-source-SATA-diagram.svg b/preview/97/news/sata-design-implementation-on-fpgas-with-open-source-tools/Running-open-source-SATA-diagram.svg new file mode 100644 index 000000000..568b20810 --- /dev/null +++ b/preview/97/news/sata-design-implementation-on-fpgas-with-open-source-tools/Running-open-source-SATA-diagram.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/news/sata-design-implementation-on-fpgas-with-open-source-tools/index.html b/preview/97/news/sata-design-implementation-on-fpgas-with-open-source-tools/index.html new file mode 100644 index 000000000..fa062a376 --- /dev/null +++ b/preview/97/news/sata-design-implementation-on-fpgas-with-open-source-tools/index.html @@ -0,0 +1,350 @@ + + + + + + + + + + + + + + +SATA Design Implementation on FPGAs with Open Source Tools | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

SATA Design Implementation on FPGAs with Open Source Tools

+
+
    +
  • +

    January 5, 2022

    +
  • +
  • +

    5 minutes

    +
  • +
  • +

    991 words

    +
  • +
+
+
+
+featured-image +
+

This post was originally published at Antmicro.

+

Real-world FPGAs designs often require high rate transmission protocols such as PCIe, USB and SATA which rely on high speed transceivers for external communication. These protocols are used to interface with various devices such as graphics cards and storage devices, and many of our clients reach out to us specifically because they need the flexibility, high-throughput and low-latency characteristics of FPGAs.

+

In particular, for customers that deal with high data volumes (which is very common in video applications), implementing SATA to communicate and transfer data with e.g. an SSD hard drive is a must.

+

Since Antmicro believes in an open source, vendor neutral approach to FPGAs, today we will describe how to build a SATA-enabled system using a completely open source flow, including the hardware platform, FPGA IP as well as, perhaps most importantly, tooling which we have been developing as part our bigger effort within CHIPS Alliance.

+

Origin and motivation

+

Antmicro is a pioneer in a software-driven approach to developing FPGAs. On top of new hardware description languages, open source IP and software that have been gaining traction in the FPGA space, one necessary missing element has been open source tooling. Open tools allow a workflow more familiar to software developers, who are used to just downloading their toolchain without having to log in anywhere or managing licenses.

+

Moreover, open tools provide the great advantage of easy to set up CI systems that keep track of regressions and allow more efficient and robust development.

+

Some of our forward-looking customers such as Google require these kinds of workflows to take full control of their development toolchain, for various reasons: security, development productivity, scale. Others, like QuickLogic, who thanks to the cooperation with us are the first ever FPGA vendor company to fully embrace open source tools, are looking to deliver a more tailored experience to their own customers, which is easier to do based on open source.

+

To prove the viability of open source FPGA tools, being able to implement high-speed interfaces to verify how the toolchain handles high-speed transceivers is key; thus, a fully open source SATA is a very good target, especially that an open source core, LiteSATA, was available in our favorite open source SoC generator for FPGAs, LiteX. What was missing was a hardware platform, putting it all together, and – of course – tools.

+

Hardware setup

+

The SATA design we developed is meant to run on top of a Nexys Video board from Digilent, featuring an Artix7 200T Xilinx FPGA, coupled with custom expansion board connected through the FMC connector and hosting an M.2 SSD module. Thanks to the FMC connector on the Nexys Video we achieved a relatively simple and modular hardware setup.

+

The FMC expansion board, developed by Antmicro, is fully open-sourced and available on GithHub.

+

Open source SATA hardware setup

+

FPGA gateware and system block diagram

+

The FPGA design is generated with the LiteX SoC builder and the main components that we used are:

+
    +
  • The VexRiscV RISC-V CPU
  • +
  • The LiteDRAM controller to communicate with the DDR Memory
  • +
  • The LiteSATA core to communicate with the SSD module on the custom expansion board
  • +
  • a UART controller to be able to control the system from the host
  • +
+

Moreover, the software running in the SoC includes a simple BIOS that can perform SATA initialization and basic read and write operations of the sectors in the SSD drive.

+

Running open source SATA diagram

+

Open source toolchain

+

The SATA setup proves that high speed protocols can be enabled on mainstream FPGAs such as Xilinx 7-series with an open source toolchain, with Yosys for synthesis and VPR for place and route. The LiteSATA IP core makes use of so-called GTP hard blocks, and in fact one of the main challenges we dealt with here was enabling these hard blocks in the Artix-7 architecture definition to get an end-to-end open source toolchain.

+

Other than enabling more coverage of popular FPGAs, much of our current FPGA toolchain effort goes into increasing the interoperability of tools like VPR and nextpnr as well as their proprietary counterparts to enable a more collaborative ecosystem which would enable the community – including universities, commercial companies, FPGA vendors and individual developers – to tackle the ambitious goal of open source FPGAs together.

+

For more information on the FPGA interchange and how much value it brings to the open source FPGA tooling refer to the dedicated Antmicro blog note. In the future, once that work is at a more advanced stage, LiteSATA will be one of the first example designs to be tested with the FPGA interchange-enabled tools.

+

Building and running the setup

+

The FPGA SATA design is available in the symbiflow-examples repository and can be built with the open toolchain, and run on the hardware setup described above.

+

After following the instructions to install the toolchain and preparing the environment, run the following to build the LiteX SATA design:

+
cd xc7
+make TARGET=”nexys_video” -C litex_sata_demo
+

When the bitstream is generated, you can find it in the build directory under litex_sata_demo/build/nexys_video.

+

To load the bitstream on the Nexys Video board you can use the OpenFPGALoader tool, which has support for the board.

+

Once the bitstream is loaded on the FPGA, you can access the BIOS console through the UART connected to your host system and run the following (note that X depends on the assigned USB device):

+
picocom --baud 115200 /dev/ttyUSBX
+

When the LiteX BIOS gives you control, you need to perform the SATA initialization before being able to read and write sectors on the drive. See the output below:

+

Running LiteSATA with SymbiFlow in console

+

Future goals

+

The work on enabling the SATA protocol in a fully open source flow was one of the steps on the way towards supporting PCIe in the toolchain which will unlock even more advanced use cases. PCIe can be used for a variety of purposes, such as connecting external graphic cards or accelerators to an FPGA design, and generally enable even faster transmission rates from and to the FPGA chip.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/sata-design-implementation-on-fpgas-with-open-source-tools/litesata-console.png b/preview/97/news/sata-design-implementation-on-fpgas-with-open-source-tools/litesata-console.png new file mode 100644 index 000000000..2950e4590 Binary files /dev/null and b/preview/97/news/sata-design-implementation-on-fpgas-with-open-source-tools/litesata-console.png differ diff --git a/preview/97/news/sata-design-implementation-on-fpgas-with-open-source-tools/running-open-source-sata-hardware.jpg b/preview/97/news/sata-design-implementation-on-fpgas-with-open-source-tools/running-open-source-sata-hardware.jpg new file mode 100644 index 000000000..b77a993e1 Binary files /dev/null and b/preview/97/news/sata-design-implementation-on-fpgas-with-open-source-tools/running-open-source-sata-hardware.jpg differ diff --git a/preview/97/news/sata-design-implementation-on-fpgas-with-open-source-tools/share.png b/preview/97/news/sata-design-implementation-on-fpgas-with-open-source-tools/share.png new file mode 100644 index 000000000..f4c29f661 Binary files /dev/null and b/preview/97/news/sata-design-implementation-on-fpgas-with-open-source-tools/share.png differ diff --git a/preview/97/news/semiconductor-engineering-swerv-core-eh2/index.html b/preview/97/news/semiconductor-engineering-swerv-core-eh2/index.html new file mode 100644 index 000000000..a47b1f1fc --- /dev/null +++ b/preview/97/news/semiconductor-engineering-swerv-core-eh2/index.html @@ -0,0 +1,309 @@ + + + + + + + + + + + + + + +Semiconductor Engineering: About The SweRV Core EH2 | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

Semiconductor Engineering: About The SweRV Core EH2

+
+
    +
  • +

    June 25, 2020

    +
  • +
  • +

    1 minutes

    +
  • +
  • +

    144 words

    +
  • +
+
+
+
+featured-image +
+

In mid-May, CHIPS Alliance announced the open sourcing of the SweRV Core EH2 and SweRV Core EL2 designed by Western Digital. These cores, as well as the earlier EH1, are now supported by Codasip’s SweRV Core Support Package which provides all of the components necessary to design, implement, test, and write software for a SweRV Core-based system-on-chip. But what is SweRV Core EH2?

+

The SweRV Core EH1 was the first to be released through CHIPS Alliance and was a core aimed at high-end embedded applications including Western Digital’s flash controllers and SSDs. The core is a dual issue, superscalar, high-performance core with 9 pipeline stages. The EH2 is an exciting further development aimed at delivering even more performance for IoT, artificial intelligence and data-intensive embedded applications.

+

To read more, please check out the article at Semiconductor Engineering written by Roddy Urquhart at Codasip: https://semiengineering.com/about-the-swerv-core-eh2/.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/skywater-technology-joins-chips-alliance-to-further-efforts-to-make-chip-design-and-production-more-accessible/index.html b/preview/97/news/skywater-technology-joins-chips-alliance-to-further-efforts-to-make-chip-design-and-production-more-accessible/index.html new file mode 100644 index 000000000..89ac40861 --- /dev/null +++ b/preview/97/news/skywater-technology-joins-chips-alliance-to-further-efforts-to-make-chip-design-and-production-more-accessible/index.html @@ -0,0 +1,317 @@ + + + + + + + + + + + + + + +SkyWater Technology Joins CHIPS Alliance to Further Efforts to Make Chip Design and Production More Accessible | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

SkyWater Technology Joins CHIPS Alliance to Further Efforts to Make Chip Design and Production More Accessible

+
+
    +
  • +

    September 16, 2021

    +
  • +
  • +

    3 minutes

    +
  • +
  • +

    596 words

    +
  • +
+
+
+
+featured-image +
+

SkyWater furthers collaboration with CHIPS Alliance members on open source shuttle projects

+

SAN FRANCISCO, Sept. 16, 2021 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced that SkyWater Technology (NASDAQ: SKYT) has become a member of the organization. SkyWater provides custom development, volume manufacturing and advanced packaging services for a wide range of silicon, including solutions based on the free and open RISC-V instruction set architecture (ISA).

+

“The pace of open source hardware innovation is continuing to heat up. We are proud to have helped make it possible to design, verify and manufacture SoCs that have been entirely developed with open source technologies, from process technology to intellectual property and the automation environment,” said Ross Miller, Vice President, Strategic Marketing & Business Unit at SkyWater Technology. “CHIPS Alliance has already generated strong momentum with its work and we look forward to collaborating with the organization and its membership to take open source innovation to new heights.”

+

In May 2021, SkyWater and fellow CHIPS Alliance member Efabless launched the chipIgnite program to bring chip design and fabrication to the masses. SkyWater’s open source 130 nm CMOS platform will be used to fabricate chips for the chipIgnite program. The automotive-grade mixed-signal platform is well suited for IoT and edge computing as it is designed to support both digital and analog circuits with embedded non-volatile memory for a wide range of SoC architectures. Open source designs and private commercial designs that include non-open source IP are both eligible to participate in the program.

+

The chipIgnite program extends SkyWater’s work with Google, eFabless, Antmicro and the OpenROAD project, among other partners, on the Open MPW Shuttle Program. The multi-project wafer (MPW) program provides fabrication for fully open source projects using SkyWater’s Open Source PDK. Costs for fabrication, packaging, evaluation boards and shipping are covered by Google. During the first round of the shuttle run, called MPW-ONE, 40 open source designs were selected to be fabricated at no cost to designers; 60 percent of those designs were submitted by first-time ASIC designers. The second phase, MPW-TWO, is in progress now and the parts and assembled boards will be shipped to the project owners by the end of the year.

+

“The chipIgnite and MPW programs that SkyWater has enabled perfectly align with CHIPS Alliance’s mission to make chip design more accessible, while significantly reducing the cost of creating and fabricating chips,” said Rob Mains, General Manager at CHIPS Alliance. “We are pleased to have SkyWater formally join CHIPS Alliance as we continue to collaborate to break down the barriers of chip design.”

+

About the CHIPS Alliance

+

The CHIPS Alliance is an organization which develops and hosts high-quality, open source hardware code (IP cores), interconnect IP (physical and logical protocols), and open source software development tools for design, verification, and more. The main aim is to provide a barrier-free collaborative environment, to lower the cost of developing IP and tools for hardware development. The CHIPS Alliance is hosted by the Linux Foundation. For more information, visit chipsalliance.org.

+

About the Linux Foundation

+

The Linux Foundation was founded in 2000 and has since become the world’s leading home for collaboration on open source software, open standards, open data, and open hardware. Today, the Foundation is supported by more than 1,000 members and its projects are critical to the world’s infrastructure, including Linux, Kubernetes, Node.js and more. The Linux Foundation focuses on employing best practices and addressing the needs of contributors, users, and solution providers to create sustainable models for open collaboration. For more information, visit linuxfoundation.org.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/skywater-technology-joins-chips-alliance-to-further-efforts-to-make-chip-design-and-production-more-accessible/share.png b/preview/97/news/skywater-technology-joins-chips-alliance-to-further-efforts-to-make-chip-design-and-production-more-accessible/share.png new file mode 100644 index 000000000..a8bc6a7c6 Binary files /dev/null and b/preview/97/news/skywater-technology-joins-chips-alliance-to-further-efforts-to-make-chip-design-and-production-more-accessible/share.png differ diff --git a/preview/97/news/skywater/index.html b/preview/97/news/skywater/index.html new file mode 100644 index 000000000..9582d1325 --- /dev/null +++ b/preview/97/news/skywater/index.html @@ -0,0 +1,308 @@ + + + + + + + + + + + + + + +Skywater | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

Skywater

+
+
    +
  • +

    August 6, 2022

    +
  • +
  • +

    1 minutes

    +
  • +
  • +

    74 words

    +
  • +
+
+
+
+featured-image +
+

It’s great to learn that Google announced the expansion of its partnership with SkyWater Technology. They are working together to release an open source process design kit (PDK) for SKY90-FD, SkyWater’s commercial 90nm fully depleted silicon on insulator (FDSOI) CMOS process technology. SKY90-FD is based on MIT Lincoln Laboratory’s 90 nm commercial FDSOI technology, and enables designers to create complex integrated circuits for a diverse range of applications.

+

You can read more @ https://opensource.googleblog.com/2022/07/SkyWater-and-Google-expand-open-source-program-to-new-90nm-technology.html

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/skywater/share.png b/preview/97/news/skywater/share.png new file mode 100644 index 000000000..9d658caa9 Binary files /dev/null and b/preview/97/news/skywater/share.png differ diff --git a/preview/97/news/software-driven-asic-prototyping-using-the-open-source-skywater-shuttle/asic-design-diagram.svg b/preview/97/news/software-driven-asic-prototyping-using-the-open-source-skywater-shuttle/asic-design-diagram.svg new file mode 100644 index 000000000..cab09f96e --- /dev/null +++ b/preview/97/news/software-driven-asic-prototyping-using-the-open-source-skywater-shuttle/asic-design-diagram.svg @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/preview/97/news/software-driven-asic-prototyping-using-the-open-source-skywater-shuttle/asic-design-tapeout.png b/preview/97/news/software-driven-asic-prototyping-using-the-open-source-skywater-shuttle/asic-design-tapeout.png new file mode 100644 index 000000000..6a00781af Binary files /dev/null and b/preview/97/news/software-driven-asic-prototyping-using-the-open-source-skywater-shuttle/asic-design-tapeout.png differ diff --git a/preview/97/news/software-driven-asic-prototyping-using-the-open-source-skywater-shuttle/index.html b/preview/97/news/software-driven-asic-prototyping-using-the-open-source-skywater-shuttle/index.html new file mode 100644 index 000000000..19c6395e5 --- /dev/null +++ b/preview/97/news/software-driven-asic-prototyping-using-the-open-source-skywater-shuttle/index.html @@ -0,0 +1,362 @@ + + + + + + + + + + + + + + +Software-driven ASIC Prototyping Using the Open Source SkyWater Shuttle | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

Software-driven ASIC Prototyping Using the Open Source SkyWater Shuttle

+
+
    +
  • +

    December 17, 2021

    +
  • +
  • +

    9 minutes

    +
  • +
  • +

    1706 words

    +
  • +
+
+
+
+featured-image +
+

This post was originally published at Antmicro.

+

The growing cost and complexity of advanced nodes, supply chain issues and demand for silicon independence mean that the ASIC design process is in need of innovation. Antmicro believes the answer to those challenges is bound to come from the software-driven, open source approach which has shaped the Internet and gave rise to modern cloud computing. Applying the methodologies of software design to ASICs is however notoriously viewed as difficult, given the closed nature of many components needed to build chips – tools, IP and process design kits, or PDKs for short, as well as the slow turnaround of manufacturing.

+

The open source, collaborative SkyWater PDK project, combined with the free ASIC manufacturing shuttles running every quarter from Google and efabless, has been filling one of those gaps. Add to it open source licensed ASIC design tools we are helping develop as part of CHIPS Alliance as well as massive parallelization capabilities offered by the cloud and what you get is an ASIC design ecosystem at the verge of a breakthrough. To effect this change, together with Google, efabless, SkyWater and others we are working on more developments, including letting the shuttle designs benefit from software-driven hardware productivity tools such as LiteX and Renode (which we are currently helping the SkyWater shuttle effort to adopt), as well as new and exciting developments in the process technology itself.

+

If you want to participate in making ASIC design history, let us show you why and how the shuttle program is the way to do that. And by the end of this article, hopefully you will want to participate in the next, fourth shuttle with the submission deadline at the end of this year.

+

chip tapeout

+

SkyWater PDK – some background

+

In May 2020 Google and SkyWater Technology Foundry released the first ASIC proven open source PDK. The PDK targets the 130 nm process which, while not state-of-the-art, is still in widespread practical use, especially in mixed-signal and specialized designs.

+

The PDK release involved restructuring the original code and data and properly documenting all the available cells in the PDK. This operation was performed in a collaboration between a group of industrial and academic partners, with Antmicro’s effort focused mostly on developing tools for automatic PDK structuring and documentation.

+

An open source PDK was a key missing piece in end-to-end open source ASIC development, but in itself would not allow the average developer to feel the change. To enable developers to work with the PDK in practice and build fully open source chips with fast turnaround that is necessary to breed the necessary innovation, Google funded the Open MPW Shuttle Program operated by efabless, a fellow CHIPS Alliance member. The program assumes the applying projects are fully open source and based on a permissive license, targets the 130 nm SkyWater process and uses open source ASIC toolchain. Projects accepted in the program are then manufactured and the authors receive their packaged ASICs without any additional costs – production, packaging, testing and delivery is all covered for.

+

The program is a great opportunity for any developer wanting to develop open source ASICs and contribute to the emerging open source ASIC community. The first shuttle program attracted 37 projects, including:

+
    +
  • Five RISC-V SoCs
  • +
  • A cryptocurrency miner
  • +
  • A robotic app processor
  • +
  • A template SoC based on OpenPOWER
  • +
  • An Amateur Satellite Radio Transceiver
  • +
  • Analog/RF IPs
  • +
  • Four eFPGAs
  • +
  • Antmicro’s AES-128 core integration
  • +
+

We have been assisting customers expressing the desire to participate in the SkyWater shuttle in assessing the feasibility of their designs, creating the necessary workflows and adapting the tools involved to their particular needs.

+

Our engineering services can be used to enhance your development teams with the ability to use open source tools more effectively and integrate with your infrastructure in a way which allows you to benefit from the open source’s capabilities while not disrupting your internal workflows unnecessarily.

+

In total, over 100 designs have been sent to fabrication so far, many authored by teams with a predominantly software background. With over 2500 users in the SkyWater open source PDK slack, this is truly a community in the making.

+

Most of the designs in the shuttles use the Caravel harness design which implements a RISC-V CPU with some base peripherals, OpenRAM generated memory, an I/O ring and a user area where developers can place their designs. The harness design is meant to be a fixed block / starting point which significantly lowers the entry level for the ASIC developers, but as such is also subject to evolution to better answer the needs of the shuttle participants, which we will describe later in the note.

+

Open source ASIC tools

+

The core part of the PDK shuttle process uses the OpenLane toolchain, a flow based on the OpenROAD project, also a part of CHIPS Alliance. The toolchain implements all the steps required to generate a production-ready ASIC layout (GDS) from an RTL design.

+

ASIC design with SkyWater Shuttle diagram

+

Since production is the most expensive and time consuming part of the process, testing and validation are key stages in need of innovation, and the experiences learned from the SkyWater shuttle effort are invaluable.

+

Under the auspices of CHIPS Alliance, Google, Western Digital and Antmicro are leading the work on enabling fully open source SystemVerilog development, testing and validation. The work focuses on a number of design flow aspects, including:

+ +

All these are meant to improve the development experience and benefit from the inherent scalability and reusability of open source tools to offer practical value for teams building new ASIC designs.

+

Adoption of LiteX for Caravel

+

Open source design tools constitute one aspect of fully open source ASIC design. The other aspect, just as important as tooling, is open source, high-quality, reusable IP cores, and indeed the very rules of the SkyWater shuttle program encourage developers to open source their design and reuse existing cores.

+

At the core of the shuttles is the Caravel harness. To improve the shuttle’s user experience and let the community benefit from a wider array of off-the-shelf tools and cores, we are assisting with the ongoing effort of adopting the Caravel design to be based on LiteX.

+

LiteX, a widely known open source SoC generator, will make it possible for more open source cores to be integrated with ASIC designs, ultimately lowering the entry barrier for software engineers. It comes with multiple ready to use cores, including an open source DRAM controller used in the Rowhammer test platform we described some time ago. This alternative harness, whose development you can track in a dedicated GitHub repository, will open the door to more contributions from the LiteX community and allow us to use a bunch of tools that we have already integrated, like our open source simulation framework, Renode.

+

Renode’s hardware/software co-development capabilities

+

The LiteX framework provides developers with an easy way to experiment with various different CPU cores. Testing a system against many possible cores, often running complex software, makes validation no trivial task.

+

Renode, Antmicro’s open source development framework, features advanced SW/HW/FPGA/ASIC co-simulation capabilities and has been directly integrated with LiteX to generate the necessary configurations that correspond to the hardware system. Renode supports a multitude of CPU, I/O IP, sensor and network building blocks, both native to LiteX and otherwise, allowing its users to simulate the entire platform design before implementation, i.e. in the pre-silicon stage.

+

Renode addresses the profound challenge of testing complex software, running it on various CPUs and using custom peripheral cores at the same time. Developers can make use of Renode’s ability to co-simulate with Verilator or with physical hardware, reducing the simulation time of SoC systems that utilize custom IP cores.

+

Back in September, Antmicro presented a case of co-simulating the popular Xilinx Zynq-7000 SoC running Linux with a verilated FastVDMA core, and of course co-simulation with platforms like the PolarFire SoC is something we have been steadily improving on with our partner Microchip.

+

A similar kind of development methodology will be possible with the new Caravel harness.

+

Taking that HW/SW co-design workflow to its natural consequence, as showcased by our work with Google, Dover Microsystems and others, Renode allows developers to build SW-oriented hardware faster than HDL and benefit from the flexibility known from software development cycles where iterations happen in a matter of days. Recently, Renode has been extended with support for RISC-V vector instructions which translates into a further improvement of the development process of machine learning algorithms in open source ASICs.

+

Scaling into the cloud and hybrid setups

+

Building and testing ASIC designs is often a time and resource intensive task. The open source tooling approach, endorsed by the SkyWater shuttle program, possesses an important advantage over any proprietary perspective – it allows for infinite scaling of compute resources as there are neither licensing costs nor other license related limitations involved.

+

Developments around distributed and scalable cloud based CI/CD systems like self-hosted GitHub Actions runners in GCP, a collaboration between Antmicro and Google, are providing the ecosystem with new options for reliable, fast testing and deployment of ASIC designs. Cloud based CI systems can be built to combine both closed and open source solutions, providing hybrid solutions that fill the gaps of either approach. And on a more general level, scalable and accessible CI/CD systems facilitate collaboration between large and geographically distributed teams of developers.

+

New developments

+

SkyWater PDK is being constantly improved, extending the possibilities for future designs. One of the recent add-ons to the PDK is a ReRAM library which can be used to develop non-volatile memories using the SkyWater 130nm technology.

+

Further SkyWater PDK development plans include extending the PDK portfolio with 180nm, 90nm and 45nm technology processes – stay tuned for upcoming developments in that space!

+

Participate in shuttle runs

+

Three shuttle runs have already happened, and thanks to Google’s commitment as well as the overwhelming interest from business, research and government institutions, the project will continue through 2022 and most likely beyond. The 4th shuttle run is currently open and will be accepting submissions by December 31, 2021.

+

For projects that, for any reason, cannot be open sourced or submitted within the timeline of the open shuttle, a private shuttle called ChipIgnite has been created.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/software-driven-asic-prototyping-using-the-open-source-skywater-shuttle/share.jpg b/preview/97/news/software-driven-asic-prototyping-using-the-open-source-skywater-shuttle/share.jpg new file mode 100644 index 000000000..e9c7a9220 Binary files /dev/null and b/preview/97/news/software-driven-asic-prototyping-using-the-open-source-skywater-shuttle/share.jpg differ diff --git a/preview/97/news/symbiflow-fpga-interchange-format-to-enable-interoperable-fpga-tooling/Interchange_flow.svg b/preview/97/news/symbiflow-fpga-interchange-format-to-enable-interoperable-fpga-tooling/Interchange_flow.svg new file mode 100644 index 000000000..15e9235b2 --- /dev/null +++ b/preview/97/news/symbiflow-fpga-interchange-format-to-enable-interoperable-fpga-tooling/Interchange_flow.svg @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/preview/97/news/symbiflow-fpga-interchange-format-to-enable-interoperable-fpga-tooling/index.html b/preview/97/news/symbiflow-fpga-interchange-format-to-enable-interoperable-fpga-tooling/index.html new file mode 100644 index 000000000..90721d9f6 --- /dev/null +++ b/preview/97/news/symbiflow-fpga-interchange-format-to-enable-interoperable-fpga-tooling/index.html @@ -0,0 +1,365 @@ + + + + + + + + + + + + + + +SymbiFlow FPGA Interchange Format to Enable Interoperable FPGA Tooling | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

SymbiFlow FPGA Interchange Format to Enable Interoperable FPGA Tooling

+
+
    +
  • +

    September 9, 2021

    +
  • +
  • +

    8 minutes

    +
  • +
  • +

    1612 words

    +
  • +
+
+
+
+featured-image +
+

This post was originally published at Antmicro.

+

Field Programmable Gate Arrays (FPGAs) have been around for several decades, but historically development of toolchains targeting specific platforms was done in separate ecosystems and driven by the vendors themselves. Only in recent years, the development of vendor-neutral open source toolchains has revealed the need of having an abstraction layer to describe and define an FPGA architecture through a standard format.

+

FPGA toolchains are not trivial as they comprise several elements which themselves can be quite complex: roughly speaking, you can divide the process of “compiling” FPGA-targeted code in a Hardware Description Language (HDL) into three stages: synthesis, place and route, bitstream generation. A standard format could provide a common description of the various architectures and serve as a bridge between the multitude of open source and closed proprietary tools that deal with the entire process or parts thereof, including the open source Yosys for synthesis and VtR and nextpnr for place and route, to relevant vendor tooling from Xilinx, Intel, Lattice, QuickLogic, etc.

+

The introduction of a common format enables a shared methodology where specific building blocks are simply interchangeable. With that in mind, together with Google we started the FPGA Interchange Format project within the SymbiFlow initiative, bringing forth a unified framework that, by lowering the entry barriers, lets developers swiftly move from one tool to another with virtually no effort. As part of our collaboration with Google, Antmicro is now developing the Interchange format definition and related tools which aim to become a development standard the FPGA industry has been in need of.

+

Interchange format: components

+

The Interchange format provides three key descriptions to describe an FPGA and interact with the various tools involved:

+
    +
  • Device resources: defines the FPGA internal structure as well as the technological cell libraries describing FPGA logic blocks (basic blocks like flip-flops and complex like DSP cells),
  • +
  • Logical netlist: post-synthesized netlist compatible with the Interchange,
  • +
  • Physical netlist: collection of all placement locations and physical routing of the nets and resources produced by the place and route tool.
  • +
+

One of the main challenges behind the creation of a standard format, specifically for the device resources, lies in the definition of the line between generalization and specificity of an FPGA architecture, as each device architecture variant may have some individual features that can be difficult to generalize in the context of other variants.

+

For this practical reason, the FPGA Interchange format in its current form focuses on the only architecture type in mainstream use on the market today, namely island-based (also called tile-based) FPGAs: two-dimensional arrays of reconfigurable logic blocks, hard blocks, switch blocks and input-output blocks.

+

This allows the standard to reach a level of universality and conciseness which makes it easy to work with, adopt and implement.

+

Interchange format: implementation

+

After determining what the Interchange format should describe, the next step was to define how to best implement the format itself. The choice fell on a well-supported, open source and fast serialization protocol – Cap’n Proto.

+

Cap’n Proto allows a great efficiency in terms of run-time and on-disk memory occupation, given also the huge amount of elements that are present in an FPGA device, such as wires and connections, that need to be stored in the device database. The protocol enables a concise, well-defined and, if used correctly, a backward compatible architecture and netlist format description.

+

The framework uses the Cap’n Proto schema language whose implementations exist in many of the most common programming languages such as C++, Python, Java and Rust. This gives a good chance of future interoperability with other tooling that will inevitably emerge if the standard is successful.

+

On top of the FPGA Interchange schema definitions, a Python-based library was created to interface with the schema itself, and provides functionalities to read and write device databases, logical netlists and physical netlists, as well as utilities to convert from one representation to another. It is often the case where a physical netlist needs to be inspected and analyzed, and a Cap’n Proto serialized netlist can be easily converted to its YAML or JSON human-readable equivalents.

+

Interchange format: how it works

+

As previously mentioned, the FPGA Interchange format aims at lowering the barriers and building bridges between different place and route tools that can read and write using the same convention.

+

In this sense, the major milestone of the Interchange format was to have the production and exchange of the physical netlist between one place and route tool and another.

+

To reach this milestone, nextpnr was chosen as the first place and route tool to adopt the Interchange format. In the past few months, we extended nextpnr with FPGA Interchange format capabilities and currently the tool is able to place and route basic designs for the Xilinx 7-series and Lattice Nexus FPGA families using the format.

+

To achieve initial support for Xilinx devices, the vendor’s own extremely interesting RapidWright framework has also been introduced to the flow, and it is specifically used to write the device database in the Interchange format, consisting of all the device information.

+

Additionally, RapidWright is able to read and write the physical netlists to generate design checkpoint files that can be opened in Xilinx’s Vivado tool.

+

Example flow

+

The default open source flow for Xilinx devices uses Yosys to synthesize the design and VPR or nextpnr for place and route. The last step – bitstream generation uses the FPGA Assembly FASM format to generate the file used for programming the FPGA. FASM is a textual format specifying which FPGA feature should be enabled or disabled. Its textual nature makes it easy to analyze and experiment with. VPR supported this format natively, and nextpnr has been extended to support it as a part of the interchange format support work.

+

Supported SymfbiFlow interchange tooling

+

Now, by using the interchange format, you can create your flow from building blocks, with the possibility to use a different tool (either open source or proprietary) for each step. +A sample, somewhat involved flow which illustrates this mix-and-match nature of interchange-capable tooling may look as described below.

+

For processing any design, you need the FPGA device description files. These are generated in the following matter:

+
    +
  • RapidWright generates the device description in the Interchange format,
  • +
  • The device description is translated by a dedicated script into the data-format suitable for nextpnr. The script will be eventually integrated into nextpnr enabling it to read the interchange format device description natively,
  • +
+

The device description has to be generated only once, and will normally be distributed with the toolchain installation package so that the user will not have to bother with this part.

+

With the device architecture in place, a digital design can be processed with the toolchain:

+
    +
  • Yosys reads design’s Verilog code, synthesizes it and writes a synthesized netlist
  • +
  • The synthesized netlist is translated into a logical netlist by another script. The script will eventually be integrated into Yosys as the interchange backend,
  • +
  • Nextpnr places and routes the design and outputs a physical netlist,
  • +
  • RapidWright reads the physical and logical netlists and produces a Design Checkpoint (DCP) for Vivado,
  • +
  • Vivado can be used to read the DCP.
  • +
+

Keep in mind this is just one of many possible flows. It is used to test the interchange format interoperability between different tools.

+

This flow example shows how the Interchange creates a bridge between an open source flow with Yosys and nextpnr, and a closed source one using Vivado – demonstrating the possibility of interchanging tools thanks to a shared format.

+

To ensure the Interchange format works as intended using all the various currently supported tools, we have developed an FPGA Interchange tests suite, which provides tests that expose device features and functionalities.

+

To push forward the adoption of the format, the effort is being currently transferred from the SymbiFlow project into the CHIPS Alliance, whose goal is to build an open source ASIC/FPGA ecosystem – including cores, I/O IPs, interconnect standards as well as digital and analog tooling – to radically transform the ASIC/FPGA design landscape.

+

Apart from allowing various existing tools to interoperate and share development efforts today, the Interchange format is a natural addition to the CHIPS Alliance in that it opens up smart ways to rapidly design and prototype new FPGA architectures, reduce the iteration times to implement, or add support to a place and route tool for a new architecture.

+

Plans for the coming months

+

Besides nextpnr, there are other open source place and route tools slated to adopt the Interchange format as well, such as the Versatile Place and Route (VPR) from the Verilog-to-Routing project (VtR).

+

Originally intended to perform architectural design exploration to support research in the FPGA field, VtR – and specifically VPR – can be used to place and route designs on real devices as well, such as the Xilinx 7-series and QuickLogic architectures, but only using the VPR data model and device description, as it does not yet support the Interchange format.

+

One of the next milestones in the development of the Interchange format is the full native support of the format within VPR, therefore enabling something that was previously impossible: performing place and route using different tools interchangeably; jumping, for instance, from VPR placement output to nextpnr routing, allowing for faster improvements in algorithms.

+

Those benefits will extend to not only VPR and nextpnr, but to any other closed source tools, or new open source ones that adopt and implement the Interchange format.

+

In fact, having a standard Interchange format at the tooling developers’ disposal lowers the barriers to developing new open source tools in this area and, as example use cases, enable new approaches to partial dynamic reconfiguration, or the exploration of different place and route algorithms.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/systemverilog-linting-and-formatting-with-fusesoc-verible-integration/Logos-1024x440.png b/preview/97/news/systemverilog-linting-and-formatting-with-fusesoc-verible-integration/Logos-1024x440.png new file mode 100644 index 000000000..e789101b5 Binary files /dev/null and b/preview/97/news/systemverilog-linting-and-formatting-with-fusesoc-verible-integration/Logos-1024x440.png differ diff --git a/preview/97/news/systemverilog-linting-and-formatting-with-fusesoc-verible-integration/index.html b/preview/97/news/systemverilog-linting-and-formatting-with-fusesoc-verible-integration/index.html new file mode 100644 index 000000000..00364c2c2 --- /dev/null +++ b/preview/97/news/systemverilog-linting-and-formatting-with-fusesoc-verible-integration/index.html @@ -0,0 +1,355 @@ + + + + + + + + + + + + + + +SystemVerilog Linting and Formatting with FuseSoC – Verible Integration | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

SystemVerilog Linting and Formatting with FuseSoC – Verible Integration

+
+
    +
  • +

    May 7, 2020

    +
  • +
  • +

    5 minutes

    +
  • +
  • +

    859 words

    +
  • +
+
+
+
+featured-image +
+

This post was originally published at Antmicro.

+

Although new ASIC design methodologies and tools such as Chisel are on the rise, most ASIC projects still use SystemVerilog, the support of which in open source tools has traditionally lagged behind. This is unfortunate, as using proprietary alternatives with the CI systems of open source projects is neither scalable due to licensing costs and restrictions nor simple due to the need for license management and obfuscation.

+

Antmicro, Google and the CHIPS Alliance, which we are members of, have been working together with the lowRISC project to address this issue by implementing relevant tools and useful integrations in the open source domain. One large milestone on this route is Verible, an open source Flex/YACC SystemVerilog parser, linter and formatter recently open sourced by our partner and customer, Google.

+

Among other developments in that space, Antmicro has been helping to make Verible support some SystemVerilog features required for working with practical use cases, such as lowRISC’s ibex, a 32-bit RISC-V core used in the open source security project, OpenTitan. But to generate adoption, ease of use is just as important as features, which is why Verible was recently exposed to a wider audience by integrating it with FuseSoC.

+

+

One of the main advantages of an open source linter/formatter is how easy it is to integrate it with existing workflows of open source projects. As it happens, many open source FPGA/ASIC projects, including OpenTitan, are managed with FuseSoC, an open source tooling and IP package manager (from our fellow FOSSi veteran Olof Kindgren) which we also use and support. Thanks to the integration of Verible with FuseSoC, linting and formatting automation becomes much easier.

+

Below you will find a simple example and explanation of how to use the integration The example contains an accompanying CI setup which you can mimic in your own project.

+

Demo

+

We will use the following example repository to explain the usage of Verible with FuseSoC. +We will show how to build Verible binaries, download ibex – a small 32 bit RISC-V CPU core – and run FuseSoC to perform linting/formatting using Verible.

+

Prerequisites

+

Install the prerequisites (tested on Ubuntu 18.04):

+
sudo apt update
+sudo apt install cmake ninja-build wget python3 python3-pip python3-setuptools make tar git
+sudo pip3 install fusesoc
+

Building Verible

+

Verible can be built using the Bazel build system. +Bazel is not available in the debian/ubuntu apt repositories. To install Bazel you should add Bazel’s apt repository:

+
curl https://bazel.build/bazel-release.pub.gpg | sudo apt-key add -
+echo "deb [arch=amd64] https://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list
+sudo apt update && sudo apt install bazel
+

To build Verible, a C++11 compatible compiler is required. After the installation of bazel, Verible can be built and installed:

+
git clone https://github.com/google/Verible
+cd Verible
+bazel build -c opt //...
+bazel run :install -c opt -- `pwd`/../Verible_bin
+export PATH=`pwd`/../Verible_bin/:$PATH
+

Alternatively, you can download pre-built Verible binaries from the Verible release page. Refer to the Verible documentation and Bazel installation instructions for more details.

+

Running Verible tools with FuseSoC

+

FuseSoC uses tool backends available in edalize, which is another workflow automation project from the same author that we contribute to regularly. In order to use the Verible tools with FuseSoC you need to define a tool section in the FuseSoC core target file. Ibex already includes the integration, so you can use its ibex_core.core file as an example.

+

+

Verible linter with FuseSoC on ibex

+

To perform linting in ibex_core, use:

+
git clone https://github.com/lowRISC/ibex
+cd ibex
+#add Verible lint rules
+sed -i '132i\          - "-generate-label"\n          - "-unpacked-dimensions-range-ordering"\n          - "-explicit-parameter-storage-type"\n          - "-line-length"\n          - "-module-filename"\n          - "-no-trailing-spaces"\n          - "-undersized-binary-literal"\n          - "-struct-union-name-style"\n          - "-case-missing-default"\n          - "-explicit-task-lifetime"\n          - "-explicit-function-lifetime"' ibex_core.core
+
+fusesoc --cores-root. run --target=lint --tool=veriblelint lowrisc:ibex:ibex_core:0.1
+

Verible formatter with FuseSoC on ibex

+

To format the ibex_core with Verible:

+
#add Veribleformat rules
+sed -i '154i\          - "--max_search_states"\n          - "10000000"' ibex_core.core
+fusesoc --cores-root . run --target=format --no-export lowrisc:ibex:ibex_core:0.1
+

+

The demo also shows how the Verible linter can be incorporated into CI pipelines for automatic detection of lint errors. To demonstrate that, a Pull Request containing an intentional lint error has been opened. An automatically executed CI pipeline was able to detect the issues with the code and inform the developers about the failed build status. The output of the lint command can provide useful information about a possible cause of the error. Early detection of lint errors can reduce the number of bugs and improve the overall code quality. Using a linter can accelerate development and reduce costs by finding errors at an early stage of the process. Moreover, incorporating the Verible formatter in CI can also ensure that incoming contributions automatically employ the project’s coding style.

+

More detailed instructions regarding building and using Verible with FuseSoC can be found in the README file located in the demo repository.

+

If you are involved in FPGA and ASIC development and want your project to be portable, modular and harness other benefits of a software-driven, open-source-based approach, Antmicro is there to help. As a key service provider in both RISC-V Foundation and CHIPS Alliance, we have lots of readily available SoC building blocks, tools and capabilities to assist you in developing your next product or platform.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/systemverilog-linting-and-formatting-with-fusesoc-verible-integration/pMbg6ZZ4X5jYWdC3AXCRYkcSU.svg b/preview/97/news/systemverilog-linting-and-formatting-with-fusesoc-verible-integration/pMbg6ZZ4X5jYWdC3AXCRYkcSU.svg new file mode 100644 index 000000000..bfeda1bd2 --- /dev/null +++ b/preview/97/news/systemverilog-linting-and-formatting-with-fusesoc-verible-integration/pMbg6ZZ4X5jYWdC3AXCRYkcSU.svg @@ -0,0 +1,458 @@ + + + + + + + + + + + + + +[grey@greyibex]$fusesoc--cores-root.run--target=lint--tool= + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/preview/97/news/systemverilog-linting-and-formatting-with-fusesoc-verible-integration/rIjiekwlO2gv8E51ZDzYIETPF.svg b/preview/97/news/systemverilog-linting-and-formatting-with-fusesoc-verible-integration/rIjiekwlO2gv8E51ZDzYIETPF.svg new file mode 100644 index 000000000..f7d455c12 --- /dev/null +++ b/preview/97/news/systemverilog-linting-and-formatting-with-fusesoc-verible-integration/rIjiekwlO2gv8E51ZDzYIETPF.svg @@ -0,0 +1,467 @@ + + + + + + + + + + + + + +[grey@greyibex]$fusesoc--cores-root.run--target=format--no-exportlowrisc:ibex:ibex_core:0.1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/preview/97/news/the-chips-alliance-workshop-overview/index.html b/preview/97/news/the-chips-alliance-workshop-overview/index.html new file mode 100644 index 000000000..948892ce1 --- /dev/null +++ b/preview/97/news/the-chips-alliance-workshop-overview/index.html @@ -0,0 +1,355 @@ + + + + + + + + + + + + + + +The CHIPS Alliance Workshop: 10 Talks From Industry Leaders, All For Free | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

The CHIPS Alliance Workshop: 10 Talks From Industry Leaders, All For Free

+
+
    +
  • +

    September 15, 2020

    +
  • +
  • +

    7 minutes

    +
  • +
  • +

    1349 words

    +
  • +
+
+
+
+featured-image +
+

Mark your calendars! The CHIPS Alliance Workshop is coming up on Thursday, Sept. 17 from 11 a.m. to 2 p.m. PT. This free, virtual event will feature talks from industry leaders including Antmicro, Efabless, Google, Intel, Mentor, Metrics, OpenROAD, QuickLogic, SiFive, UC Berkeley and Western Digital.

+

The CHIPS Alliance Workshop will fit 10 sessions into three hours for a jam-packed event covering a range of interesting topics in the open source community. You’ll hear about open source ASICs, chiplets, FPGAs and SoCs, in addition to open source design verification, FPGA tooling, machine learning accelerators and more. Read on for additional details, and make sure to register before it’s too late.

+

Check out the schedule below to learn more about what the sessions will cover:

+

11:00 a.m. PT: Keynote Kick-Off – CHIPS Alliance

+
    +
  • Brief welcome
  • +
+

11:05 a.m. PT: Open Design Verification – Tao Liu, Google

+
    +
  • Open source design verification is a key enabler for more collaborative flows in ASIC development. The RISC-V DV framework, based on an open source instruction set generator developed by Google, is enabling end-to-end verification flows for RISC-V CPUs. The generator supports all RISC-V ISA extensions, and can be configured to generate highly random tests for various RISC-V processors. This talk will cover the fundamentals of the flow and recent developments including Bit-manipulation extension, Vector extension, multi-cores verification, functional coverage model, python based random instruction generator etc. Learn more about the technology and its latest developments in Tao Liu’s talk.
  • +
+

11:25 a.m. PT: Enabling Fully Open Source And Continuous Integration-Driven Flows in ASIC and FPGA Development – Michael Gielda, Antmicro

+
    +
  • ASIC and FPGA development is making rapid strides towards adopting fully open source, software-oriented approaches where large-scale collaboration and CI are possible. The developments include new frameworks such as UHDM and sv-tests aimed at improving SystemVerilog support in linting, formatting, synthesis and simulation, ongoing work in Verilator towards providing UVM support for open source verification, advances in the open source SymbiFlow toolchain which opens up FPGAs and ASIC prototyping to more software-oriented experimentation and collaboration. We also have the OpenROAD flow and SkyWater PDK tackling end-to-end open source ASIC design, and general progress in the open IP ecosystem – including new and exciting RISC-V and OpenPOWER cores – energizing the community. In this talk, Michael Gielda, VP Business Development at Antmicro, will highlight recent developments and explain the vision for open source chips that Antmicro and the CHIPS Alliance are spearheading.
  • +
+

11:45 a.m. PT: The Emergence of the Open-Source AIB Chiplet Ecosystem – David Kehlet, Intel

+
    +
  • The AIB chiplet ecosystem has built and powered on ten chiplets across seven process nodes, leveraging three different foundries, and contributing to two different product families. Among the chiplet functions are AI acceleration, high-speed transceivers, optical interfaces, and high-speed ADCs/DACs. The demand for AIB-enabled chiplets has spurred the release of an automated AIB PHY generator tool, which will help speed the next generation of AIB adopters to complete their projects. Dave Kehlet, Research Scientist at Intel, will cover these topics, the new release of the AIB 2.0 specification with even higher bandwidth and lower power, and consideration of future layers needed as open source.
  • +
+

12:05 p.m. PT: Chipyard: Design of customized open-source RISC-V SoCs – Borivoje Nikolic, UC Berkeley

+
    +
  • Chipyard is an integrated SoC design, simulation and implementation environment for specialized compute systems. Chipyard includes configurable, composable, open-source, generator-based blocks that can be used in multiple stages of the hardware development flow, while maintaining design intent and integration consistency. Chipyard is built around the open-source RocketChip generator, and targets cloud FPGA implementation and rapid ASIC implementation, allowing for continuous validation of physically realizable customized systems.
  • +
+

12:25 p.m. PT: SweRV and OmniXtend Milestones – Zvonimir Bandic, Western Digital

+
    +
  • The Open Source RISC-V SweRV Cores have been increasingly adopted by organizations who prioritize a validated, production worthy core. The latest updates on the first commercial dual threaded, embedded SweRV EH2 will be highlighted. This talk will discuss progress on the open cache coherent memory fabric, OmniXtend. The breakthrough architecture uses low cost Ethernet to connect memory to hosts. OmniXtend frees main memory from the CPU and enable next generation memory centric architectures to become a reality.
  • +
+

12:45 p.m. PT: Chisel & FIRRTL for next-generation SoC designs – Jack Koenig, SiFive

+
    +
  • The Chisel Working Group is dedicated to improving the productivity of digital design and verification to enable next-generation SoC designs based on open-source tools. Its namesake project, Chisel HDL, is a domain-specific language embedded in Scala that provides designers with modern programming techniques like object orientation, functional programming, parameterized types, and type inference. CWG also includes FIRRTL, the hardware compiler framework that enables decoupling design from implementation via target specialization and custom transformations. In this talk, you’ll learn about the exciting improvements to the various projects, as well as the adoption of formal governance.
  • +
+

1:05 p.m. PT: Open ML Accelerator – Anoop Saha, Mentor

+
    +
  • High Level Design or High Level Synthesis (HLS) helps users to design hardware at a higher level of abstraction and consequently, improve productivity and reduce costs. This methodology has gained traction in the design of custom application specific accelerators for machine learning. In this talk, Mentor’s Anoop Saha will go over the HLS ecosystem and the open source HLS components that help in building an accelerator. This ecosystem provides resources from IP libraries to full toolkits with real working designs.
  • +
+

1:25 p.m. PT: Cloud Based Verification of RISC-V Processors – Dan Ganousis, Metrics

+
    +
  • Open-source ISAs such as RISC-V allow users to modify/optimize processor IP for their SW applications. With that benefit, however, comes the responsibility of the user to fully verify the modified processor IP. Many ASIC design groups do not have the requisite processor verification skills and simulation capacity and have realized delayed schedules and budget overruns. Metrics CloudSim provides a simple and economical verification solution in the Cloud that provides scalable computing, elastic storage, and a SaaS business model.
  • +
+

1:35 p.m. PT: OpenROAD open RTL-to-GDS update – Andrew Kahng, OpenROAD/UCSD, and Mohamed Kassem, Efabless

+
    +
  • The OpenROAD project seeks to develop an open-source RTL-to-GDS tool that generates manufacturable layout from a given hardware description in 24 hours, with no human in the loop. By reducing cost, expertise and schedule barriers to hardware design, OpenROAD enables greater access to ASIC implementation and accelerates system innovation in hardware. This talk will give an update on OpenROAD’s status and near-term outlook. The OpenROAD tool is integrated around an open-source, commercial-quality database and timing engine. A SkyWater 130nm tapeout was made by efabless.com in May, and DRC-clean layout generation in GLOBALFOUNDRIES 12nm was achieved in July. Efabless will describe the “OpenLANE” flow that integrates much of OpenROAD’s tooling, and the striVe family of SoCs being taped out on SKY130.
  • +
+

1:50 p.m. PT: Open Source FPGA Tooling, Our Journey from Resistance to Adoption – Brian Faith, QuickLogic

+
    +
  • Since the inception of the Programmable Logic industry, the vendor-supported FPGA development tools have been proprietary and closed source. Initially this was simply because that is the way things were done – there were no open standards. But over time, keeping them closed and proprietary enabled a level of influence and control over users. If a designer liked your software, they tended not to change, and that implicitly makes your user base captive. Open source FPGA tools have been around for a long time, being used primarily by hobbyists and in academia. However, over the past few years, an increasing number of new developers with software backgrounds are gravitating towards open source FPGA development tools. With companies like Google and Antmicro, as well as several universities, making significant contributions to them, these tools are only going to keep getting better. In this talk, Brian Faith, CEO of QuickLogic, will share their journey from resistance to adoption, how they decided to take the leap into open source FPGA tooling, becoming the 1st Programmable Logic company to do so.
  • +
+

2:00 p.m. PT: Summary Wrap-Up

+

For more information about the CHIPS Alliance and our activities over the past year, check out our 2020 Annual Report and our recent news. We look forward to seeing you at the Workshop!

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/towards-uvm-using-coroutines/coroutines-diagram1.svg b/preview/97/news/towards-uvm-using-coroutines/coroutines-diagram1.svg new file mode 100644 index 000000000..20d9a7057 --- /dev/null +++ b/preview/97/news/towards-uvm-using-coroutines/coroutines-diagram1.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/preview/97/news/towards-uvm-using-coroutines/coroutines-diagram2.svg b/preview/97/news/towards-uvm-using-coroutines/coroutines-diagram2.svg new file mode 100644 index 000000000..67f6de12c --- /dev/null +++ b/preview/97/news/towards-uvm-using-coroutines/coroutines-diagram2.svg @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/preview/97/news/towards-uvm-using-coroutines/coroutines.svg b/preview/97/news/towards-uvm-using-coroutines/coroutines.svg new file mode 100644 index 000000000..7538e5d20 --- /dev/null +++ b/preview/97/news/towards-uvm-using-coroutines/coroutines.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/preview/97/news/towards-uvm-using-coroutines/index.html b/preview/97/news/towards-uvm-using-coroutines/index.html new file mode 100644 index 000000000..262a0054b --- /dev/null +++ b/preview/97/news/towards-uvm-using-coroutines/index.html @@ -0,0 +1,395 @@ + + + + + + + + + + + + + + +Towards UVM: Using Coroutines for Low-overhead Dynamic Scheduling in Verilator | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

Towards UVM: Using Coroutines for Low-overhead Dynamic Scheduling in Verilator

+
+
    +
  • +

    February 1, 2022

    +
  • +
  • +

    8 minutes

    +
  • +
  • +

    1621 words

    +
  • +
+
+
+
+featured-image +
+

This post was originally published at Antmicro.

+

Verilator is a popular open source SystemVerilog simulator and one of the key tools in the ASIC and FPGA ecosystem, which Antmicro is actively using and developing, e.g. by enabling co-simulation with Renode or Cocotb integration. It’s also one of the fastest available HDL simulators, including proprietary alternatives. It achieves that speed by generating highly optimized C++ code from a given hardware design. Verilator does a lot of work at compile-time to make the generated (‘verilated’) code extremely fast, such as ordering statements in an optimal way.

+

Verilation diagram

+

This static ordering of code also means that support for some SystemVerilog features has been sacrificed to make Verilator so performant. Namely, Verilator does not support what is known as the stratified scheduler, an algorithm that specifies the correct order of execution of SystemVerilog designs. This algorithm is dynamic by nature, and does not fit with Verilator’s static approach.

+

Because of this, it doesn’t support UVM, a widely-used framework for testing hardware design. Testbenches for Verilator have to be written using C++, which is not ideal – you shouldn’t have to know how to program in C++ in order to use a SystemVerilog simulator. Many ASIC projects out there are not able to take advantage of Verilator, because verification in this space is very often done with UVM. This is a gap that together with Western Digital, Google and the entire CHIPS Alliance we have been working to close, to enable fully open source, cloud-scalable verification usable by the broad ASIC industry.

+

A milestone towards open source UVM

+

Some of the key features UVM requires are dynamically-triggered event variables and delays. To support them, we introduced to Verilator what we call a dynamic scheduler with a proof-of-concept implementation which we described in more detail in a previous blog note earlier this year. Essentially, it enabled us to suspend execution of SystemVerilog processes when waiting for delays to finish or events to be triggered, thus postponing some of the scheduling from compile-time to runtime.

+
initial forever begin
+    @ping;
+    #1 ->pong;
+end
+
+initial forever begin
+    #1 ->ping;
+    @pong;
+end
+

That thread-based implementation worked, but it required us to run each process in a design in a separate thread, using mutexes and condition variables to facilitate communication. With a working solution in hand, which proved that what we set out to do was possible, we started thinking about a different approach which would allow us to avoid the significant performance overhead introduced by threads and hopefully also simplify the implementation. That’s when coroutines came up as a possible solution.

+

What is a coroutine?

+

The concept of coroutines has been around for decades. Arguably, most programmers have used them, knowingly or not. They are available in some form for most modern programming languages, and now they are also included in the newest C++20 standard. But what are they exactly?

+

Normally, when a function or procedure is called, it needs to finish execution in order for the control flow to go back to a previously executed function. This is reflected in the way the call stack works. A coroutine is a generalization of the concept of a function, but it differs in that its execution can be paused at any point, and resumed from any other point in the program, even from a different thread. Implementations vary, but often this is achieved by allocating coroutine state on the heap.

+

Diagram depicting the call stack and coroutine state

+

Unlike threads which are commonly used in desktop operating systems, coroutines are a form of cooperative multitasking, meaning that they have to yield control by themselves – there is no scheduler controlling them from the outside. A programmer needs to specify when and where a coroutine should resume execution.

+

A popular use case for coroutines is writing generators. As the name suggests, a generator is used for generating some set of values, but instead of returning them all at once, it yields them one by one to the function that called the generator.

+
generator<uint64_t> fib(int n) {
+    uint64_t a = 0, b = 1;
+    for (int i = 0; i < n; i++) {
+        b = b + exchange(a, b);
+        co_yield a;
+    }
+}
+
for (uint64_t n : fib(40))
+    printf("%d\n", n);
+

Coroutines are also useful for asynchronous programming, for writing functions that start their execution on one thread, but continue on another (i.e. a background thread intended for heavy computation).

+
ui_task click_compute() {
+    label = "Computing...";
+    co_await compute();
+    label = "Finished!";
+}
+

Currently, coroutines are supported by many C++ compilers, including GCC 11 and Clang 13 (which offers experimental support). It’s worth mentioning that Clang is excellent at optimizing them: if a coroutine does not outlive the calling function’s stack frame, and its state object’s size is known at compile time, the heap allocation can be elided. Coroutine state is then simply stored on the stack. This gives Clang a significant performance edge over GCC in some cases, such as when using generators.

+

Coroutines for dynamic scheduling

+

From the get-go, coroutines seemed like a good fit for dynamic scheduling of SystemVerilog in Verilator. As previously mentioned, they follow the cooperative model of multitasking, which is sufficient for handling delays and events in SV processes. Preemption is not necessary, as there is no danger of starving a task. That is because all SystemVerilog processes should yield in a given time slot either after they finish or when they’re awaiting an event.

+

A significant drawback of threads, which was what the initial implementation was based on, is that it’s not possible to spawn thousands of them, one for each process in a design. However, it is possible to spawn thousands of coroutines, and that number is only bound by the amount of RAM available to the user. Also, with coroutines, one does not have to worry about multithreading problems like data races. All multitasking can be done on one thread.

+

The only issue with coroutines is the allocation of coroutine state. However, there are ways to mitigate that by using a custom allocator, as well as only using coroutines for the parts of a design that actually require it. After all, dynamic scheduling is not relevant to the synthesizable subset of SystemVerilog.

+

Thus, we decided to go ahead and replace threads with coroutines in our implementation. The new approach immediately proved to be easier to work with, and development pace increased significantly. The new version already surpassed the thread-based implementation in completeness as well as performance, and is available here. Let’s take a closer look at how it works.

+

Implementation

+
initial forever begin
+    @ping;
+    #1;
+    ->pong;
+end
+
while (true) {
+    co_await ping;
+    co_await 1;
+    resume(pong);
+}
+

The general idea for the implementation was to reflect the behavior of SystemVerilog delay and event trigger statements in the co_await statement in C++20. This statement is responsible for suspending coroutines, and we use it to suspend SystemVerilog processes represented by coroutines in a verilated design.

+

When a delay is encountered, the current coroutine (or process) is suspended and put into a queue. When the awaited time comes, the corresponding coroutine is removed from the queue and resumed.

+

Diagram depicting how delays are handled

+

Event variables work in a similar way. When we are awaiting an event, we suspend the current coroutine and put it in what we call an event dispatcher. If the event is triggered at a later point, we inform the event dispatcher which resumes the corresponding coroutine.

+

Diagram depicting how event variables are handled

+

With all this, the C++ code that Verilator generates for delays and event statements is very similar to the original SystemVerilog source code.

+
initial forever begin
+    @ping;
+    #10;
+    ->pong;
+end
+

This SystemVerilog corresponds to the following C++ code. The snippet shown here is simplified for readability, but the structure of the verilated code is preserved.

+
Coroutine initial() {
+    while (true) {
+        co_await eventDispatcher[&ping];
+        co_await delayedQueue[TIME() + 10];
+        eventDispatcher.trigger(&pong);
+    }
+}
+

As mentioned before, one of the main reasons for the switch to coroutines is performance. The original, thread-based implementation was hundreds of times slower than vanilla Verilator when simulating CHIPS Alliance’s SweRV EH1 core. Just replacing threads with coroutines resulted in 3-time speedup in SWeRV. Further optimization, the most crucial part being detecting which parts of a design need dynamic scheduling, resulted in indistinguishable performance between vanilla Verilator and our version when using Clang for verilated code compilation.

+

Next steps and future goals +There is still more work to be done. We are continuously working on improving the dynamic scheduler in the following areas:

+

working out some remaining edge cases, +making it work with Verilator’s built-in multithreading solution, +adding new test cases to push these new features to their limits. +Our goal is to provide the dynamic scheduler in Verilator as an optional scheduler that users can enable if they want more SystemVerilog compatibility. Of course users should bear in mind that it is not as well-tested as Verilator’s default behavior, but this will most likely improve as we find more practical use cases to make use of the solution.

+

Naturally, many more features are needed to provide full UVM support. This, among others, includes:

+
    +
  • the built-in process class, which is used for controlling the behavior of a SystemVerilog process,
  • +
  • randomized constraints, which let the user generate test data easily by specifying constraints for random generation of said data,
  • +
  • better support for assertions, which are statements that allow for verifying that certain conditions are fulfilled by a tested design.
  • +
+

The dynamic scheduler is part of a bigger undertaking driven by Antmicro within the CHIPS Alliance to create fully open source toolchains and flows for FPGA and ASIC development. Together with Surelog/UHDM, a project aiming at providing a complete SystemVerilog parsing and elaboration solution, this brings us closer to being able to simulate, test and verify designs which use UVM with entirely open source tools.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/towards-uvm-using-coroutines/share.png b/preview/97/news/towards-uvm-using-coroutines/share.png new file mode 100644 index 000000000..c9fac2f1e Binary files /dev/null and b/preview/97/news/towards-uvm-using-coroutines/share.png differ diff --git a/preview/97/news/towards-uvm-using-coroutines/verilation-diagram.svg b/preview/97/news/towards-uvm-using-coroutines/verilation-diagram.svg new file mode 100644 index 000000000..8e22b9dd1 --- /dev/null +++ b/preview/97/news/towards-uvm-using-coroutines/verilation-diagram.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/preview/97/news/verilator-model-generation-performance-improvements-and-initial-multithreaded-verilation-support/Accelerating-model-generation-in-Verilator--blog-CHIPS.svg b/preview/97/news/verilator-model-generation-performance-improvements-and-initial-multithreaded-verilation-support/Accelerating-model-generation-in-Verilator--blog-CHIPS.svg new file mode 100644 index 000000000..0681acc98 --- /dev/null +++ b/preview/97/news/verilator-model-generation-performance-improvements-and-initial-multithreaded-verilation-support/Accelerating-model-generation-in-Verilator--blog-CHIPS.svg @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/preview/97/news/verilator-model-generation-performance-improvements-and-initial-multithreaded-verilation-support/Accelerating-model-generation-in-Verilator--blog-tabel-1.svg b/preview/97/news/verilator-model-generation-performance-improvements-and-initial-multithreaded-verilation-support/Accelerating-model-generation-in-Verilator--blog-tabel-1.svg new file mode 100644 index 000000000..3cffcf104 --- /dev/null +++ b/preview/97/news/verilator-model-generation-performance-improvements-and-initial-multithreaded-verilation-support/Accelerating-model-generation-in-Verilator--blog-tabel-1.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/preview/97/news/verilator-model-generation-performance-improvements-and-initial-multithreaded-verilation-support/Accelerating-model-generation-in-Verilator--blog-tabel-1_1.svg b/preview/97/news/verilator-model-generation-performance-improvements-and-initial-multithreaded-verilation-support/Accelerating-model-generation-in-Verilator--blog-tabel-1_1.svg new file mode 100644 index 000000000..bebff7a15 --- /dev/null +++ b/preview/97/news/verilator-model-generation-performance-improvements-and-initial-multithreaded-verilation-support/Accelerating-model-generation-in-Verilator--blog-tabel-1_1.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/preview/97/news/verilator-model-generation-performance-improvements-and-initial-multithreaded-verilation-support/Accelerating-model-generation-in-Verilator--blog-tabel-2.svg b/preview/97/news/verilator-model-generation-performance-improvements-and-initial-multithreaded-verilation-support/Accelerating-model-generation-in-Verilator--blog-tabel-2.svg new file mode 100644 index 000000000..eb20de9b6 --- /dev/null +++ b/preview/97/news/verilator-model-generation-performance-improvements-and-initial-multithreaded-verilation-support/Accelerating-model-generation-in-Verilator--blog-tabel-2.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/preview/97/news/verilator-model-generation-performance-improvements-and-initial-multithreaded-verilation-support/Accelerating-model-generation-in-Verilator--blog-tabel-3.svg b/preview/97/news/verilator-model-generation-performance-improvements-and-initial-multithreaded-verilation-support/Accelerating-model-generation-in-Verilator--blog-tabel-3.svg new file mode 100644 index 000000000..681253702 --- /dev/null +++ b/preview/97/news/verilator-model-generation-performance-improvements-and-initial-multithreaded-verilation-support/Accelerating-model-generation-in-Verilator--blog-tabel-3.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/preview/97/news/verilator-model-generation-performance-improvements-and-initial-multithreaded-verilation-support/Accelerating-model-generation-in-Verilator--blog-tabel-4.svg b/preview/97/news/verilator-model-generation-performance-improvements-and-initial-multithreaded-verilation-support/Accelerating-model-generation-in-Verilator--blog-tabel-4.svg new file mode 100644 index 000000000..e1b552899 --- /dev/null +++ b/preview/97/news/verilator-model-generation-performance-improvements-and-initial-multithreaded-verilation-support/Accelerating-model-generation-in-Verilator--blog-tabel-4.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/preview/97/news/verilator-model-generation-performance-improvements-and-initial-multithreaded-verilation-support/index.html b/preview/97/news/verilator-model-generation-performance-improvements-and-initial-multithreaded-verilation-support/index.html new file mode 100644 index 000000000..448483fa4 --- /dev/null +++ b/preview/97/news/verilator-model-generation-performance-improvements-and-initial-multithreaded-verilation-support/index.html @@ -0,0 +1,334 @@ + + + + + + + + + + + + + + +Verilator Model Generation Performance Improvements and Initial Multithreaded Verilation Support | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

Verilator Model Generation Performance Improvements and Initial Multithreaded Verilation Support

+
+
    +
  • +

    September 29, 2023

    +
  • +
  • +

    6 minutes

    +
  • +
  • +

    1102 words

    +
  • +
+
+
+
+featured-image +
+

Verilator can boast the status of one of the most widely used free and open source digital design tools for ASIC and FPGA development. To stay on top of the ever-increasing complexity of ASIC and FPGA devices, as users and contributors, Antmicro, a CHIPS Alliance member and part of the Tools Workgroup, has been actively working on improving the tool and its ecosystem, including adding co-simulation capabilities with Renode, adding support for SystemVerilog UVM testbenches to Verilator, or improving scalability for very large designs.

+

Even though Verilator is most likely already the fastest open source Verilog/SystemVerilog simulator out there, generating and compiling simulation models for large designs can still be very time-consuming. This note presents the improvements Antmicro has introduced to model generation (aka verilation) in terms of memory usage and execution time optimizations, as well as an ongoing effort aimed at parallelizing Verilator passes by enabling multithreading in the verilation process.

+

Execution time and memory usage improvements

+

In the recent months, Antmicro added multiple assorted optimizations across Verilator’s codebase that reduced execution times and memory usage for model generation which we list below along with tables containing data presenting the improvements brought on by each of them.

+
    +
  • The m_name field was removed from AstVarRef (“variable reference”), one of the most commonly recurring AST nodes. Now it references a variable’s name directly, since the name in AstVarRef’ was always identical to it, making the field redundant. Dropping this single field allowed the Antmicro team to reduce memory usage by 8-12% and reduce verilation time by 4-5% for the test designs:
  • +
+

Performance comparison 1

+
    +
  • Antmicro introduced a custom runtime type information solution instead of C++’s dynamic_cast for checking graph types. This type info is used for downcasting generic graph vertices/edges to concrete types. Similarly to what was already done for the AST and data-flow graphs. It shows a significant performance boost over dynamic_cast. On top of this change, for graph vertices or edges where the desired downcast type is obvious, they have removed typechecks, resulting in further performance improvements for our test designs:
  • +
+

Performance comparison 2

+
    +
  • Another improvement was to rework the m_selfPointer field in AstVarRef and AstCCall (C/C++ function call). This field contains a string that needs to be put before a given variable reference or function call, and represents a reference to a “self” object, such as this. Each instance of these nodes contained a copy of such a “self pointer” string. After this change, these strings are shared across multiple instances of these nodes. Apart from bringing slight memory usage and performance benefits, it cleans up the code a bit by limiting the number of ad-hoc string operations:
  • +
+

Performance comparison 3

+
    +
  • Antmicro also replaced the costly VN_AS typecast in child node getters with C++’s reinterpret_cast in release builds (this remains unchanged for debug builds for error checking purposes). The type assertion is unnecessary in this particular case, as most of the time the pointers can only be set through properly typed setters. This resulted in 4-5% time improvements for the test designs:
  • +
+

Performance comparison 4

+

Path towards multithreaded verilation

+

While all the changes listed above offer tangible speed and memory usage improvements to the model generation process, the most significant potential for gains lies in introducing multithreading to the currently single-threaded process. Model generation in Verilator consists of multiple stages that mutate a Verilog/SystemVerilog Abstract Syntax Tree (AST) that represents the simulated design and then outputs the model as C++ code, ready to be compiled. The branches of the AST that are independent of each other can, in theory, be processed in-parallel but since Verilator is a very extensive project, introducing multithreading to the entirety of the verilation process at once is not feasible, the team is set on introducing the changes incrementally.

+

As far as Verilator’s functions go, they can be divided into thread-safe and non thread-safe. Each function needs to be thoroughly investigated and appropriately marked by hand, which may lead to human errors detrimental to the overall functioning of the tool. To make sure thread-safe functions only call other thread-safe functions, Antmicro introduced a CI check that uses clang annotations and verifies this assumption.

+

As spawning threads is a relatively slow process, and controlling the number of threads is crucial in this scenario, Antmicro introduced a thread pool that accepts jobs and queues them up for execution, so that the CPU doesn’t context switch between them unnecessarily, leading to performance loss.

+

Since multithreaded programming is complex and sometimes unstable (especially at the development phase), it was crucial that we made sure single threaded verilation is unaffected. To ensure there is no time increase or deadlock while generating models using a single thread, the team introduced a switch that can disable thread synchronization if not needed.

+

Error reporting also needed refactoring to make it thread-safe. It is responsible for error reporting, is used in every part of Verilator and can be called recursively. This change reduced total C++ emit time in our large-core based test design from 144 s to 80 s. Error reporting makes for an interesting example of the type of obstacles one meets when refactoring code to be thread-safe, as reporting cannot be parallelized since it can only have one output to which we need to print in-order (e.g. the terminal).

+

With the changes listed above already part of mainline Verilator, we can now proceed to focus on the next steps towards making multithreaded verilation reality. Antmicro has identified numerous other areas we need to optimize for full parallelization, e.g. the ability to disable multithreading locally so that thread-safe functions can be called only when they are necessary, or analysis and adjustment of subsequent passes for multithreading optimization purposes. CHIPS will be reporting on this progress in future blog posts.

+

Integrate Verilator into your project’s workflow with CHIPS

+

While the efforts within the CHIPS Alliance to enable multithreading across Verilator along with other improvements are ongoing, Antmicro can help you adopt, adapt, and extend Verilator to integrate it into a workflow tailored to your particular project, including scaling it for very large designs and co-simulation of entire systems with the open source Renode simulation framework.

+

To learn more about the Tools Workgroup’s contributions to Verilator, you can watch a talk by Antmicro from ORConf 2023 in which they discuss the current status of non-synthesizable SystemVerilog support in the Verilator open source simulator and progress toward full UVM support.

+

With years of experience in commercial and R&D FPGA and ASIC-based projects, as well as leading theCHIPS Alliance’s Tools Workgroup, Antmicro offers comprehensive engineering support that can help you make the most of the flexibility and approachability of open source solutions. Do not hesitate to reach out at contact@antmicro.com.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/what-you-need-to-know-about-verilator-open-source-tooling/index.html b/preview/97/news/what-you-need-to-know-about-verilator-open-source-tooling/index.html new file mode 100644 index 000000000..fe9e4276b --- /dev/null +++ b/preview/97/news/what-you-need-to-know-about-verilator-open-source-tooling/index.html @@ -0,0 +1,315 @@ + + + + + + + + + + + + + + +What You Need to Know About Verilator Open Source Tooling | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

What You Need to Know About Verilator Open Source Tooling

+
+
    +
  • +

    July 19, 2021

    +
  • +
  • +

    Rob Mains, General Manager of CHIPS Alliance

    +
  • +
  • +

    3 minutes

    +
  • +
  • +

    482 words

    +
  • +
+
+
+
+featured-image +
+

Verilator is a high performance, open source functional simulator that has gained tremendous popularity in its usage and adoption in the verification of chip design. The ASIC development community has widely embraced Verilator as an effective, often even superior alternative to proprietary solutions, and it is now the standard approach in RISC-V CPU design as the community has worked to provide Verilator simulation capabilities out of the box. CHIPS Alliance and RISC-V leaders Antmicro and Western Digital have been collaborating to make Verilator even more useful for ASIC design purposes, working towards supporting industry-standard verification methods in a completely open source flow.

+

On June 15 at the inaugural CHIPS Alliance Deep Dive Cafe Talk, Karol Gugala, an engineering manager with Antmicro, provided an excellent in-depth technical talk on extending Verilator towards supporting universal verification methodology, UVM. The event was well attended, and is now also available on YouTube.

+
+ +
+

Karol started the talk by providing motivation for the improvement and expansion of the System Verilog design environment, and in particular the importance of UVM to offer a common verification framework. He covered the current limitations of Verilator relative to its handling of UVM, and the goal of the community to more robustly support UVM and also System-Verilog as a design language, both of which are efforts Antmicro is deeply involved with as part of its work within CHIPS Alliance with other CHIPS partners. In the talk, Karol provided in-depth details of work that has been done to handle UVM.

+

The focus of the work summarized by Karol’s talk was the comparison of static event scheduling already existent in Verilator to dynamic scheduling which is required for event driven simulation, specifically event and time awareness. This necessitated a new event scheduling approach in Verilator to be implemented. The new scheduler is an option that the user can activate as a runtime switch. Future work includes: clocking blocks, assertions, assertions, class parameters, integration with UHDM, and further runtime optimization. Full UVM support for the SweRV RISC-V cores and OpenTitan – also based on a RISC-V implementation, Ibex – are two key goals. A detailed overview of how System Verilog statements are evaluated as members of different processes was provided. As an initial implementation, each process now runs in a separate thread, with processes and threads communicating via standard IPC synchronization protocols. Scheduling of the threads / processes is left to the OS scheduler, and further work in the project will include more involved scheduling techniques.

+

You can read more about dynamic scheduling in Verilator at Antmicro’s blog, and test all the new features of Verilator with examples of designs and some GitHub Actions-based CI simulations (based on Antmicro’s public repo).

+

The next talk in the CHIPS Deep Dive Cafe Series is the AIB Deep Dive + Opportunities Presented By Intel on Tuesday, Aug. 10 at 8 a.m. PT. You can register for the event here.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/xilinx-new-member/index.html b/preview/97/news/xilinx-new-member/index.html new file mode 100644 index 000000000..33f2df4dd --- /dev/null +++ b/preview/97/news/xilinx-new-member/index.html @@ -0,0 +1,317 @@ + + + + + + + + + + + + + + +CHIPS Alliance Announces Xilinx as its Newest Member | CHIPS Alliance + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+
+

CHIPS Alliance Announces Xilinx as its Newest Member

+
+
    +
  • +

    February 3, 2022

    +
  • +
  • +

    3 minutes

    +
  • +
  • +

    438 words

    +
  • +
+
+
+
+featured-image +
+

Xilinx to continue to drive forward open source FPGA innovation

+

SAN FRANCISCO, Feb. 3, 2022 – CHIPS Alliance, the leading consortium advancing common and open hardware for interfaces, processors and systems, today announced that Xilinx, Inc. (NASDAQ: XLNX) has joined the CHIPS Alliance organization. Xilinx is a leader in adaptive computing, providing highly-flexible programmable silicon, enabled by a suite of advanced software and tools to drive rapid innovation across a wide span of industries and technologies – from consumer to cars to the cloud.

+

“Xilinx has long been an advocate of open standards and open source,” said Tomas Evensen, CTO Open Source at Xilinx. “As a member of the CHIPS Alliance, we look forward to continuing to spearhead open FPGA initiatives to give everyone the opportunity to innovate faster and do more with their designs.”

+

Xilinx collaborated with longstanding CHIPS Alliance members Antmicro and Google to develop the FPGA Interchange Format, which helps to lower design barriers by enabling interoperability between open and closed source FPGA toolchains. Xilinx designed its RapidWright open source platform to work with the Interchange Format. RapidWright enables users to customize implementations to their unique challenges and provides a design methodology using pre-implemented modules with a gateway to back-end tools in Vivado.

+

“As the inventor of the FPGA, Xilinx is one of the key companies driving forward innovation in this market,” said Rob Mains, General Manager at CHIPS Alliance. “Xilinx has already been working closely with several CHIPS Alliance members around open source efforts, so it’s great to have them under the CHIPS Alliance umbrella as we plan to boost our FPGA efforts this year.”

+

To learn more about Xilinx, please visit: www.xilinx.com.

+

About the CHIPS Alliance

+

The CHIPS Alliance is an organization which develops and hosts high-quality, open source hardware code (IP cores), interconnect IP (physical and logical protocols), and open source software development tools for design, verification, and more. The primary focus is to provide a barrier-free collaborative environment, to lower the cost of developing IP and tools for hardware development. The CHIPS Alliance is hosted by the Linux Foundation. For more information, visit chipsalliance.org.

+

About the Linux Foundation

+

The Linux Foundation was founded in 2000 and has since become the world’s leading home for collaboration on open source software, open standards, open data, and open hardware. Today, the Foundation is supported by more than 1,000 members and its projects are critical to the world’s infrastructure, including Linux, Kubernetes, Node.js and more. The Linux Foundation focuses on employing best practices and addressing the needs of contributors, users, and solution providers to create sustainable models for open collaboration. For more information, visit linuxfoundation.org.

+
+
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/preview/97/news/xilinx-new-member/share.png b/preview/97/news/xilinx-new-member/share.png new file mode 100644 index 000000000..eca424951 Binary files /dev/null and b/preview/97/news/xilinx-new-member/share.png differ diff --git a/preview/97/projects/index.html b/preview/97/projects/index.html new file mode 100644 index 000000000..7966b276d --- /dev/null +++ b/preview/97/projects/index.html @@ -0,0 +1,512 @@ + + + + + + + + + + + + + + +Projects | CHIPS Alliance + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+
+

Projects

+

CHIPS Alliance hosts many open source projects at various stages of their maturity lifecycle.

+
+
+
+
+
+
+banner-image +
+shape +
+
+
+
+
+
+
+
+
+
+
+

+

Graduated Projects

+
+
+
+
+ +F4PGA + +
+
+

F4PGA

+

Free and open source toolchain for FPGA devices

+ +
+
+
+
+ +Caliptra + +
+
+

Caliptra

+

The Caliptra project focuses on development of HW and SW IP for the Caliptra Root of Trust

+ +
+
+
+
+ +Placeholder project logo + +
+
+

FPGA Interchange format

+

FPGA Interchange is a Vendor agnostic FPGA devices and designs description. It enables interoperability between different FPGA tools.

+ +
+
+
+
+ +FPGA tool perf + +
+
+

FPGA tool perf

+

Framework for automatic FPGA toolchains benchmarking

+ +
+
+
+
+ +Placeholder project logo + +
+
+

Intel Compiler for SystemC

+

Open source SystemC to SystemVerilog translation tool and SingleSource library.

+ +
+
+
+
+ +Placeholder project logo + +
+
+

OmniXtend

+

Cache coherence framework for RISC-V based on TileLink

+ +
+
+
+
+ +Placeholder project logo + +
+
+

OpenFASOC

+

Fully Open Source Automated Analog Block Generation built on top of OpenROAD, Magic, Netgen, Klayout and Ngspice

+ +
+
+
+
+ +Placeholder project logo + +
+
+

RISCV-DV

+

RISCV-DV is an open source verification tool for RISC-V processors. RISCV-DV is a SystemVerilog based random RISC-V instruction generator that checks the execution against an industry standard ISS for correction and compliance.

+ +
+
+
+
+ +Placeholder project logo + +
+
+

RocketChip

+

The SoC generator instantiates the RISC-V Rocket Core and relevant component.

+ +
+
+
+
+ +Placeholder project logo + +
+
+

Surelog and UHDM

+

SureLog is a SystemVerilog 2017 Pre-processor, Parser, UHDM Compiler providing IEEE Design/TB VPI and Python AST API. UHDM is the underlying Hardware Data Model framework. More info: https://woset-workshop.github.io/WOSET2020.html#article-10

+ +
+
+
+
+ +SV tests + +
+
+

SV tests

+

SystemVerilog test framework for checking SV spec support coverage in various open source tools - parsers, linters, formatters etc.

+ +
+
+
+
+ +Verible + +
+
+

Verible

+

Parse SystemVerilog (IEEE 1800-2017) with a suite of SystemVerilog developer tools, including a parser, style-linter, formatter and language server

+ +
+
+
+
+

Sandbox Projects

+ +

+
+
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/preview/97/scss/theme.min.42d40c343fbab3f1b299ef8d3494aec298e5026a50564beeb9a689e2c993293a.css b/preview/97/scss/theme.min.42d40c343fbab3f1b299ef8d3494aec298e5026a50564beeb9a689e2c993293a.css new file mode 100644 index 000000000..ba83cb3cc --- /dev/null +++ b/preview/97/scss/theme.min.42d40c343fbab3f1b299ef8d3494aec298e5026a50564beeb9a689e2c993293a.css @@ -0,0 +1,4 @@ +/*!------------------------------------------------------------------ +[MAIN STYLESHEET] +PROJECT: JACKCREATIVE +-------------------------------------------------------------------*/@use "sass:math";body{font-family:-apple-system,BlinkMacSystemFont,segoe ui,Helvetica,Arial,sans-serif,Roboto,Ubuntu,apple color emoji,segoe ui emoji,segoe ui symbol;font-size:1rem;color:#282828;background:#fff;line-height:1.5}.bg-nav{background:rgba(255,241,214,.95);opacity:1!important}.bg-nav.sticky-nav{background:#fff}h1,h2,h3,h4,h5,h6{color:#000;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Helvetica,Arial,sans-serif,Roboto,Ubuntu,apple color emoji,segoe ui emoji,segoe ui symbol;font-weight:700;line-height:1.3}h1{font-size:4rem;line-height:81.25px}h2{font-size:2.6rem;margin-bottom:3rem;margin-top:5rem}h3{font-size:2rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{font-size:1rem;color:#282828;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Helvetica,Arial,sans-serif,Roboto,Ubuntu,apple color emoji,segoe ui emoji,segoe ui symbol;font-weight:400;line-height:1.75;margin-top:0;margin-bottom:1rem}a{color:#1424ac;font-weight:600;text-decoration:none;transition:all .5s ease-in-out}a:hover{color:#1424ac;text-decoration:underline}.load-mores{color:#1424ac;font-size:20px;display:flex;align-items:center;justify-content:center;position:relative;font-weight:700}.next-blog{display:none}.privacy{position:relative;margin-top:-33.5rem;padding-bottom:7.5rem;z-index:99}@media(max-width:1399.98px){.privacy{padding-bottom:4rem}}@media(max-width:767.98px){.privacy{margin-top:-35.8rem;padding-bottom:0}}.privacy-hero{background:#f7f8fa;padding:13.5rem 0 37rem}@media(max-width:1399.98px){.privacy-hero{padding:12rem 0 37rem}}@media(max-width:575.98px){.privacy-hero{padding:10rem 0 37rem}}.privacy-hero-content h1{font-size:4rem;margin-bottom:1.5rem}@media(max-width:767.98px){.privacy-hero-content h1{font-size:2.5rem}}.privacy-wrapper{display:flex;background:#fff;padding:5rem 0 5rem 1.6rem;box-shadow:0 4px 44px rgba(0,0,0,5%);border-radius:20px}.privacy .navbar{background:#fff;position:sticky;top:150px;padding:0;border-radius:20px;z-index:1}@media(max-width:991.98px){.privacy .navbar{display:none}}.privacy .nav-pills .nav-link.active,.privacy .nav-pills .show>.nav-link{background:0 0;color:#1424ac}.privacy-nav{display:block;background-color:none}.privacy-nav .nav-pills{display:block;padding-right:4rem}@media(max-width:1199.98px){.privacy-nav .nav-pills{padding-right:1rem}}.privacy-nav .nav-pills .nav-item{padding-bottom:1.9rem;position:relative}.privacy-nav .nav-pills .nav-item:last-child{padding-bottom:0}.privacy-nav .nav-pills .nav-item:last-child::before{display:none}.privacy-nav .nav-pills .nav-item a{font-size:1rem;position:relative;color:#4d4d4d;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Helvetica,Arial,sans-serif,Roboto,Ubuntu,apple color emoji,segoe ui emoji,segoe ui symbol;font-weight:600;margin-bottom:0;padding:0}.privacy-items .card{background:0 0;padding:0;margin-bottom:3rem}@media(max-width:1199.98px){.privacy-items .card{margin-bottom:3.1rem}}.privacy-items .card h3{color:#4d4d4d;font-size:1.9rem;margin-bottom:1.9rem}.privacy-items .card-body{padding:0}.privacy-items .card-body .card-text{line-height:29.7px;color:#4d4d4d;font-size:1.1rem;font-weight:500;margin-bottom:2.5rem;padding-left:1.5rem}@media(max-width:767.98px){.privacy-items .card-body .card-text{padding:0 1.5rem}}.privacy-items .card-body ul{margin-bottom:0;padding-left:1.6rem}.privacy-items .card-body ul li{position:relative;list-style:none;line-height:29.7px;color:#4d4d4d;font-size:1.1rem;font-weight:500;margin-bottom:1.25rem}.privacy-items .card-body ul li::after{position:absolute;content:"";background:#000;width:10px;height:2px;top:20%;left:-3%}@media(max-width:1399.98px){.privacy-items .card-body ul li::after{top:13%;left:-5%}}.section-header{padding:9.4rem 0 4.1rem;text-align:center;position:relative}@media(max-width:1399.98px){.section-header{padding:7rem 0 4.1rem}}@media(max-width:1199.98px){.section-header{padding:6rem 0 4.1rem}}@media(max-width:575.98px){.section-header{padding:3rem 0 4.1rem}}.section-header.no-top-pad{padding-top:0}.section-header h2{position:relative;font-size:4rem;line-height:81.25px;margin-bottom:1.5rem}.section-header h2 span{color:#0ecccb}@media(max-width:1399.98px){.section-header h2{font-size:3.5rem}}@media(max-width:991.98px){.section-header h2{font-size:3rem;line-height:65px}}@media(max-width:767.98px){.section-header h2{font-size:2.5rem;line-height:1.4}}@media(max-width:575.98px){.section-header h2{font-size:1.9rem;margin-bottom:.6rem;line-height:37.5px}}.section-header p{font-size:1.4rem;margin-bottom:0}@media(max-width:575.98px){.section-header p{font-size:1.1rem;line-height:29.7px}}.feature-bg{background:#fff1d6}.pricing-inner{background:#1424ac0a}.pricing-inner-two{background:#fff1d6}.error{position:relative;background:#fff1d6}.error-content{position:relative}.error-content h3{color:#000;font-weight:700}.error-content img{max-width:100%}.category{display:none}.Learn-more{display:flex;align-items:center}@media(max-width:991.98px){.Learn-more{margin-top:1.25rem}}@media(max-width:575.98px){.Learn-more{margin-top:1.25rem}}.Learn-more a{color:#1424ac;display:flex;align-items:center;font-size:1.4rem;font-weight:700;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Helvetica,Arial,sans-serif,Roboto,Ubuntu,apple color emoji,segoe ui emoji,segoe ui symbol;transition:all .3s ease-in-out}.Learn-more a i{margin-left:10px;transition:all .3s ease-in-out}.Learn-more a:hover{transform:translateY(-5px);text-decoration:none}.Learn-more a:hover i{margin-left:15px}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background:#fff;background-clip:border-box;border-radius:.5rem;border:none}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:0;font-size:1.6rem;color:#000;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Helvetica,Arial,sans-serif,Roboto,Ubuntu,apple color emoji,segoe ui emoji,segoe ui symbol;text-align:left;background:#fcfcfc;border:0;font-weight:600;border-radius:0;overflow-anchor:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease}@media(max-width:991.98px){.accordion-button{font-size:1.25rem}}@media(max-width:767.98px){.accordion-button{font-size:1.1rem}}@media(prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){padding:0 0 0;color:#000;background:#fcfcfc;box-shadow:none}.accordion-button:not(.collapsed)::after{background-image:url('data:image/svg+xml,%3csvg width="80" height="80" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg"%3e%3ccircle cx="20" cy="20" r="20" fill="%23EBEBEB"/%3e%3cpath d="M13.125 20H26.875" stroke="%23383B3F" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/%3e%3c/svg%3e');transform:rotate(180deg)}.accordion-button::after{position:absolute;top:0;right:0;width:2.5rem;height:2.5rem;background-size:2.5rem;content:"";background-image:url('data:image/svg+xml,%3csvg width="80" height="80" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg"%3e%3ccircle cx="20" cy="20" r="20" fill="%23EBEBEB"/%3e%3cpath d="M13.125 20H26.875" stroke="%23383B3F" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/%3e%3cpath d="M20 13.125V26.875" stroke="%23383B3F" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/%3e%3c/svg%3e');background-repeat:no-repeat;transition:transform .2s ease-in-out}@media(max-width:767.98px){.accordion-button::after{width:1.5rem;height:1.5rem;background-size:1.5rem}}@media(prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:rgba(250,250,250,.52);outline:0;box-shadow:none}.accordion-header{margin-bottom:0;margin-top:0}.accordion-header .header-content{position:relative;font-size:1.6rem;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Helvetica,Arial,sans-serif,Roboto,Ubuntu,apple color emoji,segoe ui emoji,segoe ui symbol;margin:0 4rem 0 0;line-height:33px}@media(max-width:1199.98px){.accordion-header .header-content{margin:0 5rem 0 0}}@media(max-width:991.98px){.accordion-header .header-content{margin:0 1rem 0 0;font-size:1.25rem}}@media(max-width:575.98px){.accordion-header .header-content{line-height:25px}}.accordion-item{position:relative;background:#fcfcfc;border-radius:14px!important;margin-bottom:40px;border:1px solid #e6ebf4;padding:28px 30px 28px 90px}@media(max-width:991.98px){.accordion-item{margin-bottom:20px;padding:20px 20px 20px 60px}}.accordion-item.shows{border:1px solid #0ecccb}.accordion-item span{position:absolute;display:inline-block;left:20px;top:22px;text-align:center;width:49px;height:49px;line-height:44px;background:#f7f8fa;border:2px solid #e6ebf4;border-radius:50%;margin-right:0;font-size:20px;font-weight:400}@media(max-width:991.98px){.accordion-item span{top:25px;left:20px;width:30px;height:30px;line-height:30px;font-size:16px}}@media(max-width:575.98px){.accordion-item span{line-height:25px;top:20px}}.accordion-item:last-of-type{margin-bottom:0;border-radius:0}.accordion-body{padding:1.6rem 2rem 0 0;font-size:1.1rem;line-height:29px}@media(max-width:1199.98px){.accordion-body{padding:1.6rem 0 0}}.accordion-flush .accordion-collapse{border-width:0;border:1px solid #1424ac}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button{border-radius:0}.rounded-box{border-radius:22px;overflow:hidden}@keyframes grow{0%{transform:scale(.9)translate(-50%,-50%)}100%{transform:scale(1)translate(-50%,-50%)}}pre{padding:1rem;background:#f7f8fa}code{color:#282828}.btn{font-weight:800}.btn:hover{color:#fff;text-decoration:none}.btn-check:focus+.btn,.btn:focus{color:#fff!important;outline:0;box-shadow:none}.btn-check:checked+.btn,.btn-check:active+.btn,.btn:active,.btn.active{color:#fff!important;box-shadow:none}.btn-check:checked+.btn:focus,.btn-check:active+.btn:focus,.btn:active:focus,.btn.active:focus{color:#fff!important;box-shadow:none}.btn:disabled,.btn.disabled,fieldset:disabled .btn{pointer-events:none;box-shadow:none}.btn{position:relative;z-index:1;overflow:hidden;border-radius:1rem;transition:all .3s ease-in-out}.btn-primary{color:#fff;background:#1424ac;border:1px solid #1424ac;font-weight:700}.btn-primary:hover{color:#1424ac;background:#fff;border-color:#1424ac}.btn-check:focus+.btn-primary,.btn-primary:focus,.btn-primary:active,.btn-primary:active:focus,.btn-primary:hover:focus{color:#fff!important;background:#1424ac!important;border:1px solid transparent}.btn-secondary{position:relative;color:#1424ac;text-align:center;text-transform:capitalize;background:#fff;border:1px solid #1424ac;transition:.3s all ease-in-out;padding:1rem 1.9rem!important;display:flex;align-items:center;justify-content:center}.btn-secondary svg{margin-right:10px;transition:.3s all ease-in-out}.btn-secondary svg path{transition:.3s all ease-in-out;fill:#1424ac}.btn-secondary:hover{border:1px solid #1424ac;background:#1424ac;color:#fff}.btn-secondary:hover svg path{fill:#fff}btn-check:focus+.btn-secondary,.btn-secondary:focus,.btn-secondary:active,.btn-secondary:active:focus,.btn-secondary:hover:focus{color:#fff!important;background:#1424ac;border:1px solid #1424ac}btn-check:focus+.btn-secondary svg path,.btn-secondary:focus svg path,.btn-secondary:active svg path,.btn-secondary:active:focus svg path,.btn-secondary:hover:focus svg path{fill:#fff}.btn-links{background:0 0;color:#1424ac;border:1px solid rgba(20,36,172,.3);position:relative;transition:all .3s ease-in-out}.btn-check:focus+.btn-links,.btn-links:focus,.btn-links:active,.btn-links:active:focus,.btn-links:hover:focus,.btn-links:hover{color:#fff;background:#1424ac;border:1px solid rgba(20,36,172,.3)}.btn-white{color:#1424ac;background:#fff;border:1px solid rgba(20,36,172,.3);font-weight:700}.btn-white:hover{background:#1424ac;color:#fff;border-color:#1424ac}.btn-check:focus+.btn-white,.btn-white:focus,.btn-white:active,.btn-white:active:focus,.btn-white:hover:focus{color:#fff!important;background:#1424ac!important;border:1px solid transparent}.btn-lg,.btn-group-lg>.btn{padding:1.3rem 2.1rem;font-size:1.1rem;line-height:28.44px;border-radius:20px}.btn-sm,.btn-group-sm>.btn{padding:.9rem 1.9rem;font-size:1.1rem;font-weight:600;border-radius:12px}.btn-link{text-decoration:underline}.btn-link:hover{color:#1424ac}.btn-submit{background:#fff;color:#1424ac;line-height:1.6;font-size:.875rem;border:1px solid #1424ac;padding:1.25rem 2.125rem!important}.btn-submit:active,.btn-submit:focus,.btn-submit:hover,.btn-submit:checked+.btn:focus,.btn-submit:active+.btn:focus,.btn-submit:active:focus{background:#1424ac;color:#fff!important;border:1px solid rgba(255,255,255,.4);text-decoration:none}.btn-social{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.4);color:#fff;padding:1.25rem 1.5rem!important}.btn-social svg{margin-right:.5rem}.btn-social:active,.btn-social:focus,.btn-social:hover{background:0 0;color:#fff!important;text-decoration:none}.container,.container-fluid,.container-xxl,.container-xl,.container-lg,.container-md,.container-sm{width:100%;padding-right:var(--bs-gutter-x,.75rem);padding-left:var(--bs-gutter-x,.75rem);margin-right:auto;margin-left:auto}@media(min-width:576px){.container-sm,.container{max-width:540px}}@media(min-width:768px){.container-md,.container-sm,.container{max-width:720px}}@media(min-width:992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media(min-width:1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}@media(min-width:1400px){.container-xxl,.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1230px}}@media(max-width:575.98px){.container{padding-left:1rem;padding-right:1rem}}.w-10{width:10%!important}.w-15{width:15%!important}.w-20{width:20%!important}.w-25{width:25%!important}.w-30{width:30%!important}.w-35{width:35%!important}.w-40{width:40%!important}.w-45{width:45%!important}.w-50{width:50%!important}.w-55{width:55%!important}.w-60{width:60%!important}.w-65{width:65%!important}.w-70{width:70%!important}.w-75{width:75%!important}.w-80{width:80%!important}.w-85{width:85%!important}.w-90{width:90%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}@media(min-width:1400px){.w-xxl-75{width:75%!important}}@media(min-width:992px){.w-lg-80{width:80%!important}}@media(min-width:1200px){.w-xxl-75{width:75%!important}.w-xl-80{width:80%!important}.w-xl-90{width:90%!important}.w-xxl-20{width:20%!important}}@media(min-width:768px){.mb-md-7{margin-bottom:3rem!important}}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-6,.gx-6{--bs-gutter-x:2.5rem}.g-5,.gy-5{--bs-gutter-y:2rem}.g-6,.gy-6{--bs-gutter-y:2.5rem}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:.75rem!important}.m-4{margin:1.5rem!important}.m-5{margin:2rem!important}.m-6{margin:2.5rem!important}.m-7{margin:3rem!important}.m-8{margin:3.5rem!important}.m-9{margin:4rem!important}.m-10{margin:4.5rem!important}.m-11{margin:5rem!important}.m-12{margin:5.5rem!important}.m-13{margin:6rem!important}.m-14{margin:6.5rem!important}.m-15{margin:7rem!important}.m-16{margin:7.5rem!important}.m-17{margin:8rem!important}.m-18{margin:8.5rem!important}.m-19{margin:9rem!important}.m-20{margin:9.5rem!important}.m-21{margin:10rem!important}.m-22{margin:13.75rem!important}.m-23{margin:24.5rem!important}.m-24{margin:11rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:.75rem!important;margin-left:.75rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:2rem!important;margin-left:2rem!important}.mx-6{margin-right:2.5rem!important;margin-left:2.5rem!important}.mx-7{margin-right:3rem!important;margin-left:3rem!important}.mx-8{margin-right:3.5rem!important;margin-left:3.5rem!important}.mx-9{margin-right:4rem!important;margin-left:4rem!important}.mx-10{margin-right:4.5rem!important;margin-left:4.5rem!important}.mx-11{margin-right:5rem!important;margin-left:5rem!important}.mx-12{margin-right:5.5rem!important;margin-left:5.5rem!important}.mx-13{margin-right:6rem!important;margin-left:6rem!important}.mx-14{margin-right:6.5rem!important;margin-left:6.5rem!important}.mx-15{margin-right:7rem!important;margin-left:7rem!important}.mx-16{margin-right:7.5rem!important;margin-left:7.5rem!important}.mx-17{margin-right:8rem!important;margin-left:8rem!important}.mx-18{margin-right:8.5rem!important;margin-left:8.5rem!important}.mx-19{margin-right:9rem!important;margin-left:9rem!important}.mx-20{margin-right:9.5rem!important;margin-left:9.5rem!important}.mx-21{margin-right:10rem!important;margin-left:10rem!important}.mx-22{margin-right:13.75rem!important;margin-left:13.75rem!important}.mx-23{margin-right:24.5rem!important;margin-left:24.5rem!important}.mx-24{margin-right:11rem!important;margin-left:11rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:.75rem!important;margin-bottom:.75rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:2rem!important;margin-bottom:2rem!important}.my-6{margin-top:2.5rem!important;margin-bottom:2.5rem!important}.my-7{margin-top:3rem!important;margin-bottom:3rem!important}.my-8{margin-top:3.5rem!important;margin-bottom:3.5rem!important}.my-9{margin-top:4rem!important;margin-bottom:4rem!important}.my-10{margin-top:4.5rem!important;margin-bottom:4.5rem!important}.my-11{margin-top:5rem!important;margin-bottom:5rem!important}.my-12{margin-top:5.5rem!important;margin-bottom:5.5rem!important}.my-13{margin-top:6rem!important;margin-bottom:6rem!important}.my-14{margin-top:6.5rem!important;margin-bottom:6.5rem!important}.my-15{margin-top:7rem!important;margin-bottom:7rem!important}.my-16{margin-top:7.5rem!important;margin-bottom:7.5rem!important}.my-17{margin-top:8rem!important;margin-bottom:8rem!important}.my-18{margin-top:8.5rem!important;margin-bottom:8.5rem!important}.my-19{margin-top:9rem!important;margin-bottom:9rem!important}.my-20{margin-top:9.5rem!important;margin-bottom:9.5rem!important}.my-21{margin-top:10rem!important;margin-bottom:10rem!important}.my-22{margin-top:13.75rem!important;margin-bottom:13.75rem!important}.my-23{margin-top:24.5rem!important;margin-bottom:24.5rem!important}.my-24{margin-top:11rem!important;margin-bottom:11rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:.75rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:2rem!important}.mt-6{margin-top:2.5rem!important}.mt-7{margin-top:3rem!important}.mt-8{margin-top:3.5rem!important}.mt-9{margin-top:4rem!important}.mt-10{margin-top:4.5rem!important}.mt-11{margin-top:5rem!important}.mt-12{margin-top:5.5rem!important}.mt-13{margin-top:6rem!important}.mt-14{margin-top:6.5rem!important}.mt-15{margin-top:7rem!important}.mt-16{margin-top:7.5rem!important}.mt-17{margin-top:8rem!important}.mt-18{margin-top:8.5rem!important}.mt-19{margin-top:9rem!important}.mt-20{margin-top:9.5rem!important}.mt-21{margin-top:10rem!important}.mt-22{margin-top:13.75rem!important}.mt-23{margin-top:24.5rem!important}.mt-24{margin-top:11rem!important}.mt-25{margin-top:-21.5rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:.75rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:2rem!important}.me-6{margin-right:2.5rem!important}.me-7{margin-right:3rem!important}.me-8{margin-right:3.5rem!important}.me-9{margin-right:4rem!important}.me-10{margin-right:4.5rem!important}.me-11{margin-right:5rem!important}.me-12{margin-right:5.5rem!important}.me-13{margin-right:6rem!important}.me-14{margin-right:6.5rem!important}.me-15{margin-right:7rem!important}.me-16{margin-right:7.5rem!important}.me-17{margin-right:8rem!important}.me-18{margin-right:8.5rem!important}.me-19{margin-right:9rem!important}.me-20{margin-right:9.5rem!important}.me-21{margin-right:10rem!important}.me-22{margin-right:13.75rem!important}.me-23{margin-right:24.5rem!important}.me-24{margin-right:11rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:.75rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:2rem!important}.mb-6{margin-bottom:2.5rem!important}.mb-7{margin-bottom:3rem!important}.mb-8{margin-bottom:3.5rem!important}.mb-9{margin-bottom:4rem!important}.mb-10{margin-bottom:4.5rem!important}.mb-11{margin-bottom:5rem!important}.mb-12{margin-bottom:5.5rem!important}.mb-13{margin-bottom:6rem!important}.mb-14{margin-bottom:6.5rem!important}.mb-15{margin-bottom:7rem!important}.mb-16{margin-bottom:7.5rem!important}.mb-17{margin-bottom:8rem!important}.mb-18{margin-bottom:8.5rem!important}.mb-19{margin-bottom:9rem!important}.mb-20{margin-bottom:9.5rem!important}.mb-21{margin-bottom:10rem!important}.mb-22{margin-bottom:11rem!important}.mb-23{margin-bottom:13.75rem!important}.mb-24{margin-bottom:15.5rem!important}.mb-25{margin-bottom:24.5rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:.75rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:2rem!important}.ms-6{margin-left:2.5rem!important}.ms-7{margin-left:3rem!important}.ms-8{margin-left:3.5rem!important}.ms-9{margin-left:4rem!important}.ms-10{margin-left:4.5rem!important}.ms-11{margin-left:5rem!important}.ms-12{margin-left:5.5rem!important}.ms-13{margin-left:6rem!important}.ms-14{margin-left:6.5rem!important}.ms-15{margin-left:7rem!important}.ms-16{margin-left:7.5rem!important}.ms-17{margin-left:8rem!important}.ms-18{margin-left:8.5rem!important}.ms-19{margin-left:9rem!important}.ms-20{margin-left:9.5rem!important}.ms-21{margin-left:10rem!important}.ms-22{margin-left:13.75rem!important}.ms-23{margin-left:24.5rem!important}.ms-24{margin-left:11rem!important}.ms-auto{margin-left:auto!important}.m-n1{margin:-.25rem!important}.m-n2{margin:-.5rem!important}.m-n3{margin:-.75rem!important}.m-n4{margin:-1.5rem!important}.m-n5{margin:-2rem!important}.m-n6{margin:-2.5rem!important}.m-n7{margin:-3rem!important}.m-n8{margin:-3.5rem!important}.m-n9{margin:-4rem!important}.m-n10{margin:-4.5rem!important}.m-n11{margin:-5rem!important}.m-n12{margin:-5.5rem!important}.m-n13{margin:-6rem!important}.m-n14{margin:-6.5rem!important}.m-n15{margin:-7rem!important}.m-n16{margin:-7.5rem!important}.m-n17{margin:-8rem!important}.m-n18{margin:-8.5rem!important}.m-n19{margin:-9rem!important}.m-n20{margin:-9.5rem!important}.m-n21{margin:-10rem!important}.m-n22{margin:-13.75rem!important}.m-n23{margin:-24.5rem!important}.m-n24{margin:-11rem!important}.mx-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-n3{margin-right:-.75rem!important;margin-left:-.75rem!important}.mx-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-n5{margin-right:-2rem!important;margin-left:-2rem!important}.mx-n6{margin-right:-2.5rem!important;margin-left:-2.5rem!important}.mx-n7{margin-right:-3rem!important;margin-left:-3rem!important}.mx-n8{margin-right:-3.5rem!important;margin-left:-3.5rem!important}.mx-n9{margin-right:-4rem!important;margin-left:-4rem!important}.mx-n10{margin-right:-4.5rem!important;margin-left:-4.5rem!important}.mx-n11{margin-right:-5rem!important;margin-left:-5rem!important}.mx-n12{margin-right:-5.5rem!important;margin-left:-5.5rem!important}.mx-n13{margin-right:-6rem!important;margin-left:-6rem!important}.mx-n14{margin-right:-6.5rem!important;margin-left:-6.5rem!important}.mx-n15{margin-right:-7rem!important;margin-left:-7rem!important}.mx-n16{margin-right:-7.5rem!important;margin-left:-7.5rem!important}.mx-n17{margin-right:-8rem!important;margin-left:-8rem!important}.mx-n18{margin-right:-8.5rem!important;margin-left:-8.5rem!important}.mx-n19{margin-right:-9rem!important;margin-left:-9rem!important}.mx-n20{margin-right:-9.5rem!important;margin-left:-9.5rem!important}.mx-n21{margin-right:-10rem!important;margin-left:-10rem!important}.mx-n22{margin-right:-13.75rem!important;margin-left:-13.75rem!important}.mx-n23{margin-right:-24.5rem!important;margin-left:-24.5rem!important}.mx-n24{margin-right:-11rem!important;margin-left:-11rem!important}.my-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-n3{margin-top:-.75rem!important;margin-bottom:-.75rem!important}.my-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-n5{margin-top:-2rem!important;margin-bottom:-2rem!important}.my-n6{margin-top:-2.5rem!important;margin-bottom:-2.5rem!important}.my-n7{margin-top:-3rem!important;margin-bottom:-3rem!important}.my-n8{margin-top:-3.5rem!important;margin-bottom:-3.5rem!important}.my-n9{margin-top:-4rem!important;margin-bottom:-4rem!important}.my-n10{margin-top:-4.5rem!important;margin-bottom:-4.5rem!important}.my-n11{margin-top:-5rem!important;margin-bottom:-5rem!important}.my-n12{margin-top:-5.5rem!important;margin-bottom:-5.5rem!important}.my-n13{margin-top:-6rem!important;margin-bottom:-6rem!important}.my-n14{margin-top:-6.5rem!important;margin-bottom:-6.5rem!important}.my-n15{margin-top:-7rem!important;margin-bottom:-7rem!important}.my-n16{margin-top:-7.5rem!important;margin-bottom:-7.5rem!important}.my-n17{margin-top:-8rem!important;margin-bottom:-8rem!important}.my-n18{margin-top:-8.5rem!important;margin-bottom:-8.5rem!important}.my-n19{margin-top:-9rem!important;margin-bottom:-9rem!important}.my-n20{margin-top:-9.5rem!important;margin-bottom:-9.5rem!important}.my-n21{margin-top:-10rem!important;margin-bottom:-10rem!important}.my-n22{margin-top:-13.75rem!important;margin-bottom:-13.75rem!important}.my-n23{margin-top:-24.5rem!important;margin-bottom:-24.5rem!important}.my-n24{margin-top:-11rem!important;margin-bottom:-11rem!important}.mt-n1{margin-top:-.25rem!important}.mt-n2{margin-top:-.5rem!important}.mt-n3{margin-top:-.75rem!important}.mt-n4{margin-top:-1.5rem!important}.mt-n5{margin-top:-2rem!important}.mt-n6{margin-top:-2.5rem!important}.mt-n7{margin-top:-3rem!important}.mt-n8{margin-top:-3.5rem!important}.mt-n9{margin-top:-4rem!important}.mt-n10{margin-top:-4.5rem!important}.mt-n11{margin-top:-5rem!important}.mt-n12{margin-top:-5.5rem!important}.mt-n13{margin-top:-6rem!important}.mt-n14{margin-top:-6.5rem!important}.mt-n15{margin-top:-7rem!important}.mt-n16{margin-top:-7.5rem!important}.mt-n17{margin-top:-8rem!important}.mt-n18{margin-top:-8.5rem!important}.mt-n19{margin-top:-9rem!important}.mt-n20{margin-top:-9.5rem!important}.mt-n21{margin-top:-10rem!important}.mt-n22{margin-top:-13.75rem!important}.mt-n23{margin-top:-24.5rem!important}.mt-n24{margin-top:-11rem!important}.me-n1{margin-right:-.25rem!important}.me-n2{margin-right:-.5rem!important}.me-n3{margin-right:-.75rem!important}.me-n4{margin-right:-1.5rem!important}.me-n5{margin-right:-2rem!important}.me-n6{margin-right:-2.5rem!important}.me-n7{margin-right:-3rem!important}.me-n8{margin-right:-3.5rem!important}.me-n9{margin-right:-4rem!important}.me-n10{margin-right:-4.5rem!important}.me-n11{margin-right:-5rem!important}.me-n12{margin-right:-5.5rem!important}.me-n13{margin-right:-6rem!important}.me-n14{margin-right:-6.5rem!important}.me-n15{margin-right:-7rem!important}.me-n16{margin-right:-7.5rem!important}.me-n17{margin-right:-8rem!important}.me-n18{margin-right:-8.5rem!important}.me-n19{margin-right:-9rem!important}.me-n20{margin-right:-9.5rem!important}.me-n21{margin-right:-10rem!important}.me-n22{margin-right:-13.75rem!important}.me-n23{margin-right:-24.5rem!important}.me-n24{margin-right:-11rem!important}.mb-n1{margin-bottom:-.25rem!important}.mb-n2{margin-bottom:-.5rem!important}.mb-n3{margin-bottom:-.75rem!important}.mb-n4{margin-bottom:-1.5rem!important}.mb-n5{margin-bottom:-2rem!important}.mb-n6{margin-bottom:-2.5rem!important}.mb-n7{margin-bottom:-3rem!important}.mb-n8{margin-bottom:-3.5rem!important}.mb-n9{margin-bottom:-4rem!important}.mb-n10{margin-bottom:-4.5rem!important}.mb-n11{margin-bottom:-5rem!important}.mb-n12{margin-bottom:-5.5rem!important}.mb-n13{margin-bottom:-6rem!important}.mb-n14{margin-bottom:-6.5rem!important}.mb-n15{margin-bottom:-7rem!important}.mb-n16{margin-bottom:-7.5rem!important}.mb-n17{margin-bottom:-8rem!important}.mb-n18{margin-bottom:-8.5rem!important}.mb-n19{margin-bottom:-9rem!important}.mb-n20{margin-bottom:-9.5rem!important}.mb-n21{margin-bottom:-10rem!important}.mb-n22{margin-bottom:-13.75rem!important}.mb-n23{margin-bottom:-24.5rem!important}.mb-n24{margin-bottom:-11rem!important}.ms-n1{margin-left:-.25rem!important}.ms-n2{margin-left:-.5rem!important}.ms-n3{margin-left:-.75rem!important}.ms-n4{margin-left:-1.5rem!important}.ms-n5{margin-left:-2rem!important}.ms-n6{margin-left:-2.5rem!important}.ms-n7{margin-left:-3rem!important}.ms-n8{margin-left:-3.5rem!important}.ms-n9{margin-left:-4rem!important}.ms-n10{margin-left:-4.5rem!important}.ms-n11{margin-left:-5rem!important}.ms-n12{margin-left:-5.5rem!important}.ms-n13{margin-left:-6rem!important}.ms-n14{margin-left:-6.5rem!important}.ms-n15{margin-left:-7rem!important}.ms-n16{margin-left:-7.5rem!important}.ms-n17{margin-left:-8rem!important}.ms-n18{margin-left:-8.5rem!important}.ms-n19{margin-left:-9rem!important}.ms-n20{margin-left:-9.5rem!important}.ms-n21{margin-left:-10rem!important}.ms-n22{margin-left:-13.75rem!important}.ms-n23{margin-left:-24.5rem!important}.ms-n24{margin-left:-11rem!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:.75rem!important}.p-4{padding:1.5rem!important}.p-5{padding:2rem!important}.p-6{padding:2.5rem!important}.p-7{padding:3rem!important}.p-8{padding:3.5rem!important}.p-9{padding:4rem!important}.p-10{padding:4.5rem!important}.p-11{padding:5rem!important}.p-12{padding:5.5rem!important}.p-13{padding:6rem!important}.p-14{padding:6.5rem!important}.p-15{padding:7rem!important}.p-16{padding:7.5rem!important}.p-17{padding:8rem!important}.p-18{padding:8.5rem!important}.p-19{padding:9rem!important}.p-20{padding:9.5rem!important}.p-21{padding:10rem!important}.p-22{padding:13.75rem!important}.p-23{padding:24.5rem!important}.p-24{padding:11rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:.75rem!important;padding-left:.75rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:2rem!important;padding-left:2rem!important}.px-6{padding-right:2.5rem!important;padding-left:2.5rem!important}.px-7{padding-right:3rem!important;padding-left:3rem!important}.px-8{padding-right:3.5rem!important;padding-left:3.5rem!important}.px-9{padding-right:4rem!important;padding-left:4rem!important}.px-10{padding-right:4.5rem!important;padding-left:4.5rem!important}.px-11{padding-right:5rem!important;padding-left:5rem!important}.px-12{padding-right:5.5rem!important;padding-left:5.5rem!important}.px-13{padding-right:6rem!important;padding-left:6rem!important}.px-14{padding-right:6.5rem!important;padding-left:6.5rem!important}.px-15{padding-right:7rem!important;padding-left:7rem!important}.px-16{padding-right:7.5rem!important;padding-left:7.5rem!important}.px-17{padding-right:8rem!important;padding-left:8rem!important}.px-18{padding-right:8.5rem!important;padding-left:8.5rem!important}.px-19{padding-right:9rem!important;padding-left:9rem!important}.px-20{padding-right:9.5rem!important;padding-left:9.5rem!important}.px-21{padding-right:10rem!important;padding-left:10rem!important}.px-22{padding-right:13.75rem!important;padding-left:13.75rem!important}.px-23{padding-right:24.5rem!important;padding-left:24.5rem!important}.px-24{padding-right:11rem!important;padding-left:11rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:.75rem!important;padding-bottom:.75rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:2rem!important;padding-bottom:2rem!important}.py-6{padding-top:2.5rem!important;padding-bottom:2.5rem!important}.py-7{padding-top:3rem!important;padding-bottom:3rem!important}.py-8{padding-top:3.5rem!important;padding-bottom:3.5rem!important}.py-9{padding-top:4rem!important;padding-bottom:4rem!important}.py-10{padding-top:4.5rem!important;padding-bottom:4.5rem!important}.py-11{padding-top:5rem!important;padding-bottom:5rem!important}.py-12{padding-top:5.5rem!important;padding-bottom:5.5rem!important}.py-13{padding-top:6rem!important;padding-bottom:6rem!important}.py-14{padding-top:6.5rem!important;padding-bottom:6.5rem!important}.py-15{padding-top:7rem!important;padding-bottom:7rem!important}.py-16{padding-top:7.5rem!important;padding-bottom:7.5rem!important}.py-17{padding-top:8rem!important;padding-bottom:8rem!important}.py-18{padding-top:8.5rem!important;padding-bottom:8.5rem!important}.py-19{padding-top:9rem!important;padding-bottom:9rem!important}.py-20{padding-top:9.5rem!important;padding-bottom:9.5rem!important}.py-21{padding-top:10rem!important;padding-bottom:10rem!important}.py-22{padding-top:13.75rem!important;padding-bottom:13.75rem!important}.py-23{padding-top:24.5rem!important;padding-bottom:24.5rem!important}.py-24{padding-top:11rem!important;padding-bottom:11rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:.75rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:2rem!important}.pt-6{padding-top:2.5rem!important}.pt-7{padding-top:3rem!important}.pt-8{padding-top:3.5rem!important}.pt-9{padding-top:4rem!important}.pt-10{padding-top:4.5rem!important}.pt-11{padding-top:5rem!important}.pt-12{padding-top:5.5rem!important}.pt-13{padding-top:6rem!important}.pt-14{padding-top:6.5rem!important}.pt-15{padding-top:7rem!important}.pt-16{padding-top:7.5rem!important}.pt-17{padding-top:8rem!important}.pt-18{padding-top:8.5rem!important}.pt-19{padding-top:9rem!important}.pt-20{padding-top:9.5rem!important}.pt-21{padding-top:10rem!important}.pt-22{padding-top:13.75rem!important}.pt-23{padding-top:24.5rem!important}.pt-24{padding-top:11rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:.75rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:2rem!important}.pe-6{padding-right:2.5rem!important}.pe-7{padding-right:3rem!important}.pe-8{padding-right:3.5rem!important}.pe-9{padding-right:4rem!important}.pe-10{padding-right:4.5rem!important}.pe-11{padding-right:5rem!important}.pe-12{padding-right:5.5rem!important}.pe-13{padding-right:6rem!important}.pe-14{padding-right:6.5rem!important}.pe-15{padding-right:7rem!important}.pe-16{padding-right:7.5rem!important}.pe-17{padding-right:8rem!important}.pe-18{padding-right:8.5rem!important}.pe-19{padding-right:9rem!important}.pe-20{padding-right:9.5rem!important}.pe-21{padding-right:10rem!important}.pe-22{padding-right:13.75rem!important}.pe-23{padding-right:24.5rem!important}.pe-24{padding-right:11rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:.75rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:2rem!important}.pb-6{padding-bottom:2.5rem!important}.pb-7{padding-bottom:3rem!important}.pb-8{padding-bottom:3.5rem!important}.pb-9{padding-bottom:4rem!important}.pb-10{padding-bottom:4.5rem!important}.pb-11{padding-bottom:5rem!important}.pb-12{padding-bottom:5.5rem!important}.pb-13{padding-bottom:6rem!important}.pb-14{padding-bottom:6.5rem!important}.pb-15{padding-bottom:7rem!important}.pb-16{padding-bottom:7.5rem!important}.pb-17{padding-bottom:8rem!important}.pb-18{padding-bottom:8.5rem!important}.pb-19{padding-bottom:9rem!important}.pb-20{padding-bottom:9.5rem!important}.pb-21{padding-bottom:10rem!important}.pb-22{padding-bottom:13.75rem!important}.pb-23{padding-bottom:24.5rem!important}.pb-24{padding-bottom:11rem!important}.pb-25{padding-bottom:26.5rem!important}.pb-26{padding-bottom:12.5rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:.75rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:2rem!important}.ps-6{padding-left:2.5rem!important}.ps-7{padding-left:3rem!important}.ps-8{padding-left:3.5rem!important}.ps-9{padding-left:4rem!important}.ps-10{padding-left:4.5rem!important}.ps-11{padding-left:5rem!important}.ps-12{padding-left:5.5rem!important}.ps-13{padding-left:6rem!important}.ps-14{padding-left:6.5rem!important}.ps-15{padding-left:7rem!important}.ps-16{padding-left:7.5rem!important}.ps-17{padding-left:8rem!important}.ps-18{padding-left:8.5rem!important}.ps-19{padding-left:9rem!important}.ps-20{padding-left:9.5rem!important}.ps-21{padding-left:10rem!important}.ps-22{padding-left:13.75rem!important}.ps-23{padding-left:24.5rem!important}.ps-24{padding-left:11rem!important}@media(min-width:576px){.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:.75rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:2rem!important}.m-sm-6{margin:2.5rem!important}.m-sm-7{margin:3rem!important}.m-sm-8{margin:3.5rem!important}.m-sm-9{margin:4rem!important}.m-sm-10{margin:4.5rem!important}.m-sm-11{margin:5rem!important}.m-sm-12{margin:5.5rem!important}.m-sm-13{margin:6rem!important}.m-sm-14{margin:6.5rem!important}.m-sm-15{margin:7rem!important}.m-sm-16{margin:7.5rem!important}.m-sm-17{margin:8rem!important}.m-sm-18{margin:8.5rem!important}.m-sm-19{margin:9rem!important}.m-sm-20{margin:9.5rem!important}.m-sm-21{margin:10rem!important}.m-sm-22{margin:13.75rem!important}.m-sm-23{margin:24.5rem!important}.m-sm-24{margin:11rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:.75rem!important;margin-left:.75rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:2rem!important;margin-left:2rem!important}.mx-sm-6{margin-right:2.5rem!important;margin-left:2.5rem!important}.mx-sm-7{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-8{margin-right:3.5rem!important;margin-left:3.5rem!important}.mx-sm-9{margin-right:4rem!important;margin-left:4rem!important}.mx-sm-10{margin-right:4.5rem!important;margin-left:4.5rem!important}.mx-sm-11{margin-right:5rem!important;margin-left:5rem!important}.mx-sm-12{margin-right:5.5rem!important;margin-left:5.5rem!important}.mx-sm-13{margin-right:6rem!important;margin-left:6rem!important}.mx-sm-14{margin-right:6.5rem!important;margin-left:6.5rem!important}.mx-sm-15{margin-right:7rem!important;margin-left:7rem!important}.mx-sm-16{margin-right:7.5rem!important;margin-left:7.5rem!important}.mx-sm-17{margin-right:8rem!important;margin-left:8rem!important}.mx-sm-18{margin-right:8.5rem!important;margin-left:8.5rem!important}.mx-sm-19{margin-right:9rem!important;margin-left:9rem!important}.mx-sm-20{margin-right:9.5rem!important;margin-left:9.5rem!important}.mx-sm-21{margin-right:10rem!important;margin-left:10rem!important}.mx-sm-22{margin-right:13.75rem!important;margin-left:13.75rem!important}.mx-sm-23{margin-right:24.5rem!important;margin-left:24.5rem!important}.mx-sm-24{margin-right:11rem!important;margin-left:11rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:.75rem!important;margin-bottom:.75rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:2rem!important;margin-bottom:2rem!important}.my-sm-6{margin-top:2.5rem!important;margin-bottom:2.5rem!important}.my-sm-7{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-8{margin-top:3.5rem!important;margin-bottom:3.5rem!important}.my-sm-9{margin-top:4rem!important;margin-bottom:4rem!important}.my-sm-10{margin-top:4.5rem!important;margin-bottom:4.5rem!important}.my-sm-11{margin-top:5rem!important;margin-bottom:5rem!important}.my-sm-12{margin-top:5.5rem!important;margin-bottom:5.5rem!important}.my-sm-13{margin-top:6rem!important;margin-bottom:6rem!important}.my-sm-14{margin-top:6.5rem!important;margin-bottom:6.5rem!important}.my-sm-15{margin-top:7rem!important;margin-bottom:7rem!important}.my-sm-16{margin-top:7.5rem!important;margin-bottom:7.5rem!important}.my-sm-17{margin-top:8rem!important;margin-bottom:8rem!important}.my-sm-18{margin-top:8.5rem!important;margin-bottom:8.5rem!important}.my-sm-19{margin-top:9rem!important;margin-bottom:9rem!important}.my-sm-20{margin-top:9.5rem!important;margin-bottom:9.5rem!important}.my-sm-21{margin-top:10rem!important;margin-bottom:10rem!important}.my-sm-22{margin-top:13.75rem!important;margin-bottom:13.75rem!important}.my-sm-23{margin-top:24.5rem!important;margin-bottom:24.5rem!important}.my-sm-24{margin-top:11rem!important;margin-bottom:11rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:.75rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:2rem!important}.mt-sm-6{margin-top:2.5rem!important}.mt-sm-7{margin-top:3rem!important}.mt-sm-8{margin-top:3.5rem!important}.mt-sm-9{margin-top:4rem!important}.mt-sm-10{margin-top:4.5rem!important}.mt-sm-11{margin-top:5rem!important}.mt-sm-12{margin-top:5.5rem!important}.mt-sm-13{margin-top:6rem!important}.mt-sm-14{margin-top:6.5rem!important}.mt-sm-15{margin-top:7rem!important}.mt-sm-16{margin-top:7.5rem!important}.mt-sm-17{margin-top:8rem!important}.mt-sm-18{margin-top:8.5rem!important}.mt-sm-19{margin-top:9rem!important}.mt-sm-20{margin-top:9.5rem!important}.mt-sm-21{margin-top:10rem!important}.mt-sm-22{margin-top:13.75rem!important}.mt-sm-23{margin-top:24.5rem!important}.mt-sm-24{margin-top:11rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:.75rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:2rem!important}.me-sm-6{margin-right:2.5rem!important}.me-sm-7{margin-right:3rem!important}.me-sm-8{margin-right:3.5rem!important}.me-sm-9{margin-right:4rem!important}.me-sm-10{margin-right:4.5rem!important}.me-sm-11{margin-right:5rem!important}.me-sm-12{margin-right:5.5rem!important}.me-sm-13{margin-right:6rem!important}.me-sm-14{margin-right:6.5rem!important}.me-sm-15{margin-right:7rem!important}.me-sm-16{margin-right:7.5rem!important}.me-sm-17{margin-right:8rem!important}.me-sm-18{margin-right:8.5rem!important}.me-sm-19{margin-right:9rem!important}.me-sm-20{margin-right:9.5rem!important}.me-sm-21{margin-right:10rem!important}.me-sm-22{margin-right:11rem!important}.me-sm-23{margin-right:13.75rem!important}.me-sm-24{margin-right:24.5rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:.75rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:2rem!important}.mb-sm-6{margin-bottom:2.5rem!important}.mb-sm-7{margin-bottom:3rem!important}.mb-sm-8{margin-bottom:3.5rem!important}.mb-sm-9{margin-bottom:4rem!important}.mb-sm-10{margin-bottom:4.5rem!important}.mb-sm-11{margin-bottom:5rem!important}.mb-sm-12{margin-bottom:5.5rem!important}.mb-sm-13{margin-bottom:6rem!important}.mb-sm-14{margin-bottom:6.5rem!important}.mb-sm-15{margin-bottom:7rem!important}.mb-sm-16{margin-bottom:7.5rem!important}.mb-sm-17{margin-bottom:8rem!important}.mb-sm-18{margin-bottom:8.5rem!important}.mb-sm-19{margin-bottom:9rem!important}.mb-sm-20{margin-bottom:9.5rem!important}.mb-sm-21{margin-bottom:10rem!important}.mb-sm-22{margin-bottom:11rem!important}.mb-sm-23{margin-bottom:13.75rem!important}.mb-sm-24{margin-bottom:15.5rem!important}.mb-sm-25{margin-bottom:19.4rem!important}.mb-sm-26{margin-bottom:24.5rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:.75rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:2rem!important}.ms-sm-6{margin-left:2.5rem!important}.ms-sm-7{margin-left:3rem!important}.ms-sm-8{margin-left:3.5rem!important}.ms-sm-9{margin-left:4rem!important}.ms-sm-10{margin-left:4.5rem!important}.ms-sm-11{margin-left:5rem!important}.ms-sm-12{margin-left:5.5rem!important}.ms-sm-13{margin-left:6rem!important}.ms-sm-14{margin-left:6.5rem!important}.ms-sm-15{margin-left:7rem!important}.ms-sm-16{margin-left:7.5rem!important}.ms-sm-17{margin-left:8rem!important}.ms-sm-18{margin-left:8.5rem!important}.ms-sm-19{margin-left:9rem!important}.ms-sm-20{margin-left:9.5rem!important}.ms-sm-21{margin-left:10rem!important}.ms-sm-22{margin-left:13.75rem!important}.ms-sm-23{margin-left:24.5rem!important}.ms-sm-24{margin-left:11rem!important}.ms-sm-auto{margin-left:auto!important}.m-sm-n1{margin:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.m-sm-n3{margin:-.75rem!important}.m-sm-n4{margin:-1.5rem!important}.m-sm-n5{margin:-2rem!important}.m-sm-n6{margin:-2.5rem!important}.m-sm-n7{margin:-3rem!important}.m-sm-n8{margin:-3.5rem!important}.m-sm-n9{margin:-4rem!important}.m-sm-n10{margin:-4.5rem!important}.m-sm-n11{margin:-5rem!important}.m-sm-n12{margin:-5.5rem!important}.m-sm-n13{margin:-6rem!important}.m-sm-n14{margin:-6.5rem!important}.m-sm-n15{margin:-7rem!important}.m-sm-n16{margin:-7.5rem!important}.m-sm-n17{margin:-8rem!important}.m-sm-n18{margin:-8.5rem!important}.m-sm-n19{margin:-9rem!important}.m-sm-n20{margin:-9.5rem!important}.m-sm-n21{margin:-10rem!important}.m-sm-n22{margin:-13.75rem!important}.m-sm-n23{margin:-24.5rem!important}.m-sm-n24{margin:-11rem!important}.mx-sm-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-sm-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-sm-n3{margin-right:-.75rem!important;margin-left:-.75rem!important}.mx-sm-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-sm-n5{margin-right:-2rem!important;margin-left:-2rem!important}.mx-sm-n6{margin-right:-2.5rem!important;margin-left:-2.5rem!important}.mx-sm-n7{margin-right:-3rem!important;margin-left:-3rem!important}.mx-sm-n8{margin-right:-3.5rem!important;margin-left:-3.5rem!important}.mx-sm-n9{margin-right:-4rem!important;margin-left:-4rem!important}.mx-sm-n10{margin-right:-4.5rem!important;margin-left:-4.5rem!important}.mx-sm-n11{margin-right:-5rem!important;margin-left:-5rem!important}.mx-sm-n12{margin-right:-5.5rem!important;margin-left:-5.5rem!important}.mx-sm-n13{margin-right:-6rem!important;margin-left:-6rem!important}.mx-sm-n14{margin-right:-6.5rem!important;margin-left:-6.5rem!important}.mx-sm-n15{margin-right:-7rem!important;margin-left:-7rem!important}.mx-sm-n16{margin-right:-7.5rem!important;margin-left:-7.5rem!important}.mx-sm-n17{margin-right:-8rem!important;margin-left:-8rem!important}.mx-sm-n18{margin-right:-8.5rem!important;margin-left:-8.5rem!important}.mx-sm-n19{margin-right:-9rem!important;margin-left:-9rem!important}.mx-sm-n20{margin-right:-9.5rem!important;margin-left:-9.5rem!important}.mx-sm-n21{margin-right:-10rem!important;margin-left:-10rem!important}.mx-sm-n22{margin-right:-13.75rem!important;margin-left:-13.75rem!important}.mx-sm-n23{margin-right:-24.5rem!important;margin-left:-24.5rem!important}.mx-sm-n24{margin-right:-11rem!important;margin-left:-11rem!important}.my-sm-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-sm-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-sm-n3{margin-top:-.75rem!important;margin-bottom:-.75rem!important}.my-sm-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-sm-n5{margin-top:-2rem!important;margin-bottom:-2rem!important}.my-sm-n6{margin-top:-2.5rem!important;margin-bottom:-2.5rem!important}.my-sm-n7{margin-top:-3rem!important;margin-bottom:-3rem!important}.my-sm-n8{margin-top:-3.5rem!important;margin-bottom:-3.5rem!important}.my-sm-n9{margin-top:-4rem!important;margin-bottom:-4rem!important}.my-sm-n10{margin-top:-4.5rem!important;margin-bottom:-4.5rem!important}.my-sm-n11{margin-top:-5rem!important;margin-bottom:-5rem!important}.my-sm-n12{margin-top:-5.5rem!important;margin-bottom:-5.5rem!important}.my-sm-n13{margin-top:-6rem!important;margin-bottom:-6rem!important}.my-sm-n14{margin-top:-6.5rem!important;margin-bottom:-6.5rem!important}.my-sm-n15{margin-top:-7rem!important;margin-bottom:-7rem!important}.my-sm-n16{margin-top:-7.5rem!important;margin-bottom:-7.5rem!important}.my-sm-n17{margin-top:-8rem!important;margin-bottom:-8rem!important}.my-sm-n18{margin-top:-8.5rem!important;margin-bottom:-8.5rem!important}.my-sm-n19{margin-top:-9rem!important;margin-bottom:-9rem!important}.my-sm-n20{margin-top:-9.5rem!important;margin-bottom:-9.5rem!important}.my-sm-n21{margin-top:-10rem!important;margin-bottom:-10rem!important}.my-sm-n22{margin-top:-13.75rem!important;margin-bottom:-13.75rem!important}.my-sm-n23{margin-top:-24.5rem!important;margin-bottom:-24.5rem!important}.my-sm-n24{margin-top:-11rem!important;margin-bottom:-11rem!important}.mt-sm-n1{margin-top:-.25rem!important}.mt-sm-n2{margin-top:-.5rem!important}.mt-sm-n3{margin-top:-.75rem!important}.mt-sm-n4{margin-top:-1.5rem!important}.mt-sm-n5{margin-top:-2rem!important}.mt-sm-n6{margin-top:-2.5rem!important}.mt-sm-n7{margin-top:-3rem!important}.mt-sm-n8{margin-top:-3.5rem!important}.mt-sm-n9{margin-top:-4rem!important}.mt-sm-n10{margin-top:-4.5rem!important}.mt-sm-n11{margin-top:-5rem!important}.mt-sm-n12{margin-top:-5.5rem!important}.mt-sm-n13{margin-top:-6rem!important}.mt-sm-n14{margin-top:-6.5rem!important}.mt-sm-n15{margin-top:-7rem!important}.mt-sm-n16{margin-top:-7.5rem!important}.mt-sm-n17{margin-top:-8rem!important}.mt-sm-n18{margin-top:-8.5rem!important}.mt-sm-n19{margin-top:-9rem!important}.mt-sm-n20{margin-top:-9.5rem!important}.mt-sm-n21{margin-top:-10rem!important}.mt-sm-n22{margin-top:-13.75rem!important}.mt-sm-n23{margin-top:-24.5rem!important}.mt-sm-n24{margin-top:-11rem!important}.me-sm-n1{margin-right:-.25rem!important}.me-sm-n2{margin-right:-.5rem!important}.me-sm-n3{margin-right:-.75rem!important}.me-sm-n4{margin-right:-1.5rem!important}.me-sm-n5{margin-right:-2rem!important}.me-sm-n6{margin-right:-2.5rem!important}.me-sm-n7{margin-right:-3rem!important}.me-sm-n8{margin-right:-3.5rem!important}.me-sm-n9{margin-right:-4rem!important}.me-sm-n10{margin-right:-4.5rem!important}.me-sm-n11{margin-right:-5rem!important}.me-sm-n12{margin-right:-5.5rem!important}.me-sm-n13{margin-right:-6rem!important}.me-sm-n14{margin-right:-6.5rem!important}.me-sm-n15{margin-right:-7rem!important}.me-sm-n16{margin-right:-7.5rem!important}.me-sm-n17{margin-right:-8rem!important}.me-sm-n18{margin-right:-8.5rem!important}.me-sm-n19{margin-right:-9rem!important}.me-sm-n20{margin-right:-9.5rem!important}.me-sm-n21{margin-right:-10rem!important}.me-sm-n22{margin-right:-13.75rem!important}.me-sm-n23{margin-right:-24.5rem!important}.me-sm-n24{margin-right:-11rem!important}.mb-sm-n1{margin-bottom:-.25rem!important}.mb-sm-n2{margin-bottom:-.5rem!important}.mb-sm-n3{margin-bottom:-.75rem!important}.mb-sm-n4{margin-bottom:-1.5rem!important}.mb-sm-n5{margin-bottom:-2rem!important}.mb-sm-n6{margin-bottom:-2.5rem!important}.mb-sm-n7{margin-bottom:-3rem!important}.mb-sm-n8{margin-bottom:-3.5rem!important}.mb-sm-n9{margin-bottom:-4rem!important}.mb-sm-n10{margin-bottom:-4.5rem!important}.mb-sm-n11{margin-bottom:-5rem!important}.mb-sm-n12{margin-bottom:-5.5rem!important}.mb-sm-n13{margin-bottom:-6rem!important}.mb-sm-n14{margin-bottom:-6.5rem!important}.mb-sm-n15{margin-bottom:-7rem!important}.mb-sm-n16{margin-bottom:-7.5rem!important}.mb-sm-n17{margin-bottom:-8rem!important}.mb-sm-n18{margin-bottom:-8.5rem!important}.mb-sm-n19{margin-bottom:-9rem!important}.mb-sm-n20{margin-bottom:-9.5rem!important}.mb-sm-n21{margin-bottom:-10rem!important}.mb-sm-n22{margin-bottom:-13.75rem!important}.mb-sm-n23{margin-bottom:-24.5rem!important}.mb-sm-n24{margin-bottom:-11rem!important}.ms-sm-n1{margin-left:-.25rem!important}.ms-sm-n2{margin-left:-.5rem!important}.ms-sm-n3{margin-left:-.75rem!important}.ms-sm-n4{margin-left:-1.5rem!important}.ms-sm-n5{margin-left:-2rem!important}.ms-sm-n6{margin-left:-2.5rem!important}.ms-sm-n7{margin-left:-3rem!important}.ms-sm-n8{margin-left:-3.5rem!important}.ms-sm-n9{margin-left:-4rem!important}.ms-sm-n10{margin-left:-4.5rem!important}.ms-sm-n11{margin-left:-5rem!important}.ms-sm-n12{margin-left:-5.5rem!important}.ms-sm-n13{margin-left:-6rem!important}.ms-sm-n14{margin-left:-6.5rem!important}.ms-sm-n15{margin-left:-7rem!important}.ms-sm-n16{margin-left:-7.5rem!important}.ms-sm-n17{margin-left:-8rem!important}.ms-sm-n18{margin-left:-8.5rem!important}.ms-sm-n19{margin-left:-9rem!important}.ms-sm-n20{margin-left:-9.5rem!important}.ms-sm-n21{margin-left:-10rem!important}.ms-sm-n22{margin-left:-13.75rem!important}.ms-sm-n23{margin-left:-24.5rem!important}.ms-sm-n24{margin-left:-11rem!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:.75rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:2rem!important}.p-sm-6{padding:2.5rem!important}.p-sm-7{padding:3rem!important}.p-sm-8{padding:3.5rem!important}.p-sm-9{padding:4rem!important}.p-sm-10{padding:4.5rem!important}.p-sm-11{padding:5rem!important}.p-sm-12{padding:5.5rem!important}.p-sm-13{padding:6rem!important}.p-sm-14{padding:6.5rem!important}.p-sm-15{padding:7rem!important}.p-sm-16{padding:7.5rem!important}.p-sm-17{padding:8rem!important}.p-sm-18{padding:8.5rem!important}.p-sm-19{padding:9rem!important}.p-sm-20{padding:9.5rem!important}.p-sm-21{padding:10rem!important}.p-sm-22{padding:13.75rem!important}.p-sm-23{padding:24.5rem!important}.p-sm-24{padding:11rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:.75rem!important;padding-left:.75rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:2rem!important;padding-left:2rem!important}.px-sm-6{padding-right:2.5rem!important;padding-left:2.5rem!important}.px-sm-7{padding-right:3rem!important;padding-left:3rem!important}.px-sm-8{padding-right:3.5rem!important;padding-left:3.5rem!important}.px-sm-9{padding-right:4rem!important;padding-left:4rem!important}.px-sm-10{padding-right:4.5rem!important;padding-left:4.5rem!important}.px-sm-11{padding-right:5rem!important;padding-left:5rem!important}.px-sm-12{padding-right:5.5rem!important;padding-left:5.5rem!important}.px-sm-13{padding-right:6rem!important;padding-left:6rem!important}.px-sm-14{padding-right:6.5rem!important;padding-left:6.5rem!important}.px-sm-15{padding-right:7rem!important;padding-left:7rem!important}.px-sm-16{padding-right:7.5rem!important;padding-left:7.5rem!important}.px-sm-17{padding-right:8rem!important;padding-left:8rem!important}.px-sm-18{padding-right:8.5rem!important;padding-left:8.5rem!important}.px-sm-19{padding-right:9rem!important;padding-left:9rem!important}.px-sm-20{padding-right:9.5rem!important;padding-left:9.5rem!important}.px-sm-21{padding-right:10rem!important;padding-left:10rem!important}.px-sm-22{padding-right:13.75rem!important;padding-left:13.75rem!important}.px-sm-23{padding-right:24.5rem!important;padding-left:24.5rem!important}.px-sm-24{padding-right:11rem!important;padding-left:11rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:.75rem!important;padding-bottom:.75rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:2rem!important;padding-bottom:2rem!important}.py-sm-6{padding-top:2.5rem!important;padding-bottom:2.5rem!important}.py-sm-7{padding-top:3rem!important;padding-bottom:3rem!important}.py-sm-8{padding-top:3.5rem!important;padding-bottom:3.5rem!important}.py-sm-9{padding-top:4rem!important;padding-bottom:4rem!important}.py-sm-10{padding-top:4.5rem!important;padding-bottom:4.5rem!important}.py-sm-11{padding-top:5rem!important;padding-bottom:5rem!important}.py-sm-12{padding-top:5.5rem!important;padding-bottom:5.5rem!important}.py-sm-13{padding-top:6rem!important;padding-bottom:6rem!important}.py-sm-14{padding-top:6.5rem!important;padding-bottom:6.5rem!important}.py-sm-15{padding-top:7rem!important;padding-bottom:7rem!important}.py-sm-16{padding-top:7.5rem!important;padding-bottom:7.5rem!important}.py-sm-17{padding-top:8rem!important;padding-bottom:8rem!important}.py-sm-18{padding-top:8.5rem!important;padding-bottom:8.5rem!important}.py-sm-19{padding-top:9rem!important;padding-bottom:9rem!important}.py-sm-20{padding-top:9.5rem!important;padding-bottom:9.5rem!important}.py-sm-21{padding-top:10rem!important;padding-bottom:10rem!important}.py-sm-22{padding-top:13.75rem!important;padding-bottom:13.75rem!important}.py-sm-23{padding-top:24.5rem!important;padding-bottom:24.5rem!important}.py-sm-24{padding-top:11rem!important;padding-bottom:11rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:.75rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:2rem!important}.pt-sm-6{padding-top:2.5rem!important}.pt-sm-7{padding-top:3rem!important}.pt-sm-8{padding-top:3.5rem!important}.pt-sm-9{padding-top:4rem!important}.pt-sm-10{padding-top:4.5rem!important}.pt-sm-11{padding-top:5rem!important}.pt-sm-12{padding-top:5.5rem!important}.pt-sm-13{padding-top:6rem!important}.pt-sm-14{padding-top:6.5rem!important}.pt-sm-15{padding-top:7rem!important}.pt-sm-16{padding-top:7.5rem!important}.pt-sm-17{padding-top:8rem!important}.pt-sm-18{padding-top:8.5rem!important}.pt-sm-19{padding-top:9rem!important}.pt-sm-20{padding-top:9.5rem!important}.pt-sm-21{padding-top:10rem!important}.pt-sm-22{padding-top:13.75rem!important}.pt-sm-23{padding-top:24.5rem!important}.pt-sm-24{padding-top:11rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:.75rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:2rem!important}.pe-sm-6{padding-right:2.5rem!important}.pe-sm-7{padding-right:3rem!important}.pe-sm-8{padding-right:3.5rem!important}.pe-sm-9{padding-right:4rem!important}.pe-sm-10{padding-right:4.5rem!important}.pe-sm-11{padding-right:5rem!important}.pe-sm-12{padding-right:5.5rem!important}.pe-sm-13{padding-right:6rem!important}.pe-sm-14{padding-right:6.5rem!important}.pe-sm-15{padding-right:7rem!important}.pe-sm-16{padding-right:7.5rem!important}.pe-sm-17{padding-right:8rem!important}.pe-sm-18{padding-right:8.5rem!important}.pe-sm-19{padding-right:9rem!important}.pe-sm-20{padding-right:9.5rem!important}.pe-sm-21{padding-right:10rem!important}.pe-sm-22{padding-right:13.75rem!important}.pe-sm-23{padding-right:24.5rem!important}.pe-sm-24{padding-right:11rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:.75rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:2rem!important}.pb-sm-6{padding-bottom:2.5rem!important}.pb-sm-7{padding-bottom:3rem!important}.pb-sm-8{padding-bottom:3.5rem!important}.pb-sm-9{padding-bottom:4rem!important}.pb-sm-10{padding-bottom:4.5rem!important}.pb-sm-11{padding-bottom:5rem!important}.pb-sm-12{padding-bottom:5.5rem!important}.pb-sm-13{padding-bottom:6rem!important}.pb-sm-14{padding-bottom:6.5rem!important}.pb-sm-15{padding-bottom:7rem!important}.pb-sm-16{padding-bottom:7.5rem!important}.pb-sm-17{padding-bottom:8rem!important}.pb-sm-18{padding-bottom:8.5rem!important}.pb-sm-19{padding-bottom:9rem!important}.pb-sm-20{padding-bottom:9.5rem!important}.pb-sm-21{padding-bottom:10rem!important}.pb-sm-22{padding-bottom:13.75rem!important}.pb-sm-23{padding-bottom:24.5rem!important}.pb-sm-24{padding-bottom:11rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:.75rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:2rem!important}.ps-sm-6{padding-left:2.5rem!important}.ps-sm-7{padding-left:3rem!important}.ps-sm-8{padding-left:3.5rem!important}.ps-sm-9{padding-left:4rem!important}.ps-sm-10{padding-left:4.5rem!important}.ps-sm-11{padding-left:5rem!important}.ps-sm-12{padding-left:5.5rem!important}.ps-sm-13{padding-left:6rem!important}.ps-sm-14{padding-left:6.5rem!important}.ps-sm-15{padding-left:7rem!important}.ps-sm-16{padding-left:7.5rem!important}.ps-sm-17{padding-left:8rem!important}.ps-sm-18{padding-left:8.5rem!important}.ps-sm-19{padding-left:9rem!important}.ps-sm-20{padding-left:9.5rem!important}.ps-sm-21{padding-left:10rem!important}.ps-sm-22{padding-left:13.75rem!important}.ps-sm-23{padding-left:24.5rem!important}.ps-sm-24{padding-left:11rem!important}}@media(min-width:768px){.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:.75rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:2rem!important}.m-md-6{margin:2.5rem!important}.m-md-7{margin:3rem!important}.m-md-8{margin:3.5rem!important}.m-md-9{margin:4rem!important}.m-md-10{margin:4.5rem!important}.m-md-11{margin:5rem!important}.m-md-12{margin:5.5rem!important}.m-md-13{margin:6rem!important}.m-md-14{margin:6.5rem!important}.m-md-15{margin:7rem!important}.m-md-16{margin:7.5rem!important}.m-md-17{margin:8rem!important}.m-md-18{margin:8.5rem!important}.m-md-19{margin:9rem!important}.m-md-20{margin:9.5rem!important}.m-md-21{margin:10rem!important}.m-md-22{margin:13.75rem!important}.m-md-23{margin:24.5rem!important}.m-md-24{margin:11rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:.75rem!important;margin-left:.75rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:2rem!important;margin-left:2rem!important}.mx-md-6{margin-right:2.5rem!important;margin-left:2.5rem!important}.mx-md-7{margin-right:3rem!important;margin-left:3rem!important}.mx-md-8{margin-right:3.5rem!important;margin-left:3.5rem!important}.mx-md-9{margin-right:4rem!important;margin-left:4rem!important}.mx-md-10{margin-right:4.5rem!important;margin-left:4.5rem!important}.mx-md-11{margin-right:5rem!important;margin-left:5rem!important}.mx-md-12{margin-right:5.5rem!important;margin-left:5.5rem!important}.mx-md-13{margin-right:6rem!important;margin-left:6rem!important}.mx-md-14{margin-right:6.5rem!important;margin-left:6.5rem!important}.mx-md-15{margin-right:7rem!important;margin-left:7rem!important}.mx-md-16{margin-right:7.5rem!important;margin-left:7.5rem!important}.mx-md-17{margin-right:8rem!important;margin-left:8rem!important}.mx-md-18{margin-right:8.5rem!important;margin-left:8.5rem!important}.mx-md-19{margin-right:9rem!important;margin-left:9rem!important}.mx-md-20{margin-right:9.5rem!important;margin-left:9.5rem!important}.mx-md-21{margin-right:10rem!important;margin-left:10rem!important}.mx-md-22{margin-right:13.75rem!important;margin-left:13.75rem!important}.mx-md-23{margin-right:24.5rem!important;margin-left:24.5rem!important}.mx-md-24{margin-right:11rem!important;margin-left:11rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:.75rem!important;margin-bottom:.75rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:2rem!important;margin-bottom:2rem!important}.my-md-6{margin-top:2.5rem!important;margin-bottom:2.5rem!important}.my-md-7{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-8{margin-top:3.5rem!important;margin-bottom:3.5rem!important}.my-md-9{margin-top:4rem!important;margin-bottom:4rem!important}.my-md-10{margin-top:4.5rem!important;margin-bottom:4.5rem!important}.my-md-11{margin-top:5rem!important;margin-bottom:5rem!important}.my-md-12{margin-top:5.5rem!important;margin-bottom:5.5rem!important}.my-md-13{margin-top:6rem!important;margin-bottom:6rem!important}.my-md-14{margin-top:6.5rem!important;margin-bottom:6.5rem!important}.my-md-15{margin-top:7rem!important;margin-bottom:7rem!important}.my-md-16{margin-top:7.5rem!important;margin-bottom:7.5rem!important}.my-md-17{margin-top:8rem!important;margin-bottom:8rem!important}.my-md-18{margin-top:8.5rem!important;margin-bottom:8.5rem!important}.my-md-19{margin-top:9rem!important;margin-bottom:9rem!important}.my-md-20{margin-top:9.5rem!important;margin-bottom:9.5rem!important}.my-md-21{margin-top:10rem!important;margin-bottom:10rem!important}.my-md-22{margin-top:13.75rem!important;margin-bottom:13.75rem!important}.my-md-23{margin-top:24.5rem!important;margin-bottom:24.5rem!important}.my-md-24{margin-top:11rem!important;margin-bottom:11rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:.75rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:2rem!important}.mt-md-6{margin-top:2.5rem!important}.mt-md-7{margin-top:3rem!important}.mt-md-8{margin-top:3.5rem!important}.mt-md-9{margin-top:4rem!important}.mt-md-10{margin-top:4.5rem!important}.mt-md-11{margin-top:5rem!important}.mt-md-12{margin-top:5.5rem!important}.mt-md-13{margin-top:6rem!important}.mt-md-14{margin-top:6.5rem!important}.mt-md-15{margin-top:7rem!important}.mt-md-16{margin-top:7.5rem!important}.mt-md-17{margin-top:8rem!important}.mt-md-18{margin-top:8.5rem!important}.mt-md-19{margin-top:9rem!important}.mt-md-20{margin-top:9.5rem!important}.mt-md-21{margin-top:10rem!important}.mt-md-22{margin-top:13.75rem!important}.mt-md-23{margin-top:24.5rem!important}.mt-md-24{margin-top:11rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:.75rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:2rem!important}.me-md-6{margin-right:2.5rem!important}.me-md-7{margin-right:3rem!important}.me-md-8{margin-right:3.5rem!important}.me-md-9{margin-right:4rem!important}.me-md-10{margin-right:4.5rem!important}.me-md-11{margin-right:5rem!important}.me-md-12{margin-right:5.5rem!important}.me-md-13{margin-right:6rem!important}.me-md-14{margin-right:6.5rem!important}.me-md-15{margin-right:7rem!important}.me-md-16{margin-right:7.5rem!important}.me-md-17{margin-right:8rem!important}.me-md-18{margin-right:8.5rem!important}.me-md-19{margin-right:9rem!important}.me-md-20{margin-right:9.5rem!important}.me-md-21{margin-right:10rem!important}.me-md-22{margin-right:13.75rem!important}.me-md-23{margin-right:24.5rem!important}.me-md-24{margin-right:11rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:.75rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:2rem!important}.mb-md-6{margin-bottom:2.5rem!important}.mb-md-7{margin-bottom:3rem!important}.mb-md-8{margin-bottom:3.5rem!important}.mb-md-9{margin-bottom:4rem!important}.mb-md-10{margin-bottom:4.5rem!important}.mb-md-11{margin-bottom:5rem!important}.mb-md-12{margin-bottom:5.5rem!important}.mb-md-13{margin-bottom:6rem!important}.mb-md-14{margin-bottom:6.5rem!important}.mb-md-15{margin-bottom:7rem!important}.mb-md-16{margin-bottom:7.5rem!important}.mb-md-17{margin-bottom:8rem!important}.mb-md-18{margin-bottom:8.5rem!important}.mb-md-19{margin-bottom:9rem!important}.mb-md-20{margin-bottom:9.5rem!important}.mb-md-21{margin-bottom:10rem!important}.mb-md-22{margin-bottom:13.75rem!important}.mb-md-23{margin-bottom:24.5rem!important}.mb-md-24{margin-bottom:11rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:.75rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:2rem!important}.ms-md-6{margin-left:2.5rem!important}.ms-md-7{margin-left:3rem!important}.ms-md-8{margin-left:3.5rem!important}.ms-md-9{margin-left:4rem!important}.ms-md-10{margin-left:4.5rem!important}.ms-md-11{margin-left:5rem!important}.ms-md-12{margin-left:5.5rem!important}.ms-md-13{margin-left:6rem!important}.ms-md-14{margin-left:6.5rem!important}.ms-md-15{margin-left:7rem!important}.ms-md-16{margin-left:7.5rem!important}.ms-md-17{margin-left:8rem!important}.ms-md-18{margin-left:8.5rem!important}.ms-md-19{margin-left:9rem!important}.ms-md-20{margin-left:9.5rem!important}.ms-md-21{margin-left:10rem!important}.ms-md-22{margin-left:13.75rem!important}.ms-md-23{margin-left:24.5rem!important}.ms-md-24{margin-left:11rem!important}.ms-md-auto{margin-left:auto!important}.m-md-n1{margin:-.25rem!important}.m-md-n2{margin:-.5rem!important}.m-md-n3{margin:-.75rem!important}.m-md-n4{margin:-1.5rem!important}.m-md-n5{margin:-2rem!important}.m-md-n6{margin:-2.5rem!important}.m-md-n7{margin:-3rem!important}.m-md-n8{margin:-3.5rem!important}.m-md-n9{margin:-4rem!important}.m-md-n10{margin:-4.5rem!important}.m-md-n11{margin:-5rem!important}.m-md-n12{margin:-5.5rem!important}.m-md-n13{margin:-6rem!important}.m-md-n14{margin:-6.5rem!important}.m-md-n15{margin:-7rem!important}.m-md-n16{margin:-7.5rem!important}.m-md-n17{margin:-8rem!important}.m-md-n18{margin:-8.5rem!important}.m-md-n19{margin:-9rem!important}.m-md-n20{margin:-9.5rem!important}.m-md-n21{margin:-10rem!important}.m-md-n22{margin:-13.75rem!important}.m-md-n23{margin:-24.5rem!important}.m-md-n24{margin:-11rem!important}.mx-md-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-md-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-md-n3{margin-right:-.75rem!important;margin-left:-.75rem!important}.mx-md-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-md-n5{margin-right:-2rem!important;margin-left:-2rem!important}.mx-md-n6{margin-right:-2.5rem!important;margin-left:-2.5rem!important}.mx-md-n7{margin-right:-3rem!important;margin-left:-3rem!important}.mx-md-n8{margin-right:-3.5rem!important;margin-left:-3.5rem!important}.mx-md-n9{margin-right:-4rem!important;margin-left:-4rem!important}.mx-md-n10{margin-right:-4.5rem!important;margin-left:-4.5rem!important}.mx-md-n11{margin-right:-5rem!important;margin-left:-5rem!important}.mx-md-n12{margin-right:-5.5rem!important;margin-left:-5.5rem!important}.mx-md-n13{margin-right:-6rem!important;margin-left:-6rem!important}.mx-md-n14{margin-right:-6.5rem!important;margin-left:-6.5rem!important}.mx-md-n15{margin-right:-7rem!important;margin-left:-7rem!important}.mx-md-n16{margin-right:-7.5rem!important;margin-left:-7.5rem!important}.mx-md-n17{margin-right:-8rem!important;margin-left:-8rem!important}.mx-md-n18{margin-right:-8.5rem!important;margin-left:-8.5rem!important}.mx-md-n19{margin-right:-9rem!important;margin-left:-9rem!important}.mx-md-n20{margin-right:-9.5rem!important;margin-left:-9.5rem!important}.mx-md-n21{margin-right:-10rem!important;margin-left:-10rem!important}.mx-md-n22{margin-right:-13.75rem!important;margin-left:-13.75rem!important}.mx-md-n23{margin-right:-24.5rem!important;margin-left:-24.5rem!important}.mx-md-n24{margin-right:-11rem!important;margin-left:-11rem!important}.my-md-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-md-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-md-n3{margin-top:-.75rem!important;margin-bottom:-.75rem!important}.my-md-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-md-n5{margin-top:-2rem!important;margin-bottom:-2rem!important}.my-md-n6{margin-top:-2.5rem!important;margin-bottom:-2.5rem!important}.my-md-n7{margin-top:-3rem!important;margin-bottom:-3rem!important}.my-md-n8{margin-top:-3.5rem!important;margin-bottom:-3.5rem!important}.my-md-n9{margin-top:-4rem!important;margin-bottom:-4rem!important}.my-md-n10{margin-top:-4.5rem!important;margin-bottom:-4.5rem!important}.my-md-n11{margin-top:-5rem!important;margin-bottom:-5rem!important}.my-md-n12{margin-top:-5.5rem!important;margin-bottom:-5.5rem!important}.my-md-n13{margin-top:-6rem!important;margin-bottom:-6rem!important}.my-md-n14{margin-top:-6.5rem!important;margin-bottom:-6.5rem!important}.my-md-n15{margin-top:-7rem!important;margin-bottom:-7rem!important}.my-md-n16{margin-top:-7.5rem!important;margin-bottom:-7.5rem!important}.my-md-n17{margin-top:-8rem!important;margin-bottom:-8rem!important}.my-md-n18{margin-top:-8.5rem!important;margin-bottom:-8.5rem!important}.my-md-n19{margin-top:-9rem!important;margin-bottom:-9rem!important}.my-md-n20{margin-top:-9.5rem!important;margin-bottom:-9.5rem!important}.my-md-n21{margin-top:-10rem!important;margin-bottom:-10rem!important}.my-md-n22{margin-top:-13.75rem!important;margin-bottom:-13.75rem!important}.my-md-n23{margin-top:-24.5rem!important;margin-bottom:-24.5rem!important}.my-md-n24{margin-top:-11rem!important;margin-bottom:-11rem!important}.mt-md-n1{margin-top:-.25rem!important}.mt-md-n2{margin-top:-.5rem!important}.mt-md-n3{margin-top:-.75rem!important}.mt-md-n4{margin-top:-1.5rem!important}.mt-md-n5{margin-top:-2rem!important}.mt-md-n6{margin-top:-2.5rem!important}.mt-md-n7{margin-top:-3rem!important}.mt-md-n8{margin-top:-3.5rem!important}.mt-md-n9{margin-top:-4rem!important}.mt-md-n10{margin-top:-4.5rem!important}.mt-md-n11{margin-top:-5rem!important}.mt-md-n12{margin-top:-5.5rem!important}.mt-md-n13{margin-top:-6rem!important}.mt-md-n14{margin-top:-6.5rem!important}.mt-md-n15{margin-top:-7rem!important}.mt-md-n16{margin-top:-7.5rem!important}.mt-md-n17{margin-top:-8rem!important}.mt-md-n18{margin-top:-8.5rem!important}.mt-md-n19{margin-top:-9rem!important}.mt-md-n20{margin-top:-9.5rem!important}.mt-md-n21{margin-top:-10rem!important}.mt-md-n22{margin-top:-13.75rem!important}.mt-md-n23{margin-top:-24.5rem!important}.mt-md-n24{margin-top:-11rem!important}.me-md-n1{margin-right:-.25rem!important}.me-md-n2{margin-right:-.5rem!important}.me-md-n3{margin-right:-.75rem!important}.me-md-n4{margin-right:-1.5rem!important}.me-md-n5{margin-right:-2rem!important}.me-md-n6{margin-right:-2.5rem!important}.me-md-n7{margin-right:-3rem!important}.me-md-n8{margin-right:-3.5rem!important}.me-md-n9{margin-right:-4rem!important}.me-md-n10{margin-right:-4.5rem!important}.me-md-n11{margin-right:-5rem!important}.me-md-n12{margin-right:-5.5rem!important}.me-md-n13{margin-right:-6rem!important}.me-md-n14{margin-right:-6.5rem!important}.me-md-n15{margin-right:-7rem!important}.me-md-n16{margin-right:-7.5rem!important}.me-md-n17{margin-right:-8rem!important}.me-md-n18{margin-right:-8.5rem!important}.me-md-n19{margin-right:-9rem!important}.me-md-n20{margin-right:-9.5rem!important}.me-md-n21{margin-right:-10rem!important}.me-md-n22{margin-right:-13.75rem!important}.me-md-n23{margin-right:-24.5rem!important}.me-md-n24{margin-right:-11rem!important}.mb-md-n1{margin-bottom:-.25rem!important}.mb-md-n2{margin-bottom:-.5rem!important}.mb-md-n3{margin-bottom:-.75rem!important}.mb-md-n4{margin-bottom:-1.5rem!important}.mb-md-n5{margin-bottom:-2rem!important}.mb-md-n6{margin-bottom:-2.5rem!important}.mb-md-n7{margin-bottom:-3rem!important}.mb-md-n8{margin-bottom:-3.5rem!important}.mb-md-n9{margin-bottom:-4rem!important}.mb-md-n10{margin-bottom:-4.5rem!important}.mb-md-n11{margin-bottom:-5rem!important}.mb-md-n12{margin-bottom:-5.5rem!important}.mb-md-n13{margin-bottom:-6rem!important}.mb-md-n14{margin-bottom:-6.5rem!important}.mb-md-n15{margin-bottom:-7rem!important}.mb-md-n16{margin-bottom:-7.5rem!important}.mb-md-n17{margin-bottom:-8rem!important}.mb-md-n18{margin-bottom:-8.5rem!important}.mb-md-n19{margin-bottom:-9rem!important}.mb-md-n20{margin-bottom:-9.5rem!important}.mb-md-n21{margin-bottom:-10rem!important}.mb-md-n22{margin-bottom:-13.75rem!important}.mb-md-n23{margin-bottom:-24.5rem!important}.mb-md-n24{margin-bottom:-11rem!important}.ms-md-n1{margin-left:-.25rem!important}.ms-md-n2{margin-left:-.5rem!important}.ms-md-n3{margin-left:-.75rem!important}.ms-md-n4{margin-left:-1.5rem!important}.ms-md-n5{margin-left:-2rem!important}.ms-md-n6{margin-left:-2.5rem!important}.ms-md-n7{margin-left:-3rem!important}.ms-md-n8{margin-left:-3.5rem!important}.ms-md-n9{margin-left:-4rem!important}.ms-md-n10{margin-left:-4.5rem!important}.ms-md-n11{margin-left:-5rem!important}.ms-md-n12{margin-left:-5.5rem!important}.ms-md-n13{margin-left:-6rem!important}.ms-md-n14{margin-left:-6.5rem!important}.ms-md-n15{margin-left:-7rem!important}.ms-md-n16{margin-left:-7.5rem!important}.ms-md-n17{margin-left:-8rem!important}.ms-md-n18{margin-left:-8.5rem!important}.ms-md-n19{margin-left:-9rem!important}.ms-md-n20{margin-left:-9.5rem!important}.ms-md-n21{margin-left:-10rem!important}.ms-md-n22{margin-left:-13.75rem!important}.ms-md-n23{margin-left:-24.5rem!important}.ms-md-n24{margin-left:-11rem!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:.75rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:2rem!important}.p-md-6{padding:2.5rem!important}.p-md-7{padding:3rem!important}.p-md-8{padding:3.5rem!important}.p-md-9{padding:4rem!important}.p-md-10{padding:4.5rem!important}.p-md-11{padding:5rem!important}.p-md-12{padding:5.5rem!important}.p-md-13{padding:6rem!important}.p-md-14{padding:6.5rem!important}.p-md-15{padding:7rem!important}.p-md-16{padding:7.5rem!important}.p-md-17{padding:8rem!important}.p-md-18{padding:8.5rem!important}.p-md-19{padding:9rem!important}.p-md-20{padding:9.5rem!important}.p-md-21{padding:10rem!important}.p-md-22{padding:13.75rem!important}.p-md-23{padding:24.5rem!important}.p-md-24{padding:11rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:.75rem!important;padding-left:.75rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:2rem!important;padding-left:2rem!important}.px-md-6{padding-right:2.5rem!important;padding-left:2.5rem!important}.px-md-7{padding-right:3rem!important;padding-left:3rem!important}.px-md-8{padding-right:3.5rem!important;padding-left:3.5rem!important}.px-md-9{padding-right:4rem!important;padding-left:4rem!important}.px-md-10{padding-right:4.5rem!important;padding-left:4.5rem!important}.px-md-11{padding-right:5rem!important;padding-left:5rem!important}.px-md-12{padding-right:5.5rem!important;padding-left:5.5rem!important}.px-md-13{padding-right:6rem!important;padding-left:6rem!important}.px-md-14{padding-right:6.5rem!important;padding-left:6.5rem!important}.px-md-15{padding-right:7rem!important;padding-left:7rem!important}.px-md-16{padding-right:7.5rem!important;padding-left:7.5rem!important}.px-md-17{padding-right:8rem!important;padding-left:8rem!important}.px-md-18{padding-right:8.5rem!important;padding-left:8.5rem!important}.px-md-19{padding-right:9rem!important;padding-left:9rem!important}.px-md-20{padding-right:9.5rem!important;padding-left:9.5rem!important}.px-md-21{padding-right:10rem!important;padding-left:10rem!important}.px-md-22{padding-right:13.75rem!important;padding-left:13.75rem!important}.px-md-23{padding-right:24.5rem!important;padding-left:24.5rem!important}.px-md-24{padding-right:11rem!important;padding-left:11rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:.75rem!important;padding-bottom:.75rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:2rem!important;padding-bottom:2rem!important}.py-md-6{padding-top:2.5rem!important;padding-bottom:2.5rem!important}.py-md-7{padding-top:3rem!important;padding-bottom:3rem!important}.py-md-8{padding-top:3.5rem!important;padding-bottom:3.5rem!important}.py-md-9{padding-top:4rem!important;padding-bottom:4rem!important}.py-md-10{padding-top:4.5rem!important;padding-bottom:4.5rem!important}.py-md-11{padding-top:5rem!important;padding-bottom:5rem!important}.py-md-12{padding-top:5.5rem!important;padding-bottom:5.5rem!important}.py-md-13{padding-top:6rem!important;padding-bottom:6rem!important}.py-md-14{padding-top:6.5rem!important;padding-bottom:6.5rem!important}.py-md-15{padding-top:7rem!important;padding-bottom:7rem!important}.py-md-16{padding-top:7.5rem!important;padding-bottom:7.5rem!important}.py-md-17{padding-top:8rem!important;padding-bottom:8rem!important}.py-md-18{padding-top:8.5rem!important;padding-bottom:8.5rem!important}.py-md-19{padding-top:9rem!important;padding-bottom:9rem!important}.py-md-20{padding-top:9.5rem!important;padding-bottom:9.5rem!important}.py-md-21{padding-top:10rem!important;padding-bottom:10rem!important}.py-md-22{padding-top:13.75rem!important;padding-bottom:13.75rem!important}.py-md-23{padding-top:24.5rem!important;padding-bottom:24.5rem!important}.py-md-24{padding-top:11rem!important;padding-bottom:11rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:.75rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:2rem!important}.pt-md-6{padding-top:2.5rem!important}.pt-md-7{padding-top:3rem!important}.pt-md-8{padding-top:3.5rem!important}.pt-md-9{padding-top:4rem!important}.pt-md-10{padding-top:4.5rem!important}.pt-md-11{padding-top:5rem!important}.pt-md-12{padding-top:5.5rem!important}.pt-md-13{padding-top:6rem!important}.pt-md-14{padding-top:6.5rem!important}.pt-md-15{padding-top:7rem!important}.pt-md-16{padding-top:7.5rem!important}.pt-md-17{padding-top:8rem!important}.pt-md-18{padding-top:8.5rem!important}.pt-md-19{padding-top:9rem!important}.pt-md-20{padding-top:9.5rem!important}.pt-md-21{padding-top:10rem!important}.pt-md-22{padding-top:13.75rem!important}.pt-md-23{padding-top:24.5rem!important}.pt-md-24{padding-top:11rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:.75rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:2rem!important}.pe-md-6{padding-right:2.5rem!important}.pe-md-7{padding-right:3rem!important}.pe-md-8{padding-right:3.5rem!important}.pe-md-9{padding-right:4rem!important}.pe-md-10{padding-right:4.5rem!important}.pe-md-11{padding-right:5rem!important}.pe-md-12{padding-right:5.5rem!important}.pe-md-13{padding-right:6rem!important}.pe-md-14{padding-right:6.5rem!important}.pe-md-15{padding-right:7rem!important}.pe-md-16{padding-right:7.5rem!important}.pe-md-17{padding-right:8rem!important}.pe-md-18{padding-right:8.5rem!important}.pe-md-19{padding-right:9rem!important}.pe-md-20{padding-right:9.5rem!important}.pe-md-21{padding-right:10rem!important}.pe-md-22{padding-right:13.75rem!important}.pe-md-23{padding-right:24.5rem!important}.pe-md-24{padding-right:11rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:.75rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:2rem!important}.pb-md-6{padding-bottom:2.5rem!important}.pb-md-7{padding-bottom:3rem!important}.pb-md-8{padding-bottom:3.5rem!important}.pb-md-9{padding-bottom:4rem!important}.pb-md-10{padding-bottom:4.5rem!important}.pb-md-11{padding-bottom:5rem!important}.pb-md-12{padding-bottom:5.5rem!important}.pb-md-13{padding-bottom:6rem!important}.pb-md-14{padding-bottom:6.5rem!important}.pb-md-15{padding-bottom:7rem!important}.pb-md-16{padding-bottom:7.5rem!important}.pb-md-17{padding-bottom:8rem!important}.pb-md-18{padding-bottom:8.5rem!important}.pb-md-19{padding-bottom:9rem!important}.pb-md-20{padding-bottom:9.5rem!important}.pb-md-21{padding-bottom:10rem!important}.pb-md-22{padding-bottom:13.75rem!important}.pb-md-23{padding-bottom:24.5rem!important}.pb-md-24{padding-bottom:11rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:.75rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:2rem!important}.ps-md-6{padding-left:2.5rem!important}.ps-md-7{padding-left:3rem!important}.ps-md-8{padding-left:3.5rem!important}.ps-md-9{padding-left:4rem!important}.ps-md-10{padding-left:4.5rem!important}.ps-md-11{padding-left:5rem!important}.ps-md-12{padding-left:5.5rem!important}.ps-md-13{padding-left:6rem!important}.ps-md-14{padding-left:6.5rem!important}.ps-md-15{padding-left:7rem!important}.ps-md-16{padding-left:7.5rem!important}.ps-md-17{padding-left:8rem!important}.ps-md-18{padding-left:8.5rem!important}.ps-md-19{padding-left:9rem!important}.ps-md-20{padding-left:9.5rem!important}.ps-md-21{padding-left:10rem!important}.ps-md-22{padding-left:13.75rem!important}.ps-md-23{padding-left:24.5rem!important}.ps-md-24{padding-left:11rem!important}}@media(min-width:992px){.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:.75rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:2rem!important}.m-lg-6{margin:2.5rem!important}.m-lg-7{margin:3rem!important}.m-lg-8{margin:3.5rem!important}.m-lg-9{margin:4rem!important}.m-lg-10{margin:4.5rem!important}.m-lg-11{margin:5rem!important}.m-lg-12{margin:5.5rem!important}.m-lg-13{margin:6rem!important}.m-lg-14{margin:6.5rem!important}.m-lg-15{margin:7rem!important}.m-lg-16{margin:7.5rem!important}.m-lg-17{margin:8rem!important}.m-lg-18{margin:8.5rem!important}.m-lg-19{margin:9rem!important}.m-lg-20{margin:9.5rem!important}.m-lg-21{margin:10rem!important}.m-lg-22{margin:13.75rem!important}.m-lg-23{margin:24.5rem!important}.m-lg-24{margin:11rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:.75rem!important;margin-left:.75rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:2rem!important;margin-left:2rem!important}.mx-lg-6{margin-right:2.5rem!important;margin-left:2.5rem!important}.mx-lg-7{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-8{margin-right:3.5rem!important;margin-left:3.5rem!important}.mx-lg-9{margin-right:4rem!important;margin-left:4rem!important}.mx-lg-10{margin-right:4.5rem!important;margin-left:4.5rem!important}.mx-lg-11{margin-right:5rem!important;margin-left:5rem!important}.mx-lg-12{margin-right:5.5rem!important;margin-left:5.5rem!important}.mx-lg-13{margin-right:6rem!important;margin-left:6rem!important}.mx-lg-14{margin-right:6.5rem!important;margin-left:6.5rem!important}.mx-lg-15{margin-right:7rem!important;margin-left:7rem!important}.mx-lg-16{margin-right:7.5rem!important;margin-left:7.5rem!important}.mx-lg-17{margin-right:8rem!important;margin-left:8rem!important}.mx-lg-18{margin-right:8.5rem!important;margin-left:8.5rem!important}.mx-lg-19{margin-right:9rem!important;margin-left:9rem!important}.mx-lg-20{margin-right:9.5rem!important;margin-left:9.5rem!important}.mx-lg-21{margin-right:10rem!important;margin-left:10rem!important}.mx-lg-22{margin-right:13.75rem!important;margin-left:13.75rem!important}.mx-lg-23{margin-right:24.5rem!important;margin-left:24.5rem!important}.mx-lg-24{margin-right:11rem!important;margin-left:11rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:.75rem!important;margin-bottom:.75rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:2rem!important;margin-bottom:2rem!important}.my-lg-6{margin-top:2.5rem!important;margin-bottom:2.5rem!important}.my-lg-7{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-8{margin-top:3.5rem!important;margin-bottom:3.5rem!important}.my-lg-9{margin-top:4rem!important;margin-bottom:4rem!important}.my-lg-10{margin-top:4.5rem!important;margin-bottom:4.5rem!important}.my-lg-11{margin-top:5rem!important;margin-bottom:5rem!important}.my-lg-12{margin-top:5.5rem!important;margin-bottom:5.5rem!important}.my-lg-13{margin-top:6rem!important;margin-bottom:6rem!important}.my-lg-14{margin-top:6.5rem!important;margin-bottom:6.5rem!important}.my-lg-15{margin-top:7rem!important;margin-bottom:7rem!important}.my-lg-16{margin-top:7.5rem!important;margin-bottom:7.5rem!important}.my-lg-17{margin-top:8rem!important;margin-bottom:8rem!important}.my-lg-18{margin-top:8.5rem!important;margin-bottom:8.5rem!important}.my-lg-19{margin-top:9rem!important;margin-bottom:9rem!important}.my-lg-20{margin-top:9.5rem!important;margin-bottom:9.5rem!important}.my-lg-21{margin-top:10rem!important;margin-bottom:10rem!important}.my-lg-22{margin-top:13.75rem!important;margin-bottom:13.75rem!important}.my-lg-23{margin-top:24.5rem!important;margin-bottom:24.5rem!important}.my-lg-24{margin-top:11rem!important;margin-bottom:11rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:.75rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:2rem!important}.mt-lg-6{margin-top:2.5rem!important}.mt-lg-7{margin-top:3rem!important}.mt-lg-8{margin-top:3.5rem!important}.mt-lg-9{margin-top:4rem!important}.mt-lg-10{margin-top:4.5rem!important}.mt-lg-11{margin-top:5rem!important}.mt-lg-12{margin-top:5.5rem!important}.mt-lg-13{margin-top:6rem!important}.mt-lg-14{margin-top:6.5rem!important}.mt-lg-15{margin-top:7rem!important}.mt-lg-16{margin-top:7.5rem!important}.mt-lg-17{margin-top:8rem!important}.mt-lg-18{margin-top:8.5rem!important}.mt-lg-19{margin-top:9rem!important}.mt-lg-20{margin-top:9.5rem!important}.mt-lg-21{margin-top:10rem!important}.mt-lg-22{margin-top:13.75rem!important}.mt-lg-23{margin-top:24.5rem!important}.mt-lg-24{margin-top:11rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:.75rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:2rem!important}.me-lg-6{margin-right:2.5rem!important}.me-lg-7{margin-right:3rem!important}.me-lg-8{margin-right:3.5rem!important}.me-lg-9{margin-right:4rem!important}.me-lg-10{margin-right:4.5rem!important}.me-lg-11{margin-right:5rem!important}.me-lg-12{margin-right:5.5rem!important}.me-lg-13{margin-right:6rem!important}.me-lg-14{margin-right:6.5rem!important}.me-lg-15{margin-right:7rem!important}.me-lg-16{margin-right:7.5rem!important}.me-lg-17{margin-right:8rem!important}.me-lg-18{margin-right:8.5rem!important}.me-lg-19{margin-right:9rem!important}.me-lg-20{margin-right:9.5rem!important}.me-lg-21{margin-right:10rem!important}.me-lg-22{margin-right:13.75rem!important}.me-lg-23{margin-right:24.5rem!important}.me-lg-24{margin-right:11rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:.75rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:2rem!important}.mb-lg-6{margin-bottom:2.5rem!important}.mb-lg-7{margin-bottom:3rem!important}.mb-lg-8{margin-bottom:3.5rem!important}.mb-lg-9{margin-bottom:4rem!important}.mb-lg-10{margin-bottom:4.5rem!important}.mb-lg-11{margin-bottom:5rem!important}.mb-lg-12{margin-bottom:5.5rem!important}.mb-lg-13{margin-bottom:6rem!important}.mb-lg-14{margin-bottom:6.5rem!important}.mb-lg-15{margin-bottom:7rem!important}.mb-lg-16{margin-bottom:7.5rem!important}.mb-lg-17{margin-bottom:8rem!important}.mb-lg-18{margin-bottom:8.5rem!important}.mb-lg-19{margin-bottom:9rem!important}.mb-lg-20{margin-bottom:9.5rem!important}.mb-lg-21{margin-bottom:10rem!important}.mb-lg-22{margin-bottom:13.75rem!important}.mb-lg-23{margin-bottom:24.5rem!important}.mb-lg-24{margin-bottom:11rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:.75rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:2rem!important}.ms-lg-6{margin-left:2.5rem!important}.ms-lg-7{margin-left:3rem!important}.ms-lg-8{margin-left:3.5rem!important}.ms-lg-9{margin-left:4rem!important}.ms-lg-10{margin-left:4.5rem!important}.ms-lg-11{margin-left:5rem!important}.ms-lg-12{margin-left:5.5rem!important}.ms-lg-13{margin-left:6rem!important}.ms-lg-14{margin-left:6.5rem!important}.ms-lg-15{margin-left:7rem!important}.ms-lg-16{margin-left:7.5rem!important}.ms-lg-17{margin-left:8rem!important}.ms-lg-18{margin-left:8.5rem!important}.ms-lg-19{margin-left:9rem!important}.ms-lg-20{margin-left:9.5rem!important}.ms-lg-21{margin-left:10rem!important}.ms-lg-22{margin-left:13.75rem!important}.ms-lg-23{margin-left:24.5rem!important}.ms-lg-24{margin-left:11rem!important}.ms-lg-auto{margin-left:auto!important}.m-lg-n1{margin:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.m-lg-n3{margin:-.75rem!important}.m-lg-n4{margin:-1.5rem!important}.m-lg-n5{margin:-2rem!important}.m-lg-n6{margin:-2.5rem!important}.m-lg-n7{margin:-3rem!important}.m-lg-n8{margin:-3.5rem!important}.m-lg-n9{margin:-4rem!important}.m-lg-n10{margin:-4.5rem!important}.m-lg-n11{margin:-5rem!important}.m-lg-n12{margin:-5.5rem!important}.m-lg-n13{margin:-6rem!important}.m-lg-n14{margin:-6.5rem!important}.m-lg-n15{margin:-7rem!important}.m-lg-n16{margin:-7.5rem!important}.m-lg-n17{margin:-8rem!important}.m-lg-n18{margin:-8.5rem!important}.m-lg-n19{margin:-9rem!important}.m-lg-n20{margin:-9.5rem!important}.m-lg-n21{margin:-10rem!important}.m-lg-n22{margin:-13.75rem!important}.m-lg-n23{margin:-24.5rem!important}.m-lg-n24{margin:-11rem!important}.mx-lg-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-lg-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-lg-n3{margin-right:-.75rem!important;margin-left:-.75rem!important}.mx-lg-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-lg-n5{margin-right:-2rem!important;margin-left:-2rem!important}.mx-lg-n6{margin-right:-2.5rem!important;margin-left:-2.5rem!important}.mx-lg-n7{margin-right:-3rem!important;margin-left:-3rem!important}.mx-lg-n8{margin-right:-3.5rem!important;margin-left:-3.5rem!important}.mx-lg-n9{margin-right:-4rem!important;margin-left:-4rem!important}.mx-lg-n10{margin-right:-4.5rem!important;margin-left:-4.5rem!important}.mx-lg-n11{margin-right:-5rem!important;margin-left:-5rem!important}.mx-lg-n12{margin-right:-5.5rem!important;margin-left:-5.5rem!important}.mx-lg-n13{margin-right:-6rem!important;margin-left:-6rem!important}.mx-lg-n14{margin-right:-6.5rem!important;margin-left:-6.5rem!important}.mx-lg-n15{margin-right:-7rem!important;margin-left:-7rem!important}.mx-lg-n16{margin-right:-7.5rem!important;margin-left:-7.5rem!important}.mx-lg-n17{margin-right:-8rem!important;margin-left:-8rem!important}.mx-lg-n18{margin-right:-8.5rem!important;margin-left:-8.5rem!important}.mx-lg-n19{margin-right:-9rem!important;margin-left:-9rem!important}.mx-lg-n20{margin-right:-9.5rem!important;margin-left:-9.5rem!important}.mx-lg-n21{margin-right:-10rem!important;margin-left:-10rem!important}.mx-lg-n22{margin-right:-13.75rem!important;margin-left:-13.75rem!important}.mx-lg-n23{margin-right:-24.5rem!important;margin-left:-24.5rem!important}.mx-lg-n24{margin-right:-11rem!important;margin-left:-11rem!important}.my-lg-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-lg-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-lg-n3{margin-top:-.75rem!important;margin-bottom:-.75rem!important}.my-lg-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-lg-n5{margin-top:-2rem!important;margin-bottom:-2rem!important}.my-lg-n6{margin-top:-2.5rem!important;margin-bottom:-2.5rem!important}.my-lg-n7{margin-top:-3rem!important;margin-bottom:-3rem!important}.my-lg-n8{margin-top:-3.5rem!important;margin-bottom:-3.5rem!important}.my-lg-n9{margin-top:-4rem!important;margin-bottom:-4rem!important}.my-lg-n10{margin-top:-4.5rem!important;margin-bottom:-4.5rem!important}.my-lg-n11{margin-top:-5rem!important;margin-bottom:-5rem!important}.my-lg-n12{margin-top:-5.5rem!important;margin-bottom:-5.5rem!important}.my-lg-n13{margin-top:-6rem!important;margin-bottom:-6rem!important}.my-lg-n14{margin-top:-6.5rem!important;margin-bottom:-6.5rem!important}.my-lg-n15{margin-top:-7rem!important;margin-bottom:-7rem!important}.my-lg-n16{margin-top:-7.5rem!important;margin-bottom:-7.5rem!important}.my-lg-n17{margin-top:-8rem!important;margin-bottom:-8rem!important}.my-lg-n18{margin-top:-8.5rem!important;margin-bottom:-8.5rem!important}.my-lg-n19{margin-top:-9rem!important;margin-bottom:-9rem!important}.my-lg-n20{margin-top:-9.5rem!important;margin-bottom:-9.5rem!important}.my-lg-n21{margin-top:-10rem!important;margin-bottom:-10rem!important}.my-lg-n22{margin-top:-13.75rem!important;margin-bottom:-13.75rem!important}.my-lg-n23{margin-top:-24.5rem!important;margin-bottom:-24.5rem!important}.my-lg-n24{margin-top:-11rem!important;margin-bottom:-11rem!important}.mt-lg-n1{margin-top:-.25rem!important}.mt-lg-n2{margin-top:-.5rem!important}.mt-lg-n3{margin-top:-.75rem!important}.mt-lg-n4{margin-top:-1.5rem!important}.mt-lg-n5{margin-top:-2rem!important}.mt-lg-n6{margin-top:-2.5rem!important}.mt-lg-n7{margin-top:-3rem!important}.mt-lg-n8{margin-top:-3.5rem!important}.mt-lg-n9{margin-top:-4rem!important}.mt-lg-n10{margin-top:-4.5rem!important}.mt-lg-n11{margin-top:-5rem!important}.mt-lg-n12{margin-top:-5.5rem!important}.mt-lg-n13{margin-top:-6rem!important}.mt-lg-n14{margin-top:-6.5rem!important}.mt-lg-n15{margin-top:-7rem!important}.mt-lg-n16{margin-top:-7.5rem!important}.mt-lg-n17{margin-top:-8rem!important}.mt-lg-n18{margin-top:-8.5rem!important}.mt-lg-n19{margin-top:-9rem!important}.mt-lg-n20{margin-top:-9.5rem!important}.mt-lg-n21{margin-top:-10rem!important}.mt-lg-n22{margin-top:-13.75rem!important}.mt-lg-n23{margin-top:-24.5rem!important}.mt-lg-n24{margin-top:-11rem!important}.me-lg-n1{margin-right:-.25rem!important}.me-lg-n2{margin-right:-.5rem!important}.me-lg-n3{margin-right:-.75rem!important}.me-lg-n4{margin-right:-1.5rem!important}.me-lg-n5{margin-right:-2rem!important}.me-lg-n6{margin-right:-2.5rem!important}.me-lg-n7{margin-right:-3rem!important}.me-lg-n8{margin-right:-3.5rem!important}.me-lg-n9{margin-right:-4rem!important}.me-lg-n10{margin-right:-4.5rem!important}.me-lg-n11{margin-right:-5rem!important}.me-lg-n12{margin-right:-5.5rem!important}.me-lg-n13{margin-right:-6rem!important}.me-lg-n14{margin-right:-6.5rem!important}.me-lg-n15{margin-right:-7rem!important}.me-lg-n16{margin-right:-7.5rem!important}.me-lg-n17{margin-right:-8rem!important}.me-lg-n18{margin-right:-8.5rem!important}.me-lg-n19{margin-right:-9rem!important}.me-lg-n20{margin-right:-9.5rem!important}.me-lg-n21{margin-right:-10rem!important}.me-lg-n22{margin-right:-13.75rem!important}.me-lg-n23{margin-right:-24.5rem!important}.me-lg-n24{margin-right:-11rem!important}.mb-lg-n1{margin-bottom:-.25rem!important}.mb-lg-n2{margin-bottom:-.5rem!important}.mb-lg-n3{margin-bottom:-.75rem!important}.mb-lg-n4{margin-bottom:-1.5rem!important}.mb-lg-n5{margin-bottom:-2rem!important}.mb-lg-n6{margin-bottom:-2.5rem!important}.mb-lg-n7{margin-bottom:-3rem!important}.mb-lg-n8{margin-bottom:-3.5rem!important}.mb-lg-n9{margin-bottom:-4rem!important}.mb-lg-n10{margin-bottom:-4.5rem!important}.mb-lg-n11{margin-bottom:-5rem!important}.mb-lg-n12{margin-bottom:-5.5rem!important}.mb-lg-n13{margin-bottom:-6rem!important}.mb-lg-n14{margin-bottom:-6.5rem!important}.mb-lg-n15{margin-bottom:-7rem!important}.mb-lg-n16{margin-bottom:-7.5rem!important}.mb-lg-n17{margin-bottom:-8rem!important}.mb-lg-n18{margin-bottom:-8.5rem!important}.mb-lg-n19{margin-bottom:-9rem!important}.mb-lg-n20{margin-bottom:-9.5rem!important}.mb-lg-n21{margin-bottom:-10rem!important}.mb-lg-n22{margin-bottom:-13.75rem!important}.mb-lg-n23{margin-bottom:-24.5rem!important}.mb-lg-n24{margin-bottom:-11rem!important}.ms-lg-n1{margin-left:-.25rem!important}.ms-lg-n2{margin-left:-.5rem!important}.ms-lg-n3{margin-left:-.75rem!important}.ms-lg-n4{margin-left:-1.5rem!important}.ms-lg-n5{margin-left:-2rem!important}.ms-lg-n6{margin-left:-2.5rem!important}.ms-lg-n7{margin-left:-3rem!important}.ms-lg-n8{margin-left:-3.5rem!important}.ms-lg-n9{margin-left:-4rem!important}.ms-lg-n10{margin-left:-4.5rem!important}.ms-lg-n11{margin-left:-5rem!important}.ms-lg-n12{margin-left:-5.5rem!important}.ms-lg-n13{margin-left:-6rem!important}.ms-lg-n14{margin-left:-6.5rem!important}.ms-lg-n15{margin-left:-7rem!important}.ms-lg-n16{margin-left:-7.5rem!important}.ms-lg-n17{margin-left:-8rem!important}.ms-lg-n18{margin-left:-8.5rem!important}.ms-lg-n19{margin-left:-9rem!important}.ms-lg-n20{margin-left:-9.5rem!important}.ms-lg-n21{margin-left:-10rem!important}.ms-lg-n22{margin-left:-13.75rem!important}.ms-lg-n23{margin-left:-24.5rem!important}.ms-lg-n24{margin-left:-11rem!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:.75rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:2rem!important}.p-lg-6{padding:2.5rem!important}.p-lg-7{padding:3rem!important}.p-lg-8{padding:3.5rem!important}.p-lg-9{padding:4rem!important}.p-lg-10{padding:4.5rem!important}.p-lg-11{padding:5rem!important}.p-lg-12{padding:5.5rem!important}.p-lg-13{padding:6rem!important}.p-lg-14{padding:6.5rem!important}.p-lg-15{padding:7rem!important}.p-lg-16{padding:7.5rem!important}.p-lg-17{padding:8rem!important}.p-lg-18{padding:8.5rem!important}.p-lg-19{padding:9rem!important}.p-lg-20{padding:9.5rem!important}.p-lg-21{padding:10rem!important}.p-lg-22{padding:13.75rem!important}.p-lg-23{padding:24.5rem!important}.p-lg-24{padding:11rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:.75rem!important;padding-left:.75rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:2rem!important;padding-left:2rem!important}.px-lg-6{padding-right:2.5rem!important;padding-left:2.5rem!important}.px-lg-7{padding-right:3rem!important;padding-left:3rem!important}.px-lg-8{padding-right:3.5rem!important;padding-left:3.5rem!important}.px-lg-9{padding-right:4rem!important;padding-left:4rem!important}.px-lg-10{padding-right:4.5rem!important;padding-left:4.5rem!important}.px-lg-11{padding-right:5rem!important;padding-left:5rem!important}.px-lg-12{padding-right:5.5rem!important;padding-left:5.5rem!important}.px-lg-13{padding-right:6rem!important;padding-left:6rem!important}.px-lg-14{padding-right:6.5rem!important;padding-left:6.5rem!important}.px-lg-15{padding-right:7rem!important;padding-left:7rem!important}.px-lg-16{padding-right:7.5rem!important;padding-left:7.5rem!important}.px-lg-17{padding-right:8rem!important;padding-left:8rem!important}.px-lg-18{padding-right:8.5rem!important;padding-left:8.5rem!important}.px-lg-19{padding-right:9rem!important;padding-left:9rem!important}.px-lg-20{padding-right:9.5rem!important;padding-left:9.5rem!important}.px-lg-21{padding-right:10rem!important;padding-left:10rem!important}.px-lg-22{padding-right:13.75rem!important;padding-left:13.75rem!important}.px-lg-23{padding-right:24.5rem!important;padding-left:24.5rem!important}.px-lg-24{padding-right:11rem!important;padding-left:11rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:.75rem!important;padding-bottom:.75rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:2rem!important;padding-bottom:2rem!important}.py-lg-6{padding-top:2.5rem!important;padding-bottom:2.5rem!important}.py-lg-7{padding-top:3rem!important;padding-bottom:3rem!important}.py-lg-8{padding-top:3.5rem!important;padding-bottom:3.5rem!important}.py-lg-9{padding-top:4rem!important;padding-bottom:4rem!important}.py-lg-10{padding-top:4.5rem!important;padding-bottom:4.5rem!important}.py-lg-11{padding-top:5rem!important;padding-bottom:5rem!important}.py-lg-12{padding-top:5.5rem!important;padding-bottom:5.5rem!important}.py-lg-13{padding-top:6rem!important;padding-bottom:6rem!important}.py-lg-14{padding-top:6.5rem!important;padding-bottom:6.5rem!important}.py-lg-15{padding-top:7rem!important;padding-bottom:7rem!important}.py-lg-16{padding-top:7.5rem!important;padding-bottom:7.5rem!important}.py-lg-17{padding-top:8rem!important;padding-bottom:8rem!important}.py-lg-18{padding-top:8.5rem!important;padding-bottom:8.5rem!important}.py-lg-19{padding-top:9rem!important;padding-bottom:9rem!important}.py-lg-20{padding-top:9.5rem!important;padding-bottom:9.5rem!important}.py-lg-21{padding-top:10rem!important;padding-bottom:10rem!important}.py-lg-22{padding-top:13.75rem!important;padding-bottom:13.75rem!important}.py-lg-23{padding-top:24.5rem!important;padding-bottom:24.5rem!important}.py-lg-24{padding-top:11rem!important;padding-bottom:11rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:.75rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:2rem!important}.pt-lg-6{padding-top:2.5rem!important}.pt-lg-7{padding-top:3rem!important}.pt-lg-8{padding-top:3.5rem!important}.pt-lg-9{padding-top:4rem!important}.pt-lg-10{padding-top:4.5rem!important}.pt-lg-11{padding-top:5rem!important}.pt-lg-12{padding-top:5.5rem!important}.pt-lg-13{padding-top:6rem!important}.pt-lg-14{padding-top:6.5rem!important}.pt-lg-15{padding-top:7rem!important}.pt-lg-16{padding-top:7.5rem!important}.pt-lg-17{padding-top:8rem!important}.pt-lg-18{padding-top:8.5rem!important}.pt-lg-19{padding-top:9rem!important}.pt-lg-20{padding-top:9.5rem!important}.pt-lg-21{padding-top:10rem!important}.pt-lg-22{padding-top:13.75rem!important}.pt-lg-23{padding-top:24.5rem!important}.pt-lg-24{padding-top:11rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:.75rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:2rem!important}.pe-lg-6{padding-right:2.5rem!important}.pe-lg-7{padding-right:3rem!important}.pe-lg-8{padding-right:3.5rem!important}.pe-lg-9{padding-right:4rem!important}.pe-lg-10{padding-right:4.5rem!important}.pe-lg-11{padding-right:5rem!important}.pe-lg-12{padding-right:5.5rem!important}.pe-lg-13{padding-right:6rem!important}.pe-lg-14{padding-right:6.5rem!important}.pe-lg-15{padding-right:7rem!important}.pe-lg-16{padding-right:7.5rem!important}.pe-lg-17{padding-right:8rem!important}.pe-lg-18{padding-right:8.5rem!important}.pe-lg-19{padding-right:9rem!important}.pe-lg-20{padding-right:9.5rem!important}.pe-lg-21{padding-right:10rem!important}.pe-lg-22{padding-right:13.75rem!important}.pe-lg-23{padding-right:24.5rem!important}.pe-lg-24{padding-right:11rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:.75rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:2rem!important}.pb-lg-6{padding-bottom:2.5rem!important}.pb-lg-7{padding-bottom:3rem!important}.pb-lg-8{padding-bottom:3.5rem!important}.pb-lg-9{padding-bottom:4rem!important}.pb-lg-10{padding-bottom:4.5rem!important}.pb-lg-11{padding-bottom:5rem!important}.pb-lg-12{padding-bottom:5.5rem!important}.pb-lg-13{padding-bottom:6rem!important}.pb-lg-14{padding-bottom:6.5rem!important}.pb-lg-15{padding-bottom:7rem!important}.pb-lg-16{padding-bottom:7.5rem!important}.pb-lg-17{padding-bottom:8rem!important}.pb-lg-18{padding-bottom:8.5rem!important}.pb-lg-19{padding-bottom:9rem!important}.pb-lg-20{padding-bottom:9.5rem!important}.pb-lg-21{padding-bottom:10rem!important}.pb-lg-22{padding-bottom:13.75rem!important}.pb-lg-23{padding-bottom:24.5rem!important}.pb-lg-24{padding-bottom:11rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:.75rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:2rem!important}.ps-lg-6{padding-left:2.5rem!important}.ps-lg-7{padding-left:3rem!important}.ps-lg-8{padding-left:3.5rem!important}.ps-lg-9{padding-left:4rem!important}.ps-lg-10{padding-left:4.5rem!important}.ps-lg-11{padding-left:5rem!important}.ps-lg-12{padding-left:5.5rem!important}.ps-lg-13{padding-left:6rem!important}.ps-lg-14{padding-left:6.5rem!important}.ps-lg-15{padding-left:7rem!important}.ps-lg-16{padding-left:7.5rem!important}.ps-lg-17{padding-left:8rem!important}.ps-lg-18{padding-left:8.5rem!important}.ps-lg-19{padding-left:9rem!important}.ps-lg-20{padding-left:9.5rem!important}.ps-lg-21{padding-left:10rem!important}.ps-lg-22{padding-left:13.75rem!important}.ps-lg-23{padding-left:24.5rem!important}.ps-lg-24{padding-left:11rem!important}}@media(min-width:1200px){.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:.75rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:2rem!important}.m-xl-6{margin:2.5rem!important}.m-xl-7{margin:3rem!important}.m-xl-8{margin:3.5rem!important}.m-xl-9{margin:4rem!important}.m-xl-10{margin:4.5rem!important}.m-xl-11{margin:5rem!important}.m-xl-12{margin:5.5rem!important}.m-xl-13{margin:6rem!important}.m-xl-14{margin:6.5rem!important}.m-xl-15{margin:7rem!important}.m-xl-16{margin:7.5rem!important}.m-xl-17{margin:8rem!important}.m-xl-18{margin:8.5rem!important}.m-xl-19{margin:9rem!important}.m-xl-20{margin:9.5rem!important}.m-xl-21{margin:10rem!important}.m-xl-22{margin:13.75rem!important}.m-xl-23{margin:24.5rem!important}.m-xl-24{margin:11rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:.75rem!important;margin-left:.75rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:2rem!important;margin-left:2rem!important}.mx-xl-6{margin-right:2.5rem!important;margin-left:2.5rem!important}.mx-xl-7{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-8{margin-right:3.5rem!important;margin-left:3.5rem!important}.mx-xl-9{margin-right:4rem!important;margin-left:4rem!important}.mx-xl-10{margin-right:4.5rem!important;margin-left:4.5rem!important}.mx-xl-11{margin-right:5rem!important;margin-left:5rem!important}.mx-xl-12{margin-right:5.5rem!important;margin-left:5.5rem!important}.mx-xl-13{margin-right:6rem!important;margin-left:6rem!important}.mx-xl-14{margin-right:6.5rem!important;margin-left:6.5rem!important}.mx-xl-15{margin-right:7rem!important;margin-left:7rem!important}.mx-xl-16{margin-right:7.5rem!important;margin-left:7.5rem!important}.mx-xl-17{margin-right:8rem!important;margin-left:8rem!important}.mx-xl-18{margin-right:8.5rem!important;margin-left:8.5rem!important}.mx-xl-19{margin-right:9rem!important;margin-left:9rem!important}.mx-xl-20{margin-right:9.5rem!important;margin-left:9.5rem!important}.mx-xl-21{margin-right:10rem!important;margin-left:10rem!important}.mx-xl-22{margin-right:13.75rem!important;margin-left:13.75rem!important}.mx-xl-23{margin-right:24.5rem!important;margin-left:24.5rem!important}.mx-xl-24{margin-right:11rem!important;margin-left:11rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:.75rem!important;margin-bottom:.75rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:2rem!important;margin-bottom:2rem!important}.my-xl-6{margin-top:2.5rem!important;margin-bottom:2.5rem!important}.my-xl-7{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-8{margin-top:3.5rem!important;margin-bottom:3.5rem!important}.my-xl-9{margin-top:4rem!important;margin-bottom:4rem!important}.my-xl-10{margin-top:4.5rem!important;margin-bottom:4.5rem!important}.my-xl-11{margin-top:5rem!important;margin-bottom:5rem!important}.my-xl-12{margin-top:5.5rem!important;margin-bottom:5.5rem!important}.my-xl-13{margin-top:6rem!important;margin-bottom:6rem!important}.my-xl-14{margin-top:6.5rem!important;margin-bottom:6.5rem!important}.my-xl-15{margin-top:7rem!important;margin-bottom:7rem!important}.my-xl-16{margin-top:7.5rem!important;margin-bottom:7.5rem!important}.my-xl-17{margin-top:8rem!important;margin-bottom:8rem!important}.my-xl-18{margin-top:8.5rem!important;margin-bottom:8.5rem!important}.my-xl-19{margin-top:9rem!important;margin-bottom:9rem!important}.my-xl-20{margin-top:9.5rem!important;margin-bottom:9.5rem!important}.my-xl-21{margin-top:10rem!important;margin-bottom:10rem!important}.my-xl-22{margin-top:13.75rem!important;margin-bottom:13.75rem!important}.my-xl-23{margin-top:24.5rem!important;margin-bottom:24.5rem!important}.my-xl-24{margin-top:11rem!important;margin-bottom:11rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:.75rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:2rem!important}.mt-xl-6{margin-top:2.5rem!important}.mt-xl-7{margin-top:3rem!important}.mt-xl-8{margin-top:3.5rem!important}.mt-xl-9{margin-top:4rem!important}.mt-xl-10{margin-top:4.5rem!important}.mt-xl-11{margin-top:5rem!important}.mt-xl-12{margin-top:5.5rem!important}.mt-xl-13{margin-top:6rem!important}.mt-xl-14{margin-top:6.5rem!important}.mt-xl-15{margin-top:7rem!important}.mt-xl-16{margin-top:7.5rem!important}.mt-xl-17{margin-top:8rem!important}.mt-xl-18{margin-top:8.5rem!important}.mt-xl-19{margin-top:9rem!important}.mt-xl-20{margin-top:9.5rem!important}.mt-xl-21{margin-top:10rem!important}.mt-xl-22{margin-top:13.75rem!important}.mt-xl-23{margin-top:24.5rem!important}.mt-xl-24{margin-top:11rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:.75rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:2rem!important}.me-xl-6{margin-right:2.5rem!important}.me-xl-7{margin-right:3rem!important}.me-xl-8{margin-right:3.5rem!important}.me-xl-9{margin-right:4rem!important}.me-xl-10{margin-right:4.5rem!important}.me-xl-11{margin-right:5rem!important}.me-xl-12{margin-right:5.5rem!important}.me-xl-13{margin-right:6rem!important}.me-xl-14{margin-right:6.5rem!important}.me-xl-15{margin-right:7rem!important}.me-xl-16{margin-right:7.5rem!important}.me-xl-17{margin-right:8rem!important}.me-xl-18{margin-right:8.5rem!important}.me-xl-19{margin-right:9rem!important}.me-xl-20{margin-right:9.5rem!important}.me-xl-21{margin-right:10rem!important}.me-xl-22{margin-right:13.75rem!important}.me-xl-23{margin-right:24.5rem!important}.me-xl-24{margin-right:11rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:.75rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:2rem!important}.mb-xl-6{margin-bottom:2.5rem!important}.mb-xl-7{margin-bottom:3rem!important}.mb-xl-8{margin-bottom:3.5rem!important}.mb-xl-9{margin-bottom:4rem!important}.mb-xl-10{margin-bottom:4.5rem!important}.mb-xl-11{margin-bottom:5rem!important}.mb-xl-12{margin-bottom:5.5rem!important}.mb-xl-13{margin-bottom:6rem!important}.mb-xl-14{margin-bottom:6.5rem!important}.mb-xl-15{margin-bottom:7rem!important}.mb-xl-16{margin-bottom:7.5rem!important}.mb-xl-17{margin-bottom:8rem!important}.mb-xl-18{margin-bottom:8.5rem!important}.mb-xl-19{margin-bottom:9rem!important}.mb-xl-20{margin-bottom:9.5rem!important}.mb-xl-21{margin-bottom:10rem!important}.mb-xl-22{margin-bottom:13.75rem!important}.mb-xl-23{margin-bottom:24.5rem!important}.mb-xl-24{margin-bottom:11rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:.75rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:2rem!important}.ms-xl-6{margin-left:2.5rem!important}.ms-xl-7{margin-left:3rem!important}.ms-xl-8{margin-left:3.5rem!important}.ms-xl-9{margin-left:4rem!important}.ms-xl-10{margin-left:4.5rem!important}.ms-xl-11{margin-left:5rem!important}.ms-xl-12{margin-left:5.5rem!important}.ms-xl-13{margin-left:6rem!important}.ms-xl-14{margin-left:6.5rem!important}.ms-xl-15{margin-left:7rem!important}.ms-xl-16{margin-left:7.5rem!important}.ms-xl-17{margin-left:8rem!important}.ms-xl-18{margin-left:8.5rem!important}.ms-xl-19{margin-left:9rem!important}.ms-xl-20{margin-left:9.5rem!important}.ms-xl-21{margin-left:10rem!important}.ms-xl-22{margin-left:13.75rem!important}.ms-xl-23{margin-left:24.5rem!important}.ms-xl-24{margin-left:11rem!important}.ms-xl-auto{margin-left:auto!important}.m-xl-n1{margin:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.m-xl-n3{margin:-.75rem!important}.m-xl-n4{margin:-1.5rem!important}.m-xl-n5{margin:-2rem!important}.m-xl-n6{margin:-2.5rem!important}.m-xl-n7{margin:-3rem!important}.m-xl-n8{margin:-3.5rem!important}.m-xl-n9{margin:-4rem!important}.m-xl-n10{margin:-4.5rem!important}.m-xl-n11{margin:-5rem!important}.m-xl-n12{margin:-5.5rem!important}.m-xl-n13{margin:-6rem!important}.m-xl-n14{margin:-6.5rem!important}.m-xl-n15{margin:-7rem!important}.m-xl-n16{margin:-7.5rem!important}.m-xl-n17{margin:-8rem!important}.m-xl-n18{margin:-8.5rem!important}.m-xl-n19{margin:-9rem!important}.m-xl-n20{margin:-9.5rem!important}.m-xl-n21{margin:-10rem!important}.m-xl-n22{margin:-13.75rem!important}.m-xl-n23{margin:-24.5rem!important}.m-xl-n24{margin:-11rem!important}.mx-xl-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-xl-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-xl-n3{margin-right:-.75rem!important;margin-left:-.75rem!important}.mx-xl-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-xl-n5{margin-right:-2rem!important;margin-left:-2rem!important}.mx-xl-n6{margin-right:-2.5rem!important;margin-left:-2.5rem!important}.mx-xl-n7{margin-right:-3rem!important;margin-left:-3rem!important}.mx-xl-n8{margin-right:-3.5rem!important;margin-left:-3.5rem!important}.mx-xl-n9{margin-right:-4rem!important;margin-left:-4rem!important}.mx-xl-n10{margin-right:-4.5rem!important;margin-left:-4.5rem!important}.mx-xl-n11{margin-right:-5rem!important;margin-left:-5rem!important}.mx-xl-n12{margin-right:-5.5rem!important;margin-left:-5.5rem!important}.mx-xl-n13{margin-right:-6rem!important;margin-left:-6rem!important}.mx-xl-n14{margin-right:-6.5rem!important;margin-left:-6.5rem!important}.mx-xl-n15{margin-right:-7rem!important;margin-left:-7rem!important}.mx-xl-n16{margin-right:-7.5rem!important;margin-left:-7.5rem!important}.mx-xl-n17{margin-right:-8rem!important;margin-left:-8rem!important}.mx-xl-n18{margin-right:-8.5rem!important;margin-left:-8.5rem!important}.mx-xl-n19{margin-right:-9rem!important;margin-left:-9rem!important}.mx-xl-n20{margin-right:-9.5rem!important;margin-left:-9.5rem!important}.mx-xl-n21{margin-right:-10rem!important;margin-left:-10rem!important}.mx-xl-n22{margin-right:-13.75rem!important;margin-left:-13.75rem!important}.mx-xl-n23{margin-right:-24.5rem!important;margin-left:-24.5rem!important}.mx-xl-n24{margin-right:-11rem!important;margin-left:-11rem!important}.my-xl-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-xl-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-xl-n3{margin-top:-.75rem!important;margin-bottom:-.75rem!important}.my-xl-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-xl-n5{margin-top:-2rem!important;margin-bottom:-2rem!important}.my-xl-n6{margin-top:-2.5rem!important;margin-bottom:-2.5rem!important}.my-xl-n7{margin-top:-3rem!important;margin-bottom:-3rem!important}.my-xl-n8{margin-top:-3.5rem!important;margin-bottom:-3.5rem!important}.my-xl-n9{margin-top:-4rem!important;margin-bottom:-4rem!important}.my-xl-n10{margin-top:-4.5rem!important;margin-bottom:-4.5rem!important}.my-xl-n11{margin-top:-5rem!important;margin-bottom:-5rem!important}.my-xl-n12{margin-top:-5.5rem!important;margin-bottom:-5.5rem!important}.my-xl-n13{margin-top:-6rem!important;margin-bottom:-6rem!important}.my-xl-n14{margin-top:-6.5rem!important;margin-bottom:-6.5rem!important}.my-xl-n15{margin-top:-7rem!important;margin-bottom:-7rem!important}.my-xl-n16{margin-top:-7.5rem!important;margin-bottom:-7.5rem!important}.my-xl-n17{margin-top:-8rem!important;margin-bottom:-8rem!important}.my-xl-n18{margin-top:-8.5rem!important;margin-bottom:-8.5rem!important}.my-xl-n19{margin-top:-9rem!important;margin-bottom:-9rem!important}.my-xl-n20{margin-top:-9.5rem!important;margin-bottom:-9.5rem!important}.my-xl-n21{margin-top:-10rem!important;margin-bottom:-10rem!important}.my-xl-n22{margin-top:-13.75rem!important;margin-bottom:-13.75rem!important}.my-xl-n23{margin-top:-24.5rem!important;margin-bottom:-24.5rem!important}.my-xl-n24{margin-top:-11rem!important;margin-bottom:-11rem!important}.mt-xl-n1{margin-top:-.25rem!important}.mt-xl-n2{margin-top:-.5rem!important}.mt-xl-n3{margin-top:-.75rem!important}.mt-xl-n4{margin-top:-1.5rem!important}.mt-xl-n5{margin-top:-2rem!important}.mt-xl-n6{margin-top:-2.5rem!important}.mt-xl-n7{margin-top:-3rem!important}.mt-xl-n8{margin-top:-3.5rem!important}.mt-xl-n9{margin-top:-4rem!important}.mt-xl-n10{margin-top:-4.5rem!important}.mt-xl-n11{margin-top:-5rem!important}.mt-xl-n12{margin-top:-5.5rem!important}.mt-xl-n13{margin-top:-6rem!important}.mt-xl-n14{margin-top:-6.5rem!important}.mt-xl-n15{margin-top:-7rem!important}.mt-xl-n16{margin-top:-7.5rem!important}.mt-xl-n17{margin-top:-8rem!important}.mt-xl-n18{margin-top:-8.5rem!important}.mt-xl-n19{margin-top:-9rem!important}.mt-xl-n20{margin-top:-9.5rem!important}.mt-xl-n21{margin-top:-10rem!important}.mt-xl-n22{margin-top:-13.75rem!important}.mt-xl-n23{margin-top:-24.5rem!important}.mt-xl-n24{margin-top:-11rem!important}.me-xl-n1{margin-right:-.25rem!important}.me-xl-n2{margin-right:-.5rem!important}.me-xl-n3{margin-right:-.75rem!important}.me-xl-n4{margin-right:-1.5rem!important}.me-xl-n5{margin-right:-2rem!important}.me-xl-n6{margin-right:-2.5rem!important}.me-xl-n7{margin-right:-3rem!important}.me-xl-n8{margin-right:-3.5rem!important}.me-xl-n9{margin-right:-4rem!important}.me-xl-n10{margin-right:-4.5rem!important}.me-xl-n11{margin-right:-5rem!important}.me-xl-n12{margin-right:-5.5rem!important}.me-xl-n13{margin-right:-6rem!important}.me-xl-n14{margin-right:-6.5rem!important}.me-xl-n15{margin-right:-7rem!important}.me-xl-n16{margin-right:-7.5rem!important}.me-xl-n17{margin-right:-8rem!important}.me-xl-n18{margin-right:-8.5rem!important}.me-xl-n19{margin-right:-9rem!important}.me-xl-n20{margin-right:-9.5rem!important}.me-xl-n21{margin-right:-10rem!important}.me-xl-n22{margin-right:-13.75rem!important}.me-xl-n23{margin-right:-24.5rem!important}.me-xl-n24{margin-right:-11rem!important}.mb-xl-n1{margin-bottom:-.25rem!important}.mb-xl-n2{margin-bottom:-.5rem!important}.mb-xl-n3{margin-bottom:-.75rem!important}.mb-xl-n4{margin-bottom:-1.5rem!important}.mb-xl-n5{margin-bottom:-2rem!important}.mb-xl-n6{margin-bottom:-2.5rem!important}.mb-xl-n7{margin-bottom:-3rem!important}.mb-xl-n8{margin-bottom:-3.5rem!important}.mb-xl-n9{margin-bottom:-4rem!important}.mb-xl-n10{margin-bottom:-4.5rem!important}.mb-xl-n11{margin-bottom:-5rem!important}.mb-xl-n12{margin-bottom:-5.5rem!important}.mb-xl-n13{margin-bottom:-6rem!important}.mb-xl-n14{margin-bottom:-6.5rem!important}.mb-xl-n15{margin-bottom:-7rem!important}.mb-xl-n16{margin-bottom:-7.5rem!important}.mb-xl-n17{margin-bottom:-8rem!important}.mb-xl-n18{margin-bottom:-8.5rem!important}.mb-xl-n19{margin-bottom:-9rem!important}.mb-xl-n20{margin-bottom:-9.5rem!important}.mb-xl-n21{margin-bottom:-10rem!important}.mb-xl-n22{margin-bottom:-13.75rem!important}.mb-xl-n23{margin-bottom:-24.5rem!important}.mb-xl-n24{margin-bottom:-11rem!important}.ms-xl-n1{margin-left:-.25rem!important}.ms-xl-n2{margin-left:-.5rem!important}.ms-xl-n3{margin-left:-.75rem!important}.ms-xl-n4{margin-left:-1.5rem!important}.ms-xl-n5{margin-left:-2rem!important}.ms-xl-n6{margin-left:-2.5rem!important}.ms-xl-n7{margin-left:-3rem!important}.ms-xl-n8{margin-left:-3.5rem!important}.ms-xl-n9{margin-left:-4rem!important}.ms-xl-n10{margin-left:-4.5rem!important}.ms-xl-n11{margin-left:-5rem!important}.ms-xl-n12{margin-left:-5.5rem!important}.ms-xl-n13{margin-left:-6rem!important}.ms-xl-n14{margin-left:-6.5rem!important}.ms-xl-n15{margin-left:-7rem!important}.ms-xl-n16{margin-left:-7.5rem!important}.ms-xl-n17{margin-left:-8rem!important}.ms-xl-n18{margin-left:-8.5rem!important}.ms-xl-n19{margin-left:-9rem!important}.ms-xl-n20{margin-left:-9.5rem!important}.ms-xl-n21{margin-left:-10rem!important}.ms-xl-n22{margin-left:-13.75rem!important}.ms-xl-n23{margin-left:-24.5rem!important}.ms-xl-n24{margin-left:-11rem!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:.75rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:2rem!important}.p-xl-6{padding:2.5rem!important}.p-xl-7{padding:3rem!important}.p-xl-8{padding:3.5rem!important}.p-xl-9{padding:4rem!important}.p-xl-10{padding:4.5rem!important}.p-xl-11{padding:5rem!important}.p-xl-12{padding:5.5rem!important}.p-xl-13{padding:6rem!important}.p-xl-14{padding:6.5rem!important}.p-xl-15{padding:7rem!important}.p-xl-16{padding:7.5rem!important}.p-xl-17{padding:8rem!important}.p-xl-18{padding:8.5rem!important}.p-xl-19{padding:9rem!important}.p-xl-20{padding:9.5rem!important}.p-xl-21{padding:10rem!important}.p-xl-22{padding:13.75rem!important}.p-xl-23{padding:24.5rem!important}.p-xl-24{padding:11rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:.75rem!important;padding-left:.75rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:2rem!important;padding-left:2rem!important}.px-xl-6{padding-right:2.5rem!important;padding-left:2.5rem!important}.px-xl-7{padding-right:3rem!important;padding-left:3rem!important}.px-xl-8{padding-right:3.5rem!important;padding-left:3.5rem!important}.px-xl-9{padding-right:4rem!important;padding-left:4rem!important}.px-xl-10{padding-right:4.5rem!important;padding-left:4.5rem!important}.px-xl-11{padding-right:5rem!important;padding-left:5rem!important}.px-xl-12{padding-right:5.5rem!important;padding-left:5.5rem!important}.px-xl-13{padding-right:6rem!important;padding-left:6rem!important}.px-xl-14{padding-right:6.5rem!important;padding-left:6.5rem!important}.px-xl-15{padding-right:7rem!important;padding-left:7rem!important}.px-xl-16{padding-right:7.5rem!important;padding-left:7.5rem!important}.px-xl-17{padding-right:8rem!important;padding-left:8rem!important}.px-xl-18{padding-right:8.5rem!important;padding-left:8.5rem!important}.px-xl-19{padding-right:9rem!important;padding-left:9rem!important}.px-xl-20{padding-right:9.5rem!important;padding-left:9.5rem!important}.px-xl-21{padding-right:10rem!important;padding-left:10rem!important}.px-xl-22{padding-right:13.75rem!important;padding-left:13.75rem!important}.px-xl-23{padding-right:24.5rem!important;padding-left:24.5rem!important}.px-xl-24{padding-right:11rem!important;padding-left:11rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:.75rem!important;padding-bottom:.75rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:2rem!important;padding-bottom:2rem!important}.py-xl-6{padding-top:2.5rem!important;padding-bottom:2.5rem!important}.py-xl-7{padding-top:3rem!important;padding-bottom:3rem!important}.py-xl-8{padding-top:3.5rem!important;padding-bottom:3.5rem!important}.py-xl-9{padding-top:4rem!important;padding-bottom:4rem!important}.py-xl-10{padding-top:4.5rem!important;padding-bottom:4.5rem!important}.py-xl-11{padding-top:5rem!important;padding-bottom:5rem!important}.py-xl-12{padding-top:5.5rem!important;padding-bottom:5.5rem!important}.py-xl-13{padding-top:6rem!important;padding-bottom:6rem!important}.py-xl-14{padding-top:6.5rem!important;padding-bottom:6.5rem!important}.py-xl-15{padding-top:7rem!important;padding-bottom:7rem!important}.py-xl-16{padding-top:7.5rem!important;padding-bottom:7.5rem!important}.py-xl-17{padding-top:8rem!important;padding-bottom:8rem!important}.py-xl-18{padding-top:8.5rem!important;padding-bottom:8.5rem!important}.py-xl-19{padding-top:9rem!important;padding-bottom:9rem!important}.py-xl-20{padding-top:9.5rem!important;padding-bottom:9.5rem!important}.py-xl-21{padding-top:10rem!important;padding-bottom:10rem!important}.py-xl-22{padding-top:13.75rem!important;padding-bottom:13.75rem!important}.py-xl-23{padding-top:24.5rem!important;padding-bottom:24.5rem!important}.py-xl-24{padding-top:11rem!important;padding-bottom:11rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:.75rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:2rem!important}.pt-xl-6{padding-top:2.5rem!important}.pt-xl-7{padding-top:3rem!important}.pt-xl-8{padding-top:3.5rem!important}.pt-xl-9{padding-top:4rem!important}.pt-xl-10{padding-top:4.5rem!important}.pt-xl-11{padding-top:5rem!important}.pt-xl-12{padding-top:5.5rem!important}.pt-xl-13{padding-top:6rem!important}.pt-xl-14{padding-top:6.5rem!important}.pt-xl-15{padding-top:7rem!important}.pt-xl-16{padding-top:7.5rem!important}.pt-xl-17{padding-top:8rem!important}.pt-xl-18{padding-top:8.5rem!important}.pt-xl-19{padding-top:9rem!important}.pt-xl-20{padding-top:9.5rem!important}.pt-xl-21{padding-top:10rem!important}.pt-xl-22{padding-top:13.75rem!important}.pt-xl-23{padding-top:24.5rem!important}.pt-xl-24{padding-top:11rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:.75rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:2rem!important}.pe-xl-6{padding-right:2.5rem!important}.pe-xl-7{padding-right:3rem!important}.pe-xl-8{padding-right:3.5rem!important}.pe-xl-9{padding-right:4rem!important}.pe-xl-10{padding-right:4.5rem!important}.pe-xl-11{padding-right:5rem!important}.pe-xl-12{padding-right:5.5rem!important}.pe-xl-13{padding-right:6rem!important}.pe-xl-14{padding-right:6.5rem!important}.pe-xl-15{padding-right:7rem!important}.pe-xl-16{padding-right:7.5rem!important}.pe-xl-17{padding-right:8rem!important}.pe-xl-18{padding-right:8.5rem!important}.pe-xl-19{padding-right:9rem!important}.pe-xl-20{padding-right:9.5rem!important}.pe-xl-21{padding-right:10rem!important}.pe-xl-22{padding-right:13.75rem!important}.pe-xl-23{padding-right:24.5rem!important}.pe-xl-24{padding-right:11rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:.75rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:2rem!important}.pb-xl-6{padding-bottom:2.5rem!important}.pb-xl-7{padding-bottom:3rem!important}.pb-xl-8{padding-bottom:3.5rem!important}.pb-xl-9{padding-bottom:4rem!important}.pb-xl-10{padding-bottom:4.5rem!important}.pb-xl-11{padding-bottom:5rem!important}.pb-xl-12{padding-bottom:5.5rem!important}.pb-xl-13{padding-bottom:6rem!important}.pb-xl-14{padding-bottom:6.5rem!important}.pb-xl-15{padding-bottom:7rem!important}.pb-xl-16{padding-bottom:7.5rem!important}.pb-xl-17{padding-bottom:8rem!important}.pb-xl-18{padding-bottom:8.5rem!important}.pb-xl-19{padding-bottom:9rem!important}.pb-xl-20{padding-bottom:9.5rem!important}.pb-xl-21{padding-bottom:10rem!important}.pb-xl-22{padding-bottom:13.75rem!important}.pb-xl-23{padding-bottom:24.5rem!important}.pb-xl-24{padding-bottom:11rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:.75rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:2rem!important}.ps-xl-6{padding-left:2.5rem!important}.ps-xl-7{padding-left:3rem!important}.ps-xl-8{padding-left:3.5rem!important}.ps-xl-9{padding-left:4rem!important}.ps-xl-10{padding-left:4.5rem!important}.ps-xl-11{padding-left:5rem!important}.ps-xl-12{padding-left:5.5rem!important}.ps-xl-13{padding-left:6rem!important}.ps-xl-14{padding-left:6.5rem!important}.ps-xl-15{padding-left:7rem!important}.ps-xl-16{padding-left:7.5rem!important}.ps-xl-17{padding-left:8rem!important}.ps-xl-18{padding-left:8.5rem!important}.ps-xl-19{padding-left:9rem!important}.ps-xl-20{padding-left:9.5rem!important}.ps-xl-21{padding-left:10rem!important}.ps-xl-22{padding-left:13.75rem!important}.ps-xl-23{padding-left:24.5rem!important}.ps-xl-24{padding-left:11rem!important}}@media(min-width:1400px){.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:.75rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:2rem!important}.m-xxl-6{margin:2.5rem!important}.m-xxl-7{margin:3rem!important}.m-xxl-8{margin:3.5rem!important}.m-xxl-9{margin:4rem!important}.m-xxl-10{margin:4.5rem!important}.m-xxl-11{margin:5rem!important}.m-xxl-12{margin:5.5rem!important}.m-xxl-13{margin:6rem!important}.m-xxl-14{margin:6.5rem!important}.m-xxl-15{margin:7rem!important}.m-xxl-16{margin:7.5rem!important}.m-xxl-17{margin:8rem!important}.m-xxl-18{margin:8.5rem!important}.m-xxl-19{margin:9rem!important}.m-xxl-20{margin:9.5rem!important}.m-xxl-21{margin:10rem!important}.m-xxl-22{margin:13.75rem!important}.m-xxl-23{margin:24.5rem!important}.m-xxl-24{margin:11rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:.75rem!important;margin-left:.75rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:2rem!important;margin-left:2rem!important}.mx-xxl-6{margin-right:2.5rem!important;margin-left:2.5rem!important}.mx-xxl-7{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-8{margin-right:3.5rem!important;margin-left:3.5rem!important}.mx-xxl-9{margin-right:4rem!important;margin-left:4rem!important}.mx-xxl-10{margin-right:4.5rem!important;margin-left:4.5rem!important}.mx-xxl-11{margin-right:5rem!important;margin-left:5rem!important}.mx-xxl-12{margin-right:5.5rem!important;margin-left:5.5rem!important}.mx-xxl-13{margin-right:6rem!important;margin-left:6rem!important}.mx-xxl-14{margin-right:6.5rem!important;margin-left:6.5rem!important}.mx-xxl-15{margin-right:7rem!important;margin-left:7rem!important}.mx-xxl-16{margin-right:7.5rem!important;margin-left:7.5rem!important}.mx-xxl-17{margin-right:8rem!important;margin-left:8rem!important}.mx-xxl-18{margin-right:8.5rem!important;margin-left:8.5rem!important}.mx-xxl-19{margin-right:9rem!important;margin-left:9rem!important}.mx-xxl-20{margin-right:9.5rem!important;margin-left:9.5rem!important}.mx-xxl-21{margin-right:10rem!important;margin-left:10rem!important}.mx-xxl-22{margin-right:13.75rem!important;margin-left:13.75rem!important}.mx-xxl-23{margin-right:24.5rem!important;margin-left:24.5rem!important}.mx-xxl-24{margin-right:11rem!important;margin-left:11rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:.75rem!important;margin-bottom:.75rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:2rem!important;margin-bottom:2rem!important}.my-xxl-6{margin-top:2.5rem!important;margin-bottom:2.5rem!important}.my-xxl-7{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-8{margin-top:3.5rem!important;margin-bottom:3.5rem!important}.my-xxl-9{margin-top:4rem!important;margin-bottom:4rem!important}.my-xxl-10{margin-top:4.5rem!important;margin-bottom:4.5rem!important}.my-xxl-11{margin-top:5rem!important;margin-bottom:5rem!important}.my-xxl-12{margin-top:5.5rem!important;margin-bottom:5.5rem!important}.my-xxl-13{margin-top:6rem!important;margin-bottom:6rem!important}.my-xxl-14{margin-top:6.5rem!important;margin-bottom:6.5rem!important}.my-xxl-15{margin-top:7rem!important;margin-bottom:7rem!important}.my-xxl-16{margin-top:7.5rem!important;margin-bottom:7.5rem!important}.my-xxl-17{margin-top:8rem!important;margin-bottom:8rem!important}.my-xxl-18{margin-top:8.5rem!important;margin-bottom:8.5rem!important}.my-xxl-19{margin-top:9rem!important;margin-bottom:9rem!important}.my-xxl-20{margin-top:9.5rem!important;margin-bottom:9.5rem!important}.my-xxl-21{margin-top:10rem!important;margin-bottom:10rem!important}.my-xxl-22{margin-top:13.75rem!important;margin-bottom:13.75rem!important}.my-xxl-23{margin-top:24.5rem!important;margin-bottom:24.5rem!important}.my-xxl-24{margin-top:11rem!important;margin-bottom:11rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:.75rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:2rem!important}.mt-xxl-6{margin-top:2.5rem!important}.mt-xxl-7{margin-top:3rem!important}.mt-xxl-8{margin-top:3.5rem!important}.mt-xxl-9{margin-top:4rem!important}.mt-xxl-10{margin-top:4.5rem!important}.mt-xxl-11{margin-top:5rem!important}.mt-xxl-12{margin-top:5.5rem!important}.mt-xxl-13{margin-top:6rem!important}.mt-xxl-14{margin-top:6.5rem!important}.mt-xxl-15{margin-top:7rem!important}.mt-xxl-16{margin-top:7.5rem!important}.mt-xxl-17{margin-top:8rem!important}.mt-xxl-18{margin-top:8.5rem!important}.mt-xxl-19{margin-top:9rem!important}.mt-xxl-20{margin-top:9.5rem!important}.mt-xxl-21{margin-top:10rem!important}.mt-xxl-22{margin-top:13.75rem!important}.mt-xxl-23{margin-top:24.5rem!important}.mt-xxl-24{margin-top:11rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:.75rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:2rem!important}.me-xxl-6{margin-right:2.5rem!important}.me-xxl-7{margin-right:3rem!important}.me-xxl-8{margin-right:3.5rem!important}.me-xxl-9{margin-right:4rem!important}.me-xxl-10{margin-right:4.5rem!important}.me-xxl-11{margin-right:5rem!important}.me-xxl-12{margin-right:5.5rem!important}.me-xxl-13{margin-right:6rem!important}.me-xxl-14{margin-right:6.5rem!important}.me-xxl-15{margin-right:7rem!important}.me-xxl-16{margin-right:7.5rem!important}.me-xxl-17{margin-right:8rem!important}.me-xxl-18{margin-right:8.5rem!important}.me-xxl-19{margin-right:9rem!important}.me-xxl-20{margin-right:9.5rem!important}.me-xxl-21{margin-right:10rem!important}.me-xxl-22{margin-right:13.75rem!important}.me-xxl-23{margin-right:24.5rem!important}.me-xxl-24{margin-right:11rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:.75rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:2rem!important}.mb-xxl-6{margin-bottom:2.5rem!important}.mb-xxl-7{margin-bottom:3rem!important}.mb-xxl-8{margin-bottom:3.5rem!important}.mb-xxl-9{margin-bottom:4rem!important}.mb-xxl-10{margin-bottom:4.5rem!important}.mb-xxl-11{margin-bottom:5rem!important}.mb-xxl-12{margin-bottom:5.5rem!important}.mb-xxl-13{margin-bottom:6rem!important}.mb-xxl-14{margin-bottom:6.5rem!important}.mb-xxl-15{margin-bottom:7rem!important}.mb-xxl-16{margin-bottom:7.5rem!important}.mb-xxl-17{margin-bottom:8rem!important}.mb-xxl-18{margin-bottom:8.5rem!important}.mb-xxl-19{margin-bottom:9rem!important}.mb-xxl-20{margin-bottom:9.5rem!important}.mb-xxl-21{margin-bottom:10rem!important}.mb-xxl-22{margin-bottom:13.75rem!important}.mb-xxl-23{margin-bottom:24.5rem!important}.mb-xxl-24{margin-bottom:11rem!important}.mb-xxl-25{margin-bottom:15.5rem!important}.mb-xxl-26{margin-bottom:19.5rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:.75rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:2rem!important}.ms-xxl-6{margin-left:2.5rem!important}.ms-xxl-7{margin-left:3rem!important}.ms-xxl-8{margin-left:3.5rem!important}.ms-xxl-9{margin-left:4rem!important}.ms-xxl-10{margin-left:4.5rem!important}.ms-xxl-11{margin-left:5rem!important}.ms-xxl-12{margin-left:5.5rem!important}.ms-xxl-13{margin-left:6rem!important}.ms-xxl-14{margin-left:6.5rem!important}.ms-xxl-15{margin-left:7rem!important}.ms-xxl-16{margin-left:7.5rem!important}.ms-xxl-17{margin-left:8rem!important}.ms-xxl-18{margin-left:8.5rem!important}.ms-xxl-19{margin-left:9rem!important}.ms-xxl-20{margin-left:9.5rem!important}.ms-xxl-21{margin-left:10rem!important}.ms-xxl-22{margin-left:13.75rem!important}.ms-xxl-23{margin-left:24.5rem!important}.ms-xxl-24{margin-left:11rem!important}.ms-xxl-auto{margin-left:auto!important}.m-xxl-n1{margin:-.25rem!important}.m-xxl-n2{margin:-.5rem!important}.m-xxl-n3{margin:-.75rem!important}.m-xxl-n4{margin:-1.5rem!important}.m-xxl-n5{margin:-2rem!important}.m-xxl-n6{margin:-2.5rem!important}.m-xxl-n7{margin:-3rem!important}.m-xxl-n8{margin:-3.5rem!important}.m-xxl-n9{margin:-4rem!important}.m-xxl-n10{margin:-4.5rem!important}.m-xxl-n11{margin:-5rem!important}.m-xxl-n12{margin:-5.5rem!important}.m-xxl-n13{margin:-6rem!important}.m-xxl-n14{margin:-6.5rem!important}.m-xxl-n15{margin:-7rem!important}.m-xxl-n16{margin:-7.5rem!important}.m-xxl-n17{margin:-8rem!important}.m-xxl-n18{margin:-8.5rem!important}.m-xxl-n19{margin:-9rem!important}.m-xxl-n20{margin:-9.5rem!important}.m-xxl-n21{margin:-10rem!important}.m-xxl-n22{margin:-13.75rem!important}.m-xxl-n23{margin:-24.5rem!important}.m-xxl-n24{margin:-11rem!important}.mx-xxl-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-xxl-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-xxl-n3{margin-right:-.75rem!important;margin-left:-.75rem!important}.mx-xxl-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-xxl-n5{margin-right:-2rem!important;margin-left:-2rem!important}.mx-xxl-n6{margin-right:-2.5rem!important;margin-left:-2.5rem!important}.mx-xxl-n7{margin-right:-3rem!important;margin-left:-3rem!important}.mx-xxl-n8{margin-right:-3.5rem!important;margin-left:-3.5rem!important}.mx-xxl-n9{margin-right:-4rem!important;margin-left:-4rem!important}.mx-xxl-n10{margin-right:-4.5rem!important;margin-left:-4.5rem!important}.mx-xxl-n11{margin-right:-5rem!important;margin-left:-5rem!important}.mx-xxl-n12{margin-right:-5.5rem!important;margin-left:-5.5rem!important}.mx-xxl-n13{margin-right:-6rem!important;margin-left:-6rem!important}.mx-xxl-n14{margin-right:-6.5rem!important;margin-left:-6.5rem!important}.mx-xxl-n15{margin-right:-7rem!important;margin-left:-7rem!important}.mx-xxl-n16{margin-right:-7.5rem!important;margin-left:-7.5rem!important}.mx-xxl-n17{margin-right:-8rem!important;margin-left:-8rem!important}.mx-xxl-n18{margin-right:-8.5rem!important;margin-left:-8.5rem!important}.mx-xxl-n19{margin-right:-9rem!important;margin-left:-9rem!important}.mx-xxl-n20{margin-right:-9.5rem!important;margin-left:-9.5rem!important}.mx-xxl-n21{margin-right:-10rem!important;margin-left:-10rem!important}.mx-xxl-n22{margin-right:-13.75rem!important;margin-left:-13.75rem!important}.mx-xxl-n23{margin-right:-24.5rem!important;margin-left:-24.5rem!important}.mx-xxl-n24{margin-right:-11rem!important;margin-left:-11rem!important}.my-xxl-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-xxl-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-xxl-n3{margin-top:-.75rem!important;margin-bottom:-.75rem!important}.my-xxl-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-xxl-n5{margin-top:-2rem!important;margin-bottom:-2rem!important}.my-xxl-n6{margin-top:-2.5rem!important;margin-bottom:-2.5rem!important}.my-xxl-n7{margin-top:-3rem!important;margin-bottom:-3rem!important}.my-xxl-n8{margin-top:-3.5rem!important;margin-bottom:-3.5rem!important}.my-xxl-n9{margin-top:-4rem!important;margin-bottom:-4rem!important}.my-xxl-n10{margin-top:-4.5rem!important;margin-bottom:-4.5rem!important}.my-xxl-n11{margin-top:-5rem!important;margin-bottom:-5rem!important}.my-xxl-n12{margin-top:-5.5rem!important;margin-bottom:-5.5rem!important}.my-xxl-n13{margin-top:-6rem!important;margin-bottom:-6rem!important}.my-xxl-n14{margin-top:-6.5rem!important;margin-bottom:-6.5rem!important}.my-xxl-n15{margin-top:-7rem!important;margin-bottom:-7rem!important}.my-xxl-n16{margin-top:-7.5rem!important;margin-bottom:-7.5rem!important}.my-xxl-n17{margin-top:-8rem!important;margin-bottom:-8rem!important}.my-xxl-n18{margin-top:-8.5rem!important;margin-bottom:-8.5rem!important}.my-xxl-n19{margin-top:-9rem!important;margin-bottom:-9rem!important}.my-xxl-n20{margin-top:-9.5rem!important;margin-bottom:-9.5rem!important}.my-xxl-n21{margin-top:-10rem!important;margin-bottom:-10rem!important}.my-xxl-n22{margin-top:-13.75rem!important;margin-bottom:-13.75rem!important}.my-xxl-n23{margin-top:-24.5rem!important;margin-bottom:-24.5rem!important}.my-xxl-n24{margin-top:-11rem!important;margin-bottom:-11rem!important}.mt-xxl-n1{margin-top:-.25rem!important}.mt-xxl-n2{margin-top:-.5rem!important}.mt-xxl-n3{margin-top:-.75rem!important}.mt-xxl-n4{margin-top:-1.5rem!important}.mt-xxl-n5{margin-top:-2rem!important}.mt-xxl-n6{margin-top:-2.5rem!important}.mt-xxl-n7{margin-top:-3rem!important}.mt-xxl-n8{margin-top:-3.5rem!important}.mt-xxl-n9{margin-top:-4rem!important}.mt-xxl-n10{margin-top:-4.5rem!important}.mt-xxl-n11{margin-top:-5rem!important}.mt-xxl-n12{margin-top:-5.5rem!important}.mt-xxl-n13{margin-top:-6rem!important}.mt-xxl-n14{margin-top:-6.5rem!important}.mt-xxl-n15{margin-top:-7rem!important}.mt-xxl-n16{margin-top:-7.5rem!important}.mt-xxl-n17{margin-top:-8rem!important}.mt-xxl-n18{margin-top:-8.5rem!important}.mt-xxl-n19{margin-top:-9rem!important}.mt-xxl-n20{margin-top:-9.5rem!important}.mt-xxl-n21{margin-top:-10rem!important}.mt-xxl-n22{margin-top:-13.75rem!important}.mt-xxl-n23{margin-top:-24.5rem!important}.mt-xxl-n24{margin-top:-11rem!important}.me-xxl-n1{margin-right:-.25rem!important}.me-xxl-n2{margin-right:-.5rem!important}.me-xxl-n3{margin-right:-.75rem!important}.me-xxl-n4{margin-right:-1.5rem!important}.me-xxl-n5{margin-right:-2rem!important}.me-xxl-n6{margin-right:-2.5rem!important}.me-xxl-n7{margin-right:-3rem!important}.me-xxl-n8{margin-right:-3.5rem!important}.me-xxl-n9{margin-right:-4rem!important}.me-xxl-n10{margin-right:-4.5rem!important}.me-xxl-n11{margin-right:-5rem!important}.me-xxl-n12{margin-right:-5.5rem!important}.me-xxl-n13{margin-right:-6rem!important}.me-xxl-n14{margin-right:-6.5rem!important}.me-xxl-n15{margin-right:-7rem!important}.me-xxl-n16{margin-right:-7.5rem!important}.me-xxl-n17{margin-right:-8rem!important}.me-xxl-n18{margin-right:-8.5rem!important}.me-xxl-n19{margin-right:-9rem!important}.me-xxl-n20{margin-right:-9.5rem!important}.me-xxl-n21{margin-right:-10rem!important}.me-xxl-n22{margin-right:-13.75rem!important}.me-xxl-n23{margin-right:-24.5rem!important}.me-xxl-n24{margin-right:-11rem!important}.mb-xxl-n1{margin-bottom:-.25rem!important}.mb-xxl-n2{margin-bottom:-.5rem!important}.mb-xxl-n3{margin-bottom:-.75rem!important}.mb-xxl-n4{margin-bottom:-1.5rem!important}.mb-xxl-n5{margin-bottom:-2rem!important}.mb-xxl-n6{margin-bottom:-2.5rem!important}.mb-xxl-n7{margin-bottom:-3rem!important}.mb-xxl-n8{margin-bottom:-3.5rem!important}.mb-xxl-n9{margin-bottom:-4rem!important}.mb-xxl-n10{margin-bottom:-4.5rem!important}.mb-xxl-n11{margin-bottom:-5rem!important}.mb-xxl-n12{margin-bottom:-5.5rem!important}.mb-xxl-n13{margin-bottom:-6rem!important}.mb-xxl-n14{margin-bottom:-6.5rem!important}.mb-xxl-n15{margin-bottom:-7rem!important}.mb-xxl-n16{margin-bottom:-7.5rem!important}.mb-xxl-n17{margin-bottom:-8rem!important}.mb-xxl-n18{margin-bottom:-8.5rem!important}.mb-xxl-n19{margin-bottom:-9rem!important}.mb-xxl-n20{margin-bottom:-9.5rem!important}.mb-xxl-n21{margin-bottom:-10rem!important}.mb-xxl-n22{margin-bottom:-13.75rem!important}.mb-xxl-n23{margin-bottom:-24.5rem!important}.mb-xxl-n24{margin-bottom:-11rem!important}.ms-xxl-n1{margin-left:-.25rem!important}.ms-xxl-n2{margin-left:-.5rem!important}.ms-xxl-n3{margin-left:-.75rem!important}.ms-xxl-n4{margin-left:-1.5rem!important}.ms-xxl-n5{margin-left:-2rem!important}.ms-xxl-n6{margin-left:-2.5rem!important}.ms-xxl-n7{margin-left:-3rem!important}.ms-xxl-n8{margin-left:-3.5rem!important}.ms-xxl-n9{margin-left:-4rem!important}.ms-xxl-n10{margin-left:-4.5rem!important}.ms-xxl-n11{margin-left:-5rem!important}.ms-xxl-n12{margin-left:-5.5rem!important}.ms-xxl-n13{margin-left:-6rem!important}.ms-xxl-n14{margin-left:-6.5rem!important}.ms-xxl-n15{margin-left:-7rem!important}.ms-xxl-n16{margin-left:-7.5rem!important}.ms-xxl-n17{margin-left:-8rem!important}.ms-xxl-n18{margin-left:-8.5rem!important}.ms-xxl-n19{margin-left:-9rem!important}.ms-xxl-n20{margin-left:-9.5rem!important}.ms-xxl-n21{margin-left:-10rem!important}.ms-xxl-n22{margin-left:-13.75rem!important}.ms-xxl-n23{margin-left:-24.5rem!important}.ms-xxl-n24{margin-left:-11rem!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:.75rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:2rem!important}.p-xxl-6{padding:2.5rem!important}.p-xxl-7{padding:3rem!important}.p-xxl-8{padding:3.5rem!important}.p-xxl-9{padding:4rem!important}.p-xxl-10{padding:4.5rem!important}.p-xxl-11{padding:5rem!important}.p-xxl-12{padding:5.5rem!important}.p-xxl-13{padding:6rem!important}.p-xxl-14{padding:6.5rem!important}.p-xxl-15{padding:7rem!important}.p-xxl-16{padding:7.5rem!important}.p-xxl-17{padding:8rem!important}.p-xxl-18{padding:8.5rem!important}.p-xxl-19{padding:9rem!important}.p-xxl-20{padding:9.5rem!important}.p-xxl-21{padding:10rem!important}.p-xxl-22{padding:13.75rem!important}.p-xxl-23{padding:24.5rem!important}.p-xxl-24{padding:11rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:.75rem!important;padding-left:.75rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:2rem!important;padding-left:2rem!important}.px-xxl-6{padding-right:2.5rem!important;padding-left:2.5rem!important}.px-xxl-7{padding-right:3rem!important;padding-left:3rem!important}.px-xxl-8{padding-right:3.5rem!important;padding-left:3.5rem!important}.px-xxl-9{padding-right:4rem!important;padding-left:4rem!important}.px-xxl-10{padding-right:4.5rem!important;padding-left:4.5rem!important}.px-xxl-11{padding-right:5rem!important;padding-left:5rem!important}.px-xxl-12{padding-right:5.5rem!important;padding-left:5.5rem!important}.px-xxl-13{padding-right:6rem!important;padding-left:6rem!important}.px-xxl-14{padding-right:6.5rem!important;padding-left:6.5rem!important}.px-xxl-15{padding-right:7rem!important;padding-left:7rem!important}.px-xxl-16{padding-right:7.5rem!important;padding-left:7.5rem!important}.px-xxl-17{padding-right:8rem!important;padding-left:8rem!important}.px-xxl-18{padding-right:8.5rem!important;padding-left:8.5rem!important}.px-xxl-19{padding-right:9rem!important;padding-left:9rem!important}.px-xxl-20{padding-right:9.5rem!important;padding-left:9.5rem!important}.px-xxl-21{padding-right:10rem!important;padding-left:10rem!important}.px-xxl-22{padding-right:13.75rem!important;padding-left:13.75rem!important}.px-xxl-23{padding-right:24.5rem!important;padding-left:24.5rem!important}.px-xxl-24{padding-right:11rem!important;padding-left:11rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:.75rem!important;padding-bottom:.75rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:2rem!important;padding-bottom:2rem!important}.py-xxl-6{padding-top:2.5rem!important;padding-bottom:2.5rem!important}.py-xxl-7{padding-top:3rem!important;padding-bottom:3rem!important}.py-xxl-8{padding-top:3.5rem!important;padding-bottom:3.5rem!important}.py-xxl-9{padding-top:4rem!important;padding-bottom:4rem!important}.py-xxl-10{padding-top:4.5rem!important;padding-bottom:4.5rem!important}.py-xxl-11{padding-top:5rem!important;padding-bottom:5rem!important}.py-xxl-12{padding-top:5.5rem!important;padding-bottom:5.5rem!important}.py-xxl-13{padding-top:6rem!important;padding-bottom:6rem!important}.py-xxl-14{padding-top:6.5rem!important;padding-bottom:6.5rem!important}.py-xxl-15{padding-top:7rem!important;padding-bottom:7rem!important}.py-xxl-16{padding-top:7.5rem!important;padding-bottom:7.5rem!important}.py-xxl-17{padding-top:8rem!important;padding-bottom:8rem!important}.py-xxl-18{padding-top:8.5rem!important;padding-bottom:8.5rem!important}.py-xxl-19{padding-top:9rem!important;padding-bottom:9rem!important}.py-xxl-20{padding-top:9.5rem!important;padding-bottom:9.5rem!important}.py-xxl-21{padding-top:10rem!important;padding-bottom:10rem!important}.py-xxl-22{padding-top:13.75rem!important;padding-bottom:13.75rem!important}.py-xxl-23{padding-top:24.5rem!important;padding-bottom:24.5rem!important}.py-xxl-24{padding-top:11rem!important;padding-bottom:11rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:.75rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:2rem!important}.pt-xxl-6{padding-top:2.5rem!important}.pt-xxl-7{padding-top:3rem!important}.pt-xxl-8{padding-top:3.5rem!important}.pt-xxl-9{padding-top:4rem!important}.pt-xxl-10{padding-top:4.5rem!important}.pt-xxl-11{padding-top:5rem!important}.pt-xxl-12{padding-top:5.5rem!important}.pt-xxl-13{padding-top:6rem!important}.pt-xxl-14{padding-top:6.5rem!important}.pt-xxl-15{padding-top:7rem!important}.pt-xxl-16{padding-top:7.5rem!important}.pt-xxl-17{padding-top:8rem!important}.pt-xxl-18{padding-top:8.5rem!important}.pt-xxl-19{padding-top:9rem!important}.pt-xxl-20{padding-top:9.5rem!important}.pt-xxl-21{padding-top:10rem!important}.pt-xxl-22{padding-top:13.75rem!important}.pt-xxl-23{padding-top:24.5rem!important}.pt-xxl-24{padding-top:11rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:.75rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:2rem!important}.pe-xxl-6{padding-right:2.5rem!important}.pe-xxl-7{padding-right:3rem!important}.pe-xxl-8{padding-right:3.5rem!important}.pe-xxl-9{padding-right:4rem!important}.pe-xxl-10{padding-right:4.5rem!important}.pe-xxl-11{padding-right:5rem!important}.pe-xxl-12{padding-right:5.5rem!important}.pe-xxl-13{padding-right:6rem!important}.pe-xxl-14{padding-right:6.5rem!important}.pe-xxl-15{padding-right:7rem!important}.pe-xxl-16{padding-right:7.5rem!important}.pe-xxl-17{padding-right:8rem!important}.pe-xxl-18{padding-right:8.5rem!important}.pe-xxl-19{padding-right:9rem!important}.pe-xxl-20{padding-right:9.5rem!important}.pe-xxl-21{padding-right:10rem!important}.pe-xxl-22{padding-right:13.75rem!important}.pe-xxl-23{padding-right:24.5rem!important}.pe-xxl-24{padding-right:11rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:.75rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:2rem!important}.pb-xxl-6{padding-bottom:2.5rem!important}.pb-xxl-7{padding-bottom:3rem!important}.pb-xxl-8{padding-bottom:3.5rem!important}.pb-xxl-9{padding-bottom:4rem!important}.pb-xxl-10{padding-bottom:4.5rem!important}.pb-xxl-11{padding-bottom:5rem!important}.pb-xxl-12{padding-bottom:5.5rem!important}.pb-xxl-13{padding-bottom:6rem!important}.pb-xxl-14{padding-bottom:6.5rem!important}.pb-xxl-15{padding-bottom:7rem!important}.pb-xxl-16{padding-bottom:7.5rem!important}.pb-xxl-17{padding-bottom:8rem!important}.pb-xxl-18{padding-bottom:8.5rem!important}.pb-xxl-19{padding-bottom:9rem!important}.pb-xxl-20{padding-bottom:9.5rem!important}.pb-xxl-21{padding-bottom:10rem!important}.pb-xxl-22{padding-bottom:13.75rem!important}.pb-xxl-23{padding-bottom:24.5rem!important}.pb-xxl-24{padding-bottom:11rem!important}.pb-xxl-25{padding-bottom:26rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:.75rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:2rem!important}.ps-xxl-6{padding-left:2.5rem!important}.ps-xxl-7{padding-left:3rem!important}.ps-xxl-8{padding-left:3.5rem!important}.ps-xxl-9{padding-left:4rem!important}.ps-xxl-10{padding-left:4.5rem!important}.ps-xxl-11{padding-left:5rem!important}.ps-xxl-12{padding-left:5.5rem!important}.ps-xxl-13{padding-left:6rem!important}.ps-xxl-14{padding-left:6.5rem!important}.ps-xxl-15{padding-left:7rem!important}.ps-xxl-16{padding-left:7.5rem!important}.ps-xxl-17{padding-left:8rem!important}.ps-xxl-18{padding-left:8.5rem!important}.ps-xxl-19{padding-left:9rem!important}.ps-xxl-20{padding-left:9.5rem!important}.ps-xxl-21{padding-left:10rem!important}.ps-xxl-22{padding-left:13.75rem!important}.ps-xxl-23{padding-left:24.5rem!important}.ps-xxl-24{padding-left:11rem!important}}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:3rem 5.4rem 1rem;background-color:none;opacity:.97;z-index:1000;transition:all .3s cubic-bezier(.36,.03,0,.91)}@media(min-width:992px) and (max-width:1199.98px){.navbar .btn-links{padding:.75rem 1rem}}.navbar .nav-item{list-style:none}@media(max-width:991.98px){.navbar{margin:0;padding:1.5rem;border-radius:0;width:100%;background:#fff}}@media(max-width:575.98px){.navbar{padding:1rem 0}}.navbar-brand{padding-top:0;padding-bottom:0;margin-right:0;font-size:1.25rem;width:170px;margin-left:.3rem}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none;justify-content:center;align-items:center}@media(max-width:991.98px){.navbar-nav{padding-bottom:4rem;margin-top:3.5rem!important;justify-content:start;align-items:start}}.navbar-nav .nav-link{padding-right:1rem!important;padding-left:1rem!important;display:flex;align-items:center;font-weight:400;font-size:1.1rem;line-height:18px;z-index:9}.navbar-nav .nav-link.active{color:#1424ac;font-weight:600}.navbar-nav .nav-link:hover{color:#1424ac;text-decoration:none}@media(min-width:992px) and (max-width:1199.98px){.navbar-nav .nav-link{padding-right:.75rem!important;padding-left:.75rem!important}}.navbar-nav .dropdown .dropdown-menu{box-sizing:content-box;background:#fff;min-width:188px;transition:all .3s ease-in-out;border:0 solid #0f1a80;border-radius:1.25rem;padding:20px 30px 15px;right:-9rem;left:unset;box-shadow:0 40px 60px rgba(189,189,189,.25)}.navbar-nav .dropdown li.dropdown-megamenu-column-items{padding:1.25rem 0;display:flex}.navbar-nav .dropdown li.dropdown-megamenu-column-items:last-child{padding-bottom:.5rem}.navbar-nav .dropdown li.dropdown-megamenu-column-items:nth-child(1){border-bottom:1px solid #f7f8fa}.navbar-nav .dropdown-item{margin-bottom:10px;color:#4d4d4d;font-weight:400;text-align:left;font-size:1.1rem;padding:0;background:0 0}.navbar-nav .dropdown-item.active{color:#1424ac;font-weight:600}.navbar-nav .dropdown-item:hover{color:#1424ac;text-decoration:none}.navbar-nav .dropdown .nav-arrow{position:absolute;top:-10px;right:15px}.navbar-nav .dropdown .dropdown-megamenu-conatiner{border-bottom:1px solid #f7f8fa}.navbar-nav .dropdown .dropdown-megamenu-conatiner:last-child{border-bottom:0}@media(min-width:992px){.navbar-nav .dropdown .dropdown-menu{display:block;opacity:1;visibility:visible;transform:scaleY(0);top:100%;border:1px solid #e6ebf4;transform-origin:0 0 0}.navbar-nav .dropdown:hover{text-decoration:none}.navbar-nav .dropdown:hover .dropdown-menu{opacity:1;visibility:visible;transform:scaleY(1);transform-origin:0 0 0}}@media(max-width:991.98px){.navbar-nav .nav-link{margin-bottom:1.9rem;padding:0;font-size:1.6rem;position:relative;display:flex;justify-content:start;color:#282828;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Helvetica,Arial,sans-serif,Roboto,Ubuntu,apple color emoji,segoe ui emoji,segoe ui symbol}.navbar-nav .dropdown{width:100%;transition:all 3s ease-in-out}.navbar-nav .dropdown .dropdown-menu{display:block;top:100%;transform-origin:0 0 0;right:0;transition:all .1s ease-in-out;padding:0 0 0 60px;box-shadow:0 0 rgba(189,189,189,.25);margin-bottom:40px}.navbar-nav .dropdown .dropdown-menu .dropdown-megamenu-column-items{padding:.8rem 0;margin:0!important}.navbar-nav .dropdown .dropdown-menu .dropdown-megamenu-column-items:nth-child(1){border-bottom:1px solid #e6ebf4}.navbar-nav .dropdown .dropdown-menu.show{display:block;opacity:1;visibility:visible;transform:scaleY(1);transform-origin:0 0 0;height:auto;text-align:center;background:#f7f8fa;width:calc(100% + 2rem);margin-left:-3rem;border-radius:0;margin-top:-60px}.navbar-nav .dropdown-item{text-align:left}}.sticky-nav{background:#fff;box-shadow:0 4px 30px rgba(0,0,0,5%);z-index:1000}@media(max-width:991.98px){.sticky-nav{padding:1.5rem!important}}@media(max-width:575.98px){.sticky-nav{padding:1rem 0!important}}.navbar-toggler{background-color:transparent;border:none}.navbar-toggler:focus{box-shadow:none}.navbar-toggler .navbar-toggler-default{display:-ms-flexbox;display:flex}.navbar-toggler[aria-expanded=true] .navbar-toggler-toggled{display:-ms-flexbox;display:flex}.navbar-toggler .navbar-toggler-toggled{display:none}.navbar-toggler[aria-expanded=true] .navbar-toggler-toggled{display:flex;position:absolute;bottom:0;left:50px;background:#000;color:#fff;width:60px;height:60px;border-radius:50%;align-items:center;line-height:60px;justify-content:center;margin-bottom:50px}@media(max-width:575.98px){.navbar-toggler[aria-expanded=true] .navbar-toggler-toggled .sticky-nav{left:25px}}.navbar-toggler[aria-expanded=true] .navbar-toggler-toggled svg path{stroke:#fff}@media(min-width:992px){.lfprojects{background:#252525;padding-left:5.4rem;z-index:10000;width:100%;line-height:33px;height:33px}.lfprojects img{width:280px;vertical-align:middle}}.hero,.hero-two{background:#fff1d6;padding:13.8rem 0 0;overflow:hidden}@media(max-width:1399.98px){.hero,.hero-two{padding:10rem 0 0}}@media(max-width:991.98px){.hero,.hero-two{padding:11.5rem 0 0}}@media(max-width:767.98px){.hero,.hero-two{padding:9rem 0 0}}@media(max-width:575.98px){.hero,.hero-two{padding:8.4rem 0 0}}.hero-content,.hero-two-content{position:relative;padding-bottom:5.7rem;z-index:9}@media(max-width:1199.98px){.hero-content,.hero-two-content{padding-bottom:3rem}}@media(max-width:991.98px){.hero-content,.hero-two-content{padding-bottom:1.5rem}}.hero-content h1,.hero-two-content h1{position:relative}@media(max-width:1399.98px){.hero-content h1,.hero-two-content h1{font-size:3.5rem}}@media(max-width:991.98px){.hero-content h1,.hero-two-content h1{font-size:3.2rem;line-height:65px}}@media(max-width:767.98px){.hero-content h1,.hero-two-content h1{line-height:55px}}@media(max-width:575.98px){.hero-content h1,.hero-two-content h1{font-size:2.5rem;line-height:50px}}.hero-banner,.hero-two-banner{position:relative;max-width:1478px;margin:0 auto;z-index:1;text-align:center}@media(max-width:1399.98px){.hero-banner,.hero-two-banner{max-width:990px}}@media(max-width:1199.98px){.hero-banner,.hero-two-banner{max-width:820px}}@media(max-width:991.98px){.hero-banner,.hero-two-banner{max-width:600px}}@media(max-width:767.98px){.hero-banner,.hero-two-banner{max-width:500px}}@media(max-width:575.98px){.hero-banner,.hero-two-banner{max-width:300px}}.hero-banner img,.hero-two-banner img{border-radius:20px 20px 0 0}@media(max-width:1399.98px){.hero-banner img,.hero-two-banner img{max-width:100%}}.hero-banner-shape,.hero-two-banner-shape{position:absolute;top:-35%;left:-9%;z-index:-1}@media(max-width:1399.98px){.hero-banner-shape,.hero-two-banner-shape{left:-15%}}.hero-two,.hero-two-two{position:relative;background:linear-gradient(to top,#e0e3f5 0,#f1f3fd 100%);padding:11.3rem 0 5rem;z-index:1;overflow:hidden}@media(max-width:1199.98px){.hero-two,.hero-two-two{padding:8rem 0 2rem}}@media(max-width:991.98px){.hero-two,.hero-two-two{padding:6rem 0 5rem}}@media(max-width:767.98px){.hero-two,.hero-two-two{padding:6rem 0 5rem}}@media(max-width:575.98px){.hero-two,.hero-two-two{padding:5.5rem 0 5rem}}.hero-two-shape,.hero-two-two-shape{position:absolute;top:0;left:0;z-index:-1}.hero-two-content,.hero-two-two-content{margin-top:3rem;padding-left:7rem}@media(max-width:1699.98px){.hero-two-content,.hero-two-two-content{padding-left:7rem}}@media(max-width:1399.98px){.hero-two-content,.hero-two-two-content{padding-left:5rem}}@media(max-width:991.98px){.hero-two-content,.hero-two-two-content{padding:0 4rem 6rem;text-align:center}}@media(max-width:767.98px){.hero-two-content,.hero-two-two-content{padding:0 3rem 6rem}}@media(max-width:575.98px){.hero-two-content,.hero-two-two-content{padding:0 0 6rem}}.hero-two-content h1,.hero-two-two-content h1{line-height:80px}@media(max-width:991.98px){.hero-two-content h1,.hero-two-two-content h1{font-size:4rem;line-height:80px}}@media(max-width:767.98px){.hero-two-content h1,.hero-two-two-content h1{font-size:3rem;line-height:60px}}@media(max-width:575.98px){.hero-two-content h1,.hero-two-two-content h1{font-size:2.5rem;line-height:50px}}.hero-two-content p,.hero-two-two-content p{font-size:1.4rem}.hero-two-banner,.hero-two-two-banner{position:relative;text-align:right;max-width:100%;margin-right:-13px;z-index:1}.hero-two-banner img,.hero-two-two-banner img{max-height:550px;border-radius:20px 0 0 20px}.hero-two-banner-shape,.hero-two-two-banner-shape{position:absolute;top:-29%;left:3%;z-index:-1}@media(max-width:991.98px){.hero-two-banner-shape,.hero-two-two-banner-shape{top:-27%;left:-22%}}.about-hero-one{padding:4.5rem 0 29rem;background:#f7f8fa}@media(max-width:1199.98px){.about-hero-one{padding:4.5rem 0 20rem}}@media(max-width:767.98px){.about-hero-one{padding:4.5rem 0 10rem}}@media(max-width:575.98px){.about-hero-one{padding:5.5rem 0 10rem}}.about-hero-two{padding:9rem 0 3rem;background:#f7f8fa;overflow:hidden}@media(max-width:1399.98px){.about-hero-two{padding:10rem 0 11rem}}@media(max-width:1199.98px){.about-hero-two{padding:10rem 0 48rem;text-align:center}}@media(max-width:767.98px){.about-hero-two{padding:10rem 0 38rem}}@media(max-width:575.98px){.about-hero-two{padding:8.5rem 0 27rem}}.about-hero-two-content{padding:6rem 0 4.1rem 3rem}@media(max-width:1399.98px){.about-hero-two-content{padding:3rem 0 4.1rem}}@media(max-width:991.98px){.about-hero-two-content{padding:0 0}}.about-hero-two-content h2{position:relative;font-size:4rem;line-height:81.25px;margin-bottom:1.5rem}@media(max-width:1399.98px){.about-hero-two-content h2{font-size:3.4rem;line-height:60.25px}}@media(max-width:1199.98px){.about-hero-two-content h2{font-size:3.5rem;line-height:70.25px}}@media(max-width:767.98px){.about-hero-two-content h2{font-size:3rem;line-height:60px}}@media(max-width:575.98px){.about-hero-two-content h2{font-size:2.5rem;line-height:50px}}.about-hero-two-content p{font-size:1.4rem;color:#4d4d4d;font-weight:500;line-height:36.3px;margin-bottom:9rem}@media(max-width:1399.98px){.about-hero-two-content p{margin-bottom:5rem}}@media(max-width:1199.98px){.about-hero-two-content p{margin:0 auto 2.5rem;width:80%}}@media(max-width:1199.98px){.about-hero-two-content p{width:100%}}.about-hero-two-content .scroll-down{margin-bottom:3.5rem}@media(max-width:1199.98px){.about-hero-two-content .scroll-down{margin-bottom:0}}@media(max-width:991.98px){.about-hero-two-content .scroll-down{margin-bottom:3rem}}.about-hero-two-content .scroll-down a{font-size:20px;color:#4d4d4d;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Helvetica,Arial,sans-serif,Roboto,Ubuntu,apple color emoji,segoe ui emoji,segoe ui symbol;font-weight:500;transition:all .3s ease-in-out}.about-hero-two-content .scroll-down a svg{margin-left:13px}.about-hero-two-content .scroll-down a svg path{stroke:#4d4d4d}.about-hero-two-content .scroll-down a:hover{color:#1424ac;transform:translateY(-5px)}.about-hero-two-content .scroll-down a:hover svg path{stroke:#1424ac}.about-hero-two-banner{position:relative}.about-hero-two-banner .image-one,.about-hero-two-banner .image-two,.about-hero-two-banner .image-three{position:absolute;border-radius:20px;top:0%;z-index:1}.about-hero-two-banner .image-one img,.about-hero-two-banner .image-two img,.about-hero-two-banner .image-three img{max-width:100%}.about-hero-two-banner .image-one::after,.about-hero-two-banner .image-two::after,.about-hero-two-banner .image-three::after{position:absolute;content:"";background:#1424ac;width:100%;height:100%;border-radius:20px;top:0;left:0;opacity:.2}.about-hero-two-banner .image-one{right:0%;width:60%}@media(max-width:1199.98px){.about-hero-two-banner .image-one{right:15%}}@media(max-width:991.98px){.about-hero-two-banner .image-one{right:0%}}@media(max-width:767.98px){.about-hero-two-banner .image-one{width:60%}}.about-hero-two-banner .image-two{z-index:2;left:15%;top:286px;width:60%}@media(max-width:1399.98px){.about-hero-two-banner .image-two{left:0%}}@media(max-width:1199.98px){.about-hero-two-banner .image-two{left:15%}}@media(max-width:991.98px){.about-hero-two-banner .image-two{left:10%}}@media(max-width:767.98px){.about-hero-two-banner .image-two{top:215px;width:60%}}@media(max-width:575.98px){.about-hero-two-banner .image-two{top:166px;width:59%}}.about-hero-two-banner .image-three{left:8%;top:30px;width:30%}@media(max-width:1399.98px){.about-hero-two-banner .image-three{left:0%}}@media(max-width:1199.98px){.about-hero-two-banner .image-three{left:15%}}@media(max-width:991.98px){.about-hero-two-banner .image-three{left:0%}}@media(max-width:767.98px){.about-hero-two-banner .image-three{width:28%}}.about-hero-two-banner .pattern,.about-hero-two-banner .pattern-two{position:absolute;top:0;left:-20px}.about-hero-two-banner .pattern img,.about-hero-two-banner .pattern-two img{max-width:100%}@media(max-width:1399.98px){.about-hero-two-banner .pattern,.about-hero-two-banner .pattern-two{left:-100px}}@media(max-width:1199.98px){.about-hero-two-banner .pattern,.about-hero-two-banner .pattern-two{left:0}}.about-hero-two-banner .pattern-two{top:570px;left:82%;z-index:1}@media(max-width:1199.98px){.about-hero-two-banner .pattern-two{left:67%}}@media(max-width:991.98px){.about-hero-two-banner .pattern-two{left:76%;top:480px}}@media(max-width:767.98px){.about-hero-two-banner .pattern-two{top:340px}}@media(max-width:575.98px){.about-hero-two-banner .pattern-two{top:255px}}.about-feature{margin-top:-28.4rem;position:relative}@media(max-width:1199.98px){.about-feature{margin-top:-20rem}}@media(max-width:767.98px){.about-feature{margin-top:-11rem}}.about-feature .feature-image{position:relative;text-align:center;padding-bottom:9.4rem;z-index:2}.about-feature .feature-image img{max-width:100%}@media(max-width:1399.98px){.about-feature .feature-image{padding-bottom:5rem}}@media(max-width:767.98px){.about-feature .feature-image{padding-bottom:3rem}}.about-feature .feature-image .pattern{position:absolute;top:-12%;right:2%;z-index:-1}.about-feature .feature-image .pattern img{max-width:100%}@media(max-width:1399.98px){.about-feature .feature-image .pattern{right:-2%}}@media(max-width:1199.98px){.about-feature .feature-image .pattern{right:-3%}}.about-feature .content{text-align:center;padding:0 4rem}@media(max-width:1399.98px){.about-feature .content{padding:0 1rem 0}}@media(max-width:991.98px){.about-feature .content{padding:0 0 0}}.about-feature .content p{font-size:1.4rem;font-weight:500;line-height:36.3px;margin-bottom:0}@media(max-width:767.98px){.about-feature .content p{font-size:1.25rem;text-align:left}}@media(max-width:575.98px){.about-feature .content p{font-size:1.1rem}}.about .card{transition:all .4s ease-in-out;text-align:center;padding:5rem 3.75rem;border-radius:10px;box-shadow:none;z-index:100;overflow:hidden}@media(max-width:1199.98px){.about .card{padding:5rem 2rem}}.about .card:hover{box-shadow:0 40px 60px rgba(189,189,189,.25);border-radius:10px;background:#fdfdfd}.about .card:hover::after{transform:scaleX(1);transform-origin:left}.about .card-icon{margin-bottom:2.7rem}.about .card-icon img{min-height:100px}.about .card-body{padding:0}.about .card-body h4.card-title{margin-bottom:1.4rem;font-weight:700;font-size:1.625rem}.about .card::after{position:absolute;content:"";width:100%;height:3px;left:0;bottom:0;z-index:1;transform:scaleX(0);transition:all .5s ease-in-out;transform-origin:right;background:#1424ac;display:none}@media(max-width:991.98px){.about .card.active{box-shadow:0 0 60px rgba(189,189,189,.25)}}.about .card.about-item{margin-bottom:2rem}.feature,.feature-two{position:relative;overflow:hidden}.feature .section-header,.feature-two .section-header{padding-bottom:1rem}@media(max-width:1399.98px){.feature .section-header,.feature-two .section-header{padding-bottom:7rem}}@media(max-width:575.98px){.feature .section-header,.feature-two .section-header{padding:3.2rem 0 3.5rem}}.feature .section-header p,.feature-two .section-header p{width:72%;margin:0 auto}@media(max-width:1199.98px){.feature .section-header p,.feature-two .section-header p{width:90%}}.feature-item-banner,.feature-two-item-banner{position:relative;z-index:1}.feature-item-banner .card-image,.feature-two-item-banner .card-image{z-index:1;text-align:center;position:relative}.feature-item-banner .card-image img,.feature-two-item-banner .card-image img{max-width:600px;border-radius:20px;border:1px solid #ababab}@media(max-width:991.98px){.feature-item-banner .card-image img,.feature-two-item-banner .card-image img{width:100%}}.feature-item-banner .effect-one,.feature-item-banner .effect-two,.feature-item-banner .effect-three,.feature-two-item-banner .effect-one,.feature-two-item-banner .effect-two,.feature-two-item-banner .effect-three{position:absolute;top:-8%;z-index:0;width:100%}@media(max-width:1399.98px){.feature-item-banner .effect-one img,.feature-item-banner .effect-two img,.feature-item-banner .effect-three img,.feature-two-item-banner .effect-one img,.feature-two-item-banner .effect-two img,.feature-two-item-banner .effect-three img{max-width:100%}}.feature-item-banner .effect-one,.feature-two-item-banner .effect-one{left:-11%}@media(max-width:991.98px){.feature-item-banner .effect-one,.feature-two-item-banner .effect-one{left:-4%}}.feature-item-banner .effect-two,.feature-two-item-banner .effect-two{top:-21%;right:-17%}@media(max-width:1399.98px){.feature-item-banner .effect-two,.feature-two-item-banner .effect-two{right:-9%}}@media(max-width:575.98px){.feature-item-banner .effect-two,.feature-two-item-banner .effect-two{top:-8%}.feature-item-banner .effect-two img,.feature-two-item-banner .effect-two img{width:100%}}.feature-item-banner .effect-three,.feature-two-item-banner .effect-three{top:-13%;left:-7%}.feature-item-content h2,.feature-two-item-content h2{font-size:2.8rem;padding-right:10rem;margin-bottom:2.5rem}@media(max-width:1199.98px){.feature-item-content h2,.feature-two-item-content h2{font-size:2rem;padding-right:0;margin-bottom:1.5rem}}@media(max-width:575.98px){.feature-item-content h2,.feature-two-item-content h2{font-size:1.9rem;margin-bottom:1.25rem;margin-top:1rem}}.feature-item-content p,.feature-two-item-content p{margin-bottom:1rem;font-size:1.4rem;line-height:1.75}@media(max-width:575.98px){.feature-item-content p,.feature-two-item-content p{font-size:1.1rem;line-height:29.7px}}.feature-item-content ul,.feature-two-item-content ul{padding-left:1rem}.feature-item-content ul li,.feature-two-item-content ul li{color:#4d4d4d;font-size:20px;line-height:33px;list-style:disc;margin-bottom:1.3rem;font-weight:500}@media(max-width:575.98px){.feature-item-content ul li,.feature-two-item-content ul li{font-size:1.1rem;margin-bottom:1rem}}.feature-hero,.feature-hero-two,.feature-two-hero,.feature-two-hero-two{background:linear-gradient(to top,#e0e3f5 0,#e4e7fb 100%);padding:12rem 0 4rem;overflow:hidden}@media(max-width:991.98px){.feature-hero,.feature-hero-two,.feature-two-hero,.feature-two-hero-two{padding:9rem 0 0;text-align:center}}@media(max-width:575.98px){.feature-hero,.feature-hero-two,.feature-two-hero,.feature-two-hero-two{padding:8.5rem 0 0}}.feature-hero-content,.feature-hero-two-content,.feature-two-hero-content,.feature-two-hero-two-content{padding-left:3rem}@media(max-width:1699.98px){.feature-hero-content,.feature-hero-two-content,.feature-two-hero-content,.feature-two-hero-two-content{padding-left:3rem}}@media(max-width:1399.98px){.feature-hero-content,.feature-hero-two-content,.feature-two-hero-content,.feature-two-hero-two-content{padding-left:2rem}}@media(max-width:991.98px){.feature-hero-content,.feature-hero-two-content,.feature-two-hero-content,.feature-two-hero-two-content{padding-left:0}}.feature-hero-content h1,.feature-hero-two-content h1,.feature-two-hero-content h1,.feature-two-hero-two-content h1{margin-bottom:1.5rem}@media(max-width:1399.98px){.feature-hero-content h1,.feature-hero-two-content h1,.feature-two-hero-content h1,.feature-two-hero-two-content h1{font-size:3.9rem}}@media(max-width:1199.98px){.feature-hero-content h1,.feature-hero-two-content h1,.feature-two-hero-content h1,.feature-two-hero-two-content h1{font-size:3.2rem;line-height:60px}}@media(max-width:991.98px){.feature-hero-content h1,.feature-hero-two-content h1,.feature-two-hero-content h1,.feature-two-hero-two-content h1{font-size:3.9rem;line-height:70px}}@media(max-width:767.98px){.feature-hero-content h1,.feature-hero-two-content h1,.feature-two-hero-content h1,.feature-two-hero-two-content h1{font-size:3.5rem}}@media(max-width:575.98px){.feature-hero-content h1,.feature-hero-two-content h1,.feature-two-hero-content h1,.feature-two-hero-two-content h1{font-size:3rem;line-height:50px}}.feature-hero-content p,.feature-hero-two-content p,.feature-two-hero-content p,.feature-two-hero-two-content p{font-size:1.3rem;font-weight:400;line-height:1.75;padding-right:1rem;margin-bottom:3.1rem}@media(max-width:1399.98px){.feature-hero-content p,.feature-hero-two-content p,.feature-two-hero-content p,.feature-two-hero-two-content p{padding-right:5rem}}@media(max-width:1199.98px){.feature-hero-content p,.feature-hero-two-content p,.feature-two-hero-content p,.feature-two-hero-two-content p{padding-right:0}}@media(max-width:991.98px){.feature-hero-content p,.feature-hero-two-content p,.feature-two-hero-content p,.feature-two-hero-two-content p{padding:0 5rem}}@media(max-width:767.98px){.feature-hero-content p,.feature-hero-two-content p,.feature-two-hero-content p,.feature-two-hero-two-content p{padding:0}}.feature-hero-banner,.feature-hero-two-banner,.feature-two-hero-banner,.feature-two-hero-two-banner{position:relative;text-align:center}.feature-hero-banner img,.feature-hero-two-banner img,.feature-two-hero-banner img,.feature-two-hero-two-banner img{z-index:1;max-width:500px;position:relative;border-radius:20px;width:100%;margin-bottom:2rem;height:100%}.feature-hero-banner .shape,.feature-hero-two-banner .shape,.feature-two-hero-banner .shape,.feature-two-hero-two-banner .shape{position:absolute;top:2%;z-index:0;width:100%;right:0%}.feature-hero-two,.feature-two-hero-two{background:#fff1d6;padding:9rem 0 4rem}@media(max-width:991.98px){.feature-hero-two,.feature-two-hero-two{padding:10rem 0 1rem}}@media(max-width:575.98px){.feature-hero-two,.feature-two-hero-two{padding:8.4rem 0 1rem}}.feature-hero-two-content h1,.feature-two-hero-two-content h1{padding-right:2rem}@media(max-width:1399.98px){.feature-hero-two-content h1,.feature-two-hero-two-content h1{padding-right:0}}@media(max-width:1199.98px){.feature-hero-two-content h1,.feature-two-hero-two-content h1{padding-right:0;font-size:3.5rem}}@media(max-width:575.98px){.feature-hero-two-content h1,.feature-two-hero-two-content h1{font-size:2.5rem;line-height:50px}}.feature-hero-two-banner,.feature-two-hero-two-banner{position:relative}.feature-hero-two-banner .shape,.feature-two-hero-two-banner .shape{top:-6%;right:0%}.feature-two,.feature-three,.feature-two-two,.feature-two-three{padding:9.5rem 0 5.5rem;overflow:hidden}@media(max-width:1399.98px){.feature-two,.feature-three,.feature-two-two,.feature-two-three{padding:7rem 0}}@media(max-width:991.98px){.feature-two,.feature-three,.feature-two-two,.feature-two-three{padding:5rem 0}}.feature-two-banner,.feature-three-banner,.feature-two-two-banner,.feature-two-three-banner{position:relative;z-index:22}@media(max-width:991.98px){.feature-two-banner,.feature-three-banner,.feature-two-two-banner,.feature-two-three-banner{margin-bottom:2.5rem}}@media(max-width:767.98px){.feature-two-banner,.feature-three-banner,.feature-two-two-banner,.feature-two-three-banner{margin-bottom:1.5rem}}.feature-two-banner img,.feature-three-banner img,.feature-two-two-banner img,.feature-two-three-banner img{position:relative;z-index:9;max-width:100%}@media(max-width:1199.98px){.feature-two-banner img,.feature-three-banner img,.feature-two-two-banner img,.feature-two-three-banner img{width:100%}}.feature-two-banner .shape,.feature-three-banner .shape,.feature-two-two-banner .shape,.feature-two-three-banner .shape{position:absolute;bottom:-9%;left:-6%;z-index:0;width:100%}@media(max-width:991.98px){.feature-two-banner .shape,.feature-three-banner .shape,.feature-two-two-banner .shape,.feature-two-three-banner .shape{bottom:55%;left:-5%}}@media(max-width:575.98px){.feature-two-banner .shape,.feature-three-banner .shape,.feature-two-two-banner .shape,.feature-two-three-banner .shape{bottom:35%}}.feature-two-wrapper,.feature-three-wrapper,.feature-two-two-wrapper,.feature-two-three-wrapper{position:relative;z-index:9}.feature-two-wrapper .shape,.feature-three-wrapper .shape,.feature-two-two-wrapper .shape,.feature-two-three-wrapper .shape{position:absolute;top:-9%;right:-10%;z-index:0;width:100%}@media(max-width:991.98px){.feature-two-wrapper .shape,.feature-three-wrapper .shape,.feature-two-two-wrapper .shape,.feature-two-three-wrapper .shape{top:60%;right:-40%}}.feature-two-wrapper-content,.feature-three-wrapper-content,.feature-two-two-wrapper-content,.feature-two-three-wrapper-content{background:#f7f8fa;border-radius:20px;padding:5rem 3.1rem 6rem}@media(max-width:1399.98px){.feature-two-wrapper-content,.feature-three-wrapper-content,.feature-two-two-wrapper-content,.feature-two-three-wrapper-content{padding:3rem 2rem 4.5rem}}@media(max-width:1199.98px){.feature-two-wrapper-content,.feature-three-wrapper-content,.feature-two-two-wrapper-content,.feature-two-three-wrapper-content{padding:3rem 2rem 2rem}}@media(max-width:575.98px){.feature-two-wrapper-content,.feature-three-wrapper-content,.feature-two-two-wrapper-content,.feature-two-three-wrapper-content{padding:2.5rem 2rem 2rem}}.feature-two-wrapper-content h2,.feature-three-wrapper-content h2,.feature-two-two-wrapper-content h2,.feature-two-three-wrapper-content h2{padding-right:0;margin-bottom:2.5rem}@media(max-width:1199.98px){.feature-two-wrapper-content h2,.feature-three-wrapper-content h2,.feature-two-two-wrapper-content h2,.feature-two-three-wrapper-content h2{margin-bottom:1.5rem;font-size:2.5rem}}@media(max-width:575.98px){.feature-two-wrapper-content h2,.feature-three-wrapper-content h2,.feature-two-two-wrapper-content h2,.feature-two-three-wrapper-content h2{font-size:1.9rem}}.feature-two-wrapper-content p,.feature-three-wrapper-content p,.feature-two-two-wrapper-content p,.feature-two-three-wrapper-content p{font-size:1.3rem;line-height:33px;color:#4d4d4d}@media(max-width:1199.98px){.feature-two-wrapper-content p,.feature-three-wrapper-content p,.feature-two-two-wrapper-content p,.feature-two-three-wrapper-content p{font-size:1.1rem;line-height:25px}}.feature-two-wrapper-content .list-unstyled,.feature-three-wrapper-content .list-unstyled,.feature-two-two-wrapper-content .list-unstyled,.feature-two-three-wrapper-content .list-unstyled{padding-left:2rem}@media(max-width:1199.98px){.feature-two-wrapper-content .list-unstyled,.feature-three-wrapper-content .list-unstyled,.feature-two-two-wrapper-content .list-unstyled,.feature-two-three-wrapper-content .list-unstyled{padding-left:1rem}}.feature-two-wrapper-content .list-unstyled li,.feature-three-wrapper-content .list-unstyled li,.feature-two-two-wrapper-content .list-unstyled li,.feature-two-three-wrapper-content .list-unstyled li{color:#4d4d4d;font-size:1.25rem;line-height:33px;list-style:disc;margin-bottom:1.3rem;font-weight:500;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Helvetica,Arial,sans-serif,Roboto,Ubuntu,apple color emoji,segoe ui emoji,segoe ui symbol}@media(max-width:1199.98px){.feature-two-wrapper-content .list-unstyled li,.feature-three-wrapper-content .list-unstyled li,.feature-two-two-wrapper-content .list-unstyled li,.feature-two-three-wrapper-content .list-unstyled li{font-size:1.1rem;margin-bottom:1rem}}.feature-three,.feature-two-three{position:relative}.feature-three .feature-accordion .accordion-two .accordion-item,.feature-two-three .feature-accordion .accordion-two .accordion-item{position:relative;background:0 0;border-radius:0;margin-bottom:0;border:0;padding:0}.feature-three .feature-accordion .accordion-two .accordion-item .accordion-header,.feature-two-three .feature-accordion .accordion-two .accordion-item .accordion-header{position:relative;background:#ffebb5;margin-bottom:1.5rem;border-radius:20px;padding:0}.feature-three .feature-accordion .accordion-two .accordion-item .accordion-header .accordion-button,.feature-two-three .feature-accordion .accordion-two .accordion-item .accordion-header .accordion-button{background:#ffebb5;border-radius:20px;padding:1.9rem 2.5rem}.feature-three .feature-accordion .accordion-two .accordion-item .accordion-header .accordion-button::after,.feature-two-three .feature-accordion .accordion-two .accordion-item .accordion-header .accordion-button::after{display:none}.feature-three .feature-accordion .accordion-two .accordion-item .accordion-body,.feature-two-three .feature-accordion .accordion-two .accordion-item .accordion-body{background:#fff;border:1px solid #ffebb5;box-sizing:border-box;border-radius:20px;padding:2rem 2.5rem}@media(max-width:575.98px){.feature-three .feature-accordion .accordion-two .accordion-item .accordion-body,.feature-two-three .feature-accordion .accordion-two .accordion-item .accordion-body{padding:2rem 1.5rem}}.feature-three .feature-accordion .accordion-two .accordion-item .accordion-body h3,.feature-two-three .feature-accordion .accordion-two .accordion-item .accordion-body h3{font-size:1.6rem;line-height:32.5px;font-weight:600;margin-bottom:1.5rem}@media(max-width:575.98px){.feature-three .feature-accordion .accordion-two .accordion-item .accordion-body h3,.feature-two-three .feature-accordion .accordion-two .accordion-item .accordion-body h3{font-size:1.25rem}}.feature-three .feature-accordion .accordion-two .accordion-item .accordion-body .list-unstyled,.feature-two-three .feature-accordion .accordion-two .accordion-item .accordion-body .list-unstyled{padding-left:2rem;margin-bottom:0}.feature-three .feature-accordion .accordion-two .accordion-item .accordion-body .list-unstyled li,.feature-two-three .feature-accordion .accordion-two .accordion-item .accordion-body .list-unstyled li{position:relative;color:#4d4d4d;font-size:1.25rem;line-height:32.5px;margin-bottom:.8rem;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Helvetica,Arial,sans-serif,Roboto,Ubuntu,apple color emoji,segoe ui emoji,segoe ui symbol;font-weight:500;list-style:disc}.feature-three .feature-accordion .accordion-two .accordion-item .accordion-body .list-unstyled li:last-child,.feature-two-three .feature-accordion .accordion-two .accordion-item .accordion-body .list-unstyled li:last-child{margin-bottom:0}.feature-three .feature-accordion .Learn-more,.feature-two-three .feature-accordion .Learn-more{margin-top:4.6rem}@media(max-width:767.98px){.feature-three .feature-accordion .Learn-more,.feature-two-three .feature-accordion .Learn-more{margin-top:2.5rem}}@media(max-width:575.98px){.feature-three .feature-accordion .Learn-more,.feature-two-three .feature-accordion .Learn-more{margin-top:1.25rem}}.feature-three .feature-item-banner,.feature-two-three .feature-item-banner{position:relative;z-index:1}.feature-three .feature-item-banner img,.feature-two-three .feature-item-banner img{z-index:1}.feature-three .feature-item-banner .shape,.feature-two-three .feature-item-banner .shape{position:absolute;bottom:-11%;left:-23%;z-index:0;width:100%}@media(max-width:1199.98px){.feature-three .feature-item-banner .shape,.feature-two-three .feature-item-banner .shape{bottom:-4%;left:-23%}.feature-three .feature-item-banner .shape img,.feature-two-three .feature-item-banner .shape img{max-width:100%}}.feature-three .feature-item-banner .shape-two,.feature-two-three .feature-item-banner .shape-two{position:absolute;top:-11%;right:-4%;z-index:0;width:100%}@media(max-width:1399.98px){.feature-three .feature-item-banner .shape-two,.feature-two-three .feature-item-banner .shape-two{right:-10%}}@media(max-width:991.98px){.feature-three .feature-item-banner .shape-two,.feature-two-three .feature-item-banner .shape-two{right:40%;top:85%}.feature-three .feature-item-banner .shape-two img,.feature-two-three .feature-item-banner .shape-two img{max-width:100%}}@media(max-width:991.98px){.feature-three-wrapper,.feature-two-three-wrapper{margin-bottom:2.5rem}}@media(max-width:767.98px){.feature-three-wrapper,.feature-two-three-wrapper{margin-bottom:1.5rem}}.feature-three-wrapper .shape,.feature-two-three-wrapper .shape{top:64%;right:49%;z-index:0;width:100%}@media(max-width:1399.98px){.feature-three-wrapper .shape,.feature-two-three-wrapper .shape{top:60%;right:40%}}@media(max-width:991.98px){.feature-three-wrapper .shape,.feature-two-three-wrapper .shape{top:-14%;right:0%}}@media(max-width:767.98px){.feature-three-wrapper .shape,.feature-two-three-wrapper .shape{top:-9%;right:-11%}}.feature-three-wrapper-content,.feature-two-three-wrapper-content{background:#fff;border-radius:20px;padding:5rem 3.1rem 6rem}@media(max-width:1399.98px){.feature-three-wrapper-content,.feature-two-three-wrapper-content{padding:3rem 2rem 4.5rem}}@media(max-width:1199.98px){.feature-three-wrapper-content,.feature-two-three-wrapper-content{padding:3rem 1rem 2rem 2rem}}.feature-three-wrapper-content h2,.feature-two-three-wrapper-content h2{font-size:2.8rem;padding-right:5rem}@media(max-width:1199.98px){.feature-three-wrapper-content h2,.feature-two-three-wrapper-content h2{font-size:2.2rem;padding-right:0}}@media(max-width:575.98px){.feature-three-wrapper-content h2,.feature-two-three-wrapper-content h2{font-size:1.9rem}}.feature-three-wrapper-content p,.feature-two-three-wrapper-content p{font-size:1.25rem}.access{padding:9.4rem 0 12.5rem;position:relative}@media(max-width:1399.98px){.access{padding:7rem 0 8rem}}@media(max-width:1199.98px){.access{padding:7rem 0 5rem}}@media(max-width:991.98px){.access{padding:5rem 0}}@media(max-width:575.98px){.access{padding:3.1rem 0 6.2rem}}.access .section-header{padding-top:5rem;padding-bottom:0}@media(max-width:575.98px){.access .section-header{padding-top:2.5rem}}.access .section-header p{width:65%;margin:auto}@media(max-width:1399.98px){.access .section-header p{width:70%}}@media(max-width:767.98px){.access .section-header p{width:90%}}.access .access-wrapper{display:flex;align-items:center;justify-content:space-around}@media(max-width:991.98px){.access .access-wrapper{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-template-rows:repeat(2,1fr);grid-row-gap:50px}}@media(max-width:767.98px){.access .access-wrapper{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}}@media(max-width:575.98px){.access .access-wrapper{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}}@media(max-width:575.98px){.access .access-wrapper{grid-row-gap:20px;grid-column-gap:14px}}.access .access-wrapper .item .logo{width:200px;height:200px;background:#f3f3f3;line-height:200px;display:flex;align-items:center;justify-content:center;border-radius:30px;transition:all .3s ease-in-out;margin:0 auto}@media(max-width:1399.98px){.access .access-wrapper .item .logo{width:160px;height:160px}}@media(max-width:1199.98px){.access .access-wrapper .item .logo{width:140px;height:140px}}@media(max-width:991.98px){.access .access-wrapper .item .logo{width:160px;height:160px}}@media(max-width:575.98px){.access .access-wrapper .item .logo{width:117px;height:117px}}@media(max-width:575.98px){.access .access-wrapper .item .logo svg{width:55px}}.access .access-wrapper .item .logo svg path{transition:all .3s ease-in-out}.access .access-wrapper .item p{font-size:1.2rem;font-weight:500;transition:all .3s ease-in-out}.team{padding:2rem 0 0}@media(max-width:767.98px){.team{padding:0}}.team .section-header{padding-bottom:3.5rem}@media(max-width:1399.98px){.team .section-header{padding:3rem 0 3.5rem}}@media(max-width:767.98px){.team .section-header{padding:3rem 0 1.5rem}}.team .team-member{margin-bottom:3.1rem}@media(max-width:991.98px){.team .team-member{margin-bottom:2.5rem;text-align:center}}.team .team-member-thumb{margin-bottom:1.5rem}.team .team-member-thumb img{width:100%}.team .team-member-details h3{font-size:1.6rem;color:#000;margin-bottom:.3rem;font-weight:600;line-height:1.3}.team .team-member-details p{font-size:1.25rem;color:#4d4d4d;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Helvetica,Arial,sans-serif,Roboto,Ubuntu,apple color emoji,segoe ui emoji,segoe ui symbol;margin-bottom:.2rem}@media(max-width:1199.98px){.team .team-member-details p{font-size:1.2rem}}@media(max-width:991.98px){.team .team-member-details p{font-size:1.25rem}}.testimonial{background:#000;position:relative;border-bottom:1px solid #282828;overflow:hidden;padding:70px 0}@media(max-width:575.98px){.testimonial{border-bottom:none}}.testimonial-content{padding-right:50px}@media(max-width:1199.98px){.testimonial-content{padding-right:0}}@media(max-width:991.98px){.testimonial-content{text-align:center;padding-bottom:3rem}}.testimonial-content h2{color:#fff;font-size:2.8rem;margin-bottom:1.4rem}.testimonial-content h2 span{color:#0ecccb}@media(max-width:1199.98px){.testimonial-content h2{font-size:2.5rem}}@media(max-width:575.98px){.testimonial-content h2{font-size:2rem}}.testimonial-content p{font-size:22px;color:#f3f3f3;font-weight:500;line-height:36.3px}@media(max-width:767.98px){.testimonial-content p{font-size:1.25rem}}.testimonial-item{background-color:#fff;padding:15px 30px;border-radius:12px}.testimonial-item-person{margin-top:1rem}.testimonial-item-person .thumb img{width:80px;height:80px;border-radius:50%;margin-bottom:15px}.galery{padding-bottom:9.3rem}@media(max-width:1399.98px){.galery{padding-bottom:6rem}}@media(max-width:1199.98px){.galery{padding-bottom:4rem}}@media(max-width:767.98px){.galery{padding-bottom:3.1rem}}.galery-items{display:flex;margin-bottom:5rem}@media(max-width:991.98px){.galery-items{margin-bottom:3.1rem}}@media(max-width:767.98px){.galery-items{display:block}}.galery-item .item img{max-width:100%}.galery-content p{font-size:22px;font-weight:500;line-height:36.3px;margin-bottom:0}.works{padding:9.4rem 0 3.2rem;overflow:hidden}@media(max-width:1399.98px){.works{padding:6rem 0 3.2rem}}@media(max-width:1199.98px){.works{padding:6rem 0 0}}@media(max-width:991.98px){.works{padding:4rem 0 0}}@media(max-width:991.98px){.works-content{padding-bottom:5rem;text-align:center}}.works-content h2{margin-bottom:1.5rem;font-size:2.8rem;line-height:56.25px}@media(max-width:767.98px){.works-content h2{font-size:1.9rem}}.works-content p{font-size:1.4rem;font-weight:500;line-height:36.3px;margin-bottom:3.1rem;width:80%}@media(max-width:1399.98px){.works-content p{width:90%}}@media(max-width:1199.98px){.works-content p{width:100%;font-size:1.2rem}}@media(max-width:991.98px){.works-content p{margin-bottom:1.5rem}}.works-banner{position:relative;z-index:1}.works-banner::after{position:absolute;content:"";background:#1424ac;width:100%;height:100%;border-radius:20px;top:0;left:0;opacity:.2}.works-banner .effect{position:absolute;top:-96px;left:-89px;z-index:-1}@media(max-width:1399.98px){.works-banner .effect img{max-width:100%}}.works-banner .video{position:relative}.works-banner .video-iframe{position:absolute;left:50%;top:50%;z-index:1}.works-banner .video-icon a{position:absolute;border:2px solid #1424ac;border-radius:50%;background:#1424ac;z-index:1;width:86px;height:86px;outline:none;transform:translate(-50%,-50%)}.works-banner .video-icon svg{position:absolute;text-align:center;top:50%;left:50%;font-size:30px;transform:translate(-50%,-50%);margin-left:2px}.works-banner .video-iframe::before,.works-banner .video-iframe::after{content:"";background:#fff;border-radius:50%;position:absolute;transform-origin:top left;animation-name:grow;animation-duration:2s;animation-iteration-count:infinite;animation-direction:alternate;top:50%;left:0%;transform:translate(-50%,-50%)}.works-banner .video-iframe::after{width:110px;height:110px;opacity:.5}.works-banner .video-iframe::before{width:140px;height:140px;animation-delay:1s;opacity:.4}.pricing,.pricing-two{position:relative;margin-top:-21.5rem}@media(max-width:767.98px){.pricing,.pricing-two{margin-top:-25rem}}.pricing .card,.pricing-two .card{transition:all .3s ease-in-out;padding:3.9rem 0 3.7rem;background:#fff;border-radius:20px;box-shadow:0 0 80px rgba(150,0,0,6%);z-index:10;border:1px solid #fff}@media(max-width:1199.98px){.pricing .card,.pricing-two .card{padding:3rem 0 3.7rem}}@media(max-width:991.98px){.pricing .card,.pricing-two .card{margin:0 5rem 3.5rem}}@media(max-width:575.98px){.pricing .card,.pricing-two .card{margin:0 0 3.5rem;padding:3.9rem 0 2.2rem}}.pricing .card .card-title,.pricing-two .card .card-title{font-size:1.9rem;font-weight:700;color:#282828;margin-bottom:8px;line-height:37.5px;padding-left:2.9rem;transition:all .3s ease-in-out}@media(max-width:1199.98px){.pricing .card .card-title,.pricing-two .card .card-title{padding-left:1.5rem}}@media(max-width:991.98px){.pricing .card .card-title,.pricing-two .card .card-title{padding-left:2.9rem}}@media(max-width:767.98px){.pricing .card .card-title,.pricing-two .card .card-title{padding-left:1.5rem}}.pricing .card .card-text,.pricing-two .card .card-text{font-size:1.25rem;line-height:29px;margin-bottom:1.5rem;font-weight:400;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Helvetica,Arial,sans-serif,Roboto,Ubuntu,apple color emoji,segoe ui emoji,segoe ui symbol;padding-left:2.9rem}@media(max-width:1399.98px){.pricing .card .card-text,.pricing-two .card .card-text{font-size:1.1rem}}@media(max-width:1199.98px){.pricing .card .card-text,.pricing-two .card .card-text{font-size:1rem;padding-left:1.5rem}}@media(max-width:991.98px){.pricing .card .card-text,.pricing-two .card .card-text{font-size:1.25rem;padding-left:2.9rem}}@media(max-width:767.98px){.pricing .card .card-text,.pricing-two .card .card-text{padding-left:1.5rem}}.pricing .card .price,.pricing-two .card .price{display:flex;position:relative;margin-bottom:3.1rem;transition:all .4s ease-in-out;color:#000;border-top:1px solid #ffebb5;border-bottom:1px solid #ffebb5}.pricing .card .price p,.pricing-two .card .price p{margin-bottom:0;padding-left:2.9rem;font-size:2.8rem;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Helvetica,Arial,sans-serif,Roboto,Ubuntu,apple color emoji,segoe ui emoji,segoe ui symbol;font-weight:700;transition:all .4s ease-in-out;z-index:2;margin-right:.8rem;color:#000}.pricing .card .price .discount,.pricing-two .card .price .discount{position:relative;display:flex;align-items:center}.pricing .card .price .discount p,.pricing-two .card .price .discount p{margin:0;padding:0;font-size:1.6rem;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Helvetica,Arial,sans-serif,Roboto,Ubuntu,apple color emoji,segoe ui emoji,segoe ui symbol;font-weight:600;transition:all .4s ease-in-out;z-index:2;color:#4d4d4d}.pricing .card .price .discount .vector,.pricing .card .price .discount vector-one,.pricing-two .card .price .discount .vector,.pricing-two .card .price .discount vector-one{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pricing .card .price .discount .vector-one,.pricing-two .card .price .discount .vector-one{left:58%}.pricing .card .price .shape,.pricing-two .card .price .shape{position:absolute;top:10px;z-index:-1;left:10%}.pricing .card-body,.pricing-two .card-body{padding:0 2.9rem}@media(max-width:1399.98px){.pricing .card-body,.pricing-two .card-body{padding:0 1.9rem}}@media(max-width:1199.98px){.pricing .card-body,.pricing-two .card-body{padding:0 1.5rem}}@media(max-width:991.98px){.pricing .card-body,.pricing-two .card-body{padding:0 2.9rem}}@media(max-width:767.98px){.pricing .card-body,.pricing-two .card-body{padding:0 2.2rem}}.pricing .card-body ul,.pricing-two .card-body ul{margin-bottom:4.5rem}.pricing .card-body ul li,.pricing-two .card-body ul li{display:flex;align-items:center;color:#4d4d4d;font-size:1.25rem;line-height:33px;margin-bottom:1.9rem;font-weight:700;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Helvetica,Arial,sans-serif,Roboto,Ubuntu,apple color emoji,segoe ui emoji,segoe ui symbol}.pricing .card-body ul li i,.pricing-two .card-body ul li i{margin-right:1.1rem;color:#1424ac}@media(max-width:1199.98px){.pricing .card-body ul li i,.pricing-two .card-body ul li i{margin-right:1rem}}.pricing .card-body ul li:last-child,.pricing-two .card-body ul li:last-child{margin-bottom:0}@media(max-width:1199.98px){.pricing .card-body ul li,.pricing-two .card-body ul li{font-size:1.1rem}}@media(max-width:991.98px){.pricing .card-body ul li,.pricing-two .card-body ul li{font-size:1.25rem}}.pricing .card-body ul .deactive,.pricing-two .card-body ul .deactive{color:#ababab}.pricing .active,.pricing-two .active{border:1px solid #1424ac}.pricing .active .card-title,.pricing-two .active .card-title{color:#1424ac}.pricing .active .link a,.pricing-two .active .link a{color:#fff;background:#1424ac}.pricing-inner,.pricing-two-inner{position:relative;padding:14rem 0 27rem}@media(max-width:1399.98px){.pricing-inner,.pricing-two-inner{padding:10rem 0 27rem}}@media(max-width:991.98px){.pricing-inner,.pricing-two-inner{padding:10rem 0 25rem}}@media(max-width:767.98px){.pricing-inner,.pricing-two-inner{padding:10rem 0 27rem}}@media(max-width:575.98px){.pricing-inner,.pricing-two-inner{padding:8.5rem 0 27rem}}.pricing-inner .section-header,.pricing-two-inner .section-header{padding:0 0 1rem}.pricing-inner .section-header h2,.pricing-two-inner .section-header h2{font-size:4rem;line-height:80px;margin-bottom:1.5rem}@media(max-width:1199.98px){.pricing-inner .section-header h2,.pricing-two-inner .section-header h2{font-size:3.9rem}}@media(max-width:991.98px){.pricing-inner .section-header h2,.pricing-two-inner .section-header h2{font-size:3.5rem;line-height:70px}}@media(max-width:767.98px){.pricing-inner .section-header h2,.pricing-two-inner .section-header h2{font-size:3rem;line-height:60px}}@media(max-width:575.98px){.pricing-inner .section-header h2,.pricing-two-inner .section-header h2{font-size:2.5rem;line-height:50px}}.pricing-inner .section-header p,.pricing-two-inner .section-header p{font-size:1.35rem}.pricing-two,.pricing-two-two{padding:3rem 0 .4rem;margin-top:0}.pricing-two-range,.pricing-two-two-range{position:relative;background:#fff;border:1px solid #f7f8fa;padding:60px 90px 40px;text-align:center;border-radius:34px;margin-top:-26rem;margin-bottom:6.3rem;box-shadow:0 0 80px rgba(150,0,0,6%)}@media(max-width:767.98px){.pricing-two-range,.pricing-two-two-range{padding:60px 30px 40px}}.pricing-two-range h3,.pricing-two-two-range h3{color:#4d4d4d;font-size:30px;line-height:37.5px;margin-bottom:6.3rem}@media(max-width:1199.98px){.pricing-two-range h3,.pricing-two-two-range h3{margin-bottom:3.3rem}}@media(max-width:991.98px){.pricing-two-range h3,.pricing-two-two-range h3{margin-bottom:5.3rem}}@media(max-width:767.98px){.pricing-two-range h3,.pricing-two-two-range h3{margin-bottom:3.3rem}}@media(max-width:575.98px){.pricing-two-range h3,.pricing-two-two-range h3{margin-bottom:2rem}}.pricing-two-range .pricingbuttons,.pricing-two-two-range .pricingbuttons{display:flex;align-items:center;justify-content:center;margin:40px 0 0}.pricing-two-range .pricingbuttons .pricingbtn,.pricing-two-two-range .pricingbuttons .pricingbtn{background:0 0;display:inline-block;padding:15px 30px;font-size:18px;border-radius:12px;color:#1424ac;text-decoration:none;text-transform:capitalize;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Helvetica,Arial,sans-serif,Roboto,Ubuntu,apple color emoji,segoe ui emoji,segoe ui symbol;font-weight:600;margin:0 10px;border:1px solid rgba(20,36,172,.3)}.pricing-two-range .pricingbuttons .active,.pricing-two-two-range .pricingbuttons .active{background:#1424ac;color:#fff}.pricing-two-range .employeenoinfo,.pricing-two-two-range .employeenoinfo{border-bottom:1px solid #aef9f9;padding-bottom:84px}@media(max-width:1199.98px){.pricing-two-range .employeenoinfo,.pricing-two-two-range .employeenoinfo{padding-bottom:4.4rem}}.pricing-two-range .employeenoinfo .employeenocont-one,.pricing-two-range .employeenoinfo .employeenocont-two,.pricing-two-two-range .employeenoinfo .employeenocont-one,.pricing-two-two-range .employeenoinfo .employeenocont-two{position:absolute;top:39%;left:10%;font-size:45px;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Helvetica,Arial,sans-serif,Roboto,Ubuntu,apple color emoji,segoe ui emoji,segoe ui symbol;font-weight:700;color:#1424ac}@media(max-width:767.98px){.pricing-two-range .employeenoinfo .employeenocont-one,.pricing-two-range .employeenoinfo .employeenocont-two,.pricing-two-two-range .employeenoinfo .employeenocont-one,.pricing-two-two-range .employeenoinfo .employeenocont-two{left:5%}}@media(max-width:575.98px){.pricing-two-range .employeenoinfo .employeenocont-one,.pricing-two-range .employeenoinfo .employeenocont-two,.pricing-two-two-range .employeenoinfo .employeenocont-one,.pricing-two-two-range .employeenoinfo .employeenocont-two{font-size:30px}}.pricing-two-range .employeenoinfo .employeenocont-two,.pricing-two-two-range .employeenoinfo .employeenocont-two{left:79%}@media(max-width:767.98px){.pricing-two-range .employeenoinfo .employeenocont-two,.pricing-two-two-range .employeenoinfo .employeenocont-two{left:75%}}.pricing-two-range .priceslider.ui-widget.ui-widget-content,.pricing-two-two-range .priceslider.ui-widget.ui-widget-content{position:relative;border:4px solid #aef9f9;background:#aef9f9;height:1px;width:68%;margin-left:90px;border-radius:0}@media(max-width:1199.98px){.pricing-two-range .priceslider.ui-widget.ui-widget-content,.pricing-two-two-range .priceslider.ui-widget.ui-widget-content{margin-left:70px}}@media(max-width:767.98px){.pricing-two-range .priceslider.ui-widget.ui-widget-content,.pricing-two-two-range .priceslider.ui-widget.ui-widget-content{width:60%}}@media(max-width:575.98px){.pricing-two-range .priceslider.ui-widget.ui-widget-content,.pricing-two-two-range .priceslider.ui-widget.ui-widget-content{margin-left:50px}}.pricing-two-range .ui-state-default,.pricing-two-range .ui-widget-content .ui-state-default,.pricing-two-range .ui-widget-header .ui-state-default,.pricing-two-range .ui-button,.pricing-two-range html .ui-button.ui-state-disabled:hover,.pricing-two-range html .ui-button.ui-state-disabled:active,.pricing-two-range html .ui-button.ui-state-disabled:focus,.pricing-two-two-range .ui-state-default,.pricing-two-two-range .ui-widget-content .ui-state-default,.pricing-two-two-range .ui-widget-header .ui-state-default,.pricing-two-two-range .ui-button,.pricing-two-two-range html .ui-button.ui-state-disabled:hover,.pricing-two-two-range html .ui-button.ui-state-disabled:active,.pricing-two-two-range html .ui-button.ui-state-disabled:focus{border:1px solid #1424ac!important;color:#1424ac!important;border-radius:50px;background:#1424ac;width:30px;height:30px;top:-16px;left:50%}.pricing-two .card,.pricing-two-two .card{margin-bottom:3.1rem}.pricing-three,.pricing-two-three{overflow:auto;padding:2.9rem 0 9.4rem}@media(max-width:991.98px){.pricing-three,.pricing-two-three{padding:2rem 0 5rem}}.pricing-three-gig,.pricing-two-three-gig{padding:3.8rem 4.5rem;box-shadow:0 0 80px rgba(150,0,0,6%);border-radius:20px}@media(max-width:991.98px){.pricing-three-gig,.pricing-two-three-gig{padding:3rem 2rem 1.5rem}}@media(max-width:991.98px){.pricing-three-gig,.pricing-two-three-gig{width:900px;overflow-x:scroll}}@media(max-width:767.98px){.pricing-three-gig,.pricing-two-three-gig{width:700px;overflow-x:scroll}}.pricing-three-gig .table thead tr,.pricing-two-three-gig .table thead tr{border:none}.pricing-three-gig .table thead tr th p,.pricing-two-three-gig .table thead tr th p{font-size:1.6rem;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Helvetica,Arial,sans-serif,Roboto,Ubuntu,apple color emoji,segoe ui emoji,segoe ui symbol;font-weight:600;text-align:center;margin-bottom:0}.pricing-three-gig .table thead tr th span,.pricing-two-three-gig .table thead tr th span{font-family:-apple-system,BlinkMacSystemFont,segoe ui,Helvetica,Arial,sans-serif,Roboto,Ubuntu,apple color emoji,segoe ui emoji,segoe ui symbol;font-weight:600;color:#1424ac;display:block;font-size:1.6rem;text-align:center}.pricing-three-gig .table thead tr th:first-child p,.pricing-two-three-gig .table thead tr th:first-child p{font-size:1.9rem;text-align:left;margin-bottom:2.6rem}@media(max-width:575.98px){.pricing-three-gig .table thead tr th:first-child p,.pricing-two-three-gig .table thead tr th:first-child p{margin-bottom:1.6rem}}.pricing-three-gig .table tbody tr th,.pricing-two-three-gig .table tbody tr th{padding:50px 0 20px;font-size:1.25rem;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Helvetica,Arial,sans-serif,Roboto,Ubuntu,apple color emoji,segoe ui emoji,segoe ui symbol;font-weight:600}@media(max-width:575.98px){.pricing-three-gig .table tbody tr th,.pricing-two-three-gig .table tbody tr th{padding:30px 0 20px}}.pricing-three-gig .table tbody tr td i,.pricing-two-three-gig .table tbody tr td i{color:#1424ac;display:block;padding:50px 0 20px;text-align:center}@media(max-width:575.98px){.pricing-three-gig .table tbody tr td i,.pricing-two-three-gig .table tbody tr td i{padding:30px 0 20px}}.pricing-three-gig .table tbody tr td .deactive,.pricing-two-three-gig .table tbody tr td .deactive{color:#aef9f9}.pricing-three-gig .table>:not(:last-child)>:last-child>*,.pricing-two-three-gig .table>:not(:last-child)>:last-child>*{border:none}.pricing-three-gig .border-none,.pricing-two-three-gig .border-none{border:none;border-color:#fff}.cta{text-align:center;background:#000}@media(max-width:575.98px){.cta .section-header{padding:4.2rem 0 6.3rem}}.cta .section-header h2{color:#fff;margin-bottom:1.5rem}.cta .section-header p{color:#f7f8fa;width:70%;margin:0 auto 2.5rem}@media(max-width:1199.98px){.cta .section-header p{width:80%}}@media(max-width:575.98px){.cta .section-header p{width:100%;color:#e6ebf4}}.cta-subscribe-form .from-group{position:relative}.cta-subscribe-form .from-group .input-group{padding:0}.cta-subscribe-form .from-group .input-group .form-control{position:relative;color:#fff;border-radius:24px;border-bottom-right-radius:24px!important;border-top-right-radius:24px!important;padding:35px 200px 31px 33px;background:rgba(229,59,42,.15);border:1.20519px solid #1424ac;z-index:0}@media(max-width:575.98px){.cta-subscribe-form .from-group .input-group .form-control{padding:20px 180px 20px 20px}}.cta-subscribe-form .from-group .input-group .form-control:focus{box-shadow:none;background:#000}.cta-subscribe-form .from-group .input-group ::placeholder{color:#aef9f9}.cta-subscribe-form .from-group .input-group .subscribe{position:absolute;z-index:1;top:50%;transform:translateY(-50%);right:10px}.cta-subscribe-form .from-group .input-group .subscribe .btn-lg{padding:1.2rem 2.2rem}@media(max-width:575.98px){.cta-subscribe-form .from-group .input-group .subscribe .btn-lg{padding:.7rem 1rem}}.cta-two{padding:0 0 8.5rem;background:#1424ac0a}@media(max-width:1199.98px){.cta-two{padding:0 0 3rem}}.cta-two .section-header{padding-top:6.2rem}@media(max-width:1199.98px){.cta-two .section-header{padding-top:3rem}}.cta-two .section-header h2{color:#000}.cta-two .section-header p{color:#4d4d4d}.cta-two .cta-subscribe-form .from-group .input-group .form-control:focus{border-color:#000}.cta-two .cta-subscribe-form .from-group .input-group .subscribe .btn-lg{padding:1.2rem 2.2rem}@media(max-width:575.98px){.cta-two .cta-subscribe-form .from-group .input-group .subscribe .btn-lg{padding:.7rem 1rem}}.cta-two .cta-subscribe-form .from-group .input-group ::placeholder{color:#1424ac}.footer{position:relative;background:#000}.footer-wrapper{max-width:1200px;margin:0 auto}@media(max-width:1399.98px){.footer-wrapper{max-width:1100px}}@media(max-width:1199.98px){.footer-wrapper{max-width:900px}}@media(max-width:991.98px){.footer-wrapper{max-width:700px}}@media(max-width:767.98px){.footer-wrapper{max-width:600px}}@media(max-width:991.98px){.footer-wrapper .footer-logo{text-align:center}}@media(max-width:575.98px){.footer-wrapper .footer-logo{text-align:left}}.footer-wrapper .footer-logo a{margin-bottom:2.5rem}@media(max-width:575.98px){.footer-wrapper .footer-logo a{margin-bottom:1.25rem}}.footer-wrapper .footer-logo p{color:#ababab;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Helvetica,Arial,sans-serif,Roboto,Ubuntu,apple color emoji,segoe ui emoji,segoe ui symbol;font-size:.7rem;font-weight:300;margin-bottom:2.5rem;line-height:1.4}.footer-wrapper .footer-logo p a{color:#ababab;font-weight:600;margin-bottom:0}.footer-wrapper .footer-logo img{width:150px}.footer-wrapper .social-icon{position:relative}.footer-wrapper .social-icon ul{display:flex;align-items:center;justify-content:flex-start;margin-bottom:2rem}@media(max-width:991.98px){.footer-wrapper .social-icon ul{justify-content:center}}@media(max-width:575.98px){.footer-wrapper .social-icon ul{justify-content:start}}.footer-wrapper .social-icon ul li{display:inline-block;margin-right:1rem}.footer-wrapper .social-icon ul li:last-child{margin-right:0}.footer-wrapper .social-icon ul li a{transition:all .3s ease-in-out}.footer-wrapper .social-icon ul li a i{font-size:30px;color:#fff;transition:all .3s ease-in-out;transform:translateY(0)}.footer-wrapper .social-icon ul li a:hover{text-decoration:none}.footer-wrapper .social-icon ul li a:hover i{color:#0ecccb;transform:translateY(-10px)}.footer-wrapper .social-icon a{font-size:1.25rem}.footer-widget{margin-left:80px}@media(max-width:1699.98px){.footer-widget{margin-left:0}}@media(max-width:991.98px){.footer-widget{margin-bottom:2.5rem}}@media(max-width:575.98px){.footer-widget{margin-bottom:3.3rem}}.footer-widget h3{margin-bottom:1.6rem;color:#f7f8fa;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Helvetica,Arial,sans-serif,Roboto,Ubuntu,apple color emoji,segoe ui emoji,segoe ui symbol;font-size:.9rem;font-weight:600;opacity:.7}.footer-widget ul{margin-bottom:0}.footer-widget ul li{display:block;padding:.8rem .2rem}.footer-widget ul li a{color:#fff;font-weight:600;transition:all .3s ease-in-out}.footer-widget ul li a:hover{color:#0ecccb;text-decoration:none}.blog,.page{margin-top:3rem}.blog-hero,.page-hero{background:linear-gradient(to top,#ffebc2,#fff1d6 100%);text-align:center}.blog-hero h1,.page-hero h1{margin-bottom:3.5rem}@media(max-width:991.98px){.blog-hero h1,.page-hero h1{font-size:3.5rem}}@media(max-width:767.98px){.blog-hero h1,.page-hero h1{font-size:2.9rem;line-height:60px}}@media(max-width:575.98px){.blog-hero h1,.page-hero h1{font-size:2.5rem;line-height:50px}}.blog-hero p,.page-hero p{font-size:1.4rem;line-height:36.3px;font-weight:500}@media(max-width:575.98px){.blog-hero p,.page-hero p{font-size:1.25rem}}@media(max-width:767.98px){.blog .section-header,.page .section-header{padding:4rem 0 4.1rem}}.blog-post,.page-post{position:relative;margin-bottom:6.2rem}.blog-post-thumb,.page-post-thumb{border-radius:5px;margin-bottom:1.9rem;overflow:hidden}.blog-post-thumb img,.page-post-thumb img{transform:scale(1)rotate(0);border-radius:5px;width:100%;transition:.5s ease-in-out}.blog-post-thumb :hover,.page-post-thumb :hover{transform:scale(1.02)}.blog-post-tag,.page-post-tag{margin-bottom:.9rem}.blog-post-tag a,.page-post-tag a{background:#aef9f9;border-radius:6px;padding:4px 10px;text-decoration:none;font-size:12px;color:#1424ac;font-weight:500;margin-bottom:.9rem;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Helvetica,Arial,sans-serif,Roboto,Ubuntu,apple color emoji,segoe ui emoji,segoe ui symbol}.blog-post-date,.page-post-date{margin-bottom:.9rem;font-size:1.1rem;color:gray}.blog-post-title a,.page-post-title a{color:#282828;font-size:26px;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Helvetica,Arial,sans-serif,Roboto,Ubuntu,apple color emoji,segoe ui emoji,segoe ui symbol;font-weight:600;line-height:32.5px;text-decoration:none;margin-bottom:1.1rem;display:block;transition:all .3s ease-in-out}@media(max-width:1199.98px){.blog-post-title a,.page-post-title a{font-size:22px}}@media(max-width:767.98px){.blog-post-title a,.page-post-title a{font-size:26px}}.blog-post-title a:hover,.page-post-title a:hover{color:#1424ac}.blog-post-meta ul,.page-post-meta ul{padding:0;margin-left:1rem;display:flex;list-style:none}.blog-post-meta ul li,.page-post-meta ul li{font-size:13px;position:relative;color:#4d4d4d;font-weight:300}.blog-post-meta ul li:last-child,.page-post-meta ul li:last-child{padding-left:.5rem;margin-left:1.5rem}.blog-post-meta ul li:not(:first-child)::after,.page-post-meta ul li:not(:first-child)::after{position:absolute;content:'';background:#4d4d4d;border-radius:50%;width:5px;height:5px;top:50%;left:-7%;transform:translate(-50%,-50%)}.blog .more-blogs a,.page .more-blogs a{font-weight:700}.blog-two,.page-two{margin-top:0}.blog-two .section-header,.page-two .section-header{padding-bottom:1rem}.blog-two .section-header p,.page-two .section-header p{width:72%;margin:0 auto}.blog-details,.page-details{position:relative;padding:14.4rem 0 4.4rem}@media(max-width:1399.98px){.blog-details,.page-details{padding:12rem 0 4.4rem}}@media(max-width:1199.98px){.blog-details,.page-details{padding:10rem 0 2rem}}@media(max-width:575.98px){.blog-details,.page-details{padding:8.5rem 0 2rem}}.blog-details article,.page-details article{max-width:900px;margin-left:auto;margin-right:auto;position:relative}@media(max-width:575.98px){.blog-details article .inner-blog-details,.page-details article .inner-blog-details{text-align:center;margin-bottom:3.1rem}}.blog-details article .inner-blog-details h1,.page-details article .inner-blog-details h1{font-size:3rem;margin-bottom:1.5rem;line-height:1.2}@media(max-width:767.98px){.blog-details article .inner-blog-details h1,.page-details article .inner-blog-details h1{font-size:2.8rem}}.blog-details article .inner-blog-details-meta,.page-details article .inner-blog-details-meta{margin-bottom:1.9rem}.blog-details article .inner-blog-details-meta ul,.page-details article .inner-blog-details-meta ul{margin-bottom:0}.blog-details article .inner-blog-details-meta ul li:not(:first-child),.page-details article .inner-blog-details-meta ul li:not(:first-child){position:relative;padding-left:.4rem;margin-left:1.2rem}.blog-details article .inner-blog-details-meta ul li:not(:first-child)::after,.page-details article .inner-blog-details-meta ul li:not(:first-child)::after{position:absolute;content:'';background:#4d4d4d;width:2px;height:15px;top:50%;left:-7%;transform:translate(-50%,-50%)}.blog-details article .inner-blog-details-meta ul li p,.page-details article .inner-blog-details-meta ul li p{font-size:1rem;color:#4d4d4d;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Helvetica,Arial,sans-serif,Roboto,Ubuntu,apple color emoji,segoe ui emoji,segoe ui symbol;font-weight:600;margin-bottom:0}.blog-details article h3,.page-details article h3{font-size:1.9rem;margin-bottom:1.5rem;margin-top:2.5rem;line-height:43px}.blog-details article h4,.page-details article h4{margin-bottom:1rem;margin-top:2rem}.blog-details article p,.blog-details article ul,.page-details article p,.page-details article ul{font-size:1.1rem;margin-bottom:1.5rem;line-height:29px}@media(max-width:1199.98px){.blog-details article p,.blog-details article ul,.page-details article p,.page-details article ul{margin-bottom:3.1rem}}.blog-details article img,.page-details article img{width:100%}.blog-details article blockquote,.page-details article blockquote{margin:1.5rem 0 2rem 2rem;padding:1rem 0 .01rem 1rem;border-left:3px solid #4d4d4d;font-style:italic}.blog-details .social-icon,.page-details .social-icon{position:fixed;z-index:999;top:50%;left:2%}@media(max-width:1699.98px){.blog-details .social-icon,.page-details .social-icon{left:1%}}@media(max-width:1399.98px){.blog-details .social-icon,.page-details .social-icon{left:0%}}@media(max-width:767.98px){.blog-details .social-icon,.page-details .social-icon{display:none}}.blog-details .social-icon .icon,.page-details .social-icon .icon{position:relative;transition:all .2s cubic-bezier(.68,-.55,.265,1.55);margin-bottom:1rem;display:inline-block;z-index:99}.blog-details .social-icon .icon svg path,.page-details .social-icon .icon svg path{fill:#4d4d4d}.blog-details .social-icon .icon .tooltip,.page-details .social-icon .icon .tooltip{position:absolute;left:20px;font-size:10px;background:#aef9f9;color:#1424ac;padding:7px 10px;border-radius:5px;box-shadow:0 10px 10px rgba(0,0,0,.1);opacity:1;visibility:hidden;transition:all .3s cubic-bezier(.68,-.55,.265,1.55);width:max-content;z-index:-1;cursor:pointer}.blog-details .social-icon .icon .tooltip:before,.page-details .social-icon .icon .tooltip:before{position:absolute;content:'';height:8px;width:8px;background:#aef9f9;top:50%;left:0%;transform:translate(-50%,-50%)rotate(45deg);transition:all .3s cubic-bezier(.68,-.55,.265,1.55)}.blog-details .social-icon .icon:hover svg path,.page-details .social-icon .icon:hover svg path{fill:#1424ac}.blog-details .social-icon .icon:hover .tooltip,.page-details .social-icon .icon:hover .tooltip{left:45px;visibility:visible}.blog-pagination,.page-pagination{display:flex;align-items:center;justify-content:center;margin:50px 0}@media(max-width:767.98px){.blog-pagination .number-page-button,.page-pagination .number-page-button{display:none}}.blog-pagination .page-link,.page-pagination .page-link{display:inline-block;padding:20px 27px!important;margin:0 15px!important;font-weight:600;font-size:20px;border-radius:20px!important}.blog-pagination .page-link.active,.page-pagination .page-link.active{background:#0ecccb!important;border-color:#0ecccb!important}.blog-pagination .page-link svg,.page-pagination .page-link svg{margin-right:-2px}.blog-pagination .page-link:hover svg g,.page-pagination .page-link:hover svg g{fill:#0ecccb}.blog-related,.page-related{padding:3rem 0 5rem;background:#fff1d6}@media(max-width:1199.98px){.blog-related,.page-related{padding:5rem 0 0}}@media(max-width:991.98px){.blog-related,.page-related{padding:3.1rem 0 2rem}}.blog-related h2,.page-related h2{margin-bottom:3rem}@media(max-width:991.98px){.blog-related h2,.page-related h2{font-size:2.5rem}}.page-details{padding:4rem 0 4.4rem}@media(max-width:1399.98px){.page-details{padding:3rem 0 4.4rem}}@media(max-width:1199.98px){.page-details{padding:3rem 0 2rem}}@media(max-width:575.98px){.page-details{padding:3rem 0 2rem}}.services{padding-bottom:4.5rem}@media(max-width:1199.98px){.services{padding-bottom:1rem}}@media(max-width:575.98px){.services{padding-bottom:4.3rem}}@media(max-width:575.98px){.services .section-header{padding:6rem 0 1.5rem}}.services .section-header h2{width:80%;margin:0 auto 1.5rem}@media(max-width:1199.98px){.services .section-header h2{width:100%}}@media(max-width:575.98px){.services .section-header h2{margin:0 auto .6rem}}.services .card{margin-bottom:5rem}@media(max-width:991.98px){.services .card{text-align:center}}@media(max-width:767.98px){.services .card{margin-bottom:3.2rem}}@media(max-width:575.98px){.services .card{text-align:left}}.services .card-icon{margin-bottom:3.1rem}@media(max-width:575.98px){.services .card-icon{margin-bottom:1.9rem}}.services .card-icon img{max-width:100%}@media(max-width:991.98px){.services .card-icon img{width:100%}}.services .card-body{padding:0}@media(max-width:991.98px){.services .card-body{padding:0 5rem}}@media(max-width:575.98px){.services .card-body{padding:0}}.services .card-title{color:#282828;margin-bottom:1rem;font-size:1.6rem;font-weight:600}.services .card-text{font-size:18px;line-height:29.7px;font-weight:500;color:#4d4d4d}@media(max-width:991.98px){.services .card-text{padding:0 5rem}}@media(max-width:767.98px){.services .card-text{padding:0}}.services .same-card{padding:3.8rem 5rem 3rem}@media(max-width:1399.98px){.services .same-card{padding:3.8rem 3rem 3rem}}@media(max-width:1199.98px){.services .same-card{padding:2rem}}@media(max-width:991.98px){.services .same-card{margin-bottom:2rem}}@media(max-width:575.98px){.services .same-card{padding:0}}.services .same-card .card-title{font-weight:700;font-size:2.8rem;margin-bottom:4.4rem;line-height:52.5px}@media(max-width:1199.98px){.services .same-card .card-title{font-size:2.5rem}}.services-two{background:#1424ac0a;position:relative;padding:9.4rem 0 8.1rem}@media(max-width:1399.98px){.services-two{padding:5rem 0 6rem}}@media(max-width:991.98px){.services-two{padding:5rem 0 3rem}}@media(max-width:767.98px){.services-two{padding:3.1rem 0 3rem}}.services-two .navbar{background-color:#fff;position:sticky;top:150px;padding:0;border-radius:20px;z-index:1}@media(max-width:991.98px){.services-two .navbar{display:none}}.services-two .nav-pills .nav-link.active,.services-two .nav-pills .show>.nav-link{background:0 0;color:#000}.services-two .nav-pills .nav-link.active::after,.services-two .nav-pills .show>.nav-link::after{background:#1424ac}.services-two .nav-pills .nav-link.active::before,.services-two .nav-pills .show>.nav-link::before{background:#aef9f9}.services-two-nav{display:block;background-color:none}.services-two-nav .nav-pills{display:block;padding:4.4rem 4rem}@media(max-width:1199.98px){.services-two-nav .nav-pills{padding:4.4rem 2rem}}.services-two-nav .nav-pills .nav-item{padding-bottom:5rem;position:relative}.services-two-nav .nav-pills .nav-item::before{content:"";position:absolute;background:#e6ebf4;width:2px;height:120px;border-radius:0;top:1px;left:-16px;transform:translateY(11%)}@media(max-width:1399.98px){.services-two-nav .nav-pills .nav-item::before{left:-12px}}.services-two-nav .nav-pills .nav-item:last-child{padding-bottom:0}.services-two-nav .nav-pills .nav-item:last-child::before{display:none}.services-two-nav .nav-pills .nav-item a{font-size:26px;position:relative;color:#4d4d4d;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Helvetica,Arial,sans-serif,Roboto,Ubuntu,apple color emoji,segoe ui emoji,segoe ui symbol;font-weight:600;margin-bottom:0;padding:0}.services-two-nav .nav-pills .nav-item a::after{position:absolute;content:"";background:#4d4d4d;width:10px;height:10px;border-radius:50%;top:50%;left:-5%;transform:translate(-50%,-50%)}.services-two-nav .nav-pills .nav-item a::before{position:absolute;content:"";background:#e6ebf4;width:15px;height:15px;border-radius:50%;top:50%;left:-5%;transform:translate(-50%,-50%)}.services-two-items .card{background:0 0;padding:0;margin-bottom:6.2rem}@media(max-width:1199.98px){.services-two-items .card{margin-bottom:3.1rem}}@media(max-width:991.98px){.services-two-items .card{margin-bottom:2.5rem}}.services-two-items .card h3{color:#4d4d4d;font-size:2.8rem;margin-bottom:2.5rem}@media(max-width:991.98px){.services-two-items .card h3{font-size:2.2rem}}@media(max-width:767.98px){.services-two-items .card h3{font-size:1.9rem}}.services-two-items .card-body{padding:0}.services-two-items .card-body .card-text,.services-two-items .card-body p{margin-bottom:50px;font-size:1.4rem;line-height:36.3px;color:#4d4d4d}.services-two-items .card-body .card-banner{margin-bottom:50px}.services-two-items .card-body p{margin-bottom:0}.video{position:relative;padding-top:13rem;overflow:hidden}@media(max-width:1399.98px){.video{padding-top:8rem}}@media(max-width:1199.98px){.video{padding-top:4rem}}.video .banner{position:relative;z-index:1}.video .banner::after{position:absolute;content:"";background:#1424ac;width:100%;height:100%;border-radius:20px;top:0;left:0;opacity:.2}@media(max-width:767.98px){.video .banner .effect-one img,.video .banner .effect-two img{width:70%}}.video .banner .effect-one{position:absolute;top:54%;left:-89px;z-index:-1}@media(max-width:1199.98px){.video .banner .effect-one{top:37%}}@media(max-width:991.98px){.video .banner .effect-one{top:30%}}@media(max-width:767.98px){.video .banner .effect-one{top:40%}}.video .banner .effect-two{position:absolute;top:-96px;right:-80px;z-index:-1}@media(max-width:991.98px){.video .banner .effect-two{top:-70px}}@media(max-width:767.98px){.video .banner .effect-two{right:-234px}}.video-iframe{position:absolute;left:50%;top:50%;z-index:1}.video-icon a{position:absolute;border:2px solid #1424ac;border-radius:50%;background:#1424ac;z-index:1;width:86px;height:86px;outline:none;transform:translate(-50%,-50%)}.video-icon svg{position:absolute;text-align:center;top:50%;left:50%;font-size:30px;transform:translate(-50%,-50%);margin-left:2px}.video-iframe::before,.video-iframe::after{content:"";background:#fff;border-radius:50%;position:absolute;transform-origin:top left;animation-name:grow;animation-duration:2s;animation-iteration-count:infinite;animation-direction:alternate;top:50%;left:0%;transform:translate(-50%,-50%)}.video-iframe::after{width:110px;height:110px;opacity:.5}.video-iframe::before{width:140px;height:140px;animation-delay:1s;opacity:.4}.faq{position:relative;padding:0 0 7.5rem;background:#1424ac0a}@media(max-width:1399.98px){.faq{padding:0 0 5rem}}@media(max-width:767.98px){.faq{padding:0 0 2rem}}.faq .section-header{padding-bottom:5rem}@media(max-width:991.98px){.faq .section-header{padding-bottom:3rem}}.faq-item{width:calc(50% - 32px);margin:0 .8rem}@media(max-width:767.98px){.faq-item{width:calc(100%);margin:0}}.faq-item .card{transition:all .3s ease-in-out;padding:3.7rem 3.1rem .8rem;background:#fff;border-radius:20px;box-shadow:none;z-index:100;margin-bottom:1.9rem}@media(max-width:991.98px){.faq-item .card{padding:3rem 2rem .8rem}}@media(max-width:767.98px){.faq-item .card{padding:2.5rem 2rem 0}}.faq-item .card:hover{background:#fff1d6;box-shadow:0 40px 60px rgba(189,189,189,.25)}.faq-item .card-title{font-size:1.6rem;line-height:32.5px;margin-bottom:1.9rem;padding-right:5rem;font-weight:600}@media(max-width:1699.98px){.faq-item .card-title{padding-right:2rem}}@media(max-width:1199.98px){.faq-item .card-title{padding-right:0}}@media(max-width:991.98px){.faq-item .card-title{font-size:1.4rem}}.faq-item .card-body{padding:0;margin-bottom:3rem}.faq-item .card-body .card-text{font-size:1.25rem;color:#4d4d4d;line-height:35px}.faq-two{padding-bottom:9.4rem;background:#1424ac0a}@media(max-width:1199.98px){.faq-two{padding-bottom:5rem}}@media(max-width:767.98px){.faq-two{padding-bottom:3rem}}.faq-two .section-header{padding-bottom:4.4rem}@media(max-width:575.98px){.faq-two .section-header{padding-bottom:3rem}}.faq-two .shows{border:1px solid #0ecccb}.contact{padding-bottom:9.4rem}@media(max-width:1199.98px){.contact{padding-bottom:5rem}}.contact-hero{background:#f7f8fa;padding:17.4rem 0 9.6rem}@media(max-width:1199.98px){.contact-hero{padding:13rem 0 5rem}}@media(max-width:991.98px){.contact-hero{padding:12rem 0 20rem;text-align:center}}@media(max-width:767.98px){.contact-hero{padding:10rem 0 68rem}}@media(max-width:575.98px){.contact-hero{padding:8.5rem 0 66rem}}.contact-hero-content{padding-left:7rem}@media(max-width:1699.98px){.contact-hero-content{padding-left:7rem}}@media(max-width:1399.98px){.contact-hero-content{padding-left:5rem}}.contact-hero-content h1{font-size:4rem;margin-bottom:1.5rem}@media(max-width:575.98px){.contact-hero-content h1{font-size:2.5rem;line-height:50px}}.contact-hero-content p{font-size:1.4rem;color:#4d4d4d;font-weight:500;line-height:36.3px;width:80%}@media(max-width:991.98px){.contact-hero-content p{width:100%}}.contact-form-Information .address{padding-top:5rem}@media(max-width:767.98px){.contact-form-Information .address{padding-top:3.1rem}}.contact-form-Information .address h3{font-size:1.6rem;font-weight:600;margin-bottom:.8rem}.contact-form-Information .address p{font-size:1.25rem;color:#4d4d4d;margin-bottom:2.6rem}@media(max-width:767.98px){.contact-form-Information .address p{margin-bottom:1.5rem}}.contact-form-Information .address .item{background:#f7f8fa;border-radius:10px;padding:.9rem 1.25rem}.contact-form-Information .address .item h3{font-size:.8rem;font-weight:300;color:#4d4d4d;margin-bottom:.3rem}.contact-form-Information .address .item a{display:flex;justify-content:space-between;font-size:1.25rem;color:#000;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Helvetica,Arial,sans-serif,Roboto,Ubuntu,apple color emoji,segoe ui emoji,segoe ui symbol;font-weight:700}.contact-form-Information .address .item a span{margin-bottom:.7rem}.contact-form{position:relative;z-index:1}.contact-form form{border:1px solid #f7f8fa;box-shadow:0 0 80px rgba(150,0,0,6%);border-radius:20px;z-index:1;margin-top:-28.2rem;padding:4.2rem 3.3rem 3.1rem;background:#fff}@media(max-width:1199.98px){.contact-form form{margin-top:-22rem}}@media(max-width:991.98px){.contact-form form{margin-top:-17rem}}@media(max-width:767.98px){.contact-form form{margin-top:-64rem;padding:2.5rem 1.25rem 1.25rem}}@media(max-width:575.98px){.contact-form form{margin-top:-63rem}}.contact-form form h3{font-size:1.9rem;margin-bottom:3rem}.contact-form form .label{margin-bottom:.8rem;font-weight:600;color:#282828}.contact-form form .form-control{padding:19px 20px;font-size:.9rem;font-weight:600;color:#000;background:#f7f8fa;border:1px solid #ddd;border-radius:10px;margin-bottom:1.9rem}.contact-form form .form-control:focus{background:#fff7e1;border:1px solid #0ecccb;outline:0;box-shadow:none}.contact-form form textarea{resize:none}.contact-form form ::placeholder{color:gray}.contact-form .effect{position:absolute;top:-10%;left:-14%;z-index:-1}.contact-form .effect img{max-width:100%}.projects-box{border:1px solid #d0d0d0;border-radius:10px;-webkit-filter:drop-shadow(0 2px 5px rgba(0,0,0,.1));filter:drop-shadow(0 2px 5px rgba(0,0,0,.1));width:100%;grid-column-gap:3%;grid-row-gap:10px;display:grid;grid-template-columns:repeat(12,1fr)}.projects-box-col1{grid-column:span 12}@media(min-width:992px){.projects-box-col1{grid-column:span 4}}.projects-box-col1 a{align-content:center;align-items:center;display:flex;height:100%;justify-content:center}.projects-box-col1 a img{max-height:225px;max-width:225px;padding:20px}.projects-box-col2{grid-column:span 12;padding:10px 20px}.projects-box-col2 h3{margin-top:0}@media(min-width:992px){.projects-box-col2{grid-column:span 8;padding:30px 20px}}.sing-up{background:#fffbf3}.sing-up-body{background:#1424ac;border-radius:1.25rem;padding:70px 80px 50px;max-width:650px;margin:0 auto}@media(max-width:1399.98px){.sing-up-body{padding:70px 100px 100px}}@media(max-width:1199.98px){.sing-up-body{padding:70px}}@media(max-width:767.98px){.sing-up-body{padding:50px 30px}}.sing-up-body h2{font-size:3.125rem;color:#fff;line-height:1.4;text-align:center;padding-bottom:30px;margin-bottom:30px;border-bottom:1px solid #e6ebf4}.sing-up-items .form-control{display:block;width:100%;padding:10px 20px;font-size:1.125rem;font-weight:500;line-height:1.6;color:#fff;background-color:rgba(255,255,255,.2);background-clip:padding-box;border:1px solid rgba(255,255,255,.4);appearance:none;border-radius:10px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.sing-up-items .form-control:focus{color:#fff;background-color:rgba(255,255,255,.2);border-color:#fff;outline:0;box-shadow:none}.sing-up-items .form-check{opacity:.8}.sing-up-items .form-check .forget-password{color:#fff}.sing-up-items .form-check-input{background-color:transparent;border-color:#fff;border-radius:4px}.sing-up-items .form-check-input:focus{box-shadow:none}.sing-up-items .create-account{font-size:1.25rem;font-weight:600;line-height:1.75;text-align:center;color:#fff;display:block;margin-top:.5rem}.sing-up-items .input-group-text{background-color:rgba(255,255,255,.2);border:1px solid #ced4da;border-left-width:0;margin-left:0!important;cursor:pointer}.sing-up-items .has-right-icon{border-right-width:0}.sing-up-items label{color:#fff;font-size:1rem;font-weight:500;line-height:1.4;margin-bottom:.75rem}.sing-up-items textarea{min-height:210px;resize:none;margin-bottom:50px}.sing-up-items ::placeholder{color:#fff;font-size:14px;font-weight:400}.sing-up-radio-button{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between}@media(max-width:1199.98px){.sing-up-radio-button{flex-wrap:wrap;align-items:center;justify-content:space-between}}@media(max-width:767.98px){.sing-up-radio-button{justify-content:flex-start}}.sing-up-radio-button-item label{margin-bottom:0}@media(max-width:1199.98px){.sing-up-radio-button-item label{margin-bottom:.75rem}}@media(max-width:767.98px){.sing-up-radio-button-item label{padding:10px 8px;margin-right:.25rem}}.sing-up .btn-check:checked[type=radio]+label{background:#fff;color:#1424ac!important}.sing-up .input-group-password{display:block}.sing-up .input-group-password .form-control{width:100%;border:1px solid rgba(255,255,255,.4);border-radius:10px!important}.sing-up .input-group-password .form-control:focus{color:#fff;background-color:rgba(255,255,255,.2);border-color:#fff;outline:0;box-shadow:none}.sing-up .input-group-password .input-group-text{display:inline-block;position:absolute;top:50%;right:0;border:0;background:0 0;z-index:11;transform:translateY(-50%);margin-right:10px;font-size:1.5rem;color:#fff;padding:0}.sing-up .divider{border-bottom:1px solid rgba(255,255,255,.4)}.counter-up .section-header{padding:2rem 0 3.1rem}.counter-up .section-header p{width:80%;margin:0 auto}@media(max-width:1399.98px){.counter-up .section-header p{width:80%}}@media(max-width:767.98px){.counter-up .section-header p{width:100%;text-align:left}}.counter-up-wrapper{align-items:center;justify-content:space-between;text-align:center;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));grid-template-rows:repeat(1,1fr)}@media(max-width:1399.98px){.counter-up-wrapper{grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}}@media(max-width:1199.98px){.counter-up-wrapper{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}}@media(max-width:991.98px){.counter-up-wrapper{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}}@media(max-width:767.98px){.counter-up-wrapper{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media(max-width:575.98px){.counter-up-wrapper{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}}.counter-up-wrapper .counter,.counter-up-wrapper .percent{color:#000;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Helvetica,Arial,sans-serif,Roboto,Ubuntu,apple color emoji,segoe ui emoji,segoe ui symbol;font-size:4rem;font-weight:700;line-height:1.31;font-variant:lining-nums}@media(max-width:1399.98px){.counter-up-wrapper .counter,.counter-up-wrapper .percent{font-size:3rem}}@media(max-width:575.98px){.counter-up-wrapper .counter,.counter-up-wrapper .percent{font-size:2.5rem}}.counter-up-content{position:relative}@media(max-width:991.98px){.counter-up-content:nth-child(2) .counter-up-content-item,.counter-up-content:nth-child(4) .counter-up-content-item{border-right:0}}.counter-up-content-item{border-top:1px solid #e6ebf4;border-right:1px solid #e6ebf4;padding:2.6rem 2rem 0}@media(max-width:1399.98px){.counter-up-content-item{padding:2rem 2rem 0}}@media(max-width:1199.98px){.counter-up-content-item{padding:2rem 1rem 1.9rem}}@media(max-width:575.98px){.counter-up-content-item{padding:2rem 0 1.9rem}}.counter-up-content-item p{color:#000;font-size:1.35rem;margin-bottom:0}@media(max-width:1399.98px){.counter-up-content-item p{font-size:1rem}}@media(max-width:575.98px){.counter-up-content-item p{padding:0 2rem}}.counter-up-two{background:#e6ebf4}.counter-up-two .counter-up-content-item{border-top:1px solid #fff;border-right:1px solid #fff}.osano-cm-window svg{vertical-align:top}.osano-cm-window p{color:#fff;font-size:.75rem;line-height:1.4;font-weight:400}.osano-cm-window .osano-cm-dialog,.osano-cm-window .osano-cm-info,.osano-cm-window .osano-cm-info-dialog-header,.osano-cm-window .osano-cm-header{background:#333;color:#fff;box-shadow:none;box-sizing:unset;line-height:1.4}.osano-cm-window .osano-cm-link,.osano-cm-window .osano-cm-toggle{color:#fff;font-weight:700;text-decoration:none}.osano-cm-window .osano-cm-link:hover,.osano-cm-window .osano-cm-link:focus,.osano-cm-window .osano-cm-link:active,.osano-cm-window .osano-cm-toggle:hover,.osano-cm-window .osano-cm-toggle:focus,.osano-cm-window .osano-cm-toggle:active{color:#e9e9e9}.osano-cm-window .osano-cm-dialog .osano-cm-toggle__label{margin-right:1.5em}.osano-cm-window div.osano-cm-drawer-item .osano-cm-toggle::after{width:8px;height:8px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #fff;left:calc(100% - 1em);position:absolute;display:block;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);margin-top:2px;content:''}.osano-cm-window .osano-cm-button{background-color:#07c;border:none;color:#fff;box-shadow:none;border-radius:5px;transition:background-color .25s ease-out,color .25s ease-out;font-weight:600;padding:12px 24px;font-size:14px;line-height:14px;margin-bottom:.5em}.osano-cm-window .osano-cm-button:hover,.osano-cm-window .osano-cm-button:focus,.osano-cm-window .osano-cm-button:active{background-color:#0065ad;color:#fefefe}.osano-cm-window .osano-cm-dialog--type_bar .osano-cm-dialog__buttons{margin-top:2rem}.osano-cm-window .osano-cm-info-dialog-header__close{background-color:#333;border:none;color:#fff;stroke:#fff}.osano-cm-window .osano-cm-powered-by__link{color:#999}.osano-cm-window .osano-cm-powered-by__link:hover,.osano-cm-window .osano-cm-powered-by__link:focus,.osano-cm-window .osano-cm-powered-by__link:active{color:#999}.osano-cm-window .osano-cm-header{font-weight:700}.osano-cm-window .osano-cm-toggle__switch{background-color:#999}.osano-cm-window .osano-cm-storage-policy::after{content:" ";background-image:url("data:image/svg+xml,%3Csvg viewBox=%220 0 28 28%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M23.662 15.286l-6.9-6.999a.994.994.0 00-1.414.0 1.016 1.016.0 000 1.428L21.544 16l-6.196 6.285a1.016 1.016.0 000 1.428.994.994.0 001.414.0l6.899-6.999a1.043 1.043.0 00.001-1.428z%22 fill=%22%23fff%22/%3E%3Cpath d=%22M16.662 15.286 9.763 8.287a.994.994.0 00-1.414.0 1.016 1.016.0 000 1.428L14.544 16l-6.196 6.285a1.016 1.016.0 000 1.428.994.994.0 001.414.0l6.899-6.999a1.043 1.043.0 00.001-1.428z%22 fill=%22%23fff%22/%3E%3C/svg%3E");background-size:1em 1em;height:.9em;width:1em;background-repeat:no-repeat;margin-left:0;display:inline-flex;white-space:nowrap;align-self:center}.osano-cm-window ul{line-height:1.4}.osano-cm-window .osano-cm-drawer-toggle .osano-cm-label{font-size:1em}.osano-cm-window .osano-cm-info-dialog-header__header{font-size:1.2em}.members-listing{padding:0}.members-listing h3{margin:2em 0}@media(max-width:575.98px){.members-listing h3{margin:2em 0 0}}.members-listing img{width:100%;padding:1em;max-width:300px} \ No newline at end of file diff --git a/preview/97/sitemap.xml b/preview/97/sitemap.xml new file mode 100644 index 000000000..af6cda382 --- /dev/null +++ b/preview/97/sitemap.xml @@ -0,0 +1 @@ +https://chipsalliance.org/preview/97/2023-11-09T00:00:00+00:00https://chipsalliance.org/preview/97/events/chips-2023-fall-event/2023-11-09T00:00:00+00:00https://chipsalliance.org/preview/97/events/2023-11-09T00:00:00+00:00https://chipsalliance.org/preview/97/events/riscv_na_2023/2023-11-07T00:00:00+00:00https://chipsalliance.org/preview/97/events/chips_ocp_2023/2023-10-17T00:00:00+00:00https://chipsalliance.org/preview/97/categories/blog/2023-09-29T00:00:00+00:00https://chipsalliance.org/preview/97/news/2023-09-29T00:00:00+00:00https://chipsalliance.org/preview/97/categories/2023-09-29T00:00:00+00:00https://chipsalliance.org/preview/97/news/verilator-model-generation-performance-improvements-and-initial-multithreaded-verilation-support/2023-09-29T00:00:00+00:00https://chipsalliance.org/preview/97/news/progress-in-open-source-systemverilog-uvm-support-in-verilator/2023-07-21T00:00:00+00:00https://chipsalliance.org/preview/97/events/chips-biannual-technology-update-2022_13_07/2023-07-13T00:00:00+00:00https://chipsalliance.org/preview/97/news/open-source-rtl-ci-testing-and-verification-for-caliptra-veer/2023-07-04T00:00:00+00:00https://chipsalliance.org/preview/97/news/integrating-language-server-protocol-in-verible/2023-04-12T00:00:00+00:00https://chipsalliance.org/preview/97/events/chips-biannual-technology-update-2022-2/2022-12-15T00:00:00+00:00https://chipsalliance.org/preview/97/categories/announcements/2022-12-13T00:00:00+00:00https://chipsalliance.org/preview/97/news/chips-alliance-welcomes-the-caliptra-open-source-root-of-trust-project/2022-12-13T00:00:00+00:00https://chipsalliance.org/preview/97/news/joint-analog-workgroup-mos-ak-panel-session/2022-12-05T00:00:00+00:00https://chipsalliance.org/preview/97/news/chips-alliance-fall-2022-technology-update-december-15/2022-12-01T00:00:00+00:00https://chipsalliance.org/preview/97/news/f4pga-open-source-flow-gets-a-new-python-based-build-system-and-cli-tool/2022-10-09T00:00:00+00:00https://chipsalliance.org/preview/97/news/skywater/2022-08-06T00:00:00+00:00https://chipsalliance.org/preview/97/news/1212/2022-08-05T00:00:00+00:00https://chipsalliance.org/preview/97/news/catch-us-at-dac-59-in-san-francisco-starting-july-11/2022-07-08T00:00:00+00:00https://chipsalliance.org/preview/97/news/enhanced-system-verilog-support-for-yosys-via-antmicro-plug-in/2022-06-30T00:00:00+00:00https://chipsalliance.org/preview/97/news/alibaba-cloud-announced-progress-in-porting-android-functions-onto-risc-v/2022-04-21T00:00:00+00:00https://chipsalliance.org/preview/97/events/chips-biannual-technology-update-2022-1/2022-04-19T00:00:00+00:00https://chipsalliance.org/preview/97/news/chips-alliance-forms-f4pga-workgroup-to-accelerate-adoption-of-open-source-fpga-tooling/2022-02-18T00:00:00+00:00https://chipsalliance.org/preview/97/news/xilinx-new-member/2022-02-03T00:00:00+00:00https://chipsalliance.org/preview/97/news/towards-uvm-using-coroutines/2022-02-01T00:00:00+00:00https://chipsalliance.org/preview/97/news/sata-design-implementation-on-fpgas-with-open-source-tools/2022-01-05T00:00:00+00:00https://chipsalliance.org/preview/97/news/open-source-fpga-platform-for-rowhammer-security-testing-in-the-data-center/2022-01-03T00:00:00+00:00https://chipsalliance.org/preview/97/news/2021-annual-report/2022-01-01T00:00:00+00:00https://chipsalliance.org/preview/97/categories/reports/2022-01-01T00:00:00+00:00https://chipsalliance.org/preview/97/news/software-driven-asic-prototyping-using-the-open-source-skywater-shuttle/2021-12-17T00:00:00+00:00https://chipsalliance.org/preview/97/news/open-source-debayerization-blocks-in-fpga/2021-11-30T00:00:00+00:00https://chipsalliance.org/preview/97/news/how-google-is-applying-machine-learning-to-macro-placement/2021-11-17T00:00:00+00:00https://chipsalliance.org/preview/97/news/improving-the-openlane-asic-build-flow-with-open-source-systemverilog-support/2021-10-27T00:00:00+00:00https://chipsalliance.org/preview/97/news/recap-of-the-fall-2021-chips-alliance-workshop-rob-mains-chips-alliance/2021-10-26T00:00:00+00:00https://chipsalliance.org/preview/97/events/fall-workshop-2021/2021-10-12T00:00:00+00:00https://chipsalliance.org/preview/97/news/open-source-ddr-controller-framework-for-mitigating-rowhammer/2021-09-28T00:00:00+00:00https://chipsalliance.org/preview/97/news/listen-to-chips-alliances-rob-mains-on-ee-journals-fishfry-podcast/2021-09-24T00:00:00+00:00https://chipsalliance.org/preview/97/news/skywater-technology-joins-chips-alliance-to-further-efforts-to-make-chip-design-and-production-more-accessible/2021-09-16T00:00:00+00:00https://chipsalliance.org/preview/97/news/symbiflow-fpga-interchange-format-to-enable-interoperable-fpga-tooling/2021-09-09T00:00:00+00:00https://chipsalliance.org/preview/97/news/automatic-systemverilog-linting-in-github-actions-with-verible/2021-09-08T00:00:00+00:00https://chipsalliance.org/preview/97/news/open-source-custom-github-actions-runners-with-google-cloud-and-terraform/2021-09-02T00:00:00+00:00https://chipsalliance.org/preview/97/news/open-source-systemverilog-tools-in-asic-design/2021-08-04T00:00:00+00:00https://chipsalliance.org/preview/97/news/renode-and-verilator-polarfire-soc-and-fastvdma/2021-07-20T00:00:00+00:00https://chipsalliance.org/preview/97/news/open-source-infrastructure-for-system-verilog/2021-07-20T00:00:00+00:00https://chipsalliance.org/preview/97/news/what-you-need-to-know-about-verilator-open-source-tooling/2021-07-19T00:00:00+00:00https://chipsalliance.org/preview/97/news/efabless-launches-chipignite/2021-05-20T00:00:00+00:00https://chipsalliance.org/preview/97/news/antmicros-arvsom-risc-v-module-announced/2021-05-14T00:00:00+00:00https://chipsalliance.org/preview/97/news/dynamic-scheduling-in-verilator/2021-05-13T00:00:00+00:00https://chipsalliance.org/preview/97/news/new-mpw-two-program/2021-04-29T00:00:00+00:00https://chipsalliance.org/preview/97/news/modular-open-source-fpga-based-lpddr4-test-platform/2021-04-09T00:00:00+00:00https://chipsalliance.org/preview/97/events/spring-workshop-2021/2021-03-30T00:00:00+00:00https://chipsalliance.org/preview/97/news/risc-v-international-omnixtend-working-group/2021-03-24T00:00:00+00:00https://chipsalliance.org/preview/97/news/github-actions-self-hosted-runners-build-event-server-and-google-cloud/2021-03-16T00:00:00+00:00https://chipsalliance.org/preview/97/news/goings-on-in-the-fusesoc-project-and-other-open-source-silicon-related-news/2021-02-23T00:00:00+00:00https://chipsalliance.org/preview/97/news/chips-alliance-welcomes-antmicro-and-verisilicon-to-the-platinum-membership-level/2021-02-11T00:00:00+00:00https://chipsalliance.org/preview/97/news/high-throughput-open-source-pcie/2021-02-11T00:00:00+00:00https://chipsalliance.org/preview/97/news/chips-alliance-brings-on-rob-mains-as-new-executive-director/2021-02-08T00:00:00+00:00https://chipsalliance.org/preview/97/news/ibex-synthesis-and-simulation/2021-01-07T00:00:00+00:00https://chipsalliance.org/preview/97/news/2020-annual-report/2021-01-01T00:00:00+00:00https://chipsalliance.org/preview/97/news/efabless-joins-chips-alliance-to-accelerate-the-growth-of-the-open-source-chip-ecosystem/2020-12-15T00:00:00+00:00https://chipsalliance.org/preview/97/news/omnixtend/2020-12-08T00:00:00+00:00https://chipsalliance.org/preview/97/news/the-chips-alliance-workshop-overview/2020-09-15T00:00:00+00:00https://chipsalliance.org/preview/97/news/chips-alliance-welcomes-mentor-as-its-newest-member/2020-08-17T00:00:00+00:00https://chipsalliance.org/preview/97/news/quicklogic-joins-chips-alliance-to-expand-open-source-fpga-efforts/2020-08-11T00:00:00+00:00https://chipsalliance.org/preview/97/news/aib-2-0-draft-specification/2020-07-16T00:00:00+00:00https://chipsalliance.org/preview/97/news/chips-swerv-cores-and-the-open-tools-ecosystem/2020-07-10T00:00:00+00:00https://chipsalliance.org/preview/97/news/open-source-process-design-kit-from-google-skywater-technologies-and-partners-released/2020-06-29T00:00:00+00:00https://chipsalliance.org/preview/97/news/semiconductor-engineering-swerv-core-eh2/2020-06-25T00:00:00+00:00https://chipsalliance.org/preview/97/news/quicklogic-announces-open-reconfigurable-computing-initiative/2020-06-22T00:00:00+00:00https://chipsalliance.org/preview/97/news/chips-alliances-incredible-growth/2020-06-08T00:00:00+00:00https://chipsalliance.org/preview/97/news/newly-enhanced-swerv-cores/2020-05-14T00:00:00+00:00https://chipsalliance.org/preview/97/news/systemverilog-linting-and-formatting-with-fusesoc-verible-integration/2020-05-07T00:00:00+00:00https://chipsalliance.org/preview/97/news/intel-joins-chips-alliance-to-promote-advanced-interface-bus-aib-as-an-open-standard/2020-01-22T00:00:00+00:00https://chipsalliance.org/preview/97/news/open-source-usb-test-suite/2019-12-06T00:00:00+00:00https://chipsalliance.org/preview/97/news/chips-alliance-announces-technical-milestones-three-new-workgroups-including-chisel-and-the-3rd-chisel-community-conference/2019-11-07T00:00:00+00:00https://chipsalliance.org/preview/97/news/chips-alliance-growth-continues-with-new-members-and-design-workshop-this-november/2019-10-15T00:00:00+00:00https://chipsalliance.org/preview/97/news/chips-alliance-featured-in-all-about-circuits/2019-07-10T00:00:00+00:00https://chipsalliance.org/preview/97/news/chips-alliance-builds-momentum-and-community-with-newest-members-imperas-software-and-metrics/2019-06-18T00:00:00+00:00https://chipsalliance.org/preview/97/news/podcast-embedded-computing-design-five-minutes-with-zvonimir-bandic-chairman-chips-alliance/2019-05-23T00:00:00+00:00https://chipsalliance.org/preview/97/news/chips-alliance-to-reveal-project-details-strategy-and-roadmap-at-inaugural-workshop-hosted-at-google/2019-05-07T00:00:00+00:00https://chipsalliance.org/preview/97/news/open-hardware-group-chips-alliance-building-momentum-and-community-with-newest-member-antmicro/2019-04-18T00:00:00+00:00https://chipsalliance.org/preview/97/news/linux-foundation-to-host-chips-alliance-project-to-propel-industry-innovation-through-open-source-cpu-chip-and-soc-design/2019-03-11T00:00:00+00:00https://chipsalliance.org/preview/97/about/https://chipsalliance.org/preview/97/workgroups/analog/https://chipsalliance.org/preview/97/workgroups/caliptra/https://chipsalliance.org/preview/97/workgroups/chisel/https://chipsalliance.org/preview/97/about/contact/https://chipsalliance.org/preview/97/workgroups/f4pga/https://chipsalliance.org/preview/97/about/faq/https://chipsalliance.org/preview/97/getting-started/https://chipsalliance.org/preview/97/about/governance/https://chipsalliance.org/preview/97/join/https://chipsalliance.org/preview/97/about/members/https://chipsalliance.org/preview/97/projects/https://chipsalliance.org/preview/97/workgroups/rocket/https://chipsalliance.org/preview/97/tags/https://chipsalliance.org/preview/97/workgroups/tools/https://chipsalliance.org/preview/97/about/who-we-are/https://chipsalliance.org/preview/97/workgroups/ \ No newline at end of file diff --git a/preview/97/static/fonts/FontAwesome.otf b/preview/97/static/fonts/FontAwesome.otf new file mode 100644 index 000000000..401ec0f36 Binary files /dev/null and b/preview/97/static/fonts/FontAwesome.otf differ diff --git a/preview/97/static/fonts/fontawesome-webfont.eot b/preview/97/static/fonts/fontawesome-webfont.eot new file mode 100644 index 000000000..e9f60ca95 Binary files /dev/null and b/preview/97/static/fonts/fontawesome-webfont.eot differ diff --git a/preview/97/static/fonts/fontawesome-webfont.svg b/preview/97/static/fonts/fontawesome-webfont.svg new file mode 100644 index 000000000..855c845e5 --- /dev/null +++ b/preview/97/static/fonts/fontawesome-webfont.svg @@ -0,0 +1,2671 @@ + + + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/preview/97/static/fonts/fontawesome-webfont.ttf b/preview/97/static/fonts/fontawesome-webfont.ttf new file mode 100644 index 000000000..35acda2fa Binary files /dev/null and b/preview/97/static/fonts/fontawesome-webfont.ttf differ diff --git a/preview/97/static/fonts/fontawesome-webfont.woff b/preview/97/static/fonts/fontawesome-webfont.woff new file mode 100644 index 000000000..400014a4b Binary files /dev/null and b/preview/97/static/fonts/fontawesome-webfont.woff differ diff --git a/preview/97/static/fonts/fontawesome-webfont.woff2 b/preview/97/static/fonts/fontawesome-webfont.woff2 new file mode 100644 index 000000000..4d13fc604 Binary files /dev/null and b/preview/97/static/fonts/fontawesome-webfont.woff2 differ diff --git a/preview/97/static/images/404/error.png b/preview/97/static/images/404/error.png new file mode 100644 index 000000000..3db088950 Binary files /dev/null and b/preview/97/static/images/404/error.png differ diff --git a/preview/97/static/images/about/arrow-down.svg b/preview/97/static/images/about/arrow-down.svg new file mode 100644 index 000000000..5753005fd --- /dev/null +++ b/preview/97/static/images/about/arrow-down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/static/images/about/patterns-two.png b/preview/97/static/images/about/patterns-two.png new file mode 100644 index 000000000..90772f04c Binary files /dev/null and b/preview/97/static/images/about/patterns-two.png differ diff --git a/preview/97/static/images/announcement-share.jpg b/preview/97/static/images/announcement-share.jpg new file mode 100644 index 000000000..18b6b35ef Binary files /dev/null and b/preview/97/static/images/announcement-share.jpg differ diff --git a/preview/97/static/images/blog-share.jpg b/preview/97/static/images/blog-share.jpg new file mode 100644 index 000000000..dd70a73c8 Binary files /dev/null and b/preview/97/static/images/blog-share.jpg differ diff --git a/preview/97/static/images/chips-alliance-share.jpg b/preview/97/static/images/chips-alliance-share.jpg new file mode 100644 index 000000000..60278c344 Binary files /dev/null and b/preview/97/static/images/chips-alliance-share.jpg differ diff --git a/preview/97/static/images/chips-logo-white.svg b/preview/97/static/images/chips-logo-white.svg new file mode 100644 index 000000000..107155c1d --- /dev/null +++ b/preview/97/static/images/chips-logo-white.svg @@ -0,0 +1,3 @@ + + + diff --git a/preview/97/static/images/chips_alliance.svg b/preview/97/static/images/chips_alliance.svg new file mode 100644 index 000000000..08b59bb8d --- /dev/null +++ b/preview/97/static/images/chips_alliance.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/static/images/contact/effects.png b/preview/97/static/images/contact/effects.png new file mode 100644 index 000000000..099a41a96 Binary files /dev/null and b/preview/97/static/images/contact/effects.png differ diff --git a/preview/97/static/images/favicon/cropped-favicon-1-180x180.png b/preview/97/static/images/favicon/cropped-favicon-1-180x180.png new file mode 100644 index 000000000..b9231946b Binary files /dev/null and b/preview/97/static/images/favicon/cropped-favicon-1-180x180.png differ diff --git a/preview/97/static/images/favicon/cropped-favicon-1-192x192.png b/preview/97/static/images/favicon/cropped-favicon-1-192x192.png new file mode 100644 index 000000000..7c40ee0ad Binary files /dev/null and b/preview/97/static/images/favicon/cropped-favicon-1-192x192.png differ diff --git a/preview/97/static/images/favicon/cropped-favicon-1-270x270.png b/preview/97/static/images/favicon/cropped-favicon-1-270x270.png new file mode 100644 index 000000000..24f2bd81d Binary files /dev/null and b/preview/97/static/images/favicon/cropped-favicon-1-270x270.png differ diff --git a/preview/97/static/images/favicon/cropped-favicon-1-32x32.png b/preview/97/static/images/favicon/cropped-favicon-1-32x32.png new file mode 100644 index 000000000..508ec1e2e Binary files /dev/null and b/preview/97/static/images/favicon/cropped-favicon-1-32x32.png differ diff --git a/preview/97/static/images/feature/48302010402_7eef97a236_o.jpg b/preview/97/static/images/feature/48302010402_7eef97a236_o.jpg new file mode 100644 index 000000000..f1f965b0b Binary files /dev/null and b/preview/97/static/images/feature/48302010402_7eef97a236_o.jpg differ diff --git a/preview/97/static/images/feature/48302010742_0a53e0557d_o.jpg b/preview/97/static/images/feature/48302010742_0a53e0557d_o.jpg new file mode 100644 index 000000000..6a7278b45 Binary files /dev/null and b/preview/97/static/images/feature/48302010742_0a53e0557d_o.jpg differ diff --git a/preview/97/static/images/feature/48302011232_72f8ed17c8_o.jpg b/preview/97/static/images/feature/48302011232_72f8ed17c8_o.jpg new file mode 100644 index 000000000..13053b2a6 Binary files /dev/null and b/preview/97/static/images/feature/48302011232_72f8ed17c8_o.jpg differ diff --git a/preview/97/static/images/feature/balloons.jpg b/preview/97/static/images/feature/balloons.jpg new file mode 100644 index 000000000..8a4121d4e Binary files /dev/null and b/preview/97/static/images/feature/balloons.jpg differ diff --git a/preview/97/static/images/feature/circuits1.jpg b/preview/97/static/images/feature/circuits1.jpg new file mode 100644 index 000000000..8e8a622c3 Binary files /dev/null and b/preview/97/static/images/feature/circuits1.jpg differ diff --git a/preview/97/static/images/feature/circuits2.jpg b/preview/97/static/images/feature/circuits2.jpg new file mode 100644 index 000000000..264555d32 Binary files /dev/null and b/preview/97/static/images/feature/circuits2.jpg differ diff --git a/preview/97/static/images/feature/effect-1.png b/preview/97/static/images/feature/effect-1.png new file mode 100644 index 000000000..56367140d Binary files /dev/null and b/preview/97/static/images/feature/effect-1.png differ diff --git a/preview/97/static/images/feature/effect-2.png b/preview/97/static/images/feature/effect-2.png new file mode 100644 index 000000000..168a3365d Binary files /dev/null and b/preview/97/static/images/feature/effect-2.png differ diff --git a/preview/97/static/images/feature/effect-3.png b/preview/97/static/images/feature/effect-3.png new file mode 100644 index 000000000..e369ed33f Binary files /dev/null and b/preview/97/static/images/feature/effect-3.png differ diff --git a/preview/97/static/images/feature/effect-4.png b/preview/97/static/images/feature/effect-4.png new file mode 100644 index 000000000..40098b41b Binary files /dev/null and b/preview/97/static/images/feature/effect-4.png differ diff --git a/preview/97/static/images/feature/effect-5.png b/preview/97/static/images/feature/effect-5.png new file mode 100644 index 000000000..9f7e701a0 Binary files /dev/null and b/preview/97/static/images/feature/effect-5.png differ diff --git a/preview/97/static/images/feature/effect-6.png b/preview/97/static/images/feature/effect-6.png new file mode 100644 index 000000000..8d382fdfa Binary files /dev/null and b/preview/97/static/images/feature/effect-6.png differ diff --git a/preview/97/static/images/feature/effect-7.png b/preview/97/static/images/feature/effect-7.png new file mode 100644 index 000000000..ed289a28c Binary files /dev/null and b/preview/97/static/images/feature/effect-7.png differ diff --git a/preview/97/static/images/feature/mailing-lists.png b/preview/97/static/images/feature/mailing-lists.png new file mode 100644 index 000000000..ec98ddc55 Binary files /dev/null and b/preview/97/static/images/feature/mailing-lists.png differ diff --git a/preview/97/static/images/feature/niek-doup-Xf071ws2Icg-unsplash.jpg b/preview/97/static/images/feature/niek-doup-Xf071ws2Icg-unsplash.jpg new file mode 100644 index 000000000..52a1712b5 Binary files /dev/null and b/preview/97/static/images/feature/niek-doup-Xf071ws2Icg-unsplash.jpg differ diff --git a/preview/97/static/images/feature/woman-talking.jpg b/preview/97/static/images/feature/woman-talking.jpg new file mode 100644 index 000000000..1bc5cf2eb Binary files /dev/null and b/preview/97/static/images/feature/woman-talking.jpg differ diff --git a/preview/97/static/images/hero/hero-one-shape.png b/preview/97/static/images/hero/hero-one-shape.png new file mode 100644 index 000000000..147e35294 Binary files /dev/null and b/preview/97/static/images/hero/hero-one-shape.png differ diff --git a/preview/97/static/images/hero/hero-three-shape.png b/preview/97/static/images/hero/hero-three-shape.png new file mode 100644 index 000000000..968aed836 Binary files /dev/null and b/preview/97/static/images/hero/hero-three-shape.png differ diff --git a/preview/97/static/images/hero/home-hero.jpg b/preview/97/static/images/hero/home-hero.jpg new file mode 100644 index 000000000..0dc32257f Binary files /dev/null and b/preview/97/static/images/hero/home-hero.jpg differ diff --git a/preview/97/static/images/lf-projects-banner-white.svg b/preview/97/static/images/lf-projects-banner-white.svg new file mode 100644 index 000000000..856812ad9 --- /dev/null +++ b/preview/97/static/images/lf-projects-banner-white.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/static/images/members/ETRI.png b/preview/97/static/images/members/ETRI.png new file mode 100644 index 000000000..4cdfcc05d Binary files /dev/null and b/preview/97/static/images/members/ETRI.png differ diff --git a/preview/97/static/images/members/alibaba.png b/preview/97/static/images/members/alibaba.png new file mode 100644 index 000000000..2ed7d381b Binary files /dev/null and b/preview/97/static/images/members/alibaba.png differ diff --git a/preview/97/static/images/members/amd.svg b/preview/97/static/images/members/amd.svg new file mode 100644 index 000000000..8de1fd7d7 --- /dev/null +++ b/preview/97/static/images/members/amd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/static/images/members/american-megatrendsinternational-llc.svg b/preview/97/static/images/members/american-megatrendsinternational-llc.svg new file mode 100644 index 000000000..22688336e --- /dev/null +++ b/preview/97/static/images/members/american-megatrendsinternational-llc.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/preview/97/static/images/members/antmicro.png b/preview/97/static/images/members/antmicro.png new file mode 100644 index 000000000..9fac26210 Binary files /dev/null and b/preview/97/static/images/members/antmicro.png differ diff --git a/preview/97/static/images/members/arizona-state-u.svg b/preview/97/static/images/members/arizona-state-u.svg new file mode 100644 index 000000000..8c594483f --- /dev/null +++ b/preview/97/static/images/members/arizona-state-u.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/static/images/members/axiado.svg b/preview/97/static/images/members/axiado.svg new file mode 100644 index 000000000..d3ecec088 --- /dev/null +++ b/preview/97/static/images/members/axiado.svg @@ -0,0 +1 @@ +Axiado logo \ No newline at end of file diff --git a/preview/97/static/images/members/byu.svg b/preview/97/static/images/members/byu.svg new file mode 100644 index 000000000..4479d363b --- /dev/null +++ b/preview/97/static/images/members/byu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/static/images/members/codasip.png b/preview/97/static/images/members/codasip.png new file mode 100644 index 000000000..ee5cb5a06 Binary files /dev/null and b/preview/97/static/images/members/codasip.png differ diff --git a/preview/97/static/images/members/efabless.png b/preview/97/static/images/members/efabless.png new file mode 100644 index 000000000..46942aac6 Binary files /dev/null and b/preview/97/static/images/members/efabless.png differ diff --git a/preview/97/static/images/members/esperanto-tech.png b/preview/97/static/images/members/esperanto-tech.png new file mode 100644 index 000000000..83761dcdf Binary files /dev/null and b/preview/97/static/images/members/esperanto-tech.png differ diff --git a/preview/97/static/images/members/futurewei-tech.png b/preview/97/static/images/members/futurewei-tech.png new file mode 100644 index 000000000..da7becb69 Binary files /dev/null and b/preview/97/static/images/members/futurewei-tech.png differ diff --git a/preview/97/static/images/members/google.png b/preview/97/static/images/members/google.png new file mode 100644 index 000000000..baf5c87cd Binary files /dev/null and b/preview/97/static/images/members/google.png differ diff --git a/preview/97/static/images/members/hochschule.png b/preview/97/static/images/members/hochschule.png new file mode 100644 index 000000000..d074c2291 Binary files /dev/null and b/preview/97/static/images/members/hochschule.png differ diff --git a/preview/97/static/images/members/iit.png b/preview/97/static/images/members/iit.png new file mode 100644 index 000000000..79c833846 Binary files /dev/null and b/preview/97/static/images/members/iit.png differ diff --git a/preview/97/static/images/members/imperas.png b/preview/97/static/images/members/imperas.png new file mode 100644 index 000000000..7c33d744e Binary files /dev/null and b/preview/97/static/images/members/imperas.png differ diff --git a/preview/97/static/images/members/infineon.png b/preview/97/static/images/members/infineon.png new file mode 100644 index 000000000..c511d33a4 Binary files /dev/null and b/preview/97/static/images/members/infineon.png differ diff --git a/preview/97/static/images/members/intel.png b/preview/97/static/images/members/intel.png new file mode 100644 index 000000000..09f28a768 Binary files /dev/null and b/preview/97/static/images/members/intel.png differ diff --git a/preview/97/static/images/members/iscas.png b/preview/97/static/images/members/iscas.png new file mode 100644 index 000000000..a600cc41d Binary files /dev/null and b/preview/97/static/images/members/iscas.png differ diff --git a/preview/97/static/images/members/marvell-semiconductors-ltd.svg b/preview/97/static/images/members/marvell-semiconductors-ltd.svg new file mode 100644 index 000000000..e7a08f73d --- /dev/null +++ b/preview/97/static/images/members/marvell-semiconductors-ltd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/static/images/members/marvell.svg b/preview/97/static/images/members/marvell.svg new file mode 100644 index 000000000..e7da1cfce --- /dev/null +++ b/preview/97/static/images/members/marvell.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/static/images/members/meta.svg b/preview/97/static/images/members/meta.svg new file mode 100644 index 000000000..22806c9f7 --- /dev/null +++ b/preview/97/static/images/members/meta.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/static/images/members/microsoft.svg b/preview/97/static/images/members/microsoft.svg new file mode 100644 index 000000000..8fc313a8f --- /dev/null +++ b/preview/97/static/images/members/microsoft.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/static/images/members/nvidia.jpg b/preview/97/static/images/members/nvidia.jpg new file mode 100644 index 000000000..dedc1172a Binary files /dev/null and b/preview/97/static/images/members/nvidia.jpg differ diff --git a/preview/97/static/images/members/openroad.png b/preview/97/static/images/members/openroad.png new file mode 100644 index 000000000..59e162efb Binary files /dev/null and b/preview/97/static/images/members/openroad.png differ diff --git a/preview/97/static/images/members/precision-innovations.png b/preview/97/static/images/members/precision-innovations.png new file mode 100644 index 000000000..c2e302d93 Binary files /dev/null and b/preview/97/static/images/members/precision-innovations.png differ diff --git a/preview/97/static/images/members/proteantecs.svg b/preview/97/static/images/members/proteantecs.svg new file mode 100644 index 000000000..af3b94db6 --- /dev/null +++ b/preview/97/static/images/members/proteantecs.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/static/images/members/qamcom.png b/preview/97/static/images/members/qamcom.png new file mode 100644 index 000000000..f44b3cfad Binary files /dev/null and b/preview/97/static/images/members/qamcom.png differ diff --git a/preview/97/static/images/members/quicklogic.png b/preview/97/static/images/members/quicklogic.png new file mode 100644 index 000000000..6a4d25cae Binary files /dev/null and b/preview/97/static/images/members/quicklogic.png differ diff --git a/preview/97/static/images/members/rapidsilicon.svg b/preview/97/static/images/members/rapidsilicon.svg new file mode 100644 index 000000000..2b5d4d192 --- /dev/null +++ b/preview/97/static/images/members/rapidsilicon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/static/images/members/rios.png b/preview/97/static/images/members/rios.png new file mode 100644 index 000000000..d655f420f Binary files /dev/null and b/preview/97/static/images/members/rios.png differ diff --git a/preview/97/static/images/members/risc-v.svg b/preview/97/static/images/members/risc-v.svg new file mode 100644 index 000000000..1ed99ff7e --- /dev/null +++ b/preview/97/static/images/members/risc-v.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/static/images/members/siemens.png b/preview/97/static/images/members/siemens.png new file mode 100644 index 000000000..d435f9a50 Binary files /dev/null and b/preview/97/static/images/members/siemens.png differ diff --git a/preview/97/static/images/members/sifive.png b/preview/97/static/images/members/sifive.png new file mode 100644 index 000000000..6c9fccbd2 Binary files /dev/null and b/preview/97/static/images/members/sifive.png differ diff --git a/preview/97/static/images/members/skywater-technology.svg b/preview/97/static/images/members/skywater-technology.svg new file mode 100644 index 000000000..96e765928 --- /dev/null +++ b/preview/97/static/images/members/skywater-technology.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/static/images/members/stanford-eng.png b/preview/97/static/images/members/stanford-eng.png new file mode 100644 index 000000000..f3e549fa0 Binary files /dev/null and b/preview/97/static/images/members/stanford-eng.png differ diff --git a/preview/97/static/images/members/uc-san-diego.png b/preview/97/static/images/members/uc-san-diego.png new file mode 100644 index 000000000..28a17c6a0 Binary files /dev/null and b/preview/97/static/images/members/uc-san-diego.png differ diff --git a/preview/97/static/images/members/uc-santa-cruz.png b/preview/97/static/images/members/uc-santa-cruz.png new file mode 100644 index 000000000..fabf53234 Binary files /dev/null and b/preview/97/static/images/members/uc-santa-cruz.png differ diff --git a/preview/97/static/images/members/ucberkeley.svg b/preview/97/static/images/members/ucberkeley.svg new file mode 100644 index 000000000..3eca76d80 --- /dev/null +++ b/preview/97/static/images/members/ucberkeley.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/static/images/members/uit-merl.png b/preview/97/static/images/members/uit-merl.png new file mode 100644 index 000000000..c92555723 Binary files /dev/null and b/preview/97/static/images/members/uit-merl.png differ diff --git a/preview/97/static/images/members/unb.png b/preview/97/static/images/members/unb.png new file mode 100644 index 000000000..4a8f6cc04 Binary files /dev/null and b/preview/97/static/images/members/unb.png differ diff --git a/preview/97/static/images/members/universidad-nebrija.png b/preview/97/static/images/members/universidad-nebrija.png new file mode 100644 index 000000000..d206a1b27 Binary files /dev/null and b/preview/97/static/images/members/universidad-nebrija.png differ diff --git a/preview/97/static/images/members/university-kragujevac.png b/preview/97/static/images/members/university-kragujevac.png new file mode 100644 index 000000000..8a9089b21 Binary files /dev/null and b/preview/97/static/images/members/university-kragujevac.png differ diff --git a/preview/97/static/images/members/university-of-hawaii-system.svg b/preview/97/static/images/members/university-of-hawaii-system.svg new file mode 100644 index 000000000..3a3728ffd --- /dev/null +++ b/preview/97/static/images/members/university-of-hawaii-system.svg @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + diff --git a/preview/97/static/images/members/university-of-manchester.png b/preview/97/static/images/members/university-of-manchester.png new file mode 100644 index 000000000..e2b01bf07 Binary files /dev/null and b/preview/97/static/images/members/university-of-manchester.png differ diff --git a/preview/97/static/images/members/university-of-michigan.png b/preview/97/static/images/members/university-of-michigan.png new file mode 100644 index 000000000..3c13367e2 Binary files /dev/null and b/preview/97/static/images/members/university-of-michigan.png differ diff --git a/preview/97/static/images/members/university-of-minnesota.png b/preview/97/static/images/members/university-of-minnesota.png new file mode 100644 index 000000000..1790ad278 Binary files /dev/null and b/preview/97/static/images/members/university-of-minnesota.png differ diff --git a/preview/97/static/images/members/university-of-toronto.png b/preview/97/static/images/members/university-of-toronto.png new file mode 100644 index 000000000..43663963b Binary files /dev/null and b/preview/97/static/images/members/university-of-toronto.png differ diff --git a/preview/97/static/images/members/verisilicon.png b/preview/97/static/images/members/verisilicon.png new file mode 100644 index 000000000..0bfeda233 Binary files /dev/null and b/preview/97/static/images/members/verisilicon.png differ diff --git a/preview/97/static/images/members/western-digital.png b/preview/97/static/images/members/western-digital.png new file mode 100644 index 000000000..ec73744b2 Binary files /dev/null and b/preview/97/static/images/members/western-digital.png differ diff --git a/preview/97/static/images/members/western-digital.svg b/preview/97/static/images/members/western-digital.svg new file mode 100644 index 000000000..3bf9dfe7b --- /dev/null +++ b/preview/97/static/images/members/western-digital.svg @@ -0,0 +1,34 @@ + + + diff --git a/preview/97/static/images/members/xilinx-inc.svg b/preview/97/static/images/members/xilinx-inc.svg new file mode 100644 index 000000000..378648b35 --- /dev/null +++ b/preview/97/static/images/members/xilinx-inc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/static/images/members/yale-university.png b/preview/97/static/images/members/yale-university.png new file mode 100644 index 000000000..ada4e4279 Binary files /dev/null and b/preview/97/static/images/members/yale-university.png differ diff --git a/preview/97/static/images/members/zero-asic.svg b/preview/97/static/images/members/zero-asic.svg new file mode 100644 index 000000000..f7c5a18a6 --- /dev/null +++ b/preview/97/static/images/members/zero-asic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/static/images/muted-logo.svg b/preview/97/static/images/muted-logo.svg new file mode 100644 index 000000000..b78a58511 --- /dev/null +++ b/preview/97/static/images/muted-logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/preview/97/static/images/team/borivoje-nikolic.jpg b/preview/97/static/images/team/borivoje-nikolic.jpg new file mode 100644 index 000000000..48940b61c Binary files /dev/null and b/preview/97/static/images/team/borivoje-nikolic.jpg differ diff --git a/preview/97/static/images/team/christoph-sandner.jpg b/preview/97/static/images/team/christoph-sandner.jpg new file mode 100644 index 000000000..e7c19a153 Binary files /dev/null and b/preview/97/static/images/team/christoph-sandner.jpg differ diff --git a/preview/97/static/images/team/danny-hua.jpg b/preview/97/static/images/team/danny-hua.jpg new file mode 100644 index 000000000..006ef0878 Binary files /dev/null and b/preview/97/static/images/team/danny-hua.jpg differ diff --git a/preview/97/static/images/team/dave-ditzel.jpg b/preview/97/static/images/team/dave-ditzel.jpg new file mode 100644 index 000000000..4182aa03c Binary files /dev/null and b/preview/97/static/images/team/dave-ditzel.jpg differ diff --git a/preview/97/static/images/team/dave-kehlet.jpg b/preview/97/static/images/team/dave-kehlet.jpg new file mode 100644 index 000000000..a17b3f157 Binary files /dev/null and b/preview/97/static/images/team/dave-kehlet.jpg differ diff --git a/preview/97/static/images/team/generic-avatar.jpg b/preview/97/static/images/team/generic-avatar.jpg new file mode 100644 index 000000000..9bdf61ea7 Binary files /dev/null and b/preview/97/static/images/team/generic-avatar.jpg differ diff --git a/preview/97/static/images/team/lide-duan.jpg b/preview/97/static/images/team/lide-duan.jpg new file mode 100644 index 000000000..74292fba3 Binary files /dev/null and b/preview/97/static/images/team/lide-duan.jpg differ diff --git a/preview/97/static/images/team/matt-cockrell.jpg b/preview/97/static/images/team/matt-cockrell.jpg new file mode 100644 index 000000000..68cade144 Binary files /dev/null and b/preview/97/static/images/team/matt-cockrell.jpg differ diff --git a/preview/97/static/images/team/michael-gielda.jpg b/preview/97/static/images/team/michael-gielda.jpg new file mode 100644 index 000000000..41d8e1a9d Binary files /dev/null and b/preview/97/static/images/team/michael-gielda.jpg differ diff --git a/preview/97/static/images/team/peter-gielda.jpg b/preview/97/static/images/team/peter-gielda.jpg new file mode 100644 index 000000000..93c0587d8 Binary files /dev/null and b/preview/97/static/images/team/peter-gielda.jpg differ diff --git a/preview/97/static/images/team/prabhu-jayanna.jpg b/preview/97/static/images/team/prabhu-jayanna.jpg new file mode 100644 index 000000000..232c67423 Binary files /dev/null and b/preview/97/static/images/team/prabhu-jayanna.jpg differ diff --git a/preview/97/static/images/team/rob-mains.jpg b/preview/97/static/images/team/rob-mains.jpg new file mode 100644 index 000000000..7a3a755a8 Binary files /dev/null and b/preview/97/static/images/team/rob-mains.jpg differ diff --git a/preview/97/static/images/team/stefano-righi.jpg b/preview/97/static/images/team/stefano-righi.jpg new file mode 100644 index 000000000..15321f098 Binary files /dev/null and b/preview/97/static/images/team/stefano-righi.jpg differ diff --git a/preview/97/static/images/team/tony-mcdowell.jpg b/preview/97/static/images/team/tony-mcdowell.jpg new file mode 100644 index 000000000..9bdf61ea7 Binary files /dev/null and b/preview/97/static/images/team/tony-mcdowell.jpg differ diff --git a/preview/97/static/images/team/wei-wu.jpg b/preview/97/static/images/team/wei-wu.jpg new file mode 100644 index 000000000..06692a824 Binary files /dev/null and b/preview/97/static/images/team/wei-wu.jpg differ diff --git a/preview/97/static/images/team/yunsup-lee.jpg b/preview/97/static/images/team/yunsup-lee.jpg new file mode 100644 index 000000000..4b0da5ed5 Binary files /dev/null and b/preview/97/static/images/team/yunsup-lee.jpg differ diff --git a/preview/97/static/images/video/effect-one.png b/preview/97/static/images/video/effect-one.png new file mode 100644 index 000000000..b3d7f3a8b Binary files /dev/null and b/preview/97/static/images/video/effect-one.png differ diff --git a/preview/97/static/images/video/effect-two.png b/preview/97/static/images/video/effect-two.png new file mode 100644 index 000000000..399469988 Binary files /dev/null and b/preview/97/static/images/video/effect-two.png differ diff --git a/preview/97/static/images/video/effect.png b/preview/97/static/images/video/effect.png new file mode 100644 index 000000000..4b6894509 Binary files /dev/null and b/preview/97/static/images/video/effect.png differ diff --git a/preview/97/static/images/video/video-thum.jpg b/preview/97/static/images/video/video-thum.jpg new file mode 100644 index 000000000..e0d31684b Binary files /dev/null and b/preview/97/static/images/video/video-thum.jpg differ diff --git a/preview/97/static/js/script.js b/preview/97/static/js/script.js new file mode 100644 index 000000000..af6ce5199 --- /dev/null +++ b/preview/97/static/js/script.js @@ -0,0 +1,106 @@ +$(document).ready(function () { + 'use strict'; + + $(window).on('scroll', function () { + var windscroll = $(window).scrollTop(); + if (windscroll >= 70) { + $('#mainnavigationBar').addClass('sticky-nav'); + } else { + $('#mainnavigationBar').removeClass('sticky-nav'); + } + }); + $('.navbar-toggler').on('click', function () { + var navbar = $('#mainnavigationBar'); + navbar.toggleClass('bg-nav'); + }); + + + // Magnific Popup + $('.popup-vimeo').magnificPopup({ + disableOn: 700, + type: 'iframe', + mainClass: 'mfp-fade', + removalDelay: 160, + preloader: false, + fixedContentPos: false, + }); + + const counterUp = window.counterUp.default + +const callback = entries => { + entries.forEach( entry => { + const el = entry.target + if ( entry.isIntersecting && ! el.classList.contains( 'is-visible' ) ) { + counterUp( el, { + duration: 1000, + delay: 16, + } ) + el.classList.add( 'is-visible' ) + } + } ) +} + +const IO = new IntersectionObserver( callback, { threshold: 1 } ) + +const els = document.querySelectorAll( '.counter' ) +els.forEach(el => { + IO.observe( el ) +}) + + + + //Show password + $('.viewPassword').click(function () { + $(this).toggleClass('fa-eye fa-eye-slash'); + var input = $($(this).attr('toggle')); + if (input.attr('type') == 'password') { + input.attr('type', 'text'); + } else { + input.attr('type', 'password'); + } + }); + // Scroll spy style start + $('.nav-link').click(function () { + $('.nav-link').removeClass('active'); + $(this).addClass('active'); + }); + // Scroll spy + $(document).ready(function () { + $('body').scrollspy({ + target: '#scrol-nav', + offset: 20, + }); + + // Navbar fade + changeNavbar(); + + $(window).scroll(function () { + changeNavbar(); + }); + + function changeNavbar() { + var navbar = $('#scrol-nav'); + if ($(this).scrollTop() >= 20) { + navbar.addClass('bg-light').removeClass('bg-transparent'); + } else if ($(this).scrollTop() < 20) { + navbar.removeClass('bg-light').addClass('bg-transparent'); + } + } + }); + //end Scroll spy style + + // Add active class to the current accordionExample + var header = document.getElementById('accordionExample'); + var btns = header && header.getElementsByClassName('accordion-item'); + if (btns) { + for (var i = 0; i < btns.length; i++) { + btns[i].addEventListener('click', function () { + var current = document.getElementsByClassName('shows'); + if (current.length > 0) { + current[0].className = current[0].className.replace(' shows', ''); + } + this.className += ' shows'; + }); + } + } +}); diff --git a/preview/97/static/vendor/bootstrap/bootstrap.bundle.min.js b/preview/97/static/vendor/bootstrap/bootstrap.bundle.min.js new file mode 100644 index 000000000..da8d852f4 --- /dev/null +++ b/preview/97/static/vendor/bootstrap/bootstrap.bundle.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v5.3.0-alpha1 (https://getbootstrap.com/) + * Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,(function(){"use strict";const t="transitionend",e=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,((t,e)=>`#${CSS.escape(e)}`))),t),i=e=>{e.dispatchEvent(new Event(t))},n=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),s=t=>n(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(e(t)):null,o=t=>{if(!n(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},r=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),a=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?a(t.parentNode):null},l=()=>{},c=t=>{t.offsetHeight},h=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,d=[],u=()=>"rtl"===document.documentElement.dir,f=t=>{var e;e=()=>{const e=h();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(d.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of d)t()})),d.push(e)):e()},p=(t,e=[],i=t)=>"function"==typeof t?t(...e):i,m=(e,n,s=!0)=>{if(!s)return void p(e);const o=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(n)+5;let r=!1;const a=({target:i})=>{i===n&&(r=!0,n.removeEventListener(t,a),p(e))};n.addEventListener(t,a),setTimeout((()=>{r||i(n)}),o)},g=(t,e,i,n)=>{const s=t.length;let o=t.indexOf(e);return-1===o?!i&&n?t[s-1]:t[0]:(o+=i?1:-1,n&&(o=(o+s)%s),t[Math.max(0,Math.min(o,s-1))])},_=/[^.]*(?=\..*)\.|.*/,b=/\..*/,v=/::\d+$/,y={};let w=1;const A={mouseenter:"mouseover",mouseleave:"mouseout"},E=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function T(t,e){return e&&`${e}::${w++}`||t.uidEvent||w++}function C(t){const e=T(t);return t.uidEvent=e,y[e]=y[e]||{},y[e]}function O(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function x(t,e,i){const n="string"==typeof e,s=n?i:e||i;let o=D(t);return E.has(o)||(o=t),[n,s,o]}function k(t,e,i,n,s){if("string"!=typeof e||!t)return;let[o,r,a]=x(e,i,n);if(e in A){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=C(t),c=l[a]||(l[a]={}),h=O(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=T(r,e.replace(_,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return N(s,{delegateTarget:r}),n.oneOff&&I.off(t,s.type,e,i),i.apply(r,[s])}}(t,i,r):function(t,e){return function i(n){return N(n,{delegateTarget:t}),i.oneOff&&I.off(t,n.type,e),e.apply(t,[n])}}(t,r);u.delegationSelector=o?i:null,u.callable=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function L(t,e,i,n,s){const o=O(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function S(t,e,i,n){const s=e[i]||{};for(const[o,r]of Object.entries(s))o.includes(n)&&L(t,e,i,r.callable,r.delegationSelector)}function D(t){return t=t.replace(b,""),A[t]||t}const I={on(t,e,i,n){k(t,e,i,n,!1)},one(t,e,i,n){k(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=x(e,i,n),a=r!==e,l=C(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))S(t,l,i,e.slice(1));for(const[i,n]of Object.entries(c)){const s=i.replace(v,"");a&&!e.includes(s)||L(t,l,r,n.callable,n.delegationSelector)}}else{if(!Object.keys(c).length)return;L(t,l,r,o,s?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=h();let s=null,o=!0,r=!0,a=!1;e!==D(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());let l=new Event(e,{bubbles:o,cancelable:!0});return l=N(l,i),a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function N(t,e={}){for(const[i,n]of Object.entries(e))try{t[i]=n}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>n})}return t}const P=new Map,j={set(t,e,i){P.has(t)||P.set(t,new Map);const n=P.get(t);n.has(e)||0===n.size?n.set(e,i):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(t,e)=>P.has(t)&&P.get(t).get(e)||null,remove(t,e){if(!P.has(t))return;const i=P.get(t);i.delete(e),0===i.size&&P.delete(t)}};function M(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function F(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const H={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${F(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${F(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const n of i){let i=n.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=M(t.dataset[n])}return e},getDataAttribute:(t,e)=>M(t.getAttribute(`data-bs-${F(e)}`))};class ${static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=n(e)?H.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...n(e)?H.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[s,o]of Object.entries(e)){const e=t[s],r=n(e)?"element":null==(i=e)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(o).test(r))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${s}" provided type "${r}" but expected type "${o}".`)}var i}}class W extends ${constructor(t,e){super(),(t=s(t))&&(this._element=t,this._config=this._getConfig(e),j.set(this._element,this.constructor.DATA_KEY,this))}dispose(){j.remove(this._element,this.constructor.DATA_KEY),I.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){m(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return j.get(s(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.3.0-alpha1"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const B=t=>{let i=t.getAttribute("data-bs-target");if(!i||"#"===i){let e=t.getAttribute("href");if(!e||!e.includes("#")&&!e.startsWith("."))return null;e.includes("#")&&!e.startsWith("#")&&(e=`#${e.split("#")[1]}`),i=e&&"#"!==e?e.trim():null}return e(i)},z={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let n=t.parentNode.closest(e);for(;n;)i.push(n),n=n.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!r(t)&&o(t)))},getSelectorFromElement(t){const e=B(t);return e&&z.findOne(e)?e:null},getElementFromSelector(t){const e=B(t);return e?z.findOne(e):null},getMultipleElementsFromSelector(t){const e=B(t);return e?z.find(e):[]}},R=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,n=t.NAME;I.on(document,i,`[data-bs-dismiss="${n}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),r(this))return;const s=z.getElementFromSelector(this)||this.closest(`.${n}`);t.getOrCreateInstance(s)[e]()}))};class q extends W{static get NAME(){return"alert"}close(){if(I.trigger(this._element,"close.bs.alert").defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),I.trigger(this._element,"closed.bs.alert"),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=q.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}R(q,"close"),f(q);const V='[data-bs-toggle="button"]';class K extends W{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=K.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}I.on(document,"click.bs.button.data-api",V,(t=>{t.preventDefault();const e=t.target.closest(V);K.getOrCreateInstance(e).toggle()})),f(K);const Q={endCallback:null,leftCallback:null,rightCallback:null},X={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class Y extends ${constructor(t,e){super(),this._element=t,t&&Y.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return Q}static get DefaultType(){return X}static get NAME(){return"swipe"}dispose(){I.off(this._element,".bs.swipe")}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),p(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&p(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(I.on(this._element,"pointerdown.bs.swipe",(t=>this._start(t))),I.on(this._element,"pointerup.bs.swipe",(t=>this._end(t))),this._element.classList.add("pointer-event")):(I.on(this._element,"touchstart.bs.swipe",(t=>this._start(t))),I.on(this._element,"touchmove.bs.swipe",(t=>this._move(t))),I.on(this._element,"touchend.bs.swipe",(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const U="next",G="prev",J="left",Z="right",tt="slid.bs.carousel",et="carousel",it="active",nt={ArrowLeft:Z,ArrowRight:J},st={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},ot={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class rt extends W{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=z.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===et&&this.cycle()}static get Default(){return st}static get DefaultType(){return ot}static get NAME(){return"carousel"}next(){this._slide(U)}nextWhenVisible(){!document.hidden&&o(this._element)&&this.next()}prev(){this._slide(G)}pause(){this._isSliding&&i(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?I.one(this._element,tt,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void I.one(this._element,tt,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?U:G;this._slide(n,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&I.on(this._element,"keydown.bs.carousel",(t=>this._keydown(t))),"hover"===this._config.pause&&(I.on(this._element,"mouseenter.bs.carousel",(()=>this.pause())),I.on(this._element,"mouseleave.bs.carousel",(()=>this._maybeEnableCycle()))),this._config.touch&&Y.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of z.find(".carousel-item img",this._element))I.on(t,"dragstart.bs.carousel",(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(J)),rightCallback:()=>this._slide(this._directionToOrder(Z)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new Y(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=nt[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=z.findOne(".active",this._indicatorsElement);e.classList.remove(it),e.removeAttribute("aria-current");const i=z.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(it),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),n=t===U,s=e||g(this._getItems(),i,n,this._config.wrap);if(s===i)return;const o=this._getItemIndex(s),r=e=>I.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r("slide.bs.carousel").defaultPrevented)return;if(!i||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const l=n?"carousel-item-start":"carousel-item-end",h=n?"carousel-item-next":"carousel-item-prev";s.classList.add(h),c(s),i.classList.add(l),s.classList.add(l),this._queueCallback((()=>{s.classList.remove(l,h),s.classList.add(it),i.classList.remove(it,h,l),this._isSliding=!1,r(tt)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return z.findOne(".active.carousel-item",this._element)}_getItems(){return z.find(".carousel-item",this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return u()?t===J?G:U:t===J?U:G}_orderToDirection(t){return u()?t===G?J:Z:t===G?Z:J}static jQueryInterface(t){return this.each((function(){const e=rt.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)}))}}I.on(document,"click.bs.carousel.data-api","[data-bs-slide], [data-bs-slide-to]",(function(t){const e=z.getElementFromSelector(this);if(!e||!e.classList.contains(et))return;t.preventDefault();const i=rt.getOrCreateInstance(e),n=this.getAttribute("data-bs-slide-to");return n?(i.to(n),void i._maybeEnableCycle()):"next"===H.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),I.on(window,"load.bs.carousel.data-api",(()=>{const t=z.find('[data-bs-ride="carousel"]');for(const e of t)rt.getOrCreateInstance(e)})),f(rt);const at="show",lt="collapse",ct="collapsing",ht='[data-bs-toggle="collapse"]',dt={parent:null,toggle:!0},ut={parent:"(null|element)",toggle:"boolean"};class ft extends W{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=z.find(ht);for(const t of i){const e=z.getSelectorFromElement(t),i=z.find(e).filter((t=>t===this._element));null!==e&&i.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return dt}static get DefaultType(){return ut}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t=>t!==this._element)).map((t=>ft.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(I.trigger(this._element,"show.bs.collapse").defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(lt),this._element.classList.add(ct),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(ct),this._element.classList.add(lt,at),this._element.style[e]="",I.trigger(this._element,"shown.bs.collapse")}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(I.trigger(this._element,"hide.bs.collapse").defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,c(this._element),this._element.classList.add(ct),this._element.classList.remove(lt,at);for(const t of this._triggerArray){const e=z.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(ct),this._element.classList.add(lt),I.trigger(this._element,"hidden.bs.collapse")}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(at)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=s(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(ht);for(const e of t){const t=z.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=z.find(":scope .collapse .collapse",this._config.parent);return z.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=ft.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}I.on(document,"click.bs.collapse.data-api",ht,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of z.getMultipleElementsFromSelector(this))ft.getOrCreateInstance(t,{toggle:!1}).toggle()})),f(ft);var pt="top",mt="bottom",gt="right",_t="left",bt="auto",vt=[pt,mt,gt,_t],yt="start",wt="end",At="clippingParents",Et="viewport",Tt="popper",Ct="reference",Ot=vt.reduce((function(t,e){return t.concat([e+"-"+yt,e+"-"+wt])}),[]),xt=[].concat(vt,[bt]).reduce((function(t,e){return t.concat([e,e+"-"+yt,e+"-"+wt])}),[]),kt="beforeRead",Lt="read",St="afterRead",Dt="beforeMain",It="main",Nt="afterMain",Pt="beforeWrite",jt="write",Mt="afterWrite",Ft=[kt,Lt,St,Dt,It,Nt,Pt,jt,Mt];function Ht(t){return t?(t.nodeName||"").toLowerCase():null}function $t(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function Wt(t){return t instanceof $t(t).Element||t instanceof Element}function Bt(t){return t instanceof $t(t).HTMLElement||t instanceof HTMLElement}function zt(t){return"undefined"!=typeof ShadowRoot&&(t instanceof $t(t).ShadowRoot||t instanceof ShadowRoot)}const Rt={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];Bt(s)&&Ht(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});Bt(n)&&Ht(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function qt(t){return t.split("-")[0]}var Vt=Math.max,Kt=Math.min,Qt=Math.round;function Xt(){var t=navigator.userAgentData;return null!=t&&t.brands?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function Yt(){return!/^((?!chrome|android).)*safari/i.test(Xt())}function Ut(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&Bt(t)&&(s=t.offsetWidth>0&&Qt(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&Qt(n.height)/t.offsetHeight||1);var r=(Wt(t)?$t(t):window).visualViewport,a=!Yt()&&i,l=(n.left+(a&&r?r.offsetLeft:0))/s,c=(n.top+(a&&r?r.offsetTop:0))/o,h=n.width/s,d=n.height/o;return{width:h,height:d,top:c,right:l+h,bottom:c+d,left:l,x:l,y:c}}function Gt(t){var e=Ut(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function Jt(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&zt(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Zt(t){return $t(t).getComputedStyle(t)}function te(t){return["table","td","th"].indexOf(Ht(t))>=0}function ee(t){return((Wt(t)?t.ownerDocument:t.document)||window.document).documentElement}function ie(t){return"html"===Ht(t)?t:t.assignedSlot||t.parentNode||(zt(t)?t.host:null)||ee(t)}function ne(t){return Bt(t)&&"fixed"!==Zt(t).position?t.offsetParent:null}function se(t){for(var e=$t(t),i=ne(t);i&&te(i)&&"static"===Zt(i).position;)i=ne(i);return i&&("html"===Ht(i)||"body"===Ht(i)&&"static"===Zt(i).position)?e:i||function(t){var e=/firefox/i.test(Xt());if(/Trident/i.test(Xt())&&Bt(t)&&"fixed"===Zt(t).position)return null;var i=ie(t);for(zt(i)&&(i=i.host);Bt(i)&&["html","body"].indexOf(Ht(i))<0;){var n=Zt(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function oe(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function re(t,e,i){return Vt(t,Kt(e,i))}function ae(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function le(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const ce={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,n=t.name,s=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=qt(i.placement),l=oe(a),c=[_t,gt].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return ae("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:le(t,vt))}(s.padding,i),d=Gt(o),u="y"===l?pt:_t,f="y"===l?mt:gt,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m=r[l]-i.rects.reference[l],g=se(o),_=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,b=p/2-m/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,A=re(v,w,y),E=l;i.modifiersData[n]=((e={})[E]=A,e.centerOffset=A-w,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&Jt(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function he(t){return t.split("-")[1]}var de={top:"auto",right:"auto",bottom:"auto",left:"auto"};function ue(t){var e,i=t.popper,n=t.popperRect,s=t.placement,o=t.variation,r=t.offsets,a=t.position,l=t.gpuAcceleration,c=t.adaptive,h=t.roundOffsets,d=t.isFixed,u=r.x,f=void 0===u?0:u,p=r.y,m=void 0===p?0:p,g="function"==typeof h?h({x:f,y:m}):{x:f,y:m};f=g.x,m=g.y;var _=r.hasOwnProperty("x"),b=r.hasOwnProperty("y"),v=_t,y=pt,w=window;if(c){var A=se(i),E="clientHeight",T="clientWidth";A===$t(i)&&"static"!==Zt(A=ee(i)).position&&"absolute"===a&&(E="scrollHeight",T="scrollWidth"),(s===pt||(s===_t||s===gt)&&o===wt)&&(y=mt,m-=(d&&A===w&&w.visualViewport?w.visualViewport.height:A[E])-n.height,m*=l?1:-1),s!==_t&&(s!==pt&&s!==mt||o!==wt)||(v=gt,f-=(d&&A===w&&w.visualViewport?w.visualViewport.width:A[T])-n.width,f*=l?1:-1)}var C,O=Object.assign({position:a},c&&de),x=!0===h?function(t){var e=t.x,i=t.y,n=window.devicePixelRatio||1;return{x:Qt(e*n)/n||0,y:Qt(i*n)/n||0}}({x:f,y:m}):{x:f,y:m};return f=x.x,m=x.y,l?Object.assign({},O,((C={})[y]=b?"0":"",C[v]=_?"0":"",C.transform=(w.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",C)):Object.assign({},O,((e={})[y]=b?m+"px":"",e[v]=_?f+"px":"",e.transform="",e))}const fe={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:qt(e.placement),variation:he(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,ue(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,ue(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var pe={passive:!0};const me={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=$t(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,pe)})),a&&l.addEventListener("resize",i.update,pe),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,pe)})),a&&l.removeEventListener("resize",i.update,pe)}},data:{}};var ge={left:"right",right:"left",bottom:"top",top:"bottom"};function _e(t){return t.replace(/left|right|bottom|top/g,(function(t){return ge[t]}))}var be={start:"end",end:"start"};function ve(t){return t.replace(/start|end/g,(function(t){return be[t]}))}function ye(t){var e=$t(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function we(t){return Ut(ee(t)).left+ye(t).scrollLeft}function Ae(t){var e=Zt(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Ee(t){return["html","body","#document"].indexOf(Ht(t))>=0?t.ownerDocument.body:Bt(t)&&Ae(t)?t:Ee(ie(t))}function Te(t,e){var i;void 0===e&&(e=[]);var n=Ee(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=$t(n),r=s?[o].concat(o.visualViewport||[],Ae(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Te(ie(r)))}function Ce(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Oe(t,e,i){return e===Et?Ce(function(t,e){var i=$t(t),n=ee(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=Yt();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+we(t),y:l}}(t,i)):Wt(e)?function(t,e){var i=Ut(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}(e,i):Ce(function(t){var e,i=ee(t),n=ye(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=Vt(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=Vt(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+we(t),l=-n.scrollTop;return"rtl"===Zt(s||i).direction&&(a+=Vt(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(ee(t)))}function xe(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?qt(s):null,r=s?he(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case pt:e={x:a,y:i.y-n.height};break;case mt:e={x:a,y:i.y+i.height};break;case gt:e={x:i.x+i.width,y:l};break;case _t:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?oe(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case yt:e[c]=e[c]-(i[h]/2-n[h]/2);break;case wt:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function ke(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.strategy,r=void 0===o?t.strategy:o,a=i.boundary,l=void 0===a?At:a,c=i.rootBoundary,h=void 0===c?Et:c,d=i.elementContext,u=void 0===d?Tt:d,f=i.altBoundary,p=void 0!==f&&f,m=i.padding,g=void 0===m?0:m,_=ae("number"!=typeof g?g:le(g,vt)),b=u===Tt?Ct:Tt,v=t.rects.popper,y=t.elements[p?b:u],w=function(t,e,i,n){var s="clippingParents"===e?function(t){var e=Te(ie(t)),i=["absolute","fixed"].indexOf(Zt(t).position)>=0&&Bt(t)?se(t):t;return Wt(i)?e.filter((function(t){return Wt(t)&&Jt(t,i)&&"body"!==Ht(t)})):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce((function(e,i){var s=Oe(t,i,n);return e.top=Vt(s.top,e.top),e.right=Kt(s.right,e.right),e.bottom=Kt(s.bottom,e.bottom),e.left=Vt(s.left,e.left),e}),Oe(t,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(Wt(y)?y:y.contextElement||ee(t.elements.popper),l,h,r),A=Ut(t.elements.reference),E=xe({reference:A,element:v,strategy:"absolute",placement:s}),T=Ce(Object.assign({},v,E)),C=u===Tt?T:A,O={top:w.top-C.top+_.top,bottom:C.bottom-w.bottom+_.bottom,left:w.left-C.left+_.left,right:C.right-w.right+_.right},x=t.modifiersData.offset;if(u===Tt&&x){var k=x[s];Object.keys(O).forEach((function(t){var e=[gt,mt].indexOf(t)>=0?1:-1,i=[pt,mt].indexOf(t)>=0?"y":"x";O[t]+=k[i]*e}))}return O}function Le(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?xt:l,h=he(n),d=h?a?Ot:Ot.filter((function(t){return he(t)===h})):vt,u=d.filter((function(t){return c.indexOf(t)>=0}));0===u.length&&(u=d);var f=u.reduce((function(e,i){return e[i]=ke(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[qt(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}const Se={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,d=i.rootBoundary,u=i.altBoundary,f=i.flipVariations,p=void 0===f||f,m=i.allowedAutoPlacements,g=e.options.placement,_=qt(g),b=l||(_!==g&&p?function(t){if(qt(t)===bt)return[];var e=_e(t);return[ve(t),e,ve(e)]}(g):[_e(g)]),v=[g].concat(b).reduce((function(t,i){return t.concat(qt(i)===bt?Le(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)}),[]),y=e.rects.reference,w=e.rects.popper,A=new Map,E=!0,T=v[0],C=0;C=0,S=L?"width":"height",D=ke(e,{placement:O,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),I=L?k?gt:_t:k?mt:pt;y[S]>w[S]&&(I=_e(I));var N=_e(I),P=[];if(o&&P.push(D[x]<=0),a&&P.push(D[I]<=0,D[N]<=0),P.every((function(t){return t}))){T=O,E=!1;break}A.set(O,P)}if(E)for(var j=function(t){var e=v.find((function(e){var i=A.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return T=e,"break"},M=p?3:1;M>0&&"break"!==j(M);M--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function De(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function Ie(t){return[pt,gt,mt,_t].some((function(e){return t[e]>=0}))}const Ne={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=ke(e,{elementContext:"reference"}),a=ke(e,{altBoundary:!0}),l=De(r,n),c=De(a,s,o),h=Ie(l),d=Ie(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},Pe={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.offset,o=void 0===s?[0,0]:s,r=xt.reduce((function(t,i){return t[i]=function(t,e,i){var n=qt(t),s=[_t,pt].indexOf(n)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[_t,gt].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}},je={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=xe({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},Me={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,d=i.padding,u=i.tether,f=void 0===u||u,p=i.tetherOffset,m=void 0===p?0:p,g=ke(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=qt(e.placement),b=he(e.placement),v=!b,y=oe(_),w="x"===y?"y":"x",A=e.modifiersData.popperOffsets,E=e.rects.reference,T=e.rects.popper,C="function"==typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,O="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),x=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,k={x:0,y:0};if(A){if(o){var L,S="y"===y?pt:_t,D="y"===y?mt:gt,I="y"===y?"height":"width",N=A[y],P=N+g[S],j=N-g[D],M=f?-T[I]/2:0,F=b===yt?E[I]:T[I],H=b===yt?-T[I]:-E[I],$=e.elements.arrow,W=f&&$?Gt($):{width:0,height:0},B=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},z=B[S],R=B[D],q=re(0,E[I],W[I]),V=v?E[I]/2-M-q-z-O.mainAxis:F-q-z-O.mainAxis,K=v?-E[I]/2+M+q+R+O.mainAxis:H+q+R+O.mainAxis,Q=e.elements.arrow&&se(e.elements.arrow),X=Q?"y"===y?Q.clientTop||0:Q.clientLeft||0:0,Y=null!=(L=null==x?void 0:x[y])?L:0,U=N+K-Y,G=re(f?Kt(P,N+V-Y-X):P,N,f?Vt(j,U):j);A[y]=G,k[y]=G-N}if(a){var J,Z="x"===y?pt:_t,tt="x"===y?mt:gt,et=A[w],it="y"===w?"height":"width",nt=et+g[Z],st=et-g[tt],ot=-1!==[pt,_t].indexOf(_),rt=null!=(J=null==x?void 0:x[w])?J:0,at=ot?nt:et-E[it]-T[it]-rt+O.altAxis,lt=ot?et+E[it]+T[it]-rt-O.altAxis:st,ct=f&&ot?function(t,e,i){var n=re(t,e,i);return n>i?i:n}(at,et,lt):re(f?at:nt,et,f?lt:st);A[w]=ct,k[w]=ct-et}e.modifiersData[n]=k}},requiresIfExists:["offset"]};function Fe(t,e,i){void 0===i&&(i=!1);var n,s,o=Bt(e),r=Bt(e)&&function(t){var e=t.getBoundingClientRect(),i=Qt(e.width)/t.offsetWidth||1,n=Qt(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=ee(e),l=Ut(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==Ht(e)||Ae(a))&&(c=(n=e)!==$t(n)&&Bt(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:ye(n)),Bt(e)?((h=Ut(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=we(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function He(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var $e={placement:"bottom",modifiers:[],strategy:"absolute"};function We(){for(var t=arguments.length,e=new Array(t),i=0;iNumber.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(H.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...p(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:e}){const i=z.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>o(t)));i.length&&g(i,e,t===Xe,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=ci.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=z.find(Ze);for(const i of e){const e=ci.getInstance(i);if(!e||!1===e._config.autoClose)continue;const n=t.composedPath(),s=n.includes(e._menu);if(n.includes(e._element)||"inside"===e._config.autoClose&&!s||"outside"===e._config.autoClose&&s)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,n=[Qe,Xe].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(Je)?this:z.prev(this,Je)[0]||z.next(this,Je)[0]||z.findOne(Je,t.delegateTarget.parentNode),o=ci.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}I.on(document,Ue,Je,ci.dataApiKeydownHandler),I.on(document,Ue,ti,ci.dataApiKeydownHandler),I.on(document,Ye,ci.clearMenus),I.on(document,"keyup.bs.dropdown.data-api",ci.clearMenus),I.on(document,Ye,Je,(function(t){t.preventDefault(),ci.getOrCreateInstance(this).toggle()})),f(ci);const hi=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",di=".sticky-top",ui="padding-right",fi="margin-right";class pi{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,ui,(e=>e+t)),this._setElementAttributes(hi,ui,(e=>e+t)),this._setElementAttributes(di,fi,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,ui),this._resetElementAttributes(hi,ui),this._resetElementAttributes(di,fi)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(s))}px`)}))}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&H.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=H.getDataAttribute(t,e);null!==i?(H.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(n(t))e(t);else for(const i of z.find(t,this._element))e(i)}}const mi="show",gi="mousedown.bs.backdrop",_i={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},bi={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class vi extends ${constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return _i}static get DefaultType(){return bi}static get NAME(){return"backdrop"}show(t){if(!this._config.isVisible)return void p(t);this._append();const e=this._getElement();this._config.isAnimated&&c(e),e.classList.add(mi),this._emulateAnimation((()=>{p(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(mi),this._emulateAnimation((()=>{this.dispose(),p(t)}))):p(t)}dispose(){this._isAppended&&(I.off(this._element,gi),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=s(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),I.on(t,gi,(()=>{p(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){m(t,this._getElement(),this._config.isAnimated)}}const yi=".bs.focustrap",wi="backward",Ai={autofocus:!0,trapElement:null},Ei={autofocus:"boolean",trapElement:"element"};class Ti extends ${constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return Ai}static get DefaultType(){return Ei}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),I.off(document,yi),I.on(document,"focusin.bs.focustrap",(t=>this._handleFocusin(t))),I.on(document,"keydown.tab.bs.focustrap",(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,I.off(document,yi))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=z.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===wi?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?wi:"forward")}}const Ci="hidden.bs.modal",Oi="show.bs.modal",xi="modal-open",ki="show",Li="modal-static",Si={backdrop:!0,focus:!0,keyboard:!0},Di={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class Ii extends W{constructor(t,e){super(t,e),this._dialog=z.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new pi,this._addEventListeners()}static get Default(){return Si}static get DefaultType(){return Di}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||I.trigger(this._element,Oi,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(xi),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(I.trigger(this._element,"hide.bs.modal").defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(ki),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){for(const t of[window,this._dialog])I.off(t,".bs.modal");this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new vi({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Ti({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=z.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),c(this._element),this._element.classList.add(ki),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,I.trigger(this._element,"shown.bs.modal",{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){I.on(this._element,"keydown.dismiss.bs.modal",(t=>{if("Escape"===t.key)return this._config.keyboard?(t.preventDefault(),void this.hide()):void this._triggerBackdropTransition()})),I.on(window,"resize.bs.modal",(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),I.on(this._element,"mousedown.dismiss.bs.modal",(t=>{I.one(this._element,"click.dismiss.bs.modal",(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(xi),this._resetAdjustments(),this._scrollBar.reset(),I.trigger(this._element,Ci)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(I.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(Li)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(Li),this._queueCallback((()=>{this._element.classList.remove(Li),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=u()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=u()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=Ii.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}I.on(document,"click.bs.modal.data-api",'[data-bs-toggle="modal"]',(function(t){const e=z.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),I.one(e,Oi,(t=>{t.defaultPrevented||I.one(e,Ci,(()=>{o(this)&&this.focus()}))}));const i=z.findOne(".modal.show");i&&Ii.getInstance(i).hide(),Ii.getOrCreateInstance(e).toggle(this)})),R(Ii),f(Ii);const Ni="show",Pi="showing",ji="hiding",Mi=".offcanvas.show",Fi="hidePrevented.bs.offcanvas",Hi="hidden.bs.offcanvas",$i={backdrop:!0,keyboard:!0,scroll:!1},Wi={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Bi extends W{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return $i}static get DefaultType(){return Wi}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||I.trigger(this._element,"show.bs.offcanvas",{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new pi).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Pi),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(Ni),this._element.classList.remove(Pi),I.trigger(this._element,"shown.bs.offcanvas",{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(I.trigger(this._element,"hide.bs.offcanvas").defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(ji),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(Ni,ji),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new pi).reset(),I.trigger(this._element,Hi)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new vi({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():I.trigger(this._element,Fi)}:null})}_initializeFocusTrap(){return new Ti({trapElement:this._element})}_addEventListeners(){I.on(this._element,"keydown.dismiss.bs.offcanvas",(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():I.trigger(this._element,Fi))}))}static jQueryInterface(t){return this.each((function(){const e=Bi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}I.on(document,"click.bs.offcanvas.data-api",'[data-bs-toggle="offcanvas"]',(function(t){const e=z.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),r(this))return;I.one(e,Hi,(()=>{o(this)&&this.focus()}));const i=z.findOne(Mi);i&&i!==e&&Bi.getInstance(i).hide(),Bi.getOrCreateInstance(e).toggle(this)})),I.on(window,"load.bs.offcanvas.data-api",(()=>{for(const t of z.find(Mi))Bi.getOrCreateInstance(t).show()})),I.on(window,"resize.bs.offcanvas",(()=>{for(const t of z.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&Bi.getOrCreateInstance(t).hide()})),R(Bi),f(Bi);const zi=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Ri=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i,qi=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,Vi=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!zi.has(i)||Boolean(Ri.test(t.nodeValue)||qi.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},Ki={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Qi={allowList:Ki,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},Xi={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Yi={entry:"(string|element|function|null)",selector:"(string|element)"};class Ui extends ${constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Qi}static get DefaultType(){return Xi}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},Yi)}_setContent(t,e,i){const o=z.findOne(i,t);o&&((e=this._resolvePossibleFunction(e))?n(e)?this._putElementInTemplate(s(e),o):this._config.html?o.innerHTML=this._maybeSanitize(e):o.textContent=e:o.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...n.body.querySelectorAll("*"));for(const t of s){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const n=[].concat(...t.attributes),s=[].concat(e["*"]||[],e[i]||[]);for(const e of n)Vi(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return p(t,[this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const Gi=new Set(["sanitize","allowList","sanitizeFn"]),Ji="fade",Zi="show",tn=".modal",en="hide.bs.modal",nn="hover",sn="focus",on={AUTO:"auto",TOP:"top",RIGHT:u()?"left":"right",BOTTOM:"bottom",LEFT:u()?"right":"left"},rn={allowList:Ki,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,0],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},an={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class ln extends W{constructor(t,e){if(void 0===Ve)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return rn}static get DefaultType(){return an}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),I.off(this._element.closest(tn),en,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=I.trigger(this._element,this.constructor.eventName("show")),e=(a(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:n}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(n.append(i),I.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(Zi),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))I.on(t,"mouseover",l);this._queueCallback((()=>{I.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(this._isShown()&&!I.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(Zi),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))I.off(t,"mouseover",l);this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),I.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(Ji,Zi),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(Ji),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Ui({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(Ji)}_isShown(){return this.tip&&this.tip.classList.contains(Zi)}_createPopper(t){const e=p(this._config.placement,[this,t,this._element]),i=on[e.toUpperCase()];return qe(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return p(t,[this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,...p(this._config.popperConfig,[e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)I.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===nn?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===nn?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");I.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?sn:nn]=!0,e._enter()})),I.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?sn:nn]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},I.on(this._element.closest(tn),en,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=H.getDataAttributes(this._element);for(const t of Object.keys(e))Gi.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:s(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=ln.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}f(ln);const cn={...ln.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},hn={...ln.DefaultType,content:"(null|string|element|function)"};class dn extends ln{static get Default(){return cn}static get DefaultType(){return hn}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=dn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}f(dn);const un="click.bs.scrollspy",fn="active",pn="[href]",mn={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},gn={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class _n extends W{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return mn}static get DefaultType(){return gn}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=s(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(I.off(this._config.target,un),I.on(this._config.target,un,pn,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,n=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:n,behavior:"smooth"});i.scrollTop=n}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},n=(this._rootElement||document.documentElement).scrollTop,s=n>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=n;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&t){if(i(o),!n)return}else s||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=z.find(pn,this._config.target);for(const e of t){if(!e.hash||r(e))continue;const t=z.findOne(e.hash,this._element);o(t)&&(this._targetLinks.set(e.hash,e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(fn),this._activateParents(t),I.trigger(this._element,"activate.bs.scrollspy",{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))z.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(fn);else for(const e of z.parents(t,".nav, .list-group"))for(const t of z.prev(e,".nav-link, .nav-item > .nav-link, .list-group-item"))t.classList.add(fn)}_clearActiveClass(t){t.classList.remove(fn);const e=z.find("[href].active",t);for(const t of e)t.classList.remove(fn)}static jQueryInterface(t){return this.each((function(){const e=_n.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}I.on(window,"load.bs.scrollspy.data-api",(()=>{for(const t of z.find('[data-bs-spy="scroll"]'))_n.getOrCreateInstance(t)})),f(_n);const bn="ArrowLeft",vn="ArrowRight",yn="ArrowUp",wn="ArrowDown",An="active",En="fade",Tn="show",Cn='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',On=`.nav-link:not(.dropdown-toggle), .list-group-item:not(.dropdown-toggle), [role="tab"]:not(.dropdown-toggle), ${Cn}`;class xn extends W{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),I.on(this._element,"keydown.bs.tab",(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?I.trigger(e,"hide.bs.tab",{relatedTarget:t}):null;I.trigger(t,"show.bs.tab",{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(An),this._activate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),I.trigger(t,"shown.bs.tab",{relatedTarget:e})):t.classList.add(Tn)}),t,t.classList.contains(En)))}_deactivate(t,e){t&&(t.classList.remove(An),t.blur(),this._deactivate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),I.trigger(t,"hidden.bs.tab",{relatedTarget:e})):t.classList.remove(Tn)}),t,t.classList.contains(En)))}_keydown(t){if(![bn,vn,yn,wn].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=[vn,wn].includes(t.key),i=g(this._getChildren().filter((t=>!r(t))),t.target,e,!0);i&&(i.focus({preventScroll:!0}),xn.getOrCreateInstance(i).show())}_getChildren(){return z.find(On,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=z.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`#${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const n=(t,n)=>{const s=z.findOne(t,i);s&&s.classList.toggle(n,e)};n(".dropdown-toggle",An),n(".dropdown-menu",Tn),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(An)}_getInnerElement(t){return t.matches(On)?t:z.findOne(On,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=xn.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}I.on(document,"click.bs.tab",Cn,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),r(this)||xn.getOrCreateInstance(this).show()})),I.on(window,"load.bs.tab",(()=>{for(const t of z.find('.active[data-bs-toggle="tab"], .active[data-bs-toggle="pill"], .active[data-bs-toggle="list"]'))xn.getOrCreateInstance(t)})),f(xn);const kn="hide",Ln="show",Sn="showing",Dn={animation:"boolean",autohide:"boolean",delay:"number"},In={animation:!0,autohide:!0,delay:5e3};class Nn extends W{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return In}static get DefaultType(){return Dn}static get NAME(){return"toast"}show(){I.trigger(this._element,"show.bs.toast").defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(kn),c(this._element),this._element.classList.add(Ln,Sn),this._queueCallback((()=>{this._element.classList.remove(Sn),I.trigger(this._element,"shown.bs.toast"),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(I.trigger(this._element,"hide.bs.toast").defaultPrevented||(this._element.classList.add(Sn),this._queueCallback((()=>{this._element.classList.add(kn),this._element.classList.remove(Sn,Ln),I.trigger(this._element,"hidden.bs.toast")}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(Ln),super.dispose()}isShown(){return this._element.classList.contains(Ln)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){I.on(this._element,"mouseover.bs.toast",(t=>this._onInteraction(t,!0))),I.on(this._element,"mouseout.bs.toast",(t=>this._onInteraction(t,!1))),I.on(this._element,"focusin.bs.toast",(t=>this._onInteraction(t,!0))),I.on(this._element,"focusout.bs.toast",(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=Nn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return R(Nn),f(Nn),{Alert:q,Button:K,Carousel:rt,Collapse:ft,Dropdown:ci,Modal:Ii,Offcanvas:Bi,Popover:dn,ScrollSpy:_n,Tab:xn,Toast:Nn,Tooltip:ln}})); +//# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file diff --git a/preview/97/static/vendor/bootstrap/bootstrap.bundle.min.js.map b/preview/97/static/vendor/bootstrap/bootstrap.bundle.min.js.map new file mode 100644 index 000000000..768455fe3 --- /dev/null +++ b/preview/97/static/vendor/bootstrap/bootstrap.bundle.min.js.map @@ -0,0 +1 @@ +{"version":3,"names":["TRANSITION_END","parseSelector","selector","window","CSS","escape","replace","match","id","triggerTransitionEnd","element","dispatchEvent","Event","isElement","object","jquery","nodeType","getElement","length","document","querySelector","isVisible","getClientRects","elementIsVisible","getComputedStyle","getPropertyValue","closedDetails","closest","summary","parentNode","isDisabled","Node","ELEMENT_NODE","classList","contains","disabled","hasAttribute","getAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","DOMContentLoadedCallbacks","isRTL","dir","defineJQueryPlugin","plugin","callback","$","name","NAME","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","readyState","addEventListener","push","execute","possibleCallback","args","defaultValue","executeAfterTransition","transitionElement","waitForTransition","emulatedDuration","transitionDuration","transitionDelay","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","split","getTransitionDurationFromElement","called","handler","target","removeEventListener","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","listLength","index","indexOf","Math","max","min","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","makeEventUid","uid","getElementEvents","findHandler","events","callable","delegationSelector","Object","values","find","event","normalizeParameters","originalTypeEvent","delegationFunction","isDelegated","typeEvent","getTypeEvent","has","addHandler","oneOff","wrapFunction","relatedTarget","delegateTarget","call","this","handlers","previousFunction","domElements","querySelectorAll","domElement","hydrateObj","EventHandler","off","type","apply","bootstrapDelegationHandler","bootstrapHandler","removeHandler","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","entries","includes","on","one","inNamespace","isNamespace","startsWith","elementEvent","keys","slice","keyHandlers","trigger","jQueryEvent","bubbles","nativeDispatch","defaultPrevented","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","evt","cancelable","preventDefault","obj","meta","key","value","_unused","defineProperty","configurable","get","elementMap","Map","Data","set","instance","instanceMap","size","console","error","Array","from","remove","delete","normalizeData","toString","JSON","parse","decodeURIComponent","normalizeDataKey","chr","toLowerCase","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","filter","pureKey","charAt","getDataAttribute","Config","Default","DefaultType","Error","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","constructor","configTypes","property","expectedTypes","valueType","prototype","RegExp","test","TypeError","toUpperCase","BaseComponent","super","_element","_config","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","static","getInstance","VERSION","getSelector","hrefAttribute","trim","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","map","join","el","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","enableDismissTrigger","component","method","clickEvent","tagName","getOrCreateInstance","Alert","close","_destroyElement","each","data","undefined","SELECTOR_DATA_TOGGLE","Button","toggle","button","endCallback","leftCallback","rightCallback","Swipe","isSupported","_deltaX","_supportPointerEvents","PointerEvent","_initEvents","_start","_eventIsPointerPenTouch","clientX","touches","_end","_handleSwipe","_move","absDeltaX","abs","direction","add","pointerType","navigator","maxTouchPoints","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLID","CLASS_NAME_CAROUSEL","CLASS_NAME_ACTIVE","KEY_TO_DIRECTION","ArrowLeft","ArrowRight","interval","keyboard","pause","ride","touch","wrap","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","nextWhenVisible","hidden","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","to","items","_getItems","activeIndex","_getItemIndex","_getActive","order","defaultInterval","_keydown","_addTouchEventListeners","img","swipeConfig","_directionToOrder","clearTimeout","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","eventName","_orderToDirection","isCycling","directionalClassName","orderClassName","_isAnimated","SELECTOR_ACTIVE","clearInterval","carousel","slideIndex","carousels","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","parent","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","activeInstance","dimension","_getDimension","style","scrollSize","getBoundingClientRect","selected","triggerArray","isOpen","top","bottom","right","left","auto","basePlacements","start","end","clippingParents","viewport","popper","reference","variationPlacements","reduce","acc","placement","placements","beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite","modifierPhases","getNodeName","nodeName","getWindow","node","ownerDocument","defaultView","isHTMLElement","HTMLElement","isShadowRoot","applyStyles$1","enabled","phase","_ref","state","elements","forEach","styles","assign","effect","_ref2","initialStyles","position","options","strategy","margin","arrow","hasOwnProperty","attribute","requires","getBasePlacement","round","getUAString","uaData","userAgentData","brands","item","brand","version","userAgent","isLayoutViewport","includeScale","isFixedStrategy","clientRect","scaleX","scaleY","offsetWidth","width","height","visualViewport","addVisualOffsets","x","offsetLeft","y","offsetTop","getLayoutRect","rootNode","isSameNode","host","isTableElement","getDocumentElement","getParentNode","assignedSlot","getTrueOffsetParent","offsetParent","getOffsetParent","isFirefox","currentNode","css","transform","perspective","contain","willChange","getContainingBlock","getMainAxisFromPlacement","within","mathMax","mathMin","mergePaddingObject","paddingObject","expandToHashMap","hashMap","arrow$1","_state$modifiersData$","arrowElement","popperOffsets","modifiersData","basePlacement","axis","len","padding","rects","toPaddingObject","arrowRect","minProp","maxProp","endDiff","startDiff","arrowOffsetParent","clientSize","clientHeight","clientWidth","centerToReference","center","offset","axisProp","centerOffset","_options$element","requiresIfExists","getVariation","unsetSides","mapToStyles","_Object$assign2","popperRect","variation","offsets","gpuAcceleration","adaptive","roundOffsets","isFixed","_offsets$x","_offsets$y","_ref3","hasX","hasY","sideX","sideY","win","heightProp","widthProp","_Object$assign","commonStyles","_ref4","dpr","devicePixelRatio","roundOffsetsByDPR","computeStyles$1","_ref5","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","passive","eventListeners","_options$scroll","scroll","_options$resize","resize","scrollParents","scrollParent","update","hash","getOppositePlacement","matched","getOppositeVariationPlacement","getWindowScroll","scrollLeft","pageXOffset","scrollTop","pageYOffset","getWindowScrollBarX","isScrollParent","_getComputedStyle","overflow","overflowX","overflowY","getScrollParent","listScrollParents","_element$ownerDocumen","isBody","updatedList","rectToClientRect","rect","getClientRectFromMixedType","clippingParent","html","layoutViewport","getViewportRect","clientTop","clientLeft","getInnerBoundingClientRect","winScroll","scrollWidth","scrollHeight","getDocumentRect","computeOffsets","commonX","commonY","mainAxis","detectOverflow","_options","_options$placement","_options$strategy","_options$boundary","boundary","_options$rootBoundary","rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","altContext","clippingClientRect","mainClippingParents","clipperElement","getClippingParents","firstClippingParent","clippingRect","accRect","getClippingRect","contextElement","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","multiply","computeAutoPlacement","flipVariations","_options$allowedAutoP","allowedAutoPlacements","allPlacements","allowedPlacements","overflows","sort","a","b","flip$1","_skip","_options$mainAxis","checkMainAxis","_options$altAxis","altAxis","checkAltAxis","specifiedFallbackPlacements","fallbackPlacements","_options$flipVariatio","preferredPlacement","oppositePlacement","getExpandedFallbackPlacements","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","i","_basePlacement","isStartVariation","isVertical","mainVariationSide","altVariationSide","checks","every","check","_loop","_i","fittingPlacement","reset","getSideOffsets","preventedOffsets","isAnySideFullyClipped","some","side","hide$1","preventOverflow","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","offset$1","_options$offset","invertDistance","skidding","distance","distanceAndSkiddingToXY","_data$state$placement","popperOffsets$1","preventOverflow$1","_options$tether","tether","_options$tetherOffset","tetherOffset","isBasePlacement","tetherOffsetValue","normalizedTetherOffsetValue","offsetModifierState","_offsetModifierState$","mainSide","altSide","additive","minLen","maxLen","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","clientOffset","offsetModifierValue","tetherMax","preventedOffset","_offsetModifierState$2","_mainSide","_altSide","_offset","_len","_min","_max","isOriginSide","_offsetModifierValue","_tetherMin","_tetherMax","_preventedOffset","v","withinMaxClamp","getCompositeRect","elementOrVirtualElement","isOffsetParentAnElement","offsetParentIsScaled","isElementScaled","modifiers","visited","result","modifier","dep","depModifier","DEFAULT_OPTIONS","areValidElements","arguments","_key","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","defaultOptions","pending","orderedModifiers","effectCleanupFns","isDestroyed","setOptions","setOptionsAction","cleanupModifierEffects","merged","orderModifiers","current","existing","m","_ref3$options","cleanupFn","forceUpdate","_state$elements","_state$orderedModifie","_state$orderedModifie2","Promise","resolve","then","destroy","onFirstUpdate","createPopper","computeStyles","applyStyles","flip","ARROW_UP_KEY","ARROW_DOWN_KEY","EVENT_CLICK_DATA_API","EVENT_KEYDOWN_DATA_API","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","autoClose","display","popperConfig","Dropdown","_popper","_parent","_menu","_inNavbar","_detectNavbar","_createPopper","focus","_completeHide","Popper","referenceElement","_getPopperConfig","_getPlacement","parentDropdown","isEnd","_getOffset","popperData","defaultBsPopperConfig","_selectMenuItem","openToggles","context","composedPath","isMenuTarget","isInput","isEscapeEvent","isUpOrDownEvent","getToggleButton","stopPropagation","dataApiKeydownHandler","clearMenus","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","getWidth","documentWidth","innerWidth","_disableOverFlow","_setElementAttributes","calculatedValue","_resetElementAttributes","isOverflowing","_saveInitialAttribute","styleProperty","scrollbarWidth","_applyManipulationCallback","setProperty","actualValue","removeProperty","callBack","sel","EVENT_MOUSEDOWN","className","clickCallback","rootElement","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","backdrop","createElement","append","TAB_NAV_BACKWARD","autofocus","trapElement","FocusTrap","_isActive","_lastTabNavDirection","activate","_handleFocusin","_handleKeydown","deactivate","shiftKey","EVENT_HIDDEN","EVENT_SHOW","CLASS_NAME_OPEN","CLASS_NAME_STATIC","Modal","_dialog","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","_scrollBar","_adjustDialog","_showElement","_hideModal","htmlElement","handleUpdate","modalBody","_triggerBackdropTransition","event2","_resetAdjustments","isModalOverflowing","initialOverflowY","isBodyOverflowing","paddingLeft","paddingRight","showEvent","alreadyOpen","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","OPEN_SELECTOR","EVENT_HIDE_PREVENTED","Offcanvas","blur","uriAttributes","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","allowedAttributeList","attributeName","nodeValue","attributeRegex","regex","DefaultAllowlist","area","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","allowList","content","extraClass","sanitize","sanitizeFn","template","DefaultContentType","entry","TemplateFactory","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","templateWrapper","innerHTML","_maybeSanitize","text","_setContent","arg","templateElement","_putElementInTemplate","textContent","unsafeHtml","sanitizeFunction","createdDocument","DOMParser","parseFromString","elementName","attributeList","allowedAttributes","sanitizeHtml","DISALLOWED_ATTRIBUTES","CLASS_NAME_FADE","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","container","customClass","delay","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","click","_leave","_enter","_hideModalHandler","_disposePopper","_isWithContent","isInTheDom","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","prefix","floor","random","getElementById","getUID","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","attachment","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","Popover","_getContent","EVENT_CLICK","SELECTOR_TARGET_LINKS","rootMargin","smoothScroll","threshold","ScrollSpy","_targetLinks","_observableSections","_rootElement","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","disconnect","_getNewObserver","section","observe","observableSection","scrollTo","behavior","IntersectionObserver","_observerCallback","targetElement","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","_activateParents","listGroup","activeNodes","spy","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","SELECTOR_INNER_ELEM","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","active","_getActiveElem","hideEvent","_deactivate","_activate","relatedElem","_toggleDropDown","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","open","CLASS_NAME_HIDE","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting"],"sources":["../../js/src/util/index.js","../../js/src/dom/event-handler.js","../../js/src/dom/data.js","../../js/src/dom/manipulator.js","../../js/src/util/config.js","../../js/src/base-component.js","../../js/src/dom/selector-engine.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/util/swipe.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/@popperjs/core/lib/enums.js","../../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../../node_modules/@popperjs/core/lib/utils/math.js","../../node_modules/@popperjs/core/lib/utils/userAgent.js","../../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../../node_modules/@popperjs/core/lib/dom-utils/contains.js","../../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../../node_modules/@popperjs/core/lib/utils/within.js","../../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../../node_modules/@popperjs/core/lib/modifiers/arrow.js","../../node_modules/@popperjs/core/lib/utils/getVariation.js","../../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../../node_modules/@popperjs/core/lib/modifiers/flip.js","../../node_modules/@popperjs/core/lib/modifiers/hide.js","../../node_modules/@popperjs/core/lib/modifiers/offset.js","../../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../../node_modules/@popperjs/core/lib/createPopper.js","../../node_modules/@popperjs/core/lib/utils/debounce.js","../../node_modules/@popperjs/core/lib/utils/mergeByName.js","../../node_modules/@popperjs/core/lib/popper-lite.js","../../node_modules/@popperjs/core/lib/popper.js","../../js/src/dropdown.js","../../js/src/util/scrollbar.js","../../js/src/util/backdrop.js","../../js/src/util/focustrap.js","../../js/src/modal.js","../../js/src/offcanvas.js","../../js/src/util/sanitizer.js","../../js/src/util/template-factory.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/index.umd.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.3.0-alpha1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n if (selector && window.CSS && window.CSS.escape) {\n // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n }\n\n return selector\n}\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n if (object === null || object === undefined) {\n return `${object}`\n }\n\n return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n if (!object || typeof object !== 'object') {\n return false\n }\n\n if (typeof object.jquery !== 'undefined') {\n object = object[0]\n }\n\n return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n // it's a jQuery object or a node element\n if (isElement(object)) {\n return object.jquery ? object[0] : object\n }\n\n if (typeof object === 'string' && object.length > 0) {\n return document.querySelector(parseSelector(object))\n }\n\n return null\n}\n\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false\n }\n\n const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n // Handle `details` element as its content may falsie appear visible when it is closed\n const closedDetails = element.closest('details:not([open])')\n\n if (!closedDetails) {\n return elementIsVisible\n }\n\n if (closedDetails !== element) {\n const summary = element.closest('summary')\n if (summary && summary.parentNode !== closedDetails) {\n return false\n }\n\n if (summary === null) {\n return false\n }\n }\n\n return elementIsVisible\n}\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst getjQuery = () => {\n if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return window.jQuery\n }\n\n return null\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n for (const callback of DOMContentLoadedCallbacks) {\n callback()\n }\n })\n }\n\n DOMContentLoadedCallbacks.push(callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst defineJQueryPlugin = plugin => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const name = plugin.NAME\n const JQUERY_NO_CONFLICT = $.fn[name]\n $.fn[name] = plugin.jQueryInterface\n $.fn[name].Constructor = plugin\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT\n return plugin.jQueryInterface\n }\n }\n })\n}\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n return typeof possibleCallback === 'function' ? possibleCallback(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback)\n return\n }\n\n const durationPadding = 5\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n let called = false\n\n const handler = ({ target }) => {\n if (target !== transitionElement) {\n return\n }\n\n called = true\n transitionElement.removeEventListener(TRANSITION_END, handler)\n execute(callback)\n }\n\n transitionElement.addEventListener(TRANSITION_END, handler)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement)\n }\n }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n const listLength = list.length\n let index = list.indexOf(activeElement)\n\n // if the element does not exist in the list return an element\n // depending on the direction and if cycle is allowed\n if (index === -1) {\n return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n }\n\n index += shouldGetNext ? 1 : -1\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n defineJQueryPlugin,\n execute,\n executeAfterTransition,\n findShadowRoot,\n getElement,\n getjQuery,\n getNextActiveElement,\n getTransitionDurationFromElement,\n getUID,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop,\n onDOMContentLoaded,\n parseSelector,\n reflow,\n triggerTransitionEnd,\n toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.3.0-alpha1): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index.js'\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n const uid = makeEventUid(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n hydrateObj(event, { delegateTarget: element })\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (const domElement of domElements) {\n if (domElement !== target) {\n continue\n }\n\n hydrateObj(event, { delegateTarget: target })\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, selector, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n return Object.values(events)\n .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n const isDelegated = typeof handler === 'string'\n // todo: tooltip passes `false` instead of selector, so we need to check\n const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n let typeEvent = getTypeEvent(originalTypeEvent)\n\n if (!nativeEvents.has(typeEvent)) {\n typeEvent = originalTypeEvent\n }\n\n return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n if (originalTypeEvent in customEvents) {\n const wrapFunction = fn => {\n return function (event) {\n if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n return fn.call(this, event)\n }\n }\n }\n\n callable = wrapFunction(callable)\n }\n\n const events = getElementEvents(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n if (previousFunction) {\n previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n return\n }\n\n const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = isDelegated ?\n bootstrapDelegationHandler(element, handler, callable) :\n bootstrapHandler(element, callable)\n\n fn.delegationSelector = isDelegated ? handler : null\n fn.callable = callable\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n if (handlerKey.includes(namespace)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n }\n }\n}\n\nfunction getTypeEvent(event) {\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n event = event.replace(stripNameRegex, '')\n return customEvents[event] || event\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, false)\n },\n\n one(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFunction) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getElementEvents(element)\n const storeElementEvent = events[typeEvent] || {}\n const isNamespace = originalTypeEvent.startsWith('.')\n\n if (typeof callable !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!Object.keys(storeElementEvent).length) {\n return\n }\n\n removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n return\n }\n\n if (isNamespace) {\n for (const elementEvent of Object.keys(events)) {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n }\n }\n\n for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n }\n }\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const $ = getjQuery()\n const typeEvent = getTypeEvent(event)\n const inNamespace = event !== typeEvent\n\n let jQueryEvent = null\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n let evt = new Event(event, { bubbles, cancelable: true })\n evt = hydrateObj(evt, args)\n\n if (defaultPrevented) {\n evt.preventDefault()\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && jQueryEvent) {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n for (const [key, value] of Object.entries(meta)) {\n try {\n obj[key] = value\n } catch {\n Object.defineProperty(obj, key, {\n configurable: true,\n get() {\n return value\n }\n })\n }\n }\n\n return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.3.0-alpha1): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map())\n }\n\n const instanceMap = elementMap.get(element)\n\n // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n return\n }\n\n instanceMap.set(key, instance)\n },\n\n get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null\n }\n\n return null\n },\n\n remove(element, key) {\n if (!elementMap.has(element)) {\n return\n }\n\n const instanceMap = elementMap.get(element)\n\n instanceMap.delete(key)\n\n // free up element references if there are no instances left for an element\n if (instanceMap.size === 0) {\n elementMap.delete(element)\n }\n }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.3.0-alpha1): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n if (value === 'true') {\n return true\n }\n\n if (value === 'false') {\n return false\n }\n\n if (value === Number(value).toString()) {\n return Number(value)\n }\n\n if (value === '' || value === 'null') {\n return null\n }\n\n if (typeof value !== 'string') {\n return value\n }\n\n try {\n return JSON.parse(decodeURIComponent(value))\n } catch {\n return value\n }\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {}\n const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n for (const key of bsKeys) {\n let pureKey = key.replace(/^bs/, '')\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length)\n attributes[pureKey] = normalizeData(element.dataset[key])\n }\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.3.0-alpha1): util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isElement, toType } from './index.js'\nimport Manipulator from '../dom/manipulator.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n // Getters\n static get Default() {\n return {}\n }\n\n static get DefaultType() {\n return {}\n }\n\n static get NAME() {\n throw new Error('You have to implement the static method \"NAME\", for each component!')\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n _configAfterMerge(config) {\n return config\n }\n\n _mergeConfigObj(config, element) {\n const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n return {\n ...this.constructor.Default,\n ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n ...(typeof config === 'object' ? config : {})\n }\n }\n\n _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n for (const [property, expectedTypes] of Object.entries(configTypes)) {\n const value = config[property]\n const valueType = isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n }\n }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.3.0-alpha1): base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '5.3.0-alpha1'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n constructor(element, config) {\n super()\n\n element = getElement(element)\n if (!element) {\n return\n }\n\n this._element = element\n this._config = this._getConfig(config)\n\n Data.set(this._element, this.constructor.DATA_KEY, this)\n }\n\n // Public\n dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY)\n EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n for (const propertyName of Object.getOwnPropertyNames(this)) {\n this[propertyName] = null\n }\n }\n\n _queueCallback(callback, element, isAnimated = true) {\n executeAfterTransition(callback, element, isAnimated)\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config, this._element)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n // Static\n static getInstance(element) {\n return Data.get(getElement(element), this.DATA_KEY)\n }\n\n static getOrCreateInstance(element, config = {}) {\n return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n }\n\n static get VERSION() {\n return VERSION\n }\n\n static get DATA_KEY() {\n return `bs.${this.NAME}`\n }\n\n static get EVENT_KEY() {\n return `.${this.DATA_KEY}`\n }\n\n static eventName(name) {\n return `${name}${this.EVENT_KEY}`\n }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.3.0-alpha1): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttribute = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n }\n\n selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n }\n\n return parseSelector(selector)\n}\n\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector)\n },\n\n children(element, selector) {\n return [].concat(...element.children).filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n let ancestor = element.parentNode.closest(selector)\n\n while (ancestor) {\n parents.push(ancestor)\n ancestor = ancestor.parentNode.closest(selector)\n }\n\n return parents\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous]\n }\n\n previous = previous.previousElementSibling\n }\n\n return []\n },\n // TODO: this is now unused; remove later along with prev()\n next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (next.matches(selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n },\n\n focusableChildren(element) {\n const focusables = [\n 'a',\n 'button',\n 'input',\n 'textarea',\n 'select',\n 'details',\n '[tabindex]',\n '[contenteditable=\"true\"]'\n ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n },\n\n getSelectorFromElement(element) {\n const selector = getSelector(element)\n\n if (selector) {\n return SelectorEngine.findOne(selector) ? selector : null\n }\n\n return null\n },\n\n getElementFromSelector(element) {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.findOne(selector) : null\n },\n\n getMultipleElementsFromSelector(element) {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.find(selector) : []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.3.0-alpha1): util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport { isDisabled } from './index.js'\nimport SelectorEngine from '../dom/selector-engine.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n const clickEvent = `click.dismiss${component.EVENT_KEY}`\n const name = component.NAME\n\n EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n const instance = component.getOrCreateInstance(target)\n\n // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n instance[method]()\n })\n}\n\nexport {\n enableDismissTrigger\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.3.0-alpha1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin } from './util/index.js'\nimport EventHandler from './dom/event-handler.js'\nimport BaseComponent from './base-component.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\n close() {\n const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n if (closeEvent.defaultPrevented) {\n return\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n }\n\n // Private\n _destroyElement() {\n this._element.remove()\n EventHandler.trigger(this._element, EVENT_CLOSED)\n this.dispose()\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Alert.getOrCreateInstance(this)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Alert)\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.3.0-alpha1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin } from './util/index.js'\nimport EventHandler from './dom/event-handler.js'\nimport BaseComponent from './base-component.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Button.getOrCreateInstance(this)\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n event.preventDefault()\n\n const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n const data = Button.getOrCreateInstance(button)\n\n data.toggle()\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Button)\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.3.0-alpha1): util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Config from './config.js'\nimport EventHandler from '../dom/event-handler.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n endCallback: null,\n leftCallback: null,\n rightCallback: null\n}\n\nconst DefaultType = {\n endCallback: '(function|null)',\n leftCallback: '(function|null)',\n rightCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n constructor(element, config) {\n super()\n this._element = element\n\n if (!element || !Swipe.isSupported()) {\n return\n }\n\n this._config = this._getConfig(config)\n this._deltaX = 0\n this._supportPointerEvents = Boolean(window.PointerEvent)\n this._initEvents()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n }\n\n // Private\n _start(event) {\n if (!this._supportPointerEvents) {\n this._deltaX = event.touches[0].clientX\n\n return\n }\n\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX\n }\n }\n\n _end(event) {\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX - this._deltaX\n }\n\n this._handleSwipe()\n execute(this._config.endCallback)\n }\n\n _move(event) {\n this._deltaX = event.touches && event.touches.length > 1 ?\n 0 :\n event.touches[0].clientX - this._deltaX\n }\n\n _handleSwipe() {\n const absDeltaX = Math.abs(this._deltaX)\n\n if (absDeltaX <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltaX / this._deltaX\n\n this._deltaX = 0\n\n if (!direction) {\n return\n }\n\n execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n }\n\n _initEvents() {\n if (this._supportPointerEvents) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n }\n }\n\n _eventIsPointerPenTouch(event) {\n return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n }\n\n // Static\n static isSupported() {\n return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.3.0-alpha1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getNextActiveElement,\n isRTL,\n isVisible,\n reflow,\n triggerTransitionEnd\n} from './util/index.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Swipe from './util/swipe.js'\nimport BaseComponent from './base-component.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n pause: 'hover',\n ride: false,\n touch: true,\n wrap: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)', // TODO:v6 remove boolean support\n keyboard: 'boolean',\n pause: '(string|boolean)',\n ride: '(boolean|string)',\n touch: 'boolean',\n wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._interval = null\n this._activeElement = null\n this._isSliding = false\n this.touchTimeout = null\n this._swipeHelper = null\n\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._addEventListeners()\n\n if (this._config.ride === CLASS_NAME_CAROUSEL) {\n this.cycle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n next() {\n this._slide(ORDER_NEXT)\n }\n\n nextWhenVisible() {\n // FIXME TODO use `document.visibilityState`\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n this._slide(ORDER_PREV)\n }\n\n pause() {\n if (this._isSliding) {\n triggerTransitionEnd(this._element)\n }\n\n this._clearInterval()\n }\n\n cycle() {\n this._clearInterval()\n this._updateInterval()\n\n this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n }\n\n _maybeEnableCycle() {\n if (!this._config.ride) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n return\n }\n\n this.cycle()\n }\n\n to(index) {\n const items = this._getItems()\n if (index > items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n return\n }\n\n const activeIndex = this._getItemIndex(this._getActive())\n if (activeIndex === index) {\n return\n }\n\n const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n this._slide(order, items[index])\n }\n\n dispose() {\n if (this._swipeHelper) {\n this._swipeHelper.dispose()\n }\n\n super.dispose()\n }\n\n // Private\n _configAfterMerge(config) {\n config.defaultInterval = config.interval\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n }\n\n if (this._config.touch && Swipe.isSupported()) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n }\n\n const endCallBack = () => {\n if (this._config.pause !== 'hover') {\n return\n }\n\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n\n const swipeConfig = {\n leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n endCallback: endCallBack\n }\n\n this._swipeHelper = new Swipe(this._element, swipeConfig)\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n const direction = KEY_TO_DIRECTION[event.key]\n if (direction) {\n event.preventDefault()\n this._slide(this._directionToOrder(direction))\n }\n }\n\n _getItemIndex(element) {\n return this._getItems().indexOf(element)\n }\n\n _setActiveIndicatorElement(index) {\n if (!this._indicatorsElement) {\n return\n }\n\n const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n activeIndicator.removeAttribute('aria-current')\n\n const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n if (newActiveIndicator) {\n newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n newActiveIndicator.setAttribute('aria-current', 'true')\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || this._getActive()\n\n if (!element) {\n return\n }\n\n const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n this._config.interval = elementInterval || this._config.defaultInterval\n }\n\n _slide(order, element = null) {\n if (this._isSliding) {\n return\n }\n\n const activeElement = this._getActive()\n const isNext = order === ORDER_NEXT\n const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n if (nextElement === activeElement) {\n return\n }\n\n const nextElementIndex = this._getItemIndex(nextElement)\n\n const triggerEvent = eventName => {\n return EventHandler.trigger(this._element, eventName, {\n relatedTarget: nextElement,\n direction: this._orderToDirection(order),\n from: this._getItemIndex(activeElement),\n to: nextElementIndex\n })\n }\n\n const slideEvent = triggerEvent(EVENT_SLIDE)\n\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n // todo: change tests that use empty divs to avoid this check\n return\n }\n\n const isCycling = Boolean(this._interval)\n this.pause()\n\n this._isSliding = true\n\n this._setActiveIndicatorElement(nextElementIndex)\n this._activeElement = nextElement\n\n const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const completeCallBack = () => {\n nextElement.classList.remove(directionalClassName, orderClassName)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n this._isSliding = false\n\n triggerEvent(EVENT_SLID)\n }\n\n this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_SLIDE)\n }\n\n _getActive() {\n return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n }\n\n _getItems() {\n return SelectorEngine.find(SELECTOR_ITEM, this._element)\n }\n\n _clearInterval() {\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n }\n\n _directionToOrder(direction) {\n if (isRTL()) {\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n }\n\n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n }\n\n _orderToDirection(order) {\n if (isRTL()) {\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n }\n\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Carousel.getOrCreateInstance(this, config)\n\n if (typeof config === 'number') {\n data.to(config)\n return\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n event.preventDefault()\n\n const carousel = Carousel.getOrCreateInstance(target)\n const slideIndex = this.getAttribute('data-bs-slide-to')\n\n if (slideIndex) {\n carousel.to(slideIndex)\n carousel._maybeEnableCycle()\n return\n }\n\n if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n carousel.next()\n carousel._maybeEnableCycle()\n return\n }\n\n carousel.prev()\n carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (const carousel of carousels) {\n Carousel.getOrCreateInstance(carousel)\n }\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Carousel)\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.3.0-alpha1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElement,\n reflow\n} from './util/index.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport BaseComponent from './base-component.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n parent: null,\n toggle: true\n}\n\nconst DefaultType = {\n parent: '(null|element)',\n toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._isTransitioning = false\n this._triggerArray = []\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (const elem of toggleList) {\n const selector = SelectorEngine.getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElement => foundElement === this._element)\n\n if (selector !== null && filterElement.length) {\n this._triggerArray.push(elem)\n }\n }\n\n this._initializeChildren()\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n if (this._isShown()) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning || this._isShown()) {\n return\n }\n\n let activeChildren = []\n\n // find active children\n if (this._config.parent) {\n activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n .filter(element => element !== this._element)\n .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n }\n\n if (activeChildren.length && activeChildren[0]._isTransitioning) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n for (const activeInstance of activeChildren) {\n activeInstance.hide()\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n this._addAriaAndCollapsedClass(this._triggerArray, true)\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n this._element.style[dimension] = ''\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n this._queueCallback(complete, this._element, true)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning || !this._isShown()) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n for (const trigger of this._triggerArray) {\n const element = SelectorEngine.getElementFromSelector(trigger)\n\n if (element && !this._isShown(element)) {\n this._addAriaAndCollapsedClass([trigger], false)\n }\n }\n\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n this._queueCallback(complete, this._element, true)\n }\n\n _isShown(element = this._element) {\n return element.classList.contains(CLASS_NAME_SHOW)\n }\n\n // Private\n _configAfterMerge(config) {\n config.toggle = Boolean(config.toggle) // Coerce string values\n config.parent = getElement(config.parent)\n return config\n }\n\n _getDimension() {\n return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n }\n\n _initializeChildren() {\n if (!this._config.parent) {\n return\n }\n\n const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n for (const element of children) {\n const selected = SelectorEngine.getElementFromSelector(element)\n\n if (selected) {\n this._addAriaAndCollapsedClass([element], this._isShown(selected))\n }\n }\n }\n\n _getFirstLevelChildren(selector) {\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n // remove children if greater depth\n return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n }\n\n _addAriaAndCollapsedClass(triggerArray, isOpen) {\n if (!triggerArray.length) {\n return\n }\n\n for (const element of triggerArray) {\n element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n element.setAttribute('aria-expanded', isOpen)\n }\n }\n\n // Static\n static jQueryInterface(config) {\n const _config = {}\n if (typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n return this.each(function () {\n const data = Collapse.getOrCreateInstance(this, _config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n event.preventDefault()\n }\n\n for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n }\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Collapse)\n\nexport default Collapse\n","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n if (!isHTMLElement(arrowElement)) {\n console.error(['Popper: \"arrow\" element must be an HTMLElement (not an SVGElement).', 'To use an SVG arrow, wrap it in an HTMLElement that will be used as', 'the arrow.'].join(' '));\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: \"arrow\" modifier\\'s `element` must be a child of the popper', 'element.'].join(' '));\n }\n\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref) {\n var x = _ref.x,\n y = _ref.y;\n var win = window;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n\n if (process.env.NODE_ENV !== \"production\") {\n var transitionProperty = getComputedStyle(state.elements.popper).transitionProperty || '';\n\n if (adaptive && ['transform', 'top', 'right', 'bottom', 'left'].some(function (property) {\n return transitionProperty.indexOf(property) >= 0;\n })) {\n console.warn(['Popper: Detected CSS transitions on at least one of the following', 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".', '\\n\\n', 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow', 'for smooth transitions, or remove these properties from the CSS', 'transition declaration on the popper element if only transitioning', 'opacity or background-color for example.', '\\n\\n', 'We recommend using the popper element as a wrapper around an inner', 'element that can have any CSS property transitioned for animations.'].join(' '));\n }\n }\n\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: The `allowedAutoPlacements` option did not allow any', 'placements. Ensure the `placement` option matches the variation', 'of the allowed placements.', 'For example, \"auto\" cannot be used to allow \"bottom-start\".', 'Use \"auto-start\" instead.'].join(' '));\n }\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport getComputedStyle from \"./dom-utils/getComputedStyle.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport validateModifiers from \"./utils/validateModifiers.js\";\nimport uniqueBy from \"./utils/uniqueBy.js\";\nimport getBasePlacement from \"./utils/getBasePlacement.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nimport { auto } from \"./enums.js\";\nvar INVALID_ELEMENT_ERROR = 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nvar INFINITE_LOOP_ERROR = 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n }); // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n\n if (process.env.NODE_ENV !== \"production\") {\n var modifiers = uniqueBy([].concat(orderedModifiers, state.options.modifiers), function (_ref) {\n var name = _ref.name;\n return name;\n });\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n var flipModifier = state.orderedModifiers.find(function (_ref2) {\n var name = _ref2.name;\n return name === 'flip';\n });\n\n if (!flipModifier) {\n console.error(['Popper: \"auto\" placements require the \"flip\" modifier be', 'present and enabled to work.'].join(' '));\n }\n }\n\n var _getComputedStyle = getComputedStyle(popper),\n marginTop = _getComputedStyle.marginTop,\n marginRight = _getComputedStyle.marginRight,\n marginBottom = _getComputedStyle.marginBottom,\n marginLeft = _getComputedStyle.marginLeft; // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n\n\n if ([marginTop, marginRight, marginBottom, marginLeft].some(function (margin) {\n return parseFloat(margin);\n })) {\n console.warn(['Popper: CSS \"margin\" styles cannot be used to apply padding', 'between the popper and its reference element or boundary.', 'To replicate margin, use the `offset` modifier, as well as', 'the `padding` option in the `preventOverflow` and `flip`', 'modifiers.'].join(' '));\n }\n }\n\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n var __debug_loops__ = 0;\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (process.env.NODE_ENV !== \"production\") {\n __debug_loops__ += 1;\n\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref3) {\n var name = _ref3.name,\n _ref3$options = _ref3.options,\n options = _ref3$options === void 0 ? {} : _ref3$options,\n effect = _ref3.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.3.0-alpha1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\nimport {\n defineJQueryPlugin,\n execute,\n getElement,\n getNextActiveElement,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop\n} from './util/index.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport BaseComponent from './base-component.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPEND = 'dropend'\nconst CLASS_NAME_DROPSTART = 'dropstart'\nconst CLASS_NAME_DROPUP_CENTER = 'dropup-center'\nconst CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)'\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR = '.navbar'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'\nconst PLACEMENT_TOPCENTER = 'top'\nconst PLACEMENT_BOTTOMCENTER = 'bottom'\n\nconst Default = {\n autoClose: true,\n boundary: 'clippingParents',\n display: 'dynamic',\n offset: [0, 2],\n popperConfig: null,\n reference: 'toggle'\n}\n\nconst DefaultType = {\n autoClose: '(boolean|string)',\n boundary: '(string|element)',\n display: 'string',\n offset: '(array|string|function)',\n popperConfig: '(null|object|function)',\n reference: '(string|element|object)'\n}\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._popper = null\n this._parent = this._element.parentNode // dropdown wrapper\n // todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n this._inNavbar = this._detectNavbar()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n return this._isShown() ? this.hide() : this.show()\n }\n\n show() {\n if (isDisabled(this._element) || this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._createPopper()\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop)\n }\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n this._menu.classList.add(CLASS_NAME_SHOW)\n this._element.classList.add(CLASS_NAME_SHOW)\n EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (isDisabled(this._element) || !this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n this._completeHide(relatedTarget)\n }\n\n dispose() {\n if (this._popper) {\n this._popper.destroy()\n }\n\n super.dispose()\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.update()\n }\n }\n\n // Private\n _completeHide(relatedTarget) {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop)\n }\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._menu.classList.remove(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOW)\n this._element.setAttribute('aria-expanded', 'false')\n Manipulator.removeDataAttribute(this._menu, 'popper')\n EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n }\n\n _getConfig(config) {\n config = super._getConfig(config)\n\n if (typeof config.reference === 'object' && !isElement(config.reference) &&\n typeof config.reference.getBoundingClientRect !== 'function'\n ) {\n // Popper virtual elements require a getBoundingClientRect method\n throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n }\n\n return config\n }\n\n _createPopper() {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = this._parent\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference)\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference\n }\n\n const popperConfig = this._getPopperConfig()\n this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig)\n }\n\n _isShown() {\n return this._menu.classList.contains(CLASS_NAME_SHOW)\n }\n\n _getPlacement() {\n const parentDropdown = this._parent\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n return PLACEMENT_RIGHT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n return PLACEMENT_LEFT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {\n return PLACEMENT_TOPCENTER\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) {\n return PLACEMENT_BOTTOMCENTER\n }\n\n // We need to trim the value because custom properties can also include spaces\n const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP\n }\n\n return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM\n }\n\n _detectNavbar() {\n return this._element.closest(SELECTOR_NAVBAR) !== null\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const defaultBsPopperConfig = {\n placement: this._getPlacement(),\n modifiers: [{\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }]\n }\n\n // Disable Popper if we have a static display or Dropdown is in Navbar\n if (this._inNavbar || this._config.display === 'static') {\n Manipulator.setDataAttribute(this._menu, 'popper', 'static') // todo:v6 remove\n defaultBsPopperConfig.modifiers = [{\n name: 'applyStyles',\n enabled: false\n }]\n }\n\n return {\n ...defaultBsPopperConfig,\n ...execute(this._config.popperConfig, [defaultBsPopperConfig])\n }\n }\n\n _selectMenuItem({ key, target }) {\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element))\n\n if (!items.length) {\n return\n }\n\n // if target isn't included in items (e.g. when expanding the dropdown)\n // allow cycling to get the last item in case key equals ARROW_UP_KEY\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Dropdown.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n\n static clearMenus(event) {\n if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n return\n }\n\n const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\n\n for (const toggle of openToggles) {\n const context = Dropdown.getInstance(toggle)\n if (!context || context._config.autoClose === false) {\n continue\n }\n\n const composedPath = event.composedPath()\n const isMenuTarget = composedPath.includes(context._menu)\n if (\n composedPath.includes(context._element) ||\n (context._config.autoClose === 'inside' && !isMenuTarget) ||\n (context._config.autoClose === 'outside' && isMenuTarget)\n ) {\n continue\n }\n\n // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n continue\n }\n\n const relatedTarget = { relatedTarget: context._element }\n\n if (event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n context._completeHide(relatedTarget)\n }\n }\n\n static dataApiKeydownHandler(event) {\n // If not an UP | DOWN | ESCAPE key => not a dropdown command\n // If input/textarea && if key is other than ESCAPE => not a dropdown command\n\n const isInput = /input|textarea/i.test(event.target.tagName)\n const isEscapeEvent = event.key === ESCAPE_KEY\n const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n\n if (!isUpOrDownEvent && !isEscapeEvent) {\n return\n }\n\n if (isInput && !isEscapeEvent) {\n return\n }\n\n event.preventDefault()\n\n // todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n this :\n (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n if (isUpOrDownEvent) {\n event.stopPropagation()\n instance.show()\n instance._selectMenuItem(event)\n return\n }\n\n if (instance._isShown()) { // else is escape and we check if it is shown\n event.stopPropagation()\n instance.hide()\n getToggleButton.focus()\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n Dropdown.getOrCreateInstance(this).toggle()\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Dropdown)\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.3.0-alpha1): util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst PROPERTY_PADDING = 'padding-right'\nconst PROPERTY_MARGIN = 'margin-right'\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n constructor() {\n this._element = document.body\n }\n\n // Public\n getWidth() {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = document.documentElement.clientWidth\n return Math.abs(window.innerWidth - documentWidth)\n }\n\n hide() {\n const width = this.getWidth()\n this._disableOverFlow()\n // give padding to element to balance the hidden scrollbar width\n this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width)\n }\n\n reset() {\n this._resetElementAttributes(this._element, 'overflow')\n this._resetElementAttributes(this._element, PROPERTY_PADDING)\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING)\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN)\n }\n\n isOverflowing() {\n return this.getWidth() > 0\n }\n\n // Private\n _disableOverFlow() {\n this._saveInitialAttribute(this._element, 'overflow')\n this._element.style.overflow = 'hidden'\n }\n\n _setElementAttributes(selector, styleProperty, callback) {\n const scrollbarWidth = this.getWidth()\n const manipulationCallBack = element => {\n if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n return\n }\n\n this._saveInitialAttribute(element, styleProperty)\n const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty)\n element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`)\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _saveInitialAttribute(element, styleProperty) {\n const actualValue = element.style.getPropertyValue(styleProperty)\n if (actualValue) {\n Manipulator.setDataAttribute(element, styleProperty, actualValue)\n }\n }\n\n _resetElementAttributes(selector, styleProperty) {\n const manipulationCallBack = element => {\n const value = Manipulator.getDataAttribute(element, styleProperty)\n // We only want to remove the property if the value is `null`; the value can also be zero\n if (value === null) {\n element.style.removeProperty(styleProperty)\n return\n }\n\n Manipulator.removeDataAttribute(element, styleProperty)\n element.style.setProperty(styleProperty, value)\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _applyManipulationCallback(selector, callBack) {\n if (isElement(selector)) {\n callBack(selector)\n return\n }\n\n for (const sel of SelectorEngine.find(selector, this._element)) {\n callBack(sel)\n }\n }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.3.0-alpha1): util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport { execute, executeAfterTransition, getElement, reflow } from './index.js'\nimport Config from './config.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nconst Default = {\n className: 'modal-backdrop',\n clickCallback: null,\n isAnimated: false,\n isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n rootElement: 'body' // give the choice to place backdrop under different elements\n}\n\nconst DefaultType = {\n className: 'string',\n clickCallback: '(function|null)',\n isAnimated: 'boolean',\n isVisible: 'boolean',\n rootElement: '(element|string)'\n}\n\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n this._isAppended = false\n this._element = null\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n show(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._append()\n\n const element = this._getElement()\n if (this._config.isAnimated) {\n reflow(element)\n }\n\n element.classList.add(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n execute(callback)\n })\n }\n\n hide(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n this.dispose()\n execute(callback)\n })\n }\n\n dispose() {\n if (!this._isAppended) {\n return\n }\n\n EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n this._element.remove()\n this._isAppended = false\n }\n\n // Private\n _getElement() {\n if (!this._element) {\n const backdrop = document.createElement('div')\n backdrop.className = this._config.className\n if (this._config.isAnimated) {\n backdrop.classList.add(CLASS_NAME_FADE)\n }\n\n this._element = backdrop\n }\n\n return this._element\n }\n\n _configAfterMerge(config) {\n // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n config.rootElement = getElement(config.rootElement)\n return config\n }\n\n _append() {\n if (this._isAppended) {\n return\n }\n\n const element = this._getElement()\n this._config.rootElement.append(element)\n\n EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n execute(this._config.clickCallback)\n })\n\n this._isAppended = true\n }\n\n _emulateAnimation(callback) {\n executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.3.0-alpha1): util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'focustrap'\nconst DATA_KEY = 'bs.focustrap'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = 'Tab'\nconst TAB_NAV_FORWARD = 'forward'\nconst TAB_NAV_BACKWARD = 'backward'\n\nconst Default = {\n autofocus: true,\n trapElement: null // The element to trap focus inside of\n}\n\nconst DefaultType = {\n autofocus: 'boolean',\n trapElement: 'element'\n}\n\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n this._isActive = false\n this._lastTabNavDirection = null\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n activate() {\n if (this._isActive) {\n return\n }\n\n if (this._config.autofocus) {\n this._config.trapElement.focus()\n }\n\n EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\n EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\n\n this._isActive = true\n }\n\n deactivate() {\n if (!this._isActive) {\n return\n }\n\n this._isActive = false\n EventHandler.off(document, EVENT_KEY)\n }\n\n // Private\n _handleFocusin(event) {\n const { trapElement } = this._config\n\n if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n return\n }\n\n const elements = SelectorEngine.focusableChildren(trapElement)\n\n if (elements.length === 0) {\n trapElement.focus()\n } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n elements[elements.length - 1].focus()\n } else {\n elements[0].focus()\n }\n }\n\n _handleKeydown(event) {\n if (event.key !== TAB_KEY) {\n return\n }\n\n this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.3.0-alpha1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin, isRTL, isVisible, reflow } from './util/index.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport ScrollBarHelper from './util/scrollbar.js'\nimport BaseComponent from './base-component.js'\nimport Backdrop from './util/backdrop.js'\nimport FocusTrap from './util/focustrap.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'modal'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst OPEN_SELECTOR = '.modal.show'\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"modal\"]'\n\nconst Default = {\n backdrop: true,\n focus: true,\n keyboard: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n focus: 'boolean',\n keyboard: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Modal extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element)\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._isShown = false\n this._isTransitioning = false\n this._scrollBar = new ScrollBarHelper()\n\n this._addEventListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._isTransitioning = true\n\n this._scrollBar.hide()\n\n document.body.classList.add(CLASS_NAME_OPEN)\n\n this._adjustDialog()\n\n this._backdrop.show(() => this._showElement(relatedTarget))\n }\n\n hide() {\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n this._isTransitioning = true\n this._focustrap.deactivate()\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n this._queueCallback(() => this._hideModal(), this._element, this._isAnimated())\n }\n\n dispose() {\n for (const htmlElement of [window, this._dialog]) {\n EventHandler.off(htmlElement, EVENT_KEY)\n }\n\n this._backdrop.dispose()\n this._focustrap.deactivate()\n super.dispose()\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n _initializeBackDrop() {\n return new Backdrop({\n isVisible: Boolean(this._config.backdrop), // 'static' option will be translated to true, and booleans will keep their value,\n isAnimated: this._isAnimated()\n })\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _showElement(relatedTarget) {\n // try to append dynamic modal\n if (!document.body.contains(this._element)) {\n document.body.append(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.scrollTop = 0\n\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n if (modalBody) {\n modalBody.scrollTop = 0\n }\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._focustrap.activate()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n this._queueCallback(transitionComplete, this._dialog, this._isAnimated())\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return\n }\n\n if (this._config.keyboard) {\n event.preventDefault()\n this.hide()\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n EventHandler.on(window, EVENT_RESIZE, () => {\n if (this._isShown && !this._isTransitioning) {\n this._adjustDialog()\n }\n })\n\n EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {\n // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks\n EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {\n if (this._element !== event.target || this._element !== event2.target) {\n return\n }\n\n if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition()\n return\n }\n\n if (this._config.backdrop) {\n this.hide()\n }\n })\n })\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n\n this._backdrop.hide(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._scrollBar.reset()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_FADE)\n }\n\n _triggerBackdropTransition() {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n const initialOverflowY = this._element.style.overflowY\n // return if the following background transition hasn't yet completed\n if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {\n return\n }\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n this._element.style.overflowY = initialOverflowY\n }, this._dialog)\n }, this._dialog)\n\n this._element.focus()\n }\n\n /**\n * The following methods are used to handle overflowing modals\n */\n\n _adjustDialog() {\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n const scrollbarWidth = this._scrollBar.getWidth()\n const isBodyOverflowing = scrollbarWidth > 0\n\n if (isBodyOverflowing && !isModalOverflowing) {\n const property = isRTL() ? 'paddingLeft' : 'paddingRight'\n this._element.style[property] = `${scrollbarWidth}px`\n }\n\n if (!isBodyOverflowing && isModalOverflowing) {\n const property = isRTL() ? 'paddingRight' : 'paddingLeft'\n this._element.style[property] = `${scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n // Static\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n const data = Modal.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n // avoid conflict when clicking modal toggler while another one is open\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (alreadyOpen) {\n Modal.getInstance(alreadyOpen).hide()\n }\n\n const data = Modal.getOrCreateInstance(target)\n\n data.toggle(this)\n})\n\nenableDismissTrigger(Modal)\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Modal)\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.3.0-alpha1): offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n isDisabled,\n isVisible\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\nimport EventHandler from './dom/event-handler.js'\nimport BaseComponent from './base-component.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport FocusTrap from './util/focustrap.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\nconst CLASS_NAME_HIDING = 'hiding'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n scroll: false\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._isShown = false\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._addEventListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._backdrop.show()\n\n if (!this._config.scroll) {\n new ScrollBarHelper().hide()\n }\n\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.classList.add(CLASS_NAME_SHOWING)\n\n const completeCallBack = () => {\n if (!this._config.scroll || this._config.backdrop) {\n this._focustrap.activate()\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOWING)\n EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n }\n\n this._queueCallback(completeCallBack, this._element, true)\n }\n\n hide() {\n if (!this._isShown) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._focustrap.deactivate()\n this._element.blur()\n this._isShown = false\n this._element.classList.add(CLASS_NAME_HIDING)\n this._backdrop.hide()\n\n const completeCallback = () => {\n this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n\n if (!this._config.scroll) {\n new ScrollBarHelper().reset()\n }\n\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._queueCallback(completeCallback, this._element, true)\n }\n\n dispose() {\n this._backdrop.dispose()\n this._focustrap.deactivate()\n super.dispose()\n }\n\n // Private\n _initializeBackDrop() {\n const clickCallback = () => {\n if (this._config.backdrop === 'static') {\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n return\n }\n\n this.hide()\n }\n\n // 'static' option will be translated to true, and booleans will keep their value\n const isVisible = Boolean(this._config.backdrop)\n\n return new Backdrop({\n className: CLASS_NAME_BACKDROP,\n isVisible,\n isAnimated: true,\n rootElement: this._element.parentNode,\n clickCallback: isVisible ? clickCallback : null\n })\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return\n }\n\n if (!this._config.keyboard) {\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n return\n }\n\n this.hide()\n })\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Offcanvas.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n // focus on trigger when it is closed\n if (isVisible(this)) {\n this.focus()\n }\n })\n\n // avoid conflict when clicking a toggler of an offcanvas, while another is open\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (alreadyOpen && alreadyOpen !== target) {\n Offcanvas.getInstance(alreadyOpen).hide()\n }\n\n const data = Offcanvas.getOrCreateInstance(target)\n data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n Offcanvas.getOrCreateInstance(selector).show()\n }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n if (getComputedStyle(element).position !== 'fixed') {\n Offcanvas.getOrCreateInstance(element).hide()\n }\n }\n})\n\nenableDismissTrigger(Offcanvas)\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.3.0-alpha1): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttributes = new Set([\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n])\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n const attributeName = attribute.nodeName.toLowerCase()\n\n if (allowedAttributeList.includes(attributeName)) {\n if (uriAttributes.has(attributeName)) {\n return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue) || DATA_URL_PATTERN.test(attribute.nodeValue))\n }\n\n return true\n }\n\n // Check if a regular expression validates the attribute.\n return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n .some(regex => regex.test(attributeName))\n}\n\nexport const DefaultAllowlist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n return sanitizeFunction(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (const element of elements) {\n const elementName = element.nodeName.toLowerCase()\n\n if (!Object.keys(allowList).includes(elementName)) {\n element.remove()\n\n continue\n }\n\n const attributeList = [].concat(...element.attributes)\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n for (const attribute of attributeList) {\n if (!allowedAttribute(attribute, allowedAttributes)) {\n element.removeAttribute(attribute.nodeName)\n }\n }\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.3.0-alpha1): util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n allowList: DefaultAllowlist,\n content: {}, // { selector : text , selector2 : text2 , }\n extraClass: '',\n html: false,\n sanitize: true,\n sanitizeFn: null,\n template: '
'\n}\n\nconst DefaultType = {\n allowList: 'object',\n content: 'object',\n extraClass: '(string|function)',\n html: 'boolean',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n template: 'string'\n}\n\nconst DefaultContentType = {\n entry: '(string|element|function|null)',\n selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n getContent() {\n return Object.values(this._config.content)\n .map(config => this._resolvePossibleFunction(config))\n .filter(Boolean)\n }\n\n hasContent() {\n return this.getContent().length > 0\n }\n\n changeContent(content) {\n this._checkContent(content)\n this._config.content = { ...this._config.content, ...content }\n return this\n }\n\n toHtml() {\n const templateWrapper = document.createElement('div')\n templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n for (const [selector, text] of Object.entries(this._config.content)) {\n this._setContent(templateWrapper, text, selector)\n }\n\n const template = templateWrapper.children[0]\n const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n if (extraClass) {\n template.classList.add(...extraClass.split(' '))\n }\n\n return template\n }\n\n // Private\n _typeCheckConfig(config) {\n super._typeCheckConfig(config)\n this._checkContent(config.content)\n }\n\n _checkContent(arg) {\n for (const [selector, content] of Object.entries(arg)) {\n super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n }\n }\n\n _setContent(template, content, selector) {\n const templateElement = SelectorEngine.findOne(selector, template)\n\n if (!templateElement) {\n return\n }\n\n content = this._resolvePossibleFunction(content)\n\n if (!content) {\n templateElement.remove()\n return\n }\n\n if (isElement(content)) {\n this._putElementInTemplate(getElement(content), templateElement)\n return\n }\n\n if (this._config.html) {\n templateElement.innerHTML = this._maybeSanitize(content)\n return\n }\n\n templateElement.textContent = content\n }\n\n _maybeSanitize(arg) {\n return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n }\n\n _resolvePossibleFunction(arg) {\n return execute(arg, [this])\n }\n\n _putElementInTemplate(element, templateElement) {\n if (this._config.html) {\n templateElement.innerHTML = ''\n templateElement.append(element)\n return\n }\n\n templateElement.textContent = element.textContent\n }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.3.0-alpha1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\nimport { defineJQueryPlugin, execute, findShadowRoot, getElement, getUID, isRTL, noop } from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport BaseComponent from './base-component.js'\nimport TemplateFactory from './util/template-factory.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: isRTL() ? 'left' : 'right',\n BOTTOM: 'bottom',\n LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n allowList: DefaultAllowlist,\n animation: true,\n boundary: 'clippingParents',\n container: false,\n customClass: '',\n delay: 0,\n fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n html: false,\n offset: [0, 0],\n placement: 'top',\n popperConfig: null,\n sanitize: true,\n sanitizeFn: null,\n selector: false,\n template: '
' +\n '
' +\n '
' +\n '
',\n title: '',\n trigger: 'hover focus'\n}\n\nconst DefaultType = {\n allowList: 'object',\n animation: 'boolean',\n boundary: '(string|element)',\n container: '(string|element|boolean)',\n customClass: '(string|function)',\n delay: '(number|object)',\n fallbackPlacements: 'array',\n html: 'boolean',\n offset: '(array|string|function)',\n placement: '(string|function)',\n popperConfig: '(null|object|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n selector: '(string|boolean)',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org)')\n }\n\n super(element, config)\n\n // Private\n this._isEnabled = true\n this._timeout = 0\n this._isHovered = null\n this._activeTrigger = {}\n this._popper = null\n this._templateFactory = null\n this._newContent = null\n\n // Protected\n this.tip = null\n\n this._setListeners()\n\n if (!this._config.selector) {\n this._fixTitle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle() {\n if (!this._isEnabled) {\n return\n }\n\n this._activeTrigger.click = !this._activeTrigger.click\n if (this._isShown()) {\n this._leave()\n return\n }\n\n this._enter()\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n if (this._element.getAttribute('data-bs-original-title')) {\n this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n }\n\n this._disposePopper()\n super.dispose()\n }\n\n show() {\n if (this._element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (!(this._isWithContent() && this._isEnabled)) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n const shadowRoot = findShadowRoot(this._element)\n const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n // todo v6 remove this OR make it optional\n this._disposePopper()\n\n const tip = this._getTipElement()\n\n this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n const { container } = this._config\n\n if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n container.append(tip)\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n }\n\n this._popper = this._createPopper(tip)\n\n tip.classList.add(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop)\n }\n }\n\n const complete = () => {\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n if (this._isHovered === false) {\n this._leave()\n }\n\n this._isHovered = false\n }\n\n this._queueCallback(complete, this.tip, this._isAnimated())\n }\n\n hide() {\n if (!this._isShown()) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const tip = this._getTipElement()\n tip.classList.remove(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop)\n }\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n this._isHovered = null // it is a trick to support manual triggering\n\n const complete = () => {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n if (!this._isHovered) {\n this._disposePopper()\n }\n\n this._element.removeAttribute('aria-describedby')\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n }\n\n this._queueCallback(complete, this.tip, this._isAnimated())\n }\n\n update() {\n if (this._popper) {\n this._popper.update()\n }\n }\n\n // Protected\n _isWithContent() {\n return Boolean(this._getTitle())\n }\n\n _getTipElement() {\n if (!this.tip) {\n this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n }\n\n return this.tip\n }\n\n _createTipElement(content) {\n const tip = this._getTemplateFactory(content).toHtml()\n\n // todo: remove this check on v6\n if (!tip) {\n return null\n }\n\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n // todo: on v6 the following can be achieved with CSS only\n tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n const tipId = getUID(this.constructor.NAME).toString()\n\n tip.setAttribute('id', tipId)\n\n if (this._isAnimated()) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n return tip\n }\n\n setContent(content) {\n this._newContent = content\n if (this._isShown()) {\n this._disposePopper()\n this.show()\n }\n }\n\n _getTemplateFactory(content) {\n if (this._templateFactory) {\n this._templateFactory.changeContent(content)\n } else {\n this._templateFactory = new TemplateFactory({\n ...this._config,\n // the `content` var has to be after `this._config`\n // to override config.content in case of popover\n content,\n extraClass: this._resolvePossibleFunction(this._config.customClass)\n })\n }\n\n return this._templateFactory\n }\n\n _getContentForTemplate() {\n return {\n [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n }\n }\n\n _getTitle() {\n return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title')\n }\n\n // Private\n _initializeOnDelegatedTarget(event) {\n return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n }\n\n _isAnimated() {\n return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n }\n\n _isShown() {\n return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n }\n\n _createPopper(tip) {\n const placement = execute(this._config.placement, [this, tip, this._element])\n const attachment = AttachmentMap[placement.toUpperCase()]\n return Popper.createPopper(this._element, tip, this._getPopperConfig(attachment))\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\n\n _resolvePossibleFunction(arg) {\n return execute(arg, [this._element])\n }\n\n _getPopperConfig(attachment) {\n const defaultBsPopperConfig = {\n placement: attachment,\n modifiers: [\n {\n name: 'flip',\n options: {\n fallbackPlacements: this._config.fallbackPlacements\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n },\n {\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'arrow',\n options: {\n element: `.${this.constructor.NAME}-arrow`\n }\n },\n {\n name: 'preSetPlacement',\n enabled: true,\n phase: 'beforeMain',\n fn: data => {\n // Pre-set Popper's placement attribute in order to read the arrow sizes properly.\n // Otherwise, Popper mixes up the width and height dimensions since the initial arrow style is for top placement\n this._getTipElement().setAttribute('data-popper-placement', data.state.placement)\n }\n }\n ]\n }\n\n return {\n ...defaultBsPopperConfig,\n ...execute(this._config.popperConfig, [defaultBsPopperConfig])\n }\n }\n\n _setListeners() {\n const triggers = this._config.trigger.split(' ')\n\n for (const trigger of triggers) {\n if (trigger === 'click') {\n EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context.toggle()\n })\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.eventName(EVENT_MOUSEENTER) :\n this.constructor.eventName(EVENT_FOCUSIN)\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.eventName(EVENT_MOUSELEAVE) :\n this.constructor.eventName(EVENT_FOCUSOUT)\n\n EventHandler.on(this._element, eventIn, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n context._enter()\n })\n EventHandler.on(this._element, eventOut, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n context._element.contains(event.relatedTarget)\n\n context._leave()\n })\n }\n }\n\n this._hideModalHandler = () => {\n if (this._element) {\n this.hide()\n }\n }\n\n EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n }\n\n _fixTitle() {\n const title = this._element.getAttribute('title')\n\n if (!title) {\n return\n }\n\n if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n this._element.setAttribute('aria-label', title)\n }\n\n this._element.setAttribute('data-bs-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n this._element.removeAttribute('title')\n }\n\n _enter() {\n if (this._isShown() || this._isHovered) {\n this._isHovered = true\n return\n }\n\n this._isHovered = true\n\n this._setTimeout(() => {\n if (this._isHovered) {\n this.show()\n }\n }, this._config.delay.show)\n }\n\n _leave() {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n this._isHovered = false\n\n this._setTimeout(() => {\n if (!this._isHovered) {\n this.hide()\n }\n }, this._config.delay.hide)\n }\n\n _setTimeout(handler, timeout) {\n clearTimeout(this._timeout)\n this._timeout = setTimeout(handler, timeout)\n }\n\n _isWithActiveTrigger() {\n return Object.values(this._activeTrigger).includes(true)\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n for (const dataAttribute of Object.keys(dataAttributes)) {\n if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n delete dataAttributes[dataAttribute]\n }\n }\n\n config = {\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n _configAfterMerge(config) {\n config.container = config.container === false ? document.body : getElement(config.container)\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n for (const [key, value] of Object.entries(this._config)) {\n if (this.constructor.Default[key] !== value) {\n config[key] = value\n }\n }\n\n config.selector = false\n config.trigger = 'manual'\n\n // In the future can be replaced with:\n // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n // `Object.fromEntries(keysWithDifferentValues)`\n return config\n }\n\n _disposePopper() {\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n\n if (this.tip) {\n this.tip.remove()\n this.tip = null\n }\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Tooltip.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n}\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Tooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.3.0-alpha1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin } from './util/index.js'\nimport Tooltip from './tooltip.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\nconst Default = {\n ...Tooltip.Default,\n content: '',\n offset: [0, 8],\n placement: 'right',\n template: '
' +\n '
' +\n '

' +\n '
' +\n '
',\n trigger: 'click'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Overrides\n _isWithContent() {\n return this._getTitle() || this._getContent()\n }\n\n // Private\n _getContentForTemplate() {\n return {\n [SELECTOR_TITLE]: this._getTitle(),\n [SELECTOR_CONTENT]: this._getContent()\n }\n }\n\n _getContent() {\n return this._resolvePossibleFunction(this._config.content)\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Popover.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n}\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Popover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.3.0-alpha1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin, getElement, isDisabled, isVisible } from './util/index.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport BaseComponent from './base-component.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_TARGET_LINKS = '[href]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst Default = {\n offset: null, // TODO: v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: '0px 0px -25%',\n smoothScroll: false,\n target: null,\n threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n offset: '(number|null)', // TODO v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: 'string',\n smoothScroll: 'boolean',\n target: 'element',\n threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n // this._element is the observablesContainer and config.target the menu links wrapper\n this._targetLinks = new Map()\n this._observableSections = new Map()\n this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n this._activeTarget = null\n this._observer = null\n this._previousScrollData = {\n visibleEntryTop: 0,\n parentScrollTop: 0\n }\n this.refresh() // initialize\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n refresh() {\n this._initializeTargetsAndObservables()\n this._maybeEnableSmoothScroll()\n\n if (this._observer) {\n this._observer.disconnect()\n } else {\n this._observer = this._getNewObserver()\n }\n\n for (const section of this._observableSections.values()) {\n this._observer.observe(section)\n }\n }\n\n dispose() {\n this._observer.disconnect()\n super.dispose()\n }\n\n // Private\n _configAfterMerge(config) {\n // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case\n config.target = getElement(config.target) || document.body\n\n // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only\n config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin\n\n if (typeof config.threshold === 'string') {\n config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n }\n\n return config\n }\n\n _maybeEnableSmoothScroll() {\n if (!this._config.smoothScroll) {\n return\n }\n\n // unregister any previous listeners\n EventHandler.off(this._config.target, EVENT_CLICK)\n\n EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n const observableSection = this._observableSections.get(event.target.hash)\n if (observableSection) {\n event.preventDefault()\n const root = this._rootElement || window\n const height = observableSection.offsetTop - this._element.offsetTop\n if (root.scrollTo) {\n root.scrollTo({ top: height, behavior: 'smooth' })\n return\n }\n\n // Chrome 60 doesn't support `scrollTo`\n root.scrollTop = height\n }\n })\n }\n\n _getNewObserver() {\n const options = {\n root: this._rootElement,\n threshold: this._config.threshold,\n rootMargin: this._config.rootMargin\n }\n\n return new IntersectionObserver(entries => this._observerCallback(entries), options)\n }\n\n // The logic of selection\n _observerCallback(entries) {\n const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n const activate = entry => {\n this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n this._process(targetElement(entry))\n }\n\n const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n this._previousScrollData.parentScrollTop = parentScrollTop\n\n for (const entry of entries) {\n if (!entry.isIntersecting) {\n this._activeTarget = null\n this._clearActiveClass(targetElement(entry))\n\n continue\n }\n\n const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n // if we are scrolling down, pick the bigger offsetTop\n if (userScrollsDown && entryIsLowerThanPrevious) {\n activate(entry)\n // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n if (!parentScrollTop) {\n return\n }\n\n continue\n }\n\n // if we are scrolling up, pick the smallest offsetTop\n if (!userScrollsDown && !entryIsLowerThanPrevious) {\n activate(entry)\n }\n }\n }\n\n _initializeTargetsAndObservables() {\n this._targetLinks = new Map()\n this._observableSections = new Map()\n\n const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n for (const anchor of targetLinks) {\n // ensure that the anchor has an id and is not disabled\n if (!anchor.hash || isDisabled(anchor)) {\n continue\n }\n\n const observableSection = SelectorEngine.findOne(anchor.hash, this._element)\n\n // ensure that the observableSection exists & is visible\n if (isVisible(observableSection)) {\n this._targetLinks.set(anchor.hash, anchor)\n this._observableSections.set(anchor.hash, observableSection)\n }\n }\n }\n\n _process(target) {\n if (this._activeTarget === target) {\n return\n }\n\n this._clearActiveClass(this._config.target)\n this._activeTarget = target\n target.classList.add(CLASS_NAME_ACTIVE)\n this._activateParents(target)\n\n EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n }\n\n _activateParents(target) {\n // Activate dropdown parents\n if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, target.closest(SELECTOR_DROPDOWN))\n .classList.add(CLASS_NAME_ACTIVE)\n return\n }\n\n for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n // Set triggered links parents as active\n // With both