Changeset - a2f38653fb02
[Not reviewed]
0 55 0
Ben Sturmfels (bsturmfels) - 2 months ago 2024-07-22 08:39:05
ben@sturm.com.au
Fix trailing whitespace and missing end-of-file newline
55 files changed with 164 insertions and 187 deletions:
0 comments (0 inline, 0 general)
conservancy/blog/admin.py
Show inline comments
...
 
@@ -8,14 +8,12 @@ class EntryTagAdmin(admin.ModelAdmin):
 
    prepopulated_fields = {'slug': ('label',)}
 

	
 

	
 

	
 
@admin.register(Entry)
 
class EntryAdmin(admin.ModelAdmin):
 
    list_display = ('pub_date', 'headline', 'author')
 
    list_filter = ['pub_date']
 
    date_hierarchy = 'pub_date'
 
    search_fields = ['headline', 'summary', 'body']
 
    prepopulated_fields = {'slug': ("headline",)}
 
    filter_horizontal = ('tags',)
 

	
 

	
conservancy/blog/views.py
Show inline comments
...
 
@@ -114,44 +114,44 @@ def query(request):
 
def relative_redirect(request, path):
 
    from django import http
 

	
 
    host = request.get_host()
 

	
 
    url = "{}://{}{}".format(request.is_secure() and 'https' or 'http', host, path)
 
    return http.HttpResponseRedirect(url)
 

	
 
class BlogYearArchiveView(YearArchiveView):
 
    make_object_list = True
 
    allow_future = True
 
    extra_context = {}
 
    
 

 
    def get_context_data(self, **kwargs):
 
        context = super().get_context_data(**kwargs)
 
        context.update(self.extra_context)
 
        return context
 

	
 
class BlogMonthArchiveView(MonthArchiveView):
 
    allow_future = True
 
    extra_context = {}
 
    
 

 
    def get_context_data(self, **kwargs):
 
        context = super().get_context_data(**kwargs)
 
        context.update(self.extra_context)
 
        return context
 

	
 
class BlogDayArchiveView(DayArchiveView):
 
    allow_future = True
 
    extra_context = {}
 
    
 

 
    def get_context_data(self, **kwargs):
 
        context = super().get_context_data(**kwargs)
 
        context.update(self.extra_context)
 
        return context
 

	
 
class BlogDateDetailView(DateDetailView):
 
    allow_future = True
 
    extra_context = {}
 
    
 

 
    def get_context_data(self, **kwargs):
 
        context = super().get_context_data(**kwargs)
 
        context.update(self.extra_context)
 
        return context
conservancy/content/about/board/index.html
Show inline comments
...
 
@@ -108,25 +108,25 @@ full-time staffer since early 2011.  Kuhn holds a summa cum laude B.S. in
 
Computer Science
 
from <a href="http://www.loyola.edu/academic/computerscience">Loyola
 
University in Maryland</a>, and an M.S. in Computer Science from
 
the <a href="http://www.cs.uc.edu/">University of
 
Cincinnati</a>.  <a href="http://www.ebb.org/bkuhn/articles/thesis/">Kuhn's
 
Master's thesis</a> discussed methods for dynamic interoperability of Free
 
Software programming languages.  Kuhn received
 
the <a href="http://www.oscon.com/oscon2012/public/schedule/detail/25039">O'Reilly
 
Open Source Award in 2012</a>, in recognition for his lifelong policy work on
 
copyleft licensing.  Kuhn has <a href="http://ebb.org/bkuhn/blog/">a
 
blog</a> and co-hosts
 
the audcast, <a href="http://faif.us/"><cite>Free as in Freedom</cite></a>.</p>
 
  
 

 
<h2 id="allison">Dr. Allison Randal - Chair of the Board</h2>
 

	
 
<p> Over the course of multiple decades as a free software developer,
 
 Allison has worked in a wide variety of projects and domains, from
 
 games, linguistic analysis tools, websites, mobile apps, shipping
 
 fulfillment, and talking smart-home appliances, to programming language
 
 design, compilers, hypervisors, containers, deployment automation,
 
 database replication, operating systems and kernels, and hardware
 
 architectures and microarchitectures.</p>
 

	
 
<p>She is a board member at the Open Infrastructure Foundation, vice chair
 
 of the Microarchitecture Side Channels (Security) SIG at RISC-V
conservancy/content/about/staff/index.html
Show inline comments
...
 
@@ -26,25 +26,25 @@ degree in English from the University of Chicago.</p>
 
well as planning and carrying out our enforcement strategy (with advice and
 
input from SFC's Executive Director and Policy Fellow).  Outside of SFC, Denver
 
also co-runs a FOSS business. Previously, Denver authored financial trading
 
software on Linux.  Denver writes free software in his spare time: his patches
 
have been accepted into Wine, Linux, and wdiff.  Denver received his BMath in
 
Computer Science from the University of Waterloo.  He gives presentations about
 
digital civil rights and how to ensure FOSS remains sustainable as a community
 
and financially, having spoken at conferences such as LinuxCon North America,
 
Texas Linux Fest, LibrePlanet, CopyCamp Toronto, FOSSLC's Summercamp,
 
CopyleftConf, and the Open Video Conference.</p>
 

	
 
<h2 id="tracy">Tracy Homer - Operations Manager</h2>
 
<p>Tracy acts as Operations Manager at Software Freedom Conservancy. 
 
<p>Tracy acts as Operations Manager at Software Freedom Conservancy.
 
Bringing her super-skills of organization and love of bureaucracy,
 
she helps things run at SFC smoothly behind the scenes.
 
Tracy also serves on the board of her local hackerspace, an organization
 
committed to teaching and promoting open technology exclusively.
 
She feels that open techonology allows people to express their creativity
 
regardless of their financial situation or technical background.
 
Tracy is currently persuing a degree in GIS from the University of Tennessee.</p>
 

	
 

	
 
<h2 id="bkuhn">Bradley M. Kuhn - Policy Fellow and Hacker-in-Residence</h2>
 

	
 
<p><a href="http://ebb.org/bkuhn/">Bradley M. Kuhn</a> is
conservancy/content/copyleft-compliance/about.html
Show inline comments
...
 
@@ -55,25 +55,25 @@ via <a href="mailto:PROJECTNAME@sfconservancy.org">&lt;PROJECTNAME@sfconservancy
 
for more information on getting involved in compliance efforts in that
 
project.
 
</p>
 

	
 
<h2 id="linux">GPL Compliance Project For Linux Developers</h2>
 

	
 
<p>In May
 
2012, <a href="/news/2012/may/29/compliance/">Conservancy
 
launched</a> the <cite>GPL
 
Compliance Project for Linux Developers</cite>, which handles compliance and
 
enforcement activities on behalf of more than a dozen Linux copyright
 
holders.</p>
 
 
 

 
<p>The GPL Compliance Project for Linux Developers is comprised of copyright
 
holders in the kernel, Linux, who have contributed to Linux under its
 
license, <a href="http://www.gnu.org/licenses/gpl-2.0.html">the
 
GPLv2</a>. These copyright holders have formally asked Conservancy to engage
 
in compliance efforts for their copyrights in the Linux kernel.  In addition,
 
some developers have directly assigned their copyrights on Linux to Conservancy,
 
so Conservancy also enforces the GPL on Linux via its own copyrights in Linux.</p>
 

	
 
<p>Linux copyright holders who wish to assign copyright to or sign an enforcement agreement with
 
Conservancy should
 
  contact <a href="mailto:linux-services@sfconservancy.org">&lt;linux-services@sfconservancy.org&gt;</a>.
 
  In 2016,
conservancy/content/copyleft-compliance/enforcement-strategy.html
Show inline comments
...
 
@@ -69,25 +69,25 @@
 
  source is usable and readily available to hobbyists. It is our duty, as
 
  activists for the software freedom of hobbyists, to ensure these legally
 
  mandated rights are never curtailed.</p>
 

	
 
<p>(More on the OpenWrt project’s history and its connection to GPL
 
  enforcement can be found
 
  in <a href="https://www.youtube.com/watch?v=r4lCMx-EI1s">Kuhn’s talk
 
    at <em>OpenWrt Summit 2016</em></a>.)</p>
 

	
 
<p>Conservancy has had substantial success in leveraging more device freedom
 
  in other subindustries through GPL compliance. In 2009, Conservancy, with
 
  co-Plaintiff Erik Andersen, sued fourteen defendants in federal court under
 
  copyright claims on behalf of its BusyBox member project. Conservancy 
 
  copyright claims on behalf of its BusyBox member project. Conservancy
 
  achieved compliance for the BusyBox project in all fourteen
 
  cases. Most notably, the GPL-compliant source release obtained in the
 
  lawsuit for certain Samsung televisions provided the basis for
 
  the <a href="https://www.samygo.tv/">SamyGo project</a> — an alternative
 
  firmware that works on that era of Samsung televisions and allows consumers
 
  to modify and upgrade their firmware using FOSS.</p>
 

	
 
<p>Harald Welte also continued his efforts during the early and mid-2000s,
 
  after the Linksys enforcement, through
 
  his <a href="https://gpl-violations.org/">gpl-violations.org
 
    project</a>. Harald successfully sued many companies (mostly in the
 
  wireless router industry) in Germany to achieve compliance and yield source
conservancy/content/copyleft-compliance/firmware-liberation.html
Show inline comments
...
 
@@ -11,25 +11,25 @@ project that creates a functioning alternative firmware for those devices.
 
The promise of GPL enforcement is only realized through actual, practical use
 
and improvement of the released software for users.</p>
 

	
 
<h2 id="gpl-enforcement-needs-follow-through">GPL Enforcement Needs Follow-Through</h2>
 

	
 
<p>Simply enforcing the GPL is an important first step, and Conservancy
 
  <a href="enforcement-strategy.html">continues our efforts in that
 
  regard</a>. However, we can
 
  replicate <a href="/copyleft-compliance/enforcement-strategy.html#brief-history-of-user-focused-gpl-enforcement">the
 
  success found with OpenWrt</a> <em>only by</em> a substantial
 
  effort <strong>after</strong> enforcement occurs to turn the compliant
 
  source release into a viable alternative firmware for the platform.</p>
 
                                           
 

 
<p>Conservancy has seen non-compliant Linux-based firmwares on refrigerators,
 
  baby monitors, virtual assistants, soundbars, doorbells, home security
 
  cameras, police body cameras, cars, AV receivers, and televisions.  We
 
  believe that building an alternative firmware for one of these classes of
 
  devices &mdash; or joining our work with an existing alternative firmware project
 
  that is struggling due to lack of sources available &mdash; will lead to
 
  more palpable software freedom for users of these device.</p>
 

	
 

	
 
<h2 id="limited-success-of-alternative-hardware">Limited Success of
 
  Alternative Hardware</h2>
 

	
conservancy/content/copyleft-compliance/help.html
Show inline comments
...
 
@@ -20,26 +20,26 @@
 
    that CCS</strong>!  If you don't get it, or they give you the run-around,
 
    then <a href="#reporting">report the violation to us</a>!</p>
 

	
 
<h2 id="reporting">Reporting GPL Violations To Us</h2>
 

	
 
<p>If you are aware of a license violation or compliance issue regarding any
 
  copyleft license, such as the AGPL, GPL or LGPL,
 
  please <a href="mailto:compliance@sfconservancy.org">contact us by email at
 
  &lt;compliance@sfconservancy.org&gt;</a>.</p>
 

	
 
<!--- FIXME: bkuhn is rewriting this blog post fresh the weekend of --
 
      2020-07-18 so we need not link to ebb.org anymore when we roll out
 
      these changes ... which never happened, still need to do that --> 
 
      these changes ... which never happened, still need to do that -->
 

	
 
<p>If you think you've found a GPL violation, we encourage you to
 
   read <a href="http://ebb.org/bkuhn/blog/2009/11/08/gpl-enforcement.html">this
 
   personal blog post by our Policy Fellow, Bradley M. Kuhn</a>, about good
 
   practices in discovering and reporting GPL violations.</p>
 
   
 

 
<h2 id="sustain">Donate to Sustain This Work</h2>
 

	
 
<p>Finally, Conservancy welcomes <a href="#donate-box"
 
  class="donate-now">donations</a> in support of our copyleft compliance work,
 
  and we encourage you to become a <a href="/sustainer/">an official
 
  Sustainer of Software Freedom Conservancy</a>. </p>
 
{% endblock %}
conservancy/content/copyleft-compliance/vizio-filing-press-release.html
Show inline comments
...
 
@@ -121,19 +121,19 @@ to <a href="https://sfconservancy.org">sfconservancy.org</a>.</p>
 

	
 

	
 
<h3>SUPPLEMENTAL RESOURCES FOR JOURNALISTS</h3>
 

	
 
<ul>
 
<li><a href="https://sfconservancy.org/docs/software-freedom-conservancy-v-vizio-announce-press-kit.pdf">A
 
full press kit, with substantial additional information and resources for
 
    journalists covering this story, can be viewed and downloaded here.</li>
 

	
 
<li><a href="/docs/software-freedom-conservancy-v-vizio-complaint-2021-10-19.pdf">The
 
    legal complaint is available</a>.</li>
 
</ul>
 
  
 

 

	
 
<h3>MEDIA CONTACT</h3>
 

	
 
<p>Hannah Gregory, Media Rep for Good Causes<br/>
 
<a href="mailto:media@sfconservancy.org">&lt;media@sfconservancy.org&gt;</a></p>
 
{% endblock %}
conservancy/content/copyleft-compliance/vmware-lawsuit-appeal.html
Show inline comments
...
 
@@ -20,30 +20,30 @@
 
    the link on the right</a>.</em></p>
 

	
 

	
 
<p>We were told to ask nicely and repeatedly, so we did.</p>
 

	
 
<p>We asked allies to help us make contact in friendly and professional
 
  ways.</p>
 

	
 
<p>Everyone asked us to give companies as many chances as possible and as
 
  much help as possible to comply with copyleft, so we did.</p>
 

	
 
<p>We've worked for years to help VMware comply with the GPL, but they
 
refuse. Negotiations broke down for the last time when they insisted on an 
 
refuse. Negotiations broke down for the last time when they insisted on an
 
NDA just to discuss settlement terms!</p>
 

	
 
<p>Christoph is among the most active developers of Linux.  As of Feburary 
 
19, 2015, Christoph has contributed 279,653 lines of code to the Linux kernel, 
 
and ranks 20th among the 1,340 developers involved in the latest 3.19 kernel 
 
<p>Christoph is among the most active developers of Linux.  As of Feburary
 
19, 2015, Christoph has contributed 279,653 lines of code to the Linux kernel,
 
and ranks 20th among the 1,340 developers involved in the latest 3.19 kernel
 
release.  Christoph also
 
ranks 4th among those who have reviewed third-party source code, tirelessly
 
corrected and commented on other developers' contributions.  Christoph
 
licenses his code to the public under the terms of the GPL for practical and
 
ideological reasons.  VMware, a company with net revenue of over $1 billion
 
and over 14,000 employees, ignored Christoph's choice.  They took Christoph's
 
code from Linux and modified it to work with their own kernel without releasing
 
source code of the resulting complete work.  This is precisely the kind of
 
activity Christoph and other kernel developers seek to prevent by choosing
 
the GPL.  The GPL was written to prevent this specific scenario!</p>
 

	
 
<h3>This is a matter of principle.</h3>
...
 
@@ -88,42 +88,42 @@ software communities alike.</p>
 
  After you <a href="#donate-box" class="donate-now">donate</a>, go and tell the world: &ldquo;Play by the rules, @VMware. I defend the #GPL with Christoph &amp; @Conservancy. #DTRTvmware  Help at https://sfconservancy.org/sustainer/ &rdquo; on your blog or microblog.
 
  </p>
 

	
 

	
 
<h3>Isn't the combined works and/or derivative works question a legal grey area?</h3>
 

	
 
<p>We don't think so, but this case will let the court to decide that question.
 
Either way, it's beneficial to our entire community to find out what the
 
judges think.  (Check out our <a href="/copyleft-compliance/vmware-lawsuit-faq.html">FAQ to find out more
 
information</a>.)</p>
 

	
 
<p>Help us pay for this expensive lawsuit and to generally defend software
 
  freedom and the GPL.  Help us show the world that copyleft matters.  We are excited 
 
  to announce that we already reached an anonymous match for this campaign, where every dollar donated 
 
  freedom and the GPL.  Help us show the world that copyleft matters.  We are excited
 
  to announce that we already reached an anonymous match for this campaign, where every dollar donated
 
  was matched up to $50,000. However, that $100,000 is just an initial step
 
  and there is so much GPL enforcement work to do.  So, please
 
  donate now: by becoming <a href="/sustainer/">a Conservancy Sustainer</a> or
 
  via <a href="#donate-box" class="donate-now">donate link on the right</a>.</p>
 

	
 
<h3>Want To Know More?</h3>
 

	
 
<p>Watch the video below of Conservancy Executive Director, Karen Sandler,
 
  <a href="/news/2015/mar/31/libreplanet/">delivering a keynote on this topic
 
  at
 
    LibrePlanet 2015</a>:</p>
 
<p>
 
 <video controls
 
         preload="auto" class="video-js vjs-default-skin"
 
         data-setup='{"height": 276,
 
                      "width": 640 }'>
 
    <source src="https://media.libreplanet.org/mgoblin_media/media_entries/113/karen-sandler-keynote-2015.medium.webm"
 

	
 
              type="video/webm; codecs=&#34;vp8, vorbis&#34;"
 
             />
 
   
 

 
 </video>
 
</p>
 

	
 
<p>Or, read <a href="/copyleft-compliance/vmware-lawsuit-faq.html">our FAQ about
 
    the lawsuit</a>.</p>
 

	
 
{% endblock %}
conservancy/content/npoacct/index.html
Show inline comments
...
 
@@ -103,25 +103,25 @@ Interest; all encourage you to <a href="#donate-box" class="donate-now">donate a
 

	
 
<p>Indeed, Conservancy reached out into the broader fiscal sponsorship
 
  community beyond the <abbr title="Free, Libre and Open Source Software">FLOSS</abbr>
 
  <abbr title="Non-profit Organization">NPO</abbr> community and discovered that many larger fiscal sponsors &mdash; even
 
  those willing to use proprietary components &mdash; have cobbled together
 
  their own unique systems, idiosyncratically tailored to their specific
 
  environments.  Thus, good, well-designed, and reusable accounting software
 
  for non-profit fiscal sponsorship is not just missing in the software
 
  freedom community; it's missing altogether.</p>
 

	
 

	
 
<p>The project that Conservancy proposes will take a modest step
 
  forward in creating a better solution for everyone. 
 
  forward in creating a better solution for everyone.
 
  <a href="#quotes">Many NPO leaders and academics agree</a> with Conservancy about the
 
  immediate need for work to begin on this
 
  effort.  <a id="endorsements"
 
  style="text-decoration:none"></a><a href="http://april.org">April</a>, <a href="https://www.fracturedatlas.org">Fractured Atlas</a>, The <a href="http://fsf.org">Free Software
 
  Foundation</a>, The <a href="https://www.mozilla.org/foundation/">Mozilla
 
Foundation</a>, The <a href="http://www.gnome.org/foundation/">GNOME Foundation</a>,  <a
 
        href="https://openhatch.org/">OpenHatch</a>, <a href="http://opensource.org/node/658">Open Source Initiative</a>,
 
  <a href="http://QuestionCopyright.org">QuestionCopyright.org</a>, and <a href="http://www.spi-inc.org/">Software in the Public Interest</a> have
 
  all endorsed Conservancy's plan, and they encourage you to <a href="#donate-box" class="donate-now">donate and
 
  support it</a>.</p>
 

	
 
<p>Conservancy is uniquely qualified to undertake this task.  Using only Free
conservancy/content/press/qanda.html
Show inline comments
...
 
@@ -19,77 +19,77 @@
 

	
 
<p>It appears from extensive research that the core components of SmartCast were not created by Vizio, but rather, are based on various components licensed to the public under free and open-source software (FOSS) licenses. Most notably, many of the programs that are part of the SmartCast system are licensed under the GPL.</p>
 

	
 
<h3 id="">Q: What is copyleft?</h3>
 

	
 
<p>Copyleft is a term used to describe a license that uses the rights granted under copyright—not to restrict usage, but instead to ensure that the software is always shared freely.</p>
 

	
 
<h3 id="">Q: What is FOSS? </h3>
 

	
 
<p>“FOSS” stands for free and open-source software that allows for software freedom. “Software freedom” means the freedom of a user to run, study, (re)distribute, and (re)install (modified) versions of a piece of software. More generally, it is the idea that we are entitled to rights when using software and there should be equal protections for privacy and redistribution. The rights should treat everyone equally: big businesses and individual consumers and users alike.</p>
 

	
 
<h3 id="">Q: I thought FOSS allowed companies to simply take software from the commons and put it into their products whenever they wanted? Isn’t that the whole point of FOSS—for companies to get components for their products and lower their cost of production?</h3>
 
   
 

 
<p>While that is the main advantage that big corporations get from FOSS, it was never the primary impetus behind FOSS. Particularly through special licensing terms like the GPL, this licensing approach creates an egalitarian community of users, developers, and consumers. When functioning correctly, each individual and organization that participates in FOSS stands on equal footing with everyone else. Licenses like the GPL have rules to assure everyone's rights in that ecosystem are treated with equal respect and reverence. This is why compliance with these rules is important and we must stand up against companies who refuse to comply. </p>
 
 
 

 
<h3 id="">Q: But, I'm not a software developer. Why should I care at all that Vizio won’t let me modify and reinstall GPL’d components in its SmartCast system?</h3>
 
 
 

 
<p>Right-to-repair software is essential for everyone, even if you don't know how to make the repairs yourself. Once upon a time, we had lots of local vendors that could repair and fix TVs when they broke.  That’s because TVs were once analog hardware devices that could be taken apart and understood merely by inspection from someone with the sufficient knowledge. TVs today are simply a little computer attached to a large display. As such, the most important part that needs repairs is usually when the software malfunctions, has bugs, or otherwise needs upgrades and changes. The GPL was specifically designed to assure such fixes could be done, and that consumers (or agents those consumers hire on the open market) can make such repairs and changes. </p>
 
     
 

 
<h3 id="">Q: Alright, that makes sense, but I’m happy with Vizio’s SmartCast right now. What difference does it make to me if Vizio won’t give me the rights under the GPL?</h3>
 

	
 
<p>Time and time again, companies stop supporting the software build for the device long before the computer inside the device fails. In other words, these devices are built for planned premature obsolescence. </p>
 

	
 
<p>By refusing to comply with the pro-consumer terms of the GPL, Vizio has the power to disable your TV at any time it wants, over your internet connection, without your knowledge or consent. If Vizio complied with the GPL, all would not be lost in this scenario: volunteers and third-party entities could take GPL’d software as a basis for a replacement for SmartCast. Without these rights, consumers are essentially forced to purchase new devices when they could be repaired.</p>
 

	
 
<h3 id="">Q: Creation of a replacement for SmartCast seems far-fetched to me. After all, most of the software in SmartCast is not actually GPL’d, only a portion of the components and programs are GPL’d.  How will Vizio's compliance with the GPL actually lead to an alternative firmware?</h3>
 
    
 

 
<p>Years ago, people said the very same thing about wireless routers, which had only partially GPL'd firmwares. However, thanks to actions to enforce the GPL in the wireless router market, the OpenWrt project was born! That project is now the premiere replacement software for wireless routers from almost every major manufacturer on the market. There is now healthy competition and even occasional cooperation between a hobbyist and community-led firmware project and the wireless router manufacturers. We believe the same can happen for TVs, but the first step is assuring the entire TV market complies with the GPL.</p>
 
    
 

 
<h3 id="">Q: What indications do you have that compliance with the GPL will be a catalyst for alternative firmwares?</h3>
 

	
 
<p>Beyond the OpenWrt example, Software Freedom Conservancy sued 14 defendants for GPL violations in 2009, including Samsung for its 2009-era TV models. Thanks to the source release that was achieved through the settlement of that lawsuit, a community-led SamyGo project was created for that era of TVs. (source)</p>
 
    
 

 
<h3 id="">Q: Who is the plaintiff in the lawsuit?</h3>
 

	
 
<p>Software Freedom Conservancy is the plaintiff in this case. The organization is filing as a third-party beneficiary, as the purchaser of a product which has copylefted code on it. A consumer of a product such as this has the right to access the source code so that it can be modified, studied, and redistributed (under the appropriate license conditions).</p>
 

	
 
<h3 id="">Q: What makes this different than other GPL compliance lawsuits?</h3>
 

	
 
<p>In the past, the plaintiffs have always been copyright holders of the specific GPL code. In this case Software Freedom Conservancy is demonstrating that it's not just the copyright holders, but also the receivers of the licensed code which are entitled to their rights.</p>
 

	
 
<h3 id="">Q: What type of case is this?  How does it compare to previous litigation by Software Freedom Conservancy regarding the GPL?</h3>
 

	
 
<p>Previously, Software Freedom Conservancy filed as a copyright holder in federal court, or coordinated or funded litigation by other copyright holders in copyright cases in the U.S. and Germany. This is an example of how, historically, GPL litigation has focused on the rights of the developers. However, the rights assured by the GPL are actually not intended primarily for the original developers, but rather for people who purchase products that contain GPL’d software. That is what makes this litigation unique and historic in terms of defending consumer rights. It is the first case that focuses on the rights of individual consumers as third-party beneficiaries of the GPL.</p>
 
     
 

 
<h3 id="">Q: Why are you filing a third-party beneficiary claim instead of a copyright claim?</h3>
 

	
 
<p>For too long, GPL enforcement has focused only on the rights of developers, who are often not the ones impacted by the technology in question. Some of those same developers even have lucrative jobs working for the various companies that violate the GPL. The GPL was designed to put the rights of hobbyists, individual developers, consumers, small companies, and nonprofit organizations on equal footing with big companies. With the advent of more contributions to GPL’d software coming from for-profit multinational corporations and fewer from individuals, the rights of these other parties are often given second-class billing. The third-party beneficiary claim prioritizes the consumers, who are the users and the most important beneficiaries of the rights under GPL.</p>
 

	
 
<h3 id="">Q:  Are you saying the rights of developers under the GPL are not important?</h3>
 

	
 
<p>Not at all! Most would agree that individual developers care deeply about the software freedom of users. They are the artists who create the amazing FOSS on which all of us rely. However, as Francis Ford Coppola once said (paraphrased), “to understand who holds the power in any culture, look not to the artists but who employs the artists”—a quote which suits this situation well. Large multinational corporations have co-opted FOSS for their own bottom lines. While many developers privately cheer Software Freedom Conservancy’s efforts and donate money to this cause, they fear the power that their employers exert and have asked Software Freedom Conservancy to fight for the software freedom of users.</p>
 
    
 

 
<h3 id="">Q:  Why is this important for the future of developers?</h3>
 

	
 
<p>The next generation of developers comes from the users of today. The golden age of FOSS that the industry now enjoys came to fruition from the counterculture created by FOSS activists in the 1990s and early 2000s. During this time, Linux and other GPL’d software was considered just a curiosity (and was even accused of being anti-American). Nevertheless, the rights assured by the GPL ultimately led to a new generation of software developers learning how to build Linux and all the amazingly useful FOSS around it. To recruit a diverse group of the next generation of enthusiastic developers, we must ensure that the rights under GPL are available to every single individual, consumer and hobbyist around the globe. That is what this lawsuit is about.</p>
 

	
 
<h3 id="">Q: If the goal is to fight for all consumer rights, why not file this lawsuit as a class action? </h3>
 

	
 
<p>Forcing consumers to fight for their individual rights is one way that for-profit corporations exert their inappropriate power. Actions such as this lawsuit seek to disrupt this power dynamic by asserting that all consumers of copylefted code deserve the opportunity to know, access and modify the code on their devices. However, expecting all consumers to have to personally participate in that process not only puts an undue burden on them, it simply is not realistic. It is not how change happens. Furthermore, pursuant to “The Principles of Community Oriented GPL Enforcement,” the lawsuit does not prioritize financial remedy over compliance. This lawsuit seeks the most important remedy for the public good: release of the Complete, Corresponding Source (CCS) for all GPL’d components on Vizio TVs. Once that is achieved, the benefit is immediately available to not only all who purchased a Vizio TV, but also to the entire FOSS community.  </p>
 
     
 

 
<h3 id="">Q: What are “The Principles of Community Oriented GPL Enforcement”?</h3>
 

	
 
<p>In 2016, Software Freedom Conservancy published “The Principles of Community-Oriented GPL Enforcement” in response to those who might use copyleft licenses for their own financial gain. Software Freedom Conservancy is part of a long tradition of using copyleft enforcement as intended: to further the rights and freedoms of individual users, consumers, and developers. Pursuant to those principles, Software Freedom Conservancy never prioritizes financial gain over assuring the rights guaranteed by the GPL are upheld.</p>
 
     
 

 
<h3 id="">Q: Are the court documents released? Does that relate to why the litigation was brought in the U.S.?</h3>
 

	
 
<p>Software Freedom Conservancy brought this litigation within the U.S. specifically because litigation in this country is completely public. Historically, Germany has been one of the most popular venues for GPL litigation but it also has a huge downside: the German legal system keeps all details of the cases private and there is little transparency. </p>
 

	
 
<h3 id="">Q: Who is funding this lawsuit? </h3>
 

	
 
<p>This lawsuit is central to the mission of Software Freedom Conservancy. The organization has received grants from Amateur Radio Digital Communications (ARDC) to support GPL compliance work. As a nonprofit, charitable donations are also an important source of funding to carry out the work. This combined financial support allowed for this litigation to begin. However, continued donor support will be vital since litigation like this is quite expensive.</p>
 

	
 
<h3 id="">Q: How can someone make a donation?</h3>
 

	
 
<p>To make a tax-deductible donation to Software Freedom Conservancy, go to sfconservancy.org/donate. The best way to support this important work is to join as an official Sustainer. Details on that program are available at sfconservancy.org/sustainer. </p>
 

	
conservancy/content/projects/apply/conservancy-fsa-template.tex
Show inline comments
...
 
@@ -40,99 +40,99 @@ By: \hspace{0.95em}\rule{0.50\textwidth}{0.2mm} \hfill{}Date: \rule{0.25\textwid
 
\fi
 
\if\relax\detokenize{#3}\relax
 
\else
 

	
 
\hspace{2.5em} #3
 
\fi
 
\vspace{6ex}
 
}
 

	
 
\begin{document}
 

	
 
\begin{center}
 
\textsc{\Huge Fiscal Sponsorship Agreement}{\Huge {} } 
 
\textsc{\Huge Fiscal Sponsorship Agreement}{\Huge {} }
 
\par\end{center}
 

	
 
\bigskip{}
 

	
 

	
 
This Agreement is made by and between Software Freedom Conservancy
 
(``Conservancy'') and FIXME-CONTRIBUTOR-NAMES (the ``\signatories'')
 
on behalf of the project known as \projectname (the ``Project'') (each, a 
 
``Party''; together, ``the Parties'').  Conservancy is a New York nonprofit 
 
public benefit corporation located in Brooklyn, New York, which has received 
 
recognition of exemption from federal income tax under Section 501(c)(3) of 
 
the Internal Revenue Code (IRC) and classification as a public charity under 
 
on behalf of the project known as \projectname (the ``Project'') (each, a
 
``Party''; together, ``the Parties'').  Conservancy is a New York nonprofit
 
public benefit corporation located in Brooklyn, New York, which has received
 
recognition of exemption from federal income tax under Section 501(c)(3) of
 
the Internal Revenue Code (IRC) and classification as a public charity under
 
IRC Sections 509(a)(1) and 170(b)(1)(A)(vi).
 

	
 
\textsc{Whereas:}
 

	
 
\begin{enumerate}[label=\Alph*.,ref=\S \Alph*]
 
\item Conservancy's organizational mission and charitable goal is to promote,
 
improve, develop and defend Free, Libre, and Open Source Software
 
projects. 
 
projects.
 
\item The purpose of the Project is to produce, distribute, document, and
 
improve software and/or documentation that can be freely copied, modified and redistributed,
 
and for which modified versions can also be redistributed (``Free Software''),
 
and to facilitate and organize its production, improvement and ease
 
of use. 
 
of use.
 
\item Conservancy desires to act as the fiscal sponsor of the Project beginning
 
on the Effective Date (as defined below) to assist the Project in
 
accomplishing its purpose, which Conservancy has determined will further
 
Conservancy's charitable goals. The \signatories desire to manage
 
the Project under the sponsorship of Conservancy. 
 
the Project under the sponsorship of Conservancy.
 
\item Conservancy's Board of Directors has approved the establishment
 
of a fund to receive donations of cash and other property earmarked
 
for support of the Project and to make disbursements in furtherance
 
of the Project's mission (the ``Project Fund''). Currently, the
 
principal office of the Project is located at: [FIXME: MAILING ADDRESS]. 
 
principal office of the Project is located at: [FIXME: MAILING ADDRESS].
 
\end{enumerate}
 
\medskip{}
 

	
 

	
 
\textsc{Now, therefore, the Parties hereby agree as follows:}
 

	
 
\begin{enumerate}[label=\arabic*.,ref=\S~\arabic*]
 
\item \textbf{Term of Agreement}. As of the Effective Date, the Project
 
joins Conservancy, which relationship will continue unless and until
 
terminated as set forth in \ref{Termination}. 
 
terminated as set forth in \ref{Termination}.
 
\item \textbf{Project Management and Activities}.
 

	
 

	
 
\begin{enumerate}[label=\alph*.,ref=\theenumi(\alph*)]
 
\item \textbf{The \leadershipbody Will Manage the Project}. \label{ProjectManagement}
 
Authority to manage the technical, artistic and philanthropic direction
 
of the Project and the program activities of the Project is delegated
 
to the \leadershipbody as defined in \ref{Representation},
 
subject at all times to the direction and control of Conservancy's
 
Board of Directors. Conservancy will only intervene in the program
 
activities to the extent the Project is not in compliance with \ref{FreeSoftware}
 
or \ref{CharitablePurpose} of this Agreement. 
 
or \ref{CharitablePurpose} of this Agreement.
 
\item \textbf{The Project Will Be Free Software}. \label{FreeSoftware}
 
Conservancy and the \leadershipbody agree that any and all software
 
and/or documentation distributed by the Project will be distributed solely as Free Software.
 
Conservancy retains the sole right to determine whether the Project's
 
software and/or documentation constitutes Free Software (as defined herein).
 
\item \textbf{Ultimate Responsibility of Project}. Subject to \ref{ProjectManagement}
 
of this Agreement, all community programs, public information work,
 
fundraising events, processing and acknowledgment of cash and non-cash
 
revenue items, accounts payable and receivable, negotiation of leases
 
and contracts, disbursement of Project funds (including grants), and
 
other activities planned by the Project shall be the ultimate responsibility
 
of Conservancy and shall be conducted in the name of Conservancy,
 
beginning on the Effective Date. 
 
beginning on the Effective Date.
 
\item \textbf{Project Not An Agent Of Conservancy}. The \signatories
 
hereby acknowledge that the Project and the \leadershipbody
 
do not and shall not act as an agent for Conservancy unless specifically
 
authorized in writing by Conservancy to do so. 
 
authorized in writing by Conservancy to do so.
 
\end{enumerate}
 
\item \textbf{Fees}. The \signatories agree to donate ten percent
 
(10\%) of the Project's gross revenue (including, but not necessarily limited
 
to, all income and donations) to Conservancy for its general operations.
 

	
 

	
 
Notwithstanding the above, the \signatories agree that should Conservancy
 
be required to pay any taxes (including but not limited to sales taxes
 
and unrelated business taxable income) as the result of any activity
 
of the Project and/or activities undertaken by Conservancy on the
 
Project's behalf, such taxes shall be deducted from the Project Fund.
 

	
...
 
@@ -152,40 +152,40 @@ the unilateral right to spend such funds so as to accomplish the purposes
 
of the Project as nearly as possible within Conservancy's sole judgment.
 
Conservancy agrees to make a good faith effort to consider any expressed
 
donor intent in making determinations on the expenditure of that donor's
 
gift; however, the Parties acknowledge that expressions of donor intent
 
are not legally binding on Conservancy. The Parties agree that all
 
money, and the fair market value of all property, deposited in the
 
Project Fund be reported as the income of Conservancy, for both tax
 
purposes and for purposes of Conservancy's financial statements. It
 
is the intent of the Parties that this Agreement be interpreted to
 
provide Conservancy with variance powers necessary to enable Conservancy
 
to treat the Project Fund as Conservancy's asset in accordance with
 
Financial Accounting Statement No. 136 issued by the Financial Accounting
 
Standards Board, while this Agreement is in effect. 
 
Standards Board, while this Agreement is in effect.
 
\item \textbf{Project Fund Management / Performance of Charitable Purposes}.
 
\label{CharitablePurpose} All of the assets received by Conservancy
 
under the terms of this Agreement shall be devoted to the purposes
 
of the Project, within the tax-exempt purposes of Conservancy. The
 
\signatories agree not to use its funds or operate in any way which would
 
jeopardize the tax-exempt status of Conservancy. No item of revenue
 
shall be earmarked for use in any attempt to influence legislation
 
within the meaning of IRC Section 501(c)(3) and no agreement, oral
 
or written, to that effect shall be made between Conservancy and any
 
revenue source. Conservancy shall not use any portion of the assets
 
to participate or intervene in any political campaign on behalf or
 
in opposition to any candidate for public office, to induce or encourage
 
violations of law or public policy, to cause any private inurement
 
or improper private benefit to occur, nor to take any other action
 
inconsistent with IRC Section 501(c)(3). 
 
inconsistent with IRC Section 501(c)(3).
 

	
 
\item \textbf{Representation of the Project in Conservancy}. \label{Representation}The
 
\signatories, each a signatory hereto, hereby establish and comprise
 
the initial members of the \leadershipbody
 
to represent the Project in its official communication with Conservancy.
 
The \signatories hereby acknowledge that the \leadershipbody
 
will be subject to all terms of this Agreement.
 
On the Effective Date, the \signatories hereby transfer all
 
rights, obligations and privileges of this Agreement over to the
 
\leadershipbody.
 

	
 
[FIXME: Note: The rest of this section should describe the way in which the
...
 
@@ -256,121 +256,121 @@ Committee shall appoint, by majority vote, one Member as its Representative
 
to communicate all Project decisions to Conservancy. The Representative
 
shall promptly inform Conservancy of changes in the Committee composition
 
and of contact information for all Members. If Conservancy is unable,
 
after all reasonable efforts, to contact a majority of the Members
 
for a period of sixty (60) days, or if the number of Members is fewer
 
than the Minimum for a period of at least sixty days, Conservancy
 
may, after at least thirty days notice to Project, unilaterally appoint
 
new Members from the Project community to replace any unreachable
 
Members and/or to increase the Committee composition to the required
 
Minimum.
 

	
 
\item \textbf{An Elected Oversight Committee.} The \signatories, each
 
a signatory hereto, shall initially [FIXME: form or comprise] the 
 
\leadershipbody as a Project Committee (``Committee'') to 
 
a signatory hereto, shall initially [FIXME: form or comprise] the
 
\leadershipbody as a Project Committee (``Committee'') to
 
represent the Project in its official communication with Conservancy.  The
 
Committee shall hereafter be elected by community members of the Project as
 
designated by the Committee or a subcommittee of the Committee (the 
 
``Community Members'').  
 

	
 
The positions on the Committee will be on a two-year staggered basis 
 
([FIX-ME: some portion] of the initial board seats will be for one year).  
 
The members of the Committee may be removed from the position at any time 
 
by a majority vote of the Community Members.  Upon the resignation or 
 
removal of a member of the Oversight Board, the Community Members shall 
 
elect a replacement Community Member to serve on the Committee. 
 

	
 
The Committee will elect a single individual to communicate with 
 
Conservancy (the ``Representative'') and shall notify Conservancy promptly 
 
following the election of a new Representative.  The Representative will 
 
designated by the Committee or a subcommittee of the Committee (the
 
``Community Members'').
 

	
 
The positions on the Committee will be on a two-year staggered basis
 
([FIX-ME: some portion] of the initial board seats will be for one year).
 
The members of the Committee may be removed from the position at any time
 
by a majority vote of the Community Members.  Upon the resignation or
 
removal of a member of the Oversight Board, the Community Members shall
 
elect a replacement Community Member to serve on the Committee.
 

	
 
The Committee will elect a single individual to communicate with
 
Conservancy (the ``Representative'') and shall notify Conservancy promptly
 
following the election of a new Representative.  The Representative will
 
have the authority to instruct Conservancy on the Project's behalf on all
 
matters.  
 
matters.
 

	
 
This section may be modified by a vote of at least $\frac{3}{4}$ths of the 
 
Community Members, with the consent of Conservancy, such consent not to be 
 
This section may be modified by a vote of at least $\frac{3}{4}$ths of the
 
Community Members, with the consent of Conservancy, such consent not to be
 
unreasonably withheld.
 

	
 

	
 
\end{itemize}
 

	
 
Note again that the above are merely examples, not a list of options.
 
Conservancy's goal is to draft the Representation section to match
 
the existing and natural leadership structure of the Project, so each
 
project usually has a uniquely worded Representation section. ]
 

	
 
\item \textbf{Outstanding Liabilities}. The \signatories represent
 
that any liabilities that may be outstanding in connection with the
 
Project have been disclosed to Conservancy. 
 
Project have been disclosed to Conservancy.
 
\item \textbf{Termination}. \label{Termination} The \leadershipbody or Conservancy
 
may terminate this Agreement at any time subject to the following
 
understandings:
 

	
 

	
 
\begin{enumerate}[label=\alph*.,ref=\theenumi(\arabic*)]
 

	
 
\item \textbf{Notice and Successor Search}. Either Conservancy or the \leadershipbody
 
may terminate this Agreement on sixty (60) days' written notice (``the Notice Period'') to
 
the other Party, so long as a Successor can be found that meets the
 
following requirements (the ``Successor has Qualified''):
 

	
 

	
 
    \begin{enumerate}[label=\roman*.,ref=\theenumi(\alph{enumii})(\roman*)]
 
\item the Successor is another nonprofit corporation which is tax-exempt
 
under IRC Section 501(c)(3), 
 
under IRC Section 501(c)(3),
 
\item the Successor is not classified as a private foundation under Section
 
509(a), 
 
\item the Successor is willing and able to sponsor the Project, and, 
 
509(a),
 
\item the Successor is willing and able to sponsor the Project, and,
 
\item the Successor has (a) communicated its willingness to sponsor the
 
  Project in writing to Conservancy and (b) sent a copy of its 501(c)(3) determination letter to Conservancy, and, 
 
  Project in writing to Conservancy and (b) sent a copy of its 501(c)(3) determination letter to Conservancy, and,
 
\item the Successor is approved in writing by both Parties by the end of
 
the Notice Period, such approval not to be unreasonably withheld. 
 
the Notice Period, such approval not to be unreasonably withheld.
 
\end{enumerate}
 
\item \textbf{Additional Search Periods}. If the Parties cannot agree on
 
a Successor to sponsor the Project, the \leadershipbody
 
shall have an additional 60 days to find a Successor willing and able
 
to sponsor the Project. Any subsequent search periods of any length
 
shall only be granted at Conservancy's written permission. 
 
shall only be granted at Conservancy's written permission.
 
\item \textbf{Transfer to a Successor}. If a Successor has Qualified, the balance
 
of assets in the Project Fund, together with any other assets held
 
or liabilities incurred by Conservancy in connection with the
 
Project, shall be transferred to the Successor within thirty (30)
 
days of the approval of the Successor in writing by both Parties or
 
any extension thereof, subject to the approval of any third parties
 
that may be required.
 
\item \textbf{Termination Without a Successor}. If no Successor is found,
 
Conservancy may dispose of Project assets and liabilities
 
in any manner consistent with applicable tax and charitable trust
 
laws. 
 
\item \textbf{\signatories' Right to Terminate.} 
 
laws.
 
\item \textbf{\signatories' Right to Terminate.}
 
The \signatories hereby acknowledge that they will relinquish any
 
       rights to terminate separate from the \leadershipbody as
 
       of the Effective Date.
 
\end{enumerate}
 
\item \textbf{Miscellaneous}. Each provision of this Agreement shall be
 
separately enforceable, and the invalidity of one provision shall
 
not affect the validity or enforceability of any other provision.
 
This Agreement shall be interpreted and construed in accordance with
 
the laws of the State of New York. This Agreement constitutes the
 
only agreement, and supersedes all prior agreements and understandings,
 
both written and oral, among the Parties with respect to the subject
 
matter hereof. 
 
matter hereof.
 
\item \textbf{Amendments. }This Agreement may not be amended or modified,
 
except in writing and signed by both Conservancy and the entirety of \leadershipbody. 
 
except in writing and signed by both Conservancy and the entirety of \leadershipbody.
 
\item \textbf{Counterparts / Facsimile}. This Agreement may be executed
 
in two or more counterparts, each of which shall constitute an original,
 
but all of which, when together, shall constitute but one and the
 
same instrument, and shall become effective when one or more counterparts
 
have been signed by each Party hereto and delivered to the other Party.
 
In lieu of the original, a facsimile transmission or copy of the original
 
shall be as effective and enforceable as the original. 
 
shall be as effective and enforceable as the original.
 
\end{enumerate}
 
\vfill{}
 

	
 

	
 
\textsc{In witness whereof}, the Parties have executed this Fiscal
 
Sponsorship Agreement effective on the FIXME day of FIXME, FIXME (the
 
``Effective Date'').
 

	
 
\vspace{3em}
 

	
 
\signature{Software Freedom Conservancy, Inc.}{Bradley M. Kuhn}{Title: President}
 

	
conservancy/content/projects/apply/index.html
Show inline comments
...
 
@@ -17,25 +17,25 @@
 
  there are other options around the globe as well.  Prospective member
 
  projects should carefully consider what type of structure is right for
 
  them.</p>
 

	
 
<p>For our part, Conservancy seeks projects that dedicate themselves to the
 
  advancement of software freedom and focus their projects on the rights of
 
  users to copy, share, modify and improve their software.  Being a FOSS
 
  project under an OSI-approved and DFSG-free license is mandatory, but not
 
  the only criteria.  Given the many options available for fiscal
 
  sponsorship, we are selective and often refer projects to other fiscal
 
  sponsors that are a better fit.  Nevertheless, we encourage projects to
 
  that need a non-profit home to apply to many fiscal sponsors.
 
  
 

 
<p>Conservancy's Evaluation Committee considers applications on a rolling
 
  basis.  Conservancy generally has dozens of projects in various stages of
 
  the application process.  We do not move rapidly to accept new projects, as
 
  we have found that consideration of joining or forming a non-profit
 
  organization for your project is best done with careful consideration over
 
  a period of many months rather than rapidly.</p>
 

	
 
<p>Conservancy's application process is somewhat informal.  New applicants
 
  should write an initial inquiry email
 
  to <a href="mailto:apply@sfconservancy.org">&lt;apply@sfconservancy.org&gt;</a>
 
  with a very brief description of their project and a URL to their project's
 
  website.  We'll send back initial questions, and after those questions are
conservancy/content/projects/policies/publish-policy.py
Show inline comments
...
 
@@ -347,13 +347,12 @@ def main(arglist=None, stdout=sys.stdout, stderr=sys.stderr):
 
        if op.exitcode != 0:
 
            exitcode = op.exitcode or 0
 
            break
 
    else:
 
        exitcode = 0
 
    print(args.input_path.name, "converted,",
 
          ", ".join(op.VERB if op.exitcode == 0 else "not " + op.VERB for op in ops),
 
          file=stdout)
 
    return exitcode
 

	
 
if __name__ == '__main__':
 
    exit(main())
 

	
conservancy/content/projects/services/index.html
Show inline comments
...
 
@@ -26,37 +26,37 @@
 
   <p>Since Conservancy is a tax-exempt organization, there are some
 
   limits that the law places on what member projects can do with their
 
   assets, but those limits are the same as if the project was an
 
   independent non-profit entity.  Usually, the project leadership
 
   instructs Conservancy's leadership on how the project's funds are spent.
 
   Conservancy spends these funds on the project's behalf on any expenses
 
   that constitute appropriate activity under Conservancy's 501(c)(3)
 
   not-for-profit mission.  Some typical uses of earmarked donations by
 
   Conservancy's member projects are:</p>
 

	
 
<ul>
 
<li>funding travel expenses for project developers to attend relevant
 
  conferences.</li> 
 
  conferences.</li>
 

	
 
<li>domain name fees, bandwidth costs, and computer equipment
 
  purchases.</li>
 

	
 
<li>purchasing media for distribution of project software at conferences
 
  and events.</li>
 

	
 
<li>paying key developers on a contractual basis to improve the project's
 
  software and its documentation.</li>
 

	
 
<li>sponsoring and organizing conferences for the project.</li>
 
 
 

 
<li>trademark registration and enforcement.</li>
 

	
 
<li>FLOSS license enforcement and compliance activity.</li>
 
</ul>
 

	
 
<h2>Asset Stewardship</h2>
 

	
 
<p>Conservancy can hold any assets for the project on its behalf.  This
 
  includes copyrights, trademarks, domain names, physical computer
 
  equipment or anything that should be officially held in the name of the
 
  project.  Member projects are not required that Conservancy hold all
 
  assets of a project. (For example, member projects are
conservancy/events/admin.py
Show inline comments
...
 
@@ -7,15 +7,12 @@ admin.site.register(EventTag)
 
@admin.register(Event)
 
class EventAdmin(admin.ModelAdmin):
 
    list_display = ("title", "date", "date_tentative", "location")
 
    list_filter = ['date']
 
    date_hierarchy = 'date'
 
    search_fields = ["title", "description", "earth_location"]
 
    prepopulated_fields = {'slug' : ("title",) }
 

	
 

	
 
@admin.register(EventMedia)
 
class EventMediaAdmin(admin.ModelAdmin):
 
    list_display = ("event", "format", "novel")
 

	
 

	
 

	
conservancy/events/models.py
Show inline comments
...
 
@@ -87,13 +87,12 @@ class EventMedia(models.Model):
 
    remote = models.URLField(blank=True,
 
                             help_text="Remote URL of the resource.  Required if 'local' is not given.")
 
    novel = models.BooleanField(help_text="Is it a new piece of media or another form of an old one?  If it is new it will be included in the event-media RSS feed and shown on the front page for a bit.", default=False)
 

	
 
    date_created = models.DateTimeField(auto_now_add=True)
 
    date_last_modified = models.DateTimeField(auto_now=True)
 

	
 
    class Meta:
 
        verbose_name_plural = 'event media'
 

	
 
    def __str__(self):
 
        return "{} media: {}".format(self.event, self.format)
 

	
conservancy/feeds.py
Show inline comments
...
 
@@ -178,25 +178,25 @@ class BlogFeed(ConservancyFeedBase):
 
                    continue
 
                if firstTime:
 
                    answer += " ("
 
                    firstTime = False
 
                else:
 
                    answer += ", "
 
                answer += tag
 
                done[tag] = tag
 
            answer += ")"
 
        else:
 
            answer += "."
 
        return answer
 
        
 

 
    def description(self, obj):
 
        answer = "Blogs at the Software Freedom Conservancy"
 

	
 
        GET = obj.GET
 
        tags = []
 
        if 'author' in GET:
 
            tags = GET.getlist('author')
 
        if 'tag' in GET:
 
            tags += GET.getlist('tag')
 

	
 
        done = {}
 
        if len(tags) == 1:
...
 
@@ -209,25 +209,25 @@ class BlogFeed(ConservancyFeedBase):
 
                if firstTime:
 
                    answer += " tagged with "
 
                    firstTime = False
 
                else:
 
                    answer += " or "
 
                answer += tag
 
                done[tag] = tag
 
        else:
 
            answer = "All blogs at the Software Freedom Conservancy"
 
        answer += "."
 

	
 
        return answer
 
        
 

 
    def item_title(self, item):
 
        return item.headline
 

	
 
    def item_description(self, item):
 
        return item.summary
 

	
 
    def item_author_name(self, item):
 
        return item.author.formal_name
 

	
 
    def item_author_email(self, item):
 
        return "%s@sfconservancy.org" % item.author
 

	
conservancy/news/admin.py
Show inline comments
...
 
@@ -10,16 +10,12 @@ class PressReleaseAdmin(admin.ModelAdmin):
 
    date_hierarchy = 'pub_date'
 
    search_fields = ['headline', 'summary', 'body']
 
    prepopulated_fields = { 'slug' : ("headline",), }
 

	
 
admin.site.register(ExternalArticleTag)
 

	
 
@admin.register(ExternalArticle)
 
class ExternalArticleAdmin(admin.ModelAdmin):
 
    list_display = ("title", "publication", "visible", "date")
 
    list_filter = ['date']
 
    date_hierarchy = 'date'
 
    search_fields = ["title", "info", "publication"]
 

	
 

	
 

	
 

	
conservancy/news/models.py
Show inline comments
...
 
@@ -107,13 +107,12 @@ class ExternalArticle(models.Model):
 

	
 
    date_created = models.DateField(auto_now_add=True)
 

	
 
    class Meta:
 
        ordering = ("-date_created",)
 
        get_latest_by = "date_created"
 

	
 
    def __str__(self):
 
        return "{} ({})".format(self.title, self.publication)
 

	
 
    objects = models.Manager()
 
    public = PublicExternalArticleManager()
 

	
conservancy/news/views.py
Show inline comments
...
 
@@ -11,25 +11,25 @@ from django.views.generic.dates import (
 
)
 

	
 
from .models import PressRelease
 

	
 

	
 
class NewsListView(ListView):
 
    extra_context = {}
 
    def get_context_data(self, **kwargs):
 
        context = super().get_context_data(**kwargs)
 
        # context['key'] = 'value'
 
        context.update(self.extra_context)
 
        return context
 
                                    
 

 
def listing(request, *args, **kwargs):
 
    news_queryset = PressRelease.objects.all()
 

	
 
#    if (not kwargs.has_key('allow_future')) or not kwargs['allow_future']:
 
    news_queryset = news_queryset.filter(
 
        **{'%s__lte' % kwargs['date_field']: datetime.now()}
 
    )
 

	
 
    date_list = news_queryset.dates(kwargs['date_field'], 'year')
 

	
 
    paginate_by = kwargs.get('paginate_by', 6)  # Show 6 news items per page, by default
 
    paginator = Paginator(news_queryset, paginate_by)
...
 
@@ -83,13 +83,12 @@ class NewsDateDetailView(DateDetailView):
 
    #     return context
 

	
 
# def object_detail(request, **kwargs):
 
#     # extra_context = {}
 
#     # extra_context['slug'] = kwargs['slug']
 
#     # del kwargs['slug']
 
#     # kwargs['extra_context'] = extra_context
 
#     # return HttpResponse("object_detail: " + str(kwargs))
 
#     # slug = kwargs['slug']
 
#     # del kwargs['slug']
 
#     callable = NewsDateDetailView.as_view(**kwargs)
 
#     return callable(request)
 

	
conservancy/podjango/admin.py
Show inline comments
...
 
@@ -30,14 +30,12 @@ class PodcastAdmin(admin.ModelAdmin):
 
class CastTagAdmin(admin.ModelAdmin):
 
    prepopulated_fields = {'slug': ('label',)}
 

	
 

	
 
@admin.register(Cast)
 
class CastAdmin(admin.ModelAdmin):
 
    list_display = ('pub_date', 'title')
 
    list_filter = ['pub_date', 'podcast']
 
    date_hierarchy = 'pub_date'
 
    search_fields = ['title', 'summary', 'body']
 
    prepopulated_fields = {'slug': ("title",)}
 
    filter_horizontal = ('tags',)
 

	
 

	
conservancy/staff/admin.py
Show inline comments
 
from django.contrib import admin
 

	
 
from .models import Person
 

	
 

	
 
@admin.register(Person)
 
class PersonAdmin(admin.ModelAdmin):
 
    list_display = ("username", "formal_name", "casual_name",
 
                    "currently_employed")
 
    list_filter = ["currently_employed"]
 

	
conservancy/static/css/tachyons.css
Show inline comments
...
 
@@ -177,25 +177,25 @@ summary { display: list-item; }
 
/* Misc
 
   ========================================================================== */
 
/**
 
 * Add the correct display in IE 10+.
 
 */
 
template { display: none; }
 
/**
 
 * Add the correct display in IE 10.
 
 */
 
[hidden] { display: none; }
 
/* Modules */
 
/*
 
 
 

 
  BOX SIZING
 

	
 
*/
 
html, body, div, article, aside, section, main, nav, footer, header, form,
 
fieldset, legend, pre, code, a, h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, dt,
 
dd, blockquote, figcaption, figure, textarea, table, td, th, tr,
 
input[type="email"], input[type="number"], input[type="password"],
 
input[type="tel"], input[type="text"], input[type="url"], .border-box { box-sizing: border-box; }
 
/*
 

	
 
   ASPECT RATIOS
 

	
...
 
@@ -776,25 +776,25 @@ code, .code { font-family: Consolas, monaco, monospace; }
 
.fw1 { font-weight: 100; }
 
.fw2 { font-weight: 200; }
 
.fw3 { font-weight: 300; }
 
.fw4 { font-weight: 400; }
 
.fw5 { font-weight: 500; }
 
.fw6 { font-weight: 600; }
 
.fw7 { font-weight: 700; }
 
.fw8 { font-weight: 800; }
 
.fw9 { font-weight: 900; }
 
/*
 

	
 
   FORMS
 
   
 

 
*/
 
.input-reset { -webkit-appearance: none; -moz-appearance: none; }
 
.button-reset::-moz-focus-inner, .input-reset::-moz-focus-inner { border: 0; padding: 0; }
 
/*
 

	
 
   HEIGHTS
 
   Docs: http://tachyons.io/docs/layout/heights/
 

	
 
   Base:
 
     h = height
 
     min-h = min-height
 
     min-vh = min-height vertical screen height
...
 
@@ -1061,26 +1061,26 @@ code, .code { font-family: Consolas, monaco, monospace; }
 
.rotate-90 { -webkit-transform: rotate( 90deg ); transform: rotate( 90deg ); }
 
.rotate-135 { -webkit-transform: rotate( 135deg ); transform: rotate( 135deg ); }
 
.rotate-180 { -webkit-transform: rotate( 180deg ); transform: rotate( 180deg ); }
 
.rotate-225 { -webkit-transform: rotate( 225deg ); transform: rotate( 225deg ); }
 
.rotate-270 { -webkit-transform: rotate( 270deg ); transform: rotate( 270deg ); }
 
.rotate-315 { -webkit-transform: rotate( 315deg ); transform: rotate( 315deg ); }
 
/*
 

	
 
   SKINS
 
   Docs: http://tachyons.io/docs/themes/skins/
 

	
 
   Classes for setting foreground and background colors on elements.
 
   If you haven't declared a border color, but set border on an element, it will 
 
   be set to the current text color. 
 
   If you haven't declared a border color, but set border on an element, it will
 
   be set to the current text color.
 

	
 
*/
 
/* Text colors */
 
.black-90 { color: rgba( 0, 0, 0, .9 ); }
 
.black-80 { color: rgba( 0, 0, 0, .8 ); }
 
.black-70 { color: rgba( 0, 0, 0, .7 ); }
 
.black-60 { color: rgba( 0, 0, 0, .6 ); }
 
.black-50 { color: rgba( 0, 0, 0, .5 ); }
 
.black-40 { color: rgba( 0, 0, 0, .4 ); }
 
.black-30 { color: rgba( 0, 0, 0, .3 ); }
 
.black-20 { color: rgba( 0, 0, 0, .2 ); }
 
.black-10 { color: rgba( 0, 0, 0, .1 ); }
...
 
@@ -1180,31 +1180,31 @@ code, .code { font-family: Consolas, monaco, monospace; }
 
.bg-green { background-color: #19a974; }
 
.bg-light-green { background-color: #9eebcf; }
 
.bg-navy { background-color: #001b44; }
 
.bg-dark-blue { background-color: #00449e; }
 
.bg-blue { background-color: #357edd; }
 
.bg-light-blue { background-color: #96ccff; }
 
.bg-lightest-blue { background-color: #cdecff; }
 
.bg-washed-blue { background-color: #f6fffe; }
 
.bg-washed-green { background-color: #e8fdf5; }
 
.bg-washed-yellow { background-color: #fffceb; }
 
.bg-washed-red { background-color: #ffdfdf; }
 
.bg-inherit { background-color: inherit; }
 
/* 
 
  
 
/*
 

	
 
   SKINS:PSEUDO
 

	
 
   Customize the color of an element when
 
   it is focused or hovered over.
 
 
 

 
 */
 
.hover-black:hover { color: #000; }
 
.hover-black:focus { color: #000; }
 
.hover-near-black:hover { color: #111; }
 
.hover-near-black:focus { color: #111; }
 
.hover-dark-gray:hover { color: #333; }
 
.hover-dark-gray:focus { color: #333; }
 
.hover-mid-gray:hover { color: #555; }
 
.hover-mid-gray:focus { color: #555; }
 
.hover-gray:hover { color: #777; }
 
.hover-gray:focus { color: #777; }
 
.hover-silver:hover { color: #999; }
...
 
@@ -1867,34 +1867,34 @@ code, .code { font-family: Consolas, monaco, monospace; }
 
.hide-child:hover  .child, .hide-child:focus  .child, .hide-child:active .child { opacity: 1; transition: opacity .15s ease-in; }
 
.underline-hover:hover, .underline-hover:focus { text-decoration: underline; }
 
/* Can combine this with overflow-hidden to make background images grow on hover
 
 * even if you are using background-size: cover */
 
.grow { -moz-osx-font-smoothing: grayscale; -webkit-backface-visibility: hidden; backface-visibility: hidden; -webkit-transform: translateZ( 0 ); transform: translateZ( 0 ); transition: -webkit-transform .25s ease-out; transition: transform .25s ease-out; transition: transform .25s ease-out, -webkit-transform .25s ease-out; }
 
.grow:hover, .grow:focus { -webkit-transform: scale( 1.05 ); transform: scale( 1.05 ); }
 
.grow:active { -webkit-transform: scale( .90 ); transform: scale( .90 ); }
 
.grow-large { -moz-osx-font-smoothing: grayscale; -webkit-backface-visibility: hidden; backface-visibility: hidden; -webkit-transform: translateZ( 0 ); transform: translateZ( 0 ); transition: -webkit-transform .25s ease-in-out; transition: transform .25s ease-in-out; transition: transform .25s ease-in-out, -webkit-transform .25s ease-in-out; }
 
.grow-large:hover, .grow-large:focus { -webkit-transform: scale( 1.2 ); transform: scale( 1.2 ); }
 
.grow-large:active { -webkit-transform: scale( .95 ); transform: scale( .95 ); }
 
/* Add pointer on hover */
 
.pointer:hover { cursor: pointer; }
 
/* 
 
/*
 
   Add shadow on hover.
 

	
 
   Performant box-shadow animation pattern from 
 
   http://tobiasahlin.com/blog/how-to-animate-box-shadow/ 
 
   Performant box-shadow animation pattern from
 
   http://tobiasahlin.com/blog/how-to-animate-box-shadow/
 
*/
 
.shadow-hover { cursor: pointer; position: relative; transition: all .5s cubic-bezier( .165, .84, .44, 1 ); }
 
.shadow-hover::after { content: ''; box-shadow: 0 0 16px 2px rgba( 0, 0, 0, .2 ); border-radius: inherit; opacity: 0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; transition: opacity .5s cubic-bezier( .165, .84, .44, 1 ); }
 
.shadow-hover:hover::after, .shadow-hover:focus::after { opacity: 1; }
 
/* Combine with classes in skins and skins-pseudo for 
 
/* Combine with classes in skins and skins-pseudo for
 
 * many different transition possibilities. */
 
.bg-animate, .bg-animate:hover, .bg-animate:focus { transition: background-color .15s ease-in-out; }
 
/*
 

	
 
  Z-INDEX
 

	
 
  Base
 
    z = z-index
 

	
 
  Modifiers
 
    -0 = literal value 0
 
    -1 = literal value 1
conservancy/static/css/tachyons.min.css
Show inline comments
 
/*! TACHYONS v4.12.0 | http://tachyons.io */
 
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}.border-box,a,article,aside,blockquote,body,code,dd,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,html,input[type=email],input[type=number],input[type=password],input[type=tel],input[type=text],input[type=url],legend,li,main,nav,ol,p,pre,section,table,td,textarea,th,tr,ul{box-sizing:border-box}.aspect-ratio{height:0;position:relative}.aspect-ratio--16x9{padding-bottom:56.25%}.aspect-ratio--9x16{padding-bottom:177.77%}.aspect-ratio--4x3{padding-bottom:75%}.aspect-ratio--3x4{padding-bottom:133.33%}.aspect-ratio--6x4{padding-bottom:66.6%}.aspect-ratio--4x6{padding-bottom:150%}.aspect-ratio--8x5{padding-bottom:62.5%}.aspect-ratio--5x8{padding-bottom:160%}.aspect-ratio--7x5{padding-bottom:71.42%}.aspect-ratio--5x7{padding-bottom:140%}.aspect-ratio--1x1{padding-bottom:100%}.aspect-ratio--object{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:100}img{max-width:100%}.cover{background-size:cover!important}.contain{background-size:contain!important}.bg-center{background-position:50%}.bg-center,.bg-top{background-repeat:no-repeat}.bg-top{background-position:top}.bg-right{background-position:100%}.bg-bottom,.bg-right{background-repeat:no-repeat}.bg-bottom{background-position:bottom}.bg-left{background-repeat:no-repeat;background-position:0}.outline{outline:1px solid}.outline-transparent{outline:1px solid transparent}.outline-0{outline:0}.ba{border-style:solid;border-width:1px}.bt{border-top-style:solid;border-top-width:1px}.br{border-right-style:solid;border-right-width:1px}.bb{border-bottom-style:solid;border-bottom-width:1px}.bl{border-left-style:solid;border-left-width:1px}.bn{border-style:none;border-width:0}.b--black{border-color:#000}.b--near-black{border-color:#111}.b--dark-gray{border-color:#333}.b--mid-gray{border-color:#555}.b--gray{border-color:#777}.b--silver{border-color:#999}.b--light-silver{border-color:#aaa}.b--moon-gray{border-color:#ccc}.b--light-gray{border-color:#eee}.b--near-white{border-color:#f4f4f4}.b--white{border-color:#fff}.b--white-90{border-color:hsla(0,0%,100%,.9)}.b--white-80{border-color:hsla(0,0%,100%,.8)}.b--white-70{border-color:hsla(0,0%,100%,.7)}.b--white-60{border-color:hsla(0,0%,100%,.6)}.b--white-50{border-color:hsla(0,0%,100%,.5)}.b--white-40{border-color:hsla(0,0%,100%,.4)}.b--white-30{border-color:hsla(0,0%,100%,.3)}.b--white-20{border-color:hsla(0,0%,100%,.2)}.b--white-10{border-color:hsla(0,0%,100%,.1)}.b--white-05{border-color:hsla(0,0%,100%,.05)}.b--white-025{border-color:hsla(0,0%,100%,.025)}.b--white-0125{border-color:hsla(0,0%,100%,.0125)}.b--black-90{border-color:rgba(0,0,0,.9)}.b--black-80{border-color:rgba(0,0,0,.8)}.b--black-70{border-color:rgba(0,0,0,.7)}.b--black-60{border-color:rgba(0,0,0,.6)}.b--black-50{border-color:rgba(0,0,0,.5)}.b--black-40{border-color:rgba(0,0,0,.4)}.b--black-30{border-color:rgba(0,0,0,.3)}.b--black-20{border-color:rgba(0,0,0,.2)}.b--black-10{border-color:rgba(0,0,0,.1)}.b--black-05{border-color:rgba(0,0,0,.05)}.b--black-025{border-color:rgba(0,0,0,.025)}.b--black-0125{border-color:rgba(0,0,0,.0125)}.b--dark-red{border-color:#e7040f}.b--red{border-color:#ff4136}.b--light-red{border-color:#ff725c}.b--orange{border-color:#ff6300}.b--gold{border-color:#ffb700}.b--yellow{border-color:gold}.b--light-yellow{border-color:#fbf1a9}.b--purple{border-color:#5e2ca5}.b--light-purple{border-color:#a463f2}.b--dark-pink{border-color:#d5008f}.b--hot-pink{border-color:#ff41b4}.b--pink{border-color:#ff80cc}.b--light-pink{border-color:#ffa3d7}.b--dark-green{border-color:#137752}.b--green{border-color:#19a974}.b--light-green{border-color:#9eebcf}.b--navy{border-color:#001b44}.b--dark-blue{border-color:#00449e}.b--blue{border-color:#357edd}.b--light-blue{border-color:#96ccff}.b--lightest-blue{border-color:#cdecff}.b--washed-blue{border-color:#f6fffe}.b--washed-green{border-color:#e8fdf5}.b--washed-yellow{border-color:#fffceb}.b--washed-red{border-color:#ffdfdf}.b--transparent{border-color:transparent}.b--inherit{border-color:inherit}.b--initial{border-color:initial}.b--unset{border-color:unset}.br0{border-radius:0}.br1{border-radius:.125rem}.br2{border-radius:.25rem}.br3{border-radius:.5rem}.br4{border-radius:1rem}.br-100{border-radius:100%}.br-pill{border-radius:9999px}.br--bottom{border-top-left-radius:0;border-top-right-radius:0}.br--top{border-bottom-right-radius:0}.br--right,.br--top{border-bottom-left-radius:0}.br--right{border-top-left-radius:0}.br--left{border-top-right-radius:0;border-bottom-right-radius:0}.br-inherit{border-radius:inherit}.br-initial{border-radius:initial}.br-unset{border-radius:unset}.b--dotted{border-style:dotted}.b--dashed{border-style:dashed}.b--solid{border-style:solid}.b--none{border-style:none}.bw0{border-width:0}.bw1{border-width:.125rem}.bw2{border-width:.25rem}.bw3{border-width:.5rem}.bw4{border-width:1rem}.bw5{border-width:2rem}.bt-0{border-top-width:0}.br-0{border-right-width:0}.bb-0{border-bottom-width:0}.bl-0{border-left-width:0}.shadow-1{box-shadow:0 0 4px 2px rgba(0,0,0,.2)}.shadow-2{box-shadow:0 0 8px 2px rgba(0,0,0,.2)}.shadow-3{box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)}.shadow-4{box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)}.shadow-5{box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)}.pre{overflow-x:auto;overflow-y:hidden;overflow:scroll}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.top-1{top:1rem}.right-1{right:1rem}.bottom-1{bottom:1rem}.left-1{left:1rem}.top-2{top:2rem}.right-2{right:2rem}.bottom-2{bottom:2rem}.left-2{left:2rem}.top--1{top:-1rem}.right--1{right:-1rem}.bottom--1{bottom:-1rem}.left--1{left:-1rem}.top--2{top:-2rem}.right--2{right:-2rem}.bottom--2{bottom:-2rem}.left--2{left:-2rem}.absolute--fill{top:0;right:0;bottom:0;left:0}.cf:after,.cf:before{content:" ";display:table}.cf:after{clear:both}.cf{*zoom:1}.cl{clear:left}.cr{clear:right}.cb{clear:both}.cn{clear:none}.dn{display:none}.di{display:inline}.db{display:block}.dib{display:inline-block}.dit{display:inline-table}.dt{display:table}.dtc{display:table-cell}.dt-row{display:table-row}.dt-row-group{display:table-row-group}.dt-column{display:table-column}.dt-column-group{display:table-column-group}.dt--fixed{table-layout:fixed;width:100%}.flex{display:flex}.inline-flex{display:inline-flex}.flex-auto{flex:1 1 auto;min-width:0;min-height:0}.flex-none{flex:none}.flex-column{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.flex-column-reverse{flex-direction:column-reverse}.flex-row-reverse{flex-direction:row-reverse}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-baseline{align-self:baseline}.self-stretch{align-self:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.content-start{align-content:flex-start}.content-end{align-content:flex-end}.content-center{align-content:center}.content-between{align-content:space-between}.content-around{align-content:space-around}.content-stretch{align-content:stretch}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-last{order:99999}.flex-grow-0{flex-grow:0}.flex-grow-1{flex-grow:1}.flex-shrink-0{flex-shrink:0}.flex-shrink-1{flex-shrink:1}.fl{float:left}.fl,.fr{_display:inline}.fr{float:right}.fn{float:none}.sans-serif{font-family:-apple-system,BlinkMacSystemFont,avenir next,avenir,helvetica neue,helvetica,ubuntu,roboto,noto,segoe ui,arial,sans-serif}.serif{font-family:georgia,times,serif}.system-sans-serif{font-family:sans-serif}.system-serif{font-family:serif}.code,code{font-family:Consolas,monaco,monospace}.courier{font-family:Courier Next,courier,monospace}.helvetica{font-family:helvetica neue,helvetica,sans-serif}.avenir{font-family:avenir next,avenir,sans-serif}.athelas{font-family:athelas,georgia,serif}.georgia{font-family:georgia,serif}.times{font-family:times,serif}.bodoni{font-family:Bodoni MT,serif}.calisto{font-family:Calisto MT,serif}.garamond{font-family:garamond,serif}.baskerville{font-family:baskerville,serif}.i{font-style:italic}.fs-normal{font-style:normal}.normal{font-weight:400}.b{font-weight:700}.fw1{font-weight:100}.fw2{font-weight:200}.fw3{font-weight:300}.fw4{font-weight:400}.fw5{font-weight:500}.fw6{font-weight:600}.fw7{font-weight:700}.fw8{font-weight:800}.fw9{font-weight:900}.input-reset{-webkit-appearance:none;-moz-appearance:none}.button-reset::-moz-focus-inner,.input-reset::-moz-focus-inner{border:0;padding:0}.h1{height:1rem}.h2{height:2rem}.h3{height:4rem}.h4{height:8rem}.h5{height:16rem}.h-25{height:25%}.h-50{height:50%}.h-75{height:75%}.h-100{height:100%}.min-h-100{min-height:100%}.vh-25{height:25vh}.vh-50{height:50vh}.vh-75{height:75vh}.vh-100{height:100vh}.min-vh-100{min-height:100vh}.h-auto{height:auto}.h-inherit{height:inherit}.tracked{letter-spacing:.1em}.tracked-tight{letter-spacing:-.05em}.tracked-mega{letter-spacing:.25em}.lh-solid{line-height:1}.lh-title{line-height:1.25}.lh-copy{line-height:1.5}.link{text-decoration:none}.link,.link:active,.link:focus,.link:hover,.link:link,.link:visited{transition:color .15s ease-in}.link:focus{outline:1px dotted currentColor}.list{list-style-type:none}.mw-100{max-width:100%}.mw1{max-width:1rem}.mw2{max-width:2rem}.mw3{max-width:4rem}.mw4{max-width:8rem}.mw5{max-width:16rem}.mw6{max-width:32rem}.mw7{max-width:48rem}.mw8{max-width:64rem}.mw9{max-width:96rem}.mw-none{max-width:none}.w1{width:1rem}.w2{width:2rem}.w3{width:4rem}.w4{width:8rem}.w5{width:16rem}.w-10{width:10%}.w-20{width:20%}.w-25{width:25%}.w-30{width:30%}.w-33{width:33%}.w-34{width:34%}.w-40{width:40%}.w-50{width:50%}.w-60{width:60%}.w-70{width:70%}.w-75{width:75%}.w-80{width:80%}.w-90{width:90%}.w-100{width:100%}.w-third{width:33.33333%}.w-two-thirds{width:66.66667%}.w-auto{width:auto}.overflow-visible{overflow:visible}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-auto{overflow:auto}.overflow-x-visible{overflow-x:visible}.overflow-x-hidden{overflow-x:hidden}.overflow-x-scroll{overflow-x:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-visible{overflow-y:visible}.overflow-y-hidden{overflow-y:hidden}.overflow-y-scroll{overflow-y:scroll}.overflow-y-auto{overflow-y:auto}.static{position:static}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.o-100{opacity:1}.o-90{opacity:.9}.o-80{opacity:.8}.o-70{opacity:.7}.o-60{opacity:.6}.o-50{opacity:.5}.o-40{opacity:.4}.o-30{opacity:.3}.o-20{opacity:.2}.o-10{opacity:.1}.o-05{opacity:.05}.o-025{opacity:.025}.o-0{opacity:0}.rotate-45{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.rotate-135{-webkit-transform:rotate(135deg);transform:rotate(135deg)}.rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.rotate-225{-webkit-transform:rotate(225deg);transform:rotate(225deg)}.rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.rotate-315{-webkit-transform:rotate(315deg);transform:rotate(315deg)}.black-90{color:rgba(0,0,0,.9)}.black-80{color:rgba(0,0,0,.8)}.black-70{color:rgba(0,0,0,.7)}.black-60{color:rgba(0,0,0,.6)}.black-50{color:rgba(0,0,0,.5)}.black-40{color:rgba(0,0,0,.4)}.black-30{color:rgba(0,0,0,.3)}.black-20{color:rgba(0,0,0,.2)}.black-10{color:rgba(0,0,0,.1)}.black-05{color:rgba(0,0,0,.05)}.white-90{color:hsla(0,0%,100%,.9)}.white-80{color:hsla(0,0%,100%,.8)}.white-70{color:hsla(0,0%,100%,.7)}.white-60{color:hsla(0,0%,100%,.6)}.white-50{color:hsla(0,0%,100%,.5)}.white-40{color:hsla(0,0%,100%,.4)}.white-30{color:hsla(0,0%,100%,.3)}.white-20{color:hsla(0,0%,100%,.2)}.white-10{color:hsla(0,0%,100%,.1)}.black{color:#000}.near-black{color:#111}.dark-gray{color:#333}.mid-gray{color:#555}.gray{color:#777}.silver{color:#999}.light-silver{color:#aaa}.moon-gray{color:#ccc}.light-gray{color:#eee}.near-white{color:#f4f4f4}.white{color:#fff}.dark-red{color:#e7040f}.red{color:#ff4136}.light-red{color:#ff725c}.orange{color:#ff6300}.gold{color:#ffb700}.yellow{color:gold}.light-yellow{color:#fbf1a9}.purple{color:#5e2ca5}.light-purple{color:#a463f2}.dark-pink{color:#d5008f}.hot-pink{color:#ff41b4}.pink{color:#ff80cc}.light-pink{color:#ffa3d7}.dark-green{color:#137752}.green{color:#19a974}.light-green{color:#9eebcf}.navy{color:#001b44}.dark-blue{color:#00449e}.blue{color:#357edd}.light-blue{color:#96ccff}.lightest-blue{color:#cdecff}.washed-blue{color:#f6fffe}.washed-green{color:#e8fdf5}.washed-yellow{color:#fffceb}.washed-red{color:#ffdfdf}.color-inherit{color:inherit}.bg-black-90{background-color:rgba(0,0,0,.9)}.bg-black-80{background-color:rgba(0,0,0,.8)}.bg-black-70{background-color:rgba(0,0,0,.7)}.bg-black-60{background-color:rgba(0,0,0,.6)}.bg-black-50{background-color:rgba(0,0,0,.5)}.bg-black-40{background-color:rgba(0,0,0,.4)}.bg-black-30{background-color:rgba(0,0,0,.3)}.bg-black-20{background-color:rgba(0,0,0,.2)}.bg-black-10{background-color:rgba(0,0,0,.1)}.bg-black-05{background-color:rgba(0,0,0,.05)}.bg-white-90{background-color:hsla(0,0%,100%,.9)}.bg-white-80{background-color:hsla(0,0%,100%,.8)}.bg-white-70{background-color:hsla(0,0%,100%,.7)}.bg-white-60{background-color:hsla(0,0%,100%,.6)}.bg-white-50{background-color:hsla(0,0%,100%,.5)}.bg-white-40{background-color:hsla(0,0%,100%,.4)}.bg-white-30{background-color:hsla(0,0%,100%,.3)}.bg-white-20{background-color:hsla(0,0%,100%,.2)}.bg-white-10{background-color:hsla(0,0%,100%,.1)}.bg-black{background-color:#000}.bg-near-black{background-color:#111}.bg-dark-gray{background-color:#333}.bg-mid-gray{background-color:#555}.bg-gray{background-color:#777}.bg-silver{background-color:#999}.bg-light-silver{background-color:#aaa}.bg-moon-gray{background-color:#ccc}.bg-light-gray{background-color:#eee}.bg-near-white{background-color:#f4f4f4}.bg-white{background-color:#fff}.bg-transparent{background-color:transparent}.bg-dark-red{background-color:#e7040f}.bg-red{background-color:#ff4136}.bg-light-red{background-color:#ff725c}.bg-orange{background-color:#ff6300}.bg-gold{background-color:#ffb700}.bg-yellow{background-color:gold}.bg-light-yellow{background-color:#fbf1a9}.bg-purple{background-color:#5e2ca5}.bg-light-purple{background-color:#a463f2}.bg-dark-pink{background-color:#d5008f}.bg-hot-pink{background-color:#ff41b4}.bg-pink{background-color:#ff80cc}.bg-light-pink{background-color:#ffa3d7}.bg-dark-green{background-color:#137752}.bg-green{background-color:#19a974}.bg-light-green{background-color:#9eebcf}.bg-navy{background-color:#001b44}.bg-dark-blue{background-color:#00449e}.bg-blue{background-color:#357edd}.bg-light-blue{background-color:#96ccff}.bg-lightest-blue{background-color:#cdecff}.bg-washed-blue{background-color:#f6fffe}.bg-washed-green{background-color:#e8fdf5}.bg-washed-yellow{background-color:#fffceb}.bg-washed-red{background-color:#ffdfdf}.bg-inherit{background-color:inherit}.hover-black:focus,.hover-black:hover{color:#000}.hover-near-black:focus,.hover-near-black:hover{color:#111}.hover-dark-gray:focus,.hover-dark-gray:hover{color:#333}.hover-mid-gray:focus,.hover-mid-gray:hover{color:#555}.hover-gray:focus,.hover-gray:hover{color:#777}.hover-silver:focus,.hover-silver:hover{color:#999}.hover-light-silver:focus,.hover-light-silver:hover{color:#aaa}.hover-moon-gray:focus,.hover-moon-gray:hover{color:#ccc}.hover-light-gray:focus,.hover-light-gray:hover{color:#eee}.hover-near-white:focus,.hover-near-white:hover{color:#f4f4f4}.hover-white:focus,.hover-white:hover{color:#fff}.hover-black-90:focus,.hover-black-90:hover{color:rgba(0,0,0,.9)}.hover-black-80:focus,.hover-black-80:hover{color:rgba(0,0,0,.8)}.hover-black-70:focus,.hover-black-70:hover{color:rgba(0,0,0,.7)}.hover-black-60:focus,.hover-black-60:hover{color:rgba(0,0,0,.6)}.hover-black-50:focus,.hover-black-50:hover{color:rgba(0,0,0,.5)}.hover-black-40:focus,.hover-black-40:hover{color:rgba(0,0,0,.4)}.hover-black-30:focus,.hover-black-30:hover{color:rgba(0,0,0,.3)}.hover-black-20:focus,.hover-black-20:hover{color:rgba(0,0,0,.2)}.hover-black-10:focus,.hover-black-10:hover{color:rgba(0,0,0,.1)}.hover-white-90:focus,.hover-white-90:hover{color:hsla(0,0%,100%,.9)}.hover-white-80:focus,.hover-white-80:hover{color:hsla(0,0%,100%,.8)}.hover-white-70:focus,.hover-white-70:hover{color:hsla(0,0%,100%,.7)}.hover-white-60:focus,.hover-white-60:hover{color:hsla(0,0%,100%,.6)}.hover-white-50:focus,.hover-white-50:hover{color:hsla(0,0%,100%,.5)}.hover-white-40:focus,.hover-white-40:hover{color:hsla(0,0%,100%,.4)}.hover-white-30:focus,.hover-white-30:hover{color:hsla(0,0%,100%,.3)}.hover-white-20:focus,.hover-white-20:hover{color:hsla(0,0%,100%,.2)}.hover-white-10:focus,.hover-white-10:hover{color:hsla(0,0%,100%,.1)}.hover-inherit:focus,.hover-inherit:hover{color:inherit}.hover-bg-black:focus,.hover-bg-black:hover{background-color:#000}.hover-bg-near-black:focus,.hover-bg-near-black:hover{background-color:#111}.hover-bg-dark-gray:focus,.hover-bg-dark-gray:hover{background-color:#333}.hover-bg-mid-gray:focus,.hover-bg-mid-gray:hover{background-color:#555}.hover-bg-gray:focus,.hover-bg-gray:hover{background-color:#777}.hover-bg-silver:focus,.hover-bg-silver:hover{background-color:#999}.hover-bg-light-silver:focus,.hover-bg-light-silver:hover{background-color:#aaa}.hover-bg-moon-gray:focus,.hover-bg-moon-gray:hover{background-color:#ccc}.hover-bg-light-gray:focus,.hover-bg-light-gray:hover{background-color:#eee}.hover-bg-near-white:focus,.hover-bg-near-white:hover{background-color:#f4f4f4}.hover-bg-white:focus,.hover-bg-white:hover{background-color:#fff}.hover-bg-transparent:focus,.hover-bg-transparent:hover{background-color:transparent}.hover-bg-black-90:focus,.hover-bg-black-90:hover{background-color:rgba(0,0,0,.9)}.hover-bg-black-80:focus,.hover-bg-black-80:hover{background-color:rgba(0,0,0,.8)}.hover-bg-black-70:focus,.hover-bg-black-70:hover{background-color:rgba(0,0,0,.7)}.hover-bg-black-60:focus,.hover-bg-black-60:hover{background-color:rgba(0,0,0,.6)}.hover-bg-black-50:focus,.hover-bg-black-50:hover{background-color:rgba(0,0,0,.5)}.hover-bg-black-40:focus,.hover-bg-black-40:hover{background-color:rgba(0,0,0,.4)}.hover-bg-black-30:focus,.hover-bg-black-30:hover{background-color:rgba(0,0,0,.3)}.hover-bg-black-20:focus,.hover-bg-black-20:hover{background-color:rgba(0,0,0,.2)}.hover-bg-black-10:focus,.hover-bg-black-10:hover{background-color:rgba(0,0,0,.1)}.hover-bg-white-90:focus,.hover-bg-white-90:hover{background-color:hsla(0,0%,100%,.9)}.hover-bg-white-80:focus,.hover-bg-white-80:hover{background-color:hsla(0,0%,100%,.8)}.hover-bg-white-70:focus,.hover-bg-white-70:hover{background-color:hsla(0,0%,100%,.7)}.hover-bg-white-60:focus,.hover-bg-white-60:hover{background-color:hsla(0,0%,100%,.6)}.hover-bg-white-50:focus,.hover-bg-white-50:hover{background-color:hsla(0,0%,100%,.5)}.hover-bg-white-40:focus,.hover-bg-white-40:hover{background-color:hsla(0,0%,100%,.4)}.hover-bg-white-30:focus,.hover-bg-white-30:hover{background-color:hsla(0,0%,100%,.3)}.hover-bg-white-20:focus,.hover-bg-white-20:hover{background-color:hsla(0,0%,100%,.2)}.hover-bg-white-10:focus,.hover-bg-white-10:hover{background-color:hsla(0,0%,100%,.1)}.hover-dark-red:focus,.hover-dark-red:hover{color:#e7040f}.hover-red:focus,.hover-red:hover{color:#ff4136}.hover-light-red:focus,.hover-light-red:hover{color:#ff725c}.hover-orange:focus,.hover-orange:hover{color:#ff6300}.hover-gold:focus,.hover-gold:hover{color:#ffb700}.hover-yellow:focus,.hover-yellow:hover{color:gold}.hover-light-yellow:focus,.hover-light-yellow:hover{color:#fbf1a9}.hover-purple:focus,.hover-purple:hover{color:#5e2ca5}.hover-light-purple:focus,.hover-light-purple:hover{color:#a463f2}.hover-dark-pink:focus,.hover-dark-pink:hover{color:#d5008f}.hover-hot-pink:focus,.hover-hot-pink:hover{color:#ff41b4}.hover-pink:focus,.hover-pink:hover{color:#ff80cc}.hover-light-pink:focus,.hover-light-pink:hover{color:#ffa3d7}.hover-dark-green:focus,.hover-dark-green:hover{color:#137752}.hover-green:focus,.hover-green:hover{color:#19a974}.hover-light-green:focus,.hover-light-green:hover{color:#9eebcf}.hover-navy:focus,.hover-navy:hover{color:#001b44}.hover-dark-blue:focus,.hover-dark-blue:hover{color:#00449e}.hover-blue:focus,.hover-blue:hover{color:#357edd}.hover-light-blue:focus,.hover-light-blue:hover{color:#96ccff}.hover-lightest-blue:focus,.hover-lightest-blue:hover{color:#cdecff}.hover-washed-blue:focus,.hover-washed-blue:hover{color:#f6fffe}.hover-washed-green:focus,.hover-washed-green:hover{color:#e8fdf5}.hover-washed-yellow:focus,.hover-washed-yellow:hover{color:#fffceb}.hover-washed-red:focus,.hover-washed-red:hover{color:#ffdfdf}.hover-bg-dark-red:focus,.hover-bg-dark-red:hover{background-color:#e7040f}.hover-bg-red:focus,.hover-bg-red:hover{background-color:#ff4136}.hover-bg-light-red:focus,.hover-bg-light-red:hover{background-color:#ff725c}.hover-bg-orange:focus,.hover-bg-orange:hover{background-color:#ff6300}.hover-bg-gold:focus,.hover-bg-gold:hover{background-color:#ffb700}.hover-bg-yellow:focus,.hover-bg-yellow:hover{background-color:gold}.hover-bg-light-yellow:focus,.hover-bg-light-yellow:hover{background-color:#fbf1a9}.hover-bg-purple:focus,.hover-bg-purple:hover{background-color:#5e2ca5}.hover-bg-light-purple:focus,.hover-bg-light-purple:hover{background-color:#a463f2}.hover-bg-dark-pink:focus,.hover-bg-dark-pink:hover{background-color:#d5008f}.hover-bg-hot-pink:focus,.hover-bg-hot-pink:hover{background-color:#ff41b4}.hover-bg-pink:focus,.hover-bg-pink:hover{background-color:#ff80cc}.hover-bg-light-pink:focus,.hover-bg-light-pink:hover{background-color:#ffa3d7}.hover-bg-dark-green:focus,.hover-bg-dark-green:hover{background-color:#137752}.hover-bg-green:focus,.hover-bg-green:hover{background-color:#19a974}.hover-bg-light-green:focus,.hover-bg-light-green:hover{background-color:#9eebcf}.hover-bg-navy:focus,.hover-bg-navy:hover{background-color:#001b44}.hover-bg-dark-blue:focus,.hover-bg-dark-blue:hover{background-color:#00449e}.hover-bg-blue:focus,.hover-bg-blue:hover{background-color:#357edd}.hover-bg-light-blue:focus,.hover-bg-light-blue:hover{background-color:#96ccff}.hover-bg-lightest-blue:focus,.hover-bg-lightest-blue:hover{background-color:#cdecff}.hover-bg-washed-blue:focus,.hover-bg-washed-blue:hover{background-color:#f6fffe}.hover-bg-washed-green:focus,.hover-bg-washed-green:hover{background-color:#e8fdf5}.hover-bg-washed-yellow:focus,.hover-bg-washed-yellow:hover{background-color:#fffceb}.hover-bg-washed-red:focus,.hover-bg-washed-red:hover{background-color:#ffdfdf}.hover-bg-inherit:focus,.hover-bg-inherit:hover{background-color:inherit}.pa0{padding:0}.pa1{padding:.25rem}.pa2{padding:.5rem}.pa3{padding:1rem}.pa4{padding:2rem}.pa5{padding:4rem}.pa6{padding:8rem}.pa7{padding:16rem}.pl0{padding-left:0}.pl1{padding-left:.25rem}.pl2{padding-left:.5rem}.pl3{padding-left:1rem}.pl4{padding-left:2rem}.pl5{padding-left:4rem}.pl6{padding-left:8rem}.pl7{padding-left:16rem}.pr0{padding-right:0}.pr1{padding-right:.25rem}.pr2{padding-right:.5rem}.pr3{padding-right:1rem}.pr4{padding-right:2rem}.pr5{padding-right:4rem}.pr6{padding-right:8rem}.pr7{padding-right:16rem}.pb0{padding-bottom:0}.pb1{padding-bottom:.25rem}.pb2{padding-bottom:.5rem}.pb3{padding-bottom:1rem}.pb4{padding-bottom:2rem}.pb5{padding-bottom:4rem}.pb6{padding-bottom:8rem}.pb7{padding-bottom:16rem}.pt0{padding-top:0}.pt1{padding-top:.25rem}.pt2{padding-top:.5rem}.pt3{padding-top:1rem}.pt4{padding-top:2rem}.pt5{padding-top:4rem}.pt6{padding-top:8rem}.pt7{padding-top:16rem}.pv0{padding-top:0;padding-bottom:0}.pv1{padding-top:.25rem;padding-bottom:.25rem}.pv2{padding-top:.5rem;padding-bottom:.5rem}.pv3{padding-top:1rem;padding-bottom:1rem}.pv4{padding-top:2rem;padding-bottom:2rem}.pv5{padding-top:4rem;padding-bottom:4rem}.pv6{padding-top:8rem;padding-bottom:8rem}.pv7{padding-top:16rem;padding-bottom:16rem}.ph0{padding-left:0;padding-right:0}.ph1{padding-left:.25rem;padding-right:.25rem}.ph2{padding-left:.5rem;padding-right:.5rem}.ph3{padding-left:1rem;padding-right:1rem}.ph4{padding-left:2rem;padding-right:2rem}.ph5{padding-left:4rem;padding-right:4rem}.ph6{padding-left:8rem;padding-right:8rem}.ph7{padding-left:16rem;padding-right:16rem}.ma0{margin:0}.ma1{margin:.25rem}.ma2{margin:.5rem}.ma3{margin:1rem}.ma4{margin:2rem}.ma5{margin:4rem}.ma6{margin:8rem}.ma7{margin:16rem}.ml0{margin-left:0}.ml1{margin-left:.25rem}.ml2{margin-left:.5rem}.ml3{margin-left:1rem}.ml4{margin-left:2rem}.ml5{margin-left:4rem}.ml6{margin-left:8rem}.ml7{margin-left:16rem}.mr0{margin-right:0}.mr1{margin-right:.25rem}.mr2{margin-right:.5rem}.mr3{margin-right:1rem}.mr4{margin-right:2rem}.mr5{margin-right:4rem}.mr6{margin-right:8rem}.mr7{margin-right:16rem}.mb0{margin-bottom:0}.mb1{margin-bottom:.25rem}.mb2{margin-bottom:.5rem}.mb3{margin-bottom:1rem}.mb4{margin-bottom:2rem}.mb5{margin-bottom:4rem}.mb6{margin-bottom:8rem}.mb7{margin-bottom:16rem}.mt0{margin-top:0}.mt1{margin-top:.25rem}.mt2{margin-top:.5rem}.mt3{margin-top:1rem}.mt4{margin-top:2rem}.mt5{margin-top:4rem}.mt6{margin-top:8rem}.mt7{margin-top:16rem}.mv0{margin-top:0;margin-bottom:0}.mv1{margin-top:.25rem;margin-bottom:.25rem}.mv2{margin-top:.5rem;margin-bottom:.5rem}.mv3{margin-top:1rem;margin-bottom:1rem}.mv4{margin-top:2rem;margin-bottom:2rem}.mv5{margin-top:4rem;margin-bottom:4rem}.mv6{margin-top:8rem;margin-bottom:8rem}.mv7{margin-top:16rem;margin-bottom:16rem}.mh0{margin-left:0;margin-right:0}.mh1{margin-left:.25rem;margin-right:.25rem}.mh2{margin-left:.5rem;margin-right:.5rem}.mh3{margin-left:1rem;margin-right:1rem}.mh4{margin-left:2rem;margin-right:2rem}.mh5{margin-left:4rem;margin-right:4rem}.mh6{margin-left:8rem;margin-right:8rem}.mh7{margin-left:16rem;margin-right:16rem}.na1{margin:-.25rem}.na2{margin:-.5rem}.na3{margin:-1rem}.na4{margin:-2rem}.na5{margin:-4rem}.na6{margin:-8rem}.na7{margin:-16rem}.nl1{margin-left:-.25rem}.nl2{margin-left:-.5rem}.nl3{margin-left:-1rem}.nl4{margin-left:-2rem}.nl5{margin-left:-4rem}.nl6{margin-left:-8rem}.nl7{margin-left:-16rem}.nr1{margin-right:-.25rem}.nr2{margin-right:-.5rem}.nr3{margin-right:-1rem}.nr4{margin-right:-2rem}.nr5{margin-right:-4rem}.nr6{margin-right:-8rem}.nr7{margin-right:-16rem}.nb1{margin-bottom:-.25rem}.nb2{margin-bottom:-.5rem}.nb3{margin-bottom:-1rem}.nb4{margin-bottom:-2rem}.nb5{margin-bottom:-4rem}.nb6{margin-bottom:-8rem}.nb7{margin-bottom:-16rem}.nt1{margin-top:-.25rem}.nt2{margin-top:-.5rem}.nt3{margin-top:-1rem}.nt4{margin-top:-2rem}.nt5{margin-top:-4rem}.nt6{margin-top:-8rem}.nt7{margin-top:-16rem}.collapse{border-collapse:collapse;border-spacing:0}.striped--light-silver:nth-child(odd){background-color:#aaa}.striped--moon-gray:nth-child(odd){background-color:#ccc}.striped--light-gray:nth-child(odd){background-color:#eee}.striped--near-white:nth-child(odd){background-color:#f4f4f4}.stripe-light:nth-child(odd){background-color:hsla(0,0%,100%,.1)}.stripe-dark:nth-child(odd){background-color:rgba(0,0,0,.1)}.strike{text-decoration:line-through}.underline{text-decoration:underline}.no-underline{text-decoration:none}.tl{text-align:left}.tr{text-align:right}.tc{text-align:center}.tj{text-align:justify}.ttc{text-transform:capitalize}.ttl{text-transform:lowercase}.ttu{text-transform:uppercase}.ttn{text-transform:none}.f-6,.f-headline{font-size:6rem}.f-5,.f-subheadline{font-size:5rem}.f1{font-size:3rem}.f2{font-size:2.25rem}.f3{font-size:1.5rem}.f4{font-size:1.25rem}.f5{font-size:1rem}.f6{font-size:.875rem}.f7{font-size:.75rem}.measure{max-width:30em}.measure-wide{max-width:34em}.measure-narrow{max-width:20em}.indent{text-indent:1em;margin-top:0;margin-bottom:0}.small-caps{font-variant:small-caps}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.overflow-container{overflow-y:scroll}.center{margin-left:auto}.center,.mr-auto{margin-right:auto}.ml-auto{margin-left:auto}.clip{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}.ws-normal{white-space:normal}.nowrap{white-space:nowrap}.pre{white-space:pre}.v-base{vertical-align:baseline}.v-mid{vertical-align:middle}.v-top{vertical-align:top}.v-btm{vertical-align:bottom}.dim{opacity:1}.dim,.dim:focus,.dim:hover{transition:opacity .15s ease-in}.dim:focus,.dim:hover{opacity:.5}.dim:active{opacity:.8;transition:opacity .15s ease-out}.glow,.glow:focus,.glow:hover{transition:opacity .15s ease-in}.glow:focus,.glow:hover{opacity:1}.hide-child .child{opacity:0;transition:opacity .15s ease-in}.hide-child:active .child,.hide-child:focus .child,.hide-child:hover .child{opacity:1;transition:opacity .15s ease-in}.underline-hover:focus,.underline-hover:hover{text-decoration:underline}.grow{-moz-osx-font-smoothing:grayscale;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateZ(0);transform:translateZ(0);transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.grow:focus,.grow:hover{-webkit-transform:scale(1.05);transform:scale(1.05)}.grow:active{-webkit-transform:scale(.9);transform:scale(.9)}.grow-large{-moz-osx-font-smoothing:grayscale;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateZ(0);transform:translateZ(0);transition:-webkit-transform .25s ease-in-out;transition:transform .25s ease-in-out;transition:transform .25s ease-in-out,-webkit-transform .25s ease-in-out}.grow-large:focus,.grow-large:hover{-webkit-transform:scale(1.2);transform:scale(1.2)}.grow-large:active{-webkit-transform:scale(.95);transform:scale(.95)}.pointer:hover,.shadow-hover{cursor:pointer}.shadow-hover{position:relative;transition:all .5s cubic-bezier(.165,.84,.44,1)}.shadow-hover:after{content:"";box-shadow:0 0 16px 2px rgba(0,0,0,.2);border-radius:inherit;opacity:0;position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;transition:opacity .5s cubic-bezier(.165,.84,.44,1)}.shadow-hover:focus:after,.shadow-hover:hover:after{opacity:1}.bg-animate,.bg-animate:focus,.bg-animate:hover{transition:background-color .15s ease-in-out}.z-0{z-index:0}.z-1{z-index:1}.z-2{z-index:2}.z-3{z-index:3}.z-4{z-index:4}.z-5{z-index:5}.z-999{z-index:999}.z-9999{z-index:9999}.z-max{z-index:2147483647}.z-inherit{z-index:inherit}.z-initial{z-index:auto}.z-unset{z-index:unset}.nested-copy-line-height ol,.nested-copy-line-height p,.nested-copy-line-height ul{line-height:1.5}.nested-headline-line-height h1,.nested-headline-line-height h2,.nested-headline-line-height h3,.nested-headline-line-height h4,.nested-headline-line-height h5,.nested-headline-line-height h6{line-height:1.25}.nested-list-reset ol,.nested-list-reset ul{padding-left:0;margin-left:0;list-style-type:none}.nested-copy-indent p+p{text-indent:1em;margin-top:0;margin-bottom:0}.nested-copy-separator p+p{margin-top:1.5em}.nested-img img{width:100%;max-width:100%;display:block}.nested-links a{color:#357edd;transition:color .15s ease-in}.nested-links a:focus,.nested-links a:hover{color:#96ccff;transition:color .15s ease-in}.debug *{outline:1px solid gold}.debug-white *{outline:1px solid #fff}.debug-black *{outline:1px solid #000}.debug-grid{background:transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAFElEQVR4AWPAC97/9x0eCsAEPgwAVLshdpENIxcAAAAASUVORK5CYII=) repeat 0 0}.debug-grid-16{background:transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMklEQVR4AWOgCLz/b0epAa6UGuBOqQHOQHLUgFEDnAbcBZ4UGwDOkiCnkIhdgNgNxAYAiYlD+8sEuo8AAAAASUVORK5CYII=) repeat 0 0}.debug-grid-8-solid{background:#fff url(data:image/gif;base64,R0lGODdhCAAIAPEAAADw/wDx/////wAAACwAAAAACAAIAAACDZQvgaeb/lxbAIKA8y0AOw==) repeat 0 0}.debug-grid-16-solid{background:#fff url(data:image/gif;base64,R0lGODdhEAAQAPEAAADw/wDx/xXy/////ywAAAAAEAAQAAACIZyPKckYDQFsb6ZqD85jZ2+BkwiRFKehhqQCQgDHcgwEBQA7) repeat 0 0}@media screen and (min-width:30em){.aspect-ratio-ns{height:0;position:relative}.aspect-ratio--16x9-ns{padding-bottom:56.25%}.aspect-ratio--9x16-ns{padding-bottom:177.77%}.aspect-ratio--4x3-ns{padding-bottom:75%}.aspect-ratio--3x4-ns{padding-bottom:133.33%}.aspect-ratio--6x4-ns{padding-bottom:66.6%}.aspect-ratio--4x6-ns{padding-bottom:150%}.aspect-ratio--8x5-ns{padding-bottom:62.5%}.aspect-ratio--5x8-ns{padding-bottom:160%}.aspect-ratio--7x5-ns{padding-bottom:71.42%}.aspect-ratio--5x7-ns{padding-bottom:140%}.aspect-ratio--1x1-ns{padding-bottom:100%}.aspect-ratio--object-ns{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:100}.cover-ns{background-size:cover!important}.contain-ns{background-size:contain!important}.bg-center-ns{background-position:50%}.bg-center-ns,.bg-top-ns{background-repeat:no-repeat}.bg-top-ns{background-position:top}.bg-right-ns{background-position:100%}.bg-bottom-ns,.bg-right-ns{background-repeat:no-repeat}.bg-bottom-ns{background-position:bottom}.bg-left-ns{background-repeat:no-repeat;background-position:0}.outline-ns{outline:1px solid}.outline-transparent-ns{outline:1px solid transparent}.outline-0-ns{outline:0}.ba-ns{border-style:solid;border-width:1px}.bt-ns{border-top-style:solid;border-top-width:1px}.br-ns{border-right-style:solid;border-right-width:1px}.bb-ns{border-bottom-style:solid;border-bottom-width:1px}.bl-ns{border-left-style:solid;border-left-width:1px}.bn-ns{border-style:none;border-width:0}.br0-ns{border-radius:0}.br1-ns{border-radius:.125rem}.br2-ns{border-radius:.25rem}.br3-ns{border-radius:.5rem}.br4-ns{border-radius:1rem}.br-100-ns{border-radius:100%}.br-pill-ns{border-radius:9999px}.br--bottom-ns{border-top-left-radius:0;border-top-right-radius:0}.br--top-ns{border-bottom-right-radius:0}.br--right-ns,.br--top-ns{border-bottom-left-radius:0}.br--right-ns{border-top-left-radius:0}.br--left-ns{border-top-right-radius:0;border-bottom-right-radius:0}.br-inherit-ns{border-radius:inherit}.br-initial-ns{border-radius:initial}.br-unset-ns{border-radius:unset}.b--dotted-ns{border-style:dotted}.b--dashed-ns{border-style:dashed}.b--solid-ns{border-style:solid}.b--none-ns{border-style:none}.bw0-ns{border-width:0}.bw1-ns{border-width:.125rem}.bw2-ns{border-width:.25rem}.bw3-ns{border-width:.5rem}.bw4-ns{border-width:1rem}.bw5-ns{border-width:2rem}.bt-0-ns{border-top-width:0}.br-0-ns{border-right-width:0}.bb-0-ns{border-bottom-width:0}.bl-0-ns{border-left-width:0}.shadow-1-ns{box-shadow:0 0 4px 2px rgba(0,0,0,.2)}.shadow-2-ns{box-shadow:0 0 8px 2px rgba(0,0,0,.2)}.shadow-3-ns{box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)}.shadow-4-ns{box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)}.shadow-5-ns{box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)}.top-0-ns{top:0}.left-0-ns{left:0}.right-0-ns{right:0}.bottom-0-ns{bottom:0}.top-1-ns{top:1rem}.left-1-ns{left:1rem}.right-1-ns{right:1rem}.bottom-1-ns{bottom:1rem}.top-2-ns{top:2rem}.left-2-ns{left:2rem}.right-2-ns{right:2rem}.bottom-2-ns{bottom:2rem}.top--1-ns{top:-1rem}.right--1-ns{right:-1rem}.bottom--1-ns{bottom:-1rem}.left--1-ns{left:-1rem}.top--2-ns{top:-2rem}.right--2-ns{right:-2rem}.bottom--2-ns{bottom:-2rem}.left--2-ns{left:-2rem}.absolute--fill-ns{top:0;right:0;bottom:0;left:0}.cl-ns{clear:left}.cr-ns{clear:right}.cb-ns{clear:both}.cn-ns{clear:none}.dn-ns{display:none}.di-ns{display:inline}.db-ns{display:block}.dib-ns{display:inline-block}.dit-ns{display:inline-table}.dt-ns{display:table}.dtc-ns{display:table-cell}.dt-row-ns{display:table-row}.dt-row-group-ns{display:table-row-group}.dt-column-ns{display:table-column}.dt-column-group-ns{display:table-column-group}.dt--fixed-ns{table-layout:fixed;width:100%}.flex-ns{display:flex}.inline-flex-ns{display:inline-flex}.flex-auto-ns{flex:1 1 auto;min-width:0;min-height:0}.flex-none-ns{flex:none}.flex-column-ns{flex-direction:column}.flex-row-ns{flex-direction:row}.flex-wrap-ns{flex-wrap:wrap}.flex-nowrap-ns{flex-wrap:nowrap}.flex-wrap-reverse-ns{flex-wrap:wrap-reverse}.flex-column-reverse-ns{flex-direction:column-reverse}.flex-row-reverse-ns{flex-direction:row-reverse}.items-start-ns{align-items:flex-start}.items-end-ns{align-items:flex-end}.items-center-ns{align-items:center}.items-baseline-ns{align-items:baseline}.items-stretch-ns{align-items:stretch}.self-start-ns{align-self:flex-start}.self-end-ns{align-self:flex-end}.self-center-ns{align-self:center}.self-baseline-ns{align-self:baseline}.self-stretch-ns{align-self:stretch}.justify-start-ns{justify-content:flex-start}.justify-end-ns{justify-content:flex-end}.justify-center-ns{justify-content:center}.justify-between-ns{justify-content:space-between}.justify-around-ns{justify-content:space-around}.content-start-ns{align-content:flex-start}.content-end-ns{align-content:flex-end}.content-center-ns{align-content:center}.content-between-ns{align-content:space-between}.content-around-ns{align-content:space-around}.content-stretch-ns{align-content:stretch}.order-0-ns{order:0}.order-1-ns{order:1}.order-2-ns{order:2}.order-3-ns{order:3}.order-4-ns{order:4}.order-5-ns{order:5}.order-6-ns{order:6}.order-7-ns{order:7}.order-8-ns{order:8}.order-last-ns{order:99999}.flex-grow-0-ns{flex-grow:0}.flex-grow-1-ns{flex-grow:1}.flex-shrink-0-ns{flex-shrink:0}.flex-shrink-1-ns{flex-shrink:1}.fl-ns{float:left}.fl-ns,.fr-ns{_display:inline}.fr-ns{float:right}.fn-ns{float:none}.i-ns{font-style:italic}.fs-normal-ns{font-style:normal}.normal-ns{font-weight:400}.b-ns{font-weight:700}.fw1-ns{font-weight:100}.fw2-ns{font-weight:200}.fw3-ns{font-weight:300}.fw4-ns{font-weight:400}.fw5-ns{font-weight:500}.fw6-ns{font-weight:600}.fw7-ns{font-weight:700}.fw8-ns{font-weight:800}.fw9-ns{font-weight:900}.h1-ns{height:1rem}.h2-ns{height:2rem}.h3-ns{height:4rem}.h4-ns{height:8rem}.h5-ns{height:16rem}.h-25-ns{height:25%}.h-50-ns{height:50%}.h-75-ns{height:75%}.h-100-ns{height:100%}.min-h-100-ns{min-height:100%}.vh-25-ns{height:25vh}.vh-50-ns{height:50vh}.vh-75-ns{height:75vh}.vh-100-ns{height:100vh}.min-vh-100-ns{min-height:100vh}.h-auto-ns{height:auto}.h-inherit-ns{height:inherit}.tracked-ns{letter-spacing:.1em}.tracked-tight-ns{letter-spacing:-.05em}.tracked-mega-ns{letter-spacing:.25em}.lh-solid-ns{line-height:1}.lh-title-ns{line-height:1.25}.lh-copy-ns{line-height:1.5}.mw-100-ns{max-width:100%}.mw1-ns{max-width:1rem}.mw2-ns{max-width:2rem}.mw3-ns{max-width:4rem}.mw4-ns{max-width:8rem}.mw5-ns{max-width:16rem}.mw6-ns{max-width:32rem}.mw7-ns{max-width:48rem}.mw8-ns{max-width:64rem}.mw9-ns{max-width:96rem}.mw-none-ns{max-width:none}.w1-ns{width:1rem}.w2-ns{width:2rem}.w3-ns{width:4rem}.w4-ns{width:8rem}.w5-ns{width:16rem}.w-10-ns{width:10%}.w-20-ns{width:20%}.w-25-ns{width:25%}.w-30-ns{width:30%}.w-33-ns{width:33%}.w-34-ns{width:34%}.w-40-ns{width:40%}.w-50-ns{width:50%}.w-60-ns{width:60%}.w-70-ns{width:70%}.w-75-ns{width:75%}.w-80-ns{width:80%}.w-90-ns{width:90%}.w-100-ns{width:100%}.w-third-ns{width:33.33333%}.w-two-thirds-ns{width:66.66667%}.w-auto-ns{width:auto}.overflow-visible-ns{overflow:visible}.overflow-hidden-ns{overflow:hidden}.overflow-scroll-ns{overflow:scroll}.overflow-auto-ns{overflow:auto}.overflow-x-visible-ns{overflow-x:visible}.overflow-x-hidden-ns{overflow-x:hidden}.overflow-x-scroll-ns{overflow-x:scroll}.overflow-x-auto-ns{overflow-x:auto}.overflow-y-visible-ns{overflow-y:visible}.overflow-y-hidden-ns{overflow-y:hidden}.overflow-y-scroll-ns{overflow-y:scroll}.overflow-y-auto-ns{overflow-y:auto}.static-ns{position:static}.relative-ns{position:relative}.absolute-ns{position:absolute}.fixed-ns{position:fixed}.rotate-45-ns{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.rotate-90-ns{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.rotate-135-ns{-webkit-transform:rotate(135deg);transform:rotate(135deg)}.rotate-180-ns{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.rotate-225-ns{-webkit-transform:rotate(225deg);transform:rotate(225deg)}.rotate-270-ns{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.rotate-315-ns{-webkit-transform:rotate(315deg);transform:rotate(315deg)}.pa0-ns{padding:0}.pa1-ns{padding:.25rem}.pa2-ns{padding:.5rem}.pa3-ns{padding:1rem}.pa4-ns{padding:2rem}.pa5-ns{padding:4rem}.pa6-ns{padding:8rem}.pa7-ns{padding:16rem}.pl0-ns{padding-left:0}.pl1-ns{padding-left:.25rem}.pl2-ns{padding-left:.5rem}.pl3-ns{padding-left:1rem}.pl4-ns{padding-left:2rem}.pl5-ns{padding-left:4rem}.pl6-ns{padding-left:8rem}.pl7-ns{padding-left:16rem}.pr0-ns{padding-right:0}.pr1-ns{padding-right:.25rem}.pr2-ns{padding-right:.5rem}.pr3-ns{padding-right:1rem}.pr4-ns{padding-right:2rem}.pr5-ns{padding-right:4rem}.pr6-ns{padding-right:8rem}.pr7-ns{padding-right:16rem}.pb0-ns{padding-bottom:0}.pb1-ns{padding-bottom:.25rem}.pb2-ns{padding-bottom:.5rem}.pb3-ns{padding-bottom:1rem}.pb4-ns{padding-bottom:2rem}.pb5-ns{padding-bottom:4rem}.pb6-ns{padding-bottom:8rem}.pb7-ns{padding-bottom:16rem}.pt0-ns{padding-top:0}.pt1-ns{padding-top:.25rem}.pt2-ns{padding-top:.5rem}.pt3-ns{padding-top:1rem}.pt4-ns{padding-top:2rem}.pt5-ns{padding-top:4rem}.pt6-ns{padding-top:8rem}.pt7-ns{padding-top:16rem}.pv0-ns{padding-top:0;padding-bottom:0}.pv1-ns{padding-top:.25rem;padding-bottom:.25rem}.pv2-ns{padding-top:.5rem;padding-bottom:.5rem}.pv3-ns{padding-top:1rem;padding-bottom:1rem}.pv4-ns{padding-top:2rem;padding-bottom:2rem}.pv5-ns{padding-top:4rem;padding-bottom:4rem}.pv6-ns{padding-top:8rem;padding-bottom:8rem}.pv7-ns{padding-top:16rem;padding-bottom:16rem}.ph0-ns{padding-left:0;padding-right:0}.ph1-ns{padding-left:.25rem;padding-right:.25rem}.ph2-ns{padding-left:.5rem;padding-right:.5rem}.ph3-ns{padding-left:1rem;padding-right:1rem}.ph4-ns{padding-left:2rem;padding-right:2rem}.ph5-ns{padding-left:4rem;padding-right:4rem}.ph6-ns{padding-left:8rem;padding-right:8rem}.ph7-ns{padding-left:16rem;padding-right:16rem}.ma0-ns{margin:0}.ma1-ns{margin:.25rem}.ma2-ns{margin:.5rem}.ma3-ns{margin:1rem}.ma4-ns{margin:2rem}.ma5-ns{margin:4rem}.ma6-ns{margin:8rem}.ma7-ns{margin:16rem}.ml0-ns{margin-left:0}.ml1-ns{margin-left:.25rem}.ml2-ns{margin-left:.5rem}.ml3-ns{margin-left:1rem}.ml4-ns{margin-left:2rem}.ml5-ns{margin-left:4rem}.ml6-ns{margin-left:8rem}.ml7-ns{margin-left:16rem}.mr0-ns{margin-right:0}.mr1-ns{margin-right:.25rem}.mr2-ns{margin-right:.5rem}.mr3-ns{margin-right:1rem}.mr4-ns{margin-right:2rem}.mr5-ns{margin-right:4rem}.mr6-ns{margin-right:8rem}.mr7-ns{margin-right:16rem}.mb0-ns{margin-bottom:0}.mb1-ns{margin-bottom:.25rem}.mb2-ns{margin-bottom:.5rem}.mb3-ns{margin-bottom:1rem}.mb4-ns{margin-bottom:2rem}.mb5-ns{margin-bottom:4rem}.mb6-ns{margin-bottom:8rem}.mb7-ns{margin-bottom:16rem}.mt0-ns{margin-top:0}.mt1-ns{margin-top:.25rem}.mt2-ns{margin-top:.5rem}.mt3-ns{margin-top:1rem}.mt4-ns{margin-top:2rem}.mt5-ns{margin-top:4rem}.mt6-ns{margin-top:8rem}.mt7-ns{margin-top:16rem}.mv0-ns{margin-top:0;margin-bottom:0}.mv1-ns{margin-top:.25rem;margin-bottom:.25rem}.mv2-ns{margin-top:.5rem;margin-bottom:.5rem}.mv3-ns{margin-top:1rem;margin-bottom:1rem}.mv4-ns{margin-top:2rem;margin-bottom:2rem}.mv5-ns{margin-top:4rem;margin-bottom:4rem}.mv6-ns{margin-top:8rem;margin-bottom:8rem}.mv7-ns{margin-top:16rem;margin-bottom:16rem}.mh0-ns{margin-left:0;margin-right:0}.mh1-ns{margin-left:.25rem;margin-right:.25rem}.mh2-ns{margin-left:.5rem;margin-right:.5rem}.mh3-ns{margin-left:1rem;margin-right:1rem}.mh4-ns{margin-left:2rem;margin-right:2rem}.mh5-ns{margin-left:4rem;margin-right:4rem}.mh6-ns{margin-left:8rem;margin-right:8rem}.mh7-ns{margin-left:16rem;margin-right:16rem}.na1-ns{margin:-.25rem}.na2-ns{margin:-.5rem}.na3-ns{margin:-1rem}.na4-ns{margin:-2rem}.na5-ns{margin:-4rem}.na6-ns{margin:-8rem}.na7-ns{margin:-16rem}.nl1-ns{margin-left:-.25rem}.nl2-ns{margin-left:-.5rem}.nl3-ns{margin-left:-1rem}.nl4-ns{margin-left:-2rem}.nl5-ns{margin-left:-4rem}.nl6-ns{margin-left:-8rem}.nl7-ns{margin-left:-16rem}.nr1-ns{margin-right:-.25rem}.nr2-ns{margin-right:-.5rem}.nr3-ns{margin-right:-1rem}.nr4-ns{margin-right:-2rem}.nr5-ns{margin-right:-4rem}.nr6-ns{margin-right:-8rem}.nr7-ns{margin-right:-16rem}.nb1-ns{margin-bottom:-.25rem}.nb2-ns{margin-bottom:-.5rem}.nb3-ns{margin-bottom:-1rem}.nb4-ns{margin-bottom:-2rem}.nb5-ns{margin-bottom:-4rem}.nb6-ns{margin-bottom:-8rem}.nb7-ns{margin-bottom:-16rem}.nt1-ns{margin-top:-.25rem}.nt2-ns{margin-top:-.5rem}.nt3-ns{margin-top:-1rem}.nt4-ns{margin-top:-2rem}.nt5-ns{margin-top:-4rem}.nt6-ns{margin-top:-8rem}.nt7-ns{margin-top:-16rem}.strike-ns{text-decoration:line-through}.underline-ns{text-decoration:underline}.no-underline-ns{text-decoration:none}.tl-ns{text-align:left}.tr-ns{text-align:right}.tc-ns{text-align:center}.tj-ns{text-align:justify}.ttc-ns{text-transform:capitalize}.ttl-ns{text-transform:lowercase}.ttu-ns{text-transform:uppercase}.ttn-ns{text-transform:none}.f-6-ns,.f-headline-ns{font-size:6rem}.f-5-ns,.f-subheadline-ns{font-size:5rem}.f1-ns{font-size:3rem}.f2-ns{font-size:2.25rem}.f3-ns{font-size:1.5rem}.f4-ns{font-size:1.25rem}.f5-ns{font-size:1rem}.f6-ns{font-size:.875rem}.f7-ns{font-size:.75rem}.measure-ns{max-width:30em}.measure-wide-ns{max-width:34em}.measure-narrow-ns{max-width:20em}.indent-ns{text-indent:1em;margin-top:0;margin-bottom:0}.small-caps-ns{font-variant:small-caps}.truncate-ns{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.center-ns{margin-left:auto}.center-ns,.mr-auto-ns{margin-right:auto}.ml-auto-ns{margin-left:auto}.clip-ns{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}.ws-normal-ns{white-space:normal}.nowrap-ns{white-space:nowrap}.pre-ns{white-space:pre}.v-base-ns{vertical-align:baseline}.v-mid-ns{vertical-align:middle}.v-top-ns{vertical-align:top}.v-btm-ns{vertical-align:bottom}}@media screen and (min-width:30em) and (max-width:60em){.aspect-ratio-m{height:0;position:relative}.aspect-ratio--16x9-m{padding-bottom:56.25%}.aspect-ratio--9x16-m{padding-bottom:177.77%}.aspect-ratio--4x3-m{padding-bottom:75%}.aspect-ratio--3x4-m{padding-bottom:133.33%}.aspect-ratio--6x4-m{padding-bottom:66.6%}.aspect-ratio--4x6-m{padding-bottom:150%}.aspect-ratio--8x5-m{padding-bottom:62.5%}.aspect-ratio--5x8-m{padding-bottom:160%}.aspect-ratio--7x5-m{padding-bottom:71.42%}.aspect-ratio--5x7-m{padding-bottom:140%}.aspect-ratio--1x1-m{padding-bottom:100%}.aspect-ratio--object-m{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:100}.cover-m{background-size:cover!important}.contain-m{background-size:contain!important}.bg-center-m{background-position:50%}.bg-center-m,.bg-top-m{background-repeat:no-repeat}.bg-top-m{background-position:top}.bg-right-m{background-position:100%}.bg-bottom-m,.bg-right-m{background-repeat:no-repeat}.bg-bottom-m{background-position:bottom}.bg-left-m{background-repeat:no-repeat;background-position:0}.outline-m{outline:1px solid}.outline-transparent-m{outline:1px solid transparent}.outline-0-m{outline:0}.ba-m{border-style:solid;border-width:1px}.bt-m{border-top-style:solid;border-top-width:1px}.br-m{border-right-style:solid;border-right-width:1px}.bb-m{border-bottom-style:solid;border-bottom-width:1px}.bl-m{border-left-style:solid;border-left-width:1px}.bn-m{border-style:none;border-width:0}.br0-m{border-radius:0}.br1-m{border-radius:.125rem}.br2-m{border-radius:.25rem}.br3-m{border-radius:.5rem}.br4-m{border-radius:1rem}.br-100-m{border-radius:100%}.br-pill-m{border-radius:9999px}.br--bottom-m{border-top-left-radius:0;border-top-right-radius:0}.br--top-m{border-bottom-right-radius:0}.br--right-m,.br--top-m{border-bottom-left-radius:0}.br--right-m{border-top-left-radius:0}.br--left-m{border-top-right-radius:0;border-bottom-right-radius:0}.br-inherit-m{border-radius:inherit}.br-initial-m{border-radius:initial}.br-unset-m{border-radius:unset}.b--dotted-m{border-style:dotted}.b--dashed-m{border-style:dashed}.b--solid-m{border-style:solid}.b--none-m{border-style:none}.bw0-m{border-width:0}.bw1-m{border-width:.125rem}.bw2-m{border-width:.25rem}.bw3-m{border-width:.5rem}.bw4-m{border-width:1rem}.bw5-m{border-width:2rem}.bt-0-m{border-top-width:0}.br-0-m{border-right-width:0}.bb-0-m{border-bottom-width:0}.bl-0-m{border-left-width:0}.shadow-1-m{box-shadow:0 0 4px 2px rgba(0,0,0,.2)}.shadow-2-m{box-shadow:0 0 8px 2px rgba(0,0,0,.2)}.shadow-3-m{box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)}.shadow-4-m{box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)}.shadow-5-m{box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)}.top-0-m{top:0}.left-0-m{left:0}.right-0-m{right:0}.bottom-0-m{bottom:0}.top-1-m{top:1rem}.left-1-m{left:1rem}.right-1-m{right:1rem}.bottom-1-m{bottom:1rem}.top-2-m{top:2rem}.left-2-m{left:2rem}.right-2-m{right:2rem}.bottom-2-m{bottom:2rem}.top--1-m{top:-1rem}.right--1-m{right:-1rem}.bottom--1-m{bottom:-1rem}.left--1-m{left:-1rem}.top--2-m{top:-2rem}.right--2-m{right:-2rem}.bottom--2-m{bottom:-2rem}.left--2-m{left:-2rem}.absolute--fill-m{top:0;right:0;bottom:0;left:0}.cl-m{clear:left}.cr-m{clear:right}.cb-m{clear:both}.cn-m{clear:none}.dn-m{display:none}.di-m{display:inline}.db-m{display:block}.dib-m{display:inline-block}.dit-m{display:inline-table}.dt-m{display:table}.dtc-m{display:table-cell}.dt-row-m{display:table-row}.dt-row-group-m{display:table-row-group}.dt-column-m{display:table-column}.dt-column-group-m{display:table-column-group}.dt--fixed-m{table-layout:fixed;width:100%}.flex-m{display:flex}.inline-flex-m{display:inline-flex}.flex-auto-m{flex:1 1 auto;min-width:0;min-height:0}.flex-none-m{flex:none}.flex-column-m{flex-direction:column}.flex-row-m{flex-direction:row}.flex-wrap-m{flex-wrap:wrap}.flex-nowrap-m{flex-wrap:nowrap}.flex-wrap-reverse-m{flex-wrap:wrap-reverse}.flex-column-reverse-m{flex-direction:column-reverse}.flex-row-reverse-m{flex-direction:row-reverse}.items-start-m{align-items:flex-start}.items-end-m{align-items:flex-end}.items-center-m{align-items:center}.items-baseline-m{align-items:baseline}.items-stretch-m{align-items:stretch}.self-start-m{align-self:flex-start}.self-end-m{align-self:flex-end}.self-center-m{align-self:center}.self-baseline-m{align-self:baseline}.self-stretch-m{align-self:stretch}.justify-start-m{justify-content:flex-start}.justify-end-m{justify-content:flex-end}.justify-center-m{justify-content:center}.justify-between-m{justify-content:space-between}.justify-around-m{justify-content:space-around}.content-start-m{align-content:flex-start}.content-end-m{align-content:flex-end}.content-center-m{align-content:center}.content-between-m{align-content:space-between}.content-around-m{align-content:space-around}.content-stretch-m{align-content:stretch}.order-0-m{order:0}.order-1-m{order:1}.order-2-m{order:2}.order-3-m{order:3}.order-4-m{order:4}.order-5-m{order:5}.order-6-m{order:6}.order-7-m{order:7}.order-8-m{order:8}.order-last-m{order:99999}.flex-grow-0-m{flex-grow:0}.flex-grow-1-m{flex-grow:1}.flex-shrink-0-m{flex-shrink:0}.flex-shrink-1-m{flex-shrink:1}.fl-m{float:left}.fl-m,.fr-m{_display:inline}.fr-m{float:right}.fn-m{float:none}.i-m{font-style:italic}.fs-normal-m{font-style:normal}.normal-m{font-weight:400}.b-m{font-weight:700}.fw1-m{font-weight:100}.fw2-m{font-weight:200}.fw3-m{font-weight:300}.fw4-m{font-weight:400}.fw5-m{font-weight:500}.fw6-m{font-weight:600}.fw7-m{font-weight:700}.fw8-m{font-weight:800}.fw9-m{font-weight:900}.h1-m{height:1rem}.h2-m{height:2rem}.h3-m{height:4rem}.h4-m{height:8rem}.h5-m{height:16rem}.h-25-m{height:25%}.h-50-m{height:50%}.h-75-m{height:75%}.h-100-m{height:100%}.min-h-100-m{min-height:100%}.vh-25-m{height:25vh}.vh-50-m{height:50vh}.vh-75-m{height:75vh}.vh-100-m{height:100vh}.min-vh-100-m{min-height:100vh}.h-auto-m{height:auto}.h-inherit-m{height:inherit}.tracked-m{letter-spacing:.1em}.tracked-tight-m{letter-spacing:-.05em}.tracked-mega-m{letter-spacing:.25em}.lh-solid-m{line-height:1}.lh-title-m{line-height:1.25}.lh-copy-m{line-height:1.5}.mw-100-m{max-width:100%}.mw1-m{max-width:1rem}.mw2-m{max-width:2rem}.mw3-m{max-width:4rem}.mw4-m{max-width:8rem}.mw5-m{max-width:16rem}.mw6-m{max-width:32rem}.mw7-m{max-width:48rem}.mw8-m{max-width:64rem}.mw9-m{max-width:96rem}.mw-none-m{max-width:none}.w1-m{width:1rem}.w2-m{width:2rem}.w3-m{width:4rem}.w4-m{width:8rem}.w5-m{width:16rem}.w-10-m{width:10%}.w-20-m{width:20%}.w-25-m{width:25%}.w-30-m{width:30%}.w-33-m{width:33%}.w-34-m{width:34%}.w-40-m{width:40%}.w-50-m{width:50%}.w-60-m{width:60%}.w-70-m{width:70%}.w-75-m{width:75%}.w-80-m{width:80%}.w-90-m{width:90%}.w-100-m{width:100%}.w-third-m{width:33.33333%}.w-two-thirds-m{width:66.66667%}.w-auto-m{width:auto}.overflow-visible-m{overflow:visible}.overflow-hidden-m{overflow:hidden}.overflow-scroll-m{overflow:scroll}.overflow-auto-m{overflow:auto}.overflow-x-visible-m{overflow-x:visible}.overflow-x-hidden-m{overflow-x:hidden}.overflow-x-scroll-m{overflow-x:scroll}.overflow-x-auto-m{overflow-x:auto}.overflow-y-visible-m{overflow-y:visible}.overflow-y-hidden-m{overflow-y:hidden}.overflow-y-scroll-m{overflow-y:scroll}.overflow-y-auto-m{overflow-y:auto}.static-m{position:static}.relative-m{position:relative}.absolute-m{position:absolute}.fixed-m{position:fixed}.rotate-45-m{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.rotate-90-m{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.rotate-135-m{-webkit-transform:rotate(135deg);transform:rotate(135deg)}.rotate-180-m{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.rotate-225-m{-webkit-transform:rotate(225deg);transform:rotate(225deg)}.rotate-270-m{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.rotate-315-m{-webkit-transform:rotate(315deg);transform:rotate(315deg)}.pa0-m{padding:0}.pa1-m{padding:.25rem}.pa2-m{padding:.5rem}.pa3-m{padding:1rem}.pa4-m{padding:2rem}.pa5-m{padding:4rem}.pa6-m{padding:8rem}.pa7-m{padding:16rem}.pl0-m{padding-left:0}.pl1-m{padding-left:.25rem}.pl2-m{padding-left:.5rem}.pl3-m{padding-left:1rem}.pl4-m{padding-left:2rem}.pl5-m{padding-left:4rem}.pl6-m{padding-left:8rem}.pl7-m{padding-left:16rem}.pr0-m{padding-right:0}.pr1-m{padding-right:.25rem}.pr2-m{padding-right:.5rem}.pr3-m{padding-right:1rem}.pr4-m{padding-right:2rem}.pr5-m{padding-right:4rem}.pr6-m{padding-right:8rem}.pr7-m{padding-right:16rem}.pb0-m{padding-bottom:0}.pb1-m{padding-bottom:.25rem}.pb2-m{padding-bottom:.5rem}.pb3-m{padding-bottom:1rem}.pb4-m{padding-bottom:2rem}.pb5-m{padding-bottom:4rem}.pb6-m{padding-bottom:8rem}.pb7-m{padding-bottom:16rem}.pt0-m{padding-top:0}.pt1-m{padding-top:.25rem}.pt2-m{padding-top:.5rem}.pt3-m{padding-top:1rem}.pt4-m{padding-top:2rem}.pt5-m{padding-top:4rem}.pt6-m{padding-top:8rem}.pt7-m{padding-top:16rem}.pv0-m{padding-top:0;padding-bottom:0}.pv1-m{padding-top:.25rem;padding-bottom:.25rem}.pv2-m{padding-top:.5rem;padding-bottom:.5rem}.pv3-m{padding-top:1rem;padding-bottom:1rem}.pv4-m{padding-top:2rem;padding-bottom:2rem}.pv5-m{padding-top:4rem;padding-bottom:4rem}.pv6-m{padding-top:8rem;padding-bottom:8rem}.pv7-m{padding-top:16rem;padding-bottom:16rem}.ph0-m{padding-left:0;padding-right:0}.ph1-m{padding-left:.25rem;padding-right:.25rem}.ph2-m{padding-left:.5rem;padding-right:.5rem}.ph3-m{padding-left:1rem;padding-right:1rem}.ph4-m{padding-left:2rem;padding-right:2rem}.ph5-m{padding-left:4rem;padding-right:4rem}.ph6-m{padding-left:8rem;padding-right:8rem}.ph7-m{padding-left:16rem;padding-right:16rem}.ma0-m{margin:0}.ma1-m{margin:.25rem}.ma2-m{margin:.5rem}.ma3-m{margin:1rem}.ma4-m{margin:2rem}.ma5-m{margin:4rem}.ma6-m{margin:8rem}.ma7-m{margin:16rem}.ml0-m{margin-left:0}.ml1-m{margin-left:.25rem}.ml2-m{margin-left:.5rem}.ml3-m{margin-left:1rem}.ml4-m{margin-left:2rem}.ml5-m{margin-left:4rem}.ml6-m{margin-left:8rem}.ml7-m{margin-left:16rem}.mr0-m{margin-right:0}.mr1-m{margin-right:.25rem}.mr2-m{margin-right:.5rem}.mr3-m{margin-right:1rem}.mr4-m{margin-right:2rem}.mr5-m{margin-right:4rem}.mr6-m{margin-right:8rem}.mr7-m{margin-right:16rem}.mb0-m{margin-bottom:0}.mb1-m{margin-bottom:.25rem}.mb2-m{margin-bottom:.5rem}.mb3-m{margin-bottom:1rem}.mb4-m{margin-bottom:2rem}.mb5-m{margin-bottom:4rem}.mb6-m{margin-bottom:8rem}.mb7-m{margin-bottom:16rem}.mt0-m{margin-top:0}.mt1-m{margin-top:.25rem}.mt2-m{margin-top:.5rem}.mt3-m{margin-top:1rem}.mt4-m{margin-top:2rem}.mt5-m{margin-top:4rem}.mt6-m{margin-top:8rem}.mt7-m{margin-top:16rem}.mv0-m{margin-top:0;margin-bottom:0}.mv1-m{margin-top:.25rem;margin-bottom:.25rem}.mv2-m{margin-top:.5rem;margin-bottom:.5rem}.mv3-m{margin-top:1rem;margin-bottom:1rem}.mv4-m{margin-top:2rem;margin-bottom:2rem}.mv5-m{margin-top:4rem;margin-bottom:4rem}.mv6-m{margin-top:8rem;margin-bottom:8rem}.mv7-m{margin-top:16rem;margin-bottom:16rem}.mh0-m{margin-left:0;margin-right:0}.mh1-m{margin-left:.25rem;margin-right:.25rem}.mh2-m{margin-left:.5rem;margin-right:.5rem}.mh3-m{margin-left:1rem;margin-right:1rem}.mh4-m{margin-left:2rem;margin-right:2rem}.mh5-m{margin-left:4rem;margin-right:4rem}.mh6-m{margin-left:8rem;margin-right:8rem}.mh7-m{margin-left:16rem;margin-right:16rem}.na1-m{margin:-.25rem}.na2-m{margin:-.5rem}.na3-m{margin:-1rem}.na4-m{margin:-2rem}.na5-m{margin:-4rem}.na6-m{margin:-8rem}.na7-m{margin:-16rem}.nl1-m{margin-left:-.25rem}.nl2-m{margin-left:-.5rem}.nl3-m{margin-left:-1rem}.nl4-m{margin-left:-2rem}.nl5-m{margin-left:-4rem}.nl6-m{margin-left:-8rem}.nl7-m{margin-left:-16rem}.nr1-m{margin-right:-.25rem}.nr2-m{margin-right:-.5rem}.nr3-m{margin-right:-1rem}.nr4-m{margin-right:-2rem}.nr5-m{margin-right:-4rem}.nr6-m{margin-right:-8rem}.nr7-m{margin-right:-16rem}.nb1-m{margin-bottom:-.25rem}.nb2-m{margin-bottom:-.5rem}.nb3-m{margin-bottom:-1rem}.nb4-m{margin-bottom:-2rem}.nb5-m{margin-bottom:-4rem}.nb6-m{margin-bottom:-8rem}.nb7-m{margin-bottom:-16rem}.nt1-m{margin-top:-.25rem}.nt2-m{margin-top:-.5rem}.nt3-m{margin-top:-1rem}.nt4-m{margin-top:-2rem}.nt5-m{margin-top:-4rem}.nt6-m{margin-top:-8rem}.nt7-m{margin-top:-16rem}.strike-m{text-decoration:line-through}.underline-m{text-decoration:underline}.no-underline-m{text-decoration:none}.tl-m{text-align:left}.tr-m{text-align:right}.tc-m{text-align:center}.tj-m{text-align:justify}.ttc-m{text-transform:capitalize}.ttl-m{text-transform:lowercase}.ttu-m{text-transform:uppercase}.ttn-m{text-transform:none}.f-6-m,.f-headline-m{font-size:6rem}.f-5-m,.f-subheadline-m{font-size:5rem}.f1-m{font-size:3rem}.f2-m{font-size:2.25rem}.f3-m{font-size:1.5rem}.f4-m{font-size:1.25rem}.f5-m{font-size:1rem}.f6-m{font-size:.875rem}.f7-m{font-size:.75rem}.measure-m{max-width:30em}.measure-wide-m{max-width:34em}.measure-narrow-m{max-width:20em}.indent-m{text-indent:1em;margin-top:0;margin-bottom:0}.small-caps-m{font-variant:small-caps}.truncate-m{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.center-m{margin-left:auto}.center-m,.mr-auto-m{margin-right:auto}.ml-auto-m{margin-left:auto}.clip-m{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}.ws-normal-m{white-space:normal}.nowrap-m{white-space:nowrap}.pre-m{white-space:pre}.v-base-m{vertical-align:baseline}.v-mid-m{vertical-align:middle}.v-top-m{vertical-align:top}.v-btm-m{vertical-align:bottom}}@media screen and (min-width:60em){.aspect-ratio-l{height:0;position:relative}.aspect-ratio--16x9-l{padding-bottom:56.25%}.aspect-ratio--9x16-l{padding-bottom:177.77%}.aspect-ratio--4x3-l{padding-bottom:75%}.aspect-ratio--3x4-l{padding-bottom:133.33%}.aspect-ratio--6x4-l{padding-bottom:66.6%}.aspect-ratio--4x6-l{padding-bottom:150%}.aspect-ratio--8x5-l{padding-bottom:62.5%}.aspect-ratio--5x8-l{padding-bottom:160%}.aspect-ratio--7x5-l{padding-bottom:71.42%}.aspect-ratio--5x7-l{padding-bottom:140%}.aspect-ratio--1x1-l{padding-bottom:100%}.aspect-ratio--object-l{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:100}.cover-l{background-size:cover!important}.contain-l{background-size:contain!important}.bg-center-l{background-position:50%}.bg-center-l,.bg-top-l{background-repeat:no-repeat}.bg-top-l{background-position:top}.bg-right-l{background-position:100%}.bg-bottom-l,.bg-right-l{background-repeat:no-repeat}.bg-bottom-l{background-position:bottom}.bg-left-l{background-repeat:no-repeat;background-position:0}.outline-l{outline:1px solid}.outline-transparent-l{outline:1px solid transparent}.outline-0-l{outline:0}.ba-l{border-style:solid;border-width:1px}.bt-l{border-top-style:solid;border-top-width:1px}.br-l{border-right-style:solid;border-right-width:1px}.bb-l{border-bottom-style:solid;border-bottom-width:1px}.bl-l{border-left-style:solid;border-left-width:1px}.bn-l{border-style:none;border-width:0}.br0-l{border-radius:0}.br1-l{border-radius:.125rem}.br2-l{border-radius:.25rem}.br3-l{border-radius:.5rem}.br4-l{border-radius:1rem}.br-100-l{border-radius:100%}.br-pill-l{border-radius:9999px}.br--bottom-l{border-top-left-radius:0;border-top-right-radius:0}.br--top-l{border-bottom-right-radius:0}.br--right-l,.br--top-l{border-bottom-left-radius:0}.br--right-l{border-top-left-radius:0}.br--left-l{border-top-right-radius:0;border-bottom-right-radius:0}.br-inherit-l{border-radius:inherit}.br-initial-l{border-radius:initial}.br-unset-l{border-radius:unset}.b--dotted-l{border-style:dotted}.b--dashed-l{border-style:dashed}.b--solid-l{border-style:solid}.b--none-l{border-style:none}.bw0-l{border-width:0}.bw1-l{border-width:.125rem}.bw2-l{border-width:.25rem}.bw3-l{border-width:.5rem}.bw4-l{border-width:1rem}.bw5-l{border-width:2rem}.bt-0-l{border-top-width:0}.br-0-l{border-right-width:0}.bb-0-l{border-bottom-width:0}.bl-0-l{border-left-width:0}.shadow-1-l{box-shadow:0 0 4px 2px rgba(0,0,0,.2)}.shadow-2-l{box-shadow:0 0 8px 2px rgba(0,0,0,.2)}.shadow-3-l{box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)}.shadow-4-l{box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)}.shadow-5-l{box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)}.top-0-l{top:0}.left-0-l{left:0}.right-0-l{right:0}.bottom-0-l{bottom:0}.top-1-l{top:1rem}.left-1-l{left:1rem}.right-1-l{right:1rem}.bottom-1-l{bottom:1rem}.top-2-l{top:2rem}.left-2-l{left:2rem}.right-2-l{right:2rem}.bottom-2-l{bottom:2rem}.top--1-l{top:-1rem}.right--1-l{right:-1rem}.bottom--1-l{bottom:-1rem}.left--1-l{left:-1rem}.top--2-l{top:-2rem}.right--2-l{right:-2rem}.bottom--2-l{bottom:-2rem}.left--2-l{left:-2rem}.absolute--fill-l{top:0;right:0;bottom:0;left:0}.cl-l{clear:left}.cr-l{clear:right}.cb-l{clear:both}.cn-l{clear:none}.dn-l{display:none}.di-l{display:inline}.db-l{display:block}.dib-l{display:inline-block}.dit-l{display:inline-table}.dt-l{display:table}.dtc-l{display:table-cell}.dt-row-l{display:table-row}.dt-row-group-l{display:table-row-group}.dt-column-l{display:table-column}.dt-column-group-l{display:table-column-group}.dt--fixed-l{table-layout:fixed;width:100%}.flex-l{display:flex}.inline-flex-l{display:inline-flex}.flex-auto-l{flex:1 1 auto;min-width:0;min-height:0}.flex-none-l{flex:none}.flex-column-l{flex-direction:column}.flex-row-l{flex-direction:row}.flex-wrap-l{flex-wrap:wrap}.flex-nowrap-l{flex-wrap:nowrap}.flex-wrap-reverse-l{flex-wrap:wrap-reverse}.flex-column-reverse-l{flex-direction:column-reverse}.flex-row-reverse-l{flex-direction:row-reverse}.items-start-l{align-items:flex-start}.items-end-l{align-items:flex-end}.items-center-l{align-items:center}.items-baseline-l{align-items:baseline}.items-stretch-l{align-items:stretch}.self-start-l{align-self:flex-start}.self-end-l{align-self:flex-end}.self-center-l{align-self:center}.self-baseline-l{align-self:baseline}.self-stretch-l{align-self:stretch}.justify-start-l{justify-content:flex-start}.justify-end-l{justify-content:flex-end}.justify-center-l{justify-content:center}.justify-between-l{justify-content:space-between}.justify-around-l{justify-content:space-around}.content-start-l{align-content:flex-start}.content-end-l{align-content:flex-end}.content-center-l{align-content:center}.content-between-l{align-content:space-between}.content-around-l{align-content:space-around}.content-stretch-l{align-content:stretch}.order-0-l{order:0}.order-1-l{order:1}.order-2-l{order:2}.order-3-l{order:3}.order-4-l{order:4}.order-5-l{order:5}.order-6-l{order:6}.order-7-l{order:7}.order-8-l{order:8}.order-last-l{order:99999}.flex-grow-0-l{flex-grow:0}.flex-grow-1-l{flex-grow:1}.flex-shrink-0-l{flex-shrink:0}.flex-shrink-1-l{flex-shrink:1}.fl-l{float:left}.fl-l,.fr-l{_display:inline}.fr-l{float:right}.fn-l{float:none}.i-l{font-style:italic}.fs-normal-l{font-style:normal}.normal-l{font-weight:400}.b-l{font-weight:700}.fw1-l{font-weight:100}.fw2-l{font-weight:200}.fw3-l{font-weight:300}.fw4-l{font-weight:400}.fw5-l{font-weight:500}.fw6-l{font-weight:600}.fw7-l{font-weight:700}.fw8-l{font-weight:800}.fw9-l{font-weight:900}.h1-l{height:1rem}.h2-l{height:2rem}.h3-l{height:4rem}.h4-l{height:8rem}.h5-l{height:16rem}.h-25-l{height:25%}.h-50-l{height:50%}.h-75-l{height:75%}.h-100-l{height:100%}.min-h-100-l{min-height:100%}.vh-25-l{height:25vh}.vh-50-l{height:50vh}.vh-75-l{height:75vh}.vh-100-l{height:100vh}.min-vh-100-l{min-height:100vh}.h-auto-l{height:auto}.h-inherit-l{height:inherit}.tracked-l{letter-spacing:.1em}.tracked-tight-l{letter-spacing:-.05em}.tracked-mega-l{letter-spacing:.25em}.lh-solid-l{line-height:1}.lh-title-l{line-height:1.25}.lh-copy-l{line-height:1.5}.mw-100-l{max-width:100%}.mw1-l{max-width:1rem}.mw2-l{max-width:2rem}.mw3-l{max-width:4rem}.mw4-l{max-width:8rem}.mw5-l{max-width:16rem}.mw6-l{max-width:32rem}.mw7-l{max-width:48rem}.mw8-l{max-width:64rem}.mw9-l{max-width:96rem}.mw-none-l{max-width:none}.w1-l{width:1rem}.w2-l{width:2rem}.w3-l{width:4rem}.w4-l{width:8rem}.w5-l{width:16rem}.w-10-l{width:10%}.w-20-l{width:20%}.w-25-l{width:25%}.w-30-l{width:30%}.w-33-l{width:33%}.w-34-l{width:34%}.w-40-l{width:40%}.w-50-l{width:50%}.w-60-l{width:60%}.w-70-l{width:70%}.w-75-l{width:75%}.w-80-l{width:80%}.w-90-l{width:90%}.w-100-l{width:100%}.w-third-l{width:33.33333%}.w-two-thirds-l{width:66.66667%}.w-auto-l{width:auto}.overflow-visible-l{overflow:visible}.overflow-hidden-l{overflow:hidden}.overflow-scroll-l{overflow:scroll}.overflow-auto-l{overflow:auto}.overflow-x-visible-l{overflow-x:visible}.overflow-x-hidden-l{overflow-x:hidden}.overflow-x-scroll-l{overflow-x:scroll}.overflow-x-auto-l{overflow-x:auto}.overflow-y-visible-l{overflow-y:visible}.overflow-y-hidden-l{overflow-y:hidden}.overflow-y-scroll-l{overflow-y:scroll}.overflow-y-auto-l{overflow-y:auto}.static-l{position:static}.relative-l{position:relative}.absolute-l{position:absolute}.fixed-l{position:fixed}.rotate-45-l{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.rotate-90-l{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.rotate-135-l{-webkit-transform:rotate(135deg);transform:rotate(135deg)}.rotate-180-l{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.rotate-225-l{-webkit-transform:rotate(225deg);transform:rotate(225deg)}.rotate-270-l{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.rotate-315-l{-webkit-transform:rotate(315deg);transform:rotate(315deg)}.pa0-l{padding:0}.pa1-l{padding:.25rem}.pa2-l{padding:.5rem}.pa3-l{padding:1rem}.pa4-l{padding:2rem}.pa5-l{padding:4rem}.pa6-l{padding:8rem}.pa7-l{padding:16rem}.pl0-l{padding-left:0}.pl1-l{padding-left:.25rem}.pl2-l{padding-left:.5rem}.pl3-l{padding-left:1rem}.pl4-l{padding-left:2rem}.pl5-l{padding-left:4rem}.pl6-l{padding-left:8rem}.pl7-l{padding-left:16rem}.pr0-l{padding-right:0}.pr1-l{padding-right:.25rem}.pr2-l{padding-right:.5rem}.pr3-l{padding-right:1rem}.pr4-l{padding-right:2rem}.pr5-l{padding-right:4rem}.pr6-l{padding-right:8rem}.pr7-l{padding-right:16rem}.pb0-l{padding-bottom:0}.pb1-l{padding-bottom:.25rem}.pb2-l{padding-bottom:.5rem}.pb3-l{padding-bottom:1rem}.pb4-l{padding-bottom:2rem}.pb5-l{padding-bottom:4rem}.pb6-l{padding-bottom:8rem}.pb7-l{padding-bottom:16rem}.pt0-l{padding-top:0}.pt1-l{padding-top:.25rem}.pt2-l{padding-top:.5rem}.pt3-l{padding-top:1rem}.pt4-l{padding-top:2rem}.pt5-l{padding-top:4rem}.pt6-l{padding-top:8rem}.pt7-l{padding-top:16rem}.pv0-l{padding-top:0;padding-bottom:0}.pv1-l{padding-top:.25rem;padding-bottom:.25rem}.pv2-l{padding-top:.5rem;padding-bottom:.5rem}.pv3-l{padding-top:1rem;padding-bottom:1rem}.pv4-l{padding-top:2rem;padding-bottom:2rem}.pv5-l{padding-top:4rem;padding-bottom:4rem}.pv6-l{padding-top:8rem;padding-bottom:8rem}.pv7-l{padding-top:16rem;padding-bottom:16rem}.ph0-l{padding-left:0;padding-right:0}.ph1-l{padding-left:.25rem;padding-right:.25rem}.ph2-l{padding-left:.5rem;padding-right:.5rem}.ph3-l{padding-left:1rem;padding-right:1rem}.ph4-l{padding-left:2rem;padding-right:2rem}.ph5-l{padding-left:4rem;padding-right:4rem}.ph6-l{padding-left:8rem;padding-right:8rem}.ph7-l{padding-left:16rem;padding-right:16rem}.ma0-l{margin:0}.ma1-l{margin:.25rem}.ma2-l{margin:.5rem}.ma3-l{margin:1rem}.ma4-l{margin:2rem}.ma5-l{margin:4rem}.ma6-l{margin:8rem}.ma7-l{margin:16rem}.ml0-l{margin-left:0}.ml1-l{margin-left:.25rem}.ml2-l{margin-left:.5rem}.ml3-l{margin-left:1rem}.ml4-l{margin-left:2rem}.ml5-l{margin-left:4rem}.ml6-l{margin-left:8rem}.ml7-l{margin-left:16rem}.mr0-l{margin-right:0}.mr1-l{margin-right:.25rem}.mr2-l{margin-right:.5rem}.mr3-l{margin-right:1rem}.mr4-l{margin-right:2rem}.mr5-l{margin-right:4rem}.mr6-l{margin-right:8rem}.mr7-l{margin-right:16rem}.mb0-l{margin-bottom:0}.mb1-l{margin-bottom:.25rem}.mb2-l{margin-bottom:.5rem}.mb3-l{margin-bottom:1rem}.mb4-l{margin-bottom:2rem}.mb5-l{margin-bottom:4rem}.mb6-l{margin-bottom:8rem}.mb7-l{margin-bottom:16rem}.mt0-l{margin-top:0}.mt1-l{margin-top:.25rem}.mt2-l{margin-top:.5rem}.mt3-l{margin-top:1rem}.mt4-l{margin-top:2rem}.mt5-l{margin-top:4rem}.mt6-l{margin-top:8rem}.mt7-l{margin-top:16rem}.mv0-l{margin-top:0;margin-bottom:0}.mv1-l{margin-top:.25rem;margin-bottom:.25rem}.mv2-l{margin-top:.5rem;margin-bottom:.5rem}.mv3-l{margin-top:1rem;margin-bottom:1rem}.mv4-l{margin-top:2rem;margin-bottom:2rem}.mv5-l{margin-top:4rem;margin-bottom:4rem}.mv6-l{margin-top:8rem;margin-bottom:8rem}.mv7-l{margin-top:16rem;margin-bottom:16rem}.mh0-l{margin-left:0;margin-right:0}.mh1-l{margin-left:.25rem;margin-right:.25rem}.mh2-l{margin-left:.5rem;margin-right:.5rem}.mh3-l{margin-left:1rem;margin-right:1rem}.mh4-l{margin-left:2rem;margin-right:2rem}.mh5-l{margin-left:4rem;margin-right:4rem}.mh6-l{margin-left:8rem;margin-right:8rem}.mh7-l{margin-left:16rem;margin-right:16rem}.na1-l{margin:-.25rem}.na2-l{margin:-.5rem}.na3-l{margin:-1rem}.na4-l{margin:-2rem}.na5-l{margin:-4rem}.na6-l{margin:-8rem}.na7-l{margin:-16rem}.nl1-l{margin-left:-.25rem}.nl2-l{margin-left:-.5rem}.nl3-l{margin-left:-1rem}.nl4-l{margin-left:-2rem}.nl5-l{margin-left:-4rem}.nl6-l{margin-left:-8rem}.nl7-l{margin-left:-16rem}.nr1-l{margin-right:-.25rem}.nr2-l{margin-right:-.5rem}.nr3-l{margin-right:-1rem}.nr4-l{margin-right:-2rem}.nr5-l{margin-right:-4rem}.nr6-l{margin-right:-8rem}.nr7-l{margin-right:-16rem}.nb1-l{margin-bottom:-.25rem}.nb2-l{margin-bottom:-.5rem}.nb3-l{margin-bottom:-1rem}.nb4-l{margin-bottom:-2rem}.nb5-l{margin-bottom:-4rem}.nb6-l{margin-bottom:-8rem}.nb7-l{margin-bottom:-16rem}.nt1-l{margin-top:-.25rem}.nt2-l{margin-top:-.5rem}.nt3-l{margin-top:-1rem}.nt4-l{margin-top:-2rem}.nt5-l{margin-top:-4rem}.nt6-l{margin-top:-8rem}.nt7-l{margin-top:-16rem}.strike-l{text-decoration:line-through}.underline-l{text-decoration:underline}.no-underline-l{text-decoration:none}.tl-l{text-align:left}.tr-l{text-align:right}.tc-l{text-align:center}.tj-l{text-align:justify}.ttc-l{text-transform:capitalize}.ttl-l{text-transform:lowercase}.ttu-l{text-transform:uppercase}.ttn-l{text-transform:none}.f-6-l,.f-headline-l{font-size:6rem}.f-5-l,.f-subheadline-l{font-size:5rem}.f1-l{font-size:3rem}.f2-l{font-size:2.25rem}.f3-l{font-size:1.5rem}.f4-l{font-size:1.25rem}.f5-l{font-size:1rem}.f6-l{font-size:.875rem}.f7-l{font-size:.75rem}.measure-l{max-width:30em}.measure-wide-l{max-width:34em}.measure-narrow-l{max-width:20em}.indent-l{text-indent:1em;margin-top:0;margin-bottom:0}.small-caps-l{font-variant:small-caps}.truncate-l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.center-l{margin-left:auto}.center-l,.mr-auto-l{margin-right:auto}.ml-auto-l{margin-left:auto}.clip-l{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}.ws-normal-l{white-space:normal}.nowrap-l{white-space:nowrap}.pre-l{white-space:pre}.v-base-l{vertical-align:baseline}.v-mid-l{vertical-align:middle}.v-top-l{vertical-align:top}.v-btm-l{vertical-align:bottom}}
 

	
conservancy/static/docs/2023-01-31_KU-Lueven_Sandler-Karen_Software-Rights-Accountability-and-Autonomy-in-Our-Technology.txt
Show inline comments
...
 
@@ -4425,13 +4425,12 @@ love to do it but that's uh we
 

	
 
01:00:18.900 --> 01:00:23.880
 
definitely
 

	
 
01:00:23.880 --> 01:00:25.200
 
um
 

	
 
01:00:25.200 --> 01:00:28.380
 
being here with Ken thanks so much
 

	
 
01:00:28.380 --> 01:00:31.380
 
foreign
 

	
conservancy/static/docs/2023-02-02_Sandler-Karen_KU-Leuven_Honorary-Doctorate.en.txt
Show inline comments
...
 
@@ -109,25 +109,25 @@ Unfortunately, that wasn’t possible,
 
which demonstrates the importance
 
of free and open source software.
 

	
 
00:01:58.400 --> 00:02:03.440
 
If the source code for software
 
is in the hands of one company,
 

	
 
00:02:03.440 --> 00:02:07.400
 
then we're all dependent
 
on that company's goodwill.
 

	
 
00:02:07.400 --> 00:02:10.800
 
They can say of their own accord: 
 
They can say of their own accord:
 
we'll solve this, not that.
 

	
 
00:02:10.800 --> 00:02:13.680
 
We have the means to do this,
 
but not that.
 

	
 
00:02:13.680 --> 00:02:17.480
 
A company can always go bankrupt,
 
the source code then disappears,
 

	
 
00:02:17.480 --> 00:02:19.920
 
and society can no longer use it.
...
 
@@ -193,13 +193,12 @@ and see whether there is
 
any room for improvement.
 

	
 
00:03:33.520 --> 00:03:35.600
 
For all of these reasons, Rector,
 

	
 
00:03:35.600 --> 00:03:38.680
 
on behalf of the Academic Council,
 
we request
 

	
 
00:03:38.680 --> 00:03:44.200
 
that you grant Karen Sandler
 
the KU Leuven honorary doctorate.
 

	
conservancy/static/docs/2023-02-02_Sandler-Karen_KU-Leuven_Honorary-Doctorate.nl.txt
Show inline comments
...
 
@@ -205,13 +205,12 @@ en of er geen verbeterpunten
 
aangebracht kunnen worden.
 

	
 
00:03:33.520 --> 00:03:35.600
 
Om al deze redenen, mijnheer de rector,
 

	
 
00:03:35.600 --> 00:03:38.680
 
verzoeken wij u,
 
op voordracht van de Academische Raad,
 

	
 
00:03:38.680 --> 00:03:44.200
 
het eredoctoraat van de KU Leuven
 
te verlenen aan mevrouw Karen Sandler.
 

	
conservancy/static/docs/sponsorship-agreement-template.tex
Show inline comments
...
 
@@ -40,99 +40,99 @@ By: \hspace{0.95em}\rule{0.50\textwidth}{0.2mm} \hfill{}Date: \rule{0.25\textwid
 
\fi
 
\if\relax\detokenize{#3}\relax
 
\else
 

	
 
\hspace{2.5em} #3
 
\fi
 
\vspace{6ex}
 
}
 

	
 
\begin{document}
 

	
 
\begin{center}
 
\textsc{\Huge Fiscal Sponsorship Agreement}{\Huge {} } 
 
\textsc{\Huge Fiscal Sponsorship Agreement}{\Huge {} }
 
\par\end{center}
 

	
 
\bigskip{}
 

	
 

	
 
This Agreement is made by and between Software Freedom Conservancy
 
(``Conservancy'') and FIXME-CONTRIBUTOR-NAMES (the ``\signatories'')
 
on behalf of the project known as \projectname (the ``Project'') (each, a 
 
``Party''; together, ``the Parties'').  Conservancy is a New York nonprofit 
 
public benefit corporation located in Brooklyn, New York, which has received 
 
recognition of exemption from federal income tax under Section 501(c)(3) of 
 
the Internal Revenue Code (IRC) and classification as a public charity under 
 
on behalf of the project known as \projectname (the ``Project'') (each, a
 
``Party''; together, ``the Parties'').  Conservancy is a New York nonprofit
 
public benefit corporation located in Brooklyn, New York, which has received
 
recognition of exemption from federal income tax under Section 501(c)(3) of
 
the Internal Revenue Code (IRC) and classification as a public charity under
 
IRC Sections 509(a)(1) and 170(b)(1)(A)(vi).
 

	
 
\textsc{Whereas:}
 

	
 
\begin{enumerate}[label=\Alph*.,ref=\S \Alph*]
 
\item Conservancy's organizational mission and charitable goal is to promote,
 
improve, develop and defend Free, Libre, and Open Source Software
 
projects. 
 
projects.
 
\item The purpose of the Project is to produce, distribute, document, and
 
improve software and/or documentation that can be freely copied, modified and redistributed,
 
and for which modified versions can also be redistributed (``Free Software''),
 
and to facilitate and organize its production, improvement and ease
 
of use. 
 
of use.
 
\item Conservancy desires to act as the fiscal sponsor of the Project beginning
 
on the Effective Date (as defined below) to assist the Project in
 
accomplishing its purpose, which Conservancy has determined will further
 
Conservancy's charitable goals. The \signatories desire to manage
 
the Project under the sponsorship of Conservancy. 
 
the Project under the sponsorship of Conservancy.
 
\item Conservancy's Board of Directors has approved the establishment
 
of a fund to receive donations of cash and other property earmarked
 
for support of the Project and to make disbursements in furtherance
 
of the Project's mission (the ``Project Fund''). Currently, the
 
principal office of the Project is located at: [FIXME: MAILING ADDRESS]. 
 
principal office of the Project is located at: [FIXME: MAILING ADDRESS].
 
\end{enumerate}
 
\medskip{}
 

	
 

	
 
\textsc{Now, therefore, the Parties hereby agree as follows:}
 

	
 
\begin{enumerate}[label=\arabic*.,ref=\S~\arabic*]
 
\item \textbf{Term of Agreement}. As of the Effective Date, the Project
 
joins Conservancy, which relationship will continue unless and until
 
terminated as set forth in \ref{Termination}. 
 
terminated as set forth in \ref{Termination}.
 
\item \textbf{Project Management and Activities}.
 

	
 

	
 
\begin{enumerate}[label=\alph*.,ref=\theenumi(\alph*)]
 
\item \textbf{The \leadershipbody Will Manage the Project}. \label{ProjectManagement}
 
Authority to manage the technical, artistic and philanthropic direction
 
of the Project and the program activities of the Project is delegated
 
to the \leadershipbody as defined in \ref{Representation},
 
subject at all times to the direction and control of Conservancy's
 
Board of Directors. Conservancy will only intervene in the program
 
activities to the extent the Project is not in compliance with \ref{FreeSoftware}
 
or \ref{CharitablePurpose} of this Agreement. 
 
or \ref{CharitablePurpose} of this Agreement.
 
\item \textbf{The Project Will Be Free Software}. \label{FreeSoftware}
 
Conservancy and the \leadershipbody agree that any and all software
 
and/or documentation distributed by the Project will be distributed solely as Free Software.
 
Conservancy retains the sole right to determine whether the Project's
 
software and/or documentation constitutes Free Software (as defined herein).
 
\item \textbf{Ultimate Responsibility of Project}. Subject to \ref{ProjectManagement}
 
of this Agreement, all community programs, public information work,
 
fundraising events, processing and acknowledgment of cash and non-cash
 
revenue items, accounts payable and receivable, negotiation of leases
 
and contracts, disbursement of Project funds (including grants), and
 
other activities planned by the Project shall be the ultimate responsibility
 
of Conservancy and shall be conducted in the name of Conservancy,
 
beginning on the Effective Date. 
 
beginning on the Effective Date.
 
\item \textbf{Project Not An Agent Of Conservancy}. The \signatories
 
hereby acknowledge that the Project and the \leadershipbody
 
do not and shall not act as an agent for Conservancy unless specifically
 
authorized in writing by Conservancy to do so. 
 
authorized in writing by Conservancy to do so.
 
\end{enumerate}
 
\item \textbf{Fees}. The \signatories agree to donate ten percent
 
(10\%) of the Project's gross revenue (including, but not necessarily limited
 
to, all income and donations) to Conservancy for its general operations.
 

	
 

	
 
Notwithstanding the above, the \signatories agree that should Conservancy
 
be required to pay any taxes (including but not limited to sales taxes
 
and unrelated business taxable income) as the result of any activity
 
of the Project and/or activities undertaken by Conservancy on the
 
Project's behalf, such taxes shall be deducted from the Project Fund.
 

	
...
 
@@ -152,40 +152,40 @@ the unilateral right to spend such funds so as to accomplish the purposes
 
of the Project as nearly as possible within Conservancy's sole judgment.
 
Conservancy agrees to make a good faith effort to consider any expressed
 
donor intent in making determinations on the expenditure of that donor's
 
gift; however, the Parties acknowledge that expressions of donor intent
 
are not legally binding on Conservancy. The Parties agree that all
 
money, and the fair market value of all property, deposited in the
 
Project Fund be reported as the income of Conservancy, for both tax
 
purposes and for purposes of Conservancy's financial statements. It
 
is the intent of the Parties that this Agreement be interpreted to
 
provide Conservancy with variance powers necessary to enable Conservancy
 
to treat the Project Fund as Conservancy's asset in accordance with
 
Financial Accounting Statement No. 136 issued by the Financial Accounting
 
Standards Board, while this Agreement is in effect. 
 
Standards Board, while this Agreement is in effect.
 
\item \textbf{Project Fund Management / Performance of Charitable Purposes}.
 
\label{CharitablePurpose} All of the assets received by Conservancy
 
under the terms of this Agreement shall be devoted to the purposes
 
of the Project, within the tax-exempt purposes of Conservancy. The
 
\signatories agree not to use its funds or operate in any way which would
 
jeopardize the tax-exempt status of Conservancy. No item of revenue
 
shall be earmarked for use in any attempt to influence legislation
 
within the meaning of IRC Section 501(c)(3) and no agreement, oral
 
or written, to that effect shall be made between Conservancy and any
 
revenue source. Conservancy shall not use any portion of the assets
 
to participate or intervene in any political campaign on behalf or
 
in opposition to any candidate for public office, to induce or encourage
 
violations of law or public policy, to cause any private inurement
 
or improper private benefit to occur, nor to take any other action
 
inconsistent with IRC Section 501(c)(3). 
 
inconsistent with IRC Section 501(c)(3).
 

	
 
\item \textbf{Representation of the Project in Conservancy}. \label{Representation}The
 
\signatories, each a signatory hereto, hereby establish and comprise
 
the initial members of the \leadershipbody
 
to represent the Project in its official communication with Conservancy.
 
The \signatories hereby acknowledge that the \leadershipbody
 
will be subject to all terms of this Agreement.
 
On the Effective Date, the \signatories hereby transfer all
 
rights, obligations and privileges of this Agreement over to the
 
\leadershipbody.
 

	
 
[FIXME: Note: The rest of this section should describe the way in which the
...
 
@@ -256,121 +256,121 @@ Committee shall appoint, by majority vote, one Member as its Representative
 
to communicate all Project decisions to Conservancy. The Representative
 
shall promptly inform Conservancy of changes in the Committee composition
 
and of contact information for all Members. If Conservancy is unable,
 
after all reasonable efforts, to contact a majority of the Members
 
for a period of sixty (60) days, or if the number of Members is fewer
 
than the Minimum for a period of at least sixty days, Conservancy
 
may, after at least thirty days notice to Project, unilaterally appoint
 
new Members from the Project community to replace any unreachable
 
Members and/or to increase the Committee composition to the required
 
Minimum.
 

	
 
\item \textbf{An Elected Oversight Committee.} The \signatories, each
 
a signatory hereto, shall initially [FIXME: form or comprise] the 
 
\leadershipbody as a Project Committee (``Committee'') to 
 
a signatory hereto, shall initially [FIXME: form or comprise] the
 
\leadershipbody as a Project Committee (``Committee'') to
 
represent the Project in its official communication with Conservancy.  The
 
Committee shall hereafter be elected by community members of the Project as
 
designated by the Committee or a subcommittee of the Committee (the 
 
``Community Members'').  
 

	
 
The positions on the Committee will be on a two-year staggered basis 
 
([FIX-ME: some portion] of the initial board seats will be for one year).  
 
The members of the Committee may be removed from the position at any time 
 
by a majority vote of the Community Members.  Upon the resignation or 
 
removal of a member of the Oversight Board, the Community Members shall 
 
elect a replacement Community Member to serve on the Committee. 
 

	
 
The Committee will elect a single individual to communicate with 
 
Conservancy (the ``Representative'') and shall notify Conservancy promptly 
 
following the election of a new Representative.  The Representative will 
 
designated by the Committee or a subcommittee of the Committee (the
 
``Community Members'').
 

	
 
The positions on the Committee will be on a two-year staggered basis
 
([FIX-ME: some portion] of the initial board seats will be for one year).
 
The members of the Committee may be removed from the position at any time
 
by a majority vote of the Community Members.  Upon the resignation or
 
removal of a member of the Oversight Board, the Community Members shall
 
elect a replacement Community Member to serve on the Committee.
 

	
 
The Committee will elect a single individual to communicate with
 
Conservancy (the ``Representative'') and shall notify Conservancy promptly
 
following the election of a new Representative.  The Representative will
 
have the authority to instruct Conservancy on the Project's behalf on all
 
matters.  
 
matters.
 

	
 
This section may be modified by a vote of at least $\frac{3}{4}$ths of the 
 
Community Members, with the consent of Conservancy, such consent not to be 
 
This section may be modified by a vote of at least $\frac{3}{4}$ths of the
 
Community Members, with the consent of Conservancy, such consent not to be
 
unreasonably withheld.
 

	
 

	
 
\end{itemize}
 

	
 
Note again that the above are merely examples, not a list of options.
 
Conservancy's goal is to draft the Representation section to match
 
the existing and natural leadership structure of the Project, so each
 
project usually has a uniquely worded Representation section. ]
 

	
 
\item \textbf{Outstanding Liabilities}. The \signatories represent
 
that any liabilities that may be outstanding in connection with the
 
Project have been disclosed to Conservancy. 
 
Project have been disclosed to Conservancy.
 
\item \textbf{Termination}. \label{Termination} The \leadershipbody or Conservancy
 
may terminate this Agreement at any time subject to the following
 
understandings:
 

	
 

	
 
\begin{enumerate}[label=\alph*.,ref=\theenumi(\arabic*)]
 

	
 
\item \textbf{Notice and Successor Search}. Either Conservancy or the \leadershipbody
 
may terminate this Agreement on sixty (60) days' written notice (``the Notice Period'') to
 
the other Party, so long as a Successor can be found that meets the
 
following requirements (the ``Successor has Qualified''):
 

	
 

	
 
    \begin{enumerate}[label=\roman*.,ref=\theenumi(\alph{enumii})(\roman*)]
 
\item the Successor is another nonprofit corporation which is tax-exempt
 
under IRC Section 501(c)(3), 
 
under IRC Section 501(c)(3),
 
\item the Successor is not classified as a private foundation under Section
 
509(a), 
 
\item the Successor is willing and able to sponsor the Project, and, 
 
509(a),
 
\item the Successor is willing and able to sponsor the Project, and,
 
\item the Successor has (a) communicated its willingness to sponsor the
 
  Project in writing to Conservancy and (b) sent a copy of its 501(c)(3) determination letter to Conservancy, and, 
 
  Project in writing to Conservancy and (b) sent a copy of its 501(c)(3) determination letter to Conservancy, and,
 
\item the Successor is approved in writing by both Parties by the end of
 
the Notice Period, such approval not to be unreasonably withheld. 
 
the Notice Period, such approval not to be unreasonably withheld.
 
\end{enumerate}
 
\item \textbf{Additional Search Periods}. If the Parties cannot agree on
 
a Successor to sponsor the Project, the \leadershipbody
 
shall have an additional 60 days to find a Successor willing and able
 
to sponsor the Project. Any subsequent search periods of any length
 
shall only be granted at Conservancy's written permission. 
 
shall only be granted at Conservancy's written permission.
 
\item \textbf{Transfer to a Successor}. If a Successor has Qualified, the balance
 
of assets in the Project Fund, together with any other assets held
 
or liabilities incurred by Conservancy in connection with the
 
Project, shall be transferred to the Successor within thirty (30)
 
days of the approval of the Successor in writing by both Parties or
 
any extension thereof, subject to the approval of any third parties
 
that may be required.
 
\item \textbf{Termination Without a Successor}. If no Successor is found,
 
Conservancy may dispose of Project assets and liabilities
 
in any manner consistent with applicable tax and charitable trust
 
laws. 
 
\item \textbf{\signatories' Right to Terminate.} 
 
laws.
 
\item \textbf{\signatories' Right to Terminate.}
 
The \signatories hereby acknowledge that they will relinquish any
 
       rights to terminate separate from the \leadershipbody as
 
       of the Effective Date.
 
\end{enumerate}
 
\item \textbf{Miscellaneous}. Each provision of this Agreement shall be
 
separately enforceable, and the invalidity of one provision shall
 
not affect the validity or enforceability of any other provision.
 
This Agreement shall be interpreted and construed in accordance with
 
the laws of the State of New York. This Agreement constitutes the
 
only agreement, and supersedes all prior agreements and understandings,
 
both written and oral, among the Parties with respect to the subject
 
matter hereof. 
 
matter hereof.
 
\item \textbf{Amendments. }This Agreement may not be amended or modified,
 
except in writing and signed by both Conservancy and the entirety of \leadershipbody. 
 
except in writing and signed by both Conservancy and the entirety of \leadershipbody.
 
\item \textbf{Counterparts / Facsimile}. This Agreement may be executed
 
in two or more counterparts, each of which shall constitute an original,
 
but all of which, when together, shall constitute but one and the
 
same instrument, and shall become effective when one or more counterparts
 
have been signed by each Party hereto and delivered to the other Party.
 
In lieu of the original, a facsimile transmission or copy of the original
 
shall be as effective and enforceable as the original. 
 
shall be as effective and enforceable as the original.
 
\end{enumerate}
 
\vfill{}
 

	
 

	
 
\textsc{In witness whereof}, the Parties have executed this Fiscal
 
Sponsorship Agreement effective on the FIXME day of FIXME, FIXME (the
 
``Effective Date'').
 

	
 
\vspace{3em}
 

	
 
\signature{Software Freedom Conservancy, Inc.}{Bradley M. Kuhn}{Title: President}
 

	
conservancy/static/google536264c707362f55.html
Show inline comments
 
google-site-verification: google536264c707362f55.html
...
 
\ No newline at end of file
 
google-site-verification: google536264c707362f55.html
conservancy/static/img/QEMU.svg
Show inline comments
...
 
@@ -288,13 +288,13 @@
 
      </cc:License>
 
    </rdf:RDF>
 
  </metadata>
 
  <g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(-62.341105,-55.859333)">
 
    <path inkscape:connector-curvature="0" style="fill:url(#radialGradient4475);fill-opacity:1;stroke:none" d="m 118.2161,55.859333 c -30.850815,0 -55.874995,24.87043 -55.874995,55.562497 0,30.69207 25.02418,55.56249 55.874995,55.56249 10.09496,0 19.54625,-2.6525 27.71875,-7.3125 l 2.90625,7.3125 2.40625,0 20,0 0.125,0 -8.8125,-21.78124 c 7.21537,-9.3622 11.5,-21.07236 11.5,-33.78125 0,-30.692067 -24.99293,-55.562497 -55.84375,-55.562497 z" id="path3834-7-7-2-5-5-0-5-4"/>
 
    <path sodipodi:type="arc" style="fill:url(#linearGradient4437);fill-opacity:1;stroke:none" id="path3661" sodipodi:cx="142.5" sodipodi:cy="856.29077" sodipodi:rx="35.357143" sodipodi:ry="24.642857" d="m 177.85714,856.29077 c 0,13.60988 -15.82993,24.64286 -35.35714,24.64286 -19.52721,0 -35.35714,-11.03298 -35.35714,-24.64286 0,-13.60987 15.82993,-24.64286 35.35714,-24.64286 19.52721,0 35.35714,11.03299 35.35714,24.64286 z" transform="matrix(1.0465082,0,0,1.2920463,-31.641235,-1016.8612)"/>
 
    <path sodipodi:type="arc" style="fill:#000000;fill-opacity:1;stroke:none" id="path4442" sodipodi:cx="115.66247" sodipodi:cy="856.39258" sodipodi:rx="6.5659914" sodipodi:ry="6.5659914" d="m 122.22846,856.39258 c 0,3.6263 -2.9397,6.56599 -6.56599,6.56599 -3.6263,0 -6.56599,-2.93969 -6.56599,-6.56599 0,-3.6263 2.93969,-6.56599 6.56599,-6.56599 3.62629,0 6.56599,2.93969 6.56599,6.56599 z" transform="translate(7.6700247,-777.60351)"/>
 
    <rect style="fill:#000000;fill-opacity:1;stroke:none" id="rect4444" width="37.643608" height="5.5005069" x="125.01157" y="65.255234" transform="matrix(0.98974903,0.14281759,-0.18972639,0.981837,0,0)"/>
 
    <rect style="fill:#000000;fill-opacity:1;stroke:none" id="rect4446" width="6.5659914" height="2.9041886" x="144.92451" y="89.016899"/>
 
    <path style="fill:#ff6600;fill-opacity:1" d="m 103.38797,65.010543 c -0.057,2.18531 -3.865755,0.28296 -4.031245,2.78125 -4.22387,-1.88052 0.32884,2.87188 -0.0937,3.3125 l -0.0312,0 -0.3125,-0.0312 c -0.20386,-0.0728 -0.49977,-0.19904 -0.9375,-0.46875 -2.9499,2.35025 -3.02157,7.23369 -6.0625,9.9375 -1.99467,4.30504 -2.47977,8.98337 -3.9375,13.46875 -0.71796,4.30292 -1.34881,8.597857 -0.28125,12.906247 0.32053,3.50159 -0.68919,8.25865 2.5,10.71875 4.72728,3.88304 8.65575,8.79543 12.624995,13.46875 6.21914,7.65333 11.72948,15.86251 16.59375,24.4375 0.32431,-2.11756 1.10954,4.26459 2.53125,4.6875 -0.49161,-3.19231 -1.13213,-8.26328 -1.4375,-12.1875 -1.5814,-10.2909 -6.65305,-19.64903 -8.5625,-29.84375 -0.0587,-0.43037 -0.12809,-0.87203 -0.1875,-1.3125 l 0,-1.28125 -0.15625,0 c -0.62551,-5.04297 -0.8504,-10.46546 2.8125,-14.40625 3.73968,-3.772097 9.30633,-4.722447 13.8125,-7.343747 1.00194,-0.59119 2.04921,-1.07174 3.125,-1.40625 0.009,-0.003 0.0228,0.003 0.0312,0 3.11701,-0.96341 6.44862,-0.93323 9.6875,-0.40625 0.0479,0.008 0.10841,0.0233 0.15625,0.0312 0.29455,0.0493 0.61389,0.099 0.90625,0.15625 2.37136,0.21133 7.14463,1.13687 8,-0.5 -3.27225,-2.78631 -7.98526,-2.59211 -11.96875,-3.6875 -0.63059,-0.11469 -1.41182,-0.24041 -2.1875,-0.3125 l -3.90625,-0.875 -0.96875,-0.25 0,0.0312 -13.96875,-2.71875 c -0.22212,-0.20226 -0.46434,-0.40933 -0.6875,-0.5625 l 13.625,1.6875 0,-0.0625 c 0.48011,0.10699 0.95576,0.19361 1.4375,0.25 l 0,0.0312 9.625,1.78125 c 1.66103,0.61952 3.4322,1.08374 5.09375,1.1875 2.74263,0.39907 6.22526,4.49092 7.125,4.6875 -0.44096,-4.307 -4.7422,-6.23586 -8.3125,-7.5 -4.1712,-2.02803 -10.4023,-1.95417 -11.0625,-7.5625 -0.1756,-0.39076 -0.34902,-0.78118 -0.5625,-1.15625 l -1.625,-2.15625 0.0625,-0.0312 c -2.21724,-2.61691 -5.34011,-4.52196 -8.65625,-5.25 -3.2914,-1.13611 -6.98773,-2.2671 -10.46875,-2.71875 -1.18132,3.47826 -2.5031,-2.75561 -5.34375,-0.90625 -2.48996,0.29488 -2.14614,0.95256 -4,-0.625 z m 17.90625,10.15625 c 0.90187,-0.0238 1.93277,0.14208 2.96875,0.5 2.76259,0.95447 4.56151,2.96523 4.03125,4.5 -0.53026,1.53477 -3.20616,1.98572 -5.96875,1.03125 -2.76259,-0.95447 -4.5615,-2.93398 -4.03125,-4.46875 0.33141,-0.95923 1.49689,-1.52281 3,-1.5625 z" id="path3499-9-7" inkscape:connector-curvature="0"/>
 
    <text xml:space="preserve" style="font-size:95.54121399px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold" x="184.89412" y="166.37402" id="text4477" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan4479" x="184.89412" y="166.37402" style="fill:#000000;fill-opacity:1">EMU</tspan></text>
 
  </g>
 
</svg>
...
 
\ No newline at end of file
 
</svg>
conservancy/static/img/conservancy-supporter-heart.svg
Show inline comments
...
 
@@ -456,13 +456,13 @@
 
         inkscape:connector-curvature="0" /><path
 
         transform="translate(0,308.2677)"
 
         id="path4212-7-6-7-3-0-7-3-1"
 
         d="M 242.96875,155.625 272.625,178.84375 245.8125,179 230.9375,167.59375 216.28125,167.5 l 26.375,20.6875 0.3125,-0.21875 0,0.0625 41.09375,-0.21875 0.8125,0.625 -15.0625,82.59375 57.96875,0.4375 L 311.75,189.25 l 1.78125,-1.40625 41.125,0.21875 0,-0.0625 0.28125,0.21875 26.375,-20.6875 -14.65625,0.0937 -14.875,11.40625 -26.8125,-0.15625 29.6875,-23.21875 -15.90625,0.1875 -29.09375,22.6875 -2.09375,-10.8125 -18.875,-0.1875 -1.84375,10.09375 -27.96875,-21.8125 -15.90625,-0.1875 z"
 
         style="fill:#577632;fill-opacity:1;stroke:none"
 
         inkscape:connector-curvature="0" /></g></g><g
 
     id="g4480-0"
 
     transform="matrix(1.8842212,0,0,1.1183954,409.57002,-905.98818)" /><g
 
     style="fill:#577632"
 
     transform="matrix(2.1910821,0,0,1.3005353,-703.58095,-489.37937)"
 
     id="g5539-5" /><g
 
     id="g4480-1-0"
 
     transform="matrix(1.8842212,0,0,1.1183954,-1334.0412,-1196.6312)" /></g></g></svg>
...
 
\ No newline at end of file
 
     transform="matrix(1.8842212,0,0,1.1183954,-1334.0412,-1196.6312)" /></g></g></svg>
conservancy/static/img/projects/CWL-Logo-nofonts.svg
Show inline comments
...
 
@@ -480,13 +480,13 @@
 
       style="display:inline"><g
 
         id="l_copy_3"><g
 
           id="g204"><polygon
 
             points="613.4,345.4 613.4,345.5 645.4,378 659.8,363.3 641.2,344.2 676.3,308.6 661.9,293.9 612.4,344.3 "
 
             id="polygon206" /></g></g></g><g
 
       id="c_copy_3_1_"
 
       display="inline"
 
       enable-background="new    "
 
       style="display:inline"><g
 
         id="c_copy_3_2_"><g
 
           id="g210"><polygon
 
             points="614.3,204.9 614.3,204.9 663.1,251.1 677.4,236.7 643.2,203.6 677.4,168.9 662.8,154 613.4,204 "
 
             id="polygon212" /></g></g></g></g></svg>
...
 
\ No newline at end of file
 
             id="polygon212" /></g></g></g></g></svg>
conservancy/static/img/projects/evergreen.svg
Show inline comments
...
 
@@ -25,13 +25,13 @@
 
   <path style="fill:#008460; fill-rule:evenodd;stroke:none;" d="M7.488 0.03418 C9.022 0 9.573 0.9541 9.894 2.14258 C9.954 2.36914 10.11 2.81347 10.001 3.08891 C9.741 3.53031 9.479 3.97171 9.218 4.41311 C8.758 5.38571 8.299 6.35941 7.839 7.33201 C6.596 10.251 5.846 13.4131 5.137 16.9277 C4.902 18.0889 4.959 19.2549 4.758 20.4961 C4.606 21.4336 4.65 22.5058 4.65 23.5508 C4.659 24.0996 4.668 24.6494 4.677 25.1992 C4.713 25.9023 4.749 26.6045 4.785 27.3076 C5.251 30.0664 5.463 32.6562 6.19 35.0918 C7.75 40.3135 9.647 44.9766 11.705 49.6894 C12.646 51.8447 13.743 53.8818 14.786 55.9336 C15.101 56.5517 15.9 57.8496 15.732 58.7441 C15.687 58.7891 15.642 58.834 15.597 58.8799 C14.715 58.8359 13.732 57.6367 13.218 57.123 C11.282 55.1846 9.608 53.0146 8.109 50.6348 C6.867 48.6621 5.458 46.6299 4.488 44.418 C3.003 41.0332 1.978 37.3848 1.001 33.4433 C0.695 32.209 0.62 30.9736 0.379 29.6592 C0.262 28.5508 0.145 27.4424 0.028 26.3349 C0.018 25.9385 0.01 25.542 0 25.1455 C0 24.2441 0 23.3437 0 22.4424 C0.028 21.7666 0.055 21.0908 0.082 20.415 C0.172 19.3965 0.262 18.3789 0.352 17.3603 C0.869 14.5869 1.316 11.9746 2.082 9.54881 C2.843 7.13871 3.721 4.92971 4.785 2.84471 C5.055 2.3164 5.679 0.84863 6.056 0.52051 C6.431 0.19433 6.971 0.23828 7.488 0.03418 " transform="translate(293.484, 7.17969)"/>
 
   <path style="fill:#008460; fill-rule:evenodd;stroke:none;" d="M15.922 0.0341 C17.64 0 18.382 0.7216 18.382 2.3857 C18.382 2.8379 18.382 3.373 18.193 3.6562 C17.94 3.917 17.688 4.1787 17.436 4.4404 C16.958 5.0078 16.481 5.5752 16.003 6.1435 C14.679 7.8418 13.404 9.6113 12.245 11.4687 C9.343 16.1172 7.271 21.3154 5.758 27.3886 C5.349 29.0332 5.25 30.7841 4.947 32.5517 C4.893 33.2275 4.84 33.9033 4.785 34.5791 C4.767 35.2734 4.749 35.9668 4.731 36.6611 C4.731 37.2099 4.731 37.7597 4.731 38.3095 C4.74 38.8134 4.749 39.3183 4.758 39.8232 C4.866 40.9404 4.975 42.0576 5.082 43.1748 C5.209 44.0937 5.335 45.0127 5.461 45.9316 C6.412 50.2851 7.151 54.6142 8.407 58.6103 C9.051 60.6582 9.82 62.5166 10.516 64.5029 C10.78 65.2578 11.325 66.3418 11.083 67.3408 C11.056 67.3486 11.029 67.3584 11.002 67.3672 C10.569 67.5205 10.155 66.8779 9.948 66.665 C9.03 65.7197 8.287 64.5615 7.57 63.4209 C4.595 58.6972 2.325 53.3838 0.947 47.04 C0.559 45.2558 0.505 43.3017 0.19 41.3642 C0 40.1963 0.244 38.9443 0.055 37.7148 C0.073 36.8408 0.091 35.9668 0.109 35.0927 C0.127 34.6338 0.145 34.1728 0.163 33.7138 C0.356 32.5166 0.352 31.25 0.568 30.1191 C0.971 28.0205 1.164 26.0459 1.731 24.1455 C2.225 22.4853 2.636 20.7881 3.244 19.2256 C4.752 15.3535 6.536 11.8603 8.596 8.5752 C9.892 6.5097 11.309 4.624 12.759 2.7373 C13.315 2.0136 14.091 0.8808 14.814 0.3584 C15.108 0.1455 15.559 0.1875 15.922 0.0341 " transform="translate(307.702, 10.9639)"/>
 
   <path style="fill:#008460; fill-rule:evenodd;stroke:none;" d="M1.739 0.1367 C12.506 0 20.154 3.9199 26.715 8.0576 C29.698 9.9375 32.843 12.0293 35.014 14.7343 C35.662 15.4726 36.311 16.2119 36.96 16.9502 C38 18.2861 38.945 19.6552 39.879 21.1132 C40.138 21.5166 41.252 23.0966 40.987 23.7617 C40.942 23.8066 40.897 23.8515 40.852 23.8964 C40.108 24.1064 38.683 22.8769 38.23 22.5459 C35.996 20.789 33.761 19.0312 31.527 17.2744 C25.704 12.9814 20.267 8.8222 12.524 6.3808 C10.323 5.6865 8.045 5.3535 5.496 4.9218 C4.595 4.7685 3.628 4.8134 2.631 4.8134 C2.297 4.8134 1.964 4.8134 1.631 4.8134 C1.39 4.7002 1.221 4.4209 1.063 4.2187 C0.27 3.1982 0 2.0771 0.82 0.8398 C0.962 0.625 1.087 0.3515 1.307 0.2187 C1.451 0.1914 1.595 0.164 1.739 0.1367 " transform="translate(240.874, 16.6182)"/>
 
   <path style="fill:#008460; fill-rule:evenodd;stroke:none;" d="M15.164 0.0332 C17.094 0 17.635 0.7334 17.894 2.3848 C17.947 2.7227 17.936 3.3662 17.786 3.6279 C17.129 4.2861 16.471 4.9443 15.813 5.6016 C14.652 7.04 13.432 8.4219 12.353 9.9531 C9.382 14.1719 7.185 19.123 5.731 24.8477 C5.291 26.5771 5.183 28.4199 4.865 30.3076 C4.811 31.3076 4.757 32.3076 4.704 33.3076 C4.694 34.0019 4.685 34.6963 4.676 35.3896 C4.74 37.4111 4.758 39.3057 5.055 41.0654 C5.109 41.8584 5.163 42.6514 5.217 43.4443 C5.607 45.7803 5.643 48.1484 6.109 50.3916 C6.461 52.0947 6.812 53.7978 7.163 55.5 C7.296 56.1348 7.445 57.2978 7.136 57.8252 C7.118 57.835 7.1 57.8428 7.082 57.8525 C6.486 57.8076 6.218 57.1846 5.947 56.7978 C5.223 55.7666 4.705 54.6025 4.082 53.4463 C2.3 50.1396 1.249 45.542 0.378 41.3643 C0.316 40.7236 0.253 40.084 0.19 39.4443 C0.034 38.4775 0.191 37.415 0.027 36.3623 C0.018 35.4795 0.009 34.5967 0 33.7139 C0.045 32.7852 0.09 31.8574 0.135 30.9297 C0.497 28.7012 0.523 26.5264 1.027 24.4961 C1.795 21.4053 2.609 18.5215 3.757 15.8193 C5.234 12.3418 7.156 9.2715 9.218 6.3857 C10.071 5.1904 10.988 4.0879 11.893 2.9531 C12.29 2.5293 12.687 2.1055 13.083 1.6826 C13.587 1.1777 14.092 0.6728 14.597 0.1689 C14.786 0.123 14.975 0.0781 15.164 0.0332 " transform="translate(319.623, 31.0752)"/>
 
   <path style="fill:#008460; fill-rule:evenodd;stroke:none;" d="M29.354 0 C30.515 0.0147 31.553 0.5157 31.895 1.3516 C32.287 2.3038 31.589 4.0215 31.058 4.3789 C30.138 4.794 29.22 5.209 28.301 5.6231 C26.428 6.5801 24.575 7.6329 22.895 8.8125 C15.796 13.7979 10.443 20.0391 7.055 28.7618 C4.841 34.461 4.136 41.9707 4.135 49.7637 C4.135 52.4043 4.178 54.8106 4.541 57.17 C4.682 58.0889 4.675 59.7344 4.217 60.1973 C3.695 60.1329 3.48 59.4512 3.298 59.0352 C2.832 57.9786 2.454 56.8623 2.054 55.6836 C1.136 52.9786 0.822 49.8868 0.27 46.6827 C0.198 45.5293 0.126 44.375 0.054 43.2227 C0.036 42.5645 0.018 41.9073 0 41.25 C0 39.4092 0.088 37.7618 0.406 36.168 C0.923 33.5645 1.373 31.0889 2.108 28.7618 C5.324 18.5821 11.753 10.9366 19.624 5.3799 C21.471 4.0752 23.465 2.9766 25.462 1.8116 C26.391 1.3614 27.319 0.9102 28.246 0.46 C28.616 0.3067 28.985 0.1534 29.354 0 " transform="translate(330.76, 37.2441)"/>
 
   <path style="fill:#008460; fill-rule:evenodd;stroke:none;" d="M9.579 0.0947 C18.486 0 24.447 2.0527 30.474 4.7168 C34.615 6.5478 38.14 8.9502 41.124 11.9336 C42.842 13.6513 44.446 15.414 45.827 17.4756 C46.07 17.8369 47.142 19.1767 46.909 19.7724 C46.863 19.8183 46.818 19.8633 46.773 19.9082 C46.194 20.0703 45.488 19.5068 45.125 19.2861 C43.781 18.4687 42.563 17.5586 41.313 16.664 C39.112 15.0898 36.815 13.7353 34.448 12.2861 C31.88 10.7129 29.245 9.1806 26.311 7.9336 C19.771 5.1533 10.716 3.7334 2.281 5.7715 C1.957 5.8496 1.618 5.4619 1.443 5.3388 C0.821 4.8965 0 4.1806 0.227 2.9326 C0.329 2.3672 0.579 1.5332 0.984 1.2568 C1.304 1.039 1.831 1.0312 2.254 0.9326 C3.883 0.5517 5.694 0.498 7.498 0.2031 C8.192 0.167 8.886 0.1308 9.579 0.0947 " transform="translate(251.82, 38.7178)"/>
 
   <path style="fill:#008460; fill-rule:evenodd;stroke:none;" d="M22.926 0.0644 C30.669 0 37.425 0.9219 43.01 3.0918 C44.905 3.8281 46.874 4.3545 48.551 5.3359 C51.041 6.792 53.296 8.4717 55.498 10.2012 C57.362 11.665 59.082 13.4287 60.525 15.3096 C60.904 15.8047 61.95 16.8516 61.796 17.6894 C61.769 17.6973 61.742 17.707 61.715 17.7158 C61.204 17.9336 59.929 17 59.606 16.7969 C57.643 15.5537 55.678 14.3105 53.713 13.0664 C48.652 9.9082 42.478 7.5781 35.928 5.9297 C33.693 5.3682 31.339 5.2568 28.873 4.8486 C27.623 4.6426 26.236 4.7402 24.872 4.7402 C23.713 4.7402 22.469 4.6504 21.412 4.8223 C19.842 5.0771 18.346 4.9521 16.871 5.2275 C13.068 5.9385 9.492 6.5527 6.141 7.6064 C5.312 7.8672 4.482 8.1289 3.653 8.3896 C3.329 8.5254 3.004 8.6601 2.68 8.7949 C2.473 8.7422 2.266 8.6875 2.059 8.6338 C1.149 8.3193 0.361 7.9238 0.166 6.9033 C0 6.0303 0.657 4.6299 1.085 4.3623 C1.392 4.2539 1.698 4.1465 2.004 4.0381 C2.955 3.6689 3.953 3.3848 4.978 3.0644 C8.652 1.916 12.411 1.3144 16.574 0.5508 C18.007 0.416 19.439 0.2803 20.872 0.1455 C21.557 0.1182 22.241 0.0918 22.926 0.0644 " transform="translate(249.772, 55.5879)"/>
 
   <path style="fill:#008460; fill-rule:evenodd;stroke:none;" d="M21.928 0.0703 C28.247 0 33.336 0.9844 37.958 2.6113 C39.902 3.2969 41.595 3.9434 43.634 4.8555 C45.951 5.8926 47.909 7.5234 49.905 8.9902 C51.698 10.3066 53.294 11.793 54.825 13.3691 C55.13 13.6836 56.23 14.7305 55.879 15.2617 C54.689 15.3994 53.522 14.6055 52.689 14.1807 C50.563 13.1084 48.436 12.0361 46.31 10.9639 C41.595 8.5264 37.491 7.1436 32.444 5.8545 C30.538 5.3691 28.543 5.207 26.443 4.8555 C25.281 4.6602 22.972 4.5781 21.766 4.7734 C21.28 4.791 20.793 4.8096 20.307 4.8281 C19.004 5.041 17.718 5.0703 16.495 5.3418 C13.237 6.0615 10.48 7.0469 7.791 8.2344 C6.845 8.7656 5.899 9.2969 4.953 9.8281 C4.611 10.0713 4.268 10.3154 3.926 10.5586 C3.718 10.541 3.511 10.5215 3.304 10.5039 C2.241 10.293 1.453 10.04 1.088 9.1523 C0 6.5117 3.082 5.5273 4.467 4.7197 C7.647 2.8652 11.362 1.6875 15.495 0.7734 C16.892 0.4648 18.358 0.4238 19.847 0.1787 C20.54 0.1426 21.234 0.1074 21.928 0.0703 " transform="translate(264.366, 67.9082)"/>
 
   <path style="fill:#008460; fill-rule:evenodd;stroke:none;" d="M32.914 0.1269 C42.921 0 50.323 2.8906 56.431 6.7207 C57.873 7.6269 59.192 8.6269 60.512 9.6406 C61.1 10.0918 61.851 10.5703 62.107 11.3437 C62.053 11.3984 61.999 11.4521 61.945 11.5059 C61.24 11.7158 59.98 11.1777 59.458 10.9922 C57.521 10.2715 55.583 9.5508 53.646 8.8301 C50.018 7.4121 45.903 6.5527 41.78 5.6406 C40.735 5.4873 39.689 5.334 38.645 5.1816 C37.569 4.9883 36.351 5.043 35.212 4.8574 C34.662 4.8477 34.113 4.8379 33.562 4.8291 C32.797 4.8291 32.032 4.8291 31.265 4.8291 C30.463 4.8838 29.661 4.9375 28.86 4.9922 C27.053 5.2969 25.292 5.4062 23.669 5.8838 C22.145 6.332 20.584 6.7051 19.157 7.2617 C16.049 8.4756 13.227 9.8975 10.586 11.5605 C8.992 12.5644 7.576 13.7949 6.127 14.9385 C5.505 15.4883 4.883 16.0391 4.262 16.5879 C4.036 16.8223 3.811 17.0566 3.586 17.291 C3.306 17.3262 3.028 17.3623 2.748 17.3984 C1.561 17.5918 0.663 17.0644 0.343 16.291 C0.122 15.7578 0 14.6152 0.261 14.0195 C0.445 13.6006 1.374 12.8613 1.748 12.5605 C3.056 11.5068 4.258 10.3535 5.64 9.3437 C10.684 5.6562 16.28 2.9512 23.318 1.1797 C25.312 0.6787 27.439 0.623 29.643 0.2617 C30.734 0.2168 31.824 0.1709 32.914 0.1269 " transform="translate(268.031, 81.7461)"/>
 
   <path style="fill:#008460; fill-rule:evenodd;stroke:none;" d="M41.582 0.1152 C48.924 0 54.615 1.8555 59.746 4.0615 C61.051 4.623 62.302 5.1904 63.422 5.9258 C63.719 6.1211 64.511 6.5039 64.287 7.0077 C63.18 7.3007 61.767 6.8975 60.8 6.6836 C58.458 6.2598 56.114 5.8359 53.772 5.4121 C52.295 5.2422 50.817 5.0703 49.339 4.8984 C48.654 4.8721 47.97 4.8457 47.285 4.8184 C46.527 4.6973 45.475 4.7578 44.697 4.6973 C43.509 4.6025 41.851 4.6133 40.581 4.8184 C39.797 4.8809 39.013 4.9434 38.229 5.0078 C36.123 5.3711 34.082 5.5273 32.202 6.0889 C29.688 6.8389 27.356 7.6437 25.12 8.6287 C18.163 11.6957 12.229 17.0357 7.901 22.7657 C6.998 23.9627 6.037 25.1547 5.225 26.4427 C4.987 26.8197 4.495 27.9377 4.171 28.1457 C3.275 28.7187 1.545 29.0257 0.846 28.0647 C0.574 27.6897 0 26.2407 0.306 25.5237 C0.593 25.0647 0.882 24.6037 1.171 24.1447 C2.787 21.5817 4.681 19.3907 6.523 17.0897 C7.744 15.5647 9.191 14.0177 10.713 12.7927 C11.19 12.3497 11.668 11.9097 12.146 11.4667 C13.321 10.5317 14.476 9.5567 15.713 8.6837 C19.904 5.7246 24.629 3.5 30.12 1.8174 C32.522 1.082 35.081 0.832 37.824 0.3584 C39.076 0.2773 40.329 0.1953 41.582 0.1152 " transform="translate(272.014, 93.0293)"/>
 
  </g>
 
 </g>
 
</svg>
...
 
\ No newline at end of file
 
</svg>
conservancy/static/img/projects/godot/godot-logo.svg
Show inline comments
...
 
@@ -109,13 +109,13 @@
 
           id="path3430" /></g><g
 
         id="g3432"
 
         transform="translate(44.5215,32.3604)"><path
 
           inkscape:connector-curvature="0"
 
           d="m 0,0 c 0,-3.611 2.926,-6.537 6.537,-6.537 3.609,0 6.535,2.926 6.535,6.537 0,3.609 -2.926,6.533 -6.535,6.533 C 2.926,6.533 0,3.609 0,0"
 
           style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
 
           id="path3434" /></g><g
 
         id="g3436"
 
         transform="translate(46.0947,31.9727)"><path
 
           inkscape:connector-curvature="0"
 
           d="m 0,0 c 0,-2.396 1.941,-4.337 4.336,-4.337 2.398,0 4.339,1.941 4.339,4.337 0,2.396 -1.941,4.339 -4.339,4.339 C 1.941,4.339 0,2.396 0,0"
 
           style="fill:#414042;fill-opacity:1;fill-rule:nonzero;stroke:none"
 
           id="path3438" /></g></g></g></svg>
...
 
\ No newline at end of file
 
           id="path3438" /></g></g></g></svg>
conservancy/static/img/projects/harvey.svg
Show inline comments
 
<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 1240.7 1180.1" height="333" width="350"><style>.s0{fill:#000;}.s1{fill:#fff;}</style><style>.s0{fill:#000;}.s1{fill:#fff;}.s2{fill:none;stroke-width:0.1;stroke:#1a1a1a;}</style><g transform="matrix(4.1909988,0,0,4.1909988,-593.33743,-448.91615)"><path d="m318.3 107.1 0 0c-0.6 0-1.2 0.1-2 0.2-1 0.1-2.1 0.4-3.2 0.9-1.1 0.4-2.2 1-3.2 1.8-1 0.7-1.9 1.6-2.6 2.6-0.4 0.5-0.7 1.1-0.9 1.6-0.3 0.6-0.5 1.2-0.6 1.8-0.2 1.1-0.3 2.2 0 3.4 0.2 1.3 0.7 2.7 1.5 4.5 0.8 1.8 1.9 4 3.5 6.7 1.6 2.7 3.5 5.9 6 9.9 2.8 4.4 5.6 8.6 7.6 11.6 1 1.5 1.8 2.8 2.4 3.7 0.5 0.9 0.8 1.4 0.7 1.5-0.6 0.4-1.4 1-1.9 1.4-0.6 0.4-1 0.8-1.1 0.6-2-1.8-6.9-5.4-13.5-10.8-4.5-3.8-8.4-6.9-11.9-9.4-1.7-1.3-3.4-2.4-4.9-3.4-1.5-1-3-1.8-4.4-2.5-1.4-0.7-2.7-1.3-3.9-1.7-1.2-0.4-2.4-0.7-3.5-0.9-1.1-0.2-2.2-0.2-3.2-0.1-1 0.1-2.1 0.3-3.1 0.6-1.2 0.4-2.3 0.9-3.3 1.5-1 0.6-1.9 1.3-2.7 2.1-0.8 0.8-1.5 1.6-2 2.5-0.5 0.9-1 1.9-1.3 2.9-0.3 1-0.5 2.1-0.5 3.3 0 1.1 0.1 2.3 0.3 3.5 0.3 1.2 0.7 2.4 1.2 3.7 0.6 1.2 1.3 2.5 2.2 3.8 1.4 2 2.8 4 4.1 5.8 1.4 1.8 2.7 3.6 4.1 5.2 1.4 1.6 2.8 3.2 4.4 4.6 1.5 1.4 3.2 2.8 4.9 4.1 1.9 1.4 3.5 2.5 5 3.4 1.5 0.9 2.7 1.6 4 2.3l3.6 2.1c1.2 0.7 2.5 1.6 3.9 2.6-0.6 1.9-1.2 3.7-1.6 5.5-0.9 3.5-1.4 7-1.6 10.4-0.1 3.3 0 6.5 0.4 9.6 0.2 1.5 0.5 3.1 0.9 4.6 0.8 3.1 1.8 6.2 3 8.9 2.4 5.6 4.2 10.3 5.6 14.5 1.4 4.2 2.4 7.8 3 11 0.6 3 1 6 1.2 8.8 0.1 2.7 0 5.2-0.2 7.9-0.6 5.7-1.3 11.5-1.6 16.8-0.3 5.8-0.4 9.3-0.7 11.6-0.2 4.2-3.7 5.8-6.4 7.5-5.2 5.7-6.2 13.1-4.5 19.5 0.1 0.2 0.2 0.3 0.3 0.4-0.2 0-0.4 0-0.6 0.1l-133.6 41.1 47.1 21.5 179.9-40c2.4 0.2 5 0.3 7.2-0.5 5.2-0.8 8.6-6.3 12.2-7.1 1.1-0.2 2.3-0.6 3.4-1.2 1.1-0.6 2.1-1.3 3-2.2 0.9-0.8 1.6-1.8 2.1-2.7 0.3-0.5 0.5-0.9 0.6-1.4 0.1-0.5 0.2-0.9 0.2-1.4 0-0.7-0.2-1.8-0.4-3-0.5-2-1.3-3.8-1.7-5.7-0.3-1.7 0.3-3.3 0.9-4.7 1.4-2.5 3.2-4.8 4.4-7.3 1.5-2.8 2.5-5.9 3.4-8.7 1.5-5.6 2.1-11.9 2.3-17 0.2-4.6 0.3-9.8 0.3-15.8 0.1-4.4 0-8.8 0.7-12.8 0.4-2.9 1.6-5.5 2-8.2 0.7-5.5 1.5-11.1 1.9-16.8 0.2-2.9 0.4-5.8 0.5-8.7 0.1-6.1-0.2-12-1.4-17.7-1.5-7.1-4.9-14-8.8-19.5-6.3-9.2-14.1-17.3-23-22.7-9.8-5.9-20.8-8.8-31.4-9.9-5.1-0.4-9.7-0.4-14.8-0.3-0.9-0.7-1.8-1.8-2.8-3.1-1-1.4-2.1-3-3.3-4.7-1.2-1.7-2.4-3.6-3.7-5.4-1.3-1.8-2.7-3.6-4.1-5.1-2-2.6-4-5.1-6-7.4-2-2.3-3.9-4.4-5.7-6.3-1.8-1.9-3.5-3.5-4.9-4.8-1.5-1.3-2.8-2.3-3.8-3-1.4-0.9-2.4-1.4-3.4-1.7-0.5-0.1-1-0.2-1.6-0.2z" fill="#666"/><path d="m190.3 154.5c-3.8 0.1-5.9 0-7.4-0.5-2-0.7-2.9-1.8-3.9-4.8-0.7-2.2-1.1-2.8-1.8-3.3-0.8-0.5-1.3-0.7-3.4-0.8-2.3-0.1-7.8-0.6-11-1-3-0.4-3.8-0.4-4.9-0.3-0.9 0-0.9 0.1-1.1 0.3-0.3 0.4-0.2 0.7 0.5 3.3 0.7 2.8 0.9 3.6 0.9 4.7 0 1.1 0 1.2-0.3 1.4-0.4 0.2-0.7 0.1-1.1-0.3-0.6-0.9-0.9-2-0.7-2.5 0.1-0.2 0.1-0.3-0.3-2.1-1-4.3-1-5.7-0.1-6.7 1.4-1.7 9.2-4 16.6-4.9 1.4-0.2 2.9-0.4 3.3-0.5 0.4-0.1 2.9-0.8 5.6-1.6 8.2-2.4 9.8-2.7 15.5-3.3 4.5-0.5 6.3-0.5 10.3-0.2 2.5 0.2 3.7 0.2 5.1-0.1 1.2-0.2 2.1-0.5 5.1-1.8 4.3-1.8 8.1-3 11.1-3.3 0.9-0.1 1.9-0.2 2.3-0.2 0.7 0 4.6 0.5 5 0.6 0.1 0 0.2 0.2 0.3 0.4 0.2 0.5 0.9 7.5 0.9 7.9 0 0.2-0.1 0.7-0.2 1.2-0.1 0.4-0.2 1.3-0.2 1.9-0.5 5-1.3 7.1-3.5 8.4-1.2 0.7-2.3 1.2-4.1 1.5-1.3 0.3-4.8 0.3-6.4 0.1-2.5-0.3-5.6-3.1-7.2-6.5-0.4-0.7-0.4-1-0.5-1.8-0.1-0.9-0.1-1 0.1-1.5 0.2-0.6 0.2-1.1-0.1-1.6-0.2-0.3-0.3-0.3-0.6-0.4-0.8-0.1-2 0.4-2.4 1-0.2 0.3-0.4 1-0.9 3-1.8 8-3.4 10.2-8.4 12-3.1 1.1-8.4 2-12 2.2z" fill="#000"/><g transform="matrix(1.0082352,0,0,1.0082352,140.864,-681.53456)"><g transform="translate(-1.6610183,-56.474619)"><g transform="translate(-29.898328,-80.282547)"><path d="m84.7 1153.3c0 1.9-0.2 2.8-0.4 3.6 0 0-0.9 0-1.3 1.3-0.4 1.3-1.5 14.6-1.4 14.7 0.1 0.2 0.2 1.4 0.4 2.6 0.3 1.1 4.7 4.6 11.2 4.6 2.5 0 8 1.3 8.8 2.1-0.7 0.8 9.2 6.6 15.8 6.3 2.8 0.8 14.4-1.8 16.5-3.3 3.3-1.2 7.1-4.2 7.5-5.5 0.2-1.1 0.5-3.8-0.8-5.9-1.2-1.7-3.2-2.9-4.8-3-6-1.4-8.3-2.8-11.8-4.8l-1.6-1 0.2-0.5-0.7-0.5-0.5 0.4-1.2-1 0-0.5-1.5-1-0.4 0.2-0.9-1 0.4-0.6-2.1-1.5-0.5 0.4-0.8-0.9 0-0.9-2.1-1.8-0.5 0.3-1-1.2-1.1-2.1-1.9-1.3-2.2-0.1-1.5 0.4-2.6-0.4-2.5 1.7c-1 1.8-2.2 2.4-2.9 2.3-2.4-1.7-4.8-3.8-6.3-4.6l-3.7 1c-0.6 0.6-1.2 1.1-1.8 1.7z" fill="#1a1a1a"/><path d="m116.7 1161.5c-0.8 0.6-2.1 0.4-3.3 0.6-0.2 0.7-0.6 1.6-1 2.1-0.1 0.4-0.8-0.2-0.6-0.7 0.1-0.4 0.3-1 0.3-1-1.7 0.7-3.7 1.9-4.2 2.5-0.6 0.5-1-0.9-0.9-1.5 0.4-0.1 0.6-1.3 0.2-1.2l-10.5 12.8 3.5 1.6c0.9-5.8 10-12.9 10.2-12.7 1.2-0.1 1.2 0.4 3.4 0.6 0.4 0.1 0.9-0.2 1.4-0.5 0.4-1 1.6-1.8 2.5-2.8l1 1c-0.2 0.1-0.3 0.2-0.4 0.6 0 0.6 0.6 0.6 1.4 0.6 0 0.2 0.3 0.3 0 0.7-2.9 1.1-4.7 1-6.9 2.3l-0.7 2.2 2.4 1.3c0 0 1.3-0.3 1.3-0.8 0-0.5 0.4-0.9 0.4-0.9l1.3 0.3 1.6-2.1-2.6 1.1-1.9 1.3c-0.7-0.2-0.5-0.8-0.5-1.4l1-0.5c0.3-0.8 1.7-1.3 3.1-1.6l1.9-0.7 0.6-0.9 3.5 2.3c0 0.3-2.6 2.1-3.6 2.8l-0.4 0.6 1.9 0.1 1.5-1.4c0.2-0.3 0.5-0.6 0.8-1 0-0.3 0-0.7-0.2-0.8-0.1-0.1 0-0.1 0-0.2l2.6 1.5c3.5 1.9 7 3.1 11.9 4.2 1.6 1.4 3.5 2.8 1.6 4.3-3.1 2.6-5.6 2.6-8.4 3.7l-6.9 2c-2.8 0.2-5.4 0.7-8.2 0.5-0.1-0.4 0.4-1 0.8-1.6l2.6-3.1c0.2-0.6-0.2-0.1-0.7 0.2-0.7 0.9-1.2 1.2-1.6 1.4l-1.5 1.5c-0.3 0.6-1.5 0.9-1.7 0.7 0.7 0.4 0.9 1.8 0.6 2.9-0.2 0.7-0.5 0.6-1.5 0.5-45.9-13.2-13.8-39.2 2.9-23.4z" fill="#fff"/></g><g transform="translate(-29.898328,-80.282547)"><path d="m55.9 1163.1c-0.3 0.9-0.3 0.9-0.6 3.6 0 0-0.6 0.1-1.3 1.2-0.7 1.1-1.5 14.6-1.4 14.7 0.1 0.2 0.2 1.4 0.4 2.6 0.3 1.1 4.7 4.7 11.2 4.6 2.2-0.1 7.4 1.2 8.8 2.1 0.9 1.6 9.2 7 15.8 6.3 2.8 0.8 14.4-1.8 16.5-3.3 3.3-1.2 7.1-4.2 7.5-5.5 0.2-1.1 0.5-3.8-0.8-5.9-1.2-1.7-3.2-2.9-4.8-3-6-1.4-8.3-2.8-11.8-4.8l-1.6-1 0.2-0.5-0.7-0.5-0.5 0.4-1.2-1 0-0.5-1.5-1-0.4 0.2-0.9-1 0.4-0.6-2.1-1.5-0.5 0.4-0.8-0.9 0-0.9-2.1-1.8-0.5 0.3-1-1.2c-0.2-1.2-0.8-1.9-1.7-2.2-1.1-1.1-1.6-1.2-2.9-1.2-1.2-0.3-1.2 0.2-1.5 0.5-1.6-0.4-3.6-0.6-4.3 0.3-2 1.1-3.1 4.3-4.7 2.7-2.4-1.8-3.2-3.3-6.5-4.3-2.3 0.3-3.7 1.3-4.7 2.7z" fill="#000"/><path d="m54 1167.7c-0.3 0.9 3.7 7.1 5.6 6.8 1 0.5 5.8-3 5.8-3 7.4-9.5 15.6-2 20.7-1.5 0.1 0.5 0.9 0.8 1.5 0.8 0.3 0 0.1 0.6 0.1 0.6-0.8 0.6-2.1 0.4-3.3 0.6-0.2 0.7-0.6 1.6-1 2.1-0.1 0.4-0.8-0.2-0.6-0.7 0.1-0.4 0.3-1 0.3-1-1.7 0.7-3.7 1.9-4.2 2.5-0.6 0.5-1-0.9-0.9-1.5l3.1-1.9c-0.4 0.2-1.3 0.2-1.4-0.3 0-2.4-2.1-0.6-3.6-0.1 0.8-0.1 1.3 0 1.6 0.2l0.5 0.9-6.2 6.8-4.4 5.9 3.5 1.6c0.9-5.8 10-12.9 10.2-12.7 1.2-0.1 1.2 0.4 3.4 0.6 0.4 0.1 0.9-0.2 1.4-0.5 0.4-1 1.6-1.8 2.5-2.8l1 1c-0.2 0.1-0.3 0.2-0.4 0.6 0 0.6 0.6 0.6 1.4 0.6 0 0.2 0.3 0.3 0 0.7-2.9 1.1-4.7 1-6.9 2.3l-0.7 2.2 2.4 1.3c0 0 1.3-0.3 1.3-0.8 0-0.5 0.4-0.9 0.4-0.9l1.3 0.3 1.6-2.1-2.6 1.1-1.9 1.3c-0.7-0.2-0.5-0.8-0.5-1.4l1-0.5c0.3-0.8 1.7-1.3 3.1-1.6l1.9-0.7 0.6-0.9 3.5 2.3c0 0.3-2.6 2.1-3.6 2.8l-0.4 0.6 1.9 0.1 1.5-1.4c0.2-0.3 0.5-0.6 0.8-1 0-0.3 0-0.7-0.2-0.8-0.1-0.1 0-0.1 0-0.2l2.6 1.5c3.5 1.9 7 3.1 11.9 4.2 1.6 1.4 3.5 2.8 1.6 4.3-3.1 2.6-5.6 2.6-8.4 3.7l-6.9 2c-2.8 0.2-5.4 0.7-8.2 0.5-0.1-0.4 0.4-1 0.8-1.6l2.6-3.1c0.2-0.6-0.2-0.1-0.7 0.2-0.7 0.9-1.2 1.2-1.6 1.4l-1.5 1.5c-0.3 0.6-1.5 0.9-1.7 0.7 0.7 0.4 0.9 1.8 0.6 2.9-0.2 0.7-0.5 0.6-1.5 0.5-2.6-1-4.7-2.7-7.9-2.9-1.8-0.3-2.1-0.7-2.7-1.1-2.7-1.5-5.4-3-9.1-4.3-1-0.2-2.4-0.7-3-0.5-0.8 0.8 0.6 1.1 1.3 1.9-0.5 0.5-1.8-0.2-2.7-0.3-3.9 0.3-6.6-1.6-6.3-2.1-1.2-1.2-1-2.1-1.4-3.2 0.7-7.4 0.6-9.2 1.1-14.5z" fill="#fff"/><path d="m71.6 1186.1c-0.3-1.3 4-8.3 9.6-12 0.9-0.4 0.1-0.3 2.2 0.4" style="fill:none;stroke-dasharray:0.4;stroke-width:0.1;stroke:#333"/><path d="m60.9 1176.2c1.2 0.1 8.1-5.3 9.7-5.4 4 1.3 2.9 2.7 3.2 2.7-1.5 1.3-6.9 6.2-7.2 10.5" style="fill:none;stroke-dasharray:0.3;stroke-width:0.2;stroke:#000"/><path d="m60.7 1174.9c3-2.2 6.5-2.7 5.6-5.8" style="fill:none;stroke-dasharray:0.4;stroke-width:0.1;stroke:#000"/><path class="s2" d="m80.7 1181.8c0 0-3.4 3-3.2 3.9 0.1 0.7 2.2-1.4 2.2-1.4 0.7-1.1 1.2-1.6 1.6-2.1m1.8 0.9 0 0c-0.2-0.1-3.4 5-2.5 5.5 1.2 0.1 1.3-3.1 2.7-4.4 0.1-0.3 0.2-0.5 0.4-0.7m1.8 0.3c0 0-1.6 6.3-1.1 6.5 0.5 0.7 1.4-4.6 1.5-4.7l0.3-1.3" style="fill:none;stroke-width:0.1;stroke:#1a1a1a"/><path d="m82.7 1177.5c-0.2 1.3-0.5 2 0.4 2.2 3.3 2.7 5.4-1.7 5.3-1.1" style="fill:none;stroke-dasharray:0.3;stroke-width:0.1;stroke:#333"/><path d="m60.6 1181.8c-0.9-0.6-5.2-8-6.1-9.8 1.1 1.6 3.6 5 4.8 6.6 0.3 0.5 1.1 2.4 1.2 3.2zm29.3-1.5 0 0c-0.2 1.7 0.6 5.8 6.8 5.5 1.9 0.2 10.6-0.9 12.2-3.8-5.7 4.3-17.5 5.2-18.7 0z" fill="#000"/></g></g><path d="m24.2 853.8c32.7 6.7 47.2 14.4 67.9-2.3 2.3 0.6 4.6 1.2 7 1.8 19.3 5-3.3 87.8-1.9 86.8-2.6 37.4 1.9 86.8 1.9 86.8-7.6-4-37.8-1.5-38.4 5-4.3 1.6-27.9 6-46.4-1.3 3.1-2 7.1-31.2 2-85.7 0 0-32.4-30.4-3.8-87.9 2.9-1.5 9.3-3.1 11.7-3.2z" fill="#000"/></g><path d="m212.9 201.3c-3.9 0.4-8 1.5-9.9 3.7-2 2.3-3.6 7.8-4.6 16.1-1 8.6-0.6 16.6 3 21 3.5 4.2 8.8 3.8 12 2.9 3.1-0.9 4.9-2.4 6.6-5 1.9-2.8 4.5-8.1 5.5-15.4 1-7.3 0.1-14.6-2.3-18.8-2.5-4.3-6.1-4.9-10.3-4.4zm-4.1 4.6c0.6 0 0.9 0.4 1.1 1 0.1 0.4 0.1 1.9 0 4.9-0.1 3.1-0.1 4.8 0.3 4.8 0.1 0 0.3 0 0.5-0.1 0.1 0 0.2-0.1 0.3-0.1 0.3-0.2 0.6-0.3 0.8-0.4 0.2-0.1 0.8-0.1 1.6-0.1 1.6 0 2.7 1.4 3 4.5 0.5 4-0.1 6.6-0.2 14.4 0 0.7 0 1.3-0.1 1.6-0.1 0.4-0.3 0.5-0.7 0.5-0.3 0-0.7-0.6-0.8-2-0.1-0.8-0.2-2.7-0.1-6.2 0.1-3.6 0.2-5.6 0.1-6.7-0.5-1.6-1.1-2.6-1.8-2.9 0 0 0 0 0 0-1.2 0-2.1 1-2.8 3-0.3 0.9-0.7 3.4-0.9 6.9-0.2 3.5-0.3 5.8-0.4 6.5-0.1 1.6-0.4 2.4-0.9 2.5-0.4 0.1-0.6 0-0.8-0.3-0.2-0.3-0.3-1-0.3-2.3 0-0.2 0-0.5 0-0.7 0-0.5 0-1 0-1.5 0-0.8 0.1-2 0.1-2.3 0-0.5 0.1-1 0.1-1.5 0-0.5 0.1-1 0.1-1.5 0.1-1 0.1-2.1 0.2-3.1 0-0.3 0-0.5 0.1-0.8 0-0.5 0.1-1 0.1-1.6 0-0.3 0-0.5 0.1-0.8 0-0.5 0.1-1 0.1-1.5 0-0.3 0-0.5 0.1-0.8 0-0.5 0.1-1 0.1-1.5 0-0.2 0-0.5 0.1-0.7 0-0.5 0.1-1 0.1-1.4 0-0.7 0.1-1.4 0.1-2.1 0.2-3.8 0.2-5.7 0.4-6.6 0.1-0.8 0.4-1.1 0.8-1.1 0 0 0 0 0 0z" fill="#800000"/></g></svg>
...
 
\ No newline at end of file
 
<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 1240.7 1180.1" height="333" width="350"><style>.s0{fill:#000;}.s1{fill:#fff;}</style><style>.s0{fill:#000;}.s1{fill:#fff;}.s2{fill:none;stroke-width:0.1;stroke:#1a1a1a;}</style><g transform="matrix(4.1909988,0,0,4.1909988,-593.33743,-448.91615)"><path d="m318.3 107.1 0 0c-0.6 0-1.2 0.1-2 0.2-1 0.1-2.1 0.4-3.2 0.9-1.1 0.4-2.2 1-3.2 1.8-1 0.7-1.9 1.6-2.6 2.6-0.4 0.5-0.7 1.1-0.9 1.6-0.3 0.6-0.5 1.2-0.6 1.8-0.2 1.1-0.3 2.2 0 3.4 0.2 1.3 0.7 2.7 1.5 4.5 0.8 1.8 1.9 4 3.5 6.7 1.6 2.7 3.5 5.9 6 9.9 2.8 4.4 5.6 8.6 7.6 11.6 1 1.5 1.8 2.8 2.4 3.7 0.5 0.9 0.8 1.4 0.7 1.5-0.6 0.4-1.4 1-1.9 1.4-0.6 0.4-1 0.8-1.1 0.6-2-1.8-6.9-5.4-13.5-10.8-4.5-3.8-8.4-6.9-11.9-9.4-1.7-1.3-3.4-2.4-4.9-3.4-1.5-1-3-1.8-4.4-2.5-1.4-0.7-2.7-1.3-3.9-1.7-1.2-0.4-2.4-0.7-3.5-0.9-1.1-0.2-2.2-0.2-3.2-0.1-1 0.1-2.1 0.3-3.1 0.6-1.2 0.4-2.3 0.9-3.3 1.5-1 0.6-1.9 1.3-2.7 2.1-0.8 0.8-1.5 1.6-2 2.5-0.5 0.9-1 1.9-1.3 2.9-0.3 1-0.5 2.1-0.5 3.3 0 1.1 0.1 2.3 0.3 3.5 0.3 1.2 0.7 2.4 1.2 3.7 0.6 1.2 1.3 2.5 2.2 3.8 1.4 2 2.8 4 4.1 5.8 1.4 1.8 2.7 3.6 4.1 5.2 1.4 1.6 2.8 3.2 4.4 4.6 1.5 1.4 3.2 2.8 4.9 4.1 1.9 1.4 3.5 2.5 5 3.4 1.5 0.9 2.7 1.6 4 2.3l3.6 2.1c1.2 0.7 2.5 1.6 3.9 2.6-0.6 1.9-1.2 3.7-1.6 5.5-0.9 3.5-1.4 7-1.6 10.4-0.1 3.3 0 6.5 0.4 9.6 0.2 1.5 0.5 3.1 0.9 4.6 0.8 3.1 1.8 6.2 3 8.9 2.4 5.6 4.2 10.3 5.6 14.5 1.4 4.2 2.4 7.8 3 11 0.6 3 1 6 1.2 8.8 0.1 2.7 0 5.2-0.2 7.9-0.6 5.7-1.3 11.5-1.6 16.8-0.3 5.8-0.4 9.3-0.7 11.6-0.2 4.2-3.7 5.8-6.4 7.5-5.2 5.7-6.2 13.1-4.5 19.5 0.1 0.2 0.2 0.3 0.3 0.4-0.2 0-0.4 0-0.6 0.1l-133.6 41.1 47.1 21.5 179.9-40c2.4 0.2 5 0.3 7.2-0.5 5.2-0.8 8.6-6.3 12.2-7.1 1.1-0.2 2.3-0.6 3.4-1.2 1.1-0.6 2.1-1.3 3-2.2 0.9-0.8 1.6-1.8 2.1-2.7 0.3-0.5 0.5-0.9 0.6-1.4 0.1-0.5 0.2-0.9 0.2-1.4 0-0.7-0.2-1.8-0.4-3-0.5-2-1.3-3.8-1.7-5.7-0.3-1.7 0.3-3.3 0.9-4.7 1.4-2.5 3.2-4.8 4.4-7.3 1.5-2.8 2.5-5.9 3.4-8.7 1.5-5.6 2.1-11.9 2.3-17 0.2-4.6 0.3-9.8 0.3-15.8 0.1-4.4 0-8.8 0.7-12.8 0.4-2.9 1.6-5.5 2-8.2 0.7-5.5 1.5-11.1 1.9-16.8 0.2-2.9 0.4-5.8 0.5-8.7 0.1-6.1-0.2-12-1.4-17.7-1.5-7.1-4.9-14-8.8-19.5-6.3-9.2-14.1-17.3-23-22.7-9.8-5.9-20.8-8.8-31.4-9.9-5.1-0.4-9.7-0.4-14.8-0.3-0.9-0.7-1.8-1.8-2.8-3.1-1-1.4-2.1-3-3.3-4.7-1.2-1.7-2.4-3.6-3.7-5.4-1.3-1.8-2.7-3.6-4.1-5.1-2-2.6-4-5.1-6-7.4-2-2.3-3.9-4.4-5.7-6.3-1.8-1.9-3.5-3.5-4.9-4.8-1.5-1.3-2.8-2.3-3.8-3-1.4-0.9-2.4-1.4-3.4-1.7-0.5-0.1-1-0.2-1.6-0.2z" fill="#666"/><path d="m190.3 154.5c-3.8 0.1-5.9 0-7.4-0.5-2-0.7-2.9-1.8-3.9-4.8-0.7-2.2-1.1-2.8-1.8-3.3-0.8-0.5-1.3-0.7-3.4-0.8-2.3-0.1-7.8-0.6-11-1-3-0.4-3.8-0.4-4.9-0.3-0.9 0-0.9 0.1-1.1 0.3-0.3 0.4-0.2 0.7 0.5 3.3 0.7 2.8 0.9 3.6 0.9 4.7 0 1.1 0 1.2-0.3 1.4-0.4 0.2-0.7 0.1-1.1-0.3-0.6-0.9-0.9-2-0.7-2.5 0.1-0.2 0.1-0.3-0.3-2.1-1-4.3-1-5.7-0.1-6.7 1.4-1.7 9.2-4 16.6-4.9 1.4-0.2 2.9-0.4 3.3-0.5 0.4-0.1 2.9-0.8 5.6-1.6 8.2-2.4 9.8-2.7 15.5-3.3 4.5-0.5 6.3-0.5 10.3-0.2 2.5 0.2 3.7 0.2 5.1-0.1 1.2-0.2 2.1-0.5 5.1-1.8 4.3-1.8 8.1-3 11.1-3.3 0.9-0.1 1.9-0.2 2.3-0.2 0.7 0 4.6 0.5 5 0.6 0.1 0 0.2 0.2 0.3 0.4 0.2 0.5 0.9 7.5 0.9 7.9 0 0.2-0.1 0.7-0.2 1.2-0.1 0.4-0.2 1.3-0.2 1.9-0.5 5-1.3 7.1-3.5 8.4-1.2 0.7-2.3 1.2-4.1 1.5-1.3 0.3-4.8 0.3-6.4 0.1-2.5-0.3-5.6-3.1-7.2-6.5-0.4-0.7-0.4-1-0.5-1.8-0.1-0.9-0.1-1 0.1-1.5 0.2-0.6 0.2-1.1-0.1-1.6-0.2-0.3-0.3-0.3-0.6-0.4-0.8-0.1-2 0.4-2.4 1-0.2 0.3-0.4 1-0.9 3-1.8 8-3.4 10.2-8.4 12-3.1 1.1-8.4 2-12 2.2z" fill="#000"/><g transform="matrix(1.0082352,0,0,1.0082352,140.864,-681.53456)"><g transform="translate(-1.6610183,-56.474619)"><g transform="translate(-29.898328,-80.282547)"><path d="m84.7 1153.3c0 1.9-0.2 2.8-0.4 3.6 0 0-0.9 0-1.3 1.3-0.4 1.3-1.5 14.6-1.4 14.7 0.1 0.2 0.2 1.4 0.4 2.6 0.3 1.1 4.7 4.6 11.2 4.6 2.5 0 8 1.3 8.8 2.1-0.7 0.8 9.2 6.6 15.8 6.3 2.8 0.8 14.4-1.8 16.5-3.3 3.3-1.2 7.1-4.2 7.5-5.5 0.2-1.1 0.5-3.8-0.8-5.9-1.2-1.7-3.2-2.9-4.8-3-6-1.4-8.3-2.8-11.8-4.8l-1.6-1 0.2-0.5-0.7-0.5-0.5 0.4-1.2-1 0-0.5-1.5-1-0.4 0.2-0.9-1 0.4-0.6-2.1-1.5-0.5 0.4-0.8-0.9 0-0.9-2.1-1.8-0.5 0.3-1-1.2-1.1-2.1-1.9-1.3-2.2-0.1-1.5 0.4-2.6-0.4-2.5 1.7c-1 1.8-2.2 2.4-2.9 2.3-2.4-1.7-4.8-3.8-6.3-4.6l-3.7 1c-0.6 0.6-1.2 1.1-1.8 1.7z" fill="#1a1a1a"/><path d="m116.7 1161.5c-0.8 0.6-2.1 0.4-3.3 0.6-0.2 0.7-0.6 1.6-1 2.1-0.1 0.4-0.8-0.2-0.6-0.7 0.1-0.4 0.3-1 0.3-1-1.7 0.7-3.7 1.9-4.2 2.5-0.6 0.5-1-0.9-0.9-1.5 0.4-0.1 0.6-1.3 0.2-1.2l-10.5 12.8 3.5 1.6c0.9-5.8 10-12.9 10.2-12.7 1.2-0.1 1.2 0.4 3.4 0.6 0.4 0.1 0.9-0.2 1.4-0.5 0.4-1 1.6-1.8 2.5-2.8l1 1c-0.2 0.1-0.3 0.2-0.4 0.6 0 0.6 0.6 0.6 1.4 0.6 0 0.2 0.3 0.3 0 0.7-2.9 1.1-4.7 1-6.9 2.3l-0.7 2.2 2.4 1.3c0 0 1.3-0.3 1.3-0.8 0-0.5 0.4-0.9 0.4-0.9l1.3 0.3 1.6-2.1-2.6 1.1-1.9 1.3c-0.7-0.2-0.5-0.8-0.5-1.4l1-0.5c0.3-0.8 1.7-1.3 3.1-1.6l1.9-0.7 0.6-0.9 3.5 2.3c0 0.3-2.6 2.1-3.6 2.8l-0.4 0.6 1.9 0.1 1.5-1.4c0.2-0.3 0.5-0.6 0.8-1 0-0.3 0-0.7-0.2-0.8-0.1-0.1 0-0.1 0-0.2l2.6 1.5c3.5 1.9 7 3.1 11.9 4.2 1.6 1.4 3.5 2.8 1.6 4.3-3.1 2.6-5.6 2.6-8.4 3.7l-6.9 2c-2.8 0.2-5.4 0.7-8.2 0.5-0.1-0.4 0.4-1 0.8-1.6l2.6-3.1c0.2-0.6-0.2-0.1-0.7 0.2-0.7 0.9-1.2 1.2-1.6 1.4l-1.5 1.5c-0.3 0.6-1.5 0.9-1.7 0.7 0.7 0.4 0.9 1.8 0.6 2.9-0.2 0.7-0.5 0.6-1.5 0.5-45.9-13.2-13.8-39.2 2.9-23.4z" fill="#fff"/></g><g transform="translate(-29.898328,-80.282547)"><path d="m55.9 1163.1c-0.3 0.9-0.3 0.9-0.6 3.6 0 0-0.6 0.1-1.3 1.2-0.7 1.1-1.5 14.6-1.4 14.7 0.1 0.2 0.2 1.4 0.4 2.6 0.3 1.1 4.7 4.7 11.2 4.6 2.2-0.1 7.4 1.2 8.8 2.1 0.9 1.6 9.2 7 15.8 6.3 2.8 0.8 14.4-1.8 16.5-3.3 3.3-1.2 7.1-4.2 7.5-5.5 0.2-1.1 0.5-3.8-0.8-5.9-1.2-1.7-3.2-2.9-4.8-3-6-1.4-8.3-2.8-11.8-4.8l-1.6-1 0.2-0.5-0.7-0.5-0.5 0.4-1.2-1 0-0.5-1.5-1-0.4 0.2-0.9-1 0.4-0.6-2.1-1.5-0.5 0.4-0.8-0.9 0-0.9-2.1-1.8-0.5 0.3-1-1.2c-0.2-1.2-0.8-1.9-1.7-2.2-1.1-1.1-1.6-1.2-2.9-1.2-1.2-0.3-1.2 0.2-1.5 0.5-1.6-0.4-3.6-0.6-4.3 0.3-2 1.1-3.1 4.3-4.7 2.7-2.4-1.8-3.2-3.3-6.5-4.3-2.3 0.3-3.7 1.3-4.7 2.7z" fill="#000"/><path d="m54 1167.7c-0.3 0.9 3.7 7.1 5.6 6.8 1 0.5 5.8-3 5.8-3 7.4-9.5 15.6-2 20.7-1.5 0.1 0.5 0.9 0.8 1.5 0.8 0.3 0 0.1 0.6 0.1 0.6-0.8 0.6-2.1 0.4-3.3 0.6-0.2 0.7-0.6 1.6-1 2.1-0.1 0.4-0.8-0.2-0.6-0.7 0.1-0.4 0.3-1 0.3-1-1.7 0.7-3.7 1.9-4.2 2.5-0.6 0.5-1-0.9-0.9-1.5l3.1-1.9c-0.4 0.2-1.3 0.2-1.4-0.3 0-2.4-2.1-0.6-3.6-0.1 0.8-0.1 1.3 0 1.6 0.2l0.5 0.9-6.2 6.8-4.4 5.9 3.5 1.6c0.9-5.8 10-12.9 10.2-12.7 1.2-0.1 1.2 0.4 3.4 0.6 0.4 0.1 0.9-0.2 1.4-0.5 0.4-1 1.6-1.8 2.5-2.8l1 1c-0.2 0.1-0.3 0.2-0.4 0.6 0 0.6 0.6 0.6 1.4 0.6 0 0.2 0.3 0.3 0 0.7-2.9 1.1-4.7 1-6.9 2.3l-0.7 2.2 2.4 1.3c0 0 1.3-0.3 1.3-0.8 0-0.5 0.4-0.9 0.4-0.9l1.3 0.3 1.6-2.1-2.6 1.1-1.9 1.3c-0.7-0.2-0.5-0.8-0.5-1.4l1-0.5c0.3-0.8 1.7-1.3 3.1-1.6l1.9-0.7 0.6-0.9 3.5 2.3c0 0.3-2.6 2.1-3.6 2.8l-0.4 0.6 1.9 0.1 1.5-1.4c0.2-0.3 0.5-0.6 0.8-1 0-0.3 0-0.7-0.2-0.8-0.1-0.1 0-0.1 0-0.2l2.6 1.5c3.5 1.9 7 3.1 11.9 4.2 1.6 1.4 3.5 2.8 1.6 4.3-3.1 2.6-5.6 2.6-8.4 3.7l-6.9 2c-2.8 0.2-5.4 0.7-8.2 0.5-0.1-0.4 0.4-1 0.8-1.6l2.6-3.1c0.2-0.6-0.2-0.1-0.7 0.2-0.7 0.9-1.2 1.2-1.6 1.4l-1.5 1.5c-0.3 0.6-1.5 0.9-1.7 0.7 0.7 0.4 0.9 1.8 0.6 2.9-0.2 0.7-0.5 0.6-1.5 0.5-2.6-1-4.7-2.7-7.9-2.9-1.8-0.3-2.1-0.7-2.7-1.1-2.7-1.5-5.4-3-9.1-4.3-1-0.2-2.4-0.7-3-0.5-0.8 0.8 0.6 1.1 1.3 1.9-0.5 0.5-1.8-0.2-2.7-0.3-3.9 0.3-6.6-1.6-6.3-2.1-1.2-1.2-1-2.1-1.4-3.2 0.7-7.4 0.6-9.2 1.1-14.5z" fill="#fff"/><path d="m71.6 1186.1c-0.3-1.3 4-8.3 9.6-12 0.9-0.4 0.1-0.3 2.2 0.4" style="fill:none;stroke-dasharray:0.4;stroke-width:0.1;stroke:#333"/><path d="m60.9 1176.2c1.2 0.1 8.1-5.3 9.7-5.4 4 1.3 2.9 2.7 3.2 2.7-1.5 1.3-6.9 6.2-7.2 10.5" style="fill:none;stroke-dasharray:0.3;stroke-width:0.2;stroke:#000"/><path d="m60.7 1174.9c3-2.2 6.5-2.7 5.6-5.8" style="fill:none;stroke-dasharray:0.4;stroke-width:0.1;stroke:#000"/><path class="s2" d="m80.7 1181.8c0 0-3.4 3-3.2 3.9 0.1 0.7 2.2-1.4 2.2-1.4 0.7-1.1 1.2-1.6 1.6-2.1m1.8 0.9 0 0c-0.2-0.1-3.4 5-2.5 5.5 1.2 0.1 1.3-3.1 2.7-4.4 0.1-0.3 0.2-0.5 0.4-0.7m1.8 0.3c0 0-1.6 6.3-1.1 6.5 0.5 0.7 1.4-4.6 1.5-4.7l0.3-1.3" style="fill:none;stroke-width:0.1;stroke:#1a1a1a"/><path d="m82.7 1177.5c-0.2 1.3-0.5 2 0.4 2.2 3.3 2.7 5.4-1.7 5.3-1.1" style="fill:none;stroke-dasharray:0.3;stroke-width:0.1;stroke:#333"/><path d="m60.6 1181.8c-0.9-0.6-5.2-8-6.1-9.8 1.1 1.6 3.6 5 4.8 6.6 0.3 0.5 1.1 2.4 1.2 3.2zm29.3-1.5 0 0c-0.2 1.7 0.6 5.8 6.8 5.5 1.9 0.2 10.6-0.9 12.2-3.8-5.7 4.3-17.5 5.2-18.7 0z" fill="#000"/></g></g><path d="m24.2 853.8c32.7 6.7 47.2 14.4 67.9-2.3 2.3 0.6 4.6 1.2 7 1.8 19.3 5-3.3 87.8-1.9 86.8-2.6 37.4 1.9 86.8 1.9 86.8-7.6-4-37.8-1.5-38.4 5-4.3 1.6-27.9 6-46.4-1.3 3.1-2 7.1-31.2 2-85.7 0 0-32.4-30.4-3.8-87.9 2.9-1.5 9.3-3.1 11.7-3.2z" fill="#000"/></g><path d="m212.9 201.3c-3.9 0.4-8 1.5-9.9 3.7-2 2.3-3.6 7.8-4.6 16.1-1 8.6-0.6 16.6 3 21 3.5 4.2 8.8 3.8 12 2.9 3.1-0.9 4.9-2.4 6.6-5 1.9-2.8 4.5-8.1 5.5-15.4 1-7.3 0.1-14.6-2.3-18.8-2.5-4.3-6.1-4.9-10.3-4.4zm-4.1 4.6c0.6 0 0.9 0.4 1.1 1 0.1 0.4 0.1 1.9 0 4.9-0.1 3.1-0.1 4.8 0.3 4.8 0.1 0 0.3 0 0.5-0.1 0.1 0 0.2-0.1 0.3-0.1 0.3-0.2 0.6-0.3 0.8-0.4 0.2-0.1 0.8-0.1 1.6-0.1 1.6 0 2.7 1.4 3 4.5 0.5 4-0.1 6.6-0.2 14.4 0 0.7 0 1.3-0.1 1.6-0.1 0.4-0.3 0.5-0.7 0.5-0.3 0-0.7-0.6-0.8-2-0.1-0.8-0.2-2.7-0.1-6.2 0.1-3.6 0.2-5.6 0.1-6.7-0.5-1.6-1.1-2.6-1.8-2.9 0 0 0 0 0 0-1.2 0-2.1 1-2.8 3-0.3 0.9-0.7 3.4-0.9 6.9-0.2 3.5-0.3 5.8-0.4 6.5-0.1 1.6-0.4 2.4-0.9 2.5-0.4 0.1-0.6 0-0.8-0.3-0.2-0.3-0.3-1-0.3-2.3 0-0.2 0-0.5 0-0.7 0-0.5 0-1 0-1.5 0-0.8 0.1-2 0.1-2.3 0-0.5 0.1-1 0.1-1.5 0-0.5 0.1-1 0.1-1.5 0.1-1 0.1-2.1 0.2-3.1 0-0.3 0-0.5 0.1-0.8 0-0.5 0.1-1 0.1-1.6 0-0.3 0-0.5 0.1-0.8 0-0.5 0.1-1 0.1-1.5 0-0.3 0-0.5 0.1-0.8 0-0.5 0.1-1 0.1-1.5 0-0.2 0-0.5 0.1-0.7 0-0.5 0.1-1 0.1-1.4 0-0.7 0.1-1.4 0.1-2.1 0.2-3.8 0.2-5.7 0.4-6.6 0.1-0.8 0.4-1.1 0.8-1.1 0 0 0 0 0 0z" fill="#800000"/></g></svg>
conservancy/static/img/projects/mercurial.svg
Show inline comments
...
 
@@ -146,13 +146,13 @@
 

	
 

	
 

	
 

	
 

	
 

	
 

	
 

	
 

	
 

	
 

	
 
<rect style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.97552931;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" id="rect6847" width="124.77364" height="150.12347" x="0.31690097" y="0.98776293"/><path d="M 9.8480335,124.60683 C 11.62496,123.82337 13.513211,123.43203 15.327243,123.43203 C 17.067063,123.43203 18.177759,123.85879 18.806894,124.74937 C 20.139374,123.8596 21.953416,123.43203 23.360116,123.43203 C 27.581053,123.43203 27.728648,125.14068 27.728648,130.16028 L 27.728648,141.26547 C 27.728648,141.76382 27.802857,141.76382 25.692811,141.76382 L 25.692811,129.94606 C 25.692811,126.31544 25.618592,125.21154 23.213365,125.21154 C 22.139794,125.21154 21.029108,125.4603 19.844204,126.24379 L 19.844204,141.5142 C 19.807099,141.65677 19.732887,141.69215 19.474821,141.72758 C 19.436863,141.72758 19.400602,141.763 19.362653,141.763 L 17.807522,141.763 L 17.807522,129.94606 C 17.807522,126.45791 17.807522,125.17607 15.29098,125.17607 C 14.2174,125.17607 13.143818,125.38944 11.884705,125.99501 L 11.884705,141.26547 C 11.884705,141.76382 11.958925,141.76382 9.8488776,141.76382 L 9.8488776,124.60683 M 37.680118,123.43203 C 34.533596,123.43203 31.053954,124.32176 31.053954,133.8263 C 31.053954,141.15915 33.607611,142.29771 37.125192,142.29771 C 39.826435,142.29771 42.159131,141.40799 42.159131,140.98039 C 42.159131,140.44659 42.084921,139.62768 41.900221,139.16468 C 40.75243,139.94814 39.123081,140.37486 37.309893,140.37486 C 34.829612,140.37486 33.164001,139.66309 33.126052,134.14592 C 34.755402,134.14592 38.902128,134.11044 41.97444,133.50498 C 42.233351,132.33022 42.343821,130.62155 42.343821,129.12711 C 42.343821,125.56743 40.900016,123.43203 37.680118,123.43203 M 37.494584,125.21154 C 39.715955,125.21154 40.307995,126.67048 40.3451,129.51849 C 40.3451,130.26565 40.307995,131.15541 40.19667,132.00972 C 38.123729,132.50815 34.60612,132.50815 33.125209,132.50815 C 33.385806,126.0304 35.606333,125.21154 37.494584,125.21154 M 45.565397,124.99816 C 47.304384,123.85879 48.897464,123.43203 50.525969,123.43203 C 52.34,123.43203 53.191776,123.93046 53.191776,124.53602 C 53.191776,124.89187 53.079617,125.49742 52.894917,125.85331 C 52.376261,125.56823 51.785075,125.31945 50.821131,125.31945 C 49.637079,125.31945 48.526385,125.63909 47.638339,126.42255 L 47.638339,141.26632 C 47.638339,141.7647 47.675453,141.7647 45.565397,141.7647 L 45.565397,124.99816 M 64.254794,124.60683 C 64.254794,124.14383 62.700508,123.43203 61.145377,123.43203 C 58.145598,123.43203 54.481256,124.4643 54.481256,133.25617 C 54.481256,141.58507 56.70347,142.3331 60.589608,142.3331 C 62.514121,142.3331 64.254794,141.30089 64.254794,140.73161 C 64.254794,140.4111 64.181418,139.91269 63.99504,139.48515 C 63.217475,140.05441 62.033423,140.58905 60.775152,140.58905 C 58.11018,140.58905 56.55504,139.84185 56.55504,133.3633 C 56.55504,126.20837 59.108698,125.21154 61.330069,125.21154 C 62.58834,125.21154 63.291694,125.56743 63.99504,126.0304 C 64.181418,125.60367 64.254794,124.99816 64.254794,124.60683 M 78.435657,141.15915 C 76.806308,141.97803 74.659991,142.29851 72.808845,142.29851 C 68.070088,142.29851 67.366733,140.30571 67.366733,135.57114 L 67.366733,124.42971 C 67.366733,123.96757 67.330471,123.96757 69.440527,123.96757 L 69.440527,135.7854 C 69.440527,139.34513 69.958338,140.55538 72.734626,140.55538 C 73.808215,140.55538 75.289126,140.34199 76.399811,139.70105 L 76.399811,124.43056 C 76.399811,123.96839 76.325602,123.96839 78.435657,123.96839 L 78.435657,141.15915 M 82.657438,124.99816 C 84.396406,123.85879 85.98865,123.43203 87.617156,123.43203 C 89.431178,123.43203 90.282962,123.93046 90.282962,124.53602 C 90.282962,124.89187 90.171639,125.49742 89.986938,125.85331 C 89.468283,125.56823 88.876272,125.31945 87.913163,125.31945 C 86.729111,125.31945 85.618415,125.63909 84.729535,126.42255 L 84.729535,141.26632 C 84.729535,141.7647 84.767484,141.7647 82.657438,141.7647 L 82.657438,124.99816 M 95.036045,123.9659 C 93.406714,123.9659 92.926008,123.9659 92.926008,124.92729 L 92.926008,141.76382 C 94.99895,141.76382 95.036045,141.76382 95.036045,141.26547 L 95.036045,123.9659 M 92.851787,117.70149 C 92.851787,118.87629 93.222023,119.30304 93.961631,119.33843 C 94.813415,119.33843 95.220746,118.73376 95.220746,117.66526 C 95.257851,116.56214 94.960991,116.06374 94.11006,116.06374 C 93.296243,116.06374 92.888893,116.66926 92.851787,117.70149 M 98.547748,124.99816 C 98.547748,124.60683 98.62196,124.39264 98.770389,124.28635 C 99.473743,123.89502 102.17666,123.43203 105.24898,123.43203 C 107.58166,123.43203 109.06174,124.53602 109.06174,127.73899 L 109.06174,130.05231 C 109.06174,136.38835 108.87704,141.12293 108.87704,141.12293 C 108.02528,141.58507 106.43387,142.29771 103.84143,142.29771 C 101.17646,142.3331 98.511478,142.0843 98.511478,136.81596 C 98.511478,131.7972 101.25067,131.01375 103.98986,131.01375 C 105.02633,131.01375 106.24834,131.12082 107.06301,131.4413 C 107.06301,131.4413 107.06301,129.12711 107.06301,128.13033 C 107.06301,125.81704 105.87895,125.31862 104.47141,125.31862 C 102.58399,125.31862 99.956127,125.67451 98.808337,126.20837 C 98.585707,125.81704 98.547748,125.21154 98.547748,124.99816 M 107.06216,132.9011 C 106.35882,132.65147 105.35945,132.54522 104.65609,132.54522 C 102.54604,132.54522 100.62069,132.97198 100.62069,136.88763 C 100.62069,140.55363 102.21293,140.58991 104.10032,140.58991 C 105.28522,140.58991 106.47014,140.26946 106.87663,139.84271 C 106.87747,139.84185 107.06216,135.57029 107.06216,132.9011 M 114.91792,141.26547 C 114.91792,141.76382 114.95503,141.76382 112.88124,141.76382 L 112.88124,116.56214 C 112.88124,115.60073 113.28857,115.60073 114.91792,115.60073 L 114.91792,141.26547" style="fill:#010101;stroke-width:2.02999997;stroke-miterlimit:4;stroke-dasharray:none" id="text2611"/><g transform="matrix(0.9351326,0,0,0.9351326,150.39508,-1.251766)" id="g4503" style="opacity:1"><path d="M -45.749655,92.691592 C -25.709638,59.370739 -49.98206,5.3291313 -94.363693,10.819389 C -134.46337,15.776665 -135.10949,57.983708 -99.76917,68.010455 C -69.186498,76.695132 -93.451029,96.093536 -92.742037,109.01138 C -92.030055,121.92728 -66.155038,126.61324 -45.749655,92.691592 z " style="fill:#1b1a1b" id="path2339"/><circle cx="33.728001" cy="85.363998" r="15.414" transform="matrix(1.0917947,-0.2858168,0.2858168,1.0917947,-180.30817,13.494135)" style="fill:#1b1a1b" id="circle2341" sodipodi:cx="33.728001" sodipodi:cy="85.363998" sodipodi:rx="15.414" sodipodi:ry="15.414"/><path d="M -140.06215,48.935849 C -146.31997,49.541603 -150.90082,55.100456 -150.29507,61.358275 C -149.68817,67.620461 -144.12955,72.20487 -137.87064,71.59883 C -131.61373,70.985148 -127.02904,65.427621 -127.63726,59.169282 C -128.24543,52.915596 -133.80324,48.329809 -140.06215,48.935849 z " style="fill:#1b1a1b" id="path2343"/><path d="M -44.99294,91.339709 C -24.951831,58.018571 -49.224253,3.976963 -93.605885,9.4672202 C -133.70556,14.424496 -134.35249,56.632918 -99.012168,66.659664 C -68.429497,75.344341 -92.694028,94.742745 -91.984749,107.66168 C -91.271961,120.5762 -65.398322,125.26135 -44.99294,91.339709 z " style="fill:#bfbfbf" id="path2561"/><path d="M -86.84228,112.75985 C -88.056751,110.79004 -86.19955,108.60176 -84.290569,108.76815 C -81.251858,109.03428 -74.635637,108.73252 -69.415044,105.77341 C -56.372412,98.379694 -36.300952,62.803704 -46.395841,40.365295 C -50.915249,30.320886 -53.115898,27.444964 -57.770162,22.531645 C -58.719625,21.529587 -58.174556,21.584053 -57.531623,21.923221 C -55.014762,23.244092 -50.592026,28.36035 -46.055478,36.687677 C -38.390628,50.757116 -38.788117,67.483141 -41.638835,77.975343 C -43.624548,85.27439 -50.464117,101.78644 -60.480639,108.92577 C -70.5197,116.0815 -82.266433,120.18559 -86.84228,112.75985 z " style="fill:#000000" id="path2563"/><path d="M -95.930347,66.591355 C -102.76341,64.562985 -111.57238,61.738267 -116.66758,55.073789 C -120.42371,50.15984 -122.3305,44.796759 -122.81745,41.755703 C -122.99069,40.670602 -123.13785,39.765332 -122.82526,39.515509 C -122.68064,39.399486 -120.02045,45.412302 -116.04367,50.451645 C -112.06769,55.492366 -106.51047,58.440379 -101.88092,59.511496 C -97.763206,60.46345 -89.233623,62.555175 -86.347769,65.013729 C -83.380949,67.540918 -83.133309,73.00119 -84.131664,73.617197 C -85.138469,74.236583 -87.180025,69.187603 -95.930347,66.591355 z " style="fill:#000000" id="path2565"/><path d="M -81.840812,113.72311 C -81.972699,115.28707 -80.176315,115.59377 -77.75828,115.23141 C -74.658947,114.76654 -72.037923,114.41754 -68.470623,112.62971 C -63.63582,110.20674 -58.742752,106.74072 -55.159223,102.06476 C -44.467444,88.115271 -40.681354,71.610444 -41.264404,69.236185 C -41.459242,71.196944 -44.040349,81.489071 -49.943268,90.767882 C -57.52457,102.68631 -63.022197,109.03464 -75.701416,112.1124 C -79.230011,112.96964 -81.668137,111.66432 -81.840812,113.72311 z " style="fill:#ffffff" id="path2567"/><path d="M -109.96233,59.479354 C -108.51822,60.704238 -105.55938,62.336389 -99.737455,64.245644 C -92.705873,66.551032 -89.282274,68.550326 -87.848506,69.508429 C -86.329222,70.525809 -85.366279,72.795951 -85.27115,70.779631 C -85.17194,68.761076 -86.416123,67.025373 -89.192166,66.104839 C -91.070345,65.481234 -94.229847,63.996111 -97.258539,63.398373 C -99.204694,63.014221 -102.37098,62.251845 -105.08636,61.420426 C -106.57454,60.963046 -108.09089,60.161888 -109.96233,59.479354 z " style="fill:#ffffff" id="path2569"/><circle cx="34.681" cy="84.375" r="15.414" transform="matrix(1.0917947,-0.2858168,0.2858168,1.0917947,-180.30817,13.494135)" style="fill:#bfbfbf" id="circle2577" sodipodi:cx="34.681" sodipodi:cy="84.375" sodipodi:rx="15.414" sodipodi:ry="15.414"/><path d="M -128.68413,108.37945 C -115.15301,120.91784 -94.786007,103.69471 -103.75445,88.482597 C -104.76154,86.774656 -106.06907,85.474351 -105.63906,86.782721 C -102.77288,95.529828 -105.42141,102.44941 -110.3632,106.01451 C -115.20857,109.5112 -121.86847,110.09622 -127.20028,107.33186 C -128.76601,106.5203 -129.41538,107.70291 -128.68413,108.37945 z " style="fill:#000000" id="path2579"/><path d="M -118.06686,110.95477 C -116.34413,110.59244 -106.32442,107.99742 -103.97055,99.756195 C -103.23743,97.186709 -103.1058,97.702893 -103.31295,99.095232 C -104.37035,106.20143 -111.08741,111.44338 -116.80312,111.63773 C -117.963,111.75704 -119.48484,111.25131 -118.06686,110.95477 z " style="fill:#ffffff" id="path2585"/><path d="M -139.30435,47.583681 C -145.56216,48.189435 -150.14301,53.748288 -149.53726,60.006106 C -148.93065,66.2672 -143.37174,70.852702 -137.11392,70.246948 C -130.85592,69.632979 -126.27151,64.074361 -126.88083,57.816308 C -127.48791,51.562336 -133.04544,46.977641 -139.30435,47.583681 z " style="fill:#bfbfbf" id="path2589"/><path d="M -144.46878,67.571208 C -144.39939,68.375508 -143.29781,69.408789 -141.56718,69.883196 C -140.08038,70.290771 -136.24758,71.332594 -131.32372,68.224839 C -126.39986,65.117084 -125.8321,56.804464 -128.07041,54.35955 C -128.76326,53.121154 -129.66426,52.21957 -128.94737,54.195974 C -127.13695,59.186468 -130.65487,63.854586 -133.68917,66.0162 C -136.72238,68.177528 -140.56932,67.154692 -142.14014,66.675779 C -143.71095,66.196867 -144.53929,66.740369 -144.46878,67.571208 z " style="fill:#000000" id="path2591"/><path d="M -138.11472,68.687851 C -137.66344,68.281557 -135.37889,68.447629 -133.31622,67.338341 C -131.25464,66.229338 -128.80419,63.798254 -128.36692,60.343756 C -128.10933,58.315237 -128.03197,58.824631 -127.92942,59.929403 C -128.24939,65.67243 -133.53086,68.844638 -136.55132,69.263202 C -137.36636,69.376239 -138.8007,69.307247 -138.11472,68.687851 z " style="fill:#ffffff" id="path2597"/><path d="M -47.767489,69.693822 C -39.234739,45.099506 -57.090457,7.9576459 -93.212919,12.425552 C -125.85191,16.461012 -126.37823,50.814524 -97.613495,58.976486 C -65.031338,63.908526 -84.650966,88.487524 -87.434101,100.88229 C -89.929232,111.99304 -61.102889,113.82164 -47.767489,69.693822 z " style="fill:#999999" id="path2561_1_"/><path d="M -70.093288,88.904346 C -78.920045,87.812046 -91.622267,107.74061 -79.645446,105.40671 C -67.670523,103.07448 -91.622267,107.74061 -79.645446,105.40671 C -73.888849,104.55302 -69.119803,102.52058 -64.850547,97.64761 C -59.283982,91.295233 -50.968477,77.5735 -48.563483,68.707586 C -46.537563,61.232354 -47.555881,49.650767 -49.644305,60.532553 C -51.786232,71.700167 -61.266532,89.996647 -70.093288,88.904346 z " style="fill:#f3f3f3" id="path2571"/><path d="M -129.3854,104.84502 C -127.34184,104.87935 -126.10573,105.16706 -124.03635,106.61908 C -119.94568,108.31891 -112.42648,107.24179 -108.9543,102.67081 C -105.48212,98.099823 -105.36811,91.801741 -106.69103,87.996073 C -109.92728,78.682039 -123.67593,78.846722 -129.81795,86.579362 C -136.46216,95.2146 -131.42897,104.81069 -129.3854,104.84502 z " style="fill:#999999" id="path2581"/><path d="M -147.63565,61.683628 C -147.22833,62.966318 -146.18754,64.837882 -143.9897,65.149887 C -141.05481,65.566524 -140.45479,66.892551 -136.9892,66.204631 C -133.52361,65.516711 -130.89674,62.676625 -129.84557,59.535064 C -128.64212,55.188187 -130.44406,52.944024 -133.15599,50.940416 C -135.86791,48.936808 -141.83359,49.152263 -145.3938,52.39768 C -147.92393,54.702631 -148.62733,58.560726 -147.63565,61.683628 z " style="fill:#999999" id="path2593_2_"/><path d="M -136.11009,64.55822 C -133.44721,63.861113 -129.92545,60.232613 -131.67381,57.462279 C -133.83086,54.048798 -139.84051,56.970651 -140.04374,60.77103 C -140.24777,64.572786 -138.93238,65.297057 -136.11009,64.55822 z " style="fill:#f3f3f3" id="path256"/><path d="M -116.11512,105.50904 C -113.8431,104.91425 -106.88259,102.0818 -108.18994,91.962983 C -108.85161,86.83742 -111.64725,98.324328 -116.82409,100.04237 C -124.66721,102.64507 -123.78607,107.51719 -116.11512,105.50904 z " style="fill:#f3f3f3" id="path258"/></g>
 
</svg>
...
 
\ No newline at end of file
 
</svg>
conservancy/static/img/projects/metalink.svg
Show inline comments
...
 
@@ -19,13 +19,13 @@
 
    <path fill="#0064b5" opacity="1.00" d=" M 203.13 22.49 C 206.33 22.50 209.52 22.50 212.71 22.50 C 212.72 25.36 212.72 28.22 212.72 31.09 C 209.52 31.10 206.32 31.10 203.12 31.09 C 203.12 28.22 203.12 25.36 203.13 22.49 Z" id="path25"/>
 
    <path fill="#0064b5" opacity="1.00" d=" M 251.59 22.51 C 254.79 22.48 258.00 22.49 261.20 22.53 C 261.17 31.65 261.19 40.77 261.19 49.89 C 265.26 45.09 269.29 40.26 273.36 35.46 C 276.99 35.47 280.63 35.46 284.26 35.47 C 280.07 40.18 275.81 44.82 271.62 49.53 C 276.15 57.19 280.65 64.87 285.14 72.56 C 281.35 72.57 277.56 72.62 273.78 72.48 C 270.98 67.00 267.94 61.64 265.03 56.23 C 263.75 57.62 262.47 59.00 261.19 60.39 C 261.19 64.45 261.19 68.51 261.17 72.57 C 257.97 72.57 254.78 72.57 251.59 72.55 C 251.60 55.87 251.59 39.19 251.59 22.51 Z" id="path27"/>
 
    <path fill="#0064b5" opacity="1.00" d=" M 190.06 22.50 C 193.26 22.50 196.47 22.50 199.67 22.49 C 199.71 39.18 199.69 55.87 199.69 72.56 C 196.48 72.56 193.27 72.57 190.07 72.57 C 190.04 55.88 190.06 39.19 190.06 22.50 Z" id="path29"/>
 
    <path fill="#0064b5" opacity="1.00" d=" M 225.47 40.80 C 229.41 34.40 238.67 33.23 244.66 37.27 C 248.65 40.17 248.96 45.49 249.07 49.99 C 249.04 57.52 249.13 65.06 249.00 72.59 C 245.81 72.56 242.62 72.56 239.44 72.56 C 239.39 65.05 239.50 57.53 239.40 50.01 C 239.41 47.63 238.78 44.71 236.33 43.70 C 233.21 42.43 229.18 43.16 227.01 45.83 C 225.42 47.85 225.55 50.57 225.48 53.00 C 225.51 59.52 225.50 66.04 225.50 72.55 C 222.27 72.59 219.04 72.59 215.81 72.48 C 215.96 60.15 215.83 47.81 215.88 35.47 C 219.09 35.46 222.29 35.46 225.50 35.47 C 225.50 37.25 225.49 39.02 225.47 40.80 Z" id="path31"/>
 
    <path fill="#0064b5" opacity="1.00" d=" M 203.12 35.50 C 206.32 35.50 209.51 35.50 212.71 35.49 C 212.73 47.85 212.72 60.21 212.72 72.56 C 209.52 72.57 206.32 72.57 203.13 72.57 C 203.11 60.21 203.13 47.86 203.12 35.50 Z" id="path33"/>
 
  </g>
 
  <g id="#000000ff">
 
    <path fill="#000000" opacity="1.00" d=" M 137.50 26.28 C 140.71 26.28 143.91 26.28 147.12 26.28 C 147.12 29.60 147.13 32.92 147.13 36.24 C 148.91 36.25 150.69 36.25 152.47 36.25 C 152.47 38.38 152.47 40.50 152.47 42.62 C 150.69 42.63 148.91 42.63 147.13 42.63 C 147.25 50.03 146.88 57.44 147.30 64.83 C 147.55 67.42 150.71 66.66 152.48 66.81 C 152.47 69.00 152.47 71.19 152.47 73.38 C 148.55 73.95 144.07 74.82 140.58 72.40 C 137.85 70.57 137.55 67.00 137.50 64.01 C 137.48 56.88 137.51 49.76 137.50 42.63 C 135.92 42.63 134.35 42.62 132.78 42.62 C 132.78 40.50 132.78 38.37 132.78 36.25 C 134.35 36.25 135.92 36.25 137.49 36.24 C 137.50 32.92 137.50 29.60 137.50 26.28 Z" id="path36"/>
 
    <path fill="#000000" opacity="1.00" d=" M 55.16 40.05 C 59.87 33.38 71.12 33.02 75.48 40.22 C 79.72 34.31 88.78 33.20 94.46 37.60 C 97.51 40.13 98.09 44.28 98.12 48.00 C 98.14 56.19 98.12 64.38 98.12 72.57 C 94.91 72.56 91.71 72.56 88.50 72.56 C 88.39 64.07 88.70 55.55 88.36 47.07 C 87.96 42.81 82.20 42.06 79.32 44.30 C 77.21 45.78 76.73 48.52 76.71 50.93 C 76.64 58.14 76.72 65.35 76.69 72.56 C 73.48 72.56 70.27 72.56 67.06 72.57 C 66.95 64.04 67.27 55.50 66.91 46.98 C 66.69 43.71 62.77 42.47 60.04 43.32 C 56.87 43.94 55.26 47.30 55.33 50.30 C 55.20 57.72 55.32 65.14 55.28 72.56 C 52.07 72.57 48.86 72.57 45.65 72.56 C 45.66 60.19 45.65 47.83 45.66 35.47 C 48.84 35.47 52.01 35.47 55.19 35.47 C 55.19 36.99 55.18 38.52 55.16 40.05 Z" id="path38"/>
 
    <path fill="#000000" opacity="1.00" d=" M 105.00 39.95 C 111.94 32.23 126.21 33.62 131.49 42.58 C 134.25 46.86 134.47 52.10 134.57 57.03 C 126.25 57.04 117.93 57.02 109.61 57.04 C 109.97 59.71 109.91 62.89 112.23 64.75 C 116.01 68.24 122.69 66.86 124.81 62.14 C 127.92 62.11 131.03 62.12 134.15 62.13 C 131.04 72.38 118.02 76.98 108.77 72.22 C 103.52 69.60 100.72 63.77 100.23 58.13 C 99.64 51.82 100.61 44.83 105.00 39.95 M 109.73 50.65 C 114.70 50.66 119.66 50.68 124.63 50.64 C 124.59 46.06 120.82 41.57 115.96 42.38 C 111.79 42.72 110.31 47.15 109.73 50.65 Z" id="path40"/>
 
    <path fill="#000000" opacity="1.00" d=" M 163.72 35.86 C 169.76 34.66 176.85 34.20 182.17 37.82 C 187.50 41.88 185.59 49.27 185.94 55.03 C 186.48 60.81 184.24 67.60 188.56 72.36 C 184.89 72.73 181.19 72.53 177.51 72.56 C 177.15 71.36 176.82 70.16 176.51 68.95 C 173.24 72.22 168.65 74.78 163.88 73.90 C 159.80 73.47 155.70 70.78 154.67 66.65 C 153.46 62.09 154.47 56.33 158.76 53.71 C 163.50 50.70 169.43 51.15 174.58 49.35 C 177.03 48.30 177.22 44.39 174.67 43.34 C 170.75 41.72 164.47 42.47 164.07 47.71 C 161.00 47.73 157.94 47.73 154.87 47.71 C 155.19 42.46 158.32 37.11 163.72 35.86 M 163.83 60.91 C 162.68 66.21 169.80 67.68 173.20 65.15 C 176.55 63.00 176.49 58.61 176.66 55.10 C 172.53 56.99 165.47 55.65 163.83 60.91 Z" id="path42"/>
 
  </g>
 
</svg>
...
 
\ No newline at end of file
 
</svg>
conservancy/static/img/projects/pypy.svg
Show inline comments
...
 
@@ -25,25 +25,25 @@
 
			<stop offset="0" style="stop-color:#5A9FD4" id="stop41"/>
 
			<stop offset="0.0869" style="stop-color:#6CADB1" id="stop43"/>
 
			<stop offset="0.1845" style="stop-color:#7CBA92" id="stop45"/>
 
			<stop offset="0.2915" style="stop-color:#89C478" id="stop47"/>
 
			<stop offset="0.4095" style="stop-color:#93CC65" id="stop49"/>
 
			<stop offset="0.5442" style="stop-color:#9BD257" id="stop51"/>
 
			<stop offset="0.7102" style="stop-color:#9FD54E" id="stop53"/>
 
			<stop offset="1" style="stop-color:#A0D64C" id="stop55"/>
 
		</linearGradient>
 
		<path d="m -0.282,142.233 7.751,6.868 c 4.436,-2.285 9.825,-3.558 15.604,-3.448 6.706,-3.936 15.21,-5.969 24.287,-5.241 11.093,0.89 20.691,5.708 26.815,12.565 0.479,0.029 0.959,0.058 1.443,0.097 18.916,1.518 33.586,11.022 32.768,21.232 -0.819,10.208 -16.817,17.254 -35.733,15.737 -0.3,-0.025 -0.595,-0.057 -0.893,-0.084 -7.159,6.103 -17.662,9.539 -29.065,8.624 -10.282,-0.825 -19.277,-5.028 -25.416,-11.1 -9.716,-2.061 -17.361,-7.922 -20.222,-15.152 l -8.853,-4.542" id="path57" inkscape:connector-curvature="0" style="fill:url(#SVGID_2_)"/>
 
		<ellipse cx="71.473" cy="179.554" rx="5.4770002" ry="3.4790001" id="ellipse59" sodipodi:cx="71.473" sodipodi:cy="179.554" sodipodi:rx="5.4770002" sodipodi:ry="3.4790001" d="m 76.95,179.554 c 0,1.9214 -2.452137,3.479 -5.477,3.479 -3.024864,0 -5.477001,-1.5576 -5.477001,-3.479 0,-1.9214 2.452137,-3.479 5.477001,-3.479 3.024863,0 5.477,1.5576 5.477,3.479 z"/>
 
		<ellipse cx="72.315002" cy="162.595" rx="5.4759998" ry="3.4779999" id="ellipse61" sodipodi:cx="72.315002" sodipodi:cy="162.595" sodipodi:rx="5.4759998" sodipodi:ry="3.4779999" d="m 77.791002,162.595 c 0,1.92085 -2.451688,3.478 -5.476,3.478 -3.024311,0 -5.475999,-1.55715 -5.475999,-3.478 0,-1.92085 2.451688,-3.478 5.475999,-3.478 3.024312,0 5.476,1.55715 5.476,3.478 z"/>
 
		
 

 
		<path d="m 149.651,122.433 c 0,0 0,-0.004 0,-0.044 -0.001,-10.437 -3.399,-20.288 -8.892,-28.572 -8.285,-12.471 -20.906,-21.79 -35.708,-28.232 -14.858,-6.424 -32.154,-9.979 -50.622,-9.989 -24.62,0.038 -47.17,6.271 -64.615,17.398 -8.716,5.595 -16.216,12.502 -21.72,20.826 -5.493,8.282 -8.889,18.136 -8.891,28.573 0,0.03 0,0.056 0,0.078 0,0.042 0,0.067 0,0.077 10e-4,10.438 3.398,20.29 8.893,28.576 6.727,10.125 16.317,18.17 27.609,24.286 3.704,6.982 11.194,12.254 20.328,14.387 6.579,6.244 15.898,10.457 26.459,11.307 1.291,0.102 2.572,0.153 3.839,0.153 10.123,-0.002 19.396,-3.224 26.231,-8.683 1.755,0.136 3.484,0.203 5.183,0.203 8.646,-0.006 16.467,-1.712 22.428,-4.772 2.977,-1.536 5.501,-3.418 7.387,-5.674 1.377,-1.645 2.401,-3.518 2.944,-5.54 2.961,-1.494 5.813,-3.108 8.538,-4.846 8.714,-5.595 16.215,-12.5 21.719,-20.825 5.49,-8.282 8.888,-18.133 8.89,-28.569 0,-0.014 0,-0.041 0,-0.08 v -0.02 l 0,-0.018 z m -5.054,0.118 c 0,9.327 -3.043,18.223 -8.051,25.778 -5.045,7.633 -11.998,14.075 -20.229,19.359 -1.812,1.156 -3.689,2.256 -5.621,3.302 -0.43,-2.181 -1.402,-4.255 -2.767,-6.137 -2.831,-3.893 -7.297,-7.121 -12.814,-9.586 -0.559,-0.248 -1.131,-0.487 -1.711,-0.719 0.252,-0.106 0.511,-0.209 0.76,-0.316 11.106,-4.794 19.31,-11.416 23.75,-18.203 2.944,-4.485 4.349,-8.972 4.355,-13.547 -0.007,-4.598 -1.411,-9.085 -4.357,-13.573 -2.971,-4.515 -7.567,-8.968 -13.646,-12.862 -12.092,-7.791 -29.822,-13.058 -49.641,-13.07 -0.06,10e-4 -0.134,0 -0.22,10e-4 h -0.05 c -14.883,0.003 -28.607,2.936 -39.656,7.729 -11.114,4.796 -19.318,11.418 -23.758,18.205 -2.944,4.484 -4.348,8.972 -4.355,13.547 0.007,4.596 1.412,9.084 4.357,13.571 1.799,2.734 4.204,5.441 7.164,8.021 l -0.066,0.074 9.045,8.017 1.54,-0.793 c 3.873,-1.998 8.625,-3.176 13.759,-3.175 0.214,0 0.424,0.001 0.632,0.006 l 0.716,0.015 0.618,-0.362 c 5.39,-3.165 12.106,-5.04 19.375,-5.039 1.132,0 2.276,0.046 3.431,0.138 10.485,0.836 19.494,5.407 25.132,11.731 l 0.696,0.78 1.043,0.06 c 0.475,0.028 0.935,0.057 1.386,0.092 8.848,0.703 16.704,3.255 22.169,6.675 2.734,1.707 4.86,3.621 6.25,5.547 1.395,1.935 2.054,3.826 2.055,5.675 0,0.204 -0.007,0.408 -0.023,0.618 -0.143,1.731 -0.851,3.373 -2.187,4.984 -1.993,2.406 -5.458,4.621 -9.959,6.17 -4.497,1.554 -9.998,2.459 -15.974,2.458 -1.6,0 -3.234,-0.064 -4.893,-0.197 -0.254,-0.021 -0.539,-0.051 -0.858,-0.082 l -1.063,-0.1 -0.812,0.693 c -5.876,5.017 -14.366,8.17 -23.788,8.167 -1.133,0 -2.28,-0.046 -3.437,-0.138 -9.716,-0.776 -18.166,-4.759 -23.838,-10.378 l -0.528,-0.521 -0.726,-0.154 C 8.752,183.108 1.835,177.628 -0.594,171.401 l -0.35,-0.883 -9.7,-4.976 -1.151,2.243 1.045,-2.318 c -6.802,-4.833 -12.565,-10.544 -16.942,-17.14 -5.008,-7.553 -8.051,-16.451 -8.05,-25.78 0,-0.036 0,-0.036 0,-0.036 v -0.119 c -0.001,-9.329 3.041,-18.229 8.051,-25.782 5.045,-7.633 11.999,-14.075 20.229,-19.358 16.487,-10.527 38.125,-16.571 61.893,-16.603 17.815,0.008 34.445,3.447 48.608,9.572 14.139,6.153 25.908,14.94 33.507,26.39 5.008,7.554 8.051,16.45 8.049,25.777 0.001,0.014 0,0.054 0.001,0.12 v 0.043 z M 8.952,145.648 c -0.555,-0.331 -1.101,-0.666 -1.629,-1.008 -5.584,-3.571 -9.674,-7.601 -12.151,-11.38 -2.51,-3.866 -3.504,-7.223 -3.531,-10.801 0.026,-3.558 1.021,-6.914 3.534,-10.786 3.667,-5.66 11.143,-11.871 21.521,-16.324 l -0.999,-2.321 1.007,2.318 C 27.04,90.854 40.137,88.03 54.353,88.032 h 0.074 c 0.068,-10e-4 0.125,-10e-4 0.196,-10e-4 18.907,-0.01 35.836,5.106 46.907,12.268 5.584,3.569 9.673,7.602 12.152,11.38 2.51,3.866 3.504,7.222 3.531,10.802 -0.027,3.556 -1.021,6.914 -3.535,10.785 -3.667,5.659 -11.143,11.87 -21.521,16.323 -2.083,0.906 -4.284,1.738 -6.579,2.497 -3.089,-0.734 -6.359,-1.257 -9.761,-1.531 -0.16,-0.013 -0.318,-0.025 -0.475,-0.035 -6.619,-6.971 -16.495,-11.716 -27.783,-12.627 -1.29,-0.104 -2.57,-0.153 -3.836,-0.153 -7.868,0.001 -15.22,1.953 -21.317,5.379 -0.008,0 -0.016,0 -0.023,0 -4.819,0 -9.387,0.9 -13.431,2.529 z" id="path73" inkscape:connector-curvature="0"/>
 
		<path d="m -13.603,123.581 c 0,0 -7.094,-53.079 67.612,-53.079 53.5,0 58.977,19.589 67.824,48.234 0,0 -19.589,-33.912 -67.612,-33.841 -67.396,0.099 -67.824,38.686 -67.824,38.686 z" id="path75" inkscape:connector-curvature="0" style="opacity:0.3"/>
 
		<path d="m 100.138,158.756 c 0,0 5.752,2.723 17.529,-3.739 11.42,-6.266 15.534,4.363 21.228,-7.635 0,0 4.213,6.74 -30.509,26.925 -10e-4,0.001 -5.299,-12.601 -8.248,-15.551 z" id="path77" inkscape:connector-curvature="0" style="opacity:0.2"/>
 
		<path d="m 103.509,164.232 c 0,0 -14.323,16.008 -39.178,8.426 0,0 -22.749,15.164 -42.548,-0.843 0,0 -29.857,-11.954 -32.384,-3.529 0,0 17.055,18.018 27.879,19.199 0,0 26.101,22.727 54.48,2.476 0,0 28.379,0.39 33.856,-8.877 5.477,-9.269 -2.105,-16.852 -2.105,-16.852 z" id="path79" inkscape:connector-curvature="0" style="opacity:0.3"/>
 
	</g>
 
	<polygon points="108.528,175.242 104.272,164.938 89.488,155.53 96.208,150.154 116.592,151.498 121.744,167.178 " id="polygon81" style="opacity:0.5"/>
 
	<polygon points="143.919,139.066 133.335,124.562 119.392,127.922 111.888,139.626 126.448,139.402 134.399,154.634 " id="polygon83" style="opacity:0.35"/>
 
	<polygon points="138.099,92.69 120.163,93.501 115.261,106.98 120.873,119.701 128.728,107.44 145.818,109.225 " id="polygon85" style="opacity:0.25"/>
 
	<defs id="defs87">
 
		<filter id="Adobe_OpacityMaskFilter" filterUnits="userSpaceOnUse" x="-31.469999" y="129.43401" width="91.837997" height="57.230999" color-interpolation-filters="sRGB">
 
			<feColorMatrix type="matrix" values="1 0 0 0 0  0 1 0 0 0  0 0 1 0 0  0 0 0 1 0" id="feColorMatrix90"/>
 
		</filter>
...
 
@@ -89,13 +89,13 @@
 
	<path d="m 631.003,585.184 v 0.695 l -3.394,7.101 h -1.092 l 3.382,-6.896 v -0.023 h -3.813 v -0.876 h 4.917 z" id="path314" inkscape:connector-curvature="0" style="fill:#6d6d6d"/>
 
	<path d="m 634.834,591.9 c 0.312,0.203 0.863,0.42 1.392,0.42 0.768,0 1.127,-0.384 1.127,-0.864 0,-0.504 -0.3,-0.779 -1.079,-1.067 -1.044,-0.371 -1.535,-0.947 -1.535,-1.643 0,-0.936 0.756,-1.703 2.003,-1.703 0.588,0 1.104,0.168 1.427,0.359 l -0.264,0.768 c -0.228,-0.144 -0.647,-0.336 -1.188,-0.336 -0.623,0 -0.971,0.36 -0.971,0.792 0,0.479 0.348,0.695 1.103,0.983 1.008,0.384 1.523,0.888 1.523,1.751 0,1.02 -0.791,1.751 -2.171,1.751 -0.636,0 -1.223,-0.168 -1.631,-0.407 l 0.264,-0.804 z" id="path316" inkscape:connector-curvature="0" style="fill:#6d6d6d"/>
 
	<path d="m 643.808,591.588 c 0,0.504 0.024,0.996 0.096,1.392 h -0.959 l -0.084,-0.731 h -0.036 c -0.324,0.456 -0.947,0.863 -1.775,0.863 -1.175,0 -1.774,-0.827 -1.774,-1.667 0,-1.403 1.247,-2.171 3.49,-2.159 v -0.119 c 0,-0.48 -0.132,-1.344 -1.319,-1.344 -0.54,0 -1.104,0.168 -1.512,0.432 l -0.239,-0.695 c 0.479,-0.312 1.175,-0.516 1.906,-0.516 1.775,0 2.207,1.211 2.207,2.374 v 2.17 z m -1.02,-1.57 c -1.151,-0.024 -2.458,0.18 -2.458,1.307 0,0.684 0.455,1.008 0.995,1.008 0.756,0 1.235,-0.479 1.403,-0.972 0.036,-0.108 0.06,-0.228 0.06,-0.336 v -1.007 z" id="path318" inkscape:connector-curvature="0" style="fill:#6d6d6d"/>
 
	<path d="m 645.514,588.746 c 0,-0.6 -0.013,-1.092 -0.049,-1.571 h 0.924 l 0.048,0.936 h 0.036 c 0.324,-0.552 0.863,-1.067 1.823,-1.067 0.791,0 1.391,0.479 1.643,1.163 h 0.024 c 0.18,-0.324 0.407,-0.575 0.647,-0.756 0.348,-0.264 0.731,-0.407 1.283,-0.407 0.768,0 1.907,0.504 1.907,2.519 v 3.418 h -1.031 v -3.286 c 0,-1.115 -0.408,-1.787 -1.26,-1.787 -0.6,0 -1.067,0.443 -1.247,0.96 -0.048,0.144 -0.084,0.335 -0.084,0.527 v 3.586 h -1.031 v -3.479 c 0,-0.923 -0.408,-1.595 -1.212,-1.595 -0.659,0 -1.139,0.527 -1.307,1.056 -0.061,0.155 -0.084,0.336 -0.084,0.516 v 3.502 h -1.031 v -4.235 z" id="path320" inkscape:connector-curvature="0" style="fill:#6d6d6d"/>
 
	<path d="m 660.379,591.396 c 0,0.6 0.013,1.127 0.049,1.583 h -0.936 l -0.061,-0.947 h -0.023 c -0.276,0.468 -0.888,1.079 -1.919,1.079 -0.912,0 -2.003,-0.504 -2.003,-2.543 v -3.394 h 1.055 v 3.214 c 0,1.104 0.336,1.848 1.296,1.848 0.707,0 1.199,-0.492 1.391,-0.96 0.061,-0.156 0.097,-0.348 0.097,-0.54 v -3.562 h 1.055 v 4.222 z" id="path322" inkscape:connector-curvature="0" style="fill:#6d6d6d"/>
 
	<path d="m 662.721,590.269 c 0.024,1.428 0.936,2.016 1.991,2.016 0.756,0 1.211,-0.132 1.607,-0.3 l 0.18,0.755 c -0.372,0.168 -1.008,0.372 -1.931,0.372 -1.787,0 -2.854,-1.188 -2.854,-2.938 0,-1.75 1.031,-3.13 2.723,-3.13 1.895,0 2.398,1.667 2.398,2.734 0,0.216 -0.024,0.384 -0.036,0.491 h -4.078 z m 3.094,-0.755 c 0.012,-0.672 -0.276,-1.715 -1.463,-1.715 -1.067,0 -1.535,0.983 -1.619,1.715 h 3.082 z" id="path324" inkscape:connector-curvature="0" style="fill:#6d6d6d"/>
 
	<path d="m 668.146,584.464 h 1.055 v 8.516 h -1.055 v -8.516 z" id="path326" inkscape:connector-curvature="0" style="fill:#6d6d6d"/>
 
	<path d="m 673.521,588.985 c 0,-0.684 -0.013,-1.271 -0.049,-1.811 h 0.924 l 0.036,1.14 h 0.048 c 0.264,-0.78 0.899,-1.271 1.607,-1.271 0.12,0 0.203,0.012 0.3,0.036 v 0.995 c -0.108,-0.024 -0.216,-0.036 -0.36,-0.036 -0.743,0 -1.271,0.563 -1.415,1.355 -0.023,0.144 -0.048,0.312 -0.048,0.491 v 3.095 h -1.043 v -3.994 z" id="path328" inkscape:connector-curvature="0" style="fill:#6d6d6d"/>
 
	<path d="m 677.913,590.269 c 0.024,1.428 0.936,2.016 1.991,2.016 0.756,0 1.211,-0.132 1.607,-0.3 l 0.18,0.755 c -0.372,0.168 -1.008,0.372 -1.931,0.372 -1.787,0 -2.854,-1.188 -2.854,-2.938 0,-1.75 1.031,-3.13 2.723,-3.13 1.895,0 2.398,1.667 2.398,2.734 0,0.216 -0.024,0.384 -0.036,0.491 h -4.078 z m 3.095,-0.755 c 0.012,-0.672 -0.276,-1.715 -1.463,-1.715 -1.067,0 -1.535,0.983 -1.619,1.715 h 3.082 z" id="path330" inkscape:connector-curvature="0" style="fill:#6d6d6d"/>
 
	<path d="m 684.513,585.544 c 0.012,0.359 -0.252,0.647 -0.672,0.647 -0.371,0 -0.636,-0.288 -0.636,-0.647 0,-0.372 0.276,-0.66 0.66,-0.66 0.396,0 0.648,0.288 0.648,0.66 z m -1.175,7.435 v -5.805 h 1.055 v 5.805 h -1.055 z" id="path332" inkscape:connector-curvature="0" style="fill:#6d6d6d"/>
 
	<path d="m 686.001,591.9 c 0.312,0.203 0.863,0.42 1.392,0.42 0.768,0 1.127,-0.384 1.127,-0.864 0,-0.504 -0.3,-0.779 -1.079,-1.067 -1.044,-0.371 -1.535,-0.947 -1.535,-1.643 0,-0.936 0.756,-1.703 2.003,-1.703 0.588,0 1.104,0.168 1.427,0.359 l -0.264,0.768 c -0.228,-0.144 -0.647,-0.336 -1.188,-0.336 -0.623,0 -0.971,0.36 -0.971,0.792 0,0.479 0.348,0.695 1.103,0.983 1.008,0.384 1.523,0.888 1.523,1.751 0,1.02 -0.791,1.751 -2.171,1.751 -0.636,0 -1.223,-0.168 -1.631,-0.407 l 0.264,-0.804 z" id="path334" inkscape:connector-curvature="0" style="fill:#6d6d6d"/>
 
</g>
 
<path style="fill:url(#linearGradient4158);fill-opacity:1;stroke:none" d="m -39.411627,128.55903 c 3.648072,9.15888 32.9454945,17.49942 34.7403045,15.93868 0.0732,-3.93095 0.43679,-8.47093 0.43679,-8.47093 0,0 16.8971525,13.88296 22.5804825,19.05885 -5.14622,2.54814 -24.4402525,13.25297 -24.4402525,13.25297 l 0.41181,-7.58934 c 0,0 -36.2179295,-6.72378 -46.4783685,-11.38754 z" id="path3382" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccc"/></svg>
...
 
\ No newline at end of file
 
<path style="fill:url(#linearGradient4158);fill-opacity:1;stroke:none" d="m -39.411627,128.55903 c 3.648072,9.15888 32.9454945,17.49942 34.7403045,15.93868 0.0732,-3.93095 0.43679,-8.47093 0.43679,-8.47093 0,0 16.8971525,13.88296 22.5804825,19.05885 -5.14622,2.54814 -24.4402525,13.25297 -24.4402525,13.25297 l 0.41181,-7.58934 c 0,0 -36.2179295,-6.72378 -46.4783685,-11.38754 z" id="path3382" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccc"/></svg>
conservancy/static/img/projects/qemu.svg
Show inline comments
...
 
@@ -288,13 +288,13 @@
 
      </cc:License>
 
    </rdf:RDF>
 
  </metadata>
 
  <g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(-62.341105,-55.859333)">
 
    <path inkscape:connector-curvature="0" style="fill:url(#radialGradient4475);fill-opacity:1;stroke:none" d="m 118.2161,55.859333 c -30.850815,0 -55.874995,24.87043 -55.874995,55.562497 0,30.69207 25.02418,55.56249 55.874995,55.56249 10.09496,0 19.54625,-2.6525 27.71875,-7.3125 l 2.90625,7.3125 2.40625,0 20,0 0.125,0 -8.8125,-21.78124 c 7.21537,-9.3622 11.5,-21.07236 11.5,-33.78125 0,-30.692067 -24.99293,-55.562497 -55.84375,-55.562497 z" id="path3834-7-7-2-5-5-0-5-4"/>
 
    <path sodipodi:type="arc" style="fill:url(#linearGradient4437);fill-opacity:1;stroke:none" id="path3661" sodipodi:cx="142.5" sodipodi:cy="856.29077" sodipodi:rx="35.357143" sodipodi:ry="24.642857" d="m 177.85714,856.29077 c 0,13.60988 -15.82993,24.64286 -35.35714,24.64286 -19.52721,0 -35.35714,-11.03298 -35.35714,-24.64286 0,-13.60987 15.82993,-24.64286 35.35714,-24.64286 19.52721,0 35.35714,11.03299 35.35714,24.64286 z" transform="matrix(1.0465082,0,0,1.2920463,-31.641235,-1016.8612)"/>
 
    <path sodipodi:type="arc" style="fill:#000000;fill-opacity:1;stroke:none" id="path4442" sodipodi:cx="115.66247" sodipodi:cy="856.39258" sodipodi:rx="6.5659914" sodipodi:ry="6.5659914" d="m 122.22846,856.39258 c 0,3.6263 -2.9397,6.56599 -6.56599,6.56599 -3.6263,0 -6.56599,-2.93969 -6.56599,-6.56599 0,-3.6263 2.93969,-6.56599 6.56599,-6.56599 3.62629,0 6.56599,2.93969 6.56599,6.56599 z" transform="translate(7.6700247,-777.60351)"/>
 
    <rect style="fill:#000000;fill-opacity:1;stroke:none" id="rect4444" width="37.643608" height="5.5005069" x="125.01157" y="65.255234" transform="matrix(0.98974903,0.14281759,-0.18972639,0.981837,0,0)"/>
 
    <rect style="fill:#000000;fill-opacity:1;stroke:none" id="rect4446" width="6.5659914" height="2.9041886" x="144.92451" y="89.016899"/>
 
    <path style="fill:#ff6600;fill-opacity:1" d="m 103.38797,65.010543 c -0.057,2.18531 -3.865755,0.28296 -4.031245,2.78125 -4.22387,-1.88052 0.32884,2.87188 -0.0937,3.3125 l -0.0312,0 -0.3125,-0.0312 c -0.20386,-0.0728 -0.49977,-0.19904 -0.9375,-0.46875 -2.9499,2.35025 -3.02157,7.23369 -6.0625,9.9375 -1.99467,4.30504 -2.47977,8.98337 -3.9375,13.46875 -0.71796,4.30292 -1.34881,8.597857 -0.28125,12.906247 0.32053,3.50159 -0.68919,8.25865 2.5,10.71875 4.72728,3.88304 8.65575,8.79543 12.624995,13.46875 6.21914,7.65333 11.72948,15.86251 16.59375,24.4375 0.32431,-2.11756 1.10954,4.26459 2.53125,4.6875 -0.49161,-3.19231 -1.13213,-8.26328 -1.4375,-12.1875 -1.5814,-10.2909 -6.65305,-19.64903 -8.5625,-29.84375 -0.0587,-0.43037 -0.12809,-0.87203 -0.1875,-1.3125 l 0,-1.28125 -0.15625,0 c -0.62551,-5.04297 -0.8504,-10.46546 2.8125,-14.40625 3.73968,-3.772097 9.30633,-4.722447 13.8125,-7.343747 1.00194,-0.59119 2.04921,-1.07174 3.125,-1.40625 0.009,-0.003 0.0228,0.003 0.0312,0 3.11701,-0.96341 6.44862,-0.93323 9.6875,-0.40625 0.0479,0.008 0.10841,0.0233 0.15625,0.0312 0.29455,0.0493 0.61389,0.099 0.90625,0.15625 2.37136,0.21133 7.14463,1.13687 8,-0.5 -3.27225,-2.78631 -7.98526,-2.59211 -11.96875,-3.6875 -0.63059,-0.11469 -1.41182,-0.24041 -2.1875,-0.3125 l -3.90625,-0.875 -0.96875,-0.25 0,0.0312 -13.96875,-2.71875 c -0.22212,-0.20226 -0.46434,-0.40933 -0.6875,-0.5625 l 13.625,1.6875 0,-0.0625 c 0.48011,0.10699 0.95576,0.19361 1.4375,0.25 l 0,0.0312 9.625,1.78125 c 1.66103,0.61952 3.4322,1.08374 5.09375,1.1875 2.74263,0.39907 6.22526,4.49092 7.125,4.6875 -0.44096,-4.307 -4.7422,-6.23586 -8.3125,-7.5 -4.1712,-2.02803 -10.4023,-1.95417 -11.0625,-7.5625 -0.1756,-0.39076 -0.34902,-0.78118 -0.5625,-1.15625 l -1.625,-2.15625 0.0625,-0.0312 c -2.21724,-2.61691 -5.34011,-4.52196 -8.65625,-5.25 -3.2914,-1.13611 -6.98773,-2.2671 -10.46875,-2.71875 -1.18132,3.47826 -2.5031,-2.75561 -5.34375,-0.90625 -2.48996,0.29488 -2.14614,0.95256 -4,-0.625 z m 17.90625,10.15625 c 0.90187,-0.0238 1.93277,0.14208 2.96875,0.5 2.76259,0.95447 4.56151,2.96523 4.03125,4.5 -0.53026,1.53477 -3.20616,1.98572 -5.96875,1.03125 -2.76259,-0.95447 -4.5615,-2.93398 -4.03125,-4.46875 0.33141,-0.95923 1.49689,-1.52281 3,-1.5625 z" id="path3499-9-7" inkscape:connector-curvature="0"/>
 
    <text xml:space="preserve" style="font-size:95.54121399px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold" x="184.89412" y="166.37402" id="text4477" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan4479" x="184.89412" y="166.37402" style="fill:#000000;fill-opacity:1">EMU</tspan></text>
 
  </g>
 
</svg>
...
 
\ No newline at end of file
 
</svg>
conservancy/static/img/projects/squeak.svg
Show inline comments
...
 
@@ -5,13 +5,13 @@
 
  <path d="M 11232.479,6345.701 C 11232.479,6664.9424 11079.638,6923.7412 10891.099,6923.7412 C 10702.564,6923.7412 10549.723,6664.9424 10549.723,6345.701 C 10549.723,6026.4595 10702.564,5767.6607 10891.099,5767.6607 C 11079.638,5767.6607 11232.479,6026.4595 11232.479,6345.701 L 11232.479,6345.701 z" id="pupR" style="fill:#ffffff"/>
 
  <path d="M 7562.9832,6287.2172 C 7562.9832,6950.2358 7131.4511,7487.7183 6599.1302,7487.7183 C 6066.8072,7487.7183 5635.2751,6950.2358 5635.2751,6287.2172 C 5635.2751,5624.1985 6066.8072,5086.7156 6599.1302,5086.7156 C 7131.4511,5086.7156 7562.9832,5624.1985 7562.9832,6287.2172 z" id="eyeL"/>
 
  <path d="M 7296.3965,6168.4368 C 7296.3965,6487.4324 7143.5559,6746.0268 6955.0174,6746.0268 C 6766.481,6746.0268 6613.6404,6487.4324 6613.6404,6168.4368 C 6613.6404,5849.4413 6766.481,5590.8469 6955.0174,5590.8469 C 7143.5559,5590.8469 7296.3965,5849.4413 7296.3965,6168.4368 z" id="pupL" style="fill:#ffffff"/>
 
  <path d="M 5888.2586,3739.3253 C 2900.2186,-1950.4661 610.36464,-824.25739 2805.4007,6583.715" id="earL" style="fill:none;stroke:#000000;stroke-width:150"/>
 
  <path d="M 11111.889,3679.4816 C 13882.653,-1677.1575 16488.614,-1306.6259 14194.747,6524.778" id="earR" style="fill:none;stroke:#000000;stroke-width:150"/>
 
  <path d="M 9814.3692,9363.727 C 9814.3692,9862.9982 9276.8857,10267.737 8613.8669,10267.737 C 7950.8493,10267.737 7413.3659,9862.9982 7413.3659,9363.727 C 7413.3659,8864.4558 7950.8493,8459.7169 8613.8669,8459.7169 C 9276.8857,8459.7169 9814.3692,8864.4558 9814.3692,9363.727 z" id="nose"/>
 
  <path d="M 6895.6277,8835.108 C 4877.6547,8303.2788 2821.4415,8289.1068 20.854627,9191.4501" id="whiskerL1" style="fill:none;stroke:#000000;stroke-width:150"/>
 
  <path d="M 6777.7537,9426.2913 C 4292.2899,9269.5985 2569.1583,9226.9662 495.07071,10849.846" id="whiskerL2" style="fill:none;stroke:#000000;stroke-width:150"/>
 
  <path d="M 6777.7537,10376.537 C 4634.737,10088.359 3812.4057,10276.693 2509.809,11444.657" id="whiskerL3" style="fill:none;stroke:#000000;stroke-width:150"/>
 
  <path d="M 10204.26,9013.7324 C 13100.372,8264.3585 15233.852,8806.9996 17079.939,9370.0745" id="whiskerR1" style="fill:none;stroke:#000000;stroke-width:150"/>
 
  <path d="M 10323.04,9605.8225 C 12979.09,9406.498 14556.098,9477.3417 16605.723,11028.471" id="whiskerR2" style="fill:none;stroke:#000000;stroke-width:150"/>
 
  <path d="M 10323.04,10553.348 C 12342.144,10299.784 13208.104,10377.136 14590.985,11621.467" id="whiskerR3" style="fill:none;stroke:#000000;stroke-width:150"/>
 
</svg>
...
 
\ No newline at end of file
 
</svg>
conservancy/static/img/projects/sugar-labs.svg
Show inline comments
...
 
@@ -20,13 +20,13 @@
 
		<path fill="#033CD2" d="M256.264,117.519c-2.625,0-5.279-1.729-5.68-5.044c-3.492,3.314-7.752,5.044-12.52,5.044    c-16.026,0-24.411-14.131-24.411-28.091c0-13.958,8.385-28.089,24.411-28.089c4.755,0,8.745,1.484,12.563,4.743    c0.52-3.119,3.091-4.743,5.636-4.743c2.776,0,5.727,2.076,5.727,5.923v44.334C261.991,115.442,259.04,117.519,256.264,117.519    L256.264,117.519z M238.065,72.215c-9.132,0-12.373,9.273-12.373,17.212c0,7.94,3.241,17.212,12.373,17.212    c9.133,0,12.373-9.272,12.373-17.212C250.438,81.488,247.198,72.215,238.065,72.215L238.065,72.215z"/>
 
		<path fill="#78E600" d="M256.264,63.098c1.645,0,3.967,1.162,3.967,4.163v44.334c0,3.002-2.322,4.164-3.967,4.164    c-1.743,0-3.97-1.162-3.97-4.164v-3.581h-0.193c-3.678,5.228-8.518,7.745-14.036,7.745c-14.521,0-22.651-12.682-22.651-26.331    s8.13-26.33,22.651-26.33c5.905,0,10.067,2.516,14.036,6.873h0.193v-2.71C252.294,64.26,254.521,63.098,256.264,63.098     M238.065,108.4c10.454,0,14.133-10.26,14.133-18.972c0-8.712-3.679-18.973-14.133-18.973c-10.455,0-14.133,10.261-14.133,18.973    C223.932,98.141,227.61,108.4,238.065,108.4 M256.264,59.578c-2.479,0-5.063,1.254-6.454,3.637    c-3.564-2.488-7.348-3.637-11.745-3.637c-17.181,0-26.171,15.017-26.171,29.85s8.99,29.85,26.171,29.85    c4.331,0,8.272-1.291,11.662-3.784c1.37,2.479,4.009,3.784,6.538,3.784c3.63,0,7.487-2.692,7.487-7.684V67.261    C263.751,62.271,259.894,59.578,256.264,59.578L256.264,59.578z M238.065,104.881c-10.102,0-10.613-12.872-10.613-15.453    s0.512-15.453,10.613-15.453c10.101,0,10.613,12.873,10.613,15.453S248.166,104.881,238.065,104.881L238.065,104.881z"/>
 
	</g>
 
	<g>
 
		<path fill="#033CD2" d="M282.981,117.519c-3.601,0-6.02-2.536-6.02-6.311V67.647c0-3.774,2.419-6.309,6.02-6.309    c3.289,0,5.593,2.118,5.965,5.361c2.537-2.849,6.103-5.361,10.104-5.361c3.768,0,6.503,2.572,6.503,6.115    c0,2.326-1.173,5.322-6.76,6.375C295.832,74.343,289,76.616,289,86.718v24.49C289,114.982,286.581,117.519,282.981,117.519    L282.981,117.519z"/>
 
		<path fill="#78E600" d="M299.049,63.098c3,0,4.744,1.936,4.744,4.355c0,2.42-1.744,3.97-5.326,4.647    c-5.033,0.871-11.228,4.646-11.228,14.617v24.491c0,2.808-1.646,4.551-4.259,4.551c-2.615,0-4.26-1.743-4.26-4.551V67.647    c0-2.807,1.645-4.549,4.26-4.549c2.613,0,4.259,1.743,4.259,4.549v4.356h0.194C289.369,68.035,294.112,63.098,299.049,63.098     M299.049,59.578c-3.515,0-6.709,1.664-9.283,3.875c-1.286-2.396-3.728-3.875-6.785-3.875c-4.581,0-7.779,3.318-7.779,8.069    v43.561c0,4.752,3.198,8.07,7.779,8.07c4.58,0,7.778-3.318,7.778-8.07V86.717c0-8.449,5.206-10.611,8.309-11.148    c0.018-0.003,0.035-0.006,0.054-0.01c7.128-1.348,8.191-5.657,8.191-8.105C307.313,62.89,303.838,59.578,299.049,59.578    L299.049,59.578z"/>
 
	</g>
 
	<path fill="#969696" d="M324.99,111.208c0,2.808-1.646,4.551-4.259,4.551c-2.614,0-4.26-1.743-4.26-4.551V44.997   c0-2.808,1.646-4.55,4.26-4.55c2.613,0,4.259,1.743,4.259,4.55V111.208z"/>
 
	<path fill="#969696" d="M386.071,111.595c0,3.002-2.324,4.164-3.969,4.164c-1.742,0-3.969-1.162-3.969-4.164v-3.581h-0.193   c-3.68,5.228-8.52,7.745-14.037,7.745c-14.52,0-22.65-12.682-22.65-26.331s8.131-26.33,22.65-26.33   c5.906,0,10.067,2.516,14.037,6.873h0.193v-2.71c0-3.001,2.227-4.163,3.969-4.163c1.645,0,3.969,1.162,3.969,4.163V111.595z    M363.903,108.4c10.455,0,14.133-10.26,14.133-18.972c0-8.712-3.678-18.973-14.133-18.973c-10.453,0-14.132,10.261-14.132,18.973   C349.771,98.141,353.45,108.4,363.903,108.4z"/>
 
	<path fill="#969696" d="M404.946,44.997c0-2.808,1.646-4.55,4.26-4.55s4.26,1.743,4.26,4.55v25.07h0.192   c2.227-3.194,6.97-6.969,13.745-6.969c13.941,0,21.975,12.681,21.975,26.33s-8.033,26.331-21.975,26.331   c-6.775,0-11.324-2.421-13.745-7.068h-0.192v2.518c0,2.808-1.646,4.551-4.26,4.551s-4.26-1.743-4.26-4.551V44.997z M426.727,108.4   c10.453,0,14.131-10.26,14.131-18.972c0-8.712-3.678-18.973-14.131-18.973c-10.455,0-14.135,10.261-14.135,18.973   C412.592,98.141,416.272,108.4,426.727,108.4z"/>
 
	<path fill="#969696" d="M481.999,63.098c7.066,0,17.135,3.775,17.135,9.099c0,1.839-1.26,3.484-3.873,3.484   c-3.678,0-5.13-5.227-13.262-5.227c-4.84,0-9.002,2.129-9.002,6.485c0,9.002,27.491,8.035,27.491,22.941   c0,10.746-9.196,15.877-18.778,15.877c-10.843,0-19.361-5.422-19.361-9.779c0-2.321,1.646-3.87,3.484-3.87   c3.775,0,6.873,6.291,16.166,6.291c6.195,0,9.971-3.484,9.971-6.97c0-10.066-27.491-9.486-27.491-23.812   C464.478,68.132,473.383,63.098,481.999,63.098z"/>
 
</g>
 
</svg>
...
 
\ No newline at end of file
 
</svg>
conservancy/static/img/projects/twisted.svg
Show inline comments
...
 
@@ -48,13 +48,13 @@
 
     fit-margin-bottom="0" /><path
 
     style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
 
     d="M 43.349999,0 -5.9309479e-7,32 29.399999,53.675 l 2.7,1.95 -0.05,0.025 2.925,2.15 34.725,-25.7 -26.975,-19.9 -26.55,19.675 18.8,13.85 18.9,-14.075 -10.85,-8 0,-2.225 0.05,-0.075 12.9,9.55 1,0.75 -1,0.75 -20.4,15.225 -0.55,0.4 -0.575,-0.4 -20.4,-15 -1.025,-0.75 1,-0.75 28.125,-20.85 0.55,-0.4 0.575,0.4 28.525,21.075 1.025,0.75 -1,0.75 -36.25,26.875 -0.55,0.4 -0.575,-0.4 -4,-2.95 -2.9,2 -4.025,3.05 11.025,8.325 52.025,-38.55 -43.225,-31.6 z"
 
     id="path2280"
 
     inkscape:connector-curvature="0" /><path
 
     id="path2302"
 
     d="m 33.193999,35.4 0.094,-1.969 -4.313,-2.062 0,0.938 4.219,3.094 0,-0.001 z"
 
     style="fill:#ffffff;fill-rule:nonzero;stroke:none"
 
     inkscape:connector-curvature="0" /><path
 
     id="path2300"
 
     d="m 37.083999,35.4 -0.094,-1.969 4.312,-2.062 0,0.938 -4.218,3.093 z"
 
     style="fill:#ffffff;fill-rule:nonzero;stroke:none"
 
     inkscape:connector-curvature="0" /></svg>
...
 
\ No newline at end of file
 
     inkscape:connector-curvature="0" /></svg>
conservancy/static/img/sponsors/jmp.svg
Show inline comments
...
 
@@ -34,13 +34,13 @@
 
    </filter>
 
    <linearGradient id="paint0_linear" x1="64.477699" y1="11" x2="64.477699" y2="106.835" gradientUnits="userSpaceOnUse" gradientTransform="translate(-0.87597501,-11)">
 
      <stop stop-color="#93D2FF" id="stop30"/>
 
      <stop offset="0.229167" stop-color="#4A9BD5" id="stop32"/>
 
      <stop offset="0.7188" stop-color="#398BD7" id="stop34"/>
 
      <stop offset="1" stop-color="#1960CC" id="stop36"/>
 
    </linearGradient>
 
    <linearGradient id="paint1_linear" x1="63.664001" y1="31.646099" x2="64.276802" y2="89.372299" gradientUnits="userSpaceOnUse" gradientTransform="translate(-0.87597501,-11)">
 
      <stop stop-color="white" stop-opacity="0" id="stop39"/>
 
      <stop offset="1" stop-color="#8DCDFC" stop-opacity="0.24" id="stop41"/>
 
    </linearGradient>
 
  </defs>
 
</svg>
...
 
\ No newline at end of file
 
</svg>
conservancy/static/img/supporter-card-1.svg
Show inline comments
...
 
@@ -1081,13 +1081,13 @@
 
     d="m 160.4375,627.67395 c -4.16544,3e-5 -7.25828,1.44305 -9.25,4.375 -1.99173,2.93201 -2.96875,7.36768 -2.96875,13.3125 0,5.68198 1.05331,10.00553 3.15625,12.9375 2.10293,2.93198 5.1636,4.40625 9.1875,4.40625 2.56799,0 4.90807,-0.68566 7.03125,-2 l 0,-7.09375 c -2.20406,1.41545 -4.32171,2.12501 -6.34375,2.125 -1.69854,10e-6 -2.9081,-0.86489 -3.65625,-2.59375 -0.74817,-1.72885 -1.12501,-4.34558 -1.125,-7.84375 -1e-5,-3.57902 0.36672,-6.24171 1.125,-8.03125 0.75826,-1.78949 1.99999,-2.68747 3.71875,-2.6875 1.2941,3e-5 2.79043,0.47797 4.46875,1.46875 l 2.3125,-6.28125 c -1.09193,-0.68747 -2.34377,-1.1985 -3.71875,-1.5625 -1.37501,-0.36394 -2.68384,-0.53122 -3.9375,-0.53125 z m 24,0 c -4.125,3e-5 -7.36215,1.5414 -9.6875,4.625 -2.32537,3.08366 -3.46875,7.36401 -3.46875,12.84375 0,3.55883 0.52206,6.65351 1.59375,9.3125 1.07168,2.65901 2.61213,4.70956 4.59375,6.125 1.9816,1.41544 4.25551,2.125 6.84375,2.125 4.08453,0 7.31064,-1.54137 9.65625,-4.625 2.34556,-3.08363 3.49997,-7.39706 3.5,-12.9375 -3e-5,-5.35842 -1.17558,-9.63693 -3.53125,-12.78125 -2.35572,-3.14426 -5.51657,-4.68747 -9.5,-4.6875 z m 34.46875,0 c -1.81987,3e-5 -3.39524,0.43294 -4.75,1.3125 -1.28039,0.83132 -2.27951,1.96996 -3,3.40625 l 0,-4.15625 -7.96875,0 0,0.0625 -0.0312,0 0,33.78125 8.0625,0 0,-16.21875 c -10e-6,-4.10475 0.40992,-7.02112 1.21875,-8.75 0.80881,-1.72883 2.07352,-2.59372 3.8125,-2.59375 1.31432,3e-5 2.25734,0.62135 2.84375,1.875 0.58638,1.2537 0.87498,3.11584 0.875,5.5625 l 0,20.125 8.125,0 0,-22.03125 c -3e-5,-4.04408 -0.75463,-7.14703 -2.28125,-9.25 -1.52668,-2.1029 -3.83275,-3.12497 -6.90625,-3.125 z m 25.28125,0 c -3.4375,3e-5 -6.1535,0.82173 -8.125,2.5 -1.97151,1.67834 -2.9375,3.94121 -2.9375,6.8125 0,2.2445 0.53217,4.1958 1.59375,5.84375 1.06157,1.64799 2.80331,3.20039 5.25,4.65625 1.84006,1.11214 3.09374,2.07538 3.78125,2.84375 0.68749,0.76839 1.03124,1.65626 1.03125,2.6875 -1e-5,1.01104 -0.3116,1.82078 -0.96875,2.4375 -0.65718,0.61673 -1.62134,0.93751 -2.875,0.9375 -1.13236,10e-6 -2.4513,-0.27573 -3.9375,-0.78125 -1.48621,-0.50551 -2.76287,-1.13786 -3.875,-1.90625 l 0,7 c 2.18381,1.31434 4.94485,2 8.28125,2 3.76101,0 6.60017,-0.93107 8.53125,-2.78125 1.93104,-1.85018 2.87498,-4.42279 2.875,-7.71875 -2e-5,-1.51653 -0.22245,-2.83639 -0.6875,-3.96875 -0.46509,-1.13234 -1.11951,-2.14153 -1.96875,-3.03125 -0.84928,-0.88969 -2.33458,-1.97609 -4.4375,-3.25 -1.73898,-1.05145 -2.92556,-1.94851 -3.5625,-2.65625 -0.63696,-0.7077 -0.93751,-1.4963 -0.9375,-2.40625 -1e-5,-0.78858 0.23437,-1.45402 0.75,-2 0.51561,-0.54593 1.31249,-0.84372 2.34375,-0.84375 1.63785,3e-5 3.52389,0.60849 5.6875,1.78125 l 2.65625,-5.8125 c -2.64891,-1.57717 -5.47613,-2.34372 -8.46875,-2.34375 z m 25.125,0 c -3.94302,3e-5 -7.01472,1.55335 -9.21875,4.6875 -2.20404,3.13421 -3.28125,7.48165 -3.28125,13.0625 0,5.5 1.21967,9.74726 3.65625,12.75 2.43657,3.00275 5.74264,4.53125 9.96875,4.53125 3.61946,0 6.72425,-0.78677 9.3125,-2.34375 l 0,-6.65625 c -2.75002,1.63787 -5.43385,2.46876 -8.0625,2.46875 -2.06251,10e-6 -3.67097,-0.75275 -4.84375,-2.21875 -1.1728,-1.46598 -1.7831,-3.67463 -1.84375,-6.6875 l 16.21875,0 0,-4.3125 c -3e-5,-4.83269 -1.06437,-8.602 -3.1875,-11.28125 -2.12318,-2.67919 -5.03863,-3.99997 -8.71875,-4 z m 31.71875,0 c -1.39523,3e-5 -2.63605,0.43386 -3.6875,1.34375 -1.05148,0.90996 -2.01656,2.43937 -2.90625,4.5625 l -0.28125,0 -0.90625,-5.28125 -6.625,0 0,33.78125 8.0625,0 0,-17.375 c -10e-6,-2.95218 0.51102,-5.20311 1.5625,-6.75 1.05145,-1.54685 2.56984,-2.31247 4.53125,-2.3125 0.90991,3e-5 1.65256,0.0791 2.21875,0.28125 l 0.9375,-7.8125 c -0.95039,-0.30327 -1.91546,-0.43747 -2.90625,-0.4375 z m -31.75,6.1875 c 1.23344,3e-5 2.19851,0.66363 2.90625,1.9375 0.7077,1.27392 1.08454,3.12687 1.125,5.59375 l -8.1875,0 c 0.12131,-2.56799 0.53308,-4.46413 1.28125,-5.6875 0.74815,-1.22332 1.72242,-1.84372 2.875,-1.84375 z M 184.375,634.5802 c 1.67829,3e-5 2.90899,0.87595 3.6875,2.625 0.77847,1.7491 1.15623,4.39893 1.15625,7.9375 -2e-5,7.11764 -1.60848,10.65626 -4.84375,10.65625 -1.69854,10e-6 -2.95038,-0.88786 -3.71875,-2.6875 -0.76839,-1.79962 -1.12501,-4.45036 -1.125,-7.96875 -1e-5,-3.53857 0.35661,-6.1884 1.125,-7.9375 0.76837,-1.74905 2.02021,-2.62497 3.71875,-2.625 z"
 
     style="font-size:48px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#577632;fill-opacity:1;stroke:none;font-family:Open Sans Condensed;-inkscape-font-specification:'Open Sans Condensed, Bold'"
 
     inkscape:connector-curvature="0" /><path
 
     id="flowRoot3023-5-6-2-5-9-7-1"
 
     d="m 350.4375,627.67395 c -3.94302,3e-5 -7.5809,1.03313 -10.9375,3.15625 l 2.78125,5.59375 c 2.62866,-1.57718 4.94668,-2.37497 6.96875,-2.375 2.72976,3e-5 4.09373,1.59562 4.09375,4.75 l 0,2.40625 -4.46875,0.1875 c -3.88235,0.18201 -6.79872,1.14616 -8.75,2.875 -1.95129,1.72887 -2.9375,4.3787 -2.9375,7.9375 0,3.31618 0.69945,5.88971 2.125,7.75 1.42554,1.86029 3.38787,2.78125 5.875,2.78125 1.94116,0 3.53859,-0.34559 4.8125,-1.09375 1.27388,-0.74816 2.52572,-2.11213 3.71875,-4.09375 l 0.1875,0 1.59375,4.59375 5.90625,0 0,-22.6875 c -3e-5,-3.76099 -0.91087,-6.66634 -2.78125,-8.71875 -1.87042,-2.05235 -4.60848,-3.06247 -8.1875,-3.0625 z m 33.28125,0.0312 c -1.81987,3e-5 -3.42649,0.46419 -4.78125,1.34375 -1.31804,0.85577 -2.33777,2.0344 -3.0625,3.53125 l 0,-4.28125 -7.96875,0 0,18.15625 0.0312,0 0,15.6875 8.0625,0 0,-16.21875 c -1e-5,-4.10475 0.40992,-7.02112 1.21875,-8.75 0.80881,-1.72883 2.07352,-2.59372 3.8125,-2.59375 1.31432,3e-5 2.28859,0.62135 2.875,1.875 0.58638,1.2537 0.87498,3.11584 0.875,5.5625 l 0,20.125 8.125,0 0,-22.0625 c -3e-5,-4.04408 -0.75463,-7.11578 -2.28125,-9.21875 -1.52668,-2.1029 -3.83275,-3.15622 -6.90625,-3.15625 z m 26.8125,0 c -4.16544,3e-5 -7.25828,1.4743 -9.25,4.40625 -1.99173,2.93201 -2.96875,7.36768 -2.96875,13.3125 0,5.68198 1.05331,10.00553 3.15625,12.9375 2.10293,2.93198 5.1636,4.375 9.1875,4.375 2.56799,0 4.90807,-0.65441 7.03125,-1.96875 l 0,-7.09375 c -2.20406,1.41545 -4.32171,2.12501 -6.34375,2.125 -1.69854,10e-6 -2.9081,-0.86489 -3.65625,-2.59375 -0.74817,-1.72885 -1.12501,-4.34558 -1.125,-7.84375 -10e-6,-3.57902 0.36672,-6.24171 1.125,-8.03125 0.75826,-1.78949 1.99999,-2.68747 3.71875,-2.6875 1.2941,3e-5 2.79043,0.47797 4.46875,1.46875 l 2.28125,-6.28125 c -1.09193,-0.68747 -2.31252,-1.1985 -3.6875,-1.5625 -1.37501,-0.36394 -2.68384,-0.56247 -3.9375,-0.5625 z m -102.6875,0.65625 8.84375,33.78125 10,0 8.875,-33.78125 -8.375,0 c -2.95222,13.44668 -4.52575,20.6434 -4.6875,21.59375 -0.16178,0.95038 -0.31711,1.99266 -0.46875,3.125 -0.15167,1.13236 -0.22979,1.98714 -0.25,2.59375 l -0.125,0 c -0.0607,-0.76837 -0.21601,-2.03216 -0.46875,-3.78125 -0.25277,-1.74907 -0.47428,-3.05881 -0.65625,-3.96875 l -4.3125,-19.5625 -8.375,0 z m 45.5,17.9375 0,2.875 c -2e-5,2.20405 -0.43292,3.95681 -1.3125,5.28125 -0.87961,1.32445 -2.05516,2.00001 -3.53125,2 -1.98162,10e-6 -2.96876,-1.39706 -2.96875,-4.1875 -10e-6,-1.8805 0.42187,-3.29962 1.28125,-4.25 0.85936,-0.95035 2.22242,-1.49263 4.0625,-1.59375 l 2.46875,-0.125 z"
 
     style="font-size:48px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#577632;fill-opacity:1;stroke:none;font-family:Open Sans Condensed;-inkscape-font-specification:'Open Sans Condensed, Bold'"
 
     inkscape:connector-curvature="0" /><g
 
     id="flowRoot3023-5-6-2-5-9-7-1-5"
 
     style="font-size:48px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#577632;fill-opacity:1;stroke:none;font-family:Open Sans Condensed;-inkscape-font-specification:'Open Sans Condensed, Bold'"
 
     transform="matrix(1.2941148,0,0,1.2941148,1726.8994,-500.84696)"><path
 
       inkscape:connector-curvature="0"
 
       id="path3274"
 
       d="m -1008.5625,872.02908 6.4688,0 3.60933,14.74219 c 0.35936,1.31251 0.64842,3.14845 0.86718,5.50781 l 0.14063,0 c 0.0156,-0.37499 0.0859,-1.04296 0.21094,-2.0039 0.12498,-0.96093 0.22655,-1.71484 0.30468,-2.26172 0.0781,-0.54687 1.15624,-5.87499 3.23438,-15.98438 l 6.5625,0 -7.47656,27.98438 c -0.90627,3.43749 -2.10939,5.90624 -3.60938,7.40625 -1.50001,1.49999 -3.5,2.24999 -6,2.25 -1.2344,-10e-6 -2.3359,-0.13283 -3.3047,-0.39844 l 0,-5.22656 c 0.6406,0.18749 1.3594,0.28124 2.1563,0.28125 2.0937,-10e-6 3.4687,-1.37501 4.125,-4.125 l 0.4453,-1.64063 z" /></g></g></g></g></g></svg>
...
 
\ No newline at end of file
 
       d="m -1008.5625,872.02908 6.4688,0 3.60933,14.74219 c 0.35936,1.31251 0.64842,3.14845 0.86718,5.50781 l 0.14063,0 c 0.0156,-0.37499 0.0859,-1.04296 0.21094,-2.0039 0.12498,-0.96093 0.22655,-1.71484 0.30468,-2.26172 0.0781,-0.54687 1.15624,-5.87499 3.23438,-15.98438 l 6.5625,0 -7.47656,27.98438 c -0.90627,3.43749 -2.10939,5.90624 -3.60938,7.40625 -1.50001,1.49999 -3.5,2.24999 -6,2.25 -1.2344,-10e-6 -2.3359,-0.13283 -3.3047,-0.39844 l 0,-5.22656 c 0.6406,0.18749 1.3594,0.28124 2.1563,0.28125 2.0937,-10e-6 3.4687,-1.37501 4.125,-4.125 l 0.4453,-1.64063 z" /></g></g></g></g></g></svg>
conservancy/static/img/supporter-card-2.svg
Show inline comments
...
 
@@ -1215,13 +1215,13 @@
 
   height="43.704079"
 
   width="63.72105"
 
   id="rect6748"
 
   style="fill:#ffffff;fill-opacity:1;stroke:none"
 
   transform="scale(-1,1)" /><path
 
   style="fill:#cccccc;fill-opacity:1;stroke:none"
 
   d="M 3.46875 3.625 L 3.46875 176.375 L 311.53125 176.375 L 311.53125 3.625 L 3.46875 3.625 z M 8.03125 7.5625 L 306.96875 7.5625 L 306.96875 172.4375 L 8.03125 172.4375 L 8.03125 7.5625 z "
 
   transform="matrix(1.8842212,0,0,1.1183954,-17.575647,112.68656)"
 
   id="rect7536" /><path
 
   style="fill:#afe478;fill-opacity:1;stroke:none"
 
   d="M 0 0 L 0 180 L 315 180 L 315 0 L 0 0 z M 3.46875 3.625 L 311.53125 3.625 L 311.53125 176.375 L 3.46875 176.375 L 3.46875 3.625 z "
 
   transform="matrix(1.8842212,0,0,1.1183954,-17.575647,112.68656)"
 
   id="rect7534" /></g></g></g></svg>
...
 
\ No newline at end of file
 
   id="rect7534" /></g></g></g></svg>
conservancy/static/js/supporter-page.js
Show inline comments
 
/* Copyright (C) 2012-2013 Denver Gingerich, 
 
/* Copyright (C) 2012-2013 Denver Gingerich,
 
** Copyright (C) 2013-2014, 2020 Bradley M. Kuhn,
 
** Copyright (C) 2016, 2020 Brett Smith.
 
** License: GPLv3-or-later
 
**  Find a copy of GPL at https://sfconservancy.org/GPLv3
 
*/
 

	
 
"use strict";
 

	
 
var flipClass = function(elem, byeClass, hiClass) {
 
    var classList = elem.classList;
 
    classList.remove(byeClass);
 
    classList.add(hiClass);
conservancy/supporters/admin.py
Show inline comments
 
from django.contrib import admin
 

	
 
from .models import Supporter
 

	
 

	
 
@admin.register(Supporter)
 
class SupporterAdmin(admin.ModelAdmin):
 
    list_display = ('display_name', 'display_until_date')
 

	
conservancy/worldmap/admin.py
Show inline comments
 
from django.contrib import admin
 

	
 
from .models import EarthLocation
 

	
 

	
 
@admin.register(EarthLocation)
 
class EarthLocationAdmin(admin.ModelAdmin):
 
    list_display = ("label", "html_map_link")
 

	
conservancy/worldmap/models.py
Show inline comments
...
 
@@ -17,13 +17,12 @@ class EarthLocation(models.Model):
 
    def __str__(self):
 
        return self.label
 

	
 
    def google_maps_link(self):
 
        return ("http://maps.google.com/maps?ll=%s,%s&z=15"
 
                % (self.latitude, self.longitude))
 

	
 
    default_map_link = google_maps_link
 

	
 
    def html_map_link(self): # for Admin, fixme: fix_ampersands
 
        return '<a href="%s">map link</a>' % self.default_map_link()
 
    html_map_link.allow_tags = True
 

	
deploy/install.yml
Show inline comments
...
 
@@ -88,25 +88,25 @@
 
           - postfix
 
           # libsasl2-modules fixes "SASL authentication failure: No worthy mechs found"
 
           - libsasl2-modules
 
           - mailutils
 

	
 
     # # Commented because you only want this on first run ever.
 
     # - name: Add file for SMTP credentials
 
     #   copy:
 
     #     dest: /etc/postfix/sasl_passwd
 
     #     content: |-
 
     #       # After updating, run `sudo postmap hash:/etc/postfix/sasl_passwd`.
 
     #       [mail.sfconservancy.org]:587 conference@sfconservancy.org:PASSWORD
 
           
 

 
     - name: Configure Postfix for relaying
 
       copy:
 
         src: postfix/main.cf
 
         dest: /etc/postfix/main.cf
 
       notify:
 
         - restart postfix
 

	
 
     - name: Alias mail to root
 
       copy:
 
         dest: /etc/aliases
 
         content: |-
 
           postmaster: root
deploy/postfix/main.cf
Show inline comments
...
 
@@ -40,13 +40,13 @@ alias_database = hash:/etc/aliases
 
myorigin = /etc/mailname
 
mydestination = $myhostname, hickory, localhost
 
relayhost = [mail.sfconservancy.org]:587
 
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
 
mailbox_size_limit = 0
 
recipient_delimiter = +
 
inet_interfaces = loopback-only
 
inet_protocols = all
 

	
 
# Relay authentication
 
smtp_sasl_auth_enable = yes
 
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
 
smtp_sasl_security_options = noanonymous
...
 
\ No newline at end of file
 
smtp_sasl_security_options = noanonymous
pyproject.toml
Show inline comments
...
 
@@ -6,13 +6,13 @@ line-length = 90
 
profile = "black"
 
force_sort_within_sections = true
 
line_length = 90
 
sections = "FUTURE,STDLIB,THIRDPARTY,LOCALFOLDER,FIRSTPARTY"
 
no_lines_before = "FIRSTPARTY"
 

	
 
[tool.pytest.ini_options]
 
DJANGO_SETTINGS_MODULE = 'conservancy.settings.dev'
 
python_files = ['test*.py']
 
# pytest-django will default to running tests with DEBUG = False, regardless of
 
# the settings you provide it. This fails due to the
 
# `ManifestStaticFilesStorage` without explicitly running `collectstatic` first.
 
django_debug_mode = true
...
 
\ No newline at end of file
 
django_debug_mode = true
requirements.txt
Show inline comments
 
# Installed in virtualenv
 
Django==4.2.11
 
# Provided by Debian Bookworm.
 
beautifulsoup4==4.11.2
 
html5lib==1.1
 
django-countries==7.3.2
 
Pillow==9.4.0
...
 
\ No newline at end of file
 
Pillow==9.4.0
0 comments (0 inline, 0 general)