diff options
Diffstat (limited to 'presentation')
-rw-r--r-- | presentation/Awesome_Demon.svg | 407 | ||||
-rw-r--r-- | presentation/Guix_logo.svg | 157 | ||||
-rw-r--r-- | presentation/Guix_logo_with_flag.svg | 276 | ||||
-rw-r--r-- | presentation/Nix_logo.svg | 424 | ||||
-rw-r--r-- | presentation/Red_flag_waving.svg | 28 | ||||
-rw-r--r-- | presentation/ctf-guix-store-onlynotes.pdf | bin | 0 -> 290908 bytes | |||
-rw-r--r-- | presentation/ctf-guix-store-withnotes.pdf | bin | 0 -> 322458 bytes | |||
-rw-r--r-- | presentation/ctf-guix-store.pdf | bin | 0 -> 322458 bytes | |||
-rw-r--r-- | presentation/ctf-guix-store.tex | 295 | ||||
-rw-r--r-- | presentation/screenshots/abdul-blog-index.png | bin | 0 -> 30938 bytes | |||
-rw-r--r-- | presentation/screenshots/account-creation.png | bin | 0 -> 19403 bytes | |||
-rw-r--r-- | presentation/screenshots/gemini-capsule.png | bin | 0 -> 32301 bytes | |||
-rw-r--r-- | presentation/screenshots/hint1.png | bin | 0 -> 38728 bytes | |||
-rw-r--r-- | presentation/screenshots/hint2.png | bin | 0 -> 50720 bytes |
14 files changed, 1587 insertions, 0 deletions
diff --git a/presentation/Awesome_Demon.svg b/presentation/Awesome_Demon.svg new file mode 100644 index 0000000..694e212 --- /dev/null +++ b/presentation/Awesome_Demon.svg @@ -0,0 +1,407 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:ns1="http://sozi.baierouge.fr" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:dc="http://purl.org/dc/elements/1.1/" + id="svg3773" + sodipodi:docname="hover.svg" + inkscape:export-filename="./hover.png" + viewBox="0 0 1064.9453 997.36969" + inkscape:export-xdpi="90" + version="1.1" + inkscape:export-ydpi="90" + inkscape:version="0.48.4 r9939" + > + <sodipodi:namedview + id="namedview19" + fit-margin-left="0" + inkscape:zoom="0.35355339" + borderopacity="1" + inkscape:current-layer="svg3773" + inkscape:cx="300.83581" + inkscape:cy="118.45062" + inkscape:window-maximized="0" + showgrid="false" + fit-margin-right="0" + bordercolor="#666666" + inkscape:window-x="0" + guidetolerance="10" + objecttolerance="10" + inkscape:window-y="19" + fit-margin-bottom="0" + inkscape:window-width="1147" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + pagecolor="#ffffff" + gridtolerance="10" + inkscape:window-height="1181" + fit-margin-top="0" + /> + <defs + id="defs3775" + > + <style + id="style3110" + type="text/css" + >.str0 {stroke:black;stroke-width:0.238063} + .fil0 {fill:black} + .fil2 {fill:#050707} + .fil3 {fill:#881846} + .fil5 {fill:#F6BCD6} + .fil1 {fill:#F9DD56} + .fil4 {fill:#FDFCFD}</style + > + <style + id="style3955" + type="text/css" + >.str0 {stroke:black;stroke-width:0.238063} + .fil0 {fill:black} + .fil2 {fill:#050707} + .fil3 {fill:#881846} + .fil5 {fill:#F6BCD6} + .fil1 {fill:#F9DD56} + .fil4 {fill:#FDFCFD}</style + > + <clipPath + id="clip2" + > + <rect + id="rect28" + y="0" + width="3e3" + x="0" + height="3e3" + /> + </clipPath + > + <clipPath + id="clip1" + > + <rect + id="rect16" + y="0" + width="3e3" + x="0" + height="3e3" + /> + </clipPath + > + <radialGradient + id="radialGradient2297" + gradientUnits="userSpaceOnUse" + cy="15.699" + cx="30.561" + gradientTransform="matrix(.77122 0 0 .77122 6.9919 3.5917)" + r="8.9021" + > + <stop + id="stop2293" + stop-color="#ffa107" + offset="0" + /> + <stop + id="stop2295" + stop-color="#c00" + offset="1" + /> + </radialGradient + > + <linearGradient + id="linearGradient2337" + > + <stop + id="stop2339" + stop-color="#c00" + offset="0" + /> + <stop + id="stop2345" + stop-color="#c84a00" + offset=".27586" + /> + <stop + id="stop2341" + stop-color="#be0000" + offset="1" + /> + </linearGradient + > + <linearGradient + id="linearGradient4295" + y2="31.727" + xlink:href="#radialGradient2297" + gradientUnits="userSpaceOnUse" + x2="39.754" + gradientTransform="matrix(10.771 0 0 10.771 103.16 632.21)" + y1="10.164" + x1="68.65" + inkscape:collect="always" + /> + <radialGradient + id="radialGradient4297" + xlink:href="#radialGradient2297" + gradientUnits="userSpaceOnUse" + cy="-4.1211" + cx="159.18" + r="147.6" + inkscape:collect="always" + /> + <linearGradient + id="linearGradient4299" + y2="9.4235" + xlink:href="#linearGradient2337" + gradientUnits="userSpaceOnUse" + x2="32.312" + gradientTransform="matrix(15.642 0 0 15.642 -74.274 -109.1)" + y1="7.361" + x1="30.526" + inkscape:collect="always" + /> + <linearGradient + id="linearGradient4301" + y2="8.0444" + xlink:href="#radialGradient2297" + gradientUnits="userSpaceOnUse" + x2="31.775" + gradientTransform="matrix(15.642 0 0 15.642 -74.274 -109.1)" + y1="6.1455" + x1="32.099" + inkscape:collect="always" + /> + <linearGradient + id="linearGradient4303" + y2="9.6735" + xlink:href="#linearGradient2337" + gradientUnits="userSpaceOnUse" + x2="8.8115" + gradientTransform="matrix(15.642 0 0 15.642 -74.274 -109.1)" + y1="7.611" + x1="10.401" + inkscape:collect="always" + /> + <linearGradient + id="linearGradient4305" + y2="8.0444" + xlink:href="#radialGradient2297" + gradientUnits="userSpaceOnUse" + x2="8.0879" + gradientTransform="matrix(15.642 0 0 15.642 -74.274 -109.1)" + y1="6.0205" + x1="7.2236" + inkscape:collect="always" + /> + </defs + > + <g + id="g4271" + transform="matrix(1.6438 0 0 1.6438 0 -865.45)" + > + <path + id="path4214" + d="m345.06 1022s231.63 9.2841 264.3-84.205c21.92-62.726-68.989-101.66-76.742-144.06-7.7391-42.406 45.786-31.632 45.786-31.632l8.7461 17.506 31.632-37.702-56.532-7.408 10.76 18.182s-52.159-8.415-53.842 37.012c-1.683 45.441 91.765 103.34 59.457 148.1-32.308 44.765-188.7 30.956-188.7 30.956l-44.862 53.249z" + style="color:#000000;stroke:#3c0000;stroke-width:30;fill:none" + inkscape:connector-curvature="0" + /> + <path + id="path2281" + style="color:#000000;fill-rule:evenodd;fill:url(#linearGradient4295)" + inkscape:connector-curvature="0" + d="m345.06 1022s231.63 9.2841 264.3-84.205c21.92-62.726-68.989-101.66-76.742-144.06-7.7391-42.406 45.786-31.632 45.786-31.632l8.7461 17.506 31.632-37.702-56.532-7.408 10.76 18.182s-52.159-8.415-53.842 37.012c-1.683 45.441 91.765 103.34 59.457 148.1-32.308 44.765-188.7 30.956-188.7 30.956l-44.862 53.249z" + /> + <g + id="layer1" + transform="translate(1935 -250.07)" + > + <g + id="Слой_x0020_1-5" + transform="matrix(1.5439,0,0,1.5439,-1935,830.08)" + > + <circle + id="circle3959" + sodipodi:rx="161.8" + sodipodi:ry="161.8" + style="stroke:#000000;stroke-width:.23806;fill:#3c0000" + d="m 323.72,161.92 c 0,89.35967 -72.44033,161.8 -161.8,161.8 C 72.560324,323.72 0.11999512,251.27967 0.11999512,161.92 0.11999512,72.560324 72.560324,0.11999512 161.92,0.11999512 c 89.35967,0 161.8,72.44032888 161.8,161.80000488 z" + cx="161.92" + cy="161.92" + sodipodi:cy="161.92" + sodipodi:cx="161.92" + r="161.8" + class="fil0 str0" + /> + <circle + id="circle3961" + sodipodi:rx="147.48" + sodipodi:ry="147.48" + style="stroke:#000000;stroke-width:.23806;fill:url(#radialGradient4297)" + d="m 309.39999,161.92 c 0,81.45095 -66.02904,147.47999 -147.47999,147.47999 -81.450954,0 -147.479998,-66.02904 -147.479998,-147.47999 0,-81.450954 66.029044,-147.479998 147.479998,-147.479998 81.45095,0 147.47999,66.029044 147.47999,147.479998 z" + cx="161.92" + cy="161.92" + sodipodi:cy="161.92" + sodipodi:cx="161.92" + r="147.48" + class="fil1 str0" + /> + <path + id="path3963" + d="m41.123 185.96h11.294c11.213 165.04 248.98 116.18 199.71-9.13h-211.01v9.1332z" + style="fill:#3c0000" + inkscape:connector-curvature="0" + class="fil2" + /> + <path + id="path3965" + d="m245.86 186.21-183.75 0.008c18.239 150.24 213.66 103.19 183.75-0.008z" + style="fill:#ffabab" + inkscape:connector-curvature="0" + class="fil3" + /> + <path + id="path3967" + d="m176.27 91.114c-9.6714 12.316-17.811 31.937-8.2086 59.503l88.527 0.009c6.6797-20.838 4.7654-49.806-13.117-65.026-20.429-17.388-50.218-16.113-67.201 5.5133z" + style="fill:#3c0000" + inkscape:connector-curvature="0" + class="fil2" + /> + <path + id="path3969" + d="m61.305 74.123c-30.866 9.3689-32.821 49.81-25.828 76.495l76.459-0.0254c9.5014-26.523 3.1954-52.857-18.826-70.836-6.6703-5.4459-19.863-9.2589-31.806-5.6339z" + style="fill:#3c0000" + inkscape:connector-curvature="0" + class="fil2" + /> + <path + id="path3971" + d="m174.68 141.48h74.64c3.8563-12.479 2.2972-23.818-0.31496-31.809-3.8973 5.0785-8.569 6.563-13.857 7.2436-9.181 1.2217-16.692-7.3466-16.692-16.062l-0.0802-0.63896c0.89227-8.5141 2.272-8.6824 8.5836-14.478-2.4331-1.6292-7.6264-3.1493-11.653-3.1493-33.827-0.65539-50.247 37.199-40.627 58.893z" + style="fill:#fdfcfd" + inkscape:connector-curvature="0" + class="fil4" + /> + <path + id="path3973" + d="m223.2 259.78c-24.285-42.293-86.986-30.941-95.6 17.233 29.39 11.065 72.231 3.9741 95.6-17.233z" + style="fill:#e22727" + inkscape:connector-curvature="0" + class="fil5" + /> + <path + id="path3975" + d="m42.72 141.48 62.752 0.0112c1.05-8.9739 3.435-21.112-1.024-30.875-10.927 12.411-30.279 6.3351-30.234-11.653 0-8.0911 4.333-9.7752 9.1332-14.172-34.666-15.646-48.763 30.431-40.627 56.689z" + style="fill:#fdfcfd" + inkscape:connector-curvature="0" + class="fil4" + /> + </g + > + </g + > + <path + id="path46" + d="m242.23 1133-30.125-70.085-0.0186-1.3432 54.953 0.1129 0.0186 1.3432-24.188 69.935c-0.14309 0.4102-0.47787 0.4102-0.63972 0.037z" + style="fill:#3c0000" + inkscape:connector-curvature="0" + /> + <g + id="g4197" + transform="matrix(1.0773 -.10838 .10838 1.0773 -35.511 623.88)" + > + <path + id="path2276" + d="m465.91-35.065c-1.9552 0.36758-3.8479 1.0746-5.5684 2.0897l-93.381 51.22c-4.8176 2.7655-9.7135 7.7802-8.5716 13.22 6.8511 32.636 32.597 54.957 67.322 58.867 5.24 0.59439 9.5727-4.3484 11.982-9.0252l46.346-91.634c2.9094-5.7765 2.3306-12.698-1.486-17.918-3.8322-5.2181-10.245-7.8537-16.643-6.8213z" + style="stroke-linejoin:round;fill-rule:evenodd;color:#000000;stroke:#3c0000;stroke-linecap:round;stroke-width:15.642;fill:url(#linearGradient4299)" + inkscape:connector-curvature="0" + /> + <path + id="path2299" + d="m466.15-18.437-87.703 47.504c-2.9876 1.9114-3.7853 1.9646-2.8155 5.6811 4.3797 16.683 25.996 35.219 42.733 39.301 3.535 0.87594 6.6164-1.267 8.2901-4.5048l43.093-86.151c2.0021-3.9933-2.4088-2.5324-3.5976-1.8301z" + style="opacity:.64773;stroke-linejoin:round;color:#000000;stroke:url(#linearGradient4301);stroke-linecap:round;stroke-width:15.642;fill:none" + inkscape:connector-curvature="0" + /> + </g + > + <g + id="g4202" + transform="matrix(1.0676 .12803 -.12803 1.0676 -1.4766 568.28)" + > + <path + id="path2279" + d="m34.071-33.11c1.9662 0.36758 3.8526 1.0746 5.5747 2.0897l93.379 51.22c4.8176 2.7655 9.7135 7.7802 8.5716 13.22-6.8354 32.636-32.597 54.957-67.325 58.867-5.2274 0.59439-9.5727-4.3484-11.977-9.0252l-46.336-91.633c-2.9125-5.7765-2.3384-12.698 1.4844-17.918 3.8213-5.2181 10.247-7.8537 16.633-6.8213z" + style="stroke-linejoin:round;fill-rule:evenodd;color:#000000;stroke:#3c0000;stroke-linecap:round;stroke-width:15.642;fill:url(#linearGradient4303)" + inkscape:connector-curvature="0" + /> + <path + id="path2301" + d="m33.708-15.671 87.711 47.502c2.9876 1.9114 3.7853 1.9662 2.7999 5.6826-4.3797 16.687-25.981 35.222-42.727 39.304-3.5319 0.86029-6.6164-1.267-8.2791-4.5048l-43.095-86.154c-2.0115-3.9933 2.3994-2.5324 3.5898-1.8301z" + style="opacity:.64773;stroke-linejoin:round;color:#000000;stroke:url(#linearGradient4305);stroke-linecap:round;stroke-width:15.642;fill:none" + inkscape:connector-curvature="0" + /> + </g + > + <path + id="path78" + d="m75.376 644.34 112.41 78.077 2.2896 1.2366 13.214-26.044-2.2877-1.2312-125.4-52.301c-0.73907-0.31142-0.82014-0.14828-0.22171 0.26253z" + style="fill:#3c0000" + inkscape:connector-curvature="0" + /> + <path + id="path76" + d="m364.18 649.85-116.83 70.74-2.3578 1.0886-11.534-26.766 2.3556-1.0832 128.16-44.258c0.76071-0.26177 0.82606-0.0965 0.20963 0.27759z" + style="fill:#3c0000" + inkscape:connector-curvature="0" + /> + </g + > + <metadata + > + <rdf:RDF + > + <cc:Work + > + <dc:format + >image/svg+xml</dc:format + > + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" + /> + <cc:license + rdf:resource="http://creativecommons.org/licenses/publicdomain/" + /> + <dc:publisher + > + <cc:Agent + rdf:about="http://openclipart.org/" + > + <dc:title + >Openclipart</dc:title + > + </cc:Agent + > + </dc:publisher + > + </cc:Work + > + <cc:License + rdf:about="http://creativecommons.org/licenses/publicdomain/" + > + <cc:permits + rdf:resource="http://creativecommons.org/ns#Reproduction" + /> + <cc:permits + rdf:resource="http://creativecommons.org/ns#Distribution" + /> + <cc:permits + rdf:resource="http://creativecommons.org/ns#DerivativeWorks" + /> + </cc:License + > + </rdf:RDF + > + </metadata + > +</svg +> diff --git a/presentation/Guix_logo.svg b/presentation/Guix_logo.svg new file mode 100644 index 0000000..fd31fa2 --- /dev/null +++ b/presentation/Guix_logo.svg @@ -0,0 +1,157 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + height="44.471672mm" + width="73.686356mm" + viewBox="0 0 261.09338 157.57679" + id="svg3338" + version="1.1" + inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" + sodipodi:docname="Guix_logo.svg" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"> + <defs + id="defs3344"> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4702-3" + id="linearGradient3936" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.4874381,0,0,1.4874381,1284.8057,-24.050665)" + x1="142.96875" + y1="63.65625" + x2="176.60477" + y2="70.667412" /> + <linearGradient + id="linearGradient4702-3"> + <stop + style="stop-color:#ff0000;stop-opacity:0.58431375;" + offset="0" + id="stop4704-1" /> + <stop + style="stop-color:#ffcc00;stop-opacity:1;" + offset="1" + id="stop4706-8" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4702-3" + id="linearGradient3932" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.4874381,0,0,1.4874381,1284.7576,-1291.8882)" + x1="113.5146" + y1="1004.8033" + x2="78.000107" + y2="922.07178" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4696-5" + id="linearGradient3929" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(-0.83291399,0,0,0.83291399,1519.4606,-667.62588)" + x1="108.08774" + y1="1025.709" + x2="80.655251" + y2="1043.709" /> + <linearGradient + id="linearGradient4696-5"> + <stop + style="stop-color:#ffb638;stop-opacity:1;" + offset="0" + id="stop4698-6" /> + <stop + style="stop-color:#f0ae26;stop-opacity:1;" + offset="1" + id="stop4700-2" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4702-3" + id="linearGradient3926" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(-1.4874381,0,0,1.4874381,1586.895,-24.051145)" + x1="142.96875" + y1="63.65625" + x2="177.04297" + y2="69.791016" /> + </defs> + <sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="1280" + inkscape:window-height="749" + id="namedview3342" + showgrid="false" + inkscape:zoom="1.8132778" + inkscape:cx="87.962253" + inkscape:cy="135.66592" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:window-maximized="1" + inkscape:current-layer="g3398" + inkscape:showpageshadow="2" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" + inkscape:document-units="mm" /> + <metadata + id="metadata3340"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + id="g3398" + transform="translate(-1305.3034,-46.601235)"> + <path + inkscape:connector-curvature="0" + style="font-style:normal;font-weight:bold;font-size:144px;line-height:125%;font-family:Sans;-inkscape-font-specification:'Sans Bold';letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none" + d="m 1557.9367,46.602435 c -2.6825,4.90263 -5.4059,8.89401 -8.1809,12.03897 -2.6825,3.05258 -5.6406,5.49427 -8.8781,7.34422 -3.1451,1.75757 -6.7135,3.02514 -10.691,3.76506 -3.885,0.64751 -8.3459,0.97629 -13.4334,0.9761 -3.7529,0 -7.1256,-0.1922 -10.0867,-0.55773 -0.012,0 -0.034,0 -0.047,0 -0.3754,-0.0273 -1.1508,-0.15334 -1.9523,-0.27891 -0.8442,-0.13218 -1.7071,-0.25955 -3.0678,-0.5113 -24.9421,-4.61489 -33.2141,12.7003 -35.0013,17.47744 -0.2797,0.74767 -0.4183,1.20845 -0.4183,1.20845 l -30.3066,84.505085 -18.593,31.60821 h 37.1395 c 15.2535,-33.96261 29.9183,-104.875515 45.5993,-111.139545 3.3988,0.47537 7.6118,0.69713 12.6897,0.69713 6.6601,0 12.6232,-0.79843 17.8957,-2.46349 5.2726,-1.66502 10.0151,-4.24757 14.2702,-7.76263 4.255,-3.60748 8.1051,-8.20868 11.5276,-13.75881 3.515,-5.54998 6.8486,-12.21732 9.9937,-19.98743 l -8.4597,-3.16082 z" + id="path3143" /> + <path + style="font-style:normal;font-weight:bold;font-size:144px;line-height:125%;font-family:Sans;-inkscape-font-specification:'Sans Bold';letter-spacing:0px;word-spacing:0px;fill:url(#linearGradient3936);fill-opacity:1;stroke:none" + d="m 1557.9358,46.605905 c -2.6826,4.90263 -5.4057,8.8885 -8.1808,12.03346 -2.6824,3.05259 -5.6417,5.49543 -8.8792,7.34538 -0.7789,0.43527 -1.5819,0.83524 -2.4125,1.20983 -0.01,0.003 -0.014,0.0109 -0.022,0.0144 -1.0455,0.73525 -2.3902,1.36643 -4.2128,1.80033 -21.0208,5.00504 -35.3388,23.73821 -36.6837,25.5504 0.6098,-0.50134 1.2236,-0.91065 1.8364,-1.22422 0.092,-0.0488 0.1814,-0.093 0.2736,-0.13683 0.015,-0.007 0.029,-0.0148 0.043,-0.0216 0.1068,-0.0498 0.2172,-0.0941 0.3241,-0.13682 3.3988,0.47537 7.6109,0.69853 12.6888,0.69853 6.6601,0 12.6228,-0.805 17.8954,-2.47007 5.2725,-1.66501 10.0108,-4.2408 14.2658,-7.75586 4.2551,-3.60747 8.1069,-8.21164 11.5294,-13.76177 3.515,-5.55 6.8504,-12.22084 9.9955,-19.99096 l -8.4616,-3.1542 z" + id="path3145" + inkscape:connector-curvature="0" /> + <path + inkscape:connector-curvature="0" + style="font-style:normal;font-weight:bold;font-size:144px;line-height:125%;font-family:Sans;-inkscape-font-specification:'Sans Bold';letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none" + d="m 1313.7642,46.602455 c 2.6826,4.90263 5.4059,8.89399 8.1809,12.03895 2.6825,3.05258 5.6407,5.49427 8.8782,7.34422 3.145,1.75757 6.7134,3.02514 10.6909,3.76506 3.8851,0.6477 8.3459,0.97629 13.4334,0.9761 3.7529,0 7.1256,-0.1922 10.0867,-0.55773 0.012,0 0.035,0 0.047,0 0.3754,-0.0269 1.1508,-0.15333 1.9523,-0.27891 0.8442,-0.13218 1.7071,-0.25955 3.0678,-0.5113 24.9421,-4.61489 33.2141,12.7003 35.0013,17.47744 0.2797,0.74767 0.4183,1.20845 0.4183,1.20845 l 30.3066,84.505085 18.593,31.60821 h -37.1395 c -15.2535,-33.96261 -29.9183,-104.875515 -45.5993,-111.139545 -3.3988,0.47537 -7.6118,0.69713 -12.6897,0.69713 -6.6601,0 -12.6232,-0.79843 -17.8957,-2.46349 -5.2726,-1.66502 -10.0151,-4.24757 -14.2702,-7.76263 -4.255,-3.60748 -8.105,-8.20867 -11.5276,-13.75881 -3.515,-5.54993 -6.8486,-12.21728 -9.9937,-19.98743 l 8.4598,-3.1608 z" + id="path3147" /> + <path + sodipodi:nodetypes="ccccccccsscccccccccccc" + id="path3149" + d="m 1313.7627,46.601235 c 2.6826,4.90262 5.4059,8.89399 8.1809,12.03894 2.6825,3.05259 5.6407,5.49427 8.8781,7.34422 3.1451,1.75757 6.7135,3.02514 10.691,3.76507 3.8851,0.64768 8.3459,0.97628 13.4334,0.97609 3.7529,0 7.1256,-0.19221 10.0867,-0.55772 0.012,0 0.035,0 0.047,0 0.3754,-0.027 1.1508,-0.15335 1.9523,-0.27892 0.8442,-0.13218 1.7071,-0.25955 3.0678,-0.5113 24.9421,-4.61489 33.2141,12.70029 35.0013,17.47744 0.2797,0.74767 0.4183,1.20845 0.4183,1.20845 l 30.3066,84.505095 15.6181,31.60819 h -34.1646 c -15.2535,-33.9626 -29.9183,-104.875505 -45.5993,-111.139535 -3.3988,0.47537 -7.6118,0.69713 -12.6897,0.69713 -6.6601,0 -12.6232,-0.79843 -17.8957,-2.46349 -5.2726,-1.66502 -10.0151,-4.24758 -14.2701,-7.76263 -4.2551,-3.60748 -8.1051,-8.20867 -11.5277,-13.7588 -3.515,-5.54995 -6.8486,-12.21728 -9.9937,-19.98743 l 8.4598,-3.1608 z" + style="font-style:normal;font-weight:bold;font-size:144px;line-height:125%;font-family:Sans;-inkscape-font-specification:'Sans Bold';letter-spacing:0px;word-spacing:0px;fill:url(#linearGradient3932);fill-opacity:1;stroke:none" + inkscape:connector-curvature="0" /> + <path + inkscape:connector-curvature="0" + id="path3151" + style="font-style:normal;font-weight:bold;font-size:144px;line-height:125%;font-family:Sans;-inkscape-font-specification:'Sans Bold';letter-spacing:0px;word-spacing:0px;fill:url(#linearGradient3929);fill-opacity:1;stroke:none" + d="m 1435.8193,172.5566 -18.52,31.62143 h 37.1209" + sodipodi:nodetypes="ccc" /> + <path + style="font-style:normal;font-weight:bold;font-size:144px;line-height:125%;font-family:Sans;-inkscape-font-specification:'Sans Bold';letter-spacing:0px;word-spacing:0px;fill:url(#linearGradient3926);fill-opacity:1;stroke:none" + d="m 1313.7667,46.605905 -8.4616,3.1542 c 0.9829,2.42817 1.9835,4.75137 3.003,6.96371 0.2039,0.44246 0.4068,0.87683 0.6121,1.31064 8e-4,0.002 -8e-4,0.006 0,0.007 0.2044,0.4318 0.4135,0.85862 0.6193,1.28184 0.069,0.14106 0.1401,0.27758 0.2089,0.41768 0.3452,0.70349 0.6877,1.40177 1.037,2.08119 0,0.003 0.01,0.004 0.01,0.007 0.2082,0.40484 0.4169,0.80634 0.6265,1.20263 0.8454,1.59852 1.7025,3.12828 2.5709,4.58726 0.2168,0.36432 0.4298,0.7174 0.6481,1.073 0.085,0.13784 0.1672,0.27395 0.252,0.41048 0.1351,0.21746 0.2749,0.43399 0.4105,0.64812 0.2139,0.34687 0.4237,0.69034 0.6409,1.0298 0.3462,0.54084 0.7041,1.06956 1.0586,1.59149 0.09,0.13178 0.1764,0.26551 0.2665,0.39607 0.225,0.32622 0.4486,0.64634 0.6769,0.96499 0.4544,0.6341 0.9152,1.25393 1.3827,1.85795 0.2337,0.302 0.4687,0.59851 0.7057,0.89296 0.474,0.58892 0.9532,1.16257 1.4403,1.72113 0.3692,0.42348 0.7467,0.83988 1.1234,1.24584 0.119,0.12822 0.2403,0.2552 0.36,0.38166 0.5012,0.52939 1.0055,1.04257 1.5195,1.54109 0.2564,0.24866 0.511,0.49359 0.7706,0.73454 0.2608,0.24217 0.5209,0.47857 0.7849,0.71294 0.2628,0.23322 0.5262,0.45866 0.7922,0.68413 0.7978,0.65907 1.6161,1.28595 2.4484,1.87955 2.2197,1.58292 4.563,2.93443 7.0357,4.05436 0.3091,0.14 0.6159,0.27768 0.929,0.41048 0.6283,0.26652 1.2637,0.51855 1.9084,0.75614 0.3213,0.11842 0.6396,0.22723 0.965,0.33846 0.3254,0.11123 0.657,0.22 0.9866,0.32406 0.3295,0.10407 0.6588,0.20515 0.9937,0.30246 0.6699,0.19463 1.3538,0.37949 2.0452,0.5473 0.3458,0.0839 0.6931,0.16039 1.0442,0.23765 0.3512,0.0773 0.7021,0.15261 1.0586,0.22324 0.3588,0.0711 0.7159,0.13718 1.0802,0.20164 0.7239,0.12808 1.458,0.24373 2.2036,0.34566 1.1184,0.15292 2.2607,0.27964 3.4279,0.37447 0.7781,0.0633 1.5694,0.1135 2.3692,0.15123 0.7999,0.0377 1.6125,0.0595 2.4341,0.072 0.4108,0.006 0.8224,0.007 1.2386,0.007 0.6348,0 1.2574,-2.1e-4 1.8652,-0.007 1.2156,-0.014 2.3763,-0.0437 3.4854,-0.0864 0.5521,-0.0213 1.0943,-0.0435 1.6203,-0.072 0.5282,-0.0287 1.0462,-0.0646 1.5483,-0.10083 1.5062,-0.10864 2.895,-0.24661 4.1696,-0.42487 0.1069,0.0427 0.2173,0.087 0.3241,0.13682 0.015,0.006 0.028,0.0148 0.043,0.0216 0.092,0.0439 0.1815,0.088 0.2736,0.13682 0.6131,0.31376 1.2262,0.72249 1.8364,1.22423 -1.3421,-1.80851 -15.6604,-20.54497 -36.6837,-25.5504 -1.8226,-0.43396 -3.1673,-1.06505 -4.2128,-1.80034 -0.01,-0.003 -0.014,-0.0108 -0.022,-0.0144 -0.8287,-0.37374 -1.6352,-0.77569 -2.4125,-1.20983 0,-8e-4 -0.01,7.9e-4 -0.01,0 -0.2005,-0.11459 -0.3993,-0.23372 -0.5977,-0.35287 0,-8e-4 -0.01,8e-4 -0.01,0 -0.2001,-0.12025 -0.3925,-0.24238 -0.5905,-0.36726 -0.3976,-0.25081 -0.7922,-0.50819 -1.181,-0.77775 -0.1936,-0.13419 -0.3847,-0.27162 -0.5761,-0.41048 -0.3856,-0.27966 -0.7611,-0.56553 -1.1378,-0.86416 -0.1871,-0.14821 -0.3696,-0.29358 -0.5545,-0.44649 -0.1864,-0.15403 -0.3704,-0.30928 -0.5545,-0.46808 -0.1828,-0.15761 -0.3595,-0.32017 -0.5401,-0.4825 -0.9031,-0.81159 -1.7795,-1.67679 -2.6285,-2.60688 -0.1699,-0.18602 -0.3437,-0.37813 -0.5113,-0.56891 -0.6171,-0.6993 -1.2315,-1.4415 -1.8436,-2.22522 -0.076,-0.0976 -0.1471,-0.19638 -0.2232,-0.29525 -0.1719,-0.22327 -0.347,-0.44692 -0.5185,-0.67693 -0.8574,-1.15011 -1.7082,-2.38737 -2.5565,-3.70871 -0.3393,-0.52854 -0.6774,-1.07112 -1.0154,-1.62751 -0.169,-0.27819 -0.3354,-0.55736 -0.5041,-0.84255 -0.5043,-0.85289 -1.0109,-1.74117 -1.5123,-2.6573 z" + id="path3154" + inkscape:connector-curvature="0" /> + </g> +</svg> diff --git a/presentation/Guix_logo_with_flag.svg b/presentation/Guix_logo_with_flag.svg new file mode 100644 index 0000000..bb3c700 --- /dev/null +++ b/presentation/Guix_logo_with_flag.svg @@ -0,0 +1,276 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + height="44.471672mm" + width="73.686356mm" + viewBox="0 0 261.09338 157.57679" + id="svg3338" + version="1.1" + inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" + sodipodi:docname="Guix_logo_with_flag.svg" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"> + <defs + id="defs3344"> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4702-3" + id="linearGradient3936" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.4874381,0,0,1.4874381,1284.8057,-24.050665)" + x1="142.96875" + y1="63.65625" + x2="176.60477" + y2="70.667412" /> + <linearGradient + id="linearGradient4702-3"> + <stop + style="stop-color:#ff0000;stop-opacity:0.58431375;" + offset="0" + id="stop4704-1" /> + <stop + style="stop-color:#ffcc00;stop-opacity:1;" + offset="1" + id="stop4706-8" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4702-3" + id="linearGradient3932" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.4874381,0,0,1.4874381,1284.7576,-1291.8882)" + x1="113.5146" + y1="1004.8033" + x2="78.000107" + y2="922.07178" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4696-5" + id="linearGradient3929" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(-0.83291399,0,0,0.83291399,1519.4606,-667.62588)" + x1="108.08774" + y1="1025.709" + x2="80.655251" + y2="1043.709" /> + <linearGradient + id="linearGradient4696-5"> + <stop + style="stop-color:#ffb638;stop-opacity:1;" + offset="0" + id="stop4698-6" /> + <stop + style="stop-color:#f0ae26;stop-opacity:1;" + offset="1" + id="stop4700-2" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4702-3" + id="linearGradient3926" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(-1.4874381,0,0,1.4874381,1586.895,-24.051145)" + x1="142.96875" + y1="63.65625" + x2="177.04297" + y2="69.791016" /> + <linearGradient + xlink:href="#c" + id="d" + x1="-3.7498047" + x2="4.318048" + y1="144.07323" + y2="144.07323" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.18442791,0,0,0.18442974,1351.8791,722.58769)" /> + <linearGradient + id="c"> + <stop + offset="0" + stop-color="#783000" + id="stop557" /> + <stop + offset=".75" + id="stop559" /> + <stop + offset="1" + stop-color="#642800" + id="stop561" /> + </linearGradient> + <linearGradient + xlink:href="#b" + id="e" + x1="116.57422" + x2="221.6933" + y1="98.310341" + y2="94.320732" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.1844293,0,0,0.1844293,1439.7869,75.740202)" /> + <linearGradient + id="b"> + <stop + offset="0" + stop-color="#c82a00" + id="stop548" /> + <stop + offset=".52" + stop-color="#5f1802" + id="stop550" /> + <stop + offset=".67" + stop-color="#5f1802" + id="stop552" /> + <stop + offset="1" + stop-color="#bf3415" + id="stop554" /> + </linearGradient> + <radialGradient + xlink:href="#a" + id="f" + cx="175.42162" + cy="98.310333" + r="72.10807" + fx="175.42162" + fy="98.310333" + gradientTransform="matrix(0.1844293,0,0,0.21658271,1439.7869,72.579192)" + gradientUnits="userSpaceOnUse" /> + <linearGradient + id="a"> + <stop + offset="0" + stop-color="#b92c10" + id="stop564" /> + <stop + offset="1" + stop-color="#621805" + id="stop566" /> + </linearGradient> + <linearGradient + xlink:href="#a" + id="g" + x1="48.975147" + x2="117.85719" + y1="87.787521" + y2="77.99485" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.1844293,0,0,0.1844293,1439.7869,75.740202)" /> + <radialGradient + xlink:href="#a" + id="h" + cx="67.081421" + cy="84.330505" + r="58.420074" + fx="67.081421" + fy="84.330505" + gradientTransform="matrix(0.1844293,0,0,0.26391464,1439.7869,69.037092)" + gradientUnits="userSpaceOnUse" /> + </defs> + <sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="1280" + inkscape:window-height="749" + id="namedview3342" + showgrid="false" + inkscape:zoom="1.5412692" + inkscape:cx="157.66227" + inkscape:cy="78.506727" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:window-maximized="1" + inkscape:current-layer="g3398" + inkscape:showpageshadow="2" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" + inkscape:document-units="mm" /> + <metadata + id="metadata3340"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + id="g3398" + transform="translate(-1305.3034,-46.601235)"> + <rect + width="1.4879373" + height="49.944027" + x="1351.1874" + y="724.18701" + fill="url(#d)" + color="#000000" + overflow="visible" + rx="0.74396867" + ry="0.74397606" + transform="matrix(0.8930067,-0.45004337,0.32182923,0.94679776,2.7438929e-5,2.4459005e-7)" + id="rect576" + style="fill:url(#d);stroke-width:0.184429" /> + <path + inkscape:connector-curvature="0" + style="font-style:normal;font-weight:bold;font-size:144px;line-height:125%;font-family:Sans;-inkscape-font-specification:'Sans Bold';letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none" + d="m 1557.9367,46.602435 c -2.6825,4.90263 -5.4059,8.89401 -8.1809,12.03897 -2.6825,3.05258 -5.6406,5.49427 -8.8781,7.34422 -3.1451,1.75757 -6.7135,3.02514 -10.691,3.76506 -3.885,0.64751 -8.3459,0.97629 -13.4334,0.9761 -3.7529,0 -7.1256,-0.1922 -10.0867,-0.55773 -0.012,0 -0.034,0 -0.047,0 -0.3754,-0.0273 -1.1508,-0.15334 -1.9523,-0.27891 -0.8442,-0.13218 -1.7071,-0.25955 -3.0678,-0.5113 -24.9421,-4.61489 -33.2141,12.7003 -35.0013,17.47744 -0.2797,0.74767 -0.4183,1.20845 -0.4183,1.20845 l -30.3066,84.505085 -18.593,31.60821 h 37.1395 c 15.2535,-33.96261 29.9183,-104.875515 45.5993,-111.139545 3.3988,0.47537 7.6118,0.69713 12.6897,0.69713 6.6601,0 12.6232,-0.79843 17.8957,-2.46349 5.2726,-1.66502 10.0151,-4.24757 14.2702,-7.76263 4.255,-3.60748 8.1051,-8.20868 11.5276,-13.75881 3.515,-5.54998 6.8486,-12.21732 9.9937,-19.98743 l -8.4597,-3.16082 z" + id="path3143" /> + <path + style="font-style:normal;font-weight:bold;font-size:144px;line-height:125%;font-family:Sans;-inkscape-font-specification:'Sans Bold';letter-spacing:0px;word-spacing:0px;fill:url(#linearGradient3936);fill-opacity:1;stroke:none" + d="m 1557.9358,46.605905 c -2.6826,4.90263 -5.4057,8.8885 -8.1808,12.03346 -2.6824,3.05259 -5.6417,5.49543 -8.8792,7.34538 -0.7789,0.43527 -1.5819,0.83524 -2.4125,1.20983 -0.01,0.003 -0.014,0.0109 -0.022,0.0144 -1.0455,0.73525 -2.3902,1.36643 -4.2128,1.80033 -21.0208,5.00504 -35.3388,23.73821 -36.6837,25.5504 0.6098,-0.50134 1.2236,-0.91065 1.8364,-1.22422 0.092,-0.0488 0.1814,-0.093 0.2736,-0.13683 0.015,-0.007 0.029,-0.0148 0.043,-0.0216 0.1068,-0.0498 0.2172,-0.0941 0.3241,-0.13682 3.3988,0.47537 7.6109,0.69853 12.6888,0.69853 6.6601,0 12.6228,-0.805 17.8954,-2.47007 5.2725,-1.66501 10.0108,-4.2408 14.2658,-7.75586 4.2551,-3.60747 8.1069,-8.21164 11.5294,-13.76177 3.515,-5.55 6.8504,-12.22084 9.9955,-19.99096 l -8.4616,-3.1542 z" + id="path3145" + inkscape:connector-curvature="0" /> + <path + inkscape:connector-curvature="0" + style="font-style:normal;font-weight:bold;font-size:144px;line-height:125%;font-family:Sans;-inkscape-font-specification:'Sans Bold';letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none" + d="m 1313.7642,46.602455 c 2.6826,4.90263 5.4059,8.89399 8.1809,12.03895 2.6825,3.05258 5.6407,5.49427 8.8782,7.34422 3.145,1.75757 6.7134,3.02514 10.6909,3.76506 3.8851,0.6477 8.3459,0.97629 13.4334,0.9761 3.7529,0 7.1256,-0.1922 10.0867,-0.55773 0.012,0 0.035,0 0.047,0 0.3754,-0.0269 1.1508,-0.15333 1.9523,-0.27891 0.8442,-0.13218 1.7071,-0.25955 3.0678,-0.5113 24.9421,-4.61489 33.2141,12.7003 35.0013,17.47744 0.2797,0.74767 0.4183,1.20845 0.4183,1.20845 l 30.3066,84.505085 18.593,31.60821 h -37.1395 c -15.2535,-33.96261 -29.9183,-104.875515 -45.5993,-111.139545 -3.3988,0.47537 -7.6118,0.69713 -12.6897,0.69713 -6.6601,0 -12.6232,-0.79843 -17.8957,-2.46349 -5.2726,-1.66502 -10.0151,-4.24757 -14.2702,-7.76263 -4.255,-3.60748 -8.105,-8.20867 -11.5276,-13.75881 -3.515,-5.54993 -6.8486,-12.21728 -9.9937,-19.98743 l 8.4598,-3.1608 z" + id="path3147" /> + <path + sodipodi:nodetypes="ccccccccsscccccccccccc" + id="path3149" + d="m 1313.7627,46.601235 c 2.6826,4.90262 5.4059,8.89399 8.1809,12.03894 2.6825,3.05259 5.6407,5.49427 8.8781,7.34422 3.1451,1.75757 6.7135,3.02514 10.691,3.76507 3.8851,0.64768 8.3459,0.97628 13.4334,0.97609 3.7529,0 7.1256,-0.19221 10.0867,-0.55772 0.012,0 0.035,0 0.047,0 0.3754,-0.027 1.1508,-0.15335 1.9523,-0.27892 0.8442,-0.13218 1.7071,-0.25955 3.0678,-0.5113 24.9421,-4.61489 33.2141,12.70029 35.0013,17.47744 0.2797,0.74767 0.4183,1.20845 0.4183,1.20845 l 30.3066,84.505095 15.6181,31.60819 h -34.1646 c -15.2535,-33.9626 -29.9183,-104.875505 -45.5993,-111.139535 -3.3988,0.47537 -7.6118,0.69713 -12.6897,0.69713 -6.6601,0 -12.6232,-0.79843 -17.8957,-2.46349 -5.2726,-1.66502 -10.0151,-4.24758 -14.2701,-7.76263 -4.2551,-3.60748 -8.1051,-8.20867 -11.5277,-13.7588 -3.515,-5.54995 -6.8486,-12.21728 -9.9937,-19.98743 l 8.4598,-3.1608 z" + style="font-style:normal;font-weight:bold;font-size:144px;line-height:125%;font-family:Sans;-inkscape-font-specification:'Sans Bold';letter-spacing:0px;word-spacing:0px;fill:url(#linearGradient3932);fill-opacity:1;stroke:none" + inkscape:connector-curvature="0" /> + <path + inkscape:connector-curvature="0" + id="path3151" + style="font-style:normal;font-weight:bold;font-size:144px;line-height:125%;font-family:Sans;-inkscape-font-specification:'Sans Bold';letter-spacing:0px;word-spacing:0px;fill:url(#linearGradient3929);fill-opacity:1;stroke:none" + d="m 1435.8193,172.5566 -18.52,31.62143 h 37.1209" + sodipodi:nodetypes="ccc" /> + <path + style="font-style:normal;font-weight:bold;font-size:144px;line-height:125%;font-family:Sans;-inkscape-font-specification:'Sans Bold';letter-spacing:0px;word-spacing:0px;fill:url(#linearGradient3926);fill-opacity:1;stroke:none" + d="m 1313.7667,46.605905 -8.4616,3.1542 c 0.9829,2.42817 1.9835,4.75137 3.003,6.96371 0.2039,0.44246 0.4068,0.87683 0.6121,1.31064 8e-4,0.002 -8e-4,0.006 0,0.007 0.2044,0.4318 0.4135,0.85862 0.6193,1.28184 0.069,0.14106 0.1401,0.27758 0.2089,0.41768 0.3452,0.70349 0.6877,1.40177 1.037,2.08119 0,0.003 0.01,0.004 0.01,0.007 0.2082,0.40484 0.4169,0.80634 0.6265,1.20263 0.8454,1.59852 1.7025,3.12828 2.5709,4.58726 0.2168,0.36432 0.4298,0.7174 0.6481,1.073 0.085,0.13784 0.1672,0.27395 0.252,0.41048 0.1351,0.21746 0.2749,0.43399 0.4105,0.64812 0.2139,0.34687 0.4237,0.69034 0.6409,1.0298 0.3462,0.54084 0.7041,1.06956 1.0586,1.59149 0.09,0.13178 0.1764,0.26551 0.2665,0.39607 0.225,0.32622 0.4486,0.64634 0.6769,0.96499 0.4544,0.6341 0.9152,1.25393 1.3827,1.85795 0.2337,0.302 0.4687,0.59851 0.7057,0.89296 0.474,0.58892 0.9532,1.16257 1.4403,1.72113 0.3692,0.42348 0.7467,0.83988 1.1234,1.24584 0.119,0.12822 0.2403,0.2552 0.36,0.38166 0.5012,0.52939 1.0055,1.04257 1.5195,1.54109 0.2564,0.24866 0.511,0.49359 0.7706,0.73454 0.2608,0.24217 0.5209,0.47857 0.7849,0.71294 0.2628,0.23322 0.5262,0.45866 0.7922,0.68413 0.7978,0.65907 1.6161,1.28595 2.4484,1.87955 2.2197,1.58292 4.563,2.93443 7.0357,4.05436 0.3091,0.14 0.6159,0.27768 0.929,0.41048 0.6283,0.26652 1.2637,0.51855 1.9084,0.75614 0.3213,0.11842 0.6396,0.22723 0.965,0.33846 0.3254,0.11123 0.657,0.22 0.9866,0.32406 0.3295,0.10407 0.6588,0.20515 0.9937,0.30246 0.6699,0.19463 1.3538,0.37949 2.0452,0.5473 0.3458,0.0839 0.6931,0.16039 1.0442,0.23765 0.3512,0.0773 0.7021,0.15261 1.0586,0.22324 0.3588,0.0711 0.7159,0.13718 1.0802,0.20164 0.7239,0.12808 1.458,0.24373 2.2036,0.34566 1.1184,0.15292 2.2607,0.27964 3.4279,0.37447 0.7781,0.0633 1.5694,0.1135 2.3692,0.15123 0.7999,0.0377 1.6125,0.0595 2.4341,0.072 0.4108,0.006 0.8224,0.007 1.2386,0.007 0.6348,0 1.2574,-2.1e-4 1.8652,-0.007 1.2156,-0.014 2.3763,-0.0437 3.4854,-0.0864 0.5521,-0.0213 1.0943,-0.0435 1.6203,-0.072 0.5282,-0.0287 1.0462,-0.0646 1.5483,-0.10083 1.5062,-0.10864 2.895,-0.24661 4.1696,-0.42487 0.1069,0.0427 0.2173,0.087 0.3241,0.13682 0.015,0.006 0.028,0.0148 0.043,0.0216 0.092,0.0439 0.1815,0.088 0.2736,0.13682 0.6131,0.31376 1.2262,0.72249 1.8364,1.22423 -1.3421,-1.80851 -15.6604,-20.54497 -36.6837,-25.5504 -1.8226,-0.43396 -3.1673,-1.06505 -4.2128,-1.80034 -0.01,-0.003 -0.014,-0.0108 -0.022,-0.0144 -0.8287,-0.37374 -1.6352,-0.77569 -2.4125,-1.20983 0,-8e-4 -0.01,7.9e-4 -0.01,0 -0.2005,-0.11459 -0.3993,-0.23372 -0.5977,-0.35287 0,-8e-4 -0.01,8e-4 -0.01,0 -0.2001,-0.12025 -0.3925,-0.24238 -0.5905,-0.36726 -0.3976,-0.25081 -0.7922,-0.50819 -1.181,-0.77775 -0.1936,-0.13419 -0.3847,-0.27162 -0.5761,-0.41048 -0.3856,-0.27966 -0.7611,-0.56553 -1.1378,-0.86416 -0.1871,-0.14821 -0.3696,-0.29358 -0.5545,-0.44649 -0.1864,-0.15403 -0.3704,-0.30928 -0.5545,-0.46808 -0.1828,-0.15761 -0.3595,-0.32017 -0.5401,-0.4825 -0.9031,-0.81159 -1.7795,-1.67679 -2.6285,-2.60688 -0.1699,-0.18602 -0.3437,-0.37813 -0.5113,-0.56891 -0.6171,-0.6993 -1.2315,-1.4415 -1.8436,-2.22522 -0.076,-0.0976 -0.1471,-0.19638 -0.2232,-0.29525 -0.1719,-0.22327 -0.347,-0.44692 -0.5185,-0.67693 -0.8574,-1.15011 -1.7082,-2.38737 -2.5565,-3.70871 -0.3393,-0.52854 -0.6774,-1.07112 -1.0154,-1.62751 -0.169,-0.27819 -0.3354,-0.55736 -0.5041,-0.84255 -0.5043,-0.85289 -1.0109,-1.74117 -1.5123,-2.6573 z" + id="path3154" + inkscape:connector-curvature="0" /> + <path + fill="url(#e)" + fill-rule="evenodd" + stroke="url(#f)" + stroke-linejoin="bevel" + d="m 1459.2214,80.457332 c -0.4248,-4.92499 -0.6505,0.25223 1.3275,0.6903 4.4236,1.12432 9.0006,1.34881 13.5404,1.00889 1.3858,-0.10376 7.3373,-2.41388 7.4339,-1.80539 -0.8088,1.51264 -1.3281,8.95902 -0.9026,12.74392 -0.048,3.67364 4.2104,13.185678 4.7258,16.301598 -6.2214,-3.7242 -10.8332,-4.65144 -16.8326,-2.86738 -1.4668,0.43619 -4.9364,0.65078 -5.4161,-1.22129 -0.3319,-0.9558 -0.1654,-1.68547 -0.2851,-2.81429 -0.3428,-3.234708 0.199,1.38645 -0.5645,-1.64609 -1.3637,-5.415678 -2.6019,-15.465268 -3.0267,-20.390268 z" + id="path578" + style="fill:url(#e);stroke:url(#f);stroke-width:0.184429" /> + <path + fill="url(#g)" + fill-rule="evenodd" + stroke="url(#h)" + stroke-linejoin="bevel" + d="m 1441.4765,78.008052 c 3.1878,0.59363 8.5164,1.0775 10.1753,0.48812 1.6589,-0.58939 3.3734,-1.7382 5.3317,-2.32793 2.0146,-0.60667 2.8658,0.17705 3.154,2.14019 0.7112,6.72884 2.5524,18.71475 2.7033,24.405628 -1.2763,-2.7021 -5.1047,-2.24183 -11.6771,3.90491 -0.01,-2.29749 0.2598,-9.695108 -2.3655,-14.718478 -2.6252,-5.02337 -3.1559,-7.78347 -4.4681,-9.57452 -1.3122,-1.79105 -2.7366,-3.28337 -2.8536,-4.31792 z" + id="path580" + style="fill:url(#g);stroke:url(#h);stroke-width:0.184429" /> + </g> +</svg> diff --git a/presentation/Nix_logo.svg b/presentation/Nix_logo.svg new file mode 100644 index 0000000..40dee5f --- /dev/null +++ b/presentation/Nix_logo.svg @@ -0,0 +1,424 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="154.59mm" + height="136.685mm" + viewBox="0 0 547.76018 484.31691" + id="svg2" + version="1.1" + inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)" + sodipodi:docname="nixos-logo-notext.svg" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"> + <defs + id="defs4"> + <linearGradient + inkscape:collect="always" + id="linearGradient5562"> + <stop + style="stop-color:#699ad7;stop-opacity:1" + offset="0" + id="stop5564" /> + <stop + id="stop5566" + offset="0.24345198" + style="stop-color:#7eb1dd;stop-opacity:1" /> + <stop + style="stop-color:#7ebae4;stop-opacity:1" + offset="1" + id="stop5568" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient5053"> + <stop + style="stop-color:#415e9a;stop-opacity:1" + offset="0" + id="stop5055" /> + <stop + id="stop5057" + offset="0.23168644" + style="stop-color:#4a6baf;stop-opacity:1" /> + <stop + style="stop-color:#5277c3;stop-opacity:1" + offset="1" + id="stop5059" /> + </linearGradient> + <linearGradient + id="linearGradient5960" + inkscape:collect="always"> + <stop + id="stop5962" + offset="0" + style="stop-color:#637ddf;stop-opacity:1" /> + <stop + style="stop-color:#649afa;stop-opacity:1" + offset="0.23168644" + id="stop5964" /> + <stop + id="stop5966" + offset="1" + style="stop-color:#719efa;stop-opacity:1" /> + </linearGradient> + <linearGradient + y2="515.97058" + x2="282.26105" + y1="338.62445" + x1="213.95642" + gradientTransform="translate(983.36076,601.38885)" + gradientUnits="userSpaceOnUse" + id="linearGradient5855" + xlink:href="#linearGradient5960" + inkscape:collect="always" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient5562" + id="linearGradient5384" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(70.650339,-1055.1511)" + x1="200.59668" + y1="351.41116" + x2="290.08701" + y2="506.18814" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient5053" + id="linearGradient5386" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(864.69589,-1491.3405)" + x1="-584.19934" + y1="782.33563" + x2="-496.29703" + y2="937.71399" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.28677972" + inkscape:cx="113.3274" + inkscape:cy="359.16069" + inkscape:document-units="px" + inkscape:current-layer="g5329" + showgrid="false" + inkscape:window-width="2048" + inkscape:window-height="1080" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1" + inkscape:snap-global="true" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + inkscape:showpageshadow="0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#505050" /> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:groupmode="layer" + id="layer7" + inkscape:label="bg" + style="display:none"> + <rect + transform="translate(-132.5822,958.04022)" + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + id="rect5389" + width="1543.4283" + height="483.7439" + x="132.5822" + y="-957.77832" /> + </g> + <g + inkscape:groupmode="layer" + id="layer5" + inkscape:label="guide" + style="display:none;opacity:0.516" + transform="translate(-132.5822,958.04022)"> + <rect + y="-957.77832" + x="132.5822" + height="483.7439" + width="1543.4283" + id="rect5350" + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#d4d4d4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> + <rect + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#9b9b9b;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + id="rect5346" + width="1496.443" + height="435.68069" + x="155.77646" + y="-933.38721" + inkscape:export-xdpi="17.971878" + inkscape:export-ydpi="17.971878" /> + <rect + y="-851.65918" + x="159.02695" + height="272.58423" + width="1492.5731" + id="rect5348" + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#848484;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> + </g> + <g + inkscape:groupmode="layer" + id="layer6" + inkscape:label="logo-guide" + style="display:none" + transform="translate(-132.5822,958.04022)"> + <rect + y="-958.02759" + x="132.65129" + height="484.30399" + width="550.41602" + id="rect5379" + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5c201e;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + inkscape:export-filename="/home/tim/dev/nix/homepage/logo/nix-wiki.png" + inkscape:export-xdpi="22.07" + inkscape:export-ydpi="22.07" /> + <rect + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#c24a46;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + id="rect5372" + width="501.94415" + height="434.30405" + x="156.12303" + y="-933.02759" + inkscape:export-filename="/home/tim/dev/nix/homepage/logo/nixos-logo-only-hires-print.png" + inkscape:export-xdpi="212.2" + inkscape:export-ydpi="212.2" /> + <rect + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#d98d8a;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + id="rect5381" + width="24.939611" + height="24.939611" + x="658.02826" + y="-958.04022" /> + </g> + <g + inkscape:label="print-logo" + inkscape:groupmode="layer" + id="layer1" + style="display:inline" + sodipodi:insensitive="true" + transform="translate(-132.5822,958.04022)"> + <path + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5277c3;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + d="m 309.40365,-710.2521 122.19683,211.6751 -56.15706,0.5268 -32.6236,-56.8692 -32.85645,56.5653 -27.90237,-0.011 -14.29086,-24.6896 46.81047,-80.4902 -33.22946,-57.8256 z" + id="path4861" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccccccccc" /> + <path + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#7ebae4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + d="m 353.50926,-797.4433 -122.21756,211.6631 -28.53477,-48.37 32.93839,-56.6875 -65.41521,-0.1719 -13.9414,-24.1698 14.23637,-24.721 93.11177,0.2939 33.46371,-57.6903 z" + id="use4863" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccccccccc" /> + <path + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#7ebae4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + d="m 362.88537,-628.243 244.41439,0.012 -27.62229,48.8968 -65.56199,-0.1817 32.55876,56.7371 -13.96098,24.1585 -28.52722,0.032 -46.3013,-80.7841 -66.69317,-0.1353 z" + id="use4865" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccccccccc" /> + <path + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#7ebae4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + d="m 505.14318,-720.9886 -122.19683,-211.6751 56.15706,-0.5268 32.6236,56.8692 32.85645,-56.5653 27.90237,0.011 14.29086,24.6896 -46.81047,80.4902 33.22946,57.8256 z" + id="use4867" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccccccccc" /> + <path + sodipodi:nodetypes="cccccccccc" + inkscape:connector-curvature="0" + id="path4873" + d="m 309.40365,-710.2521 122.19683,211.6751 -56.15706,0.5268 -32.6236,-56.8692 -32.85645,56.5653 -27.90237,-0.011 -14.29086,-24.6896 46.81047,-80.4902 -33.22946,-57.8256 z" + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5277c3;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> + <path + sodipodi:nodetypes="cccccccccc" + inkscape:connector-curvature="0" + id="use4875" + d="m 451.3364,-803.53264 -244.4144,-0.012 27.62229,-48.89685 65.56199,0.18175 -32.55875,-56.73717 13.96097,-24.15851 28.52722,-0.0315 46.3013,80.78414 66.69317,0.13524 z" + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5277c3;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> + <path + sodipodi:nodetypes="cccccccccc" + inkscape:connector-curvature="0" + id="use4877" + d="m 460.87178,-633.8425 122.21757,-211.66304 28.53477,48.37003 -32.93839,56.68751 65.4152,0.1718 13.9414,24.1698 -14.23636,24.7211 -93.11177,-0.294 -33.46371,57.6904 z" + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5277c3;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> + <g + id="layer2" + inkscape:label="guides" + style="display:none" + transform="translate(72.039038,-1799.4476)"> + <path + d="M 460.60629,594.72881 209.74183,594.7288 84.309616,377.4738 209.74185,160.21882 l 250.86446,1e-5 125.43222,217.255 z" + inkscape:randomized="0" + inkscape:rounded="0" + inkscape:flatsided="true" + sodipodi:arg2="1.5707963" + sodipodi:arg1="1.0471976" + sodipodi:r2="217.25499" + sodipodi:r1="250.86446" + sodipodi:cy="377.47382" + sodipodi:cx="335.17407" + sodipodi:sides="6" + id="path6032" + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.236;fill:#4e4d52;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + sodipodi:type="star" /> + <path + transform="translate(0,-308.26772)" + sodipodi:type="star" + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#4e4d52;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="path5875" + sodipodi:sides="6" + sodipodi:cx="335.17407" + sodipodi:cy="685.74158" + sodipodi:r1="100.83495" + sodipodi:r2="87.32563" + sodipodi:arg1="1.0471976" + sodipodi:arg2="1.5707963" + inkscape:flatsided="true" + inkscape:rounded="0" + inkscape:randomized="0" + d="m 385.59154,773.06721 -100.83495,0 -50.41747,-87.32564 50.41748,-87.32563 100.83495,10e-6 50.41748,87.32563 z" /> + <path + transform="translate(0,-308.26772)" + sodipodi:nodetypes="ccccccccc" + inkscape:connector-curvature="0" + id="path5851" + d="m 1216.5591,938.53395 123.0545,228.14035 -42.6807,-1.2616 -43.4823,-79.7725 -39.6506,80.3267 -32.6875,-19.7984 53.4737,-100.2848 -37.1157,-73.88955 z" + style="fill:url(#linearGradient5855);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + <rect + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.415;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#c53a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + id="rect5884" + width="48.834862" + height="226.22897" + x="-34.74221" + y="446.17056" + transform="rotate(-30)" /> + <path + transform="translate(0,-308.26772)" + sodipodi:type="star" + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.509;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + id="path3428" + sodipodi:sides="6" + sodipodi:cx="223.93674" + sodipodi:cy="878.63831" + sodipodi:r1="28.048939" + sodipodi:r2="24.291094" + sodipodi:arg1="0" + sodipodi:arg2="0.52359878" + inkscape:flatsided="true" + inkscape:rounded="0" + inkscape:randomized="0" + d="m 251.98568,878.63831 -14.02447,24.29109 h -28.04894 l -14.02447,-24.29109 14.02447,-24.2911 h 28.04894 z" /> + <use + x="0" + y="0" + xlink:href="#rect5884" + id="use4252" + transform="rotate(60,268.29786,489.4515)" + width="100%" + height="100%" /> + <rect + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:0.650794;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + id="rect4254" + width="5.3947482" + height="115.12564" + x="545.71014" + y="467.07007" + transform="rotate(30,575.23539,-154.13386)" /> + </g> + </g> + <g + inkscape:groupmode="layer" + id="layer3" + inkscape:label="gradient-logo" + style="display:inline;opacity:1" + sodipodi:insensitive="true" + transform="translate(-132.5822,958.04022)"> + <path + sodipodi:nodetypes="cccccccccc" + inkscape:connector-curvature="0" + id="path3336-6" + d="m 309.54892,-710.38827 122.19683,211.67512 -56.15706,0.5268 -32.6236,-56.8692 -32.85645,56.5653 -27.90237,-0.011 -14.29086,-24.6896 46.81047,-80.4901 -33.22946,-57.8257 z" + style="opacity:1;fill:url(#linearGradient5384);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + <use + height="100%" + width="100%" + transform="rotate(60,407.11155,-715.78724)" + id="use3439-6" + inkscape:transform-center-y="151.59082" + inkscape:transform-center-x="124.43045" + xlink:href="#path3336-6" + y="0" + x="0" /> + <use + height="100%" + width="100%" + transform="rotate(-60,407.31177,-715.70016)" + id="use3445-0" + inkscape:transform-center-y="75.573958" + inkscape:transform-center-x="-168.20651" + xlink:href="#path3336-6" + y="0" + x="0" /> + <use + height="100%" + width="100%" + transform="rotate(180,407.41868,-715.7565)" + id="use3449-5" + inkscape:transform-center-y="-139.94592" + inkscape:transform-center-x="59.669705" + xlink:href="#path3336-6" + y="0" + x="0" /> + <path + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:url(#linearGradient5386);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + d="m 309.54892,-710.38827 122.19683,211.67512 -56.15706,0.5268 -32.6236,-56.8692 -32.85645,56.5653 -27.90237,-0.011 -14.29086,-24.6896 46.81047,-80.4901 -33.22946,-57.8256 z" + id="path4260-0" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccccccccc" /> + <use + height="100%" + width="100%" + transform="rotate(120,407.33916,-716.08356)" + id="use4354-5" + xlink:href="#path4260-0" + y="0" + x="0" + style="display:inline" /> + <use + height="100%" + width="100%" + transform="rotate(-120,407.28823,-715.86995)" + id="use4362-2" + xlink:href="#path4260-0" + y="0" + x="0" + style="display:inline" /> + </g> + <g + style="display:inline" + inkscape:label="text-vegur" + id="g5329" + inkscape:groupmode="layer" + transform="translate(-132.5822,958.04022)" /> +</svg> diff --git a/presentation/Red_flag_waving.svg b/presentation/Red_flag_waving.svg new file mode 100644 index 0000000..2fe3305 --- /dev/null +++ b/presentation/Red_flag_waving.svg @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="249" height="268" version="1.0"> + <defs> + <linearGradient id="b"> + <stop offset="0" stop-color="#c82a00"/> + <stop offset=".52" stop-color="#5f1802"/> + <stop offset=".67" stop-color="#5f1802"/> + <stop offset="1" stop-color="#bf3415"/> + </linearGradient> + <linearGradient id="c"> + <stop offset="0" stop-color="#783000"/> + <stop offset=".75"/> + <stop offset="1" stop-color="#642800"/> + </linearGradient> + <linearGradient id="a"> + <stop offset="0" stop-color="#b92c10"/> + <stop offset="1" stop-color="#621805"/> + </linearGradient> + <linearGradient xlink:href="#a" id="g" x1="48.975147" x2="117.85719" y1="87.787521" y2="77.99485" gradientUnits="userSpaceOnUse"/> + <linearGradient xlink:href="#b" id="e" x1="116.57422" x2="221.6933" y1="98.310341" y2="94.320732" gradientUnits="userSpaceOnUse"/> + <linearGradient xlink:href="#c" id="d" x1="-3.7498047" x2="4.318048" y1="144.07323" y2="144.07323" gradientUnits="userSpaceOnUse"/> + <radialGradient xlink:href="#a" id="f" cx="175.42162" cy="98.310333" r="72.10807" fx="175.42162" fy="98.310333" gradientTransform="matrix(1 0 0 1.17434 0 -17.13943)" gradientUnits="userSpaceOnUse"/> + <radialGradient xlink:href="#a" id="h" cx="67.081421" cy="84.330505" r="58.420074" fx="67.081421" fy="84.330505" gradientTransform="matrix(1 0 0 1.43098 0 -36.345183)" gradientUnits="userSpaceOnUse"/> + </defs> + <rect width="8.067853" height="270.80246" x="-3.7498047" y="8.6719856" fill="url(#d)" color="#000" overflow="visible" rx="4.0339265" ry="4.0339265" transform="matrix(.893 -.45004 .32183 .9468 0 0)"/> + <path fill="url(#e)" fill-rule="evenodd" stroke="url(#f)" stroke-linejoin="bevel" d="M105.3763 25.576935c-2.30331-26.7039653-3.52694 1.367589 7.19783 3.742874 23.98526 6.09621 48.80235 7.313438 73.41791 5.470354 7.51418-.562622 39.78374-13.08841 40.30788-9.789054-4.38571 8.201727-7.20126 48.576969-4.89453 69.09921-.25876 19.918951 22.8294 71.494501 25.62429 88.389411-33.73353-20.19311-58.73921-25.22073-91.26854-15.54733-7.9533 2.36511-26.76618 3.52866-29.36717-6.622-1.79946-5.18244-.89678-9.13881-1.54548-15.25941-1.8589-17.53904 1.07903 7.51749-3.06113-8.92532-7.39374-29.36454-14.10775-83.85477-16.41106-110.558735z"/> + <path fill="url(#g)" fill-rule="evenodd" stroke="url(#h)" stroke-linejoin="bevel" d="M9.1613476 12.296609C26.445948 15.515347 55.33847 18.138952 64.333019 14.943221 73.327567 11.74749 82.624071 5.5184845 93.24216 2.3209195c10.92332-3.28948447 15.53899.9599966 17.10118 11.6043735 3.85668 36.484659 13.83963 101.473877 14.65816 132.330577-6.92064-14.65115-27.6787-12.15554-63.315093 21.17289-.027285-12.45729 1.408498-52.56812-12.825886-79.805515-14.234384-27.237396-17.111832-42.202997-24.226675-51.914303C17.519003 25.997636 9.7958865 17.90609 9.1613476 12.296609z"/> +</svg>
\ No newline at end of file diff --git a/presentation/ctf-guix-store-onlynotes.pdf b/presentation/ctf-guix-store-onlynotes.pdf Binary files differnew file mode 100644 index 0000000..21bd9ff --- /dev/null +++ b/presentation/ctf-guix-store-onlynotes.pdf diff --git a/presentation/ctf-guix-store-withnotes.pdf b/presentation/ctf-guix-store-withnotes.pdf Binary files differnew file mode 100644 index 0000000..7364b15 --- /dev/null +++ b/presentation/ctf-guix-store-withnotes.pdf diff --git a/presentation/ctf-guix-store.pdf b/presentation/ctf-guix-store.pdf Binary files differnew file mode 100644 index 0000000..2259a4f --- /dev/null +++ b/presentation/ctf-guix-store.pdf diff --git a/presentation/ctf-guix-store.tex b/presentation/ctf-guix-store.tex new file mode 100644 index 0000000..65ecebd --- /dev/null +++ b/presentation/ctf-guix-store.tex @@ -0,0 +1,295 @@ +\documentclass[notes]{beamer} +\usetheme{Rochester} +\usecolortheme{seagull} +\usepackage{svg} +\usepackage[export]{adjustbox} + +% \setbeameroption{show notes} + +\title{CTF — GNU Guix storefile mistake} + +\begin{document} + +\frame{ + \titlepage + \begin{figure}[h] + \includesvg[height=0.25\textheight]{Guix_logo_with_flag.svg} + \end{figure} +} + + +\begin{frame}{Functional package management in a pill} + \begin{itemize} + \item Dolstra, Eelco (2006). ``The Purely Functional Software Deployment + Model'' (Ph.D.). Utrecht University + \item pioneered by Nix \includesvg[height=\baselineskip]{Nix_logo.svg} + \item also employed by GNU Guix + \includesvg[height=\baselineskip]{Guix_logo.svg} + \item no Filesystem Hierarchy Standard (no /usr/bin, /usr/share, etc.) + \item packages live in a \textbf{store} directory, e.g. + \begin{itemize} + \item /gnu/store/y0d8ab1mi6lh0a3vpx5lyd4ksq9wbn4x-orc-0.4.32 + \item /gnu/store/9pypr3c3y379shbwm9ilb4pik9mkfd83-mesa-22.2.4 + \item /gnu/store/rv91v4s30kcjh7xq6k4l2njklk79frxk-freeglut-3.4.0 + \item /gnu/store/30zfbjasrsk2wg8nhsd1xgi3q3n9796z-less-608 + \end{itemize} + \item a daemon \includesvg[height=\baselineskip]{Awesome_Demon.svg} builds + packages from definitions and puts them in the store + \end{itemize} +\end{frame} + +\note{ + \begin{itemize} + \item we're using GNU Guix here (no, not the trademarked GUIX…) + \item store filename determine by hash of package inputs + definition + \item multiple versions of a package can coexist + \item per-project development environments + \item easy rollbacks + \item emphasis on reproducible builds + \end{itemize} +} + +\begin{frame}[fragile]{Functional package management in a pill (sample package)} + \small +\begin{verbatim} +$ cd /gnu/store/30zfbjasrsk2wg8nhsd1xgi3q3n9796z-less-608/ +$ find . -type f +./bin/less +./bin/lessecho +./bin/lesskey +./etc/ld.so.cache +./share/doc/less-608/LICENSE +./share/doc/less-608/COPYING +./share/man/man1/lessecho.1.gz +./share/man/man1/lesskey.1.gz +./share/man/man1/less.1.gz +$ ls -lh bin/less +-r-xr-xr-x 2 root root 192K Jan 1 1970 bin/less +\end{verbatim} +\end{frame} + +\note{ + \begin{itemize} + \item store is read-only (only Nix/Guix daemon can write) + \item store files are root-owned and world-readable => secrets must be managed + differently + \item dates set to Epoch (but ls -lch shows real creation time) + \item the same package won't be built twice, even if requested by multiple + users + \item a package will built again (or grafted) when one of its dependencies + gets updated + \item a package not in use can be garbage-collected + \item no support for quotas yet as of 2024 + \end{itemize} +} + +\begin{frame}[fragile]{Functional package management in a pill (declarative OS)} + \begin{itemize} + \item \textbf{packages} are defined declaratively + \pause + \item \textbf{services} are defined declaratively as well + \pause + \item service \textbf{configurations} are defined declaratively \textit{as + well}… {\small +\begin{verbatim} +(service httpd-service-type + (httpd-configuration + (config + (httpd-config-file + (server-name "www.example.com") + (document-root "/var/public_html"))))) +\end{verbatim} + } + \begin{itemize} + \item …and result in store files like + /gnu/store/54ywa5x1b75simbvzhxqkfxsjk040ail-httpd.conf + \end{itemize} + \item Yay, we can replace Ansible! But what about secrets? + \begin{itemize} + \item option 1: keep private keys and passwords outside the store + \item option 2: put them encrypted in the store + \end{itemize} + \end{itemize} +\end{frame} + +\note{ + \begin{itemize} + \item GNU Guix and Nix have their DSLs (the first one is actually Scheme Lisp + + some APIs) + \item on Guix/Nix server packages and configurations are immutable (we can + switch to different ones but not alter the existing ones) — convenient + \item an application may require database credentials, some API token, a + private key for TLS certificate, etc. + \item encrypted secrets in store — one master key kept outside the store + \end{itemize} +} + +\begin{frame}{Sensitive information exposure scenario} + challenge — password hunt in /gnu/store\\~\\ + + \textit{``You're an employee of a secret government agency. Analysis of + wiretap recordings have lead the agency to believe that an individual known + as Abdul Al-Inh-Ohn-Ih has come into possession of highly classified + government documents. If this turn out true and Abdul blows the whistle on + information from those materials, years of intelligence efforts shall be + ruined.\\~\\} + + \textit{Abdul has been using the Matrix protocol for some of his + communication. Your current task is to get access to his Matrix account. + Start your investigation by taking a look at his blog.''} +\end{frame} + +\note{ + A user of certain shared GNU Guix system has put a secret (a password) in + /gnu/store by mistake. The CTF competitioneer has to SSH into another account + on said system and find the password. + + \begin{itemize} + \item we have some lore + \item real-world references might be intended or not… + \item no direct info about the exposures (one needs to figure this out) + \end{itemize} +} + +\begin{frame}{Investigation (Abdul's blog)} + \includegraphics[ + height=\dimexpr\textheight-0.5cm\relax, + center + ]{screenshots/abdul-blog-index.png} +\end{frame} + +\note{ + \begin{itemize} + \item language — itself a hint Abdul is likely to make mistakes + \item only the few relevant blog entries (no misleading of competitioneers) + \item mechanics of Guix relevant to the challenge are touched in the posts + \item some extra effort required — obtaining a Gemini browser + \end{itemize} +} + +\begin{frame}[fragile]{Investigation (peeking through Gemini)} + \includegraphics[ + height=\dimexpr\textheight-0.5cm\relax, + center + ]{screenshots/gemini-capsule.png} +\end{frame} + +\note{ + \begin{itemize} + \item most relevant parts of blog only accessible through Gemini (a lightweight + alternative to HTTP) + \item a Gemini browser ``Lagrage'' recommended in HTTP part of Abdul's blog + \end{itemize} +} + +\begin{frame}[fragile]{Investigation (Spotting mistakes)} + configuration which hits a mistake is included in Abdul's blog + \footnotesize +\begin{verbatim} +;;; ... +(list (shepherd-service + (provision '(mattermost)) + (modules '((shepherd support))) ;for '%user-log-dir' + (start #~(make-forkexec-constructor + '(#$(file-append matterbridge "/bin/matterbridge") + "--conf" + #$(local-file "config.toml")) + #:log-file (string-append %user-log-dir + "/matterbridge.log"))) + (stop #~(make-kill-destructor)) + (documentation "Start local matterbridge."))))) +;;; ... +\end{verbatim} +\end{frame} + +\note{ + \begin{itemize} + \item the config suggests Matrix password is in config.toml in /gnu/store + \end{itemize} +} + +\begin{frame}{Investigation (Account creation)} + \includegraphics[ + height=\dimexpr\textheight-0.5cm\relax, + center + ]{screenshots/account-creation.png} +\end{frame} + +\note{ + \begin{itemize} + \item both Abdul's blog and the server's main website urge one to make an + account and log in to the tilde server with SSH + \item emails entered not actually used + \end{itemize} +} + +\begin{frame}{Hint 1} + \includegraphics[ + height=\dimexpr\textheight-0.5cm\relax, + center + ]{screenshots/hint1.png} +\end{frame} + +\note{ + \begin{itemize} + \item page with the hint accessible through Gemini only + \end{itemize} +} + +\begin{frame}{Hint 2} + \includegraphics[ + height=\dimexpr\textheight-0.5cm\relax, + center + ]{screenshots/hint2.png} +\end{frame} + +\note{ + \begin{itemize} + \item link to GNU Guix HTML documentation + \item suggestion that it has sth to do with the local-file macro (used in + Abdul's code) + \end{itemize} +} + +\begin{frame}[fragile]{Finding the flag} +\begin{verbatim} +~$ (cd /gnu/store && ls -cht *config.toml*) +qmdh299prllp4fygw893w00lv9ypi5z2-config.toml +~$ +\end{verbatim} + +rather expected contents of qmdh299prllp4fygw893w00lv9ypi5z2-config.toml + +\small +\begin{verbatim} +# ... +[matrix.noevil-pl] +Server="https://matrix.noevil.pl" +Login="abdul" +Password="fla\u0067{full_source-bootstrap}" +RemoteNickFormat="[{PROTOCOL}] <{NICK}> " +NoHomeServerSuffix=false +# ... +\end{verbatim} +\end{frame} + +\note{ + \begin{itemize} + \item ``g'' in flag replaced with unicode escape to make bypassing with + recursive grepping harder + \end{itemize} +} + +\begin{frame}{Credits} + \begin{itemize} + \item GNU Guix logo — \copy 2015 Luis Felipe López Acevedo (CC BY-SA 4.0 + International) + \item red flag — by Wikipedia user Wereon, uploaded 2007 (released into + public domain) + \item Nix logo — \copy 2016 Tim Cuthbertson (CC BY-SA 4.0 International) + \item Awesome Demon — by Openclipart user qubodup, uploaded 2014 (released + into public domain with CC Zero v1.0) + \end{itemize} +\end{frame} + +\end{document} diff --git a/presentation/screenshots/abdul-blog-index.png b/presentation/screenshots/abdul-blog-index.png Binary files differnew file mode 100644 index 0000000..c94c5ac --- /dev/null +++ b/presentation/screenshots/abdul-blog-index.png diff --git a/presentation/screenshots/account-creation.png b/presentation/screenshots/account-creation.png Binary files differnew file mode 100644 index 0000000..de10a58 --- /dev/null +++ b/presentation/screenshots/account-creation.png diff --git a/presentation/screenshots/gemini-capsule.png b/presentation/screenshots/gemini-capsule.png Binary files differnew file mode 100644 index 0000000..0821d53 --- /dev/null +++ b/presentation/screenshots/gemini-capsule.png diff --git a/presentation/screenshots/hint1.png b/presentation/screenshots/hint1.png Binary files differnew file mode 100644 index 0000000..a143e43 --- /dev/null +++ b/presentation/screenshots/hint1.png diff --git a/presentation/screenshots/hint2.png b/presentation/screenshots/hint2.png Binary files differnew file mode 100644 index 0000000..0a63f3e --- /dev/null +++ b/presentation/screenshots/hint2.png |