Website Summary Files Commits Branches @commit @diff @stats
path: root / docs
diff options
context:
space:
mode:
Commit0910afb91c8f9672be1d6184f47fb75947ea14f1 (patch)
Author
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-06 22:53:09 +0300
Committer
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-06 22:53:09 +0300
Files12162ffe64cf267887029942ca3d15e55782b745 /docs
FMI-OOP-P1_TicketSystem-0910afb91c8f9672be1d6184f47fb75947ea14f1.tar
FMI-OOP-P1_TicketSystem-0910afb91c8f9672be1d6184f47fb75947ea14f1.tar.gz
FMI-OOP-P1_TicketSystem-0910afb91c8f9672be1d6184f47fb75947ea14f1.zip
Parent19dc8457df9a9f9b79ff65f1c259c2ec537ba4cc (diff)
Reworked Class Diagram into an overview diagram
diff --git a/docs/FMI-OOP-P1_TicketSystem Class Diagram.nomnoml b/docs/FMI-OOP-P1_TicketSystem Class Diagram.nomnoml
deleted file mode 100644
index 24d618f..0000000
--- a/docs/FMI-OOP-P1_TicketSystem Class Diagram.nomnoml
+++ /dev/null
@@ -1,138 +0,0 @@
-#title: FMI-OOP-P1_TicketSystem Class Diagram
-#background: #fdf6e3
-#bendSize: 0
-#fillArrows: true
-#lineWidth: 2
-#leading: 1.3
-#direction: right
-
-#.groupsfe: title=italic fill=#b2ee97 direction=down
-#.groupv: title=italic fill=#97c8ee direction=down
-#.groupsc: title=italic direction=down
-
-[<groupsc> Standard Classes
- [List<T>|
- - T* elements
- - unsigned count
- - unsigned length
- |
- + add(elem)
- + insertAt(elem, index)
- + removeAt(index)
- + findIndex(elem);
- + contain(elem);
- + operator\[\](index)
- ]
-
- [OrderedList<T>|
- + insert(elem)
- + remove(elem)
- ]
- [List<T>]<--[OrderedList<T>]
-
- [DateTime|
- - unsigned day
- - unsigned month
- - int year
- - unsigned hour
- - unsigned minute
- ]
-
- [String|
- - char* str
- - unsigned length
- - unsigned count
- ]
-
- [Command|
- - String name
- - void (*exec)()
- ]
-
- [Menu|
- - List<Command> _commands
- |
- + navigate()
- ]
- [Command]<--[Menu]
-
- [Toolbox.h|
- read()
- print()
- printLine()
- printOrderedListElem()
- resetOrderedList()
- ]
- [Menu]-/-[Toolbox.h]
-
- [String]-/-[DateTime]
- [DateTime]-/-[List<T>]
-]
-
-[<groupv> Venue
- [Hall|
- - int number
- - unsigned rowCount
- - unsigned seatsPerRow
- ]
-
- [Venue|
- - List<Hall> halls
- - EventSystem es
- ]
- [Hall]<--[Venue]
-]
-[Standard Classes]-/-[Venue]
-
-[<groupsfe> System for events
- [Ticket|
- - unsigned row
- - unsigned seat
- ]
-
- [Reservation|
- - Ticket ticket
- - char\[8\] password
- - char\[32\] note
- ]
-
- [Event|
- - OrderedList<Ticket> _tickets
- - OrderedList<Reservation> _reservations
- + Date date
- + String name
- + Hall* hall
- |
- + reserveTicket()
- + cancelReservation()
- + buyTicket()
- ]
- [Ticket]<--[Event]
- [Reservation]<--[Event]
-
- [EventSystem|
- - OrderedList<Event> _events
- - unsigned _soonestUpcoming
- |
- + createEvent() ★
- + cancelEvent()
- + reserveTicket(eventIndex, note, row, seat) ★
- + cancelTicketReservation() ★
- + buyTicket() ★
- + queryUpcoming(hallIndex)
- + queryFreeSeats(eventIndex) ★
- + queryReservations(eventIndex)
- + reportReservations(eventIndex) ★
- + queryBoughtTickets(stDate, endDate, hall) ★
- + queryMostVisited() ☆
- + queryInsufficientlyVisited() ☆
- ]
- [Event]<--[EventSystem]
-
- [StatusCodes.h|
- enum StatusCode
- ]
- [EventSystem]-/-[StatusCodes.h]
-]
-[Venue]-->[System for events]
-</details>
diff --git a/docs/FMI-OOP-P1_TicketSystem Class Diagram.svg b/docs/FMI-OOP-P1_TicketSystem Class Diagram.svg
deleted file mode 100644
index aa7ba0c..0000000
--- a/docs/FMI-OOP-P1_TicketSystem Class Diagram.svg
+++ /dev/null
@@ -1,538 +0,0 @@
-<svg version="1.1" baseProfile="full" width="1278.0" height="886.0" viewbox="0 0 1278 886" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events">
- <title >FMI-OOP-P1_TicketSystem Class Diagram</title>
- <desc >#title: FMI-OOP-P1_TicketSystem Class Diagram
- #background: #fdf6e3
- #bendSize: 0
- #fillArrows: true
- #lineWidth: 2
- #leading: 1.3
- #direction: right
-
- #.groupsfe: title=italic fill=#b2ee97 direction=down
- #.groupv: title=italic fill=#97c8ee direction=down
- #.groupsc: title=italic direction=down
-
- [&lt;groupsc&gt; Standard Classes
- [List&lt;T&gt;|
- - T* elements
- - unsigned count
- - unsigned length
- |
- + add(elem)
- + insertAt(elem, index)
- + removeAt(index)
- + findIndex(elem);
- + contain(elem);
- + operator\[\](index)
- ]
-
- [OrderedList&lt;T&gt;|
- + insert(elem)
- + remove(elem)
- ]
- [List&lt;T&gt;]&lt;--[OrderedList&lt;T&gt;]
-
- [DateTime|
- - unsigned day
- - unsigned month
- - int year
- - unsigned hour
- - unsigned minute
- ]
-
- [String|
- - char* str
- - unsigned length
- - unsigned count
- ]
-
- [Command|
- - String name
- - void (*exec)()
- ]
-
- [Menu|
- - List&lt;Command&gt; _commands
- |
- + navigate()
- ]
- [Command]&lt;--[Menu]
-
- [Toolbox.h|
- read()
- print()
- printLine()
- printOrderedListElem()
- resetOrderedList()
- ]
- [Menu]-/-[Toolbox.h]
-
- [String]-/-[DateTime]
- [DateTime]-/-[List&lt;T&gt;]
- ]
-
- [&lt;groupv&gt; Venue
- [Hall|
- - int number
- - unsigned rowCount
- - unsigned seatsPerRow
- ]
-
- [Venue|
- - List&lt;Hall&gt; halls
- - EventSystem es
- ]
- [Hall]&lt;--[Venue]
- ]
- [Standard Classes]-/-[Venue]
-
- [&lt;groupsfe&gt; System for events
- [Ticket|
- - unsigned row
- - unsigned seat
- ]
-
- [Reservation|
- - Ticket ticket
- - char\[8\] password
- - char\[32\] note
- ]
-
- [Event|
- - OrderedList&lt;Ticket&gt; _tickets
- - OrderedList&lt;Reservation&gt; _reservations
- + Date date
- + String name
- + Hall* hall
- |
- + reserveTicket()
- + cancelReservation()
- + buyTicket()
- ]
- [Ticket]&lt;--[Event]
- [Reservation]&lt;--[Event]
-
- [EventSystem|
- - OrderedList&lt;Event&gt; _events
- - unsigned _soonestUpcoming
- |
- + createEvent() ★
- + cancelEvent()
- + reserveTicket(eventIndex, note, row, seat) ★
- + cancelTicketReservation() ★
- + buyTicket() ★
- + queryUpcoming(hallIndex)
- + queryFreeSeats(eventIndex) ★
- + queryReservations(eventIndex)
- + reportReservations(eventIndex) ★
- + queryBoughtTickets(stDate, endDate, hall) ★
- + queryMostVisited() ☆
- + queryInsufficientlyVisited() ☆
- ]
- [Event]&lt;--[EventSystem]
-
- [StatusCodes.h|
- enum StatusCode
- ]
- [EventSystem]-/-[StatusCodes.h]
- ]
- [Venue]--&gt;[System for events]</desc>
- <g stroke-width="1.0" text-align="left" font="12pt Helvetica, Arial, sans-serif" font-size="12pt" font-family="Helvetica" font-weight="normal" font-style="normal">
- <g font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="round" stroke="#33322E">
- <g stroke="transparent" fill="#fdf6e3">
- <rect x="0.0" y="0.0" height="886.0" width="1278.0" stroke="none"></rect>
- </g>
- <g transform="translate(8, 8)" fill="#33322E">
- <g transform="translate(20, 20)" fill="#33322E" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal">
- <g stroke-dasharray="4 4">
- <path d="M777.0 415.0 L797 415 L810.3333333333334 415 L810.3 415.0 " fill="none"></path>
- </g>
- <path d="M803.7 420.3 L803.7 415.0 L803.7 409.7 L817.0 415.0 Z"></path>
- <g data-name="Standard Classes">
- <g fill="#eee8d5" stroke="#33322E" data-name="Standard Classes">
- <rect x="0.0" y="63.0" height="705.0" width="491.0" data-name="Standard Classes"></rect>
- </g>
- <g transform="translate(0, 63)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="italic" data-name="Standard Classes">
- <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="Standard Classes">
- <text x="237.5" y="13.8" stroke="none" text-anchor="middle" data-name="Standard Classes">Standard Classes</text>
- <g transform="translate(20, 20)" fill="#33322E" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="Standard Classes">
- <g stroke-dasharray="4 4" data-name="Standard Classes">
- <path d="M88.5 512.7 L88.5 526 L88.5 546 L88.5 546.0 " fill="none" data-name="Standard Classes"></path>
- </g>
- <path d="M93.8 519.3 L88.5 519.3 L83.2 519.3 L88.5 506.0 Z" data-name="Standard Classes"></path>
- <g stroke-dasharray="4 4" data-name="Standard Classes">
- <path d="M317.5 93.7 L317.5 115 L317.5 150 L317.5 150.0 " fill="none" data-name="Standard Classes"></path>
- </g>
- <path d="M322.8 100.3 L317.5 100.3 L312.2 100.3 L317.5 87.0 Z" data-name="Standard Classes"></path>
- <g data-name="List&lt;T&gt;">
- <g fill="#fdf6e3" stroke="#33322E" data-name="List&lt;T&gt;">
- <rect x="0.0" y="301.0" height="205.0" width="177.0" data-name="List&lt;T&gt;"></rect>
- <path d="M0.0 333.0 L177.0 333.0" fill="none" data-name="List&lt;T&gt;"></path>
- <path d="M0.0 396.0 L177.0 396.0" fill="none" data-name="List&lt;T&gt;"></path>
- </g>
- <g transform="translate(0, 301)" font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" data-name="List&lt;T&gt;">
- <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="List&lt;T&gt;">
- <text x="80.5" y="13.8" stroke="none" text-anchor="middle" data-name="List&lt;T&gt;">List&lt;T&gt;</text>
-
- </g>
- </g>
- <g transform="translate(0, 333)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="List&lt;T&gt;">
- <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="List&lt;T&gt;">
- <text x="0.0" y="13.8" stroke="none" data-name="List&lt;T&gt;">- T* elements</text>
- <text x="0.0" y="29.4" stroke="none" data-name="List&lt;T&gt;">- unsigned count</text>
- <text x="0.0" y="45.0" stroke="none" data-name="List&lt;T&gt;">- unsigned length</text>
-
- </g>
- </g>
- <g transform="translate(0, 396)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="List&lt;T&gt;">
- <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="List&lt;T&gt;">
- <text x="0.0" y="13.8" stroke="none" data-name="List&lt;T&gt;">+ add(elem)</text>
- <text x="0.0" y="29.4" stroke="none" data-name="List&lt;T&gt;">+ insertAt(elem, index)</text>
- <text x="0.0" y="45.0" stroke="none" data-name="List&lt;T&gt;">+ removeAt(index)</text>
- <text x="0.0" y="60.6" stroke="none" data-name="List&lt;T&gt;">+ findIndex(elem)</text>
- <text x="0.0" y="76.2" stroke="none" data-name="List&lt;T&gt;">+ contain(elem)</text>
- <text x="0.0" y="91.8" stroke="none" data-name="List&lt;T&gt;">+ operator[](index)</text>
-
- </g>
- </g>
- </g>
- <g data-name="Menu">
- <g fill="#fdf6e3" stroke="#33322E" data-name="Menu">
- <rect x="200.0" y="150.0" height="96.0" width="235.0" data-name="Menu"></rect>
- <path d="M200.0 182.0 L435.0 182.0" fill="none" data-name="Menu"></path>
- <path d="M200.0 214.0 L435.0 214.0" fill="none" data-name="Menu"></path>
- </g>
- <g transform="translate(200, 150)" font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" data-name="Menu">
- <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="Menu">
- <text x="109.5" y="13.8" stroke="none" text-anchor="middle" data-name="Menu">Menu</text>
-
- </g>
- </g>
- <g transform="translate(200, 182)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="Menu">
- <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="Menu">
- <text x="0.0" y="13.8" stroke="none" data-name="Menu">- List&lt;Command&gt; _commands</text>
-
- </g>
- </g>
- <g transform="translate(200, 214)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="Menu">
- <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="Menu">
- <text x="0.0" y="13.8" stroke="none" data-name="Menu">+ navigate()</text>
-
- </g>
- </g>
- </g>
- <g data-name="OrderedList&lt;T&gt;">
- <g fill="#fdf6e3" stroke="#33322E" data-name="OrderedList&lt;T&gt;">
- <rect x="21.0" y="546.0" height="79.0" width="135.0" data-name="OrderedList&lt;T&gt;"></rect>
- <path d="M21.0 578.0 L156.0 578.0" fill="none" data-name="OrderedList&lt;T&gt;"></path>
- </g>
- <g transform="translate(21, 546)" font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" data-name="OrderedList&lt;T&gt;">
- <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="OrderedList&lt;T&gt;">
- <text x="59.5" y="13.8" stroke="none" text-anchor="middle" data-name="OrderedList&lt;T&gt;">OrderedList&lt;T&gt;</text>
-
- </g>
- </g>
- <g transform="translate(21, 578)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="OrderedList&lt;T&gt;">
- <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="OrderedList&lt;T&gt;">
- <text x="0.0" y="13.8" stroke="none" data-name="OrderedList&lt;T&gt;">+ insert(elem)</text>
- <text x="0.0" y="29.4" stroke="none" data-name="OrderedList&lt;T&gt;">+ remove(elem)</text>
-
- </g>
- </g>
- </g>
- <g data-name="DateTime">
- <g fill="#fdf6e3" stroke="#33322E" data-name="DateTime">
- <rect x="17.0" y="135.0" height="126.0" width="143.0" data-name="DateTime"></rect>
- <path d="M17.0 167.0 L160.0 167.0" fill="none" data-name="DateTime"></path>
- </g>
- <g transform="translate(17, 135)" font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" data-name="DateTime">
- <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="DateTime">
- <text x="63.5" y="13.8" stroke="none" text-anchor="middle" data-name="DateTime">DateTime</text>
-
- </g>
- </g>
- <g transform="translate(17, 167)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="DateTime">
- <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="DateTime">
- <text x="0.0" y="13.8" stroke="none" data-name="DateTime">- unsigned day</text>
- <text x="0.0" y="29.4" stroke="none" data-name="DateTime">- unsigned month</text>
- <text x="0.0" y="45.0" stroke="none" data-name="DateTime">- int year</text>
- <text x="0.0" y="60.6" stroke="none" data-name="DateTime">- unsigned hour</text>
- <text x="0.0" y="76.2" stroke="none" data-name="DateTime">- unsigned minute</text>
-
- </g>
- </g>
- </g>
- <g data-name="String">
- <g fill="#fdf6e3" stroke="#33322E" data-name="String">
- <rect x="19.0" y="0.0" height="95.0" width="139.0" data-name="String"></rect>
- <path d="M19.0 32.0 L158.0 32.0" fill="none" data-name="String"></path>
- </g>
- <g transform="translate(19, 0)" font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" data-name="String">
- <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="String">
- <text x="61.5" y="13.8" stroke="none" text-anchor="middle" data-name="String">String</text>
-
- </g>
- </g>
- <g transform="translate(19, 32)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="String">
- <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="String">
- <text x="0.0" y="13.8" stroke="none" data-name="String">- char* str</text>
- <text x="0.0" y="29.4" stroke="none" data-name="String">- unsigned length</text>
- <text x="0.0" y="45.0" stroke="none" data-name="String">- unsigned count</text>
-
- </g>
- </g>
- </g>
- <g data-name="Command">
- <g fill="#fdf6e3" stroke="#33322E" data-name="Command">
- <rect x="257.0" y="8.0" height="79.0" width="121.0" data-name="Command"></rect>
- <path d="M257.0 40.0 L378.0 40.0" fill="none" data-name="Command"></path>
- </g>
- <g transform="translate(257, 8)" font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" data-name="Command">
- <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="Command">
- <text x="52.5" y="13.8" stroke="none" text-anchor="middle" data-name="Command">Command</text>
-
- </g>
- </g>
- <g transform="translate(257, 40)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="Command">
- <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="Command">
- <text x="0.0" y="13.8" stroke="none" data-name="Command">- String name</text>
- <text x="0.0" y="29.4" stroke="none" data-name="Command">- void (*exec)()</text>
-
- </g>
- </g>
- </g>
- <g data-name="Toolbox.h">
- <g fill="#fdf6e3" stroke="#33322E" data-name="Toolbox.h">
- <rect x="229.0" y="341.0" height="126.0" width="178.0" data-name="Toolbox.h"></rect>
- <path d="M229.0 373.0 L407.0 373.0" fill="none" data-name="Toolbox.h"></path>
- </g>
- <g transform="translate(229, 341)" font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" data-name="Toolbox.h">
- <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="Toolbox.h">
- <text x="81.0" y="13.8" stroke="none" text-anchor="middle" data-name="Toolbox.h">Toolbox.h</text>
-
- </g>
- </g>
- <g transform="translate(229, 373)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="Toolbox.h">
- <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="Toolbox.h">
- <text x="0.0" y="13.8" stroke="none" data-name="Toolbox.h">read()</text>
- <text x="0.0" y="29.4" stroke="none" data-name="Toolbox.h">print()</text>
- <text x="0.0" y="45.0" stroke="none" data-name="Toolbox.h">printLine()</text>
- <text x="0.0" y="60.6" stroke="none" data-name="Toolbox.h">printOrderedListElem()</text>
- <text x="0.0" y="76.2" stroke="none" data-name="Toolbox.h">resetOrderedList()</text>
-
- </g>
- </g>
- </g>
- </g>
- </g>
- </g>
- </g>
- <g data-name="Venue">
- <g fill="#97c8ee" stroke="#33322E" data-name="Venue">
- <rect x="531.0" y="268.0" height="294.0" width="246.0" data-name="Venue"></rect>
- </g>
- <g transform="translate(531, 268)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="italic" data-name="Venue">
- <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="Venue">
- <text x="115.0" y="13.8" stroke="none" text-anchor="middle" data-name="Venue">Venue</text>
- <g transform="translate(20, 20)" fill="#33322E" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="Venue">
- <g stroke-dasharray="4 4" data-name="Venue">
- <path d="M95.0 101.7 L95 115 L95 135 L95.0 135.0 " fill="none" data-name="Venue"></path>
- </g>
- <path d="M100.3 108.3 L95.0 108.3 L89.7 108.3 L95.0 95.0 Z" data-name="Venue"></path>
- <g data-name="Hall">
- <g fill="#fdf6e3" stroke="#33322E" data-name="Hall">
- <rect x="0.0" y="0.0" height="95.0" width="190.0" data-name="Hall"></rect>
- <path d="M0.0 32.0 L190.0 32.0" fill="none" data-name="Hall"></path>
- </g>
- <g transform="translate(0, 0)" font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" data-name="Hall">
- <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="Hall">
- <text x="87.0" y="13.8" stroke="none" text-anchor="middle" data-name="Hall">Hall</text>
-
- </g>
- </g>
- <g transform="translate(0, 32)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="Hall">
- <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="Hall">
- <text x="0.0" y="13.8" stroke="none" data-name="Hall">- int number</text>
- <text x="0.0" y="29.4" stroke="none" data-name="Hall">- unsigned rowCount</text>
- <text x="0.0" y="45.0" stroke="none" data-name="Hall">- unsigned seatsPerRow</text>
-
- </g>
- </g>
- </g>
- <g data-name="Venue">
- <g fill="#fdf6e3" stroke="#33322E" data-name="Venue">
- <rect x="25.0" y="135.0" height="79.0" width="141.0" data-name="Venue"></rect>
- <path d="M25.0 167.0 L166.0 167.0" fill="none" data-name="Venue"></path>
- </g>
- <g transform="translate(25, 135)" font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" data-name="Venue">
- <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="Venue">
- <text x="62.5" y="13.8" stroke="none" text-anchor="middle" data-name="Venue">Venue</text>
-
- </g>
- </g>
- <g transform="translate(25, 167)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="Venue">
- <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="Venue">
- <text x="0.0" y="13.8" stroke="none" data-name="Venue">- List&lt;Hall&gt; halls</text>
- <text x="0.0" y="29.4" stroke="none" data-name="Venue">- EventSystem es</text>
-
- </g>
- </g>
- </g>
- </g>
- </g>
- </g>
- </g>
- <g data-name="System for events">
- <g fill="#b2ee97" stroke="#33322E" data-name="System for events">
- <rect x="817.0" y="0.0" height="830.0" width="405.0" data-name="System for events"></rect>
- </g>
- <g transform="translate(817, 0)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="italic" data-name="System for events">
- <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="System for events">
- <text x="194.5" y="13.8" stroke="none" text-anchor="middle" data-name="System for events">System for events</text>
- <g transform="translate(20, 20)" fill="#33322E" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="System for events">
- <g stroke-dasharray="4 4" data-name="System for events">
- <path d="M86.3 93.7 L86.25 115 L101.66484716157206 135 L101.7 135.0 " fill="none" data-name="System for events"></path>
- </g>
- <path d="M91.6 100.3 L86.3 100.3 L80.9 100.3 L86.3 87.0 Z" data-name="System for events"></path>
- <g stroke-dasharray="4 4" data-name="System for events">
- <path d="M262.8 101.7 L262.75 115 L247.33515283842794 135 L247.3 135.0 " fill="none" data-name="System for events"></path>
- </g>
- <path d="M268.1 108.3 L262.8 108.3 L257.4 108.3 L262.8 95.0 Z" data-name="System for events"></path>
- <g stroke-dasharray="4 4" data-name="System for events">
- <path d="M174.5 330.7 L174.5 344 L174.5 364 L174.5 364.0 " fill="none" data-name="System for events"></path>
- </g>
- <path d="M179.8 337.3 L174.5 337.3 L169.2 337.3 L174.5 324.0 Z" data-name="System for events"></path>
- <g data-name="Event">
- <g fill="#fdf6e3" stroke="#33322E" data-name="Event">
- <rect x="18.0" y="135.0" height="189.0" width="314.0" data-name="Event"></rect>
- <path d="M18.0 167.0 L332.0 167.0" fill="none" data-name="Event"></path>
- <path d="M18.0 261.0 L332.0 261.0" fill="none" data-name="Event"></path>
- </g>
- <g transform="translate(18, 135)" font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" data-name="Event">
- <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="Event">
- <text x="149.0" y="13.8" stroke="none" text-anchor="middle" data-name="Event">Event</text>
-
- </g>
- </g>
- <g transform="translate(18, 167)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="Event">
- <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="Event">
- <text x="0.0" y="13.8" stroke="none" data-name="Event">- OrderedList&lt;Ticket&gt; _tickets</text>
- <text x="0.0" y="29.4" stroke="none" data-name="Event">- OrderedList&lt;Reservation&gt; _reservations</text>
- <text x="0.0" y="45.0" stroke="none" data-name="Event">+ Date date</text>
- <text x="0.0" y="60.6" stroke="none" data-name="Event">+ String name</text>
- <text x="0.0" y="76.2" stroke="none" data-name="Event">+ Hall* hall</text>
-
- </g>
- </g>
- <g transform="translate(18, 261)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="Event">
- <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="Event">
- <text x="0.0" y="13.8" stroke="none" data-name="Event">+ reserveTicket()</text>
- <text x="0.0" y="29.4" stroke="none" data-name="Event">+ cancelReservation()</text>
- <text x="0.0" y="45.0" stroke="none" data-name="Event">+ buyTicket()</text>
-
- </g>
- </g>
- </g>
- <g data-name="EventSystem">
- <g fill="#fdf6e3" stroke="#33322E" data-name="EventSystem">
- <rect x="0.0" y="364.0" height="282.0" width="349.0" data-name="EventSystem"></rect>
- <path d="M0.0 396.0 L349.0 396.0" fill="none" data-name="EventSystem"></path>
- <path d="M0.0 443.0 L349.0 443.0" fill="none" data-name="EventSystem"></path>
- </g>
- <g transform="translate(0, 364)" font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" data-name="EventSystem">
- <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="EventSystem">
- <text x="166.5" y="13.8" stroke="none" text-anchor="middle" data-name="EventSystem">EventSystem</text>
-
- </g>
- </g>
- <g transform="translate(0, 396)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="EventSystem">
- <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="EventSystem">
- <text x="0.0" y="13.8" stroke="none" data-name="EventSystem">- OrderedList&lt;Event&gt; _events</text>
- <text x="0.0" y="29.4" stroke="none" data-name="EventSystem">- unsigned _soonestUpcoming</text>
-
- </g>
- </g>
- <g transform="translate(0, 443)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="EventSystem">
- <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="EventSystem">
- <text x="0.0" y="13.8" stroke="none" data-name="EventSystem">+ createEvent() ★</text>
- <text x="0.0" y="29.4" stroke="none" data-name="EventSystem">+ cancelEvent()</text>
- <text x="0.0" y="45.0" stroke="none" data-name="EventSystem">+ reserveTicket(eventIndex, note, row, seat) ★</text>
- <text x="0.0" y="60.6" stroke="none" data-name="EventSystem">+ cancelTicketReservation() ★</text>
- <text x="0.0" y="76.2" stroke="none" data-name="EventSystem">+ buyTicket() ★</text>
- <text x="0.0" y="91.8" stroke="none" data-name="EventSystem">+ queryUpcoming(hallIndex)</text>
- <text x="0.0" y="107.4" stroke="none" data-name="EventSystem">+ queryFreeSeats(eventIndex) ★</text>
- <text x="0.0" y="123.0" stroke="none" data-name="EventSystem">+ queryReservations(eventIndex)</text>
- <text x="0.0" y="138.6" stroke="none" data-name="EventSystem">+ reportReservations(eventIndex) ★</text>
- <text x="0.0" y="154.2" stroke="none" data-name="EventSystem">+ queryBoughtTickets(stDate, endDate, hall) ★</text>
- <text x="0.0" y="169.8" stroke="none" data-name="EventSystem">+ queryMostVisited() ☆</text>
- <text x="0.0" y="185.4" stroke="none" data-name="EventSystem">+ queryInsufficientlyVisited() ☆</text>
-
- </g>
- </g>
- </g>
- <g data-name="Ticket">
- <g fill="#fdf6e3" stroke="#33322E" data-name="Ticket">
- <rect x="24.0" y="8.0" height="79.0" width="125.0" data-name="Ticket"></rect>
- <path d="M24.0 40.0 L149.0 40.0" fill="none" data-name="Ticket"></path>
- </g>
- <g transform="translate(24, 8)" font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" data-name="Ticket">
- <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="Ticket">
- <text x="54.5" y="13.8" stroke="none" text-anchor="middle" data-name="Ticket">Ticket</text>
-
- </g>
- </g>
- <g transform="translate(24, 40)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="Ticket">
- <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="Ticket">
- <text x="0.0" y="13.8" stroke="none" data-name="Ticket">- unsigned row</text>
- <text x="0.0" y="29.4" stroke="none" data-name="Ticket">- unsigned seat</text>
-
- </g>
- </g>
- </g>
- <g data-name="Reservation">
- <g fill="#fdf6e3" stroke="#33322E" data-name="Reservation">
- <rect x="189.0" y="0.0" height="95.0" width="148.0" data-name="Reservation"></rect>
- <path d="M189.0 32.0 L337.0 32.0" fill="none" data-name="Reservation"></path>
- </g>
- <g transform="translate(189, 0)" font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" data-name="Reservation">
- <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="Reservation">
- <text x="66.0" y="13.8" stroke="none" text-anchor="middle" data-name="Reservation">Reservation</text>
-
- </g>
- </g>
- <g transform="translate(189, 32)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="Reservation">
- <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="Reservation">
- <text x="0.0" y="13.8" stroke="none" data-name="Reservation">- Ticket ticket</text>
- <text x="0.0" y="29.4" stroke="none" data-name="Reservation">- char[8] password</text>
- <text x="0.0" y="45.0" stroke="none" data-name="Reservation">- char[32] note</text>
-
- </g>
- </g>
- </g>
- <g data-name="StatusCodes.h">
- <g fill="#fdf6e3" stroke="#33322E" data-name="StatusCodes.h">
- <rect x="103.0" y="686.0" height="64.0" width="144.0" data-name="StatusCodes.h"></rect>
- <path d="M103.0 718.0 L247.0 718.0" fill="none" data-name="StatusCodes.h"></path>
- </g>
- <g transform="translate(103, 686)" font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" data-name="StatusCodes.h">
- <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="StatusCodes.h">
- <text x="64.0" y="13.8" stroke="none" text-anchor="middle" data-name="StatusCodes.h">StatusCodes.h</text>
-
- </g>
- </g>
- <g transform="translate(103, 718)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="StatusCodes.h">
- <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="StatusCodes.h">
- <text x="0.0" y="13.8" stroke="none" data-name="StatusCodes.h">enum StatusCode</text>
-
- </g>
- </g>
- </g>
- </g>
- </g>
- </g>
- </g>
- </g>
- </g>
- </g>
- </g>
-</svg> \ No newline at end of file
diff --git a/docs/FMI-OOP-P1_TicketSystem Overview.nomnoml b/docs/FMI-OOP-P1_TicketSystem Overview.nomnoml
new file mode 100644
index 0000000..2a86552
--- /dev/null
+++ b/docs/FMI-OOP-P1_TicketSystem Overview.nomnoml
@@ -0,0 +1,133 @@
+#title: FMI-OOP-P1_TicketSystem Overview
+#background: #fdf6e3
+#bendSize: 0
+#fillArrows: true
+#lineWidth: 2
+#leading: 1.3
+
+#.groupui: title=italic fill=#b2ee97 direction=right
+#.groupes: title=italic fill=#97c8ee direction=right
+#.groupe: title=italic fill=#ee9797 direction=right
+#.groupv: title=italic fill=#eee997 direction=right
+#.groupsc: title=italic fill=#c0baac direction=right
+
+[<groupui> User Interface|
+
+ [Command|
+ String name
+ void (*exec)()
+ ]
+
+ [Menu|
+ List<Command> commands
+ navigate()
+ ]
+ [Menu]-->[Command]
+]
+
+[<groupv> Venue Container|
+ [Hall|
+ int index
+ unsigned rowCount
+ unsigned seatsPerRow
+ ]
+
+ [Venue|
+ List<Hall> halls
+ EventSystem es
+ ]
+ [Venue]-->[Hall]
+]
+
+[VenueConsoleUI.cpp|
+ Venue* venue
+ run()
+]
+[User Interface]--[VenueConsoleUI.cpp]
+[Venue Container]--[VenueConsoleUI.cpp]
+
+[<groupes> Events Manager|
+ [EventSystem|
+ OrderedList<Event> events
+ |
+ + createEvent()
+ . cancelEvent()
+ + reserveTicket()
+ + cancelTicketReservation()
+ + buyTicket()
+ . queryEventHall()
+ . queryTickets()
+ . queryReservations()
+ ~ queryMostVisited()
+ ~ queryInsufficientlyVisited()
+ + reportBoughtTickets()
+ + reportReservations()
+ ]
+
+ [StatusCodes.h|
+ enum StatusCode
+ ]
+ [EventSystem]-/-[StatusCodes.h]
+]
+[VenueConsoleUI.cpp]Venue (instance) ->[Events Manager]
+
+[<groupe> Event Object|
+ [Ticket|
+ unsigned row
+ unsigned seat
+ ]
+
+ [Reservation|
+ Ticket ticket
+ char\[8\] password
+ char\[32\] note
+ ]
+
+ [Event|
+ Hall* hall
+ String name
+ Date date
+ OrderedList<Ticket> _tickets
+ OrderedList<Reservation> _reservations
+ |
+ reserveTicket()
+ cancelReservation()
+ buyTicket()
+ ]
+ [Event]-->[Ticket]
+ [Event]-->[Reservation]
+]
+[Events Manager]OrderedList<Event> ->[Event Object]
+
+[<groupsc> Standard Classes|
+ [List<T>|
+ add(elem)
+ insertAt(elem, index)
+ removeAt(index)
+ findIndex(elem);
+ contain(elem);
+ operator\[\](index)
+ ]
+
+ [OrderedList<T>|
+ insert(elem)
+ remove(elem)
+ ]
+ [List<T>]<:-[OrderedList<T>]
+
+ [Date|
+ unsigned day
+ unsigned month
+ int year
+ ]
+
+ [String|
+ char* str
+ unsigned length
+ unsigned count
+ ]
+
+ [String]-/-[Date]
+]
+[<hidden>H1]-/-[<hidden>H2]
+[H2]-/-[Standard Classes] \ No newline at end of file
diff --git a/docs/FMI-OOP-P1_TicketSystem Overview.svg b/docs/FMI-OOP-P1_TicketSystem Overview.svg
new file mode 100644
index 0000000..20e0379
--- /dev/null
+++ b/docs/FMI-OOP-P1_TicketSystem Overview.svg
@@ -0,0 +1,575 @@
+<svg version="1.1" baseProfile="full" width="1275.5" height="1105.0" viewbox="0 0 1275.5 1105" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events">
+ <title >FMI-OOP-P1_TicketSystem Overview</title>
+ <desc >#title: FMI-OOP-P1_TicketSystem Overview
+ #background: #fdf6e3
+ #bendSize: 0
+ #fillArrows: true
+ #lineWidth: 2
+ #leading: 1.3
+
+ #.groupui: title=italic fill=#b2ee97 direction=right
+ #.groupes: title=italic fill=#97c8ee direction=right
+ #.groupe: title=italic fill=#ee9797 direction=right
+ #.groupv: title=italic fill=#eee997 direction=right
+ #.groupsc: title=italic fill=#c0baac direction=right
+
+ [&lt;groupui&gt; User Interface|
+
+ [Command|
+ String name
+ void (*exec)()
+ ]
+
+ [Menu|
+ List&lt;Command&gt; commands
+ navigate()
+ ]
+ [Menu]--&gt;[Command]
+ ]
+
+ [&lt;groupv&gt; Venue Container|
+ [Hall|
+ int index
+ unsigned rowCount
+ unsigned seatsPerRow
+ ]
+
+ [Venue|
+ List&lt;Hall&gt; halls
+ EventSystem es
+ ]
+ [Venue]--&gt;[Hall]
+ ]
+
+ [VenueConsoleUI.cpp|
+ Venue* venue
+ run()
+ ]
+ [User Interface]--[VenueConsoleUI.cpp]
+ [Venue Container]--[VenueConsoleUI.cpp]
+
+ [&lt;groupes&gt; Events Manager|
+ [EventSystem|
+ OrderedList&lt;Event&gt; events
+ |
+ + createEvent()
+ . cancelEvent()
+ + reserveTicket()
+ + cancelTicketReservation()
+ + buyTicket()
+ . queryEventHall()
+ . queryTickets()
+ . queryReservations()
+ ~ queryMostVisited()
+ ~ queryInsufficientlyVisited()
+ + reportBoughtTickets()
+ + reportReservations()
+ ]
+
+ [StatusCodes.h|
+ enum StatusCode
+ ]
+ [EventSystem]-/-[StatusCodes.h]
+ ]
+ [VenueConsoleUI.cpp]Venue (instance) -&gt;[Events Manager]
+
+ [&lt;groupe&gt; Event Object|
+ [Ticket|
+ unsigned row
+ unsigned seat
+ ]
+
+ [Reservation|
+ Ticket ticket
+ char\[8\] password
+ char\[32\] note
+ ]
+
+ [Event|
+ Hall* hall
+ String name
+ Date date
+ OrderedList&lt;Ticket&gt; _tickets
+ OrderedList&lt;Reservation&gt; _reservations
+ |
+ reserveTicket()
+ cancelReservation()
+ buyTicket()
+ ]
+ [Event]--&gt;[Ticket]
+ [Event]--&gt;[Reservation]
+ ]
+ [Events Manager]OrderedList&lt;Event&gt; -&gt;[Event Object]
+
+ [&lt;groupsc&gt; Standard Classes|
+ [List&lt;T&gt;|
+ add(elem)
+ insertAt(elem, index)
+ removeAt(index)
+ findIndex(elem);
+ contain(elem);
+ operator\[\](index)
+ ]
+
+ [OrderedList&lt;T&gt;|
+ insert(elem)
+ remove(elem)
+ ]
+ [List&lt;T&gt;]&lt;:-[OrderedList&lt;T&gt;]
+
+ [Date|
+ unsigned day
+ unsigned month
+ int year
+ ]
+
+ [String|
+ char* str
+ unsigned length
+ unsigned count
+ ]
+
+ [String]-/-[Date]
+ ]
+ [&lt;hidden&gt;H1]-/-[&lt;hidden&gt;H2]
+ [H2]-/-[Standard Classes]</desc>
+ <g stroke-width="1.0" text-align="left" font="12pt Helvetica, Arial, sans-serif" font-size="12pt" font-family="Helvetica" font-weight="bold" font-style="normal">
+ <g font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="round" stroke="#33322E">
+ <g stroke="transparent" fill="#fdf6e3">
+ <rect x="0.0" y="0.0" height="1105.0" width="1275.5" stroke="none"></rect>
+ </g>
+ <g transform="translate(8, 8)" fill="#33322E">
+ <g transform="translate(20, 20)" fill="#33322E" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal">
+ <g stroke-dasharray="4 4">
+ <path d="M211.5 175.0 L211.5 203 L352 239.6655701754386 L352.0 239.7 " fill="none"></path>
+ </g>
+ <g stroke-dasharray="4 4">
+ <path d="M667.5 183.0 L667.5 203 L527 239.6655701754386 L527.0 239.7 " fill="none"></path>
+ </g>
+ <text x="447.5" y="322.0" stroke="none">Venue (instance)</text>
+ <path d="M439.5 302.0 L439.5 322 L439.5 340.3333333333333 L439.5 340.3 " fill="none"></path>
+ <path d="M434.2 333.7 L439.5 333.7 L444.8 333.7 L439.5 347.0 Z"></path>
+ <text x="447.5" y="722.0" stroke="none">OrderedList&lt;Event&gt;</text>
+ <path d="M439.5 702.0 L439.5 727 L439.5 740.3333333333334 L439.5 740.3 " fill="none"></path>
+ <path d="M434.2 733.7 L439.5 733.7 L444.8 733.7 L439.5 747.0 Z"></path>
+ <g data-name="User Interface">
+ <g fill="#b2ee97" stroke="#33322E" data-name="User Interface">
+ <rect x="0.0" y="8.0" height="167.0" width="423.0" data-name="User Interface"></rect>
+ <path d="M0.0 40.0 L423.0 40.0" fill="none" data-name="User Interface"></path>
+ </g>
+ <g transform="translate(0, 8)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="italic" data-name="User Interface">
+ <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="User Interface">
+ <text x="203.5" y="13.8" stroke="none" text-anchor="middle" data-name="User Interface">User Interface</text>
+
+ </g>
+ </g>
+ <g transform="translate(0, 40)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="User Interface">
+ <g transform="translate(8, 8)" fill="#33322E" data-name="User Interface">
+ <g transform="translate(20, 20)" fill="#33322E" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="User Interface">
+ <g stroke-dasharray="4 4" data-name="User Interface">
+ <path d="M216.0 39.5 L236 39.5 L249.33333333333334 39.5 L249.3 39.5 " fill="none" data-name="User Interface"></path>
+ </g>
+ <path d="M242.7 44.8 L242.7 39.5 L242.7 34.2 L256.0 39.5 Z" data-name="User Interface"></path>
+ <g data-name="Command">
+ <g fill="#fdf6e3" stroke="#33322E" data-name="Command">
+ <rect x="256.0" y="0.0" height="79.0" width="111.0" data-name="Command"></rect>
+ <path d="M256.0 32.0 L367.0 32.0" fill="none" data-name="Command"></path>
+ </g>
+ <g transform="translate(256, 0)" font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" data-name="Command">
+ <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="Command">
+ <text x="47.5" y="13.8" stroke="none" text-anchor="middle" data-name="Command">Command</text>
+
+ </g>
+ </g>
+ <g transform="translate(256, 32)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="Command">
+ <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="Command">
+ <text x="0.0" y="13.8" stroke="none" data-name="Command">String name</text>
+ <text x="0.0" y="29.4" stroke="none" data-name="Command">void (*exec)()</text>
+
+ </g>
+ </g>
+ </g>
+ <g data-name="Menu">
+ <g fill="#fdf6e3" stroke="#33322E" data-name="Menu">
+ <rect x="0.0" y="0.0" height="79.0" width="216.0" data-name="Menu"></rect>
+ <path d="M0.0 32.0 L216.0 32.0" fill="none" data-name="Menu"></path>
+ </g>
+ <g transform="translate(0, 0)" font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" data-name="Menu">
+ <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="Menu">
+ <text x="100.0" y="13.8" stroke="none" text-anchor="middle" data-name="Menu">Menu</text>
+
+ </g>
+ </g>
+ <g transform="translate(0, 32)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="Menu">
+ <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="Menu">
+ <text x="0.0" y="13.8" stroke="none" data-name="Menu">List&lt;Command&gt; commands</text>
+ <text x="0.0" y="29.4" stroke="none" data-name="Menu">navigate()</text>
+
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g data-name="Venue Container">
+ <g fill="#eee997" stroke="#33322E" data-name="Venue Container">
+ <rect x="463.0" y="0.0" height="183.0" width="409.0" data-name="Venue Container"></rect>
+ <path d="M463.0 32.0 L872.0 32.0" fill="none" data-name="Venue Container"></path>
+ </g>
+ <g transform="translate(463, 0)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="italic" data-name="Venue Container">
+ <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="Venue Container">
+ <text x="196.5" y="13.8" stroke="none" text-anchor="middle" data-name="Venue Container">Venue Container</text>
+
+ </g>
+ </g>
+ <g transform="translate(463, 32)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="Venue Container">
+ <g transform="translate(8, 8)" fill="#33322E" data-name="Venue Container">
+ <g transform="translate(20, 20)" fill="#33322E" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="Venue Container">
+ <g stroke-dasharray="4 4" data-name="Venue Container">
+ <path d="M132.0 47.5 L152 47.5 L165.33333333333334 47.5 L165.3 47.5 " fill="none" data-name="Venue Container"></path>
+ </g>
+ <path d="M158.7 52.8 L158.7 47.5 L158.7 42.2 L172.0 47.5 Z" data-name="Venue Container"></path>
+ <g data-name="Hall">
+ <g fill="#fdf6e3" stroke="#33322E" data-name="Hall">
+ <rect x="172.0" y="0.0" height="95.0" width="181.0" data-name="Hall"></rect>
+ <path d="M172.0 32.0 L353.0 32.0" fill="none" data-name="Hall"></path>
+ </g>
+ <g transform="translate(172, 0)" font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" data-name="Hall">
+ <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="Hall">
+ <text x="82.5" y="13.8" stroke="none" text-anchor="middle" data-name="Hall">Hall</text>
+
+ </g>
+ </g>
+ <g transform="translate(172, 32)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="Hall">
+ <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="Hall">
+ <text x="0.0" y="13.8" stroke="none" data-name="Hall">int index</text>
+ <text x="0.0" y="29.4" stroke="none" data-name="Hall">unsigned rowCount</text>
+ <text x="0.0" y="45.0" stroke="none" data-name="Hall">unsigned seatsPerRow</text>
+
+ </g>
+ </g>
+ </g>
+ <g data-name="Venue">
+ <g fill="#fdf6e3" stroke="#33322E" data-name="Venue">
+ <rect x="0.0" y="8.0" height="79.0" width="132.0" data-name="Venue"></rect>
+ <path d="M0.0 40.0 L132.0 40.0" fill="none" data-name="Venue"></path>
+ </g>
+ <g transform="translate(0, 8)" font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" data-name="Venue">
+ <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="Venue">
+ <text x="58.0" y="13.8" stroke="none" text-anchor="middle" data-name="Venue">Venue</text>
+
+ </g>
+ </g>
+ <g transform="translate(0, 40)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="Venue">
+ <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="Venue">
+ <text x="0.0" y="13.8" stroke="none" data-name="Venue">List&lt;Hall&gt; halls</text>
+ <text x="0.0" y="29.4" stroke="none" data-name="Venue">EventSystem es</text>
+
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g data-name="VenueConsoleUI.cpp">
+ <g fill="#eee8d5" stroke="#33322E" data-name="VenueConsoleUI.cpp">
+ <rect x="352.0" y="223.0" height="79.0" width="175.0" data-name="VenueConsoleUI.cpp"></rect>
+ <path d="M352.0 255.0 L527.0 255.0" fill="none" data-name="VenueConsoleUI.cpp"></path>
+ </g>
+ <g transform="translate(352, 223)" font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" data-name="VenueConsoleUI.cpp">
+ <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="VenueConsoleUI.cpp">
+ <text x="79.5" y="13.8" stroke="none" text-anchor="middle" data-name="VenueConsoleUI.cpp">VenueConsoleUI.cpp</text>
+
+ </g>
+ </g>
+ <g transform="translate(352, 255)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="VenueConsoleUI.cpp">
+ <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="VenueConsoleUI.cpp">
+ <text x="0.0" y="13.8" stroke="none" data-name="VenueConsoleUI.cpp">Venue* venue</text>
+ <text x="0.0" y="29.4" stroke="none" data-name="VenueConsoleUI.cpp">run()</text>
+
+ </g>
+ </g>
+ </g>
+ <g data-name="Events Manager">
+ <g fill="#97c8ee" stroke="#33322E" data-name="Events Manager">
+ <rect x="212.0" y="347.0" height="355.0" width="456.0" data-name="Events Manager"></rect>
+ <path d="M212.0 379.0 L668.0 379.0" fill="none" data-name="Events Manager"></path>
+ </g>
+ <g transform="translate(212, 347)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="italic" data-name="Events Manager">
+ <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="Events Manager">
+ <text x="220.0" y="13.8" stroke="none" text-anchor="middle" data-name="Events Manager">Events Manager</text>
+
+ </g>
+ </g>
+ <g transform="translate(212, 379)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="Events Manager">
+ <g transform="translate(8, 8)" fill="#33322E" data-name="Events Manager">
+ <g transform="translate(20, 20)" fill="#33322E" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="Events Manager">
+ <g data-name="EventSystem">
+ <g fill="#fdf6e3" stroke="#33322E" data-name="EventSystem">
+ <rect x="0.0" y="0.0" height="267.0" width="216.0" data-name="EventSystem"></rect>
+ <path d="M0.0 32.0 L216.0 32.0" fill="none" data-name="EventSystem"></path>
+ <path d="M0.0 64.0 L216.0 64.0" fill="none" data-name="EventSystem"></path>
+ </g>
+ <g transform="translate(0, 0)" font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" data-name="EventSystem">
+ <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="EventSystem">
+ <text x="100.0" y="13.8" stroke="none" text-anchor="middle" data-name="EventSystem">EventSystem</text>
+
+ </g>
+ </g>
+ <g transform="translate(0, 32)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="EventSystem">
+ <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="EventSystem">
+ <text x="0.0" y="13.8" stroke="none" data-name="EventSystem">OrderedList&lt;Event&gt; events</text>
+
+ </g>
+ </g>
+ <g transform="translate(0, 64)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="EventSystem">
+ <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="EventSystem">
+ <text x="0.0" y="13.8" stroke="none" data-name="EventSystem">+ createEvent()</text>
+ <text x="0.0" y="29.4" stroke="none" data-name="EventSystem">. cancelEvent()</text>
+ <text x="0.0" y="45.0" stroke="none" data-name="EventSystem">+ reserveTicket()</text>
+ <text x="0.0" y="60.6" stroke="none" data-name="EventSystem">+ cancelTicketReservation()</text>
+ <text x="0.0" y="76.2" stroke="none" data-name="EventSystem">+ buyTicket()</text>
+ <text x="0.0" y="91.8" stroke="none" data-name="EventSystem">. queryEventHall()</text>
+ <text x="0.0" y="107.4" stroke="none" data-name="EventSystem">. queryTickets()</text>
+ <text x="0.0" y="123.0" stroke="none" data-name="EventSystem">. queryReservations()</text>
+ <text x="0.0" y="138.6" stroke="none" data-name="EventSystem">~ queryMostVisited()</text>
+ <text x="0.0" y="154.2" stroke="none" data-name="EventSystem">~ queryInsufficientlyVisited()</text>
+ <text x="0.0" y="169.8" stroke="none" data-name="EventSystem">+ reportBoughtTickets()</text>
+ <text x="0.0" y="185.4" stroke="none" data-name="EventSystem">+ reportReservations()</text>
+
+ </g>
+ </g>
+ </g>
+ <g data-name="StatusCodes.h">
+ <g fill="#fdf6e3" stroke="#33322E" data-name="StatusCodes.h">
+ <rect x="256.0" y="102.0" height="64.0" width="144.0" data-name="StatusCodes.h"></rect>
+ <path d="M256.0 134.0 L400.0 134.0" fill="none" data-name="StatusCodes.h"></path>
+ </g>
+ <g transform="translate(256, 102)" font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" data-name="StatusCodes.h">
+ <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="StatusCodes.h">
+ <text x="64.0" y="13.8" stroke="none" text-anchor="middle" data-name="StatusCodes.h">StatusCodes.h</text>
+
+ </g>
+ </g>
+ <g transform="translate(256, 134)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="StatusCodes.h">
+ <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="StatusCodes.h">
+ <text x="0.0" y="13.8" stroke="none" data-name="StatusCodes.h">enum StatusCode</text>
+
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g data-name="Event Object">
+ <g fill="#ee9797" stroke="#33322E" data-name="Event Object">
+ <rect x="171.0" y="747.0" height="302.0" width="538.0" data-name="Event Object"></rect>
+ <path d="M171.0 779.0 L709.0 779.0" fill="none" data-name="Event Object"></path>
+ </g>
+ <g transform="translate(171, 747)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="italic" data-name="Event Object">
+ <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="Event Object">
+ <text x="261.0" y="13.8" stroke="none" text-anchor="middle" data-name="Event Object">Event Object</text>
+
+ </g>
+ </g>
+ <g transform="translate(171, 779)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="Event Object">
+ <g transform="translate(8, 8)" fill="#33322E" data-name="Event Object">
+ <g transform="translate(20, 20)" fill="#33322E" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="Event Object">
+ <g stroke-dasharray="4 4" data-name="Event Object">
+ <path d="M304.0 46.9 L324 39.5 L348.3333333333333 39.5 L348.3 39.5 " fill="none" data-name="Event Object"></path>
+ </g>
+ <path d="M341.7 44.8 L341.7 39.5 L341.7 34.2 L355.0 39.5 Z" data-name="Event Object"></path>
+ <g stroke-dasharray="4 4" data-name="Event Object">
+ <path d="M304.0 159.1 L324 166.5 L337.3333333333333 166.5 L337.3 166.5 " fill="none" data-name="Event Object"></path>
+ </g>
+ <path d="M330.7 171.8 L330.7 166.5 L330.7 161.2 L344.0 166.5 Z" data-name="Event Object"></path>
+ <g data-name="Event">
+ <g fill="#fdf6e3" stroke="#33322E" data-name="Event">
+ <rect x="0.0" y="9.0" height="189.0" width="304.0" data-name="Event"></rect>
+ <path d="M0.0 41.0 L304.0 41.0" fill="none" data-name="Event"></path>
+ <path d="M0.0 135.0 L304.0 135.0" fill="none" data-name="Event"></path>
+ </g>
+ <g transform="translate(0, 9)" font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" data-name="Event">
+ <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="Event">
+ <text x="144.0" y="13.8" stroke="none" text-anchor="middle" data-name="Event">Event</text>
+
+ </g>
+ </g>
+ <g transform="translate(0, 41)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="Event">
+ <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="Event">
+ <text x="0.0" y="13.8" stroke="none" data-name="Event">Hall* hall</text>
+ <text x="0.0" y="29.4" stroke="none" data-name="Event">String name</text>
+ <text x="0.0" y="45.0" stroke="none" data-name="Event">Date date</text>
+ <text x="0.0" y="60.6" stroke="none" data-name="Event">OrderedList&lt;Ticket&gt; _tickets</text>
+ <text x="0.0" y="76.2" stroke="none" data-name="Event">OrderedList&lt;Reservation&gt; _reservations</text>
+
+ </g>
+ </g>
+ <g transform="translate(0, 135)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="Event">
+ <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="Event">
+ <text x="0.0" y="13.8" stroke="none" data-name="Event">reserveTicket()</text>
+ <text x="0.0" y="29.4" stroke="none" data-name="Event">cancelReservation()</text>
+ <text x="0.0" y="45.0" stroke="none" data-name="Event">buyTicket()</text>
+
+ </g>
+ </g>
+ </g>
+ <g data-name="Ticket">
+ <g fill="#fdf6e3" stroke="#33322E" data-name="Ticket">
+ <rect x="355.0" y="0.0" height="79.0" width="116.0" data-name="Ticket"></rect>
+ <path d="M355.0 32.0 L471.0 32.0" fill="none" data-name="Ticket"></path>
+ </g>
+ <g transform="translate(355, 0)" font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" data-name="Ticket">
+ <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="Ticket">
+ <text x="50.0" y="13.8" stroke="none" text-anchor="middle" data-name="Ticket">Ticket</text>
+
+ </g>
+ </g>
+ <g transform="translate(355, 32)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="Ticket">
+ <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="Ticket">
+ <text x="0.0" y="13.8" stroke="none" data-name="Ticket">unsigned row</text>
+ <text x="0.0" y="29.4" stroke="none" data-name="Ticket">unsigned seat</text>
+
+ </g>
+ </g>
+ </g>
+ <g data-name="Reservation">
+ <g fill="#fdf6e3" stroke="#33322E" data-name="Reservation">
+ <rect x="344.0" y="119.0" height="95.0" width="138.0" data-name="Reservation"></rect>
+ <path d="M344.0 151.0 L482.0 151.0" fill="none" data-name="Reservation"></path>
+ </g>
+ <g transform="translate(344, 119)" font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" data-name="Reservation">
+ <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="Reservation">
+ <text x="61.0" y="13.8" stroke="none" text-anchor="middle" data-name="Reservation">Reservation</text>
+
+ </g>
+ </g>
+ <g transform="translate(344, 151)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="Reservation">
+ <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="Reservation">
+ <text x="0.0" y="13.8" stroke="none" data-name="Reservation">Ticket ticket</text>
+ <text x="0.0" y="29.4" stroke="none" data-name="Reservation">char[8] password</text>
+ <text x="0.0" y="45.0" stroke="none" data-name="Reservation">char[32] note</text>
+
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g data-name="Standard Classes">
+ <g fill="#c0baac" stroke="#33322E" data-name="Standard Classes">
+ <rect x="826.0" y="342.0" height="365.0" width="394.0" data-name="Standard Classes"></rect>
+ <path d="M826.0 374.0 L1220.0 374.0" fill="none" data-name="Standard Classes"></path>
+ </g>
+ <g transform="translate(826, 342)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="italic" data-name="Standard Classes">
+ <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="Standard Classes">
+ <text x="189.0" y="13.8" stroke="none" text-anchor="middle" data-name="Standard Classes">Standard Classes</text>
+
+ </g>
+ </g>
+ <g transform="translate(826, 374)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="Standard Classes">
+ <g transform="translate(8, 8)" fill="#33322E" data-name="Standard Classes">
+ <g transform="translate(20, 20)" fill="#33322E" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="Standard Classes">
+ <path d="M176.3 71.0 L183 71 L203 71 L203.0 71.0 " fill="none" data-name="Standard Classes"></path>
+ <path d="M176.3 65.7 L176.3 71.0 L176.3 76.3 L163.0 71.0 Z" data-name="Standard Classes"></path>
+ <g data-name="List&lt;T&gt;">
+ <g fill="#fdf6e3" stroke="#33322E" data-name="List&lt;T&gt;">
+ <rect x="0.0" y="0.0" height="142.0" width="163.0" data-name="List&lt;T&gt;"></rect>
+ <path d="M0.0 32.0 L163.0 32.0" fill="none" data-name="List&lt;T&gt;"></path>
+ </g>
+ <g transform="translate(0, 0)" font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" data-name="List&lt;T&gt;">
+ <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="List&lt;T&gt;">
+ <text x="73.5" y="13.8" stroke="none" text-anchor="middle" data-name="List&lt;T&gt;">List&lt;T&gt;</text>
+
+ </g>
+ </g>
+ <g transform="translate(0, 32)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="List&lt;T&gt;">
+ <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="List&lt;T&gt;">
+ <text x="0.0" y="13.8" stroke="none" data-name="List&lt;T&gt;">add(elem)</text>
+ <text x="0.0" y="29.4" stroke="none" data-name="List&lt;T&gt;">insertAt(elem, index)</text>
+ <text x="0.0" y="45.0" stroke="none" data-name="List&lt;T&gt;">removeAt(index)</text>
+ <text x="0.0" y="60.6" stroke="none" data-name="List&lt;T&gt;">findIndex(elem)</text>
+ <text x="0.0" y="76.2" stroke="none" data-name="List&lt;T&gt;">contain(elem)</text>
+ <text x="0.0" y="91.8" stroke="none" data-name="List&lt;T&gt;">operator[](index)</text>
+
+ </g>
+ </g>
+ </g>
+ <g data-name="OrderedList&lt;T&gt;">
+ <g fill="#fdf6e3" stroke="#33322E" data-name="OrderedList&lt;T&gt;">
+ <rect x="203.0" y="32.0" height="79.0" width="135.0" data-name="OrderedList&lt;T&gt;"></rect>
+ <path d="M203.0 64.0 L338.0 64.0" fill="none" data-name="OrderedList&lt;T&gt;"></path>
+ </g>
+ <g transform="translate(203, 32)" font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" data-name="OrderedList&lt;T&gt;">
+ <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="OrderedList&lt;T&gt;">
+ <text x="59.5" y="13.8" stroke="none" text-anchor="middle" data-name="OrderedList&lt;T&gt;">OrderedList&lt;T&gt;</text>
+
+ </g>
+ </g>
+ <g transform="translate(203, 64)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="OrderedList&lt;T&gt;">
+ <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="OrderedList&lt;T&gt;">
+ <text x="0.0" y="13.8" stroke="none" data-name="OrderedList&lt;T&gt;">insert(elem)</text>
+ <text x="0.0" y="29.4" stroke="none" data-name="OrderedList&lt;T&gt;">remove(elem)</text>
+
+ </g>
+ </g>
+ </g>
+ <g data-name="Date">
+ <g fill="#fdf6e3" stroke="#33322E" data-name="Date">
+ <rect x="206.0" y="182.0" height="95.0" width="130.0" data-name="Date"></rect>
+ <path d="M206.0 214.0 L336.0 214.0" fill="none" data-name="Date"></path>
+ </g>
+ <g transform="translate(206, 182)" font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" data-name="Date">
+ <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="Date">
+ <text x="57.0" y="13.8" stroke="none" text-anchor="middle" data-name="Date">Date</text>
+
+ </g>
+ </g>
+ <g transform="translate(206, 214)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="Date">
+ <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="Date">
+ <text x="0.0" y="13.8" stroke="none" data-name="Date">unsigned day</text>
+ <text x="0.0" y="29.4" stroke="none" data-name="Date">unsigned month</text>
+ <text x="0.0" y="45.0" stroke="none" data-name="Date">int year</text>
+
+ </g>
+ </g>
+ </g>
+ <g data-name="String">
+ <g fill="#fdf6e3" stroke="#33322E" data-name="String">
+ <rect x="17.0" y="182.0" height="95.0" width="129.0" data-name="String"></rect>
+ <path d="M17.0 214.0 L146.0 214.0" fill="none" data-name="String"></path>
+ </g>
+ <g transform="translate(17, 182)" font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" data-name="String">
+ <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="String">
+ <text x="56.5" y="13.8" stroke="none" text-anchor="middle" data-name="String">String</text>
+
+ </g>
+ </g>
+ <g transform="translate(17, 214)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="String">
+ <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="String">
+ <text x="0.0" y="13.8" stroke="none" data-name="String">char* str</text>
+ <text x="0.0" y="29.4" stroke="none" data-name="String">unsigned length</text>
+ <text x="0.0" y="45.0" stroke="none" data-name="String">unsigned count</text>
+
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g data-name="H1">
+
+ </g>
+ <g data-name="H2">
+
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg> \ No newline at end of file