http://git-wip-us.apache.org/repos/asf/nifi/blob/fc73c609/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/main/resources/docs/org.apache.nifi.atlas.reporting.ReportLineageToAtlas/nifi_types.svg
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/main/resources/docs/org.apache.nifi.atlas.reporting.ReportLineageToAtlas/nifi_types.svg
 
b/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/main/resources/docs/org.apache.nifi.atlas.reporting.ReportLineageToAtlas/nifi_types.svg
new file mode 100644
index 0000000..d27f7f8
--- /dev/null
+++ 
b/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/main/resources/docs/org.apache.nifi.atlas.reporting.ReportLineageToAtlas/nifi_types.svg
@@ -0,0 +1,17 @@
+<?xml version="1.0" standalone="yes"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements. See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License. You may obtain a copy of the License at
+  http://www.apache.org/licenses/LICENSE-2.0
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<svg version="1.1" viewBox="0.0 0.0 800.0 200.0" fill="none" stroke="none" 
stroke-linecap="square" stroke-miterlimit="10" 
xmlns="http://www.w3.org/2000/svg"; 
xmlns:xlink="http://www.w3.org/1999/xlink";><clipPath id="p.0"><path d="m0 
0l800.0 0l0 600.0l-800.0 0l0 -600.0z" clip-rule="nonzero"></path></clipPath><g 
clip-path="url(#p.0)"><path fill="#000000" fill-opacity="0.0" d="m0 0l800.0 0l0 
600.0l-800.0 0z" fill-rule="evenodd"></path><path fill="#b6d7a8" d="m17.0 
10.0l149.00787 0l0 36.0l-149.00787 0z" fill-rule="evenodd"></path><path 
stroke="#000000" stroke-width="1.0" stroke-linejoin="round" 
stroke-linecap="butt" d="m17.0 10.0l149.00787 0l0 36.0l-149.00787 0z" 
fill-rule="evenodd"></path><path fill="#000000" d="m34.152542 34.92l0 
-9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 
0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 
0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 
-1.515625q-0.1875 -0.515625 -0.6875
  -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 
0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm10.391342 
-11.6875l0 -1.90625l1.671875 0l0 1.90625l-1.671875 0zm0 11.6875l0 
-9.859375l1.671875 0l0 9.859375l-1.671875 0zm4.535446 0l0 -8.546875l-1.484375 
0l0 -1.3125l1.484375 0l0 -1.046875q0 -0.984375 0.171875 -1.46875q0.234375 
-0.65625 0.84375 -1.046875q0.609375 -0.40625 1.703125 -0.40625q0.703125 0 
1.5625 0.15625l-0.25 1.46875q-0.515625 -0.09375 -0.984375 -0.09375q-0.765625 0 
-1.078125 0.328125q-0.3125 0.3125 -0.3125 1.203125l0 0.90625l1.921875 0l0 
1.3125l-1.921875 0l0 8.546875l-1.65625 0zm4.792679 -11.6875l0 -1.90625l1.671875 
0l0 1.90625l-1.671875 0zm0 11.6875l0 -9.859375l1.671875 0l0 9.859375l-1.671875 
0zm2.5979462 3.78125l0 -1.21875l11.0625 0l0 1.21875l-11.0625 0zm11.922592 
-15.46875l0 -1.90625l1.671875 0l0 1.90625l-1.671875 0zm0 11.6875l0 
-9.859375l1.671875 0l0 9.859375l-1.671875 0zm4.129196 0l0 -9.859375l1.5 0l0 
1.40625q1.09375 -1.625 3.140625 -1.
 625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 
0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 
-1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 
-1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 
2.578125l0 5.375l-1.671875 0zm10.375717 3.78125l0 -13.640625l1.53125 0l0 
1.28125q0.53125 -0.75 1.203125 -1.125q0.6875 -0.375 1.640625 -0.375q1.265625 0 
2.234375 0.65625q0.96875 0.640625 1.453125 1.828125q0.5 1.1875 0.5 2.59375q0 
1.515625 -0.546875 2.734375q-0.546875 1.203125 -1.578125 1.84375q-1.03125 
0.640625 -2.171875 0.640625q-0.84375 0 -1.515625 -0.34375q-0.65625 -0.359375 
-1.078125 -0.890625l0 4.796875l-1.671875 0zm1.515625 -8.65625q0 1.90625 
0.765625 2.8125q0.78125 0.90625 1.875 0.90625q1.109375 0 1.890625 
-0.9375q0.796875 -0.9375 0.796875 -2.921875q0 -1.875 -0.78125 -2.8125q-0.765625 
-0.9375 -1.84375 -0.9375q-1.0625 0 -1.890625 1.0q-0.8125 1.0 -0.8125 
2.890625zm15.313217 4
 .875l0 -1.453125q-1.140625 1.671875 -3.125 1.671875q-0.859375 0 -1.625 
-0.328125q-0.75 -0.34375 -1.125 -0.84375q-0.359375 -0.5 -0.515625 
-1.234375q-0.09375 -0.5 -0.09375 -1.5625l0 -6.109375l1.671875 0l0 5.46875q0 
1.3125 0.09375 1.765625q0.15625 0.65625 0.671875 1.03125q0.515625 0.375 
1.265625 0.375q0.75 0 1.40625 -0.375q0.65625 -0.390625 0.921875 
-1.046875q0.28125 -0.671875 0.28125 -1.9375l0 -5.28125l1.671875 0l0 
9.859375l-1.5 0zm7.578842 -1.5l0.234375 1.484375q-0.703125 0.140625 -1.265625 
0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 
-0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 
-2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 
0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 
0.125q0.265625 0 0.734375 -0.078125zm-0.004196167 5.28125l0 -1.21875l11.0625 
0l0 1.21875l-11.0625 0zm11.906967 0l0 -13.640625l1.53125 0l0 1.28125q0.53125 
-0.75 1.203125 -1.125q0.6875 -0.375 1.6406
 25 -0.375q1.265625 0 2.234375 0.65625q0.96875 0.640625 1.453125 1.828125q0.5 
1.1875 0.5 2.59375q0 1.515625 -0.546875 2.734375q-0.546875 1.203125 -1.578125 
1.84375q-1.03125 0.640625 -2.171875 0.640625q-0.84375 0 -1.515625 
-0.34375q-0.65625 -0.359375 -1.078125 -0.890625l0 4.796875l-1.671875 
0zm1.515625 -8.65625q0 1.90625 0.765625 2.8125q0.78125 0.90625 1.875 
0.90625q1.109375 0 1.890625 -0.9375q0.796875 -0.9375 0.796875 -2.921875q0 
-1.875 -0.78125 -2.8125q-0.765625 -0.9375 -1.84375 -0.9375q-1.0625 0 -1.890625 
1.0q-0.8125 1.0 -0.8125 2.890625zm8.235092 -0.046875q0 -2.734375 1.53125 
-4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 
1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 
1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 
-1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 
0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 
-2.890625q0 -1.828125 -0.828125
  -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 
0.9375q-0.828125 0.9375 -0.828125 2.828125zm9.266342 4.921875l0 -9.859375l1.5 
0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 
-0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 
-1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 
0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm9.884552 
-1.5l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 
-1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 
-1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 
3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 
0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 
-0.078125z" fill-rule="nonzero"></path><path fill="#b6d7a8" d="m17.0 
84.0l149.00787 0l0 36.0l-149.00787 0z" fill-rule="evenodd"></path><path 
stroke="#000000" stroke-width="1
 .0" stroke-linejoin="round" stroke-linecap="butt" d="m17.0 84.0l149.00787 0l0 
36.0l-149.00787 0z" fill-rule="evenodd"></path><path fill="#000000" 
d="m57.48652 108.92l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 
-1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 
0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 
-1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 
-1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 
2.578125l0 5.375l-1.671875 0zm10.391342 -11.6875l0 -1.90625l1.671875 0l0 
1.90625l-1.671875 0zm0 11.6875l0 -9.859375l1.671875 0l0 9.859375l-1.671875 
0zm4.535446 0l0 -8.546875l-1.484375 0l0 -1.3125l1.484375 0l0 -1.046875q0 
-0.984375 0.171875 -1.46875q0.234375 -0.65625 0.84375 -1.046875q0.609375 
-0.40625 1.703125 -0.40625q0.703125 0 1.5625 0.15625l-0.25 1.46875q-0.515625 
-0.09375 -0.984375 -0.09375q-0.765625 0 -1.078125 0.328125q-0.3125 0.3125 
-0.3125 1.203125l0 0.9
 0625l1.921875 0l0 1.3125l-1.921875 0l0 8.546875l-1.65625 0zm4.792679 
-11.6875l0 -1.90625l1.671875 0l0 1.90625l-1.671875 0zm0 11.6875l0 
-9.859375l1.671875 0l0 9.859375l-1.671875 0zm2.5979462 3.78125l0 
-1.21875l11.0625 0l0 1.21875l-11.0625 0zm18.297592 -3.78125l0 -1.25q-0.9375 
1.46875 -2.75 1.46875q-1.171875 0 -2.171875 -0.640625q-0.984375 -0.65625 
-1.53125 -1.8125q-0.53125 -1.171875 -0.53125 -2.6875q0 -1.46875 0.484375 
-2.671875q0.5 -1.203125 1.46875 -1.84375q0.984375 -0.640625 2.203125 
-0.640625q0.890625 0 1.578125 0.375q0.703125 0.375 1.140625 0.984375l0 
-4.875l1.65625 0l0 13.59375l-1.546875 0zm-5.28125 -4.921875q0 1.890625 0.796875 
2.828125q0.8125 0.9375 1.890625 0.9375q1.09375 0 1.859375 -0.890625q0.765625 
-0.890625 0.765625 -2.734375q0 -2.015625 -0.78125 -2.953125q-0.78125 -0.953125 
-1.921875 -0.953125q-1.109375 0 -1.859375 0.90625q-0.75 0.90625 -0.75 
2.859375zm15.703842 3.703125q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 
-1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.
 875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 
0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 
-0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 
-0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 
0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 
-1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 
-0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 
0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 
2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 
0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 
-2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 
0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 
0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 
-1.15625q0.26
 5625 -0.578125 0.265625 -1.671875l0 -0.609375zm7.735092 3.4375l0.234375 
1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 
-0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 
-1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 
3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 
0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 
-0.078125zm7.964554 0.28125q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 
-1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 
-2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 
-0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 
-0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 
-0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 
0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 
-1.046875 0.734375 -1.6875q0.515625 -0.640625 1.4687
 5 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 
0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 
0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 
0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 
-1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 
0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 
0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 
0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 
-0.578125 0.265625 -1.671875l0 -0.609375z" fill-rule="nonzero"></path><path 
fill="#9fc5e8" d="m206.0 10.0l149.00787 0l0 36.0l-149.00787 0z" 
fill-rule="evenodd"></path><path stroke="#000000" stroke-width="1.0" 
stroke-linejoin="round" stroke-linecap="butt" d="m206.0 10.0l149.00787 0l0 
36.0l-149.00787 0z" fill-rule="evenodd"></path><path fill="#000000" 
d="m248.05334 34.92l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.14062
 5 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 
0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 
-6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 
-0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 
-0.765625 2.578125l0 5.375l-1.671875 0zm10.391357 -11.6875l0 -1.90625l1.671875 
0l0 1.90625l-1.671875 0zm0 11.6875l0 -9.859375l1.671875 0l0 9.859375l-1.671875 
0zm4.535431 0l0 -8.546875l-1.484375 0l0 -1.3125l1.484375 0l0 -1.046875q0 
-0.984375 0.171875 -1.46875q0.234375 -0.65625 0.84375 -1.046875q0.609375 
-0.40625 1.703125 -0.40625q0.703125 0 1.5625 0.15625l-0.25 1.46875q-0.515625 
-0.09375 -0.984375 -0.09375q-0.765625 0 -1.078125 0.328125q-0.3125 0.3125 
-0.3125 1.203125l0 0.90625l1.921875 0l0 1.3125l-1.921875 0l0 8.546875l-1.65625 
0zm4.792694 -11.6875l0 -1.90625l1.671875 0l0 1.90625l-1.671875 0zm0 11.6875l0 
-9.859375l1.671875 0l0 9.859375l-1.671875 0zm2.597931 3.78125l0 
-1.21875l11.0625 
 0l0 1.21875l-11.0625 0zm12.313232 -3.78125l0 -8.546875l-1.484375 0l0 
-1.3125l1.484375 0l0 -1.046875q0 -0.984375 0.171875 -1.46875q0.234375 -0.65625 
0.84375 -1.046875q0.609375 -0.40625 1.703125 -0.40625q0.703125 0 1.5625 
0.15625l-0.25 1.46875q-0.515625 -0.09375 -0.984375 -0.09375q-0.765625 0 
-1.078125 0.328125q-0.3125 0.3125 -0.3125 1.203125l0 0.90625l1.921875 0l0 
1.3125l-1.921875 0l0 8.546875l-1.65625 0zm4.7457886 0l0 -13.59375l1.671875 0l0 
13.59375l-1.671875 0zm3.5510864 -4.921875q0 -2.734375 1.53125 -4.0625q1.265625 
-1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 
3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 
0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 
-3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 
0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 
-0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 
0.9375q-0.82812
 5 0.9375 -0.828125 2.828125zm11.110077 4.921875l-3.015625 -9.859375l1.71875 
0l1.5625 5.6875l0.59375 2.125q0.03125 -0.15625 0.5 -2.03125l1.578125 
-5.78125l1.71875 0l1.46875 5.71875l0.484375 1.890625l0.578125 -1.90625l1.6875 
-5.703125l1.625 0l-3.078125 9.859375l-1.734375 0l-1.578125 -5.90625l-0.375 
-1.671875l-2.0 7.578125l-1.734375 0z" fill-rule="nonzero"></path><path 
fill="#b6d7a8" d="m395.0 10.0l149.00787 0l0 36.0l-149.00787 0z" 
fill-rule="evenodd"></path><path stroke="#000000" stroke-width="1.0" 
stroke-linejoin="round" stroke-linecap="butt" d="m395.0 10.0l149.00787 0l0 
36.0l-149.00787 0z" fill-rule="evenodd"></path><path fill="#000000" 
d="m406.44543 34.92l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 
-1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 
0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 
-1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 
-1.171875 -0.296875q-1.0625 0 -1.84375 0.6718
 75q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm10.391357 
-11.6875l0 -1.90625l1.671875 0l0 1.90625l-1.671875 0zm0 11.6875l0 
-9.859375l1.671875 0l0 9.859375l-1.671875 0zm4.535431 0l0 -8.546875l-1.484375 
0l0 -1.3125l1.484375 0l0 -1.046875q0 -0.984375 0.171875 -1.46875q0.234375 
-0.65625 0.84375 -1.046875q0.609375 -0.40625 1.703125 -0.40625q0.703125 0 
1.5625 0.15625l-0.25 1.46875q-0.515625 -0.09375 -0.984375 -0.09375q-0.765625 0 
-1.078125 0.328125q-0.3125 0.3125 -0.3125 1.203125l0 0.90625l1.921875 0l0 
1.3125l-1.921875 0l0 8.546875l-1.65625 0zm4.792694 -11.6875l0 -1.90625l1.671875 
0l0 1.90625l-1.671875 0zm0 11.6875l0 -9.859375l1.671875 0l0 9.859375l-1.671875 
0zm2.597931 3.78125l0 -1.21875l11.0625 0l0 1.21875l-11.0625 0zm11.281982 
-8.703125q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 
-1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 
-0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 
0.59375q-2.0625 0 -3.34375 -1.32
 8125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 
2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 
-0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 
-2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 
2.828125zm15.735077 4.921875l0 -1.453125q-1.140625 1.671875 -3.125 
1.671875q-0.859375 0 -1.625 -0.328125q-0.75 -0.34375 -1.125 -0.84375q-0.359375 
-0.5 -0.515625 -1.234375q-0.09375 -0.5 -0.09375 -1.5625l0 -6.109375l1.671875 
0l0 5.46875q0 1.3125 0.09375 1.765625q0.15625 0.65625 0.671875 1.03125q0.515625 
0.375 1.265625 0.375q0.75 0 1.40625 -0.375q0.65625 -0.390625 0.921875 
-1.046875q0.28125 -0.671875 0.28125 -1.9375l0 -5.28125l1.671875 0l0 
9.859375l-1.5 0zm7.5788574 -1.5l0.234375 1.484375q-0.703125 0.140625 -1.265625 
0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 
-0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 
-2.4375l1.65625 -1.0l0 3.4375l1.
 6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 
0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 
-0.078125zm1.5270386 5.28125l0 -13.640625l1.53125 0l0 1.28125q0.53125 -0.75 
1.203125 -1.125q0.6875 -0.375 1.640625 -0.375q1.265625 0 2.234375 
0.65625q0.96875 0.640625 1.453125 1.828125q0.5 1.1875 0.5 2.59375q0 1.515625 
-0.546875 2.734375q-0.546875 1.203125 -1.578125 1.84375q-1.03125 0.640625 
-2.171875 0.640625q-0.84375 0 -1.515625 -0.34375q-0.65625 -0.359375 -1.078125 
-0.890625l0 4.796875l-1.671875 0zm1.515625 -8.65625q0 1.90625 0.765625 
2.8125q0.78125 0.90625 1.875 0.90625q1.109375 0 1.890625 -0.9375q0.796875 
-0.9375 0.796875 -2.921875q0 -1.875 -0.78125 -2.8125q-0.765625 -0.9375 -1.84375 
-0.9375q-1.0625 0 -1.890625 1.0q-0.8125 1.0 -0.8125 2.890625zm15.313232 4.875l0 
-1.453125q-1.140625 1.671875 -3.125 1.671875q-0.859375 0 -1.625 -0.328125q-0.75 
-0.34375 -1.125 -0.84375q-0.359375 -0.5 -0.515625 -1.234375q-0.09375 -0.5 
-0.09375 -1.5625l0 -6
 .109375l1.671875 0l0 5.46875q0 1.3125 0.09375 1.765625q0.15625 0.65625 
0.671875 1.03125q0.515625 0.375 1.265625 0.375q0.75 0 1.40625 -0.375q0.65625 
-0.390625 0.921875 -1.046875q0.28125 -0.671875 0.28125 -1.9375l0 
-5.28125l1.671875 0l0 9.859375l-1.5 0zm7.578827 -1.5l0.234375 
1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 
-0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 
-1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 
3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 
0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 
-0.078125zm-0.004180908 5.28125l0 -1.21875l11.0625 0l0 1.21875l-11.0625 
0zm11.906952 0l0 -13.640625l1.53125 0l0 1.28125q0.53125 -0.75 1.203125 
-1.125q0.6875 -0.375 1.640625 -0.375q1.265625 0 2.234375 0.65625q0.96875 
0.640625 1.453125 1.828125q0.5 1.1875 0.5 2.59375q0 1.515625 -0.546875 
2.734375q-0.546875 1.203125 -1.578125 1.84375q-1.03125 0.640625 -
 2.171875 0.640625q-0.84375 0 -1.515625 -0.34375q-0.65625 -0.359375 -1.078125 
-0.890625l0 4.796875l-1.671875 0zm1.515625 -8.65625q0 1.90625 0.765625 
2.8125q0.78125 0.90625 1.875 0.90625q1.109375 0 1.890625 -0.9375q0.796875 
-0.9375 0.796875 -2.921875q0 -1.875 -0.78125 -2.8125q-0.765625 -0.9375 -1.84375 
-0.9375q-1.0625 0 -1.890625 1.0q-0.8125 1.0 -0.8125 2.890625zm8.235077 
-0.046875q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 
-1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 
-0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 
0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 
-3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 
0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 
-0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 
0.9375q-0.828125 0.9375 -0.828125 2.828125zm9.266357 4.921875l0 -9.859375l1.5 
0l0 1.5q0.578125 -1.046875 1.0625 -1.375q
 0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 
1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 
0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 
1.953125l0 5.15625l-1.671875 0zm9.8845825 -1.5l0.234375 1.484375q-0.703125 
0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 
-0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 
-1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 
0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 
0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125z" 
fill-rule="nonzero"></path><path fill="#9fc5e8" d="m206.0 84.0l149.00787 0l0 
36.0l-149.00787 0z" fill-rule="evenodd"></path><path stroke="#000000" 
stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m206.0 
84.0l149.00787 0l0 36.0l-149.00787 0z" fill-rule="evenodd"></path><path 
fill="#000000" d="m224.71027 108.92l0 -9.859375l
 1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 
0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 
0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 
-1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 
-0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 
5.375l-1.671875 0zm10.391342 -11.6875l0 -1.90625l1.671875 0l0 1.90625l-1.671875 
0zm0 11.6875l0 -9.859375l1.671875 0l0 9.859375l-1.671875 0zm4.535446 0l0 
-8.546875l-1.484375 0l0 -1.3125l1.484375 0l0 -1.046875q0 -0.984375 0.171875 
-1.46875q0.234375 -0.65625 0.84375 -1.046875q0.609375 -0.40625 1.703125 
-0.40625q0.703125 0 1.5625 0.15625l-0.25 1.46875q-0.515625 -0.09375 -0.984375 
-0.09375q-0.765625 0 -1.078125 0.328125q-0.3125 0.3125 -0.3125 1.203125l0 
0.90625l1.921875 0l0 1.3125l-1.921875 0l0 8.546875l-1.65625 0zm4.792679 
-11.6875l0 -1.90625l1.671875 0l0 1.90625l-1.671875 0zm0 11.6875l0 
-9.859375l1.671875 0l0 9.859375l-1.671875 0
 zm2.5979462 3.78125l0 -1.21875l11.0625 0l0 1.21875l-11.0625 0zm12.313202 
-3.78125l0 -8.546875l-1.484375 0l0 -1.3125l1.484375 0l0 -1.046875q0 -0.984375 
0.171875 -1.46875q0.234375 -0.65625 0.84375 -1.046875q0.609375 -0.40625 
1.703125 -0.40625q0.703125 0 1.5625 0.15625l-0.25 1.46875q-0.515625 -0.09375 
-0.984375 -0.09375q-0.765625 0 -1.078125 0.328125q-0.3125 0.3125 -0.3125 
1.203125l0 0.90625l1.921875 0l0 1.3125l-1.921875 0l0 8.546875l-1.65625 
0zm4.745819 0l0 -13.59375l1.671875 0l0 13.59375l-1.671875 0zm3.551056 
-4.921875q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 
-1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 
-0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 
0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 
-3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 
0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 
-0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9
 375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm11.110107 
4.921875l-3.015625 -9.859375l1.71875 0l1.5625 5.6875l0.59375 2.125q0.03125 
-0.15625 0.5 -2.03125l1.578125 -5.78125l1.71875 0l1.46875 5.71875l0.484375 
1.890625l0.578125 -1.90625l1.6875 -5.703125l1.625 0l-3.078125 
9.859375l-1.734375 0l-1.578125 -5.90625l-0.375 -1.671875l-2.0 
7.578125l-1.734375 0zm10.113586 3.78125l0 -1.21875l11.0625 0l0 1.21875l-11.0625 
0zm11.906952 0l0 -13.640625l1.53125 0l0 1.28125q0.53125 -0.75 1.203125 
-1.125q0.6875 -0.375 1.640625 -0.375q1.265625 0 2.234375 0.65625q0.96875 
0.640625 1.453125 1.828125q0.5 1.1875 0.5 2.59375q0 1.515625 -0.546875 
2.734375q-0.546875 1.203125 -1.578125 1.84375q-1.03125 0.640625 -2.171875 
0.640625q-0.84375 0 -1.515625 -0.34375q-0.65625 -0.359375 -1.078125 -0.890625l0 
4.796875l-1.671875 0zm1.515625 -8.65625q0 1.90625 0.765625 2.8125q0.78125 
0.90625 1.875 0.90625q1.109375 0 1.890625 -0.9375q0.796875 -0.9375 0.796875 
-2.921875q0 -1.875 -0.78125 -2.8125q-0.765625 -0
 .9375 -1.84375 -0.9375q-1.0625 0 -1.890625 1.0q-0.8125 1.0 -0.8125 
2.890625zm15.297577 3.65625q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 
-1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 
-2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 
-0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 
-0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 
-0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 
0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 
-1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 
-0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 
0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 
2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 
0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 
-2.734375 0.625q-1.03125 0.140625 -1.453125 0.3
 28125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 
0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 
-0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 
-1.671875l0 -0.609375zm7.7351074 3.4375l0.234375 1.484375q-0.703125 0.140625 
-1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 
-0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 
-1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 
0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 
0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm1.5270386 
1.5l0 -13.59375l1.671875 0l0 4.875q1.171875 -1.359375 2.953125 
-1.359375q1.09375 0 1.890625 0.4375q0.8125 0.421875 1.15625 1.1875q0.359375 
0.765625 0.359375 2.203125l0 6.25l-1.671875 0l0 -6.25q0 -1.25 -0.546875 
-1.8125q-0.546875 -0.578125 -1.53125 -0.578125q-0.75 0 -1.40625 
0.390625q-0.640625 0.375 -0.921875 1.046875q-0.28125 0.65625 -0
 .28125 1.8125l0 5.390625l-1.671875 0z" fill-rule="nonzero"></path><path 
fill="#b6d7a8" d="m395.0 84.0l149.00787 0l0 36.0l-149.00787 0z" 
fill-rule="evenodd"></path><path stroke="#000000" stroke-width="1.0" 
stroke-linejoin="round" stroke-linecap="butt" d="m395.0 84.0l149.00787 0l0 
36.0l-149.00787 0z" fill-rule="evenodd"></path><path fill="#000000" 
d="m427.70245 108.92l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 
-1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 
0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 
-1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 
-1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 
2.578125l0 5.375l-1.671875 0zm10.391357 -11.6875l0 -1.90625l1.671875 0l0 
1.90625l-1.671875 0zm0 11.6875l0 -9.859375l1.671875 0l0 9.859375l-1.671875 
0zm4.535431 0l0 -8.546875l-1.484375 0l0 -1.3125l1.484375 0l0 -1.046875q0 
-0.984375 0.171875 -1.46875q0.234375 -0.656
 25 0.84375 -1.046875q0.609375 -0.40625 1.703125 -0.40625q0.703125 0 1.5625 
0.15625l-0.25 1.46875q-0.515625 -0.09375 -0.984375 -0.09375q-0.765625 0 
-1.078125 0.328125q-0.3125 0.3125 -0.3125 1.203125l0 0.90625l1.921875 0l0 
1.3125l-1.921875 0l0 8.546875l-1.65625 0zm4.792694 -11.6875l0 -1.90625l1.671875 
0l0 1.90625l-1.671875 0zm0 11.6875l0 -9.859375l1.671875 0l0 9.859375l-1.671875 
0zm2.597931 3.78125l0 -1.21875l11.0625 0l0 1.21875l-11.0625 0zm18.188202 0l0 
-4.828125q-0.390625 0.546875 -1.09375 0.90625q-0.6875 0.359375 -1.484375 
0.359375q-1.75 0 -3.015625 -1.390625q-1.265625 -1.40625 -1.265625 -3.84375q0 
-1.484375 0.515625 -2.65625q0.515625 -1.1875 1.484375 -1.796875q0.984375 
-0.609375 2.15625 -0.609375q1.828125 0 2.875 1.546875l0 -1.328125l1.5 0l0 
13.640625l-1.671875 0zm-5.140625 -8.734375q0 1.90625 0.796875 2.859375q0.796875 
0.9375 1.90625 0.9375q1.0625 0 1.828125 -0.890625q0.78125 -0.90625 0.78125 
-2.765625q0 -1.953125 -0.8125 -2.953125q-0.8125 -1.0 -1.90625 -1.0q-1.09375 0 
-1.84375 0
 .9375q-0.75 0.921875 -0.75 2.875zm15.688232 4.953125l0 -1.453125q-1.140625 
1.671875 -3.125 1.671875q-0.859375 0 -1.625 -0.328125q-0.75 -0.34375 -1.125 
-0.84375q-0.359375 -0.5 -0.515625 -1.234375q-0.09375 -0.5 -0.09375 -1.5625l0 
-6.109375l1.671875 0l0 5.46875q0 1.3125 0.09375 1.765625q0.15625 0.65625 
0.671875 1.03125q0.515625 0.375 1.265625 0.375q0.75 0 1.40625 -0.375q0.65625 
-0.390625 0.921875 -1.046875q0.28125 -0.671875 0.28125 -1.9375l0 
-5.28125l1.671875 0l0 9.859375l-1.5 0zm10.672607 -3.171875l1.71875 
0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 
0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 
-3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 
-1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 
-0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 
2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 
-1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -
 1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 
0.78125q-0.78125 0.765625 -0.859375 2.046875zm15.563202 5.875l0 
-1.453125q-1.140625 1.671875 -3.125 1.671875q-0.859375 0 -1.625 -0.328125q-0.75 
-0.34375 -1.125 -0.84375q-0.359375 -0.5 -0.515625 -1.234375q-0.09375 -0.5 
-0.09375 -1.5625l0 -6.109375l1.671875 0l0 5.46875q0 1.3125 0.09375 
1.765625q0.15625 0.65625 0.671875 1.03125q0.515625 0.375 1.265625 0.375q0.75 0 
1.40625 -0.375q0.65625 -0.390625 0.921875 -1.046875q0.28125 -0.671875 0.28125 
-1.9375l0 -5.28125l1.671875 0l0 9.859375l-1.5 0zm10.672577 -3.171875l1.71875 
0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 
0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 
-3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 
-1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 
-0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 
2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.48437
 5 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 
-1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 
0.78125q-0.78125 0.765625 -0.859375 2.046875z" fill-rule="nonzero"></path><path 
fill="#b6d7a8" d="m17.0 158.0l149.00787 0l0 36.0l-149.00787 0z" 
fill-rule="evenodd"></path><path stroke="#000000" stroke-width="1.0" 
stroke-linejoin="round" stroke-linecap="butt" d="m17.0 158.0l149.00787 0l0 
36.0l-149.00787 0z" fill-rule="evenodd"></path><path fill="#000000" d="m32.7996 
176.295q0 -3.390625 1.8125 -5.296875q1.828125 -1.921875 4.703125 
-1.921875q1.875 0 3.390625 0.90625q1.515625 0.890625 2.296875 2.5q0.796875 
1.609375 0.796875 3.65625q0 2.0625 -0.84375 3.703125q-0.828125 1.625 -2.359375 
2.46875q-1.53125 0.84375 -3.296875 0.84375q-1.921875 0 -3.4375 -0.921875q-1.5 
-0.9375 -2.28125 -2.53125q-0.78125 -1.609375 -0.78125 -3.40625zm1.859375 
0.03125q0 2.453125 1.3125 3.875q1.328125 1.40625 3.3125 1.40625q2.03125 0 
3.34375 -1.421875q1.3125 -1.4375 1.3125 -4
 .0625q0 -1.65625 -0.5625 -2.890625q-0.546875 -1.234375 -1.640625 
-1.921875q-1.078125 -0.6875 -2.421875 -0.6875q-1.90625 0 -3.28125 1.3125q-1.375 
1.3125 -1.375 4.390625zm16.636429 5.09375l0.234375 1.484375q-0.703125 0.140625 
-1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 
-0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 
-1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 
0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 
0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm1.5270538 
1.5l0 -13.59375l1.671875 0l0 4.875q1.171875 -1.359375 2.953125 
-1.359375q1.09375 0 1.890625 0.4375q0.8125 0.421875 1.15625 1.1875q0.359375 
0.765625 0.359375 2.203125l0 6.25l-1.671875 0l0 -6.25q0 -1.25 -0.546875 
-1.8125q-0.546875 -0.578125 -1.53125 -0.578125q-0.75 0 -1.40625 
0.390625q-0.640625 0.375 -0.921875 1.046875q-0.28125 0.65625 -0.28125 1.8125l0 
5.390625l-1.671875 0zm17.125717 -3.171875l1.71875 0.2187
 5q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 
-3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 
1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 
1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 
0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 
1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 
0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 
-0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 
2.046875zm9.094467 5.875l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 
-1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 
1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 
0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 
1.953125l0 5.15625l-1.671875 0zm11.630356 0l0 -13.59375l4.6875 0q1.578125 0 
2.421875 0.1875q1.15625 0.265625 1.984
 375 0.96875q1.078125 0.921875 1.609375 2.34375q0.53125 1.40625 0.53125 
3.21875q0 1.546875 -0.359375 2.75q-0.359375 1.1875 -0.921875 1.984375q-0.5625 
0.78125 -1.234375 1.234375q-0.671875 0.4375 -1.625 0.671875q-0.953125 0.234375 
-2.1875 0.234375l-4.90625 0zm1.796875 -1.609375l2.90625 0q1.34375 0 2.109375 
-0.25q0.765625 -0.25 1.21875 -0.703125q0.640625 -0.640625 1.0 -1.71875q0.359375 
-1.078125 0.359375 -2.625q0 -2.125 -0.703125 -3.265625q-0.703125 -1.15625 
-1.703125 -1.546875q-0.71875 -0.28125 -2.328125 -0.28125l-2.859375 0l0 
10.390625zm17.894821 0.390625q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 
-1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 
-2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 
-0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 
-0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 
-0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 
0.40625q-0.5625 0.40625 -0.828125
  1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 
-0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 
2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 
1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 
2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 
-0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 
0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 
0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 
0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 
-1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm7.735092 
3.4375l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 
-1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 
-1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 
3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.7187
 5 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 
0.125q0.265625 0 0.734375 -0.078125zm7.964554 0.28125q-0.9375 0.796875 
-1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 
-0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 
-1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 
-0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 
-0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 
-0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 
1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 
-0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 
2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 
1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 
2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 
-0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375
  0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 
0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 
0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 
-1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm3.6882172 
0.5625l1.6875 -0.140625q0.125 1.015625 0.5625 1.671875q0.4375 0.65625 1.359375 
1.0625q0.9375076 0.40625 2.0937576 0.40625q1.03125 0 1.8125 -0.3125q0.796875 
-0.3125 1.1875 -0.84375q0.390625 -0.53125 0.390625 -1.15625q0 -0.640625 -0.375 
-1.109375q-0.375 -0.484375 -1.234375 -0.8125q-0.546875 -0.21875 -2.421875 
-0.65625q-1.8750076 -0.453125 -2.6250076 -0.859375q-0.96875 -0.515625 -1.453125 
-1.265625q-0.46875 -0.75 -0.46875 -1.6875q0 -1.03125 0.578125 -1.921875q0.59375 
-0.90625 1.703125 -1.359375q1.125 -0.46875 2.5000076 -0.46875q1.515625 0 
2.671875 0.484375q1.15625 0.484375 1.765625 1.4375q0.625 0.9375 0.671875 
2.140625l-1.71875 0.125q-0.140625 -1.28125 -0.953125 -1.9375q-0.796875 
-0.671875 -2.359375 -
 0.671875q-1.6250076 0 -2.3750076 0.609375q-0.75 0.59375 -0.75 1.4375q0 
0.734375 0.53125 1.203125q0.515625 0.46875 2.7031326 0.96875q2.203125 0.5 
3.015625 0.875q1.1875 0.546875 1.75 1.390625q0.578125 0.828125 0.578125 
1.921875q0 1.09375 -0.625 2.0625q-0.625 0.953125 -1.796875 1.484375q-1.15625 
0.53125 -2.609375 0.53125q-1.8437576 0 -3.0937576 -0.53125q-1.25 -0.546875 
-1.96875 -1.625q-0.703125 -1.078125 -0.734375 -2.453125zm19.584206 
1.203125l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 
-2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 
-3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 
-1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 
-0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 
2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 
-1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 
-1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 
 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm12.766327 
4.375l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 
-1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 
-1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 
3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 
0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 
-0.078125z" fill-rule="nonzero"></path><path fill="#b6d7a8" d="m395.0 
158.0l149.00787 0l0 36.0l-149.00787 0z" fill-rule="evenodd"></path><path 
stroke="#000000" stroke-width="1.0" stroke-linejoin="round" 
stroke-linecap="butt" d="m395.0 158.0l149.00787 0l0 36.0l-149.00787 0z" 
fill-rule="evenodd"></path><path fill="#000000" d="m410.7996 176.295q0 
-3.390625 1.8125 -5.296875q1.828125 -1.921875 4.703125 -1.921875q1.875 0 
3.390625 0.90625q1.515625 0.890625 2.296875 2.5q0.796875 1.609375 0.796875 
3.65625q0 2.0625 -0.84375 3.703125q-0.828125 1.625 -
 2.359375 2.46875q-1.53125 0.84375 -3.296875 0.84375q-1.921875 0 -3.4375 
-0.921875q-1.5 -0.9375 -2.28125 -2.53125q-0.78125 -1.609375 -0.78125 
-3.40625zm1.859375 0.03125q0 2.453125 1.3125 3.875q1.328125 1.40625 3.3125 
1.40625q2.03125 0 3.34375 -1.421875q1.3125 -1.4375 1.3125 -4.0625q0 -1.65625 
-0.5625 -2.890625q-0.546875 -1.234375 -1.640625 -1.921875q-1.078125 -0.6875 
-2.421875 -0.6875q-1.90625 0 -3.28125 1.3125q-1.375 1.3125 -1.375 
4.390625zm16.636444 5.09375l0.234375 1.484375q-0.703125 0.140625 -1.265625 
0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 
-0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 
-2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 
0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 
0.125q0.265625 0 0.734375 -0.078125zm1.5270386 1.5l0 -13.59375l1.671875 0l0 
4.875q1.171875 -1.359375 2.953125 -1.359375q1.09375 0 1.890625 0.4375q0.8125 
0.421875 1.15625 1.1875q0.35
 9375 0.765625 0.359375 2.203125l0 6.25l-1.671875 0l0 -6.25q0 -1.25 -0.546875 
-1.8125q-0.546875 -0.578125 -1.53125 -0.578125q-0.75 0 -1.40625 
0.390625q-0.640625 0.375 -0.921875 1.046875q-0.28125 0.65625 -0.28125 1.8125l0 
5.390625l-1.671875 0zm17.125732 -3.171875l1.71875 0.21875q-0.40625 1.5 
-1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 
-1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 
-3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 
1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 
0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 
-0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 
0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 
-0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 
2.046875zm9.094452 5.875l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 
-1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0
 .546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 
-0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 
-0.28125 1.953125l0 5.15625l-1.671875 0zm11.630371 0l0 -13.59375l4.6875 
0q1.578125 0 2.421875 0.1875q1.15625 0.265625 1.984375 0.96875q1.078125 
0.921875 1.609375 2.34375q0.53125 1.40625 0.53125 3.21875q0 1.546875 -0.359375 
2.75q-0.359375 1.1875 -0.921875 1.984375q-0.5625 0.78125 -1.234375 
1.234375q-0.671875 0.4375 -1.625 0.671875q-0.953125 0.234375 -2.1875 
0.234375l-4.90625 0zm1.796875 -1.609375l2.90625 0q1.34375 0 2.109375 
-0.25q0.765625 -0.25 1.21875 -0.703125q0.640625 -0.640625 1.0 -1.71875q0.359375 
-1.078125 0.359375 -2.625q0 -2.125 -0.703125 -3.265625q-0.703125 -1.15625 
-1.703125 -1.546875q-0.71875 -0.28125 -2.328125 -0.28125l-2.859375 0l0 
10.390625zm17.894806 0.390625q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 
-1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 
-2.03125q0 -0.734375 0.328125 -1.328125q
 0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 
-0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 
-0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 
-0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 
1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 
-0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 
2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 
1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 
2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 
-0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 
0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 
0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 
0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 
-1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm7.7351074 3.43
 75l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 
-0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 
-1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 
3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 
0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 
-0.078125zm7.9645386 0.28125q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 
-1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 
-2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 
-0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 
-0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 
-0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 
0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 
-1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 
-0.359375 2.25 -0.359375q1.265625 0 2.0
 46875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 
1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 
2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 
-0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 
0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 
0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 
0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 
-1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm3.6882324 
0.5625l1.6875 -0.140625q0.125 1.015625 0.5625 1.671875q0.4375 0.65625 1.359375 
1.0625q0.9375 0.40625 2.09375 0.40625q1.03125 0 1.8125 -0.3125q0.796875 -0.3125 
1.1875 -0.84375q0.390625 -0.53125 0.390625 -1.15625q0 -0.640625 -0.375 
-1.109375q-0.375 -0.484375 -1.234375 -0.8125q-0.546875 -0.21875 -2.421875 
-0.65625q-1.875 -0.453125 -2.625 -0.859375q-0.96875 -0.515625 -1.453125 
-1.265625q-0.46875 -0.75 -0.46875 -1.6875q0 -1.03125 
 0.578125 -1.921875q0.59375 -0.90625 1.703125 -1.359375q1.125 -0.46875 2.5 
-0.46875q1.515625 0 2.671875 0.484375q1.15625 0.484375 1.765625 1.4375q0.625 
0.9375 0.671875 2.140625l-1.71875 0.125q-0.140625 -1.28125 -0.953125 
-1.9375q-0.796875 -0.671875 -2.359375 -0.671875q-1.625 0 -2.375 0.609375q-0.75 
0.59375 -0.75 1.4375q0 0.734375 0.53125 1.203125q0.515625 0.46875 2.703125 
0.96875q2.203125 0.5 3.015625 0.875q1.1875 0.546875 1.75 1.390625q0.578125 
0.828125 0.578125 1.921875q0 1.09375 -0.625 2.0625q-0.625 0.953125 -1.796875 
1.484375q-1.15625 0.53125 -2.609375 0.53125q-1.84375 0 -3.09375 -0.53125q-1.25 
-0.546875 -1.96875 -1.625q-0.703125 -1.078125 -0.734375 -2.453125zm19.584167 
1.203125l1.718811 0.21875q-0.40631104 1.5 -1.515686 2.34375q-1.09375 0.828125 
-2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 
-3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 
-1.375q1.984375 0 3.234375 1.34375q1.250061 1.34375 1.250061 3.796875q0 
0.140625 -0.015625 0.4
 375l-7.343811 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 
0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 
-1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 
-1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 
0.78125q-0.78125 0.765625 -0.859375 2.046875zm12.766357 4.375l0.234375 
1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 
-0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 
-1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 
3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 
0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 
-0.078125z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" 
d="m166.00787 102.0l40.0 0" fill-rule="evenodd"></path><path stroke="#cc0000" 
stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m166.00787 
102.0l34.0 0" fill-rule="evenodd"></path><path fill
 ="#cc0000" stroke="#cc0000" stroke-width="1.0" stroke-linecap="butt" 
d="m200.00787 103.65173l4.538101 -1.6517334l-4.538101 -1.6517334z" 
fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" 
d="m166.00787 28.0l41.007874 53.007874" fill-rule="evenodd"></path><path 
stroke="#cc0000" stroke-width="1.0" stroke-linejoin="round" 
stroke-linecap="butt" d="m166.00787 28.0l37.336533 48.262215" 
fill-rule="evenodd"></path><path fill="#cc0000" stroke="#cc0000" 
stroke-width="1.0" stroke-linecap="butt" d="m202.038 77.27289l4.0832367 
2.5787048l-1.4703827 -4.6000595z" fill-rule="evenodd"></path><path 
fill="#000000" fill-opacity="0.0" d="m166.00787 176.0l41.007874 -54.015747" 
fill-rule="evenodd"></path><path stroke="#cc0000" stroke-width="1.0" 
stroke-linejoin="round" stroke-linecap="butt" d="m166.00787 176.0l37.379837 
-49.2369" fill-rule="evenodd"></path><path fill="#cc0000" stroke="#cc0000" 
stroke-width="1.0" stroke-linecap="butt" d="m204.7033 127.761856l1.428482 
-4.6132355l-4.059616 2.61
 57303z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" 
d="m355.00787 102.0l40.0 0" fill-rule="evenodd"></path><path stroke="#cc0000" 
stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m355.00787 
102.0l34.0 0" fill-rule="evenodd"></path><path fill="#cc0000" stroke="#cc0000" 
stroke-width="1.0" stroke-linecap="butt" d="m389.00787 103.65173l4.538086 
-1.6517334l-4.538086 -1.6517334z" fill-rule="evenodd"></path><path 
fill="#000000" fill-opacity="0.0" d="m352.98425 82.01575l42.015747 -54.015747" 
fill-rule="evenodd"></path><path stroke="#cc0000" stroke-width="1.0" 
stroke-linejoin="round" stroke-linecap="butt" d="m352.98425 82.01575l38.33191 
-49.27978" fill-rule="evenodd"></path><path fill="#cc0000" stroke="#cc0000" 
stroke-width="1.0" stroke-linecap="butt" d="m392.61993 33.750084l1.4824829 
-4.5961647l-4.0899963 2.5679264z" fill-rule="evenodd"></path><path 
fill="#000000" fill-opacity="0.0" d="m352.98425 121.98425l42.015747 54.015747" 
fill-rule="evenodd"></
 path><path stroke="#cc0000" stroke-width="1.0" stroke-linejoin="round" 
stroke-linecap="butt" d="m352.98425 121.98425l38.33191 49.279785" 
fill-rule="evenodd"></path><path fill="#cc0000" stroke="#cc0000" 
stroke-width="1.0" stroke-linecap="butt" d="m390.01242 172.27815l4.0899963 
2.5679321l-1.4824829 -4.596161z" fill-rule="evenodd"></path><path 
fill="#000000" fill-opacity="0.0" d="m469.50394 120.0l0 25.0l-189.00787 0l0 
-24.937004" fill-rule="evenodd"></path><path stroke="#cc0000" 
stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m469.50394 
120.0l0 25.0l-189.00787 0l0 -18.937004" fill-rule="evenodd"></path><path 
fill="#cc0000" stroke="#cc0000" stroke-width="1.0" stroke-linecap="butt" 
d="m282.1478 126.06299l-1.6517334 -4.5380936l-1.6517334 4.5380936z" 
fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" 
d="m166.00787 28.0l40.0 0" fill-rule="evenodd"></path><path stroke="#666666" 
stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m166.00787 
 28.0l34.37172 0" fill-rule="evenodd"></path><path fill="#666666" 
stroke="#666666" stroke-width="1.0" stroke-linecap="butt" d="m200.3796 
28.0l2.3782806 1.665287l2.3782806 -1.665287l-2.3782806 -1.665287z" 
fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m166.0 
82.0l44.0 -32.0" fill-rule="evenodd"></path><path stroke="#666666" 
stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m166.0 
82.0l39.448196 -28.689606" fill-rule="evenodd"></path><path fill="#666666" 
stroke="#666666" stroke-width="1.0" stroke-linecap="butt" d="m205.44821 
53.310394l2.9028778 -0.052059174l0.94392395 -2.745613l-2.9028778 0.052059174z" 
fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" 
d="m280.50394 84.0l0 -37.984253" fill-rule="evenodd"></path><path 
stroke="#666666" stroke-width="1.0" stroke-linejoin="round" 
stroke-linecap="butt" d="m280.50394 84.0l0 -32.355976" 
fill-rule="evenodd"></path><path fill="#666666" stroke="#666666" 
stroke-width="1.0" stroke-linecap="b
 utt" d="m280.50394 51.644024l1.6652832 -2.3782768l-1.6652832 
-2.3782768l-1.6652832 2.3782768z" fill-rule="evenodd"></path><path 
fill="#000000" fill-opacity="0.0" d="m394.0 82.0l-36.97638 -34.015747" 
fill-rule="evenodd"></path><path stroke="#666666" stroke-width="1.0" 
stroke-linejoin="round" stroke-linecap="butt" d="m394.0 82.0l-32.834198 
-30.205242" fill-rule="evenodd"></path><path fill="#666666" stroke="#666666" 
stroke-width="1.0" stroke-linecap="butt" d="m361.16577 51.79476l-0.62283325 
-2.835743l-2.877777 -0.38458633l0.62286377 2.835743z" 
fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m395.0 
28.0l-40.0 0" fill-rule="evenodd"></path><path stroke="#666666" 
stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m395.0 
28.0l-34.371704 0" fill-rule="evenodd"></path><path fill="#666666" 
stroke="#666666" stroke-width="1.0" stroke-linecap="butt" d="m360.62827 
28.0l-2.3782654 -1.665287l-2.3782654 1.665287l2.3782654 1.665287z" 
fill-rule="evenodd"></path><
 /g></svg>
+

http://git-wip-us.apache.org/repos/asf/nifi/blob/fc73c609/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/main/resources/docs/org.apache.nifi.atlas.reporting.ReportLineageToAtlas/sample-flow-path-complete.png
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/main/resources/docs/org.apache.nifi.atlas.reporting.ReportLineageToAtlas/sample-flow-path-complete.png
 
b/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/main/resources/docs/org.apache.nifi.atlas.reporting.ReportLineageToAtlas/sample-flow-path-complete.png
new file mode 100644
index 0000000..19b316f
Binary files /dev/null and 
b/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/main/resources/docs/org.apache.nifi.atlas.reporting.ReportLineageToAtlas/sample-flow-path-complete.png
 differ

http://git-wip-us.apache.org/repos/asf/nifi/blob/fc73c609/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/main/resources/docs/org.apache.nifi.atlas.reporting.ReportLineageToAtlas/sample-flow-path-simple.png
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/main/resources/docs/org.apache.nifi.atlas.reporting.ReportLineageToAtlas/sample-flow-path-simple.png
 
b/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/main/resources/docs/org.apache.nifi.atlas.reporting.ReportLineageToAtlas/sample-flow-path-simple.png
new file mode 100644
index 0000000..ede775d
Binary files /dev/null and 
b/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/main/resources/docs/org.apache.nifi.atlas.reporting.ReportLineageToAtlas/sample-flow-path-simple.png
 differ

http://git-wip-us.apache.org/repos/asf/nifi/blob/fc73c609/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/main/resources/docs/org.apache.nifi.atlas.reporting.ReportLineageToAtlas/sample-flow-path.png
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/main/resources/docs/org.apache.nifi.atlas.reporting.ReportLineageToAtlas/sample-flow-path.png
 
b/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/main/resources/docs/org.apache.nifi.atlas.reporting.ReportLineageToAtlas/sample-flow-path.png
new file mode 100644
index 0000000..ffc4598
Binary files /dev/null and 
b/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/main/resources/docs/org.apache.nifi.atlas.reporting.ReportLineageToAtlas/sample-flow-path.png
 differ

http://git-wip-us.apache.org/repos/asf/nifi/blob/fc73c609/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/test/java/org/apache/nifi/atlas/ITNiFiAtlasClient.java
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/test/java/org/apache/nifi/atlas/ITNiFiAtlasClient.java
 
b/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/test/java/org/apache/nifi/atlas/ITNiFiAtlasClient.java
new file mode 100644
index 0000000..f1727b0
--- /dev/null
+++ 
b/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/test/java/org/apache/nifi/atlas/ITNiFiAtlasClient.java
@@ -0,0 +1,74 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.atlas;
+
+import org.apache.atlas.model.instance.AtlasEntity;
+import org.apache.atlas.model.instance.AtlasObjectId;
+import org.apache.nifi.atlas.reporting.ReportLineageToAtlas;
+import org.apache.nifi.atlas.security.AtlasAuthN;
+import org.apache.nifi.atlas.security.Basic;
+import org.apache.nifi.context.PropertyContext;
+import org.apache.nifi.util.MockPropertyValue;
+import org.junit.Before;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import static org.apache.nifi.atlas.NiFiTypes.NIFI_TYPES;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+
+public class ITNiFiAtlasClient {
+    private static final Logger logger = 
LoggerFactory.getLogger(ITNiFiAtlasClient.class);
+    private NiFiAtlasClient atlasClient;
+
+    @Before
+    public void setup() {
+        atlasClient = NiFiAtlasClient.getInstance();
+        // Add your atlas server ip address into /etc/hosts as 
atlas.example.com
+        PropertyContext propertyContext = mock(PropertyContext.class);
+        
when(propertyContext.getProperty(ReportLineageToAtlas.ATLAS_USER)).thenReturn(new
 MockPropertyValue("admin"));
+        
when(propertyContext.getProperty(ReportLineageToAtlas.ATLAS_PASSWORD)).thenReturn(new
 MockPropertyValue("admin"));
+        final AtlasAuthN atlasAuthN = new Basic();
+        atlasAuthN.configure(propertyContext);
+        atlasClient.initialize(new 
String[]{"http://atlas.example.com:21000/"}, atlasAuthN, null);
+    }
+
+    @Test
+    public void testFetchNiFiFlow() throws Exception {
+        final NiFiFlow nifiFlow = 
atlasClient.fetchNiFiFlow("1fc2e0a6-0160-1000-2660-72a0db49f37c", "DEBUG");
+    }
+
+    @Test
+    public void testDeleteTypeDefs() throws Exception {
+        atlasClient.deleteTypeDefs(NIFI_TYPES);
+    }
+
+    @Test
+    public void testRegisterNiFiTypeDefs() throws Exception {
+        atlasClient.registerNiFiTypeDefs(true);
+    }
+
+    @Test
+    public void testSearch() throws Exception {
+        final AtlasObjectId atlasObjectId = new AtlasObjectId("kafka_topic", 
"topic", "nifi-test");
+        final AtlasEntity.AtlasEntityWithExtInfo entityDef = 
atlasClient.searchEntityDef(atlasObjectId);
+        logger.info("entityDef={}", entityDef);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/nifi/blob/fc73c609/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/test/java/org/apache/nifi/atlas/TestNiFiFlowAnalyzer.java
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/test/java/org/apache/nifi/atlas/TestNiFiFlowAnalyzer.java
 
b/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/test/java/org/apache/nifi/atlas/TestNiFiFlowAnalyzer.java
new file mode 100644
index 0000000..64624e9
--- /dev/null
+++ 
b/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/test/java/org/apache/nifi/atlas/TestNiFiFlowAnalyzer.java
@@ -0,0 +1,275 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.atlas;
+
+import org.apache.atlas.model.instance.AtlasObjectId;
+import org.apache.nifi.atlas.reporting.ITReportLineageToAtlas;
+import org.apache.nifi.controller.status.ConnectionStatus;
+import org.apache.nifi.controller.status.PortStatus;
+import org.apache.nifi.controller.status.ProcessGroupStatus;
+import org.apache.nifi.controller.status.ProcessorStatus;
+import org.apache.nifi.util.Tuple;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.util.Map;
+import java.util.function.Function;
+
+import static org.apache.nifi.atlas.AtlasUtils.toQualifiedName;
+import static org.apache.nifi.atlas.NiFiTypes.ATTR_QUALIFIED_NAME;
+import static org.apache.nifi.atlas.NiFiTypes.TYPE_NIFI_QUEUE;
+import static org.junit.Assert.assertEquals;
+
+/**
+ * Test {@link NiFiFlowAnalyzer} with simple mock code.
+ * More complex and detailed tests are available in {@link 
ITReportLineageToAtlas}.
+ */
+public class TestNiFiFlowAnalyzer {
+
+    private int componentId = 0;
+
+    @Before
+    public void before() throws Exception {
+        componentId = 0;
+    }
+
+    private ProcessGroupStatus createEmptyProcessGroupStatus() {
+        final ProcessGroupStatus processGroupStatus = new ProcessGroupStatus();
+
+        processGroupStatus.setId(nextComponentId());
+        processGroupStatus.setName("Flow name");
+
+        return processGroupStatus;
+    }
+
+    @Test
+    public void testEmptyFlow() throws Exception {
+        ProcessGroupStatus rootPG = createEmptyProcessGroupStatus();
+
+        final NiFiFlowAnalyzer analyzer = new NiFiFlowAnalyzer();
+
+        final NiFiFlow nifiFlow = new NiFiFlow(rootPG.getId());
+        nifiFlow.setClusterName("cluster1");
+        analyzer.analyzeProcessGroup(nifiFlow, rootPG);
+
+        assertEquals("1234-5678-0000-0000@cluster1", 
nifiFlow.getQualifiedName());
+    }
+
+    private ProcessorStatus createProcessor(ProcessGroupStatus pgStatus, 
String type) {
+        final ProcessorStatus processor = new ProcessorStatus();
+        processor.setName(type);
+        processor.setId(nextComponentId());
+        processor.setGroupId(pgStatus.getId());
+        pgStatus.getProcessorStatus().add(processor);
+
+        return  processor;
+    }
+
+    private String nextComponentId() {
+        return String.format("1234-5678-0000-%04d", componentId++);
+    }
+
+    private void connect(ProcessGroupStatus pg0, Object o0, Object o1) {
+        Function<Object, Tuple<String, String>> toTupple = o -> {
+            Tuple<String, String> comp;
+            if (o instanceof ProcessorStatus) {
+                ProcessorStatus p = (ProcessorStatus) o;
+                comp = new Tuple<>(p.getId(), p.getName());
+            } else if (o instanceof PortStatus) {
+                PortStatus p = (PortStatus) o;
+                comp = new Tuple<>(p.getId(), p.getName());
+            } else {
+                throw new IllegalArgumentException("Not supported");
+            }
+            return comp;
+        };
+        connect(pg0, toTupple.apply(o0), toTupple.apply(o1));
+    }
+
+    private void connect(ProcessGroupStatus pg0, Tuple<String, String> comp0, 
Tuple<String, String> comp1) {
+        ConnectionStatus conn = new ConnectionStatus();
+        conn.setId(nextComponentId());
+        conn.setGroupId(pg0.getId());
+
+        conn.setSourceId(comp0.getKey());
+        conn.setSourceName(comp0.getValue());
+
+        conn.setDestinationId(comp1.getKey());
+        conn.setDestinationName(comp1.getValue());
+
+        pg0.getConnectionStatus().add(conn);
+    }
+
+    @Test
+    public void testSingleProcessor() throws Exception {
+
+        ProcessGroupStatus rootPG = createEmptyProcessGroupStatus();
+
+        final ProcessorStatus pr0 = createProcessor(rootPG, 
"GenerateFlowFile");
+
+        final NiFiFlowAnalyzer analyzer = new NiFiFlowAnalyzer();
+
+        final NiFiFlow nifiFlow = new NiFiFlow(rootPG.getId());
+        analyzer.analyzeProcessGroup(nifiFlow, rootPG);
+
+        assertEquals(1, nifiFlow.getProcessors().size());
+
+        analyzer.analyzePaths(nifiFlow);
+        final Map<String, NiFiFlowPath> paths = nifiFlow.getFlowPaths();
+
+        assertEquals(1, paths.size());
+
+        // first path
+        final NiFiFlowPath path0 = paths.get(pr0.getId());
+        assertEquals(path0.getId(), path0.getProcessComponentIds().get(0));
+        assertEquals(rootPG.getId(), path0.getGroupId());
+
+        // Should be able to find a path from a given processor GUID.
+        final NiFiFlowPath pathForPr0 = nifiFlow.findPath(pr0.getId());
+        assertEquals(path0, pathForPr0);
+    }
+
+
+    @Test
+    public void testProcessorsWithinSinglePath() throws Exception {
+
+        ProcessGroupStatus rootPG = createEmptyProcessGroupStatus();
+
+        final ProcessorStatus pr0 = createProcessor(rootPG, 
"GenerateFlowFile");
+        final ProcessorStatus pr1 = createProcessor(rootPG, "UpdateAttribute");
+
+        connect(rootPG, pr0, pr1);
+
+        final NiFiFlowAnalyzer analyzer = new NiFiFlowAnalyzer();
+
+        final NiFiFlow nifiFlow = new NiFiFlow(rootPG.getId());
+        analyzer.analyzeProcessGroup(nifiFlow, rootPG);
+
+        assertEquals(2, nifiFlow.getProcessors().size());
+
+        analyzer.analyzePaths(nifiFlow);
+        final Map<String, NiFiFlowPath> paths = nifiFlow.getFlowPaths();
+
+        assertEquals(1, paths.size());
+
+        // Should be able to find a path from a given processor GUID.
+        final NiFiFlowPath pathForPr0 = nifiFlow.findPath(pr0.getId());
+        final NiFiFlowPath pathForPr1 = nifiFlow.findPath(pr1.getId());
+        final NiFiFlowPath path0 = paths.get(pr0.getId());
+        assertEquals(path0, pathForPr0);
+        assertEquals(path0, pathForPr1);
+    }
+
+    @Test
+    public void testMultiPaths() throws Exception {
+
+        ProcessGroupStatus rootPG = createEmptyProcessGroupStatus();
+
+        final ProcessorStatus pr0 = createProcessor(rootPG, 
"GenerateFlowFile");
+        final ProcessorStatus pr1 = createProcessor(rootPG, "UpdateAttribute");
+        final ProcessorStatus pr2 = createProcessor(rootPG, "ListenTCP");
+        final ProcessorStatus pr3 = createProcessor(rootPG, "LogAttribute");
+
+        connect(rootPG, pr0, pr1);
+        connect(rootPG, pr2, pr3);
+
+        final NiFiFlowAnalyzer analyzer = new NiFiFlowAnalyzer();
+
+        final NiFiFlow nifiFlow = new NiFiFlow(rootPG.getId());
+        analyzer.analyzeProcessGroup(nifiFlow, rootPG);
+
+        assertEquals(4, nifiFlow.getProcessors().size());
+
+        analyzer.analyzePaths(nifiFlow);
+        final Map<String, NiFiFlowPath> paths = nifiFlow.getFlowPaths();
+
+        assertEquals(2, paths.size());
+
+        // Order is not guaranteed
+        final NiFiFlowPath pathA = paths.get(pr0.getId());
+        final NiFiFlowPath pathB = paths.get(pr2.getId());
+        assertEquals(2, pathA.getProcessComponentIds().size());
+        assertEquals(2, pathB.getProcessComponentIds().size());
+
+        // Should be able to find a path from a given processor GUID.
+        final NiFiFlowPath pathForPr0 = nifiFlow.findPath(pr0.getId());
+        final NiFiFlowPath pathForPr1 = nifiFlow.findPath(pr1.getId());
+        final NiFiFlowPath pathForPr2 = nifiFlow.findPath(pr2.getId());
+        final NiFiFlowPath pathForPr3 = nifiFlow.findPath(pr3.getId());
+        assertEquals(pathA, pathForPr0);
+        assertEquals(pathA, pathForPr1);
+        assertEquals(pathB, pathForPr2);
+        assertEquals(pathB, pathForPr3);
+    }
+
+    @Test
+    public void testMultiPathsJoint() throws Exception {
+
+        ProcessGroupStatus rootPG = createEmptyProcessGroupStatus();
+
+        final ProcessorStatus pr0 = createProcessor(rootPG, 
"org.apache.nifi.processors.standard.GenerateFlowFile");
+        final ProcessorStatus pr1 = createProcessor(rootPG, 
"org.apache.nifi.processors.standard.UpdateAttribute");
+        final ProcessorStatus pr2 = createProcessor(rootPG, 
"org.apache.nifi.processors.standard.ListenTCP");
+        final ProcessorStatus pr3 = createProcessor(rootPG, 
"org.apache.nifi.processors.standard.LogAttribute");
+
+        // Result should be as follows:
+        // pathA = 0 -> 1 (-> 3)
+        // pathB = 2 (-> 3)
+        // pathC = 3
+        connect(rootPG, pr0, pr1);
+        connect(rootPG, pr1, pr3);
+        connect(rootPG, pr2, pr3);
+
+        final NiFiFlowAnalyzer analyzer = new NiFiFlowAnalyzer();
+
+        final NiFiFlow nifiFlow = new NiFiFlow(rootPG.getId());
+        nifiFlow.setClusterName("cluster1");
+        analyzer.analyzeProcessGroup(nifiFlow, rootPG);
+
+        assertEquals(4, nifiFlow.getProcessors().size());
+
+        analyzer.analyzePaths(nifiFlow);
+        final Map<String, NiFiFlowPath> paths = nifiFlow.getFlowPaths();
+
+        assertEquals(3, paths.size());
+
+        // Order is not guaranteed
+        final NiFiFlowPath pathA = paths.get(pr0.getId());
+        final NiFiFlowPath pathB = paths.get(pr2.getId());
+        final NiFiFlowPath pathC = paths.get(pr3.getId());
+        assertEquals(2, pathA.getProcessComponentIds().size());
+        assertEquals(1, pathB.getProcessComponentIds().size());
+        assertEquals(1, pathC.getProcessComponentIds().size());
+
+        // A queue is added as input for the joint point.
+        assertEquals(1, pathC.getInputs().size());
+        final AtlasObjectId queue = pathC.getInputs().iterator().next();
+        assertEquals(TYPE_NIFI_QUEUE, queue.getTypeName());
+        assertEquals(toQualifiedName("cluster1", pathC.getId()), 
queue.getUniqueAttributes().get(ATTR_QUALIFIED_NAME));
+
+        // Should be able to find a path from a given processor GUID.
+        final NiFiFlowPath pathForPr0 = nifiFlow.findPath(pr0.getId());
+        final NiFiFlowPath pathForPr1 = nifiFlow.findPath(pr1.getId());
+        final NiFiFlowPath pathForPr2 = nifiFlow.findPath(pr2.getId());
+        final NiFiFlowPath pathForPr3 = nifiFlow.findPath(pr3.getId());
+        assertEquals(pathA, pathForPr0);
+        assertEquals(pathA, pathForPr1);
+        assertEquals(pathB, pathForPr2);
+        assertEquals(pathC, pathForPr3);
+    }
+
+}

Reply via email to