Files
the-biergarten-app/docs/website/diagrams-out/database-schema.svg

1 line
76 KiB
XML

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" data-diagram-type="CLASS" height="1430px" preserveAspectRatio="none" style="width:4497px;height:1430px;background:#FFFFFF;" version="1.1" viewBox="0 0 4497 1430" width="4497px" zoomAndPan="magnify"><?plantuml 1.2026.6?><defs/><g><g class="title" data-source-line="7"><text fill="#000000" font-family="Arial" font-size="22" font-weight="700" lengthAdjust="spacing" textLength="188.3213" x="2153.5844" y="35.6357">Database Schema</text></g><!--cluster User & Auth--><g class="cluster" data-qualified-name="User . Auth" data-source-line="10" id="ent0001"><rect fill="#FFFFFF" height="833.56" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1;" width="1496" x="427.49" y="58.2979"/><text fill="#000000" font-family="Arial" font-size="14" font-weight="700" lengthAdjust="spacing" textLength="80.8965" x="1135.0418" y="73.4297">User &amp; Auth</text></g><!--cluster Location--><g class="cluster" data-qualified-name="Location" data-source-line="77" id="ent0009"><rect fill="#FFFFFF" height="560.52" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1;" width="336" x="1947.49" y="323.2879"/><text fill="#000000" font-family="Arial" font-size="14" font-weight="700" lengthAdjust="spacing" textLength="58.3311" x="2086.3245" y="338.4197">Location</text></g><!--cluster Brewery--><g class="cluster" data-qualified-name="Brewery" data-source-line="101" id="ent0013"><rect fill="#FFFFFF" height="346.39" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1;" width="1103" x="2315.49" y="794.3079"/><text fill="#000000" font-family="Arial" font-size="14" font-weight="700" lengthAdjust="spacing" textLength="55.2549" x="2839.3626" y="809.4397">Brewery</text></g><!--cluster Beer (*)--><g class="cluster" data-qualified-name="Beer ..." data-source-line="132" id="ent0017"><rect fill="#FFFFFF" height="633.02" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1;" width="711" x="3772.49" y="740.5179"/><text fill="#000000" font-family="Arial" font-size="14" font-weight="700" lengthAdjust="spacing" textLength="49.793" x="4103.0935" y="755.6497">Beer (*)</text></g><!--class User--><g class="entity" data-qualified-name="User . Auth.User" data-source-line="11" id="ent0002"><rect fill="#FFFFFF" height="172.7891" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1;" width="296.2891" x="1393.34" y="93.2979"/><ellipse cx="1497.6623" cy="107.2979" fill="#FFFFFF" rx="9" ry="9" style="stroke:#000000;stroke-width:1;"/><path d="M1501.2765,113.7979 L1493.5568,113.7979 L1493.5568,101.4048 L1501.2765,101.4048 L1501.2765,103.563 L1496.0055,103.563 L1496.0055,106.2358 L1500.7785,106.2358 L1500.7785,108.394 L1496.0055,108.394 L1496.0055,111.6396 L1501.2765,111.6396 Z " fill="#000000"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="80.1445" x="1515.1623" y="112.3804">UserAccount</text><line style="stroke:#000000;stroke-width:1;" x1="1394.34" x2="1688.6291" y1="121.2979" y2="121.2979"/><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="1404.34" cy="134.8472" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="272.2891" x="1411.34" y="138.4297">UserAccountID: UNIQUEIDENTIFIER &#171;PK&#187;</text><line style="stroke:#000000;stroke-width:1;" x1="1394.34" x2="1688.6291" y1="145.3965" y2="145.3965"/><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="1404.34" cy="158.9458" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="239.6201" x="1411.34" y="162.5283">Username: VARCHAR(64) &#171;UNIQUE&#187;</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="1404.34" cy="175.0444" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="183.5859" x="1411.34" y="178.627">FirstName: NVARCHAR(128)</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="1404.34" cy="191.1431" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="182.834" x="1411.34" y="194.7256">LastName: NVARCHAR(128)</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="1404.34" cy="207.2417" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="217.834" x="1411.34" y="210.8242">Email: VARCHAR(128) &#171;UNIQUE&#187;</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="1404.34" cy="223.3403" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="141.5928" x="1411.34" y="226.9229">CreatedAt: DATETIME</text><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="144.7168" x="1411.34" y="243.0215">UpdatedAt: DATETIME</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="1404.34" cy="255.5376" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="118.2549" x="1411.34" y="259.1201">DateOfBirth: DATE</text></g><!--class Cred--><g class="entity" data-qualified-name="User . Auth.Cred" data-source-line="23" id="ent0003"><rect fill="#FFFFFF" height="156.6904" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1;" width="309.5166" x="443.73" y="326.0879"/><ellipse cx="548.0523" cy="340.0879" fill="#FFFFFF" rx="9" ry="9" style="stroke:#000000;stroke-width:1;"/><path d="M551.6665,346.5879 L543.9468,346.5879 L543.9468,334.1948 L551.6665,334.1948 L551.6665,336.353 L546.3955,336.353 L546.3955,339.0258 L551.1685,339.0258 L551.1685,341.184 L546.3955,341.184 L546.3955,344.4296 L551.6665,344.4296 Z " fill="#000000"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="93.3721" x="565.5523" y="345.1704">UserCredential</text><line style="stroke:#000000;stroke-width:1;" x1="444.73" x2="752.2466" y1="354.0879" y2="354.0879"/><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="454.73" cy="367.6372" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="285.5166" x="461.73" y="371.2197">UserCredentialID: UNIQUEIDENTIFIER &#171;PK&#187;</text><line style="stroke:#000000;stroke-width:1;" x1="444.73" x2="752.2466" y1="378.1865" y2="378.1865"/><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="454.73" cy="391.7358" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="271.5029" x="461.73" y="395.3183">UserAccountID: UNIQUEIDENTIFIER &#171;FK&#187;</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="454.73" cy="407.8344" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="141.5928" x="461.73" y="411.417">CreatedAt: DATETIME</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="454.73" cy="423.9331" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="117.4551" x="461.73" y="427.5156">Expiry: DATETIME</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="454.73" cy="440.0317" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="151.71" x="461.73" y="443.6142">Hash: NVARCHAR(256)</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="454.73" cy="456.1303" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="95.7031" x="461.73" y="459.7129">IsRevoked: BIT</text><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="147.041" x="461.73" y="475.8115">RevokedAt: DATETIME</text></g><!--class Verify--><g class="entity" data-qualified-name="User . Auth.Verify" data-source-line="34" id="ent0004"><rect fill="#FFFFFF" height="92.2959" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1;" width="357.7305" x="788.62" y="358.2879"/><ellipse cx="914.3285" cy="372.2879" fill="#FFFFFF" rx="9" ry="9" style="stroke:#000000;stroke-width:1;"/><path d="M917.9428,378.7879 L910.223,378.7879 L910.223,366.3948 L917.9428,366.3948 L917.9428,368.553 L912.6718,368.553 L912.6718,371.2258 L917.4447,371.2258 L917.4447,373.384 L912.6718,373.384 L912.6718,376.6296 L917.9428,376.6296 Z " fill="#000000"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="98.8135" x="931.8285" y="377.3704">UserVerification</text><line style="stroke:#000000;stroke-width:1;" x1="789.62" x2="1145.3505" y1="386.2879" y2="386.2879"/><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="799.62" cy="399.8372" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="290.958" x="806.62" y="403.4197">UserVerificationID: UNIQUEIDENTIFIER &#171;PK&#187;</text><line style="stroke:#000000;stroke-width:1;" x1="789.62" x2="1145.3505" y1="410.3865" y2="410.3865"/><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="799.62" cy="423.9358" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="333.7305" x="806.62" y="427.5183">UserAccountID: UNIQUEIDENTIFIER &#171;FK, UNIQUE&#187;</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="799.62" cy="440.0344" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="208.4961" x="806.62" y="443.617">VerificationDateTime: DATETIME</text></g><!--class Profile--><g class="entity" data-qualified-name="User . Auth.Profile" data-source-line="41" id="ent0005"><rect fill="#FFFFFF" height="92.2959" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1;" width="357.7305" x="1181.62" y="358.2879"/><ellipse cx="1322.1146" cy="372.2879" fill="#FFFFFF" rx="9" ry="9" style="stroke:#000000;stroke-width:1;"/><path d="M1325.7289,378.7879 L1318.0092,378.7879 L1318.0092,366.3948 L1325.7289,366.3948 L1325.7289,368.553 L1320.4579,368.553 L1320.4579,371.2258 L1325.2308,371.2258 L1325.2308,373.384 L1320.4579,373.384 L1320.4579,376.6296 L1325.7289,376.6296 Z " fill="#000000"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="69.2412" x="1339.6146" y="377.3704">UserProfile</text><line style="stroke:#000000;stroke-width:1;" x1="1182.62" x2="1538.3505" y1="386.2879" y2="386.2879"/><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="1192.62" cy="399.8372" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="261.3857" x="1199.62" y="403.4197">UserProfileID: UNIQUEIDENTIFIER &#171;PK&#187;</text><line style="stroke:#000000;stroke-width:1;" x1="1182.62" x2="1538.3505" y1="410.3865" y2="410.3865"/><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="1192.62" cy="423.9358" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="333.7305" x="1199.62" y="427.5183">UserAccountID: UNIQUEIDENTIFIER &#171;FK, UNIQUE&#187;</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="1192.62" cy="440.0344" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="189.0479" x="1199.62" y="443.617">Biography: NVARCHAR(MAX)</text></g><!--class Avatar--><g class="entity" data-qualified-name="User . Auth.Avatar" data-source-line="48" id="ent0006"><rect fill="#FFFFFF" height="164.6904" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1;" width="286.165" x="1401.41" y="542.7779"/><ellipse cx="1505.7323" cy="556.7779" fill="#FFFFFF" rx="9" ry="9" style="stroke:#000000;stroke-width:1;"/><path d="M1509.3465,563.2779 L1501.6268,563.2779 L1501.6268,550.8848 L1509.3465,550.8848 L1509.3465,553.043 L1504.0755,553.043 L1504.0755,555.7158 L1508.8485,555.7158 L1508.8485,557.874 L1504.0755,557.874 L1504.0755,561.1196 L1509.3465,561.1196 Z " fill="#000000"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="70.0205" x="1523.2323" y="561.8604">UserAvatar</text><line style="stroke:#000000;stroke-width:1;" x1="1402.41" x2="1686.575" y1="570.7779" y2="570.7779"/><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="1412.41" cy="584.3272" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="262.165" x="1419.41" y="587.9097">UserAvatarID: UNIQUEIDENTIFIER &#171;PK&#187;</text><line style="stroke:#000000;stroke-width:1;" x1="1402.41" x2="1686.575" y1="594.8765" y2="594.8765"/><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="1412.41" cy="608.4258" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="260.5996" x="1419.41" y="612.0083">UserProfileID: UNIQUEIDENTIFIER &#171;FK&#187;</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="1412.41" cy="624.5244" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="227.9443" x="1419.41" y="628.107">PhotoID: UNIQUEIDENTIFIER &#171;FK&#187;</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="1412.41" cy="640.6231" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="167.248" x="1419.41" y="644.2056">ValidFrom: DATETIME2(3)</text><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="150.9238" x="1419.41" y="660.3042">ValidTo: DATETIME2(3)</text><line style="stroke:#000000;stroke-width:1;stroke-dasharray:1,2;" x1="1402.41" x2="1686.575" y1="667.271" y2="667.271"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="212.4063" x="1407.41" y="684.4029">At most one row per UserProfileID</text><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="223.3164" x="1407.41" y="700.5015">has ValidTo IS NULL (active avatar)</text></g><!--class Follow--><g class="entity" data-qualified-name="User . Auth.Follow" data-source-line="60" id="ent0007"><rect fill="#FFFFFF" height="108.3945" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1;" width="295.5029" x="1574.74" y="350.2379"/><ellipse cx="1674.4036" cy="364.2379" fill="#FFFFFF" rx="9" ry="9" style="stroke:#000000;stroke-width:1;"/><path d="M1678.0178,370.7379 L1670.2981,370.7379 L1670.2981,358.3448 L1678.0178,358.3448 L1678.0178,360.503 L1672.7468,360.503 L1672.7468,363.1758 L1677.5198,363.1758 L1677.5198,365.334 L1672.7468,365.334 L1672.7468,368.5796 L1678.0178,368.5796 Z " fill="#000000"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="88.6758" x="1691.9036" y="369.3204">UserFollow (*)</text><line style="stroke:#000000;stroke-width:1;" x1="1575.74" x2="1869.2429" y1="378.2379" y2="378.2379"/><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="1585.74" cy="391.7872" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="262.1582" x="1592.74" y="395.3697">UserFollowID: UNIQUEIDENTIFIER &#171;PK&#187;</text><line style="stroke:#000000;stroke-width:1;" x1="1575.74" x2="1869.2429" y1="402.3365" y2="402.3365"/><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="1585.74" cy="415.8858" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="271.5029" x="1592.74" y="419.4683">UserAccountID: UNIQUEIDENTIFIER &#171;FK&#187;</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="1585.74" cy="431.9844" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="250.4961" x="1592.74" y="435.567">FollowingID: UNIQUEIDENTIFIER &#171;FK&#187;</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="1585.74" cy="448.0831" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="141.5928" x="1592.74" y="451.6656">CreatedAt: DATETIME</text></g><!--class Photo--><g class="entity" data-qualified-name="User . Auth.Photo" data-source-line="68" id="ent0008"><rect fill="#FFFFFF" height="108.3945" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1;" width="291.6338" x="1615.67" y="767.4679"/><ellipse cx="1730.1129" cy="781.4679" fill="#FFFFFF" rx="9" ry="9" style="stroke:#000000;stroke-width:1;"/><path d="M1733.7271,787.9679 L1726.0074,787.9679 L1726.0074,775.5748 L1733.7271,775.5748 L1733.7271,777.733 L1728.4561,777.733 L1728.4561,780.4058 L1733.2291,780.4058 L1733.2291,782.564 L1728.4561,782.564 L1728.4561,785.8096 L1733.7271,785.8096 Z " fill="#000000"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="55.248" x="1747.6129" y="786.5504">Photo (*)</text><line style="stroke:#000000;stroke-width:1;" x1="1616.67" x2="1906.3038" y1="795.4679" y2="795.4679"/><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="1626.67" cy="809.0172" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="228.7305" x="1633.67" y="812.5997">PhotoID: UNIQUEIDENTIFIER &#171;PK&#187;</text><line style="stroke:#000000;stroke-width:1;" x1="1616.67" x2="1906.3038" y1="819.5665" y2="819.5665"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="177.3789" x="1633.67" y="836.6983">Hyperlink: NVARCHAR(256)</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="1626.67" cy="849.2144" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="267.6338" x="1633.67" y="852.797">UploadedByID: UNIQUEIDENTIFIER &#171;FK&#187;</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="1626.67" cy="865.3131" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="151.7236" x="1633.67" y="868.8956">UploadedAt: DATETIME</text></g><!--class Country--><g class="entity" data-qualified-name="Location.Country" data-source-line="78" id="ent0010"><rect fill="#FFFFFF" height="92.2959" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1;" width="265.165" x="1982.91" y="358.2879"/><ellipse cx="2087.2323" cy="372.2879" fill="#FFFFFF" rx="9" ry="9" style="stroke:#000000;stroke-width:1;"/><path d="M2090.8465,378.7879 L2083.1268,378.7879 L2083.1268,366.3948 L2090.8465,366.3948 L2090.8465,368.553 L2085.5755,368.553 L2085.5755,371.2258 L2090.3485,371.2258 L2090.3485,373.384 L2085.5755,373.384 L2085.5755,376.6296 L2090.8465,376.6296 Z " fill="#000000"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="49.0205" x="2104.7323" y="377.3704">Country</text><line style="stroke:#000000;stroke-width:1;" x1="1983.91" x2="2247.075" y1="386.2879" y2="386.2879"/><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="1993.91" cy="399.8372" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="241.165" x="2000.91" y="403.4197">CountryID: UNIQUEIDENTIFIER &#171;PK&#187;</text><line style="stroke:#000000;stroke-width:1;" x1="1983.91" x2="2247.075" y1="410.3865" y2="410.3865"/><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="1993.91" cy="423.9358" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="205.3926" x="2000.91" y="427.5183">CountryName: NVARCHAR(100)</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="1993.91" cy="440.0344" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="209.3027" x="2000.91" y="443.617">ISO3166_1: CHAR(2) &#171;UNIQUE&#187;</text></g><!--class StateProvince--><g class="entity" data-qualified-name="Location.StateProvince" data-source-line="85" id="ent0011"><rect fill="#FFFFFF" height="108.3945" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1;" width="303.3027" x="1963.84" y="570.9279"/><ellipse cx="2068.1623" cy="584.9279" fill="#FFFFFF" rx="9" ry="9" style="stroke:#000000;stroke-width:1;"/><path d="M2071.7765,591.4279 L2064.0568,591.4279 L2064.0568,579.0348 L2071.7765,579.0348 L2071.7765,581.193 L2066.5055,581.193 L2066.5055,583.8658 L2071.2785,583.8658 L2071.2785,586.024 L2066.5055,586.024 L2066.5055,589.2696 L2071.7765,589.2696 Z " fill="#000000"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="87.1582" x="2085.6623" y="590.0104">StateProvince</text><line style="stroke:#000000;stroke-width:1;" x1="1964.84" x2="2266.1427" y1="598.9279" y2="598.9279"/><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="1974.84" cy="612.4772" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="279.3027" x="1981.84" y="616.0597">StateProvinceID: UNIQUEIDENTIFIER &#171;PK&#187;</text><line style="stroke:#000000;stroke-width:1;" x1="1964.84" x2="2266.1427" y1="623.0265" y2="623.0265"/><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="1974.84" cy="636.5758" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="243.5303" x="1981.84" y="640.1583">StateProvinceName: NVARCHAR(100)</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="1974.84" cy="652.6744" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="209.3027" x="1981.84" y="656.257">ISO3166_2: CHAR(6) &#171;UNIQUE&#187;</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="1974.84" cy="668.7731" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="240.3789" x="1981.84" y="672.3556">CountryID: UNIQUEIDENTIFIER &#171;FK&#187;</text></g><!--class City--><g class="entity" data-qualified-name="Location.City" data-source-line="93" id="ent0012"><rect fill="#FFFFFF" height="92.2959" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1;" width="302.5166" x="1964.23" y="775.5179"/><ellipse cx="2099.6831" cy="789.5179" fill="#FFFFFF" rx="9" ry="9" style="stroke:#000000;stroke-width:1;"/><path d="M2103.2974,796.0179 L2095.5777,796.0179 L2095.5777,783.6248 L2103.2974,783.6248 L2103.2974,785.783 L2098.0264,785.783 L2098.0264,788.4558 L2102.7993,788.4558 L2102.7993,790.614 L2098.0264,790.614 L2098.0264,793.8596 L2103.2974,793.8596 Z " fill="#000000"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="24.1104" x="2117.1831" y="794.6004">City</text><line style="stroke:#000000;stroke-width:1;" x1="1965.23" x2="2265.7466" y1="803.5179" y2="803.5179"/><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="1975.23" cy="817.0672" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="216.2549" x="1982.23" y="820.6497">CityID: UNIQUEIDENTIFIER &#171;PK&#187;</text><line style="stroke:#000000;stroke-width:1;" x1="1965.23" x2="2265.7466" y1="827.6165" y2="827.6165"/><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="1975.23" cy="841.1658" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="180.4824" x="1982.23" y="844.7483">CityName: NVARCHAR(100)</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="1975.23" cy="857.2644" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="278.5166" x="1982.23" y="860.847">StateProvinceID: UNIQUEIDENTIFIER &#171;FK&#187;</text></g><!--class Brewery--><g class="entity" data-qualified-name="Brewery.Brewery" data-source-line="102" id="ent0014"><rect fill="#FFFFFF" height="140.5918" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1;" width="295.5029" x="2339.74" y="968.0579"/><ellipse cx="2444.0623" cy="982.0579" fill="#FFFFFF" rx="9" ry="9" style="stroke:#000000;stroke-width:1;"/><path d="M2447.6765,988.5579 L2439.9568,988.5579 L2439.9568,976.1648 L2447.6765,976.1648 L2447.6765,978.323 L2442.4055,978.323 L2442.4055,980.9958 L2447.1785,980.9958 L2447.1785,983.154 L2442.4055,983.154 L2442.4055,986.3996 L2447.6765,986.3996 Z " fill="#000000"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="79.3584" x="2461.5623" y="987.1404">BreweryPost</text><line style="stroke:#000000;stroke-width:1;" x1="2340.74" x2="2634.2429" y1="996.0579" y2="996.0579"/><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="2350.74" cy="1009.6072" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="271.5029" x="2357.74" y="1013.1897">BreweryPostID: UNIQUEIDENTIFIER &#171;PK&#187;</text><line style="stroke:#000000;stroke-width:1;" x1="2340.74" x2="2634.2429" y1="1020.1565" y2="1020.1565"/><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="2350.74" cy="1033.7058" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="207.7168" x="2357.74" y="1037.2883">BreweryName: NVARCHAR(256)</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="2350.74" cy="1049.8044" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="251.2822" x="2357.74" y="1053.387">PostedByID: UNIQUEIDENTIFIER &#171;FK&#187;</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="2350.74" cy="1065.9031" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="189.0547" x="2357.74" y="1069.4856">Description: NVARCHAR(512)</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="2350.74" cy="1082.0017" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="141.5928" x="2357.74" y="1085.5842">CreatedAt: DATETIME</text><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="144.7168" x="2357.74" y="1101.6829">UpdatedAt: DATETIME</text></g><!--class BreweryLoc--><g class="entity" data-qualified-name="Brewery.BreweryLoc" data-source-line="112" id="ent0015"><rect fill="#FFFFFF" height="156.6904" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1;" width="356.9443" x="3038.02" y="960.0079"/><ellipse cx="3146.5976" cy="974.0079" fill="#FFFFFF" rx="9" ry="9" style="stroke:#000000;stroke-width:1;"/><path d="M3150.2119,980.5079 L3142.4922,980.5079 L3142.4922,968.1148 L3150.2119,968.1148 L3150.2119,970.273 L3144.9409,970.273 L3144.9409,972.9458 L3149.7138,972.9458 L3149.7138,975.104 L3144.9409,975.104 L3144.9409,978.3496 L3150.2119,978.3496 Z " fill="#000000"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="132.2891" x="3164.0976" y="979.0904">BreweryPostLocation</text><line style="stroke:#000000;stroke-width:1;" x1="3039.02" x2="3393.9643" y1="988.0079" y2="988.0079"/><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="3049.02" cy="1001.5572" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="324.4336" x="3056.02" y="1005.1397">BreweryPostLocationID: UNIQUEIDENTIFIER &#171;PK&#187;</text><line style="stroke:#000000;stroke-width:1;" x1="3039.02" x2="3393.9643" y1="1012.1065" y2="1012.1065"/><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="3049.02" cy="1025.6558" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="332.9443" x="3056.02" y="1029.2383">BreweryPostID: UNIQUEIDENTIFIER &#171;FK, UNIQUE&#187;</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="3049.02" cy="1041.7544" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="204.6406" x="3056.02" y="1045.337">AddressLine1: NVARCHAR(256)</text><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="204.6406" x="3056.02" y="1061.4356">AddressLine2: NVARCHAR(256)</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="3049.02" cy="1073.9517" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="183.6201" x="3056.02" y="1077.5342">PostalCode: NVARCHAR(20)</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="3049.02" cy="1090.0503" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="215.4688" x="3056.02" y="1093.6329">CityID: UNIQUEIDENTIFIER &#171;FK&#187;</text><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="173.5098" x="3056.02" y="1109.7315">Coordinates: GEOGRAPHY</text></g><!--class BreweryPhoto--><g class="entity" data-qualified-name="Brewery.BreweryPhoto" data-source-line="123" id="ent0016"><rect fill="#FFFFFF" height="108.3945" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1;" width="332.0889" x="2670.44" y="984.1579"/><ellipse cx="2765.4312" cy="998.1579" fill="#FFFFFF" rx="9" ry="9" style="stroke:#000000;stroke-width:1;"/><path d="M2769.0455,1004.6579 L2761.3257,1004.6579 L2761.3257,992.2648 L2769.0455,992.2648 L2769.0455,994.423 L2763.7745,994.423 L2763.7745,997.0958 L2768.5474,997.0958 L2768.5474,999.254 L2763.7745,999.254 L2763.7745,1002.4996 L2769.0455,1002.4996 Z " fill="#000000"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="134.6064" x="2782.9312" y="1003.2404">BreweryPostPhoto (*)</text><line style="stroke:#000000;stroke-width:1;" x1="2671.44" x2="3001.5289" y1="1012.1579" y2="1012.1579"/><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="2681.44" cy="1025.7072" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="308.0889" x="2688.44" y="1029.2897">BreweryPostPhotoID: UNIQUEIDENTIFIER &#171;PK&#187;</text><line style="stroke:#000000;stroke-width:1;" x1="2671.44" x2="3001.5289" y1="1036.2565" y2="1036.2565"/><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="2681.44" cy="1049.8058" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="270.7168" x="2688.44" y="1053.3883">BreweryPostID: UNIQUEIDENTIFIER &#171;FK&#187;</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="2681.44" cy="1065.9044" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="227.9443" x="2688.44" y="1069.487">PhotoID: UNIQUEIDENTIFIER &#171;FK&#187;</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="2681.44" cy="1082.0031" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="133.041" x="2688.44" y="1085.5856">LinkedAt: DATETIME</text></g><!--class BeerStyle--><g class="entity" data-qualified-name="Beer ....BeerStyle" data-source-line="133" id="ent0018"><rect fill="#FFFFFF" height="92.2959" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1;" width="285.4063" x="3800.78" y="775.5179"/><ellipse cx="3900.0539" cy="789.5179" fill="#FFFFFF" rx="9" ry="9" style="stroke:#000000;stroke-width:1;"/><path d="M3903.6682,796.0179 L3895.9485,796.0179 L3895.9485,783.6248 L3903.6682,783.6248 L3903.6682,785.783 L3898.3972,785.783 L3898.3972,788.4558 L3903.1701,788.4558 L3903.1701,790.614 L3898.3972,790.614 L3898.3972,793.8596 L3903.6682,793.8596 Z " fill="#000000"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="79.3584" x="3917.5539" y="794.6004">BeerStyle (*)</text><line style="stroke:#000000;stroke-width:1;" x1="3801.78" x2="4085.1863" y1="803.5179" y2="803.5179"/><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="3811.78" cy="817.0672" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="252.8408" x="3818.78" y="820.6497">BeerStyleID: UNIQUEIDENTIFIER &#171;PK&#187;</text><line style="stroke:#000000;stroke-width:1;" x1="3801.78" x2="4085.1863" y1="827.6165" y2="827.6165"/><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="3811.78" cy="841.1658" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="261.4063" x="3818.78" y="844.7483">StyleName: NVARCHAR(100) &#171;UNIQUE&#187;</text><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="196.0342" x="3818.78" y="860.847">Description: NVARCHAR(MAX)</text></g><!--class Beer--><g class="entity" data-qualified-name="Beer ....Beer" data-source-line="140" id="ent0019"><rect fill="#FFFFFF" height="204.9863" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1;" width="279.165" x="3803.91" y="935.8579"/><ellipse cx="3901.6185" cy="949.8579" fill="#FFFFFF" rx="9" ry="9" style="stroke:#000000;stroke-width:1;"/><path d="M3905.2328,956.3579 L3897.513,956.3579 L3897.513,943.9648 L3905.2328,943.9648 L3905.2328,946.123 L3899.9618,946.123 L3899.9618,948.7958 L3904.7347,948.7958 L3904.7347,950.954 L3899.9618,950.954 L3899.9618,954.1996 L3905.2328,954.1996 Z " fill="#000000"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="76.248" x="3919.1185" y="954.9404">BeerPost (*)</text><line style="stroke:#000000;stroke-width:1;" x1="3804.91" x2="4082.075" y1="963.8579" y2="963.8579"/><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="3814.91" cy="977.4072" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="249.7305" x="3821.91" y="980.9897">BeerPostID: UNIQUEIDENTIFIER &#171;PK&#187;</text><line style="stroke:#000000;stroke-width:1;" x1="3804.91" x2="4082.075" y1="987.9565" y2="987.9565"/><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="3814.91" cy="1001.5058" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="156.3721" x="3821.91" y="1005.0883">Name: NVARCHAR(100)</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="3814.91" cy="1017.6044" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="196.0342" x="3821.91" y="1021.187">Description: NVARCHAR(MAX)</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="3814.91" cy="1033.7031" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="126.8135" x="3821.91" y="1037.2856">ABV: DECIMAL(4,2)</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="3814.91" cy="1049.8017" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="53.6689" x="3821.91" y="1053.3842">IBU: INT</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="3814.91" cy="1065.9003" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="251.2822" x="3821.91" y="1069.4829">PostedByID: UNIQUEIDENTIFIER &#171;FK&#187;</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="3814.91" cy="1081.999" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="252.0547" x="3821.91" y="1085.5815">BeerStyleID: UNIQUEIDENTIFIER &#171;FK&#187;</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="3814.91" cy="1098.0976" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="255.165" x="3821.91" y="1101.6801">BrewedByID: UNIQUEIDENTIFIER &#171;FK&#187;</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="3814.91" cy="1114.1962" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="141.5928" x="3821.91" y="1117.7788">CreatedAt: DATETIME</text><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="144.7168" x="3821.91" y="1133.8774">UpdatedAt: DATETIME</text></g><!--class BeerPhoto--><g class="entity" data-qualified-name="Beer ....BeerPhoto" data-source-line="154" id="ent0020"><rect fill="#FFFFFF" height="108.3945" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1;" width="310.3164" x="4157.33" y="1224.9979"/><ellipse cx="4252.3212" cy="1238.9979" fill="#FFFFFF" rx="9" ry="9" style="stroke:#000000;stroke-width:1;"/><path d="M4255.9355,1245.4979 L4248.2157,1245.4979 L4248.2157,1233.1048 L4255.9355,1233.1048 L4255.9355,1235.263 L4250.6645,1235.263 L4250.6645,1237.9358 L4255.4374,1237.9358 L4255.4374,1240.094 L4250.6645,1240.094 L4250.6645,1243.3396 L4255.9355,1243.3396 Z " fill="#000000"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="112.834" x="4269.8212" y="1244.0804">BeerPostPhoto (*)</text><line style="stroke:#000000;stroke-width:1;" x1="4158.33" x2="4466.6464" y1="1252.9979" y2="1252.9979"/><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="4168.33" cy="1266.5472" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="286.3164" x="4175.33" y="1270.1297">BeerPostPhotoID: UNIQUEIDENTIFIER &#171;PK&#187;</text><line style="stroke:#000000;stroke-width:1;" x1="4158.33" x2="4466.6464" y1="1277.0965" y2="1277.0965"/><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="4168.33" cy="1290.6458" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="248.9443" x="4175.33" y="1294.2283">BeerPostID: UNIQUEIDENTIFIER &#171;FK&#187;</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="4168.33" cy="1306.7444" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="227.9443" x="4175.33" y="1310.327">PhotoID: UNIQUEIDENTIFIER &#171;FK&#187;</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="4168.33" cy="1322.8431" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="133.041" x="4175.33" y="1326.4256">LinkedAt: DATETIME</text></g><!--class BeerComment--><g class="entity" data-qualified-name="Beer ....BeerComment" data-source-line="162" id="ent0021"><rect fill="#FFFFFF" height="156.6904" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1;" width="334.4131" x="3788.28" y="1200.8479"/><ellipse cx="3883.2712" cy="1214.8479" fill="#FFFFFF" rx="9" ry="9" style="stroke:#000000;stroke-width:1;"/><path d="M3886.8855,1221.3479 L3879.1657,1221.3479 L3879.1657,1208.9548 L3886.8855,1208.9548 L3886.8855,1211.113 L3881.6145,1211.113 L3881.6145,1213.7858 L3886.3874,1213.7858 L3886.3874,1215.944 L3881.6145,1215.944 L3881.6145,1219.1896 L3886.8855,1219.1896 Z " fill="#000000"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="136.9307" x="3900.7712" y="1219.9304">BeerPostComment (*)</text><line style="stroke:#000000;stroke-width:1;" x1="3789.28" x2="4121.6931" y1="1228.8479" y2="1228.8479"/><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="3799.28" cy="1242.3972" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="310.4131" x="3806.28" y="1245.9797">BeerPostCommentID: UNIQUEIDENTIFIER &#171;PK&#187;</text><line style="stroke:#000000;stroke-width:1;" x1="3789.28" x2="4121.6931" y1="1252.9465" y2="1252.9465"/><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="3799.28" cy="1266.4958" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="179.71" x="3806.28" y="1270.0783">Comment: NVARCHAR(250)</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="3799.28" cy="1282.5944" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="248.9443" x="3806.28" y="1286.177">BeerPostID: UNIQUEIDENTIFIER &#171;FK&#187;</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="3799.28" cy="1298.6931" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="283.9512" x="3806.28" y="1302.2756">CommentedByID: UNIQUEIDENTIFIER &#171;FK&#187;</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="3799.28" cy="1314.7917" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="70.7998" x="3806.28" y="1318.3742">Rating: INT</text><g data-visibility-modifier="IE_MANDATORY"><ellipse cx="3799.28" cy="1330.8903" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="141.5928" x="3806.28" y="1334.4729">CreatedAt: DATETIME</text><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="144.7168" x="3806.28" y="1350.5715">UpdatedAt: DATETIME</text></g><g class="entity" data-qualified-name="GMN44" data-source-line="205" id="ent0045"><path d="M11,354.5879 L11,454.2802 L337.9761,454.2802 L337.9761,364.5879 L327.9761,354.5879 L11,354.5879" fill="#FFFFFF" style="stroke:#000000;stroke-width:1;"/><path d="M327.9761,354.5879 L327.9761,364.5879 L337.9761,364.5879 L327.9761,354.5879" fill="#FFFFFF" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="270.9624" x="17" y="371.7817">Auth reads/writes (registration, login, credential</text><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="273.8506" x="17" y="386.7304">rotation, verification) go through ASP.NET Core</text><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="305.9761" x="17" y="401.6792">Identity's UserManager&lt;ApplicationUser&gt;, backed by</text><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="289.3262" x="17" y="416.6279">Features.Users' DapperUserStore - inline SQL, no</text><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="297.0132" x="17" y="431.5766">stored procedures. Profile/avatar data goes through</text><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="224.999" x="17" y="446.5254">Features.Users' UserProfileRepository.</text></g><g class="entity" data-qualified-name="GMN47" data-source-line="214" id="ent0048"><path d="M3442.52,1003.4579 L3442.52,1073.2528 L3756.4516,1073.2528 L3756.4516,1013.4579 L3746.4516,1003.4579 L3442.52,1003.4579" fill="#FFFFFF" style="stroke:#000000;stroke-width:1;"/><path d="M3746.4516,1003.4579 L3746.4516,1013.4579 L3756.4516,1013.4579 L3746.4516,1003.4579" fill="#FFFFFF" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="292.9316" x="3448.52" y="1020.6517">Backed by Features.Breweries' BreweryRepository</text><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="263.0469" x="3448.52" y="1035.6004">(Dapper); create/update/delete run inline SQL</text><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="274.5615" x="3448.52" y="1050.5492">inside a transaction, with optimistic concurrency</text><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="90.3145" x="3448.52" y="1065.4979">via RowVersion</text></g><!--link User to Cred--><g class="link" data-entity-1="ent0002" data-entity-2="ent0003" data-link-type="crowfoot" data-source-line="175" id="lnk22"><path codeLine="175" d="M1442.01,274.5479 C1442.01,311.6379 1442.01,338.5379 1442.01,338.5379 C1442.01,338.5379 1015.32,338.5379 771.69,338.5379" fill="none" id="User-Cred" style="stroke:#000000;stroke-width:1;"/><line style="stroke:#000000;stroke-width:1;" x1="1438.01" x2="1446.01" y1="270.5479" y2="270.5479"/><line style="stroke:#000000;stroke-width:1;" x1="1438.01" x2="1446.01" y1="273.5479" y2="273.5479"/><line style="stroke:#000000;stroke-width:1;" x1="1442.01" x2="1442.01" y1="274.5479" y2="266.5479"/><line style="stroke:#000000;stroke-width:1;" x1="761.69" x2="753.69" y1="338.5379" y2="344.5379"/><line style="stroke:#000000;stroke-width:1;" x1="761.69" x2="753.69" y1="338.5379" y2="332.5379"/><line style="stroke:#000000;stroke-width:1;" x1="761.69" x2="753.69" y1="338.5379" y2="338.5379"/><ellipse cx="767.69" cy="338.5379" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="20.96" x="1112.85" y="335.7317">has</text></g><!--link User to Verify--><g class="link" data-entity-1="ent0002" data-entity-2="ent0004" data-link-type="association" data-source-line="176" id="lnk23"><path codeLine="176" d="M1384.92,208.5379 C1214.85,208.5379 967.49,208.5379 967.49,208.5379 C967.49,208.5379 967.49,285.0779 967.49,343.0079" fill="none" id="User-Verify" style="stroke:#000000;stroke-width:1;"/><line style="stroke:#000000;stroke-width:1;" x1="1388.92" x2="1388.92" y1="204.5379" y2="212.5379"/><line style="stroke:#000000;stroke-width:1;" x1="1385.92" x2="1385.92" y1="204.5379" y2="212.5379"/><line style="stroke:#000000;stroke-width:1;" x1="1384.92" x2="1392.92" y1="208.5379" y2="208.5379"/><line style="stroke:#000000;stroke-width:1;" x1="967.49" x2="967.49" y1="347.0079" y2="358.0079"/><ellipse cx="967.49" cy="347.0079" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1;"/><line style="stroke:#000000;stroke-width:1;" x1="971.49" x2="963.49" y1="354.0079" y2="354.0079"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="20.96" x="1084.47" y="205.7317">has</text></g><!--link User to Profile--><g class="link" data-entity-1="ent0002" data-entity-2="ent0005" data-link-type="association" data-source-line="177" id="lnk24"><path codeLine="177" d="M1490.68,274.5779 C1490.68,305.7079 1490.68,316.5879 1490.68,342.9679" fill="none" id="User-Profile" style="stroke:#000000;stroke-width:1;"/><line style="stroke:#000000;stroke-width:1;" x1="1486.68" x2="1494.68" y1="270.5779" y2="270.5779"/><line style="stroke:#000000;stroke-width:1;" x1="1486.68" x2="1494.68" y1="273.5779" y2="273.5779"/><line style="stroke:#000000;stroke-width:1;" x1="1490.68" x2="1490.68" y1="274.5779" y2="266.5779"/><line style="stroke:#000000;stroke-width:1;" x1="1490.68" x2="1490.68" y1="346.9679" y2="357.9679"/><ellipse cx="1490.68" cy="346.9679" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1;"/><line style="stroke:#000000;stroke-width:1;" x1="1494.68" x2="1486.68" y1="353.9679" y2="353.9679"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="20.96" x="1469.68" y="309.4717">has</text></g><!--link Profile to Avatar--><g class="link" data-entity-1="ent0005" data-entity-2="ent0006" data-link-type="crowfoot" data-source-line="178" id="lnk25"><path codeLine="178" d="M1470.38,458.9679 C1470.38,485.5179 1470.38,493.5879 1470.38,524.5479" fill="none" id="Profile-Avatar" style="stroke:#000000;stroke-width:1;"/><line style="stroke:#000000;stroke-width:1;" x1="1466.38" x2="1474.38" y1="454.9679" y2="454.9679"/><line style="stroke:#000000;stroke-width:1;" x1="1466.38" x2="1474.38" y1="457.9679" y2="457.9679"/><line style="stroke:#000000;stroke-width:1;" x1="1470.38" x2="1470.38" y1="458.9679" y2="450.9679"/><line style="stroke:#000000;stroke-width:1;" x1="1470.38" x2="1476.38" y1="534.5479" y2="542.5479"/><line style="stroke:#000000;stroke-width:1;" x1="1470.38" x2="1464.38" y1="534.5479" y2="542.5479"/><line style="stroke:#000000;stroke-width:1;" x1="1470.38" x2="1470.38" y1="534.5479" y2="542.5479"/><ellipse cx="1470.38" cy="528.5479" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="71.519" x="1398.38" y="493.9517">has (history)</text></g><!--link Avatar to Photo--><g class="link" data-entity-1="ent0006" data-entity-2="ent0008" data-link-type="crowfoot" data-source-line="179" id="lnk26"><path codeLine="179" d="M1651.62,725.9079 C1651.62,745.9379 1651.62,740.8579 1651.62,759.2179" fill="none" id="Avatar-Photo" style="stroke:#000000;stroke-width:1;"/><line style="stroke:#000000;stroke-width:1;" x1="1651.62" x2="1645.62" y1="715.9079" y2="707.9079"/><line style="stroke:#000000;stroke-width:1;" x1="1651.62" x2="1657.62" y1="715.9079" y2="707.9079"/><line style="stroke:#000000;stroke-width:1;" x1="1651.62" x2="1651.62" y1="715.9079" y2="707.9079"/><ellipse cx="1651.62" cy="721.9079" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1;"/><line style="stroke:#000000;stroke-width:1;" x1="1655.62" x2="1647.62" y1="763.2179" y2="763.2179"/><line style="stroke:#000000;stroke-width:1;" x1="1655.62" x2="1647.62" y1="760.2179" y2="760.2179"/><line style="stroke:#000000;stroke-width:1;" x1="1651.62" x2="1651.62" y1="759.2179" y2="767.2179"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="47.6836" x="1603.62" y="734.7517">refers to</text></g><!--link User to Follow--><g class="link" data-entity-1="ent0002" data-entity-2="ent0007" data-link-type="crowfoot" data-source-line="180" id="lnk27"><path codeLine="180" d="M1651.33,274.5779 C1651.33,302.6179 1651.33,306.8979 1651.33,331.9079" fill="none" id="User-Follow" style="stroke:#000000;stroke-width:1;"/><line style="stroke:#000000;stroke-width:1;" x1="1647.33" x2="1655.33" y1="270.5779" y2="270.5779"/><line style="stroke:#000000;stroke-width:1;" x1="1647.33" x2="1655.33" y1="273.5779" y2="273.5779"/><line style="stroke:#000000;stroke-width:1;" x1="1651.33" x2="1651.33" y1="274.5779" y2="266.5779"/><line style="stroke:#000000;stroke-width:1;" x1="1651.33" x2="1657.33" y1="341.9079" y2="349.9079"/><line style="stroke:#000000;stroke-width:1;" x1="1651.33" x2="1645.33" y1="341.9079" y2="349.9079"/><line style="stroke:#000000;stroke-width:1;" x1="1651.33" x2="1651.33" y1="341.9079" y2="349.9079"/><ellipse cx="1651.33" cy="335.9079" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="139.4263" x="1511.33" y="305.4417">follows (UserAccountID)</text></g><!--link User to Follow--><g class="link" data-entity-1="ent0002" data-entity-2="ent0007" data-link-type="crowfoot" data-source-line="181" id="lnk28"><path codeLine="181" d="M1613.04,274.5779 C1613.04,302.6179 1613.04,306.8979 1613.04,331.9079" fill="none" id="User-Follow-1" style="stroke:#000000;stroke-width:1;"/><line style="stroke:#000000;stroke-width:1;" x1="1609.04" x2="1617.04" y1="270.5779" y2="270.5779"/><line style="stroke:#000000;stroke-width:1;" x1="1609.04" x2="1617.04" y1="273.5779" y2="273.5779"/><line style="stroke:#000000;stroke-width:1;" x1="1613.04" x2="1613.04" y1="274.5779" y2="266.5779"/><line style="stroke:#000000;stroke-width:1;" x1="1613.04" x2="1619.04" y1="341.9079" y2="349.9079"/><line style="stroke:#000000;stroke-width:1;" x1="1613.04" x2="1607.04" y1="341.9079" y2="349.9079"/><line style="stroke:#000000;stroke-width:1;" x1="1613.04" x2="1613.04" y1="341.9079" y2="349.9079"/><ellipse cx="1613.04" cy="335.9079" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="145.2217" x="1614.04" y="321.4417">followed by (FollowingID)</text></g><!--link User to Photo--><g class="link" data-entity-1="ent0002" data-entity-2="ent0008" data-link-type="crowfoot" data-source-line="182" id="lnk29"><path codeLine="182" d="M1698.03,231.5379 C1792.35,231.5379 1888.77,231.5379 1888.77,231.5379 C1888.77,231.5379 1888.77,603.1179 1888.77,749.2079" fill="none" id="User-Photo" style="stroke:#000000;stroke-width:1;"/><line style="stroke:#000000;stroke-width:1;" x1="1694.03" x2="1694.03" y1="235.5379" y2="227.5379"/><line style="stroke:#000000;stroke-width:1;" x1="1697.03" x2="1697.03" y1="235.5379" y2="227.5379"/><line style="stroke:#000000;stroke-width:1;" x1="1698.03" x2="1690.03" y1="231.5379" y2="231.5379"/><line style="stroke:#000000;stroke-width:1;" x1="1888.77" x2="1894.77" y1="759.2079" y2="767.2079"/><line style="stroke:#000000;stroke-width:1;" x1="1888.77" x2="1882.77" y1="759.2079" y2="767.2079"/><line style="stroke:#000000;stroke-width:1;" x1="1888.77" x2="1888.77" y1="759.2079" y2="767.2079"/><ellipse cx="1888.77" cy="753.2079" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="53.498" x="1889.77" y="397.1917">uploaded</text></g><!--link Country to StateProvince--><g class="link" data-entity-1="ent0010" data-entity-2="ent0011" data-link-type="crowfoot" data-source-line="185" id="lnk30"><path codeLine="185" d="M2115.49,458.9679 C2115.49,493.8679 2115.49,515.7479 2115.49,552.4779" fill="none" id="Country-StateProvince" style="stroke:#000000;stroke-width:1;"/><line style="stroke:#000000;stroke-width:1;" x1="2111.49" x2="2119.49" y1="454.9679" y2="454.9679"/><line style="stroke:#000000;stroke-width:1;" x1="2111.49" x2="2119.49" y1="457.9679" y2="457.9679"/><line style="stroke:#000000;stroke-width:1;" x1="2115.49" x2="2115.49" y1="458.9679" y2="450.9679"/><line style="stroke:#000000;stroke-width:1;" x1="2115.49" x2="2121.49" y1="562.4779" y2="570.4779"/><line style="stroke:#000000;stroke-width:1;" x1="2115.49" x2="2109.49" y1="562.4779" y2="570.4779"/><line style="stroke:#000000;stroke-width:1;" x1="2115.49" x2="2115.49" y1="562.4779" y2="570.4779"/><ellipse cx="2115.49" cy="556.4779" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="20.96" x="2094.49" y="507.9117">has</text></g><!--link StateProvince to City--><g class="link" data-entity-1="ent0011" data-entity-2="ent0012" data-link-type="crowfoot" data-source-line="186" id="lnk31"><path codeLine="186" d="M2115.49,687.6079 C2115.49,717.5979 2115.49,728.4279 2115.49,757.0779" fill="none" id="StateProvince-City" style="stroke:#000000;stroke-width:1;"/><line style="stroke:#000000;stroke-width:1;" x1="2111.49" x2="2119.49" y1="683.6079" y2="683.6079"/><line style="stroke:#000000;stroke-width:1;" x1="2111.49" x2="2119.49" y1="686.6079" y2="686.6079"/><line style="stroke:#000000;stroke-width:1;" x1="2115.49" x2="2115.49" y1="687.6079" y2="679.6079"/><line style="stroke:#000000;stroke-width:1;" x1="2115.49" x2="2121.49" y1="767.0779" y2="775.0779"/><line style="stroke:#000000;stroke-width:1;" x1="2115.49" x2="2109.49" y1="767.0779" y2="775.0779"/><line style="stroke:#000000;stroke-width:1;" x1="2115.49" x2="2115.49" y1="767.0779" y2="775.0779"/><ellipse cx="2115.49" cy="761.0779" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="20.96" x="2094.49" y="724.5317">has</text></g><!--link User to Brewery--><g class="link" data-entity-1="ent0002" data-entity-2="ent0013" data-link-type="crowfoot" data-source-line="189" id="lnk32"><path codeLine="189" d="M1698.1,162.5379 C2107.96,162.5379 3216.15,162.5379 3216.15,162.5379 C3216.15,162.5379 3216.15,320.9454 3216.15,482.4466 C3216.15,563.1972 3216.15,644.7213 3216.15,707.6046 C3216.15,739.0462 3216.15,765.8277 3216.15,785.5221 C3216.15,787.9839 3216.15,790.335 3216.15,792.5706 C3216.15,793.1295 3216.15,775.6812 3216.15,776.2256" fill="none" id="User-Brewery" style="stroke:#000000;stroke-width:1;"/><line style="stroke:#000000;stroke-width:1;" x1="1694.1" x2="1694.1" y1="166.5379" y2="158.5379"/><line style="stroke:#000000;stroke-width:1;" x1="1697.1" x2="1697.1" y1="166.5379" y2="158.5379"/><line style="stroke:#000000;stroke-width:1;" x1="1698.1" x2="1690.1" y1="162.5379" y2="162.5379"/><line style="stroke:#000000;stroke-width:1;" x1="3216.15" x2="3222.15" y1="786.2256" y2="794.2256"/><line style="stroke:#000000;stroke-width:1;" x1="3216.15" x2="3210.15" y1="786.2256" y2="794.2256"/><line style="stroke:#000000;stroke-width:1;" x1="3216.15" x2="3216.15" y1="786.2256" y2="794.2256"/><ellipse cx="3216.15" cy="780.2256" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="39.0317" x="2742.32" y="159.7317">posted</text></g><!--link Brewery to BreweryLoc--><g class="link" data-entity-1="ent0013" data-entity-2="ent0015" data-link-type="association" data-source-line="190" id="lnk33"><path codeLine="190" d="M3216.49,830.2879 C3216.49,837.6479 3216.49,885.9379 3216.49,944.6579" fill="none" id="Brewery-BreweryLoc" style="stroke:#000000;stroke-width:1;"/><line style="stroke:#000000;stroke-width:1;" x1="3212.49" x2="3220.49" y1="826.2879" y2="826.2879"/><line style="stroke:#000000;stroke-width:1;" x1="3212.49" x2="3220.49" y1="829.2879" y2="829.2879"/><line style="stroke:#000000;stroke-width:1;" x1="3216.49" x2="3216.49" y1="830.2879" y2="822.2879"/><line style="stroke:#000000;stroke-width:1;" x1="3216.49" x2="3216.49" y1="948.6579" y2="959.6579"/><ellipse cx="3216.49" cy="948.6579" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1;"/><line style="stroke:#000000;stroke-width:1;" x1="3220.49" x2="3212.49" y1="955.6579" y2="955.6579"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="20.96" x="3195.49" y="888.1617">has</text></g><!--link City to BreweryLoc--><g class="link" data-entity-1="ent0012" data-entity-2="ent0015" data-link-type="crowfoot" data-source-line="191" id="lnk34"><path codeLine="191" d="M2275.16,845.5379 C2557.37,845.5379 3126.75,845.5379 3126.75,845.5379 C3126.75,845.5379 3126.75,888.3379 3126.75,941.6479" fill="none" id="City-BreweryLoc" style="stroke:#000000;stroke-width:1;"/><line style="stroke:#000000;stroke-width:1;" x1="2271.16" x2="2271.16" y1="849.5379" y2="841.5379"/><line style="stroke:#000000;stroke-width:1;" x1="2274.16" x2="2274.16" y1="849.5379" y2="841.5379"/><line style="stroke:#000000;stroke-width:1;" x1="2275.16" x2="2267.16" y1="845.5379" y2="845.5379"/><line style="stroke:#000000;stroke-width:1;" x1="3126.75" x2="3132.75" y1="951.6479" y2="959.6479"/><line style="stroke:#000000;stroke-width:1;" x1="3126.75" x2="3120.75" y1="951.6479" y2="959.6479"/><line style="stroke:#000000;stroke-width:1;" x1="3126.75" x2="3126.75" y1="951.6479" y2="959.6479"/><ellipse cx="3126.75" cy="945.6479" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="55.6499" x="2698.01" y="842.7317">located in</text></g><!--link Brewery to BreweryPhoto--><g class="link" data-entity-1="ent0013" data-entity-2="ent0016" data-link-type="crowfoot" data-source-line="192" id="lnk35"><path codeLine="192" d="M3207.96,821.5379 C3193.45,821.5379 2891.84,821.5379 2891.84,821.5379 C2891.84,821.5379 2891.84,901.6979 2891.84,965.9179" fill="none" id="Brewery-BreweryPhoto" style="stroke:#000000;stroke-width:1;"/><line style="stroke:#000000;stroke-width:1;" x1="3211.96" x2="3211.96" y1="817.5379" y2="825.5379"/><line style="stroke:#000000;stroke-width:1;" x1="3208.96" x2="3208.96" y1="817.5379" y2="825.5379"/><line style="stroke:#000000;stroke-width:1;" x1="3207.96" x2="3215.96" y1="821.5379" y2="821.5379"/><line style="stroke:#000000;stroke-width:1;" x1="2891.84" x2="2897.84" y1="975.9179" y2="983.9179"/><line style="stroke:#000000;stroke-width:1;" x1="2891.84" x2="2885.84" y1="975.9179" y2="983.9179"/><line style="stroke:#000000;stroke-width:1;" x1="2891.84" x2="2891.84" y1="975.9179" y2="983.9179"/><ellipse cx="2891.84" cy="969.9179" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="20.96" x="2951.71" y="818.7317">has</text></g><!--link Photo to BreweryPhoto--><g class="link" data-entity-1="ent0008" data-entity-2="ent0016" data-link-type="crowfoot" data-source-line="193" id="lnk36"><path codeLine="193" d="M1915.58,873.5379 C2197.52,873.5379 2781.14,873.5379 2781.14,873.5379 C2781.14,873.5379 2781.14,917.9279 2781.14,965.9279" fill="none" id="Photo-BreweryPhoto" style="stroke:#000000;stroke-width:1;"/><line style="stroke:#000000;stroke-width:1;" x1="1911.58" x2="1911.58" y1="877.5379" y2="869.5379"/><line style="stroke:#000000;stroke-width:1;" x1="1914.58" x2="1914.58" y1="877.5379" y2="869.5379"/><line style="stroke:#000000;stroke-width:1;" x1="1915.58" x2="1907.58" y1="873.5379" y2="873.5379"/><line style="stroke:#000000;stroke-width:1;" x1="2781.14" x2="2787.14" y1="975.9279" y2="983.9279"/><line style="stroke:#000000;stroke-width:1;" x1="2781.14" x2="2775.14" y1="975.9279" y2="983.9279"/><line style="stroke:#000000;stroke-width:1;" x1="2781.14" x2="2781.14" y1="975.9279" y2="983.9279"/><ellipse cx="2781.14" cy="969.9279" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="48.4199" x="2350.56" y="870.7317">linked to</text></g><!--link User to Beer--><g class="link" data-entity-1="ent0002" data-entity-2="ent0019" data-link-type="crowfoot" data-source-line="196" id="lnk37"><path codeLine="196" d="M1697.91,196.5379 C1809.62,196.5379 1935.57,196.5379 1935.57,196.5379 C1935.57,196.5379 1935.57,951.5379 1935.57,951.5379 C1935.57,951.5379 3329.72,951.5379 3785.49,951.5379" fill="none" id="User-Beer" style="stroke:#000000;stroke-width:1;"/><line style="stroke:#000000;stroke-width:1;" x1="1693.91" x2="1693.91" y1="200.5379" y2="192.5379"/><line style="stroke:#000000;stroke-width:1;" x1="1696.91" x2="1696.91" y1="200.5379" y2="192.5379"/><line style="stroke:#000000;stroke-width:1;" x1="1697.91" x2="1689.91" y1="196.5379" y2="196.5379"/><line style="stroke:#000000;stroke-width:1;" x1="3795.49" x2="3803.49" y1="951.5379" y2="945.5379"/><line style="stroke:#000000;stroke-width:1;" x1="3795.49" x2="3803.49" y1="951.5379" y2="957.5379"/><line style="stroke:#000000;stroke-width:1;" x1="3795.49" x2="3803.49" y1="951.5379" y2="951.5379"/><ellipse cx="3789.49" cy="951.5379" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="39.0317" x="2329.2" y="948.7317">posted</text></g><!--link BeerStyle to Beer--><g class="link" data-entity-1="ent0018" data-entity-2="ent0019" data-link-type="crowfoot" data-source-line="197" id="lnk38"><path codeLine="197" d="M3943.49,876.1479 C3943.49,895.9179 3943.49,893.8279 3943.49,917.3979" fill="none" id="BeerStyle-Beer" style="stroke:#000000;stroke-width:1;"/><line style="stroke:#000000;stroke-width:1;" x1="3939.49" x2="3947.49" y1="872.1479" y2="872.1479"/><line style="stroke:#000000;stroke-width:1;" x1="3939.49" x2="3947.49" y1="875.1479" y2="875.1479"/><line style="stroke:#000000;stroke-width:1;" x1="3943.49" x2="3943.49" y1="876.1479" y2="868.1479"/><line style="stroke:#000000;stroke-width:1;" x1="3943.49" x2="3949.49" y1="927.3979" y2="935.3979"/><line style="stroke:#000000;stroke-width:1;" x1="3943.49" x2="3937.49" y1="927.3979" y2="935.3979"/><line style="stroke:#000000;stroke-width:1;" x1="3943.49" x2="3943.49" y1="927.3979" y2="935.3979"/><ellipse cx="3943.49" cy="921.3979" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="66.479" x="3876.49" y="898.9617">categorizes</text></g><!--link Brewery to Beer--><g class="link" data-entity-1="ent0013" data-entity-2="ent0019" data-link-type="crowfoot" data-source-line="198" id="lnk39"><path codeLine="198" d="M3428.238,943.5379 C3430.99,943.5379 3427.8339,943.5379 3430.6531,943.5379 C3436.2915,943.5379 3442.061,943.5379 3447.9486,943.5379 C3459.7236,943.5379 3471.9705,943.5379 3484.5838,943.5379 C3585.49,943.5379 3691.845,943.5379 3785.64,943.5379" fill="none" id="Brewery-Beer" style="stroke:#000000;stroke-width:1;"/><line style="stroke:#000000;stroke-width:1;" x1="3424.238" x2="3424.238" y1="947.5379" y2="939.5379"/><line style="stroke:#000000;stroke-width:1;" x1="3427.238" x2="3427.238" y1="947.5379" y2="939.5379"/><line style="stroke:#000000;stroke-width:1;" x1="3428.238" x2="3420.238" y1="943.5379" y2="943.5379"/><line style="stroke:#000000;stroke-width:1;" x1="3795.64" x2="3803.64" y1="943.5379" y2="937.5379"/><line style="stroke:#000000;stroke-width:1;" x1="3795.64" x2="3803.64" y1="943.5379" y2="949.5379"/><line style="stroke:#000000;stroke-width:1;" x1="3795.64" x2="3803.64" y1="943.5379" y2="943.5379"/><ellipse cx="3789.64" cy="943.5379" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="42.6372" x="3383.45" y="940.7317">brewed</text></g><!--link Beer to BeerPhoto--><g class="link" data-entity-1="ent0019" data-entity-2="ent0020" data-link-type="crowfoot" data-source-line="199" id="lnk40"><path codeLine="199" d="M4091.11,1038.5379 C4176.24,1038.5379 4260.77,1038.5379 4260.77,1038.5379 C4260.77,1038.5379 4260.77,1135.5779 4260.77,1206.5879" fill="none" id="Beer-BeerPhoto" style="stroke:#000000;stroke-width:1;"/><line style="stroke:#000000;stroke-width:1;" x1="4087.11" x2="4087.11" y1="1042.5379" y2="1034.5379"/><line style="stroke:#000000;stroke-width:1;" x1="4090.11" x2="4090.11" y1="1042.5379" y2="1034.5379"/><line style="stroke:#000000;stroke-width:1;" x1="4091.11" x2="4083.11" y1="1038.5379" y2="1038.5379"/><line style="stroke:#000000;stroke-width:1;" x1="4260.77" x2="4266.77" y1="1216.5879" y2="1224.5879"/><line style="stroke:#000000;stroke-width:1;" x1="4260.77" x2="4254.77" y1="1216.5879" y2="1224.5879"/><line style="stroke:#000000;stroke-width:1;" x1="4260.77" x2="4260.77" y1="1216.5879" y2="1224.5879"/><ellipse cx="4260.77" cy="1210.5879" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="20.96" x="4239.77" y="1039.9317">has</text></g><!--link Photo to BeerPhoto--><g class="link" data-entity-1="ent0008" data-entity-2="ent0020" data-link-type="crowfoot" data-source-line="200" id="lnk41"><path codeLine="200" d="M1915.47,870.5379 C2464.2,870.5379 4364.21,870.5379 4364.21,870.5379 C4364.21,870.5379 4364.21,1095.1479 4364.21,1206.5079" fill="none" id="Photo-BeerPhoto" style="stroke:#000000;stroke-width:1;"/><line style="stroke:#000000;stroke-width:1;" x1="1911.47" x2="1911.47" y1="874.5379" y2="866.5379"/><line style="stroke:#000000;stroke-width:1;" x1="1914.47" x2="1914.47" y1="874.5379" y2="866.5379"/><line style="stroke:#000000;stroke-width:1;" x1="1915.47" x2="1907.47" y1="870.5379" y2="870.5379"/><line style="stroke:#000000;stroke-width:1;" x1="4364.21" x2="4370.21" y1="1216.5079" y2="1224.5079"/><line style="stroke:#000000;stroke-width:1;" x1="4364.21" x2="4358.21" y1="1216.5079" y2="1224.5079"/><line style="stroke:#000000;stroke-width:1;" x1="4364.21" x2="4364.21" y1="1216.5079" y2="1224.5079"/><ellipse cx="4364.21" cy="1210.5079" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="48.4199" x="3263.82" y="867.7317">linked to</text></g><!--link Beer to BeerComment--><g class="link" data-entity-1="ent0019" data-entity-2="ent0021" data-link-type="crowfoot" data-source-line="201" id="lnk42"><path codeLine="201" d="M3943.49,1149.1879 C3943.49,1169.0079 3943.49,1163.4679 3943.49,1182.3779" fill="none" id="Beer-BeerComment" style="stroke:#000000;stroke-width:1;"/><line style="stroke:#000000;stroke-width:1;" x1="3939.49" x2="3947.49" y1="1145.1879" y2="1145.1879"/><line style="stroke:#000000;stroke-width:1;" x1="3939.49" x2="3947.49" y1="1148.1879" y2="1148.1879"/><line style="stroke:#000000;stroke-width:1;" x1="3943.49" x2="3943.49" y1="1149.1879" y2="1141.1879"/><line style="stroke:#000000;stroke-width:1;" x1="3943.49" x2="3949.49" y1="1192.3779" y2="1200.3779"/><line style="stroke:#000000;stroke-width:1;" x1="3943.49" x2="3937.49" y1="1192.3779" y2="1200.3779"/><line style="stroke:#000000;stroke-width:1;" x1="3943.49" x2="3943.49" y1="1192.3779" y2="1200.3779"/><ellipse cx="3943.49" cy="1186.3779" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="20.96" x="3922.49" y="1167.9817">has</text></g><!--link User to BeerComment--><g class="link" data-entity-1="ent0002" data-entity-2="ent0021" data-link-type="crowfoot" data-source-line="202" id="lnk43"><path codeLine="202" d="M1697.75,127.5379 C2199.49,127.5379 3794.53,127.5379 3794.53,127.5379 C3794.53,127.5379 3794.53,922.7879 3794.53,1182.4879" fill="none" id="User-BeerComment" style="stroke:#000000;stroke-width:1;"/><line style="stroke:#000000;stroke-width:1;" x1="1693.75" x2="1693.75" y1="131.5379" y2="123.5379"/><line style="stroke:#000000;stroke-width:1;" x1="1696.75" x2="1696.75" y1="131.5379" y2="123.5379"/><line style="stroke:#000000;stroke-width:1;" x1="1697.75" x2="1689.75" y1="127.5379" y2="127.5379"/><line style="stroke:#000000;stroke-width:1;" x1="3794.53" x2="3800.53" y1="1192.4879" y2="1200.4879"/><line style="stroke:#000000;stroke-width:1;" x1="3794.53" x2="3788.53" y1="1192.4879" y2="1200.4879"/><line style="stroke:#000000;stroke-width:1;" x1="3794.53" x2="3794.53" y1="1192.4879" y2="1200.4879"/><ellipse cx="3794.53" cy="1186.4879" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="67.9199" x="3210.62" y="124.7317">commented</text></g><!--link User to GMN44--><g class="link" data-entity-1="ent0002" data-entity-2="ent0045" data-link-type="association" data-source-line="205" id="lnk46"><path d="M1392.92,150.5379 C1038.83,150.5379 174.49,150.5379 174.49,150.5379 C174.49,150.5379 174.49,280.2779 174.49,354.2679" fill="none" id="User-GMN44" style="stroke:#000000;stroke-width:1;stroke-dasharray:7,7;"/></g><!--link Brewery to GMN47--><g class="link" data-entity-1="ent0013" data-entity-2="ent0048" data-link-type="association" data-source-line="214" id="lnk49"><path d="M3419.0988,821.5379 C3420.5576,821.5379 3422.0156,821.5379 3423.4724,821.5379 C3426.386,821.5379 3429.2947,821.5379 3432.196,821.5379 C3437.9984,821.5379 3443.7707,821.5379 3449.4911,821.5379 C3460.932,821.5379 3472.1652,821.5379 3483.0166,821.5379 C3504.7195,821.5379 3524.8953,821.5379 3542.1506,821.5379 C3576.6612,821.5379 3599.49,821.5379 3599.49,821.5379 C3599.49,821.5379 3599.49,941.5979 3599.49,1003.0379" fill="none" id="Brewery-GMN47" style="stroke:#000000;stroke-width:1;stroke-dasharray:7,7;"/></g><g class="caption" data-source-line="8"><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="682.3496" x="1906.5702" y="1399.6697">Every table also has a RowVersion ROWVERSION column (optimistic concurrency), omitted below for brevity.</text><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="336.1504" x="2079.6698" y="1415.7683">Tables marked (*) have no repository/feature slice yet.</text></g><?plantuml-src jLXjRzis4FxkNt7pWDKE4gT9ss3mYWAoOpT64oVrIxO10mP6ecqYiYXGj3CloN_VaQ9aKbOSkslp8HRlZiUxvrxuyfESqJc5E2GigYJtB8g987Eu8_xzLF155BHvo0NytDL_baH09sGHoYwFP9-W1aym4bhya4LKhc8ANCWPjnWngYPJEfIha8AWlYJHDAILYcGI2UT4aZkIK1ZwQ1Yf-2IMZ4VGMLAn0kIX30aJ3ZEI0841VxYb8b4IW-lVRpk3OU-w3puF5_C8QXpdpbaYcO-ao5y8GID_LJy4FcTIqW3kQCWVO88EtWcwP7BL-2iQgJKIc1DnZnArWpekjQGGSJGsvWcJNAoE9vJ8XQ2GXCodiAAoKQaOnw0wJgY0Ny1Ro5aL7Yi0D4BdLYd3yts4LLO1xTU2IW3W02ncxxm9utxlwxZJE-_qHxrkhpE0Znzlldpwf8MFZgmv4QBVX5jlqBxm1hMpztMKJ2SRwGFeCf7eA3MXdmcUdFvQD-nBietRcHCMhXTGdCqLsW81eO4dct3kZJgZtbL7SyPnK4e_K86crvCMm-n8UKX_hXJ0GhM16fDGuwM63bvh_bwGROUv--LLjn2LVs8cLXla2vBCB1XFFvnbCFQI0LroJAacj7eZJJI4WlOD4331sOJvHDM1Xa4JLWuGjintXU8G2f6sLr8n736LEDliln5ymaAgJJVVZks6zcFDRZ4-5IIUhQpeN7b_rCiCzfROX8IsD_rqQrIJzh9skuTMljtCkEIlYzsIa0LTmUThu4zhxz9CqxmHB-4q6lh7ap3dYGGUOVl5xXTZ3tACr5AglHfLq1j2Vtnv2JNYIuQja6W4Ig7hyb1rLEoQ6ZupjE5BIJ-cN5FTB9f-QsKx_kXWvAwaeyST0bLquW9tGO7RuNrvOnZ78IS13LghrwtEP3VCVhQsdqkUzGfxxsah2CKgxQFfT-wD6UyS52DVt3FUlisRtV3wtSdPsTydJKZTBMmP3iv3YP70x5koo4-xX4F9hNIeEzlgp7hTubDZyLdP9hSL9XCcnxKs_ayHLyCSRXpiZZKAlspsBfZaXjb9qXBqWQfqi7F446-mFMYhpJWttEBlRB-PKt31od-bRRViFwU9BvW-3rggFfoSrh_f5E94od9jNJzh291MXa8ckYyQMn0isRky810qIIxnH7rIXg75FtqPOnAsUU348C-YBGcPmz_cN0GiGXoJ9dpkN7yUU3SNVsw1qMsV6SFfeaNfxmhZlfigmdV_IcTjKTmhjKTErI0rlStapkQKtDECiaVVGkcImY-sfVAYA3lQA1iKOewPZeLx5VRBJMchIJgXMxU8SgVTk_8kQ-yFy_hjjSPDwFL7UtU6r-2rHLNgxAJq_tGJ0sQX1XJLBG1RRlVitnwgxvRw9Gwr-NoEDCUbZ5Pqoj3tE5LeUQU3vJcrkyz6pMun7c3xZgPsqkqRTOJf3TxaGhqF93CMOtkq7W0g-llfwUY8FwRtroPKyN1TjHXFsOskZ9NTc39UDZOgpGKbvK9jnXBrFb6lLWpZcHyTFJsPqojA2JgX8W79guvbvg2E0XFzXQgSatTzkxXwIbb1pJf_5oRawo_C2RPQ0bkscrQoywcPx1u7Co1SQeQmojPCOdC5isyufcM779mLwuPJhMGa4mBh392frkku2WmxL4uW7Ymgw7bqzy0yddhqWaIe2rD7gyGPB0dN4zNFRJVoRQWWe2oSSi7-fSccaKRcJlV9L8dDssQzpRPCBwh86iPckc_m_QoO4O28ImftN4e-1pxHHOOLg8eCi6Q3vFX1C3oTG4tGAPQ1q5WTGiYd37_y_Aa89mak3NTfFMVKOSf1pWHVJ6VW3MyQ_Su8sucWEACNfAtmJVfgTqKYF168ZruSXsQs8dywr2-dkXnmKZTz9KmQYfUyWNCIurLG3OPOfHIEC4lKEoaClruUGiHnYYfVd1uBxjD0pyqwm75wxGPiGmGDHKUDgIKBMVVvGVvesQZGA025uWQMMLq0j3BprpfJ9gEeryYjTUACMkfL_JS5CIRMyK9tokE0XXGN4Ol8yXBbMPImW081Z52Kg2S55OS7Xc4iVw_5EKjcF_Mk_VWF?></g></svg>