Move Process and Mentoring pages to devref

Basic conversion done with pandoc then I had to fix some links and the
title underlines.

The Mentoring page has been merged into the (mostly empty) "How to get
(more) involved with Nova" page.

Change-Id: Ib4a11b21c0fd6aaf86e643897193f59cefb626c4
This commit is contained in:
Alexis Lee
2015-12-07 10:39:50 +00:00
parent ad328fc310
commit ea1abcf101
5 changed files with 2400 additions and 25 deletions

View File

@@ -11,32 +11,359 @@
License for the specific language governing permissions and limitations
under the License.
.. _getting_involved:
=====================================
How to get (more) involved with Nova
=====================================
So you want to get more involved with Nova. Welcome!
So you want to get more involved with Nova? Or you are new to Nova and
wondering where to start?
We are working on building easy ways for you to get help and ideas on
how to learn more about Nova and how the Nova community works.
New to OpenStack?
==================
Any questions, please ask! If you are unsure who to ask, then please
contact the `Mentoring Czar`__.
If you are new to OpenStack, please read the general guides on how you can
get more involved with OpenStack:
__ `Nova People`_
* http://www.openstack.org/assets/welcome-guide/OpenStackWelcomeGuide.pdf
* https://wiki.openstack.org/wiki/How_To_Contribute
* http://www.openstack.org/community/
How do I get started?
=====================
New to Nova?
============
There are quite a few global docs on this:
So you are new to Nova. We are currently working on some docs so its easy
to get more involved. Please see the drafts that are available here:
- http://www.openstack.org/assets/welcome-guide/OpenStackWelcomeGuide.pdf
- https://wiki.openstack.org/wiki/How_To_Contribute
- http://www.openstack.org/community/
There is more general info, non Nova specific info here:
- https://wiki.openstack.org/wiki/Mentors
- https://wiki.openstack.org/wiki/OpenStack_Upstream_Training
What should I work on?
~~~~~~~~~~~~~~~~~~~~~~
So you are starting out your Nova journey, where is a good place to
start?
Bugs are a great way to cut your Nova teeth:
https://bugs.launchpad.net/nova/+bugs?field.tag=low-hanging-fruit
Also, we guess that you probably want to understand how Nova works
before changing anything ? Good news, we have a solution for you! Code
reviews are usually the best way for ramping up on a project and get and
compare feedback on what's bad or what's cool. For that, you can help
us. We have a list of trivial bugs that are waiting reviews :
https://etherpad.openstack.org/p/mitaka-nova-priorities-tracking L56 and
below
We also have a list of low hanging fruit work available:
https://etherpad.openstack.org/p/nova-low-hanging-fruit
How do I get my feature in?
~~~~~~~~~~~~~~~~~~~~~~~~~~~
The best way of getting your feature in is... well it depends.
First concentrate on solving your problem and/or use case, don't fixate
on getting the code you have working merged. Its likely things will need
significant re-work after you discuss how your needs match up with all
the existing ways Nova is currently being used. The good news, is this
process should leave you with a feature thats more flexible and doesn't
lock you into your current way of thinking.
A key part of getting code merged, is helping with reviewing other
people's code. Great reviews of others code will help free up more core
reviewer time to look at your own patches. In addition, you will
understand how the review is thinking when they review your code.
Also, work out if any on going efforts are blocking your feature and
helping out speeding those up. The spec review process should help with
this effort.
For more details on our process, please see: :ref:`process`.
What is expected of a good contributor?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TODO - need more info on this
Top Tips for working with the Nova community
============================================
Here are some top tips around engaging with the Nova community:
- IRC
- we talk a lot in #openstack-nova
- do ask us questions in there, and we will try to help you
- not sure about asking questions? feel free to listen in around
other people's questions
- we recommend you setup an IRC bouncer:
https://wiki.openstack.org/wiki/IRC
- Email
- Use the [nova] tag in the mailing lists
- Filtering on [nova] and [all] can help tame the list
- Be Open
- i.e. don't review your teams code in private, do it publicly in
gerrit
- i.e. be ready to talk about openly about problems you are having,
not "theoretical" issues
- that way you can start to gain the trust of the wider community
- Got a problem? Please ask!
- Please raise any problems and ask questions early
- we want to help you before you are frustrated or annoyed
- unsure who to ask? Just ask in IRC, or check out the list of `Nova
people`_.
- Talk about problems first, then solutions
- Nova is a big project. At first, it can be hard to see the big
picture
- Don't think about "merging your patch", instead think about
"solving your problem"
- conversations are more productive that way
- Its not the decision thats important, it's the reason behind it thats
important
- Don't like the way the community is going?
- Please ask why we ware going that way, and please engage with the
debate
- If you don't, we are unable to learn from what you have to offer
- No one will decide, this is stuck, who can help me?
- it's rare, but it happens
- it's the `Nova PTL`__'s job to help you
- ...but if you don't ask, it's hard for them to help you
__ `Nova People`_
Process
=======
It can feel like you are faced with a wall of process. We are a big
community, to make sure the right communication happens, we do use a
minimal amount of process.
If you find something that doesn't make sense, please:
- ask questions to find out \*why\* it happens
- if you know of a better way to do it, please speak up
- one "better way" might be to remove the process if it no longer helps
To learn more about Nova's process, please read :ref:`process`.
Why bother with any process?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Why is it worth creating a bug or blueprint to track your code review?
This may seem like silly process, but there is usually a good reason
behind it.
We have lots of code to review, and we have tools to try and get to
really important code reviews first. If yours is really important, but
not picked up by our tools, it's possible you just get lost in the bottom
of a big queue.
If you have a bug fix, you have done loads of work to identify the
issue, and test out your fix, and submit it. By adding a bug report, you
are making it easier for other folks who hit the same problem to find
your work, possibly saving them the hours of pain you went through. With
any luck that gives all those people the time to fix different bugs, all
that might have affected you, if you had not given them the time go fix
it.
Its similar with blueprints. You have worked out how to scratch your
itch, lets tell others about that great new feature you have added, so
they can use that. Also, it stops someone with a similar idea going
through all the pain of creating a feature only to find you already have
that feature ready and up for review, or merged into the latest release.
Hopefully this gives you an idea why we have applied a small layer of
process to what we are doing. Having said all this, we need to unlearn
old habits to move forward, there may be better ways to do things, and
we are open to trying them. Please help be part of the solution.
.. _why_plus1:
Why do code reviews if I am not in nova-core?
=============================================
Code reviews are the life blood of the Nova developer community.
There is a good discussion on how you do good reviews, and how anyone
can be a reviewer:
http://docs.openstack.org/infra/manual/developers.html#peer-review
In the draft process guide, I discuss how doing reviews can help get
your code merged faster: :ref:`process`.
Lets look at some of the top reasons why participating with code reviews
really helps you:
- Doing more reviews, and seeing what other reviewers notice, will help
you better understand what is expected of code that gets merged into
master
- Having more non-core people do great reviews, leaves less review work
for the core reviewers to do, so we are able get more code merged
- Empathy is one of the keys to a happy community. If you are used to
doing code reviews, you will better understand the comments you get
when people review your code. As you do more code reviews, and see
what others notice, you will get a better idea of what people are
looking for when then apply a +2 to your code.
- TODO - needs more detail
What are the most useful types of code review comments? Well here are a
few to the top ones:
- Fundamental flaws are the biggest thing to spot. Does the patch break
a whole set of existing users, or an existing feature?
- Consistency of behaviour is really important. Does this bit of code
do things differently to where similar things happen else where in
Nova?
- Is the code easy to maintain, well tested and easy to read? Code is
read order of magnitude times more than it is written, so optimise
for the reader of the code, not the writer.
- TODO - what others should go here?
Let's look at some problems people hit when starting out doing code
reviews:
- My +1 doesn't mean anything, why should I bother?
- So your +1 really does help. Some really useful -1 votes that lead
to a +1 vote helps get code into a position
- When to use -1 vs 0 vs +1
- Please see the guidelines here:
http://docs.openstack.org/infra/manual/developers.html#peer-review
- I have already reviewed this code internally, no point in adding a +1
externally?
- Please talk to your company about doing all code reviews in the
public, that is a much better way to get involved. showing how the
code has evolved upstream, is much better than trying to 'perfect'
code internally, before uploading for public review. You can use
Draft mode, and mark things as WIP if you prefer, but please do
the reviews upstream.
- Where do I start? What should I review?
- There are various tools, but a good place to start is:
https://etherpad.openstack.org/p/ -nova-priorities-tracking
- Depending on the time in the cycle, it's worth looking at
NeedsCodeReview blueprints:
https://blueprints.launchpad.net/nova/
- Maybe take a look at things you want to see merged, bug fixes and
features, or little code fixes
- Look for things that have been waiting a long time for a review:
http://5885fef486164bb8596d-41634d3e64ee11f37e8658ed1b4d12ec.r44.cf3.rackcdn.com/nova-openreviews.html
- If you get through the above lists, try other tools, such as:
http://status.openstack.org/reviews
- TODO - I think there is more to add here
How to do great code reviews?
=============================
http://docs.openstack.org/infra/manual/developers.html#peer-review
For more tips, please see: `Why do code reviews if I am not in nova-core?`_
How do I become nova-core?
==========================
You don't have to be nova-core to be a valued member of the Nova
community. There are many, many ways you can help. Every quality review
that helps someone get their patch closer to being ready to merge helps
everyone get their code merged faster.
The first step to becoming nova-core is learning how to be an active
member of the Nova community, including learning how to do great code
reviews. For more details see:
https://wiki.openstack.org/wiki/Nova/CoreTeam#Membership_Expectations
If you feel like you have the time to commit to all the nova-core
membership expectations, reach out to the Nova PTL who will be
able to find you an existing member of nova-core to help mentor you. If
all goes well, and you seem like a good candidate, your mentor will
contact the rest of the nova-core team to ask them to start looking at
your reviews, so they are able to vote for you, if you get nominated for
join nova-core.
We encourage all mentoring, where possible, to occur on #openstack-nova
so everyone can learn and benefit from your discussions.
The above mentoring is available to every one who wants to learn how to
better code reviews, even if you don't ever want to commit to becoming
nova-core. If you already have a mentor, that's great, the process is
only there for folks who are still trying to find a mentor. Being
admitted to the mentoring program no way guarantees you will become a
member of nova-core eventually, it's here to help you improve, and help
you have the sort of involvement and conversations that can lead to
becoming a member of nova-core.
How to do great nova-spec reviews?
==================================
http://specs.openstack.org/openstack/nova-specs/specs/mitaka/template.html
http://docs.openstack.org/developer/nova/devref/kilo.blueprints.html#when-is-a-blueprint-needed
Spec reviews are always a step ahead of the normal code reviews. Follow
the above links for some great information on specs/reviews.
The following could be some important tips:
1. The specs are published as html documents. Ensure that the author has
a proper render of the same via the .rst file.
2. More often than not, it's important to know that there are no
overlaps across multiple specs.
3. Ensure that a proper dependency of the spec is identified. For
example - a user desired feature that requires a proper base enablement
should be a dependent spec.
4. Ask for clarity on changes that appear ambiguous to you.
5. Every release nova gets a huge set of spec proposals and that's a
huge task for the limited set of nova cores to complete. Helping the
cores with additional reviews is always a great thing.
How to do great bug triage?
===========================
https://wiki.openstack.org/wiki/Nova/BugTriage
More details coming soon...
How to step up into a project leadership role?
==============================================
There are many ways to help lead the Nova project:
* Mentoring efforts, and getting started tips:
https://wiki.openstack.org/wiki/Nova/Mentoring
* Info on process, with a focus on how you can go from an idea
to getting code merged Nova:
https://wiki.openstack.org/wiki/Nova/Mitaka_Release_Schedule
* Consider leading an existing `Nova subteam`_ or forming a new one.
* Consider becoming a `Bug tag owner`_.
* Contact the PTL about becoming a Czar `Nova People`_.
.. _`Nova people`: https://wiki.openstack.org/wiki/Nova#People
.. _`Nova subteam`: https://wiki.openstack.org/wiki/Nova#Nova_subteams
.. _`Bug tag owner`: https://wiki.openstack.org/wiki/Nova/BugTriage#Step_2:_Triage_Tagged_Bugs

View File

@@ -0,0 +1,738 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:y="http://www.yworks.com/xml/graphml" xmlns:yed="http://www.yworks.com/xml/yed/3" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://www.yworks.com/xml/schema/graphml/1.1/ygraphml.xsd">
<!--Created by yEd 3.14-->
<key attr.name="Description" attr.type="string" for="graph" id="d0"/>
<key for="port" id="d1" yfiles.type="portgraphics"/>
<key for="port" id="d2" yfiles.type="portgeometry"/>
<key for="port" id="d3" yfiles.type="portuserdata"/>
<key attr.name="url" attr.type="string" for="node" id="d4"/>
<key attr.name="description" attr.type="string" for="node" id="d5"/>
<key for="node" id="d6" yfiles.type="nodegraphics"/>
<key for="graphml" id="d7" yfiles.type="resources"/>
<key attr.name="url" attr.type="string" for="edge" id="d8"/>
<key attr.name="description" attr.type="string" for="edge" id="d9"/>
<key for="edge" id="d10" yfiles.type="edgegraphics"/>
<graph edgedefault="directed" id="G">
<data key="d0"/>
<node id="n0" yfiles.foldertype="group">
<data key="d4"/>
<data key="d5"/>
<data key="d6">
<y:ProxyAutoBoundsNode>
<y:Realizers active="0">
<y:GroupNode>
<y:Geometry height="206.666015625" width="441.231746031746" x="0.0" y="-551.1881634424603"/>
<y:Fill color="#F5F5F5" transparent="false"/>
<y:BorderStyle color="#000000" type="dashed" width="1.0"/>
<y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#EBEBEB" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="21.666015625" modelName="internal" modelPosition="t" textColor="#000000" visible="true" width="441.231746031746" x="0.0" y="0.0">API Cell</y:NodeLabel>
<y:Shape type="roundrectangle"/>
<y:State closed="false" closedHeight="50.0" closedWidth="50.0" innerGraphDisplayEnabled="false"/>
<y:Insets bottom="15" bottomF="15.0" left="15" leftF="15.0" right="15" rightF="15.0" top="15" topF="15.0"/>
<y:BorderInsets bottom="0" bottomF="0.0" left="1" leftF="1.0002294146825363" right="1" rightF="1.000229414682451" top="0" topF="0.0"/>
</y:GroupNode>
<y:GroupNode>
<y:Geometry height="50.0" width="50.0" x="0.0" y="60.0"/>
<y:Fill color="#F5F5F5" transparent="false"/>
<y:BorderStyle color="#000000" type="dashed" width="1.0"/>
<y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#EBEBEB" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="21.666015625" modelName="internal" modelPosition="t" textColor="#000000" visible="true" width="63.75830078125" x="-6.879150390625" y="0.0">Folder 1</y:NodeLabel>
<y:Shape type="roundrectangle"/>
<y:State closed="true" closedHeight="50.0" closedWidth="50.0" innerGraphDisplayEnabled="false"/>
<y:Insets bottom="5" bottomF="5.0" left="5" leftF="5.0" right="5" rightF="5.0" top="5" topF="5.0"/>
<y:BorderInsets bottom="0" bottomF="0.0" left="0" leftF="0.0" right="0" rightF="0.0" top="0" topF="0.0"/>
</y:GroupNode>
</y:Realizers>
</y:ProxyAutoBoundsNode>
</data>
<graph edgedefault="directed" id="n0:">
<node id="n0::n0">
<data key="d5"/>
<data key="d6">
<y:GenericNode configuration="BevelNode2">
<y:Geometry height="30.0" width="74.486328125" x="131.12945498511905" y="-389.52214781746034"/>
<y:Fill color="#FF9900" transparent="false"/>
<y:BorderStyle hasColor="false" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" modelName="custom" textColor="#000000" visible="true" width="64.486328125" x="5.0" y="5.93359375">nova-cells<y:LabelModel>
<y:SmartNodeLabelModel distance="4.0"/>
</y:LabelModel>
<y:ModelParameter>
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
</y:ModelParameter>
</y:NodeLabel>
</y:GenericNode>
</data>
</node>
<node id="n0::n1">
<data key="d5"/>
<data key="d6">
<y:GenericNode configuration="BevelNode2">
<y:Geometry height="30.0" width="74.486328125" x="235.615962921627" y="-389.52214781746034"/>
<y:Fill color="#FF9900" transparent="false"/>
<y:BorderStyle hasColor="false" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" modelName="custom" textColor="#000000" visible="true" width="64.486328125" x="5.0" y="5.93359375">nova-cells<y:LabelModel>
<y:SmartNodeLabelModel distance="4.0"/>
</y:LabelModel>
<y:ModelParameter>
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
</y:ModelParameter>
</y:NodeLabel>
</y:GenericNode>
</data>
</node>
<node id="n0::n2">
<data key="d5"/>
<data key="d6">
<y:GenericNode configuration="BevelNodeWithShadow">
<y:Geometry height="30.0" width="48.599609375" x="196.316068328373" y="-464.52214781746034"/>
<y:Fill color="#00CCFF" transparent="false"/>
<y:BorderStyle hasColor="false" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" modelName="custom" textColor="#000000" visible="true" width="38.599609375" x="5.0" y="5.93359375">rabbit<y:LabelModel>
<y:SmartNodeLabelModel distance="4.0"/>
</y:LabelModel>
<y:ModelParameter>
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
</y:ModelParameter>
</y:NodeLabel>
</y:GenericNode>
</data>
</node>
<node id="n0::n3">
<data key="d5"/>
<data key="d6">
<y:SVGNode>
<y:Geometry height="30.0" width="65.12890625" x="360.1026103670635" y="-389.52214781746034"/>
<y:Fill color="#CCCCFF" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" modelName="custom" textColor="#000000" visible="true" width="55.12890625" x="6.0" y="-22.1328125">cell slots<y:LabelModel>
<y:SmartNodeLabelModel distance="4.0"/>
</y:LabelModel>
<y:ModelParameter>
<y:SmartNodeLabelModelParameter labelRatioX="0.5" labelRatioY="0.5" nodeRatioX="0.5" nodeRatioY="-0.5" offsetX="-4.0" offsetY="-4.0" upX="0.0" upY="-1.0"/>
</y:ModelParameter>
</y:NodeLabel>
<y:SVGNodeProperties usingVisualBounds="true"/>
<y:SVGModel svgBoundsPolicy="0">
<y:SVGContent refid="1"/>
</y:SVGModel>
</y:SVGNode>
</data>
</node>
<node id="n0::n4">
<data key="d5"/>
<data key="d6">
<y:SVGNode>
<y:Geometry height="30.0" width="65.12890625" x="16.000229414682536" y="-389.52214781746034"/>
<y:Fill color="#CCCCFF" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" modelName="custom" textColor="#000000" visible="true" width="55.12890625" x="4.0" y="-22.1328125">cell slots<y:LabelModel>
<y:SmartNodeLabelModel distance="4.0"/>
</y:LabelModel>
<y:ModelParameter>
<y:SmartNodeLabelModelParameter labelRatioX="-0.5" labelRatioY="0.5" nodeRatioX="-0.5" nodeRatioY="-0.5" offsetX="4.0" offsetY="-4.0" upX="0.0" upY="-1.0"/>
</y:ModelParameter>
</y:NodeLabel>
<y:SVGNodeProperties usingVisualBounds="true"/>
<y:SVGModel svgBoundsPolicy="0">
<y:SVGContent refid="1"/>
</y:SVGModel>
</y:SVGNode>
</data>
</node>
<node id="n0::n5">
<data key="d5"/>
<data key="d6">
<y:GenericNode configuration="BevelNode2">
<y:Geometry height="30.0" width="66.248046875" x="187.491849578373" y="-514.5221478174603"/>
<y:Fill color="#FF9900" transparent="false"/>
<y:BorderStyle hasColor="false" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" modelName="custom" textColor="#000000" visible="true" width="56.248046875" x="5.0" y="5.93359375">nova-api<y:LabelModel>
<y:SmartNodeLabelModel distance="4.0"/>
</y:LabelModel>
<y:ModelParameter>
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
</y:ModelParameter>
</y:NodeLabel>
</y:GenericNode>
</data>
</node>
</graph>
</node>
<node id="n1" yfiles.foldertype="group">
<data key="d4"/>
<data key="d5"/>
<data key="d6">
<y:ProxyAutoBoundsNode>
<y:Realizers active="0">
<y:GroupNode>
<y:Geometry height="271.83660714285713" width="488.87182539682544" x="20.150396825396797" y="-234.70379464285713"/>
<y:Fill color="#F5F5F5" transparent="false"/>
<y:BorderStyle color="#000000" type="dashed" width="1.0"/>
<y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#EBEBEB" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="21.666015625" modelName="internal" modelPosition="t" textColor="#000000" visible="true" width="488.87182539682544" x="0.0" y="0.0">child cell</y:NodeLabel>
<y:Shape type="roundrectangle"/>
<y:State closed="false" closedHeight="50.0" closedWidth="50.0" innerGraphDisplayEnabled="false"/>
<y:Insets bottom="15" bottomF="15.0" left="15" leftF="15.0" right="15" rightF="15.0" top="15" topF="15.0"/>
<y:BorderInsets bottom="0" bottomF="0.0" left="1" leftF="1.0000899057539954" right="1" rightF="1.000040302579464" top="0" topF="0.0"/>
</y:GroupNode>
<y:GroupNode>
<y:Geometry height="50.0" width="50.0" x="0.0" y="60.0"/>
<y:Fill color="#F5F5F5" transparent="false"/>
<y:BorderStyle color="#000000" type="dashed" width="1.0"/>
<y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#EBEBEB" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="21.666015625" modelName="internal" modelPosition="t" textColor="#000000" visible="true" width="63.75830078125" x="-6.879150390625" y="0.0">Folder 2</y:NodeLabel>
<y:Shape type="roundrectangle"/>
<y:State closed="true" closedHeight="50.0" closedWidth="50.0" innerGraphDisplayEnabled="false"/>
<y:Insets bottom="5" bottomF="5.0" left="5" leftF="5.0" right="5" rightF="5.0" top="5" topF="5.0"/>
<y:BorderInsets bottom="0" bottomF="0.0" left="0" leftF="0.0" right="0" rightF="0.0" top="0" topF="0.0"/>
</y:GroupNode>
</y:Realizers>
</y:ProxyAutoBoundsNode>
</data>
<graph edgedefault="directed" id="n1:">
<node id="n1::n0">
<data key="d5"/>
<data key="d6">
<y:GenericNode configuration="BevelNodeWithShadow">
<y:Geometry height="30.0" width="48.599609375" x="166.084322296627" y="-198.03777901785713"/>
<y:Fill color="#00CCFF" transparent="false"/>
<y:BorderStyle hasColor="false" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" modelName="custom" textColor="#000000" visible="true" width="38.599609375" x="5.0" y="5.93359375">rabbit<y:LabelModel>
<y:SmartNodeLabelModel distance="4.0"/>
</y:LabelModel>
<y:ModelParameter>
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
</y:ModelParameter>
</y:NodeLabel>
</y:GenericNode>
</data>
</node>
<node id="n1::n1">
<data key="d5"/>
<data key="d6">
<y:GenericNode configuration="BevelNode2">
<y:Geometry height="30.0" width="105.060546875" x="270.1312344990079" y="-114.01840122767857"/>
<y:Fill color="#FF9900" transparent="false"/>
<y:BorderStyle hasColor="false" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" modelName="custom" textColor="#000000" visible="true" width="95.060546875" x="5.0" y="5.93359375">nova-scheduler<y:LabelModel>
<y:SmartNodeLabelModel distance="4.0"/>
</y:LabelModel>
<y:ModelParameter>
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
</y:ModelParameter>
</y:NodeLabel>
</y:GenericNode>
</data>
</node>
<node id="n1::n2">
<data key="d5"/>
<data key="d6">
<y:SVGNode>
<y:Geometry height="30.0" width="48.611328125" x="166.078462921627" y="-30.0"/>
<y:Fill color="#CCCCFF" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" modelName="custom" textColor="#000000" visible="true" width="106.978515625" x="-29.18359375" y="34.0">mysql - hoststate<y:LabelModel>
<y:SmartNodeLabelModel distance="4.0"/>
</y:LabelModel>
<y:ModelParameter>
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="-0.5" nodeRatioX="0.0" nodeRatioY="0.5" offsetX="0.0" offsetY="4.0" upX="0.0" upY="-1.0"/>
</y:ModelParameter>
</y:NodeLabel>
<y:SVGNodeProperties usingVisualBounds="true"/>
<y:SVGModel svgBoundsPolicy="0">
<y:SVGContent refid="2"/>
</y:SVGModel>
</y:SVGNode>
</data>
</node>
<node id="n1::n3">
<data key="d5"/>
<data key="d6">
<y:SVGNode>
<y:Geometry height="30.0" width="67.830078125" x="425.19210379464283" y="-114.01840122767857"/>
<y:Fill color="#CCCCFF" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" modelName="custom" textColor="#000000" visible="true" width="57.830078125" x="5.0" y="34.0">hoststate<y:LabelModel>
<y:SmartNodeLabelModel distance="4.0"/>
</y:LabelModel>
<y:ModelParameter>
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="-0.5" nodeRatioX="0.0" nodeRatioY="0.5" offsetX="0.0" offsetY="4.0" upX="0.0" upY="-1.0"/>
</y:ModelParameter>
</y:NodeLabel>
<y:SVGNodeProperties usingVisualBounds="true"/>
<y:SVGModel svgBoundsPolicy="0">
<y:SVGContent refid="1"/>
</y:SVGModel>
</y:SVGNode>
</data>
</node>
<node id="n1::n4">
<data key="d5"/>
<data key="d6">
<y:GenericNode configuration="BevelNode2">
<y:Geometry height="30.0" width="74.486328125" x="36.15048673115079" y="-114.01840122767857"/>
<y:Fill color="#FF9900" transparent="false"/>
<y:BorderStyle hasColor="false" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" modelName="custom" textColor="#000000" visible="true" width="64.486328125" x="5.0" y="5.93359375">nova-cells<y:LabelModel>
<y:SmartNodeLabelModel distance="4.0"/>
</y:LabelModel>
<y:ModelParameter>
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
</y:ModelParameter>
</y:NodeLabel>
</y:GenericNode>
</data>
</node>
<node id="n1::n5">
<data key="d5"/>
<data key="d6">
<y:GenericNode configuration="BevelNode2">
<y:Geometry height="30.0" width="99.494140625" x="140.637056671627" y="-114.01840122767857"/>
<y:Fill color="#FF9900" transparent="false"/>
<y:BorderStyle hasColor="false" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" modelName="custom" textColor="#000000" visible="true" width="89.494140625" x="5.0" y="5.93359375">nova-compute<y:LabelModel>
<y:SmartNodeLabelModel distance="4.0"/>
</y:LabelModel>
<y:ModelParameter>
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
</y:ModelParameter>
</y:NodeLabel>
</y:GenericNode>
</data>
</node>
</graph>
</node>
<edge id="n0::e0" source="n0::n0" target="n0::n2">
<data key="d9"/>
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="0.0" sy="-15.0" tx="-12.14990234375" ty="15.0">
<y:Point x="168.37261904761905" y="-399.52214781746034"/>
<y:Point x="208.465970672123" y="-419.52214781746034"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="n0::e1" source="n0::n1" target="n0::n2">
<data key="d9"/>
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="0.0" sy="-15.0" tx="12.14990234375" ty="15.0">
<y:Point x="272.859126984127" y="-399.52214781746034"/>
<y:Point x="232.765775359623" y="-419.52214781746034"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="n0::e2" source="n0::n1" target="n0::n3">
<data key="d9"/>
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="37.2431640625" sy="-0.0" tx="-32.564453125" ty="-0.0"/>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="n0::e3" source="n0::n0" target="n0::n4">
<data key="d9"/>
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="-37.2431640625" sy="-0.0" tx="32.564453125" ty="-0.0"/>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="n0::e4" source="n0::n5" target="n0::n2">
<data key="d9"/>
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="0.0" sy="15.0" tx="0.0" ty="-15.0"/>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="n1::e0" source="n1::n1" target="n1::n3">
<data key="d9"/>
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="52.5302734375" sy="-0.0" tx="-33.9150390625" ty="-0.0"/>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="n1::e1" source="n1::n1" target="n1::n0">
<data key="d9"/>
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="0.0" sy="-15.0" tx="16.199869791666664" ty="15.0">
<y:Point x="322.6615079365079" y="-124.01840122767857"/>
<y:Point x="206.58399677579365" y="-153.03777901785713"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="n1::e2" source="n1::n4" target="n1::n0">
<data key="d9"/>
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="24.828776041666664" sy="-15.0" tx="-16.199869791666664" ty="15.0">
<y:Point x="98.22242683531746" y="-124.01840122767857"/>
<y:Point x="174.18425719246034" y="-153.03777901785713"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e0" source="n1::n4" target="n0::n4">
<data key="d9"/>
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="-24.828776041666664" sy="-15.0" tx="0.0" ty="15.0"/>
<y:LineStyle color="#000000" type="dashed" width="2.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e1" source="n1::n4" target="n0::n3">
<data key="d9"/>
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="0.0" sy="-15.0" tx="0.0" ty="15.0">
<y:Point x="73.39365079365079" y="-249.70379464285713"/>
<y:Point x="392.6670634920635" y="-329.52214781746034"/>
</y:Path>
<y:LineStyle color="#000000" type="dashed" width="2.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="n1::e3" source="n1::n5" target="n1::n0">
<data key="d9"/>
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="0.0" sy="-15.0" tx="0.0" ty="15.0"/>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="n1::e4" source="n1::n5" target="n1::n2">
<data key="d9"/>
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="0.0" sy="15.0" tx="0.0" ty="-15.0"/>
<y:LineStyle color="#000000" type="line" width="3.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="n1::e5" source="n1::n2" target="n1::n1">
<data key="d9"/>
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="16.203776041666657" sy="-14.34375" tx="0.0" ty="15.0">
<y:Point x="206.58790302579365" y="-40.0"/>
<y:Point x="322.6615079365079" y="-69.01840122767857"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e2" source="n0::n0" target="n1::n0">
<data key="d9"/>
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="0.0" sy="15.0" tx="-12.14990234375" ty="-15.0">
<y:Point x="168.37261904761905" y="-329.52214781746034"/>
<y:Point x="178.234224640377" y="-249.70379464285713"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e3" source="n0::n1" target="n1::n0">
<data key="d9"/>
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="0.0" sy="15.0" tx="12.14990234375" ty="-15.0">
<y:Point x="272.859126984127" y="-329.52214781746034"/>
<y:Point x="202.534029327877" y="-249.70379464285713"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="n1::e6" source="n1::n2" target="n1::n4">
<data key="d9"/>
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="-16.203776041666657" sy="-14.34375" tx="0.0" ty="15.0">
<y:Point x="174.18035094246034" y="-40.0"/>
<y:Point x="73.39365079365079" y="-69.01840122767857"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
</graph>
<data key="d7">
<y:Resources>
<y:Resource id="1">&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;svg version="1.1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
x="0px" y="0px" width="40px" height="48px" viewBox="0 0 40 48" enable-background="new 0 0 40 48" xml:space="preserve"&gt;
&lt;defs&gt;
&lt;/defs&gt;
&lt;linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="370.2002" y1="655.0938" x2="409.4502" y2="655.0938" gradientTransform="matrix(1 0 0 1 -370.2002 -614.5742)"&gt;
&lt;stop offset="0" style="stop-color:#4D4D4D"/&gt;
&lt;stop offset="0.0558" style="stop-color:#5F5F5F"/&gt;
&lt;stop offset="0.2103" style="stop-color:#8D8D8D"/&gt;
&lt;stop offset="0.3479" style="stop-color:#AEAEAE"/&gt;
&lt;stop offset="0.4623" style="stop-color:#C2C2C2"/&gt;
&lt;stop offset="0.5394" style="stop-color:#C9C9C9"/&gt;
&lt;stop offset="0.6247" style="stop-color:#C5C5C5"/&gt;
&lt;stop offset="0.7072" style="stop-color:#BABABA"/&gt;
&lt;stop offset="0.7885" style="stop-color:#A6A6A6"/&gt;
&lt;stop offset="0.869" style="stop-color:#8B8B8B"/&gt;
&lt;stop offset="0.9484" style="stop-color:#686868"/&gt;
&lt;stop offset="1" style="stop-color:#4D4D4D"/&gt;
&lt;/linearGradient&gt;
&lt;path fill="url(#SVGID_1_)" d="M19.625,37.613C8.787,37.613,0,35.738,0,33.425v10c0,2.313,8.787,4.188,19.625,4.188
c10.839,0,19.625-1.875,19.625-4.188v-10C39.25,35.738,30.464,37.613,19.625,37.613z"/&gt;
&lt;linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="370.2002" y1="649.0938" x2="409.4502" y2="649.0938" gradientTransform="matrix(1 0 0 1 -370.2002 -614.5742)"&gt;
&lt;stop offset="0" style="stop-color:#B3B3B3"/&gt;
&lt;stop offset="0.0171" style="stop-color:#B6B6B6"/&gt;
&lt;stop offset="0.235" style="stop-color:#D7D7D7"/&gt;
&lt;stop offset="0.4168" style="stop-color:#EBEBEB"/&gt;
&lt;stop offset="0.5394" style="stop-color:#F2F2F2"/&gt;
&lt;stop offset="0.6579" style="stop-color:#EEEEEE"/&gt;
&lt;stop offset="0.7724" style="stop-color:#E3E3E3"/&gt;
&lt;stop offset="0.8853" style="stop-color:#CFCFCF"/&gt;
&lt;stop offset="0.9965" style="stop-color:#B4B4B4"/&gt;
&lt;stop offset="1" style="stop-color:#B3B3B3"/&gt;
&lt;/linearGradient&gt;
&lt;path fill="url(#SVGID_2_)" d="M19.625,37.613c10.839,0,19.625-1.875,19.625-4.188l-1.229-2c0,2.168-8.235,3.927-18.396,3.927
c-9.481,0-17.396-1.959-18.396-3.927l-1.229,2C0,35.738,8.787,37.613,19.625,37.613z"/&gt;
&lt;linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="371.4297" y1="646" x2="408.2217" y2="646" gradientTransform="matrix(1 0 0 1 -370.2002 -614.5742)"&gt;
&lt;stop offset="0" style="stop-color:#C9C9C9"/&gt;
&lt;stop offset="1" style="stop-color:#808080"/&gt;
&lt;/linearGradient&gt;
&lt;ellipse fill="url(#SVGID_3_)" cx="19.625" cy="31.425" rx="18.396" ry="3.926"/&gt;
&lt;linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="370.2002" y1="641.0938" x2="409.4502" y2="641.0938" gradientTransform="matrix(1 0 0 1 -370.2002 -614.5742)"&gt;
&lt;stop offset="0" style="stop-color:#4D4D4D"/&gt;
&lt;stop offset="0.0558" style="stop-color:#5F5F5F"/&gt;
&lt;stop offset="0.2103" style="stop-color:#8D8D8D"/&gt;
&lt;stop offset="0.3479" style="stop-color:#AEAEAE"/&gt;
&lt;stop offset="0.4623" style="stop-color:#C2C2C2"/&gt;
&lt;stop offset="0.5394" style="stop-color:#C9C9C9"/&gt;
&lt;stop offset="0.6247" style="stop-color:#C5C5C5"/&gt;
&lt;stop offset="0.7072" style="stop-color:#BABABA"/&gt;
&lt;stop offset="0.7885" style="stop-color:#A6A6A6"/&gt;
&lt;stop offset="0.869" style="stop-color:#8B8B8B"/&gt;
&lt;stop offset="0.9484" style="stop-color:#686868"/&gt;
&lt;stop offset="1" style="stop-color:#4D4D4D"/&gt;
&lt;/linearGradient&gt;
&lt;path fill="url(#SVGID_4_)" d="M19.625,23.613C8.787,23.613,0,21.738,0,19.425v10c0,2.313,8.787,4.188,19.625,4.188
c10.839,0,19.625-1.875,19.625-4.188v-10C39.25,21.738,30.464,23.613,19.625,23.613z"/&gt;
&lt;linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="370.2002" y1="635.0938" x2="409.4502" y2="635.0938" gradientTransform="matrix(1 0 0 1 -370.2002 -614.5742)"&gt;
&lt;stop offset="0" style="stop-color:#B3B3B3"/&gt;
&lt;stop offset="0.0171" style="stop-color:#B6B6B6"/&gt;
&lt;stop offset="0.235" style="stop-color:#D7D7D7"/&gt;
&lt;stop offset="0.4168" style="stop-color:#EBEBEB"/&gt;
&lt;stop offset="0.5394" style="stop-color:#F2F2F2"/&gt;
&lt;stop offset="0.6579" style="stop-color:#EEEEEE"/&gt;
&lt;stop offset="0.7724" style="stop-color:#E3E3E3"/&gt;
&lt;stop offset="0.8853" style="stop-color:#CFCFCF"/&gt;
&lt;stop offset="0.9965" style="stop-color:#B4B4B4"/&gt;
&lt;stop offset="1" style="stop-color:#B3B3B3"/&gt;
&lt;/linearGradient&gt;
&lt;path fill="url(#SVGID_5_)" d="M19.625,23.613c10.839,0,19.625-1.875,19.625-4.188l-1.229-2c0,2.168-8.235,3.926-18.396,3.926
c-9.481,0-17.396-1.959-18.396-3.926l-1.229,2C0,21.738,8.787,23.613,19.625,23.613z"/&gt;
&lt;linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="371.4297" y1="632" x2="408.2217" y2="632" gradientTransform="matrix(1 0 0 1 -370.2002 -614.5742)"&gt;
&lt;stop offset="0" style="stop-color:#C9C9C9"/&gt;
&lt;stop offset="1" style="stop-color:#808080"/&gt;
&lt;/linearGradient&gt;
&lt;ellipse fill="url(#SVGID_6_)" cx="19.625" cy="17.426" rx="18.396" ry="3.926"/&gt;
&lt;linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="370.2002" y1="627.5938" x2="409.4502" y2="627.5938" gradientTransform="matrix(1 0 0 1 -370.2002 -614.5742)"&gt;
&lt;stop offset="0" style="stop-color:#4D4D4D"/&gt;
&lt;stop offset="0.0558" style="stop-color:#5F5F5F"/&gt;
&lt;stop offset="0.2103" style="stop-color:#8D8D8D"/&gt;
&lt;stop offset="0.3479" style="stop-color:#AEAEAE"/&gt;
&lt;stop offset="0.4623" style="stop-color:#C2C2C2"/&gt;
&lt;stop offset="0.5394" style="stop-color:#C9C9C9"/&gt;
&lt;stop offset="0.6247" style="stop-color:#C5C5C5"/&gt;
&lt;stop offset="0.7072" style="stop-color:#BABABA"/&gt;
&lt;stop offset="0.7885" style="stop-color:#A6A6A6"/&gt;
&lt;stop offset="0.869" style="stop-color:#8B8B8B"/&gt;
&lt;stop offset="0.9484" style="stop-color:#686868"/&gt;
&lt;stop offset="1" style="stop-color:#4D4D4D"/&gt;
&lt;/linearGradient&gt;
&lt;path fill="url(#SVGID_7_)" d="M19.625,10.113C8.787,10.113,0,8.238,0,5.925v10c0,2.313,8.787,4.188,19.625,4.188
c10.839,0,19.625-1.875,19.625-4.188v-10C39.25,8.238,30.464,10.113,19.625,10.113z"/&gt;
&lt;linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="370.2002" y1="621.5938" x2="409.4502" y2="621.5938" gradientTransform="matrix(1 0 0 1 -370.2002 -614.5742)"&gt;
&lt;stop offset="0" style="stop-color:#B3B3B3"/&gt;
&lt;stop offset="0.0171" style="stop-color:#B6B6B6"/&gt;
&lt;stop offset="0.235" style="stop-color:#D7D7D7"/&gt;
&lt;stop offset="0.4168" style="stop-color:#EBEBEB"/&gt;
&lt;stop offset="0.5394" style="stop-color:#F2F2F2"/&gt;
&lt;stop offset="0.6579" style="stop-color:#EEEEEE"/&gt;
&lt;stop offset="0.7724" style="stop-color:#E3E3E3"/&gt;
&lt;stop offset="0.8853" style="stop-color:#CFCFCF"/&gt;
&lt;stop offset="0.9965" style="stop-color:#B4B4B4"/&gt;
&lt;stop offset="1" style="stop-color:#B3B3B3"/&gt;
&lt;/linearGradient&gt;
&lt;path fill="url(#SVGID_8_)" d="M19.625,10.113c10.839,0,19.625-1.875,19.625-4.188l-1.229-2c0,2.168-8.235,3.926-18.396,3.926
c-9.481,0-17.396-1.959-18.396-3.926L0,5.925C0,8.238,8.787,10.113,19.625,10.113z"/&gt;
&lt;linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="371.4297" y1="618.5" x2="408.2217" y2="618.5" gradientTransform="matrix(1 0 0 1 -370.2002 -614.5742)"&gt;
&lt;stop offset="0" style="stop-color:#C9C9C9"/&gt;
&lt;stop offset="1" style="stop-color:#808080"/&gt;
&lt;/linearGradient&gt;
&lt;ellipse fill="url(#SVGID_9_)" cx="19.625" cy="3.926" rx="18.396" ry="3.926"/&gt;
&lt;path opacity="0.24" fill="#FFFFFF" enable-background="new " d="M31.291,46.792c0,0-4.313,0.578-7.249,0.694
C20.917,47.613,15,47.613,15,47.613l-2.443-10.279l-0.119-2.283l-1.231-1.842L9.789,23.024l-0.082-0.119L9.3,20.715l-1.45-1.44
L5.329,8.793c0,0,5.296,0.882,7.234,1.07s8.375,0.25,8.375,0.25l3,9.875l-0.25,1.313l1.063,2.168l2.312,9.644l-0.375,1.875
l1.627,2.193L31.291,46.792z"/&gt;
&lt;/svg&gt;
</y:Resource>
<y:Resource id="2">&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;svg version="1.1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
x="0px" y="0px" width="41px" height="48px" viewBox="-0.875 -0.887 41 48" enable-background="new -0.875 -0.887 41 48"
xml:space="preserve"&gt;
&lt;defs&gt;
&lt;/defs&gt;
&lt;linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="642.8008" y1="-979.1445" x2="682.0508" y2="-979.1445" gradientTransform="matrix(1 0 0 -1 -642.8008 -939.4756)"&gt;
&lt;stop offset="0" style="stop-color:#3C89C9"/&gt;
&lt;stop offset="0.1482" style="stop-color:#60A6DD"/&gt;
&lt;stop offset="0.3113" style="stop-color:#81C1F0"/&gt;
&lt;stop offset="0.4476" style="stop-color:#95D1FB"/&gt;
&lt;stop offset="0.5394" style="stop-color:#9CD7FF"/&gt;
&lt;stop offset="0.636" style="stop-color:#98D4FD"/&gt;
&lt;stop offset="0.7293" style="stop-color:#8DCAF6"/&gt;
&lt;stop offset="0.8214" style="stop-color:#79BBEB"/&gt;
&lt;stop offset="0.912" style="stop-color:#5EA5DC"/&gt;
&lt;stop offset="1" style="stop-color:#3C89C9"/&gt;
&lt;/linearGradient&gt;
&lt;path fill="url(#SVGID_1_)" d="M19.625,36.763C8.787,36.763,0,34.888,0,32.575v10c0,2.313,8.787,4.188,19.625,4.188
c10.839,0,19.625-1.875,19.625-4.188v-10C39.25,34.888,30.464,36.763,19.625,36.763z"/&gt;
&lt;linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="642.8008" y1="-973.1445" x2="682.0508" y2="-973.1445" gradientTransform="matrix(1 0 0 -1 -642.8008 -939.4756)"&gt;
&lt;stop offset="0" style="stop-color:#9CD7FF"/&gt;
&lt;stop offset="0.0039" style="stop-color:#9DD7FF"/&gt;
&lt;stop offset="0.2273" style="stop-color:#BDE5FF"/&gt;
&lt;stop offset="0.4138" style="stop-color:#D1EEFF"/&gt;
&lt;stop offset="0.5394" style="stop-color:#D9F1FF"/&gt;
&lt;stop offset="0.6155" style="stop-color:#D5EFFE"/&gt;
&lt;stop offset="0.6891" style="stop-color:#C9E7FA"/&gt;
&lt;stop offset="0.7617" style="stop-color:#B6DAF3"/&gt;
&lt;stop offset="0.8337" style="stop-color:#9AC8EA"/&gt;
&lt;stop offset="0.9052" style="stop-color:#77B0DD"/&gt;
&lt;stop offset="0.9754" style="stop-color:#4D94CF"/&gt;
&lt;stop offset="1" style="stop-color:#3C89C9"/&gt;
&lt;/linearGradient&gt;
&lt;path fill="url(#SVGID_2_)" d="M19.625,36.763c10.839,0,19.625-1.875,19.625-4.188l-1.229-2c0,2.168-8.235,3.927-18.396,3.927
c-9.481,0-17.396-1.959-18.396-3.927l-1.229,2C0,34.888,8.787,36.763,19.625,36.763z"/&gt;
&lt;path fill="#3C89C9" d="M19.625,26.468c10.16,0,19.625,2.775,19.625,2.775c-0.375,2.721-5.367,5.438-19.554,5.438
c-12.125,0-18.467-2.484-19.541-4.918C-0.127,29.125,9.465,26.468,19.625,26.468z"/&gt;
&lt;linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="642.8008" y1="-965.6948" x2="682.0508" y2="-965.6948" gradientTransform="matrix(1 0 0 -1 -642.8008 -939.4756)"&gt;
&lt;stop offset="0" style="stop-color:#3C89C9"/&gt;
&lt;stop offset="0.1482" style="stop-color:#60A6DD"/&gt;
&lt;stop offset="0.3113" style="stop-color:#81C1F0"/&gt;
&lt;stop offset="0.4476" style="stop-color:#95D1FB"/&gt;
&lt;stop offset="0.5394" style="stop-color:#9CD7FF"/&gt;
&lt;stop offset="0.636" style="stop-color:#98D4FD"/&gt;
&lt;stop offset="0.7293" style="stop-color:#8DCAF6"/&gt;
&lt;stop offset="0.8214" style="stop-color:#79BBEB"/&gt;
&lt;stop offset="0.912" style="stop-color:#5EA5DC"/&gt;
&lt;stop offset="1" style="stop-color:#3C89C9"/&gt;
&lt;/linearGradient&gt;
&lt;path fill="url(#SVGID_3_)" d="M19.625,23.313C8.787,23.313,0,21.438,0,19.125v10c0,2.313,8.787,4.188,19.625,4.188
c10.839,0,19.625-1.875,19.625-4.188v-10C39.25,21.438,30.464,23.313,19.625,23.313z"/&gt;
&lt;linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="642.8008" y1="-959.6948" x2="682.0508" y2="-959.6948" gradientTransform="matrix(1 0 0 -1 -642.8008 -939.4756)"&gt;
&lt;stop offset="0" style="stop-color:#9CD7FF"/&gt;
&lt;stop offset="0.0039" style="stop-color:#9DD7FF"/&gt;
&lt;stop offset="0.2273" style="stop-color:#BDE5FF"/&gt;
&lt;stop offset="0.4138" style="stop-color:#D1EEFF"/&gt;
&lt;stop offset="0.5394" style="stop-color:#D9F1FF"/&gt;
&lt;stop offset="0.6155" style="stop-color:#D5EFFE"/&gt;
&lt;stop offset="0.6891" style="stop-color:#C9E7FA"/&gt;
&lt;stop offset="0.7617" style="stop-color:#B6DAF3"/&gt;
&lt;stop offset="0.8337" style="stop-color:#9AC8EA"/&gt;
&lt;stop offset="0.9052" style="stop-color:#77B0DD"/&gt;
&lt;stop offset="0.9754" style="stop-color:#4D94CF"/&gt;
&lt;stop offset="1" style="stop-color:#3C89C9"/&gt;
&lt;/linearGradient&gt;
&lt;path fill="url(#SVGID_4_)" d="M19.625,23.313c10.839,0,19.625-1.875,19.625-4.188l-1.229-2c0,2.168-8.235,3.926-18.396,3.926
c-9.481,0-17.396-1.959-18.396-3.926l-1.229,2C0,21.438,8.787,23.313,19.625,23.313z"/&gt;
&lt;path fill="#3C89C9" d="M19.476,13.019c10.161,0,19.625,2.775,19.625,2.775c-0.375,2.721-5.367,5.438-19.555,5.438
c-12.125,0-18.467-2.485-19.541-4.918C-0.277,15.674,9.316,13.019,19.476,13.019z"/&gt;
&lt;linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="642.8008" y1="-952.4946" x2="682.0508" y2="-952.4946" gradientTransform="matrix(1 0 0 -1 -642.8008 -939.4756)"&gt;
&lt;stop offset="0" style="stop-color:#3C89C9"/&gt;
&lt;stop offset="0.1482" style="stop-color:#60A6DD"/&gt;
&lt;stop offset="0.3113" style="stop-color:#81C1F0"/&gt;
&lt;stop offset="0.4476" style="stop-color:#95D1FB"/&gt;
&lt;stop offset="0.5394" style="stop-color:#9CD7FF"/&gt;
&lt;stop offset="0.636" style="stop-color:#98D4FD"/&gt;
&lt;stop offset="0.7293" style="stop-color:#8DCAF6"/&gt;
&lt;stop offset="0.8214" style="stop-color:#79BBEB"/&gt;
&lt;stop offset="0.912" style="stop-color:#5EA5DC"/&gt;
&lt;stop offset="1" style="stop-color:#3C89C9"/&gt;
&lt;/linearGradient&gt;
&lt;path fill="url(#SVGID_5_)" d="M19.625,10.113C8.787,10.113,0,8.238,0,5.925v10c0,2.313,8.787,4.188,19.625,4.188
c10.839,0,19.625-1.875,19.625-4.188v-10C39.25,8.238,30.464,10.113,19.625,10.113z"/&gt;
&lt;linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="642.8008" y1="-946.4946" x2="682.0508" y2="-946.4946" gradientTransform="matrix(1 0 0 -1 -642.8008 -939.4756)"&gt;
&lt;stop offset="0" style="stop-color:#9CD7FF"/&gt;
&lt;stop offset="0.0039" style="stop-color:#9DD7FF"/&gt;
&lt;stop offset="0.2273" style="stop-color:#BDE5FF"/&gt;
&lt;stop offset="0.4138" style="stop-color:#D1EEFF"/&gt;
&lt;stop offset="0.5394" style="stop-color:#D9F1FF"/&gt;
&lt;stop offset="0.6155" style="stop-color:#D5EFFE"/&gt;
&lt;stop offset="0.6891" style="stop-color:#C9E7FA"/&gt;
&lt;stop offset="0.7617" style="stop-color:#B6DAF3"/&gt;
&lt;stop offset="0.8337" style="stop-color:#9AC8EA"/&gt;
&lt;stop offset="0.9052" style="stop-color:#77B0DD"/&gt;
&lt;stop offset="0.9754" style="stop-color:#4D94CF"/&gt;
&lt;stop offset="1" style="stop-color:#3C89C9"/&gt;
&lt;/linearGradient&gt;
&lt;path fill="url(#SVGID_6_)" d="M19.625,10.113c10.839,0,19.625-1.875,19.625-4.188l-1.229-2c0,2.168-8.235,3.926-18.396,3.926
c-9.481,0-17.396-1.959-18.396-3.926L0,5.925C0,8.238,8.787,10.113,19.625,10.113z"/&gt;
&lt;linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="644.0293" y1="-943.4014" x2="680.8223" y2="-943.4014" gradientTransform="matrix(1 0 0 -1 -642.8008 -939.4756)"&gt;
&lt;stop offset="0" style="stop-color:#9CD7FF"/&gt;
&lt;stop offset="1" style="stop-color:#3C89C9"/&gt;
&lt;/linearGradient&gt;
&lt;ellipse fill="url(#SVGID_7_)" cx="19.625" cy="3.926" rx="18.396" ry="3.926"/&gt;
&lt;path opacity="0.24" fill="#FFFFFF" enable-background="new " d="M31.04,45.982c0,0-4.354,0.664-7.29,0.781
c-3.125,0.125-8.952,0-8.952,0l-2.384-10.292l0.044-2.108l-1.251-1.154L9.789,23.024l-0.082-0.119L9.5,20.529l-1.65-1.254
L5.329,8.793c0,0,4.213,0.903,7.234,1.07s8.375,0.25,8.375,0.25l3,9.875l-0.25,1.313l1.063,2.168l2.312,9.645l-0.521,1.416
l1.46,1.834L31.04,45.982z"/&gt;
&lt;/svg&gt;
</y:Resource>
</y:Resources>
</data>
</graphml>

View File

@@ -0,0 +1,340 @@
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill-opacity="1" color-rendering="auto" color-interpolation="auto" text-rendering="auto" stroke="black" stroke-linecap="square" width="637" stroke-miterlimit="10" shape-rendering="auto" stroke-opacity="1" fill="black" stroke-dasharray="none" font-weight="normal" stroke-width="1" height="1149" font-family="'Dialog'" font-style="normal" stroke-linejoin="miter" font-size="12" stroke-dashoffset="0" image-rendering="auto">
<!--Generated by ySVG 2.5-->
<defs id="genericDefs"/>
<g>
<defs id="defs1">
<linearGradient x1="66.9357" gradientUnits="userSpaceOnUse" x2="66.9357" y1="-759.8748" y2="-727.3748" id="linearGradient1" spreadMethod="pad">
<stop stop-opacity="1" stop-color="rgb(230,242,191)" offset="0%"/>
<stop stop-opacity="1" stop-color="rgb(173,214,51)" offset="100%"/>
</linearGradient>
<linearGradient x1="183.182" gradientUnits="userSpaceOnUse" x2="183.182" y1="-759.8748" y2="-727.3748" id="linearGradient2" spreadMethod="pad">
<stop stop-opacity="1" stop-color="rgb(230,242,191)" offset="0%"/>
<stop stop-opacity="1" stop-color="rgb(173,214,51)" offset="100%"/>
</linearGradient>
<linearGradient x1="329.9673" gradientUnits="userSpaceOnUse" x2="329.9673" y1="-759.8748" y2="-727.3748" id="linearGradient3" spreadMethod="pad">
<stop stop-opacity="1" stop-color="rgb(230,242,191)" offset="0%"/>
<stop stop-opacity="1" stop-color="rgb(173,214,51)" offset="100%"/>
</linearGradient>
<linearGradient x1="136.0729" gradientUnits="userSpaceOnUse" x2="136.0729" y1="-31" y2="1.5" id="linearGradient4" spreadMethod="pad">
<stop stop-opacity="1" stop-color="rgb(255,230,191)" offset="0%"/>
<stop stop-opacity="1" stop-color="rgb(255,173,51)" offset="100%"/>
</linearGradient>
<linearGradient x1="16.0004" gradientUnits="userSpaceOnUse" x2="16.0004" y1="-31" y2="1.5" id="linearGradient5" spreadMethod="pad">
<stop stop-opacity="1" stop-color="rgb(255,230,191)" offset="0%"/>
<stop stop-opacity="1" stop-color="rgb(255,173,51)" offset="100%"/>
</linearGradient>
<linearGradient x1="340.4421" gradientUnits="userSpaceOnUse" x2="340.4421" y1="-1104.6365" y2="-1072.1365" id="linearGradient6" spreadMethod="pad">
<stop stop-opacity="1" stop-color="rgb(230,242,191)" offset="0%"/>
<stop stop-opacity="1" stop-color="rgb(173,214,51)" offset="100%"/>
</linearGradient>
<linearGradient x1="256.3125" gradientUnits="userSpaceOnUse" x2="256.3125" y1="-464.8748" y2="-432.3748" id="linearGradient7" spreadMethod="pad">
<stop stop-opacity="1" stop-color="rgb(230,242,191)" offset="0%"/>
<stop stop-opacity="1" stop-color="rgb(173,214,51)" offset="100%"/>
</linearGradient>
<linearGradient x1="238.6593" gradientUnits="userSpaceOnUse" x2="238.6593" y1="-389.8748" y2="-357.3748" id="linearGradient8" spreadMethod="pad">
<stop stop-opacity="1" stop-color="rgb(255,230,191)" offset="0%"/>
<stop stop-opacity="1" stop-color="rgb(255,173,51)" offset="100%"/>
</linearGradient>
<linearGradient x1="130.2458" gradientUnits="userSpaceOnUse" x2="130.2458" y1="-314.8748" y2="-282.3748" id="linearGradient9" spreadMethod="pad">
<stop stop-opacity="1" stop-color="rgb(255,230,191)" offset="0%"/>
<stop stop-opacity="1" stop-color="rgb(255,173,51)" offset="100%"/>
</linearGradient>
<linearGradient x1="125.0589" gradientUnits="userSpaceOnUse" x2="125.0589" y1="-589.8748" y2="-557.3748" id="linearGradient10" spreadMethod="pad">
<stop stop-opacity="1" stop-color="rgb(230,242,191)" offset="0%"/>
<stop stop-opacity="1" stop-color="rgb(173,214,51)" offset="100%"/>
</linearGradient>
<linearGradient x1="380.6786" gradientUnits="userSpaceOnUse" x2="380.6786" y1="-31" y2="1.5" id="linearGradient11" spreadMethod="pad">
<stop stop-opacity="1" stop-color="rgb(255,230,191)" offset="0%"/>
<stop stop-opacity="1" stop-color="rgb(255,173,51)" offset="100%"/>
</linearGradient>
<linearGradient x1="438.3602" gradientUnits="userSpaceOnUse" x2="438.3602" y1="-664.8748" y2="-632.3748" id="linearGradient12" spreadMethod="pad">
<stop stop-opacity="1" stop-color="rgb(230,242,191)" offset="0%"/>
<stop stop-opacity="1" stop-color="rgb(173,214,51)" offset="100%"/>
</linearGradient>
<linearGradient x1="452.3026" gradientUnits="userSpaceOnUse" x2="452.3026" y1="-314.8748" y2="-282.3748" id="linearGradient13" spreadMethod="pad">
<stop stop-opacity="1" stop-color="rgb(255,230,191)" offset="0%"/>
<stop stop-opacity="1" stop-color="rgb(255,173,51)" offset="100%"/>
</linearGradient>
<linearGradient x1="457.2567" gradientUnits="userSpaceOnUse" x2="457.2567" y1="-264.8748" y2="-232.3748" id="linearGradient14" spreadMethod="pad">
<stop stop-opacity="1" stop-color="rgb(255,230,191)" offset="0%"/>
<stop stop-opacity="1" stop-color="rgb(255,173,51)" offset="100%"/>
</linearGradient>
<linearGradient x1="36.5255" gradientUnits="userSpaceOnUse" x2="36.5255" y1="-189.8748" y2="-157.3748" id="linearGradient15" spreadMethod="pad">
<stop stop-opacity="1" stop-color="rgb(230,242,191)" offset="0%"/>
<stop stop-opacity="1" stop-color="rgb(173,214,51)" offset="100%"/>
</linearGradient>
<linearGradient x1="154.6882" gradientUnits="userSpaceOnUse" x2="154.6882" y1="-264.8748" y2="-232.3748" id="linearGradient16" spreadMethod="pad">
<stop stop-opacity="1" stop-color="rgb(255,230,191)" offset="0%"/>
<stop stop-opacity="1" stop-color="rgb(255,173,51)" offset="100%"/>
</linearGradient>
<linearGradient x1="126.5706" gradientUnits="userSpaceOnUse" x2="126.5706" y1="-539.8748" y2="-507.3748" id="linearGradient17" spreadMethod="pad">
<stop stop-opacity="1" stop-color="rgb(255,230,191)" offset="0%"/>
<stop stop-opacity="1" stop-color="rgb(255,173,51)" offset="100%"/>
</linearGradient>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath1">
<path d="M0 0 L637 0 L637 1149 L0 1149 L0 0 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath2">
<path d="M-15 -1119 L622 -1119 L622 30 L-15 30 L-15 -1119 Z"/>
</clipPath>
</defs>
<g fill="white" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="translate(15,1119)" stroke="white">
<rect x="-15" width="637" height="1149" y="-1119" clip-path="url(#clipPath2)" stroke="none"/>
</g>
<g fill="rgb(245,245,245)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(245,245,245)">
<rect x="50.9353" y="-795.5408" clip-path="url(#clipPath2)" width="411.8175" rx="4" ry="4" height="81.666" stroke="none"/>
<rect x="50.9353" y="-795.5408" clip-path="url(#clipPath2)" fill="rgb(235,235,235)" width="411.8175" height="21.666" stroke="none"/>
</g>
<g font-size="15" stroke-linecap="butt" transform="matrix(1,0,0,1,15,1119)" text-rendering="geometricPrecision" font-family="sans-serif" shape-rendering="geometricPrecision" stroke-miterlimit="1.45">
<text x="385.3573" xml:space="preserve" y="-779.0388" clip-path="url(#clipPath2)" stroke="none">launchpad</text>
<rect x="50.9353" y="-795.5408" clip-path="url(#clipPath2)" fill="none" width="411.8175" stroke-dasharray="6,2" rx="4" ry="4" height="81.666"/>
</g>
<g fill="rgb(153,204,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(153,204,0)">
<path d="M66.9357 -744.8748 L153.1818 -744.8748 L153.1818 -738.8748 Q153.1818 -728.8748 143.1818 -728.8748 L76.9357 -728.8748 Q66.9357 -728.8748 66.9357 -738.8748 Z" stroke="none" clip-path="url(#clipPath2)"/>
<path fill="url(#linearGradient1)" d="M66.9357 -748.8748 Q66.9357 -758.8748 76.9357 -758.8748 L143.1818 -758.8748 Q153.1818 -758.8748 153.1818 -748.8748 L153.1818 -743.8748 L66.9357 -743.8748 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M68.9357 -748.8748 Q68.9357 -756.8748 76.9357 -756.8748 L143.1818 -756.8748 Q151.1818 -756.8748 151.1818 -748.8748 L151.1818 -738.8748 Q151.1818 -730.8748 143.1818 -730.8748 L76.9357 -730.8748 Q68.9357 -730.8748 68.9357 -738.8748 Z" stroke-width="2" clip-path="url(#clipPath2)" stroke="rgb(240,247,217)"/>
<path fill="none" d="M68.9357 -748.8748 Q68.9357 -756.8748 76.9357 -756.8748 L143.1818 -756.8748 Q151.1818 -756.8748 151.1818 -748.8748 L151.1818 -738.8748 Q151.1818 -730.8748 143.1818 -730.8748 L76.9357 -730.8748 Q68.9357 -730.8748 68.9357 -738.8748 Z" clip-path="url(#clipPath2)"/>
</g>
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
<text x="73.9357" xml:space="preserve" y="-739.3396" clip-path="url(#clipPath2)" stroke="none">create a bug</text>
</g>
<g fill="rgb(153,204,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(153,204,0)">
<path d="M183.182 -744.8748 L299.9672 -744.8748 L299.9672 -738.8748 Q299.9672 -728.8748 289.9672 -728.8748 L193.182 -728.8748 Q183.182 -728.8748 183.182 -738.8748 Z" stroke="none" clip-path="url(#clipPath2)"/>
<path fill="url(#linearGradient2)" d="M183.182 -748.8748 Q183.182 -758.8748 193.182 -758.8748 L289.9672 -758.8748 Q299.9672 -758.8748 299.9672 -748.8748 L299.9672 -743.8748 L183.182 -743.8748 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M185.182 -748.8748 Q185.182 -756.8748 193.182 -756.8748 L289.9672 -756.8748 Q297.9672 -756.8748 297.9672 -748.8748 L297.9672 -738.8748 Q297.9672 -730.8748 289.9672 -730.8748 L193.182 -730.8748 Q185.182 -730.8748 185.182 -738.8748 Z" stroke-width="2" clip-path="url(#clipPath2)" stroke="rgb(240,247,217)"/>
<path fill="none" d="M185.182 -748.8748 Q185.182 -756.8748 193.182 -756.8748 L289.9672 -756.8748 Q297.9672 -756.8748 297.9672 -748.8748 L297.9672 -738.8748 Q297.9672 -730.8748 289.9672 -730.8748 L193.182 -730.8748 Q185.182 -730.8748 185.182 -738.8748 Z" clip-path="url(#clipPath2)"/>
</g>
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
<text x="190.182" xml:space="preserve" y="-739.3396" clip-path="url(#clipPath2)" stroke="none">create a blueprint</text>
</g>
<g fill="rgb(153,204,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(153,204,0)">
<path d="M329.9673 -744.8748 L446.7525 -744.8748 L446.7525 -738.8748 Q446.7525 -728.8748 436.7525 -728.8748 L339.9673 -728.8748 Q329.9673 -728.8748 329.9673 -738.8748 Z" stroke="none" clip-path="url(#clipPath2)"/>
<path fill="url(#linearGradient3)" d="M329.9673 -748.8748 Q329.9673 -758.8748 339.9673 -758.8748 L436.7525 -758.8748 Q446.7525 -758.8748 446.7525 -748.8748 L446.7525 -743.8748 L329.9673 -743.8748 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M331.9673 -748.8748 Q331.9673 -756.8748 339.9673 -756.8748 L436.7525 -756.8748 Q444.7525 -756.8748 444.7525 -748.8748 L444.7525 -738.8748 Q444.7525 -730.8748 436.7525 -730.8748 L339.9673 -730.8748 Q331.9673 -730.8748 331.9673 -738.8748 Z" stroke-width="2" clip-path="url(#clipPath2)" stroke="rgb(240,247,217)"/>
<path fill="none" d="M331.9673 -748.8748 Q331.9673 -756.8748 339.9673 -756.8748 L436.7525 -756.8748 Q444.7525 -756.8748 444.7525 -748.8748 L444.7525 -738.8748 Q444.7525 -730.8748 436.7525 -730.8748 L339.9673 -730.8748 Q331.9673 -730.8748 331.9673 -738.8748 Z" clip-path="url(#clipPath2)"/>
</g>
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
<text x="336.9673" xml:space="preserve" y="-739.3396" clip-path="url(#clipPath2)" stroke="none">create a blueprint</text>
</g>
<g fill="rgb(245,245,245)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(245,245,245)">
<rect x="0" y="-66.666" clip-path="url(#clipPath2)" width="238.6298" rx="4" ry="4" height="81.666" stroke="none"/>
<rect x="0" y="-66.666" clip-path="url(#clipPath2)" fill="rgb(235,235,235)" width="238.6298" height="21.666" stroke="none"/>
</g>
<g font-size="15" stroke-linecap="butt" transform="matrix(1,0,0,1,15,1119)" text-rendering="geometricPrecision" font-family="sans-serif" shape-rendering="geometricPrecision" stroke-miterlimit="1.45">
<text x="161.8495" xml:space="preserve" y="-50.1641" clip-path="url(#clipPath2)" stroke="none">End states</text>
<rect x="0" y="-66.666" clip-path="url(#clipPath2)" fill="none" width="238.6298" stroke-dasharray="6,2" rx="4" ry="4" height="81.666"/>
</g>
<g fill="rgb(255,153,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(255,153,0)">
<path d="M136.0729 -16 L222.6295 -16 L222.6295 -10 Q222.6295 0 212.6295 0 L146.0729 0 Q136.0729 0 136.0729 -10 Z" stroke="none" clip-path="url(#clipPath2)"/>
<path fill="url(#linearGradient4)" d="M136.0729 -20 Q136.0729 -30 146.0729 -30 L212.6295 -30 Q222.6295 -30 222.6295 -20 L222.6295 -15 L136.0729 -15 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M138.0729 -20 Q138.0729 -28 146.0729 -28 L212.6295 -28 Q220.6295 -28 220.6295 -20 L220.6295 -10 Q220.6295 -2 212.6295 -2 L146.0729 -2 Q138.0729 -2 138.0729 -10 Z" stroke-width="2" clip-path="url(#clipPath2)" stroke="rgb(255,240,217)"/>
<path fill="none" d="M138.0729 -20 Q138.0729 -28 146.0729 -28 L212.6295 -28 Q220.6295 -28 220.6295 -20 L220.6295 -10 Q220.6295 -2 212.6295 -2 L146.0729 -2 Q138.0729 -2 138.0729 -10 Z" clip-path="url(#clipPath2)"/>
</g>
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
<text x="143.0729" xml:space="preserve" y="-10.4648" clip-path="url(#clipPath2)" stroke="none">out of scope</text>
</g>
<g fill="rgb(255,153,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(255,153,0)">
<path d="M16.0004 -16 L106.0726 -16 L106.0726 -10 Q106.0726 0 96.0726 0 L26.0004 0 Q16.0004 0 16.0004 -10 Z" stroke="none" clip-path="url(#clipPath2)"/>
<path fill="url(#linearGradient5)" d="M16.0004 -20 Q16.0004 -30 26.0004 -30 L96.0726 -30 Q106.0726 -30 106.0726 -20 L106.0726 -15 L16.0004 -15 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M18.0004 -20 Q18.0004 -28 26.0004 -28 L96.0726 -28 Q104.0726 -28 104.0726 -20 L104.0726 -10 Q104.0726 -2 96.0726 -2 L26.0004 -2 Q18.0004 -2 18.0004 -10 Z" stroke-width="2" clip-path="url(#clipPath2)" stroke="rgb(255,240,217)"/>
<path fill="none" d="M18.0004 -20 Q18.0004 -28 26.0004 -28 L96.0726 -28 Q104.0726 -28 104.0726 -20 L104.0726 -10 Q104.0726 -2 96.0726 -2 L26.0004 -2 Q18.0004 -2 18.0004 -10 Z" clip-path="url(#clipPath2)"/>
</g>
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
<text x="23.0004" xml:space="preserve" y="-10.4648" clip-path="url(#clipPath2)" stroke="none">code merged</text>
</g>
<g fill="rgb(255,204,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(255,204,0)">
<path d="M178.4522 -953.1078 L208.7433 -968.1078 L239.0343 -953.1078 L208.7433 -938.1078 Z" fill-rule="evenodd" clip-path="url(#clipPath2)" stroke="none"/>
</g>
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
<text x="185.4522" xml:space="preserve" y="-948.5726" clip-path="url(#clipPath2)" stroke="none">bug fix?</text>
<path fill="none" d="M178.4522 -953.1078 L208.7433 -968.1078 L239.0343 -953.1078 L208.7433 -938.1078 Z" clip-path="url(#clipPath2)" fill-rule="evenodd"/>
</g>
<g fill="rgb(153,204,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(153,204,0)">
<path d="M340.4421 -1089.6365 L378.7761 -1089.6365 L378.7761 -1083.6365 Q378.7761 -1073.6365 368.7761 -1073.6365 L350.4421 -1073.6365 Q340.4421 -1073.6365 340.4421 -1083.6365 Z" stroke="none" clip-path="url(#clipPath2)"/>
<path fill="url(#linearGradient6)" d="M340.4421 -1093.6365 Q340.4421 -1103.6365 350.4421 -1103.6365 L368.7761 -1103.6365 Q378.7761 -1103.6365 378.7761 -1093.6365 L378.7761 -1088.6365 L340.4421 -1088.6365 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M342.4421 -1093.6365 Q342.4421 -1101.6365 350.4421 -1101.6365 L368.7761 -1101.6365 Q376.7761 -1101.6365 376.7761 -1093.6365 L376.7761 -1083.6365 Q376.7761 -1075.6365 368.7761 -1075.6365 L350.4421 -1075.6365 Q342.4421 -1075.6365 342.4421 -1083.6365 Z" stroke-width="2" clip-path="url(#clipPath2)" stroke="rgb(240,247,217)"/>
<path fill="none" d="M342.4421 -1093.6365 Q342.4421 -1101.6365 350.4421 -1101.6365 L368.7761 -1101.6365 Q376.7761 -1101.6365 376.7761 -1093.6365 L376.7761 -1083.6365 Q376.7761 -1075.6365 368.7761 -1075.6365 L350.4421 -1075.6365 Q342.4421 -1075.6365 342.4421 -1083.6365 Z" clip-path="url(#clipPath2)"/>
</g>
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
<text x="347.4421" xml:space="preserve" y="-1084.1013" clip-path="url(#clipPath2)" stroke="none">idea</text>
</g>
<g fill="rgb(255,204,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(255,204,0)">
<path d="M302.1072 -1038.6365 L359.6091 -1053.6365 L417.1111 -1038.6365 L359.6091 -1023.6365 Z" fill-rule="evenodd" clip-path="url(#clipPath2)" stroke="none"/>
</g>
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
<text x="309.1072" xml:space="preserve" y="-1032.1677" clip-path="url(#clipPath2)" stroke="none">REST API change?</text>
<path fill="none" d="M302.1072 -1038.6365 L359.6091 -1053.6365 L417.1111 -1038.6365 L359.6091 -1023.6365 Z" clip-path="url(#clipPath2)" fill-rule="evenodd"/>
</g>
<g fill="rgb(153,204,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(153,204,0)">
<path d="M256.3125 -449.8748 L402.3828 -449.8748 L402.3828 -443.8748 Q402.3828 -433.8748 392.3828 -433.8748 L266.3125 -433.8748 Q256.3125 -433.8748 256.3125 -443.8748 Z" stroke="none" clip-path="url(#clipPath2)"/>
<path fill="url(#linearGradient7)" d="M256.3125 -453.8748 Q256.3125 -463.8748 266.3125 -463.8748 L392.3828 -463.8748 Q402.3828 -463.8748 402.3828 -453.8748 L402.3828 -448.8748 L256.3125 -448.8748 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M258.3125 -453.8748 Q258.3125 -461.8748 266.3125 -461.8748 L392.3828 -461.8748 Q400.3828 -461.8748 400.3828 -453.8748 L400.3828 -443.8748 Q400.3828 -435.8748 392.3828 -435.8748 L266.3125 -435.8748 Q258.3125 -435.8748 258.3125 -443.8748 Z" stroke-width="2" clip-path="url(#clipPath2)" stroke="rgb(240,247,217)"/>
<path fill="none" d="M258.3125 -453.8748 Q258.3125 -461.8748 266.3125 -461.8748 L392.3828 -461.8748 Q400.3828 -461.8748 400.3828 -453.8748 L400.3828 -443.8748 Q400.3828 -435.8748 392.3828 -435.8748 L266.3125 -435.8748 Q258.3125 -435.8748 258.3125 -443.8748 Z" clip-path="url(#clipPath2)"/>
</g>
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
<text x="263.3125" xml:space="preserve" y="-444.3396" clip-path="url(#clipPath2)" stroke="none">submit spec for review</text>
</g>
<g fill="rgb(255,204,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(255,204,0)">
<path d="M188.5178 -878.1078 L223.8889 -893.1078 L259.26 -878.1078 L223.8889 -863.1078 Z" fill-rule="evenodd" clip-path="url(#clipPath2)" stroke="none"/>
</g>
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
<text x="195.5178" xml:space="preserve" y="-871.639" clip-path="url(#clipPath2)" stroke="none">a feature?</text>
<path fill="none" d="M188.5178 -878.1078 L223.8889 -893.1078 L259.26 -878.1078 L223.8889 -863.1078 Z" clip-path="url(#clipPath2)" fill-rule="evenodd"/>
</g>
<g fill="rgb(255,153,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(255,153,0)">
<path d="M238.6593 -374.8748 L327.4776 -374.8748 L327.4776 -368.8748 Q327.4776 -358.8748 317.4776 -358.8748 L248.6593 -358.8748 Q238.6593 -358.8748 238.6593 -368.8748 Z" stroke="none" clip-path="url(#clipPath2)"/>
<path fill="url(#linearGradient8)" d="M238.6593 -378.8748 Q238.6593 -388.8748 248.6593 -388.8748 L317.4776 -388.8748 Q327.4776 -388.8748 327.4776 -378.8748 L327.4776 -373.8748 L238.6593 -373.8748 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M240.6593 -378.8748 Q240.6593 -386.8748 248.6593 -386.8748 L317.4776 -386.8748 Q325.4776 -386.8748 325.4776 -378.8748 L325.4776 -368.8748 Q325.4776 -360.8748 317.4776 -360.8748 L248.6593 -360.8748 Q240.6593 -360.8748 240.6593 -368.8748 Z" stroke-width="2" clip-path="url(#clipPath2)" stroke="rgb(255,240,217)"/>
<path fill="none" d="M240.6593 -378.8748 Q240.6593 -386.8748 248.6593 -386.8748 L317.4776 -386.8748 Q325.4776 -386.8748 325.4776 -378.8748 L325.4776 -368.8748 Q325.4776 -360.8748 317.4776 -360.8748 L248.6593 -360.8748 Q240.6593 -360.8748 240.6593 -368.8748 Z" clip-path="url(#clipPath2)"/>
</g>
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
<text x="245.6593" xml:space="preserve" y="-369.3396" clip-path="url(#clipPath2)" stroke="none">spec merged</text>
</g>
<g fill="rgb(255,153,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(255,153,0)">
<path d="M130.2458 -299.8748 L320.9939 -299.8748 L320.9939 -293.8748 Q320.9939 -283.8748 310.9939 -283.8748 L140.2458 -283.8748 Q130.2458 -283.8748 130.2458 -293.8748 Z" stroke="none" clip-path="url(#clipPath2)"/>
<path fill="url(#linearGradient9)" d="M130.2458 -303.8748 Q130.2458 -313.8748 140.2458 -313.8748 L310.9939 -313.8748 Q320.9939 -313.8748 320.9939 -303.8748 L320.9939 -298.8748 L130.2458 -298.8748 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M132.2458 -303.8748 Q132.2458 -311.8748 140.2458 -311.8748 L310.9939 -311.8748 Q318.9939 -311.8748 318.9939 -303.8748 L318.9939 -293.8748 Q318.9939 -285.8748 310.9939 -285.8748 L140.2458 -285.8748 Q132.2458 -285.8748 132.2458 -293.8748 Z" stroke-width="2" clip-path="url(#clipPath2)" stroke="rgb(255,240,217)"/>
<path fill="none" d="M132.2458 -303.8748 Q132.2458 -311.8748 140.2458 -311.8748 L310.9939 -311.8748 Q318.9939 -311.8748 318.9939 -303.8748 L318.9939 -293.8748 Q318.9939 -285.8748 310.9939 -285.8748 L140.2458 -285.8748 Q132.2458 -285.8748 132.2458 -293.8748 Z" clip-path="url(#clipPath2)"/>
</g>
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
<text x="137.2458" xml:space="preserve" y="-294.3396" clip-path="url(#clipPath2)" stroke="none">blueprint approved for release</text>
</g>
<g fill="rgb(255,204,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(255,204,0)">
<path d="M204.6518 -648.8748 L253.9389 -663.8748 L303.226 -648.8748 L253.9389 -633.8748 Z" fill-rule="evenodd" clip-path="url(#clipPath2)" stroke="none"/>
</g>
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
<text x="211.6518" xml:space="preserve" y="-644.3396" clip-path="url(#clipPath2)" stroke="none">spec required?</text>
<path fill="none" d="M204.6518 -648.8748 L253.9389 -663.8748 L303.226 -648.8748 L253.9389 -633.8748 Z" clip-path="url(#clipPath2)" fill-rule="evenodd"/>
</g>
<g fill="rgb(153,204,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(153,204,0)">
<path d="M125.0589 -574.8748 L333.5316 -574.8748 L333.5316 -568.8748 Q333.5316 -558.8748 323.5316 -558.8748 L135.0589 -558.8748 Q125.0589 -558.8748 125.0589 -568.8748 Z" stroke="none" clip-path="url(#clipPath2)"/>
<path fill="url(#linearGradient10)" d="M125.0589 -578.8748 Q125.0589 -588.8748 135.0589 -588.8748 L323.5316 -588.8748 Q333.5316 -588.8748 333.5316 -578.8748 L333.5316 -573.8748 L125.0589 -573.8748 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M127.0589 -578.8748 Q127.0589 -586.8748 135.0589 -586.8748 L323.5316 -586.8748 Q331.5316 -586.8748 331.5316 -578.8748 L331.5316 -568.8748 Q331.5316 -560.8748 323.5316 -560.8748 L135.0589 -560.8748 Q127.0589 -560.8748 127.0589 -568.8748 Z" stroke-width="2" clip-path="url(#clipPath2)" stroke="rgb(240,247,217)"/>
<path fill="none" d="M127.0589 -578.8748 Q127.0589 -586.8748 135.0589 -586.8748 L323.5316 -586.8748 Q331.5316 -586.8748 331.5316 -578.8748 L331.5316 -568.8748 Q331.5316 -560.8748 323.5316 -560.8748 L135.0589 -560.8748 Q127.0589 -560.8748 127.0589 -568.8748 Z" clip-path="url(#clipPath2)"/>
</g>
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
<text x="132.0589" xml:space="preserve" y="-569.3396" clip-path="url(#clipPath2)" stroke="none">add link on nova meeting agenda</text>
</g>
<g fill="rgb(255,153,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(255,153,0)">
<path d="M380.6786 -16 L569.6278 -16 L569.6278 -10 Q569.6278 0 559.6278 0 L390.6786 0 Q380.6786 0 380.6786 -10 Z" stroke="none" clip-path="url(#clipPath2)"/>
<path fill="url(#linearGradient11)" d="M380.6786 -20 Q380.6786 -30 390.6786 -30 L559.6278 -30 Q569.6278 -30 569.6278 -20 L569.6278 -15 L380.6786 -15 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M382.6786 -20 Q382.6786 -28 390.6786 -28 L559.6278 -28 Q567.6278 -28 567.6278 -20 L567.6278 -10 Q567.6278 -2 559.6278 -2 L390.6786 -2 Q382.6786 -2 382.6786 -10 Z" stroke-width="2" clip-path="url(#clipPath2)" stroke="rgb(255,240,217)"/>
<path fill="none" d="M382.6786 -20 Q382.6786 -28 390.6786 -28 L559.6278 -28 Q567.6278 -28 567.6278 -20 L567.6278 -10 Q567.6278 -2 559.6278 -2 L390.6786 -2 Q382.6786 -2 382.6786 -10 Z" clip-path="url(#clipPath2)"/>
</g>
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
<text x="387.6786" xml:space="preserve" y="-10.4648" clip-path="url(#clipPath2)" stroke="none">blueprint hit by feature freeze</text>
</g>
<g fill="rgb(153,204,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(153,204,0)">
<path d="M438.3602 -649.8748 L606.4208 -649.8748 L606.4208 -643.8748 Q606.4208 -633.8748 596.4208 -633.8748 L448.3602 -633.8748 Q438.3602 -633.8748 438.3602 -643.8748 Z" stroke="none" clip-path="url(#clipPath2)"/>
<path fill="url(#linearGradient12)" d="M438.3602 -653.8748 Q438.3602 -663.8748 448.3602 -663.8748 L596.4208 -663.8748 Q606.4208 -663.8748 606.4208 -653.8748 L606.4208 -648.8748 L438.3602 -648.8748 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M440.3602 -653.8748 Q440.3602 -661.8748 448.3602 -661.8748 L596.4208 -661.8748 Q604.4208 -661.8748 604.4208 -653.8748 L604.4208 -643.8748 Q604.4208 -635.8748 596.4208 -635.8748 L448.3602 -635.8748 Q440.3602 -635.8748 440.3602 -643.8748 Z" stroke-width="2" clip-path="url(#clipPath2)" stroke="rgb(240,247,217)"/>
<path fill="none" d="M440.3602 -653.8748 Q440.3602 -661.8748 448.3602 -661.8748 L596.4208 -661.8748 Q604.4208 -661.8748 604.4208 -653.8748 L604.4208 -643.8748 Q604.4208 -635.8748 596.4208 -635.8748 L448.3602 -635.8748 Q440.3602 -635.8748 440.3602 -643.8748 Z" clip-path="url(#clipPath2)"/>
</g>
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
<text x="446.3602" xml:space="preserve" y="-642.406" clip-path="url(#clipPath2)" stroke="none">re-submit for next release</text>
</g>
<g fill="rgb(255,153,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(255,153,0)">
<path d="M452.3026 -299.8748 L592.4784 -299.8748 L592.4784 -293.8748 Q592.4784 -283.8748 582.4784 -283.8748 L462.3026 -283.8748 Q452.3026 -283.8748 452.3026 -293.8748 Z" stroke="none" clip-path="url(#clipPath2)"/>
<path fill="url(#linearGradient13)" d="M452.3026 -303.8748 Q452.3026 -313.8748 462.3026 -313.8748 L582.4784 -313.8748 Q592.4784 -313.8748 592.4784 -303.8748 L592.4784 -298.8748 L452.3026 -298.8748 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M454.3026 -303.8748 Q454.3026 -311.8748 462.3026 -311.8748 L582.4784 -311.8748 Q590.4784 -311.8748 590.4784 -303.8748 L590.4784 -293.8748 Q590.4784 -285.8748 582.4784 -285.8748 L462.3026 -285.8748 Q454.3026 -285.8748 454.3026 -293.8748 Z" stroke-width="2" clip-path="url(#clipPath2)" stroke="rgb(255,240,217)"/>
<path fill="none" d="M454.3026 -303.8748 Q454.3026 -311.8748 462.3026 -311.8748 L582.4784 -311.8748 Q590.4784 -311.8748 590.4784 -303.8748 L590.4784 -293.8748 Q590.4784 -285.8748 582.4784 -285.8748 L462.3026 -285.8748 Q454.3026 -285.8748 454.3026 -293.8748 Z" clip-path="url(#clipPath2)"/>
</g>
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
<text x="459.3026" xml:space="preserve" y="-294.3396" clip-path="url(#clipPath2)" stroke="none">blueprint unapproved</text>
</g>
<g fill="rgb(255,153,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(255,153,0)">
<path d="M457.2567 -249.8748 L587.5243 -249.8748 L587.5243 -243.8748 Q587.5243 -233.8748 577.5243 -233.8748 L467.2567 -233.8748 Q457.2567 -233.8748 457.2567 -243.8748 Z" stroke="none" clip-path="url(#clipPath2)"/>
<path fill="url(#linearGradient14)" d="M457.2567 -253.8748 Q457.2567 -263.8748 467.2567 -263.8748 L577.5243 -263.8748 Q587.5243 -263.8748 587.5243 -253.8748 L587.5243 -248.8748 L457.2567 -248.8748 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M459.2567 -253.8748 Q459.2567 -261.8748 467.2567 -261.8748 L577.5243 -261.8748 Q585.5243 -261.8748 585.5243 -253.8748 L585.5243 -243.8748 Q585.5243 -235.8748 577.5243 -235.8748 L467.2567 -235.8748 Q459.2567 -235.8748 459.2567 -243.8748 Z" stroke-width="2" clip-path="url(#clipPath2)" stroke="rgb(255,240,217)"/>
<path fill="none" d="M459.2567 -253.8748 Q459.2567 -261.8748 467.2567 -261.8748 L577.5243 -261.8748 Q585.5243 -261.8748 585.5243 -253.8748 L585.5243 -243.8748 Q585.5243 -235.8748 577.5243 -235.8748 L467.2567 -235.8748 Q459.2567 -235.8748 459.2567 -243.8748 Z" clip-path="url(#clipPath2)"/>
</g>
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
<text x="464.2567" xml:space="preserve" y="-244.3396" clip-path="url(#clipPath2)" stroke="none">apply procedural -2</text>
</g>
<g fill="rgb(153,204,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(153,204,0)">
<path d="M36.5255 -174.8748 L183.5919 -174.8748 L183.5919 -168.8748 Q183.5919 -158.8748 173.5919 -158.8748 L46.5255 -158.8748 Q36.5255 -158.8748 36.5255 -168.8748 Z" stroke="none" clip-path="url(#clipPath2)"/>
<path fill="url(#linearGradient15)" d="M36.5255 -178.8748 Q36.5255 -188.8748 46.5255 -188.8748 L173.5919 -188.8748 Q183.5919 -188.8748 183.5919 -178.8748 L183.5919 -173.8748 L36.5255 -173.8748 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M38.5255 -178.8748 Q38.5255 -186.8748 46.5255 -186.8748 L173.5919 -186.8748 Q181.5919 -186.8748 181.5919 -178.8748 L181.5919 -168.8748 Q181.5919 -160.8748 173.5919 -160.8748 L46.5255 -160.8748 Q38.5255 -160.8748 38.5255 -168.8748 Z" stroke-width="2" clip-path="url(#clipPath2)" stroke="rgb(240,247,217)"/>
<path fill="none" d="M38.5255 -178.8748 Q38.5255 -186.8748 46.5255 -186.8748 L173.5919 -186.8748 Q181.5919 -186.8748 181.5919 -178.8748 L181.5919 -168.8748 Q181.5919 -160.8748 173.5919 -160.8748 L46.5255 -160.8748 Q38.5255 -160.8748 38.5255 -168.8748 Z" clip-path="url(#clipPath2)"/>
</g>
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
<text x="43.5255" xml:space="preserve" y="-169.3396" clip-path="url(#clipPath2)" stroke="none">upload code for review</text>
</g>
<g fill="rgb(255,153,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(255,153,0)">
<path d="M154.6882 -249.8748 L296.5515 -249.8748 L296.5515 -243.8748 Q296.5515 -233.8748 286.5515 -233.8748 L164.6882 -233.8748 Q154.6882 -233.8748 154.6882 -243.8748 Z" stroke="none" clip-path="url(#clipPath2)"/>
<path fill="url(#linearGradient16)" d="M154.6882 -253.8748 Q154.6882 -263.8748 164.6882 -263.8748 L286.5515 -263.8748 Q296.5515 -263.8748 296.5515 -253.8748 L296.5515 -248.8748 L154.6882 -248.8748 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M156.6882 -253.8748 Q156.6882 -261.8748 164.6882 -261.8748 L286.5515 -261.8748 Q294.5515 -261.8748 294.5515 -253.8748 L294.5515 -243.8748 Q294.5515 -235.8748 286.5515 -235.8748 L164.6882 -235.8748 Q156.6882 -235.8748 156.6882 -243.8748 Z" stroke-width="2" clip-path="url(#clipPath2)" stroke="rgb(255,240,217)"/>
<path fill="none" d="M156.6882 -253.8748 Q156.6882 -261.8748 164.6882 -261.8748 L286.5515 -261.8748 Q294.5515 -261.8748 294.5515 -253.8748 L294.5515 -243.8748 Q294.5515 -235.8748 286.5515 -235.8748 L164.6882 -235.8748 Q156.6882 -235.8748 156.6882 -243.8748 Z" clip-path="url(#clipPath2)"/>
</g>
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
<text x="161.6882" xml:space="preserve" y="-244.3396" clip-path="url(#clipPath2)" stroke="none">remove procedural -2</text>
</g>
<g fill="rgb(255,153,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(255,153,0)">
<path d="M126.5706 -524.8748 L332.0198 -524.8748 L332.0198 -518.8748 Q332.0198 -508.8748 322.0198 -508.8748 L136.5706 -508.8748 Q126.5706 -508.8748 126.5706 -518.8748 Z" stroke="none" clip-path="url(#clipPath2)"/>
<path fill="url(#linearGradient17)" d="M126.5706 -528.8748 Q126.5706 -538.8748 136.5706 -538.8748 L322.0198 -538.8748 Q332.0198 -538.8748 332.0198 -528.8748 L332.0198 -523.8748 L126.5706 -523.8748 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M128.5706 -528.8748 Q128.5706 -536.8748 136.5706 -536.8748 L322.0198 -536.8748 Q330.0198 -536.8748 330.0198 -528.8748 L330.0198 -518.8748 Q330.0198 -510.8748 322.0198 -510.8748 L136.5706 -510.8748 Q128.5706 -510.8748 128.5706 -518.8748 Z" stroke-width="2" clip-path="url(#clipPath2)" stroke="rgb(255,240,217)"/>
<path fill="none" d="M128.5706 -528.8748 Q128.5706 -536.8748 136.5706 -536.8748 L322.0198 -536.8748 Q330.0198 -536.8748 330.0198 -528.8748 L330.0198 -518.8748 Q330.0198 -510.8748 322.0198 -510.8748 L136.5706 -510.8748 Q128.5706 -510.8748 128.5706 -518.8748 Z" clip-path="url(#clipPath2)"/>
</g>
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
<text x="133.5706" xml:space="preserve" y="-519.3396" clip-path="url(#clipPath2)" stroke="none">review blueprint in nova meeting</text>
</g>
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
<path fill="none" d="M193.5977 -945.6048 L193.5977 -928.1078 L173.5175 -893.1078 L173.5175 -853.1078 L110.0587 -810.5408 L110.0587 -766.9" clip-path="url(#clipPath2)"/>
<path d="M110.0587 -758.9 L115.0587 -770.9 L110.0587 -767.9 L105.0587 -770.9 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M359.6091 -1073.6365 L359.6091 -1061.6365" clip-path="url(#clipPath2)"/>
<path d="M359.6091 -1053.6365 L364.6091 -1065.6365 L359.6091 -1062.6365 L354.6091 -1065.6365 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" stroke-dasharray="6,2" d="M330.8582 -1031.1052 L330.8582 -1013.6365 L208.7433 -983.1078 L208.7433 -976.1078" clip-path="url(#clipPath2)"/>
<path stroke-dasharray="6,2" d="M208.7433 -968.1078 L213.7433 -980.1078 L208.7433 -977.1078 L203.7433 -980.1078 Z" clip-path="url(#clipPath2)" stroke="none"/>
<text x="262.3915" xml:space="preserve" y="-980.4183" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none">no</text>
<path fill="none" d="M388.3601 -1031.1052 L388.3599 -766.908" clip-path="url(#clipPath2)"/>
<path d="M388.3599 -758.908 L393.3599 -770.908 L388.3599 -767.908 L383.3599 -770.908 Z" clip-path="url(#clipPath2)" stroke="none"/>
<text x="392.36" xml:space="preserve" y="-886.7205" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none">yes</text>
<path fill="none" d="M388.3599 -728.8748 L388.3599 -523.8748 L378.0377 -478.8748 L378.0377 -471.9041" clip-path="url(#clipPath2)"/>
<path d="M378.0377 -463.9041 L383.0377 -475.9041 L378.0377 -472.9041 L373.0377 -475.9041 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" stroke-dasharray="6,2" d="M365.8652 -433.8748 L365.8651 -148.8748 L200.9904 -81.666 L200.9904 -38.0252" clip-path="url(#clipPath2)"/>
<path stroke-dasharray="6,2" d="M200.9904 -30.0252 L205.9904 -42.0252 L200.9904 -39.0252 L195.9904 -42.0252 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" stroke-dasharray="6,2" d="M223.8887 -945.6134 L223.8889 -901.1078" clip-path="url(#clipPath2)"/>
<path stroke-dasharray="6,2" d="M223.8889 -893.1078 L228.8889 -905.1078 L223.8889 -902.1078 L218.8889 -905.1078 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M241.5744 -870.6118 L241.5746 -766.902" clip-path="url(#clipPath2)"/>
<path d="M241.5746 -758.902 L246.5746 -770.902 L241.5746 -767.902 L236.5746 -770.902 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M292.83 -433.8748 L292.83 -423.8748 L283.0685 -403.8748 L283.0685 -396.9041" clip-path="url(#clipPath2)"/>
<path d="M283.0685 -388.9041 L288.0685 -400.9041 L283.0685 -397.9041 L278.0685 -400.9041 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M283.0685 -358.8748 L283.0685 -348.8748 L273.3069 -328.8748 L273.3069 -321.9041" clip-path="url(#clipPath2)"/>
<path d="M273.3069 -313.9041 L278.3069 -325.9041 L273.3069 -322.9041 L268.3069 -325.9041 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M241.5746 -728.8748 L241.5746 -698.8748 L253.9389 -678.8748 L253.9389 -671.8748" clip-path="url(#clipPath2)"/>
<path d="M253.9389 -663.8748 L258.9389 -675.8748 L253.9389 -672.8748 L248.9389 -675.8748 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M278.5825 -641.3718 L278.5825 -623.8748 L348.5317 -588.8748 L348.5317 -508.8748 L329.3476 -478.8748 L329.3476 -471.9041" clip-path="url(#clipPath2)"/>
<path d="M329.3476 -463.9041 L334.3476 -475.9041 L329.3476 -472.9041 L324.3476 -475.9041 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" stroke-dasharray="6,2" d="M229.2953 -641.3804 L229.2953 -596.9004" clip-path="url(#clipPath2)"/>
<path stroke-dasharray="6,2" d="M229.2952 -588.9004 L234.2953 -600.9004 L229.2953 -597.9004 L224.2953 -600.9004 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M438.3272 -648.8748 L311.226 -648.8748" clip-path="url(#clipPath2)"/>
<path d="M303.226 -648.8748 L315.226 -643.8748 L312.226 -648.8748 L315.226 -653.8748 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M522.3905 -313.9138 L522.3905 -625.8748" clip-path="url(#clipPath2)"/>
<path d="M522.3905 -633.8748 L517.3905 -621.8748 L522.3905 -624.8748 L527.3905 -621.8748 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M522.3905 -30.0498 L522.3905 -225.8748" clip-path="url(#clipPath2)"/>
<path d="M522.3905 -233.8748 L517.3905 -221.8748 L522.3905 -224.8748 L527.3905 -221.8748 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M522.3905 -263.9138 L522.3905 -275.8748" clip-path="url(#clipPath2)"/>
<path d="M522.3905 -283.8748 L517.3905 -271.8748 L522.3905 -274.8748 L527.3905 -271.8748 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M110.0587 -728.8748 L110.0587 -196.9077" clip-path="url(#clipPath2)"/>
<path d="M110.0587 -188.9077 L115.0587 -200.9077 L110.0587 -197.9077 L105.0587 -200.9077 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" stroke-dasharray="6,2" d="M206.2033 -870.6048 L206.2033 -853.1078 L35.9353 -810.5408 L35.9353 -248.8748 L61.0366 -203.8748 L61.0366 -196.9041" clip-path="url(#clipPath2)"/>
<path stroke-dasharray="6,2" d="M61.0366 -188.9041 L66.0366 -200.9041 L61.0366 -197.9041 L56.0366 -200.9041 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M61.0366 -158.8748 L61.0365 -38.0315" clip-path="url(#clipPath2)"/>
<path d="M61.0365 -30.0315 L66.0365 -42.0315 L61.0365 -39.0315 L56.0365 -42.0315 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" stroke-dasharray="6,2" d="M110.0587 -158.8748 L110.0587 -148.8748 L157.712 -81.666 L157.712 -38.0252" clip-path="url(#clipPath2)"/>
<path stroke-dasharray="6,2" d="M157.712 -30.0252 L162.712 -42.0252 L157.712 -39.0252 L152.712 -42.0252 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" stroke-dasharray="6,2" d="M159.0809 -158.8748 L159.0809 -148.8748 L427.9159 -81.666 L427.9159 -38.0252" clip-path="url(#clipPath2)"/>
<path stroke-dasharray="6,2" d="M427.9159 -30.0252 L432.9159 -42.0252 L427.9159 -39.0252 L422.9159 -42.0252 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M225.6198 -283.8748 L225.6198 -271.9138" clip-path="url(#clipPath2)"/>
<path d="M225.6198 -263.9138 L230.6198 -275.9138 L225.6198 -272.9138 L220.6198 -275.9138 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M225.6198 -233.8748 L225.6198 -223.8748 L159.0809 -203.8748 L159.0809 -196.9041" clip-path="url(#clipPath2)"/>
<path d="M159.0809 -188.9041 L164.0809 -200.9041 L159.0809 -197.9041 L154.0809 -200.9041 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M229.2952 -558.8748 L229.2952 -546.9138" clip-path="url(#clipPath2)"/>
<path d="M229.2952 -538.9138 L234.2952 -550.9138 L229.2952 -547.9138 L224.2952 -550.9138 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M177.9329 -508.8748 L177.9328 -321.9224" clip-path="url(#clipPath2)"/>
<path d="M177.9328 -313.9224 L182.9328 -325.9224 L177.9328 -322.9224 L172.9328 -325.9224 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" stroke-dasharray="6,2" d="M280.6575 -508.8748 L280.6575 -471.9187" clip-path="url(#clipPath2)"/>
<path stroke-dasharray="6,2" d="M280.6575 -463.9187 L285.6575 -475.9187 L280.6575 -472.9187 L275.6576 -475.9187 Z" clip-path="url(#clipPath2)" stroke="none"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 45 KiB

View File

@@ -104,6 +104,7 @@ actually does, and why.
:maxdepth: 1
how_to_get_involved
process
architecture
project_scope
development.environment
@@ -229,4 +230,3 @@ Indices and tables
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`

File diff suppressed because it is too large Load Diff