Tangle Matlab scripts
No files matched your search
@@ -1,239 +1,233 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="251.786pt" height="107.617pt" viewBox="0 0 251.786 107.617" version="1.2">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="251.786" height="107.617" viewBox="0 0 251.786 107.617">
|
||||
<defs>
|
||||
<g>
|
||||
<symbol overflow="visible" id="glyph0-0">
|
||||
<path style="stroke:none;" d=""/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph0-1">
|
||||
<path style="stroke:none;" d="M 11.546875 -4.265625 C 11.546875 -4.578125 11.265625 -4.578125 11.015625 -4.578125 L 6.46875 -4.578125 L 6.46875 -9.125 C 6.46875 -9.375 6.46875 -9.65625 6.171875 -9.65625 C 5.875 -9.65625 5.875 -9.390625 5.875 -9.125 L 5.875 -4.578125 L 1.328125 -4.578125 C 1.078125 -4.578125 0.796875 -4.578125 0.796875 -4.296875 C 0.796875 -3.984375 1.0625 -3.984375 1.328125 -3.984375 L 5.875 -3.984375 L 5.875 0.5625 C 5.875 0.8125 5.875 1.09375 6.15625 1.09375 C 6.46875 1.09375 6.46875 0.828125 6.46875 0.5625 L 6.46875 -3.984375 L 11.015625 -3.984375 C 11.25 -3.984375 11.546875 -3.984375 11.546875 -4.265625 Z M 11.546875 -4.265625 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph1-0">
|
||||
<path style="stroke:none;" d=""/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph1-1">
|
||||
<path style="stroke:none;" d="M 6.890625 -2.484375 C 6.890625 -2.671875 6.703125 -2.671875 6.5625 -2.671875 L 1.15625 -2.671875 C 1.015625 -2.671875 0.828125 -2.671875 0.828125 -2.484375 C 0.828125 -2.28125 1.015625 -2.28125 1.15625 -2.28125 L 6.5625 -2.28125 C 6.703125 -2.28125 6.890625 -2.28125 6.890625 -2.484375 Z M 6.890625 -2.484375 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-0">
|
||||
<path style="stroke:none;" d=""/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-1">
|
||||
<path style="stroke:none;" d="M 6.59375 -2.3125 C 6.59375 -2.40625 6.59375 -2.484375 6.46875 -2.484375 C 6.359375 -2.484375 6.359375 -2.421875 6.34375 -2.328125 C 6.265625 -0.90625 5.203125 -0.09375 4.125 -0.09375 C 3.515625 -0.09375 1.578125 -0.421875 1.578125 -3.390625 C 1.578125 -6.34375 3.515625 -6.6875 4.125 -6.6875 C 5.203125 -6.6875 6.078125 -5.78125 6.28125 -4.328125 C 6.296875 -4.203125 6.296875 -4.171875 6.4375 -4.171875 C 6.59375 -4.171875 6.59375 -4.203125 6.59375 -4.40625 L 6.59375 -6.75 C 6.59375 -6.921875 6.59375 -7 6.484375 -7 C 6.453125 -7 6.40625 -7 6.328125 -6.875 L 5.828125 -6.140625 C 5.46875 -6.5 4.953125 -7 4.015625 -7 C 2.15625 -7 0.5625 -5.421875 0.5625 -3.390625 C 0.5625 -1.34375 2.15625 0.21875 4.015625 0.21875 C 5.625 0.21875 6.59375 -1.15625 6.59375 -2.3125 Z M 6.59375 -2.3125 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-2">
|
||||
<path style="stroke:none;" d="M 4.671875 -2.125 C 4.671875 -3.390625 3.6875 -4.4375 2.484375 -4.4375 C 1.234375 -4.4375 0.28125 -3.359375 0.28125 -2.125 C 0.28125 -0.84375 1.3125 0.109375 2.46875 0.109375 C 3.671875 0.109375 4.671875 -0.859375 4.671875 -2.125 Z M 3.84375 -2.203125 C 3.84375 -1.84375 3.84375 -1.3125 3.625 -0.875 C 3.40625 -0.421875 2.96875 -0.140625 2.484375 -0.140625 C 2.046875 -0.140625 1.625 -0.34375 1.34375 -0.796875 C 1.09375 -1.234375 1.09375 -1.84375 1.09375 -2.203125 C 1.09375 -2.59375 1.09375 -3.125 1.34375 -3.5625 C 1.609375 -4.015625 2.078125 -4.234375 2.46875 -4.234375 C 2.90625 -4.234375 3.328125 -4.015625 3.59375 -3.578125 C 3.84375 -3.15625 3.84375 -2.578125 3.84375 -2.203125 Z M 3.84375 -2.203125 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-3">
|
||||
<path style="stroke:none;" d="M 5.3125 0 L 5.3125 -0.3125 C 4.796875 -0.3125 4.546875 -0.3125 4.53125 -0.609375 L 4.53125 -2.5 C 4.53125 -3.359375 4.53125 -3.65625 4.234375 -4.015625 C 4.09375 -4.1875 3.765625 -4.390625 3.1875 -4.390625 C 2.453125 -4.390625 2 -3.953125 1.71875 -3.34375 L 1.71875 -4.390625 L 0.3125 -4.28125 L 0.3125 -3.96875 C 1.015625 -3.96875 1.09375 -3.90625 1.09375 -3.40625 L 1.09375 -0.75 C 1.09375 -0.3125 0.984375 -0.3125 0.3125 -0.3125 L 0.3125 0 L 1.4375 -0.03125 L 2.546875 0 L 2.546875 -0.3125 C 1.890625 -0.3125 1.78125 -0.3125 1.78125 -0.75 L 1.78125 -2.578125 C 1.78125 -3.609375 2.484375 -4.171875 3.109375 -4.171875 C 3.734375 -4.171875 3.84375 -3.625 3.84375 -3.0625 L 3.84375 -0.75 C 3.84375 -0.3125 3.734375 -0.3125 3.078125 -0.3125 L 3.078125 0 L 4.203125 -0.03125 Z M 5.3125 0 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-4">
|
||||
<path style="stroke:none;" d="M 3.296875 -1.234375 L 3.296875 -1.796875 L 3.046875 -1.796875 L 3.046875 -1.25 C 3.046875 -0.515625 2.75 -0.140625 2.375 -0.140625 C 1.71875 -0.140625 1.71875 -1.046875 1.71875 -1.203125 L 1.71875 -3.96875 L 3.140625 -3.96875 L 3.140625 -4.28125 L 1.71875 -4.28125 L 1.71875 -6.109375 L 1.46875 -6.109375 C 1.453125 -5.28125 1.15625 -4.234375 0.1875 -4.1875 L 0.1875 -3.96875 L 1.03125 -3.96875 L 1.03125 -1.234375 C 1.03125 -0.015625 1.953125 0.109375 2.3125 0.109375 C 3.015625 0.109375 3.296875 -0.59375 3.296875 -1.234375 Z M 3.296875 -1.234375 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-5">
|
||||
<path style="stroke:none;" d="M 3.609375 -3.78125 C 3.609375 -4.09375 3.296875 -4.390625 2.875 -4.390625 C 2.15625 -4.390625 1.796875 -3.71875 1.65625 -3.296875 L 1.65625 -4.390625 L 0.28125 -4.28125 L 0.28125 -3.96875 C 0.96875 -3.96875 1.046875 -3.90625 1.046875 -3.40625 L 1.046875 -0.75 C 1.046875 -0.3125 0.9375 -0.3125 0.28125 -0.3125 L 0.28125 0 L 1.40625 -0.03125 C 1.8125 -0.03125 2.265625 -0.03125 2.671875 0 L 2.671875 -0.3125 L 2.453125 -0.3125 C 1.71875 -0.3125 1.703125 -0.421875 1.703125 -0.78125 L 1.703125 -2.296875 C 1.703125 -3.28125 2.125 -4.171875 2.875 -4.171875 C 2.953125 -4.171875 2.96875 -4.171875 2.984375 -4.15625 C 2.953125 -4.140625 2.765625 -4.03125 2.765625 -3.765625 C 2.765625 -3.5 2.96875 -3.34375 3.1875 -3.34375 C 3.359375 -3.34375 3.609375 -3.46875 3.609375 -3.78125 Z M 3.609375 -3.78125 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-6">
|
||||
<path style="stroke:none;" d="M 2.53125 0 L 2.53125 -0.3125 C 1.859375 -0.3125 1.75 -0.3125 1.75 -0.75 L 1.75 -6.890625 L 0.328125 -6.78125 L 0.328125 -6.46875 C 1.015625 -6.46875 1.09375 -6.40625 1.09375 -5.90625 L 1.09375 -0.75 C 1.09375 -0.3125 0.984375 -0.3125 0.328125 -0.3125 L 0.328125 0 L 1.421875 -0.03125 Z M 2.53125 0 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-7">
|
||||
<path style="stroke:none;" d="M 4.125 -1.1875 C 4.125 -1.28125 4.03125 -1.296875 3.984375 -1.296875 C 3.90625 -1.296875 3.875 -1.234375 3.859375 -1.15625 C 3.515625 -0.140625 2.625 -0.140625 2.515625 -0.140625 C 2.03125 -0.140625 1.625 -0.4375 1.40625 -0.796875 C 1.09375 -1.28125 1.09375 -1.9375 1.09375 -2.296875 L 3.875 -2.296875 C 4.09375 -2.296875 4.125 -2.296875 4.125 -2.5 C 4.125 -3.484375 3.578125 -4.4375 2.34375 -4.4375 C 1.1875 -4.4375 0.28125 -3.421875 0.28125 -2.1875 C 0.28125 -0.859375 1.3125 0.109375 2.453125 0.109375 C 3.671875 0.109375 4.125 -0.984375 4.125 -1.1875 Z M 3.46875 -2.5 L 1.109375 -2.5 C 1.171875 -3.984375 2 -4.234375 2.34375 -4.234375 C 3.359375 -4.234375 3.46875 -2.890625 3.46875 -2.5 Z M 3.46875 -2.5 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-8">
|
||||
<path style="stroke:none;" d="M 6.1875 -4.9375 C 6.1875 -5.90625 5.203125 -6.78125 3.84375 -6.78125 L 0.34375 -6.78125 L 0.34375 -6.46875 L 0.578125 -6.46875 C 1.34375 -6.46875 1.375 -6.359375 1.375 -6 L 1.375 -0.78125 C 1.375 -0.421875 1.34375 -0.3125 0.578125 -0.3125 L 0.34375 -0.3125 L 0.34375 0 C 0.6875 -0.03125 1.421875 -0.03125 1.8125 -0.03125 C 2.1875 -0.03125 2.921875 -0.03125 3.28125 0 L 3.28125 -0.3125 L 3.03125 -0.3125 C 2.265625 -0.3125 2.25 -0.421875 2.25 -0.78125 L 2.25 -3.140625 L 3.921875 -3.140625 C 5.125 -3.140625 6.1875 -3.9375 6.1875 -4.9375 Z M 5.171875 -4.9375 C 5.171875 -4.46875 5.171875 -3.390625 3.59375 -3.390625 L 2.21875 -3.390625 L 2.21875 -6.078125 C 2.21875 -6.40625 2.25 -6.46875 2.703125 -6.46875 L 3.59375 -6.46875 C 5.171875 -6.46875 5.171875 -5.421875 5.171875 -4.9375 Z M 5.171875 -4.9375 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-9">
|
||||
<path style="stroke:none;" d="M 4.796875 -0.890625 L 4.796875 -1.4375 L 4.546875 -1.4375 L 4.546875 -0.890625 C 4.546875 -0.3125 4.296875 -0.25 4.1875 -0.25 C 3.859375 -0.25 3.8125 -0.6875 3.8125 -0.75 L 3.8125 -2.734375 C 3.8125 -3.140625 3.8125 -3.53125 3.46875 -3.90625 C 3.078125 -4.28125 2.578125 -4.4375 2.109375 -4.4375 C 1.296875 -4.4375 0.609375 -3.984375 0.609375 -3.328125 C 0.609375 -3.03125 0.796875 -2.859375 1.0625 -2.859375 C 1.34375 -2.859375 1.515625 -3.0625 1.515625 -3.3125 C 1.515625 -3.4375 1.46875 -3.765625 1.015625 -3.765625 C 1.28125 -4.125 1.765625 -4.234375 2.078125 -4.234375 C 2.5625 -4.234375 3.140625 -3.84375 3.140625 -2.953125 L 3.140625 -2.59375 C 2.625 -2.5625 1.9375 -2.53125 1.3125 -2.234375 C 0.5625 -1.890625 0.3125 -1.375 0.3125 -0.9375 C 0.3125 -0.140625 1.28125 0.109375 1.90625 0.109375 C 2.5625 0.109375 3.015625 -0.28125 3.203125 -0.75 C 3.25 -0.359375 3.515625 0.0625 3.984375 0.0625 C 4.1875 0.0625 4.796875 -0.078125 4.796875 -0.890625 Z M 3.140625 -1.390625 C 3.140625 -0.453125 2.421875 -0.109375 1.96875 -0.109375 C 1.484375 -0.109375 1.078125 -0.453125 1.078125 -0.953125 C 1.078125 -1.5 1.5 -2.328125 3.140625 -2.375 Z M 3.140625 -1.390625 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-10">
|
||||
<path style="stroke:none;" d="M 4.953125 -1.84375 C 4.953125 -2.84375 4.296875 -3.65625 3.46875 -3.84375 L 2.1875 -4.15625 C 1.578125 -4.3125 1.1875 -4.84375 1.1875 -5.421875 C 1.1875 -6.109375 1.71875 -6.71875 2.5 -6.71875 C 4.15625 -6.71875 4.375 -5.09375 4.4375 -4.640625 C 4.4375 -4.578125 4.4375 -4.53125 4.546875 -4.53125 C 4.6875 -4.53125 4.6875 -4.578125 4.6875 -4.765625 L 4.6875 -6.75 C 4.6875 -6.921875 4.6875 -7 4.578125 -7 C 4.5 -7 4.5 -6.984375 4.421875 -6.859375 L 4.078125 -6.296875 C 3.78125 -6.59375 3.375 -7 2.484375 -7 C 1.390625 -7 0.5625 -6.125 0.5625 -5.0625 C 0.5625 -4.25 1.078125 -3.515625 1.859375 -3.25 C 1.96875 -3.21875 2.46875 -3.09375 3.171875 -2.921875 C 3.4375 -2.859375 3.734375 -2.78125 4.015625 -2.421875 C 4.21875 -2.15625 4.3125 -1.828125 4.3125 -1.515625 C 4.3125 -0.796875 3.8125 -0.09375 2.984375 -0.09375 C 2.703125 -0.09375 1.9375 -0.140625 1.421875 -0.625 C 0.84375 -1.15625 0.8125 -1.796875 0.796875 -2.15625 C 0.796875 -2.25 0.71875 -2.25 0.6875 -2.25 C 0.5625 -2.25 0.5625 -2.1875 0.5625 -2 L 0.5625 -0.015625 C 0.5625 0.15625 0.5625 0.21875 0.671875 0.21875 C 0.734375 0.21875 0.75 0.203125 0.8125 0.09375 C 0.8125 0.09375 0.84375 0.046875 1.171875 -0.46875 C 1.484375 -0.140625 2.109375 0.21875 3 0.21875 C 4.15625 0.21875 4.953125 -0.75 4.953125 -1.84375 Z M 4.953125 -1.84375 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-11">
|
||||
<path style="stroke:none;" d="M 5.046875 -3.96875 L 5.046875 -4.28125 C 4.8125 -4.25 4.53125 -4.25 4.296875 -4.25 L 3.4375 -4.28125 L 3.4375 -3.96875 C 3.734375 -3.953125 3.90625 -3.796875 3.90625 -3.546875 C 3.90625 -3.4375 3.890625 -3.421875 3.84375 -3.296875 L 2.84375 -0.859375 L 1.734375 -3.53125 C 1.703125 -3.625 1.671875 -3.671875 1.671875 -3.703125 C 1.671875 -3.96875 2.046875 -3.96875 2.234375 -3.96875 L 2.234375 -4.28125 L 1.15625 -4.25 C 0.890625 -4.25 0.484375 -4.25 0.1875 -4.28125 L 0.1875 -3.96875 C 0.671875 -3.96875 0.859375 -3.96875 0.984375 -3.625 L 2.484375 0 L 2.234375 0.578125 C 2.015625 1.125 1.734375 1.8125 1.09375 1.8125 C 1.046875 1.8125 0.828125 1.8125 0.640625 1.640625 C 0.9375 1.59375 1.015625 1.375 1.015625 1.21875 C 1.015625 0.96875 0.828125 0.796875 0.609375 0.796875 C 0.40625 0.796875 0.1875 0.9375 0.1875 1.234375 C 0.1875 1.671875 0.609375 2.03125 1.09375 2.03125 C 1.71875 2.03125 2.140625 1.46875 2.375 0.90625 L 4.125 -3.328125 C 4.375 -3.953125 4.875 -3.96875 5.046875 -3.96875 Z M 5.046875 -3.96875 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-12">
|
||||
<path style="stroke:none;" d="M 5.3125 0 L 5.3125 -0.3125 C 4.796875 -0.3125 4.546875 -0.3125 4.53125 -0.609375 L 4.53125 -2.5 C 4.53125 -3.359375 4.53125 -3.65625 4.234375 -4.015625 C 4.09375 -4.1875 3.765625 -4.390625 3.1875 -4.390625 C 2.34375 -4.390625 1.921875 -3.796875 1.75 -3.4375 L 1.75 -6.890625 L 0.3125 -6.78125 L 0.3125 -6.46875 C 1.015625 -6.46875 1.09375 -6.40625 1.09375 -5.90625 L 1.09375 -0.75 C 1.09375 -0.3125 0.984375 -0.3125 0.3125 -0.3125 L 0.3125 0 L 1.4375 -0.03125 L 2.546875 0 L 2.546875 -0.3125 C 1.890625 -0.3125 1.78125 -0.3125 1.78125 -0.75 L 1.78125 -2.578125 C 1.78125 -3.609375 2.484375 -4.171875 3.109375 -4.171875 C 3.734375 -4.171875 3.84375 -3.625 3.84375 -3.0625 L 3.84375 -0.75 C 3.84375 -0.3125 3.734375 -0.3125 3.078125 -0.3125 L 3.078125 0 L 4.203125 -0.03125 Z M 5.3125 0 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-13">
|
||||
<path style="stroke:none;" d="M 3.578125 -1.265625 C 3.578125 -1.796875 3.28125 -2.09375 3.15625 -2.21875 C 2.828125 -2.53125 2.4375 -2.609375 2.03125 -2.6875 C 1.46875 -2.796875 0.796875 -2.921875 0.796875 -3.5 C 0.796875 -3.84375 1.0625 -4.25 1.921875 -4.25 C 3 -4.25 3.0625 -3.359375 3.078125 -3.0625 C 3.078125 -2.96875 3.1875 -2.96875 3.1875 -2.96875 C 3.328125 -2.96875 3.328125 -3.015625 3.328125 -3.203125 L 3.328125 -4.203125 C 3.328125 -4.375 3.328125 -4.4375 3.21875 -4.4375 C 3.171875 -4.4375 3.140625 -4.4375 3.015625 -4.328125 C 2.984375 -4.28125 2.890625 -4.203125 2.84375 -4.171875 C 2.46875 -4.4375 2.0625 -4.4375 1.921875 -4.4375 C 0.703125 -4.4375 0.328125 -3.78125 0.328125 -3.21875 C 0.328125 -2.875 0.484375 -2.59375 0.75 -2.375 C 1.078125 -2.125 1.34375 -2.0625 2.0625 -1.921875 C 2.28125 -1.890625 3.09375 -1.71875 3.09375 -1.015625 C 3.09375 -0.5 2.75 -0.109375 1.96875 -0.109375 C 1.140625 -0.109375 0.78125 -0.671875 0.59375 -1.515625 C 0.5625 -1.640625 0.5625 -1.6875 0.453125 -1.6875 C 0.328125 -1.6875 0.328125 -1.625 0.328125 -1.4375 L 0.328125 -0.125 C 0.328125 0.046875 0.328125 0.109375 0.4375 0.109375 C 0.484375 0.109375 0.5 0.09375 0.6875 -0.09375 C 0.703125 -0.109375 0.703125 -0.125 0.890625 -0.3125 C 1.3125 0.09375 1.765625 0.109375 1.96875 0.109375 C 3.109375 0.109375 3.578125 -0.5625 3.578125 -1.265625 Z M 3.578125 -1.265625 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-14">
|
||||
<path style="stroke:none;" d="M 2.453125 0 L 2.453125 -0.3125 C 1.796875 -0.3125 1.75 -0.359375 1.75 -0.75 L 1.75 -4.390625 L 0.359375 -4.28125 L 0.359375 -3.96875 C 1.015625 -3.96875 1.09375 -3.90625 1.09375 -3.421875 L 1.09375 -0.75 C 1.09375 -0.3125 0.984375 -0.3125 0.328125 -0.3125 L 0.328125 0 L 1.421875 -0.03125 C 1.765625 -0.03125 2.109375 -0.015625 2.453125 0 Z M 1.90625 -6 C 1.90625 -6.265625 1.671875 -6.515625 1.375 -6.515625 C 1.046875 -6.515625 0.84375 -6.234375 0.84375 -6 C 0.84375 -5.71875 1.078125 -5.46875 1.375 -5.46875 C 1.703125 -5.46875 1.90625 -5.75 1.90625 -6 Z M 1.90625 -6 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-15">
|
||||
<path style="stroke:none;" d="M 8.71875 0 L 8.71875 -0.3125 L 8.484375 -0.3125 C 7.71875 -0.3125 7.703125 -0.421875 7.703125 -0.78125 L 7.703125 -6 C 7.703125 -6.359375 7.71875 -6.46875 8.484375 -6.46875 L 8.71875 -6.46875 L 8.71875 -6.78125 L 7.046875 -6.78125 C 6.78125 -6.78125 6.78125 -6.765625 6.71875 -6.59375 L 4.546875 -1 L 2.390625 -6.5625 C 2.296875 -6.78125 2.265625 -6.78125 2.046875 -6.78125 L 0.359375 -6.78125 L 0.359375 -6.46875 L 0.609375 -6.46875 C 1.375 -6.46875 1.390625 -6.359375 1.390625 -6 L 1.390625 -1.046875 C 1.390625 -0.78125 1.390625 -0.3125 0.359375 -0.3125 L 0.359375 0 L 1.53125 -0.03125 L 2.6875 0 L 2.6875 -0.3125 C 1.671875 -0.3125 1.671875 -0.78125 1.671875 -1.046875 L 1.671875 -6.390625 L 4.0625 -0.21875 C 4.125 -0.09375 4.171875 0 4.265625 0 C 4.375 0 4.40625 -0.078125 4.4375 -0.1875 L 6.890625 -6.46875 L 6.890625 -0.78125 C 6.890625 -0.421875 6.875 -0.3125 6.109375 -0.3125 L 5.875 -0.3125 L 5.875 0 C 6.234375 -0.03125 6.921875 -0.03125 7.296875 -0.03125 C 7.6875 -0.03125 8.359375 -0.03125 8.71875 0 Z M 8.71875 0 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-16">
|
||||
<path style="stroke:none;" d="M 5.234375 0 L 5.234375 -0.3125 C 4.53125 -0.3125 4.453125 -0.375 4.453125 -0.859375 L 4.453125 -6.890625 L 3.03125 -6.78125 L 3.03125 -6.46875 C 3.71875 -6.46875 3.796875 -6.40625 3.796875 -5.90625 L 3.796875 -3.765625 C 3.515625 -4.125 3.078125 -4.390625 2.546875 -4.390625 C 1.375 -4.390625 0.34375 -3.40625 0.34375 -2.140625 C 0.34375 -0.875 1.3125 0.109375 2.4375 0.109375 C 3.078125 0.109375 3.515625 -0.234375 3.765625 -0.546875 L 3.765625 0.109375 Z M 3.765625 -1.171875 C 3.765625 -0.984375 3.765625 -0.96875 3.65625 -0.796875 C 3.359375 -0.328125 2.921875 -0.109375 2.484375 -0.109375 C 2.046875 -0.109375 1.6875 -0.359375 1.453125 -0.75 C 1.1875 -1.15625 1.15625 -1.71875 1.15625 -2.125 C 1.15625 -2.484375 1.1875 -3.078125 1.46875 -3.53125 C 1.671875 -3.84375 2.046875 -4.171875 2.59375 -4.171875 C 2.9375 -4.171875 3.359375 -4.015625 3.65625 -3.578125 C 3.765625 -3.40625 3.765625 -3.390625 3.765625 -3.203125 Z M 3.765625 -1.171875 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-17">
|
||||
<path style="stroke:none;" d="M 4.15625 0 L 4.15625 -0.3125 L 3.84375 -0.3125 C 2.953125 -0.3125 2.921875 -0.421875 2.921875 -0.78125 L 2.921875 -6.34375 C 2.921875 -6.59375 2.921875 -6.609375 2.6875 -6.609375 C 2.078125 -5.96875 1.203125 -5.96875 0.890625 -5.96875 L 0.890625 -5.671875 C 1.078125 -5.671875 1.671875 -5.671875 2.1875 -5.921875 L 2.1875 -0.78125 C 2.1875 -0.421875 2.15625 -0.3125 1.265625 -0.3125 L 0.9375 -0.3125 L 0.9375 0 C 1.296875 -0.03125 2.15625 -0.03125 2.546875 -0.03125 C 2.953125 -0.03125 3.8125 -0.03125 4.15625 0 Z M 4.15625 0 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-18">
|
||||
<path style="stroke:none;" d="M 4.53125 -1.703125 C 4.53125 -2.515625 3.90625 -3.28125 2.875 -3.5 C 3.6875 -3.765625 4.265625 -4.453125 4.265625 -5.234375 C 4.265625 -6.046875 3.390625 -6.609375 2.4375 -6.609375 C 1.4375 -6.609375 0.6875 -6.015625 0.6875 -5.265625 C 0.6875 -4.9375 0.90625 -4.75 1.1875 -4.75 C 1.5 -4.75 1.703125 -4.953125 1.703125 -5.25 C 1.703125 -5.75 1.234375 -5.75 1.078125 -5.75 C 1.390625 -6.234375 2.046875 -6.359375 2.40625 -6.359375 C 2.8125 -6.359375 3.359375 -6.140625 3.359375 -5.25 C 3.359375 -5.125 3.328125 -4.546875 3.078125 -4.125 C 2.78125 -3.640625 2.4375 -3.609375 2.1875 -3.609375 C 2.109375 -3.59375 1.875 -3.578125 1.8125 -3.578125 C 1.71875 -3.5625 1.65625 -3.546875 1.65625 -3.453125 C 1.65625 -3.34375 1.71875 -3.34375 1.890625 -3.34375 L 2.328125 -3.34375 C 3.140625 -3.34375 3.515625 -2.671875 3.515625 -1.703125 C 3.515625 -0.34375 2.828125 -0.0625 2.390625 -0.0625 C 1.96875 -0.0625 1.21875 -0.234375 0.875 -0.8125 C 1.21875 -0.765625 1.53125 -0.984375 1.53125 -1.359375 C 1.53125 -1.71875 1.265625 -1.921875 0.96875 -1.921875 C 0.734375 -1.921875 0.421875 -1.78125 0.421875 -1.34375 C 0.421875 -0.4375 1.34375 0.21875 2.421875 0.21875 C 3.625 0.21875 4.53125 -0.6875 4.53125 -1.703125 Z M 4.53125 -1.703125 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-19">
|
||||
<path style="stroke:none;" d="M 4.453125 -1.71875 L 4.203125 -1.71875 C 4.15625 -1.421875 4.09375 -0.984375 3.984375 -0.84375 C 3.921875 -0.765625 3.265625 -0.765625 3.046875 -0.765625 L 1.265625 -0.765625 L 2.3125 -1.78125 C 3.859375 -3.15625 4.453125 -3.6875 4.453125 -4.6875 C 4.453125 -5.8125 3.5625 -6.609375 2.34375 -6.609375 C 1.234375 -6.609375 0.5 -5.6875 0.5 -4.8125 C 0.5 -4.25 0.984375 -4.25 1.015625 -4.25 C 1.1875 -4.25 1.53125 -4.375 1.53125 -4.78125 C 1.53125 -5.046875 1.359375 -5.296875 1.015625 -5.296875 C 0.9375 -5.296875 0.90625 -5.296875 0.890625 -5.28125 C 1.109375 -5.9375 1.640625 -6.296875 2.21875 -6.296875 C 3.125 -6.296875 3.546875 -5.5 3.546875 -4.6875 C 3.546875 -3.890625 3.0625 -3.109375 2.515625 -2.484375 L 0.609375 -0.359375 C 0.5 -0.265625 0.5 -0.234375 0.5 0 L 4.171875 0 Z M 4.453125 -1.71875 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-20">
|
||||
<path style="stroke:none;" d="M 5.171875 -2.140625 C 5.171875 -3.40625 4.203125 -4.390625 3.09375 -4.390625 C 2.328125 -4.390625 1.90625 -3.953125 1.703125 -3.734375 L 1.703125 -4.390625 L 0.28125 -4.28125 L 0.28125 -3.96875 C 0.984375 -3.96875 1.046875 -3.90625 1.046875 -3.46875 L 1.046875 1.171875 C 1.046875 1.625 0.9375 1.625 0.28125 1.625 L 0.28125 1.921875 L 1.390625 1.890625 L 2.515625 1.921875 L 2.515625 1.625 C 1.84375 1.625 1.734375 1.625 1.734375 1.171875 L 1.734375 -0.578125 C 1.78125 -0.421875 2.203125 0.109375 2.953125 0.109375 C 4.140625 0.109375 5.171875 -0.859375 5.171875 -2.140625 Z M 4.34375 -2.140625 C 4.34375 -0.9375 3.65625 -0.109375 2.921875 -0.109375 C 2.515625 -0.109375 2.140625 -0.3125 1.875 -0.71875 C 1.734375 -0.921875 1.734375 -0.9375 1.734375 -1.125 L 1.734375 -3.34375 C 2.03125 -3.84375 2.515625 -4.140625 3.015625 -4.140625 C 3.734375 -4.140625 4.34375 -3.265625 4.34375 -2.140625 Z M 4.34375 -2.140625 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-21">
|
||||
<path style="stroke:none;" d="M 4.125 -1.1875 C 4.125 -1.28125 4.015625 -1.28125 3.984375 -1.28125 C 3.90625 -1.28125 3.875 -1.234375 3.859375 -1.1875 C 3.578125 -0.265625 2.921875 -0.140625 2.5625 -0.140625 C 2.03125 -0.140625 1.15625 -0.5625 1.15625 -2.15625 C 1.15625 -3.78125 1.96875 -4.203125 2.5 -4.203125 C 2.59375 -4.203125 3.21875 -4.1875 3.5625 -3.828125 C 3.15625 -3.796875 3.09375 -3.5 3.09375 -3.375 C 3.09375 -3.109375 3.28125 -2.921875 3.546875 -2.921875 C 3.8125 -2.921875 4.015625 -3.078125 4.015625 -3.390625 C 4.015625 -4.0625 3.25 -4.4375 2.484375 -4.4375 C 1.25 -4.4375 0.34375 -3.375 0.34375 -2.140625 C 0.34375 -0.875 1.3125 0.109375 2.46875 0.109375 C 3.796875 0.109375 4.125 -1.078125 4.125 -1.1875 Z M 4.125 -1.1875 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-22">
|
||||
<path style="stroke:none;" d="M 5.234375 0 L 5.234375 -0.3125 C 4.5625 -0.3125 4.453125 -0.3125 4.453125 -0.75 L 4.453125 -4.390625 L 3.203125 -4.3125 C 3.046875 -4.296875 3.03125 -4.28125 3.03125 -4.28125 C 3 -4.28125 2.984375 -4.28125 2.84375 -4.28125 L 1.671875 -4.28125 L 1.671875 -5.390625 C 1.671875 -6.375 2.53125 -6.78125 3.140625 -6.78125 C 3.4375 -6.78125 3.796875 -6.671875 4 -6.453125 C 3.59375 -6.421875 3.53125 -6.15625 3.53125 -6 C 3.53125 -5.671875 3.796875 -5.53125 3.984375 -5.53125 C 4.203125 -5.53125 4.4375 -5.6875 4.4375 -6 C 4.4375 -6.578125 3.890625 -7 3.15625 -7 C 2.234375 -7 1.046875 -6.484375 1.046875 -5.40625 L 1.046875 -4.28125 L 0.265625 -4.28125 L 0.265625 -3.96875 L 1.046875 -3.96875 L 1.046875 -0.75 C 1.046875 -0.3125 0.9375 -0.3125 0.28125 -0.3125 L 0.28125 0 L 1.375 -0.03125 L 2.484375 0 L 2.484375 -0.3125 C 1.8125 -0.3125 1.703125 -0.3125 1.703125 -0.75 L 1.703125 -3.96875 L 3.28125 -3.96875 C 3.734375 -3.96875 3.796875 -3.84375 3.796875 -3.4375 L 3.796875 -0.75 C 3.796875 -0.3125 3.6875 -0.3125 3.03125 -0.3125 L 3.03125 0 L 4.125 -0.03125 Z M 5.234375 0 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph3-0">
|
||||
<path style="stroke:none;" d=""/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph3-1">
|
||||
<path style="stroke:none;" d="M 4.328125 -3.734375 C 4.328125 -4.09375 4.015625 -4.390625 3.5 -4.390625 C 2.859375 -4.390625 2.421875 -3.90625 2.234375 -3.625 C 2.15625 -4.0625 1.796875 -4.390625 1.328125 -4.390625 C 0.875 -4.390625 0.6875 -4 0.59375 -3.8125 C 0.421875 -3.484375 0.28125 -2.890625 0.28125 -2.859375 C 0.28125 -2.765625 0.40625 -2.765625 0.40625 -2.765625 C 0.5 -2.765625 0.515625 -2.765625 0.578125 -2.984375 C 0.75 -3.6875 0.9375 -4.171875 1.296875 -4.171875 C 1.46875 -4.171875 1.609375 -4.09375 1.609375 -3.703125 C 1.609375 -3.5 1.578125 -3.390625 1.453125 -2.875 L 0.875 -0.578125 C 0.84375 -0.4375 0.78125 -0.203125 0.78125 -0.15625 C 0.78125 0.015625 0.921875 0.109375 1.078125 0.109375 C 1.1875 0.109375 1.375 0.03125 1.4375 -0.171875 C 1.453125 -0.203125 1.796875 -1.5625 1.828125 -1.734375 L 2.15625 -3.03125 C 2.1875 -3.15625 2.46875 -3.625 2.703125 -3.84375 C 2.78125 -3.90625 3.078125 -4.171875 3.5 -4.171875 C 3.765625 -4.171875 3.921875 -4.046875 3.921875 -4.046875 C 3.625 -4 3.40625 -3.765625 3.40625 -3.5 C 3.40625 -3.34375 3.515625 -3.15625 3.78125 -3.15625 C 4.046875 -3.15625 4.328125 -3.390625 4.328125 -3.734375 Z M 4.328125 -3.734375 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph3-2">
|
||||
<path style="stroke:none;" d="M 3.546875 -0.390625 C 3.546875 -0.421875 3.546875 -0.53125 3.453125 -0.53125 C 3.453125 -0.53125 3.40625 -0.53125 3.328125 -0.46875 C 3.015625 -0.28125 2.65625 -0.109375 2.28125 -0.109375 C 1.703125 -0.109375 1.203125 -0.53125 1.203125 -1.40625 C 1.203125 -1.75 1.296875 -2.125 1.3125 -2.25 L 2.953125 -2.25 C 3.109375 -2.25 3.296875 -2.25 3.296875 -2.40625 C 3.296875 -2.546875 3.171875 -2.546875 3 -2.546875 L 1.40625 -2.546875 C 1.640625 -3.390625 2.1875 -3.96875 3.09375 -3.96875 L 3.40625 -3.96875 C 3.578125 -3.96875 3.734375 -3.96875 3.734375 -4.140625 C 3.734375 -4.28125 3.609375 -4.28125 3.4375 -4.28125 L 3.078125 -4.28125 C 1.796875 -4.28125 0.46875 -3.28125 0.46875 -1.765625 C 0.46875 -0.671875 1.203125 0.109375 2.265625 0.109375 C 2.90625 0.109375 3.546875 -0.28125 3.546875 -0.390625 Z M 3.546875 -0.390625 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph3-3">
|
||||
<path style="stroke:none;" d="M 5.390625 -1.421875 C 5.390625 -1.515625 5.296875 -1.515625 5.265625 -1.515625 C 5.171875 -1.515625 5.15625 -1.484375 5.125 -1.34375 C 4.984375 -0.78125 4.796875 -0.109375 4.390625 -0.109375 C 4.171875 -0.109375 4.078125 -0.234375 4.078125 -0.5625 C 4.078125 -0.78125 4.203125 -1.25 4.28125 -1.59375 L 4.546875 -2.671875 C 4.578125 -2.8125 4.6875 -3.1875 4.71875 -3.34375 C 4.765625 -3.578125 4.875 -3.953125 4.875 -4.015625 C 4.875 -4.1875 4.734375 -4.28125 4.578125 -4.28125 C 4.53125 -4.28125 4.28125 -4.265625 4.203125 -3.921875 L 3.453125 -0.9375 C 3.4375 -0.90625 3.046875 -0.109375 2.328125 -0.109375 C 1.8125 -0.109375 1.703125 -0.5625 1.703125 -0.921875 C 1.703125 -1.484375 1.984375 -2.265625 2.25 -2.953125 C 2.359375 -3.25 2.40625 -3.390625 2.40625 -3.578125 C 2.40625 -4.015625 2.09375 -4.390625 1.59375 -4.390625 C 0.65625 -4.390625 0.28125 -2.953125 0.28125 -2.859375 C 0.28125 -2.765625 0.40625 -2.765625 0.40625 -2.765625 C 0.5 -2.765625 0.515625 -2.78125 0.5625 -2.9375 C 0.8125 -3.796875 1.1875 -4.171875 1.5625 -4.171875 C 1.65625 -4.171875 1.8125 -4.15625 1.8125 -3.84375 C 1.8125 -3.609375 1.703125 -3.3125 1.640625 -3.171875 C 1.28125 -2.1875 1.078125 -1.5625 1.078125 -1.078125 C 1.078125 -0.140625 1.75 0.109375 2.296875 0.109375 C 2.953125 0.109375 3.296875 -0.34375 3.46875 -0.5625 C 3.578125 -0.15625 3.921875 0.109375 4.359375 0.109375 C 4.703125 0.109375 4.9375 -0.125 5.09375 -0.4375 C 5.265625 -0.796875 5.390625 -1.421875 5.390625 -1.421875 Z M 5.390625 -1.421875 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph3-4">
|
||||
<path style="stroke:none;" d="M 4.828125 -3.78125 C 4.859375 -3.921875 4.859375 -3.9375 4.859375 -4.015625 C 4.859375 -4.1875 4.71875 -4.28125 4.578125 -4.28125 C 4.46875 -4.28125 4.3125 -4.21875 4.234375 -4.0625 C 4.203125 -4.015625 4.125 -3.703125 4.09375 -3.53125 L 3.890625 -2.734375 L 3.4375 -0.953125 C 3.40625 -0.796875 2.96875 -0.109375 2.328125 -0.109375 C 1.8125 -0.109375 1.703125 -0.546875 1.703125 -0.90625 C 1.703125 -1.375 1.875 -1.984375 2.21875 -2.859375 C 2.375 -3.265625 2.40625 -3.375 2.40625 -3.578125 C 2.40625 -4.015625 2.09375 -4.390625 1.59375 -4.390625 C 0.65625 -4.390625 0.28125 -2.953125 0.28125 -2.859375 C 0.28125 -2.765625 0.40625 -2.765625 0.40625 -2.765625 C 0.5 -2.765625 0.515625 -2.78125 0.5625 -2.9375 C 0.828125 -3.875 1.234375 -4.171875 1.5625 -4.171875 C 1.640625 -4.171875 1.8125 -4.171875 1.8125 -3.84375 C 1.8125 -3.609375 1.71875 -3.34375 1.640625 -3.15625 C 1.25 -2.109375 1.078125 -1.53125 1.078125 -1.078125 C 1.078125 -0.1875 1.703125 0.109375 2.28125 0.109375 C 2.671875 0.109375 3 -0.0625 3.28125 -0.34375 C 3.15625 0.171875 3.03125 0.671875 2.640625 1.1875 C 2.375 1.53125 2 1.8125 1.546875 1.8125 C 1.40625 1.8125 0.96875 1.78125 0.796875 1.40625 C 0.953125 1.40625 1.078125 1.40625 1.21875 1.28125 C 1.3125 1.1875 1.421875 1.0625 1.421875 0.875 C 1.421875 0.5625 1.15625 0.53125 1.046875 0.53125 C 0.828125 0.53125 0.5 0.6875 0.5 1.171875 C 0.5 1.671875 0.9375 2.03125 1.546875 2.03125 C 2.5625 2.03125 3.59375 1.125 3.875 0.015625 Z M 4.828125 -3.78125 "/>
|
||||
</symbol>
|
||||
<g id="glyph-0-0">
|
||||
</g>
|
||||
<clipPath id="clip1">
|
||||
<path d="M 230 62 L 251.234375 62 L 251.234375 94 L 230 94 Z M 230 62 "/>
|
||||
<g id="glyph-0-1">
|
||||
<path d="M 11.546875 -4.265625 C 11.546875 -4.578125 11.265625 -4.578125 11.015625 -4.578125 L 6.46875 -4.578125 L 6.46875 -9.125 C 6.46875 -9.375 6.46875 -9.65625 6.171875 -9.65625 C 5.875 -9.65625 5.875 -9.390625 5.875 -9.125 L 5.875 -4.578125 L 1.328125 -4.578125 C 1.078125 -4.578125 0.796875 -4.578125 0.796875 -4.296875 C 0.796875 -3.984375 1.0625 -3.984375 1.328125 -3.984375 L 5.875 -3.984375 L 5.875 0.5625 C 5.875 0.8125 5.875 1.09375 6.15625 1.09375 C 6.46875 1.09375 6.46875 0.828125 6.46875 0.5625 L 6.46875 -3.984375 L 11.015625 -3.984375 C 11.25 -3.984375 11.546875 -3.984375 11.546875 -4.265625 Z M 11.546875 -4.265625 "/>
|
||||
</g>
|
||||
<g id="glyph-1-0">
|
||||
</g>
|
||||
<g id="glyph-1-1">
|
||||
<path d="M 6.890625 -2.484375 C 6.890625 -2.671875 6.703125 -2.671875 6.5625 -2.671875 L 1.15625 -2.671875 C 1.015625 -2.671875 0.828125 -2.671875 0.828125 -2.484375 C 0.828125 -2.28125 1.015625 -2.28125 1.15625 -2.28125 L 6.5625 -2.28125 C 6.703125 -2.28125 6.890625 -2.28125 6.890625 -2.484375 Z M 6.890625 -2.484375 "/>
|
||||
</g>
|
||||
<g id="glyph-2-0">
|
||||
</g>
|
||||
<g id="glyph-2-1">
|
||||
<path d="M 6.59375 -2.3125 C 6.59375 -2.40625 6.59375 -2.484375 6.46875 -2.484375 C 6.359375 -2.484375 6.359375 -2.421875 6.34375 -2.328125 C 6.265625 -0.90625 5.203125 -0.09375 4.125 -0.09375 C 3.515625 -0.09375 1.578125 -0.421875 1.578125 -3.390625 C 1.578125 -6.34375 3.515625 -6.6875 4.125 -6.6875 C 5.203125 -6.6875 6.078125 -5.78125 6.28125 -4.328125 C 6.296875 -4.203125 6.296875 -4.171875 6.4375 -4.171875 C 6.59375 -4.171875 6.59375 -4.203125 6.59375 -4.40625 L 6.59375 -6.75 C 6.59375 -6.921875 6.59375 -7 6.484375 -7 C 6.453125 -7 6.40625 -7 6.328125 -6.875 L 5.828125 -6.140625 C 5.46875 -6.5 4.953125 -7 4.015625 -7 C 2.15625 -7 0.5625 -5.421875 0.5625 -3.390625 C 0.5625 -1.34375 2.15625 0.21875 4.015625 0.21875 C 5.625 0.21875 6.59375 -1.15625 6.59375 -2.3125 Z M 6.59375 -2.3125 "/>
|
||||
</g>
|
||||
<g id="glyph-2-2">
|
||||
<path d="M 4.671875 -2.125 C 4.671875 -3.390625 3.6875 -4.4375 2.484375 -4.4375 C 1.234375 -4.4375 0.28125 -3.359375 0.28125 -2.125 C 0.28125 -0.84375 1.3125 0.109375 2.46875 0.109375 C 3.671875 0.109375 4.671875 -0.859375 4.671875 -2.125 Z M 3.84375 -2.203125 C 3.84375 -1.84375 3.84375 -1.3125 3.625 -0.875 C 3.40625 -0.421875 2.96875 -0.140625 2.484375 -0.140625 C 2.046875 -0.140625 1.625 -0.34375 1.34375 -0.796875 C 1.09375 -1.234375 1.09375 -1.84375 1.09375 -2.203125 C 1.09375 -2.59375 1.09375 -3.125 1.34375 -3.5625 C 1.609375 -4.015625 2.078125 -4.234375 2.46875 -4.234375 C 2.90625 -4.234375 3.328125 -4.015625 3.59375 -3.578125 C 3.84375 -3.15625 3.84375 -2.578125 3.84375 -2.203125 Z M 3.84375 -2.203125 "/>
|
||||
</g>
|
||||
<g id="glyph-2-3">
|
||||
<path d="M 5.3125 0 L 5.3125 -0.3125 C 4.796875 -0.3125 4.546875 -0.3125 4.53125 -0.609375 L 4.53125 -2.5 C 4.53125 -3.359375 4.53125 -3.65625 4.234375 -4.015625 C 4.09375 -4.1875 3.765625 -4.390625 3.1875 -4.390625 C 2.453125 -4.390625 2 -3.953125 1.71875 -3.34375 L 1.71875 -4.390625 L 0.3125 -4.28125 L 0.3125 -3.96875 C 1.015625 -3.96875 1.09375 -3.90625 1.09375 -3.40625 L 1.09375 -0.75 C 1.09375 -0.3125 0.984375 -0.3125 0.3125 -0.3125 L 0.3125 0 L 1.4375 -0.03125 L 2.546875 0 L 2.546875 -0.3125 C 1.890625 -0.3125 1.78125 -0.3125 1.78125 -0.75 L 1.78125 -2.578125 C 1.78125 -3.609375 2.484375 -4.171875 3.109375 -4.171875 C 3.734375 -4.171875 3.84375 -3.625 3.84375 -3.0625 L 3.84375 -0.75 C 3.84375 -0.3125 3.734375 -0.3125 3.078125 -0.3125 L 3.078125 0 L 4.203125 -0.03125 Z M 5.3125 0 "/>
|
||||
</g>
|
||||
<g id="glyph-2-4">
|
||||
<path d="M 3.296875 -1.234375 L 3.296875 -1.796875 L 3.046875 -1.796875 L 3.046875 -1.25 C 3.046875 -0.515625 2.75 -0.140625 2.375 -0.140625 C 1.71875 -0.140625 1.71875 -1.046875 1.71875 -1.203125 L 1.71875 -3.96875 L 3.140625 -3.96875 L 3.140625 -4.28125 L 1.71875 -4.28125 L 1.71875 -6.109375 L 1.46875 -6.109375 C 1.453125 -5.28125 1.15625 -4.234375 0.1875 -4.1875 L 0.1875 -3.96875 L 1.03125 -3.96875 L 1.03125 -1.234375 C 1.03125 -0.015625 1.953125 0.109375 2.3125 0.109375 C 3.015625 0.109375 3.296875 -0.59375 3.296875 -1.234375 Z M 3.296875 -1.234375 "/>
|
||||
</g>
|
||||
<g id="glyph-2-5">
|
||||
<path d="M 3.609375 -3.78125 C 3.609375 -4.09375 3.296875 -4.390625 2.875 -4.390625 C 2.15625 -4.390625 1.796875 -3.71875 1.65625 -3.296875 L 1.65625 -4.390625 L 0.28125 -4.28125 L 0.28125 -3.96875 C 0.96875 -3.96875 1.046875 -3.90625 1.046875 -3.40625 L 1.046875 -0.75 C 1.046875 -0.3125 0.9375 -0.3125 0.28125 -0.3125 L 0.28125 0 L 1.40625 -0.03125 C 1.8125 -0.03125 2.265625 -0.03125 2.671875 0 L 2.671875 -0.3125 L 2.453125 -0.3125 C 1.71875 -0.3125 1.703125 -0.421875 1.703125 -0.78125 L 1.703125 -2.296875 C 1.703125 -3.28125 2.125 -4.171875 2.875 -4.171875 C 2.953125 -4.171875 2.96875 -4.171875 2.984375 -4.15625 C 2.953125 -4.140625 2.765625 -4.03125 2.765625 -3.765625 C 2.765625 -3.5 2.96875 -3.34375 3.1875 -3.34375 C 3.359375 -3.34375 3.609375 -3.46875 3.609375 -3.78125 Z M 3.609375 -3.78125 "/>
|
||||
</g>
|
||||
<g id="glyph-2-6">
|
||||
<path d="M 2.53125 0 L 2.53125 -0.3125 C 1.859375 -0.3125 1.75 -0.3125 1.75 -0.75 L 1.75 -6.890625 L 0.328125 -6.78125 L 0.328125 -6.46875 C 1.015625 -6.46875 1.09375 -6.40625 1.09375 -5.90625 L 1.09375 -0.75 C 1.09375 -0.3125 0.984375 -0.3125 0.328125 -0.3125 L 0.328125 0 L 1.421875 -0.03125 Z M 2.53125 0 "/>
|
||||
</g>
|
||||
<g id="glyph-2-7">
|
||||
<path d="M 4.125 -1.1875 C 4.125 -1.28125 4.03125 -1.296875 3.984375 -1.296875 C 3.90625 -1.296875 3.875 -1.234375 3.859375 -1.15625 C 3.515625 -0.140625 2.625 -0.140625 2.515625 -0.140625 C 2.03125 -0.140625 1.625 -0.4375 1.40625 -0.796875 C 1.09375 -1.28125 1.09375 -1.9375 1.09375 -2.296875 L 3.875 -2.296875 C 4.09375 -2.296875 4.125 -2.296875 4.125 -2.5 C 4.125 -3.484375 3.578125 -4.4375 2.34375 -4.4375 C 1.1875 -4.4375 0.28125 -3.421875 0.28125 -2.1875 C 0.28125 -0.859375 1.3125 0.109375 2.453125 0.109375 C 3.671875 0.109375 4.125 -0.984375 4.125 -1.1875 Z M 3.46875 -2.5 L 1.109375 -2.5 C 1.171875 -3.984375 2 -4.234375 2.34375 -4.234375 C 3.359375 -4.234375 3.46875 -2.890625 3.46875 -2.5 Z M 3.46875 -2.5 "/>
|
||||
</g>
|
||||
<g id="glyph-2-8">
|
||||
<path d="M 6.1875 -4.9375 C 6.1875 -5.90625 5.203125 -6.78125 3.84375 -6.78125 L 0.34375 -6.78125 L 0.34375 -6.46875 L 0.578125 -6.46875 C 1.34375 -6.46875 1.375 -6.359375 1.375 -6 L 1.375 -0.78125 C 1.375 -0.421875 1.34375 -0.3125 0.578125 -0.3125 L 0.34375 -0.3125 L 0.34375 0 C 0.6875 -0.03125 1.421875 -0.03125 1.8125 -0.03125 C 2.1875 -0.03125 2.921875 -0.03125 3.28125 0 L 3.28125 -0.3125 L 3.03125 -0.3125 C 2.265625 -0.3125 2.25 -0.421875 2.25 -0.78125 L 2.25 -3.140625 L 3.921875 -3.140625 C 5.125 -3.140625 6.1875 -3.9375 6.1875 -4.9375 Z M 5.171875 -4.9375 C 5.171875 -4.46875 5.171875 -3.390625 3.59375 -3.390625 L 2.21875 -3.390625 L 2.21875 -6.078125 C 2.21875 -6.40625 2.25 -6.46875 2.703125 -6.46875 L 3.59375 -6.46875 C 5.171875 -6.46875 5.171875 -5.421875 5.171875 -4.9375 Z M 5.171875 -4.9375 "/>
|
||||
</g>
|
||||
<g id="glyph-2-9">
|
||||
<path d="M 4.796875 -0.890625 L 4.796875 -1.4375 L 4.546875 -1.4375 L 4.546875 -0.890625 C 4.546875 -0.3125 4.296875 -0.25 4.1875 -0.25 C 3.859375 -0.25 3.8125 -0.6875 3.8125 -0.75 L 3.8125 -2.734375 C 3.8125 -3.140625 3.8125 -3.53125 3.46875 -3.90625 C 3.078125 -4.28125 2.578125 -4.4375 2.109375 -4.4375 C 1.296875 -4.4375 0.609375 -3.984375 0.609375 -3.328125 C 0.609375 -3.03125 0.796875 -2.859375 1.0625 -2.859375 C 1.34375 -2.859375 1.515625 -3.0625 1.515625 -3.3125 C 1.515625 -3.4375 1.46875 -3.765625 1.015625 -3.765625 C 1.28125 -4.125 1.765625 -4.234375 2.078125 -4.234375 C 2.5625 -4.234375 3.140625 -3.84375 3.140625 -2.953125 L 3.140625 -2.59375 C 2.625 -2.5625 1.9375 -2.53125 1.3125 -2.234375 C 0.5625 -1.890625 0.3125 -1.375 0.3125 -0.9375 C 0.3125 -0.140625 1.28125 0.109375 1.90625 0.109375 C 2.5625 0.109375 3.015625 -0.28125 3.203125 -0.75 C 3.25 -0.359375 3.515625 0.0625 3.984375 0.0625 C 4.1875 0.0625 4.796875 -0.078125 4.796875 -0.890625 Z M 3.140625 -1.390625 C 3.140625 -0.453125 2.421875 -0.109375 1.96875 -0.109375 C 1.484375 -0.109375 1.078125 -0.453125 1.078125 -0.953125 C 1.078125 -1.5 1.5 -2.328125 3.140625 -2.375 Z M 3.140625 -1.390625 "/>
|
||||
</g>
|
||||
<g id="glyph-2-10">
|
||||
<path d="M 4.953125 -1.84375 C 4.953125 -2.84375 4.296875 -3.65625 3.46875 -3.84375 L 2.1875 -4.15625 C 1.578125 -4.3125 1.1875 -4.84375 1.1875 -5.421875 C 1.1875 -6.109375 1.71875 -6.71875 2.5 -6.71875 C 4.15625 -6.71875 4.375 -5.09375 4.4375 -4.640625 C 4.4375 -4.578125 4.4375 -4.53125 4.546875 -4.53125 C 4.6875 -4.53125 4.6875 -4.578125 4.6875 -4.765625 L 4.6875 -6.75 C 4.6875 -6.921875 4.6875 -7 4.578125 -7 C 4.5 -7 4.5 -6.984375 4.421875 -6.859375 L 4.078125 -6.296875 C 3.78125 -6.59375 3.375 -7 2.484375 -7 C 1.390625 -7 0.5625 -6.125 0.5625 -5.0625 C 0.5625 -4.25 1.078125 -3.515625 1.859375 -3.25 C 1.96875 -3.21875 2.46875 -3.09375 3.171875 -2.921875 C 3.4375 -2.859375 3.734375 -2.78125 4.015625 -2.421875 C 4.21875 -2.15625 4.3125 -1.828125 4.3125 -1.515625 C 4.3125 -0.796875 3.8125 -0.09375 2.984375 -0.09375 C 2.703125 -0.09375 1.9375 -0.140625 1.421875 -0.625 C 0.84375 -1.15625 0.8125 -1.796875 0.796875 -2.15625 C 0.796875 -2.25 0.71875 -2.25 0.6875 -2.25 C 0.5625 -2.25 0.5625 -2.1875 0.5625 -2 L 0.5625 -0.015625 C 0.5625 0.15625 0.5625 0.21875 0.671875 0.21875 C 0.734375 0.21875 0.75 0.203125 0.8125 0.09375 C 0.8125 0.09375 0.84375 0.046875 1.171875 -0.46875 C 1.484375 -0.140625 2.109375 0.21875 3 0.21875 C 4.15625 0.21875 4.953125 -0.75 4.953125 -1.84375 Z M 4.953125 -1.84375 "/>
|
||||
</g>
|
||||
<g id="glyph-2-11">
|
||||
<path d="M 5.046875 -3.96875 L 5.046875 -4.28125 C 4.8125 -4.25 4.53125 -4.25 4.296875 -4.25 L 3.4375 -4.28125 L 3.4375 -3.96875 C 3.734375 -3.953125 3.90625 -3.796875 3.90625 -3.546875 C 3.90625 -3.4375 3.890625 -3.421875 3.84375 -3.296875 L 2.84375 -0.859375 L 1.734375 -3.53125 C 1.703125 -3.625 1.671875 -3.671875 1.671875 -3.703125 C 1.671875 -3.96875 2.046875 -3.96875 2.234375 -3.96875 L 2.234375 -4.28125 L 1.15625 -4.25 C 0.890625 -4.25 0.484375 -4.25 0.1875 -4.28125 L 0.1875 -3.96875 C 0.671875 -3.96875 0.859375 -3.96875 0.984375 -3.625 L 2.484375 0 L 2.234375 0.578125 C 2.015625 1.125 1.734375 1.8125 1.09375 1.8125 C 1.046875 1.8125 0.828125 1.8125 0.640625 1.640625 C 0.9375 1.59375 1.015625 1.375 1.015625 1.21875 C 1.015625 0.96875 0.828125 0.796875 0.609375 0.796875 C 0.40625 0.796875 0.1875 0.9375 0.1875 1.234375 C 0.1875 1.671875 0.609375 2.03125 1.09375 2.03125 C 1.71875 2.03125 2.140625 1.46875 2.375 0.90625 L 4.125 -3.328125 C 4.375 -3.953125 4.875 -3.96875 5.046875 -3.96875 Z M 5.046875 -3.96875 "/>
|
||||
</g>
|
||||
<g id="glyph-2-12">
|
||||
<path d="M 5.3125 0 L 5.3125 -0.3125 C 4.796875 -0.3125 4.546875 -0.3125 4.53125 -0.609375 L 4.53125 -2.5 C 4.53125 -3.359375 4.53125 -3.65625 4.234375 -4.015625 C 4.09375 -4.1875 3.765625 -4.390625 3.1875 -4.390625 C 2.34375 -4.390625 1.921875 -3.796875 1.75 -3.4375 L 1.75 -6.890625 L 0.3125 -6.78125 L 0.3125 -6.46875 C 1.015625 -6.46875 1.09375 -6.40625 1.09375 -5.90625 L 1.09375 -0.75 C 1.09375 -0.3125 0.984375 -0.3125 0.3125 -0.3125 L 0.3125 0 L 1.4375 -0.03125 L 2.546875 0 L 2.546875 -0.3125 C 1.890625 -0.3125 1.78125 -0.3125 1.78125 -0.75 L 1.78125 -2.578125 C 1.78125 -3.609375 2.484375 -4.171875 3.109375 -4.171875 C 3.734375 -4.171875 3.84375 -3.625 3.84375 -3.0625 L 3.84375 -0.75 C 3.84375 -0.3125 3.734375 -0.3125 3.078125 -0.3125 L 3.078125 0 L 4.203125 -0.03125 Z M 5.3125 0 "/>
|
||||
</g>
|
||||
<g id="glyph-2-13">
|
||||
<path d="M 3.578125 -1.265625 C 3.578125 -1.796875 3.28125 -2.09375 3.15625 -2.21875 C 2.828125 -2.53125 2.4375 -2.609375 2.03125 -2.6875 C 1.46875 -2.796875 0.796875 -2.921875 0.796875 -3.5 C 0.796875 -3.84375 1.0625 -4.25 1.921875 -4.25 C 3 -4.25 3.0625 -3.359375 3.078125 -3.0625 C 3.078125 -2.96875 3.1875 -2.96875 3.1875 -2.96875 C 3.328125 -2.96875 3.328125 -3.015625 3.328125 -3.203125 L 3.328125 -4.203125 C 3.328125 -4.375 3.328125 -4.4375 3.21875 -4.4375 C 3.171875 -4.4375 3.140625 -4.4375 3.015625 -4.328125 C 2.984375 -4.28125 2.890625 -4.203125 2.84375 -4.171875 C 2.46875 -4.4375 2.0625 -4.4375 1.921875 -4.4375 C 0.703125 -4.4375 0.328125 -3.78125 0.328125 -3.21875 C 0.328125 -2.875 0.484375 -2.59375 0.75 -2.375 C 1.078125 -2.125 1.34375 -2.0625 2.0625 -1.921875 C 2.28125 -1.890625 3.09375 -1.71875 3.09375 -1.015625 C 3.09375 -0.5 2.75 -0.109375 1.96875 -0.109375 C 1.140625 -0.109375 0.78125 -0.671875 0.59375 -1.515625 C 0.5625 -1.640625 0.5625 -1.6875 0.453125 -1.6875 C 0.328125 -1.6875 0.328125 -1.625 0.328125 -1.4375 L 0.328125 -0.125 C 0.328125 0.046875 0.328125 0.109375 0.4375 0.109375 C 0.484375 0.109375 0.5 0.09375 0.6875 -0.09375 C 0.703125 -0.109375 0.703125 -0.125 0.890625 -0.3125 C 1.3125 0.09375 1.765625 0.109375 1.96875 0.109375 C 3.109375 0.109375 3.578125 -0.5625 3.578125 -1.265625 Z M 3.578125 -1.265625 "/>
|
||||
</g>
|
||||
<g id="glyph-2-14">
|
||||
<path d="M 2.453125 0 L 2.453125 -0.3125 C 1.796875 -0.3125 1.75 -0.359375 1.75 -0.75 L 1.75 -4.390625 L 0.359375 -4.28125 L 0.359375 -3.96875 C 1.015625 -3.96875 1.09375 -3.90625 1.09375 -3.421875 L 1.09375 -0.75 C 1.09375 -0.3125 0.984375 -0.3125 0.328125 -0.3125 L 0.328125 0 L 1.421875 -0.03125 C 1.765625 -0.03125 2.109375 -0.015625 2.453125 0 Z M 1.90625 -6 C 1.90625 -6.265625 1.671875 -6.515625 1.375 -6.515625 C 1.046875 -6.515625 0.84375 -6.234375 0.84375 -6 C 0.84375 -5.71875 1.078125 -5.46875 1.375 -5.46875 C 1.703125 -5.46875 1.90625 -5.75 1.90625 -6 Z M 1.90625 -6 "/>
|
||||
</g>
|
||||
<g id="glyph-2-15">
|
||||
<path d="M 8.71875 0 L 8.71875 -0.3125 L 8.484375 -0.3125 C 7.71875 -0.3125 7.703125 -0.421875 7.703125 -0.78125 L 7.703125 -6 C 7.703125 -6.359375 7.71875 -6.46875 8.484375 -6.46875 L 8.71875 -6.46875 L 8.71875 -6.78125 L 7.046875 -6.78125 C 6.78125 -6.78125 6.78125 -6.765625 6.71875 -6.59375 L 4.546875 -1 L 2.390625 -6.5625 C 2.296875 -6.78125 2.265625 -6.78125 2.046875 -6.78125 L 0.359375 -6.78125 L 0.359375 -6.46875 L 0.609375 -6.46875 C 1.375 -6.46875 1.390625 -6.359375 1.390625 -6 L 1.390625 -1.046875 C 1.390625 -0.78125 1.390625 -0.3125 0.359375 -0.3125 L 0.359375 0 L 1.53125 -0.03125 L 2.6875 0 L 2.6875 -0.3125 C 1.671875 -0.3125 1.671875 -0.78125 1.671875 -1.046875 L 1.671875 -6.390625 L 4.0625 -0.21875 C 4.125 -0.09375 4.171875 0 4.265625 0 C 4.375 0 4.40625 -0.078125 4.4375 -0.1875 L 6.890625 -6.46875 L 6.890625 -0.78125 C 6.890625 -0.421875 6.875 -0.3125 6.109375 -0.3125 L 5.875 -0.3125 L 5.875 0 C 6.234375 -0.03125 6.921875 -0.03125 7.296875 -0.03125 C 7.6875 -0.03125 8.359375 -0.03125 8.71875 0 Z M 8.71875 0 "/>
|
||||
</g>
|
||||
<g id="glyph-2-16">
|
||||
<path d="M 5.234375 0 L 5.234375 -0.3125 C 4.53125 -0.3125 4.453125 -0.375 4.453125 -0.859375 L 4.453125 -6.890625 L 3.03125 -6.78125 L 3.03125 -6.46875 C 3.71875 -6.46875 3.796875 -6.40625 3.796875 -5.90625 L 3.796875 -3.765625 C 3.515625 -4.125 3.078125 -4.390625 2.546875 -4.390625 C 1.375 -4.390625 0.34375 -3.40625 0.34375 -2.140625 C 0.34375 -0.875 1.3125 0.109375 2.4375 0.109375 C 3.078125 0.109375 3.515625 -0.234375 3.765625 -0.546875 L 3.765625 0.109375 Z M 3.765625 -1.171875 C 3.765625 -0.984375 3.765625 -0.96875 3.65625 -0.796875 C 3.359375 -0.328125 2.921875 -0.109375 2.484375 -0.109375 C 2.046875 -0.109375 1.6875 -0.359375 1.453125 -0.75 C 1.1875 -1.15625 1.15625 -1.71875 1.15625 -2.125 C 1.15625 -2.484375 1.1875 -3.078125 1.46875 -3.53125 C 1.671875 -3.84375 2.046875 -4.171875 2.59375 -4.171875 C 2.9375 -4.171875 3.359375 -4.015625 3.65625 -3.578125 C 3.765625 -3.40625 3.765625 -3.390625 3.765625 -3.203125 Z M 3.765625 -1.171875 "/>
|
||||
</g>
|
||||
<g id="glyph-2-17">
|
||||
<path d="M 4.15625 0 L 4.15625 -0.3125 L 3.84375 -0.3125 C 2.953125 -0.3125 2.921875 -0.421875 2.921875 -0.78125 L 2.921875 -6.34375 C 2.921875 -6.59375 2.921875 -6.609375 2.6875 -6.609375 C 2.078125 -5.96875 1.203125 -5.96875 0.890625 -5.96875 L 0.890625 -5.671875 C 1.078125 -5.671875 1.671875 -5.671875 2.1875 -5.921875 L 2.1875 -0.78125 C 2.1875 -0.421875 2.15625 -0.3125 1.265625 -0.3125 L 0.9375 -0.3125 L 0.9375 0 C 1.296875 -0.03125 2.15625 -0.03125 2.546875 -0.03125 C 2.953125 -0.03125 3.8125 -0.03125 4.15625 0 Z M 4.15625 0 "/>
|
||||
</g>
|
||||
<g id="glyph-2-18">
|
||||
<path d="M 4.53125 -1.703125 C 4.53125 -2.515625 3.90625 -3.28125 2.875 -3.5 C 3.6875 -3.765625 4.265625 -4.453125 4.265625 -5.234375 C 4.265625 -6.046875 3.390625 -6.609375 2.4375 -6.609375 C 1.4375 -6.609375 0.6875 -6.015625 0.6875 -5.265625 C 0.6875 -4.9375 0.90625 -4.75 1.1875 -4.75 C 1.5 -4.75 1.703125 -4.953125 1.703125 -5.25 C 1.703125 -5.75 1.234375 -5.75 1.078125 -5.75 C 1.390625 -6.234375 2.046875 -6.359375 2.40625 -6.359375 C 2.8125 -6.359375 3.359375 -6.140625 3.359375 -5.25 C 3.359375 -5.125 3.328125 -4.546875 3.078125 -4.125 C 2.78125 -3.640625 2.4375 -3.609375 2.1875 -3.609375 C 2.109375 -3.59375 1.875 -3.578125 1.8125 -3.578125 C 1.71875 -3.5625 1.65625 -3.546875 1.65625 -3.453125 C 1.65625 -3.34375 1.71875 -3.34375 1.890625 -3.34375 L 2.328125 -3.34375 C 3.140625 -3.34375 3.515625 -2.671875 3.515625 -1.703125 C 3.515625 -0.34375 2.828125 -0.0625 2.390625 -0.0625 C 1.96875 -0.0625 1.21875 -0.234375 0.875 -0.8125 C 1.21875 -0.765625 1.53125 -0.984375 1.53125 -1.359375 C 1.53125 -1.71875 1.265625 -1.921875 0.96875 -1.921875 C 0.734375 -1.921875 0.421875 -1.78125 0.421875 -1.34375 C 0.421875 -0.4375 1.34375 0.21875 2.421875 0.21875 C 3.625 0.21875 4.53125 -0.6875 4.53125 -1.703125 Z M 4.53125 -1.703125 "/>
|
||||
</g>
|
||||
<g id="glyph-2-19">
|
||||
<path d="M 4.453125 -1.71875 L 4.203125 -1.71875 C 4.15625 -1.421875 4.09375 -0.984375 3.984375 -0.84375 C 3.921875 -0.765625 3.265625 -0.765625 3.046875 -0.765625 L 1.265625 -0.765625 L 2.3125 -1.78125 C 3.859375 -3.15625 4.453125 -3.6875 4.453125 -4.6875 C 4.453125 -5.8125 3.5625 -6.609375 2.34375 -6.609375 C 1.234375 -6.609375 0.5 -5.6875 0.5 -4.8125 C 0.5 -4.25 0.984375 -4.25 1.015625 -4.25 C 1.1875 -4.25 1.53125 -4.375 1.53125 -4.78125 C 1.53125 -5.046875 1.359375 -5.296875 1.015625 -5.296875 C 0.9375 -5.296875 0.90625 -5.296875 0.890625 -5.28125 C 1.109375 -5.9375 1.640625 -6.296875 2.21875 -6.296875 C 3.125 -6.296875 3.546875 -5.5 3.546875 -4.6875 C 3.546875 -3.890625 3.0625 -3.109375 2.515625 -2.484375 L 0.609375 -0.359375 C 0.5 -0.265625 0.5 -0.234375 0.5 0 L 4.171875 0 Z M 4.453125 -1.71875 "/>
|
||||
</g>
|
||||
<g id="glyph-2-20">
|
||||
<path d="M 5.171875 -2.140625 C 5.171875 -3.40625 4.203125 -4.390625 3.09375 -4.390625 C 2.328125 -4.390625 1.90625 -3.953125 1.703125 -3.734375 L 1.703125 -4.390625 L 0.28125 -4.28125 L 0.28125 -3.96875 C 0.984375 -3.96875 1.046875 -3.90625 1.046875 -3.46875 L 1.046875 1.171875 C 1.046875 1.625 0.9375 1.625 0.28125 1.625 L 0.28125 1.921875 L 1.390625 1.890625 L 2.515625 1.921875 L 2.515625 1.625 C 1.84375 1.625 1.734375 1.625 1.734375 1.171875 L 1.734375 -0.578125 C 1.78125 -0.421875 2.203125 0.109375 2.953125 0.109375 C 4.140625 0.109375 5.171875 -0.859375 5.171875 -2.140625 Z M 4.34375 -2.140625 C 4.34375 -0.9375 3.65625 -0.109375 2.921875 -0.109375 C 2.515625 -0.109375 2.140625 -0.3125 1.875 -0.71875 C 1.734375 -0.921875 1.734375 -0.9375 1.734375 -1.125 L 1.734375 -3.34375 C 2.03125 -3.84375 2.515625 -4.140625 3.015625 -4.140625 C 3.734375 -4.140625 4.34375 -3.265625 4.34375 -2.140625 Z M 4.34375 -2.140625 "/>
|
||||
</g>
|
||||
<g id="glyph-2-21">
|
||||
<path d="M 4.125 -1.1875 C 4.125 -1.28125 4.015625 -1.28125 3.984375 -1.28125 C 3.90625 -1.28125 3.875 -1.234375 3.859375 -1.1875 C 3.578125 -0.265625 2.921875 -0.140625 2.5625 -0.140625 C 2.03125 -0.140625 1.15625 -0.5625 1.15625 -2.15625 C 1.15625 -3.78125 1.96875 -4.203125 2.5 -4.203125 C 2.59375 -4.203125 3.21875 -4.1875 3.5625 -3.828125 C 3.15625 -3.796875 3.09375 -3.5 3.09375 -3.375 C 3.09375 -3.109375 3.28125 -2.921875 3.546875 -2.921875 C 3.8125 -2.921875 4.015625 -3.078125 4.015625 -3.390625 C 4.015625 -4.0625 3.25 -4.4375 2.484375 -4.4375 C 1.25 -4.4375 0.34375 -3.375 0.34375 -2.140625 C 0.34375 -0.875 1.3125 0.109375 2.46875 0.109375 C 3.796875 0.109375 4.125 -1.078125 4.125 -1.1875 Z M 4.125 -1.1875 "/>
|
||||
</g>
|
||||
<g id="glyph-2-22">
|
||||
<path d="M 5.234375 0 L 5.234375 -0.3125 C 4.5625 -0.3125 4.453125 -0.3125 4.453125 -0.75 L 4.453125 -4.390625 L 3.203125 -4.3125 C 3.046875 -4.296875 3.03125 -4.28125 3.03125 -4.28125 C 3 -4.28125 2.984375 -4.28125 2.84375 -4.28125 L 1.671875 -4.28125 L 1.671875 -5.390625 C 1.671875 -6.375 2.53125 -6.78125 3.140625 -6.78125 C 3.4375 -6.78125 3.796875 -6.671875 4 -6.453125 C 3.59375 -6.421875 3.53125 -6.15625 3.53125 -6 C 3.53125 -5.671875 3.796875 -5.53125 3.984375 -5.53125 C 4.203125 -5.53125 4.4375 -5.6875 4.4375 -6 C 4.4375 -6.578125 3.890625 -7 3.15625 -7 C 2.234375 -7 1.046875 -6.484375 1.046875 -5.40625 L 1.046875 -4.28125 L 0.265625 -4.28125 L 0.265625 -3.96875 L 1.046875 -3.96875 L 1.046875 -0.75 C 1.046875 -0.3125 0.9375 -0.3125 0.28125 -0.3125 L 0.28125 0 L 1.375 -0.03125 L 2.484375 0 L 2.484375 -0.3125 C 1.8125 -0.3125 1.703125 -0.3125 1.703125 -0.75 L 1.703125 -3.96875 L 3.28125 -3.96875 C 3.734375 -3.96875 3.796875 -3.84375 3.796875 -3.4375 L 3.796875 -0.75 C 3.796875 -0.3125 3.6875 -0.3125 3.03125 -0.3125 L 3.03125 0 L 4.125 -0.03125 Z M 5.234375 0 "/>
|
||||
</g>
|
||||
<g id="glyph-3-0">
|
||||
</g>
|
||||
<g id="glyph-3-1">
|
||||
<path d="M 4.328125 -3.734375 C 4.328125 -4.09375 4.015625 -4.390625 3.5 -4.390625 C 2.859375 -4.390625 2.421875 -3.90625 2.234375 -3.625 C 2.15625 -4.0625 1.796875 -4.390625 1.328125 -4.390625 C 0.875 -4.390625 0.6875 -4 0.59375 -3.8125 C 0.421875 -3.484375 0.28125 -2.890625 0.28125 -2.859375 C 0.28125 -2.765625 0.40625 -2.765625 0.40625 -2.765625 C 0.5 -2.765625 0.515625 -2.765625 0.578125 -2.984375 C 0.75 -3.6875 0.9375 -4.171875 1.296875 -4.171875 C 1.46875 -4.171875 1.609375 -4.09375 1.609375 -3.703125 C 1.609375 -3.5 1.578125 -3.390625 1.453125 -2.875 L 0.875 -0.578125 C 0.84375 -0.4375 0.78125 -0.203125 0.78125 -0.15625 C 0.78125 0.015625 0.921875 0.109375 1.078125 0.109375 C 1.1875 0.109375 1.375 0.03125 1.4375 -0.171875 C 1.453125 -0.203125 1.796875 -1.5625 1.828125 -1.734375 L 2.15625 -3.03125 C 2.1875 -3.15625 2.46875 -3.625 2.703125 -3.84375 C 2.78125 -3.90625 3.078125 -4.171875 3.5 -4.171875 C 3.765625 -4.171875 3.921875 -4.046875 3.921875 -4.046875 C 3.625 -4 3.40625 -3.765625 3.40625 -3.5 C 3.40625 -3.34375 3.515625 -3.15625 3.78125 -3.15625 C 4.046875 -3.15625 4.328125 -3.390625 4.328125 -3.734375 Z M 4.328125 -3.734375 "/>
|
||||
</g>
|
||||
<g id="glyph-3-2">
|
||||
<path d="M 3.546875 -0.390625 C 3.546875 -0.421875 3.546875 -0.53125 3.453125 -0.53125 C 3.453125 -0.53125 3.40625 -0.53125 3.328125 -0.46875 C 3.015625 -0.28125 2.65625 -0.109375 2.28125 -0.109375 C 1.703125 -0.109375 1.203125 -0.53125 1.203125 -1.40625 C 1.203125 -1.75 1.296875 -2.125 1.3125 -2.25 L 2.953125 -2.25 C 3.109375 -2.25 3.296875 -2.25 3.296875 -2.40625 C 3.296875 -2.546875 3.171875 -2.546875 3 -2.546875 L 1.40625 -2.546875 C 1.640625 -3.390625 2.1875 -3.96875 3.09375 -3.96875 L 3.40625 -3.96875 C 3.578125 -3.96875 3.734375 -3.96875 3.734375 -4.140625 C 3.734375 -4.28125 3.609375 -4.28125 3.4375 -4.28125 L 3.078125 -4.28125 C 1.796875 -4.28125 0.46875 -3.28125 0.46875 -1.765625 C 0.46875 -0.671875 1.203125 0.109375 2.265625 0.109375 C 2.90625 0.109375 3.546875 -0.28125 3.546875 -0.390625 Z M 3.546875 -0.390625 "/>
|
||||
</g>
|
||||
<g id="glyph-3-3">
|
||||
<path d="M 5.390625 -1.421875 C 5.390625 -1.515625 5.296875 -1.515625 5.265625 -1.515625 C 5.171875 -1.515625 5.15625 -1.484375 5.125 -1.34375 C 4.984375 -0.78125 4.796875 -0.109375 4.390625 -0.109375 C 4.171875 -0.109375 4.078125 -0.234375 4.078125 -0.5625 C 4.078125 -0.78125 4.203125 -1.25 4.28125 -1.59375 L 4.546875 -2.671875 C 4.578125 -2.8125 4.6875 -3.1875 4.71875 -3.34375 C 4.765625 -3.578125 4.875 -3.953125 4.875 -4.015625 C 4.875 -4.1875 4.734375 -4.28125 4.578125 -4.28125 C 4.53125 -4.28125 4.28125 -4.265625 4.203125 -3.921875 L 3.453125 -0.9375 C 3.4375 -0.90625 3.046875 -0.109375 2.328125 -0.109375 C 1.8125 -0.109375 1.703125 -0.5625 1.703125 -0.921875 C 1.703125 -1.484375 1.984375 -2.265625 2.25 -2.953125 C 2.359375 -3.25 2.40625 -3.390625 2.40625 -3.578125 C 2.40625 -4.015625 2.09375 -4.390625 1.59375 -4.390625 C 0.65625 -4.390625 0.28125 -2.953125 0.28125 -2.859375 C 0.28125 -2.765625 0.40625 -2.765625 0.40625 -2.765625 C 0.5 -2.765625 0.515625 -2.78125 0.5625 -2.9375 C 0.8125 -3.796875 1.1875 -4.171875 1.5625 -4.171875 C 1.65625 -4.171875 1.8125 -4.15625 1.8125 -3.84375 C 1.8125 -3.609375 1.703125 -3.3125 1.640625 -3.171875 C 1.28125 -2.1875 1.078125 -1.5625 1.078125 -1.078125 C 1.078125 -0.140625 1.75 0.109375 2.296875 0.109375 C 2.953125 0.109375 3.296875 -0.34375 3.46875 -0.5625 C 3.578125 -0.15625 3.921875 0.109375 4.359375 0.109375 C 4.703125 0.109375 4.9375 -0.125 5.09375 -0.4375 C 5.265625 -0.796875 5.390625 -1.421875 5.390625 -1.421875 Z M 5.390625 -1.421875 "/>
|
||||
</g>
|
||||
<g id="glyph-3-4">
|
||||
<path d="M 4.828125 -3.78125 C 4.859375 -3.921875 4.859375 -3.9375 4.859375 -4.015625 C 4.859375 -4.1875 4.71875 -4.28125 4.578125 -4.28125 C 4.46875 -4.28125 4.3125 -4.21875 4.234375 -4.0625 C 4.203125 -4.015625 4.125 -3.703125 4.09375 -3.53125 L 3.890625 -2.734375 L 3.4375 -0.953125 C 3.40625 -0.796875 2.96875 -0.109375 2.328125 -0.109375 C 1.8125 -0.109375 1.703125 -0.546875 1.703125 -0.90625 C 1.703125 -1.375 1.875 -1.984375 2.21875 -2.859375 C 2.375 -3.265625 2.40625 -3.375 2.40625 -3.578125 C 2.40625 -4.015625 2.09375 -4.390625 1.59375 -4.390625 C 0.65625 -4.390625 0.28125 -2.953125 0.28125 -2.859375 C 0.28125 -2.765625 0.40625 -2.765625 0.40625 -2.765625 C 0.5 -2.765625 0.515625 -2.78125 0.5625 -2.9375 C 0.828125 -3.875 1.234375 -4.171875 1.5625 -4.171875 C 1.640625 -4.171875 1.8125 -4.171875 1.8125 -3.84375 C 1.8125 -3.609375 1.71875 -3.34375 1.640625 -3.15625 C 1.25 -2.109375 1.078125 -1.53125 1.078125 -1.078125 C 1.078125 -0.1875 1.703125 0.109375 2.28125 0.109375 C 2.671875 0.109375 3 -0.0625 3.28125 -0.34375 C 3.15625 0.171875 3.03125 0.671875 2.640625 1.1875 C 2.375 1.53125 2 1.8125 1.546875 1.8125 C 1.40625 1.8125 0.96875 1.78125 0.796875 1.40625 C 0.953125 1.40625 1.078125 1.40625 1.21875 1.28125 C 1.3125 1.1875 1.421875 1.0625 1.421875 0.875 C 1.421875 0.5625 1.15625 0.53125 1.046875 0.53125 C 0.828125 0.53125 0.5 0.6875 0.5 1.171875 C 0.5 1.671875 0.9375 2.03125 1.546875 2.03125 C 2.5625 2.03125 3.59375 1.125 3.875 0.015625 Z M 4.828125 -3.78125 "/>
|
||||
</g>
|
||||
</g>
|
||||
<clipPath id="clip-0">
|
||||
<path clip-rule="nonzero" d="M 230 62 L 251.234375 62 L 251.234375 94 L 230 94 Z M 230 62 "/>
|
||||
</clipPath>
|
||||
<clipPath id="clip2">
|
||||
<path d="M 25 75 L 57 75 L 57 107.234375 L 25 107.234375 Z M 25 75 "/>
|
||||
<clipPath id="clip-1">
|
||||
<path clip-rule="nonzero" d="M 25 75 L 57 75 L 57 107.234375 L 25 107.234375 Z M 25 75 "/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g id="surface1">
|
||||
<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 9.962416 -0.0016754 C 9.962416 5.502218 5.501283 9.963351 0.0013101 9.963351 C -5.502583 9.963351 -9.963716 5.502218 -9.963716 -0.0016754 C -9.963716 -5.501649 -5.502583 -9.962782 0.0013101 -9.962782 C 5.501283 -9.962782 9.962416 -5.501649 9.962416 -0.0016754 Z M 9.962416 -0.0016754 " transform="matrix(0.996454,0,0,-0.996454,40.928382,77.994424)"/>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph0-1" x="34.754355" y="82.146647"/>
|
||||
<path fill-rule="nonzero" fill="rgb(100%, 100%, 100%)" fill-opacity="1" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 9.962416 -0.0016754 C 9.962416 5.502218 5.501283 9.963351 0.0013101 9.963351 C -5.502583 9.963351 -9.963716 5.502218 -9.963716 -0.0016754 C -9.963716 -5.501649 -5.502583 -9.962782 0.0013101 -9.962782 C 5.501283 -9.962782 9.962416 -5.501649 9.962416 -0.0016754 Z M 9.962416 -0.0016754 " transform="matrix(0.996454, 0, 0, -0.996454, 40.928382, 77.994424)"/>
|
||||
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
|
||||
<use xlink:href="#glyph-0-1" x="34.754355" y="82.146647"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph1-1" x="31.221927" y="95.698417"/>
|
||||
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
|
||||
<use xlink:href="#glyph-1-1" x="31.221927" y="95.698417"/>
|
||||
</g>
|
||||
<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 52.982165 -14.173025 L 103.681491 -14.173025 L 103.681491 14.173594 L 52.982165 14.173594 Z M 52.982165 -14.173025 " transform="matrix(0.996454,0,0,-0.996454,40.928382,77.994424)"/>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph2-1" x="97.029722" y="81.414253"/>
|
||||
<use xlink:href="#glyph2-2" x="104.199196" y="81.414253"/>
|
||||
<use xlink:href="#glyph2-3" x="109.162831" y="81.414253"/>
|
||||
<path fill-rule="nonzero" fill="rgb(100%, 100%, 100%)" fill-opacity="1" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 52.982165 -14.173025 L 103.681491 -14.173025 L 103.681491 14.173594 L 52.982165 14.173594 Z M 52.982165 -14.173025 " transform="matrix(0.996454, 0, 0, -0.996454, 40.928382, 77.994424)"/>
|
||||
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
|
||||
<use xlink:href="#glyph-2-1" x="97.029722" y="81.414253"/>
|
||||
<use xlink:href="#glyph-2-2" x="104.199196" y="81.414253"/>
|
||||
<use xlink:href="#glyph-2-3" x="109.162831" y="81.414253"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph2-4" x="114.400458" y="81.414253"/>
|
||||
<use xlink:href="#glyph2-5" x="118.261174" y="81.414253"/>
|
||||
<use xlink:href="#glyph2-2" x="122.149685" y="81.414253"/>
|
||||
<use xlink:href="#glyph2-6" x="127.11332" y="81.414253"/>
|
||||
<use xlink:href="#glyph2-6" x="129.871116" y="81.414253"/>
|
||||
<use xlink:href="#glyph2-7" x="132.628911" y="81.414253"/>
|
||||
<use xlink:href="#glyph2-5" x="137.041582" y="81.414253"/>
|
||||
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
|
||||
<use xlink:href="#glyph-2-4" x="114.400458" y="81.414253"/>
|
||||
<use xlink:href="#glyph-2-5" x="118.261174" y="81.414253"/>
|
||||
<use xlink:href="#glyph-2-2" x="122.149685" y="81.414253"/>
|
||||
<use xlink:href="#glyph-2-6" x="127.11332" y="81.414253"/>
|
||||
<use xlink:href="#glyph-2-6" x="129.871116" y="81.414253"/>
|
||||
<use xlink:href="#glyph-2-7" x="132.628911" y="81.414253"/>
|
||||
<use xlink:href="#glyph-2-5" x="137.041582" y="81.414253"/>
|
||||
</g>
|
||||
<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 147.195178 -14.173025 L 181.210337 -14.173025 L 181.210337 14.173594 L 147.195178 14.173594 Z M 147.195178 -14.173025 " transform="matrix(0.996454,0,0,-0.996454,40.928382,77.994424)"/>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph2-8" x="192.760026" y="81.414253"/>
|
||||
<use xlink:href="#glyph2-6" x="199.516526" y="81.414253"/>
|
||||
<use xlink:href="#glyph2-9" x="202.274321" y="81.414253"/>
|
||||
<use xlink:href="#glyph2-3" x="207.237956" y="81.414253"/>
|
||||
<path fill-rule="nonzero" fill="rgb(100%, 100%, 100%)" fill-opacity="1" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 147.195178 -14.173025 L 181.210337 -14.173025 L 181.210337 14.173594 L 147.195178 14.173594 Z M 147.195178 -14.173025 " transform="matrix(0.996454, 0, 0, -0.996454, 40.928382, 77.994424)"/>
|
||||
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
|
||||
<use xlink:href="#glyph-2-8" x="192.760026" y="81.414253"/>
|
||||
<use xlink:href="#glyph-2-6" x="199.516526" y="81.414253"/>
|
||||
<use xlink:href="#glyph-2-9" x="202.274321" y="81.414253"/>
|
||||
<use xlink:href="#glyph-2-3" x="207.237956" y="81.414253"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph2-4" x="212.475583" y="81.414253"/>
|
||||
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
|
||||
<use xlink:href="#glyph-2-4" x="212.475583" y="81.414253"/>
|
||||
</g>
|
||||
<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 54.750153 43.515932 L 101.909582 43.515932 L 101.909582 71.862551 L 54.750153 71.862551 Z M 54.750153 43.515932 " transform="matrix(0.996454,0,0,-0.996454,40.928382,77.994424)"/>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph2-10" x="98.794442" y="22.964272"/>
|
||||
<use xlink:href="#glyph2-11" x="104.310033" y="22.964272"/>
|
||||
<use xlink:href="#glyph2-3" x="109.549645" y="22.964272"/>
|
||||
<path fill-rule="nonzero" fill="rgb(100%, 100%, 100%)" fill-opacity="1" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 54.750153 43.515932 L 101.909582 43.515932 L 101.909582 71.862551 L 54.750153 71.862551 Z M 54.750153 43.515932 " transform="matrix(0.996454, 0, 0, -0.996454, 40.928382, 77.994424)"/>
|
||||
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
|
||||
<use xlink:href="#glyph-2-10" x="98.794442" y="22.964272"/>
|
||||
<use xlink:href="#glyph-2-11" x="104.310033" y="22.964272"/>
|
||||
<use xlink:href="#glyph-2-3" x="109.549645" y="22.964272"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph2-4" x="114.787273" y="22.964272"/>
|
||||
<use xlink:href="#glyph2-12" x="118.647988" y="22.964272"/>
|
||||
<use xlink:href="#glyph2-7" x="124.163579" y="22.964272"/>
|
||||
<use xlink:href="#glyph2-13" x="128.576251" y="22.964272"/>
|
||||
<use xlink:href="#glyph2-14" x="132.492558" y="22.964272"/>
|
||||
<use xlink:href="#glyph2-13" x="135.250354" y="22.964272"/>
|
||||
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
|
||||
<use xlink:href="#glyph-2-4" x="114.787273" y="22.964272"/>
|
||||
<use xlink:href="#glyph-2-12" x="118.647988" y="22.964272"/>
|
||||
<use xlink:href="#glyph-2-7" x="124.163579" y="22.964272"/>
|
||||
<use xlink:href="#glyph-2-13" x="128.576251" y="22.964272"/>
|
||||
<use xlink:href="#glyph-2-14" x="132.492558" y="22.964272"/>
|
||||
<use xlink:href="#glyph-2-13" x="135.250354" y="22.964272"/>
|
||||
</g>
|
||||
<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 147.195178 43.515932 L 181.210337 43.515932 L 181.210337 71.862551 L 147.195178 71.862551 Z M 147.195178 43.515932 " transform="matrix(0.996454,0,0,-0.996454,40.928382,77.994424)"/>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph2-15" x="191.036161" y="23.929836"/>
|
||||
<use xlink:href="#glyph2-2" x="200.136489" y="23.929836"/>
|
||||
<path fill-rule="nonzero" fill="rgb(100%, 100%, 100%)" fill-opacity="1" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 147.195178 43.515932 L 181.210337 43.515932 L 181.210337 71.862551 L 147.195178 71.862551 Z M 147.195178 43.515932 " transform="matrix(0.996454, 0, 0, -0.996454, 40.928382, 77.994424)"/>
|
||||
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
|
||||
<use xlink:href="#glyph-2-15" x="191.036161" y="23.929836"/>
|
||||
<use xlink:href="#glyph-2-2" x="200.136489" y="23.929836"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph2-16" x="205.378087" y="23.929836"/>
|
||||
<use xlink:href="#glyph2-7" x="210.893678" y="23.929836"/>
|
||||
<use xlink:href="#glyph2-6" x="215.30635" y="23.929836"/>
|
||||
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
|
||||
<use xlink:href="#glyph-2-16" x="205.378087" y="23.929836"/>
|
||||
<use xlink:href="#glyph-2-7" x="210.893678" y="23.929836"/>
|
||||
<use xlink:href="#glyph-2-6" x="215.30635" y="23.929836"/>
|
||||
</g>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -14.597336 -0.0016754 L -38.310336 -0.0016754 " transform="matrix(0.996454,0,0,-0.996454,40.928382,77.994424)"/>
|
||||
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.052029 -0.0016754 L 1.610496 1.68399 L 3.088394 -0.0016754 L 1.610496 -1.683421 Z M 6.052029 -0.0016754 " transform="matrix(0.996454,0,0,-0.996454,23.555371,77.994424)"/>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph3-1" x="6.560694" y="74.189964"/>
|
||||
<path fill="none" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M -14.597336 -0.0016754 L -38.310336 -0.0016754 " transform="matrix(0.996454, 0, 0, -0.996454, 40.928382, 77.994424)"/>
|
||||
<path fill-rule="nonzero" fill="rgb(0%, 0%, 0%)" fill-opacity="1" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 6.052029 -0.0016754 L 1.610496 1.68399 L 3.088394 -0.0016754 L 1.610496 -1.683421 Z M 6.052029 -0.0016754 " transform="matrix(0.996454, 0, 0, -0.996454, 23.555371, 77.994424)"/>
|
||||
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
|
||||
<use xlink:href="#glyph-3-1" x="6.560694" y="74.189964"/>
|
||||
</g>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 9.962416 -0.0016754 L 47.850686 -0.0016754 " transform="matrix(0.996454,0,0,-0.996454,40.928382,77.994424)"/>
|
||||
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.05431 -0.0016754 L 1.608858 1.68399 L 3.086755 -0.0016754 L 1.608858 -1.683421 Z M 6.05431 -0.0016754 " transform="matrix(0.996454,0,0,-0.996454,85.77966,77.994424)"/>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph3-2" x="85.390146" y="74.189964"/>
|
||||
<path fill="none" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 9.962416 -0.0016754 L 47.850686 -0.0016754 " transform="matrix(0.996454, 0, 0, -0.996454, 40.928382, 77.994424)"/>
|
||||
<path fill-rule="nonzero" fill="rgb(0%, 0%, 0%)" fill-opacity="1" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 6.05431 -0.0016754 L 1.608858 1.68399 L 3.086755 -0.0016754 L 1.608858 -1.683421 Z M 6.05431 -0.0016754 " transform="matrix(0.996454, 0, 0, -0.996454, 85.77966, 77.994424)"/>
|
||||
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
|
||||
<use xlink:href="#glyph-3-2" x="85.390146" y="74.189964"/>
|
||||
</g>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 104.17935 -0.0016754 L 142.063699 -0.0016754 " transform="matrix(0.996454,0,0,-0.996454,40.928382,77.994424)"/>
|
||||
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.052284 -0.0016754 L 1.606831 1.68399 L 3.088649 -0.0016754 L 1.606831 -1.683421 Z M 6.052284 -0.0016754 " transform="matrix(0.996454,0,0,-0.996454,179.660586,77.994424)"/>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph3-3" x="177.616919" y="74.189964"/>
|
||||
<path fill="none" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 104.17935 -0.0016754 L 142.063699 -0.0016754 " transform="matrix(0.996454, 0, 0, -0.996454, 40.928382, 77.994424)"/>
|
||||
<path fill-rule="nonzero" fill="rgb(0%, 0%, 0%)" fill-opacity="1" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 6.052284 -0.0016754 L 1.606831 1.68399 L 3.088649 -0.0016754 L 1.606831 -1.683421 Z M 6.052284 -0.0016754 " transform="matrix(0.996454, 0, 0, -0.996454, 179.660586, 77.994424)"/>
|
||||
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
|
||||
<use xlink:href="#glyph-3-3" x="177.616919" y="74.189964"/>
|
||||
</g>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 181.712117 -0.0016754 L 205.425116 -0.0016754 " transform="matrix(0.996454,0,0,-0.996454,40.928382,77.994424)"/>
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 248.828125 77.996094 L 244.398438 76.316406 L 245.871094 77.996094 L 244.398438 79.671875 Z M 248.828125 77.996094 "/>
|
||||
<g clip-path="url(#clip1)" clip-rule="nonzero">
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.054511 -0.0016754 L 1.609059 1.68399 L 3.086956 -0.0016754 L 1.609059 -1.683421 Z M 6.054511 -0.0016754 " transform="matrix(0.996454,0,0,-0.996454,242.795085,77.994424)"/>
|
||||
<path fill="none" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 181.712117 -0.0016754 L 205.425116 -0.0016754 " transform="matrix(0.996454, 0, 0, -0.996454, 40.928382, 77.994424)"/>
|
||||
<path fill-rule="nonzero" fill="rgb(0%, 0%, 0%)" fill-opacity="1" d="M 248.828125 77.996094 L 244.398438 76.316406 L 245.871094 77.996094 L 244.398438 79.671875 Z M 248.828125 77.996094 "/>
|
||||
<g clip-path="url(#clip-0)">
|
||||
<path fill="none" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 6.054511 -0.0016754 L 1.609059 1.68399 L 3.086956 -0.0016754 L 1.609059 -1.683421 Z M 6.054511 -0.0016754 " transform="matrix(0.996454, 0, 0, -0.996454, 242.795085, 77.994424)"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph3-4" x="241.209598" y="72.259833"/>
|
||||
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
|
||||
<use xlink:href="#glyph-3-4" x="241.209598" y="72.259833"/>
|
||||
</g>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 195.883466 -0.0016754 L 195.883466 -28.348295 " transform="matrix(0.996454,0,0,-0.996454,40.928382,77.994424)"/>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 195.883466 -28.348295 L 0.0013101 -28.348295 L 0.0013101 -14.596401 " transform="matrix(0.996454,0,0,-0.996454,40.928382,77.994424)"/>
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 40.929688 89.335938 L 39.25 93.765625 L 40.929688 92.289062 L 42.605469 93.765625 Z M 40.929688 89.335938 "/>
|
||||
<g clip-path="url(#clip2)" clip-rule="nonzero">
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.052963 -0.0013101 L 1.607511 1.684355 L 3.089328 -0.0013101 L 1.607511 -1.683055 Z M 6.052963 -0.0013101 " transform="matrix(0,-0.996454,-0.996454,0,40.928382,95.367435)"/>
|
||||
<path fill="none" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 195.883466 -0.0016754 L 195.883466 -28.348295 " transform="matrix(0.996454, 0, 0, -0.996454, 40.928382, 77.994424)"/>
|
||||
<path fill="none" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 195.883466 -28.348295 L 0.0013101 -28.348295 L 0.0013101 -14.596401 " transform="matrix(0.996454, 0, 0, -0.996454, 40.928382, 77.994424)"/>
|
||||
<path fill-rule="nonzero" fill="rgb(0%, 0%, 0%)" fill-opacity="1" d="M 40.929688 89.335938 L 39.25 93.765625 L 40.929688 92.289062 L 42.605469 93.765625 Z M 40.929688 89.335938 "/>
|
||||
<g clip-path="url(#clip-1)">
|
||||
<path fill="none" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 6.052963 -0.0013101 L 1.607511 1.684355 L 3.089328 -0.0013101 L 1.607511 -1.683055 Z M 6.052963 -0.0013101 " transform="matrix(0, -0.996454, -0.996454, 0, 40.928382, 95.367435)"/>
|
||||
</g>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;" d="M 164.204718 14.671454 L 164.204718 38.384453 " transform="matrix(0.996454,0,0,-0.996454,40.928382,77.994424)"/>
|
||||
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.052718 -0.000507786 L 1.607265 1.681237 L 3.089083 -0.000507786 L 1.607265 -1.682253 Z M 6.052718 -0.000507786 " transform="matrix(0,-0.996454,-0.996454,0,204.550275,42.574222)"/>
|
||||
<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 183.789797 28.846723 C 183.789797 32.602229 180.743839 35.648187 176.984413 35.648187 C 173.228908 35.648187 170.18295 32.602229 170.18295 28.846723 C 170.18295 25.087298 173.228908 22.041339 176.984413 22.041339 C 180.743839 22.041339 183.789797 25.087298 183.789797 28.846723 Z M 183.789797 28.846723 " transform="matrix(0.996454,0,0,-0.996454,40.928382,77.994424)"/>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph2-17" x="214.802578" y="52.378589"/>
|
||||
<path fill="none" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-dasharray="2.98883 2.98883" stroke-miterlimit="10" d="M 164.204718 14.671454 L 164.204718 38.384453 " transform="matrix(0.996454, 0, 0, -0.996454, 40.928382, 77.994424)"/>
|
||||
<path fill-rule="nonzero" fill="rgb(0%, 0%, 0%)" fill-opacity="1" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 6.052718 -0.000507786 L 1.607265 1.681237 L 3.089083 -0.000507786 L 1.607265 -1.682253 Z M 6.052718 -0.000507786 " transform="matrix(0, -0.996454, -0.996454, 0, 204.550275, 42.574222)"/>
|
||||
<path fill-rule="nonzero" fill="rgb(100%, 100%, 100%)" fill-opacity="1" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 183.789797 28.846723 C 183.789797 32.602229 180.743839 35.648187 176.984413 35.648187 C 173.228908 35.648187 170.18295 32.602229 170.18295 28.846723 C 170.18295 25.087298 173.228908 22.041339 176.984413 22.041339 C 180.743839 22.041339 183.789797 25.087298 183.789797 28.846723 Z M 183.789797 28.846723 " transform="matrix(0.996454, 0, 0, -0.996454, 40.928382, 77.994424)"/>
|
||||
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
|
||||
<use xlink:href="#glyph-2-17" x="214.802578" y="52.378589"/>
|
||||
</g>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;" d="M 78.329868 43.018073 L 78.329868 19.305073 " transform="matrix(0.996454,0,0,-0.996454,40.928382,77.994424)"/>
|
||||
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.053051 -0.000512377 L 1.607599 1.681233 L 3.089416 -0.000512377 L 1.607599 -1.682258 Z M 6.053051 -0.000512377 " transform="matrix(0,0.996454,0.996454,0,118.980979,55.929352)"/>
|
||||
<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 97.914947 28.846723 C 97.914947 32.602229 94.868989 35.648187 91.113483 35.648187 C 87.354058 35.648187 84.308099 32.602229 84.308099 28.846723 C 84.308099 25.087298 87.354058 22.041339 91.113483 22.041339 C 94.868989 22.041339 97.914947 25.087298 97.914947 28.846723 Z M 97.914947 28.846723 " transform="matrix(0.996454,0,0,-0.996454,40.928382,77.994424)"/>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph2-18" x="129.234109" y="52.378589"/>
|
||||
<path fill="none" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-dasharray="2.98883 2.98883" stroke-miterlimit="10" d="M 78.329868 43.018073 L 78.329868 19.305073 " transform="matrix(0.996454, 0, 0, -0.996454, 40.928382, 77.994424)"/>
|
||||
<path fill-rule="nonzero" fill="rgb(0%, 0%, 0%)" fill-opacity="1" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 6.053051 -0.000512377 L 1.607599 1.681233 L 3.089416 -0.000512377 L 1.607599 -1.682258 Z M 6.053051 -0.000512377 " transform="matrix(0, 0.996454, 0.996454, 0, 118.980979, 55.929352)"/>
|
||||
<path fill-rule="nonzero" fill="rgb(100%, 100%, 100%)" fill-opacity="1" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 97.914947 28.846723 C 97.914947 32.602229 94.868989 35.648187 91.113483 35.648187 C 87.354058 35.648187 84.308099 32.602229 84.308099 28.846723 C 84.308099 25.087298 87.354058 22.041339 91.113483 22.041339 C 94.868989 22.041339 97.914947 25.087298 97.914947 28.846723 Z M 97.914947 28.846723 " transform="matrix(0.996454, 0, 0, -0.996454, 40.928382, 77.994424)"/>
|
||||
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
|
||||
<use xlink:href="#glyph-2-18" x="129.234109" y="52.378589"/>
|
||||
</g>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;" d="M 146.697319 57.691202 L 107.041061 57.691202 " transform="matrix(0.996454,0,0,-0.996454,40.928382,77.994424)"/>
|
||||
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.052404 -0.00132189 L 1.606951 1.684343 L 3.088769 -0.00132189 L 1.606951 -1.683067 Z M 6.052404 -0.00132189 " transform="matrix(-0.996454,0,0,0.996454,150.417659,20.50913)"/>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;" d="M 49.618674 57.691202 L 25.905675 57.691202 " transform="matrix(0.996454,0,0,-0.996454,40.928382,77.994424)"/>
|
||||
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.055269 0.00132189 L 1.609817 1.683067 L 3.087714 0.00132189 L 1.609817 -1.684343 Z M 6.055269 0.00132189 " transform="matrix(0.996454,0,0,-0.996454,87.54433,20.50913)"/>
|
||||
<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 46.882408 70.470897 C 46.882408 74.230323 43.83645 77.276281 40.080944 77.276281 C 36.321519 77.276281 33.27556 74.230323 33.27556 70.470897 C 33.27556 66.715392 36.321519 63.669434 40.080944 63.669434 C 43.83645 63.669434 46.882408 66.715392 46.882408 70.470897 Z M 46.882408 70.470897 " transform="matrix(0.996454,0,0,-0.996454,40.928382,77.994424)"/>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph2-19" x="78.385077" y="10.900207"/>
|
||||
<path fill="none" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-dasharray="2.98883 2.98883" stroke-miterlimit="10" d="M 146.697319 57.691202 L 107.041061 57.691202 " transform="matrix(0.996454, 0, 0, -0.996454, 40.928382, 77.994424)"/>
|
||||
<path fill-rule="nonzero" fill="rgb(0%, 0%, 0%)" fill-opacity="1" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 6.052404 -0.00132189 L 1.606951 1.684343 L 3.088769 -0.00132189 L 1.606951 -1.683067 Z M 6.052404 -0.00132189 " transform="matrix(-0.996454, 0, 0, 0.996454, 150.417659, 20.50913)"/>
|
||||
<path fill="none" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-dasharray="2.98883 2.98883" stroke-miterlimit="10" d="M 49.618674 57.691202 L 25.905675 57.691202 " transform="matrix(0.996454, 0, 0, -0.996454, 40.928382, 77.994424)"/>
|
||||
<path fill-rule="nonzero" fill="rgb(0%, 0%, 0%)" fill-opacity="1" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 6.055269 0.00132189 L 1.609817 1.683067 L 3.087714 0.00132189 L 1.609817 -1.684343 Z M 6.055269 0.00132189 " transform="matrix(0.996454, 0, 0, -0.996454, 87.54433, 20.50913)"/>
|
||||
<path fill-rule="nonzero" fill="rgb(100%, 100%, 100%)" fill-opacity="1" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 46.882408 70.470897 C 46.882408 74.230323 43.83645 77.276281 40.080944 77.276281 C 36.321519 77.276281 33.27556 74.230323 33.27556 70.470897 C 33.27556 66.715392 36.321519 63.669434 40.080944 63.669434 C 43.83645 63.669434 46.882408 66.715392 46.882408 70.470897 Z M 46.882408 70.470897 " transform="matrix(0.996454, 0, 0, -0.996454, 40.928382, 77.994424)"/>
|
||||
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
|
||||
<use xlink:href="#glyph-2-19" x="78.385077" y="10.900207"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph2-10" x="4.146286" y="22.964272"/>
|
||||
<use xlink:href="#glyph2-20" x="9.661878" y="22.964272"/>
|
||||
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
|
||||
<use xlink:href="#glyph-2-10" x="4.146286" y="22.964272"/>
|
||||
<use xlink:href="#glyph-2-20" x="9.661878" y="22.964272"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph2-7" x="15.455432" y="22.964272"/>
|
||||
<use xlink:href="#glyph2-21" x="19.868103" y="22.964272"/>
|
||||
<use xlink:href="#glyph2-14" x="24.280775" y="22.964272"/>
|
||||
<use xlink:href="#glyph2-22" x="27.03857" y="22.964272"/>
|
||||
<use xlink:href="#glyph2-21" x="32.554161" y="22.964272"/>
|
||||
<use xlink:href="#glyph2-9" x="36.966833" y="22.964272"/>
|
||||
<use xlink:href="#glyph2-4" x="41.930468" y="22.964272"/>
|
||||
<use xlink:href="#glyph2-14" x="45.791183" y="22.964272"/>
|
||||
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
|
||||
<use xlink:href="#glyph-2-7" x="15.455432" y="22.964272"/>
|
||||
<use xlink:href="#glyph-2-21" x="19.868103" y="22.964272"/>
|
||||
<use xlink:href="#glyph-2-14" x="24.280775" y="22.964272"/>
|
||||
<use xlink:href="#glyph-2-22" x="27.03857" y="22.964272"/>
|
||||
<use xlink:href="#glyph-2-21" x="32.554161" y="22.964272"/>
|
||||
<use xlink:href="#glyph-2-9" x="36.966833" y="22.964272"/>
|
||||
<use xlink:href="#glyph-2-4" x="41.930468" y="22.964272"/>
|
||||
<use xlink:href="#glyph-2-14" x="45.791183" y="22.964272"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph2-2" x="48.539051" y="22.964272"/>
|
||||
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
|
||||
<use xlink:href="#glyph-2-2" x="48.539051" y="22.964272"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph2-3" x="53.512613" y="22.964272"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph2-13" x="59.018277" y="22.964272"/>
|
||||
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
|
||||
<use xlink:href="#glyph-2-3" x="53.512613" y="22.964272"/>
|
||||
</g>
|
||||
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
|
||||
<use xlink:href="#glyph-2-13" x="59.018277" y="22.964272"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 184 KiB After Width: | Height: | Size: 219 KiB |
|
Before Width: | Height: | Size: 182 KiB After Width: | Height: | Size: 243 KiB |
|
Before Width: | Height: | Size: 192 KiB After Width: | Height: | Size: 257 KiB |
|
Before Width: | Height: | Size: 212 KiB After Width: | Height: | Size: 283 KiB |
|
Before Width: | Height: | Size: 71 KiB After Width: | Height: | Size: 72 KiB |
|
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 47 KiB |
|
Before Width: | Height: | Size: 82 KiB After Width: | Height: | Size: 48 KiB |
|
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 52 KiB |
@@ -1,179 +1,832 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="353.492pt" height="242.941pt" viewBox="0 0 353.492 242.941" version="1.2">
|
||||
<defs>
|
||||
<g>
|
||||
<symbol overflow="visible" id="glyph0-0">
|
||||
<path style="stroke:none;" d=""/>
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="353.492pt"
|
||||
height="242.941pt"
|
||||
viewBox="0 0 353.492 242.941"
|
||||
version="1.2"
|
||||
id="svg57"
|
||||
sodipodi:docname="h-infinity-4-blocs-constrains.svg"
|
||||
inkscape:version="1.4.4 (dcaf3e7d9e, 2026-05-05)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview57"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:document-units="pt"
|
||||
inkscape:zoom="2.56"
|
||||
inkscape:cx="260.9375"
|
||||
inkscape:cy="111.32813"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1440"
|
||||
inkscape:window-x="2560"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="surface1" />
|
||||
<defs
|
||||
id="defs17">
|
||||
<g
|
||||
id="g13">
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="glyph0-0">
|
||||
<path
|
||||
style="stroke:none;"
|
||||
d=""
|
||||
id="path1" />
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph0-1">
|
||||
<path style="stroke:none;" d="M 5.5 -2.34375 C 5.5 -3.03125 5.171875 -3.359375 5.015625 -3.5 C 4.78125 -3.734375 4.640625 -3.765625 3.75 -4 L 3.078125 -4.1875 C 2.8125 -4.265625 2.484375 -4.5625 2.484375 -5.09375 C 2.484375 -5.890625 3.28125 -6.734375 4.21875 -6.734375 C 5.046875 -6.734375 5.65625 -6.3125 5.65625 -5.203125 C 5.65625 -4.875 5.609375 -4.703125 5.609375 -4.640625 C 5.609375 -4.640625 5.609375 -4.53125 5.734375 -4.53125 C 5.828125 -4.53125 5.84375 -4.5625 5.875 -4.734375 L 6.421875 -6.921875 C 6.421875 -6.953125 6.40625 -7.015625 6.3125 -7.015625 C 6.265625 -7.015625 6.25 -7 6.125 -6.875 L 5.65625 -6.296875 C 5.390625 -6.765625 4.875 -7.015625 4.234375 -7.015625 C 2.96875 -7.015625 1.765625 -5.875 1.765625 -4.671875 C 1.765625 -3.859375 2.296875 -3.40625 2.8125 -3.25 L 3.875 -2.96875 C 4.234375 -2.890625 4.78125 -2.734375 4.78125 -1.921875 C 4.78125 -1.03125 3.96875 -0.09375 3 -0.09375 C 2.359375 -0.09375 1.25 -0.3125 1.25 -1.546875 C 1.25 -1.78125 1.296875 -2.015625 1.3125 -2.078125 C 1.328125 -2.125 1.328125 -2.15625 1.328125 -2.15625 C 1.328125 -2.25 1.265625 -2.265625 1.21875 -2.265625 C 1.171875 -2.265625 1.140625 -2.25 1.109375 -2.21875 C 1.078125 -2.1875 0.515625 0.09375 0.515625 0.125 C 0.515625 0.171875 0.5625 0.21875 0.625 0.21875 C 0.671875 0.21875 0.6875 0.203125 0.8125 0.0625 L 1.296875 -0.5 C 1.71875 0.078125 2.40625 0.21875 2.96875 0.21875 C 4.328125 0.21875 5.5 -1.109375 5.5 -2.34375 Z M 5.5 -2.34375 "/>
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="glyph0-1">
|
||||
<path
|
||||
style="stroke:none;"
|
||||
d="M 5.5 -2.34375 C 5.5 -3.03125 5.171875 -3.359375 5.015625 -3.5 C 4.78125 -3.734375 4.640625 -3.765625 3.75 -4 L 3.078125 -4.1875 C 2.8125 -4.265625 2.484375 -4.5625 2.484375 -5.09375 C 2.484375 -5.890625 3.28125 -6.734375 4.21875 -6.734375 C 5.046875 -6.734375 5.65625 -6.3125 5.65625 -5.203125 C 5.65625 -4.875 5.609375 -4.703125 5.609375 -4.640625 C 5.609375 -4.640625 5.609375 -4.53125 5.734375 -4.53125 C 5.828125 -4.53125 5.84375 -4.5625 5.875 -4.734375 L 6.421875 -6.921875 C 6.421875 -6.953125 6.40625 -7.015625 6.3125 -7.015625 C 6.265625 -7.015625 6.25 -7 6.125 -6.875 L 5.65625 -6.296875 C 5.390625 -6.765625 4.875 -7.015625 4.234375 -7.015625 C 2.96875 -7.015625 1.765625 -5.875 1.765625 -4.671875 C 1.765625 -3.859375 2.296875 -3.40625 2.8125 -3.25 L 3.875 -2.96875 C 4.234375 -2.890625 4.78125 -2.734375 4.78125 -1.921875 C 4.78125 -1.03125 3.96875 -0.09375 3 -0.09375 C 2.359375 -0.09375 1.25 -0.3125 1.25 -1.546875 C 1.25 -1.78125 1.296875 -2.015625 1.3125 -2.078125 C 1.328125 -2.125 1.328125 -2.15625 1.328125 -2.15625 C 1.328125 -2.25 1.265625 -2.265625 1.21875 -2.265625 C 1.171875 -2.265625 1.140625 -2.25 1.109375 -2.21875 C 1.078125 -2.1875 0.515625 0.09375 0.515625 0.125 C 0.515625 0.171875 0.5625 0.21875 0.625 0.21875 C 0.671875 0.21875 0.6875 0.203125 0.8125 0.0625 L 1.296875 -0.5 C 1.71875 0.078125 2.40625 0.21875 2.96875 0.21875 C 4.328125 0.21875 5.5 -1.109375 5.5 -2.34375 Z M 5.5 -2.34375 "
|
||||
id="path2" />
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph0-2">
|
||||
<path style="stroke:none;" d="M 7.171875 -2.609375 C 7.171875 -2.671875 7.125 -2.71875 7.046875 -2.71875 C 6.8125 -2.71875 6.234375 -2.6875 6 -2.6875 L 4.609375 -2.71875 C 4.515625 -2.71875 4.40625 -2.71875 4.40625 -2.515625 C 4.40625 -2.40625 4.484375 -2.40625 4.703125 -2.40625 C 4.703125 -2.40625 5 -2.40625 5.21875 -2.390625 C 5.484375 -2.359375 5.53125 -2.328125 5.53125 -2.203125 C 5.53125 -2.109375 5.421875 -1.65625 5.328125 -1.296875 C 5.046875 -0.203125 3.75 -0.09375 3.40625 -0.09375 C 2.453125 -0.09375 1.40625 -0.65625 1.40625 -2.1875 C 1.40625 -2.484375 1.5 -4.125 2.546875 -5.421875 C 3.078125 -6.09375 4.046875 -6.703125 5.03125 -6.703125 C 6.046875 -6.703125 6.640625 -5.9375 6.640625 -4.78125 C 6.640625 -4.390625 6.609375 -4.375 6.609375 -4.28125 C 6.609375 -4.1875 6.71875 -4.1875 6.765625 -4.1875 C 6.890625 -4.1875 6.890625 -4.203125 6.9375 -4.375 L 7.5625 -6.921875 C 7.5625 -6.953125 7.546875 -7.015625 7.453125 -7.015625 C 7.421875 -7.015625 7.421875 -7 7.3125 -6.890625 L 6.609375 -6.125 C 6.515625 -6.265625 6.0625 -7.015625 4.953125 -7.015625 C 2.734375 -7.015625 0.5 -4.8125 0.5 -2.515625 C 0.5 -0.921875 1.609375 0.21875 3.21875 0.21875 C 3.65625 0.21875 4.09375 0.125 4.453125 -0.015625 C 4.953125 -0.21875 5.140625 -0.421875 5.328125 -0.625 C 5.421875 -0.375 5.671875 -0.015625 5.765625 -0.015625 C 5.828125 -0.015625 5.84375 -0.046875 5.84375 -0.046875 C 5.859375 -0.0625 5.96875 -0.453125 6.015625 -0.65625 L 6.203125 -1.421875 C 6.234375 -1.59375 6.296875 -1.765625 6.328125 -1.9375 C 6.4375 -2.375 6.453125 -2.40625 7.015625 -2.40625 C 7.0625 -2.40625 7.171875 -2.421875 7.171875 -2.609375 Z M 7.171875 -2.609375 "/>
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="glyph0-2">
|
||||
<path
|
||||
style="stroke:none;"
|
||||
d="M 7.171875 -2.609375 C 7.171875 -2.671875 7.125 -2.71875 7.046875 -2.71875 C 6.8125 -2.71875 6.234375 -2.6875 6 -2.6875 L 4.609375 -2.71875 C 4.515625 -2.71875 4.40625 -2.71875 4.40625 -2.515625 C 4.40625 -2.40625 4.484375 -2.40625 4.703125 -2.40625 C 4.703125 -2.40625 5 -2.40625 5.21875 -2.390625 C 5.484375 -2.359375 5.53125 -2.328125 5.53125 -2.203125 C 5.53125 -2.109375 5.421875 -1.65625 5.328125 -1.296875 C 5.046875 -0.203125 3.75 -0.09375 3.40625 -0.09375 C 2.453125 -0.09375 1.40625 -0.65625 1.40625 -2.1875 C 1.40625 -2.484375 1.5 -4.125 2.546875 -5.421875 C 3.078125 -6.09375 4.046875 -6.703125 5.03125 -6.703125 C 6.046875 -6.703125 6.640625 -5.9375 6.640625 -4.78125 C 6.640625 -4.390625 6.609375 -4.375 6.609375 -4.28125 C 6.609375 -4.1875 6.71875 -4.1875 6.765625 -4.1875 C 6.890625 -4.1875 6.890625 -4.203125 6.9375 -4.375 L 7.5625 -6.921875 C 7.5625 -6.953125 7.546875 -7.015625 7.453125 -7.015625 C 7.421875 -7.015625 7.421875 -7 7.3125 -6.890625 L 6.609375 -6.125 C 6.515625 -6.265625 6.0625 -7.015625 4.953125 -7.015625 C 2.734375 -7.015625 0.5 -4.8125 0.5 -2.515625 C 0.5 -0.921875 1.609375 0.21875 3.21875 0.21875 C 3.65625 0.21875 4.09375 0.125 4.453125 -0.015625 C 4.953125 -0.21875 5.140625 -0.421875 5.328125 -0.625 C 5.421875 -0.375 5.671875 -0.015625 5.765625 -0.015625 C 5.828125 -0.015625 5.84375 -0.046875 5.84375 -0.046875 C 5.859375 -0.0625 5.96875 -0.453125 6.015625 -0.65625 L 6.203125 -1.421875 C 6.234375 -1.59375 6.296875 -1.765625 6.328125 -1.9375 C 6.4375 -2.375 6.453125 -2.40625 7.015625 -2.40625 C 7.0625 -2.40625 7.171875 -2.421875 7.171875 -2.609375 Z M 7.171875 -2.609375 "
|
||||
id="path3" />
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph0-3">
|
||||
<path style="stroke:none;" d="M 7.359375 -0.203125 C 7.359375 -0.3125 7.25 -0.3125 7.171875 -0.3125 C 6.765625 -0.3125 6.625 -0.40625 6.484375 -0.75 L 5.0625 -4.015625 C 5.0625 -4.046875 5.015625 -4.125 5.015625 -4.15625 C 5.015625 -4.15625 5.203125 -4.3125 5.3125 -4.390625 L 7.046875 -5.734375 C 7.984375 -6.421875 8.375 -6.453125 8.671875 -6.484375 C 8.75 -6.5 8.84375 -6.515625 8.84375 -6.6875 C 8.84375 -6.734375 8.8125 -6.796875 8.734375 -6.796875 C 8.515625 -6.796875 8.265625 -6.765625 8.03125 -6.765625 C 7.671875 -6.765625 7.28125 -6.796875 6.921875 -6.796875 C 6.859375 -6.796875 6.734375 -6.796875 6.734375 -6.59375 C 6.734375 -6.53125 6.78125 -6.5 6.859375 -6.484375 C 7.078125 -6.46875 7.171875 -6.421875 7.171875 -6.28125 C 7.171875 -6.09375 6.875 -5.875 6.8125 -5.828125 L 2.921875 -2.84375 L 3.71875 -6.03125 C 3.8125 -6.390625 3.828125 -6.484375 4.5625 -6.484375 C 4.8125 -6.484375 4.890625 -6.484375 4.890625 -6.6875 C 4.890625 -6.78125 4.8125 -6.796875 4.75 -6.796875 L 3.484375 -6.765625 L 2.203125 -6.796875 C 2.125 -6.796875 2 -6.796875 2 -6.609375 C 2 -6.484375 2.09375 -6.484375 2.296875 -6.484375 C 2.421875 -6.484375 2.59375 -6.484375 2.71875 -6.46875 C 2.875 -6.453125 2.9375 -6.421875 2.9375 -6.3125 C 2.9375 -6.265625 2.921875 -6.234375 2.890625 -6.125 L 1.5625 -0.78125 C 1.46875 -0.390625 1.4375 -0.3125 0.65625 -0.3125 C 0.484375 -0.3125 0.375 -0.3125 0.375 -0.125 C 0.375 0 0.5 0 0.53125 0 L 1.796875 -0.03125 L 2.421875 -0.015625 C 2.640625 -0.015625 2.859375 0 3.078125 0 C 3.140625 0 3.28125 0 3.28125 -0.203125 C 3.28125 -0.3125 3.1875 -0.3125 3 -0.3125 C 2.625 -0.3125 2.34375 -0.3125 2.34375 -0.484375 C 2.34375 -0.5625 2.40625 -0.78125 2.4375 -0.921875 L 2.84375 -2.484375 L 4.3125 -3.640625 L 5.46875 -0.96875 C 5.59375 -0.703125 5.59375 -0.671875 5.59375 -0.609375 C 5.59375 -0.3125 5.171875 -0.3125 5.078125 -0.3125 C 4.96875 -0.3125 4.859375 -0.3125 4.859375 -0.109375 C 4.859375 0 5 0 5 0 C 5.390625 0 5.8125 -0.03125 6.203125 -0.03125 C 6.421875 -0.03125 6.96875 0 7.1875 0 C 7.234375 0 7.359375 0 7.359375 -0.203125 Z M 7.359375 -0.203125 "/>
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="glyph0-3">
|
||||
<path
|
||||
style="stroke:none;"
|
||||
d="M 7.359375 -0.203125 C 7.359375 -0.3125 7.25 -0.3125 7.171875 -0.3125 C 6.765625 -0.3125 6.625 -0.40625 6.484375 -0.75 L 5.0625 -4.015625 C 5.0625 -4.046875 5.015625 -4.125 5.015625 -4.15625 C 5.015625 -4.15625 5.203125 -4.3125 5.3125 -4.390625 L 7.046875 -5.734375 C 7.984375 -6.421875 8.375 -6.453125 8.671875 -6.484375 C 8.75 -6.5 8.84375 -6.515625 8.84375 -6.6875 C 8.84375 -6.734375 8.8125 -6.796875 8.734375 -6.796875 C 8.515625 -6.796875 8.265625 -6.765625 8.03125 -6.765625 C 7.671875 -6.765625 7.28125 -6.796875 6.921875 -6.796875 C 6.859375 -6.796875 6.734375 -6.796875 6.734375 -6.59375 C 6.734375 -6.53125 6.78125 -6.5 6.859375 -6.484375 C 7.078125 -6.46875 7.171875 -6.421875 7.171875 -6.28125 C 7.171875 -6.09375 6.875 -5.875 6.8125 -5.828125 L 2.921875 -2.84375 L 3.71875 -6.03125 C 3.8125 -6.390625 3.828125 -6.484375 4.5625 -6.484375 C 4.8125 -6.484375 4.890625 -6.484375 4.890625 -6.6875 C 4.890625 -6.78125 4.8125 -6.796875 4.75 -6.796875 L 3.484375 -6.765625 L 2.203125 -6.796875 C 2.125 -6.796875 2 -6.796875 2 -6.609375 C 2 -6.484375 2.09375 -6.484375 2.296875 -6.484375 C 2.421875 -6.484375 2.59375 -6.484375 2.71875 -6.46875 C 2.875 -6.453125 2.9375 -6.421875 2.9375 -6.3125 C 2.9375 -6.265625 2.921875 -6.234375 2.890625 -6.125 L 1.5625 -0.78125 C 1.46875 -0.390625 1.4375 -0.3125 0.65625 -0.3125 C 0.484375 -0.3125 0.375 -0.3125 0.375 -0.125 C 0.375 0 0.5 0 0.53125 0 L 1.796875 -0.03125 L 2.421875 -0.015625 C 2.640625 -0.015625 2.859375 0 3.078125 0 C 3.140625 0 3.28125 0 3.28125 -0.203125 C 3.28125 -0.3125 3.1875 -0.3125 3 -0.3125 C 2.625 -0.3125 2.34375 -0.3125 2.34375 -0.484375 C 2.34375 -0.5625 2.40625 -0.78125 2.4375 -0.921875 L 2.84375 -2.484375 L 4.3125 -3.640625 L 5.46875 -0.96875 C 5.59375 -0.703125 5.59375 -0.671875 5.59375 -0.609375 C 5.59375 -0.3125 5.171875 -0.3125 5.078125 -0.3125 C 4.96875 -0.3125 4.859375 -0.3125 4.859375 -0.109375 C 4.859375 0 5 0 5 0 C 5.390625 0 5.8125 -0.03125 6.203125 -0.03125 C 6.421875 -0.03125 6.96875 0 7.1875 0 C 7.234375 0 7.359375 0 7.359375 -0.203125 Z M 7.359375 -0.203125 "
|
||||
id="path4" />
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph0-4">
|
||||
<path style="stroke:none;" d="M 6.71875 -4.734375 L 6.984375 -6.453125 C 7 -6.5 7 -6.59375 7 -6.625 C 7 -6.734375 6.90625 -6.734375 6.734375 -6.734375 L 1.21875 -6.734375 C 0.96875 -6.734375 0.96875 -6.734375 0.890625 -6.546875 L 0.296875 -4.78125 C 0.28125 -4.765625 0.234375 -4.609375 0.234375 -4.609375 C 0.234375 -4.546875 0.28125 -4.5 0.359375 -4.5 C 0.453125 -4.5 0.46875 -4.546875 0.53125 -4.703125 C 1.0625 -6.25 1.328125 -6.421875 2.796875 -6.421875 L 3.1875 -6.421875 C 3.46875 -6.421875 3.46875 -6.390625 3.46875 -6.3125 C 3.46875 -6.25 3.4375 -6.125 3.421875 -6.09375 L 2.09375 -0.78125 C 2 -0.421875 1.96875 -0.3125 0.90625 -0.3125 C 0.546875 -0.3125 0.484375 -0.3125 0.484375 -0.125 C 0.484375 0 0.59375 0 0.65625 0 C 0.921875 0 1.203125 -0.015625 1.46875 -0.015625 L 2.3125 -0.03125 L 3.140625 -0.015625 C 3.4375 -0.015625 3.734375 0 4.015625 0 C 4.109375 0 4.234375 0 4.234375 -0.203125 C 4.234375 -0.3125 4.15625 -0.3125 3.890625 -0.3125 C 3.640625 -0.3125 3.515625 -0.3125 3.25 -0.328125 C 2.96875 -0.359375 2.890625 -0.390625 2.890625 -0.546875 C 2.890625 -0.546875 2.890625 -0.609375 2.921875 -0.75 L 4.25 -6.046875 C 4.3125 -6.3125 4.359375 -6.375 4.484375 -6.40625 C 4.5625 -6.421875 4.890625 -6.421875 5.109375 -6.421875 C 6.109375 -6.421875 6.5625 -6.390625 6.5625 -5.609375 C 6.5625 -5.46875 6.515625 -5.078125 6.484375 -4.8125 C 6.46875 -4.78125 6.453125 -4.65625 6.453125 -4.625 C 6.453125 -4.5625 6.484375 -4.5 6.5625 -4.5 C 6.671875 -4.5 6.703125 -4.578125 6.71875 -4.734375 Z M 6.71875 -4.734375 "/>
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="glyph0-4">
|
||||
<path
|
||||
style="stroke:none;"
|
||||
d="M 6.71875 -4.734375 L 6.984375 -6.453125 C 7 -6.5 7 -6.59375 7 -6.625 C 7 -6.734375 6.90625 -6.734375 6.734375 -6.734375 L 1.21875 -6.734375 C 0.96875 -6.734375 0.96875 -6.734375 0.890625 -6.546875 L 0.296875 -4.78125 C 0.28125 -4.765625 0.234375 -4.609375 0.234375 -4.609375 C 0.234375 -4.546875 0.28125 -4.5 0.359375 -4.5 C 0.453125 -4.5 0.46875 -4.546875 0.53125 -4.703125 C 1.0625 -6.25 1.328125 -6.421875 2.796875 -6.421875 L 3.1875 -6.421875 C 3.46875 -6.421875 3.46875 -6.390625 3.46875 -6.3125 C 3.46875 -6.25 3.4375 -6.125 3.421875 -6.09375 L 2.09375 -0.78125 C 2 -0.421875 1.96875 -0.3125 0.90625 -0.3125 C 0.546875 -0.3125 0.484375 -0.3125 0.484375 -0.125 C 0.484375 0 0.59375 0 0.65625 0 C 0.921875 0 1.203125 -0.015625 1.46875 -0.015625 L 2.3125 -0.03125 L 3.140625 -0.015625 C 3.4375 -0.015625 3.734375 0 4.015625 0 C 4.109375 0 4.234375 0 4.234375 -0.203125 C 4.234375 -0.3125 4.15625 -0.3125 3.890625 -0.3125 C 3.640625 -0.3125 3.515625 -0.3125 3.25 -0.328125 C 2.96875 -0.359375 2.890625 -0.390625 2.890625 -0.546875 C 2.890625 -0.546875 2.890625 -0.609375 2.921875 -0.75 L 4.25 -6.046875 C 4.3125 -6.3125 4.359375 -6.375 4.484375 -6.40625 C 4.5625 -6.421875 4.890625 -6.421875 5.109375 -6.421875 C 6.109375 -6.421875 6.5625 -6.390625 6.5625 -5.609375 C 6.5625 -5.46875 6.515625 -5.078125 6.484375 -4.8125 C 6.46875 -4.78125 6.453125 -4.65625 6.453125 -4.625 C 6.453125 -4.5625 6.484375 -4.5 6.5625 -4.5 C 6.671875 -4.5 6.703125 -4.578125 6.71875 -4.734375 Z M 6.71875 -4.734375 "
|
||||
id="path5" />
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph1-0">
|
||||
<path style="stroke:none;" d=""/>
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="glyph1-0">
|
||||
<path
|
||||
style="stroke:none;"
|
||||
d=""
|
||||
id="path6" />
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph1-1">
|
||||
<path style="stroke:none;" d="M 7.171875 -3.328125 C 7.171875 -3.53125 7.125 -3.640625 7.03125 -3.640625 C 6.9375 -3.640625 6.90625 -3.484375 6.890625 -3.390625 C 6.84375 -2.359375 6.125 -1.875 5.53125 -1.875 C 4.890625 -1.875 4.484375 -2.234375 3.75 -2.890625 C 3.109375 -3.46875 2.671875 -3.65625 2.203125 -3.65625 C 1.171875 -3.65625 0.5625 -2.59375 0.5625 -1.65625 C 0.5625 -1.40625 0.625 -1.328125 0.703125 -1.328125 C 0.8125 -1.328125 0.84375 -1.53125 0.84375 -1.5625 C 0.890625 -2.71875 1.6875 -3.09375 2.203125 -3.09375 C 2.84375 -3.09375 3.25 -2.734375 3.984375 -2.078125 C 4.625 -1.515625 5.0625 -1.328125 5.53125 -1.328125 C 6.5625 -1.328125 7.171875 -2.375 7.171875 -3.328125 Z M 7.171875 -3.328125 "/>
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="glyph1-1">
|
||||
<path
|
||||
style="stroke:none;"
|
||||
d="M 7.171875 -3.328125 C 7.171875 -3.53125 7.125 -3.640625 7.03125 -3.640625 C 6.9375 -3.640625 6.90625 -3.484375 6.890625 -3.390625 C 6.84375 -2.359375 6.125 -1.875 5.53125 -1.875 C 4.890625 -1.875 4.484375 -2.234375 3.75 -2.890625 C 3.109375 -3.46875 2.671875 -3.65625 2.203125 -3.65625 C 1.171875 -3.65625 0.5625 -2.59375 0.5625 -1.65625 C 0.5625 -1.40625 0.625 -1.328125 0.703125 -1.328125 C 0.8125 -1.328125 0.84375 -1.53125 0.84375 -1.5625 C 0.890625 -2.71875 1.6875 -3.09375 2.203125 -3.09375 C 2.84375 -3.09375 3.25 -2.734375 3.984375 -2.078125 C 4.625 -1.515625 5.0625 -1.328125 5.53125 -1.328125 C 6.5625 -1.328125 7.171875 -2.375 7.171875 -3.328125 Z M 7.171875 -3.328125 "
|
||||
id="path7" />
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-0">
|
||||
<path style="stroke:none;" d=""/>
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="glyph2-0">
|
||||
<path
|
||||
style="stroke:none;"
|
||||
d=""
|
||||
id="path8" />
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-1">
|
||||
<path style="stroke:none;" d="M 5.46875 -1.734375 C 5.46875 -1.921875 5.296875 -1.921875 5.203125 -1.921875 L 1.015625 -1.921875 C 0.90625 -1.921875 0.75 -1.921875 0.75 -1.734375 C 0.75 -1.578125 0.921875 -1.578125 1.015625 -1.578125 L 5.203125 -1.578125 C 5.296875 -1.578125 5.46875 -1.578125 5.46875 -1.734375 Z M 5.46875 -1.734375 "/>
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="glyph2-1">
|
||||
<path
|
||||
style="stroke:none;"
|
||||
d="M 5.46875 -1.734375 C 5.46875 -1.921875 5.296875 -1.921875 5.203125 -1.921875 L 1.015625 -1.921875 C 0.90625 -1.921875 0.75 -1.921875 0.75 -1.734375 C 0.75 -1.578125 0.921875 -1.578125 1.015625 -1.578125 L 5.203125 -1.578125 C 5.296875 -1.578125 5.46875 -1.578125 5.46875 -1.734375 Z M 5.46875 -1.734375 "
|
||||
id="path9" />
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph3-0">
|
||||
<path style="stroke:none;" d=""/>
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="glyph3-0">
|
||||
<path
|
||||
style="stroke:none;"
|
||||
d=""
|
||||
id="path10" />
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph3-1">
|
||||
<path style="stroke:none;" d="M 3.296875 0 L 3.296875 -0.25 L 3.03125 -0.25 C 2.328125 -0.25 2.328125 -0.34375 2.328125 -0.578125 L 2.328125 -4.4375 C 2.328125 -4.625 2.328125 -4.625 2.125 -4.625 C 1.671875 -4.1875 1.046875 -4.1875 0.765625 -4.1875 L 0.765625 -3.9375 C 0.921875 -3.9375 1.390625 -3.9375 1.765625 -4.125 L 1.765625 -0.578125 C 1.765625 -0.34375 1.765625 -0.25 1.078125 -0.25 L 0.8125 -0.25 L 0.8125 0 L 2.046875 -0.03125 Z M 3.296875 0 "/>
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="glyph3-1">
|
||||
<path
|
||||
style="stroke:none;"
|
||||
d="M 3.296875 0 L 3.296875 -0.25 L 3.03125 -0.25 C 2.328125 -0.25 2.328125 -0.34375 2.328125 -0.578125 L 2.328125 -4.4375 C 2.328125 -4.625 2.328125 -4.625 2.125 -4.625 C 1.671875 -4.1875 1.046875 -4.1875 0.765625 -4.1875 L 0.765625 -3.9375 C 0.921875 -3.9375 1.390625 -3.9375 1.765625 -4.125 L 1.765625 -0.578125 C 1.765625 -0.34375 1.765625 -0.25 1.078125 -0.25 L 0.8125 -0.25 L 0.8125 0 L 2.046875 -0.03125 Z M 3.296875 0 "
|
||||
id="path11" />
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph4-0">
|
||||
<path style="stroke:none;" d=""/>
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="glyph4-0">
|
||||
<path
|
||||
style="stroke:none;"
|
||||
d=""
|
||||
id="path12" />
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph4-1">
|
||||
<path style="stroke:none;" d="M 4.171875 0 L 4.171875 -0.3125 L 3.859375 -0.3125 C 2.953125 -0.3125 2.921875 -0.421875 2.921875 -0.78125 L 2.921875 -6.375 C 2.921875 -6.609375 2.921875 -6.625 2.703125 -6.625 C 2.078125 -5.984375 1.203125 -5.984375 0.890625 -5.984375 L 0.890625 -5.6875 C 1.078125 -5.6875 1.671875 -5.6875 2.1875 -5.9375 L 2.1875 -0.78125 C 2.1875 -0.421875 2.15625 -0.3125 1.265625 -0.3125 L 0.953125 -0.3125 L 0.953125 0 C 1.296875 -0.03125 2.15625 -0.03125 2.5625 -0.03125 C 2.953125 -0.03125 3.828125 -0.03125 4.171875 0 Z M 4.171875 0 "/>
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="glyph4-1">
|
||||
<path
|
||||
style="stroke:none;"
|
||||
d="M 4.171875 0 L 4.171875 -0.3125 L 3.859375 -0.3125 C 2.953125 -0.3125 2.921875 -0.421875 2.921875 -0.78125 L 2.921875 -6.375 C 2.921875 -6.609375 2.921875 -6.625 2.703125 -6.625 C 2.078125 -5.984375 1.203125 -5.984375 0.890625 -5.984375 L 0.890625 -5.6875 C 1.078125 -5.6875 1.671875 -5.6875 2.1875 -5.9375 L 2.1875 -0.78125 C 2.1875 -0.421875 2.15625 -0.3125 1.265625 -0.3125 L 0.953125 -0.3125 L 0.953125 0 C 1.296875 -0.03125 2.15625 -0.03125 2.5625 -0.03125 C 2.953125 -0.03125 3.828125 -0.03125 4.171875 0 Z M 4.171875 0 "
|
||||
id="path13" />
|
||||
</symbol>
|
||||
</g>
|
||||
<clipPath id="clip1">
|
||||
<path d="M 0 0.144531 L 172 0.144531 L 172 118 L 0 118 Z M 0 0.144531 "/>
|
||||
<clipPath
|
||||
id="clip1">
|
||||
<path
|
||||
d="M 0 0.144531 L 172 0.144531 L 172 118 L 0 118 Z M 0 0.144531 "
|
||||
id="path14" />
|
||||
</clipPath>
|
||||
<clipPath id="clip2">
|
||||
<path d="M 181 0.144531 L 352.984375 0.144531 L 352.984375 118 L 181 118 Z M 181 0.144531 "/>
|
||||
<clipPath
|
||||
id="clip2">
|
||||
<path
|
||||
d="M 181 0.144531 L 352.984375 0.144531 L 352.984375 118 L 181 118 Z M 181 0.144531 "
|
||||
id="path15" />
|
||||
</clipPath>
|
||||
<clipPath id="clip3">
|
||||
<path d="M 0 125 L 172 125 L 172 242.738281 L 0 242.738281 Z M 0 125 "/>
|
||||
<clipPath
|
||||
id="clip3">
|
||||
<path
|
||||
d="M 0 125 L 172 125 L 172 242.738281 L 0 242.738281 Z M 0 125 "
|
||||
id="path16" />
|
||||
</clipPath>
|
||||
<clipPath id="clip4">
|
||||
<path d="M 181 125 L 352.984375 125 L 352.984375 242.738281 L 181 242.738281 Z M 181 125 "/>
|
||||
<clipPath
|
||||
id="clip4">
|
||||
<path
|
||||
d="M 181 125 L 352.984375 125 L 352.984375 242.738281 L 181 242.738281 Z M 181 125 "
|
||||
id="path17" />
|
||||
</clipPath>
|
||||
<g
|
||||
id="g6352">
|
||||
<g
|
||||
id="g2929">
|
||||
<path
|
||||
d="m 7.203125,-3.328125 c 0,-0.21875 -0.0625,-0.328125 -0.140625,-0.328125 -0.046875,0 -0.140625,0.078125 -0.140625,0.265625 -0.046875,0.953125 -0.703125,1.5 -1.40625,1.5 -0.625,0 -1.09375,-0.421875 -1.59375,-0.84375 -0.5,-0.46875 -1.015625,-0.921875 -1.703125,-0.921875 -1.078125,0 -1.671875,1.09375 -1.671875,2 0,0.328125 0.125,0.328125 0.140625,0.328125 0.109375,0 0.140625,-0.203125 0.140625,-0.234375 0.046875,-1.09375 0.78125,-1.53125 1.390625,-1.53125 0.625,0 1.109375,0.421875 1.59375,0.84375 0.515625,0.46875 1.03125,0.921875 1.703125,0.921875 1.09375,0 1.6875,-1.09375 1.6875,-2 z m 0,0"
|
||||
id="path5520" />
|
||||
</g>
|
||||
<g
|
||||
id="g5873">
|
||||
<path
|
||||
d="m 7.578125,-6.921875 c 0,-0.03125 -0.015625,-0.109375 -0.109375,-0.109375 -0.03125,0 -0.046875,0.015625 -0.15625,0.125 L 6.625,-6.140625 C 6.53125,-6.28125 6.078125,-7.03125 4.96875,-7.03125 2.734375,-7.03125 0.5,-4.828125 0.5,-2.515625 c 0,1.59375 1.109375,2.734375 2.71875,2.734375 0.4375,0 0.890625,-0.09375 1.25,-0.234375 0.5,-0.203125 0.6875,-0.40625 0.859375,-0.609375 0.09375,0.25 0.359375,0.609375 0.453125,0.609375 0.046875,0 0.078125,-0.03125 0.078125,-0.03125 C 5.875,-0.0625 5.96875,-0.453125 6.015625,-0.65625 l 0.1875,-0.765625 C 6.25,-1.59375 6.296875,-1.765625 6.34375,-1.9375 c 0.109375,-0.4375 0.109375,-0.46875 0.6875,-0.46875 0.046875,0 0.15625,-0.015625 0.15625,-0.203125 0,-0.078125 -0.046875,-0.109375 -0.125,-0.109375 -0.234375,0 -0.828125,0.03125 -1.046875,0.03125 -0.3125,0 -1.09375,-0.03125 -1.40625,-0.03125 -0.078125,0 -0.203125,0 -0.203125,0.203125 0,0.109375 0.078125,0.109375 0.296875,0.109375 0.015625,0 0.296875,0 0.53125,0.015625 0.265625,0.03125 0.3125,0.0625 0.3125,0.1875 0,0.09375 -0.109375,0.53125 -0.21875,0.90625 -0.28125,1.09375 -1.5625,1.203125 -1.921875,1.203125 -0.953125,0 -2,-0.5625 -2,-2.09375 0,-0.3125 0.09375,-1.953125 1.140625,-3.25 0.546875,-0.671875 1.515625,-1.28125 2.5,-1.28125 1.015625,0 1.609375,0.765625 1.609375,1.921875 0,0.40625 -0.03125,0.40625 -0.03125,0.515625 0,0.09375 0.109375,0.09375 0.140625,0.09375 0.125,0 0.125,-0.015625 0.1875,-0.203125 z m 0,0"
|
||||
id="path7540" />
|
||||
</g>
|
||||
<g
|
||||
id="g4167">
|
||||
<path
|
||||
d="M 5.078125,-4.03125 C 5.0625,-4.0625 5.03125,-4.140625 5.03125,-4.171875 c 0,0 0.171875,-0.140625 0.28125,-0.21875 l 1.75,-1.34375 C 8,-6.4375 8.390625,-6.46875 8.6875,-6.5 8.765625,-6.515625 8.859375,-6.515625 8.859375,-6.703125 8.859375,-6.734375 8.828125,-6.8125 8.75,-6.8125 c -0.21875,0 -0.46875,0.03125 -0.703125,0.03125 -0.359375,0 -0.75,-0.03125 -1.109375,-0.03125 -0.0625,0 -0.1875,0 -0.1875,0.203125 0,0.0625 0.046875,0.09375 0.125,0.109375 0.21875,0.015625 0.296875,0.0625 0.296875,0.203125 0,0.1875 -0.296875,0.421875 -0.359375,0.46875 L 2.9375,-2.84375 3.734375,-6.046875 C 3.8125,-6.40625 3.84375,-6.5 4.5625,-6.5 c 0.25,0 0.34375,0 0.34375,-0.203125 0,-0.078125 -0.078125,-0.109375 -0.140625,-0.109375 -0.28125,0 -1,0.03125 -1.28125,0.03125 C 3.203125,-6.78125 2.5,-6.8125 2.203125,-6.8125 2.140625,-6.8125 2,-6.8125 2,-6.625 2,-6.5 2.09375,-6.5 2.296875,-6.5 c 0.125,0 0.3125,0.015625 0.421875,0.015625 0.15625,0.03125 0.21875,0.046875 0.21875,0.171875 0,0.03125 0,0.0625 -0.03125,0.1875 L 1.5625,-0.78125 c -0.09375,0.390625 -0.109375,0.46875 -0.90625,0.46875 -0.171875,0 -0.28125,0 -0.28125,0.1875 C 0.375,0 0.5,0 0.53125,0 0.8125,0 1.515625,-0.03125 1.796875,-0.03125 2,-0.03125 2.21875,-0.015625 2.4375,-0.015625 2.65625,-0.015625 2.875,0 3.078125,0 3.15625,0 3.28125,0 3.28125,-0.203125 3.28125,-0.3125 3.1875,-0.3125 3,-0.3125 c -0.375,0 -0.640625,0 -0.640625,-0.171875 0,-0.078125 0.046875,-0.296875 0.078125,-0.4375 C 2.578125,-1.453125 2.71875,-1.96875 2.84375,-2.5 l 1.484375,-1.15625 1.15625,2.6875 c 0.125,0.265625 0.125,0.296875 0.125,0.34375 0,0.3125 -0.4375,0.3125 -0.53125,0.3125 -0.109375,0 -0.21875,0 -0.21875,0.203125 C 4.859375,0 4.984375,0 5,0 5.40625,0 5.828125,-0.03125 6.21875,-0.03125 6.4375,-0.03125 6.984375,0 7.203125,0 7.25,0 7.375,0 7.375,-0.203125 7.375,-0.3125 7.265625,-0.3125 7.171875,-0.3125 c -0.40625,0 -0.53125,-0.09375 -0.6875,-0.4375 z m 0,0"
|
||||
id="path2100" />
|
||||
</g>
|
||||
<g
|
||||
id="g9560">
|
||||
<path
|
||||
d="m 5.1875,-1.578125 c 0.109375,0 0.28125,0 0.28125,-0.15625 0,-0.1875 -0.171875,-0.1875 -0.28125,-0.1875 H 1.03125 c -0.109375,0 -0.28125,0 -0.28125,0.171875 0,0.171875 0.15625,0.171875 0.28125,0.171875 z m 0,0"
|
||||
id="path8981" />
|
||||
</g>
|
||||
<g
|
||||
id="g2349">
|
||||
<path
|
||||
d="m 2.328125,-4.4375 c 0,-0.1875 0,-0.1875 -0.203125,-0.1875 -0.453125,0.4375 -1.078125,0.4375 -1.359375,0.4375 v 0.25 c 0.15625,0 0.625,0 1,-0.1875 v 3.546875 c 0,0.234375 0,0.328125 -0.6875,0.328125 H 0.8125 V 0 c 0.125,0 0.984375,-0.03125 1.234375,-0.03125 0.21875,0 1.09375,0.03125 1.25,0.03125 V -0.25 H 3.03125 c -0.703125,0 -0.703125,-0.09375 -0.703125,-0.328125 z m 0,0"
|
||||
id="path1927" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g644">
|
||||
<g
|
||||
id="g2704">
|
||||
<path
|
||||
d="m 7.578125,-6.921875 c 0,-0.03125 -0.015625,-0.109375 -0.109375,-0.109375 -0.03125,0 -0.046875,0.015625 -0.15625,0.125 L 6.625,-6.140625 C 6.53125,-6.28125 6.078125,-7.03125 4.96875,-7.03125 2.734375,-7.03125 0.5,-4.828125 0.5,-2.515625 c 0,1.59375 1.109375,2.734375 2.71875,2.734375 0.4375,0 0.890625,-0.09375 1.25,-0.234375 0.5,-0.203125 0.6875,-0.40625 0.859375,-0.609375 0.09375,0.25 0.359375,0.609375 0.453125,0.609375 0.046875,0 0.078125,-0.03125 0.078125,-0.03125 C 5.875,-0.0625 5.96875,-0.453125 6.015625,-0.65625 l 0.1875,-0.765625 C 6.25,-1.59375 6.296875,-1.765625 6.34375,-1.9375 c 0.109375,-0.4375 0.109375,-0.46875 0.6875,-0.46875 0.046875,0 0.15625,-0.015625 0.15625,-0.203125 0,-0.078125 -0.046875,-0.109375 -0.125,-0.109375 -0.234375,0 -0.828125,0.03125 -1.046875,0.03125 -0.3125,0 -1.09375,-0.03125 -1.40625,-0.03125 -0.078125,0 -0.203125,0 -0.203125,0.203125 0,0.109375 0.078125,0.109375 0.296875,0.109375 0.015625,0 0.296875,0 0.53125,0.015625 0.265625,0.03125 0.3125,0.0625 0.3125,0.1875 0,0.09375 -0.109375,0.53125 -0.21875,0.90625 -0.28125,1.09375 -1.5625,1.203125 -1.921875,1.203125 -0.953125,0 -2,-0.5625 -2,-2.09375 0,-0.3125 0.09375,-1.953125 1.140625,-3.25 0.546875,-0.671875 1.515625,-1.28125 2.5,-1.28125 1.015625,0 1.609375,0.765625 1.609375,1.921875 0,0.40625 -0.03125,0.40625 -0.03125,0.515625 0,0.09375 0.109375,0.09375 0.140625,0.09375 0.125,0 0.125,-0.015625 0.1875,-0.203125 z m 0,0"
|
||||
id="path1814" />
|
||||
</g>
|
||||
<g
|
||||
id="g1009">
|
||||
<path
|
||||
d="M 5.078125,-4.03125 C 5.0625,-4.0625 5.03125,-4.140625 5.03125,-4.171875 c 0,0 0.171875,-0.140625 0.28125,-0.21875 l 1.75,-1.34375 C 8,-6.4375 8.390625,-6.46875 8.6875,-6.5 8.765625,-6.515625 8.859375,-6.515625 8.859375,-6.703125 8.859375,-6.734375 8.828125,-6.8125 8.75,-6.8125 c -0.21875,0 -0.46875,0.03125 -0.703125,0.03125 -0.359375,0 -0.75,-0.03125 -1.109375,-0.03125 -0.0625,0 -0.1875,0 -0.1875,0.203125 0,0.0625 0.046875,0.09375 0.125,0.109375 0.21875,0.015625 0.296875,0.0625 0.296875,0.203125 0,0.1875 -0.296875,0.421875 -0.359375,0.46875 L 2.9375,-2.84375 3.734375,-6.046875 C 3.8125,-6.40625 3.84375,-6.5 4.5625,-6.5 c 0.25,0 0.34375,0 0.34375,-0.203125 0,-0.078125 -0.078125,-0.109375 -0.140625,-0.109375 -0.28125,0 -1,0.03125 -1.28125,0.03125 C 3.203125,-6.78125 2.5,-6.8125 2.203125,-6.8125 2.140625,-6.8125 2,-6.8125 2,-6.625 2,-6.5 2.09375,-6.5 2.296875,-6.5 c 0.125,0 0.3125,0.015625 0.421875,0.015625 0.15625,0.03125 0.21875,0.046875 0.21875,0.171875 0,0.03125 0,0.0625 -0.03125,0.1875 L 1.5625,-0.78125 c -0.09375,0.390625 -0.109375,0.46875 -0.90625,0.46875 -0.171875,0 -0.28125,0 -0.28125,0.1875 C 0.375,0 0.5,0 0.53125,0 0.8125,0 1.515625,-0.03125 1.796875,-0.03125 2,-0.03125 2.21875,-0.015625 2.4375,-0.015625 2.65625,-0.015625 2.875,0 3.078125,0 3.15625,0 3.28125,0 3.28125,-0.203125 3.28125,-0.3125 3.1875,-0.3125 3,-0.3125 c -0.375,0 -0.640625,0 -0.640625,-0.171875 0,-0.078125 0.046875,-0.296875 0.078125,-0.4375 C 2.578125,-1.453125 2.71875,-1.96875 2.84375,-2.5 l 1.484375,-1.15625 1.15625,2.6875 c 0.125,0.265625 0.125,0.296875 0.125,0.34375 0,0.3125 -0.4375,0.3125 -0.53125,0.3125 -0.109375,0 -0.21875,0 -0.21875,0.203125 C 4.859375,0 4.984375,0 5,0 5.40625,0 5.828125,-0.03125 6.21875,-0.03125 6.4375,-0.03125 6.984375,0 7.203125,0 7.25,0 7.375,0 7.375,-0.203125 7.375,-0.3125 7.265625,-0.3125 7.171875,-0.3125 c -0.40625,0 -0.53125,-0.09375 -0.6875,-0.4375 z m 0,0"
|
||||
id="path6262" />
|
||||
</g>
|
||||
<g
|
||||
id="g5131">
|
||||
<path
|
||||
d="m 5.1875,-1.578125 c 0.109375,0 0.28125,0 0.28125,-0.15625 0,-0.1875 -0.171875,-0.1875 -0.28125,-0.1875 H 1.03125 c -0.109375,0 -0.28125,0 -0.28125,0.171875 0,0.171875 0.15625,0.171875 0.28125,0.171875 z m 0,0"
|
||||
id="path1379" />
|
||||
</g>
|
||||
<g
|
||||
id="g6825">
|
||||
<path
|
||||
d="m 2.328125,-4.4375 c 0,-0.1875 0,-0.1875 -0.203125,-0.1875 -0.453125,0.4375 -1.078125,0.4375 -1.359375,0.4375 v 0.25 c 0.15625,0 0.625,0 1,-0.1875 v 3.546875 c 0,0.234375 0,0.328125 -0.6875,0.328125 H 0.8125 V 0 c 0.125,0 0.984375,-0.03125 1.234375,-0.03125 0.21875,0 1.09375,0.03125 1.25,0.03125 V -0.25 H 3.03125 c -0.703125,0 -0.703125,-0.09375 -0.703125,-0.328125 z m 0,0"
|
||||
id="path988" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g246">
|
||||
<g
|
||||
id="g5705">
|
||||
<path
|
||||
d="m 7.203125,-3.328125 c 0,-0.21875 -0.0625,-0.328125 -0.140625,-0.328125 -0.046875,0 -0.140625,0.078125 -0.140625,0.265625 -0.046875,0.953125 -0.703125,1.5 -1.40625,1.5 -0.625,0 -1.09375,-0.421875 -1.59375,-0.84375 -0.5,-0.46875 -1.015625,-0.921875 -1.703125,-0.921875 -1.078125,0 -1.671875,1.09375 -1.671875,2 0,0.328125 0.125,0.328125 0.140625,0.328125 0.109375,0 0.140625,-0.203125 0.140625,-0.234375 0.046875,-1.09375 0.78125,-1.53125 1.390625,-1.53125 0.625,0 1.109375,0.421875 1.59375,0.84375 0.515625,0.46875 1.03125,0.921875 1.703125,0.921875 1.09375,0 1.6875,-1.09375 1.6875,-2 z m 0,0"
|
||||
id="path88" />
|
||||
</g>
|
||||
<g
|
||||
id="g7474">
|
||||
<path
|
||||
d="m 7.578125,-6.921875 c 0,-0.03125 -0.015625,-0.109375 -0.109375,-0.109375 -0.03125,0 -0.046875,0.015625 -0.15625,0.125 L 6.625,-6.140625 C 6.53125,-6.28125 6.078125,-7.03125 4.96875,-7.03125 2.734375,-7.03125 0.5,-4.828125 0.5,-2.515625 c 0,1.59375 1.109375,2.734375 2.71875,2.734375 0.4375,0 0.890625,-0.09375 1.25,-0.234375 0.5,-0.203125 0.6875,-0.40625 0.859375,-0.609375 0.09375,0.25 0.359375,0.609375 0.453125,0.609375 0.046875,0 0.078125,-0.03125 0.078125,-0.03125 C 5.875,-0.0625 5.96875,-0.453125 6.015625,-0.65625 l 0.1875,-0.765625 C 6.25,-1.59375 6.296875,-1.765625 6.34375,-1.9375 c 0.109375,-0.4375 0.109375,-0.46875 0.6875,-0.46875 0.046875,0 0.15625,-0.015625 0.15625,-0.203125 0,-0.078125 -0.046875,-0.109375 -0.125,-0.109375 -0.234375,0 -0.828125,0.03125 -1.046875,0.03125 -0.3125,0 -1.09375,-0.03125 -1.40625,-0.03125 -0.078125,0 -0.203125,0 -0.203125,0.203125 0,0.109375 0.078125,0.109375 0.296875,0.109375 0.015625,0 0.296875,0 0.53125,0.015625 0.265625,0.03125 0.3125,0.0625 0.3125,0.1875 0,0.09375 -0.109375,0.53125 -0.21875,0.90625 -0.28125,1.09375 -1.5625,1.203125 -1.921875,1.203125 -0.953125,0 -2,-0.5625 -2,-2.09375 0,-0.3125 0.09375,-1.953125 1.140625,-3.25 0.546875,-0.671875 1.515625,-1.28125 2.5,-1.28125 1.015625,0 1.609375,0.765625 1.609375,1.921875 0,0.40625 -0.03125,0.40625 -0.03125,0.515625 0,0.09375 0.109375,0.09375 0.140625,0.09375 0.125,0 0.125,-0.015625 0.1875,-0.203125 z m 0,0"
|
||||
id="path7524" />
|
||||
</g>
|
||||
<g
|
||||
id="g7453">
|
||||
<path
|
||||
d="M 5.078125,-4.03125 C 5.0625,-4.0625 5.03125,-4.140625 5.03125,-4.171875 c 0,0 0.171875,-0.140625 0.28125,-0.21875 l 1.75,-1.34375 C 8,-6.4375 8.390625,-6.46875 8.6875,-6.5 8.765625,-6.515625 8.859375,-6.515625 8.859375,-6.703125 8.859375,-6.734375 8.828125,-6.8125 8.75,-6.8125 c -0.21875,0 -0.46875,0.03125 -0.703125,0.03125 -0.359375,0 -0.75,-0.03125 -1.109375,-0.03125 -0.0625,0 -0.1875,0 -0.1875,0.203125 0,0.0625 0.046875,0.09375 0.125,0.109375 0.21875,0.015625 0.296875,0.0625 0.296875,0.203125 0,0.1875 -0.296875,0.421875 -0.359375,0.46875 L 2.9375,-2.84375 3.734375,-6.046875 C 3.8125,-6.40625 3.84375,-6.5 4.5625,-6.5 c 0.25,0 0.34375,0 0.34375,-0.203125 0,-0.078125 -0.078125,-0.109375 -0.140625,-0.109375 -0.28125,0 -1,0.03125 -1.28125,0.03125 C 3.203125,-6.78125 2.5,-6.8125 2.203125,-6.8125 2.140625,-6.8125 2,-6.8125 2,-6.625 2,-6.5 2.09375,-6.5 2.296875,-6.5 c 0.125,0 0.3125,0.015625 0.421875,0.015625 0.15625,0.03125 0.21875,0.046875 0.21875,0.171875 0,0.03125 0,0.0625 -0.03125,0.1875 L 1.5625,-0.78125 c -0.09375,0.390625 -0.109375,0.46875 -0.90625,0.46875 -0.171875,0 -0.28125,0 -0.28125,0.1875 C 0.375,0 0.5,0 0.53125,0 0.8125,0 1.515625,-0.03125 1.796875,-0.03125 2,-0.03125 2.21875,-0.015625 2.4375,-0.015625 2.65625,-0.015625 2.875,0 3.078125,0 3.15625,0 3.28125,0 3.28125,-0.203125 3.28125,-0.3125 3.1875,-0.3125 3,-0.3125 c -0.375,0 -0.640625,0 -0.640625,-0.171875 0,-0.078125 0.046875,-0.296875 0.078125,-0.4375 C 2.578125,-1.453125 2.71875,-1.96875 2.84375,-2.5 l 1.484375,-1.15625 1.15625,2.6875 c 0.125,0.265625 0.125,0.296875 0.125,0.34375 0,0.3125 -0.4375,0.3125 -0.53125,0.3125 -0.109375,0 -0.21875,0 -0.21875,0.203125 C 4.859375,0 4.984375,0 5,0 5.40625,0 5.828125,-0.03125 6.21875,-0.03125 6.4375,-0.03125 6.984375,0 7.203125,0 7.25,0 7.375,0 7.375,-0.203125 7.375,-0.3125 7.265625,-0.3125 7.171875,-0.3125 c -0.40625,0 -0.53125,-0.09375 -0.6875,-0.4375 z m 0,0"
|
||||
id="path5185" />
|
||||
</g>
|
||||
<g
|
||||
id="g9945">
|
||||
<path
|
||||
d="m 5.1875,-1.578125 c 0.109375,0 0.28125,0 0.28125,-0.15625 0,-0.1875 -0.171875,-0.1875 -0.28125,-0.1875 H 1.03125 c -0.109375,0 -0.28125,0 -0.28125,0.171875 0,0.171875 0.15625,0.171875 0.28125,0.171875 z m 0,0"
|
||||
id="path4781" />
|
||||
</g>
|
||||
<g
|
||||
id="g7140">
|
||||
<path
|
||||
d="m 2.328125,-4.4375 c 0,-0.1875 0,-0.1875 -0.203125,-0.1875 -0.453125,0.4375 -1.078125,0.4375 -1.359375,0.4375 v 0.25 c 0.15625,0 0.625,0 1,-0.1875 v 3.546875 c 0,0.234375 0,0.328125 -0.6875,0.328125 H 0.8125 V 0 c 0.125,0 0.984375,-0.03125 1.234375,-0.03125 0.21875,0 1.09375,0.03125 1.25,0.03125 V -0.25 H 3.03125 c -0.703125,0 -0.703125,-0.09375 -0.703125,-0.328125 z m 0,0"
|
||||
id="path662" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g3261">
|
||||
<g
|
||||
id="g9714">
|
||||
<path
|
||||
d="m 7.203125,-3.328125 c 0,-0.21875 -0.0625,-0.328125 -0.140625,-0.328125 -0.046875,0 -0.140625,0.078125 -0.140625,0.265625 -0.046875,0.953125 -0.703125,1.5 -1.40625,1.5 -0.625,0 -1.09375,-0.421875 -1.59375,-0.84375 -0.5,-0.46875 -1.015625,-0.921875 -1.703125,-0.921875 -1.078125,0 -1.671875,1.09375 -1.671875,2 0,0.328125 0.125,0.328125 0.140625,0.328125 0.109375,0 0.140625,-0.203125 0.140625,-0.234375 0.046875,-1.09375 0.78125,-1.53125 1.390625,-1.53125 0.625,0 1.109375,0.421875 1.59375,0.84375 0.515625,0.46875 1.03125,0.921875 1.703125,0.921875 1.09375,0 1.6875,-1.09375 1.6875,-2 z m 0,0"
|
||||
id="path1136" />
|
||||
</g>
|
||||
<g
|
||||
id="g246-1">
|
||||
<path
|
||||
d="m 3.296875,2.390625 c 0,-0.03125 0,-0.046875 -0.171875,-0.21875 C 1.890625,0.921875 1.5625,-0.96875 1.5625,-2.5 c 0,-1.734375 0.375,-3.46875 1.609375,-4.703125 0.125,-0.125 0.125,-0.140625 0.125,-0.171875 0,-0.078125 -0.03125,-0.109375 -0.09375,-0.109375 -0.109375,0 -1,0.6875 -1.59375,1.953125 -0.5,1.09375 -0.625,2.203125 -0.625,3.03125 0,0.78125 0.109375,1.984375 0.65625,3.125 C 2.25,1.84375 3.09375,2.5 3.203125,2.5 c 0.0625,0 0.09375,-0.03125 0.09375,-0.109375 z m 0,0"
|
||||
id="path369" />
|
||||
</g>
|
||||
<g
|
||||
id="g2347">
|
||||
<path
|
||||
d="m 2.875,-2.5 c 0,-0.765625 -0.109375,-1.96875 -0.65625,-3.109375 -0.59375,-1.21875 -1.453125,-1.875 -1.546875,-1.875 -0.0625,0 -0.109375,0.046875 -0.109375,0.109375 0,0.03125 0,0.046875 0.1875,0.234375 0.984375,0.984375 1.546875,2.5625 1.546875,4.640625 0,1.71875 -0.359375,3.46875 -1.59375,4.71875 C 0.5625,2.34375 0.5625,2.359375 0.5625,2.390625 0.5625,2.453125 0.609375,2.5 0.671875,2.5 0.765625,2.5 1.671875,1.8125 2.25,0.546875 2.765625,-0.546875 2.875,-1.65625 2.875,-2.5 Z m 0,0"
|
||||
id="path3325" />
|
||||
</g>
|
||||
<g
|
||||
id="g1342">
|
||||
<path
|
||||
d="m 7.578125,-6.921875 c 0,-0.03125 -0.015625,-0.109375 -0.109375,-0.109375 -0.03125,0 -0.046875,0.015625 -0.15625,0.125 L 6.625,-6.140625 C 6.53125,-6.28125 6.078125,-7.03125 4.96875,-7.03125 2.734375,-7.03125 0.5,-4.828125 0.5,-2.515625 c 0,1.59375 1.109375,2.734375 2.71875,2.734375 0.4375,0 0.890625,-0.09375 1.25,-0.234375 0.5,-0.203125 0.6875,-0.40625 0.859375,-0.609375 0.09375,0.25 0.359375,0.609375 0.453125,0.609375 0.046875,0 0.078125,-0.03125 0.078125,-0.03125 C 5.875,-0.0625 5.96875,-0.453125 6.015625,-0.65625 l 0.1875,-0.765625 C 6.25,-1.59375 6.296875,-1.765625 6.34375,-1.9375 c 0.109375,-0.4375 0.109375,-0.46875 0.6875,-0.46875 0.046875,0 0.15625,-0.015625 0.15625,-0.203125 0,-0.078125 -0.046875,-0.109375 -0.125,-0.109375 -0.234375,0 -0.828125,0.03125 -1.046875,0.03125 -0.3125,0 -1.09375,-0.03125 -1.40625,-0.03125 -0.078125,0 -0.203125,0 -0.203125,0.203125 0,0.109375 0.078125,0.109375 0.296875,0.109375 0.015625,0 0.296875,0 0.53125,0.015625 0.265625,0.03125 0.3125,0.0625 0.3125,0.1875 0,0.09375 -0.109375,0.53125 -0.21875,0.90625 -0.28125,1.09375 -1.5625,1.203125 -1.921875,1.203125 -0.953125,0 -2,-0.5625 -2,-2.09375 0,-0.3125 0.09375,-1.953125 1.140625,-3.25 0.546875,-0.671875 1.515625,-1.28125 2.5,-1.28125 1.015625,0 1.609375,0.765625 1.609375,1.921875 0,0.40625 -0.03125,0.40625 -0.03125,0.515625 0,0.09375 0.109375,0.09375 0.140625,0.09375 0.125,0 0.125,-0.015625 0.1875,-0.203125 z m 0,0"
|
||||
id="path3049" />
|
||||
</g>
|
||||
<g
|
||||
id="g3680">
|
||||
<path
|
||||
d="M 5.078125,-4.03125 C 5.0625,-4.0625 5.03125,-4.140625 5.03125,-4.171875 c 0,0 0.171875,-0.140625 0.28125,-0.21875 l 1.75,-1.34375 C 8,-6.4375 8.390625,-6.46875 8.6875,-6.5 8.765625,-6.515625 8.859375,-6.515625 8.859375,-6.703125 8.859375,-6.734375 8.828125,-6.8125 8.75,-6.8125 c -0.21875,0 -0.46875,0.03125 -0.703125,0.03125 -0.359375,0 -0.75,-0.03125 -1.109375,-0.03125 -0.0625,0 -0.1875,0 -0.1875,0.203125 0,0.0625 0.046875,0.09375 0.125,0.109375 0.21875,0.015625 0.296875,0.0625 0.296875,0.203125 0,0.1875 -0.296875,0.421875 -0.359375,0.46875 L 2.9375,-2.84375 3.734375,-6.046875 C 3.8125,-6.40625 3.84375,-6.5 4.5625,-6.5 c 0.25,0 0.34375,0 0.34375,-0.203125 0,-0.078125 -0.078125,-0.109375 -0.140625,-0.109375 -0.28125,0 -1,0.03125 -1.28125,0.03125 C 3.203125,-6.78125 2.5,-6.8125 2.203125,-6.8125 2.140625,-6.8125 2,-6.8125 2,-6.625 2,-6.5 2.09375,-6.5 2.296875,-6.5 c 0.125,0 0.3125,0.015625 0.421875,0.015625 0.15625,0.03125 0.21875,0.046875 0.21875,0.171875 0,0.03125 0,0.0625 -0.03125,0.1875 L 1.5625,-0.78125 c -0.09375,0.390625 -0.109375,0.46875 -0.90625,0.46875 -0.171875,0 -0.28125,0 -0.28125,0.1875 C 0.375,0 0.5,0 0.53125,0 0.8125,0 1.515625,-0.03125 1.796875,-0.03125 2,-0.03125 2.21875,-0.015625 2.4375,-0.015625 2.65625,-0.015625 2.875,0 3.078125,0 3.15625,0 3.28125,0 3.28125,-0.203125 3.28125,-0.3125 3.1875,-0.3125 3,-0.3125 c -0.375,0 -0.640625,0 -0.640625,-0.171875 0,-0.078125 0.046875,-0.296875 0.078125,-0.4375 C 2.578125,-1.453125 2.71875,-1.96875 2.84375,-2.5 l 1.484375,-1.15625 1.15625,2.6875 c 0.125,0.265625 0.125,0.296875 0.125,0.34375 0,0.3125 -0.4375,0.3125 -0.53125,0.3125 -0.109375,0 -0.21875,0 -0.21875,0.203125 C 4.859375,0 4.984375,0 5,0 5.40625,0 5.828125,-0.03125 6.21875,-0.03125 6.4375,-0.03125 6.984375,0 7.203125,0 7.25,0 7.375,0 7.375,-0.203125 7.375,-0.3125 7.265625,-0.3125 7.171875,-0.3125 c -0.40625,0 -0.53125,-0.09375 -0.6875,-0.4375 z m 0,0"
|
||||
id="path6265" />
|
||||
</g>
|
||||
<g
|
||||
id="g1843">
|
||||
<path
|
||||
d="m 5.1875,-1.578125 c 0.109375,0 0.28125,0 0.28125,-0.15625 0,-0.1875 -0.171875,-0.1875 -0.28125,-0.1875 H 1.03125 c -0.109375,0 -0.28125,0 -0.28125,0.171875 0,0.171875 0.15625,0.171875 0.28125,0.171875 z m 0,0"
|
||||
id="path9346" />
|
||||
</g>
|
||||
<g
|
||||
id="g6145">
|
||||
<path
|
||||
d="m 2.328125,-4.4375 c 0,-0.1875 0,-0.1875 -0.203125,-0.1875 -0.453125,0.4375 -1.078125,0.4375 -1.359375,0.4375 v 0.25 c 0.15625,0 0.625,0 1,-0.1875 v 3.546875 c 0,0.234375 0,0.328125 -0.6875,0.328125 H 0.8125 V 0 c 0.125,0 0.984375,-0.03125 1.234375,-0.03125 0.21875,0 1.09375,0.03125 1.25,0.03125 V -0.25 H 3.03125 c -0.703125,0 -0.703125,-0.09375 -0.703125,-0.328125 z m 0,0"
|
||||
id="path8290" />
|
||||
</g>
|
||||
</g>
|
||||
</defs>
|
||||
<g id="surface1">
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 0.996094 117.195312 L 170.832031 117.195312 L 170.832031 1.140625 L 0.996094 1.140625 Z M 0.996094 117.195312 "/>
|
||||
<g clip-path="url(#clip1)" clip-rule="nonzero">
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;" d="M -14.173475 -76.535669 L 155.906532 -76.535669 L 155.906532 39.6858 L -14.173475 39.6858 Z M -14.173475 -76.535669 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
|
||||
<g
|
||||
id="surface1">
|
||||
<path
|
||||
style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;"
|
||||
d="M 0.996094 117.195312 L 170.832031 117.195312 L 170.832031 1.140625 L 0.996094 1.140625 Z M 0.996094 117.195312 "
|
||||
id="path18" />
|
||||
<g
|
||||
clip-path="url(#clip1)"
|
||||
clip-rule="nonzero"
|
||||
id="g19">
|
||||
<path
|
||||
style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;"
|
||||
d="M -14.173475 -76.535669 L 155.906532 -76.535669 L 155.906532 39.6858 L -14.173475 39.6858 Z M -14.173475 -76.535669 "
|
||||
transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"
|
||||
id="path19" />
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph0-1" x="82.577329" y="11.255888"/>
|
||||
<g
|
||||
style="fill:rgb(0%,0%,0%);fill-opacity:1;"
|
||||
id="g20">
|
||||
<use
|
||||
xlink:href="#glyph0-1"
|
||||
x="82.577329"
|
||||
y="11.255888"
|
||||
id="use19" />
|
||||
</g>
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 182.15625 117.195312 L 351.992188 117.195312 L 351.992188 1.140625 L 182.15625 1.140625 Z M 182.15625 117.195312 "/>
|
||||
<g clip-path="url(#clip2)" clip-rule="nonzero">
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;" d="M 167.247025 -76.535669 L 337.327032 -76.535669 L 337.327032 39.6858 L 167.247025 39.6858 Z M 167.247025 -76.535669 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
|
||||
<path
|
||||
style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;"
|
||||
d="M 182.15625 117.195312 L 351.992188 117.195312 L 351.992188 1.140625 L 182.15625 1.140625 Z M 182.15625 117.195312 "
|
||||
id="path20" />
|
||||
<g
|
||||
clip-path="url(#clip2)"
|
||||
clip-rule="nonzero"
|
||||
id="g21">
|
||||
<path
|
||||
style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;"
|
||||
d="M 167.247025 -76.535669 L 337.327032 -76.535669 L 337.327032 39.6858 L 167.247025 39.6858 Z M 167.247025 -76.535669 "
|
||||
transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"
|
||||
id="path21" />
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph0-2" x="259.822611" y="11.255888"/>
|
||||
<use xlink:href="#glyph0-1" x="267.644962" y="11.255888"/>
|
||||
<g
|
||||
style="fill:rgb(0%,0%,0%);fill-opacity:1;"
|
||||
id="g22">
|
||||
<use
|
||||
xlink:href="#glyph0-2"
|
||||
x="259.822611"
|
||||
y="11.255888"
|
||||
id="use21" />
|
||||
<use
|
||||
xlink:href="#glyph0-1"
|
||||
x="267.644962"
|
||||
y="11.255888"
|
||||
id="use22" />
|
||||
</g>
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 0.996094 241.742188 L 170.832031 241.742188 L 170.832031 125.6875 L 0.996094 125.6875 Z M 0.996094 241.742188 "/>
|
||||
<g clip-path="url(#clip3)" clip-rule="nonzero">
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;" d="M -14.173475 -201.261529 L 155.906532 -201.261529 L 155.906532 -85.04006 L -14.173475 -85.04006 Z M -14.173475 -201.261529 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
|
||||
<path
|
||||
style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;"
|
||||
d="M 0.996094 241.742188 L 170.832031 241.742188 L 170.832031 125.6875 L 0.996094 125.6875 Z M 0.996094 241.742188 "
|
||||
id="path22" />
|
||||
<g
|
||||
clip-path="url(#clip3)"
|
||||
clip-rule="nonzero"
|
||||
id="g23">
|
||||
<path
|
||||
style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;"
|
||||
d="M -14.173475 -201.261529 L 155.906532 -201.261529 L 155.906532 -85.04006 L -14.173475 -85.04006 Z M -14.173475 -201.261529 "
|
||||
transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"
|
||||
id="path23" />
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph0-3" x="77.996911" y="135.800906"/>
|
||||
<g
|
||||
style="fill:rgb(0%,0%,0%);fill-opacity:1;"
|
||||
id="g24">
|
||||
<use
|
||||
xlink:href="#glyph0-3"
|
||||
x="77.996911"
|
||||
y="135.800906"
|
||||
id="use23" />
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph0-1" x="87.162283" y="135.800906"/>
|
||||
<g
|
||||
style="fill:rgb(0%,0%,0%);fill-opacity:1;"
|
||||
id="g25">
|
||||
<use
|
||||
xlink:href="#glyph0-1"
|
||||
x="87.162283"
|
||||
y="135.800906"
|
||||
id="use24" />
|
||||
</g>
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 182.15625 241.742188 L 351.992188 241.742188 L 351.992188 125.6875 L 182.15625 125.6875 Z M 182.15625 241.742188 "/>
|
||||
<g clip-path="url(#clip4)" clip-rule="nonzero">
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;" d="M 167.247025 -201.261529 L 337.327032 -201.261529 L 337.327032 -85.04006 L 167.247025 -85.04006 Z M 167.247025 -201.261529 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
|
||||
<path
|
||||
style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;"
|
||||
d="M 182.15625 241.742188 L 351.992188 241.742188 L 351.992188 125.6875 L 182.15625 125.6875 Z M 182.15625 241.742188 "
|
||||
id="path25" />
|
||||
<g
|
||||
clip-path="url(#clip4)"
|
||||
clip-rule="nonzero"
|
||||
id="g26">
|
||||
<path
|
||||
style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;"
|
||||
d="M 167.247025 -201.261529 L 337.327032 -201.261529 L 337.327032 -85.04006 L 167.247025 -85.04006 Z M 167.247025 -201.261529 "
|
||||
transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"
|
||||
id="path26" />
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph0-4" x="263.473365" y="135.800906"/>
|
||||
<g
|
||||
style="fill:rgb(0%,0%,0%);fill-opacity:1;"
|
||||
id="g27">
|
||||
<use
|
||||
xlink:href="#glyph0-4"
|
||||
x="263.473365"
|
||||
y="135.800906"
|
||||
id="use26" />
|
||||
</g>
|
||||
<path style="fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -5.669083 -70.867378 L -5.669083 14.172625 L 39.685064 14.172625 L 39.685064 -70.867378 Z M -5.669083 -70.867378 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph1-1" x="13.051244" y="58.971317"/>
|
||||
<path
|
||||
style="fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;"
|
||||
d="M -5.669083 -70.867378 L -5.669083 14.172625 L 39.685064 14.172625 L 39.685064 -70.867378 Z M -5.669083 -70.867378 "
|
||||
transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"
|
||||
id="path27" />
|
||||
<g
|
||||
inkscape:label=""
|
||||
transform="translate(134.619,93.6035)"
|
||||
id="g57"
|
||||
style="fill:#000000;fill-opacity:1">
|
||||
<g
|
||||
fill="#000000"
|
||||
fill-opacity="1"
|
||||
id="g6"
|
||||
transform="translate(-169.454,-5.209)">
|
||||
<g
|
||||
id="use5"
|
||||
transform="translate(168.907,13.947)">
|
||||
<path
|
||||
d="m 7.203125,-3.328125 c 0,-0.21875 -0.0625,-0.328125 -0.140625,-0.328125 -0.046875,0 -0.140625,0.078125 -0.140625,0.265625 -0.046875,0.953125 -0.703125,1.5 -1.40625,1.5 -0.625,0 -1.09375,-0.421875 -1.59375,-0.84375 -0.5,-0.46875 -1.015625,-0.921875 -1.703125,-0.921875 -1.078125,0 -1.671875,1.09375 -1.671875,2 0,0.328125 0.125,0.328125 0.140625,0.328125 0.109375,0 0.140625,-0.203125 0.140625,-0.234375 0.046875,-1.09375 0.78125,-1.53125 1.390625,-1.53125 0.625,0 1.109375,0.421875 1.59375,0.84375 0.515625,0.46875 1.03125,0.921875 1.703125,0.921875 1.09375,0 1.6875,-1.09375 1.6875,-2 z m 0,0"
|
||||
id="path9-1" />
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph0-2" x="23.552153" y="58.971317"/>
|
||||
<use xlink:href="#glyph0-3" x="31.374504" y="58.971317"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph2-1" x="40.534748" y="55.361505"/>
|
||||
<g
|
||||
fill="#000000"
|
||||
fill-opacity="1"
|
||||
id="g7"
|
||||
transform="translate(-169.454,-5.209)">
|
||||
<g
|
||||
id="use6"
|
||||
transform="translate(179.42551,13.947)">
|
||||
<path
|
||||
d="m 7.578125,-6.921875 c 0,-0.03125 -0.015625,-0.109375 -0.109375,-0.109375 -0.03125,0 -0.046875,0.015625 -0.15625,0.125 L 6.625,-6.140625 C 6.53125,-6.28125 6.078125,-7.03125 4.96875,-7.03125 2.734375,-7.03125 0.5,-4.828125 0.5,-2.515625 c 0,1.59375 1.109375,2.734375 2.71875,2.734375 0.4375,0 0.890625,-0.09375 1.25,-0.234375 0.5,-0.203125 0.6875,-0.40625 0.859375,-0.609375 0.09375,0.25 0.359375,0.609375 0.453125,0.609375 0.046875,0 0.078125,-0.03125 0.078125,-0.03125 C 5.875,-0.0625 5.96875,-0.453125 6.015625,-0.65625 l 0.1875,-0.765625 C 6.25,-1.59375 6.296875,-1.765625 6.34375,-1.9375 c 0.109375,-0.4375 0.109375,-0.46875 0.6875,-0.46875 0.046875,0 0.15625,-0.015625 0.15625,-0.203125 0,-0.078125 -0.046875,-0.109375 -0.125,-0.109375 -0.234375,0 -0.828125,0.03125 -1.046875,0.03125 -0.3125,0 -1.09375,-0.03125 -1.40625,-0.03125 -0.078125,0 -0.203125,0 -0.203125,0.203125 0,0.109375 0.078125,0.109375 0.296875,0.109375 0.015625,0 0.296875,0 0.53125,0.015625 0.265625,0.03125 0.3125,0.0625 0.3125,0.1875 0,0.09375 -0.109375,0.53125 -0.21875,0.90625 -0.28125,1.09375 -1.5625,1.203125 -1.921875,1.203125 -0.953125,0 -2,-0.5625 -2,-2.09375 0,-0.3125 0.09375,-1.953125 1.140625,-3.25 0.546875,-0.671875 1.515625,-1.28125 2.5,-1.28125 1.015625,0 1.609375,0.765625 1.609375,1.921875 0,0.40625 -0.03125,0.40625 -0.03125,0.515625 0,0.09375 0.109375,0.09375 0.140625,0.09375 0.125,0 0.125,-0.015625 0.1875,-0.203125 z m 0,0"
|
||||
id="path10-1" />
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph3-1" x="46.752812" y="55.361505"/>
|
||||
<g
|
||||
id="use7"
|
||||
transform="translate(187.25911,13.947)">
|
||||
<path
|
||||
d="M 5.078125,-4.03125 C 5.0625,-4.0625 5.03125,-4.140625 5.03125,-4.171875 c 0,0 0.171875,-0.140625 0.28125,-0.21875 l 1.75,-1.34375 C 8,-6.4375 8.390625,-6.46875 8.6875,-6.5 8.765625,-6.515625 8.859375,-6.515625 8.859375,-6.703125 8.859375,-6.734375 8.828125,-6.8125 8.75,-6.8125 c -0.21875,0 -0.46875,0.03125 -0.703125,0.03125 -0.359375,0 -0.75,-0.03125 -1.109375,-0.03125 -0.0625,0 -0.1875,0 -0.1875,0.203125 0,0.0625 0.046875,0.09375 0.125,0.109375 0.21875,0.015625 0.296875,0.0625 0.296875,0.203125 0,0.1875 -0.296875,0.421875 -0.359375,0.46875 L 2.9375,-2.84375 3.734375,-6.046875 C 3.8125,-6.40625 3.84375,-6.5 4.5625,-6.5 c 0.25,0 0.34375,0 0.34375,-0.203125 0,-0.078125 -0.078125,-0.109375 -0.140625,-0.109375 -0.28125,0 -1,0.03125 -1.28125,0.03125 C 3.203125,-6.78125 2.5,-6.8125 2.203125,-6.8125 2.140625,-6.8125 2,-6.8125 2,-6.625 2,-6.5 2.09375,-6.5 2.296875,-6.5 c 0.125,0 0.3125,0.015625 0.421875,0.015625 0.15625,0.03125 0.21875,0.046875 0.21875,0.171875 0,0.03125 0,0.0625 -0.03125,0.1875 L 1.5625,-0.78125 c -0.09375,0.390625 -0.109375,0.46875 -0.90625,0.46875 -0.171875,0 -0.28125,0 -0.28125,0.1875 C 0.375,0 0.5,0 0.53125,0 0.8125,0 1.515625,-0.03125 1.796875,-0.03125 2,-0.03125 2.21875,-0.015625 2.4375,-0.015625 2.65625,-0.015625 2.875,0 3.078125,0 3.15625,0 3.28125,0 3.28125,-0.203125 3.28125,-0.3125 3.1875,-0.3125 3,-0.3125 c -0.375,0 -0.640625,0 -0.640625,-0.171875 0,-0.078125 0.046875,-0.296875 0.078125,-0.4375 C 2.578125,-1.453125 2.71875,-1.96875 2.84375,-2.5 l 1.484375,-1.15625 1.15625,2.6875 c 0.125,0.265625 0.125,0.296875 0.125,0.34375 0,0.3125 -0.4375,0.3125 -0.53125,0.3125 -0.109375,0 -0.21875,0 -0.21875,0.203125 C 4.859375,0 4.984375,0 5,0 5.40625,0 5.828125,-0.03125 6.21875,-0.03125 6.4375,-0.03125 6.984375,0 7.203125,0 7.25,0 7.375,0 7.375,-0.203125 7.375,-0.3125 7.265625,-0.3125 7.171875,-0.3125 c -0.40625,0 -0.53125,-0.09375 -0.6875,-0.4375 z m 0,0"
|
||||
id="path11-1" />
|
||||
</g>
|
||||
<path style="fill-rule:nonzero;fill:rgb(100%,79.998779%,79.998779%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 102.047994 -70.867378 L 102.047994 14.172625 L 147.402141 14.172625 L 147.402141 -70.867378 Z M 102.047994 -70.867378 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph1-1" x="134.788297" y="58.054634"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph4-1" x="145.289206" y="58.054634"/>
|
||||
<g
|
||||
fill="#000000"
|
||||
fill-opacity="1"
|
||||
id="g8"
|
||||
transform="translate(-169.454,-5.209)">
|
||||
<g
|
||||
id="use8"
|
||||
transform="translate(196.42999,9.8339996)">
|
||||
<path
|
||||
d="m 5.1875,-1.578125 c 0.109375,0 0.28125,0 0.28125,-0.15625 0,-0.1875 -0.171875,-0.1875 -0.28125,-0.1875 H 1.03125 c -0.109375,0 -0.28125,0 -0.28125,0.171875 0,0.171875 0.15625,0.171875 0.28125,0.171875 z m 0,0"
|
||||
id="path12-1" />
|
||||
</g>
|
||||
<path style="fill-rule:nonzero;fill:rgb(100%,79.998779%,79.998779%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 75.118725 4.252139 C 75.118725 6.599257 73.213647 8.504335 70.866529 8.504335 C 68.519411 8.504335 66.614333 6.599257 66.614333 4.252139 C 66.614333 1.905021 68.519411 -0.0000566533 70.866529 -0.0000566533 C 73.213647 -0.0000566533 75.118725 1.905021 75.118725 4.252139 Z M 75.118725 4.252139 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;" d="M -11.337374 -0.0000566533 L 153.074343 -0.0000566533 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -0.000792824 -56.694696 C 22.199033 -34.49487 34.494021 -22.195971 56.693847 -0.0000566533 C 61.258992 4.565088 64.411954 8.504335 70.866529 8.504335 C 82.41435 8.504335 87.664071 -0.0000566533 99.211893 -0.0000566533 C 115.794283 -0.0000566533 125.15146 -0.0000566533 141.73385 -0.0000566533 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;" d="M -0.000792824 -0.0000566533 Z M -0.000792824 -0.0000566533 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
|
||||
<path style="fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 175.751417 -70.867378 L 175.751417 14.172625 L 221.105564 14.172625 L 221.105564 -70.867378 Z M 175.751417 -70.867378 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph1-1" x="198.118286" y="58.971317"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph0-3" x="208.620194" y="58.971317"/>
|
||||
<g
|
||||
fill="#000000"
|
||||
fill-opacity="1"
|
||||
id="g9"
|
||||
transform="translate(-169.454,-5.209)">
|
||||
<g
|
||||
id="use9"
|
||||
transform="translate(202.65691,9.8339996)">
|
||||
<path
|
||||
d="m 2.328125,-4.4375 c 0,-0.1875 0,-0.1875 -0.203125,-0.1875 -0.453125,0.4375 -1.078125,0.4375 -1.359375,0.4375 v 0.25 c 0.15625,0 0.625,0 1,-0.1875 v 3.546875 c 0,0.234375 0,0.328125 -0.6875,0.328125 H 0.8125 V 0 c 0.125,0 0.984375,-0.03125 1.234375,-0.03125 0.21875,0 1.09375,0.03125 1.25,0.03125 V -0.25 H 3.03125 c -0.703125,0 -0.703125,-0.09375 -0.703125,-0.328125 z m 0,0"
|
||||
id="path13-1" />
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph2-1" x="217.78003" y="55.361505"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph3-1" x="223.998094" y="55.361505"/>
|
||||
</g>
|
||||
<path style="fill-rule:nonzero;fill:rgb(100%,79.998779%,79.998779%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 283.468494 -70.867378 L 283.468494 14.172625 L 328.822641 14.172625 L 328.822641 -70.867378 Z M 283.468494 -70.867378 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph1-1" x="314.521005" y="58.321251"/>
|
||||
<path
|
||||
style="fill-rule:nonzero;fill:rgb(100%,79.998779%,79.998779%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;"
|
||||
d="M 102.047994 -70.867378 L 102.047994 14.172625 L 147.402141 14.172625 L 147.402141 -70.867378 Z M 102.047994 -70.867378 "
|
||||
transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"
|
||||
id="path31" />
|
||||
<g
|
||||
style="fill:rgb(0%,0%,0%);fill-opacity:1;"
|
||||
id="g32">
|
||||
<use
|
||||
xlink:href="#glyph1-1"
|
||||
x="134.788297"
|
||||
y="58.054634"
|
||||
id="use32" />
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph0-2" x="325.021914" y="58.321251"/>
|
||||
<g
|
||||
style="fill:rgb(0%,0%,0%);fill-opacity:1;"
|
||||
id="g33">
|
||||
<use
|
||||
xlink:href="#glyph4-1"
|
||||
x="145.289206"
|
||||
y="58.054634"
|
||||
id="use33" />
|
||||
</g>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;" d="M 170.079214 -0.0000566533 L 334.490931 -0.0000566533 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 181.419707 -56.694696 C 192.517664 -45.596739 198.667114 -39.44729 209.765071 -28.345421 C 223.100614 -15.013789 233.431846 -5.668347 252.287029 -5.668347 C 271.142211 -5.668347 281.473443 -15.013789 294.805074 -28.345421 C 305.906943 -39.44729 312.056393 -45.596739 323.15435 -56.694696 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
|
||||
<path style="fill-rule:nonzero;fill:rgb(100%,79.998779%,79.998779%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -5.669083 -195.593238 L -5.669083 -110.553235 L 39.685064 -110.553235 L 39.685064 -195.593238 Z M -5.669083 -195.593238 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph1-1" x="17.631662" y="220.314452"/>
|
||||
<path
|
||||
style="fill-rule:nonzero;fill:rgb(100%,79.998779%,79.998779%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;"
|
||||
d="M 75.118725 4.252139 C 75.118725 6.599257 73.213647 8.504335 70.866529 8.504335 C 68.519411 8.504335 66.614333 6.599257 66.614333 4.252139 C 66.614333 1.905021 68.519411 -0.0000566533 70.866529 -0.0000566533 C 73.213647 -0.0000566533 75.118725 1.905021 75.118725 4.252139 Z M 75.118725 4.252139 "
|
||||
transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"
|
||||
id="path33" />
|
||||
<path
|
||||
style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;"
|
||||
d="M -11.337374 -0.0000566533 L 153.074343 -0.0000566533 "
|
||||
transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"
|
||||
id="path34" />
|
||||
<path
|
||||
style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;"
|
||||
d="M -0.000792824 -56.694696 C 22.199033 -34.49487 34.494021 -22.195971 56.693847 -0.0000566533 C 61.258992 4.565088 64.411954 8.504335 70.866529 8.504335 C 82.41435 8.504335 87.664071 -0.0000566533 99.211893 -0.0000566533 C 115.794283 -0.0000566533 125.15146 -0.0000566533 141.73385 -0.0000566533 "
|
||||
transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"
|
||||
id="path35" />
|
||||
<path
|
||||
style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;"
|
||||
d="M -0.000792824 -0.0000566533 Z M -0.000792824 -0.0000566533 "
|
||||
transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"
|
||||
id="path36" />
|
||||
<path
|
||||
style="fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;"
|
||||
d="M 175.751417 -70.867378 L 175.751417 14.172625 L 221.105564 14.172625 L 221.105564 -70.867378 Z M 175.751417 -70.867378 "
|
||||
transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"
|
||||
id="path37" />
|
||||
<g
|
||||
style="fill:rgb(0%,0%,0%);fill-opacity:1;"
|
||||
id="g37">
|
||||
<use
|
||||
xlink:href="#glyph1-1"
|
||||
x="198.118286"
|
||||
y="58.971317"
|
||||
id="use37" />
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph0-2" x="28.132571" y="220.314452"/>
|
||||
<g
|
||||
style="fill:rgb(0%,0%,0%);fill-opacity:1;"
|
||||
id="g38">
|
||||
<use
|
||||
xlink:href="#glyph0-3"
|
||||
x="208.620194"
|
||||
y="58.971317"
|
||||
id="use38" />
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph2-1" x="35.95433" y="216.70464"/>
|
||||
<g
|
||||
style="fill:rgb(0%,0%,0%);fill-opacity:1;"
|
||||
id="g39">
|
||||
<use
|
||||
xlink:href="#glyph2-1"
|
||||
x="217.78003"
|
||||
y="55.361505"
|
||||
id="use39" />
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph3-1" x="42.172394" y="216.70464"/>
|
||||
<g
|
||||
style="fill:rgb(0%,0%,0%);fill-opacity:1;"
|
||||
id="g40">
|
||||
<use
|
||||
xlink:href="#glyph3-1"
|
||||
x="223.998094"
|
||||
y="55.361505"
|
||||
id="use40" />
|
||||
</g>
|
||||
<path style="fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 102.047994 -195.593238 L 102.047994 -110.553235 L 147.402141 -110.553235 L 147.402141 -195.593238 Z M 102.047994 -195.593238 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph1-1" x="132.694306" y="177.205404"/>
|
||||
<path
|
||||
style="fill-rule:nonzero;fill:rgb(100%,79.998779%,79.998779%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;"
|
||||
d="M 283.468494 -70.867378 L 283.468494 14.172625 L 328.822641 14.172625 L 328.822641 -70.867378 Z M 283.468494 -70.867378 "
|
||||
transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"
|
||||
id="path40" />
|
||||
<g
|
||||
style="fill:rgb(0%,0%,0%);fill-opacity:1;"
|
||||
id="g41">
|
||||
<use
|
||||
xlink:href="#glyph1-1"
|
||||
x="314.521005"
|
||||
y="58.321251"
|
||||
id="use41" />
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph0-3" x="143.195216" y="177.205404"/>
|
||||
<g
|
||||
style="fill:rgb(0%,0%,0%);fill-opacity:1;"
|
||||
id="g42">
|
||||
<use
|
||||
xlink:href="#glyph0-2"
|
||||
x="325.021914"
|
||||
y="58.321251"
|
||||
id="use42" />
|
||||
</g>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;" d="M -11.337374 -124.725917 L 153.074343 -124.725917 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -0.000792824 -167.247874 C 11.097164 -156.146006 17.246614 -149.996556 28.348483 -138.898599 C 41.680114 -125.566967 52.011346 -116.221525 70.866529 -116.221525 C 89.721712 -116.221525 100.052943 -125.566967 113.388486 -138.898599 C 124.486444 -149.996556 130.635893 -156.146006 141.73385 -167.247874 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
|
||||
<path style="fill-rule:nonzero;fill:rgb(100%,79.998779%,79.998779%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 175.751417 -195.593238 L 175.751417 -110.553235 L 221.105564 -110.553235 L 221.105564 -195.593238 Z M 175.751417 -195.593238 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph1-1" x="205.552602" y="182.60065"/>
|
||||
<path
|
||||
style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;"
|
||||
d="M 170.079214 -0.0000566533 L 334.490931 -0.0000566533 "
|
||||
transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"
|
||||
id="path42" />
|
||||
<path
|
||||
style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;"
|
||||
d="M 181.419707 -56.694696 C 192.517664 -45.596739 198.667114 -39.44729 209.765071 -28.345421 C 223.100614 -15.013789 233.431846 -5.668347 252.287029 -5.668347 C 271.142211 -5.668347 281.473443 -15.013789 294.805074 -28.345421 C 305.906943 -39.44729 312.056393 -45.596739 323.15435 -56.694696 "
|
||||
transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"
|
||||
id="path43" />
|
||||
<path
|
||||
style="fill-rule:nonzero;fill:rgb(100%,79.998779%,79.998779%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;"
|
||||
d="M -5.669083 -195.593238 L -5.669083 -110.553235 L 39.685064 -110.553235 L 39.685064 -195.593238 Z M -5.669083 -195.593238 "
|
||||
transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"
|
||||
id="path44" />
|
||||
<g
|
||||
style="fill:rgb(0%,0%,0%);fill-opacity:1;"
|
||||
id="g44">
|
||||
<use
|
||||
xlink:href="#glyph1-1"
|
||||
x="17.631662"
|
||||
y="220.314452"
|
||||
id="use44" />
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph4-1" x="216.053512" y="182.60065"/>
|
||||
<g
|
||||
style="fill:rgb(0%,0%,0%);fill-opacity:1;"
|
||||
id="g45">
|
||||
<use
|
||||
xlink:href="#glyph0-2"
|
||||
x="28.132571"
|
||||
y="220.314452"
|
||||
id="use45" />
|
||||
</g>
|
||||
<g
|
||||
style="fill:rgb(0%,0%,0%);fill-opacity:1;"
|
||||
id="g46">
|
||||
<use
|
||||
xlink:href="#glyph2-1"
|
||||
x="35.95433"
|
||||
y="216.70464"
|
||||
id="use46" />
|
||||
</g>
|
||||
<g
|
||||
style="fill:rgb(0%,0%,0%);fill-opacity:1;"
|
||||
id="g47">
|
||||
<use
|
||||
xlink:href="#glyph3-1"
|
||||
x="42.172394"
|
||||
y="216.70464"
|
||||
id="use47" />
|
||||
</g>
|
||||
<path
|
||||
style="fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;"
|
||||
d="M 102.047994 -195.593238 L 102.047994 -110.553235 L 147.402141 -110.553235 L 147.402141 -195.593238 Z M 102.047994 -195.593238 "
|
||||
transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"
|
||||
id="path47" />
|
||||
<g
|
||||
style="fill:rgb(0%,0%,0%);fill-opacity:1;"
|
||||
id="g48">
|
||||
<use
|
||||
xlink:href="#glyph1-1"
|
||||
x="132.694306"
|
||||
y="177.205404"
|
||||
id="use48" />
|
||||
</g>
|
||||
<g
|
||||
style="fill:rgb(0%,0%,0%);fill-opacity:1;"
|
||||
id="g49">
|
||||
<use
|
||||
xlink:href="#glyph0-3"
|
||||
x="143.195216"
|
||||
y="177.205404"
|
||||
id="use49" />
|
||||
</g>
|
||||
<path
|
||||
style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;"
|
||||
d="M -11.337374 -124.725917 L 153.074343 -124.725917 "
|
||||
transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"
|
||||
id="path49" />
|
||||
<path
|
||||
style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;"
|
||||
d="M -0.000792824 -167.247874 C 11.097164 -156.146006 17.246614 -149.996556 28.348483 -138.898599 C 41.680114 -125.566967 52.011346 -116.221525 70.866529 -116.221525 C 89.721712 -116.221525 100.052943 -125.566967 113.388486 -138.898599 C 124.486444 -149.996556 130.635893 -156.146006 141.73385 -167.247874 "
|
||||
transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"
|
||||
id="path50" />
|
||||
<path
|
||||
style="fill-rule:nonzero;fill:rgb(100%,79.998779%,79.998779%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;"
|
||||
d="M 175.751417 -195.593238 L 175.751417 -110.553235 L 221.105564 -110.553235 L 221.105564 -195.593238 Z M 175.751417 -195.593238 "
|
||||
transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"
|
||||
id="path51" />
|
||||
<g
|
||||
style="fill:rgb(0%,0%,0%);fill-opacity:1;"
|
||||
id="g51">
|
||||
<use
|
||||
xlink:href="#glyph1-1"
|
||||
x="205.552602"
|
||||
y="182.60065"
|
||||
id="use51" />
|
||||
</g>
|
||||
<g
|
||||
style="fill:rgb(0%,0%,0%);fill-opacity:1;"
|
||||
id="g52">
|
||||
<use
|
||||
xlink:href="#glyph4-1"
|
||||
x="216.053512"
|
||||
y="182.60065"
|
||||
id="use52" />
|
||||
</g>
|
||||
<path
|
||||
style="fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;"
|
||||
d="M 283.468494 -195.593238 L 283.468494 -110.553235 L 328.822641 -110.553235 L 328.822641 -195.593238 Z M 283.468494 -195.593238 "
|
||||
transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"
|
||||
id="path52" />
|
||||
<g
|
||||
style="fill:rgb(0%,0%,0%);fill-opacity:1;"
|
||||
id="g53">
|
||||
<use
|
||||
xlink:href="#glyph1-1"
|
||||
x="309.940587"
|
||||
y="182.867267"
|
||||
id="use53" />
|
||||
</g>
|
||||
<g
|
||||
style="fill:rgb(0%,0%,0%);fill-opacity:1;"
|
||||
id="g55">
|
||||
<use
|
||||
xlink:href="#glyph0-2"
|
||||
x="320.441497"
|
||||
y="182.867267"
|
||||
id="use54" />
|
||||
<use
|
||||
xlink:href="#glyph0-3"
|
||||
x="328.263848"
|
||||
y="182.867267"
|
||||
id="use55" />
|
||||
</g>
|
||||
<path
|
||||
style="fill-rule:nonzero;fill:rgb(100%,79.998779%,79.998779%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;"
|
||||
d="M 256.539224 -120.473721 C 256.539224 -118.126603 254.634147 -116.221525 252.287029 -116.221525 C 249.93991 -116.221525 248.034833 -118.126603 248.034833 -120.473721 C 248.034833 -122.820839 249.93991 -124.725917 252.287029 -124.725917 C 254.634147 -124.725917 256.539224 -122.820839 256.539224 -120.473721 Z M 256.539224 -120.473721 "
|
||||
transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"
|
||||
id="path55" />
|
||||
<path
|
||||
style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;"
|
||||
d="M 170.079214 -124.725917 L 334.490931 -124.725917 "
|
||||
transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"
|
||||
id="path56" />
|
||||
<path
|
||||
style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;"
|
||||
d="M 181.419707 -124.725917 C 198.002097 -124.725917 207.359275 -124.725917 223.937753 -124.725917 C 235.489486 -124.725917 240.739207 -116.221525 252.287029 -116.221525 C 258.741604 -116.221525 271.024855 -129.291062 266.459711 -124.725917 C 288.655625 -146.921831 300.954524 -159.22073 323.15435 -181.420556 "
|
||||
transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"
|
||||
id="path57" />
|
||||
<g
|
||||
inkscape:label=""
|
||||
transform="translate(10.008488,52.256139)"
|
||||
id="g59">
|
||||
<g
|
||||
fill="#000000"
|
||||
fill-opacity="1"
|
||||
id="g8-1-1"
|
||||
transform="translate(-165.579,-5.209)">
|
||||
<g
|
||||
id="use7-1-1"
|
||||
transform="translate(165.032,13.948)">
|
||||
<path
|
||||
d="m 7.203125,-3.328125 c 0,-0.21875 -0.0625,-0.328125 -0.140625,-0.328125 -0.046875,0 -0.140625,0.078125 -0.140625,0.265625 -0.046875,0.953125 -0.703125,1.5 -1.40625,1.5 -0.625,0 -1.09375,-0.421875 -1.59375,-0.84375 -0.5,-0.46875 -1.015625,-0.921875 -1.703125,-0.921875 -1.078125,0 -1.671875,1.09375 -1.671875,2 0,0.328125 0.125,0.328125 0.140625,0.328125 0.109375,0 0.140625,-0.203125 0.140625,-0.234375 0.046875,-1.09375 0.78125,-1.53125 1.390625,-1.53125 0.625,0 1.109375,0.421875 1.59375,0.84375 0.515625,0.46875 1.03125,0.921875 1.703125,0.921875 1.09375,0 1.6875,-1.09375 1.6875,-2 z m 0,0"
|
||||
id="path13-1-1-1" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
fill="#000000"
|
||||
fill-opacity="1"
|
||||
id="g9-1-1"
|
||||
transform="translate(-165.579,-5.209)">
|
||||
<g
|
||||
id="use8-1-1"
|
||||
transform="translate(175.55051,13.948)">
|
||||
<path
|
||||
d="m 3.296875,2.390625 c 0,-0.03125 0,-0.046875 -0.171875,-0.21875 C 1.890625,0.921875 1.5625,-0.96875 1.5625,-2.5 c 0,-1.734375 0.375,-3.46875 1.609375,-4.703125 0.125,-0.125 0.125,-0.140625 0.125,-0.171875 0,-0.078125 -0.03125,-0.109375 -0.09375,-0.109375 -0.109375,0 -1,0.6875 -1.59375,1.953125 -0.5,1.09375 -0.625,2.203125 -0.625,3.03125 0,0.78125 0.109375,1.984375 0.65625,3.125 C 2.25,1.84375 3.09375,2.5 3.203125,2.5 c 0.0625,0 0.09375,-0.03125 0.09375,-0.109375 z m 0,0"
|
||||
id="path14-1" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
fill="#000000"
|
||||
fill-opacity="1"
|
||||
id="g10"
|
||||
transform="translate(-165.579,-5.209)">
|
||||
<g
|
||||
id="use9-1-1"
|
||||
transform="translate(179.42497,13.948)">
|
||||
<path
|
||||
d="m 7.578125,-6.921875 c 0,-0.03125 -0.015625,-0.109375 -0.109375,-0.109375 -0.03125,0 -0.046875,0.015625 -0.15625,0.125 L 6.625,-6.140625 C 6.53125,-6.28125 6.078125,-7.03125 4.96875,-7.03125 2.734375,-7.03125 0.5,-4.828125 0.5,-2.515625 c 0,1.59375 1.109375,2.734375 2.71875,2.734375 0.4375,0 0.890625,-0.09375 1.25,-0.234375 0.5,-0.203125 0.6875,-0.40625 0.859375,-0.609375 0.09375,0.25 0.359375,0.609375 0.453125,0.609375 0.046875,0 0.078125,-0.03125 0.078125,-0.03125 C 5.875,-0.0625 5.96875,-0.453125 6.015625,-0.65625 l 0.1875,-0.765625 C 6.25,-1.59375 6.296875,-1.765625 6.34375,-1.9375 c 0.109375,-0.4375 0.109375,-0.46875 0.6875,-0.46875 0.046875,0 0.15625,-0.015625 0.15625,-0.203125 0,-0.078125 -0.046875,-0.109375 -0.125,-0.109375 -0.234375,0 -0.828125,0.03125 -1.046875,0.03125 -0.3125,0 -1.09375,-0.03125 -1.40625,-0.03125 -0.078125,0 -0.203125,0 -0.203125,0.203125 0,0.109375 0.078125,0.109375 0.296875,0.109375 0.015625,0 0.296875,0 0.53125,0.015625 0.265625,0.03125 0.3125,0.0625 0.3125,0.1875 0,0.09375 -0.109375,0.53125 -0.21875,0.90625 -0.28125,1.09375 -1.5625,1.203125 -1.921875,1.203125 -0.953125,0 -2,-0.5625 -2,-2.09375 0,-0.3125 0.09375,-1.953125 1.140625,-3.25 0.546875,-0.671875 1.515625,-1.28125 2.5,-1.28125 1.015625,0 1.609375,0.765625 1.609375,1.921875 0,0.40625 -0.03125,0.40625 -0.03125,0.515625 0,0.09375 0.109375,0.09375 0.140625,0.09375 0.125,0 0.125,-0.015625 0.1875,-0.203125 z m 0,0"
|
||||
id="path15-1" />
|
||||
</g>
|
||||
<g
|
||||
id="use10"
|
||||
transform="translate(187.25856,13.948)">
|
||||
<path
|
||||
d="M 5.078125,-4.03125 C 5.0625,-4.0625 5.03125,-4.140625 5.03125,-4.171875 c 0,0 0.171875,-0.140625 0.28125,-0.21875 l 1.75,-1.34375 C 8,-6.4375 8.390625,-6.46875 8.6875,-6.5 8.765625,-6.515625 8.859375,-6.515625 8.859375,-6.703125 8.859375,-6.734375 8.828125,-6.8125 8.75,-6.8125 c -0.21875,0 -0.46875,0.03125 -0.703125,0.03125 -0.359375,0 -0.75,-0.03125 -1.109375,-0.03125 -0.0625,0 -0.1875,0 -0.1875,0.203125 0,0.0625 0.046875,0.09375 0.125,0.109375 0.21875,0.015625 0.296875,0.0625 0.296875,0.203125 0,0.1875 -0.296875,0.421875 -0.359375,0.46875 L 2.9375,-2.84375 3.734375,-6.046875 C 3.8125,-6.40625 3.84375,-6.5 4.5625,-6.5 c 0.25,0 0.34375,0 0.34375,-0.203125 0,-0.078125 -0.078125,-0.109375 -0.140625,-0.109375 -0.28125,0 -1,0.03125 -1.28125,0.03125 C 3.203125,-6.78125 2.5,-6.8125 2.203125,-6.8125 2.140625,-6.8125 2,-6.8125 2,-6.625 2,-6.5 2.09375,-6.5 2.296875,-6.5 c 0.125,0 0.3125,0.015625 0.421875,0.015625 0.15625,0.03125 0.21875,0.046875 0.21875,0.171875 0,0.03125 0,0.0625 -0.03125,0.1875 L 1.5625,-0.78125 c -0.09375,0.390625 -0.109375,0.46875 -0.90625,0.46875 -0.171875,0 -0.28125,0 -0.28125,0.1875 C 0.375,0 0.5,0 0.53125,0 0.8125,0 1.515625,-0.03125 1.796875,-0.03125 2,-0.03125 2.21875,-0.015625 2.4375,-0.015625 2.65625,-0.015625 2.875,0 3.078125,0 3.15625,0 3.28125,0 3.28125,-0.203125 3.28125,-0.3125 3.1875,-0.3125 3,-0.3125 c -0.375,0 -0.640625,0 -0.640625,-0.171875 0,-0.078125 0.046875,-0.296875 0.078125,-0.4375 C 2.578125,-1.453125 2.71875,-1.96875 2.84375,-2.5 l 1.484375,-1.15625 1.15625,2.6875 c 0.125,0.265625 0.125,0.296875 0.125,0.34375 0,0.3125 -0.4375,0.3125 -0.53125,0.3125 -0.109375,0 -0.21875,0 -0.21875,0.203125 C 4.859375,0 4.984375,0 5,0 5.40625,0 5.828125,-0.03125 6.21875,-0.03125 6.4375,-0.03125 6.984375,0 7.203125,0 7.25,0 7.375,0 7.375,-0.203125 7.375,-0.3125 7.265625,-0.3125 7.171875,-0.3125 c -0.40625,0 -0.53125,-0.09375 -0.6875,-0.4375 z m 0,0"
|
||||
id="path16-1" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
fill="#000000"
|
||||
fill-opacity="1"
|
||||
id="g11"
|
||||
transform="translate(-165.579,-5.209)">
|
||||
<g
|
||||
id="use11"
|
||||
transform="translate(196.42714,13.948)">
|
||||
<path
|
||||
d="m 2.875,-2.5 c 0,-0.765625 -0.109375,-1.96875 -0.65625,-3.109375 -0.59375,-1.21875 -1.453125,-1.875 -1.546875,-1.875 -0.0625,0 -0.109375,0.046875 -0.109375,0.109375 0,0.03125 0,0.046875 0.1875,0.234375 0.984375,0.984375 1.546875,2.5625 1.546875,4.640625 0,1.71875 -0.359375,3.46875 -1.59375,4.71875 C 0.5625,2.34375 0.5625,2.359375 0.5625,2.390625 0.5625,2.453125 0.609375,2.5 0.671875,2.5 0.765625,2.5 1.671875,1.8125 2.25,0.546875 2.765625,-0.546875 2.875,-1.65625 2.875,-2.5 Z m 0,0"
|
||||
id="path17-1" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
fill="#000000"
|
||||
fill-opacity="1"
|
||||
id="g12"
|
||||
transform="translate(-165.579,-5.209)">
|
||||
<g
|
||||
id="use12"
|
||||
transform="translate(200.304,9.8339996)">
|
||||
<path
|
||||
d="m 5.1875,-1.578125 c 0.109375,0 0.28125,0 0.28125,-0.15625 0,-0.1875 -0.171875,-0.1875 -0.28125,-0.1875 H 1.03125 c -0.109375,0 -0.28125,0 -0.28125,0.171875 0,0.171875 0.15625,0.171875 0.28125,0.171875 z m 0,0"
|
||||
id="path18-1" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
fill="#000000"
|
||||
fill-opacity="1"
|
||||
id="g13-1"
|
||||
transform="translate(-165.579,-5.209)">
|
||||
<g
|
||||
id="use13"
|
||||
transform="translate(206.5309,9.8339996)">
|
||||
<path
|
||||
d="m 2.328125,-4.4375 c 0,-0.1875 0,-0.1875 -0.203125,-0.1875 -0.453125,0.4375 -1.078125,0.4375 -1.359375,0.4375 v 0.25 c 0.15625,0 0.625,0 1,-0.1875 v 3.546875 c 0,0.234375 0,0.328125 -0.6875,0.328125 H 0.8125 V 0 c 0.125,0 0.984375,-0.03125 1.234375,-0.03125 0.21875,0 1.09375,0.03125 1.25,0.03125 V -0.25 H 3.03125 c -0.703125,0 -0.703125,-0.09375 -0.703125,-0.328125 z m 0,0"
|
||||
id="path19-1" />
|
||||
</g>
|
||||
<path style="fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 283.468494 -195.593238 L 283.468494 -110.553235 L 328.822641 -110.553235 L 328.822641 -195.593238 Z M 283.468494 -195.593238 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph1-1" x="309.940587" y="182.867267"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph0-2" x="320.441497" y="182.867267"/>
|
||||
<use xlink:href="#glyph0-3" x="328.263848" y="182.867267"/>
|
||||
</g>
|
||||
<path style="fill-rule:nonzero;fill:rgb(100%,79.998779%,79.998779%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 256.539224 -120.473721 C 256.539224 -118.126603 254.634147 -116.221525 252.287029 -116.221525 C 249.93991 -116.221525 248.034833 -118.126603 248.034833 -120.473721 C 248.034833 -122.820839 249.93991 -124.725917 252.287029 -124.725917 C 254.634147 -124.725917 256.539224 -122.820839 256.539224 -120.473721 Z M 256.539224 -120.473721 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;" d="M 170.079214 -124.725917 L 334.490931 -124.725917 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 181.419707 -124.725917 C 198.002097 -124.725917 207.359275 -124.725917 223.937753 -124.725917 C 235.489486 -124.725917 240.739207 -116.221525 252.287029 -116.221525 C 258.741604 -116.221525 271.024855 -129.291062 266.459711 -124.725917 C 288.655625 -146.921831 300.954524 -159.22073 323.15435 -181.420556 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 62 KiB |
|
Before Width: | Height: | Size: 75 KiB After Width: | Height: | Size: 67 KiB |
|
Before Width: | Height: | Size: 87 KiB After Width: | Height: | Size: 74 KiB |
|
After Width: | Height: | Size: 59 KiB |
@@ -1,4 +1,11 @@
|
||||
#+TITLE: A brief and practical introduction to $\mathcal{H}_\infty$ Control
|
||||
#+hugo_section: research
|
||||
#+hugo_bundle: 2020-h-infinity-lecture
|
||||
#+export_file_name: _index
|
||||
#+hugo_custom_front_matter: :year 2020 :pubtype "lecture"
|
||||
#+hugo_custom_front_matter: :pdf "https://git.tdehaeze.xyz/tdehaeze/lecture-h-infinity/raw/branch/master/index.pdf"
|
||||
#+hugo_custom_front_matter: :video "https://www.youtube.com/watch?v=KdJsm_X8uks"
|
||||
#+hugo_custom_front_matter: :code "https://git.tdehaeze.xyz/tdehaeze/lecture-h-infinity"
|
||||
:DRAWER:
|
||||
#+STARTUP: overview
|
||||
|
||||
@@ -6,13 +13,6 @@
|
||||
#+EMAIL: dehaeze.thomas@gmail.com
|
||||
#+AUTHOR: Dehaeze Thomas
|
||||
|
||||
#+HTML_LINK_HOME: ../index.html
|
||||
#+HTML_LINK_UP: ../index.html
|
||||
|
||||
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="https://research.tdehaeze.xyz/css/style.css"/>
|
||||
#+HTML_HEAD: <script type="text/javascript" src="https://research.tdehaeze.xyz/js/script.js"></script>
|
||||
#+HTML_MATHJAX: align: center tagside: right font: TeX
|
||||
|
||||
#+BIND: org-latex-image-default-option "scale=1"
|
||||
#+BIND: org-latex-image-default-width ""
|
||||
|
||||
@@ -47,11 +47,7 @@
|
||||
#+PROPERTY: header-args:latex+ :post pdf2svg(file=*this*, ext="png")
|
||||
:END:
|
||||
|
||||
#+begin_export html
|
||||
<hr>
|
||||
<p>This document is also available as a <a href="./index.pdf">pdf</a>.</p>
|
||||
<hr>
|
||||
#+end_export
|
||||
yt:KdJsm_X8uks
|
||||
|
||||
* LaTeX Config :noexport:
|
||||
#+begin_src emacs-lisp :tangle no
|
||||
@@ -226,7 +222,10 @@ The general structure of this document is as follows:
|
||||
Such technique is presented in Section [[sec:closed-loop-shaping]]
|
||||
- Finally, complete examples of the use of $\mathcal{H}_\infty$ Control for practical problems are provided in Section [[sec:h_infinity_mixed_sensitivity]]
|
||||
|
||||
* Matlab Init :noexport:ignore:
|
||||
* Introduction to Model Based Control
|
||||
<<sec:model_based_control>>
|
||||
|
||||
** Matlab Init :noexport:ignore:
|
||||
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
||||
<<matlab-dir>>
|
||||
#+end_src
|
||||
@@ -239,9 +238,6 @@ The general structure of this document is as follows:
|
||||
addpath('matlab')
|
||||
#+end_src
|
||||
|
||||
* Introduction to Model Based Control
|
||||
<<sec:model_based_control>>
|
||||
|
||||
** Model Based Control - Methodology
|
||||
<<sec:model_based_control_methodology>>
|
||||
|
||||
@@ -617,6 +613,9 @@ The Bode plots of $G(s)$ and $G_d(s)$ are shown in Figures [[fig:bode_plot_examp
|
||||
[[file:figs/bode_plot_example_Gd.png]]
|
||||
|
||||
* Classical Open Loop Shaping
|
||||
:PROPERTIES:
|
||||
:HEADER-ARGS:matlab+: :tangle matlab/h_infinity_1_open_loop_shaping.m
|
||||
:END:
|
||||
<<sec:open_loop_shaping>>
|
||||
|
||||
** Introduction :ignore:
|
||||
@@ -627,6 +626,28 @@ Such Loop Shaping is usually performed manually with tools coming from the class
|
||||
However, the $\mathcal{H}_\infty$ synthesis can be used to automate the Loop Shaping process.
|
||||
This is presented in Section [[sec:h_infinity_open_loop_shaping]] and applied on the same example in Section [[sec:h_infinity_open_loop_shaping_example]].
|
||||
|
||||
** Matlab Init :noexport:ignore:
|
||||
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
||||
<<matlab-dir>>
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :exports none :results silent :noweb yes
|
||||
<<matlab-init>>
|
||||
#+end_src
|
||||
|
||||
Let's define the system parameters on Matlab.
|
||||
#+begin_src matlab +n
|
||||
k = 1e6; % Stiffness [N/m]
|
||||
c = 4e2; % Damping [N/(m/s)]
|
||||
m = 10; % Mass [kg]
|
||||
#+end_src
|
||||
|
||||
And now the system dynamics $G(s)$ and $G_d(s)$.
|
||||
#+begin_src matlab +n -r
|
||||
G = 1/(m*s^2 + c*s + k); % Plant
|
||||
Gd = (c*s + k)/(m*s^2 + c*s + k); % Disturbance
|
||||
#+end_src
|
||||
|
||||
** Introduction to Loop Shaping
|
||||
<<sec:open_loop_shaping_introduction>>
|
||||
|
||||
@@ -636,8 +657,9 @@ This is presented in Section [[sec:h_infinity_open_loop_shaping]] and applied on
|
||||
|
||||
#+begin_definition
|
||||
The *Loop Gain* (or Loop transfer function) $L(s)$ usually refers to as the product of the controller and the plant (see Figure [[fig:open_loop_shaping]]):
|
||||
#+name: eq:loop_gain
|
||||
\begin{equation}
|
||||
L(s) = G(s) \cdot K(s) \label{eq:loop_gain}
|
||||
L(s) = G(s) \cdot K(s)
|
||||
\end{equation}
|
||||
|
||||
Its name comes from the fact that this is actually the "gain around the loop".
|
||||
@@ -679,7 +701,7 @@ It is widely used and generally successful as many characteristics of the closed
|
||||
- *Robust stability*: $L$ small (neglected dynamics)
|
||||
|
||||
The shaping of the Loop Gain is done manually by combining several leads, lags, notches...
|
||||
This process is very much simplified by the fact that the loop gain $L(s)$ depends *linearly* on $K(s)$ eqref:eq:loop_gain.
|
||||
This process is very much simplified by the fact that the loop gain $L(s)$ depends *linearly* on $K(s)$ [[eq:loop_gain]].
|
||||
A typical wanted Loop Shape is shown in Figure [[fig:open_loop_shaping_shape]].
|
||||
Another interesting Loop shape called "Bode Step" is described in cite:lurie02_system_archit_trades_using_bode.
|
||||
|
||||
@@ -771,7 +793,7 @@ Let's say we came up with the following controller.
|
||||
|
||||
The bode plot of the Loop Gain is shown in Figure [[fig:loop_gain_manual_afm]] and we can verify that we have the wanted stability margins using the =margin= command:
|
||||
#+begin_src matlab
|
||||
[Gm, Pm, ~, Wc] = margin(G*K)
|
||||
[Gm, Pm, ~, Wc] = margin(G*K);
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :exports results :results value table replace :tangle no :post addhdr(*this*)
|
||||
@@ -966,7 +988,7 @@ Let's briefly analyze the obtained controller which bode plot is shown in Figure
|
||||
Let's finally compare the obtained stability margins of the $\mathcal{H}_\infty$ controller and of the manually developed controller in Table [[tab:open_loop_shaping_compare]].
|
||||
|
||||
#+begin_src matlab :exports none
|
||||
[Gm_2, Pm_2, ~, Wc_2] = margin(G*K)
|
||||
[Gm_2, Pm_2, ~, Wc_2] = margin(G*K);
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :exports results :results value table replace :tangle no :post addhdr(*this*)
|
||||
@@ -1275,6 +1297,9 @@ The procedure to convert a typical control architecture as the one shown in Figu
|
||||
#+end_exercice
|
||||
|
||||
* Modern Interpretation of Control Specifications
|
||||
:PROPERTIES:
|
||||
:HEADER-ARGS:matlab+: :tangle matlab/h_infinity_2_control_specifications.m
|
||||
:END:
|
||||
<<sec:modern_interpretation_specification>>
|
||||
|
||||
** Introduction :ignore:
|
||||
@@ -1300,6 +1325,28 @@ The robustness (stability margins) of the system can also be linked to the shape
|
||||
|
||||
Links between typical control specifications and shapes of the closed-loop transfer functions are summarized in Section [[sec:other_requirements]].
|
||||
|
||||
** Matlab Init :noexport:ignore:
|
||||
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
||||
<<matlab-dir>>
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :exports none :results silent :noweb yes
|
||||
<<matlab-init>>
|
||||
#+end_src
|
||||
|
||||
Let's define the system parameters on Matlab.
|
||||
#+begin_src matlab +n
|
||||
k = 1e6; % Stiffness [N/m]
|
||||
c = 4e2; % Damping [N/(m/s)]
|
||||
m = 10; % Mass [kg]
|
||||
#+end_src
|
||||
|
||||
And now the system dynamics $G(s)$ and $G_d(s)$.
|
||||
#+begin_src matlab +n -r
|
||||
G = 1/(m*s^2 + c*s + k); % Plant
|
||||
Gd = (c*s + k)/(m*s^2 + c*s + k); % Disturbance
|
||||
#+end_src
|
||||
|
||||
** Closed Loop Transfer Functions and the Gang of Four
|
||||
<<sec:closed_loop_tf>>
|
||||
|
||||
@@ -1428,22 +1475,22 @@ The comparison of the sensitivity functions shapes and their effect on the step
|
||||
wc = 2*pi*1; L_w = 8; wi = 2*pi*0.02;
|
||||
Kr = 1/((s + wi)^2) * ... % Double Integrator
|
||||
(1 + s/(wc/sqrt(L_w)))/(1 + s/(wc*sqrt(L_w))); % Lead
|
||||
Kr = Kr/abs(evalfr(Kr*G, j*wc));
|
||||
Kr = Kr/abs(evalfr(Kr*G, 1j*wc));
|
||||
|
||||
wc = 2*pi*2; L_w = 8; wi = 2*pi*0.045;
|
||||
K1 = 1/((s + wi)^2) * ... % Double Integrator
|
||||
(1 + s/(wc/sqrt(L_w)))/(1 + s/(wc*sqrt(L_w))); % Lead
|
||||
K1 = K1/abs(evalfr(K1*G, j*wc));
|
||||
K1 = K1/abs(evalfr(K1*G, 1j*wc));
|
||||
|
||||
wc = 2*pi*1; L_w = 2; wi = 2*pi*0.03;
|
||||
K2 = 1/((s + wi)^2) * ... % Double Integrator
|
||||
(1 + s/(wc/sqrt(L_w)))/(1 + s/(wc*sqrt(L_w))); % Lead
|
||||
K2 = K2/abs(evalfr(K2*G, j*wc));
|
||||
K2 = K2/abs(evalfr(K2*G, 1j*wc));
|
||||
|
||||
wc = 2*pi*1; L_w = 8; wi = 2*pi*0.2;
|
||||
K3 = 1/((s + wi)^2) * ... % Double Integrator
|
||||
(1 + s/(wc/sqrt(L_w)))/(1 + s/(wc*sqrt(L_w))); % Lead
|
||||
K3 = K3/abs(evalfr(K3*G, j*wc));
|
||||
K3 = K3/abs(evalfr(K3*G, 1j*wc));
|
||||
|
||||
|
||||
Sr = 1/(1 + Kr*G);
|
||||
@@ -1468,7 +1515,7 @@ The comparison of the sensitivity functions shapes and their effect on the step
|
||||
plot(freqs, abs(squeeze(freqresp(Sr, freqs, 'Hz'))), 'k-', 'DisplayName', '$K_r(s)$');
|
||||
hold off;
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
xlabel('Frquency [Hz]'); ylabel('Sensitivity Magnitude');
|
||||
xlabel('Frequency [Hz]'); ylabel('Sensitivity Magnitude');
|
||||
hold off;
|
||||
legend('location', 'southeast');
|
||||
ylim([1e-3, 3]);
|
||||
@@ -1644,7 +1691,7 @@ At a frequency little bit above 100Hz, the phase of the loop gain reaches -180 d
|
||||
|
||||
It is confirmed by checking the stability of the closed loop system:
|
||||
#+begin_src matlab :results value replace
|
||||
isstable(feedback(Gr,K))
|
||||
isstable(feedback(Gr,Kt))
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
@@ -1835,6 +1882,9 @@ And we now understand why setting an upper bound on the magnitude of $S$ is gene
|
||||
| Robustness | Phase/Gain margins | Module margin: $\Vert S\Vert_\infty$ small |
|
||||
|
||||
* $\mathcal{H}_\infty$ Shaping of closed-loop transfer functions
|
||||
:PROPERTIES:
|
||||
:HEADER-ARGS:matlab+: :tangle matlab/h_infinity_3_shaping_cl_tf.m
|
||||
:END:
|
||||
<<sec:closed-loop-shaping>>
|
||||
|
||||
** Introduction :ignore:
|
||||
@@ -1855,6 +1905,28 @@ Multiple closed-loop transfer functions can be shaped at the same time.
|
||||
Such synthesis is usually called *Mixed-sensitivity Loop Shaping* and is one of the most powerful tool of the robust control theory.
|
||||
Some insight on the use and limitations of such techniques are given in Section [[sec:shaping_multiple_tf]].
|
||||
|
||||
** Matlab Init :noexport:ignore:
|
||||
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
||||
<<matlab-dir>>
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :exports none :results silent :noweb yes
|
||||
<<matlab-init>>
|
||||
#+end_src
|
||||
|
||||
Let's define the system parameters on Matlab.
|
||||
#+begin_src matlab +n
|
||||
k = 1e6; % Stiffness [N/m]
|
||||
c = 4e2; % Damping [N/(m/s)]
|
||||
m = 10; % Mass [kg]
|
||||
#+end_src
|
||||
|
||||
And now the system dynamics $G(s)$ and $G_d(s)$.
|
||||
#+begin_src matlab +n -r
|
||||
G = 1/(m*s^2 + c*s + k); % Plant
|
||||
Gd = (c*s + k)/(m*s^2 + c*s + k); % Disturbance
|
||||
#+end_src
|
||||
|
||||
** How to Shape closed-loop transfer function? Using Weighting Functions!
|
||||
<<sec:weighting_functions>>
|
||||
|
||||
@@ -1904,14 +1976,15 @@ Now, the closed-loop transfer function from $w$ to $z$ is equal to $W_s(s)S(s)$
|
||||
#+end_important
|
||||
|
||||
Let's now show how this is equivalent as *shaping* the sensitivity function:
|
||||
#+name: eq:sensitivity_shaping
|
||||
\begin{align}
|
||||
& \left\| W_s(s) S(s) \right\|_\infty < 1\nonumber \\
|
||||
\Leftrightarrow & \left| W_s(j\omega) S(j\omega) \right| < 1 \quad \forall \omega\nonumber \\
|
||||
\Leftrightarrow & \left| S(j\omega) \right| < \frac{1}{\left| W_s(j\omega) \right|} \quad \forall \omega \label{eq:sensitivity_shaping}
|
||||
\Leftrightarrow & \left| S(j\omega) \right| < \frac{1}{\left| W_s(j\omega) \right|} \quad \forall \omega
|
||||
\end{align}
|
||||
|
||||
#+begin_important
|
||||
As shown in Equation eqref:eq:sensitivity_shaping, the objective of the $\mathcal{H}_\infty$ synthesis applied on the /weighted/ plant is to make the norm sensitivity function smaller than the inverse of the norm of the weighting function, and that at all frequencies.
|
||||
As shown in Equation [[eq:sensitivity_shaping]], the objective of the $\mathcal{H}_\infty$ synthesis applied on the /weighted/ plant is to make the norm sensitivity function smaller than the inverse of the norm of the weighting function, and that at all frequencies.
|
||||
|
||||
Therefore, the choice of the weighting function $W_s(s)$ is very important: its inverse magnitude will define the wanted *upper bound* of the sensitivity function magnitude over all frequencies.
|
||||
#+end_important
|
||||
@@ -2021,7 +2094,7 @@ The Matlab code below produces a weighting function with the following character
|
||||
plot(freqs, abs(squeeze(freqresp(Ws, freqs, 'Hz'))), 'k-');
|
||||
hold off;
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
xlabel('Frquency [Hz]'); ylabel('Magnitude');
|
||||
xlabel('Frequency [Hz]'); ylabel('Magnitude');
|
||||
hold off;
|
||||
#+end_src
|
||||
|
||||
@@ -2041,12 +2114,13 @@ Quite often, higher orders weights are required.
|
||||
|
||||
In such case, the following formula can be used:
|
||||
|
||||
#+name: eq:weight_formula_advanced
|
||||
\begin{equation}
|
||||
W(s) = \left( \frac{
|
||||
\frac{1}{\omega_0} \sqrt{\frac{1 - \left(\frac{G_0}{G_c}\right)^{\frac{2}{n}}}{1 - \left(\frac{G_c}{G_\infty}\right)^{\frac{2}{n}}}} s + \left(\frac{G_0}{G_c}\right)^{\frac{1}{n}}
|
||||
}{
|
||||
\left(\frac{1}{G_\infty}\right)^{\frac{1}{n}} \frac{1}{\omega_0} \sqrt{\frac{1 - \left(\frac{G_0}{G_c}\right)^{\frac{2}{n}}}{1 - \left(\frac{G_c}{G_\infty}\right)^{\frac{2}{n}}}} s + \left(\frac{1}{G_c}\right)^{\frac{1}{n}}
|
||||
}\right)^n \label{eq:weight_formula_advanced}
|
||||
}\right)^n
|
||||
\end{equation}
|
||||
|
||||
The parameters permit to specify:
|
||||
@@ -2055,7 +2129,7 @@ The parameters permit to specify:
|
||||
- the absolute gain at $\omega_0$: $G_c = |W(j\omega_0)|$
|
||||
- the absolute slope between high and low frequency: $n$
|
||||
|
||||
A Matlab function implementing Equation eqref:eq:weight_formula_advanced is shown below:
|
||||
A Matlab function implementing Equation [[eq:weight_formula_advanced]] is shown below:
|
||||
|
||||
#+begin_src matlab :tangle matlab/generateWeight.m :comments none :eval no
|
||||
function [W] = generateWeight(args)
|
||||
@@ -2103,7 +2177,7 @@ The obtained shapes are shown in Figure [[fig:high_order_weight]].
|
||||
'DisplayName', '$n = 3$');
|
||||
hold off;
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
xlabel('Frquency [Hz]'); ylabel('Magnitude');
|
||||
xlabel('Frequency [Hz]'); ylabel('Magnitude');
|
||||
legend('location', 'northeast');
|
||||
#+end_src
|
||||
|
||||
@@ -2112,7 +2186,7 @@ The obtained shapes are shown in Figure [[fig:high_order_weight]].
|
||||
#+end_src
|
||||
|
||||
#+name: fig:high_order_weight
|
||||
#+caption: Higher order weights using Equation eqref:eq:weight_formula_advanced
|
||||
#+caption: Higher order weights using Equation [[eq:weight_formula_advanced]]
|
||||
#+attr_latex: :float nil
|
||||
#+RESULTS:
|
||||
[[file:figs/high_order_weight.png]]
|
||||
@@ -2772,6 +2846,9 @@ These regions are summarized in Figure [[fig:h-infinity-4-blocs-constrains]].
|
||||
#+end_warning
|
||||
|
||||
* Mixed-Sensitivity $\mathcal{H}_\infty$ Control - Example
|
||||
:PROPERTIES:
|
||||
:HEADER-ARGS:matlab+: :tangle matlab/h_infinity_4_mixed_sensitivity_example.m
|
||||
:END:
|
||||
<<sec:h_infinity_mixed_sensitivity>>
|
||||
|
||||
** Introduction :ignore:
|
||||
@@ -2785,6 +2862,15 @@ The important step of interpreting the specifications as wanted shape of closed-
|
||||
|
||||
Finally, the shaping of closed-loop transfer functions is performed in Sections [[sec:ex_shaping_S]], [[sec:ex_shaping_GS]] and [[sec:ex_shaping_T]].
|
||||
|
||||
** Matlab Init :noexport:ignore:
|
||||
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
||||
<<matlab-dir>>
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :exports none :results silent :noweb yes
|
||||
<<matlab-init>>
|
||||
#+end_src
|
||||
|
||||
** Control Problem
|
||||
<<sec:ex_control_problem>>
|
||||
|
||||
@@ -3002,7 +3088,7 @@ The Generalized plant of Figure [[fig:ex_general_plant_sim]] is defined on Matla
|
||||
#+end_src
|
||||
|
||||
Time domain simulations will be performed by first computing the closed-loop system using the =lft= command and then using the =lsim= command on the closed-loop system:
|
||||
#+begin_src matlab +n :tangle no :exec :no
|
||||
#+begin_src matlab +n :tangle no :eval no
|
||||
% Compute the closed-Loop System, K is the controller
|
||||
P_CL = lft(Psim, K);
|
||||
|
||||
@@ -3049,7 +3135,7 @@ In such case, we want to shape $S$, $GS$ and $T$.
|
||||
To do so, we use to generalized plant shown in Figure [[fig:ex_general_plant]] for the synthesis where the three closed-loop tranfert functions from $w$ to $[z_1\,,z_2\,,z_3]$ are respectively $S$, $GS$ and $T$.
|
||||
|
||||
This generalized plant is defined on Matlab as follows:
|
||||
#+begin_src matlab +n :tangle no :exec no
|
||||
#+begin_src matlab +n
|
||||
P = [1 -1
|
||||
G -G
|
||||
0 1
|
||||
@@ -3207,7 +3293,7 @@ The $\mathcal{H}_\infty$ synthesis is performed and the obtained closed-loop tra
|
||||
freqs = logspace(-1, 3, 1000);
|
||||
|
||||
figure;
|
||||
tiledlayout(2, 2, 'TileSpacing', 'None', 'Padding', 'None');
|
||||
tiledlayout(2, 2, 'TileSpacing', 'Tight', 'Padding', 'None');
|
||||
|
||||
ax1 = nexttile;
|
||||
hold on;
|
||||
@@ -3234,6 +3320,17 @@ The $\mathcal{H}_\infty$ synthesis is performed and the obtained closed-loop tra
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
xlabel('Frequency [Hz]'); ylabel('Magnitude');
|
||||
title('T');
|
||||
|
||||
ax4 = nexttile;
|
||||
hold on;
|
||||
plot(freqs, abs(squeeze(freqresp(K1, freqs, 'Hz'))));
|
||||
hold off;
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
xlabel('Frequency [Hz]'); ylabel('Magnitude');
|
||||
title('K');
|
||||
|
||||
linkaxes([ax1, ax2, ax3, ax4], 'x')
|
||||
xlim([freqs(1), freqs(end)]);
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :tangle no :exports results :results file replace
|
||||
@@ -3262,7 +3359,7 @@ We can see:
|
||||
|
||||
#+begin_src matlab :exports none
|
||||
figure;
|
||||
tiledlayout(1, 2, 'TileSpacing', 'None', 'Padding', 'None');
|
||||
tiledlayout(1, 1, 'TileSpacing', 'None', 'Padding', 'None');
|
||||
|
||||
nexttile;
|
||||
hold on;
|
||||
@@ -3271,16 +3368,10 @@ We can see:
|
||||
hold off;
|
||||
xlabel('Time [s]'); ylabel('Output $y$ [$\mu m$]');
|
||||
legend('location', 'southeast');
|
||||
|
||||
nexttile;
|
||||
hold on;
|
||||
plot(t, u1);
|
||||
hold off;
|
||||
xlabel('Time [s]'); ylabel('Control Input $u$ [N]');
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :tangle no :exports results :results file replace
|
||||
exportFig('figs/ex_time_domain_1.pdf', 'width', 'full', 'height', 'tall');
|
||||
exportFig('figs/ex_time_domain_1.pdf', 'width', 'wide', 'height', 'tall');
|
||||
#+end_src
|
||||
|
||||
#+name: fig:ex_time_domain_1
|
||||
@@ -3317,7 +3408,7 @@ The time domain signals are shown in Figure [[fig:ex_time_domain_1b]] and it is
|
||||
freqs = logspace(-1, 3, 1000);
|
||||
|
||||
figure;
|
||||
tiledlayout(2, 2, 'TileSpacing', 'None', 'Padding', 'None');
|
||||
tiledlayout(2, 2, 'TileSpacing', 'Tight', 'Padding', 'None');
|
||||
|
||||
ax1 = nexttile;
|
||||
hold on;
|
||||
@@ -3347,6 +3438,18 @@ The time domain signals are shown in Figure [[fig:ex_time_domain_1b]] and it is
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
xlabel('Frequency [Hz]'); ylabel('Magnitude');
|
||||
title('T');
|
||||
|
||||
ax4 = nexttile;
|
||||
hold on;
|
||||
plot(freqs, abs(squeeze(freqresp(K1, freqs, 'Hz'))));
|
||||
plot(freqs, abs(squeeze(freqresp(K1b, freqs, 'Hz'))));
|
||||
hold off;
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
xlabel('Frequency [Hz]'); ylabel('Magnitude');
|
||||
title('K');
|
||||
|
||||
linkaxes([ax1, ax2, ax3, ax4], 'x')
|
||||
xlim([freqs(1), freqs(end)]);
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :tangle no :exports results :results file replace
|
||||
@@ -3368,9 +3471,7 @@ The time domain signals are shown in Figure [[fig:ex_time_domain_1b]] and it is
|
||||
|
||||
#+begin_src matlab :exports none
|
||||
figure;
|
||||
tiledlayout(1, 2, 'TileSpacing', 'None', 'Padding', 'None');
|
||||
|
||||
nexttile;
|
||||
tiledlayout(1, 1, 'TileSpacing', 'None', 'Padding', 'None');
|
||||
hold on;
|
||||
plot(t, 1e6*y1, 'DisplayName', 'Step 1');
|
||||
plot(t, 1e6*y1b, 'DisplayName', 'Step 1b');
|
||||
@@ -3378,17 +3479,10 @@ The time domain signals are shown in Figure [[fig:ex_time_domain_1b]] and it is
|
||||
hold off;
|
||||
xlabel('Time [s]'); ylabel('Output $y$ [$\mu m$]');
|
||||
legend('location', 'southeast');
|
||||
|
||||
nexttile;
|
||||
hold on;
|
||||
plot(t, u1);
|
||||
plot(t, u1b);
|
||||
hold off;
|
||||
xlabel('Time [s]'); ylabel('Control Input $u$ [N]');
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :tangle no :exports results :results file replace
|
||||
exportFig('figs/ex_time_domain_1b.pdf', 'width', 'full', 'height', 'tall');
|
||||
exportFig('figs/ex_time_domain_1b.pdf', 'width', 'wide', 'height', 'tall');
|
||||
#+end_src
|
||||
|
||||
#+name: fig:ex_time_domain_1b
|
||||
@@ -3425,7 +3519,7 @@ The $\mathcal{H}_\infty$ Synthesis is performed and the obtained closed-loop tra
|
||||
freqs = logspace(-1, 3, 1000);
|
||||
|
||||
figure;
|
||||
tiledlayout(2, 2, 'TileSpacing', 'None', 'Padding', 'None');
|
||||
tiledlayout(2, 2, 'TileSpacing', 'Tight', 'Padding', 'None');
|
||||
|
||||
ax1 = nexttile;
|
||||
hold on;
|
||||
@@ -3459,6 +3553,19 @@ The $\mathcal{H}_\infty$ Synthesis is performed and the obtained closed-loop tra
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
xlabel('Frequency [Hz]'); ylabel('Magnitude');
|
||||
title('T');
|
||||
|
||||
ax4 = nexttile;
|
||||
hold on;
|
||||
plot(freqs, abs(squeeze(freqresp(K1, freqs, 'Hz'))));
|
||||
plot(freqs, abs(squeeze(freqresp(K1b, freqs, 'Hz'))));
|
||||
plot(freqs, abs(squeeze(freqresp(K2, freqs, 'Hz'))));
|
||||
hold off;
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
xlabel('Frequency [Hz]'); ylabel('Magnitude');
|
||||
title('K');
|
||||
|
||||
linkaxes([ax1, ax2, ax3, ax4], 'x')
|
||||
xlim([freqs(1), freqs(end)]);
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :tangle no :exports results :results file replace
|
||||
@@ -3485,7 +3592,6 @@ If is shown that indeed, the disturbance rejection performance are much better a
|
||||
figure;
|
||||
tiledlayout(1, 2, 'TileSpacing', 'None', 'Padding', 'None');
|
||||
|
||||
nexttile;
|
||||
hold on;
|
||||
plot(t, 1e6*y1, 'DisplayName', 'Step 1');
|
||||
plot(t, 1e6*y1b, 'DisplayName', 'Step 1b');
|
||||
@@ -3494,14 +3600,6 @@ If is shown that indeed, the disturbance rejection performance are much better a
|
||||
hold off;
|
||||
xlabel('Time [s]'); ylabel('Output $y$ [$\mu m$]');
|
||||
legend('location', 'southeast');
|
||||
|
||||
nexttile;
|
||||
hold on;
|
||||
plot(t, u1);
|
||||
plot(t, u1b);
|
||||
plot(t, u2);
|
||||
hold off;
|
||||
xlabel('Time [s]'); ylabel('Control Input $u$ [N]');
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :tangle no :exports results :results file replace
|
||||
@@ -3566,7 +3664,7 @@ The obtained closed-loop transfer functions are shown in Figure [[fig:ex_results
|
||||
freqs = logspace(-1, 3, 1000);
|
||||
|
||||
figure;
|
||||
tiledlayout(2, 2, 'TileSpacing', 'None', 'Padding', 'None');
|
||||
tiledlayout(2, 2, 'TileSpacing', 'Tight', 'Padding', 'None');
|
||||
|
||||
ax1 = nexttile;
|
||||
hold on;
|
||||
@@ -3604,6 +3702,20 @@ The obtained closed-loop transfer functions are shown in Figure [[fig:ex_results
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
xlabel('Frequency [Hz]'); ylabel('Magnitude');
|
||||
title('T');
|
||||
|
||||
ax4 = nexttile;
|
||||
hold on;
|
||||
plot(freqs, abs(squeeze(freqresp(K1, freqs, 'Hz'))));
|
||||
plot(freqs, abs(squeeze(freqresp(K1b, freqs, 'Hz'))));
|
||||
plot(freqs, abs(squeeze(freqresp(K2, freqs, 'Hz'))));
|
||||
plot(freqs, abs(squeeze(freqresp(K3, freqs, 'Hz'))));
|
||||
hold off;
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
xlabel('Frequency [Hz]'); ylabel('Magnitude');
|
||||
title('K');
|
||||
|
||||
linkaxes([ax1, ax2, ax3, ax4], 'x')
|
||||
xlim([freqs(1), freqs(end)]);
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :tangle no :exports results :results file replace
|
||||
@@ -3630,9 +3742,7 @@ This can be seen when zooming on the output signal in Figure [[fig:ex_time_domai
|
||||
|
||||
#+begin_src matlab :exports none
|
||||
figure;
|
||||
tiledlayout(1, 2, 'TileSpacing', 'None', 'Padding', 'None');
|
||||
|
||||
nexttile;
|
||||
tiledlayout(1, 1, 'TileSpacing', 'None', 'Padding', 'None');
|
||||
hold on;
|
||||
plot(t, 1e6*y1, 'DisplayName', 'Step 1');
|
||||
plot(t, 1e6*y1b, 'DisplayName', 'Step 1b');
|
||||
@@ -3642,19 +3752,10 @@ This can be seen when zooming on the output signal in Figure [[fig:ex_time_domai
|
||||
hold off;
|
||||
xlabel('Time [s]'); ylabel('Output $y$ [$\mu m$]');
|
||||
legend('location', 'southeast');
|
||||
|
||||
nexttile;
|
||||
hold on;
|
||||
plot(t, u1);
|
||||
plot(t, u1b);
|
||||
plot(t, u2);
|
||||
plot(t, u3);
|
||||
hold off;
|
||||
xlabel('Time [s]'); ylabel('Control Input $u$ [N]');
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :tangle no :exports results :results file replace
|
||||
exportFig('figs/ex_time_domain_3.pdf', 'width', 'full', 'height', 'tall');
|
||||
exportFig('figs/ex_time_domain_3.pdf', 'width', 'wide', 'height', 'tall');
|
||||
#+end_src
|
||||
|
||||
#+name: fig:ex_time_domain_3
|
||||
@@ -3708,10 +3809,12 @@ If you want to know more about the "$\mathcal{H}_\infty$ and robust control worl
|
||||
For a complete treatment of multivariable robust control, I would highly recommend this book cite:skogestad07_multiv_feedb_contr.
|
||||
If you want to nice reference book in French, look at cite:duc99_comman_h.
|
||||
|
||||
You can also look at the very good lectures below.
|
||||
Here is a series of tech talks by Brian Douglas:
|
||||
|
||||
[[yt:?listType=playlist&list=PLn8PRpmsu08qFLMfgTEzR8DxOPE7fBiin][Robust Control - Brian Douglas]]
|
||||
yt:A7wHSr6GRnc
|
||||
|
||||
[[yt:?listType=playlist&list=PLsjPUqcL7ZIFHCObUU_9xPUImZ203gB4o][Control Bootcamp - Steve Brunton]]
|
||||
Here is a Control Bootcamp by Steve Brunton:
|
||||
|
||||
yt:Pi7l8mMjYVE
|
||||
|
||||
#+latex: \printbibliography
|
||||
@@ -0,0 +1,204 @@
|
||||
%% Clear Workspace and Close figures
|
||||
clear; close all; clc;
|
||||
|
||||
%% Intialize Laplace variable
|
||||
s = zpk('s');
|
||||
|
||||
|
||||
|
||||
% Let's define the system parameters on Matlab.
|
||||
|
||||
k = 1e6; % Stiffness [N/m]
|
||||
c = 4e2; % Damping [N/(m/s)]
|
||||
m = 10; % Mass [kg]
|
||||
|
||||
|
||||
|
||||
% And now the system dynamics $G(s)$ and $G_d(s)$.
|
||||
|
||||
G = 1/(m*s^2 + c*s + k); % Plant
|
||||
Gd = (c*s + k)/(m*s^2 + c*s + k); % Disturbance
|
||||
|
||||
|
||||
|
||||
% #+HTML: <details><summary>Hint</summary>
|
||||
% #+LATEX: \tcbsubtitle{Hint}
|
||||
% You can follow this procedure:
|
||||
% 1. In order to have good disturbance rejection at low frequency, add a simple or double *integrator*
|
||||
% 2. In terms of the loop gain, the *bandwidth* can be defined at the frequency $\omega_c$ where $|l(j\omega_c)|$ first crosses 1 from above.
|
||||
% Therefore, adjust the *gain* such that $L(j\omega)$ crosses 1 at around 10Hz
|
||||
% 3. The roll-off at high frequency for noise attenuation should already be good enough.
|
||||
% If not, add a *low pass filter*
|
||||
% 4. Add a *Lead* centered around the crossover frequency (10 Hz) and tune it such that sufficient phase margin is added.
|
||||
% Verify that the gain margin is good enough.
|
||||
% #+HTML: </details>
|
||||
% #+end_exercice
|
||||
|
||||
% Let's say we came up with the following controller.
|
||||
|
||||
K = 14e8 * ... % Gain
|
||||
1/(s^2) * ... % Double Integrator
|
||||
1/(1 + s/2/pi/40) * ... % Low Pass Filter
|
||||
(1 + s/(2*pi*10/sqrt(8)))/(1 + s/(2*pi*10*sqrt(8))); % Lead
|
||||
|
||||
|
||||
|
||||
% The bode plot of the Loop Gain is shown in Figure [[fig:loop_gain_manual_afm]] and we can verify that we have the wanted stability margins using the =margin= command:
|
||||
|
||||
[Gm, Pm, ~, Wc] = margin(G*K);
|
||||
|
||||
|
||||
|
||||
% #+RESULTS:
|
||||
% | Requirements | Manual Method |
|
||||
% |-----------------------------+---------------|
|
||||
% | Gain Margin $> 3$ [dB] | 3.1 |
|
||||
% | Phase Margin $> 30$ [deg] | 35.4 |
|
||||
% | Crossover $\approx 10$ [Hz] | 10.1 |
|
||||
|
||||
|
||||
freqs = logspace(0, 3, 1000);
|
||||
|
||||
figure;
|
||||
tiledlayout(3, 1, 'TileSpacing', 'None', 'Padding', 'None');
|
||||
|
||||
ax1 = nexttile([2,1]);
|
||||
hold on;
|
||||
plot(freqs, abs(squeeze(freqresp(G*K, freqs, 'Hz'))));
|
||||
hold off;
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
ylabel('Magnitude'); set(gca, 'XTickLabel',[]);
|
||||
hold off;
|
||||
ylim([1e-4, 1e1])
|
||||
|
||||
ax2 = nexttile;
|
||||
hold on;
|
||||
plot(freqs, 180/pi*unwrap(angle(squeeze(freqresp(G*K, freqs, 'Hz')))));
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin');
|
||||
yticks(-360:90:360); ylim([-360, 0]);
|
||||
xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
|
||||
hold off;
|
||||
|
||||
linkaxes([ax1,ax2],'x');
|
||||
xlim([freqs(1), freqs(end)]);
|
||||
|
||||
% Example of the $\mathcal{H}_\infty$ Loop Shaping Synthesis
|
||||
% <<sec:h_infinity_open_loop_shaping_example>>
|
||||
|
||||
% To apply the $\mathcal{H}_\infty$ Loop Shaping Synthesis, the wanted shape of the loop gain should be determined from the specifications.
|
||||
% This is summarized in Table [[tab:open_loop_shaping_specifications]].
|
||||
|
||||
% Such shape corresponds to the typical wanted Loop gain Shape shown in Figure [[fig:open_loop_shaping_shape]].
|
||||
|
||||
% #+name: tab:open_loop_shaping_specifications
|
||||
% #+caption: Wanted Loop Shape corresponding to each specification
|
||||
% #+attr_latex: :environment tabularx :width \linewidth :align lXX
|
||||
% | | *Specification* | *Corresponding Loop Shape* |
|
||||
% |--------------+----------------------------------------+------------------------------------------|
|
||||
% | *Dist. Rej.* | Highest possible rejection below 1Hz | Slope of -40dB/dec at low frequency |
|
||||
% | *Pos. Speed* | Bandwidth of approximately 10Hz | $L$ crosses 1 at 10Hz |
|
||||
% | *Noise Att.* | Roll-off of -40dB/decade past 30Hz | Roll-off of -40dB/decade past 30Hz |
|
||||
% | *Robustness* | $\Delta G > 3dB$, $\Delta \phi > 30^o$ | Slope of -20dB/decade near the crossover |
|
||||
|
||||
% Then, a (stable, minimum phase) transfer function $L_w(s)$ should be created that has the same gain as the wanted shape of the Loop gain.
|
||||
% For this example, a double integrator and a lead centered on 10Hz are used.
|
||||
% Then the gain is adjusted such that the $|L_w(j2 \pi 10)| = 1$.
|
||||
|
||||
% Using Matlab, we have:
|
||||
|
||||
Lw = 2.3e3 * ...
|
||||
1/(s^2) * ... % Double Integrator
|
||||
(1 + s/(2*pi*10/sqrt(3)))/(1 + s/(2*pi*10*sqrt(3))); % Lead
|
||||
|
||||
|
||||
|
||||
% The $\mathcal{H}_\infty$ open loop shaping synthesis is then performed using the =loopsyn= command:
|
||||
|
||||
[K, ~, GAM] = loopsyn(G, Lw);
|
||||
|
||||
|
||||
|
||||
% The obtained Loop Gain is shown in Figure [[fig:open_loop_shaping_hinf_L]] and matches the specified one by a factor $\gamma \approx 2$.
|
||||
|
||||
|
||||
freqs = logspace(0, 3, 1000);
|
||||
|
||||
figure;
|
||||
tiledlayout(3, 1, 'TileSpacing', 'None', 'Padding', 'None');
|
||||
|
||||
ax1 = nexttile([2,1]);
|
||||
hold on;
|
||||
plot(freqs, abs(squeeze(freqresp(G*K, freqs, 'Hz'))), 'DisplayName', '$L(s)$');
|
||||
plot(freqs, abs(squeeze(freqresp(Lw, freqs, 'Hz'))), 'k--', 'DisplayName', '$L_w(s)$');
|
||||
plot(freqs, abs(squeeze(freqresp(Lw, freqs, 'Hz')))*GAM, 'k-.', 'DisplayName', '$L_w(s) / \gamma$, $L_w(s) \cdot \gamma$');
|
||||
plot(freqs, abs(squeeze(freqresp(Lw, freqs, 'Hz')))/GAM, 'k-.', 'HandleVisibility', 'off');
|
||||
hold off;
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
ylabel('Magnitude'); set(gca, 'XTickLabel',[]);
|
||||
hold off;
|
||||
legend('location', 'northeast');
|
||||
ylim([1e-4, 1e2]);
|
||||
|
||||
ax2 = nexttile;
|
||||
hold on;
|
||||
plot(freqs, 180/pi*unwrap(angle(squeeze(freqresp(G*K, freqs, 'Hz')))));
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin');
|
||||
yticks(-360:90:360); ylim([-360, 0]);
|
||||
xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
|
||||
hold off;
|
||||
|
||||
linkaxes([ax1,ax2],'x');
|
||||
xlim([freqs(1), freqs(end)]);
|
||||
|
||||
|
||||
|
||||
% #+name: fig:open_loop_shaping_hinf_L
|
||||
% #+caption: Obtained Open Loop Gain $L(s) = G(s) K(s)$ and comparison with the wanted Loop gain $L_w$
|
||||
% #+RESULTS:
|
||||
% [[file:figs/open_loop_shaping_hinf_L.png]]
|
||||
|
||||
|
||||
% #+begin_important
|
||||
% When using the $\mathcal{H}_\infty$ Synthesis, it is usually recommended to analyze the obtained controller.
|
||||
|
||||
% This is usually done by breaking down the controller into simple elements such as low pass filters, high pass filters, notches, leads, etc.
|
||||
% #+end_important
|
||||
|
||||
% Let's briefly analyze the obtained controller which bode plot is shown in Figure [[fig:open_loop_shaping_hinf_K]]:
|
||||
% - two integrators are used at low frequency to have the wanted low frequency high gain
|
||||
% - a lead is added centered with the crossover frequency to increase the phase margin
|
||||
% - a notch is added at the resonance of the plant to increase the gain margin (this is very typical of $\mathcal{H}_\infty$ controllers, and can be an issue, more info on that latter)
|
||||
|
||||
|
||||
freqs = logspace(0, 3, 1000);
|
||||
|
||||
figure;
|
||||
tiledlayout(3, 1, 'TileSpacing', 'None', 'Padding', 'None');
|
||||
|
||||
ax1 = nexttile([2,1]);
|
||||
plot(freqs, abs(squeeze(freqresp(K, freqs, 'Hz'))));
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
ylabel('Magnitude'); set(gca, 'XTickLabel',[]);
|
||||
hold off;
|
||||
|
||||
ax2 = nexttile;
|
||||
plot(freqs, 180/pi*angle(squeeze(freqresp(K, freqs, 'Hz'))));
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin');
|
||||
yticks(-360:90:360); ylim([-180, 90]);
|
||||
xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
|
||||
|
||||
linkaxes([ax1,ax2],'x');
|
||||
xlim([freqs(1), freqs(end)]);
|
||||
|
||||
|
||||
|
||||
% #+name: fig:open_loop_shaping_hinf_K
|
||||
% #+caption: Obtained controller $K$ using the open-loop $\mathcal{H}_\infty$ shaping
|
||||
% #+RESULTS:
|
||||
% [[file:figs/open_loop_shaping_hinf_K.png]]
|
||||
|
||||
|
||||
% Let's finally compare the obtained stability margins of the $\mathcal{H}_\infty$ controller and of the manually developed controller in Table [[tab:open_loop_shaping_compare]].
|
||||
|
||||
|
||||
[Gm_2, Pm_2, ~, Wc_2] = margin(G*K);
|
||||
@@ -0,0 +1,308 @@
|
||||
%% Clear Workspace and Close figures
|
||||
clear; close all; clc;
|
||||
|
||||
%% Intialize Laplace variable
|
||||
s = zpk('s');
|
||||
|
||||
|
||||
|
||||
% Let's define the system parameters on Matlab.
|
||||
|
||||
k = 1e6; % Stiffness [N/m]
|
||||
c = 4e2; % Damping [N/(m/s)]
|
||||
m = 10; % Mass [kg]
|
||||
|
||||
|
||||
|
||||
% And now the system dynamics $G(s)$ and $G_d(s)$.
|
||||
|
||||
G = 1/(m*s^2 + c*s + k); % Plant
|
||||
Gd = (c*s + k)/(m*s^2 + c*s + k); % Disturbance
|
||||
|
||||
% The Sensitivity Function
|
||||
% <<sec:sensitivity_transfer_functions>>
|
||||
|
||||
% The sensitivity function is indisputably the most important closed-loop transfer function of a feedback system.
|
||||
% In this section, we will see how the shape of the sensitivity function will impact the performances of the closed-loop system.
|
||||
|
||||
|
||||
% Suppose we have developed a "/reference/" controller $K_r(s)$ and made three small changes to obtained three controllers $K_1(s)$, $K_2(s)$ and $K_3(s)$.
|
||||
% The obtained sensitivity functions for these four controllers are shown in Figure [[fig:sensitivity_shape_effect]] and the corresponding step responses are shown in Figure [[fig:sensitivity_shape_effect_step]].
|
||||
|
||||
% The comparison of the sensitivity functions shapes and their effect on the step response is summarized in Table [[tab:compare_sensitivity_shapes]].
|
||||
|
||||
% #+name: tab:compare_sensitivity_shapes
|
||||
% #+caption: Comparison of the sensitivity function shape and the corresponding step response for the three controller variations
|
||||
% #+attr_latex: :environment tabularx :width 0.9\linewidth :align lXX
|
||||
% | *Controller* | *Sensitivity Function Shape* | *Change of the Step Response* |
|
||||
% |--------------+----------------------------------------------------+----------------------------------|
|
||||
% | $K_1(s)$ | Larger bandwidth $\omega_b$ | Faster rise time |
|
||||
% | $K_2(s)$ | Larger peak value $\Vert S\Vert_\infty$ | Large overshoot and oscillations |
|
||||
% | $K_3(s)$ | Larger low frequency gain $\vert S(j\cdot 0)\vert$ | Larger static error |
|
||||
|
||||
|
||||
wc = 2*pi*1; L_w = 8; wi = 2*pi*0.02;
|
||||
Kr = 1/((s + wi)^2) * ... % Double Integrator
|
||||
(1 + s/(wc/sqrt(L_w)))/(1 + s/(wc*sqrt(L_w))); % Lead
|
||||
Kr = Kr/abs(evalfr(Kr*G, 1j*wc));
|
||||
|
||||
wc = 2*pi*2; L_w = 8; wi = 2*pi*0.045;
|
||||
K1 = 1/((s + wi)^2) * ... % Double Integrator
|
||||
(1 + s/(wc/sqrt(L_w)))/(1 + s/(wc*sqrt(L_w))); % Lead
|
||||
K1 = K1/abs(evalfr(K1*G, 1j*wc));
|
||||
|
||||
wc = 2*pi*1; L_w = 2; wi = 2*pi*0.03;
|
||||
K2 = 1/((s + wi)^2) * ... % Double Integrator
|
||||
(1 + s/(wc/sqrt(L_w)))/(1 + s/(wc*sqrt(L_w))); % Lead
|
||||
K2 = K2/abs(evalfr(K2*G, 1j*wc));
|
||||
|
||||
wc = 2*pi*1; L_w = 8; wi = 2*pi*0.2;
|
||||
K3 = 1/((s + wi)^2) * ... % Double Integrator
|
||||
(1 + s/(wc/sqrt(L_w)))/(1 + s/(wc*sqrt(L_w))); % Lead
|
||||
K3 = K3/abs(evalfr(K3*G, 1j*wc));
|
||||
|
||||
|
||||
Sr = 1/(1 + Kr*G);
|
||||
S1 = 1/(1 + K1*G);
|
||||
S2 = 1/(1 + K2*G);
|
||||
S3 = 1/(1 + K3*G);
|
||||
|
||||
Tr = Kr*G/(1 + Kr*G);
|
||||
T1 = K1*G/(1 + K1*G);
|
||||
T2 = K2*G/(1 + K2*G);
|
||||
T3 = K3*G/(1 + K3*G);
|
||||
|
||||
freqs = logspace(-2, 2, 1000);
|
||||
|
||||
figure;
|
||||
hold on;
|
||||
plot(freqs, abs(squeeze(freqresp(S1, freqs, 'Hz'))), 'DisplayName', '$K_1(s)$');
|
||||
plot(freqs, abs(squeeze(freqresp(S2, freqs, 'Hz'))), 'DisplayName', '$K_2(s)$');
|
||||
plot(freqs, abs(squeeze(freqresp(S3, freqs, 'Hz'))), 'DisplayName', '$K_3(s)$');
|
||||
plot(freqs, abs(squeeze(freqresp(Sr, freqs, 'Hz'))), 'k-', 'DisplayName', '$K_r(s)$');
|
||||
hold off;
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
xlabel('Frequency [Hz]'); ylabel('Sensitivity Magnitude');
|
||||
hold off;
|
||||
legend('location', 'southeast');
|
||||
ylim([1e-3, 3]);
|
||||
|
||||
|
||||
|
||||
% #+name: fig:sensitivity_shape_effect
|
||||
% #+caption: Sensitivity function magnitude $|S(j\omega)|$ corresponding to the reference controller $K_r(s)$ and the three modified controllers $K_i(s)$
|
||||
% #+RESULTS:
|
||||
% [[file:figs/sensitivity_shape_effect.png]]
|
||||
|
||||
|
||||
t = linspace(0, 5, 1000);
|
||||
|
||||
figure;
|
||||
hold on;
|
||||
plot(t, step(T1, t), 'DisplayName', '$K_1(s)$')
|
||||
plot(t, step(T2, t), 'DisplayName', '$K_2(s)$')
|
||||
plot(t, step(T3, t), 'DisplayName', '$K_3(s)$')
|
||||
plot(t, step(Tr, t), 'k-', 'DisplayName', '$K_r(s)$')
|
||||
hold off
|
||||
xlabel('Time [s]'); ylabel('Step Response');
|
||||
legend('location', 'northeast');
|
||||
ylim([0, 1.7])
|
||||
|
||||
% Robustness: Module Margin
|
||||
% <<sec:module_margin>>
|
||||
|
||||
% Let's start this section by an example demonstrating why the phase and gain margins might not be good indicators of robustness.
|
||||
% Will follow a discussion about the module margin, a robustness indicator that can be linked to the $\mathcal{H}_\infty$ norm of $S$ and that will prove to be very useful.
|
||||
|
||||
% #+begin_exampl
|
||||
% Consider the following plant $G_t(s)$:
|
||||
|
||||
w0 = 2*pi*100;
|
||||
xi = 0.1;
|
||||
k = 1e7;
|
||||
|
||||
Gt = 1/k*(s/w0/4 + 1)/(s^2/w0^2 + 2*xi*s/w0 + 1);
|
||||
|
||||
|
||||
|
||||
% Let's say we have designed a controller $K_t(s)$ that gives the loop gain shown in Figure [[fig:phase_gain_margin_model_plant]].
|
||||
|
||||
|
||||
Kt = 1.2e6*(s + w0)/s;
|
||||
|
||||
|
||||
|
||||
% The following characteristics can be determined from the Loop gain in Figure [[fig:phase_gain_margin_model_plant]]:
|
||||
% - Control bandwidth of $\approx 10\, \text{Hz}$
|
||||
% - Infinite gain margin (the phase of the loop-gain never reaches $-180^o$)
|
||||
% - More than $90^o$ of phase margin
|
||||
|
||||
% This clearly indicate very good robustness of the closed-loop system!
|
||||
% Or does it? Let's find out.
|
||||
|
||||
|
||||
freqs = logspace(0, 3, 1000);
|
||||
|
||||
figure;
|
||||
tiledlayout(3, 1, 'TileSpacing', 'None', 'Padding', 'None');
|
||||
|
||||
ax1 = nexttile([2,1]);
|
||||
hold on;
|
||||
plot(freqs, abs(squeeze(freqresp(Gt*Kt, freqs, 'Hz'))), 'DisplayName', '$L(s)$');
|
||||
hold off;
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
ylabel('Magnitude'); set(gca, 'XTickLabel',[]);
|
||||
hold off;
|
||||
legend('location', 'northeast');
|
||||
|
||||
ax2 = nexttile;
|
||||
hold on;
|
||||
plot(freqs, 180/pi*unwrap(angle(squeeze(freqresp(Gt*Kt, freqs, 'Hz')))));
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin');
|
||||
yticks(-360:90:360); ylim([-200, 0]);
|
||||
xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
|
||||
hold off;
|
||||
|
||||
linkaxes([ax1,ax2],'x');
|
||||
xlim([freqs(1), freqs(end)]);
|
||||
|
||||
|
||||
|
||||
% #+name: fig:phase_gain_margin_model_plant
|
||||
% #+caption: Bode plot of the obtained Loop Gain $L(s)$
|
||||
% #+attr_latex: :float nil
|
||||
% #+RESULTS:
|
||||
% [[file:figs/phase_gain_margin_model_plant.png]]
|
||||
|
||||
% Now let's suppose the controller is implemented in practice, and the "real" plant $G_r(s)$ as a slightly lower damping factor than the one estimated for the model:
|
||||
|
||||
xi = 0.03;
|
||||
|
||||
Gr = 1/k*(s/w0/4 + 1)/(s^2/w0^2 + 2*xi*s/w0 + 1);
|
||||
|
||||
|
||||
|
||||
% The obtained "real" loop gain is shown in Figure [[fig:phase_gain_margin_real_plant]].
|
||||
% At a frequency little bit above 100Hz, the phase of the loop gain reaches -180 degrees while its magnitude is more than one which indicates instability.
|
||||
|
||||
% It is confirmed by checking the stability of the closed loop system:
|
||||
|
||||
isstable(feedback(Gr,Kt))
|
||||
|
||||
|
||||
|
||||
% #+RESULTS:
|
||||
% : 0
|
||||
|
||||
|
||||
freqs = logspace(0, 3, 1000);
|
||||
|
||||
figure;
|
||||
tiledlayout(3, 1, 'TileSpacing', 'None', 'Padding', 'None');
|
||||
|
||||
ax1 = nexttile([2,1]);
|
||||
hold on;
|
||||
plot(freqs, abs(squeeze(freqresp(Gt*Kt, freqs, 'Hz'))), 'DisplayName', '$L(s)$');
|
||||
plot(freqs, abs(squeeze(freqresp(Gr*Kt, freqs, 'Hz'))), 'DisplayName', '$L_r(s)$');
|
||||
hold off;
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
ylabel('Magnitude'); set(gca, 'XTickLabel',[]);
|
||||
hold off;
|
||||
legend('location', 'northeast');
|
||||
|
||||
ax2 = nexttile;
|
||||
hold on;
|
||||
plot(freqs, 180/pi*unwrap(angle(squeeze(freqresp(Gt*Kt, freqs, 'Hz')))));
|
||||
plot(freqs, 180/pi*unwrap(angle(squeeze(freqresp(Gr*Kt, freqs, 'Hz')))));
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin');
|
||||
yticks(-360:90:360); ylim([-200, 0]);
|
||||
xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
|
||||
hold off;
|
||||
|
||||
linkaxes([ax1,ax2],'x');
|
||||
xlim([freqs(1), freqs(end)]);
|
||||
|
||||
|
||||
|
||||
% #+name: fig:phase_gain_margin_real_plant
|
||||
% #+caption: Bode plots of $L(s)$ (loop gain corresponding the nominal plant) and $L_r(s)$ (loop gain corresponding to the real plant)
|
||||
% #+attr_latex: :float nil
|
||||
% #+RESULTS:
|
||||
% [[file:figs/phase_gain_margin_real_plant.png]]
|
||||
|
||||
% Therefore, even a small change of the plant parameter renders the system unstable even though both the gain margin and the phase margin for the nominal plant are excellent.
|
||||
|
||||
% This is due to the fact that the gain and phase margin are robustness indicators corresponding a *pure* change or gain or a *pure* change of phase but not a combination of both.
|
||||
% #+end_exampl
|
||||
|
||||
% Let's now determine a new robustness indicator based on the Nyquist Stability Criteria.
|
||||
|
||||
% #+begin_definition
|
||||
% - Nyquist Stability Criteria (for stable systems) ::
|
||||
% If the open-loop transfer function $L(s)$ is stable, then the closed-loop system will be unstable for any encirclement of the point $-1$ on the Nyquist plot.
|
||||
|
||||
% - Nyquist Plot ::
|
||||
% The Nyquist plot shows the evolution of $L(j\omega)$ in the complex plane from $\omega = 0 \to \infty$.
|
||||
% #+end_definition
|
||||
|
||||
% #+begin_seealso
|
||||
% For more information about the /general/ Nyquist Stability Criteria, you may want to look at [[https://www.youtube.com/watch?v=sof3meN96MA][this]] video.
|
||||
% #+end_seealso
|
||||
|
||||
% From the Nyquist stability criteria, it is clear that we want $L(j\omega)$ to be as far as possible from the $-1$ point (called the /unstable point/) in the complex plane.
|
||||
% This minimum distance is called the *module margin*.
|
||||
|
||||
% #+begin_definition
|
||||
% - Module Margin ::
|
||||
% The Module Margin $\Delta M$ is defined as the *minimum distance* between the point $-1$ and the loop gain $L(j\omega)$ in the complex plane.
|
||||
% #+end_definition
|
||||
|
||||
% #+begin_exampl
|
||||
% A typical Nyquist plot is shown in Figure [[fig:module_margin_example]].
|
||||
% The gain, phase and module margins are graphically shown to have an idea of what they represent.
|
||||
|
||||
|
||||
% Example Plant
|
||||
k = 1e6; % Stiffness [N/m]
|
||||
c = 4e2; % Damping [N/(m/s)]
|
||||
m = 10; % Mass [kg]
|
||||
G = 1/(m*s^2 + c*s + k); % Plant
|
||||
|
||||
% Example Controller
|
||||
K = 14e8 * ... % Gain
|
||||
1/(s^2) * ... % Double Integrator
|
||||
(1 + s/(2*pi*10/sqrt(8)))/(1 + s/(2*pi*10*sqrt(8))); % Lead
|
||||
|
||||
L = G*K;
|
||||
L_resp = squeeze(freqresp(L, freqs, 'Hz'));
|
||||
|
||||
% Module Margin
|
||||
Dm = min(abs(1 + L_resp));
|
||||
|
||||
% Phase Gain Margin
|
||||
[Gm, Pm, Wcg, Wcp] = margin(L);
|
||||
|
||||
freqs = logspace(0, 3, 1000);
|
||||
figure;
|
||||
hold on;
|
||||
% Gain Margin
|
||||
plot([-1, -1/Gm], [0, 0], '-', 'DisplayName', sprintf('$\\Delta G = %.1f$', Gm))
|
||||
|
||||
% Phase Margin
|
||||
theta = -pi:0.01:-pi+Pm*pi/180;
|
||||
plot(cos(theta), sin(theta), '-', 'DisplayName', sprintf('$\\Delta \\phi = %.1f^o$', Pm));
|
||||
|
||||
% Module Margin
|
||||
theta = 0 : 0.01 : 2*pi;
|
||||
plot(Dm*cos(theta)-1, Dm*sin(theta), '-', 'DisplayName', sprintf('$\\Delta M = %.1f$', Dm));
|
||||
|
||||
% Nyquist Plot
|
||||
plot(real(L_resp), imag(L_resp), 'k-', 'DisplayName', '$L(j\omega)$')
|
||||
|
||||
plot(-1, 0, 'k*', 'HandleVisibility', 'off');
|
||||
|
||||
hold off;
|
||||
xlabel('Real Axis'); ylabel('Imaginary Axis');
|
||||
xlim([-1.5, 0.5]); ylim([-1, 1]);
|
||||
axis equal;
|
||||
legend('location', 'southeast');
|
||||
@@ -0,0 +1,138 @@
|
||||
%% Clear Workspace and Close figures
|
||||
clear; close all; clc;
|
||||
|
||||
%% Intialize Laplace variable
|
||||
s = zpk('s');
|
||||
|
||||
|
||||
|
||||
% Let's define the system parameters on Matlab.
|
||||
|
||||
k = 1e6; % Stiffness [N/m]
|
||||
c = 4e2; % Damping [N/(m/s)]
|
||||
m = 10; % Mass [kg]
|
||||
|
||||
|
||||
|
||||
% And now the system dynamics $G(s)$ and $G_d(s)$.
|
||||
|
||||
G = 1/(m*s^2 + c*s + k); % Plant
|
||||
Gd = (c*s + k)/(m*s^2 + c*s + k); % Disturbance
|
||||
|
||||
|
||||
% with:
|
||||
% - =dcgain=: low frequency gain
|
||||
% - =[freq,mag]=: frequency =freq= at which the gain is =mag=
|
||||
% - =hfgain=: high frequency gain
|
||||
|
||||
% #+begin_exampl
|
||||
% The Matlab code below produces a weighting function with the following characteristics (Figure [[fig:first_order_weight]]):
|
||||
% - Low frequency gain of 100
|
||||
% - Gain of 1 at 10Hz
|
||||
% - High frequency gain of 0.5
|
||||
|
||||
|
||||
Ws = makeweight(1e2, [2*pi*10, 1], 1/2);
|
||||
|
||||
freqs = logspace(-2, 2, 1000);
|
||||
|
||||
figure;
|
||||
hold on;
|
||||
plot(freqs, abs(squeeze(freqresp(Ws, freqs, 'Hz'))), 'k-');
|
||||
hold off;
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
xlabel('Frequency [Hz]'); ylabel('Magnitude');
|
||||
hold off;
|
||||
|
||||
|
||||
|
||||
% Let's use this function to generate three weights with the same high and low frequency gains, but but different slopes.
|
||||
|
||||
|
||||
W1 = generateWeight('G0', 1e2, 'G1', 1/2, 'Gc', 1, 'wc', 2*pi*10, 'n', 1);
|
||||
W2 = generateWeight('G0', 1e2, 'G1', 1/2, 'Gc', 1, 'wc', 2*pi*10, 'n', 2);
|
||||
W3 = generateWeight('G0', 1e2, 'G1', 1/2, 'Gc', 1, 'wc', 2*pi*10, 'n', 3);
|
||||
|
||||
|
||||
|
||||
% The obtained shapes are shown in Figure [[fig:high_order_weight]].
|
||||
|
||||
|
||||
freqs = logspace(-2, 2, 1000);
|
||||
|
||||
figure;
|
||||
hold on;
|
||||
plot(freqs, abs(squeeze(freqresp(W1, freqs, 'Hz'))), ...
|
||||
'DisplayName', '$n = 1$');
|
||||
plot(freqs, abs(squeeze(freqresp(W2, freqs, 'Hz'))), ...
|
||||
'DisplayName', '$n = 2$');
|
||||
plot(freqs, abs(squeeze(freqresp(W3, freqs, 'Hz'))), ...
|
||||
'DisplayName', '$n = 3$');
|
||||
hold off;
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
xlabel('Frequency [Hz]'); ylabel('Magnitude');
|
||||
legend('location', 'northeast');
|
||||
|
||||
|
||||
% #+HTML: </details>
|
||||
% #+end_exercice
|
||||
|
||||
% Let's say we came up with the following weighting function:
|
||||
|
||||
Ws = generateWeight('G0', 1e3, ...
|
||||
'G1', 1/2, ...
|
||||
'Gc', sqrt(2), 'wc', 2*pi*10, ...
|
||||
'n', 2);
|
||||
|
||||
|
||||
|
||||
% The weighting function is then added to the generalized plant.
|
||||
|
||||
P = [1 -G;
|
||||
1 -G];
|
||||
Pw = blkdiag(Ws, 1)*P;
|
||||
|
||||
|
||||
|
||||
% And the $\mathcal{H}_\infty$ synthesis is performed on the /weighted/ generalized plant.
|
||||
|
||||
K = hinfsyn(Pw, 1, 1, 'Display', 'on');
|
||||
|
||||
|
||||
|
||||
% #+RESULTS:
|
||||
% #+begin_example
|
||||
% Test bounds: 0.5 <= gamma <= 0.51
|
||||
|
||||
% gamma X>=0 Y>=0 rho(XY)<1 p/f
|
||||
% 5.05e-01 0.0e+00 0.0e+00 3.000e-16 p
|
||||
% Limiting gains...
|
||||
% 5.05e-01 0.0e+00 0.0e+00 3.461e-16 p
|
||||
% 5.05e-01 -3.5e+01 # -4.9e-14 1.732e-26 f
|
||||
|
||||
% Best performance (actual): 0.503
|
||||
% #+end_example
|
||||
|
||||
% $\gamma \approx 0.5$ means that the $\mathcal{H}_\infty$ synthesis generated a controller $K(s)$ that stabilizes the closed-loop system, and such that the $\mathcal{H}_\infty$ norm of the closed-loop transfer function from $w$ to $z$ is less than $\gamma$:
|
||||
% \begin{align*}
|
||||
% & \| W_s(s) S(s) \|_\infty \approx 0.5 \\
|
||||
% & \Leftrightarrow |S(j\omega)| < \frac{0.5}{|W_s(j\omega)|} \quad \forall \omega
|
||||
% \end{align*}
|
||||
|
||||
% This is indeed what we can see by comparing $|S|$ and $|W_S|$ in Figure [[fig:results_sensitivity_hinf]].
|
||||
|
||||
% #+begin_important
|
||||
% Obtaining $\gamma < 1$ means that the $\mathcal{H}_\infty$ synthesis found a controller such that the specified closed-loop transfer functions are bellow the specified upper bounds.
|
||||
|
||||
% Yet, obtaining a $\gamma$ slightly above one does not necessary means the synthesis is unsuccessful.
|
||||
% It just means that at some frequency, one of the closed-loop transfer functions is above the specified upper bound by a factor $\gamma$.
|
||||
% #+end_important
|
||||
|
||||
|
||||
figure;
|
||||
hold on;
|
||||
plot(freqs, 1./abs(squeeze(freqresp(Ws, freqs, 'Hz'))), 'k--', 'DisplayName', '$|W_s|^{-1}$');
|
||||
plot(freqs, abs(squeeze(freqresp(1/(1 + K*G), freqs, 'Hz'))), 'k-', 'DisplayName', '$|S|$');
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
xlabel('Frequency [Hz]'); ylabel('Magnitude');
|
||||
legend('location', 'southeast', 'FontSize', 8);
|
||||
@@ -0,0 +1,605 @@
|
||||
%% Clear Workspace and Close figures
|
||||
clear; close all; clc;
|
||||
|
||||
%% Intialize Laplace variable
|
||||
s = zpk('s');
|
||||
|
||||
|
||||
|
||||
% #+name: fig:classical_feedback_test_system_bis
|
||||
% #+caption: Block diagram corresponding to the example system
|
||||
% #+RESULTS:
|
||||
% [[file:figs/ex_test_system_feedback.png]]
|
||||
|
||||
% The two transfer functions present in the system are derived and defined below:
|
||||
|
||||
k = 1e6; % Stiffness [N/m]
|
||||
c = 4e2; % Damping [N/(m/s)]
|
||||
m = 10; % Mass [kg]
|
||||
|
||||
% Control Plant
|
||||
G = 1/(m*s^2 + c*s + k);
|
||||
% Disturbance dynamics
|
||||
Gd = (c*s + k)/(m*s^2 + c*s + k);
|
||||
|
||||
|
||||
|
||||
% We also define the inputs signals that will be used for time domain simulations.
|
||||
% They are graphically shown in Figure [[fig:ex_inputs_signals]].
|
||||
|
||||
% Time Vector
|
||||
t = 0:1e-4:0.5;
|
||||
|
||||
% Reference Input
|
||||
r = zeros(size(t));
|
||||
r(t>0.05 & t<=0.25) = 1e-4*(t(t>0.05 & t<=0.25)-0.05);
|
||||
r(t>0.25) = 2e-5;
|
||||
|
||||
% Measurement Noise
|
||||
Fs = 1e3; % Sampling Frequency [Hz]
|
||||
Ts = 1/Fs; % Sampling Time [s]
|
||||
n = sqrt(Fs/2)*randn(1, length(t)); % Signal with an ASD equal to one
|
||||
n = lsim(1e-6*(s + 2*pi*1e2)^2/(s + 2*pi*1e3)^2/(1+s/2/pi/500), n, t)'; % Shaped noise
|
||||
|
||||
% Disturbance
|
||||
d = zeros(size(t));
|
||||
d(t>0.3) = 5e-6;
|
||||
|
||||
figure;
|
||||
tiledlayout(2, 2, 'TileSpacing', 'None', 'Padding', 'None');
|
||||
|
||||
nexttile;
|
||||
plot(t, 1e6*r, 'k-')
|
||||
xlabel('Time [s]');
|
||||
ylabel('Reference Signal $[\mu m]$');
|
||||
|
||||
nexttile;
|
||||
plot(t, 1e6*n, 'k-')
|
||||
xlabel('Time [s]');
|
||||
ylabel('Measurement Noise $[\mu m]$');
|
||||
|
||||
nexttile;
|
||||
plot(t, 1e6*d, 'k-')
|
||||
xlabel('Time [s]');
|
||||
ylabel('Disturbance Motion $[\mu m]$');
|
||||
|
||||
|
||||
|
||||
% #+name: fig:ex_general_plant_sim
|
||||
% #+caption: Generalized plant that will be used for simulations
|
||||
% #+RESULTS:
|
||||
% [[file:figs/ex_general_plant_sim.png]]
|
||||
|
||||
% The Generalized plant of Figure [[fig:ex_general_plant_sim]] is defined on Matlab as follows:
|
||||
|
||||
Psim = [0 0 Gd G
|
||||
0 0 0 1
|
||||
1 -1 -Gd -G];
|
||||
|
||||
Psim.InputName = {'r', 'n', 'd', 'u'};
|
||||
Psim.OutputName = {'y', 'u', 'e'};
|
||||
|
||||
% Modern Interpretation of control specifications
|
||||
% <<sec:ex_specification_interpretation>>
|
||||
|
||||
% #+begin_exercice
|
||||
% 1. Translate the control specifications into wanted shape of closed-loop transfer functions
|
||||
% 2. Conclude and the closed-loop transfer functions to be shaped
|
||||
% 3. Chose a general configuration architecture that allows to shape these transfer function
|
||||
% 4. Using Matlab, define the generalized plant
|
||||
|
||||
% #+HTML: <details><summary>Hint</summary>
|
||||
% #+LATEX: \tcbsubtitle{Hint}
|
||||
% 1. Make use of Table [[tab:usual_shaping_gang_four]]
|
||||
% 2. Make use of Table [[tab:usual_shaping_gang_four]]
|
||||
% 3. See Section [[sec:shaping_multiple_tf]]
|
||||
% 4. See Section [[sec:shaping_multiple_tf]]
|
||||
% #+HTML: </details>
|
||||
% #+end_exercice
|
||||
|
||||
% After converting the control specifications into wanted shape of closed-loop transfer functions, we might come up with the Table [[tab:ex_specification_shapes]].
|
||||
|
||||
% In such case, we want to shape $S$, $GS$ and $T$.
|
||||
|
||||
% #+name: tab:ex_specification_shapes
|
||||
% #+caption: Control Specifications and associated wanted shape of the closed-loop transfer functions
|
||||
% #+attr_latex: :environment tabularx :width 0.7\linewidth :align llX
|
||||
% | <l> | <c> | <l> |
|
||||
% | *Specification* | *TF* | *Wanted Shape* |
|
||||
% |--------------------------+-----------+------------------------------------|
|
||||
% | Follow Step Reference | $S$ | +40dB of slope at low frequency |
|
||||
% | Reject Disturbances | $S$, $GS$ | Small gain |
|
||||
% | Reject measurement noise | $T$ | Small high frequency (>100Hz) gain |
|
||||
% | Robust System | $S$ | Small $\Vert S \Vert_\infty$ |
|
||||
|
||||
% To do so, we use to generalized plant shown in Figure [[fig:ex_general_plant]] for the synthesis where the three closed-loop tranfert functions from $w$ to $[z_1\,,z_2\,,z_3]$ are respectively $S$, $GS$ and $T$.
|
||||
|
||||
% This generalized plant is defined on Matlab as follows:
|
||||
|
||||
P = [1 -1
|
||||
G -G
|
||||
0 1
|
||||
G -G];
|
||||
|
||||
% Step 1 - Shaping of $S$
|
||||
% <<sec:ex_shaping_S>>
|
||||
|
||||
% Let's first shape the Sensitivity function as it is usually the most important of the /Gang of four/ closed-loop transfer functions.
|
||||
% To do so, we have to create a weight $W_1(s)$ that defines the wanted upper bound on $|S(j\omega)|$:
|
||||
% - small low frequency gain: $|S(j\cdot 0)| = 10^{-3}$
|
||||
% - minimum crossover frequency of $\approx 10Hz$: $|S(j2\pi 10)| < \frac{1}{\sqrt{2}}$
|
||||
% - small maximum peak magnitude for robustness properties: $\|S\|_\infty < 2$
|
||||
|
||||
% The weighting function is design using the =generateWeigh= function and its inverse shape can be seen in Figure
|
||||
|
||||
W1 = generateWeight('G0', 1e3, ...
|
||||
'G1', 1/2, ...
|
||||
'Gc', sqrt(2), 'wc', 2*pi*10, ...
|
||||
'n', 1);
|
||||
|
||||
|
||||
|
||||
% To not constrain $GS$ and $T$ for the shaping of $S$, $W_2$ and $W_3$ are first taken as very small gains:
|
||||
|
||||
W2 = tf(1e-8);
|
||||
W3 = tf(1e-8);
|
||||
|
||||
|
||||
|
||||
% The $\mathcal{H}_\infty$ synthesis is performed and the obtained closed-loop transfer functions $S$, $GS$, and $T$ and compared with the upper bounds set by the weighting functions in Figure [[fig:ex_results_1]].
|
||||
|
||||
|
||||
Pw = blkdiag(W1, W2, W3, 1)*P;
|
||||
K1 = hinfsyn(Pw, 1, 1, 'Display', 'on');
|
||||
|
||||
|
||||
|
||||
% #+RESULTS:
|
||||
% #+begin_example
|
||||
% Test bounds: 0.5 <= gamma <= 0.51
|
||||
|
||||
% gamma X>=0 Y>=0 rho(XY)<1 p/f
|
||||
% 5.05e-01 0.0e+00 0.0e+00 5.511e-14 p
|
||||
% Limiting gains...
|
||||
% 5.05e-01 0.0e+00 0.0e+00 1.867e-14 p
|
||||
|
||||
% Best performance (actual): 0.502
|
||||
% #+end_example
|
||||
|
||||
|
||||
% Closed-loop tranfer functions are computed
|
||||
Z1 = lft(P, K1);
|
||||
|
||||
freqs = logspace(-1, 3, 1000);
|
||||
|
||||
figure;
|
||||
tiledlayout(2, 2, 'TileSpacing', 'Tight', 'Padding', 'None');
|
||||
|
||||
ax1 = nexttile;
|
||||
hold on;
|
||||
plot(freqs, abs(squeeze(freqresp(Z1(1,1), freqs, 'Hz'))), 'DisplayName', 'Step 1');
|
||||
plot(freqs, 1./abs(squeeze(freqresp(W1, freqs, 'Hz'))), 'k--', 'DisplayName', '$|W|^{-1}$');
|
||||
hold off;
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
xlabel('Frequency [Hz]'); ylabel('Magnitude');
|
||||
title('S');
|
||||
legend('location', 'southeast');
|
||||
|
||||
ax2 = nexttile;
|
||||
hold on;
|
||||
plot(freqs, abs(squeeze(freqresp(Z1(2,1), freqs, 'Hz'))));
|
||||
hold off;
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
xlabel('Frequency [Hz]'); ylabel('Magnitude');
|
||||
title('GS');
|
||||
|
||||
ax3 = nexttile;
|
||||
hold on;
|
||||
plot(freqs, abs(squeeze(freqresp(Z1(3,1), freqs, 'Hz'))));
|
||||
hold off;
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
xlabel('Frequency [Hz]'); ylabel('Magnitude');
|
||||
title('T');
|
||||
|
||||
ax4 = nexttile;
|
||||
hold on;
|
||||
plot(freqs, abs(squeeze(freqresp(K1, freqs, 'Hz'))));
|
||||
hold off;
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
xlabel('Frequency [Hz]'); ylabel('Magnitude');
|
||||
title('K');
|
||||
|
||||
linkaxes([ax1, ax2, ax3, ax4], 'x')
|
||||
xlim([freqs(1), freqs(end)]);
|
||||
|
||||
|
||||
|
||||
% #+name: fig:ex_results_1
|
||||
% #+caption: Obtained Shape Closed-Loop transfer functions (dashed black lines indicate inverse magnitude of the weighting functions)
|
||||
% #+RESULTS:
|
||||
% [[file:figs/ex_results_1.png]]
|
||||
|
||||
% Time domain simulation is then performed and the obtained output displacement and control inputs are shown in Figure [[fig:ex_time_domain_1]].
|
||||
|
||||
% We can see:
|
||||
% - we are not able to follow the ramp input. This have to be solved by modifying the weighting function $W_1(s)$
|
||||
% - we have poor rejection of disturbances. This we be solve by shaping $GS$ in Section [[sec:ex_shaping_GS]]
|
||||
% - we have quite large effect of the measurement noise. This will be solved by shaping $T$ in Section [[sec:ex_shaping_T]]
|
||||
|
||||
|
||||
% Closed-loop simulation
|
||||
Z1sim = lft(Psim, K1);
|
||||
z = lsim(Z1sim, [r;n;d], t);
|
||||
y1 = z(:,1);
|
||||
u1 = z(:,2);
|
||||
|
||||
figure;
|
||||
tiledlayout(1, 1, 'TileSpacing', 'None', 'Padding', 'None');
|
||||
|
||||
nexttile;
|
||||
hold on;
|
||||
plot(t, 1e6*y1, 'DisplayName', 'Step 1');
|
||||
plot(t, 1e6*r, 'k--', 'DisplayName', '$r$');
|
||||
hold off;
|
||||
xlabel('Time [s]'); ylabel('Output $y$ [$\mu m$]');
|
||||
legend('location', 'southeast');
|
||||
|
||||
|
||||
|
||||
% #+name: fig:ex_time_domain_1
|
||||
% #+caption: Time domain simulation results
|
||||
% #+RESULTS:
|
||||
% [[file:figs/ex_time_domain_1.png]]
|
||||
|
||||
% Remember that in order to follow ramp inputs, the sensitivity function should have a slope of +40dB/dec at low frequency (Table [[tab:usual_shaping_gang_four]]).
|
||||
|
||||
% To do so, let's modify $W_1$ to impose a slope of +40dB/dec at low frequency.
|
||||
% This can simple be done by using a second order weight:
|
||||
|
||||
W1 = generateWeight('G0', 1e3, ...
|
||||
'G1', 1/2, ...
|
||||
'Gc', sqrt(2), 'wc', 2*pi*15, ...
|
||||
'n', 2);
|
||||
|
||||
|
||||
|
||||
% The $\mathcal{H}_\infty$ synthesis is performed using the new weights and the obtained closed-loop shaped are shown in figure [[fig:ex_results_1b]].
|
||||
|
||||
% The time domain signals are shown in Figure [[fig:ex_time_domain_1b]] and it is confirmed that the ramps are now follows without static errors.
|
||||
|
||||
|
||||
Pw = blkdiag(W1, W2, W3, 1)*P;
|
||||
K1b = hinfsyn(Pw, 1, 1, 'Display', 'on');
|
||||
|
||||
% Compute the closed-loop transfer function
|
||||
Z1b = lft(P, K1b);
|
||||
|
||||
freqs = logspace(-1, 3, 1000);
|
||||
|
||||
figure;
|
||||
tiledlayout(2, 2, 'TileSpacing', 'Tight', 'Padding', 'None');
|
||||
|
||||
ax1 = nexttile;
|
||||
hold on;
|
||||
plot(freqs, abs(squeeze(freqresp(Z1(1,1), freqs, 'Hz'))), 'DisplayName', 'Step 1');
|
||||
plot(freqs, abs(squeeze(freqresp(Z1b(1,1), freqs, 'Hz'))), 'DisplayName', 'Step 1b');
|
||||
plot(freqs, 1./abs(squeeze(freqresp(W1, freqs, 'Hz'))), 'k--', 'DisplayName', '$|W^{-1}|$');
|
||||
hold off;
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
xlabel('Frequency [Hz]'); ylabel('Magnitude');
|
||||
title('S');
|
||||
legend('location', 'southeast');
|
||||
|
||||
ax2 = nexttile;
|
||||
hold on;
|
||||
plot(freqs, abs(squeeze(freqresp(Z1(2,1), freqs, 'Hz'))));
|
||||
plot(freqs, abs(squeeze(freqresp(Z1b(2,1), freqs, 'Hz'))));
|
||||
hold off;
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
xlabel('Frequency [Hz]'); ylabel('Magnitude');
|
||||
title('GS');
|
||||
|
||||
ax3 = nexttile;
|
||||
hold on;
|
||||
plot(freqs, abs(squeeze(freqresp(Z1(3,1), freqs, 'Hz'))));
|
||||
plot(freqs, abs(squeeze(freqresp(Z1b(3,1), freqs, 'Hz'))));
|
||||
hold off;
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
xlabel('Frequency [Hz]'); ylabel('Magnitude');
|
||||
title('T');
|
||||
|
||||
ax4 = nexttile;
|
||||
hold on;
|
||||
plot(freqs, abs(squeeze(freqresp(K1, freqs, 'Hz'))));
|
||||
plot(freqs, abs(squeeze(freqresp(K1b, freqs, 'Hz'))));
|
||||
hold off;
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
xlabel('Frequency [Hz]'); ylabel('Magnitude');
|
||||
title('K');
|
||||
|
||||
linkaxes([ax1, ax2, ax3, ax4], 'x')
|
||||
xlim([freqs(1), freqs(end)]);
|
||||
|
||||
|
||||
|
||||
% #+name: fig:ex_results_1b
|
||||
% #+caption: Obtained Shape Closed-Loop transfer functions
|
||||
% #+RESULTS:
|
||||
% [[file:figs/ex_results_1b.png]]
|
||||
|
||||
|
||||
% Closed-loop simulations
|
||||
Z1bsim = lft(Psim, K1b);
|
||||
z = lsim(Z1bsim, [r;n;d], t);
|
||||
y1b = z(:,1);
|
||||
u1b = z(:,2);
|
||||
|
||||
figure;
|
||||
tiledlayout(1, 1, 'TileSpacing', 'None', 'Padding', 'None');
|
||||
hold on;
|
||||
plot(t, 1e6*y1, 'DisplayName', 'Step 1');
|
||||
plot(t, 1e6*y1b, 'DisplayName', 'Step 1b');
|
||||
plot(t, 1e6*r, 'k--', 'DisplayName', '$r$');
|
||||
hold off;
|
||||
xlabel('Time [s]'); ylabel('Output $y$ [$\mu m$]');
|
||||
legend('location', 'southeast');
|
||||
|
||||
% Step 2 - Shaping of $GS$
|
||||
% <<sec:ex_shaping_GS>>
|
||||
|
||||
% Looking at Figure [[fig:ex_results_2]], it is clear that the rejection of disturbances is not satisfactory.
|
||||
% This can also be seen by the large peak of $GS$ in Figure [[fig:ex_results_1b]].
|
||||
|
||||
% This poor rejection of disturbances is actually due to the fact that the obtain controller has at notch at the resonance frequency of the plant.
|
||||
|
||||
|
||||
% To overcome this issue, we can simply increase the magnitude of $W_2$ to limit the peak magnitude of $GS$
|
||||
% Let's take $W_2$ as a simple constant gain:
|
||||
|
||||
W2 = tf(4e5);
|
||||
|
||||
|
||||
|
||||
% The $\mathcal{H}_\infty$ Synthesis is performed and the obtained closed-loop transfer functions are shown in Figure [[fig:ex_results_2]].
|
||||
|
||||
Pw = blkdiag(W1, W2, W3, 1)*P;
|
||||
K2 = hinfsyn(Pw, 1, 1, 'Display', 'on');
|
||||
|
||||
Z2 = lft(P, K2);
|
||||
|
||||
freqs = logspace(-1, 3, 1000);
|
||||
|
||||
figure;
|
||||
tiledlayout(2, 2, 'TileSpacing', 'Tight', 'Padding', 'None');
|
||||
|
||||
ax1 = nexttile;
|
||||
hold on;
|
||||
plot(freqs, abs(squeeze(freqresp(Z1(1,1), freqs, 'Hz'))), 'DisplayName', 'Step 1');
|
||||
plot(freqs, abs(squeeze(freqresp(Z1b(1,1), freqs, 'Hz'))), 'DisplayName', 'Step 1b');
|
||||
plot(freqs, abs(squeeze(freqresp(Z2(1,1), freqs, 'Hz'))), 'DisplayName', 'Step 2');
|
||||
plot(freqs, 1./abs(squeeze(freqresp(W1, freqs, 'Hz'))), 'k--', 'DisplayName', '$|W^{-1}|$');
|
||||
hold off;
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
xlabel('Frequency [Hz]'); ylabel('Magnitude');
|
||||
title('S');
|
||||
legend('location', 'southeast');
|
||||
|
||||
ax2 = nexttile;
|
||||
hold on;
|
||||
plot(freqs, abs(squeeze(freqresp(Z1(2,1), freqs, 'Hz'))));
|
||||
plot(freqs, abs(squeeze(freqresp(Z1b(2,1), freqs, 'Hz'))));
|
||||
plot(freqs, abs(squeeze(freqresp(Z2(2,1), freqs, 'Hz'))));
|
||||
plot(freqs, 1./abs(squeeze(freqresp(W2, freqs, 'Hz'))), 'k--');
|
||||
hold off;
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
xlabel('Frequency [Hz]'); ylabel('Magnitude');
|
||||
title('GS');
|
||||
|
||||
ax3 = nexttile;
|
||||
hold on;
|
||||
plot(freqs, abs(squeeze(freqresp(Z1(3,1), freqs, 'Hz'))));
|
||||
plot(freqs, abs(squeeze(freqresp(Z1b(3,1), freqs, 'Hz'))));
|
||||
plot(freqs, abs(squeeze(freqresp(Z2(3,1), freqs, 'Hz'))));
|
||||
hold off;
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
xlabel('Frequency [Hz]'); ylabel('Magnitude');
|
||||
title('T');
|
||||
|
||||
ax4 = nexttile;
|
||||
hold on;
|
||||
plot(freqs, abs(squeeze(freqresp(K1, freqs, 'Hz'))));
|
||||
plot(freqs, abs(squeeze(freqresp(K1b, freqs, 'Hz'))));
|
||||
plot(freqs, abs(squeeze(freqresp(K2, freqs, 'Hz'))));
|
||||
hold off;
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
xlabel('Frequency [Hz]'); ylabel('Magnitude');
|
||||
title('K');
|
||||
|
||||
linkaxes([ax1, ax2, ax3, ax4], 'x')
|
||||
xlim([freqs(1), freqs(end)]);
|
||||
|
||||
|
||||
|
||||
% #+name: fig:ex_results_2
|
||||
% #+caption: Obtained Shape Closed-Loop transfer functions
|
||||
% #+RESULTS:
|
||||
% [[file:figs/ex_results_2.png]]
|
||||
|
||||
% Time domain simulation results are shown in Figure [[fig:ex_time_domain_2]].
|
||||
% If is shown that indeed, the disturbance rejection performance are much better and only very small oscillation is obtained.
|
||||
|
||||
|
||||
Z2sim = lft(Psim, K2);
|
||||
|
||||
z = lsim(Z2sim, [r;n;d], t);
|
||||
y2 = z(:,1);
|
||||
u2 = z(:,2);
|
||||
|
||||
figure;
|
||||
tiledlayout(1, 2, 'TileSpacing', 'None', 'Padding', 'None');
|
||||
|
||||
hold on;
|
||||
plot(t, 1e6*y1, 'DisplayName', 'Step 1');
|
||||
plot(t, 1e6*y1b, 'DisplayName', 'Step 1b');
|
||||
plot(t, 1e6*y2, 'DisplayName', 'Step 2');
|
||||
plot(t, 1e6*r, 'k--', 'DisplayName', '$r$');
|
||||
hold off;
|
||||
xlabel('Time [s]'); ylabel('Output $y$ [$\mu m$]');
|
||||
legend('location', 'southeast');
|
||||
|
||||
% Step 3 - Shaping of $T$
|
||||
% <<sec:ex_shaping_T>>
|
||||
|
||||
% Finally, we want to limit the effect of the noise on the displacement output.
|
||||
|
||||
% To do so, $T$ is shaped such that its high frequency gain is reduced.
|
||||
|
||||
% This is done by increasing the high frequency gain of the weighting function $W_3$ until the $\mathcal{H}_\infty$ synthesis gives $\gamma \approx 1$.
|
||||
|
||||
% The final weighting function $W_3$ is defined as follows:
|
||||
|
||||
W3 = generateWeight('G0', 1e-1, ...
|
||||
'G1', 1e4, ...
|
||||
'Gc', 1, 'wc', 2*pi*70, ...
|
||||
'n', 2);
|
||||
|
||||
|
||||
|
||||
% The $\mathcal{H}_\infty$ synthesis is performed and $\gamma$ is closed to one.
|
||||
|
||||
Pw = blkdiag(W1, W2, W3, 1)*P;
|
||||
|
||||
K3 = hinfsyn(Pw, 1, 1, 'Display', 'on');
|
||||
|
||||
|
||||
|
||||
% #+RESULTS:
|
||||
% #+begin_example
|
||||
% Test bounds: 0.622 <= gamma <= 1.62
|
||||
|
||||
% gamma X>=0 Y>=0 rho(XY)<1 p/f
|
||||
% 1.01e+00 -1.3e+07 # -6.4e-18 3.459e-04 f
|
||||
% 1.28e+00 0.0e+00 0.0e+00 5.369e-02 p
|
||||
% 1.13e+00 3.8e-15 0.0e+00 1.695e-01 p
|
||||
% 1.07e+00 -5.0e-08 -1.2e-19 1.622e+00 # f
|
||||
% 1.10e+00 0.0e+00 0.0e+00 3.147e-01 p
|
||||
% 1.08e+00 0.0e+00 0.0e+00 5.327e-01 p
|
||||
% 1.08e+00 3.4e-15 0.0e+00 8.052e-01 p
|
||||
|
||||
% Best performance (actual): 1.08
|
||||
% #+end_example
|
||||
|
||||
% The obtained closed-loop transfer functions are shown in Figure [[fig:ex_results_3]] and we can obverse that:
|
||||
% - The high frequency gain of $T$ is indeed reduced
|
||||
% - This comes as the expense of a large magnitude both $GS$ and $S$.
|
||||
% This means we will probably have slightly less good disturbance rejection and tracking performances.
|
||||
|
||||
|
||||
Z3 = lft(P, K3);
|
||||
|
||||
freqs = logspace(-1, 3, 1000);
|
||||
|
||||
figure;
|
||||
tiledlayout(2, 2, 'TileSpacing', 'Tight', 'Padding', 'None');
|
||||
|
||||
ax1 = nexttile;
|
||||
hold on;
|
||||
plot(freqs, abs(squeeze(freqresp(Z1(1,1), freqs, 'Hz'))), 'DisplayName', 'Step 1');
|
||||
plot(freqs, abs(squeeze(freqresp(Z1b(1,1), freqs, 'Hz'))), 'DisplayName', 'Step 1b');
|
||||
plot(freqs, abs(squeeze(freqresp(Z2(1,1), freqs, 'Hz'))), 'DisplayName', 'Step 2');
|
||||
plot(freqs, abs(squeeze(freqresp(Z3(1,1), freqs, 'Hz'))), 'DisplayName', 'Step 3');
|
||||
plot(freqs, 1./abs(squeeze(freqresp(W1, freqs, 'Hz'))), 'k--', 'DisplayName', '$|W^{-1}|$');
|
||||
hold off;
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
xlabel('Frequency [Hz]'); ylabel('Magnitude');
|
||||
title('S');
|
||||
legend('location', 'southeast');
|
||||
|
||||
ax2 = nexttile;
|
||||
hold on;
|
||||
plot(freqs, abs(squeeze(freqresp(Z1(2,1), freqs, 'Hz'))));
|
||||
plot(freqs, abs(squeeze(freqresp(Z1b(2,1), freqs, 'Hz'))));
|
||||
plot(freqs, abs(squeeze(freqresp(Z2(2,1), freqs, 'Hz'))));
|
||||
plot(freqs, abs(squeeze(freqresp(Z3(2,1), freqs, 'Hz'))));
|
||||
plot(freqs, 1./abs(squeeze(freqresp(W2, freqs, 'Hz'))), 'k--');
|
||||
hold off;
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
xlabel('Frequency [Hz]'); ylabel('Magnitude');
|
||||
title('GS');
|
||||
|
||||
ax3 = nexttile;
|
||||
hold on;
|
||||
plot(freqs, abs(squeeze(freqresp(Z1(3,1), freqs, 'Hz'))));
|
||||
plot(freqs, abs(squeeze(freqresp(Z1b(3,1), freqs, 'Hz'))));
|
||||
plot(freqs, abs(squeeze(freqresp(Z2(3,1), freqs, 'Hz'))));
|
||||
plot(freqs, abs(squeeze(freqresp(Z3(3,1), freqs, 'Hz'))));
|
||||
plot(freqs, 1./abs(squeeze(freqresp(W3, freqs, 'Hz'))), 'k--');
|
||||
hold off;
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
xlabel('Frequency [Hz]'); ylabel('Magnitude');
|
||||
title('T');
|
||||
|
||||
ax4 = nexttile;
|
||||
hold on;
|
||||
plot(freqs, abs(squeeze(freqresp(K1, freqs, 'Hz'))));
|
||||
plot(freqs, abs(squeeze(freqresp(K1b, freqs, 'Hz'))));
|
||||
plot(freqs, abs(squeeze(freqresp(K2, freqs, 'Hz'))));
|
||||
plot(freqs, abs(squeeze(freqresp(K3, freqs, 'Hz'))));
|
||||
hold off;
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
xlabel('Frequency [Hz]'); ylabel('Magnitude');
|
||||
title('K');
|
||||
|
||||
linkaxes([ax1, ax2, ax3, ax4], 'x')
|
||||
xlim([freqs(1), freqs(end)]);
|
||||
|
||||
|
||||
|
||||
% #+name: fig:ex_results_3
|
||||
% #+caption: Obtained Shape Closed-Loop transfer functions
|
||||
% #+RESULTS:
|
||||
% [[file:figs/ex_results_3.png]]
|
||||
|
||||
% The time domain simulation signals are shown in Figure [[fig:ex_time_domain_3]].
|
||||
% We can indeed see a slightly less good disturbance rejection.
|
||||
% However, the vibrations induced by the sensor noise is well reduced.
|
||||
% This can be seen when zooming on the output signal in Figure [[fig:ex_time_domaim_3_zoom]].
|
||||
|
||||
|
||||
Z3sim = lft(Psim, K3);
|
||||
|
||||
z = lsim(Z3sim, [r;n;d], t);
|
||||
y3 = z(:,1);
|
||||
u3 = z(:,2);
|
||||
|
||||
figure;
|
||||
tiledlayout(1, 1, 'TileSpacing', 'None', 'Padding', 'None');
|
||||
hold on;
|
||||
plot(t, 1e6*y1, 'DisplayName', 'Step 1');
|
||||
plot(t, 1e6*y1b, 'DisplayName', 'Step 1b');
|
||||
plot(t, 1e6*y2, 'DisplayName', 'Step 2');
|
||||
plot(t, 1e6*y3, 'DisplayName', 'Step 3');
|
||||
plot(t, 1e6*r, 'k--', 'DisplayName', '$r$');
|
||||
hold off;
|
||||
xlabel('Time [s]'); ylabel('Output $y$ [$\mu m$]');
|
||||
legend('location', 'southeast');
|
||||
|
||||
|
||||
|
||||
% #+name: fig:ex_time_domain_3
|
||||
% #+caption: Time domain simulation results
|
||||
% #+RESULTS:
|
||||
% [[file:figs/ex_time_domain_3.png]]
|
||||
|
||||
|
||||
figure;
|
||||
hold on;
|
||||
plot(t, 1e6*y1, 'DisplayName', 'Step 1');
|
||||
plot(t, 1e6*y1b, 'DisplayName', 'Step 1b');
|
||||
plot(t, 1e6*y2, 'DisplayName', 'Step 2');
|
||||
plot(t, 1e6*y3, 'DisplayName', 'Step 3');
|
||||
plot(t, 1e6*r, 'k--', 'DisplayName', '$r$');
|
||||
hold off;
|
||||
xlabel('Time [s]'); ylabel('Output $y$ [$\mu m$]');
|
||||
legend('location', 'southeast');
|
||||
xlim([0.4, 0.5])
|
||||
@@ -50,17 +50,17 @@
|
||||
|
||||
\tcbuselibrary{minted}
|
||||
|
||||
\newtcolorbox{seealso}{ enhanced,breakable,colback=my-pale-grey,colframe=my-grey,fonttitle=\bfseries,title=See Also}
|
||||
\newtcolorbox{hint}{ enhanced,breakable,colback=my-pale-grey,colframe=my-grey,fonttitle=\bfseries,title=Hint}
|
||||
\newtcolorbox{definition}{enhanced,breakable,colback=my-pale-red, colframe=my-red, fonttitle=\bfseries,title=Definition}
|
||||
\newtcolorbox{important}{ enhanced,breakable,colback=my-pale-red, colframe=my-red, fonttitle=\bfseries,title=Important}
|
||||
\newtcolorbox{seealso}[1][]{ enhanced,breakable,colback=my-pale-grey,colframe=my-grey,fonttitle=\bfseries,title=See Also,#1}
|
||||
\newtcolorbox{hint}[1][]{ enhanced,breakable,colback=my-pale-grey,colframe=my-grey,fonttitle=\bfseries,title=Hint,#1}
|
||||
\newtcolorbox{definition}[1][]{enhanced,breakable,colback=my-pale-red, colframe=my-red, fonttitle=\bfseries,title=Definition,#1}
|
||||
\newtcolorbox{important}[1][]{ enhanced,breakable,colback=my-pale-red, colframe=my-red, fonttitle=\bfseries,title=Important,#1}
|
||||
\newtcolorbox{exampl}[1][]{ enhanced,breakable,colback=my-pale-green,colframe=my-green,fonttitle=\bfseries,title=Example,#1}
|
||||
\newtcolorbox{exercice}{ enhanced,breakable,colback=my-pale-yellow,colframe=my-yellow,fonttitle=\bfseries,title=Exercice}
|
||||
\newtcolorbox{question}{ enhanced,breakable,colback=my-pale-yellow,colframe=my-yellow,fonttitle=\bfseries,title=Question}
|
||||
\newtcolorbox{answer}{ enhanced,breakable,colback=my-pale-turq,colframe=my-turq,fonttitle=\bfseries,title=Answer}
|
||||
\newtcolorbox{summary}{ enhanced,breakable,colback=my-pale-blue,colframe=my-blue,fonttitle=\bfseries,title=Summary}
|
||||
\newtcolorbox{caution}{ enhanced,breakable,colback=my-pale-orange,colframe=my-orange,fonttitle=\bfseries,title=Caution}
|
||||
\newtcolorbox{warning}{ enhanced,breakable,colback=my-pale-orange,colframe=my-orange,fonttitle=\bfseries,title=Warning}
|
||||
\newtcolorbox{exercice}[1][]{ enhanced,breakable,colback=my-pale-yellow,colframe=my-yellow,fonttitle=\bfseries,title=Exercice,#1}
|
||||
\newtcolorbox{question}[1][]{ enhanced,breakable,colback=my-pale-yellow,colframe=my-yellow,fonttitle=\bfseries,title=Question,#1}
|
||||
\newtcolorbox{answer}[1][]{ enhanced,breakable,colback=my-pale-turq,colframe=my-turq,fonttitle=\bfseries,title=Answer,#1}
|
||||
\newtcolorbox{summary}[1][]{ enhanced,breakable,colback=my-pale-blue,colframe=my-blue,fonttitle=\bfseries,title=Summary,#1}
|
||||
\newtcolorbox{caution}[1][]{ enhanced,breakable,colback=my-pale-orange,colframe=my-orange,fonttitle=\bfseries,title=Caution,#1}
|
||||
\newtcolorbox{warning}[1][]{ enhanced,breakable,colback=my-pale-orange,colframe=my-orange,fonttitle=\bfseries,title=Warning,#1}
|
||||
|
||||
\newtcolorbox{my-quote}[1]{%
|
||||
colback=my-pale-grey,
|
||||
|
||||