The missing shield icon was causing Affinity Photo's installer to fail to start.
-- v13: shell32: Try to lookup icon shell32: Add shield icon.
From: James McDonnell topgamer7@gmail.com
This resolves the null reference error for the affinity photo installer. --- dlls/shell32/resources/shield.ico | Bin 0 -> 25214 bytes dlls/shell32/resources/shield.svg | 195 ++++++++++++++++++++++++++++++ dlls/shell32/shell32.rc | 3 + dlls/shell32/shresdef.h | 1 + 4 files changed, 199 insertions(+) create mode 100644 dlls/shell32/resources/shield.ico create mode 100644 dlls/shell32/resources/shield.svg
diff --git a/dlls/shell32/resources/shield.ico b/dlls/shell32/resources/shield.ico new file mode 100644 index 0000000000000000000000000000000000000000..883e3af69e7af1f5fb87f335a647fc50b667dbaf GIT binary patch literal 25214 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 P6sCXd!QuNK`@SLo2{v4|
literal 0 HcmV?d00001
diff --git a/dlls/shell32/resources/shield.svg b/dlls/shell32/resources/shield.svg new file mode 100644 index 00000000000..1d941b9df8e --- /dev/null +++ b/dlls/shell32/resources/shield.svg @@ -0,0 +1,195 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="632" + height="272" + viewBox="0 0 632 272" + version="1.1" + id="svg1" + xml:space="preserve" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg%22%3E<defs + id="defs1"><linearGradient + id="c"><stop + offset="0" + stop-color="#edeeec" + id="stop1" /><stop + offset="1" + stop-color="#babdb6" + id="stop2" /></linearGradient><linearGradient + id="a"><stop + offset="0" + id="stop3" /><stop + offset="1" + stop-opacity="0" + id="stop4" /></linearGradient><linearGradient + id="b"><stop + offset="0" + stop-color="#f0f1ee" + id="stop5" /><stop + offset="1" + stop-color="#d5d9d1" + id="stop6" /></linearGradient><radialGradient + id="e" + cx="23.313" + cy="40.938" + r="17.188" + fx="23.313" + fy="40.938" + gradientTransform="matrix(1,0,0,0.31636,0,27.986)" + gradientUnits="userSpaceOnUse" + xlink:href="#a" /><radialGradient + id="f" + cx="22.75" + cy="10.25" + r="19.875" + fx="22.75" + fy="10.25" + gradientTransform="matrix(1.61655,0,0,1.70805,-14.026,-8.008)" + gradientUnits="userSpaceOnUse" + xlink:href="#b" /><radialGradient + id="g" + cx="17.620001" + cy="21.611" + r="8" + fx="17.620001" + fy="21.611" + gradientTransform="matrix(4.073,0,0,2.8745,-48.885,-43.215)" + gradientUnits="userSpaceOnUse" + xlink:href="#c" /><radialGradient + id="h" + cx="27.577" + cy="15.259" + r="3.8340001" + fx="27.577" + fy="15.259" + gradientTransform="matrix(1.47848,0,0,1.47848,-13.195,-7.33)" + gradientUnits="userSpaceOnUse" + xlink:href="#d" /><radialGradient + id="i" + cx="27.577" + cy="15.048" + r="3.8340001" + fx="27.577" + fy="15.048" + gradientTransform="matrix(1.3418,0,0,1.3418,-9.426,-5.223)" + gradientUnits="userSpaceOnUse" + xlink:href="#d" /></defs><g + color="#000000" + id="g11" + transform="matrix(5.7910558,0,0,5.7910558,-4.36298,-6.684982)"><path + fill="url(#e)" + d="m 40.5,40.9375 a 17.1875,5.4375 0 1 1 -34.375,0 17.1875,5.4375 0 1 1 34.375,0 z" + display="block" + opacity="0.369" + style="fill:url(#e);marker:none" + transform="translate(-0.125,0.625)" + id="path6" /><path + fill="url(#f)" + stroke="#888a85" + stroke-linecap="round" + stroke-linejoin="round" + stroke-width="0.997" + d="M 23,3 C 15.599034,8.5765861 4,12 4,12 7,37.75 23.375,44 23.375,44 23.375,44 39.5,37.5 42.75,11.625 42.75,11.625 28.75,6.5 23,3 Z" + display="block" + style="fill:url(#f);marker:none" + transform="matrix(1.00629,0,0,1,0.478,0.5)" + id="path7" /><path + fill="none" + stroke="#ffffff" + stroke-linecap="round" + stroke-linejoin="round" + stroke-width="0.997" + d="M 23.023587,4.289309 C 16.08809,9.5151669 5.218554,12.723272 5.218554,12.723272 c 2.811321,24.130505 18.11714,29.987424 18.11714,29.987424 0,0 15.150159,-6.091195 18.195756,-30.338839 0,0 -13.119498,-4.8026735 -18.507863,-8.082548 z" + display="block" + style="marker:none" + transform="matrix(1.00629,0,0,1,0.478,0.5)" + id="path8" /><path + fill="url(#g)" + d="m 22.88299,7 v 33 c 0,0 -12.318457,-5.259424 -15.9999995,-26 C 12.13299,13.125 22.88299,7 22.88299,7 Z" + display="block" + style="fill:url(#g);marker:none" + transform="matrix(1.00629,0,0,1,0.478,0.5)" + id="path9" /><path + fill="none" + stroke="url(#h)" + stroke-miterlimit="10" + stroke-width="1.587" + d="m 30.910667,18.604561 a 3.3335035,3.3335035 0 1 1 -6.667007,0 3.3335035,3.3335035 0 1 1 6.667007,0 z" + style="stroke:url(#h);marker:none" + transform="matrix(0,-1.77376,-1.77376,0,57,71.164)" + id="path10" /><path + fill="none" + stroke="url(#i)" + stroke-miterlimit="10" + stroke-width="0.811" + d="m 30.910667,18.604561 a 3.3335035,3.3335035 0 1 1 -6.667007,0 3.3335035,3.3335035 0 1 1 6.667007,0 z" + style="stroke:url(#i);marker:none" + transform="matrix(0,-3.46785,-3.46785,0,88.518,117.883)" + id="path11" /></g><image + width="48" + height="48" + preserveAspectRatio="none" + xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAACzJJREFU aIHtmVtwHFeZx3+nb9Nz0UiWLVu+ySTGsWIoIEDYWiAJy/JAHpYCiicoF1RBAY9bS4ElW85SkVex oZaCra3dIiFcFlK1uwkbx2VyI4mvkZPYsm62sWxLRLHk2JYl2dbce/ocHnp6uuciWcb2btUWR3V0 untG0//f9/3Pd4564C/t/7aJO/XBGzZu4KubN2u6gezseORO3ebOAOzcuQM08UXgJ8BulHrULYqp bdu23fZ76bf7Ax/7wY7lQoh/X7GidcfnP/eFxmQy+bF3L777TYSM/u1nPj386iuvZW/n/W5bBh7b 2W0KTfuGruuPfuLjDyz76EfuR8oihmGSTqc51neU/oHj14rF4uNKqX9BMdHZ0XXL971lgH/q6dZ0 Q3wORPc9Gza+/8EHP0VTYxPpTIqi6wAQsWxsO0o6nWZoaIBjfcdy+Xzutyj1Yyll39bOR9T/OkDP zm5d07S/A7atWbP2ow984kHWrFlLLp8ln8+hlMR1XQzDRKFAgWVFsO0ojuMwMnKao8feUjMz04eB f5NS7f7t08/k+voG7hxA985HMYQWE0J8Bfj7trZ1m/76rz5OW1sbhUKBbC6DUpJsLkdqbo5YPE4i kQAFSqkSiMIwLKLRKJrQGX9nnP6BPsbGRi8opZ5USj1ZUJnxf+zouX0APbt2IBDtQvB1TdO+1t6+ admH7/swK1tXkS/kPOFSks8XSGfSuK4LQEMiQTyeqBCv/A7omo5tR7EjUWavznDy5EkGh/qLmUzm 98DjUsrnt3ZsL/xZAD07uxFCNAkhvgB8LZls/OR9H7pPu7d9E4lEA7l8hmwui1KSQsE hm83iui5C BB+ZiMeJxeJ1AEARwAgBdiRK1Pbe+8e3xxgY7Gd8/O13lVK/VvBLx3FPP7Ktdq7UADy2qzsphPYw 8CXTNB9u33hvfNOm97Fm9Vpc6ZLNpskX8oCiUHDI5/NIKcvCwwCxWIxoNFpjIf9Y+deVghKQYZjE onGidoyrV2c5PXKawaF+ef369beAJ1zp/mJbRwBSAdCza4epCTG+cWP7yk3t76OtbR26oZPLZchk M0jpopQn3HEKKOUJFkIgECACAIHAtm1s2w4JZ36IKoshBFE7SjyaQNcNzo2e5bk9z04rKVd2dmx3 fM1GGKCYzjtWws4+9MCnsCIW1+ZmcIoOKHBdF8dxPJsgEJqGpokqAIEQnng/G+XoApSqkXcl/Kt0 MdSUlKQzKVLpORLxBpqXNAOMCyGc8PsqAIxoBGB0bm7u7gaRIJ1J4xQcXFeWhWqaFogWAk0E59UA CD/ilCH8SJf1B5LLk7u66ZrO9LUZgDPpYr7iNS18srWzC+D01WtXvfotFcWii4AK0b5wTWgITZS6 hqZpaJrujbrugVRZpZyNsu/rgPhXSoNhmEzPXAEY7t7WPT9AqQ1PXZnCNE10XUd46iusUj7WBKIE ooWgtBJM2UIVHg9lw7dQOPJl7YG1LNPi4sWLAIPVYo3qC0qpgXcvTGIaFpquIYSGX1g8mxDYJQxT yoYWshNClKMdCAzNB3wgAsgKCLzP1HQmL0xIpVRftd6aDCgYvnT5UqboFjEMA13XCLk6mKCUMuOP ggBE+BkIVZiyxyvXA/+6f3PlW6h0yTIjzM1dJ5VKjQEXbwiAIlcsFo/PTE8TMW10Q/fDH3rTPBCl i+WqhAgWrgrP14oP4HwZHqgdsbl46SLAoc4ttbvXGoCt3hZ33+SFSSIRG10vAZRzXQqV/9u3RHgs d1kWWQkRHqn JQLhK2ZEo4+PjAK/UqK8HUKL//djYKHbELpdJFbxWcaPqBUgqhVQSKSVKhsSGtg4q JLpeBvzXNU1D1w3OnjvjKKVeWzyA4s3xd96eKhQcrxoZellkUBYrRSulUFKipCdeSolUMlhZw8JD x8GoajIQjcSYmrpMOp16C6HV+H9+ACkLUsoXzp9/h1g0jq5rwY2qu1SVosvd9YDC24MaiPBITQZi sTijo+cAnun83tZ6UusDbOt8BOA/T50+RSwa9yqKJiqj7VululdkIFh9KyH842pLBhnQNA3LjDB8 YqiolHq6rvr5APAi8Oq5c2cu5PJ5LCuCoeuB8JJVvOh7vTr6rpTeJA4JrRZeM49Ci1oi1sDk5ATX 566/DMXJmwbo3NJVkFL+x5mRERriyXI5VSVfy3AG5rGQlOHIB16vPK8dQdGQSDI4NADwROeW788n c36AUhYeP9r3ViFi2eiajmHqyJpoV0K40kW6pSqkZG3klaqMfp1qFLXjpFJpRs6cHpVK/W4hjQsC IPnjtWtXd4+NjZJMNmEYRjkLtdGufx6UztBkrSqn1etDY3IJ/QPHkVL+ZOuWLmchiQsCdHZ2gVI9 vUcOu/FoHF3XsSyzHN36tpG40nsiUbdqVa0bFQsdXvQL+TzH+49dkFI9uWCAb5gBAFkcvDx1+Zmz Z8/S1NiMbnjb5cA61dGvtBaqUnDY59X7IQE0L1nKG28ewXXdnq0dXZlbBujo/D5Kqe37D+7LWWaE iBUhYke8SVyn8nhAbrASE9p4VIDUQiQTTczMzDIw2P8HJdXPbhhcFvlsdN36VTOJeENM1/QHNmy4 h1R6DgDHcYJ9S40ohW7owV7KhyC8rQrOTcNgWfMK9u7do65fv7a5c0vXyGK03dhCwM9/+huUUj1H 3nh9ZGZmliWNzViWiWkYQeWpyELlXigc9cq9 UXDesqyVoeFBJibPP1WQ6qXF6IKbeDp9+NAh56G/ eWhgcnJi80fuu18vFh0QyvufWbp167xu6JimQVXACZkKFDQvWUYuk+e5Pc9OSOl+vquja9FPsBeV AYB83qEoODw9faX71X2v0LKsFdMwiSfiCCGCLLjBeuAveuWJXB15pYjHEkQjMfbs3V10i85XO7d0 TS9W000BAGz/bhdKyp4TJ4b29vcfZ+WKNRiGQUOyASFEUJFc30aVFipP4tJPxLJZ1rycF156nunp K9stXa+7ZV6o3ewXHOLVV/aJD37wAy9fnrr02ZaW5Sva1q4jnU5hWSaFgoPrFsuCTcvEtMyQdYJm WRFWtq7hwMF9DJ8Y+s2Zs2e37Nr5z/JOAeiABUQA+0jvG2L9+rtfuzx16eGVraua1q5ZRyabwrQs pHRxCo4HYFqYlhX6GG9u2HaUVa1r6e19nTfe7H3t8KHebz39X88oAkfUQf7zADTALAmPALY/9h07 7qxevfrAlenLn166dFnj+rveSyabRjd0DEMnX8hjmgaWZVWoScQbaF2+ioOHDtB75HDvwf2Hvv3i iy87JS166Z6iBHFDkIUAREm8iRd9v/swkcGBoUIy2XBwLnXtfsMwlt7b/n6klBRdh2gsVn4+BN4/ +i3Ny2lsWMJLL73A0aNv7n/+dy9+58CBQ/nSvcLdbzeEWAhAx3tuZJbG8HF5PP2HkUIul9svNPGe 2ZmZtvb2TTQmm8jns/ibBjsSZfXKNnLZPP/z7NPq5KkT//3rXz3Vc2L4ZD4kUgGyzvGC8+JGFvJT qlUdi9Aozp+fKJ46eepgy4qW7OjY2Q80L1mqr7/rHkzDJJloYumSFoaHB9n93LNz50ZHH/vhrh89 NTt71QFcoFga3TrnRW4hA8zzx9URcwE3k8kUe18/MtTS0nJw6srl9RMT51tbW paTSqXY+/wejh/v e72/f+Affv6zXx4D8kChNDqlY6dOd2+gb1FfMQkCO9XrOpUTUFu1aqX+lc1f/kxTU+M3ATU7O/uv Tz7xi/2zs1fDkQ5HOdx94YsqqTf7LaVvobrCCdkKEPFEQgAqnUpVe7qcuaruv2fR7Va/J66YC3W6 3+abqIsqlf+v258AiPlsCihVXz0AAAAASUVORK5CYII= " + id="image1-6" + x="272.04947" + y="222.02658" + style="display:inline" /><image + width="32" + height="32" + preserveAspectRatio="none" + xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAABrJJREFU WIXlVl1sHMUd/83sx93tffhiOy4EbJFgXIm0ipNcCA/Qh7ZRVakVUlsh8VBalapSVSlPiIQ0VUUA B8oLCBCIh0o0AcJLpSp2BFJJHDttcBK3Ibaj2tT22Y3vzpfz3TnJ7d3O7szwsB++89lJzGtH99do b3fn9/H//2cH+H8fZKMv9L1yBKW8Sb9x36bvdnZ1vV6rVT+fm5t/4/rCjYn7t24WB557fkPrqRsl QAi5p+O+5Kv79v3gia0PbG2xHXv71OTkD4f/MTwEKV8EcHVD693pgZf6jmBTaxLFUrErHo3/uOeh b760Z8/eRDRq0GrVBCEEkYiBWq0mR0dHnfz1xZPzc3Pv1Gw2GotGSrWKA9M00dfXt+b6d3SAgNxr mtXnd/Xu3rezd1dPIpGgtsNQLBYgpEAsFodpVkAoIXv3PqLZNv9JcWnpR/88f+7fucXs3wC8YxhG +Y4O/OHwH2EkNESjm1EuLbRrmv6tzvs7n2pv73h6x44dejKZpBWzAmZZMM0KbMeBETGQSCQgpACk hBACEoCm6QjrYWSyC3xi4uqtpVLhg4Vr105QgnE9FClx5uDAwUNNDlAAO1mt/Mz2h7/9aG/vzu3J lqSuagqYzVAo5GExBiEEAEBRFBBKICHh/bwhYVk1WFYViZaE8p3HH29xOP9tsVh8ZmTk/JXFfH4Q wCsAig0EjLj62M4duz5N7U6FI4YBs1qBWauAVxwwZrt2EQJKFRACEBBQQgEp0cDAm6UEbJuBMQsS krS2JkM/++mTeya//M/u/oH+fgBDqxwg5rZtDzqgQCZ7zbVTuqAuMAWlFIRQ9z8AhBI IKQEpIT1Q GbCQwbUUEpVqxU2PqpUpJaV62wEAzGZLS0vXr1NKYTsOOBeBaoUqoF4oVIGiKFBUFZQqLrgEpJSQ kO68iohfbLoWQiabydSqtUITAcl5cWZ2NqtrYVBKAuWEEBBKQOtc8ElQ4jogpfCAfeUrrrjZkV5x apiamioQYS01EdiyZctyNrOQl1JAU3XXYo8A4JNxbfdJEEIblGNNEq4dClVQrZqoVquT8WQHayJQ Kt+AEPJ0oVAQoZCO24+VipNSQAhvljJwoiEgQRUFmUzG5sLp58IJVqpPAQTnA+nZWUvXdBBCVmyt X0wICCHABQcXotEBNIK66t1rTdUwPz9f5ezmGc5uNhMwjDAOHPj9THm5fIVSt8h8cCGFq5B74JyD OxyCc7dbPCJCiDUcgNseAqhUKn8FUEmn/9dMYP/+Z0EIQW4x+2fH5lJRKSQkeKC4XjkH5w644F77 yQYnfOVu+gUUVYVlMT4zO/3xoUNH8d57x5sJ+COfXxzO5jLZWCwBAkB4wIJ7yr1wVquXAlKsKK/v jkQsibGrYxMOY5dX4zURMG/wqaHhsxdDWgiarq9YHij3w3fArxMEeQ/qAYBCVdQsS06MXRmKGJHc HQm0dUS5VaseHR8ft6OGAapQiAZgD5xzCMd1QUgROCCCenAdiEQMXPni8i3b4S8zm6+GW/888NHH H3z4/e/te2r5ZglmxfS2ZXdvACGABDRNRTgcqvsQAStbsIRCFYQ0Qw6cOnnw17/6zZ/WwmlywB8z M9OvzkxPZ1qTbVA1NVDteB3AueOp9/Pu1YqnHBJoTbbjwqWRq5mFhePr4axLYGvPvV8MnTt77Nat iozH41A1JbDdJ8MFb2y3uhqIRAyk02n7y6nJ14yokdkwgf9O5lBl9pHhc0MD4VBURo0oqELhBE44 EJx7le7VgXA 3Kk3TQaHgwoXP3yzklo8VcsvrwdzNmfCFnlQqNbD3kUe7l0oFLJfLYIxBAgiHQ4jH 48Gz3ucWiViLHDh1ciiTyTx58LnD+dutr9zmHgWgn/5s0Gzb3D5uRKJPdD/YHeLCdYBZFlRFhR4K Be2nKSoSsU1ycPB0enT00i+OvHD0Guq/yXdJgADQARgAogBiI+dHboYj2lhbW9tj2x7oNqiqEOH1 uq7rkAAiYQNRIyHPDP59+pNPPv3d22+9Ow/3wOOnWdwtARVAyIuwH/8avVxmNhujlPQ+1N3TkkjE CRcOCCFo29QOxmzZ33/y8sCpgcPH//JhGivp9R3gazmxXgqod68+yPj4RDGby54tLxfbujq7Ojs6 7lEjYQNz6VnzxEcnTr3//rEXz3w2mANgA2De7IezFoH1itBPg++E5l1rANRkSzz8818+nUqlUvuF EPzSxYuvv/3Wu5cA1OoAGQDLC3st8NsRqB+KB1zvBkVjC/sW++F40bz3fg0Ca72z+r1Vh/K7H18B QflxWDxQEXgAAAAASUVORK5CYII= " + id="image1-3" + x="440.04947" + y="237.16283" /><image + width="32" + height="32" + preserveAspectRatio="none" + xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAABVJJREFU WIXll11sXMUVx38zc+/dL9tZYodSCbsIUh5KaZyGKoI3+iFeWlClAonaCFqpj31BlZCAgqJGgUDC Q0UFqA9VCy1IVfvUT5WPqBI1ToISqAINDtixEofY3nVCvPZ+3DmnD/fuXW8cx5ZBfWGk2TtzNXP+ //M/58zchc96M+vduP/APh0cGqJeX+S+XT9at511tacOPKFvv3NMP/74glaqszoy8ob+38D/+rc/ 68zsjC4s1rRSndHq3Kwu1hd07nxVX3n1n/r7l1/89Mk89fQ+BZg6e0bnaxd17kJFT585pZOnx7V6 fjYhcn5WL85f0OpcVU+eHFOAJ/fvXZXMirF7fN8eHbx2kIGBq9myZQvlcpnaQo1mo8HCQo1WHFMs FOnr60NUQBURQYEwjMhHeabOnuH48Xe58zt3mT17d+sjDz22DO+yBP74pz/o8PBWyhvKBKGj2WpS X1yk0WwiItm6fD5PT08PKoqiqAiKIqKA4lxA6EJi76lWq4yOjrDrB/d3YWaTx/f9XLcOb+OWbbdQ KBZZWKxRr9fxPqbZbCWLjcEYizFgMERRRLFYQFVRBVVBVRHV9F0yV5R8lKdU7OXE2H8Z/spXzTIC AO+PndCN/VcxN1dN5NQ2qMFai7U2JWAwQBAG5HI5UEWho0SbyBJlRIViocT0uWlu+tLNGa5tD3bv eVQrlRmstbTiGO8l89pZh027sw7nHC4IsNYl4ErmaaYGkPxq5mkU5pg6O7VyDvzupRf0rju/y+mp U6iQee2cwxqLbT+txViDNQZjTUcBTQDbOSAJMyRVZFP/5ygWSl2Ydunk7NQZVIUwiDB 05AeTjkmA rcVZhzG2y3PS2LN0TiKHs47FxQX2P/1kV2kuq4LxiQ81jBzzF+cTj61NpbdYt2RsXeqlR5UUlAw8 6+k8DCMqMxVu/vKWlRUAmBgfJwojjDGZEZYaFEFE8OLxIt0KcAkwnb1hEDI5OXkp3HICt9/+DWNt kmTaFUNBfAruPT72iPdJtUg766Xb+zQhUQWBWq22jEBw6Ytnn3/mJ3HL4wJLK1a8SMbSGlA0LUNJ 8sFZUu2zeLc9T8aCCwIajSb33L1jbSfh0WNv6bVDg1RmZxDRJA/a9W87iemcxTnbBd4eL03CjeVN bOgrXxZrWQgAtg5vM7kwRxhFHckl7b7dY7z4JWBkcc/yAXA2oN5osP/AEy9eDmvFy+jfI2/o9Tdc R3VuDh/HnRMwLUcwBM4R5sLOprb8dM6E3p4NHDt6jG998461KwBwanICZ0OiKERVO177mNh74jhR gEtKLqsEFGsdcUtWBL8igZ33ft98+MEHbCz3E4RBCu6J0wrwPkZEui4eEUnOfxVQ2Fge4NCR0ZUg rkwAYPv2W838fI3e3l6C0OG9R2KfkfHiu8ttSQ4UCkUmJiYYe//E+gkADA1+weRzJUrFEtZZ4kyJ GPE+vfmS204kOajCMMLiOHToTX76wINX/GB1qxHYs3f3kDH69S9uvvEaUU+r2SSOW4gqzlmiKMrW KhAGIb2lPv7+j7/ww/t/vOrX8qoEXnv14IX+TQMvFwulb2++YfPVXhIFmo0GgQuIcrms/EIX0Ndz FQcPvtbYuWNXuJrtNREAGB0ZrecL4Uv9/f13XH/d5s/bwCVXLUoURShQyBcpFft4/eArp+7+3o4B oBdorsX+mtuOnfdcA8nX8UfTU/re2H/0xMnjOlM5pxOT4/L8r57916cKeLl2623bv/bY7kfeffud ozI9e06nZ8/ p4SNvys8effgX67H3if5S/eaFX6uIcOTw4d/+8pnn7vsktj677X8743np1vTJXAAA AABJRU5ErkJggg== " + id="image1-2" + x="480.04947" + y="237.16281" /><image + width="32" + height="32" + preserveAspectRatio="none" + xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAA/lJREFU WIXlV8Fv01Yc/tzEseP4lTargByg23oolDGYYLTwD7TrHxBlnaZN0+7ThCZxoaj0goQ4b4cKcaKI 2y4VO60bQ6wDjbJ2SFXUhDSiyZweSu04z7WTt0P1PDt2U7ebdti+S57znt/3/b7f7/1sA/93CAe9 8eatG+zYseMwTROfffr5gfc5MPnSi+dMN7ZYVVtnC08es4PutW/lD76bY2ffO4uUoqJuGkgpqjv3 6NFP2Hy9iVx24p915OatGwwAqto6040tphtbrFQusFK54LrgncsXVpj3vk7YVenU9CQbHDyBnkM9 8EYMALqhg1KKbkKQ7u1zneDz3JWqVsFqfhVjo+PC1PQku3b1eoAvVMC9+3fZufPnQFTibmxZFNu2 7VuXEEVIkuwjbwef0w0dD398GChY92JqepINXxgJjXY3EJX4SMJgWRSSJLvrXq4VcXrojMvrU7P0 4jl78/hbqGoVAAClFLIsB6Letm03+vZIw8gtiwIAJElGbaPmE9DldcCsm6ibBiiloeREJdi2bRCV 7EnOCdsdeFV+5VvjCrh29bpQLBaRUlSXmFIa2DQMYeQ86vbx2Oi4z/Uu70W5vOaOZVn2OUBUAt3Q 3bx3Qrv1wI4bddMIHM3AKcgXVhhRCWobNZ+AhCi6GwGdcx4mIiz/AQcAYDW/6jrgTYEkye4xtCza Meec1OsAgED+QwWMjY4L3vbKwY8j//WSeMfcAW+Rcmy+3gz8F2v/4/adGZbJHEEsFoPQ1QVKKeLx uDtPVIIGbSAWi6HZdCBJMppNxx1zMc2m49s3Ho9j5MKlaJ1w4cljNnTyFKpaxT2Ou/U EHm273V6k e/tA1O5QrkAKAGD4/Yu+xd5a8I69NdEJYdXfUQCw82g9ejjji5qTR+kPXJwkyVh8toivLl+J7gCw UzC80s26GZjn3TIK2ptPJAG57IRQKpVw9HAG6TfSrogwMTzabdv2PTHTvX1YfLbYUdyuAoCdWqhq FRCVQEkpPvIwIV5BCVHEy7UilpZ/6ygg0quTbmy1qlpFoJT6iJWUEjgZwF/vCXNzc3u+sAb6QDum piflVqv1ztDJU4PUokKj0XDnxITo6xFe8vn5eXz80Sd7BringPnvf3BUkvw2lUqd7+/vH7AdWxAT IrQ/NHQf6vYJ8JCzXHaiY3ojCwCAp09/dVSSfNDT0zvy7ukz/dSigpJSAACO48BxHCjJJCenuexE Isq++0buw+wRACiVC61SucDyhRWWL6ywqrbOSuUCu31nJtq59CCSAxzLy7/XL14aVoy68cHbAwMZ JZmEoqRQ26hhdnYWX35xWdyvgL/1AXHv/l1mmiZ+WfgZ33w98+9+nv1n8Cf7+io05ko5cgAAAABJ RU5ErkJggg== " + id="image1-7" + x="520.0495" + y="237.16283" /><image + width="16" + height="16" + preserveAspectRatio="none" + xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAu5JREFU OI1tk89rXFUUx7/33fvmjdE4lYzGSUwoEvpDJS70TxBciYu6dOeiC3XlSktpjTOzEVsopKCgG4UK NiCIbmx+IBQxmEGSpjMK2mJmksnkMS915s179757z+li0vgrd3m453M+B85X4IgnhEC1Wsbk1GTO GE13/9iylUoFzPz/v/9tnKteQGG0II8VHntxdvb594lctL6+Pk9Mq81Wy8xfuYpOp3MIE0IIjI+P 4823z2KiNOlLpWZPnzr9Rqk08Xo+H4z6vs9xHKdRtL98+/atzweD9LvOXrvvbEbn3rsIUa7OoVgc Kz5efOKVEydOvjo6+shLQT4YSZJEAEChUAATgRlwzmXdbvf3MAwX6vX6tajb3VRSCu/ZZ547NzMz 85Y2WllrYWMLz5NQSoKZwQwQORCTXzj26Kmx4ti7QT54+Mbi9+8ok2WcpMmOddZL0xRKKSjlQ0kF qSSYCMQMYgaDQUxgZuzu7t4xWrPHznFza2uTGU4IASEEPCHgSQ/S8+CIQERgpoNVGFrrLAzDXwQZ 9j75+DP4fu7Hfq+3J4QAE4OIQM7BWjtUJzesHUzv9/p/5oOgNn/1U3jt9i7+6t27p7X5VvmKrbOw 1sJkBiYzhwZEQwPpSY7j+Ovtne1BGEbwiAjt7Y7b3Ny4BkbqyA2bzRBA7u/pxAytTb/eqH+ZDgbE zPAAoFyuwDp7cz/a/ybIBWyMgTYamTFw5OAO1pBS8t5e+IXWev38+TkAGAKYGa1Wy2zc2igTUVMp D0brocGBPgDE/eS3RqP+YXtnxz64RPngjJcWlwGgWyo92Z6YfOplRzaXZQZBEEAIAWc 5qtV+Prt4 Y2nt8qUrh6E4BADINRq/FtbWatH09FR0/PjTLwT5IO/7PnRqwpXllYuVD6o/LC+tOADZUQAAUN1u pFZ/Wr0jpVebnpoe7/V6dxeuL1y49NHlm81mKwaQAHBHpvEfUDUy8pA689qZHMB8/asFnSSpBWAB /CvT9wE4weVpl0V76QAAAABJRU5ErkJggg== " + id="image1-29" + x="560.04956" + y="251.87242" /><image + width="16" + height="16" + preserveAspectRatio="none" + xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAeZJREFU OI2lkstqFEEUhr+6dPdMdDK4MAhiQERjEicL8UICigsR13kFH0k3YhwEl4KiPoEoqAgadUhARLyQ RIiQ4Nh2V3V3HRczDEYnzsKzrPr/U99/TsGIWmpfHyXZvZZfv5oepVG7XXz+8klqtYQoikjT1G1t bWetE3P7/tngbeeN1MdqJElCURQANJtNJAREIM9znHesr61fOX/uQhtAAzx+8ujYxtc1aYzvBcA5 ByistYgIIhBChbGGKLJMHZ+69vzF04MAFiDLM8qqJM9zrLVYG2GNxViDhEAQIYggCNpoRKR+9vT8 2oDg0sXL70RAKYVSCq0U2miM1lQhEEJAJPSjCM452reWFnfMYGW1k9vIJlrpPoVFaw1K+jGEIL0G P76nzM601ICgl9uv2shSViVlWeILjy/8gCCEHoHRhjRNh2/hw8f3G1meHVAotNZoo0niGAChT1EJ Rw4fHfj07w22t7avJnHivPc47yi8pwoVVah6WzCGzc1voz9SZ2U5ZFmubGRpNBq9l7TC5SXTUzM7 PPpP8917d0yS1G9HsZWi8IRQAUJZhL/MuxLcbN+ozy8sPFNa5uI4Js8cs9OtoVoz7PDB/Ydlszn+ cvLQ5GK32x07dfKMmpjYvydNfxbD9P9VvwAo6vJk2cx10QAAAABJRU5ErkJggg== " + id="image1-4" + x="584.04956" + y="251.74861" /><image + width="16" + height="16" + preserveAspectRatio="none" + xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAbFJREFU OI2lkkFLW0EQx/8ms9G1PvtIrXhsKEFibJAgpfSi4MmjpR/ASz+DFz+JIH6BUml7LiiGIB5UIhIk WELRqA3k4DOZjTskPUhe3rNPcnBgYXZnfv+Z2V1ggG1ubQxKedqOS4fOoJyhpwJ/LqrnRKSIKGGM cRuNxvBcLv9ffujguHTY1VrDcRyICKxYOGP9JkSk63le+6pW04sLSwCAGADs7P4aqV1fmGQyCQBg w2BmKFJBGACGtNbxmWx2ff+gGPMFALwSkWFmBimCIgWtNYgoYriuEpHVD+8/dnyBxYWlS7+SFQAA EYGIICK96oFubGJza+Nd6A7OKuVOb6+19kUCkO97nneTzeSmgiOAmYs9kJn9uUVsCH4QuHN7fugV zquVE8M8S6QgYkGkoPVICLYiePsm7XOxYNC79daIVJ2ZYe1DdSv3/gKA+t96SDDyI52WS9ZaIQBw xl/078F2MJ3OhJjYIxbftr++JlJHAGCMCcL8GI4U+LTyuV4o7H1Rin47zhgAwHC7NZ3OjEZ1G486 /PH9543rvqykUqnlVpN1fm4+MTk5gWazFZX+PPsHV7m+T1lB8/IAAAAASUVORK5CYII= " + id="image1-5" + x="608.04956" + y="252.10216" /><image + width="48" + height="48" + preserveAspectRatio="none" + xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAACrJJREFU aIHtmV2MXddVx39r73POvefeO+PxZ2ynBF6onJAmL02BSHkgDWmhIPWhSAGEAIF4QFR8TGfSDGll IdKkdl0oBPHAA60oUiXUigSplARI0rHjj0ycjzqINhPbsSFMHBubmbmf5+y1eNjn3hnXsT12x4KH bOlqn3PPuWf//2v918c+F94b743/v2PvvsfsRq8h6/3A3bt329iGBlu2bOFjP/NznDh1kuee+VeC gnPut6Ymp/9qPddbVwJf2PeoGZ6PfuR+brv1AwwGPZI0oywGzL34AgcPHUZE5qYmp+9arzXXhcDe fXu6oPVdu3bx4Z+6nzRLWW4voxowVeq1OnneZDDo8dIrr3DgwH68M4LKx6cmp5/4PyPw6N5HLHFp e9u2Lc2P/ezPs3FiE/1+l063A4Cq4pxDvMOCUstq1PMGqPL6iXmee+ZZltvtHnDser1yzQR2795t zbFGT8TqO3bezIfvvY9tW7bQ7xcsdS7gXEK/22W5vUQ9z2m1xnGAKQQUMUgST73WJE09Z86eZf/+ Wd48+QaG7/W7g/rDDz+8ZlzXRGCo8dt/7DZ+/EM/wcTEJrq9Dt1+F4IxKPosLS0TTHEIY2Mt8kYL QSlCQSIppRWIufhAJ+S1nLzeoNNt88qrL3Ho0BFEjMnfn14Ttqve9NieRyxNU9K0xj333M2u999G kmZ0u136/R5BS4qypN/tUpYBEUGcoSaMt1rUazniQAELOnquErBgWAWiVm/QqNVx3vHWf73F84ef 5/Sbp3DOXZHMu17Yu2/PLuAXgc+2mk0+8YlfYNPGzQwGA3qDHv1+FzOlGJQMBn1KVbw ICqNZcLSa OWma4X20eAiKmWGiiDmChkjGDMEwMxKfkucNGnmTdqfN/PHXObB/lsGgpN/rMfPQxfJKLgH/hc/Z 2PgYnXaHPM/5zV//DZZ7bd45u4CaYqYMioJ+v0AMxBnOeZzE545mwMzw3qEGptH6IoJV18QRXbNq FGWfwWKPxaXz1LKcW9+/iztvv4MTp07yja9/4xJjX0JAxPFLD/wyzgmLy4ucObeABWVQBspygIYI wjsB53FimAgCeInnbkjBOUK4GKGZITiCBcTAiNZXi4KIv46e6fTadHptGvUmE+Mb8Km7OgHvUzrL y6R5RrfTZtAvUAIiHoeAE0QME4cXQ0RwIoj4aF2xeF/lBSXg8FAdI4DKJdaPEtJ4GYdW8jIzalmN d86ewdmlBC75pgxB54/PkyWRW9CAmMMhmESNI340iwjifcz3InjxeO9wPl4bgjczUKmOFTRaX1d1 S0PfCTFGzGJcOO858847dHudqxMIGtzi4iJJWsN5Fy0FmMTUKBI/iMc7cC6pyFl1//CajABpJQkT xYIh4jBAjVHwDoGryejeCNCTphmnT/8HaVr7yFUJeOe/On/8DRKf4NxKvnZ4cPHhXgQnFrOHCILg nccJJCNiDiexGg8taZVkzBRWad+Q6rsVEk6EoCVOjMQnnDp1iqnJ6aeuSmBqcvpXuu1lBCPxNRLv R5oWFMPFnI7DOw8YiCAYiMcqDzjnL3ruUN9WWdzM4k8xsIDhRp4AJSgkPiWt12i3l1D9vnR1OQIA Pkl56umnyWopSZJG11vM7ULAiWcYgSbgHDEe0FFQQ5UyTbFK7zay+MqMDQnGA11FQlXJ0py3zywA 9NZMwIy/WVpeop5l+MRjJoiAoYg41AJCTLlioLHMRs1bqAqTxG6UKDVsmEJt1ayjCh0lWWWvVYGd 13KOHz9OqUV 9zQSAWxcWFqjXmwAkVe0zHGqCWGwBVEs0liUMAQuESh5FCKjJClhWk6g8g4tec56g CsR4CRVJ5xxpmnLs2HdIXPq9NROYmpy+q9/vE8pALa2BT6o0aAgBJbrazGIxqiptDFTDtIyatbAS wGbR2qbo0FuhxKqiBoyavKGc6vUG/33+3BDW9LV4ABHR/3zrFHmek6YeHQUf0QMaFwpq0ROqsddR JYQYmKXG1mPlM9S5ICg4QbUcgQ5W4pHReStv8uWvfPlCUC5cbuNzWQLFoOdefvkVmnkLAO9AMUot I5HK3VppPmi09jBthrCS34egY3xE8EFXcr6sqrBlRdQ5R62Wk2XJBPBrl8N5WQIzD31Wjp84QVCj XquTJGm1mI8SGHaWGuUzJBE0EKwYEVmJg5ihUBtlGlfl/kL7eOQiws3mGAtnFhgMyrkrbTsvS6Aa c//+3ddoNVtEYynBCob9WblK56pRPqaKlkqpJahhldUjQa1SssV2ehis4ikrMsM42tAc59DhgxSD 3gevBPCKBKYmp+86cPAgjbxJmiSkPkVLjaBUK91XMiqVUpWgNiI0bCH4vt6mMsVF56MZJc9zBkXJ 8fnXSbP6FTddV/MA3U6bN0+fZtOGzTjvcImL+9tK88EKNICioFFGZVlJTFcyUKH92OxVUlkNfBhT kZkwMbGZIy8cAvFzU5PvmnzWTuBTf/Cg/NNT36TRaJGkCWmSxAJlipZlJGMlZgGrApyhh0IYAXXi CSGMgnS1xYfA1QKNRhMLgRePzrGWNxVXJQCwvNQp3jg5z4bxTfiqyVNVjKhrLRUNRqmKhpKy8oRW uh4GNFwsFQ2K4DC1uG8Qz8YNm9l/YJYilGuBtjYCwMZv/eO3aOQNarWMer2+KnAjUNWVuFANMWD1 4swyHKZxV2YSSQxHqzXOcmeJV79zjIem/nBN byXWRGBqcrrd7/c4fPh5tmzajoiQ1bIKdKiKWaAM OiJhGghWjgCrhdEMEIYFrMpKiU+ZGN/IE08+gZnNrQXXmglEEg/KocNH6PQ6TExsIs0SkiSNEtJy NKsxIjZMiUoYZSFg5bxKUkrgpi07ee21Vzl39lzvWt7SXbInvjKJaQHs9z75u3R7XUyNsiwoQ9wz A5TlIBasVdoGF0Hj4rZS4qsVwxB1bNy4mV6vxz8/8y8AD1wLpjV7YNWY/9Ljf8ZNW7eTZTVarRYi QiiL6IGqhQharNqEVFW5yv2oxAA2RyNvMN7awNf+7m+xwBWr7roQmJqc/lEze/TPH/8SO7fdjEsS NoyP47xDQ2zaQhnipl0UAmhZFbJhLFT73TRL2bb1Jp548u9ZXlxcU9r8gQlUJGZC0I8//pd/wc7t N+N9wvj4GOJlFMRlWTV9zkAYBS/EoM6ynB03vY9nZ5/h5Il5pj41c11vyv3Vb3n3IZl7/Udu+eFv Hz169Ffvvfc+2p0lsjRDVSkGBRDfQmdZFnsfWWmT6/Wcndvfx4EDs8y9MGfTUzPXZUhYpz84vvin ++yTv/07nF54k2JQ0Ov2WVpaIm/UabVao/vMjLHWGNu27mR29jkOHT5oM5/+zHWDhx/AA8Nxx513 ygfuuP2lI3MvPDAxPsGOHTspw4C8kWMY3sclRIStW7czMb6Zf/jmk8wdPbLwmZnd40AdWFvZvREE 3n77bZ5+6unv/vT99711/sL5j971wQ/58bEJuv3u6O1EVsu4ecctFP2Cr3z1rxf/7dixrz3yR4/d Uz3iusHfkLH3i5/vv/Tyi1qWg965C2ft/P+ct0ExsKMvH7HP73l06dMzDz67nuut+9+sAJ977I9v GRsbe+Mn777bZWna/fbsbLPb6V6YmpzeuN5r3RACw7F3357vAT8E/MnU5PTMj VzrvfHeuM7xv8OI 8t6rzLmTAAAAAElFTkSuQmCC " + id="image1" + x="328" + y="222.25" /><image + width="48" + height="48" + preserveAspectRatio="none" + xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAABkhJREFU aIHtmU9sFFUcxz9b2N3u7E67B8raLDGSFo2XQloNJ+Agp4LGk8bEg4nhZEyImWz2IIkEEgnhQGK8 aAweTKiYGPkbwWKwwoGkW2kjfxIoPVis23IonXZ2dofueNi+cXb+7QwsiQe+l/nz3rz3/f7+vZk3 8BzP8f/F0WNHzGc9R6zdAx448Kkpd2fI5TYyPLyHmZn7XLnyGwAFpdj2+do6oLD43jf30rd5S1Pb 1WtjlEqltoto22BHjx0x+/v72DP8FgBL6qLV1iVnrfPJqYm2euSpBlizeCWX25gaHt5jEbWTd0L0 mZ65y+XRUSoVvQK8V1CKp5+EQ2QBazE+A2wWce4kvqKtoGkakiSRltJ0yVmXKPszv/8+xr170wCL 6qPl7KFDh0PzCt3x6LEj+4CvAIaGhhgYGPAkDqBpGoAlIAj2MZ4k4Vt2EomZSnWyfft2tg4MWm1O i9thJ+/lAfFcWkqzoq3Qm8tb9+fKD5golYRXAsX4Nhw9dqQCdLayNmCFi/0I0LOhx294XzECYr7J qQmuX79OpaJ7ilnvQdzs7+9jcGjIssqSusiSuugiLeAkL0lSE6kwHnAeBbYODLJ1YJC58gNOfX/K NYZLQCrVyY4dO61J7YP5EbdDkLfDryoF5YeYV4jy6+sSIFy1pC6y8HDB86GwxFsR9Gp3GqzV/Q6P e+MLDxfokrOepJxw9mlVdez9vEiJ5535MF8ue47jJeC1ub/nAFxWFoTtce6EaZouAgJ2wq084BQ3 OzvrWY1cAgpKMTY7+5dFNgpisRhaRUNKSYHWdRK2J7BfP1FSWwoAKJfnIxEXENZPJjp dJJ3HoOpj F98qJD0FQCOJe3P5yF4AWFp+1DSxk0SQJ7wwPXMXQPdq8xRQUIqxmZn7gH+9D8Lq6ir1et0iZie4 oq345oJX2HXJWdZystPV6CcA4Pbt20DzairIV6vVQAEAjZdMXPHtdU8Q9/PArVs3Ad6OJEDkgddC lkgkrHj3g2EY1vN2yztj3U7aOVdaSrOkLoq16bdIAoDvpmfu0pvLu76udF1ndXU1UEQ8HvesMEGx 7kSXnOXEiRM6oBeUoudyHiTg/TtrYTQ5NdHUYJomtVqtSYCUklyC/KztzIEgpFKdncCffu2+AgpK MfZHaRJovFB5Ja5pmpimiWEYaBUNXW8uFEHWbuWFtJRmrvyASkXXC0rx9cgCAA4dOhwT1neuyrFY DMMwqFarPH78GE3TSKVSVj9x9LN2K8t3yVkmSiXwqT6hBACcPX0ewJUHpmlSr9ep1+uu0HGW2rAx 78Ta6jse1KelALk7IxaSlrB7yX7eytpO9ObyXL02BlAOCh8IIaCgFGMnvxsBmt+NllU1EqmoWNtD eqFVv5YCAOTuzLgoqU4ECfF6m23V12b9UAgloKAUXxde6Nu8xVWRllXVEmI/DwPnDsaSukipkbyB sS8QSgA0ckFYRtM0MrLMsqqSkWUA13UY0s5NgC45y4UL56GxcAXGfmQBBaUYu/JrYzUXFUmQBnyP TsLwXy7ZPdmbyzM5NUG5PD9eUIqpsLzWhe0IMDY2djAGn+3ctYtqTccwDGq1mtWekeWm60QySTwe Jx6PN1nbMAzrXjweJ9udpVrTuXjxZz7Zr7gTLQChPSAgd2fePn/hjPWtsDGXs9q8Yt9pdXFuXyu6 5CwjIyf5+KP9kbc6IwsoKMXT9+5NMzk1YVUlv7hfVlWLrF9F6s3lOX/hjLUbEhWRQkjgl0ujB7e8 vKXYs3HD+hc 3vUS1phPr6KBWq6GqyySTCaAhzDAMJEnCMAzrXFhflMybN28+8VZ7ZA/YkDp39hz2 9SEjy8hyBmjsItg9AM2hk5bSTE5NPPVPD9fGVlgUlCI09lYr77z7TmfPhp6mV4ZNmzZ5Pme3fKlU MgtK8WmM+GQhZEe5vPD5unUdSjbbnejve8WqTolkkkQyaX2ZQeMjJy2lGb18SYRNB7ABCL9kO9Cu X0wdQP3Hn34wd+zYCTRvuQurL6mLjIycZP6fh0T5iRGEtv81/OLL4+Ybu3e7ttYXHi5weXSUGzdu 8M3X37Zt3rYLAPjiy+P1fD4fGxwaAuDsmTNUKvp42NeDKHgWAmRA/XDfB+a2bdsAqFT0VwtK8c4z mOs5nuNp8S9AE6R2EtRz6QAAAABJRU5ErkJggg== " + id="image1-52" + x="384.25" + y="222" /></svg> diff --git a/dlls/shell32/shell32.rc b/dlls/shell32/shell32.rc index 28c5b175fa4..f1b0bc50cca 100644 --- a/dlls/shell32/shell32.rc +++ b/dlls/shell32/shell32.rc @@ -590,6 +590,9 @@ IDI_SHELL_BLANK4 ICON resources/blank.ico /* @makedep: resources/drive.ico */ IDI_SHELL_UNKNOWN_DRIVE ICON resources/drive.ico
+/* @makedep: resources/shield.ico */ +IDI_SHELL_SHIELD ICON resources/shield.ico + /* FIXME: Following resource is not yet added */ /* @makedep: resources/document.ico */ IDI_SHELL_FILES ICON resources/document.ico diff --git a/dlls/shell32/shresdef.h b/dlls/shell32/shresdef.h index cee1069142c..deabe568022 100644 --- a/dlls/shell32/shresdef.h +++ b/dlls/shell32/shresdef.h @@ -227,6 +227,7 @@ #define IDI_SHELL_BLANK3 52 #define IDI_SHELL_BLANK4 53 #define IDI_SHELL_UNKNOWN_DRIVE 54 +#define IDI_SHELL_SHIELD 78 /* 55 - 132 not used on Windows */ #define IDI_SHELL_FILES 133 #define IDI_SHELL_FILE_SEARCH 134
From: James McDonnell topgamer7@gmail.com
Try to lookup icon information from shell32.dll. --- dlls/shell32/iconcache.c | 107 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 105 insertions(+), 2 deletions(-)
diff --git a/dlls/shell32/iconcache.c b/dlls/shell32/iconcache.c index 8f9519d2ca8..5058f3c74d8 100644 --- a/dlls/shell32/iconcache.c +++ b/dlls/shell32/iconcache.c @@ -976,6 +976,109 @@ INT WINAPI SHGetIconOverlayIndexW(LPCWSTR pszIconPath, INT iIconIndex) return -1; }
+static INT stock_icon_id_to_resource_id(SHSTOCKICONID id) +{ + switch(id) + { +#define MISSING_ICON(x) case x : FIXME("Missing stock icon %s\n", #x); return -1 + case SIID_DOCNOASSOC: return IDI_SHELL_FILE; + case SIID_DOCASSOC: return IDI_SHELL_DOCUMENT; + case SIID_APPLICATION: return IDI_SHELL_WINDOW; + case SIID_FOLDER: return IDI_SHELL_FOLDER; + case SIID_FOLDEROPEN: return IDI_SHELL_FOLDER_OPEN; + case SIID_DRIVE525: return IDI_SHELL_5_12_FLOPPY; + case SIID_DRIVE35: return IDI_SHELL_3_14_FLOPPY; + case SIID_DRIVERREMOVE: return IDI_SHELL_FLOPPY; + case SIID_DRIVERFIXED: return IDI_SHELL_DRIVE; + case SIID_DRIVERNET: return IDI_SHELL_NETDRIVE; + case SIID_DRIVERNETDISABLE: return IDI_SHELL_NETDRIVE2; + case SIID_DRIVERCD: return IDI_SHELL_OPTICAL_DRIVE; + case SIID_DRIVERRAM: return IDI_SHELL_RAMDISK; + case SIID_WORLD: return IDI_SHELL_ENTIRE_NETWORK; + case SIID_SERVER: return IDI_SHELL_MY_COMPUTER; + case SIID_PRINTER: return IDI_SHELL_PRINTER; + case SIID_MYNETWORK: return IDI_SHELL_MY_NETWORK_PLACES; + case SIID_FIND: return IDI_SHELL_SEARCH; + case SIID_HELP: return IDI_SHELL_HELP; + MISSING_ICON(SIID_SHARE); + case SIID_LINK: return IDI_SHELL_SHORTCUT; + MISSING_ICON(SIID_SLOWFILE); + case SIID_RECYCLER: return IDI_SHELL_EMPTY_RECYCLE_BIN; + case SIID_RECYCLERFULL: return IDI_SHELL_FULL_RECYCLE_BIN; + case SIID_MEDIACDAUDIO: return IDI_SHELL_MUSIC_CD; + case SIID_LOCK: return IDI_SHELL_SECURITY; + MISSING_ICON(SIID_AUTOLIST); + case SIID_PRINTERNET: return IDI_SHELL_REMOTE_PRINTER; + MISSING_ICON(SIID_SERVERSHARE); + case SIID_PRINTERFAX: return IDI_SHELL_PRINTER; + MISSING_ICON(SIID_PRINTERFAXNET); + MISSING_ICON(SIID_PRINTERFILE); + MISSING_ICON(SIID_STACK); + MISSING_ICON(SIID_MEDIASVCD); + MISSING_ICON(SIID_STUFFEDFOLDER); + case SIID_DRIVEUNKNOWN: return IDI_SHELL_UNKNOWN_DRIVE; + MISSING_ICON(SIID_DRIVEDVD); + MISSING_ICON(SIID_MEDIADVD); + MISSING_ICON(SIID_MEDIADVDRAM); + MISSING_ICON(SIID_MEDIADVDRW); + MISSING_ICON(SIID_MEDIADVDR); + MISSING_ICON(SIID_MEDIADVDROM); + MISSING_ICON(SIID_MEDIACDAUDIOPLUS); + MISSING_ICON(SIID_MEDIACDRW); + MISSING_ICON(SIID_MEDIACDR); + MISSING_ICON(SIID_MEDIACDBURN); + MISSING_ICON(SIID_MEDIABLANKCD); + MISSING_ICON(SIID_MEDIACDROM); + MISSING_ICON(SIID_AUDIOFILES); + MISSING_ICON(SIID_IMAGEFILES); + MISSING_ICON(SIID_VIDEOFILES); + MISSING_ICON(SIID_MIXEDFILES); + MISSING_ICON(SIID_FOLDERBACK); + MISSING_ICON(SIID_FOLDERFRONT); + case SIID_SHIELD: return IDI_SHELL_SHIELD; + MISSING_ICON(SIID_WARNING); + MISSING_ICON(SIID_INFO); + case SIID_ERROR: return IDI_SHELL_RESTRICTED; + MISSING_ICON(SIID_KEY); + MISSING_ICON(SIID_SOFTWARE); + case SIID_RENAME: return IDI_SHELL_RENAME; + case SIID_DELETE: return IDI_SHELL_DELETE; + MISSING_ICON(SIID_MEDIAAUDIODVD); + MISSING_ICON(SIID_MEDIAMOVIEDVD); + MISSING_ICON(SIID_MEDIAENHANCEDCD); + MISSING_ICON(SIID_MEDIAENHANCEDDVD); + MISSING_ICON(SIID_MEDIAHDDVD); + MISSING_ICON(SIID_MEDIABLUERAY); + MISSING_ICON(SIID_MEDIAVCD); + MISSING_ICON(SIID_MEDIADVDPLUSR); + MISSING_ICON(SIID_MEDIADVDPLUSRW); + MISSING_ICON(SIID_DESKTOPPC); + MISSING_ICON(SIID_MOBILEPC); + case SIID_USERS: return IDI_SHELL_USERS; + MISSING_ICON(SIID_MEDIASMARTMEDIA); + MISSING_ICON(SIID_MEDIACOMPACTFLASH); + MISSING_ICON(SIID_DEVICECELLPHONE); + MISSING_ICON(SIID_DEVICECAMERA); + MISSING_ICON(SIID_DEVICEVIDEOCAMERA); + MISSING_ICON(SIID_DEVICEAUDIOPLAYER); + MISSING_ICON(SIID_NETWORKCONNECT); + case SIID_INTERNET: return IDI_SHELL_ENTIRE_NETWORK; + MISSING_ICON(SIID_ZIPFILE); + case SIID_SETTINGS: return IDI_SHELL_SETTINGS; + MISSING_ICON(SIID_DRIVEHDDVD); + MISSING_ICON(SIID_DRIVEBD); + MISSING_ICON(SIID_MEDIAHDDVDROM); + MISSING_ICON(SIID_MEDIAHDDVDR); + MISSING_ICON(SIID_MEDIAHDDVDRAM); + MISSING_ICON(SIID_MEDIABDROM); + MISSING_ICON(SIID_MEDIABDR); + MISSING_ICON(SIID_MEDIABDRE); + MISSING_ICON(SIID_CLUSTEREDDRIVE); + default: FIXME("Undefined stock icon id %d\n", id); return -1; +#undef MISSING_ICON + } +} + /**************************************************************************** * SHGetStockIconInfo [SHELL32.@] * @@ -1004,12 +1107,12 @@ HRESULT WINAPI SHGetStockIconInfo(SHSTOCKICONID id, UINT flags, SHSTOCKICONINFO sii->iIcon = -IDI_SHELL_FILE; lstrcatW(sii->szPath, L"\shell32.dll");
- if (flags) + if (flags & ~SHGSI_ICON) FIXME("flags 0x%x not implemented\n", flags);
sii->hIcon = NULL; if (flags & SHGSI_ICON) - sii->hIcon = LoadIconW(GetModuleHandleW(sii->szPath), MAKEINTRESOURCEW(sii->iIcon)); + sii->hIcon = LoadIconW(GetModuleHandleW(sii->szPath), MAKEINTRESOURCEW(stock_icon_id_to_resource_id(id))); sii->iSysImageIndex = -1;
TRACE("%3d: returning %s (%d)\n", id, debugstr_w(sii->szPath), sii->iIcon);
On Tue Jul 29 17:33:50 2025 +0000, James McDonnell wrote:
That is in the svg file I believe. Although I apparently committed the wrong svg, as I had exported the standard svg. It has the large icon and all the 48, 32, 16 sizes.
https://gitlab.winehq.org/wine/wine/-/blob/3e85e20a201be2e005351de15ba6ef2de...
On Mon Jul 28 10:16:07 2025 +0000, Zhiyi Zhang wrote:
Could you add some tests for SHGetStockIconInfo() regarding this change?
I'll try to get to this soon.
On Tue Jul 29 17:51:30 2025 +0000, James McDonnell wrote:
https://gitlab.winehq.org/wine/wine/-/blob/3e85e20a201be2e005351de15ba6ef2de...
I think the icon was derived from `tango-icon-theme-0.8.90/scalable/status/network-wireless-encrypted.svg` in the [Tango Icon Theme Release](http://tango.freedesktop.org/releases/tango-icon-theme-0.8.90.tar.gz).
If you look at the archive, you can see there are icons adapted to different pixel grid sizes, which is a manual artistic process that ensures the icon is crisp, not blurry at small sizes.
Also I recommend having a look here: https://airwebreathe.org.uk/doku.php?id=wine_icons
I created this site many years ago when I originally introduced Tango into Wine.
On Tue Jul 29 18:12:51 2025 +0000, Joel Holdsworth wrote:
I think the icon was derived from `tango-icon-theme-0.8.90/scalable/status/network-wireless-encrypted.svg` in the [Tango Icon Theme Release](http://tango.freedesktop.org/releases/tango-icon-theme-0.8.90.tar.gz). If you look at the archive, you can see there are icons adapted to different pixel grid sizes, which is a manual artistic process that ensures the icon is crisp, not blurry at small sizes. Also I recommend having a look here: https://airwebreathe.org.uk/doku.php?id=wine_icons I created this site many years ago when I originally introduced Tango into Wine.
In Wine the [buildimage](https://gitlab.winehq.org/wine/wine/-/blob/master/tools/buildimage?ref_type=...) script uses special ids in the SVG to separate a single SVG file into images within the ICO file.
For example [control.svg line 1001](https://gitlab.winehq.org/wine/wine/-/blob/master/dlls/shell32/resources/con...) has `id="icon:16-4"` for an embedded 16x16 4-bit image.
Also I recommend having a look here: https://airwebreathe.org.uk/doku.php?id=wine_icons

If you look at the archive, you can see there are icons adapted to different pixel grid sizes, which is a manual artistic process that ensures the icon is crisp, not blurry at small sizes.
I tried, and I did retouch it to reduce the most glaring errors. But I am not an artist.
In Wine the [buildimage](https://gitlab.winehq.org/wine/wine/-/blob/master/tools/buildimage?ref_type=...) script uses special ids in the SVG to separate a single SVG file into images within the ICO file.
Perhaps that should have been called out in the wiki article about icons.
On Tue Jul 29 18:26:22 2025 +0000, James McDonnell wrote:
Also I recommend having a look here: https://airwebreathe.org.uk/doku.php?id=wine_icons

If you look at the archive, you can see there are icons adapted to
different pixel grid sizes, which is a manual artistic process that ensures the icon is crisp, not blurry at small sizes. I tried, and I did retouch it to reduce the most glaring errors. But I am not an artist.
In Wine the
[buildimage](https://gitlab.winehq.org/wine/wine/-/blob/master/tools/buildimage?ref_type=...) script uses special ids in the SVG to separate a single SVG file into images within the ICO file. Perhaps that should have been called out in the wiki article about icons. https://gitlab.winehq.org/wine/wine/-/wikis/Create-Icons
Some source SVGs for the smaller sizes are in the Tango Icons Git repository: https://git.golem.linux.it/matteobin/tango-icon-theme/src/branch/master
I tried, and I did retouch it to reduce the most glaring errors. But I am not an artist.
You could take every SVG version of the icon that you can find - for example this [32x32](https://git.golem.linux.it/matteobin/tango-icon-theme/src/branch/master/32x3...) version, and delete the red overlay from the shield.
On Tue Jul 29 18:39:21 2025 +0000, Joel Holdsworth wrote:
I tried, and I did retouch it to reduce the most glaring errors. But I
am not an artist. You could take every SVG version of the icon that you can find - for example this [32x32](https://git.golem.linux.it/matteobin/tango-icon-theme/src/branch/master/32x3...) version, and delete the red overlay from the shield.
The [16x16](https://git.golem.linux.it/matteobin/tango-icon-theme/src/branch/master/16x1...) version will required tweaking in a pixel editor.
On Tue Jul 29 17:21:55 2025 +0000, James McDonnell wrote:
Is your issue that there are two commits? Because one is currently `shell32: add shield icon`.
I was asking if you need both commits to fix Affinity Photo installer. If you need both commits to fix it, then "This resolves the null reference error for the affinity photo installer." should be in the second commit. Or write something like "Affinity Photo installer needs a shield icon." instead of making it sound like adding the icon is enough to fix the error.
On Wed Jul 30 02:39:32 2025 +0000, Zhiyi Zhang wrote:
I was asking if you need both commits to fix Affinity Photo installer. If you need both commits to fix it, then "This resolves the null reference error for the affinity photo installer." should be in the second commit. Or write something like "Affinity Photo installer needs a shield icon." instead of making it sound like adding the icon is enough to fix the error.
Yes, both commits are required.